From 6c9599797def301d8fc578193d201c975c346207 Mon Sep 17 00:00:00 2001 From: dtcxzyw <15650457+dtcxzyw@users.noreply.github.com> Date: Fri, 31 Jan 2025 22:16:38 +0800 Subject: [PATCH 1/3] pre-commit: PR124942 --- 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..736b65c030f 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/124942 export COMPTIME_MODE=0 # Please rebase manually From 35693a3c543c5b06cf4e4201ddac0e5ffd6a992e Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 31 Jan 2025 14:34:42 +0000 Subject: [PATCH 2/3] pre-commit: Update --- .../optimized/inlined_vector_test.cc.ll | 54 +- bench/arrow/optimized/strtod.cc.ll | 24 +- bench/bullet3/optimized/btMultiBody.ll | 9 +- bench/curl/optimized/libcurl_la-url.ll | 35 +- .../cvc5/optimized/quant_conflict_find.cpp.ll | 6 +- bench/delta-rs/optimized/1hj0ksbtyfwxzh2n.ll | 18 +- bench/delta-rs/optimized/s2xrj2sh770tx8d.ll | 168 +++-- ...ub_duckdb_storage_compression_chimp.cpp.ll | 132 ++-- bench/folly/optimized/AsyncSocket.cpp.ll | 10 +- bench/folly/optimized/DistributedMutex.cpp.ll | 24 +- bench/gromacs/optimized/md5.c.ll | 164 +++-- bench/gromacs/optimized/md5.cpp.ll | 162 +++-- bench/icu/optimized/reldtfmt.ll | 8 +- bench/icu/optimized/timezone.ll | 12 +- bench/icu/optimized/ucase.ll | 19 +- bench/libquic/optimized/base64.c.ll | 72 +- bench/lief/optimized/psa_crypto_ecp.c.ll | 3 +- bench/linux/optimized/access.ll | 138 ++-- bench/linux/optimized/insn-eval.ll | 430 +++++++----- bench/linux/optimized/seq_ports.ll | 124 ++-- .../optimized/AArch64FrameLowering.cpp.ll | 450 ++++++------ .../llvm/optimized/AArch64ISelLowering.cpp.ll | 211 +++--- .../optimized/AArch64LegalizerInfo.cpp.ll | 53 +- .../AArch64PostLegalizerCombiner.cpp.ll | 302 ++++---- bench/llvm/optimized/ASTContext.cpp.ll | 150 ++-- bench/llvm/optimized/ExprConstant.cpp.ll | 14 +- bench/llvm/optimized/InstrProfiling.cpp.ll | 70 +- bench/llvm/optimized/Legalizer.cpp.ll | 143 ++-- bench/llvm/optimized/MemorySanitizer.cpp.ll | 158 ++--- bench/llvm/optimized/OSTargets.cpp.ll | 216 +++--- bench/llvm/optimized/Verifier.cpp.ll | 87 ++- bench/luajit/optimized/lj_str.ll | 13 +- bench/luau/optimized/Flags.cpp.ll | 54 +- bench/node/optimized/simdutf.ll | 48 +- bench/opencv/optimized/dxt.cpp.ll | 654 +++++++++--------- bench/opencv/optimized/loadsave.cpp.ll | 96 +-- bench/opencv/optimized/qrcode_encoder.cpp.ll | 274 ++++---- bench/openjdk/optimized/jfrModuleEvent.ll | 66 +- bench/openjdk/optimized/jfrTypeSet.ll | 110 ++- bench/openjdk/optimized/loopTransform.ll | 237 ++++--- .../openmpi/optimized/coll_base_allgather.ll | 146 ++-- .../openmpi/optimized/coll_base_allgatherv.ll | 264 ++++--- bench/openmpi/optimized/mpl_trmem.ll | 34 +- bench/openspiel/optimized/cards.cc.ll | 38 +- .../optimized/libcrypto-lib-conf_def.ll | 230 +++--- .../optimized/libdefault-lib-ecx_kmgmt.ll | 12 +- .../optimized/libssl-lib-extensions_srvr.ll | 46 +- .../optimized/libssl-lib-quic_wire_pkt.ll | 15 +- bench/openusd/optimized/strtod.cc.ll | 52 +- bench/pbrt-v4/optimized/paramdict.cpp.ll | 20 +- bench/php/optimized/php_reflection.ll | 142 ++-- bench/portaudio/optimized/pa_linux_alsa.c.ll | 156 ++--- bench/qemu/optimized/block_vvfat.c.ll | 144 ++-- bench/qemu/optimized/hw_ufs_lu.c.ll | 11 +- .../hw_usb_dev-smartcard-reader.c.ll | 8 +- bench/qemu/optimized/system_physmem.c.ll | 17 +- bench/qemu/optimized/tcg-op-ldst.c.ll | 20 +- bench/redis/optimized/sentinel.ll | 14 +- bench/ruby/optimized/enum.ll | 88 ++- bench/ruby/optimized/io.ll | 247 ++++--- bench/ruby/optimized/numeric.ll | 100 ++- bench/ruby/optimized/range.ll | 304 ++++---- bench/ruby/optimized/rational.ll | 62 +- bench/rustfmt-rs/optimized/x2cb3fifm47d4t5.ll | 178 ++--- bench/tinyrenderer/optimized/tgaimage.cpp.ll | 103 ++- bench/tls-rs/optimized/4vvnrvl2eceao62c.ll | 4 +- bench/wasmedge/optimized/component.cpp.ll | 16 +- bench/wireshark/optimized/packet-afp.c.ll | 74 +- .../wireshark/optimized/packet-gmr1_dtap.c.ll | 14 +- bench/wireshark/optimized/packet-icmp.c.ll | 54 +- bench/wireshark/optimized/packet-tds.c.ll | 214 +++--- bench/yosys/optimized/memory_dff.ll | 554 +++++++-------- .../zxing/optimized/PDFCodewordDecoder.cpp.ll | 4 +- 73 files changed, 4056 insertions(+), 4347 deletions(-) diff --git a/bench/abseil-cpp/optimized/inlined_vector_test.cc.ll b/bench/abseil-cpp/optimized/inlined_vector_test.cc.ll index 6d50e048584..a839917cdcc 100644 --- a/bench/abseil-cpp/optimized/inlined_vector_test.cc.ll +++ b/bench/abseil-cpp/optimized/inlined_vector_test.cc.ll @@ -150032,10 +150032,8 @@ if.then.i.i.i.i: ; preds = %_ZN4absl23inlined_v br label %_ZN4absl13InlinedVectorINS_13test_internal20CopyableOnlyInstanceELm8ESaIS2_EED2Ev.exit _ZN4absl13InlinedVectorINS_13test_internal20CopyableOnlyInstanceELm8ESaIS2_EED2Ev.exit: ; preds = %_ZN7testing15AssertionResultD2Ev.exit482, %_ZN4absl23inlined_vector_internal14DestroyAdapterISaINS_13test_internal20CopyableOnlyInstanceEELb0EE15DestroyElementsERS4_PS3_m.exit.i.i.i, %if.then.i.i.i.i - switch i64 %68, label %for.body.preheader.i.i.i.i493 [ - i64 0, label %_ZN4absl13InlinedVectorINS_13test_internal20CopyableOnlyInstanceELm8ESaIS2_EED2Ev.exit515 - i64 1, label %if.then.i.i.i.i512 - ] + %cmp.i.i486 = icmp eq i64 %68, 0 + br i1 %cmp.i.i486, label %_ZN4absl13InlinedVectorINS_13test_internal20CopyableOnlyInstanceELm8ESaIS2_EED2Ev.exit515, label %for.body.preheader.i.i.i.i493 for.body.preheader.i.i.i.i493: ; preds = %_ZN4absl13InlinedVectorINS_13test_internal20CopyableOnlyInstanceELm8ESaIS2_EED2Ev.exit %shr.i.i.i.i494 = lshr exact i64 %68, 1 @@ -150066,21 +150064,16 @@ _ZNSt16allocator_traitsISaIN4absl13test_internal20CopyableOnlyInstanceEEE7destro %cmp.not.i.i.i.i507 = icmp eq i64 %dec.i.i.i.i501, 0 br i1 %cmp.not.i.i.i.i507, label %_ZN4absl13InlinedVectorINS_13test_internal20CopyableOnlyInstanceELm8ESaIS2_EED2Ev.exit515.loopexit, label %for.body.i.i.i.i497, !llvm.loop !1329 -if.then.i.i.i.i512: ; preds = %_ZN4absl13InlinedVectorINS_13test_internal20CopyableOnlyInstanceELm8ESaIS2_EED2Ev.exit - %189 = load ptr, ptr %data_.i1.i.i.i.i, align 8 - call void @_ZdlPv(ptr noundef %189) #36 - br label %_ZN4absl13InlinedVectorINS_13test_internal20CopyableOnlyInstanceELm8ESaIS2_EED2Ev.exit515 - _ZN4absl13InlinedVectorINS_13test_internal20CopyableOnlyInstanceELm8ESaIS2_EED2Ev.exit515.loopexit: ; preds = %_ZNSt16allocator_traitsISaIN4absl13test_internal20CopyableOnlyInstanceEEE7destroyIS2_EEvRS3_PT_.exit.i.i.i.i505 store i32 %dec.i.i.i.i.i.i.i.i502, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 br label %_ZN4absl13InlinedVectorINS_13test_internal20CopyableOnlyInstanceELm8ESaIS2_EED2Ev.exit515 -_ZN4absl13InlinedVectorINS_13test_internal20CopyableOnlyInstanceELm8ESaIS2_EED2Ev.exit515: ; preds = %_ZN4absl13InlinedVectorINS_13test_internal20CopyableOnlyInstanceELm8ESaIS2_EED2Ev.exit, %_ZN4absl13InlinedVectorINS_13test_internal20CopyableOnlyInstanceELm8ESaIS2_EED2Ev.exit515.loopexit, %if.then.i.i.i.i512 +_ZN4absl13InlinedVectorINS_13test_internal20CopyableOnlyInstanceELm8ESaIS2_EED2Ev.exit515: ; preds = %_ZN4absl13InlinedVectorINS_13test_internal20CopyableOnlyInstanceELm8ESaIS2_EED2Ev.exit515.loopexit, %_ZN4absl13InlinedVectorINS_13test_internal20CopyableOnlyInstanceELm8ESaIS2_EED2Ev.exit call void @_ZN7testing11ScopedTraceD1Ev(ptr noundef nonnull align 1 dereferenceable(1) %gtest_trace_1124) #33 - %190 = load i32, ptr %len, align 4 - %inc344 = add nsw i32 %190, 1 + %189 = load i32, ptr %len, align 4 + %inc344 = add nsw i32 %189, 1 store i32 %inc344, ptr %len, align 4 - %cmp = icmp slt i32 %190, 19 + %cmp = icmp slt i32 %189, 19 br i1 %cmp, label %for.body, label %for.end345, !llvm.loop !3288 ehcleanup339: ; preds = %_ZN7testing7MessageD2Ev.exit478, %lpad327 @@ -150100,8 +150093,8 @@ ehcleanup341: ; preds = %ehcleanup340, %ehcl br label %ehcleanup346 for.end345: ; preds = %_ZN4absl13InlinedVectorINS_13test_internal20CopyableOnlyInstanceELm8ESaIS2_EED2Ev.exit515 - %191 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 - %cmp.not.i516 = icmp eq i32 %191, %71 + %190 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 + %cmp.not.i516 = icmp eq i32 %190, %71 br i1 %cmp.not.i516, label %if.end.i, label %if.then.i517 if.then.i517: ; preds = %for.end345 @@ -150109,8 +150102,8 @@ if.then.i517: ; preds = %for.end345 unreachable if.end.i: ; preds = %for.end345 - %192 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 - %cmp3.not.i = icmp eq i32 %192, %174 + %191 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 + %cmp3.not.i = icmp eq i32 %191, %174 br i1 %cmp3.not.i, label %_ZN4absl13test_internal15InstanceTrackerD2Ev.exit, label %if.then4.i if.then4.i: ; preds = %if.end.i @@ -151912,10 +151905,8 @@ if.then.i.i.i.i: ; preds = %_ZN4absl23inlined_v br label %_ZN4absl13InlinedVectorINS_13test_internal23CopyableMovableInstanceELm8ESaIS2_EED2Ev.exit _ZN4absl13InlinedVectorINS_13test_internal23CopyableMovableInstanceELm8ESaIS2_EED2Ev.exit: ; preds = %_ZN7testing15AssertionResultD2Ev.exit479, %_ZN4absl23inlined_vector_internal14DestroyAdapterISaINS_13test_internal23CopyableMovableInstanceEELb0EE15DestroyElementsERS4_PS3_m.exit.i.i.i, %if.then.i.i.i.i - switch i64 %68, label %for.body.preheader.i.i.i.i490 [ - i64 0, label %_ZN4absl13InlinedVectorINS_13test_internal23CopyableMovableInstanceELm8ESaIS2_EED2Ev.exit512 - i64 1, label %if.then.i.i.i.i509 - ] + %cmp.i.i483 = icmp eq i64 %68, 0 + br i1 %cmp.i.i483, label %_ZN4absl13InlinedVectorINS_13test_internal23CopyableMovableInstanceELm8ESaIS2_EED2Ev.exit512, label %for.body.preheader.i.i.i.i490 for.body.preheader.i.i.i.i490: ; preds = %_ZN4absl13InlinedVectorINS_13test_internal23CopyableMovableInstanceELm8ESaIS2_EED2Ev.exit %shr.i.i.i.i491 = lshr exact i64 %68, 1 @@ -151946,21 +151937,16 @@ _ZNSt16allocator_traitsISaIN4absl13test_internal23CopyableMovableInstanceEEE7des %cmp.not.i.i.i.i504 = icmp eq i64 %dec.i.i.i.i498, 0 br i1 %cmp.not.i.i.i.i504, label %_ZN4absl13InlinedVectorINS_13test_internal23CopyableMovableInstanceELm8ESaIS2_EED2Ev.exit512.loopexit, label %for.body.i.i.i.i494, !llvm.loop !1481 -if.then.i.i.i.i509: ; preds = %_ZN4absl13InlinedVectorINS_13test_internal23CopyableMovableInstanceELm8ESaIS2_EED2Ev.exit - %189 = load ptr, ptr %data_.i1.i.i.i.i, align 8 - call void @_ZdlPv(ptr noundef %189) #36 - br label %_ZN4absl13InlinedVectorINS_13test_internal23CopyableMovableInstanceELm8ESaIS2_EED2Ev.exit512 - _ZN4absl13InlinedVectorINS_13test_internal23CopyableMovableInstanceELm8ESaIS2_EED2Ev.exit512.loopexit: ; preds = %_ZNSt16allocator_traitsISaIN4absl13test_internal23CopyableMovableInstanceEEE7destroyIS2_EEvRS3_PT_.exit.i.i.i.i502 store i32 %dec.i.i.i.i.i.i.i.i499, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 br label %_ZN4absl13InlinedVectorINS_13test_internal23CopyableMovableInstanceELm8ESaIS2_EED2Ev.exit512 -_ZN4absl13InlinedVectorINS_13test_internal23CopyableMovableInstanceELm8ESaIS2_EED2Ev.exit512: ; preds = %_ZN4absl13InlinedVectorINS_13test_internal23CopyableMovableInstanceELm8ESaIS2_EED2Ev.exit, %_ZN4absl13InlinedVectorINS_13test_internal23CopyableMovableInstanceELm8ESaIS2_EED2Ev.exit512.loopexit, %if.then.i.i.i.i509 +_ZN4absl13InlinedVectorINS_13test_internal23CopyableMovableInstanceELm8ESaIS2_EED2Ev.exit512: ; preds = %_ZN4absl13InlinedVectorINS_13test_internal23CopyableMovableInstanceELm8ESaIS2_EED2Ev.exit512.loopexit, %_ZN4absl13InlinedVectorINS_13test_internal23CopyableMovableInstanceELm8ESaIS2_EED2Ev.exit call void @_ZN7testing11ScopedTraceD1Ev(ptr noundef nonnull align 1 dereferenceable(1) %gtest_trace_1124) #33 - %190 = load i32, ptr %len, align 4 - %inc344 = add nsw i32 %190, 1 + %189 = load i32, ptr %len, align 4 + %inc344 = add nsw i32 %189, 1 store i32 %inc344, ptr %len, align 4 - %cmp = icmp slt i32 %190, 19 + %cmp = icmp slt i32 %189, 19 br i1 %cmp, label %for.body, label %for.end345, !llvm.loop !3311 ehcleanup339: ; preds = %_ZN7testing7MessageD2Ev.exit475, %lpad327 @@ -151980,8 +151966,8 @@ ehcleanup341: ; preds = %ehcleanup340, %ehcl br label %ehcleanup346 for.end345: ; preds = %_ZN4absl13InlinedVectorINS_13test_internal23CopyableMovableInstanceELm8ESaIS2_EED2Ev.exit512 - %191 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 - %cmp.not.i513 = icmp eq i32 %191, %71 + %190 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 + %cmp.not.i513 = icmp eq i32 %190, %71 br i1 %cmp.not.i513, label %if.end.i, label %if.then.i514 if.then.i514: ; preds = %for.end345 @@ -151989,8 +151975,8 @@ if.then.i514: ; preds = %for.end345 unreachable if.end.i: ; preds = %for.end345 - %192 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 - %cmp3.not.i = icmp eq i32 %192, %174 + %191 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 + %cmp3.not.i = icmp eq i32 %191, %174 br i1 %cmp3.not.i, label %_ZN4absl13test_internal15InstanceTrackerD2Ev.exit, label %if.then4.i if.then4.i: ; preds = %if.end.i diff --git a/bench/arrow/optimized/strtod.cc.ll b/bench/arrow/optimized/strtod.cc.ll index f0b79fd864f..43ca8430f8c 100644 --- a/bench/arrow/optimized/strtod.cc.ll +++ b/bench/arrow/optimized/strtod.cc.ll @@ -65,13 +65,9 @@ if.else.i: ; preds = %if.end.i if.else10: ; preds = %if.else %and = and i64 %1, 1 %cmp13 = icmp eq i64 %and, 0 - br i1 %cmp13, label %return, label %if.else15 + br i1 %cmp13, label %return, label %if.end.i11 -if.else15: ; preds = %if.else10 - %cmp.i10 = icmp eq i64 %1, 9218868437227405312 - br i1 %cmp.i10, label %return, label %if.end.i11 - -if.end.i11: ; preds = %if.else15 +if.end.i11: ; preds = %if.else10 %cmp3.i12 = icmp slt i64 %1, 0 br i1 %cmp3.i12, label %land.lhs.true.i16, label %if.else.i13 @@ -89,8 +85,8 @@ if.else.i13: ; preds = %if.end.i11 %9 = bitcast i64 %add.i14 to double br label %return -return: ; preds = %entry, %if.else.i13, %if.then10.i18, %land.lhs.true.i16, %if.else15, %if.else10, %if.else.i, %if.then10.i, %land.lhs.true.i, %if.then7, %if.end - %retval.0 = phi double [ %0, %if.end ], [ %6, %if.then10.i ], [ %7, %if.else.i ], [ 0.000000e+00, %land.lhs.true.i ], [ 0x7FF0000000000000, %if.then7 ], [ %0, %if.else10 ], [ %8, %if.then10.i18 ], [ %9, %if.else.i13 ], [ 0.000000e+00, %land.lhs.true.i16 ], [ 0x7FF0000000000000, %if.else15 ], [ %0, %entry ] +return: ; preds = %entry, %if.else.i13, %if.then10.i18, %land.lhs.true.i16, %if.else10, %if.else.i, %if.then10.i, %land.lhs.true.i, %if.then7, %if.end + %retval.0 = phi double [ %0, %if.end ], [ %6, %if.then10.i ], [ %7, %if.else.i ], [ 0.000000e+00, %land.lhs.true.i ], [ 0x7FF0000000000000, %if.then7 ], [ %0, %if.else10 ], [ %8, %if.then10.i18 ], [ %9, %if.else.i13 ], [ 0.000000e+00, %land.lhs.true.i16 ], [ %0, %entry ] ret double %retval.0 } @@ -735,13 +731,9 @@ if.else.i.i: ; preds = %if.end.i.i if.else10.i: ; preds = %if.else.i4 %and.i = and i64 %7, 1 %cmp13.i = icmp eq i64 %and.i, 0 - br i1 %cmp13.i, label %_ZN14arrow_vendored17double_conversion13StrtodTrimmedENS0_6VectorIKcEEi.exit, label %if.else15.i - -if.else15.i: ; preds = %if.else10.i - %cmp.i10.i = icmp eq i64 %7, 9218868437227405312 - br i1 %cmp.i10.i, label %_ZN14arrow_vendored17double_conversion13StrtodTrimmedENS0_6VectorIKcEEi.exit, label %if.end.i11.i + br i1 %cmp13.i, label %_ZN14arrow_vendored17double_conversion13StrtodTrimmedENS0_6VectorIKcEEi.exit, label %if.end.i11.i -if.end.i11.i: ; preds = %if.else15.i +if.end.i11.i: ; preds = %if.else10.i %cmp3.i12.i = icmp slt i64 %7, 0 br i1 %cmp3.i12.i, label %land.lhs.true.i16.i, label %if.else.i13.i @@ -759,8 +751,8 @@ if.else.i13.i: ; preds = %if.end.i11.i %15 = bitcast i64 %add.i14.i to double br label %_ZN14arrow_vendored17double_conversion13StrtodTrimmedENS0_6VectorIKcEEi.exit -_ZN14arrow_vendored17double_conversion13StrtodTrimmedENS0_6VectorIKcEEi.exit: ; preds = %_ZN14arrow_vendored17double_conversionL10TrimAndCutENS0_6VectorIKcEEiPciPS3_Pi.exit, %if.end.i, %if.then7.i, %land.lhs.true.i.i, %if.then10.i.i, %if.else.i.i, %if.else10.i, %if.else15.i, %land.lhs.true.i16.i, %if.then10.i18.i, %if.else.i13.i - %retval.0.i = phi double [ %6, %if.end.i ], [ %12, %if.then10.i.i ], [ %13, %if.else.i.i ], [ 0.000000e+00, %land.lhs.true.i.i ], [ 0x7FF0000000000000, %if.then7.i ], [ %6, %if.else10.i ], [ %14, %if.then10.i18.i ], [ %15, %if.else.i13.i ], [ 0.000000e+00, %land.lhs.true.i16.i ], [ 0x7FF0000000000000, %if.else15.i ], [ %6, %_ZN14arrow_vendored17double_conversionL10TrimAndCutENS0_6VectorIKcEEiPciPS3_Pi.exit ] +_ZN14arrow_vendored17double_conversion13StrtodTrimmedENS0_6VectorIKcEEi.exit: ; preds = %_ZN14arrow_vendored17double_conversionL10TrimAndCutENS0_6VectorIKcEEiPciPS3_Pi.exit, %if.end.i, %if.then7.i, %land.lhs.true.i.i, %if.then10.i.i, %if.else.i.i, %if.else10.i, %land.lhs.true.i16.i, %if.then10.i18.i, %if.else.i13.i + %retval.0.i = phi double [ %6, %if.end.i ], [ %12, %if.then10.i.i ], [ %13, %if.else.i.i ], [ 0.000000e+00, %land.lhs.true.i.i ], [ 0x7FF0000000000000, %if.then7.i ], [ %6, %if.else10.i ], [ %14, %if.then10.i18.i ], [ %15, %if.else.i13.i ], [ 0.000000e+00, %land.lhs.true.i16.i ], [ %6, %_ZN14arrow_vendored17double_conversionL10TrimAndCutENS0_6VectorIKcEEiPciPS3_Pi.exit ] call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %guess.i) ret double %retval.0.i } diff --git a/bench/bullet3/optimized/btMultiBody.ll b/bench/bullet3/optimized/btMultiBody.ll index 841891182da..a18b6e53765 100644 --- a/bench/bullet3/optimized/btMultiBody.ll +++ b/bench/bullet3/optimized/btMultiBody.ll @@ -14321,10 +14321,7 @@ for.body82.lr.ph: ; preds = %for.cond80.preheade %113 = getelementptr float, ptr %cond20, i64 %112 br label %for.body82 -while.cond351.preheader: ; preds = %for.inc348 - br i1 %cmp21.not744, label %if.end, label %for.cond354.preheader.lr.ph - -for.cond354.preheader.lr.ph: ; preds = %for.cond80.preheader, %while.cond351.preheader +for.cond354.preheader.lr.ph: ; preds = %for.inc348, %for.cond80.preheader %m_data.i696 = getelementptr inbounds nuw i8, ptr %this, i64 192 %.pre = load ptr, ptr %m_data.i696, align 8 br label %for.cond354.preheader @@ -14874,7 +14871,7 @@ sw.bb302: ; preds = %for.body82 for.inc348: ; preds = %sw.bb, %sw.bb171, %sw.bb184, %sw.bb302, %for.body82 %indvars.iv.next774 = add nuw nsw i64 %indvars.iv773, 1 %exitcond.not = icmp eq i64 %indvars.iv.next774, %wide.trip.count - br i1 %exitcond.not, label %while.cond351.preheader, label %for.body82, !llvm.loop !260 + br i1 %exitcond.not, label %for.cond354.preheader.lr.ph, label %for.body82, !llvm.loop !260 for.cond354.preheader: ; preds = %for.cond354.preheader.lr.ph, %for.end375 %362 = phi ptr [ %.pre, %for.cond354.preheader.lr.ph ], [ %369, %for.end375 ] @@ -14913,7 +14910,7 @@ for.end375: ; preds = %for.body359, %for.c %cmp352.not = icmp eq i32 %370, -1 br i1 %cmp352.not, label %if.end, label %for.cond354.preheader, !llvm.loop !262 -if.end: ; preds = %for.end375, %while.cond351.preheader, %for.end +if.end: ; preds = %for.end375, %for.end ret void } diff --git a/bench/curl/optimized/libcurl_la-url.ll b/bench/curl/optimized/libcurl_la-url.ll index 85dfc293fa9..aa9ffbe4da1 100644 --- a/bench/curl/optimized/libcurl_la-url.ll +++ b/bench/curl/optimized/libcurl_la-url.ll @@ -4232,64 +4232,53 @@ if.end23: ; preds = %if.then15, %land.lh %host.1 = phi ptr [ null, %if.else ], [ %call163.i.i, %land.lhs.true11 ], [ %call163.i.i, %if.then15 ] %cmp24 = icmp sgt i32 %port.46085, -1 %bf.load46.pre = load i32, ptr %bits.i, align 8 - br i1 %cmp24, label %if.then26, label %if.else44 + br i1 %cmp24, label %if.then26, label %if.end49 if.end23.thread: ; preds = %if.then7 %cmp2490 = icmp sgt i32 %port.0.i.i, -1 - br i1 %cmp2490, label %if.then26.thread, label %if.else44 + br i1 %cmp2490, label %if.then26.thread, label %if.end49 if.then26.thread: ; preds = %if.end23.thread store i32 %port.0.i.i, ptr %conn_to_port97, align 8 %bf.set30100 = or i32 %bf.load, 1536 store i32 %bf.set30100, ptr %bits.i, align 8 - br label %if.end49 + br label %return if.then26: ; preds = %if.end23 store i32 %port.46085, ptr %conn_to_port97, align 8 %bf.set30 = or i32 %bf.load46.pre, 1024 store i32 %bf.set30, ptr %bits.i, align 8 - br i1 %tobool124.not.i.i, label %if.end49, label %land.lhs.true33 + br i1 %tobool124.not.i.i, label %return, label %land.lhs.true33 land.lhs.true33: ; preds = %if.then26 %bf.load36 = load i64, ptr %verbose.i.i, align 2 %43 = and i64 %bf.load36, 536870912 %tobool40.not = icmp eq i64 %43, 0 - br i1 %tobool40.not, label %if.end49, label %if.then41 + br i1 %tobool40.not, label %return, label %if.then41 if.then41: ; preds = %land.lhs.true33 tail call void (ptr, ptr, ...) @Curl_infof(ptr noundef nonnull %data, ptr noundef nonnull @.str.52, i32 noundef %port.46085) #11 - br label %if.end49 + br label %return -if.else44: ; preds = %if.end23.thread, %if.end23 +if.end49: ; preds = %if.end23, %if.end23.thread %bf.load46 = phi i32 [ %bf.set, %if.end23.thread ], [ %bf.load46.pre, %if.end23 ] %host.193 = phi ptr [ %call163.i.i, %if.end23.thread ], [ %host.1, %if.end23 ] %bf.clear47 = and i32 %bf.load46, -1025 store i32 %bf.clear47, ptr %bits.i, align 8 - br label %if.end49 - -if.end49: ; preds = %if.then26.thread, %if.then41, %land.lhs.true33, %if.then26, %if.else44 - %host.192 = phi ptr [ %host.1, %if.then26 ], [ %host.1, %land.lhs.true33 ], [ %host.1, %if.then41 ], [ %host.193, %if.else44 ], [ %call163.i.i, %if.then26.thread ] - %port.1 = phi i32 [ %port.46085, %if.then26 ], [ %port.46085, %land.lhs.true33 ], [ %port.46085, %if.then41 ], [ -1, %if.else44 ], [ %port.0.i.i, %if.then26.thread ] %next = getelementptr inbounds nuw i8, ptr %conn_to_host.addr.0123, i64 8 %44 = load ptr, ptr %next, align 8 %tobool = icmp eq ptr %44, null - %tobool1 = icmp ne ptr %host.192, null + %tobool1 = icmp ne ptr %host.193, null %or.cond = or i1 %tobool1, %tobool - %or.cond.not = xor i1 %or.cond, true - %cmp = icmp eq i32 %port.1, -1 - %or.cond3 = select i1 %or.cond.not, i1 %cmp, i1 false - br i1 %or.cond3, label %while.body, label %while.end, !llvm.loop !11 + br i1 %or.cond, label %while.end, label %while.body, !llvm.loop !11 while.end: ; preds = %if.end49, %entry %tobool1.lcssa = phi i1 [ false, %entry ], [ %tobool1, %if.end49 ] - %cmp.lcssa = phi i1 [ true, %entry ], [ %cmp, %if.end49 ] %asi = getelementptr inbounds nuw i8, ptr %data, i64 2736 %45 = load ptr, ptr %asi, align 8 %tobool50 = icmp eq ptr %45, null %or.cond1 = or i1 %tobool1.lcssa, %tobool50 - %or.cond1.not = xor i1 %or.cond1, true - %or.cond2 = select i1 %or.cond1.not, i1 %cmp.lcssa, i1 false - br i1 %or.cond2, label %land.lhs.true56, label %return + br i1 %or.cond1, label %return, label %land.lhs.true56 land.lhs.true56: ; preds = %while.end %handler = getelementptr inbounds nuw i8, ptr %conn, i64 712 @@ -4379,8 +4368,8 @@ sw.bb122: ; preds = %do.end112 store i8 30, ptr %httpversion123, align 8 br label %return -return: ; preds = %parse_connect_to_string.exit.thread77, %parse_connect_to_string.exit.thread71, %parse_connect_to_string.exit.thread61, %while.end, %land.lhs.true56, %sw.bb122, %sw.bb120, %if.then59, %do.end112, %if.then67 - %retval.0 = phi i32 [ 27, %if.then67 ], [ 0, %do.end112 ], [ 0, %if.then59 ], [ 0, %sw.bb120 ], [ 0, %sw.bb122 ], [ 0, %land.lhs.true56 ], [ 0, %while.end ], [ 27, %parse_connect_to_string.exit.thread61 ], [ 27, %parse_connect_to_string.exit.thread71 ], [ %result.0.i.i.ph, %parse_connect_to_string.exit.thread77 ] +return: ; preds = %if.then26, %land.lhs.true33, %if.then41, %if.then26.thread, %parse_connect_to_string.exit.thread77, %parse_connect_to_string.exit.thread71, %parse_connect_to_string.exit.thread61, %while.end, %land.lhs.true56, %sw.bb122, %sw.bb120, %if.then59, %do.end112, %if.then67 + %retval.0 = phi i32 [ 27, %if.then67 ], [ 0, %do.end112 ], [ 0, %if.then59 ], [ 0, %sw.bb120 ], [ 0, %sw.bb122 ], [ 0, %land.lhs.true56 ], [ 0, %while.end ], [ 27, %parse_connect_to_string.exit.thread61 ], [ 27, %parse_connect_to_string.exit.thread71 ], [ %result.0.i.i.ph, %parse_connect_to_string.exit.thread77 ], [ 0, %if.then26.thread ], [ 0, %if.then41 ], [ 0, %land.lhs.true33 ], [ 0, %if.then26 ] ret i32 %retval.0 } diff --git a/bench/cvc5/optimized/quant_conflict_find.cpp.ll b/bench/cvc5/optimized/quant_conflict_find.cpp.ll index 0aa5cdeb5f6..45713b3f6c9 100644 --- a/bench/cvc5/optimized/quant_conflict_find.cpp.ll +++ b/bench/cvc5/optimized/quant_conflict_find.cpp.ll @@ -18558,10 +18558,8 @@ invoke.cont288: ; preds = %if.else280 %d_kind.i940 = getelementptr inbounds nuw i8, ptr %96, i64 8 %bf.load.i941 = load i16, ptr %d_kind.i940, align 8 %bf.clear.i942 = and i16 %bf.load.i941, 1023 - %cmp290 = icmp ne i16 %bf.clear.i942, 36 - %cmp293.not3064 = icmp eq i16 %bf.clear.i280, 39 - %cmp293.not = or i1 %cmp293.not3064, %cmp290 - br i1 %cmp293.not, label %if.end313, label %if.then294 + %cmp290.not = icmp eq i16 %bf.clear.i942, 36 + br i1 %cmp290.not, label %if.then294, label %if.end313 if.then294: ; preds = %invoke.cont288 %call297 = invoke noundef ptr @_ZN4cvc58internal11NodeManager9currentNMEv() diff --git a/bench/delta-rs/optimized/1hj0ksbtyfwxzh2n.ll b/bench/delta-rs/optimized/1hj0ksbtyfwxzh2n.ll index 58e6e40e30d..63592349639 100644 --- a/bench/delta-rs/optimized/1hj0ksbtyfwxzh2n.ll +++ b/bench/delta-rs/optimized/1hj0ksbtyfwxzh2n.ll @@ -1524,8 +1524,7 @@ define hidden void @"_ZN9hashbrown11rustc_entry62_$LT$impl$u20$hashbrown..map..H %gep.us.us.i = getelementptr { i8, [7 x i8], { { { i64, ptr, {} }, i64 } } }, ptr %invariant.gep.i, i64 %26 %.val4.i.us.us.i = load i8, ptr %gep.us.us.i, align 1, !range !280, !noalias !434, !noundef !30 %27 = add nsw i8 %.val4.i.us.us.i, -16 - %narrow.i.i.i.us.us.i = call i8 @llvm.umin.i8(i8 %27, i8 4) - %28 = icmp eq i8 %narrow.i.i.i.us.us.i, %narrow3.i.i.i.i + %28 = icmp eq i8 %27, %narrow3.i.i.i.i br i1 %28, label %.loopexit, label %"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$4find28_$u7b$$u7b$closure$u7d$$u7d$17hf2c06e39f5cfe2f3E.llvm.8649443668325006364.exit.backedge.us.us.i" "_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$4find28_$u7b$$u7b$closure$u7d$$u7d$17hf2c06e39f5cfe2f3E.llvm.8649443668325006364.exit.backedge.us.us.i": ; preds = %.lr.ph.us.i @@ -1684,8 +1683,7 @@ define hidden noundef zeroext i1 @"_ZN9hashbrown3map28HashMap$LT$K$C$V$C$S$C$A$G %gep.us.us.i.i = getelementptr { i8, [7 x i8], { { { i64, ptr, {} }, i64 } } }, ptr %invariant.gep.i.i, i64 %29 %.val4.i.us.us.i.i = load i8, ptr %gep.us.us.i.i, align 1, !range !280, !alias.scope !463, !noalias !468, !noundef !30 %30 = add nsw i8 %.val4.i.us.us.i.i, -16 - %narrow3.i.i.i.i.us.us.i.i = tail call i8 @llvm.umin.i8(i8 %30, i8 4) - %31 = icmp eq i8 %narrow.i.i.i.i.i.i, %narrow3.i.i.i.i.us.us.i.i + %31 = icmp eq i8 %30, %narrow.i.i.i.i.i.i br i1 %31, label %"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$3get17ha9a9951e792ef5ecE.llvm.8649443668325006364.exit", label %"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$4find28_$u7b$$u7b$closure$u7d$$u7d$17hc0a1e1d2e0cec8eaE.exit.backedge.us.us.i.i" "_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$4find28_$u7b$$u7b$closure$u7d$$u7d$17hc0a1e1d2e0cec8eaE.exit.backedge.us.us.i.i": ; preds = %.lr.ph.us.i.i @@ -1866,8 +1864,7 @@ define hidden void @"_ZN9hashbrown3map28HashMap$LT$K$C$V$C$S$C$A$GT$6insert17h78 %gep.us.i.us.i = getelementptr { i8, [7 x i8], { { { i64, ptr, {} }, i64 } } }, ptr %invariant.gep.i.i, i64 %29 %.val4.i.us.i.us.i = load i8, ptr %gep.us.i.us.i, align 1, !range !280, !alias.scope !500, !noalias !505, !noundef !30 %30 = add nsw i8 %.val4.i.us.i.us.i, -16 - %narrow3.i.i.i.i.us.i.us.i = call i8 @llvm.umin.i8(i8 %30, i8 4) - %31 = icmp eq i8 %narrow.i.i.i.i.i.i, %narrow3.i.i.i.i.us.i.us.i + %31 = icmp eq i8 %30, %narrow.i.i.i.i.i.i br i1 %31, label %.loopexit, label %"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$24find_or_find_insert_slot28_$u7b$$u7b$closure$u7d$$u7d$17he651dd2f9ed3996bE.exit.backedge.us.i.us.i" "_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$24find_or_find_insert_slot28_$u7b$$u7b$closure$u7d$$u7d$17he651dd2f9ed3996bE.exit.backedge.us.i.us.i": ; preds = %.lr.ph.split.us.i.us.i @@ -2186,8 +2183,7 @@ define hidden noundef align 8 dereferenceable_or_null(32) ptr @"_ZN9hashbrown3ra %gep.us.us.i = getelementptr { i8, [7 x i8], { { { i64, ptr, {} }, i64 } } }, ptr %invariant.gep.i, i64 %24 %.val4.i.us.us.i = load i8, ptr %gep.us.us.i, align 1, !range !280, !alias.scope !537, !noalias !542, !noundef !30 %25 = add nsw i8 %.val4.i.us.us.i, -16 - %narrow3.i.i.i.i.us.us.i = tail call i8 @llvm.umin.i8(i8 %25, i8 4) - %26 = icmp eq i8 %narrow.i.i.i.i.i, %narrow3.i.i.i.i.us.us.i + %26 = icmp eq i8 %25, %narrow.i.i.i.i.i br i1 %26, label %.split.us.i, label %"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$4find28_$u7b$$u7b$closure$u7d$$u7d$17hc0a1e1d2e0cec8eaE.exit.backedge.us.us.i" "_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$4find28_$u7b$$u7b$closure$u7d$$u7d$17hc0a1e1d2e0cec8eaE.exit.backedge.us.us.i": ; preds = %.lr.ph.us.i @@ -2307,8 +2303,7 @@ define hidden noundef ptr @"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$4find17h1c2a %gep.us.us = getelementptr { i8, [7 x i8], { { { i64, ptr, {} }, i64 } } }, ptr %invariant.gep, i64 %24 %.val4.i.us.us = load i8, ptr %gep.us.us, align 1, !range !280, !alias.scope !555, !noalias !560, !noundef !30 %25 = add nsw i8 %.val4.i.us.us, -16 - %narrow3.i.i.i.i.us.us = tail call i8 @llvm.umin.i8(i8 %25, i8 4) - %26 = icmp eq i8 %narrow.i.i.i.i, %narrow3.i.i.i.i.us.us + %26 = icmp eq i8 %25, %narrow.i.i.i.i br i1 %26, label %.split.us, label %"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$4find28_$u7b$$u7b$closure$u7d$$u7d$17hc0a1e1d2e0cec8eaE.exit.backedge.us.us" "_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$4find28_$u7b$$u7b$closure$u7d$$u7d$17hc0a1e1d2e0cec8eaE.exit.backedge.us.us": ; preds = %.lr.ph.us @@ -2425,8 +2420,7 @@ define hidden noundef ptr @"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$4find17h67bf %gep.us.us = getelementptr { i8, [7 x i8], { { { i64, ptr, {} }, i64 } } }, ptr %invariant.gep, i64 %23 %.val4.i.us.us = load i8, ptr %gep.us.us, align 1, !range !280, !noalias !573, !noundef !30 %24 = add nsw i8 %.val4.i.us.us, -16 - %narrow.i.i.i.us.us = tail call i8 @llvm.umin.i8(i8 %24, i8 4) - %25 = icmp eq i8 %narrow.i.i.i.us.us, %narrow3.i.i.i + %25 = icmp eq i8 %24, %narrow3.i.i.i br i1 %25, label %.split.us, label %"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$4find28_$u7b$$u7b$closure$u7d$$u7d$17hf2c06e39f5cfe2f3E.llvm.8649443668325006364.exit.backedge.us.us" "_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$4find28_$u7b$$u7b$closure$u7d$$u7d$17hf2c06e39f5cfe2f3E.llvm.8649443668325006364.exit.backedge.us.us": ; preds = %.lr.ph.us diff --git a/bench/delta-rs/optimized/s2xrj2sh770tx8d.ll b/bench/delta-rs/optimized/s2xrj2sh770tx8d.ll index ab714a7d300..1051ac6bcdb 100644 --- a/bench/delta-rs/optimized/s2xrj2sh770tx8d.ll +++ b/bench/delta-rs/optimized/s2xrj2sh770tx8d.ll @@ -111878,11 +111878,11 @@ define hidden void @"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$24find_or_find_inse %.not.i.i.us17 = icmp eq i16 %32, 0 br i1 %.not.i.i.us17, label %._crit_edge.split.us18, label %.lr.ph.us -"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$7reserve17hd796260a60d35fc1E.exit.split": ; preds = %"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$7reserve17hd796260a60d35fc1E.exit", %88 - %.sroa.8.0.i = phi i64 [ %89, %88 ], [ 0, %"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$7reserve17hd796260a60d35fc1E.exit" ] - %.pn.i = phi i64 [ %90, %88 ], [ %2, %"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$7reserve17hd796260a60d35fc1E.exit" ] - %.sroa.6.0.i = phi i64 [ %.sroa.6.1.i, %88 ], [ undef, %"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$7reserve17hd796260a60d35fc1E.exit" ] - %.sroa.01.0.i = phi i64 [ %.sroa.01.1.i, %88 ], [ 0, %"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$7reserve17hd796260a60d35fc1E.exit" ] +"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$7reserve17hd796260a60d35fc1E.exit.split": ; preds = %"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$7reserve17hd796260a60d35fc1E.exit", %87 + %.sroa.8.0.i = phi i64 [ %88, %87 ], [ 0, %"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$7reserve17hd796260a60d35fc1E.exit" ] + %.pn.i = phi i64 [ %89, %87 ], [ %2, %"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$7reserve17hd796260a60d35fc1E.exit" ] + %.sroa.6.0.i = phi i64 [ %.sroa.6.1.i, %87 ], [ undef, %"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$7reserve17hd796260a60d35fc1E.exit" ] + %.sroa.01.0.i = phi i64 [ %.sroa.01.1.i, %87 ], [ 0, %"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$7reserve17hd796260a60d35fc1E.exit" ] %.sroa.0.038.i = and i64 %.pn.i, %16 %64 = getelementptr inbounds i8, ptr %17, i64 %.sroa.0.038.i %.0.copyload.i46.i = load <16 x i8>, ptr %64, align 1, !noalias !31099 @@ -111892,7 +111892,7 @@ define hidden void @"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$24find_or_find_inse br i1 %.not.i.i11, label %._crit_edge.split.us, label %.lr.ph .lr.ph: ; preds = %"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$7reserve17hd796260a60d35fc1E.exit.split", %"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$24find_or_find_insert_slot28_$u7b$$u7b$closure$u7d$$u7d$17h91663b384ba2ca51E.llvm.18123795597341512700.exit.us" - %.039.i12.us = phi i16 [ %77, %"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$24find_or_find_insert_slot28_$u7b$$u7b$closure$u7d$$u7d$17h91663b384ba2ca51E.llvm.18123795597341512700.exit.us" ], [ %66, %"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$7reserve17hd796260a60d35fc1E.exit.split" ] + %.039.i12.us = phi i16 [ %76, %"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$24find_or_find_insert_slot28_$u7b$$u7b$closure$u7d$$u7d$17h91663b384ba2ca51E.llvm.18123795597341512700.exit.us" ], [ %66, %"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$7reserve17hd796260a60d35fc1E.exit.split" ] %67 = tail call range(i16 0, 17) i16 @llvm.cttz.i16(i16 %.039.i12.us, i1 true) %68 = zext nneg i16 %67 to i64 %69 = add i64 %.sroa.0.038.i, %68 @@ -111903,82 +111903,81 @@ define hidden void @"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$24find_or_find_inse tail call void @llvm.experimental.noalias.scope.decl(metadata !31106), !noalias !31105 tail call void @llvm.experimental.noalias.scope.decl(metadata !31109), !noalias !31105 %72 = load i64, ptr %gep, align 8, !range !1128, !alias.scope !31112, !noalias !31113, !noundef !4 - %73 = xor i64 %72, -9223372036854775808 - %74 = tail call i64 @llvm.umin.i64(i64 %73, i64 4) - %75 = icmp eq i64 %20, %74 - br i1 %75, label %"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$24find_or_find_insert_slot28_$u7b$$u7b$closure$u7d$$u7d$17h91663b384ba2ca51E.llvm.18123795597341512700.exit.thread", label %"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$24find_or_find_insert_slot28_$u7b$$u7b$closure$u7d$$u7d$17h91663b384ba2ca51E.llvm.18123795597341512700.exit.us" + %73 = xor i64 %72, %20 + %74 = icmp eq i64 %73, -9223372036854775808 + br i1 %74, label %"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$24find_or_find_insert_slot28_$u7b$$u7b$closure$u7d$$u7d$17h91663b384ba2ca51E.llvm.18123795597341512700.exit.thread", label %"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$24find_or_find_insert_slot28_$u7b$$u7b$closure$u7d$$u7d$17h91663b384ba2ca51E.llvm.18123795597341512700.exit.us" "_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$24find_or_find_insert_slot28_$u7b$$u7b$closure$u7d$$u7d$17h91663b384ba2ca51E.llvm.18123795597341512700.exit.us": ; preds = %.lr.ph - %76 = add i16 %.039.i12.us, -1 - %77 = and i16 %76, %.039.i12.us - %.not.i.i.us = icmp eq i16 %77, 0 + %75 = add i16 %.039.i12.us, -1 + %76 = and i16 %75, %.039.i12.us + %.not.i.i.us = icmp eq i16 %76, 0 br i1 %.not.i.i.us, label %._crit_edge.split.us, label %.lr.ph ._crit_edge.split.us: ; preds = %"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$24find_or_find_insert_slot28_$u7b$$u7b$closure$u7d$$u7d$17h91663b384ba2ca51E.llvm.18123795597341512700.exit.us", %"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$7reserve17hd796260a60d35fc1E.exit.split" %.not.i = icmp eq i64 %.sroa.01.0.i, 1 - br i1 %.not.i, label %85, label %78 + br i1 %.not.i, label %84, label %77 -78: ; preds = %._crit_edge.split.us - %79 = icmp slt <16 x i8> %.0.copyload.i46.i, zeroinitializer - %80 = bitcast <16 x i1> %79 to i16 - %.not.i15.i = icmp ne i16 %80, 0 - %81 = tail call range(i16 0, 17) i16 @llvm.cttz.i16(i16 %80, i1 true) - %82 = zext nneg i16 %81 to i64 - %.sroa.3.0.i.i.i = select i1 %.not.i15.i, i64 %82, i64 undef - %83 = add i64 %.sroa.3.0.i.i.i, %.sroa.0.038.i - %84 = and i64 %83, %16 - %.sroa.3.0.i16.i = select i1 %.not.i15.i, i64 %84, i64 undef +77: ; preds = %._crit_edge.split.us + %78 = icmp slt <16 x i8> %.0.copyload.i46.i, zeroinitializer + %79 = bitcast <16 x i1> %78 to i16 + %.not.i15.i = icmp ne i16 %79, 0 + %80 = tail call range(i16 0, 17) i16 @llvm.cttz.i16(i16 %79, i1 true) + %81 = zext nneg i16 %80 to i64 + %.sroa.3.0.i.i.i = select i1 %.not.i15.i, i64 %81, i64 undef + %82 = add i64 %.sroa.3.0.i.i.i, %.sroa.0.038.i + %83 = and i64 %82, %16 + %.sroa.3.0.i16.i = select i1 %.not.i15.i, i64 %83, i64 undef %.sroa.0.0.i17.i = zext i1 %.not.i15.i to i64 - br label %85 + br label %84 -85: ; preds = %78, %._crit_edge.split.us - %.sroa.6.1.i = phi i64 [ %.sroa.3.0.i16.i, %78 ], [ %.sroa.6.0.i, %._crit_edge.split.us ] - %.sroa.01.1.i = phi i64 [ %.sroa.0.0.i17.i, %78 ], [ 1, %._crit_edge.split.us ] - %86 = icmp eq <16 x i8> %.0.copyload.i46.i, splat (i8 -1) - %87 = bitcast <16 x i1> %86 to i16 - %.not11.i = icmp eq i16 %87, 0 - br i1 %.not11.i, label %88, label %.split.us +84: ; preds = %77, %._crit_edge.split.us + %.sroa.6.1.i = phi i64 [ %.sroa.3.0.i16.i, %77 ], [ %.sroa.6.0.i, %._crit_edge.split.us ] + %.sroa.01.1.i = phi i64 [ %.sroa.0.0.i17.i, %77 ], [ 1, %._crit_edge.split.us ] + %85 = icmp eq <16 x i8> %.0.copyload.i46.i, splat (i8 -1) + %86 = bitcast <16 x i1> %85 to i16 + %.not11.i = icmp eq i16 %86, 0 + br i1 %.not11.i, label %87, label %.split.us -88: ; preds = %85 - %89 = add i64 %.sroa.8.0.i, 16 - %90 = add i64 %.sroa.0.038.i, %89 +87: ; preds = %84 + %88 = add i64 %.sroa.8.0.i, 16 + %89 = add i64 %.sroa.0.038.i, %88 br label %"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$7reserve17hd796260a60d35fc1E.exit.split" -.split.us: ; preds = %85, %58 - %.us-phi22 = phi i64 [ %.sroa.6.1.i.us, %58 ], [ %.sroa.6.1.i, %85 ] - %.us-phi23 = phi i64 [ %.sroa.01.1.i.us, %58 ], [ %.sroa.01.1.i, %85 ] - %91 = icmp ne i64 %.us-phi23, 0 - tail call void @llvm.assume(i1 %91) - %92 = getelementptr inbounds i8, ptr %17, i64 %.us-phi22 - %93 = load i8, ptr %92, align 1, !noalias !31105, !noundef !4 - %94 = icmp sgt i8 %93, -1 - br i1 %94, label %95, label %104 - -95: ; preds = %.split.us - %96 = load <16 x i8>, ptr %17, align 16, !noalias !31129 - %97 = icmp slt <16 x i8> %96, zeroinitializer - %98 = bitcast <16 x i1> %97 to i16 - %99 = icmp ne i16 %98, 0 - %100 = tail call range(i16 0, 17) i16 @llvm.cttz.i16(i16 %98, i1 true) - %101 = zext nneg i16 %100 to i64 - tail call void @llvm.assume(i1 %99) - br label %104 +.split.us: ; preds = %84, %58 + %.us-phi22 = phi i64 [ %.sroa.6.1.i.us, %58 ], [ %.sroa.6.1.i, %84 ] + %.us-phi23 = phi i64 [ %.sroa.01.1.i.us, %58 ], [ %.sroa.01.1.i, %84 ] + %90 = icmp ne i64 %.us-phi23, 0 + tail call void @llvm.assume(i1 %90) + %91 = getelementptr inbounds i8, ptr %17, i64 %.us-phi22 + %92 = load i8, ptr %91, align 1, !noalias !31105, !noundef !4 + %93 = icmp sgt i8 %92, -1 + br i1 %93, label %94, label %103 + +94: ; preds = %.split.us + %95 = load <16 x i8>, ptr %17, align 16, !noalias !31129 + %96 = icmp slt <16 x i8> %95, zeroinitializer + %97 = bitcast <16 x i1> %96 to i16 + %98 = icmp ne i16 %97, 0 + %99 = tail call range(i16 0, 17) i16 @llvm.cttz.i16(i16 %97, i1 true) + %100 = zext nneg i16 %99 to i64 + tail call void @llvm.assume(i1 %98) + br label %103 "_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$24find_or_find_insert_slot28_$u7b$$u7b$closure$u7d$$u7d$17h91663b384ba2ca51E.llvm.18123795597341512700.exit.thread": ; preds = %.lr.ph, %47, %42 %.pre-phi = phi i64 [ %35, %42 ], [ %35, %47 ], [ %71, %.lr.ph ] - %102 = getelementptr inbounds { { i64, [2 x i64] }, {} }, ptr %17, i64 %.pre-phi - %103 = getelementptr inbounds nuw i8, ptr %0, i64 8 - store ptr %102, ptr %103, align 8 - br label %106 + %101 = getelementptr inbounds { { i64, [2 x i64] }, {} }, ptr %17, i64 %.pre-phi + %102 = getelementptr inbounds nuw i8, ptr %0, i64 8 + store ptr %101, ptr %102, align 8 + br label %105 -104: ; preds = %95, %.split.us - %.sroa.3.0.i = phi i64 [ %101, %95 ], [ %.us-phi22, %.split.us ] - %105 = getelementptr inbounds nuw i8, ptr %0, i64 8 - store i64 %.sroa.3.0.i, ptr %105, align 8 - br label %106 +103: ; preds = %94, %.split.us + %.sroa.3.0.i = phi i64 [ %100, %94 ], [ %.us-phi22, %.split.us ] + %104 = getelementptr inbounds nuw i8, ptr %0, i64 8 + store i64 %.sroa.3.0.i, ptr %104, align 8 + br label %105 -106: ; preds = %"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$24find_or_find_insert_slot28_$u7b$$u7b$closure$u7d$$u7d$17h91663b384ba2ca51E.llvm.18123795597341512700.exit.thread", %104 - %.sroa.0.0.i9 = phi i64 [ 0, %"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$24find_or_find_insert_slot28_$u7b$$u7b$closure$u7d$$u7d$17h91663b384ba2ca51E.llvm.18123795597341512700.exit.thread" ], [ 1, %104 ] +105: ; preds = %"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$24find_or_find_insert_slot28_$u7b$$u7b$closure$u7d$$u7d$17h91663b384ba2ca51E.llvm.18123795597341512700.exit.thread", %103 + %.sroa.0.0.i9 = phi i64 [ 0, %"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$24find_or_find_insert_slot28_$u7b$$u7b$closure$u7d$$u7d$17h91663b384ba2ca51E.llvm.18123795597341512700.exit.thread" ], [ 1, %103 ] store i64 %.sroa.0.0.i9, ptr %0, align 8 ret void } @@ -114060,9 +114059,9 @@ define hidden noundef ptr @"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$4find17hb160 %.not.i4.us48 = icmp eq i16 %23, 0 br i1 %.not.i4.us48, label %._crit_edge.split.us49, label %.lr.ph.us -.split: ; preds = %3, %63 - %.sroa.9.0.i = phi i64 [ %64, %63 ], [ 0, %3 ] - %.pn.i = phi i64 [ %65, %63 ], [ %1, %3 ] +.split: ; preds = %3, %62 + %.sroa.9.0.i = phi i64 [ %63, %62 ], [ 0, %3 ] + %.pn.i = phi i64 [ %64, %62 ], [ %1, %3 ] %.sroa.01.0.i = and i64 %.pn.i, %7 %47 = getelementptr inbounds i8, ptr %8, i64 %.sroa.01.0.i %.0.copyload.i35 = load <16 x i8>, ptr %47, align 1, !noalias !31935 @@ -114072,7 +114071,7 @@ define hidden noundef ptr @"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$4find17hb160 br i1 %.not.i438, label %._crit_edge.split.us, label %.lr.ph .lr.ph: ; preds = %.split, %"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$4find28_$u7b$$u7b$closure$u7d$$u7d$17hf7d4c4924dbe963bE.exit.us" - %.02339.us = phi i16 [ %60, %"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$4find28_$u7b$$u7b$closure$u7d$$u7d$17hf7d4c4924dbe963bE.exit.us" ], [ %49, %.split ] + %.02339.us = phi i16 [ %59, %"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$4find28_$u7b$$u7b$closure$u7d$$u7d$17hf7d4c4924dbe963bE.exit.us" ], [ %49, %.split ] %50 = tail call range(i16 0, 17) i16 @llvm.cttz.i16(i16 %.02339.us, i1 true) %51 = zext nneg i16 %50 to i64 %52 = add i64 %.sroa.01.0.i, %51 @@ -114083,35 +114082,34 @@ define hidden noundef ptr @"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$4find17hb160 tail call void @llvm.experimental.noalias.scope.decl(metadata !31942), !noalias !31941 tail call void @llvm.experimental.noalias.scope.decl(metadata !31945), !noalias !31941 %55 = load i64, ptr %gep, align 8, !range !1128, !alias.scope !31948, !noalias !31949, !noundef !4 - %56 = xor i64 %55, -9223372036854775808 - %57 = tail call i64 @llvm.umin.i64(i64 %56, i64 4) - %58 = icmp eq i64 %11, %57 - br i1 %58, label %"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$4find28_$u7b$$u7b$closure$u7d$$u7d$17hf7d4c4924dbe963bE.exit.thread", label %"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$4find28_$u7b$$u7b$closure$u7d$$u7d$17hf7d4c4924dbe963bE.exit.us" + %56 = xor i64 %55, %11 + %57 = icmp eq i64 %56, -9223372036854775808 + br i1 %57, label %"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$4find28_$u7b$$u7b$closure$u7d$$u7d$17hf7d4c4924dbe963bE.exit.thread", label %"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$4find28_$u7b$$u7b$closure$u7d$$u7d$17hf7d4c4924dbe963bE.exit.us" "_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$4find28_$u7b$$u7b$closure$u7d$$u7d$17hf7d4c4924dbe963bE.exit.us": ; preds = %.lr.ph - %59 = add i16 %.02339.us, -1 - %60 = and i16 %59, %.02339.us - %.not.i4.us = icmp eq i16 %60, 0 + %58 = add i16 %.02339.us, -1 + %59 = and i16 %58, %.02339.us + %.not.i4.us = icmp eq i16 %59, 0 br i1 %.not.i4.us, label %._crit_edge.split.us, label %.lr.ph ._crit_edge.split.us: ; preds = %"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$4find28_$u7b$$u7b$closure$u7d$$u7d$17hf7d4c4924dbe963bE.exit.us", %.split - %61 = icmp eq <16 x i8> %.0.copyload.i35, splat (i8 -1) - %62 = bitcast <16 x i1> %61 to i16 - %.not.i = icmp eq i16 %62, 0 - br i1 %.not.i, label %63, label %_ZN9hashbrown3raw13RawTableInner10find_inner17heaf636810d0ea7b2E.llvm.18123795597341512700.exit + %60 = icmp eq <16 x i8> %.0.copyload.i35, splat (i8 -1) + %61 = bitcast <16 x i1> %60 to i16 + %.not.i = icmp eq i16 %61, 0 + br i1 %.not.i, label %62, label %_ZN9hashbrown3raw13RawTableInner10find_inner17heaf636810d0ea7b2E.llvm.18123795597341512700.exit -63: ; preds = %._crit_edge.split.us - %64 = add i64 %.sroa.9.0.i, 16 - %65 = add i64 %.sroa.01.0.i, %64 +62: ; preds = %._crit_edge.split.us + %63 = add i64 %.sroa.9.0.i, 16 + %64 = add i64 %.sroa.01.0.i, %63 br label %.split "_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$4find28_$u7b$$u7b$closure$u7d$$u7d$17hf7d4c4924dbe963bE.exit.thread": ; preds = %.lr.ph, %38, %33 %.pre-phi = phi i64 [ %26, %33 ], [ %26, %38 ], [ %54, %.lr.ph ] - %66 = getelementptr inbounds { { i64, [2 x i64] }, {} }, ptr %8, i64 %.pre-phi + %65 = getelementptr inbounds { { i64, [2 x i64] }, {} }, ptr %8, i64 %.pre-phi br label %_ZN9hashbrown3raw13RawTableInner10find_inner17heaf636810d0ea7b2E.llvm.18123795597341512700.exit _ZN9hashbrown3raw13RawTableInner10find_inner17heaf636810d0ea7b2E.llvm.18123795597341512700.exit: ; preds = %._crit_edge.split.us, %._crit_edge.split.us49, %"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$4find28_$u7b$$u7b$closure$u7d$$u7d$17hf7d4c4924dbe963bE.exit.thread" - %.0 = phi ptr [ %66, %"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$4find28_$u7b$$u7b$closure$u7d$$u7d$17hf7d4c4924dbe963bE.exit.thread" ], [ null, %._crit_edge.split.us49 ], [ null, %._crit_edge.split.us ] + %.0 = phi ptr [ %65, %"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$4find28_$u7b$$u7b$closure$u7d$$u7d$17hf7d4c4924dbe963bE.exit.thread" ], [ null, %._crit_edge.split.us49 ], [ null, %._crit_edge.split.us ] ret ptr %.0 } diff --git a/bench/duckdb/optimized/ub_duckdb_storage_compression_chimp.cpp.ll b/bench/duckdb/optimized/ub_duckdb_storage_compression_chimp.cpp.ll index 34b41f46a94..af818ed20d3 100644 --- a/bench/duckdb/optimized/ub_duckdb_storage_compression_chimp.cpp.ll +++ b/bench/duckdb/optimized/ub_duckdb_storage_compression_chimp.cpp.ll @@ -2722,10 +2722,21 @@ if.then.i3: ; preds = %_ZN6duckdb10FlagBuf %sub.i.i.i = add i8 %11, -7 store i8 %sub.i.i.i, ptr %free_bits.i.i, align 1, !tbaa !137 %cmp.i.i.i = icmp eq i8 %11, 7 - br i1 %cmp.i.i.i, label %return.sink.split.i, label %_ZN6duckdb15OutputBitStreamILb0EE10WriteValueIhLh7EEEvT_.exit + br i1 %cmp.i.i.i, label %if.then.i.i.i, label %_ZN6duckdb15OutputBitStreamILb0EE10WriteValueIhLh7EEEvT_.exit + +if.then.i.i.i: ; preds = %if.then.i3 + %14 = load ptr, ptr %state, align 8, !tbaa !185 + %stream_index.i.i.i.i = getelementptr inbounds nuw i8, ptr %state, i64 16 + %15 = load i64, ptr %stream_index.i.i.i.i, align 8, !tbaa !195 + %inc.i.i.i.i = add i64 %15, 1 + store i64 %inc.i.i.i.i, ptr %stream_index.i.i.i.i, align 8, !tbaa !195 + %arrayidx.i.i.i.i = getelementptr inbounds i8, ptr %14, i64 %15 + store i8 %conv5.i.i, ptr %arrayidx.i.i.i.i, align 1, !tbaa !63 + store i8 0, ptr %current.i.i, align 8, !tbaa !186 + br label %return.sink.split.i if.end.i: ; preds = %_ZN6duckdb10FlagBufferILb0EE6InsertENS_14ChimpConstants5FlagsE.exit - %14 = xor i8 %11, 7 + %16 = xor i8 %11, 7 %cmp.not.i = icmp eq i8 %11, 0 br i1 %cmp.not.i, label %if.end.if.then12_crit_edge.i, label %_ZN6duckdb15OutputBitStreamILb0EE14WriteInCurrentEhh.exit.i @@ -2735,7 +2746,7 @@ if.end.if.then12_crit_edge.i: ; preds = %if.end.i br label %if.then12.i _ZN6duckdb15OutputBitStreamILb0EE14WriteInCurrentEhh.exit.i: ; preds = %if.end.i - %sub.i = zext nneg i8 %14 to i32 + %sub.i = zext nneg i8 %16 to i32 %conv6.i = zext nneg i8 %previous_index.0244 to i32 %shr.i2 = lshr i32 %conv6.i, %sub.i %conv7.i = trunc nuw nsw i32 %shr.i2 to i8 @@ -2743,52 +2754,41 @@ _ZN6duckdb15OutputBitStreamILb0EE14WriteInCurrentEhh.exit.i: ; preds = %if.end.i %sub.i.i36.i = xor i8 %notmask.i, -1 %and10.i.i = and i8 %conv7.i, %sub.i.i36.i %current.i39.i = getelementptr inbounds nuw i8, ptr %state, i64 8 - %15 = load i8, ptr %current.i39.i, align 8, !tbaa !186 - %conv7.i.i = or i8 %15, %and10.i.i - %16 = load ptr, ptr %state, align 8, !tbaa !185 + %17 = load i8, ptr %current.i39.i, align 8, !tbaa !186 + %conv7.i.i = or i8 %17, %and10.i.i + %18 = load ptr, ptr %state, align 8, !tbaa !185 %stream_index.i.i.i41.i = getelementptr inbounds nuw i8, ptr %state, i64 16 - %17 = load i64, ptr %stream_index.i.i.i41.i, align 8, !tbaa !195 - %inc.i.i.i42.i = add i64 %17, 1 + %19 = load i64, ptr %stream_index.i.i.i41.i, align 8, !tbaa !195 + %inc.i.i.i42.i = add i64 %19, 1 store i64 %inc.i.i.i42.i, ptr %stream_index.i.i.i41.i, align 8, !tbaa !195 - %arrayidx.i.i.i43.i = getelementptr inbounds i8, ptr %16, i64 %17 + %arrayidx.i.i.i43.i = getelementptr inbounds i8, ptr %18, i64 %19 store i8 %conv7.i.i, ptr %arrayidx.i.i.i43.i, align 1, !tbaa !63 br label %if.then12.i if.then12.i: ; preds = %_ZN6duckdb15OutputBitStreamILb0EE14WriteInCurrentEhh.exit.i, %if.end.if.then12_crit_edge.i %conv2.i46.pre-phi.i = phi i32 [ 7, %if.end.if.then12_crit_edge.i ], [ %sub.i, %_ZN6duckdb15OutputBitStreamILb0EE14WriteInCurrentEhh.exit.i ] - %18 = phi i8 [ %.pre.i, %if.end.if.then12_crit_edge.i ], [ 0, %_ZN6duckdb15OutputBitStreamILb0EE14WriteInCurrentEhh.exit.i ] - %19 = phi i8 [ 0, %if.end.if.then12_crit_edge.i ], [ 8, %_ZN6duckdb15OutputBitStreamILb0EE14WriteInCurrentEhh.exit.i ] - %conv.i45.i = zext nneg i8 %19 to i32 + %20 = phi i8 [ %.pre.i, %if.end.if.then12_crit_edge.i ], [ 0, %_ZN6duckdb15OutputBitStreamILb0EE14WriteInCurrentEhh.exit.i ] + %21 = phi i8 [ 0, %if.end.if.then12_crit_edge.i ], [ 8, %_ZN6duckdb15OutputBitStreamILb0EE14WriteInCurrentEhh.exit.i ] + %conv.i45.i = zext nneg i8 %21 to i32 %sub.i47.i = sub nsw i32 %conv.i45.i, %conv2.i46.pre-phi.i - %notmask72.i = shl nsw i8 -1, %14 + %notmask72.i = shl nsw i8 -1, %16 %sub.i.i49.i = xor i8 %notmask72.i, -1 %and10.i50.i = and i8 %previous_index.0244, %sub.i.i49.i %and.i51.i = zext nneg i8 %and10.i50.i to i32 %shl.i52.i = shl nuw nsw i32 %and.i51.i, %sub.i47.i %current.i53.i = getelementptr inbounds nuw i8, ptr %state, i64 8 - %20 = trunc i32 %shl.i52.i to i8 - %conv7.i54.i = or i8 %18, %20 + %22 = trunc i32 %shl.i52.i to i8 + %conv7.i54.i = or i8 %20, %22 store i8 %conv7.i54.i, ptr %current.i53.i, align 8, !tbaa !186 - %sub.i11.i55.i = sub nsw i8 %19, %14 - store i8 %sub.i11.i55.i, ptr %free_bits.i.i, align 1, !tbaa !137 - %cmp.i12.i56.i = icmp eq i8 %19, %14 - br i1 %cmp.i12.i56.i, label %return.sink.split.i, label %_ZN6duckdb15OutputBitStreamILb0EE10WriteValueIhLh7EEEvT_.exit - -return.sink.split.i: ; preds = %if.then12.i, %if.then.i3 - %conv7.i54.sink.i = phi i8 [ %conv5.i.i, %if.then.i3 ], [ %conv7.i54.i, %if.then12.i ] - %current.i53.sink.i = phi ptr [ %current.i.i, %if.then.i3 ], [ %current.i53.i, %if.then12.i ] - %21 = load ptr, ptr %state, align 8, !tbaa !185 - %stream_index.i.i.i58.i = getelementptr inbounds nuw i8, ptr %state, i64 16 - %22 = load i64, ptr %stream_index.i.i.i58.i, align 8, !tbaa !195 - %inc.i.i.i59.i = add i64 %22, 1 - store i64 %inc.i.i.i59.i, ptr %stream_index.i.i.i58.i, align 8, !tbaa !195 - %arrayidx.i.i.i60.i = getelementptr inbounds i8, ptr %21, i64 %22 - store i8 %conv7.i54.sink.i, ptr %arrayidx.i.i.i60.i, align 1, !tbaa !63 - store i8 0, ptr %current.i53.sink.i, align 8, !tbaa !186 - store i8 8, ptr %free_bits.i.i, align 1, !tbaa !137 + %sub.i11.i55.i = sub nsw i8 %21, %16 + br label %return.sink.split.i + +return.sink.split.i: ; preds = %if.then12.i, %if.then.i.i.i + %sub.i11.i55.sink.i = phi i8 [ %sub.i11.i55.i, %if.then12.i ], [ 8, %if.then.i.i.i ] + store i8 %sub.i11.i55.sink.i, ptr %free_bits.i.i, align 1, !tbaa !137 br label %_ZN6duckdb15OutputBitStreamILb0EE10WriteValueIhLh7EEEvT_.exit -_ZN6duckdb15OutputBitStreamILb0EE10WriteValueIhLh7EEEvT_.exit: ; preds = %if.then.i3, %if.then12.i, %return.sink.split.i +_ZN6duckdb15OutputBitStreamILb0EE10WriteValueIhLh7EEEvT_.exit: ; preds = %if.then.i3, %return.sink.split.i %previous_leading_zeros.i = getelementptr inbounds nuw i8, ptr %state, i64 66648 store i8 -1, ptr %previous_leading_zeros.i, align 8, !tbaa !138 br label %if.end94 @@ -6848,10 +6848,21 @@ if.then.i3: ; preds = %_ZN6duckdb10FlagBuf %sub.i.i.i = add i8 %10, -7 store i8 %sub.i.i.i, ptr %free_bits.i.i, align 1, !tbaa !137 %cmp.i.i.i = icmp eq i8 %10, 7 - br i1 %cmp.i.i.i, label %return.sink.split.i, label %_ZN6duckdb15OutputBitStreamILb0EE10WriteValueIhLh7EEEvT_.exit + br i1 %cmp.i.i.i, label %if.then.i.i.i, label %_ZN6duckdb15OutputBitStreamILb0EE10WriteValueIhLh7EEEvT_.exit + +if.then.i.i.i: ; preds = %if.then.i3 + %13 = load ptr, ptr %state, align 8, !tbaa !185 + %stream_index.i.i.i.i = getelementptr inbounds nuw i8, ptr %state, i64 16 + %14 = load i64, ptr %stream_index.i.i.i.i, align 8, !tbaa !195 + %inc.i.i.i.i = add i64 %14, 1 + store i64 %inc.i.i.i.i, ptr %stream_index.i.i.i.i, align 8, !tbaa !195 + %arrayidx.i.i.i.i = getelementptr inbounds i8, ptr %13, i64 %14 + store i8 %conv5.i.i, ptr %arrayidx.i.i.i.i, align 1, !tbaa !63 + store i8 0, ptr %current.i.i, align 8, !tbaa !186 + br label %return.sink.split.i if.end.i: ; preds = %_ZN6duckdb10FlagBufferILb0EE6InsertENS_14ChimpConstants5FlagsE.exit - %13 = xor i8 %10, 7 + %15 = xor i8 %10, 7 %cmp.not.i = icmp eq i8 %10, 0 br i1 %cmp.not.i, label %if.end.if.then12_crit_edge.i, label %_ZN6duckdb15OutputBitStreamILb0EE14WriteInCurrentEhh.exit.i @@ -6861,7 +6872,7 @@ if.end.if.then12_crit_edge.i: ; preds = %if.end.i br label %if.then12.i _ZN6duckdb15OutputBitStreamILb0EE14WriteInCurrentEhh.exit.i: ; preds = %if.end.i - %sub.i = zext nneg i8 %13 to i32 + %sub.i = zext nneg i8 %15 to i32 %conv6.i = zext nneg i8 %previous_index.0234 to i32 %shr.i2 = lshr i32 %conv6.i, %sub.i %conv7.i = trunc nuw nsw i32 %shr.i2 to i8 @@ -6869,52 +6880,41 @@ _ZN6duckdb15OutputBitStreamILb0EE14WriteInCurrentEhh.exit.i: ; preds = %if.end.i %sub.i.i36.i = xor i8 %notmask.i, -1 %and10.i.i = and i8 %conv7.i, %sub.i.i36.i %current.i39.i = getelementptr inbounds nuw i8, ptr %state, i64 8 - %14 = load i8, ptr %current.i39.i, align 8, !tbaa !186 - %conv7.i.i = or i8 %14, %and10.i.i - %15 = load ptr, ptr %state, align 8, !tbaa !185 + %16 = load i8, ptr %current.i39.i, align 8, !tbaa !186 + %conv7.i.i = or i8 %16, %and10.i.i + %17 = load ptr, ptr %state, align 8, !tbaa !185 %stream_index.i.i.i41.i = getelementptr inbounds nuw i8, ptr %state, i64 16 - %16 = load i64, ptr %stream_index.i.i.i41.i, align 8, !tbaa !195 - %inc.i.i.i42.i = add i64 %16, 1 + %18 = load i64, ptr %stream_index.i.i.i41.i, align 8, !tbaa !195 + %inc.i.i.i42.i = add i64 %18, 1 store i64 %inc.i.i.i42.i, ptr %stream_index.i.i.i41.i, align 8, !tbaa !195 - %arrayidx.i.i.i43.i = getelementptr inbounds i8, ptr %15, i64 %16 + %arrayidx.i.i.i43.i = getelementptr inbounds i8, ptr %17, i64 %18 store i8 %conv7.i.i, ptr %arrayidx.i.i.i43.i, align 1, !tbaa !63 br label %if.then12.i if.then12.i: ; preds = %_ZN6duckdb15OutputBitStreamILb0EE14WriteInCurrentEhh.exit.i, %if.end.if.then12_crit_edge.i %conv2.i46.pre-phi.i = phi i32 [ 7, %if.end.if.then12_crit_edge.i ], [ %sub.i, %_ZN6duckdb15OutputBitStreamILb0EE14WriteInCurrentEhh.exit.i ] - %17 = phi i8 [ %.pre.i, %if.end.if.then12_crit_edge.i ], [ 0, %_ZN6duckdb15OutputBitStreamILb0EE14WriteInCurrentEhh.exit.i ] - %18 = phi i8 [ 0, %if.end.if.then12_crit_edge.i ], [ 8, %_ZN6duckdb15OutputBitStreamILb0EE14WriteInCurrentEhh.exit.i ] - %conv.i45.i = zext nneg i8 %18 to i32 + %19 = phi i8 [ %.pre.i, %if.end.if.then12_crit_edge.i ], [ 0, %_ZN6duckdb15OutputBitStreamILb0EE14WriteInCurrentEhh.exit.i ] + %20 = phi i8 [ 0, %if.end.if.then12_crit_edge.i ], [ 8, %_ZN6duckdb15OutputBitStreamILb0EE14WriteInCurrentEhh.exit.i ] + %conv.i45.i = zext nneg i8 %20 to i32 %sub.i47.i = sub nsw i32 %conv.i45.i, %conv2.i46.pre-phi.i - %notmask72.i = shl nsw i8 -1, %13 + %notmask72.i = shl nsw i8 -1, %15 %sub.i.i49.i = xor i8 %notmask72.i, -1 %and10.i50.i = and i8 %previous_index.0234, %sub.i.i49.i %and.i51.i = zext nneg i8 %and10.i50.i to i32 %shl.i52.i = shl nuw nsw i32 %and.i51.i, %sub.i47.i %current.i53.i = getelementptr inbounds nuw i8, ptr %state, i64 8 - %19 = trunc i32 %shl.i52.i to i8 - %conv7.i54.i = or i8 %17, %19 + %21 = trunc i32 %shl.i52.i to i8 + %conv7.i54.i = or i8 %19, %21 store i8 %conv7.i54.i, ptr %current.i53.i, align 8, !tbaa !186 - %sub.i11.i55.i = sub nsw i8 %18, %13 - store i8 %sub.i11.i55.i, ptr %free_bits.i.i, align 1, !tbaa !137 - %cmp.i12.i56.i = icmp eq i8 %18, %13 - br i1 %cmp.i12.i56.i, label %return.sink.split.i, label %_ZN6duckdb15OutputBitStreamILb0EE10WriteValueIhLh7EEEvT_.exit - -return.sink.split.i: ; preds = %if.then12.i, %if.then.i3 - %conv7.i54.sink.i = phi i8 [ %conv5.i.i, %if.then.i3 ], [ %conv7.i54.i, %if.then12.i ] - %current.i53.sink.i = phi ptr [ %current.i.i, %if.then.i3 ], [ %current.i53.i, %if.then12.i ] - %20 = load ptr, ptr %state, align 8, !tbaa !185 - %stream_index.i.i.i58.i = getelementptr inbounds nuw i8, ptr %state, i64 16 - %21 = load i64, ptr %stream_index.i.i.i58.i, align 8, !tbaa !195 - %inc.i.i.i59.i = add i64 %21, 1 - store i64 %inc.i.i.i59.i, ptr %stream_index.i.i.i58.i, align 8, !tbaa !195 - %arrayidx.i.i.i60.i = getelementptr inbounds i8, ptr %20, i64 %21 - store i8 %conv7.i54.sink.i, ptr %arrayidx.i.i.i60.i, align 1, !tbaa !63 - store i8 0, ptr %current.i53.sink.i, align 8, !tbaa !186 - store i8 8, ptr %free_bits.i.i, align 1, !tbaa !137 + %sub.i11.i55.i = sub nsw i8 %20, %15 + br label %return.sink.split.i + +return.sink.split.i: ; preds = %if.then12.i, %if.then.i.i.i + %sub.i11.i55.sink.i = phi i8 [ %sub.i11.i55.i, %if.then12.i ], [ 8, %if.then.i.i.i ] + store i8 %sub.i11.i55.sink.i, ptr %free_bits.i.i, align 1, !tbaa !137 br label %_ZN6duckdb15OutputBitStreamILb0EE10WriteValueIhLh7EEEvT_.exit -_ZN6duckdb15OutputBitStreamILb0EE10WriteValueIhLh7EEEvT_.exit: ; preds = %if.then.i3, %if.then12.i, %return.sink.split.i +_ZN6duckdb15OutputBitStreamILb0EE10WriteValueIhLh7EEEvT_.exit: ; preds = %if.then.i3, %return.sink.split.i %previous_leading_zeros.i = getelementptr inbounds nuw i8, ptr %state, i64 132184 store i8 -1, ptr %previous_leading_zeros.i, align 8, !tbaa !286 br label %if.end84 diff --git a/bench/folly/optimized/AsyncSocket.cpp.ll b/bench/folly/optimized/AsyncSocket.cpp.ll index f7744ebbd33..33f4804a6ce 100644 --- a/bench/folly/optimized/AsyncSocket.cpp.ll +++ b/bench/folly/optimized/AsyncSocket.cpp.ll @@ -10183,17 +10183,13 @@ if.then65: ; preds = %if.then59 if.then67: ; preds = %if.then65 %and.i = and i16 %33, -5 store i16 %and.i, ptr %eventFlags_132, align 2, !tbaa !135 - %cmp.i207 = icmp eq i16 %and.i, %33 - br i1 %cmp.i207, label %if.end71, label %if.else.i - -if.else.i: ; preds = %if.then67 %call.i208 = invoke noundef zeroext i1 @_ZN5folly11AsyncSocket23updateEventRegistrationEv(ptr noundef nonnull align 8 dereferenceable(1113) %this) to label %invoke.cont68 unwind label %terminate.lpad.loopexit -invoke.cont68: ; preds = %if.else.i +invoke.cont68: ; preds = %if.then67 br i1 %call.i208, label %if.end71, label %cleanup164 -if.end71: ; preds = %invoke.cont68, %if.then67 +if.end71: ; preds = %invoke.cont68 invoke void @_ZN5folly12AsyncTimeout13cancelTimeoutEv(ptr noundef nonnull align 8 dereferenceable(192) %writeTimeout_144) to label %if.end73 unwind label %terminate.lpad.loopexit @@ -10526,7 +10522,7 @@ terminate.lpad.i: ; preds = %if.then6.i _ZN5folly22DelayedDestructionBase15DestructorGuardD2Ev.exit: ; preds = %if.then6.i, %if.then.i257 ret void -terminate.lpad.loopexit: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit253, %invoke.cont155, %if.then150, %invoke.cont147, %if.then143, %if.then136, %if.then126, %if.else120, %if.end109, %invoke.cont98, %cond.false.i.i, %invoke.cont94, %if.then91, %if.end71, %if.else.i, %if.else, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit, %invoke.cont51, %if.end47, %if.then43, %_ZN5folly11AsyncSocket22WriteCallbackWithState13notifyOnWriteEv.exit +terminate.lpad.loopexit: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit253, %invoke.cont155, %if.then150, %invoke.cont147, %if.then143, %if.then136, %if.then126, %if.else120, %if.end109, %invoke.cont98, %cond.false.i.i, %invoke.cont94, %if.then91, %if.end71, %if.then67, %if.else, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit, %invoke.cont51, %if.end47, %if.then43, %_ZN5folly11AsyncSocket22WriteCallbackWithState13notifyOnWriteEv.exit %lpad.loopexit = landingpad { ptr, i32 } catch ptr null br label %terminate.lpad.body diff --git a/bench/folly/optimized/DistributedMutex.cpp.ll b/bench/folly/optimized/DistributedMutex.cpp.ll index 5d320ffaef2..99e4b8ca2dc 100644 --- a/bench/folly/optimized/DistributedMutex.cpp.ll +++ b/bench/folly/optimized/DistributedMutex.cpp.ll @@ -837,9 +837,9 @@ land.lhs.true.i45: ; preds = %_ZN5folly6detail17d %shr.i31.i = lshr i64 %17, 8 %add.i = add nuw nsw i64 %shr.i31.i, 200 %cmp.i55 = icmp samesign ugt i64 %shl.i.i, %add.i - br i1 %cmp.i55, label %if.then.i, label %land.lhs.true.i.thread.thread55 + br i1 %cmp.i55, label %if.then.i, label %land.lhs.true.i.thread.thread54 -land.lhs.true.i.thread.thread55: ; preds = %land.lhs.true.i45 +land.lhs.true.i.thread.thread54: ; preds = %land.lhs.true.i45 call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %agg.tmp.i43) br label %if.then5.i @@ -870,14 +870,14 @@ _ZN5folly6detail17distributed_mutex10tryCombineISt6atomicEEmPNS1_6WaiterIT_EEmmm land.lhs.true.i.thread: ; preds = %_ZN5folly6detail17distributed_mutex8loadTaskINS1_6WaiterISt6atomicEEEENS0_17InlineFunctionRefIFvvELm48EEEPT_m.exit.us30, %_ZN5folly6detail17distributed_mutex8loadTaskINS1_6WaiterISt6atomicEEEENS0_17InlineFunctionRefIFvvELm48EEEPT_m.exit call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %agg.tmp.i43) - %cmp.i6274 = icmp eq i64 %17, 4 - br i1 %cmp.i6274, label %cond.false.i, label %if.then5.i - -if.then5.i: ; preds = %land.lhs.true.i.us, %_ZN5folly6detail17distributed_mutex10tryCombineISt6atomicEEmPNS1_6WaiterIT_EEmmmlNS0_17InlineFunctionRefIFvvELm48EEE.exit, %_ZN5folly6detail17distributed_mutex10tryCombineISt6atomicEEmPNS1_6WaiterIT_EEmmmlNS0_17InlineFunctionRefIFvvELm48EEE.exit.us37, %land.lhs.true.i.thread.thread55, %land.lhs.true.i.thread - %current.011011 = phi ptr [ %waiter, %land.lhs.true.i.thread ], [ %waiter, %land.lhs.true.i.thread.thread55 ], [ %waiter, %_ZN5folly6detail17distributed_mutex10tryCombineISt6atomicEEmPNS1_6WaiterIT_EEmmmlNS0_17InlineFunctionRefIFvvELm48EEE.exit.us37 ], [ %waiter, %_ZN5folly6detail17distributed_mutex10tryCombineISt6atomicEEmPNS1_6WaiterIT_EEmmmlNS0_17InlineFunctionRefIFvvELm48EEE.exit ], [ %current.0110.us, %land.lhs.true.i.us ] - %futex_7 = phi ptr [ %futex_.us25, %land.lhs.true.i.thread ], [ %futex_.us25, %land.lhs.true.i.thread.thread55 ], [ %futex_.us25, %_ZN5folly6detail17distributed_mutex10tryCombineISt6atomicEEmPNS1_6WaiterIT_EEmmmlNS0_17InlineFunctionRefIFvvELm48EEE.exit.us37 ], [ %futex_.us25, %_ZN5folly6detail17distributed_mutex10tryCombineISt6atomicEEmPNS1_6WaiterIT_EEmmmlNS0_17InlineFunctionRefIFvvELm48EEE.exit ], [ %futex_.us, %land.lhs.true.i.us ] - %34 = getelementptr inbounds nuw i8, ptr %current.011011, i64 144 - store i64 %waker, ptr %34, align 16, !tbaa !65 + %34 = icmp eq i64 %17, 4 + br i1 %34, label %cond.false.i, label %if.then5.i + +if.then5.i: ; preds = %land.lhs.true.i.us, %_ZN5folly6detail17distributed_mutex10tryCombineISt6atomicEEmPNS1_6WaiterIT_EEmmmlNS0_17InlineFunctionRefIFvvELm48EEE.exit, %_ZN5folly6detail17distributed_mutex10tryCombineISt6atomicEEmPNS1_6WaiterIT_EEmmmlNS0_17InlineFunctionRefIFvvELm48EEE.exit.us37, %land.lhs.true.i.thread.thread54, %land.lhs.true.i.thread + %current.011011 = phi ptr [ %waiter, %land.lhs.true.i.thread ], [ %waiter, %land.lhs.true.i.thread.thread54 ], [ %waiter, %_ZN5folly6detail17distributed_mutex10tryCombineISt6atomicEEmPNS1_6WaiterIT_EEmmmlNS0_17InlineFunctionRefIFvvELm48EEE.exit.us37 ], [ %waiter, %_ZN5folly6detail17distributed_mutex10tryCombineISt6atomicEEmPNS1_6WaiterIT_EEmmmlNS0_17InlineFunctionRefIFvvELm48EEE.exit ], [ %current.0110.us, %land.lhs.true.i.us ] + %futex_7 = phi ptr [ %futex_.us25, %land.lhs.true.i.thread ], [ %futex_.us25, %land.lhs.true.i.thread.thread54 ], [ %futex_.us25, %_ZN5folly6detail17distributed_mutex10tryCombineISt6atomicEEmPNS1_6WaiterIT_EEmmmlNS0_17InlineFunctionRefIFvvELm48EEE.exit.us37 ], [ %futex_.us25, %_ZN5folly6detail17distributed_mutex10tryCombineISt6atomicEEmPNS1_6WaiterIT_EEmmmlNS0_17InlineFunctionRefIFvvELm48EEE.exit ], [ %futex_.us, %land.lhs.true.i.us ] + %35 = getelementptr inbounds nuw i8, ptr %current.011011, i64 144 + store i64 %waker, ptr %35, align 16, !tbaa !65 %waiters_.i = getelementptr inbounds nuw i8, ptr %current.011011, i64 152 %storage.sroa.0.0.copyload.i = load i64, ptr %sleepers, align 8 store i64 %storage.sroa.0.0.copyload.i, ptr %waiters_.i, align 8, !tbaa !69 @@ -901,7 +901,7 @@ cleanup.action.i: ; preds = %invoke.cont.i unreachable lpad.i: ; preds = %invoke.cont.i, %cond.false.i - %35 = landingpad { ptr, i32 } + %36 = landingpad { ptr, i32 } cleanup call void @_ZN6google15LogMessageFatalD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %ref.tmp10.i) #14 unreachable @@ -921,7 +921,7 @@ cleanup.action: ; preds = %invoke.cont unreachable lpad: ; preds = %invoke.cont, %cond.false - %36 = landingpad { ptr, i32 } + %37 = landingpad { ptr, i32 } cleanup call void @_ZN6google15LogMessageFatalD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %ref.tmp7) #14 unreachable diff --git a/bench/gromacs/optimized/md5.c.ll b/bench/gromacs/optimized/md5.c.ll index 775b393cb69..984b2616cef 100644 --- a/bench/gromacs/optimized/md5.c.ll +++ b/bench/gromacs/optimized/md5.c.ll @@ -3,7 +3,7 @@ source_filename = "bench/gromacs/original/md5.c.ll" target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128" target triple = "x86_64-pc-linux-gnu" -@md5_finish.pad = internal constant <{ i8, [63 x i8] }> <{ i8 -128, [63 x i8] zeroinitializer }>, align 16 +@md5_finish.pad = internal unnamed_addr constant <{ i8, [63 x i8] }> <{ i8 -128, [63 x i8] zeroinitializer }>, align 16 ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: write) uwtable define void @md5_init(ptr noundef writeonly captures(none) initializes((0, 24)) %0) local_unnamed_addr #0 { @@ -725,7 +725,7 @@ define void @md5_finish(ptr noundef %0, ptr noundef writeonly captures(none) %1) 28: ; preds = %26, %14 %.not.i = icmp eq i32 %20, 0 - br i1 %.not.i, label %40, label %29 + br i1 %.not.i, label %._crit_edge.i.thread, label %29 29: ; preds = %28 %30 = add nuw nsw i32 %19, %20 @@ -739,100 +739,92 @@ define void @md5_finish(ptr noundef %0, ptr noundef writeonly captures(none) %1) tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(1) %36, ptr noundef nonnull align 16 dereferenceable(1) @md5_finish.pad, i64 %37, i1 false) %38 = add nuw nsw i32 %33, %20 %39 = icmp samesign ult i32 %38, 64 - br i1 %39, label %md5_append.exit, label %._crit_edge.i + br i1 %39, label %md5_append.exit, label %.thread -40: ; preds = %28 - %41 = icmp eq i32 %18, 63 - br i1 %41, label %._crit_edge.i.thread47, label %._crit_edge.i.thread - -._crit_edge.i.thread47: ; preds = %40 - tail call fastcc void @md5_process(ptr noundef nonnull %0, ptr noundef nonnull @md5_finish.pad) - br label %md5_append.exit - -._crit_edge.i: ; preds = %29 - %42 = getelementptr inbounds nuw i8, ptr @md5_finish.pad, i64 %37 - %43 = sub nsw i32 %19, %33 +.thread: ; preds = %29 + %40 = getelementptr inbounds nuw i8, ptr @md5_finish.pad, i64 %37 + %41 = sub nsw i32 %19, %33 tail call fastcc void @md5_process(ptr noundef nonnull %0, ptr noundef nonnull %34) - %.not41.i = icmp eq i32 %43, 0 + %.not41.i = icmp eq i32 %41, 0 br i1 %.not41.i, label %md5_append.exit, label %._crit_edge.i.thread -._crit_edge.i.thread: ; preds = %40, %._crit_edge.i - %.1.lcssa.i32 = phi ptr [ %42, %._crit_edge.i ], [ @md5_finish.pad, %40 ] - %.138.lcssa.i31 = phi i32 [ %43, %._crit_edge.i ], [ %19, %40 ] - %44 = getelementptr inbounds nuw i8, ptr %0, i64 24 - %45 = sext i32 %.138.lcssa.i31 to i64 - tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(1) %44, ptr noundef nonnull align 1 dereferenceable(1) %.1.lcssa.i32, i64 %45, i1 false) +._crit_edge.i.thread: ; preds = %28, %.thread + %.1.lcssa.i32 = phi ptr [ %40, %.thread ], [ @md5_finish.pad, %28 ] + %.138.lcssa.i31 = phi i32 [ %41, %.thread ], [ %19, %28 ] + %42 = getelementptr inbounds nuw i8, ptr %0, i64 24 + %43 = sext i32 %.138.lcssa.i31 to i64 + tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(1) %42, ptr noundef nonnull align 1 dereferenceable(1) %.1.lcssa.i32, i64 %43, i1 false) br label %md5_append.exit -md5_append.exit: ; preds = %._crit_edge.i.thread47, %29, %._crit_edge.i, %._crit_edge.i.thread - %46 = load i32, ptr %0, align 4 - %47 = lshr i32 %46, 3 - %48 = and i32 %47, 63 - %49 = load i32, ptr %22, align 4 - %50 = add i32 %46, 64 - store i32 %50, ptr %0, align 4 - %51 = icmp ugt i32 %46, -65 - br i1 %51, label %52, label %54 - -52: ; preds = %md5_append.exit - %53 = add i32 %49, 1 - store i32 %53, ptr %22, align 4 - br label %54 - -54: ; preds = %52, %md5_append.exit - %.not.i15 = icmp eq i32 %48, 0 - br i1 %.not.i15, label %._crit_edge.i18.thread, label %55 - -55: ; preds = %54 - %56 = icmp samesign ugt i32 %48, 56 - %57 = sub nuw nsw i32 64, %48 - %58 = select i1 %56, i32 %57, i32 8 - %59 = getelementptr inbounds nuw i8, ptr %0, i64 24 - %60 = zext nneg i32 %48 to i64 - %61 = getelementptr inbounds nuw i8, ptr %59, i64 %60 - %62 = zext nneg i32 %58 to i64 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(1) %61, ptr noundef nonnull align 1 dereferenceable(1) %3, i64 %62, i1 false) - %63 = add nuw nsw i32 %58, %48 - %64 = icmp samesign ult i32 %63, 64 - br i1 %64, label %md5_append.exit25, label %._crit_edge.i18 - -._crit_edge.i18: ; preds = %55 - %65 = getelementptr inbounds nuw i8, ptr %3, i64 %62 - %66 = sub nsw i32 8, %58 - tail call fastcc void @md5_process(ptr noundef nonnull %0, ptr noundef nonnull %59) - %.not41.i21 = icmp eq i32 %58, 8 +md5_append.exit: ; preds = %29, %.thread, %._crit_edge.i.thread + %44 = load i32, ptr %0, align 4 + %45 = lshr i32 %44, 3 + %46 = and i32 %45, 63 + %47 = load i32, ptr %22, align 4 + %48 = add i32 %44, 64 + store i32 %48, ptr %0, align 4 + %49 = icmp ugt i32 %44, -65 + br i1 %49, label %50, label %52 + +50: ; preds = %md5_append.exit + %51 = add i32 %47, 1 + store i32 %51, ptr %22, align 4 + br label %52 + +52: ; preds = %50, %md5_append.exit + %.not.i15 = icmp eq i32 %46, 0 + br i1 %.not.i15, label %._crit_edge.i18.thread, label %53 + +53: ; preds = %52 + %54 = icmp samesign ugt i32 %46, 56 + %55 = sub nuw nsw i32 64, %46 + %56 = select i1 %54, i32 %55, i32 8 + %57 = getelementptr inbounds nuw i8, ptr %0, i64 24 + %58 = zext nneg i32 %46 to i64 + %59 = getelementptr inbounds nuw i8, ptr %57, i64 %58 + %60 = zext nneg i32 %56 to i64 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(1) %59, ptr noundef nonnull align 1 dereferenceable(1) %3, i64 %60, i1 false) + %61 = add nuw nsw i32 %56, %46 + %62 = icmp samesign ult i32 %61, 64 + br i1 %62, label %md5_append.exit25, label %._crit_edge.i18 + +._crit_edge.i18: ; preds = %53 + %63 = getelementptr inbounds nuw i8, ptr %3, i64 %60 + %64 = sub nsw i32 8, %56 + tail call fastcc void @md5_process(ptr noundef nonnull %0, ptr noundef nonnull %57) + %.not41.i21 = icmp eq i32 %56, 8 br i1 %.not41.i21, label %md5_append.exit25, label %._crit_edge.i18.thread -._crit_edge.i18.thread: ; preds = %54, %._crit_edge.i18 - %.1.lcssa.i2037 = phi ptr [ %65, %._crit_edge.i18 ], [ %3, %54 ] - %.138.lcssa.i1936 = phi i32 [ %66, %._crit_edge.i18 ], [ 8, %54 ] - %67 = getelementptr inbounds nuw i8, ptr %0, i64 24 - %68 = sext i32 %.138.lcssa.i1936 to i64 - call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 4 %67, ptr nonnull align 1 %.1.lcssa.i2037, i64 %68, i1 false) +._crit_edge.i18.thread: ; preds = %52, %._crit_edge.i18 + %.1.lcssa.i2037 = phi ptr [ %63, %._crit_edge.i18 ], [ %3, %52 ] + %.138.lcssa.i1936 = phi i32 [ %64, %._crit_edge.i18 ], [ 8, %52 ] + %65 = getelementptr inbounds nuw i8, ptr %0, i64 24 + %66 = sext i32 %.138.lcssa.i1936 to i64 + call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 4 %65, ptr nonnull align 1 %.1.lcssa.i2037, i64 %66, i1 false) br label %md5_append.exit25 -md5_append.exit25: ; preds = %55, %._crit_edge.i18, %._crit_edge.i18.thread - %69 = getelementptr inbounds nuw i8, ptr %0, i64 8 - br label %70 - -70: ; preds = %md5_append.exit25, %70 - %indvars.iv43 = phi i64 [ 0, %md5_append.exit25 ], [ %indvars.iv.next44, %70 ] - %71 = lshr i64 %indvars.iv43, 2 - %72 = and i64 %71, 1073741823 - %73 = getelementptr inbounds nuw [4 x i32], ptr %69, i64 0, i64 %72 - %74 = load i32, ptr %73, align 4 - %indvars.iv43.tr = trunc i64 %indvars.iv43 to i32 - %75 = shl i32 %indvars.iv43.tr, 3 - %76 = and i32 %75, 24 - %77 = lshr i32 %74, %76 - %78 = trunc i32 %77 to i8 - %79 = getelementptr inbounds nuw i8, ptr %1, i64 %indvars.iv43 - store i8 %78, ptr %79, align 1 - %indvars.iv.next44 = add nuw nsw i64 %indvars.iv43, 1 - %exitcond46.not = icmp eq i64 %indvars.iv.next44, 16 - br i1 %exitcond46.not, label %80, label %70, !llvm.loop !7 - -80: ; preds = %70 +md5_append.exit25: ; preds = %53, %._crit_edge.i18, %._crit_edge.i18.thread + %67 = getelementptr inbounds nuw i8, ptr %0, i64 8 + br label %68 + +68: ; preds = %md5_append.exit25, %68 + %indvars.iv41 = phi i64 [ 0, %md5_append.exit25 ], [ %indvars.iv.next42, %68 ] + %69 = lshr i64 %indvars.iv41, 2 + %70 = and i64 %69, 1073741823 + %71 = getelementptr inbounds nuw [4 x i32], ptr %67, i64 0, i64 %70 + %72 = load i32, ptr %71, align 4 + %indvars.iv41.tr = trunc i64 %indvars.iv41 to i32 + %73 = shl i32 %indvars.iv41.tr, 3 + %74 = and i32 %73, 24 + %75 = lshr i32 %72, %74 + %76 = trunc i32 %75 to i8 + %77 = getelementptr inbounds nuw i8, ptr %1, i64 %indvars.iv41 + store i8 %76, ptr %77, align 1 + %indvars.iv.next42 = add nuw nsw i64 %indvars.iv41, 1 + %exitcond44.not = icmp eq i64 %indvars.iv.next42, 16 + br i1 %exitcond44.not, label %78, label %68, !llvm.loop !7 + +78: ; preds = %68 ret void } diff --git a/bench/gromacs/optimized/md5.cpp.ll b/bench/gromacs/optimized/md5.cpp.ll index 51776ee3e24..97ca7bcd608 100644 --- a/bench/gromacs/optimized/md5.cpp.ll +++ b/bench/gromacs/optimized/md5.cpp.ll @@ -5,7 +5,7 @@ target triple = "x86_64-pc-linux-gnu" %"struct.std::array" = type { [16 x i8] } -@_ZZ14gmx_md5_finishP11md5_state_sE3pad = internal constant <{ i8, [63 x i8] }> <{ i8 -128, [63 x i8] zeroinitializer }>, align 16 +@_ZZ14gmx_md5_finishP11md5_state_sE3pad = internal unnamed_addr constant <{ i8, [63 x i8] }> <{ i8 -128, [63 x i8] zeroinitializer }>, align 16 ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: write) uwtable define void @_Z12gmx_md5_initP11md5_state_s(ptr noundef writeonly captures(none) initializes((0, 24)) %0) local_unnamed_addr #0 { @@ -728,7 +728,7 @@ define { i64, i64 } @_Z14gmx_md5_finishP11md5_state_s(ptr noundef %0) local_unna 28: ; preds = %26, %14 %.not.i = icmp eq i32 %20, 0 - br i1 %.not.i, label %40, label %29 + br i1 %.not.i, label %._crit_edge.i.thread, label %29 29: ; preds = %28 %30 = add nuw nsw i32 %19, %20 @@ -742,99 +742,91 @@ define { i64, i64 } @_Z14gmx_md5_finishP11md5_state_s(ptr noundef %0) local_unna tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(1) %36, ptr noundef nonnull align 16 dereferenceable(1) @_ZZ14gmx_md5_finishP11md5_state_sE3pad, i64 %37, i1 false) %38 = add nuw nsw i32 %33, %20 %39 = icmp samesign ult i32 %38, 64 - br i1 %39, label %_Z14gmx_md5_appendP11md5_state_sPKhi.exit, label %._crit_edge.i + br i1 %39, label %_Z14gmx_md5_appendP11md5_state_sPKhi.exit, label %.thread -40: ; preds = %28 - %41 = icmp eq i32 %18, 63 - br i1 %41, label %._crit_edge.i.thread44, label %._crit_edge.i.thread - -._crit_edge.i.thread44: ; preds = %40 - tail call fastcc void @_ZL11md5_processP11md5_state_sPKh(ptr noundef nonnull %0, ptr noundef nonnull @_ZZ14gmx_md5_finishP11md5_state_sE3pad) - br label %_Z14gmx_md5_appendP11md5_state_sPKhi.exit - -._crit_edge.i: ; preds = %29 - %42 = getelementptr inbounds nuw i8, ptr @_ZZ14gmx_md5_finishP11md5_state_sE3pad, i64 %37 - %43 = sub nsw i32 %19, %33 +.thread: ; preds = %29 + %40 = getelementptr inbounds nuw i8, ptr @_ZZ14gmx_md5_finishP11md5_state_sE3pad, i64 %37 + %41 = sub nsw i32 %19, %33 tail call fastcc void @_ZL11md5_processP11md5_state_sPKh(ptr noundef nonnull %0, ptr noundef nonnull %34) - %.not41.i = icmp eq i32 %43, 0 + %.not41.i = icmp eq i32 %41, 0 br i1 %.not41.i, label %_Z14gmx_md5_appendP11md5_state_sPKhi.exit, label %._crit_edge.i.thread -._crit_edge.i.thread: ; preds = %40, %._crit_edge.i - %.1.lcssa.i32 = phi ptr [ %42, %._crit_edge.i ], [ @_ZZ14gmx_md5_finishP11md5_state_sE3pad, %40 ] - %.138.lcssa.i31 = phi i32 [ %43, %._crit_edge.i ], [ %19, %40 ] - %44 = getelementptr inbounds nuw i8, ptr %0, i64 24 - %45 = sext i32 %.138.lcssa.i31 to i64 - tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(1) %44, ptr noundef nonnull align 1 dereferenceable(1) %.1.lcssa.i32, i64 %45, i1 false) +._crit_edge.i.thread: ; preds = %28, %.thread + %.1.lcssa.i32 = phi ptr [ %40, %.thread ], [ @_ZZ14gmx_md5_finishP11md5_state_sE3pad, %28 ] + %.138.lcssa.i31 = phi i32 [ %41, %.thread ], [ %19, %28 ] + %42 = getelementptr inbounds nuw i8, ptr %0, i64 24 + %43 = sext i32 %.138.lcssa.i31 to i64 + tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(1) %42, ptr noundef nonnull align 1 dereferenceable(1) %.1.lcssa.i32, i64 %43, i1 false) br label %_Z14gmx_md5_appendP11md5_state_sPKhi.exit -_Z14gmx_md5_appendP11md5_state_sPKhi.exit: ; preds = %._crit_edge.i.thread44, %29, %._crit_edge.i, %._crit_edge.i.thread - %46 = load i32, ptr %0, align 4 - %47 = lshr i32 %46, 3 - %48 = and i32 %47, 63 - %49 = load i32, ptr %22, align 4 - %50 = add i32 %46, 64 - store i32 %50, ptr %0, align 4 - %51 = icmp ugt i32 %46, -65 - br i1 %51, label %52, label %54 - -52: ; preds = %_Z14gmx_md5_appendP11md5_state_sPKhi.exit - %53 = add i32 %49, 1 - store i32 %53, ptr %22, align 4 - br label %54 - -54: ; preds = %52, %_Z14gmx_md5_appendP11md5_state_sPKhi.exit - %.not.i15 = icmp eq i32 %48, 0 - br i1 %.not.i15, label %._crit_edge.i18.thread, label %55 - -55: ; preds = %54 - %56 = icmp samesign ugt i32 %48, 56 - %57 = sub nuw nsw i32 64, %48 - %58 = select i1 %56, i32 %57, i32 8 - %59 = getelementptr inbounds nuw i8, ptr %0, i64 24 - %60 = zext nneg i32 %48 to i64 - %61 = getelementptr inbounds nuw i8, ptr %59, i64 %60 - %62 = zext nneg i32 %58 to i64 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(1) %61, ptr noundef nonnull align 1 dereferenceable(1) %3, i64 %62, i1 false) - %63 = add nuw nsw i32 %58, %48 - %64 = icmp samesign ult i32 %63, 64 - br i1 %64, label %_Z14gmx_md5_appendP11md5_state_sPKhi.exit25, label %._crit_edge.i18 - -._crit_edge.i18: ; preds = %55 - %65 = getelementptr inbounds nuw i8, ptr %3, i64 %62 - %66 = sub nsw i32 8, %58 - tail call fastcc void @_ZL11md5_processP11md5_state_sPKh(ptr noundef nonnull %0, ptr noundef nonnull %59) - %.not41.i21 = icmp eq i32 %58, 8 +_Z14gmx_md5_appendP11md5_state_sPKhi.exit: ; preds = %29, %.thread, %._crit_edge.i.thread + %44 = load i32, ptr %0, align 4 + %45 = lshr i32 %44, 3 + %46 = and i32 %45, 63 + %47 = load i32, ptr %22, align 4 + %48 = add i32 %44, 64 + store i32 %48, ptr %0, align 4 + %49 = icmp ugt i32 %44, -65 + br i1 %49, label %50, label %52 + +50: ; preds = %_Z14gmx_md5_appendP11md5_state_sPKhi.exit + %51 = add i32 %47, 1 + store i32 %51, ptr %22, align 4 + br label %52 + +52: ; preds = %50, %_Z14gmx_md5_appendP11md5_state_sPKhi.exit + %.not.i15 = icmp eq i32 %46, 0 + br i1 %.not.i15, label %._crit_edge.i18.thread, label %53 + +53: ; preds = %52 + %54 = icmp samesign ugt i32 %46, 56 + %55 = sub nuw nsw i32 64, %46 + %56 = select i1 %54, i32 %55, i32 8 + %57 = getelementptr inbounds nuw i8, ptr %0, i64 24 + %58 = zext nneg i32 %46 to i64 + %59 = getelementptr inbounds nuw i8, ptr %57, i64 %58 + %60 = zext nneg i32 %56 to i64 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(1) %59, ptr noundef nonnull align 1 dereferenceable(1) %3, i64 %60, i1 false) + %61 = add nuw nsw i32 %56, %46 + %62 = icmp samesign ult i32 %61, 64 + br i1 %62, label %_Z14gmx_md5_appendP11md5_state_sPKhi.exit25, label %._crit_edge.i18 + +._crit_edge.i18: ; preds = %53 + %63 = getelementptr inbounds nuw i8, ptr %3, i64 %60 + %64 = sub nsw i32 8, %56 + tail call fastcc void @_ZL11md5_processP11md5_state_sPKh(ptr noundef nonnull %0, ptr noundef nonnull %57) + %.not41.i21 = icmp eq i32 %56, 8 br i1 %.not41.i21, label %_Z14gmx_md5_appendP11md5_state_sPKhi.exit25, label %._crit_edge.i18.thread -._crit_edge.i18.thread: ; preds = %54, %._crit_edge.i18 - %.1.lcssa.i2037 = phi ptr [ %65, %._crit_edge.i18 ], [ %3, %54 ] - %.138.lcssa.i1936 = phi i32 [ %66, %._crit_edge.i18 ], [ 8, %54 ] - %67 = getelementptr inbounds nuw i8, ptr %0, i64 24 - %68 = sext i32 %.138.lcssa.i1936 to i64 - call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 4 %67, ptr nonnull align 1 %.1.lcssa.i2037, i64 %68, i1 false) +._crit_edge.i18.thread: ; preds = %52, %._crit_edge.i18 + %.1.lcssa.i2037 = phi ptr [ %63, %._crit_edge.i18 ], [ %3, %52 ] + %.138.lcssa.i1936 = phi i32 [ %64, %._crit_edge.i18 ], [ 8, %52 ] + %65 = getelementptr inbounds nuw i8, ptr %0, i64 24 + %66 = sext i32 %.138.lcssa.i1936 to i64 + call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 4 %65, ptr nonnull align 1 %.1.lcssa.i2037, i64 %66, i1 false) br label %_Z14gmx_md5_appendP11md5_state_sPKhi.exit25 -_Z14gmx_md5_appendP11md5_state_sPKhi.exit25: ; preds = %55, %._crit_edge.i18, %._crit_edge.i18.thread - %69 = getelementptr inbounds nuw i8, ptr %0, i64 8 - br label %70 - -70: ; preds = %_Z14gmx_md5_appendP11md5_state_sPKhi.exit25, %70 - %.040 = phi i64 [ 0, %_Z14gmx_md5_appendP11md5_state_sPKhi.exit25 ], [ %79, %70 ] - %71 = lshr i64 %.040, 2 - %72 = getelementptr inbounds nuw [4 x i32], ptr %69, i64 0, i64 %71 - %73 = load i32, ptr %72, align 4 - %.0.tr = trunc nuw i64 %.040 to i32 - %74 = shl nuw nsw i32 %.0.tr, 3 - %75 = and i32 %74, 24 - %76 = lshr i32 %73, %75 - %77 = trunc i32 %76 to i8 - %78 = getelementptr inbounds nuw [16 x i8], ptr %2, i64 0, i64 %.040 - store i8 %77, ptr %78, align 1 - %79 = add nuw nsw i64 %.040, 1 - %exitcond43.not = icmp eq i64 %79, 16 - br i1 %exitcond43.not, label %80, label %70, !llvm.loop !8 - -80: ; preds = %70 +_Z14gmx_md5_appendP11md5_state_sPKhi.exit25: ; preds = %53, %._crit_edge.i18, %._crit_edge.i18.thread + %67 = getelementptr inbounds nuw i8, ptr %0, i64 8 + br label %68 + +68: ; preds = %_Z14gmx_md5_appendP11md5_state_sPKhi.exit25, %68 + %.039 = phi i64 [ 0, %_Z14gmx_md5_appendP11md5_state_sPKhi.exit25 ], [ %77, %68 ] + %69 = lshr i64 %.039, 2 + %70 = getelementptr inbounds nuw [4 x i32], ptr %67, i64 0, i64 %69 + %71 = load i32, ptr %70, align 4 + %.0.tr = trunc nuw i64 %.039 to i32 + %72 = shl nuw nsw i32 %.0.tr, 3 + %73 = and i32 %72, 24 + %74 = lshr i32 %71, %73 + %75 = trunc i32 %74 to i8 + %76 = getelementptr inbounds nuw [16 x i8], ptr %2, i64 0, i64 %.039 + store i8 %75, ptr %76, align 1 + %77 = add nuw nsw i64 %.039, 1 + %exitcond41.not = icmp eq i64 %77, 16 + br i1 %exitcond41.not, label %78, label %68, !llvm.loop !8 + +78: ; preds = %68 %.fca.0.load = load i64, ptr %2, align 8 %.fca.0.insert = insertvalue { i64, i64 } poison, i64 %.fca.0.load, 0 %.fca.1.gep = getelementptr inbounds nuw i8, ptr %2, i64 8 diff --git a/bench/icu/optimized/reldtfmt.ll b/bench/icu/optimized/reldtfmt.ll index ffdd73af9b5..defd0a4a2a6 100644 --- a/bench/icu/optimized/reldtfmt.ll +++ b/bench/icu/optimized/reldtfmt.ll @@ -308,7 +308,7 @@ lpad4: ; preds = %invoke.cont3 cleanup br label %ehcleanup -lpad6: ; preds = %call3.i.noexc, %if.then.i, %invoke.cont75, %if.then43, %if.then36, %if.end30, %if.end20 +lpad6: ; preds = %call3.i.noexc, %if.then.i, %invoke.cont75, %if.then43, %if.then36, %if.end30, %if.then23 %2 = landingpad { ptr, i32 } cleanup tail call void @_ZN6icu_756LocaleD1Ev(ptr noundef nonnull align 8 dereferenceable(217) %fLocale) #15 @@ -320,14 +320,14 @@ if.end: ; preds = %invoke.cont5 %4 = add i32 %timeStyle, -4 %or.cond4 = icmp ult i32 %4, -5 %or.cond = or i1 %or.cond2, %or.cond4 - br i1 %or.cond, label %invoke.cont77.sink.split, label %if.end20 + br i1 %or.cond, label %invoke.cont77.sink.split, label %if.then23 -if.end20: ; preds = %if.end +if.then23: ; preds = %if.end %and = and i32 %dateStyle, 3 %call25 = invoke noundef ptr @_ZN6icu_7510DateFormat18createDateInstanceENS0_6EStyleERKNS_6LocaleE(i32 noundef %and, ptr noundef nonnull align 8 dereferenceable(217) %locale) to label %invoke.cont24 unwind label %lpad6 -invoke.cont24: ; preds = %if.end20 +invoke.cont24: ; preds = %if.then23 %5 = icmp eq ptr %call25, null br i1 %5, label %dynamic_cast.end.thread, label %dynamic_cast.end diff --git a/bench/icu/optimized/timezone.ll b/bench/icu/optimized/timezone.ll index 9d61dd8a100..640fcb30f4d 100644 --- a/bench/icu/optimized/timezone.ll +++ b/bench/icu/optimized/timezone.ll @@ -1868,9 +1868,9 @@ invoke.cont: ; preds = %entry %cmp.i = icmp sgt i32 %0, 0 %cmp = icmp slt i32 %call, 1 %or.cond = select i1 %cmp.i, i1 true, i1 %cmp - br i1 %or.cond, label %cleanup, label %for.cond.preheader + br i1 %or.cond, label %cleanup, label %if.end4.lr.ph -for.cond.preheader: ; preds = %invoke.cont +if.end4.lr.ph: ; preds = %invoke.cont %div1118 = lshr i32 %call, 1 %fUnion.i.i.i = getelementptr inbounds nuw i8, ptr %id, i64 8 %fLength.i5.i = getelementptr inbounds nuw i8, ptr %copy, i64 12 @@ -1889,10 +1889,10 @@ lpad.loopexit.split-lp: ; preds = %entry cleanup br label %ehcleanup -if.end4: ; preds = %for.cond.preheader, %if.else - %div1122 = phi i32 [ %div1118, %for.cond.preheader ], [ %div11, %if.else ] - %start.021 = phi i32 [ 0, %for.cond.preheader ], [ %start.0.div11, %if.else ] - %limit.020 = phi i32 [ %call, %for.cond.preheader ], [ %div11.limit.0, %if.else ] +if.end4: ; preds = %if.end4.lr.ph, %if.else + %div1122 = phi i32 [ %div1118, %if.end4.lr.ph ], [ %div11, %if.else ] + %start.021 = phi i32 [ 0, %if.end4.lr.ph ], [ %start.0.div11, %if.else ] + %limit.020 = phi i32 [ %call, %if.end4.lr.ph ], [ %div11.limit.0, %if.else ] %call6 = invoke ptr @ures_getStringByIndex_75(ptr noundef %array, i32 noundef %div1122, ptr noundef nonnull %len, ptr noundef nonnull %status) to label %invoke.cont5 unwind label %lpad.loopexit diff --git a/bench/icu/optimized/ucase.ll b/bench/icu/optimized/ucase.ll index 3afa9b69792..0dbdb449f6d 100644 --- a/bench/icu/optimized/ucase.ll +++ b/bench/icu/optimized/ucase.ll @@ -2281,13 +2281,13 @@ land.lhs.true: ; preds = %if.then57 land.lhs.true63: ; preds = %land.lhs.true, %land.lhs.true, %land.lhs.true %cmp.i = icmp eq ptr %iter, null - br i1 %cmp.i, label %_ZL21isFollowedByMoreAbovePFiPvaES_.exit, label %for.cond.i + br i1 %cmp.i, label %lor.lhs.false67, label %for.cond.i for.cond.i: ; preds = %land.lhs.true63, %_ZL10getDotTypei.exit.i %dir.0.i = phi i8 [ 0, %_ZL10getDotTypei.exit.i ], [ 1, %land.lhs.true63 ] %call.i = tail call noundef i32 %iter(ptr noundef %context, i8 noundef signext %dir.0.i) %cmp1.i = icmp sgt i32 %call.i, -1 - br i1 %cmp1.i, label %for.body.i, label %_ZL21isFollowedByMoreAbovePFiPvaES_.exit + br i1 %cmp1.i, label %for.body.i, label %lor.lhs.false67 for.body.i: ; preds = %for.cond.i %cmp.i.i = icmp samesign ult i32 %call.i, 55296 @@ -2364,16 +2364,15 @@ if.else.i.i: ; preds = %cond.end39.i.i _ZL10getDotTypei.exit.i: ; preds = %if.else.i.i, %if.then.i.i %retval.0.i.i = phi i32 [ %and51.i.i, %if.else.i.i ], [ %and46.i.i, %if.then.i.i ] - switch i32 %retval.0.i.i, label %_ZL21isFollowedByMoreAbovePFiPvaES_.exit [ + switch i32 %retval.0.i.i, label %lor.lhs.false67 [ i32 64, label %if.then71 i32 96, label %for.cond.i ], !llvm.loop !14 -_ZL21isFollowedByMoreAbovePFiPvaES_.exit: ; preds = %for.cond.i, %_ZL10getDotTypei.exit.i, %land.lhs.true63 +lor.lhs.false67: ; preds = %_ZL10getDotTypei.exit.i, %for.cond.i, %land.lhs.true63 switch i32 %c, label %if.else77 [ - i32 296, label %sw.bb76 i32 205, label %sw.bb75 - i32 204, label %sw.bb74 + i32 296, label %sw.bb76 ] if.then71: ; preds = %_ZL10getDotTypei.exit.i @@ -2398,19 +2397,19 @@ sw.bb73: ; preds = %if.then71 store ptr @_ZL10iOgonekDot, ptr %pString, align 8 br label %return -sw.bb74: ; preds = %land.lhs.true, %_ZL21isFollowedByMoreAbovePFiPvaES_.exit, %if.then71 +sw.bb74: ; preds = %land.lhs.true, %if.then71 store ptr @_ZL9iDotGrave, ptr %pString, align 8 br label %return -sw.bb75: ; preds = %land.lhs.true, %_ZL21isFollowedByMoreAbovePFiPvaES_.exit, %if.then71 +sw.bb75: ; preds = %land.lhs.true, %lor.lhs.false67, %if.then71 store ptr @_ZL9iDotAcute, ptr %pString, align 8 br label %return -sw.bb76: ; preds = %land.lhs.true, %_ZL21isFollowedByMoreAbovePFiPvaES_.exit, %if.then71 +sw.bb76: ; preds = %land.lhs.true, %lor.lhs.false67, %if.then71 store ptr @_ZL9iDotTilde, ptr %pString, align 8 br label %return -if.else77: ; preds = %_ZL21isFollowedByMoreAbovePFiPvaES_.exit, %if.then57 +if.else77: ; preds = %lor.lhs.false67, %if.then57 %cmp78 = icmp eq i32 %loc, 2 %cmp80 = icmp eq i32 %c, 304 %or.cond6 = and i1 %cmp80, %cmp78 diff --git a/bench/libquic/optimized/base64.c.ll b/bench/libquic/optimized/base64.c.ll index b654f065ac1..28748a59bd8 100644 --- a/bench/libquic/optimized/base64.c.ll +++ b/bench/libquic/optimized/base64.c.ll @@ -815,16 +815,16 @@ if.end: ; preds = %land.lhs.true, %lor br label %for.body for.body: ; preds = %if.end, %for.inc - %ret.1128 = phi i32 [ 0, %if.end ], [ %ret.2, %for.inc ] - %ln.1127 = phi i32 [ %1, %if.end ], [ %ln.4, %for.inc ] - %n.1126 = phi i32 [ %0, %if.end ], [ %n.3, %for.inc ] - %i.0125 = phi i32 [ 0, %if.end ], [ %inc126, %for.inc ] - %out.addr.0123 = phi ptr [ %out, %if.end ], [ %out.addr.1, %for.inc ] + %ret.1127 = phi i32 [ 0, %if.end ], [ %ret.2, %for.inc ] + %ln.1126 = phi i32 [ %1, %if.end ], [ %ln.4, %for.inc ] + %n.1125 = phi i32 [ %0, %if.end ], [ %n.3, %for.inc ] + %i.0124 = phi i32 [ 0, %if.end ], [ %inc126, %for.inc ] + %out.addr.0122 = phi ptr [ %out, %if.end ], [ %out.addr.1, %for.inc ] %exp_nl.1121 = phi i32 [ %2, %if.end ], [ %exp_nl.2, %for.inc ] %in.addr.0120 = phi ptr [ %in, %if.end ], [ %incdec.ptr, %for.inc ] %eof.0119 = phi i32 [ 0, %if.end ], [ %eof.2, %for.inc ] %seof.0118 = phi i32 [ -1, %if.end ], [ %seof.1, %for.inc ] - %cmp7 = icmp ugt i32 %ln.1127, 79 + %cmp7 = icmp ugt i32 %ln.1126, 79 br i1 %cmp7, label %end, label %if.end10 if.end10: ; preds = %for.body @@ -840,27 +840,23 @@ conv_ascii2bin.exit69: ; preds = %if.end10 %conv14 = zext i8 %5 to i32 %6 = and i32 %conv14, 236 %cmp15 = icmp eq i32 %6, 224 - br i1 %cmp15, label %if.else, label %if.then17 + br i1 %cmp15, label %if.end25, label %if.then17 if.then17: ; preds = %if.end10, %conv_ascii2bin.exit69 - %conv1480 = phi i32 [ %conv14, %conv_ascii2bin.exit69 ], [ 255, %if.end10 ] - %retval.0.i6878 = phi i8 [ %5, %conv_ascii2bin.exit69 ], [ -1, %if.end10 ] - %inc = add i32 %n.1126, 1 - %idxprom = zext i32 %n.1126 to i64 + %conv1479 = phi i32 [ %conv14, %conv_ascii2bin.exit69 ], [ 255, %if.end10 ] + %retval.0.i6877 = phi i8 [ %5, %conv_ascii2bin.exit69 ], [ -1, %if.end10 ] + %inc = add i32 %n.1125, 1 + %idxprom = zext i32 %n.1125 to i64 %arrayidx19 = getelementptr inbounds nuw i8, ptr %enc_data, i64 %idxprom store i8 %4, ptr %arrayidx19, align 1 - %inc20 = add nuw nsw i32 %ln.1127, 1 + %inc20 = add nuw nsw i32 %ln.1126, 1 br label %if.end25 -if.else: ; preds = %conv_ascii2bin.exit69 - %cmp21 = icmp eq i8 %5, -1 - br i1 %cmp21, label %end, label %if.end25 - -if.end25: ; preds = %if.else, %if.then17 - %conv1479 = phi i32 [ %conv14, %if.else ], [ %conv1480, %if.then17 ] - %retval.0.i6877 = phi i8 [ %5, %if.else ], [ %retval.0.i6878, %if.then17 ] - %n.2 = phi i32 [ %n.1126, %if.else ], [ %inc, %if.then17 ] - %ln.2 = phi i32 [ %ln.1127, %if.else ], [ %inc20, %if.then17 ] +if.end25: ; preds = %conv_ascii2bin.exit69, %if.then17 + %conv1480 = phi i32 [ %conv1479, %if.then17 ], [ %conv14, %conv_ascii2bin.exit69 ] + %retval.0.i6878 = phi i8 [ %retval.0.i6877, %if.then17 ], [ %5, %conv_ascii2bin.exit69 ] + %n.2 = phi i32 [ %inc, %if.then17 ], [ %n.1125, %conv_ascii2bin.exit69 ] + %ln.2 = phi i32 [ %inc20, %if.then17 ], [ %ln.1126, %conv_ascii2bin.exit69 ] %cmp26 = icmp eq i8 %4, 61 br i1 %cmp26, label %if.then28, label %if.end38 @@ -874,7 +870,7 @@ if.then28: ; preds = %if.end25 if.end38: ; preds = %if.then28, %if.end25 %seof.1 = phi i32 [ %spec.select, %if.then28 ], [ %seof.0118, %if.end25 ] %eof.1 = phi i32 [ %inc33, %if.then28 ], [ %eof.0119, %if.end25 ] - switch i8 %retval.0.i6877, label %if.end51 [ + switch i8 %retval.0.i6878, label %if.end51 [ i8 -15, label %if.then41 i8 -16, label %if.then47 ] @@ -889,7 +885,7 @@ if.then47: ; preds = %if.end38 if.end51: ; preds = %if.end38, %if.then41, %if.then47 %ln.5 = phi i32 [ 0, %if.then47 ], [ 0, %if.then41 ], [ %ln.2, %if.end38 ] - %add = add i32 %i.0125, 1 + %add = add i32 %i.0124, 1 %conv52 = zext i32 %add to i64 %cmp53 = icmp eq i64 %in_len, %conv52 br i1 %cmp53, label %land.lhs.true55, label %if.end78 @@ -919,7 +915,7 @@ if.end78.thread: ; preds = %land.lhs.true55 if.end78: ; preds = %land.lhs.true55, %if.end51 %eof.3 = phi i32 [ 0, %land.lhs.true55 ], [ %eof.1, %if.end51 ] - %cmp79 = icmp eq i32 %conv1479, 242 + %cmp79 = icmp eq i32 %conv1480, 242 br i1 %cmp79, label %if.end78.land.lhs.true81_crit_edge, label %lor.lhs.false85 if.end78.land.lhs.true81_crit_edge: ; preds = %if.end78 @@ -1010,7 +1006,7 @@ EVP_DecodedLength.exit.i: ; preds = %while.end15.i br i1 %cmp17.i, label %EVP_DecodeBlock.exit.thread, label %if.end.i71 if.end.i71: ; preds = %EVP_DecodedLength.exit.i - %call19.i = call i32 @EVP_DecodeBase64(ptr noundef %out.addr.0123, ptr noundef nonnull %dst_len.i, i64 noundef %mul.i.i, ptr noundef nonnull %src.addr.0.i.lcssa, i64 noundef %src_len.addr.1.lcssa.i) + %call19.i = call i32 @EVP_DecodeBase64(ptr noundef %out.addr.0122, ptr noundef nonnull %dst_len.i, i64 noundef %mul.i.i, ptr noundef nonnull %src.addr.0.i.lcssa, i64 noundef %src_len.addr.1.lcssa.i) %tobool20.not.i = icmp eq i32 %call19.i, 0 br i1 %tobool20.not.i, label %EVP_DecodeBlock.exit.thread, label %while.cond23.preheader.i @@ -1023,7 +1019,7 @@ while.cond23.preheader.i: ; preds = %if.end.i71 while.body26.i: ; preds = %while.cond23.preheader.i, %while.body26.i %inc2932.i = phi i64 [ %inc.i, %while.body26.i ], [ %dst_len.promoted.i, %while.cond23.preheader.i ] %inc.i = add i64 %inc2932.i, 1 - %arrayidx27.i = getelementptr inbounds i8, ptr %out.addr.0123, i64 %inc2932.i + %arrayidx27.i = getelementptr inbounds i8, ptr %out.addr.0122, i64 %inc2932.i store i8 0, ptr %arrayidx27.i, align 1 %rem.i = urem i64 %inc.i, 3 %cmp24.not.i = icmp eq i64 %rem.i, 0 @@ -1045,7 +1041,7 @@ if.end104: ; preds = %EVP_DecodeBlock.exi br i1 %cmp105, label %end, label %if.end108 if.end108: ; preds = %if.end104 - %sub109 = sub i32 %ret.1128, %eof.38697 + %sub109 = sub i32 %ret.1127, %eof.38697 %add110 = add i32 %sub109, %conv29.i br label %if.end112 @@ -1053,7 +1049,7 @@ if.end112: ; preds = %if.then88, %if.end1 %spec.select6299 = phi i32 [ %spec.select6298, %if.end108 ], [ 0, %if.then88 ] %eof.5 = phi i32 [ %eof.38697, %if.end108 ], [ 1, %if.then88 ] %v.1 = phi i32 [ %conv29.i, %if.end108 ], [ 0, %if.then88 ] - %ret.3 = phi i32 [ %add110, %if.end108 ], [ %ret.1128, %if.then88 ] + %ret.3 = phi i32 [ %add110, %if.end108 ], [ %ret.1127, %if.then88 ] %19 = load i32, ptr %length, align 4 %cmp113 = icmp slt i32 %v.1, %19 %tobool116 = icmp ne i32 %eof.5, 0 @@ -1067,27 +1063,27 @@ if.else118: ; preds = %if.end112 if.end124: ; preds = %if.else118 %idx.ext = zext nneg i32 %v.1 to i64 - %add.ptr = getelementptr inbounds nuw i8, ptr %out.addr.0123, i64 %idx.ext + %add.ptr = getelementptr inbounds nuw i8, ptr %out.addr.0122, i64 %idx.ext br label %for.inc for.inc: ; preds = %if.then47, %lor.lhs.false85, %if.end124, %land.lhs.true81, %if.then41 %eof.2 = phi i32 [ %eof.1, %if.then41 ], [ %eof.5, %if.end124 ], [ %eof.387, %land.lhs.true81 ], [ %eof.3, %lor.lhs.false85 ], [ %eof.1, %if.then47 ] %exp_nl.2 = phi i32 [ %exp_nl.1121, %if.then41 ], [ %spec.select6299, %if.end124 ], [ 0, %land.lhs.true81 ], [ 0, %lor.lhs.false85 ], [ 0, %if.then47 ] - %out.addr.1 = phi ptr [ %out.addr.0123, %if.then41 ], [ %add.ptr, %if.end124 ], [ %out.addr.0123, %land.lhs.true81 ], [ %out.addr.0123, %lor.lhs.false85 ], [ %out.addr.0123, %if.then47 ] + %out.addr.1 = phi ptr [ %out.addr.0122, %if.then41 ], [ %add.ptr, %if.end124 ], [ %out.addr.0122, %land.lhs.true81 ], [ %out.addr.0122, %lor.lhs.false85 ], [ %out.addr.0122, %if.then47 ] %n.3 = phi i32 [ %n.2, %if.then41 ], [ 0, %if.end124 ], [ %n.2, %land.lhs.true81 ], [ %n.2, %lor.lhs.false85 ], [ %n.2, %if.then47 ] %ln.4 = phi i32 [ 0, %if.then41 ], [ %ln.5, %if.end124 ], [ %ln.5, %land.lhs.true81 ], [ %ln.5, %lor.lhs.false85 ], [ 0, %if.then47 ] - %ret.2 = phi i32 [ %ret.1128, %if.then41 ], [ %ret.3, %if.end124 ], [ %ret.1128, %land.lhs.true81 ], [ %ret.1128, %lor.lhs.false85 ], [ %ret.1128, %if.then47 ] - %inc126 = add i32 %i.0125, 1 + %ret.2 = phi i32 [ %ret.1127, %if.then41 ], [ %ret.3, %if.end124 ], [ %ret.1127, %land.lhs.true81 ], [ %ret.1127, %lor.lhs.false85 ], [ %ret.1127, %if.then47 ] + %inc126 = add i32 %i.0124, 1 %conv4 = zext i32 %inc126 to i64 %cmp5 = icmp ugt i64 %in_len, %conv4 br i1 %cmp5, label %for.body, label %end, !llvm.loop !14 -end: ; preds = %for.inc, %if.else118, %if.end112, %if.end104, %EVP_DecodeBlock.exit, %if.then28, %if.else, %for.body, %land.lhs.true, %EVP_DecodeBlock.exit.thread, %entry - %rv.0 = phi i32 [ 0, %entry ], [ 0, %EVP_DecodeBlock.exit.thread ], [ 0, %land.lhs.true ], [ 1, %for.inc ], [ 0, %if.else118 ], [ 0, %if.end112 ], [ -1, %if.end104 ], [ 0, %EVP_DecodeBlock.exit ], [ -1, %if.then28 ], [ -1, %if.else ], [ -1, %for.body ] - %exp_nl.0 = phi i32 [ %2, %entry ], [ %spec.select6298, %EVP_DecodeBlock.exit.thread ], [ %2, %land.lhs.true ], [ %exp_nl.2, %for.inc ], [ %spec.select6299, %if.else118 ], [ %spec.select6299, %if.end112 ], [ %spec.select6298, %if.end104 ], [ %spec.select6298, %EVP_DecodeBlock.exit ], [ %exp_nl.1121, %if.then28 ], [ %exp_nl.1121, %if.else ], [ %exp_nl.1121, %for.body ] - %n.0 = phi i32 [ %0, %entry ], [ 0, %EVP_DecodeBlock.exit.thread ], [ 0, %land.lhs.true ], [ %n.3, %for.inc ], [ 0, %if.else118 ], [ 0, %if.end112 ], [ 0, %if.end104 ], [ 0, %EVP_DecodeBlock.exit ], [ %n.2, %if.then28 ], [ %n.1126, %if.else ], [ %n.1126, %for.body ] - %ln.0 = phi i32 [ %1, %entry ], [ %ln.5, %EVP_DecodeBlock.exit.thread ], [ %1, %land.lhs.true ], [ %ln.4, %for.inc ], [ %ln.5, %if.else118 ], [ %ln.5, %if.end112 ], [ %ln.5, %if.end104 ], [ %ln.5, %EVP_DecodeBlock.exit ], [ %ln.2, %if.then28 ], [ %ln.1127, %if.else ], [ %ln.1127, %for.body ] - %ret.0 = phi i32 [ 0, %entry ], [ %ret.1128, %EVP_DecodeBlock.exit.thread ], [ 0, %land.lhs.true ], [ %ret.2, %for.inc ], [ %ret.3, %if.else118 ], [ %ret.3, %if.end112 ], [ %ret.1128, %if.end104 ], [ %ret.1128, %EVP_DecodeBlock.exit ], [ %ret.1128, %if.then28 ], [ %ret.1128, %if.else ], [ %ret.1128, %for.body ] +end: ; preds = %for.inc, %if.else118, %if.end112, %if.end104, %EVP_DecodeBlock.exit, %if.then28, %for.body, %land.lhs.true, %EVP_DecodeBlock.exit.thread, %entry + %rv.0 = phi i32 [ 0, %entry ], [ 0, %EVP_DecodeBlock.exit.thread ], [ 0, %land.lhs.true ], [ 1, %for.inc ], [ 0, %if.else118 ], [ 0, %if.end112 ], [ -1, %if.end104 ], [ 0, %EVP_DecodeBlock.exit ], [ -1, %if.then28 ], [ -1, %for.body ] + %exp_nl.0 = phi i32 [ %2, %entry ], [ %spec.select6298, %EVP_DecodeBlock.exit.thread ], [ %2, %land.lhs.true ], [ %exp_nl.2, %for.inc ], [ %spec.select6299, %if.else118 ], [ %spec.select6299, %if.end112 ], [ %spec.select6298, %if.end104 ], [ %spec.select6298, %EVP_DecodeBlock.exit ], [ %exp_nl.1121, %if.then28 ], [ %exp_nl.1121, %for.body ] + %n.0 = phi i32 [ %0, %entry ], [ 0, %EVP_DecodeBlock.exit.thread ], [ 0, %land.lhs.true ], [ %n.3, %for.inc ], [ 0, %if.else118 ], [ 0, %if.end112 ], [ 0, %if.end104 ], [ 0, %EVP_DecodeBlock.exit ], [ %n.2, %if.then28 ], [ %n.1125, %for.body ] + %ln.0 = phi i32 [ %1, %entry ], [ %ln.5, %EVP_DecodeBlock.exit.thread ], [ %1, %land.lhs.true ], [ %ln.4, %for.inc ], [ %ln.5, %if.else118 ], [ %ln.5, %if.end112 ], [ %ln.5, %if.end104 ], [ %ln.5, %EVP_DecodeBlock.exit ], [ %ln.2, %if.then28 ], [ %ln.1126, %for.body ] + %ret.0 = phi i32 [ 0, %entry ], [ %ret.1127, %EVP_DecodeBlock.exit.thread ], [ 0, %land.lhs.true ], [ %ret.2, %for.inc ], [ %ret.3, %if.else118 ], [ %ret.3, %if.end112 ], [ %ret.1127, %if.end104 ], [ %ret.1127, %EVP_DecodeBlock.exit ], [ %ret.1127, %if.then28 ], [ %ret.1127, %for.body ] store i32 %ret.0, ptr %out_len, align 4 store i32 %n.0, ptr %ctx, align 4 store i32 %ln.0, ptr %line_num, align 4 diff --git a/bench/lief/optimized/psa_crypto_ecp.c.ll b/bench/lief/optimized/psa_crypto_ecp.c.ll index 5b78eaff27f..426aff5d37a 100644 --- a/bench/lief/optimized/psa_crypto_ecp.c.ll +++ b/bench/lief/optimized/psa_crypto_ecp.c.ll @@ -365,7 +365,6 @@ define hidden i32 @mbedtls_psa_ecdsa_sign_hash(ptr noundef readonly captures(non switch i32 %29, label %switch.early.test [ i32 100664064, label %31 i32 100668160, label %31 - i32 100663808, label %31 i32 100665600, label %31 ] @@ -376,7 +375,7 @@ switch.early.test: ; preds = %28 i32 100664320, label %31 ] -31: ; preds = %28, %28, %28, %28, %switch.early.test, %switch.early.test +31: ; preds = %28, %28, %28, %switch.early.test, %switch.early.test %32 = and i32 %3, 255 %.not43 = icmp eq i32 %32, 0 %33 = or disjoint i32 %32, 33554432 diff --git a/bench/linux/optimized/access.ll b/bench/linux/optimized/access.ll index 6c188646941..166dd8ccf8c 100644 --- a/bench/linux/optimized/access.ll +++ b/bench/linux/optimized/access.ll @@ -1240,11 +1240,11 @@ define dso_local i32 @pcie_capability_read_dword(ptr noundef readonly captures(n store i32 0, ptr %2, align 4 %5 = and i32 %1, 3 %6 = icmp eq i32 %5, 0 - br i1 %6, label %7, label %49 + br i1 %6, label %7, label %34 7: ; preds = %3 %8 = tail call fastcc zeroext i1 @pcie_capability_reg_implemented(ptr noundef %0, i32 noundef %1) - br i1 %8, label %9, label %33 + br i1 %8, label %9, label %34 9: ; preds = %7 %10 = getelementptr inbounds nuw i8, ptr %0, i64 180 @@ -1282,35 +1282,16 @@ define dso_local i32 @pcie_capability_read_dword(ptr noundef readonly captures(n %32 = select i1 %30, i32 %31, i32 -1 store i32 %32, ptr %2, align 4 call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %4) #7 - br i1 %30, label %49, label %.thread - -33: ; preds = %7 - %34 = getelementptr inbounds nuw i8, ptr %0, i64 100 - %35 = load i8, ptr %34, align 4 - %36 = icmp eq i8 %35, 0 - br i1 %36, label %49, label %37 - -37: ; preds = %33 - %38 = getelementptr inbounds nuw i8, ptr %0, i64 106 - %39 = load i16, ptr %38, align 2 - %40 = and i16 %39, 208 - %41 = icmp eq i16 %40, 64 - %42 = and i16 %39, 240 - %43 = icmp eq i16 %42, 128 - %44 = or i1 %41, %43 - %45 = icmp eq i32 %1, 26 - %46 = and i1 %45, %44 - br i1 %46, label %.thread, label %49 - -.thread: ; preds = %9, %.thread1, %37, %23 - %47 = phi i32 [ 0, %23 ], [ 64, %37 ], [ 0, %.thread1 ], [ 0, %9 ] - %48 = phi i32 [ %29, %23 ], [ 0, %37 ], [ 135, %.thread1 ], [ 134, %9 ] - store i32 %47, ptr %2, align 4 - br label %49 - -49: ; preds = %.thread, %37, %33, %23, %3 - %50 = phi i32 [ 135, %3 ], [ 0, %23 ], [ 0, %37 ], [ 0, %33 ], [ %48, %.thread ] - ret i32 %50 + br i1 %30, label %34, label %.thread + +.thread: ; preds = %9, %.thread1, %23 + %33 = phi i32 [ %29, %23 ], [ 135, %.thread1 ], [ 134, %9 ] + store i32 0, ptr %2, align 4 + br label %34 + +34: ; preds = %7, %.thread, %23, %3 + %35 = phi i32 [ 135, %3 ], [ 0, %23 ], [ %33, %.thread ], [ 0, %7 ] + ret i32 %35 } ; Function Attrs: fn_ret_thunk_extern nounwind null_pointer_is_valid @@ -1664,65 +1645,46 @@ define dso_local i32 @pcie_capability_clear_and_set_dword(ptr noundef readonly c %31 = icmp eq i32 %30, 0 %32 = load i32, ptr %5, align 4 call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %5) #7 - br i1 %31, label %47, label %pci_bus_write_config_dword.exit - -33: ; preds = %8 - %34 = getelementptr inbounds nuw i8, ptr %0, i64 100 - %35 = load i8, ptr %34, align 4 - %36 = icmp eq i8 %35, 0 - br i1 %36, label %47, label %37 - -37: ; preds = %33 - %38 = getelementptr inbounds nuw i8, ptr %0, i64 106 - %39 = load i16, ptr %38, align 2 - %40 = and i16 %39, 208 - %41 = icmp eq i16 %40, 64 - %42 = and i16 %39, 240 - %43 = icmp eq i16 %42, 128 - %44 = or i1 %41, %43 - %45 = icmp eq i32 %1, 26 - %46 = and i1 %45, %44 - %spec.select = select i1 %46, i32 64, i32 0 - br label %47 - -47: ; preds = %37, %33, %24 - %.0.ph = phi i32 [ 0, %33 ], [ %32, %24 ], [ %spec.select, %37 ] - %48 = xor i32 %2, -1 - %49 = and i32 %.0.ph, %48 - %50 = or i32 %49, %3 - %51 = tail call fastcc zeroext i1 @pcie_capability_reg_implemented(ptr noundef %0, i32 noundef %1) - br i1 %51, label %52, label %pci_bus_write_config_dword.exit - -52: ; preds = %47 - %53 = getelementptr inbounds nuw i8, ptr %0, i64 180 - %54 = load i32, ptr %53, align 4 - %55 = icmp eq i32 %54, 3 - br i1 %55, label %pci_bus_write_config_dword.exit, label %56 - -56: ; preds = %52 - %57 = getelementptr inbounds nuw i8, ptr %0, i64 100 - %58 = load i8, ptr %57, align 4 - %59 = zext i8 %58 to i32 - %60 = and i32 %59, 3 - %61 = icmp eq i32 %60, 0 - br i1 %61, label %62, label %pci_bus_write_config_dword.exit - -62: ; preds = %56 - %63 = add i32 %1, %59 - %64 = getelementptr inbounds nuw i8, ptr %0, i64 56 - %65 = load i32, ptr %64, align 8 - %66 = getelementptr inbounds nuw i8, ptr %0, i64 16 - %67 = load ptr, ptr %66, align 8 - %68 = getelementptr inbounds nuw i8, ptr %67, i64 192 - %69 = load ptr, ptr %68, align 8 - %70 = getelementptr inbounds nuw i8, ptr %69, i64 32 - %71 = load ptr, ptr %70, align 8 - %72 = tail call i32 %71(ptr noundef %67, i32 noundef %65, i32 noundef %63, i32 noundef 4, i32 noundef %50) #7 + br i1 %31, label %33, label %pci_bus_write_config_dword.exit + +33: ; preds = %8, %24 + %.0 = phi i32 [ %32, %24 ], [ 0, %8 ] + %34 = xor i32 %2, -1 + %35 = and i32 %.0, %34 + %36 = or i32 %35, %3 + %37 = tail call fastcc zeroext i1 @pcie_capability_reg_implemented(ptr noundef %0, i32 noundef %1) + br i1 %37, label %38, label %pci_bus_write_config_dword.exit + +38: ; preds = %33 + %39 = getelementptr inbounds nuw i8, ptr %0, i64 180 + %40 = load i32, ptr %39, align 4 + %41 = icmp eq i32 %40, 3 + br i1 %41, label %pci_bus_write_config_dword.exit, label %42 + +42: ; preds = %38 + %43 = getelementptr inbounds nuw i8, ptr %0, i64 100 + %44 = load i8, ptr %43, align 4 + %45 = zext i8 %44 to i32 + %46 = and i32 %45, 3 + %47 = icmp eq i32 %46, 0 + br i1 %47, label %48, label %pci_bus_write_config_dword.exit + +48: ; preds = %42 + %49 = add i32 %1, %45 + %50 = getelementptr inbounds nuw i8, ptr %0, i64 56 + %51 = load i32, ptr %50, align 8 + %52 = getelementptr inbounds nuw i8, ptr %0, i64 16 + %53 = load ptr, ptr %52, align 8 + %54 = getelementptr inbounds nuw i8, ptr %53, i64 192 + %55 = load ptr, ptr %54, align 8 + %56 = getelementptr inbounds nuw i8, ptr %55, i64 32 + %57 = load ptr, ptr %56, align 8 + %58 = tail call i32 %57(ptr noundef %53, i32 noundef %51, i32 noundef %49, i32 noundef 4, i32 noundef %36) #7 br label %pci_bus_write_config_dword.exit -pci_bus_write_config_dword.exit: ; preds = %24, %10, %62, %56, %4, %.thread3, %52, %47 - %73 = phi i32 [ 0, %47 ], [ 134, %52 ], [ 135, %4 ], [ 135, %.thread3 ], [ %72, %62 ], [ 135, %56 ], [ 134, %10 ], [ %30, %24 ] - ret i32 %73 +pci_bus_write_config_dword.exit: ; preds = %24, %10, %.thread3, %4, %48, %42, %38, %33 + %59 = phi i32 [ 0, %33 ], [ 134, %38 ], [ %58, %48 ], [ 135, %42 ], [ 135, %.thread3 ], [ 135, %4 ], [ 134, %10 ], [ %30, %24 ] + ret i32 %59 } ; Function Attrs: fn_ret_thunk_extern nounwind null_pointer_is_valid diff --git a/bench/linux/optimized/insn-eval.ll b/bench/linux/optimized/insn-eval.ll index 5c2d90b6e91..db4852095f6 100644 --- a/bench/linux/optimized/insn-eval.ll +++ b/bench/linux/optimized/insn-eval.ll @@ -625,20 +625,20 @@ define dso_local ptr @insn_get_addr_ref(ptr noundef %0, ptr noundef %1) local_un %14 = icmp ne ptr %0, null %15 = icmp ne ptr %1, null %16 = and i1 %14, %15 - br i1 %16, label %17, label %166 + br i1 %16, label %17, label %232 17: ; preds = %2 %18 = tail call i32 @insn_get_opcode(ptr noundef nonnull %0) #7 %19 = icmp eq i32 %18, 0 - br i1 %19, label %20, label %166 + br i1 %19, label %20, label %232 20: ; preds = %17 %21 = getelementptr inbounds nuw i8, ptr %0, i64 81 %22 = load i8, ptr %21, align 1 - switch i8 %22, label %166 [ + switch i8 %22, label %232 [ i8 2, label %23 i8 4, label %101 - i8 8, label %137 + i8 8, label %170 ] 23: ; preds = %20 @@ -763,7 +763,7 @@ define dso_local ptr @insn_get_addr_ref(ptr noundef %0, ptr noundef %1) local_un call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %12) #7 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %11) #7 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %10) #7 - br label %166 + br label %232 101: ; preds = %20 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %6) #7 @@ -778,120 +778,246 @@ define dso_local ptr @insn_get_addr_ref(ptr noundef %0, ptr noundef %1) local_un %103 = load i32, ptr %102, align 8 %104 = and i32 %103, 192 %105 = icmp eq i32 %104, 192 - br i1 %105, label %106, label %109 + br i1 %105, label %106, label %143 106: ; preds = %101 - %107 = call fastcc i32 @get_eff_addr_reg(ptr noundef %0, ptr noundef nonnull %1, ptr noundef nonnull %8, ptr noundef nonnull %9) + %107 = tail call i32 @insn_get_modrm(ptr noundef nonnull %0) #7 %108 = icmp eq i32 %107, 0 - br i1 %108, label %119, label %134 + br i1 %108, label %109, label %get_eff_addr_reg.exit.thread -109: ; preds = %101 - %110 = getelementptr inbounds nuw i8, ptr %0, i64 45 - %111 = load i8, ptr %110, align 1 - %112 = icmp eq i8 %111, 0 - br i1 %112, label %116, label %113 +109: ; preds = %106 + %110 = load i32, ptr %102, align 8 + %111 = and i32 %110, 192 + %112 = icmp eq i32 %111, 192 + br i1 %112, label %113, label %get_eff_addr_reg.exit.thread 113: ; preds = %109 - %114 = call fastcc i32 @get_eff_addr_sib(ptr noundef %0, ptr noundef nonnull %1, ptr noundef nonnull %8, ptr noundef nonnull %9) - %115 = icmp eq i32 %114, 0 - br i1 %115, label %119, label %134 - -116: ; preds = %109 - %117 = call fastcc i32 @get_eff_addr_modrm(ptr noundef %0, ptr noundef nonnull %1, ptr noundef nonnull %8, ptr noundef nonnull %9) - %118 = icmp eq i32 %117, 0 - br i1 %118, label %119, label %134 - -119: ; preds = %116, %113, %106 - %120 = load i64, ptr %9, align 8 - %121 = load i32, ptr %8, align 4 - %122 = call fastcc i32 @get_seg_base_limit(ptr noundef %0, ptr noundef nonnull %1, i32 noundef %121, ptr noundef nonnull %6, ptr noundef nonnull %7), !range !25 - %123 = icmp eq i32 %122, 0 - br i1 %123, label %124, label %134 - -124: ; preds = %119 - %125 = getelementptr inbounds nuw i8, ptr %1, i64 136 - %126 = load i64, ptr %125, align 8 - %127 = and i64 %126, 3 - %128 = icmp ne i64 %127, 0 - %129 = icmp ne i64 %126, 51 - %.not8 = and i1 %129, %128 - %.pre4 = and i64 %120, 4294967295 - %130 = load i64, ptr %7, align 8 - %131 = icmp ugt i64 %.pre4, %130 - %or.cond = select i1 %.not8, i1 %131, i1 false - br i1 %or.cond, label %134, label %._crit_edge - -._crit_edge: ; preds = %124 - %132 = load i64, ptr %6, align 8 - %133 = add i64 %132, %.pre4 - br label %134 - -134: ; preds = %124, %._crit_edge, %119, %116, %113, %106 - %135 = phi i64 [ -1, %106 ], [ -1, %119 ], [ %133, %._crit_edge ], [ -1, %113 ], [ -1, %116 ], [ -1, %124 ] + %114 = getelementptr inbounds nuw i8, ptr %0, i64 83 + %115 = load i8, ptr %114, align 1 + %116 = icmp eq i8 %115, 0 + %117 = select i1 %116, i32 8, i32 16 + %118 = and i32 %110, 7 + %119 = getelementptr inbounds nuw i8, ptr %0, i64 8 + %120 = load i32, ptr %119, align 8 + %121 = shl i32 %120, 3 + %122 = and i32 %121, 8 + %123 = or disjoint i32 %122, %118 + %124 = icmp samesign ult i32 %123, %117 + br i1 %124, label %128, label %125 + +125: ; preds = %113 + %126 = load i1, ptr @get_regno.__already_done, align 1 + br i1 %126, label %get_eff_addr_reg.exit.thread, label %127, !prof !17 + +127: ; preds = %125 + store i1 true, ptr @get_regno.__already_done, align 1 + tail call void asm sideeffect "370: nop\0A\09.pushsection .discard.instr_begin\0A\09.long 370b - .\0A\09.popsection\0A\09", "i,~{dirflag},~{fpsr},~{flags}"(i32 370) #7, !srcloc !18 + tail call void (ptr, ...) @__warn_printk(ptr noundef nonnull @.str.1) #7 + tail call void asm sideeffect "371: nop\0A\09.pushsection .discard.instr_begin\0A\09.long 371b - .\0A\09.popsection\0A\09", "i,~{dirflag},~{fpsr},~{flags}"(i32 371) #7, !srcloc !19 + tail call void asm sideeffect "1:\09.byte 0x0f, 0x0b\0A.pushsection __bug_table,\22aw\22\0A2:\09.long 1b - .\09# bug_entry::bug_addr\0A\09.long ${0:c} - .\09# bug_entry::file\0A\09.word ${1:c}\09# bug_entry::line\0A\09.word ${2:c}\09# bug_entry::flags\0A\09.org 2b+${3:c}\0A.popsection\0A998:\0A\09.pushsection .discard.reachable\0A\09.long 998b\0A\09.popsection\0A\09", "i,i,i,i,~{dirflag},~{fpsr},~{flags}"(ptr nonnull @.str.2, i32 516, i32 2313, i64 12) #7, !srcloc !20 + tail call void asm sideeffect "372: nop\0A\09.pushsection .discard.instr_end\0A\09.long 372b - .\0A\09.popsection\0A\09", "i,~{dirflag},~{fpsr},~{flags}"(i32 372) #7, !srcloc !21 + tail call void asm sideeffect "373: nop\0A\09.pushsection .discard.instr_end\0A\09.long 373b - .\0A\09.popsection\0A\09", "i,~{dirflag},~{fpsr},~{flags}"(i32 373) #7, !srcloc !22 + br label %get_eff_addr_reg.exit.thread + +128: ; preds = %113 + %129 = zext nneg i32 %123 to i64 + %130 = getelementptr [16 x i32], ptr @pt_regoff, i64 0, i64 %129 + %131 = load i32, ptr %130, align 4 + store i32 %131, ptr %8, align 4 + %132 = load i8, ptr %21, align 1 + %133 = zext nneg i32 %131 to i64 + %134 = ptrtoint ptr %1 to i64 + %135 = add i64 %133, %134 %136 = inttoptr i64 %135 to ptr + %137 = load i64, ptr %136, align 8 + switch i8 %132, label %get_eff_addr_reg.exit [ + i8 2, label %138 + i8 4, label %140 + ] + +138: ; preds = %128 + %139 = and i64 %137, 65535 + br label %get_eff_addr_reg.exit + +140: ; preds = %128 + %141 = and i64 %137, 4294967295 + br label %get_eff_addr_reg.exit + +get_eff_addr_reg.exit: ; preds = %128, %138, %140 + %142 = phi i64 [ %139, %138 ], [ %141, %140 ], [ %137, %128 ] + store i64 %142, ptr %9, align 8 + br label %153 + +143: ; preds = %101 + %144 = getelementptr inbounds nuw i8, ptr %0, i64 45 + %145 = load i8, ptr %144, align 1 + %146 = icmp eq i8 %145, 0 + br i1 %146, label %150, label %147 + +147: ; preds = %143 + %148 = call fastcc i32 @get_eff_addr_sib(ptr noundef %0, ptr noundef nonnull %1, ptr noundef nonnull %8, ptr noundef nonnull %9) + %149 = icmp eq i32 %148, 0 + br i1 %149, label %153, label %get_eff_addr_reg.exit.thread + +150: ; preds = %143 + %151 = call fastcc i32 @get_eff_addr_modrm(ptr noundef %0, ptr noundef nonnull %1, ptr noundef nonnull %8, ptr noundef nonnull %9) + %152 = icmp eq i32 %151, 0 + br i1 %152, label %153, label %get_eff_addr_reg.exit.thread + +153: ; preds = %get_eff_addr_reg.exit, %150, %147 + %154 = load i64, ptr %9, align 8 + %155 = load i32, ptr %8, align 4 + %156 = call fastcc i32 @get_seg_base_limit(ptr noundef %0, ptr noundef nonnull %1, i32 noundef %155, ptr noundef nonnull %6, ptr noundef nonnull %7), !range !25 + %157 = icmp eq i32 %156, 0 + br i1 %157, label %158, label %get_eff_addr_reg.exit.thread + +158: ; preds = %153 + %159 = getelementptr inbounds nuw i8, ptr %1, i64 136 + %160 = load i64, ptr %159, align 8 + %161 = and i64 %160, 3 + %162 = icmp ne i64 %161, 0 + %163 = icmp ne i64 %160, 51 + %.not10 = and i1 %163, %162 + %.pre6 = and i64 %154, 4294967295 + %164 = load i64, ptr %7, align 8 + %165 = icmp ugt i64 %.pre6, %164 + %or.cond = select i1 %.not10, i1 %165, i1 false + br i1 %or.cond, label %get_eff_addr_reg.exit.thread, label %._crit_edge + +._crit_edge: ; preds = %158 + %166 = load i64, ptr %6, align 8 + %167 = add i64 %166, %.pre6 + br label %get_eff_addr_reg.exit.thread + +get_eff_addr_reg.exit.thread: ; preds = %158, %125, %127, %109, %106, %._crit_edge, %153, %150, %147 + %168 = phi i64 [ -1, %153 ], [ %167, %._crit_edge ], [ -1, %147 ], [ -1, %150 ], [ -1, %106 ], [ -1, %109 ], [ -1, %127 ], [ -1, %125 ], [ -1, %158 ] + %169 = inttoptr i64 %168 to ptr call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %9) #7 call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %8) #7 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %7) #7 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %6) #7 - br label %166 + br label %232 -137: ; preds = %20 +170: ; preds = %20 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3) #7 store i64 0, ptr %3, align 8, !annotation !23 call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %4) #7 store i32 0, ptr %4, align 4, !annotation !23 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %5) #7 store i64 0, ptr %5, align 8, !annotation !23 - %138 = getelementptr inbounds nuw i8, ptr %0, i64 32 - %139 = load i32, ptr %138, align 8 - %140 = and i32 %139, 192 - %141 = icmp eq i32 %140, 192 - br i1 %141, label %142, label %145 - -142: ; preds = %137 - %143 = call fastcc i32 @get_eff_addr_reg(ptr noundef %0, ptr noundef nonnull %1, ptr noundef nonnull %4, ptr noundef nonnull %5) - %144 = icmp eq i32 %143, 0 - br i1 %144, label %155, label %163 - -145: ; preds = %137 - %146 = getelementptr inbounds nuw i8, ptr %0, i64 45 - %147 = load i8, ptr %146, align 1 - %148 = icmp eq i8 %147, 0 - br i1 %148, label %152, label %149 - -149: ; preds = %145 - %150 = call fastcc i32 @get_eff_addr_sib(ptr noundef %0, ptr noundef nonnull %1, ptr noundef nonnull %4, ptr noundef nonnull %5) - %151 = icmp eq i32 %150, 0 - br i1 %151, label %155, label %163 - -152: ; preds = %145 - %153 = call fastcc i32 @get_eff_addr_modrm(ptr noundef %0, ptr noundef nonnull %1, ptr noundef nonnull %4, ptr noundef nonnull %5) - %154 = icmp eq i32 %153, 0 - br i1 %154, label %155, label %163 - -155: ; preds = %152, %149, %142 - %156 = load i32, ptr %4, align 4 - %157 = call fastcc i32 @get_seg_base_limit(ptr noundef %0, ptr noundef nonnull %1, i32 noundef %156, ptr noundef nonnull %3, ptr noundef null), !range !25 - %158 = icmp eq i32 %157, 0 - br i1 %158, label %159, label %163 - -159: ; preds = %155 - %160 = load i64, ptr %5, align 8 - %161 = load i64, ptr %3, align 8 - %162 = add i64 %161, %160 - br label %163 - -163: ; preds = %159, %155, %152, %149, %142 - %164 = phi i64 [ -1, %142 ], [ -1, %155 ], [ %162, %159 ], [ -1, %149 ], [ -1, %152 ] - %165 = inttoptr i64 %164 to ptr + %171 = getelementptr inbounds nuw i8, ptr %0, i64 32 + %172 = load i32, ptr %171, align 8 + %173 = and i32 %172, 192 + %174 = icmp eq i32 %173, 192 + br i1 %174, label %175, label %212 + +175: ; preds = %170 + %176 = tail call i32 @insn_get_modrm(ptr noundef nonnull %0) #7 + %177 = icmp eq i32 %176, 0 + br i1 %177, label %178, label %get_eff_addr_reg.exit5.thread + +178: ; preds = %175 + %179 = load i32, ptr %171, align 8 + %180 = and i32 %179, 192 + %181 = icmp eq i32 %180, 192 + br i1 %181, label %182, label %get_eff_addr_reg.exit5.thread + +182: ; preds = %178 + %183 = getelementptr inbounds nuw i8, ptr %0, i64 83 + %184 = load i8, ptr %183, align 1 + %185 = icmp eq i8 %184, 0 + %186 = select i1 %185, i32 8, i32 16 + %187 = and i32 %179, 7 + %188 = getelementptr inbounds nuw i8, ptr %0, i64 8 + %189 = load i32, ptr %188, align 8 + %190 = shl i32 %189, 3 + %191 = and i32 %190, 8 + %192 = or disjoint i32 %191, %187 + %193 = icmp samesign ult i32 %192, %186 + br i1 %193, label %197, label %194 + +194: ; preds = %182 + %195 = load i1, ptr @get_regno.__already_done, align 1 + br i1 %195, label %get_eff_addr_reg.exit5.thread, label %196, !prof !17 + +196: ; preds = %194 + store i1 true, ptr @get_regno.__already_done, align 1 + tail call void asm sideeffect "370: nop\0A\09.pushsection .discard.instr_begin\0A\09.long 370b - .\0A\09.popsection\0A\09", "i,~{dirflag},~{fpsr},~{flags}"(i32 370) #7, !srcloc !18 + tail call void (ptr, ...) @__warn_printk(ptr noundef nonnull @.str.1) #7 + tail call void asm sideeffect "371: nop\0A\09.pushsection .discard.instr_begin\0A\09.long 371b - .\0A\09.popsection\0A\09", "i,~{dirflag},~{fpsr},~{flags}"(i32 371) #7, !srcloc !19 + tail call void asm sideeffect "1:\09.byte 0x0f, 0x0b\0A.pushsection __bug_table,\22aw\22\0A2:\09.long 1b - .\09# bug_entry::bug_addr\0A\09.long ${0:c} - .\09# bug_entry::file\0A\09.word ${1:c}\09# bug_entry::line\0A\09.word ${2:c}\09# bug_entry::flags\0A\09.org 2b+${3:c}\0A.popsection\0A998:\0A\09.pushsection .discard.reachable\0A\09.long 998b\0A\09.popsection\0A\09", "i,i,i,i,~{dirflag},~{fpsr},~{flags}"(ptr nonnull @.str.2, i32 516, i32 2313, i64 12) #7, !srcloc !20 + tail call void asm sideeffect "372: nop\0A\09.pushsection .discard.instr_end\0A\09.long 372b - .\0A\09.popsection\0A\09", "i,~{dirflag},~{fpsr},~{flags}"(i32 372) #7, !srcloc !21 + tail call void asm sideeffect "373: nop\0A\09.pushsection .discard.instr_end\0A\09.long 373b - .\0A\09.popsection\0A\09", "i,~{dirflag},~{fpsr},~{flags}"(i32 373) #7, !srcloc !22 + br label %get_eff_addr_reg.exit5.thread + +197: ; preds = %182 + %198 = zext nneg i32 %192 to i64 + %199 = getelementptr [16 x i32], ptr @pt_regoff, i64 0, i64 %198 + %200 = load i32, ptr %199, align 4 + store i32 %200, ptr %4, align 4 + %201 = load i8, ptr %21, align 1 + %202 = zext nneg i32 %200 to i64 + %203 = ptrtoint ptr %1 to i64 + %204 = add i64 %202, %203 + %205 = inttoptr i64 %204 to ptr + %206 = load i64, ptr %205, align 8 + switch i8 %201, label %get_eff_addr_reg.exit5 [ + i8 2, label %207 + i8 4, label %209 + ] + +207: ; preds = %197 + %208 = and i64 %206, 65535 + br label %get_eff_addr_reg.exit5 + +209: ; preds = %197 + %210 = and i64 %206, 4294967295 + br label %get_eff_addr_reg.exit5 + +get_eff_addr_reg.exit5: ; preds = %197, %207, %209 + %211 = phi i64 [ %208, %207 ], [ %210, %209 ], [ %206, %197 ] + store i64 %211, ptr %5, align 8 + br label %222 + +212: ; preds = %170 + %213 = getelementptr inbounds nuw i8, ptr %0, i64 45 + %214 = load i8, ptr %213, align 1 + %215 = icmp eq i8 %214, 0 + br i1 %215, label %219, label %216 + +216: ; preds = %212 + %217 = call fastcc i32 @get_eff_addr_sib(ptr noundef %0, ptr noundef nonnull %1, ptr noundef nonnull %4, ptr noundef nonnull %5) + %218 = icmp eq i32 %217, 0 + br i1 %218, label %222, label %get_eff_addr_reg.exit5.thread + +219: ; preds = %212 + %220 = call fastcc i32 @get_eff_addr_modrm(ptr noundef %0, ptr noundef nonnull %1, ptr noundef nonnull %4, ptr noundef nonnull %5) + %221 = icmp eq i32 %220, 0 + br i1 %221, label %222, label %get_eff_addr_reg.exit5.thread + +222: ; preds = %get_eff_addr_reg.exit5, %219, %216 + %223 = load i32, ptr %4, align 4 + %224 = call fastcc i32 @get_seg_base_limit(ptr noundef %0, ptr noundef nonnull %1, i32 noundef %223, ptr noundef nonnull %3, ptr noundef null), !range !25 + %225 = icmp eq i32 %224, 0 + br i1 %225, label %226, label %get_eff_addr_reg.exit5.thread + +226: ; preds = %222 + %227 = load i64, ptr %5, align 8 + %228 = load i64, ptr %3, align 8 + %229 = add i64 %228, %227 + br label %get_eff_addr_reg.exit5.thread + +get_eff_addr_reg.exit5.thread: ; preds = %194, %196, %178, %175, %226, %222, %219, %216 + %230 = phi i64 [ -1, %222 ], [ %229, %226 ], [ -1, %216 ], [ -1, %219 ], [ -1, %175 ], [ -1, %178 ], [ -1, %196 ], [ -1, %194 ] + %231 = inttoptr i64 %230 to ptr call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %5) #7 call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %4) #7 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3) #7 - br label %166 + br label %232 -166: ; preds = %163, %134, %.thread, %20, %17, %2 - %167 = phi ptr [ %165, %163 ], [ %136, %134 ], [ %100, %.thread ], [ inttoptr (i64 -1 to ptr), %2 ], [ inttoptr (i64 -1 to ptr), %17 ], [ inttoptr (i64 -1 to ptr), %20 ] - ret ptr %167 +232: ; preds = %get_eff_addr_reg.exit5.thread, %get_eff_addr_reg.exit.thread, %.thread, %20, %17, %2 + %233 = phi ptr [ %231, %get_eff_addr_reg.exit5.thread ], [ %169, %get_eff_addr_reg.exit.thread ], [ %100, %.thread ], [ inttoptr (i64 -1 to ptr), %2 ], [ inttoptr (i64 -1 to ptr), %17 ], [ inttoptr (i64 -1 to ptr), %20 ] + ret ptr %233 } ; Function Attrs: null_pointer_is_valid @@ -1136,39 +1262,34 @@ declare dso_local i32 @insn_get_displacement(ptr noundef) local_unnamed_addr #2 define internal fastcc i32 @get_eff_addr_reg(ptr noundef nonnull %0, ptr noundef nonnull %1, ptr noundef writeonly captures(none) %2, ptr noundef writeonly captures(none) %3) unnamed_addr #0 align 16 { %5 = tail call i32 @insn_get_modrm(ptr noundef nonnull %0) #7 %6 = icmp eq i32 %5, 0 - br i1 %6, label %7, label %47 + br i1 %6, label %7, label %44 7: ; preds = %4 %8 = getelementptr inbounds nuw i8, ptr %0, i64 32 %9 = load i32, ptr %8, align 8 %10 = and i32 %9, 192 %11 = icmp eq i32 %10, 192 - br i1 %11, label %12, label %47 + br i1 %11, label %12, label %44 12: ; preds = %7 - %13 = and i32 %9, 199 - %14 = icmp eq i32 %13, 5 - br i1 %14, label %.thread4, label %15 - -15: ; preds = %12 - %16 = getelementptr inbounds nuw i8, ptr %0, i64 83 - %17 = load i8, ptr %16, align 1 - %18 = icmp eq i8 %17, 0 - %19 = select i1 %18, i32 8, i32 16 - %20 = and i32 %9, 7 - %21 = getelementptr inbounds nuw i8, ptr %0, i64 8 - %22 = load i32, ptr %21, align 8 - %23 = shl i32 %22, 3 - %24 = and i32 %23, 8 - %25 = or disjoint i32 %24, %20 - %26 = icmp samesign ult i32 %25, %19 - br i1 %26, label %30, label %27 - -27: ; preds = %15 - %28 = load i1, ptr @get_regno.__already_done, align 1 - br i1 %28, label %.thread4, label %29, !prof !17 - -29: ; preds = %27 + %13 = getelementptr inbounds nuw i8, ptr %0, i64 83 + %14 = load i8, ptr %13, align 1 + %15 = icmp eq i8 %14, 0 + %16 = select i1 %15, i32 8, i32 16 + %17 = and i32 %9, 7 + %18 = getelementptr inbounds nuw i8, ptr %0, i64 8 + %19 = load i32, ptr %18, align 8 + %20 = shl i32 %19, 3 + %21 = and i32 %20, 8 + %22 = or disjoint i32 %21, %17 + %23 = icmp samesign ult i32 %22, %16 + br i1 %23, label %27, label %24 + +24: ; preds = %12 + %25 = load i1, ptr @get_regno.__already_done, align 1 + br i1 %25, label %.thread4, label %26, !prof !17 + +26: ; preds = %24 store i1 true, ptr @get_regno.__already_done, align 1 tail call void asm sideeffect "370: nop\0A\09.pushsection .discard.instr_begin\0A\09.long 370b - .\0A\09.popsection\0A\09", "i,~{dirflag},~{fpsr},~{flags}"(i32 370) #7, !srcloc !18 tail call void (ptr, ...) @__warn_printk(ptr noundef nonnull @.str.1) #7 @@ -1178,44 +1299,43 @@ define internal fastcc i32 @get_eff_addr_reg(ptr noundef nonnull %0, ptr noundef tail call void asm sideeffect "373: nop\0A\09.pushsection .discard.instr_end\0A\09.long 373b - .\0A\09.popsection\0A\09", "i,~{dirflag},~{fpsr},~{flags}"(i32 373) #7, !srcloc !22 br label %.thread4 -.thread4: ; preds = %29, %27, %12 - %.ph = phi i32 [ -22, %29 ], [ -22, %27 ], [ -33, %12 ] - store i32 %.ph, ptr %2, align 4 - br label %47 - -30: ; preds = %15 - %31 = zext nneg i32 %25 to i64 - %32 = getelementptr [16 x i32], ptr @pt_regoff, i64 0, i64 %31 - %33 = load i32, ptr %32, align 4 - store i32 %33, ptr %2, align 4 - %34 = getelementptr inbounds nuw i8, ptr %0, i64 81 - %35 = load i8, ptr %34, align 1 - %36 = zext nneg i32 %33 to i64 - %37 = ptrtoint ptr %1 to i64 - %38 = add i64 %36, %37 - %39 = inttoptr i64 %38 to ptr - %40 = load i64, ptr %39, align 8 - switch i8 %35, label %45 [ - i8 2, label %41 - i8 4, label %43 +.thread4: ; preds = %26, %24 + store i32 -22, ptr %2, align 4 + br label %44 + +27: ; preds = %12 + %28 = zext nneg i32 %22 to i64 + %29 = getelementptr [16 x i32], ptr @pt_regoff, i64 0, i64 %28 + %30 = load i32, ptr %29, align 4 + store i32 %30, ptr %2, align 4 + %31 = getelementptr inbounds nuw i8, ptr %0, i64 81 + %32 = load i8, ptr %31, align 1 + %33 = zext nneg i32 %30 to i64 + %34 = ptrtoint ptr %1 to i64 + %35 = add i64 %33, %34 + %36 = inttoptr i64 %35 to ptr + %37 = load i64, ptr %36, align 8 + switch i8 %32, label %42 [ + i8 2, label %38 + i8 4, label %40 ] -41: ; preds = %30 - %42 = and i64 %40, 65535 - br label %45 +38: ; preds = %27 + %39 = and i64 %37, 65535 + br label %42 -43: ; preds = %30 - %44 = and i64 %40, 4294967295 - br label %45 +40: ; preds = %27 + %41 = and i64 %37, 4294967295 + br label %42 -45: ; preds = %30, %43, %41 - %46 = phi i64 [ %42, %41 ], [ %44, %43 ], [ %40, %30 ] - store i64 %46, ptr %3, align 8 - br label %47 +42: ; preds = %27, %40, %38 + %43 = phi i64 [ %39, %38 ], [ %41, %40 ], [ %37, %27 ] + store i64 %43, ptr %3, align 8 + br label %44 -47: ; preds = %.thread4, %45, %7, %4 - %48 = phi i32 [ %5, %4 ], [ -22, %7 ], [ 0, %45 ], [ -22, %.thread4 ] - ret i32 %48 +44: ; preds = %.thread4, %42, %7, %4 + %45 = phi i32 [ %5, %4 ], [ -22, %7 ], [ 0, %42 ], [ -22, %.thread4 ] + ret i32 %45 } ; Function Attrs: fn_ret_thunk_extern nounwind null_pointer_is_valid diff --git a/bench/linux/optimized/seq_ports.ll b/bench/linux/optimized/seq_ports.ll index b7ed519ad76..4614c228b1b 100644 --- a/bench/linux/optimized/seq_ports.ll +++ b/bench/linux/optimized/seq_ports.ll @@ -198,7 +198,7 @@ define dso_local ptr @snd_seq_port_query_nearest(ptr noundef %0, ptr noundef rea define dso_local range(i32 -22, -2147483648) i32 @snd_seq_create_port(ptr noundef %0, i32 noundef %1, ptr noundef writeonly captures(none) initializes((0, 8)) %2) local_unnamed_addr #0 align 16 { store ptr null, ptr %2, align 8 %4 = icmp eq ptr %0, null - br i1 %4, label %87, label %5 + br i1 %4, label %85, label %5 5: ; preds = %3 %6 = getelementptr inbounds nuw i8, ptr %0, i64 132 @@ -210,13 +210,13 @@ define dso_local range(i32 -22, -2147483648) i32 @snd_seq_create_port(ptr nounde %10 = getelementptr inbounds nuw i8, ptr %0, i64 80 %11 = load i32, ptr %10, align 8 %12 = tail call i32 (ptr, ...) @_printk(ptr noundef nonnull @.str, i32 noundef %11) #11 - br label %87 + br label %85 13: ; preds = %5 %14 = load ptr, ptr getelementptr inbounds nuw (i8, ptr @kmalloc_caches, i64 72), align 8 %15 = tail call noalias align 8 dereferenceable_or_null(336) ptr @kmalloc_trace(ptr noundef %14, i32 noundef 3520, i64 noundef 336) #12 %16 = icmp eq ptr %15, null - br i1 %16, label %87, label %17 + br i1 %16, label %85, label %17 17: ; preds = %13 %18 = getelementptr inbounds nuw i8, ptr %0, i64 80 @@ -278,78 +278,74 @@ define dso_local range(i32 -22, -2147483648) i32 @snd_seq_create_port(ptr nounde 50: ; preds = %17 %51 = icmp slt i32 %1, 0 - br i1 %51, label %.split.us, label %.split + br i1 %51, label %.split.us.preheader, label %.split -.split.us: ; preds = %50, %60 - %52 = phi ptr [ %62, %60 ], [ %48, %50 ] - %53 = phi i32 [ %61, %60 ], [ %44, %50 ] +.split.us.preheader: ; preds = %50, %58 + %52 = phi ptr [ %60, %58 ], [ %48, %50 ] + %53 = phi i32 [ %59, %58 ], [ %44, %50 ] %54 = getelementptr i8, ptr %52, i64 -79 %55 = load i8, ptr %54, align 1 %56 = zext i8 %55 to i32 - %57 = icmp eq i32 %1, %56 - br i1 %57, label %.split11.us, label %58 - -58: ; preds = %.split.us - %59 = icmp ult i32 %53, %56 - br i1 %59, label %.loopexit, label %60 - -60: ; preds = %58 - %61 = add nuw nsw i32 %56, 1 - %62 = load ptr, ptr %52, align 8 - %63 = icmp eq ptr %62, %47 - br i1 %63, label %.loopexit, label %.split.us, !llvm.loop !10 - -.split: ; preds = %50, %71 - %64 = phi ptr [ %72, %71 ], [ %48, %50 ] - %65 = getelementptr i8, ptr %64, i64 -79 - %66 = load i8, ptr %65, align 1 - %67 = zext i8 %66 to i32 - %68 = icmp eq i32 %1, %67 - br i1 %68, label %.split11.us, label %69 - -.split11.us: ; preds = %.split, %.split.us + %57 = icmp ult i32 %53, %56 + br i1 %57, label %.loopexit, label %58 + +58: ; preds = %.split.us.preheader + %59 = add nuw nsw i32 %56, 1 + %60 = load ptr, ptr %52, align 8 + %61 = icmp eq ptr %60, %47 + br i1 %61, label %.loopexit, label %.split.us.preheader, !llvm.loop !10 + +.split: ; preds = %50, %69 + %62 = phi ptr [ %70, %69 ], [ %48, %50 ] + %63 = getelementptr i8, ptr %62, i64 -79 + %64 = load i8, ptr %63, align 1 + %65 = zext i8 %64 to i32 + %66 = icmp eq i32 %1, %65 + br i1 %66, label %.split11.us, label %67 + +.split11.us: ; preds = %.split tail call void @kfree(ptr noundef nonnull %15) #10 - br label %85 - -69: ; preds = %.split - %70 = icmp samesign ult i32 %44, %67 - br i1 %70, label %.loopexit, label %71 - -71: ; preds = %69 - %72 = load ptr, ptr %64, align 8 - %73 = icmp eq ptr %72, %47 - br i1 %73, label %.loopexit, label %.split, !llvm.loop !10 - -.loopexit: ; preds = %69, %71, %60, %58, %17 - %74 = phi i32 [ %44, %17 ], [ %53, %58 ], [ %61, %60 ], [ %44, %71 ], [ %44, %69 ] - %75 = phi ptr [ %48, %17 ], [ %52, %58 ], [ %62, %60 ], [ %64, %69 ], [ %72, %71 ] - %76 = getelementptr inbounds nuw i8, ptr %15, i64 80 - %77 = getelementptr inbounds nuw i8, ptr %75, i64 8 - %78 = load ptr, ptr %77, align 8 + br label %83 + +67: ; preds = %.split + %68 = icmp samesign ult i32 %44, %65 + br i1 %68, label %.loopexit, label %69 + +69: ; preds = %67 + %70 = load ptr, ptr %62, align 8 + %71 = icmp eq ptr %70, %47 + br i1 %71, label %.loopexit, label %.split, !llvm.loop !10 + +.loopexit: ; preds = %67, %69, %58, %.split.us.preheader, %17 + %72 = phi i32 [ %44, %17 ], [ %53, %.split.us.preheader ], [ %59, %58 ], [ %44, %69 ], [ %44, %67 ] + %73 = phi ptr [ %48, %17 ], [ %52, %.split.us.preheader ], [ %60, %58 ], [ %62, %67 ], [ %70, %69 ] + %74 = getelementptr inbounds nuw i8, ptr %15, i64 80 + %75 = getelementptr inbounds nuw i8, ptr %73, i64 8 + %76 = load ptr, ptr %75, align 8 + store ptr %74, ptr %75, align 8 + store ptr %73, ptr %74, align 8 + %77 = getelementptr inbounds nuw i8, ptr %15, i64 88 store ptr %76, ptr %77, align 8 - store ptr %75, ptr %76, align 8 - %79 = getelementptr inbounds nuw i8, ptr %15, i64 88 - store ptr %78, ptr %79, align 8 - store volatile ptr %76, ptr %78, align 8 - %80 = load i32, ptr %6, align 4 - %81 = add i32 %80, 1 - store i32 %81, ptr %6, align 4 - %82 = trunc i32 %74 to i8 - store i8 %82, ptr %21, align 1 - %83 = getelementptr inbounds nuw i8, ptr %15, i64 16 - %84 = tail call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %83, ptr noundef nonnull dereferenceable(1) @.str.1, i32 noundef %74) #10 + store volatile ptr %74, ptr %76, align 8 + %78 = load i32, ptr %6, align 4 + %79 = add i32 %78, 1 + store i32 %79, ptr %6, align 4 + %80 = trunc i32 %72 to i8 + store i8 %80, ptr %21, align 1 + %81 = getelementptr inbounds nuw i8, ptr %15, i64 16 + %82 = tail call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %81, ptr noundef nonnull dereferenceable(1) @.str.1, i32 noundef %72) #10 store ptr %15, ptr %2, align 8 - br label %85 + br label %83 -85: ; preds = %.loopexit, %.split11.us - %86 = phi i32 [ -16, %.split11.us ], [ %74, %.loopexit ] +83: ; preds = %.loopexit, %.split11.us + %84 = phi i32 [ -16, %.split11.us ], [ %72, %.loopexit ] tail call void @_raw_write_unlock_irq(ptr noundef nonnull %46) #10 tail call void @mutex_unlock(ptr noundef nonnull %45) #10 - br label %87 + br label %85 -87: ; preds = %85, %13, %9, %3 - %88 = phi i32 [ -22, %9 ], [ %86, %85 ], [ -22, %3 ], [ -12, %13 ] - ret i32 %88 +85: ; preds = %83, %13, %9, %3 + %86 = phi i32 [ -22, %9 ], [ %84, %83 ], [ -22, %3 ], [ -12, %13 ] + ret i32 %86 } ; Function Attrs: cold null_pointer_is_valid diff --git a/bench/llvm/optimized/AArch64FrameLowering.cpp.ll b/bench/llvm/optimized/AArch64FrameLowering.cpp.ll index 17b66963d7a..8b426aaefc1 100644 --- a/bench/llvm/optimized/AArch64FrameLowering.cpp.ll +++ b/bench/llvm/optimized/AArch64FrameLowering.cpp.ll @@ -18569,7 +18569,7 @@ define dso_local void @_ZNK4llvm20AArch64FrameLowering24determineStackHazardSlot %8 = and i32 %6, 15 %.not = icmp eq i32 %8, 0 %or.cond = and i1 %7, %.not - br i1 %or.cond, label %9, label %245 + br i1 %or.cond, label %9, label %244 9: ; preds = %3 %10 = getelementptr inbounds nuw i8, ptr %1, i64 40 @@ -18577,7 +18577,7 @@ define dso_local void @_ZNK4llvm20AArch64FrameLowering24determineStackHazardSlot %12 = getelementptr inbounds nuw i8, ptr %11, i64 80 %13 = load i32, ptr %12, align 8 %.not50 = icmp eq i32 %13, 2147483647 - br i1 %.not50, label %14, label %245 + br i1 %.not50, label %14, label %244 14: ; preds = %9 %15 = load ptr, ptr %1, align 8 @@ -18595,7 +18595,7 @@ define dso_local void @_ZNK4llvm20AArch64FrameLowering24determineStackHazardSlot %20 = load i32, ptr %5, align 4 %21 = and i32 %20, 7 %22 = icmp eq i32 %21, 0 - br i1 %22, label %245, label %23 + br i1 %22, label %244, label %23 23: ; preds = %19, %14 %24 = getelementptr inbounds nuw i8, ptr %1, i64 48 @@ -18698,7 +18698,7 @@ _ZNK4llvm19TargetRegisterClass8containsENS_8RegisterE.exit6.i.i.i.i.i.i.i.i: ; p %85 = shl nuw nsw i32 1, %79 %86 = and i32 %85, %84 %.not13.i.i.i.i.i.i.i.i = icmp eq i32 %86, 0 - br i1 %.not13.i.i.i.i.i.i.i.i, label %.thread9.i.i.i.i.i.i.i.i, label %"_ZN4llvm6any_ofINS_14iterator_rangeINS_28const_set_bits_iterator_implINS_9BitVectorEEEEEZNKS_20AArch64FrameLowering24determineStackHazardSlotERNS_15MachineFunctionERS3_E3$_0EEbOT_T0_.exit" + br i1 %.not13.i.i.i.i.i.i.i.i, label %.thread9.i.i.i.i.i.i.i.i, label %_ZNSt6vectorIjSaIjEED2Ev.exit.thread .thread9.i.i.i.i.i.i.i.i: ; preds = %_ZNK4llvm19TargetRegisterClass8containsENS_8RegisterE.exit6.i.i.i.i.i.i.i.i, %.thread6.i.i.i.i.i.i.i.i %87 = load i16, ptr %57, align 2 @@ -18716,7 +18716,7 @@ _ZNK4llvm19TargetRegisterClass8containsENS_8RegisterE.exit9.i.i.i.i.i.i.i.i: ; p %95 = shl nuw nsw i32 1, %89 %96 = and i32 %95, %94 %.not14.i.i.i.i.i.i.i.i = icmp eq i32 %96, 0 - br i1 %.not14.i.i.i.i.i.i.i.i, label %.thread12.i.i.i.i.i.i.i.i, label %"_ZN4llvm6any_ofINS_14iterator_rangeINS_28const_set_bits_iterator_implINS_9BitVectorEEEEEZNKS_20AArch64FrameLowering24determineStackHazardSlotERNS_15MachineFunctionERS3_E3$_0EEbOT_T0_.exit" + br i1 %.not14.i.i.i.i.i.i.i.i, label %.thread12.i.i.i.i.i.i.i.i, label %_ZNSt6vectorIjSaIjEED2Ev.exit.thread .thread12.i.i.i.i.i.i.i.i: ; preds = %_ZNK4llvm19TargetRegisterClass8containsENS_8RegisterE.exit9.i.i.i.i.i.i.i.i, %.thread9.i.i.i.i.i.i.i.i %97 = load i16, ptr %60, align 2 @@ -18734,7 +18734,7 @@ _ZNK4llvm19TargetRegisterClass8containsENS_8RegisterE.exit9.i.i.i.i.i.i.i.i: ; p %105 = shl nuw nsw i32 1, %99 %106 = and i32 %105, %104 %.not10.i.i.i.i.i.i = icmp eq i32 %106, 0 - br i1 %.not10.i.i.i.i.i.i, label %"_ZN9__gnu_cxx5__ops10_Iter_predIZNK4llvm20AArch64FrameLowering24determineStackHazardSlotERNS2_15MachineFunctionERNS2_9BitVectorEE3$_0EclINS2_28const_set_bits_iterator_implIS6_EEEEbT_.exit.thread9.i.i.i.i.i.i", label %"_ZN4llvm6any_ofINS_14iterator_rangeINS_28const_set_bits_iterator_implINS_9BitVectorEEEEEZNKS_20AArch64FrameLowering24determineStackHazardSlotERNS_15MachineFunctionERS3_E3$_0EEbOT_T0_.exit" + br i1 %.not10.i.i.i.i.i.i, label %"_ZN9__gnu_cxx5__ops10_Iter_predIZNK4llvm20AArch64FrameLowering24determineStackHazardSlotERNS2_15MachineFunctionERNS2_9BitVectorEE3$_0EclINS2_28const_set_bits_iterator_implIS6_EEEEbT_.exit.thread9.i.i.i.i.i.i", label %_ZNSt6vectorIjSaIjEED2Ev.exit.thread "_ZN9__gnu_cxx5__ops10_Iter_predIZNK4llvm20AArch64FrameLowering24determineStackHazardSlotERNS2_15MachineFunctionERNS2_9BitVectorEE3$_0EclINS2_28const_set_bits_iterator_implIS6_EEEEbT_.exit.thread9.i.i.i.i.i.i": ; preds = %"_ZN9__gnu_cxx5__ops10_Iter_predIZNK4llvm20AArch64FrameLowering24determineStackHazardSlotERNS2_15MachineFunctionERNS2_9BitVectorEE3$_0EclINS2_28const_set_bits_iterator_implIS6_EEEEbT_.exit.i.i.i.i.i.i", %.thread12.i.i.i.i.i.i.i.i, %62 %107 = add i32 %.sroa.4.014.i.i.i.i.i.i, 1 @@ -18784,272 +18784,268 @@ _ZN4llvm28const_set_bits_iterator_implINS_9BitVectorEEppEv.exit.i.i.i.i.i.i: ; p %.not.i.i.i.i.i.i = icmp eq i32 %131, -1 br i1 %.not.i.i.i.i.i.i, label %"_ZN4llvm6any_ofINS_14iterator_rangeINS_28const_set_bits_iterator_implINS_9BitVectorEEEEEZNKS_20AArch64FrameLowering24determineStackHazardSlotERNS_15MachineFunctionERS3_E3$_0EEbOT_T0_.exit.thread", label %62, !llvm.loop !741 -"_ZN4llvm6any_ofINS_14iterator_rangeINS_28const_set_bits_iterator_implINS_9BitVectorEEEEEZNKS_20AArch64FrameLowering24determineStackHazardSlotERNS_15MachineFunctionERS3_E3$_0EEbOT_T0_.exit": ; preds = %_ZNK4llvm19TargetRegisterClass8containsENS_8RegisterE.exit6.i.i.i.i.i.i.i.i, %_ZNK4llvm19TargetRegisterClass8containsENS_8RegisterE.exit9.i.i.i.i.i.i.i.i, %"_ZN9__gnu_cxx5__ops10_Iter_predIZNK4llvm20AArch64FrameLowering24determineStackHazardSlotERNS2_15MachineFunctionERNS2_9BitVectorEE3$_0EclINS2_28const_set_bits_iterator_implIS6_EEEEbT_.exit.i.i.i.i.i.i" - %132 = icmp eq i32 %.sroa.4.014.i.i.i.i.i.i, -1 - br i1 %132, label %"_ZN4llvm6any_ofINS_14iterator_rangeINS_28const_set_bits_iterator_implINS_9BitVectorEEEEEZNKS_20AArch64FrameLowering24determineStackHazardSlotERNS_15MachineFunctionERS3_E3$_0EEbOT_T0_.exit.thread", label %_ZNSt6vectorIjSaIjEED2Ev.exit.thread - -"_ZN4llvm6any_ofINS_14iterator_rangeINS_28const_set_bits_iterator_implINS_9BitVectorEEEEEZNKS_20AArch64FrameLowering24determineStackHazardSlotERNS_15MachineFunctionERS3_E3$_0EEbOT_T0_.exit.thread": ; preds = %44, %109, %"_ZN9__gnu_cxx5__ops10_Iter_predIZNK4llvm20AArch64FrameLowering24determineStackHazardSlotERNS2_15MachineFunctionERNS2_9BitVectorEE3$_0EclINS2_28const_set_bits_iterator_implIS6_EEEEbT_.exit.thread9.i.i.i.i.i.i", %_ZN4llvm28const_set_bits_iterator_implINS_9BitVectorEEppEv.exit.i.i.i.i.i.i, %126, %_ZNK4llvm9BitVector8set_bitsEv.exit, %23, %"_ZN4llvm6any_ofINS_14iterator_rangeINS_28const_set_bits_iterator_implINS_9BitVectorEEEEEZNKS_20AArch64FrameLowering24determineStackHazardSlotERNS_15MachineFunctionERS3_E3$_0EEbOT_T0_.exit" - %133 = getelementptr inbounds nuw i8, ptr %25, i64 8 - %134 = getelementptr inbounds nuw i8, ptr %25, i64 16 - %135 = load ptr, ptr %134, align 8 - %136 = load ptr, ptr %133, align 8 +"_ZN4llvm6any_ofINS_14iterator_rangeINS_28const_set_bits_iterator_implINS_9BitVectorEEEEEZNKS_20AArch64FrameLowering24determineStackHazardSlotERNS_15MachineFunctionERS3_E3$_0EEbOT_T0_.exit.thread": ; preds = %44, %109, %"_ZN9__gnu_cxx5__ops10_Iter_predIZNK4llvm20AArch64FrameLowering24determineStackHazardSlotERNS2_15MachineFunctionERNS2_9BitVectorEE3$_0EclINS2_28const_set_bits_iterator_implIS6_EEEEbT_.exit.thread9.i.i.i.i.i.i", %_ZN4llvm28const_set_bits_iterator_implINS_9BitVectorEEppEv.exit.i.i.i.i.i.i, %126, %_ZNK4llvm9BitVector8set_bitsEv.exit, %23 + %132 = getelementptr inbounds nuw i8, ptr %25, i64 8 + %133 = getelementptr inbounds nuw i8, ptr %25, i64 16 + %134 = load ptr, ptr %133, align 8 + %135 = load ptr, ptr %132, align 8 + %136 = ptrtoint ptr %134 to i64 %137 = ptrtoint ptr %135 to i64 - %138 = ptrtoint ptr %136 to i64 - %139 = sub i64 %137, %138 - %140 = sdiv exact i64 %139, 40 - %141 = trunc i64 %140 to i32 - %142 = getelementptr inbounds nuw i8, ptr %25, i64 32 - %143 = load i32, ptr %142, align 8 - %144 = sub i32 %141, %143 - %145 = sext i32 %144 to i64 - %146 = icmp slt i32 %144, 0 - br i1 %146, label %147, label %_ZNSt6vectorIjSaIjEE17_S_check_init_lenEmRKS0_.exit.i - -147: ; preds = %"_ZN4llvm6any_ofINS_14iterator_rangeINS_28const_set_bits_iterator_implINS_9BitVectorEEEEEZNKS_20AArch64FrameLowering24determineStackHazardSlotERNS_15MachineFunctionERS3_E3$_0EEbOT_T0_.exit.thread" + %138 = sub i64 %136, %137 + %139 = sdiv exact i64 %138, 40 + %140 = trunc i64 %139 to i32 + %141 = getelementptr inbounds nuw i8, ptr %25, i64 32 + %142 = load i32, ptr %141, align 8 + %143 = sub i32 %140, %142 + %144 = sext i32 %143 to i64 + %145 = icmp slt i32 %143, 0 + br i1 %145, label %146, label %_ZNSt6vectorIjSaIjEE17_S_check_init_lenEmRKS0_.exit.i + +146: ; preds = %"_ZN4llvm6any_ofINS_14iterator_rangeINS_28const_set_bits_iterator_implINS_9BitVectorEEEEEZNKS_20AArch64FrameLowering24determineStackHazardSlotERNS_15MachineFunctionERS3_E3$_0EEbOT_T0_.exit.thread" call void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.27) #28 unreachable _ZNSt6vectorIjSaIjEE17_S_check_init_lenEmRKS0_.exit.i: ; preds = %"_ZN4llvm6any_ofINS_14iterator_rangeINS_28const_set_bits_iterator_implINS_9BitVectorEEEEEZNKS_20AArch64FrameLowering24determineStackHazardSlotERNS_15MachineFunctionERS3_E3$_0EEbOT_T0_.exit.thread" - %.not.i.i.i.i = icmp eq i32 %143, %141 - br i1 %.not.i.i.i.i, label %_ZNSt6vectorIjSaIjEEC2EmRKS0_.exit, label %148 - -148: ; preds = %_ZNSt6vectorIjSaIjEE17_S_check_init_lenEmRKS0_.exit.i - %149 = shl nuw nsw i64 %145, 2 - %150 = call noalias noundef nonnull ptr @_Znwm(i64 noundef %149) #29 - %151 = getelementptr i32, ptr %150, i64 %145 - store i32 0, ptr %150, align 4 - %152 = getelementptr i8, ptr %150, i64 4 - %153 = icmp eq i32 %144, 1 - br i1 %153, label %_ZNSt6vectorIjSaIjEEC2EmRKS0_.exit, label %_ZSt6fill_nIPjmjET_S1_T0_RKT1_.exit.loopexit.i.i.i.i.i - -_ZSt6fill_nIPjmjET_S1_T0_RKT1_.exit.loopexit.i.i.i.i.i: ; preds = %148 - %154 = add nsw i64 %149, -4 - call void @llvm.memset.p0.i64(ptr align 4 %152, i8 0, i64 %154, i1 false) + %.not.i.i.i.i = icmp eq i32 %142, %140 + br i1 %.not.i.i.i.i, label %_ZNSt6vectorIjSaIjEEC2EmRKS0_.exit, label %147 + +147: ; preds = %_ZNSt6vectorIjSaIjEE17_S_check_init_lenEmRKS0_.exit.i + %148 = shl nuw nsw i64 %144, 2 + %149 = call noalias noundef nonnull ptr @_Znwm(i64 noundef %148) #29 + %150 = getelementptr i32, ptr %149, i64 %144 + store i32 0, ptr %149, align 4 + %151 = getelementptr i8, ptr %149, i64 4 + %152 = icmp eq i32 %143, 1 + br i1 %152, label %_ZNSt6vectorIjSaIjEEC2EmRKS0_.exit, label %_ZSt6fill_nIPjmjET_S1_T0_RKT1_.exit.loopexit.i.i.i.i.i + +_ZSt6fill_nIPjmjET_S1_T0_RKT1_.exit.loopexit.i.i.i.i.i: ; preds = %147 + %153 = add nsw i64 %148, -4 + call void @llvm.memset.p0.i64(ptr align 4 %151, i8 0, i64 %153, i1 false) br label %_ZNSt6vectorIjSaIjEEC2EmRKS0_.exit -_ZNSt6vectorIjSaIjEEC2EmRKS0_.exit: ; preds = %_ZNSt6vectorIjSaIjEE17_S_check_init_lenEmRKS0_.exit.i, %148, %_ZSt6fill_nIPjmjET_S1_T0_RKT1_.exit.loopexit.i.i.i.i.i - %.sroa.11.0 = phi ptr [ %151, %148 ], [ %151, %_ZSt6fill_nIPjmjET_S1_T0_RKT1_.exit.loopexit.i.i.i.i.i ], [ null, %_ZNSt6vectorIjSaIjEE17_S_check_init_lenEmRKS0_.exit.i ] - %.sroa.037.0 = phi ptr [ %150, %148 ], [ %150, %_ZSt6fill_nIPjmjET_S1_T0_RKT1_.exit.loopexit.i.i.i.i.i ], [ null, %_ZNSt6vectorIjSaIjEE17_S_check_init_lenEmRKS0_.exit.i ] - %.0.i.i.i.i.i21 = phi ptr [ %152, %148 ], [ %151, %_ZSt6fill_nIPjmjET_S1_T0_RKT1_.exit.loopexit.i.i.i.i.i ], [ null, %_ZNSt6vectorIjSaIjEE17_S_check_init_lenEmRKS0_.exit.i ] - %155 = getelementptr inbounds nuw i8, ptr %1, i64 328 - %156 = getelementptr inbounds nuw i8, ptr %1, i64 320 - %.sroa.034.066 = load ptr, ptr %155, align 8 - %.not5267 = icmp eq ptr %.sroa.034.066, %156 +_ZNSt6vectorIjSaIjEEC2EmRKS0_.exit: ; preds = %_ZNSt6vectorIjSaIjEE17_S_check_init_lenEmRKS0_.exit.i, %147, %_ZSt6fill_nIPjmjET_S1_T0_RKT1_.exit.loopexit.i.i.i.i.i + %.sroa.11.0 = phi ptr [ %150, %147 ], [ %150, %_ZSt6fill_nIPjmjET_S1_T0_RKT1_.exit.loopexit.i.i.i.i.i ], [ null, %_ZNSt6vectorIjSaIjEE17_S_check_init_lenEmRKS0_.exit.i ] + %.sroa.037.0 = phi ptr [ %149, %147 ], [ %149, %_ZSt6fill_nIPjmjET_S1_T0_RKT1_.exit.loopexit.i.i.i.i.i ], [ null, %_ZNSt6vectorIjSaIjEE17_S_check_init_lenEmRKS0_.exit.i ] + %.0.i.i.i.i.i21 = phi ptr [ %151, %147 ], [ %150, %_ZSt6fill_nIPjmjET_S1_T0_RKT1_.exit.loopexit.i.i.i.i.i ], [ null, %_ZNSt6vectorIjSaIjEE17_S_check_init_lenEmRKS0_.exit.i ] + %154 = getelementptr inbounds nuw i8, ptr %1, i64 328 + %155 = getelementptr inbounds nuw i8, ptr %1, i64 320 + %.sroa.034.064 = load ptr, ptr %154, align 8 + %.not5265 = icmp eq ptr %.sroa.034.064, %155 %.pre = ptrtoint ptr %.0.i.i.i.i.i21 to i64 - %.pre92 = ptrtoint ptr %.sroa.037.0 to i64 - %.pre94 = sub i64 %.pre, %.pre92 - br i1 %.not5267, label %._crit_edge70, label %.lr.ph69 - -.lr.ph69: ; preds = %_ZNSt6vectorIjSaIjEEC2EmRKS0_.exit - %157 = lshr exact i64 %.pre94, 2 - %158 = trunc i64 %157 to i32 - br label %159 - -159: ; preds = %.lr.ph69, %._crit_edge - %.sroa.034.068 = phi ptr [ %.sroa.034.066, %.lr.ph69 ], [ %.sroa.034.0, %._crit_edge ] - %160 = getelementptr inbounds nuw i8, ptr %.sroa.034.068, i64 56 - %161 = getelementptr inbounds nuw i8, ptr %.sroa.034.068, i64 48 - %.sroa.031.063 = load ptr, ptr %160, align 8 - %.not5464 = icmp eq ptr %.sroa.031.063, %161 - br i1 %.not5464, label %._crit_edge, label %.lr.ph - -.lr.ph: ; preds = %159, %_ZN4llvm26MachineInstrBundleIteratorINS_12MachineInstrELb0EEppEv.exit - %.sroa.031.065 = phi ptr [ %.sroa.031.0, %_ZN4llvm26MachineInstrBundleIteratorINS_12MachineInstrELb0EEppEv.exit ], [ %.sroa.031.063, %159 ] - %162 = call fastcc i64 @_ZL14getLdStFrameIDRKN4llvm12MachineInstrERKNS_16MachineFrameInfoE(ptr noundef nonnull align 8 dereferenceable(70) %.sroa.031.065, ptr noundef nonnull align 8 dereferenceable(696) %25) - %.sroa.025.0.extract.trunc = trunc i64 %162 to i32 - %163 = icmp samesign ugt i64 %162, 4294967295 - %164 = icmp sgt i32 %.sroa.025.0.extract.trunc, -1 - %or.cond49 = and i1 %163, %164 - %165 = icmp slt i32 %.sroa.025.0.extract.trunc, %158 - %or.cond79 = select i1 %or.cond49, i1 %165, i1 false - br i1 %or.cond79, label %166, label %180 - -166: ; preds = %.lr.ph - %167 = load i32, ptr %142, align 8 - %168 = add i32 %167, %.sroa.025.0.extract.trunc - %169 = zext i32 %168 to i64 - %170 = load ptr, ptr %133, align 8 - %171 = getelementptr inbounds nuw %"struct.llvm::MachineFrameInfo::StackObject", ptr %170, i64 %169, i32 6 - %172 = load i8, ptr %171, align 4 - %173 = icmp eq i8 %172, 2 - br i1 %173, label %.sink.split, label %174 - -174: ; preds = %166 - %175 = call noundef zeroext i1 @_ZN4llvm16AArch64InstrInfo10isFpOrNEONERKNS_12MachineInstrE(ptr noundef nonnull align 8 dereferenceable(70) %.sroa.031.065) #25 - %spec.select = select i1 %175, i32 2, i32 1 + %.pre88 = ptrtoint ptr %.sroa.037.0 to i64 + %.pre90 = sub i64 %.pre, %.pre88 + br i1 %.not5265, label %._crit_edge68, label %.lr.ph67 + +.lr.ph67: ; preds = %_ZNSt6vectorIjSaIjEEC2EmRKS0_.exit + %156 = lshr exact i64 %.pre90, 2 + %157 = trunc i64 %156 to i32 + br label %158 + +158: ; preds = %.lr.ph67, %._crit_edge + %.sroa.034.066 = phi ptr [ %.sroa.034.064, %.lr.ph67 ], [ %.sroa.034.0, %._crit_edge ] + %159 = getelementptr inbounds nuw i8, ptr %.sroa.034.066, i64 56 + %160 = getelementptr inbounds nuw i8, ptr %.sroa.034.066, i64 48 + %.sroa.031.061 = load ptr, ptr %159, align 8 + %.not5462 = icmp eq ptr %.sroa.031.061, %160 + br i1 %.not5462, label %._crit_edge, label %.lr.ph + +.lr.ph: ; preds = %158, %_ZN4llvm26MachineInstrBundleIteratorINS_12MachineInstrELb0EEppEv.exit + %.sroa.031.063 = phi ptr [ %.sroa.031.0, %_ZN4llvm26MachineInstrBundleIteratorINS_12MachineInstrELb0EEppEv.exit ], [ %.sroa.031.061, %158 ] + %161 = call fastcc i64 @_ZL14getLdStFrameIDRKN4llvm12MachineInstrERKNS_16MachineFrameInfoE(ptr noundef nonnull align 8 dereferenceable(70) %.sroa.031.063, ptr noundef nonnull align 8 dereferenceable(696) %25) + %.sroa.025.0.extract.trunc = trunc i64 %161 to i32 + %162 = icmp samesign ugt i64 %161, 4294967295 + %163 = icmp sgt i32 %.sroa.025.0.extract.trunc, -1 + %or.cond49 = and i1 %162, %163 + %164 = icmp slt i32 %.sroa.025.0.extract.trunc, %157 + %or.cond77 = select i1 %or.cond49, i1 %164, i1 false + br i1 %or.cond77, label %165, label %179 + +165: ; preds = %.lr.ph + %166 = load i32, ptr %141, align 8 + %167 = add i32 %166, %.sroa.025.0.extract.trunc + %168 = zext i32 %167 to i64 + %169 = load ptr, ptr %132, align 8 + %170 = getelementptr inbounds nuw %"struct.llvm::MachineFrameInfo::StackObject", ptr %169, i64 %168, i32 6 + %171 = load i8, ptr %170, align 4 + %172 = icmp eq i8 %171, 2 + br i1 %172, label %.sink.split, label %173 + +173: ; preds = %165 + %174 = call noundef zeroext i1 @_ZN4llvm16AArch64InstrInfo10isFpOrNEONERKNS_12MachineInstrE(ptr noundef nonnull align 8 dereferenceable(70) %.sroa.031.063) #25 + %spec.select = select i1 %174, i32 2, i32 1 br label %.sink.split -.sink.split: ; preds = %174, %166 - %.sink118 = phi i32 [ 2, %166 ], [ %spec.select, %174 ] - %176 = and i64 %162, 2147483647 - %177 = getelementptr inbounds nuw i32, ptr %.sroa.037.0, i64 %176 - %178 = load i32, ptr %177, align 4 - %179 = or i32 %178, %.sink118 - store i32 %179, ptr %177, align 4 - br label %180 +.sink.split: ; preds = %173, %165 + %.sink108 = phi i32 [ 2, %165 ], [ %spec.select, %173 ] + %175 = and i64 %161, 2147483647 + %176 = getelementptr inbounds nuw i32, ptr %.sroa.037.0, i64 %175 + %177 = load i32, ptr %176, align 4 + %178 = or i32 %177, %.sink108 + store i32 %178, ptr %176, align 4 + br label %179 -180: ; preds = %.sink.split, %.lr.ph - %.0.copyload.i.i.i.i.i.i.i.i.i = load i64, ptr %.sroa.031.065, align 8 - %181 = and i64 %.0.copyload.i.i.i.i.i.i.i.i.i, 4 - %.not.i.i.i = icmp eq i64 %181, 0 +179: ; preds = %.sink.split, %.lr.ph + %.0.copyload.i.i.i.i.i.i.i.i.i = load i64, ptr %.sroa.031.063, align 8 + %180 = and i64 %.0.copyload.i.i.i.i.i.i.i.i.i, 4 + %.not.i.i.i = icmp eq i64 %180, 0 br i1 %.not.i.i.i, label %_ZNK4llvm14ilist_iteratorINS_12ilist_detail12node_optionsINS_12MachineInstrELb1ELb1EvLb0EvEELb0ELb0EE5isEndEv.exit.preheader.i.i.i, label %_ZN4llvm26MachineInstrBundleIteratorINS_12MachineInstrELb0EEppEv.exit -_ZNK4llvm14ilist_iteratorINS_12ilist_detail12node_optionsINS_12MachineInstrELb1ELb1EvLb0EvEELb0ELb0EE5isEndEv.exit.preheader.i.i.i: ; preds = %180 - %182 = getelementptr inbounds nuw i8, ptr %.sroa.031.065, i64 44 - %183 = load i32, ptr %182, align 4 - %184 = and i32 %183, 8 - %.not34.i.i.i = icmp eq i32 %184, 0 +_ZNK4llvm14ilist_iteratorINS_12ilist_detail12node_optionsINS_12MachineInstrELb1ELb1EvLb0EvEELb0ELb0EE5isEndEv.exit.preheader.i.i.i: ; preds = %179 + %181 = getelementptr inbounds nuw i8, ptr %.sroa.031.063, i64 44 + %182 = load i32, ptr %181, align 4 + %183 = and i32 %182, 8 + %.not34.i.i.i = icmp eq i32 %183, 0 br i1 %.not34.i.i.i, label %_ZN4llvm26MachineInstrBundleIteratorINS_12MachineInstrELb0EEppEv.exit, label %_ZNK4llvm14ilist_iteratorINS_12ilist_detail12node_optionsINS_12MachineInstrELb1ELb1EvLb0EvEELb0ELb0EE5isEndEv.exit.i.i.i _ZNK4llvm14ilist_iteratorINS_12ilist_detail12node_optionsINS_12MachineInstrELb1ELb1EvLb0EvEELb0ELb0EE5isEndEv.exit.i.i.i: ; preds = %_ZNK4llvm14ilist_iteratorINS_12ilist_detail12node_optionsINS_12MachineInstrELb1ELb1EvLb0EvEELb0ELb0EE5isEndEv.exit.preheader.i.i.i, %_ZNK4llvm14ilist_iteratorINS_12ilist_detail12node_optionsINS_12MachineInstrELb1ELb1EvLb0EvEELb0ELb0EE5isEndEv.exit.i.i.i - %.sroa.0.15.i.i.i = phi ptr [ %186, %_ZNK4llvm14ilist_iteratorINS_12ilist_detail12node_optionsINS_12MachineInstrELb1ELb1EvLb0EvEELb0ELb0EE5isEndEv.exit.i.i.i ], [ %.sroa.031.065, %_ZNK4llvm14ilist_iteratorINS_12ilist_detail12node_optionsINS_12MachineInstrELb1ELb1EvLb0EvEELb0ELb0EE5isEndEv.exit.preheader.i.i.i ] - %185 = getelementptr inbounds nuw i8, ptr %.sroa.0.15.i.i.i, i64 8 - %186 = load ptr, ptr %185, align 8 - %187 = getelementptr inbounds nuw i8, ptr %186, i64 44 - %188 = load i32, ptr %187, align 4 - %189 = and i32 %188, 8 - %.not3.i.i.i = icmp eq i32 %189, 0 + %.sroa.0.15.i.i.i = phi ptr [ %185, %_ZNK4llvm14ilist_iteratorINS_12ilist_detail12node_optionsINS_12MachineInstrELb1ELb1EvLb0EvEELb0ELb0EE5isEndEv.exit.i.i.i ], [ %.sroa.031.063, %_ZNK4llvm14ilist_iteratorINS_12ilist_detail12node_optionsINS_12MachineInstrELb1ELb1EvLb0EvEELb0ELb0EE5isEndEv.exit.preheader.i.i.i ] + %184 = getelementptr inbounds nuw i8, ptr %.sroa.0.15.i.i.i, i64 8 + %185 = load ptr, ptr %184, align 8 + %186 = getelementptr inbounds nuw i8, ptr %185, i64 44 + %187 = load i32, ptr %186, align 4 + %188 = and i32 %187, 8 + %.not3.i.i.i = icmp eq i32 %188, 0 br i1 %.not3.i.i.i, label %_ZN4llvm26MachineInstrBundleIteratorINS_12MachineInstrELb0EEppEv.exit, label %_ZNK4llvm14ilist_iteratorINS_12ilist_detail12node_optionsINS_12MachineInstrELb1ELb1EvLb0EvEELb0ELb0EE5isEndEv.exit.i.i.i, !llvm.loop !6 -_ZN4llvm26MachineInstrBundleIteratorINS_12MachineInstrELb0EEppEv.exit: ; preds = %_ZNK4llvm14ilist_iteratorINS_12ilist_detail12node_optionsINS_12MachineInstrELb1ELb1EvLb0EvEELb0ELb0EE5isEndEv.exit.i.i.i, %180, %_ZNK4llvm14ilist_iteratorINS_12ilist_detail12node_optionsINS_12MachineInstrELb1ELb1EvLb0EvEELb0ELb0EE5isEndEv.exit.preheader.i.i.i - %.sroa.0.0.i.i.i = phi ptr [ %.sroa.031.065, %180 ], [ %.sroa.031.065, %_ZNK4llvm14ilist_iteratorINS_12ilist_detail12node_optionsINS_12MachineInstrELb1ELb1EvLb0EvEELb0ELb0EE5isEndEv.exit.preheader.i.i.i ], [ %186, %_ZNK4llvm14ilist_iteratorINS_12ilist_detail12node_optionsINS_12MachineInstrELb1ELb1EvLb0EvEELb0ELb0EE5isEndEv.exit.i.i.i ] - %190 = getelementptr inbounds nuw i8, ptr %.sroa.0.0.i.i.i, i64 8 - %.sroa.031.0 = load ptr, ptr %190, align 8 - %.not54 = icmp eq ptr %.sroa.031.0, %161 +_ZN4llvm26MachineInstrBundleIteratorINS_12MachineInstrELb0EEppEv.exit: ; preds = %_ZNK4llvm14ilist_iteratorINS_12ilist_detail12node_optionsINS_12MachineInstrELb1ELb1EvLb0EvEELb0ELb0EE5isEndEv.exit.i.i.i, %179, %_ZNK4llvm14ilist_iteratorINS_12ilist_detail12node_optionsINS_12MachineInstrELb1ELb1EvLb0EvEELb0ELb0EE5isEndEv.exit.preheader.i.i.i + %.sroa.0.0.i.i.i = phi ptr [ %.sroa.031.063, %179 ], [ %.sroa.031.063, %_ZNK4llvm14ilist_iteratorINS_12ilist_detail12node_optionsINS_12MachineInstrELb1ELb1EvLb0EvEELb0ELb0EE5isEndEv.exit.preheader.i.i.i ], [ %185, %_ZNK4llvm14ilist_iteratorINS_12ilist_detail12node_optionsINS_12MachineInstrELb1ELb1EvLb0EvEELb0ELb0EE5isEndEv.exit.i.i.i ] + %189 = getelementptr inbounds nuw i8, ptr %.sroa.0.0.i.i.i, i64 8 + %.sroa.031.0 = load ptr, ptr %189, align 8 + %.not54 = icmp eq ptr %.sroa.031.0, %160 br i1 %.not54, label %._crit_edge, label %.lr.ph -._crit_edge: ; preds = %_ZN4llvm26MachineInstrBundleIteratorINS_12MachineInstrELb0EEppEv.exit, %159 - %191 = getelementptr inbounds nuw i8, ptr %.sroa.034.068, i64 8 - %.sroa.034.0 = load ptr, ptr %191, align 8 - %.not52 = icmp eq ptr %.sroa.034.0, %156 - br i1 %.not52, label %._crit_edge70, label %159 +._crit_edge: ; preds = %_ZN4llvm26MachineInstrBundleIteratorINS_12MachineInstrELb0EEppEv.exit, %158 + %190 = getelementptr inbounds nuw i8, ptr %.sroa.034.066, i64 8 + %.sroa.034.0 = load ptr, ptr %190, align 8 + %.not52 = icmp eq ptr %.sroa.034.0, %155 + br i1 %.not52, label %._crit_edge68, label %158 -._crit_edge70: ; preds = %._crit_edge, %_ZNSt6vectorIjSaIjEEC2EmRKS0_.exit - %192 = ashr i64 %.pre94, 4 - %193 = icmp sgt i64 %192, 0 - br i1 %193, label %.lr.ph.preheader.i.i.i.i.i.i, label %._crit_edge.i.i.i.i.i.i +._crit_edge68: ; preds = %._crit_edge, %_ZNSt6vectorIjSaIjEEC2EmRKS0_.exit + %191 = ashr i64 %.pre90, 4 + %192 = icmp sgt i64 %191, 0 + br i1 %192, label %.lr.ph.preheader.i.i.i.i.i.i, label %._crit_edge.i.i.i.i.i.i -.lr.ph.preheader.i.i.i.i.i.i: ; preds = %._crit_edge70 - %194 = and i64 %.pre94, -16 - %scevgep.i.i.i.i.i.i = getelementptr i8, ptr %.sroa.037.0, i64 %194 +.lr.ph.preheader.i.i.i.i.i.i: ; preds = %._crit_edge68 + %193 = and i64 %.pre90, -16 + %scevgep.i.i.i.i.i.i = getelementptr i8, ptr %.sroa.037.0, i64 %193 br label %.lr.ph.i.i.i.i.i.i23 -.lr.ph.i.i.i.i.i.i23: ; preds = %213, %.lr.ph.preheader.i.i.i.i.i.i - %.045.i.i.i.i.i.i = phi i64 [ %215, %213 ], [ %192, %.lr.ph.preheader.i.i.i.i.i.i ] - %.sroa.025.044.i.i.i.i.i.i = phi ptr [ %214, %213 ], [ %.sroa.037.0, %.lr.ph.preheader.i.i.i.i.i.i ] - %195 = load i32, ptr %.sroa.025.044.i.i.i.i.i.i, align 4 - %196 = and i32 %195, 3 - %197 = icmp eq i32 %196, 2 - br i1 %197, label %"_ZN4llvm6any_ofIRSt6vectorIjSaIjEEZNKS_20AArch64FrameLowering24determineStackHazardSlotERNS_15MachineFunctionERNS_9BitVectorEE3$_1EEbOT_T0_.exit", label %198 - -198: ; preds = %.lr.ph.i.i.i.i.i.i23 - %199 = getelementptr inbounds nuw i8, ptr %.sroa.025.044.i.i.i.i.i.i, i64 4 - %200 = load i32, ptr %199, align 4 - %201 = and i32 %200, 3 - %202 = icmp eq i32 %201, 2 - br i1 %202, label %"_ZN4llvm6any_ofIRSt6vectorIjSaIjEEZNKS_20AArch64FrameLowering24determineStackHazardSlotERNS_15MachineFunctionERNS_9BitVectorEE3$_1EEbOT_T0_.exit.loopexit.split.loop.exit", label %203 - -203: ; preds = %198 - %204 = getelementptr inbounds nuw i8, ptr %.sroa.025.044.i.i.i.i.i.i, i64 8 - %205 = load i32, ptr %204, align 4 - %206 = and i32 %205, 3 - %207 = icmp eq i32 %206, 2 - br i1 %207, label %"_ZN4llvm6any_ofIRSt6vectorIjSaIjEEZNKS_20AArch64FrameLowering24determineStackHazardSlotERNS_15MachineFunctionERNS_9BitVectorEE3$_1EEbOT_T0_.exit.loopexit.split.loop.exit108", label %208 - -208: ; preds = %203 - %209 = getelementptr inbounds nuw i8, ptr %.sroa.025.044.i.i.i.i.i.i, i64 12 - %210 = load i32, ptr %209, align 4 - %211 = and i32 %210, 3 - %212 = icmp eq i32 %211, 2 - br i1 %212, label %"_ZN4llvm6any_ofIRSt6vectorIjSaIjEEZNKS_20AArch64FrameLowering24determineStackHazardSlotERNS_15MachineFunctionERNS_9BitVectorEE3$_1EEbOT_T0_.exit.loopexit.split.loop.exit110", label %213 - -213: ; preds = %208 - %214 = getelementptr inbounds nuw i8, ptr %.sroa.025.044.i.i.i.i.i.i, i64 16 - %215 = add nsw i64 %.045.i.i.i.i.i.i, -1 - %216 = icmp sgt i64 %.045.i.i.i.i.i.i, 1 - br i1 %216, label %.lr.ph.i.i.i.i.i.i23, label %._crit_edge.loopexit.i.i.i.i.i.i, !llvm.loop !742 - -._crit_edge.loopexit.i.i.i.i.i.i: ; preds = %213 +.lr.ph.i.i.i.i.i.i23: ; preds = %212, %.lr.ph.preheader.i.i.i.i.i.i + %.045.i.i.i.i.i.i = phi i64 [ %214, %212 ], [ %191, %.lr.ph.preheader.i.i.i.i.i.i ] + %.sroa.025.044.i.i.i.i.i.i = phi ptr [ %213, %212 ], [ %.sroa.037.0, %.lr.ph.preheader.i.i.i.i.i.i ] + %194 = load i32, ptr %.sroa.025.044.i.i.i.i.i.i, align 4 + %195 = and i32 %194, 3 + %196 = icmp eq i32 %195, 2 + br i1 %196, label %"_ZN4llvm6any_ofIRSt6vectorIjSaIjEEZNKS_20AArch64FrameLowering24determineStackHazardSlotERNS_15MachineFunctionERNS_9BitVectorEE3$_1EEbOT_T0_.exit", label %197 + +197: ; preds = %.lr.ph.i.i.i.i.i.i23 + %198 = getelementptr inbounds nuw i8, ptr %.sroa.025.044.i.i.i.i.i.i, i64 4 + %199 = load i32, ptr %198, align 4 + %200 = and i32 %199, 3 + %201 = icmp eq i32 %200, 2 + br i1 %201, label %"_ZN4llvm6any_ofIRSt6vectorIjSaIjEEZNKS_20AArch64FrameLowering24determineStackHazardSlotERNS_15MachineFunctionERNS_9BitVectorEE3$_1EEbOT_T0_.exit.loopexit.split.loop.exit", label %202 + +202: ; preds = %197 + %203 = getelementptr inbounds nuw i8, ptr %.sroa.025.044.i.i.i.i.i.i, i64 8 + %204 = load i32, ptr %203, align 4 + %205 = and i32 %204, 3 + %206 = icmp eq i32 %205, 2 + br i1 %206, label %"_ZN4llvm6any_ofIRSt6vectorIjSaIjEEZNKS_20AArch64FrameLowering24determineStackHazardSlotERNS_15MachineFunctionERNS_9BitVectorEE3$_1EEbOT_T0_.exit.loopexit.split.loop.exit98", label %207 + +207: ; preds = %202 + %208 = getelementptr inbounds nuw i8, ptr %.sroa.025.044.i.i.i.i.i.i, i64 12 + %209 = load i32, ptr %208, align 4 + %210 = and i32 %209, 3 + %211 = icmp eq i32 %210, 2 + br i1 %211, label %"_ZN4llvm6any_ofIRSt6vectorIjSaIjEEZNKS_20AArch64FrameLowering24determineStackHazardSlotERNS_15MachineFunctionERNS_9BitVectorEE3$_1EEbOT_T0_.exit.loopexit.split.loop.exit100", label %212 + +212: ; preds = %207 + %213 = getelementptr inbounds nuw i8, ptr %.sroa.025.044.i.i.i.i.i.i, i64 16 + %214 = add nsw i64 %.045.i.i.i.i.i.i, -1 + %215 = icmp sgt i64 %.045.i.i.i.i.i.i, 1 + br i1 %215, label %.lr.ph.i.i.i.i.i.i23, label %._crit_edge.loopexit.i.i.i.i.i.i, !llvm.loop !742 + +._crit_edge.loopexit.i.i.i.i.i.i: ; preds = %212 %.pre.i.i.i.i.i.i = ptrtoint ptr %scevgep.i.i.i.i.i.i to i64 %.pre50.i.i.i.i.i.i = sub i64 %.pre, %.pre.i.i.i.i.i.i br label %._crit_edge.i.i.i.i.i.i -._crit_edge.i.i.i.i.i.i: ; preds = %._crit_edge.loopexit.i.i.i.i.i.i, %._crit_edge70 - %.pre-phi51.i.i.i.i.i.i = phi i64 [ %.pre50.i.i.i.i.i.i, %._crit_edge.loopexit.i.i.i.i.i.i ], [ %.pre94, %._crit_edge70 ] - %.sroa.025.0.lcssa.i.i.i.i.i.i = phi ptr [ %scevgep.i.i.i.i.i.i, %._crit_edge.loopexit.i.i.i.i.i.i ], [ %.sroa.037.0, %._crit_edge70 ] - %217 = ashr exact i64 %.pre-phi51.i.i.i.i.i.i, 2 - switch i64 %217, label %"_ZN4llvm6any_ofIRSt6vectorIjSaIjEEZNKS_20AArch64FrameLowering24determineStackHazardSlotERNS_15MachineFunctionERNS_9BitVectorEE3$_1EEbOT_T0_.exit" [ - i64 3, label %218 - i64 2, label %224 - i64 1, label %230 +._crit_edge.i.i.i.i.i.i: ; preds = %._crit_edge.loopexit.i.i.i.i.i.i, %._crit_edge68 + %.pre-phi51.i.i.i.i.i.i = phi i64 [ %.pre50.i.i.i.i.i.i, %._crit_edge.loopexit.i.i.i.i.i.i ], [ %.pre90, %._crit_edge68 ] + %.sroa.025.0.lcssa.i.i.i.i.i.i = phi ptr [ %scevgep.i.i.i.i.i.i, %._crit_edge.loopexit.i.i.i.i.i.i ], [ %.sroa.037.0, %._crit_edge68 ] + %216 = ashr exact i64 %.pre-phi51.i.i.i.i.i.i, 2 + switch i64 %216, label %"_ZN4llvm6any_ofIRSt6vectorIjSaIjEEZNKS_20AArch64FrameLowering24determineStackHazardSlotERNS_15MachineFunctionERNS_9BitVectorEE3$_1EEbOT_T0_.exit" [ + i64 3, label %217 + i64 2, label %223 + i64 1, label %229 ] -218: ; preds = %._crit_edge.i.i.i.i.i.i - %219 = load i32, ptr %.sroa.025.0.lcssa.i.i.i.i.i.i, align 4 - %220 = and i32 %219, 3 - %221 = icmp eq i32 %220, 2 - br i1 %221, label %"_ZN4llvm6any_ofIRSt6vectorIjSaIjEEZNKS_20AArch64FrameLowering24determineStackHazardSlotERNS_15MachineFunctionERNS_9BitVectorEE3$_1EEbOT_T0_.exit", label %222 - -222: ; preds = %218 - %223 = getelementptr inbounds nuw i8, ptr %.sroa.025.0.lcssa.i.i.i.i.i.i, i64 4 - br label %224 - -224: ; preds = %222, %._crit_edge.i.i.i.i.i.i - %.sroa.025.1.i.i.i.i.i.i = phi ptr [ %.sroa.025.0.lcssa.i.i.i.i.i.i, %._crit_edge.i.i.i.i.i.i ], [ %223, %222 ] - %225 = load i32, ptr %.sroa.025.1.i.i.i.i.i.i, align 4 - %226 = and i32 %225, 3 - %227 = icmp eq i32 %226, 2 - br i1 %227, label %"_ZN4llvm6any_ofIRSt6vectorIjSaIjEEZNKS_20AArch64FrameLowering24determineStackHazardSlotERNS_15MachineFunctionERNS_9BitVectorEE3$_1EEbOT_T0_.exit", label %228 - -228: ; preds = %224 - %229 = getelementptr inbounds nuw i8, ptr %.sroa.025.1.i.i.i.i.i.i, i64 4 - br label %230 - -230: ; preds = %228, %._crit_edge.i.i.i.i.i.i - %.sroa.025.2.i.i.i.i.i.i = phi ptr [ %.sroa.025.0.lcssa.i.i.i.i.i.i, %._crit_edge.i.i.i.i.i.i ], [ %229, %228 ] - %231 = load i32, ptr %.sroa.025.2.i.i.i.i.i.i, align 4 - %232 = and i32 %231, 3 - %233 = icmp eq i32 %232, 2 - %spec.select.i.i.i.i.i.i = select i1 %233, ptr %.sroa.025.2.i.i.i.i.i.i, ptr %.0.i.i.i.i.i21 +217: ; preds = %._crit_edge.i.i.i.i.i.i + %218 = load i32, ptr %.sroa.025.0.lcssa.i.i.i.i.i.i, align 4 + %219 = and i32 %218, 3 + %220 = icmp eq i32 %219, 2 + br i1 %220, label %"_ZN4llvm6any_ofIRSt6vectorIjSaIjEEZNKS_20AArch64FrameLowering24determineStackHazardSlotERNS_15MachineFunctionERNS_9BitVectorEE3$_1EEbOT_T0_.exit", label %221 + +221: ; preds = %217 + %222 = getelementptr inbounds nuw i8, ptr %.sroa.025.0.lcssa.i.i.i.i.i.i, i64 4 + br label %223 + +223: ; preds = %221, %._crit_edge.i.i.i.i.i.i + %.sroa.025.1.i.i.i.i.i.i = phi ptr [ %.sroa.025.0.lcssa.i.i.i.i.i.i, %._crit_edge.i.i.i.i.i.i ], [ %222, %221 ] + %224 = load i32, ptr %.sroa.025.1.i.i.i.i.i.i, align 4 + %225 = and i32 %224, 3 + %226 = icmp eq i32 %225, 2 + br i1 %226, label %"_ZN4llvm6any_ofIRSt6vectorIjSaIjEEZNKS_20AArch64FrameLowering24determineStackHazardSlotERNS_15MachineFunctionERNS_9BitVectorEE3$_1EEbOT_T0_.exit", label %227 + +227: ; preds = %223 + %228 = getelementptr inbounds nuw i8, ptr %.sroa.025.1.i.i.i.i.i.i, i64 4 + br label %229 + +229: ; preds = %227, %._crit_edge.i.i.i.i.i.i + %.sroa.025.2.i.i.i.i.i.i = phi ptr [ %.sroa.025.0.lcssa.i.i.i.i.i.i, %._crit_edge.i.i.i.i.i.i ], [ %228, %227 ] + %230 = load i32, ptr %.sroa.025.2.i.i.i.i.i.i, align 4 + %231 = and i32 %230, 3 + %232 = icmp eq i32 %231, 2 + %spec.select.i.i.i.i.i.i = select i1 %232, ptr %.sroa.025.2.i.i.i.i.i.i, ptr %.0.i.i.i.i.i21 br label %"_ZN4llvm6any_ofIRSt6vectorIjSaIjEEZNKS_20AArch64FrameLowering24determineStackHazardSlotERNS_15MachineFunctionERNS_9BitVectorEE3$_1EEbOT_T0_.exit" -"_ZN4llvm6any_ofIRSt6vectorIjSaIjEEZNKS_20AArch64FrameLowering24determineStackHazardSlotERNS_15MachineFunctionERNS_9BitVectorEE3$_1EEbOT_T0_.exit.loopexit.split.loop.exit": ; preds = %198 - %234 = getelementptr inbounds nuw i8, ptr %.sroa.025.044.i.i.i.i.i.i, i64 4 +"_ZN4llvm6any_ofIRSt6vectorIjSaIjEEZNKS_20AArch64FrameLowering24determineStackHazardSlotERNS_15MachineFunctionERNS_9BitVectorEE3$_1EEbOT_T0_.exit.loopexit.split.loop.exit": ; preds = %197 + %233 = getelementptr inbounds nuw i8, ptr %.sroa.025.044.i.i.i.i.i.i, i64 4 br label %"_ZN4llvm6any_ofIRSt6vectorIjSaIjEEZNKS_20AArch64FrameLowering24determineStackHazardSlotERNS_15MachineFunctionERNS_9BitVectorEE3$_1EEbOT_T0_.exit" -"_ZN4llvm6any_ofIRSt6vectorIjSaIjEEZNKS_20AArch64FrameLowering24determineStackHazardSlotERNS_15MachineFunctionERNS_9BitVectorEE3$_1EEbOT_T0_.exit.loopexit.split.loop.exit108": ; preds = %203 - %235 = getelementptr inbounds nuw i8, ptr %.sroa.025.044.i.i.i.i.i.i, i64 8 +"_ZN4llvm6any_ofIRSt6vectorIjSaIjEEZNKS_20AArch64FrameLowering24determineStackHazardSlotERNS_15MachineFunctionERNS_9BitVectorEE3$_1EEbOT_T0_.exit.loopexit.split.loop.exit98": ; preds = %202 + %234 = getelementptr inbounds nuw i8, ptr %.sroa.025.044.i.i.i.i.i.i, i64 8 br label %"_ZN4llvm6any_ofIRSt6vectorIjSaIjEEZNKS_20AArch64FrameLowering24determineStackHazardSlotERNS_15MachineFunctionERNS_9BitVectorEE3$_1EEbOT_T0_.exit" -"_ZN4llvm6any_ofIRSt6vectorIjSaIjEEZNKS_20AArch64FrameLowering24determineStackHazardSlotERNS_15MachineFunctionERNS_9BitVectorEE3$_1EEbOT_T0_.exit.loopexit.split.loop.exit110": ; preds = %208 - %236 = getelementptr inbounds nuw i8, ptr %.sroa.025.044.i.i.i.i.i.i, i64 12 +"_ZN4llvm6any_ofIRSt6vectorIjSaIjEEZNKS_20AArch64FrameLowering24determineStackHazardSlotERNS_15MachineFunctionERNS_9BitVectorEE3$_1EEbOT_T0_.exit.loopexit.split.loop.exit100": ; preds = %207 + %235 = getelementptr inbounds nuw i8, ptr %.sroa.025.044.i.i.i.i.i.i, i64 12 br label %"_ZN4llvm6any_ofIRSt6vectorIjSaIjEEZNKS_20AArch64FrameLowering24determineStackHazardSlotERNS_15MachineFunctionERNS_9BitVectorEE3$_1EEbOT_T0_.exit" -"_ZN4llvm6any_ofIRSt6vectorIjSaIjEEZNKS_20AArch64FrameLowering24determineStackHazardSlotERNS_15MachineFunctionERNS_9BitVectorEE3$_1EEbOT_T0_.exit": ; preds = %.lr.ph.i.i.i.i.i.i23, %"_ZN4llvm6any_ofIRSt6vectorIjSaIjEEZNKS_20AArch64FrameLowering24determineStackHazardSlotERNS_15MachineFunctionERNS_9BitVectorEE3$_1EEbOT_T0_.exit.loopexit.split.loop.exit", %"_ZN4llvm6any_ofIRSt6vectorIjSaIjEEZNKS_20AArch64FrameLowering24determineStackHazardSlotERNS_15MachineFunctionERNS_9BitVectorEE3$_1EEbOT_T0_.exit.loopexit.split.loop.exit108", %"_ZN4llvm6any_ofIRSt6vectorIjSaIjEEZNKS_20AArch64FrameLowering24determineStackHazardSlotERNS_15MachineFunctionERNS_9BitVectorEE3$_1EEbOT_T0_.exit.loopexit.split.loop.exit110", %._crit_edge.i.i.i.i.i.i, %218, %224, %230 - %.sroa.08.0.in.sroa.speculated.i.i.i.i.i.i = phi ptr [ %.sroa.025.0.lcssa.i.i.i.i.i.i, %218 ], [ %.sroa.025.1.i.i.i.i.i.i, %224 ], [ %.0.i.i.i.i.i21, %._crit_edge.i.i.i.i.i.i ], [ %spec.select.i.i.i.i.i.i, %230 ], [ %234, %"_ZN4llvm6any_ofIRSt6vectorIjSaIjEEZNKS_20AArch64FrameLowering24determineStackHazardSlotERNS_15MachineFunctionERNS_9BitVectorEE3$_1EEbOT_T0_.exit.loopexit.split.loop.exit" ], [ %235, %"_ZN4llvm6any_ofIRSt6vectorIjSaIjEEZNKS_20AArch64FrameLowering24determineStackHazardSlotERNS_15MachineFunctionERNS_9BitVectorEE3$_1EEbOT_T0_.exit.loopexit.split.loop.exit108" ], [ %236, %"_ZN4llvm6any_ofIRSt6vectorIjSaIjEEZNKS_20AArch64FrameLowering24determineStackHazardSlotERNS_15MachineFunctionERNS_9BitVectorEE3$_1EEbOT_T0_.exit.loopexit.split.loop.exit110" ], [ %.sroa.025.044.i.i.i.i.i.i, %.lr.ph.i.i.i.i.i.i23 ] +"_ZN4llvm6any_ofIRSt6vectorIjSaIjEEZNKS_20AArch64FrameLowering24determineStackHazardSlotERNS_15MachineFunctionERNS_9BitVectorEE3$_1EEbOT_T0_.exit": ; preds = %.lr.ph.i.i.i.i.i.i23, %"_ZN4llvm6any_ofIRSt6vectorIjSaIjEEZNKS_20AArch64FrameLowering24determineStackHazardSlotERNS_15MachineFunctionERNS_9BitVectorEE3$_1EEbOT_T0_.exit.loopexit.split.loop.exit", %"_ZN4llvm6any_ofIRSt6vectorIjSaIjEEZNKS_20AArch64FrameLowering24determineStackHazardSlotERNS_15MachineFunctionERNS_9BitVectorEE3$_1EEbOT_T0_.exit.loopexit.split.loop.exit98", %"_ZN4llvm6any_ofIRSt6vectorIjSaIjEEZNKS_20AArch64FrameLowering24determineStackHazardSlotERNS_15MachineFunctionERNS_9BitVectorEE3$_1EEbOT_T0_.exit.loopexit.split.loop.exit100", %._crit_edge.i.i.i.i.i.i, %217, %223, %229 + %.sroa.08.0.in.sroa.speculated.i.i.i.i.i.i = phi ptr [ %.sroa.025.0.lcssa.i.i.i.i.i.i, %217 ], [ %.sroa.025.1.i.i.i.i.i.i, %223 ], [ %.0.i.i.i.i.i21, %._crit_edge.i.i.i.i.i.i ], [ %spec.select.i.i.i.i.i.i, %229 ], [ %233, %"_ZN4llvm6any_ofIRSt6vectorIjSaIjEEZNKS_20AArch64FrameLowering24determineStackHazardSlotERNS_15MachineFunctionERNS_9BitVectorEE3$_1EEbOT_T0_.exit.loopexit.split.loop.exit" ], [ %234, %"_ZN4llvm6any_ofIRSt6vectorIjSaIjEEZNKS_20AArch64FrameLowering24determineStackHazardSlotERNS_15MachineFunctionERNS_9BitVectorEE3$_1EEbOT_T0_.exit.loopexit.split.loop.exit98" ], [ %235, %"_ZN4llvm6any_ofIRSt6vectorIjSaIjEEZNKS_20AArch64FrameLowering24determineStackHazardSlotERNS_15MachineFunctionERNS_9BitVectorEE3$_1EEbOT_T0_.exit.loopexit.split.loop.exit100" ], [ %.sroa.025.044.i.i.i.i.i.i, %.lr.ph.i.i.i.i.i.i23 ] %.not53 = icmp eq ptr %.0.i.i.i.i.i21, %.sroa.08.0.in.sroa.speculated.i.i.i.i.i.i %.not.i.i.i24 = icmp eq ptr %.sroa.037.0, null - br i1 %.not.i.i.i24, label %_ZNSt6vectorIjSaIjEED2Ev.exit, label %237 + br i1 %.not.i.i.i24, label %_ZNSt6vectorIjSaIjEED2Ev.exit, label %236 -237: ; preds = %"_ZN4llvm6any_ofIRSt6vectorIjSaIjEEZNKS_20AArch64FrameLowering24determineStackHazardSlotERNS_15MachineFunctionERNS_9BitVectorEE3$_1EEbOT_T0_.exit" - %238 = ptrtoint ptr %.sroa.11.0 to i64 - %239 = sub i64 %238, %.pre92 - call void @_ZdlPvm(ptr noundef nonnull %.sroa.037.0, i64 noundef %239) #26 +236: ; preds = %"_ZN4llvm6any_ofIRSt6vectorIjSaIjEEZNKS_20AArch64FrameLowering24determineStackHazardSlotERNS_15MachineFunctionERNS_9BitVectorEE3$_1EEbOT_T0_.exit" + %237 = ptrtoint ptr %.sroa.11.0 to i64 + %238 = sub i64 %237, %.pre88 + call void @_ZdlPvm(ptr noundef nonnull %.sroa.037.0, i64 noundef %238) #26 br label %_ZNSt6vectorIjSaIjEED2Ev.exit -_ZNSt6vectorIjSaIjEED2Ev.exit: ; preds = %237, %"_ZN4llvm6any_ofIRSt6vectorIjSaIjEEZNKS_20AArch64FrameLowering24determineStackHazardSlotERNS_15MachineFunctionERNS_9BitVectorEE3$_1EEbOT_T0_.exit" - br i1 %.not53, label %245, label %_ZNSt6vectorIjSaIjEED2Ev.exit.thread +_ZNSt6vectorIjSaIjEED2Ev.exit: ; preds = %236, %"_ZN4llvm6any_ofIRSt6vectorIjSaIjEEZNKS_20AArch64FrameLowering24determineStackHazardSlotERNS_15MachineFunctionERNS_9BitVectorEE3$_1EEbOT_T0_.exit" + br i1 %.not53, label %244, label %_ZNSt6vectorIjSaIjEED2Ev.exit.thread -_ZNSt6vectorIjSaIjEED2Ev.exit.thread: ; preds = %_ZNK4llvm19TargetRegisterClass8containsENS_8RegisterE.exit.i.i.i.i.i.i.i.i, %"_ZN4llvm6any_ofINS_14iterator_rangeINS_28const_set_bits_iterator_implINS_9BitVectorEEEEEZNKS_20AArch64FrameLowering24determineStackHazardSlotERNS_15MachineFunctionERS3_E3$_0EEbOT_T0_.exit", %_ZNSt6vectorIjSaIjEED2Ev.exit - %240 = load i32, ptr getelementptr inbounds nuw (i8, ptr @_ZL15StackHazardSize, i64 128), align 8 - %241 = zext i32 %240 to i64 - %242 = call noundef i32 @_ZN4llvm16MachineFrameInfo17CreateStackObjectEmNS_5AlignEbPKNS_10AllocaInstEh(ptr noundef nonnull align 8 dereferenceable(696) %25, i64 noundef %241, i8 4, i1 noundef zeroext false, ptr noundef null, i8 noundef zeroext 0) #25 - %243 = load ptr, ptr %10, align 8 - %244 = getelementptr inbounds nuw i8, ptr %243, i64 80 - store i32 %242, ptr %244, align 8 - br label %245 +_ZNSt6vectorIjSaIjEED2Ev.exit.thread: ; preds = %"_ZN9__gnu_cxx5__ops10_Iter_predIZNK4llvm20AArch64FrameLowering24determineStackHazardSlotERNS2_15MachineFunctionERNS2_9BitVectorEE3$_0EclINS2_28const_set_bits_iterator_implIS6_EEEEbT_.exit.i.i.i.i.i.i", %_ZNK4llvm19TargetRegisterClass8containsENS_8RegisterE.exit9.i.i.i.i.i.i.i.i, %_ZNK4llvm19TargetRegisterClass8containsENS_8RegisterE.exit6.i.i.i.i.i.i.i.i, %_ZNK4llvm19TargetRegisterClass8containsENS_8RegisterE.exit.i.i.i.i.i.i.i.i, %_ZNSt6vectorIjSaIjEED2Ev.exit + %239 = load i32, ptr getelementptr inbounds nuw (i8, ptr @_ZL15StackHazardSize, i64 128), align 8 + %240 = zext i32 %239 to i64 + %241 = call noundef i32 @_ZN4llvm16MachineFrameInfo17CreateStackObjectEmNS_5AlignEbPKNS_10AllocaInstEh(ptr noundef nonnull align 8 dereferenceable(696) %25, i64 noundef %240, i8 4, i1 noundef zeroext false, ptr noundef null, i8 noundef zeroext 0) #25 + %242 = load ptr, ptr %10, align 8 + %243 = getelementptr inbounds nuw i8, ptr %242, i64 80 + store i32 %241, ptr %243, align 8 + br label %244 -245: ; preds = %_ZNSt6vectorIjSaIjEED2Ev.exit, %19, %3, %9, %_ZNSt6vectorIjSaIjEED2Ev.exit.thread +244: ; preds = %_ZNSt6vectorIjSaIjEED2Ev.exit, %19, %3, %9, %_ZNSt6vectorIjSaIjEED2Ev.exit.thread ret void } diff --git a/bench/llvm/optimized/AArch64ISelLowering.cpp.ll b/bench/llvm/optimized/AArch64ISelLowering.cpp.ll index ebaff4be826..f33e01be649 100644 --- a/bench/llvm/optimized/AArch64ISelLowering.cpp.ll +++ b/bench/llvm/optimized/AArch64ISelLowering.cpp.ll @@ -84596,138 +84596,123 @@ _ZL14isWideTypeMaskN4llvm8ArrayRefIiEENS_3EVTERNS_15SmallVectorImplIiEE.exit: ; %128 = add i16 %124, -169 %spec.select.i.i = icmp ult i16 %128, 21 %or.cond101 = or i1 %spec.select.i.i, %or.cond4.i.i - br i1 %or.cond101, label %_ZNK4llvm3EVT15isFloatingPointEv.exit.thread, label %137 + br i1 %or.cond101, label %_ZNK4llvm3EVT15isFloatingPointEv.exit.thread, label %135 129: ; preds = %.loopexit %130 = call noundef zeroext i1 @_ZNK4llvm3EVT23isExtendedFloatingPointEv(ptr noundef nonnull align 8 dereferenceable(16) %7) #34 - br i1 %130, label %_ZNK4llvm3EVT15isFloatingPointEv.exit.thread, label %137 + br i1 %130, label %_ZNK4llvm3EVT15isFloatingPointEv.exit.thread, label %135 _ZNK4llvm3EVT15isFloatingPointEv.exit.thread: ; preds = %125, %129 %131 = shl nuw nsw i32 %43, 1 %132 = add nsw i32 %131, -16 %133 = call i32 @llvm.fshl.i32(i32 %132, i32 %132, i32 28) - %134 = icmp ult i32 %133, 5 - br i1 %134, label %switch.hole_check, label %135 - -135: ; preds = %switch.hole_check, %_ZNK4llvm3EVT15isFloatingPointEv.exit.thread - %136 = icmp eq i32 %43, 64 - call void @llvm.assume(i1 %136) + %134 = sext i32 %133 to i64 + %switch.gep = getelementptr inbounds [5 x i16], ptr @switch.table._ZNK4llvm21AArch64TargetLowering14shouldLocalizeERKNS_12MachineInstrEPKNS_19TargetTransformInfoE, i64 0, i64 %134 + %switch.load = load i16, ptr %switch.gep, align 2 br label %_ZN4llvm3MVT18getFloatingPointVTEj.exit -137: ; preds = %125, %129 - switch i32 %43, label %144 [ - i32 64, label %143 +135: ; preds = %125, %129 + switch i32 %43, label %142 [ + i32 64, label %141 i32 1, label %_ZN4llvm3MVT18getFloatingPointVTEj.exit - i32 2, label %138 - i32 4, label %139 - i32 8, label %140 - i32 16, label %141 - i32 32, label %142 + i32 2, label %136 + i32 4, label %137 + i32 8, label %138 + i32 16, label %139 + i32 32, label %140 ] -138: ; preds = %137 - br label %_ZN4llvm3MVT18getFloatingPointVTEj.exit - -139: ; preds = %137 +136: ; preds = %135 br label %_ZN4llvm3MVT18getFloatingPointVTEj.exit -140: ; preds = %137 +137: ; preds = %135 br label %_ZN4llvm3MVT18getFloatingPointVTEj.exit -141: ; preds = %137 +138: ; preds = %135 br label %_ZN4llvm3MVT18getFloatingPointVTEj.exit -142: ; preds = %137 +139: ; preds = %135 br label %_ZN4llvm3MVT18getFloatingPointVTEj.exit -143: ; preds = %137 +140: ; preds = %135 br label %_ZN4llvm3MVT18getFloatingPointVTEj.exit -144: ; preds = %137 +141: ; preds = %135 br label %_ZN4llvm3MVT18getFloatingPointVTEj.exit -switch.hole_check: ; preds = %_ZNK4llvm3EVT15isFloatingPointEv.exit.thread - %switch.maskindex = trunc nuw i32 %133 to i8 - %switch.shifted = lshr i8 27, %switch.maskindex - %switch.lobit = trunc i8 %switch.shifted to i1 - br i1 %switch.lobit, label %switch.lookup, label %135 - -switch.lookup: ; preds = %switch.hole_check - %145 = zext nneg i32 %133 to i64 - %switch.gep = getelementptr inbounds nuw [5 x i16], ptr @switch.table._ZNK4llvm21AArch64TargetLowering14shouldLocalizeERKNS_12MachineInstrEPKNS_19TargetTransformInfoE, i64 0, i64 %145 - %switch.load = load i16, ptr %switch.gep, align 2 +142: ; preds = %135 br label %_ZN4llvm3MVT18getFloatingPointVTEj.exit -_ZN4llvm3MVT18getFloatingPointVTEj.exit: ; preds = %switch.lookup, %137, %144, %143, %142, %141, %140, %139, %138, %135 - %.sroa.040.0 = phi i16 [ 15, %135 ], [ 0, %144 ], [ 9, %143 ], [ 8, %142 ], [ 7, %141 ], [ 6, %140 ], [ 5, %139 ], [ 4, %138 ], [ 3, %137 ], [ %switch.load, %switch.lookup ] - br i1 %.not.i81, label %_ZNK4llvm3EVT16isScalableVectorEv.exit.i, label %146 +_ZN4llvm3MVT18getFloatingPointVTEj.exit: ; preds = %_ZNK4llvm3EVT15isFloatingPointEv.exit.thread, %135, %142, %141, %140, %139, %138, %137, %136 + %.sroa.040.0 = phi i16 [ 0, %142 ], [ 9, %141 ], [ 8, %140 ], [ 7, %139 ], [ 6, %138 ], [ 5, %137 ], [ 4, %136 ], [ 3, %135 ], [ %switch.load, %_ZNK4llvm3EVT15isFloatingPointEv.exit.thread ] + br i1 %.not.i81, label %_ZNK4llvm3EVT16isScalableVectorEv.exit.i, label %143 -146: ; preds = %_ZN4llvm3MVT18getFloatingPointVTEj.exit - %147 = add i16 %124, -137 - %spec.select.i.i.i = icmp ult i16 %147, 53 - br i1 %spec.select.i.i.i, label %149, label %150 +143: ; preds = %_ZN4llvm3MVT18getFloatingPointVTEj.exit + %144 = add i16 %124, -137 + %spec.select.i.i.i = icmp ult i16 %144, 53 + br i1 %spec.select.i.i.i, label %146, label %147 _ZNK4llvm3EVT16isScalableVectorEv.exit.i: ; preds = %_ZN4llvm3MVT18getFloatingPointVTEj.exit - %148 = call noundef zeroext i1 @_ZNK4llvm3EVT24isExtendedScalableVectorEv(ptr noundef nonnull align 8 dereferenceable(16) %7) #34 - br i1 %148, label %149, label %.thread.i + %145 = call noundef zeroext i1 @_ZNK4llvm3EVT24isExtendedScalableVectorEv(ptr noundef nonnull align 8 dereferenceable(16) %7) #34 + br i1 %145, label %146, label %.thread.i -149: ; preds = %_ZNK4llvm3EVT16isScalableVectorEv.exit.i, %146 +146: ; preds = %_ZNK4llvm3EVT16isScalableVectorEv.exit.i, %143 call void @_ZN4llvm24reportInvalidSizeRequestEPKc(ptr noundef nonnull @.str.527) #33 %.pr.i = load i16, ptr %7, align 8 - br label %150 + br label %147 -150: ; preds = %149, %146 - %151 = phi i16 [ %124, %146 ], [ %.pr.i, %149 ] - %.not.i84 = icmp eq i16 %151, 0 - br i1 %.not.i84, label %.thread.i, label %152 +147: ; preds = %146, %143 + %148 = phi i16 [ %124, %143 ], [ %.pr.i, %146 ] + %.not.i84 = icmp eq i16 %148, 0 + br i1 %.not.i84, label %.thread.i, label %149 -152: ; preds = %150 - %153 = add i16 %151, -137 - %spec.select.i.i1.i = icmp ult i16 %153, 53 - br i1 %spec.select.i.i1.i, label %154, label %_ZNK4llvm3MVT20getVectorNumElementsEv.exit.i +149: ; preds = %147 + %150 = add i16 %148, -137 + %spec.select.i.i1.i = icmp ult i16 %150, 53 + br i1 %spec.select.i.i1.i, label %151, label %_ZNK4llvm3MVT20getVectorNumElementsEv.exit.i -154: ; preds = %152 +151: ; preds = %149 call void @_ZN4llvm24reportInvalidSizeRequestEPKc(ptr noundef nonnull @.str.528) #33 %.pre.i.i = load i16, ptr %7, align 8 br label %_ZNK4llvm3MVT20getVectorNumElementsEv.exit.i -_ZNK4llvm3MVT20getVectorNumElementsEv.exit.i: ; preds = %154, %152 - %155 = phi i16 [ %.pre.i.i, %154 ], [ %151, %152 ] - %156 = zext i16 %155 to i64 - %157 = add nsw i64 %156, -1 - %158 = getelementptr inbounds [240 x i16], ptr @_ZZNK4llvm3MVT23getVectorMinNumElementsEvE10NElemTable, i64 0, i64 %157 - %159 = load i16, ptr %158, align 2 - %160 = zext i16 %159 to i32 +_ZNK4llvm3MVT20getVectorNumElementsEv.exit.i: ; preds = %151, %149 + %152 = phi i16 [ %.pre.i.i, %151 ], [ %148, %149 ] + %153 = zext i16 %152 to i64 + %154 = add nsw i64 %153, -1 + %155 = getelementptr inbounds [240 x i16], ptr @_ZZNK4llvm3MVT23getVectorMinNumElementsEvE10NElemTable, i64 0, i64 %154 + %156 = load i16, ptr %155, align 2 + %157 = zext i16 %156 to i32 br label %_ZNK4llvm3EVT20getVectorNumElementsEv.exit -.thread.i: ; preds = %150, %_ZNK4llvm3EVT16isScalableVectorEv.exit.i - %161 = call noundef i32 @_ZNK4llvm3EVT28getExtendedVectorNumElementsEv(ptr noundef nonnull align 8 dereferenceable(16) %7) #34 +.thread.i: ; preds = %147, %_ZNK4llvm3EVT16isScalableVectorEv.exit.i + %158 = call noundef i32 @_ZNK4llvm3EVT28getExtendedVectorNumElementsEv(ptr noundef nonnull align 8 dereferenceable(16) %7) #34 br label %_ZNK4llvm3EVT20getVectorNumElementsEv.exit _ZNK4llvm3EVT20getVectorNumElementsEv.exit: ; preds = %_ZNK4llvm3MVT20getVectorNumElementsEv.exit.i, %.thread.i - %162 = phi i32 [ %160, %_ZNK4llvm3MVT20getVectorNumElementsEv.exit.i ], [ %161, %.thread.i ] - %163 = lshr i32 %162, 1 - %164 = call i16 @_ZN4llvm3MVT11getVectorVTES0_j(i16 %.sroa.040.0, i32 noundef %163) - %.not.i85 = icmp eq i16 %164, 0 + %159 = phi i32 [ %157, %_ZNK4llvm3MVT20getVectorNumElementsEv.exit.i ], [ %158, %.thread.i ] + %160 = lshr i32 %159, 1 + %161 = call i16 @_ZN4llvm3MVT11getVectorVTES0_j(i16 %.sroa.040.0, i32 noundef %160) + %.not.i85 = icmp eq i16 %161, 0 br i1 %.not.i85, label %_ZNK4llvm18TargetLoweringBase11isTypeLegalENS_3EVTE.exit.thread, label %_ZNK4llvm18TargetLoweringBase11isTypeLegalENS_3EVTE.exit _ZNK4llvm18TargetLoweringBase11isTypeLegalENS_3EVTE.exit: ; preds = %_ZNK4llvm3EVT20getVectorNumElementsEv.exit - %165 = getelementptr inbounds nuw i8, ptr %2, i64 16 - %166 = load ptr, ptr %165, align 8 - %167 = getelementptr inbounds nuw i8, ptr %166, i64 104 - %168 = zext i16 %164 to i64 - %169 = getelementptr inbounds nuw [233 x ptr], ptr %167, i64 0, i64 %168 - %170 = load ptr, ptr %169, align 8 - %.not = icmp eq ptr %170, null - br i1 %.not, label %_ZNK4llvm18TargetLoweringBase11isTypeLegalENS_3EVTE.exit.thread, label %171 - -171: ; preds = %_ZNK4llvm18TargetLoweringBase11isTypeLegalENS_3EVTE.exit - %172 = call { ptr, i32 } @_ZN4llvm12SelectionDAG10getBitcastENS_3EVTENS_7SDValueE(ptr noundef nonnull align 8 dereferenceable(904) %2, i16 %164, ptr null, ptr %.sroa.054.0.copyload, i32 %.sroa.455.0.copyload) #33 - %.fca.0.extract24 = extractvalue { ptr, i32 } %172, 0 - %.fca.1.extract25 = extractvalue { ptr, i32 } %172, 1 - %173 = call { ptr, i32 } @_ZN4llvm12SelectionDAG10getBitcastENS_3EVTENS_7SDValueE(ptr noundef nonnull align 8 dereferenceable(904) %2, i16 %164, ptr null, ptr %.sroa.048.0.copyload, i32 %.sroa.4.0.copyload) #33 - %.fca.0.extract14 = extractvalue { ptr, i32 } %173, 0 - %.fca.1.extract15 = extractvalue { ptr, i32 } %173, 1 + %162 = getelementptr inbounds nuw i8, ptr %2, i64 16 + %163 = load ptr, ptr %162, align 8 + %164 = getelementptr inbounds nuw i8, ptr %163, i64 104 + %165 = zext i16 %161 to i64 + %166 = getelementptr inbounds nuw [233 x ptr], ptr %164, i64 0, i64 %165 + %167 = load ptr, ptr %166, align 8 + %.not = icmp eq ptr %167, null + br i1 %.not, label %_ZNK4llvm18TargetLoweringBase11isTypeLegalENS_3EVTE.exit.thread, label %168 + +168: ; preds = %_ZNK4llvm18TargetLoweringBase11isTypeLegalENS_3EVTE.exit + %169 = call { ptr, i32 } @_ZN4llvm12SelectionDAG10getBitcastENS_3EVTENS_7SDValueE(ptr noundef nonnull align 8 dereferenceable(904) %2, i16 %161, ptr null, ptr %.sroa.054.0.copyload, i32 %.sroa.455.0.copyload) #33 + %.fca.0.extract24 = extractvalue { ptr, i32 } %169, 0 + %.fca.1.extract25 = extractvalue { ptr, i32 } %169, 1 + %170 = call { ptr, i32 } @_ZN4llvm12SelectionDAG10getBitcastENS_3EVTENS_7SDValueE(ptr noundef nonnull align 8 dereferenceable(904) %2, i16 %161, ptr null, ptr %.sroa.048.0.copyload, i32 %.sroa.4.0.copyload) #33 + %.fca.0.extract14 = extractvalue { ptr, i32 } %170, 0 + %.fca.1.extract15 = extractvalue { ptr, i32 } %170, 1 %.sroa.011.0.copyload = load i16, ptr %7, align 8 %.sroa.213.0.copyload = load ptr, ptr %23, align 8 store ptr %.fca.0.extract14, ptr %10, align 8 @@ -84735,43 +84720,43 @@ _ZNK4llvm18TargetLoweringBase11isTypeLegalENS_3EVTE.exit: ; preds = %_ZNK4llvm3E store i32 %.fca.1.extract15, ptr %.sroa.4.0..sroa_idx50, align 8 %.sroa.6.0..sroa_idx52 = getelementptr inbounds nuw i8, ptr %10, i64 12 store i32 %.sroa.6.0.copyload, ptr %.sroa.6.0..sroa_idx52, align 4 - %174 = load ptr, ptr %9, align 8 - store ptr %174, ptr %11, align 8 - %175 = getelementptr inbounds nuw i8, ptr %11, i64 8 - %176 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(16) %9) #33 - store i64 %176, ptr %175, align 8 - %177 = call { ptr, i32 } @_ZN4llvm12SelectionDAG16getVectorShuffleENS_3EVTERKNS_5SDLocENS_7SDValueES5_NS_8ArrayRefIiEE(ptr noundef nonnull align 8 dereferenceable(904) %2, i16 %164, ptr null, ptr noundef nonnull align 8 dereferenceable(12) %6, ptr %.fca.0.extract24, i32 %.fca.1.extract25, ptr noundef nonnull byval(%"class.llvm::SDValue") align 8 %10, ptr noundef nonnull byval(%"class.llvm::ArrayRef.264") align 8 %11) #33 - %.fca.0.extract2 = extractvalue { ptr, i32 } %177, 0 - %.fca.1.extract3 = extractvalue { ptr, i32 } %177, 1 - %178 = call { ptr, i32 } @_ZN4llvm12SelectionDAG10getBitcastENS_3EVTENS_7SDValueE(ptr noundef nonnull align 8 dereferenceable(904) %2, i16 %.sroa.011.0.copyload, ptr %.sroa.213.0.copyload, ptr %.fca.0.extract2, i32 %.fca.1.extract3) #33 - %.fca.0.extract = extractvalue { ptr, i32 } %178, 0 - %.fca.1.extract = extractvalue { ptr, i32 } %178, 1 + %171 = load ptr, ptr %9, align 8 + store ptr %171, ptr %11, align 8 + %172 = getelementptr inbounds nuw i8, ptr %11, i64 8 + %173 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(16) %9) #33 + store i64 %173, ptr %172, align 8 + %174 = call { ptr, i32 } @_ZN4llvm12SelectionDAG16getVectorShuffleENS_3EVTERKNS_5SDLocENS_7SDValueES5_NS_8ArrayRefIiEE(ptr noundef nonnull align 8 dereferenceable(904) %2, i16 %161, ptr null, ptr noundef nonnull align 8 dereferenceable(12) %6, ptr %.fca.0.extract24, i32 %.fca.1.extract25, ptr noundef nonnull byval(%"class.llvm::SDValue") align 8 %10, ptr noundef nonnull byval(%"class.llvm::ArrayRef.264") align 8 %11) #33 + %.fca.0.extract2 = extractvalue { ptr, i32 } %174, 0 + %.fca.1.extract3 = extractvalue { ptr, i32 } %174, 1 + %175 = call { ptr, i32 } @_ZN4llvm12SelectionDAG10getBitcastENS_3EVTENS_7SDValueE(ptr noundef nonnull align 8 dereferenceable(904) %2, i16 %.sroa.011.0.copyload, ptr %.sroa.213.0.copyload, ptr %.fca.0.extract2, i32 %.fca.1.extract3) #33 + %.fca.0.extract = extractvalue { ptr, i32 } %175, 0 + %.fca.1.extract = extractvalue { ptr, i32 } %175, 1 br label %_ZNK4llvm18TargetLoweringBase11isTypeLegalENS_3EVTE.exit.thread -_ZNK4llvm18TargetLoweringBase11isTypeLegalENS_3EVTE.exit.thread: ; preds = %_ZNK4llvm3EVT20getVectorNumElementsEv.exit, %_ZNK4llvm18TargetLoweringBase11isTypeLegalENS_3EVTE.exit, %_ZL14isWideTypeMaskN4llvm8ArrayRefIiEENS_3EVTERNS_15SmallVectorImplIiEE.exit, %171 - %.sroa.6.1 = phi i32 [ %.fca.1.extract, %171 ], [ 0, %_ZL14isWideTypeMaskN4llvm8ArrayRefIiEENS_3EVTERNS_15SmallVectorImplIiEE.exit ], [ 0, %_ZNK4llvm18TargetLoweringBase11isTypeLegalENS_3EVTE.exit ], [ 0, %_ZNK4llvm3EVT20getVectorNumElementsEv.exit ] - %.sroa.096.1 = phi ptr [ %.fca.0.extract, %171 ], [ null, %_ZL14isWideTypeMaskN4llvm8ArrayRefIiEENS_3EVTERNS_15SmallVectorImplIiEE.exit ], [ null, %_ZNK4llvm18TargetLoweringBase11isTypeLegalENS_3EVTE.exit ], [ null, %_ZNK4llvm3EVT20getVectorNumElementsEv.exit ] - %179 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(48) %9) #33 - %180 = load ptr, ptr %9, align 8 - %181 = icmp eq ptr %180, %60 - br i1 %181, label %_ZN4llvm11SmallVectorIiLj8EED2Ev.exit, label %182 +_ZNK4llvm18TargetLoweringBase11isTypeLegalENS_3EVTE.exit.thread: ; preds = %_ZNK4llvm3EVT20getVectorNumElementsEv.exit, %_ZNK4llvm18TargetLoweringBase11isTypeLegalENS_3EVTE.exit, %_ZL14isWideTypeMaskN4llvm8ArrayRefIiEENS_3EVTERNS_15SmallVectorImplIiEE.exit, %168 + %.sroa.6.1 = phi i32 [ %.fca.1.extract, %168 ], [ 0, %_ZL14isWideTypeMaskN4llvm8ArrayRefIiEENS_3EVTERNS_15SmallVectorImplIiEE.exit ], [ 0, %_ZNK4llvm18TargetLoweringBase11isTypeLegalENS_3EVTE.exit ], [ 0, %_ZNK4llvm3EVT20getVectorNumElementsEv.exit ] + %.sroa.096.1 = phi ptr [ %.fca.0.extract, %168 ], [ null, %_ZL14isWideTypeMaskN4llvm8ArrayRefIiEENS_3EVTERNS_15SmallVectorImplIiEE.exit ], [ null, %_ZNK4llvm18TargetLoweringBase11isTypeLegalENS_3EVTE.exit ], [ null, %_ZNK4llvm3EVT20getVectorNumElementsEv.exit ] + %176 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(48) %9) #33 + %177 = load ptr, ptr %9, align 8 + %178 = icmp eq ptr %177, %60 + br i1 %178, label %_ZN4llvm11SmallVectorIiLj8EED2Ev.exit, label %179 -182: ; preds = %_ZNK4llvm18TargetLoweringBase11isTypeLegalENS_3EVTE.exit.thread - call void @free(ptr noundef %180) #33 +179: ; preds = %_ZNK4llvm18TargetLoweringBase11isTypeLegalENS_3EVTE.exit.thread + call void @free(ptr noundef %177) #33 br label %_ZN4llvm11SmallVectorIiLj8EED2Ev.exit -_ZN4llvm11SmallVectorIiLj8EED2Ev.exit: ; preds = %182, %_ZNK4llvm18TargetLoweringBase11isTypeLegalENS_3EVTE.exit.thread, %_ZNK4llvm19ShuffleVectorSDNode7getMaskEv.exit - %.sroa.6.0 = phi i32 [ 0, %_ZNK4llvm19ShuffleVectorSDNode7getMaskEv.exit ], [ %.sroa.6.1, %_ZNK4llvm18TargetLoweringBase11isTypeLegalENS_3EVTE.exit.thread ], [ %.sroa.6.1, %182 ] - %.sroa.096.0 = phi ptr [ null, %_ZNK4llvm19ShuffleVectorSDNode7getMaskEv.exit ], [ %.sroa.096.1, %_ZNK4llvm18TargetLoweringBase11isTypeLegalENS_3EVTE.exit.thread ], [ %.sroa.096.1, %182 ] - %183 = load ptr, ptr %6, align 8 - %.not.i.i.i.i.i = icmp eq ptr %183, null - br i1 %.not.i.i.i.i.i, label %_ZN4llvm5SDLocD2Ev.exit, label %184 +_ZN4llvm11SmallVectorIiLj8EED2Ev.exit: ; preds = %179, %_ZNK4llvm18TargetLoweringBase11isTypeLegalENS_3EVTE.exit.thread, %_ZNK4llvm19ShuffleVectorSDNode7getMaskEv.exit + %.sroa.6.0 = phi i32 [ 0, %_ZNK4llvm19ShuffleVectorSDNode7getMaskEv.exit ], [ %.sroa.6.1, %_ZNK4llvm18TargetLoweringBase11isTypeLegalENS_3EVTE.exit.thread ], [ %.sroa.6.1, %179 ] + %.sroa.096.0 = phi ptr [ null, %_ZNK4llvm19ShuffleVectorSDNode7getMaskEv.exit ], [ %.sroa.096.1, %_ZNK4llvm18TargetLoweringBase11isTypeLegalENS_3EVTE.exit.thread ], [ %.sroa.096.1, %179 ] + %180 = load ptr, ptr %6, align 8 + %.not.i.i.i.i.i = icmp eq ptr %180, null + br i1 %.not.i.i.i.i.i, label %_ZN4llvm5SDLocD2Ev.exit, label %181 -184: ; preds = %_ZN4llvm11SmallVectorIiLj8EED2Ev.exit - call void @_ZN4llvm16MetadataTracking7untrackEPvRNS_8MetadataE(ptr noundef nonnull align 8 dereferenceable(12) %6, ptr noundef nonnull align 4 dereferenceable(8) %183) #33 +181: ; preds = %_ZN4llvm11SmallVectorIiLj8EED2Ev.exit + call void @_ZN4llvm16MetadataTracking7untrackEPvRNS_8MetadataE(ptr noundef nonnull align 8 dereferenceable(12) %6, ptr noundef nonnull align 4 dereferenceable(8) %180) #33 br label %_ZN4llvm5SDLocD2Ev.exit -_ZN4llvm5SDLocD2Ev.exit: ; preds = %_ZN4llvm11SmallVectorIiLj8EED2Ev.exit, %184 +_ZN4llvm5SDLocD2Ev.exit: ; preds = %_ZN4llvm11SmallVectorIiLj8EED2Ev.exit, %181 %.fca.0.insert = insertvalue { ptr, i32 } poison, ptr %.sroa.096.0, 0 %.fca.1.insert = insertvalue { ptr, i32 } %.fca.0.insert, i32 %.sroa.6.0, 1 ret { ptr, i32 } %.fca.1.insert diff --git a/bench/llvm/optimized/AArch64LegalizerInfo.cpp.ll b/bench/llvm/optimized/AArch64LegalizerInfo.cpp.ll index 00b31fd511e..e2685c11d14 100644 --- a/bench/llvm/optimized/AArch64LegalizerInfo.cpp.ll +++ b/bench/llvm/optimized/AArch64LegalizerInfo.cpp.ll @@ -23445,53 +23445,36 @@ define linkonce_odr hidden noundef zeroext i1 @_ZNSt17_Function_handlerIFbRKN4ll br i1 %.not.i.i.i, label %18, label %_ZSt10__invoke_rIbRZN4llvm15LegalizeRuleSet30widenVectorEltsToVectorMinSizeEjjEUlRKNS0_13LegalityQueryEE_JS4_EENSt9enable_ifIX16is_invocable_r_vIT_T0_DpT1_EES8_E4typeEOS9_DpOSA_.exit 18: ; preds = %14 - %19 = and i64 %9, 6 - %20 = icmp eq i64 %19, 2 - %21 = and i64 %9, 1 - %22 = icmp ne i64 %21, 0 - %or.cond14.i.i.i.i = or i1 %22, %20 - br i1 %or.cond14.i.i.i.i, label %23, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i.i.i - -23: ; preds = %18 - %.not.i1.i.i.i.i = icmp eq i64 %21, 0 - br i1 %.not.i1.i.i.i.i, label %26, label %24 - -24: ; preds = %23 - %25 = lshr i64 %9, 3 - br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit.i.i.i - -26: ; preds = %23 - %27 = lshr i64 %9, 19 - %28 = and i64 %27, 65535 - %spec.select.i.i2.i.i.i = select i1 %.not.i.i.i.i, i64 %27, i64 %28 - br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit.i.i.i + %19 = and i64 %9, 1 + %.not5.i.i.i = icmp eq i64 %19, 0 + %20 = lshr i64 %9, 3 + br i1 %.not5.i.i.i, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i.i.i, label %_ZNK4llvm3LLT13getSizeInBitsEv.exit.i.i.i _ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i.i.i: ; preds = %18 - %29 = lshr i64 %9, 3 - %.sroa.0.0.insert.ext.i.i.i.i.i.i = and i64 %29, 65535 - %30 = lshr i64 %9, 19 - %31 = and i64 %30, 65535 - %spec.select.i10.i.i.i.i = select i1 %.not.i.i.i.i, i64 %30, i64 %31 - %32 = mul nuw nsw i64 %spec.select.i10.i.i.i.i, %.sroa.0.0.insert.ext.i.i.i.i.i.i + %.sroa.0.0.insert.ext.i.i.i.i.i.i = and i64 %20, 65535 + %21 = lshr i64 %9, 19 + %22 = and i64 %21, 65535 + %spec.select.i10.i.i.i.i = select i1 %.not.i.i.i.i, i64 %21, i64 %22 + %23 = mul nuw nsw i64 %spec.select.i10.i.i.i.i, %.sroa.0.0.insert.ext.i.i.i.i.i.i br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit.i.i.i -_ZNK4llvm3LLT13getSizeInBitsEv.exit.i.i.i: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i.i.i, %26, %24 - %.sroa.012.0.in.i.i.i.i = phi i64 [ %32, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i.i.i ], [ %25, %24 ], [ %spec.select.i.i2.i.i.i, %26 ] +_ZNK4llvm3LLT13getSizeInBitsEv.exit.i.i.i: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i.i.i, %18 + %.sroa.012.0.in.i.i.i.i = phi i64 [ %23, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i.i.i ], [ %20, %18 ] %.sroa.012.0.i.i.i.i = and i64 %.sroa.012.0.in.i.i.i.i, 4294967295 store i64 %.sroa.012.0.i.i.i.i, ptr %3, align 8 %.sroa.2.0..sroa_idx.i.i.i = getelementptr inbounds nuw i8, ptr %3, i64 8 store i8 0, ptr %.sroa.2.0..sroa_idx.i.i.i, align 8 - %33 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %3) #20 - %34 = getelementptr inbounds nuw i8, ptr %0, i64 4 - %35 = load i32, ptr %34, align 4 - %36 = zext i32 %35 to i64 - %37 = icmp ult i64 %33, %36 + %24 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %3) #20 + %25 = getelementptr inbounds nuw i8, ptr %0, i64 4 + %26 = load i32, ptr %25, align 4 + %27 = zext i32 %26 to i64 + %28 = icmp ult i64 %24, %27 br label %_ZSt10__invoke_rIbRZN4llvm15LegalizeRuleSet30widenVectorEltsToVectorMinSizeEjjEUlRKNS0_13LegalityQueryEE_JS4_EENSt9enable_ifIX16is_invocable_r_vIT_T0_DpT1_EES8_E4typeEOS9_DpOSA_.exit _ZSt10__invoke_rIbRZN4llvm15LegalizeRuleSet30widenVectorEltsToVectorMinSizeEjjEUlRKNS0_13LegalityQueryEE_JS4_EENSt9enable_ifIX16is_invocable_r_vIT_T0_DpT1_EES8_E4typeEOS9_DpOSA_.exit: ; preds = %2, %14, %_ZNK4llvm3LLT13getSizeInBitsEv.exit.i.i.i - %38 = phi i1 [ false, %14 ], [ false, %2 ], [ %37, %_ZNK4llvm3LLT13getSizeInBitsEv.exit.i.i.i ] + %29 = phi i1 [ false, %14 ], [ false, %2 ], [ %28, %_ZNK4llvm3LLT13getSizeInBitsEv.exit.i.i.i ] call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %3) - ret i1 %38 + ret i1 %29 } ; Function Attrs: mustprogress nounwind uwtable diff --git a/bench/llvm/optimized/AArch64PostLegalizerCombiner.cpp.ll b/bench/llvm/optimized/AArch64PostLegalizerCombiner.cpp.ll index 854c337cc01..aeeb1f4439a 100644 --- a/bench/llvm/optimized/AArch64PostLegalizerCombiner.cpp.ll +++ b/bench/llvm/optimized/AArch64PostLegalizerCombiner.cpp.ll @@ -6466,210 +6466,178 @@ _ZNK4llvm3LLT16isScalableVectorEv.exit.i: ; preds = %_ZNK4llvm19MachineR br i1 %.not52.i, label %43, label %_ZN12_GLOBAL__N_122matchSplitStoreZero128ERN4llvm12MachineInstrERNS0_19MachineRegisterInfoE.exit 43: ; preds = %_ZNK4llvm3LLT16isScalableVectorEv.exit.i - %44 = and i64 %35, 6 - %45 = icmp eq i64 %44, 2 - %46 = and i64 %35, 1 - %47 = icmp ne i64 %46, 0 - %or.cond14.i.i = or i1 %47, %45 - br i1 %or.cond14.i.i, label %48, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i - -48: ; preds = %43 - %.not.i1.i.i = icmp eq i64 %46, 0 - br i1 %.not.i1.i.i, label %51, label %49 - -49: ; preds = %48 - %50 = lshr i64 %35, 3 - br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit.i - -51: ; preds = %48 - %52 = lshr i64 %35, 19 - %53 = and i64 %52, 65535 - %spec.select.i.i19.i = select i1 %.not.i.i.i, i64 %52, i64 %53 - br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit.i + %44 = and i64 %35, 1 + %.not53.i = icmp eq i64 %44, 0 + %45 = lshr i64 %35, 3 + br i1 %.not53.i, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i, label %_ZNK4llvm3LLT13getSizeInBitsEv.exit.i _ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i: ; preds = %43 - %54 = lshr i64 %35, 3 - %.sroa.0.0.insert.ext.i.i.i.i = and i64 %54, 65535 - %55 = lshr i64 %35, 19 - %56 = and i64 %55, 65535 - %spec.select.i10.i.i = select i1 %.not.i.i.i, i64 %55, i64 %56 - %57 = mul nuw nsw i64 %spec.select.i10.i.i, %.sroa.0.0.insert.ext.i.i.i.i + %.sroa.0.0.insert.ext.i.i.i.i = and i64 %45, 65535 + %46 = lshr i64 %35, 19 + %47 = and i64 %46, 65535 + %spec.select.i10.i.i = select i1 %.not.i.i.i, i64 %46, i64 %47 + %48 = mul nuw nsw i64 %spec.select.i10.i.i, %.sroa.0.0.insert.ext.i.i.i.i br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit.i -_ZNK4llvm3LLT13getSizeInBitsEv.exit.i: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i, %51, %49 - %.sroa.012.0.in.i.i = phi i64 [ %57, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i ], [ %50, %49 ], [ %spec.select.i.i19.i, %51 ] +_ZNK4llvm3LLT13getSizeInBitsEv.exit.i: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i, %43 + %.sroa.012.0.in.i.i = phi i64 [ %48, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i ], [ %45, %43 ] %.sroa.012.0.i.i = and i64 %.sroa.012.0.in.i.i, 4294967295 store i64 %.sroa.012.0.i.i, ptr %1, align 8 %.sroa.26.0..sroa_idx.i = getelementptr inbounds nuw i8, ptr %1, i64 8 store i8 0, ptr %.sroa.26.0..sroa_idx.i, align 8 - %58 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %1) #22 - %.not.i = icmp eq i64 %58, 128 - br i1 %.not.i, label %59, label %_ZN12_GLOBAL__N_122matchSplitStoreZero128ERN4llvm12MachineInstrERNS0_19MachineRegisterInfoE.exit - -59: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit.i - %60 = load i64, ptr %3, align 8 - %61 = icmp ugt i64 %60, 7 - call void @llvm.assume(i1 %61) - %62 = and i64 %60, 7 - %switch.i.i.i = icmp eq i64 %62, 0 - br i1 %switch.i.i.i, label %63, label %65 - -63: ; preds = %59 - %64 = inttoptr i64 %60 to ptr - store ptr %64, ptr %3, align 8 + %49 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %1) #22 + %.not.i = icmp eq i64 %49, 128 + br i1 %.not.i, label %50, label %_ZN12_GLOBAL__N_122matchSplitStoreZero128ERN4llvm12MachineInstrERNS0_19MachineRegisterInfoE.exit + +50: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit.i + %51 = load i64, ptr %3, align 8 + %52 = icmp ugt i64 %51, 7 + call void @llvm.assume(i1 %52) + %53 = and i64 %51, 7 + %switch.i.i.i = icmp eq i64 %53, 0 + br i1 %switch.i.i.i, label %54, label %56 + +54: ; preds = %50 + %55 = inttoptr i64 %51 to ptr + store ptr %55, ptr %3, align 8 br label %_ZNK4llvm13GMemOperation6getMMOEv.exit.i.i -65: ; preds = %59 - %66 = and i64 %60, -8 - %67 = inttoptr i64 %66 to ptr - %68 = getelementptr inbounds nuw i8, ptr %67, i64 16 - %.pre.i.i.i = load ptr, ptr %68, align 8 +56: ; preds = %50 + %57 = and i64 %51, -8 + %58 = inttoptr i64 %57 to ptr + %59 = getelementptr inbounds nuw i8, ptr %58, i64 16 + %.pre.i.i.i = load ptr, ptr %59, align 8 br label %_ZNK4llvm13GMemOperation6getMMOEv.exit.i.i -_ZNK4llvm13GMemOperation6getMMOEv.exit.i.i: ; preds = %65, %63 - %69 = phi ptr [ %64, %63 ], [ %.pre.i.i.i, %65 ] - %70 = getelementptr inbounds nuw i8, ptr %69, i64 24 - %71 = load i64, ptr %70, align 8 - %72 = and i64 %71, -7 - %spec.select.i.not.i.i.i = icmp eq i64 %72, 0 - br i1 %spec.select.i.not.i.i.i, label %_ZNK4llvm13GMemOperation16getMemSizeInBitsEv.exit.i, label %73 - -73: ; preds = %_ZNK4llvm13GMemOperation6getMMOEv.exit.i.i - %74 = and i64 %71, 2 - %.not.i.not.i.i.i.i = icmp eq i64 %74, 0 - %75 = and i64 %71, 6 - %76 = icmp eq i64 %75, 2 - %77 = and i64 %71, 1 - %78 = icmp ne i64 %77, 0 - %or.cond14.i.i.i.i = or i1 %78, %76 - br i1 %or.cond14.i.i.i.i, label %79, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i.i.i - -79: ; preds = %73 - %.not.i1.i.i.i.i = icmp eq i64 %77, 0 - br i1 %.not.i1.i.i.i.i, label %82, label %80 - -80: ; preds = %79 - %81 = lshr i64 %71, 3 +_ZNK4llvm13GMemOperation6getMMOEv.exit.i.i: ; preds = %56, %54 + %60 = phi ptr [ %55, %54 ], [ %.pre.i.i.i, %56 ] + %61 = getelementptr inbounds nuw i8, ptr %60, i64 24 + %62 = load i64, ptr %61, align 8 + %63 = and i64 %62, -7 + %spec.select.i.not.i.i.i = icmp eq i64 %63, 0 + br i1 %spec.select.i.not.i.i.i, label %_ZNK4llvm13GMemOperation16getMemSizeInBitsEv.exit.i, label %64 + +64: ; preds = %_ZNK4llvm13GMemOperation6getMMOEv.exit.i.i + %65 = and i64 %62, 2 + %.not.i.not.i.i.i.i = icmp eq i64 %65, 0 + %66 = and i64 %62, 6 + %67 = icmp eq i64 %66, 2 + %68 = and i64 %62, 1 + %69 = icmp ne i64 %68, 0 + %or.cond14.i.i.i.i = or i1 %69, %67 + br i1 %or.cond14.i.i.i.i, label %70, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i.i.i + +70: ; preds = %64 + %.not.i1.i.i.i.i = icmp eq i64 %68, 0 + br i1 %.not.i1.i.i.i.i, label %73, label %71 + +71: ; preds = %70 + %72 = lshr i64 %62, 3 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit.i.i.i -82: ; preds = %79 - %83 = and i64 %71, 4 - %.not1.i2.i.i.i.i = icmp eq i64 %83, 0 - br i1 %.not1.i2.i.i.i.i, label %87, label %84 +73: ; preds = %70 + %74 = and i64 %62, 4 + %.not1.i2.i.i.i.i = icmp eq i64 %74, 0 + br i1 %.not1.i2.i.i.i.i, label %78, label %75 -84: ; preds = %82 - %85 = lshr i64 %71, 19 - %86 = and i64 %85, 65535 - %spec.select.i.i.i.i.i = select i1 %.not.i.not.i.i.i.i, i64 %85, i64 %86 +75: ; preds = %73 + %76 = lshr i64 %62, 19 + %77 = and i64 %76, 65535 + %spec.select.i.i.i.i.i = select i1 %.not.i.not.i.i.i.i, i64 %76, i64 %77 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit.i.i.i -87: ; preds = %82 - %88 = lshr i64 %71, 3 - %89 = and i64 %88, 65535 +78: ; preds = %73 + %79 = lshr i64 %62, 3 + %80 = and i64 %79, 65535 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit.i.i.i -_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i.i.i: ; preds = %73 - %90 = lshr i64 %71, 3 - %.sroa.0.0.insert.ext.i.i.i.i.i.i = and i64 %90, 65535 - %91 = select i1 %.not.i.not.i.i.i.i, i64 2251799813685248, i64 576460752303423488 - %92 = and i64 %91, %71 - %.not1.i4.i.not.i.i.i = icmp eq i64 %92, 0 - %93 = and i64 %71, 4 - %.not1.i8.i.i.i.i = icmp eq i64 %93, 0 - %94 = lshr i64 %71, 19 - %95 = and i64 %94, 65535 - %spec.select.i10.i.i.i.i = select i1 %.not.i.not.i.i.i.i, i64 %94, i64 %95 +_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i.i.i: ; preds = %64 + %81 = lshr i64 %62, 3 + %.sroa.0.0.insert.ext.i.i.i.i.i.i = and i64 %81, 65535 + %82 = select i1 %.not.i.not.i.i.i.i, i64 2251799813685248, i64 576460752303423488 + %83 = and i64 %82, %62 + %.not1.i4.i.not.i.i.i = icmp eq i64 %83, 0 + %84 = and i64 %62, 4 + %.not1.i8.i.i.i.i = icmp eq i64 %84, 0 + %85 = lshr i64 %62, 19 + %86 = and i64 %85, 65535 + %spec.select.i10.i.i.i.i = select i1 %.not.i.not.i.i.i.i, i64 %85, i64 %86 %.0.in.i6.i.i.i.i = select i1 %.not1.i8.i.i.i.i, i64 %.sroa.0.0.insert.ext.i.i.i.i.i.i, i64 %spec.select.i10.i.i.i.i - %96 = mul nuw nsw i64 %.0.in.i6.i.i.i.i, %.sroa.0.0.insert.ext.i.i.i.i.i.i - %97 = select i1 %.not1.i4.i.not.i.i.i, i64 0, i64 4611686018427387904 + %87 = mul nuw nsw i64 %.0.in.i6.i.i.i.i, %.sroa.0.0.insert.ext.i.i.i.i.i.i + %88 = select i1 %.not1.i4.i.not.i.i.i, i64 0, i64 4611686018427387904 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit.i.i.i -_ZNK4llvm3LLT13getSizeInBitsEv.exit.i.i.i: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i.i.i, %87, %84, %80 - %.sroa.012.0.in.i.i.i.i = phi i64 [ %96, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i.i.i ], [ %81, %80 ], [ %89, %87 ], [ %spec.select.i.i.i.i.i, %84 ] - %.sroa.3.0.i.i.i.i = phi i64 [ %97, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i.i.i ], [ 0, %80 ], [ 0, %87 ], [ 0, %84 ] +_ZNK4llvm3LLT13getSizeInBitsEv.exit.i.i.i: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i.i.i, %78, %75, %71 + %.sroa.012.0.in.i.i.i.i = phi i64 [ %87, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i.i.i ], [ %72, %71 ], [ %80, %78 ], [ %spec.select.i.i.i.i.i, %75 ] + %.sroa.3.0.i.i.i.i = phi i64 [ %88, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i.i.i ], [ 0, %71 ], [ 0, %78 ], [ 0, %75 ] %.sroa.012.0.i.i.i.i = and i64 %.sroa.012.0.in.i.i.i.i, 4294967295 - %98 = or disjoint i64 %.sroa.3.0.i.i.i.i, %.sroa.012.0.i.i.i.i + %89 = or disjoint i64 %.sroa.3.0.i.i.i.i, %.sroa.012.0.i.i.i.i br label %_ZNK4llvm13GMemOperation16getMemSizeInBitsEv.exit.i _ZNK4llvm13GMemOperation16getMemSizeInBitsEv.exit.i: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit.i.i.i, %_ZNK4llvm13GMemOperation6getMMOEv.exit.i.i - %.sroa.03.0.i.i.i = phi i64 [ %98, %_ZNK4llvm3LLT13getSizeInBitsEv.exit.i.i.i ], [ -1, %_ZNK4llvm13GMemOperation6getMMOEv.exit.i.i ] - br i1 %or.cond14.i.i, label %99, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i24.i - -99: ; preds = %_ZNK4llvm13GMemOperation16getMemSizeInBitsEv.exit.i - %.not.i1.i35.i = icmp eq i64 %46, 0 - br i1 %.not.i1.i35.i, label %102, label %100 - -100: ; preds = %99 - %101 = lshr i64 %35, 3 - br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit38.i - -102: ; preds = %99 - %103 = lshr i64 %35, 19 - %104 = and i64 %103, 65535 - %spec.select.i.i37.i = select i1 %.not.i.i.i, i64 %103, i64 %104 - br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit38.i + %.sroa.03.0.i.i.i = phi i64 [ %89, %_ZNK4llvm3LLT13getSizeInBitsEv.exit.i.i.i ], [ -1, %_ZNK4llvm13GMemOperation6getMMOEv.exit.i.i ] + br i1 %.not53.i, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i24.i, label %_ZNK4llvm3LLT13getSizeInBitsEv.exit38.i _ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i24.i: ; preds = %_ZNK4llvm13GMemOperation16getMemSizeInBitsEv.exit.i - %105 = lshr i64 %35, 3 - %.sroa.0.0.insert.ext.i.i.i25.i = and i64 %105, 65535 - %106 = lshr i64 %35, 19 - %107 = and i64 %106, 65535 - %spec.select.i10.i28.i = select i1 %.not.i.i.i, i64 %106, i64 %107 - %108 = mul nuw nsw i64 %spec.select.i10.i28.i, %.sroa.0.0.insert.ext.i.i.i25.i + %.sroa.0.0.insert.ext.i.i.i25.i = and i64 %45, 65535 + %90 = lshr i64 %35, 19 + %91 = and i64 %90, 65535 + %spec.select.i10.i28.i = select i1 %.not.i.i.i, i64 %90, i64 %91 + %92 = mul nuw nsw i64 %spec.select.i10.i28.i, %.sroa.0.0.insert.ext.i.i.i25.i br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit38.i -_ZNK4llvm3LLT13getSizeInBitsEv.exit38.i: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i24.i, %102, %100 - %.sroa.012.0.in.i30.i = phi i64 [ %108, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i24.i ], [ %101, %100 ], [ %spec.select.i.i37.i, %102 ] +_ZNK4llvm3LLT13getSizeInBitsEv.exit38.i: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i24.i, %_ZNK4llvm13GMemOperation16getMemSizeInBitsEv.exit.i + %.sroa.012.0.in.i30.i = phi i64 [ %92, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i24.i ], [ %45, %_ZNK4llvm13GMemOperation16getMemSizeInBitsEv.exit.i ] %.sroa.012.0.i32.i = and i64 %.sroa.012.0.in.i30.i, 4294967295 - %109 = and i64 %.sroa.03.0.i.i.i, 4611686018427387903 - %110 = icmp eq i64 %109, %.sroa.012.0.i32.i - %.not53.i = icmp ult i64 %.sroa.03.0.i.i.i, 4611686018427387904 - %or.cond55.i = select i1 %.not53.i, i1 %110, i1 false - br i1 %or.cond55.i, label %111, label %_ZN12_GLOBAL__N_122matchSplitStoreZero128ERN4llvm12MachineInstrERNS0_19MachineRegisterInfoE.exit - -111: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit38.i - %112 = load ptr, ptr %22, align 8 - %113 = getelementptr inbounds nuw i8, ptr %112, i64 4 - %114 = load i32, ptr %113, align 4 - %115 = call noundef zeroext i1 @_ZNK4llvm19MachineRegisterInfo15hasOneNonDBGUseENS_8RegisterE(ptr noundef nonnull align 8 dereferenceable(512) %.8.val.4256.val, i32 %114) #22 - br i1 %115, label %116, label %_ZN12_GLOBAL__N_122matchSplitStoreZero128ERN4llvm12MachineInstrERNS0_19MachineRegisterInfoE.exit - -116: ; preds = %111 - %117 = load ptr, ptr %22, align 8 - %118 = getelementptr inbounds nuw i8, ptr %117, i64 4 - %119 = load i32, ptr %118, align 4 - %120 = call noundef ptr @_ZNK4llvm19MachineRegisterInfo10getVRegDefENS_8RegisterE(ptr noundef nonnull align 8 dereferenceable(512) %.8.val.4256.val, i32 %119) #22 - call void @_ZN4llvm31isConstantOrConstantSplatVectorERNS_12MachineInstrERKNS_19MachineRegisterInfoE(ptr dead_on_unwind nonnull writable sret(%"class.std::optional.660") align 8 %2, ptr noundef nonnull align 8 dereferenceable(70) %120, ptr noundef nonnull align 8 dereferenceable(512) %.8.val.4256.val) #22 - %121 = getelementptr inbounds nuw i8, ptr %2, i64 16 - %122 = load i8, ptr %121, align 8 - %123 = trunc i8 %122 to i1 - br i1 %123, label %124, label %_ZN12_GLOBAL__N_122matchSplitStoreZero128ERN4llvm12MachineInstrERNS0_19MachineRegisterInfoE.exit + %93 = and i64 %.sroa.03.0.i.i.i, 4611686018427387903 + %94 = icmp eq i64 %93, %.sroa.012.0.i32.i + %.not54.i = icmp ult i64 %.sroa.03.0.i.i.i, 4611686018427387904 + %or.cond56.i = select i1 %.not54.i, i1 %94, i1 false + br i1 %or.cond56.i, label %95, label %_ZN12_GLOBAL__N_122matchSplitStoreZero128ERN4llvm12MachineInstrERNS0_19MachineRegisterInfoE.exit + +95: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit38.i + %96 = load ptr, ptr %22, align 8 + %97 = getelementptr inbounds nuw i8, ptr %96, i64 4 + %98 = load i32, ptr %97, align 4 + %99 = call noundef zeroext i1 @_ZNK4llvm19MachineRegisterInfo15hasOneNonDBGUseENS_8RegisterE(ptr noundef nonnull align 8 dereferenceable(512) %.8.val.4256.val, i32 %98) #22 + br i1 %99, label %100, label %_ZN12_GLOBAL__N_122matchSplitStoreZero128ERN4llvm12MachineInstrERNS0_19MachineRegisterInfoE.exit + +100: ; preds = %95 + %101 = load ptr, ptr %22, align 8 + %102 = getelementptr inbounds nuw i8, ptr %101, i64 4 + %103 = load i32, ptr %102, align 4 + %104 = call noundef ptr @_ZNK4llvm19MachineRegisterInfo10getVRegDefENS_8RegisterE(ptr noundef nonnull align 8 dereferenceable(512) %.8.val.4256.val, i32 %103) #22 + call void @_ZN4llvm31isConstantOrConstantSplatVectorERNS_12MachineInstrERKNS_19MachineRegisterInfoE(ptr dead_on_unwind nonnull writable sret(%"class.std::optional.660") align 8 %2, ptr noundef nonnull align 8 dereferenceable(70) %104, ptr noundef nonnull align 8 dereferenceable(512) %.8.val.4256.val) #22 + %105 = getelementptr inbounds nuw i8, ptr %2, i64 16 + %106 = load i8, ptr %105, align 8 + %107 = trunc i8 %106 to i1 + br i1 %107, label %108, label %_ZN12_GLOBAL__N_122matchSplitStoreZero128ERN4llvm12MachineInstrERNS0_19MachineRegisterInfoE.exit + +108: ; preds = %100 + %109 = getelementptr inbounds nuw i8, ptr %2, i64 8 + %110 = load i32, ptr %109, align 8 + %111 = icmp ult i32 %110, 65 + br i1 %111, label %112, label %115 -124: ; preds = %116 - %125 = getelementptr inbounds nuw i8, ptr %2, i64 8 - %126 = load i32, ptr %125, align 8 - %127 = icmp ult i32 %126, 65 - br i1 %127, label %128, label %131 - -128: ; preds = %124 - %129 = load i64, ptr %2, align 8 - %130 = icmp eq i64 %129, 0 +112: ; preds = %108 + %113 = load i64, ptr %2, align 8 + %114 = icmp eq i64 %113, 0 br label %_ZN12_GLOBAL__N_122matchSplitStoreZero128ERN4llvm12MachineInstrERNS0_19MachineRegisterInfoE.exit -131: ; preds = %124 - %132 = call noundef i32 @_ZNK4llvm5APInt25countLeadingZerosSlowCaseEv(ptr noundef nonnull align 8 dereferenceable(12) %2) #26 - %133 = icmp eq i32 %132, %126 - store i8 0, ptr %121, align 8 - %134 = load ptr, ptr %2, align 8 - %135 = icmp eq ptr %134, null - br i1 %135, label %_ZN12_GLOBAL__N_122matchSplitStoreZero128ERN4llvm12MachineInstrERNS0_19MachineRegisterInfoE.exit, label %136 +115: ; preds = %108 + %116 = call noundef i32 @_ZNK4llvm5APInt25countLeadingZerosSlowCaseEv(ptr noundef nonnull align 8 dereferenceable(12) %2) #26 + %117 = icmp eq i32 %116, %110 + store i8 0, ptr %105, align 8 + %118 = load ptr, ptr %2, align 8 + %119 = icmp eq ptr %118, null + br i1 %119, label %_ZN12_GLOBAL__N_122matchSplitStoreZero128ERN4llvm12MachineInstrERNS0_19MachineRegisterInfoE.exit, label %120 -136: ; preds = %131 - call void @_ZdaPv(ptr noundef nonnull %134) #23 +120: ; preds = %115 + call void @_ZdaPv(ptr noundef nonnull %118) #23 br label %_ZN12_GLOBAL__N_122matchSplitStoreZero128ERN4llvm12MachineInstrERNS0_19MachineRegisterInfoE.exit -_ZN12_GLOBAL__N_122matchSplitStoreZero128ERN4llvm12MachineInstrERNS0_19MachineRegisterInfoE.exit: ; preds = %_ZNK4llvm13GMemOperation8isAtomicEv.exit.i.i, %_ZNK4llvm13GMemOperation8isAtomicEv.exit.thread.i.i, %_ZNK4llvm13GMemOperation8isSimpleEv.exit.i, %21, %27, %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i, %_ZNK4llvm3LLT16isScalableVectorEv.exit.i, %_ZNK4llvm3LLT13getSizeInBitsEv.exit.i, %_ZNK4llvm3LLT13getSizeInBitsEv.exit38.i, %111, %116, %128, %131, %136 - %.0.i = phi i1 [ false, %_ZNK4llvm13GMemOperation8isSimpleEv.exit.i ], [ false, %_ZNK4llvm3LLT16isScalableVectorEv.exit.i ], [ false, %_ZNK4llvm3LLT13getSizeInBitsEv.exit.i ], [ false, %111 ], [ false, %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i ], [ %130, %128 ], [ %133, %131 ], [ %133, %136 ], [ false, %116 ], [ false, %_ZNK4llvm13GMemOperation8isAtomicEv.exit.i.i ], [ false, %_ZNK4llvm13GMemOperation8isAtomicEv.exit.thread.i.i ], [ false, %27 ], [ false, %21 ], [ false, %_ZNK4llvm3LLT13getSizeInBitsEv.exit38.i ] +_ZN12_GLOBAL__N_122matchSplitStoreZero128ERN4llvm12MachineInstrERNS0_19MachineRegisterInfoE.exit: ; preds = %_ZNK4llvm13GMemOperation8isAtomicEv.exit.i.i, %_ZNK4llvm13GMemOperation8isAtomicEv.exit.thread.i.i, %_ZNK4llvm13GMemOperation8isSimpleEv.exit.i, %21, %27, %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i, %_ZNK4llvm3LLT16isScalableVectorEv.exit.i, %_ZNK4llvm3LLT13getSizeInBitsEv.exit.i, %_ZNK4llvm3LLT13getSizeInBitsEv.exit38.i, %95, %100, %112, %115, %120 + %.0.i = phi i1 [ false, %_ZNK4llvm13GMemOperation8isSimpleEv.exit.i ], [ false, %_ZNK4llvm3LLT16isScalableVectorEv.exit.i ], [ false, %_ZNK4llvm3LLT13getSizeInBitsEv.exit.i ], [ false, %95 ], [ false, %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i ], [ %114, %112 ], [ %117, %115 ], [ %117, %120 ], [ false, %100 ], [ false, %_ZNK4llvm13GMemOperation8isAtomicEv.exit.i.i ], [ false, %_ZNK4llvm13GMemOperation8isAtomicEv.exit.thread.i.i ], [ false, %27 ], [ false, %21 ], [ false, %_ZNK4llvm3LLT13getSizeInBitsEv.exit38.i ] call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %1) call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %2) ret i1 %.0.i diff --git a/bench/llvm/optimized/ASTContext.cpp.ll b/bench/llvm/optimized/ASTContext.cpp.ll index be844b204ae..f117f58e226 100644 --- a/bench/llvm/optimized/ASTContext.cpp.ll +++ b/bench/llvm/optimized/ASTContext.cpp.ll @@ -99942,99 +99942,95 @@ define dso_local noundef zeroext i1 @_ZNK5clang10ASTContext28AtomicUsesUnsupport %8 = load i32, ptr %7, align 4 %9 = and i32 %8, -9 %spec.select.i.i = icmp eq i32 %9, 1 - br i1 %spec.select.i.i, label %11, label %10 + br i1 %spec.select.i.i, label %16, label %10 10: ; preds = %2 switch i32 %8, label %_ZNK4llvm6Triple10isOSDarwinEv.exit [ - i32 26, label %12 - i32 5, label %12 - i32 27, label %17 - i32 29, label %17 - i32 30, label %17 + i32 26, label %11 + i32 5, label %11 + i32 27, label %16 + i32 29, label %16 + i32 30, label %16 ] -11: ; preds = %2 - %cond = icmp eq i32 %8, 5 - br i1 %cond, label %12, label %17 - -12: ; preds = %11, %10, %10 - %13 = tail call { i64, i64 } @_ZNK4llvm6Triple12getOSVersionEv(ptr noundef nonnull align 8 dereferenceable(56) %6) #29 - %14 = extractvalue { i64, i64 } %13, 0 - %15 = trunc i64 %14 to i32 - %16 = icmp ult i32 %15, 7 - br i1 %16, label %_ZNK4llvm6Triple13isOSVersionLTEjjj.exit.thread, label %._crit_edge +11: ; preds = %10, %10 + %12 = tail call { i64, i64 } @_ZNK4llvm6Triple12getOSVersionEv(ptr noundef nonnull align 8 dereferenceable(56) %6) #29 + %13 = extractvalue { i64, i64 } %12, 0 + %14 = trunc i64 %13 to i32 + %15 = icmp ult i32 %14, 7 + br i1 %15, label %_ZNK4llvm6Triple13isOSVersionLTEjjj.exit.thread, label %._crit_edge -._crit_edge: ; preds = %12 +._crit_edge: ; preds = %11 %.pre = load i32, ptr %7, align 4 - br label %17 + br label %16 -17: ; preds = %11, %._crit_edge, %10, %10, %10 - %18 = phi i32 [ %.pre, %._crit_edge ], [ %8, %10 ], [ %8, %10 ], [ %8, %10 ], [ %8, %11 ] - %19 = and i32 %18, -9 - %spec.select.i14 = icmp eq i32 %19, 1 - br i1 %spec.select.i14, label %20, label %_ZNK4llvm6Triple10isOSDarwinEv.exit +16: ; preds = %2, %._crit_edge, %10, %10, %10 + %17 = phi i32 [ %.pre, %._crit_edge ], [ %8, %10 ], [ %8, %10 ], [ %8, %10 ], [ %8, %2 ] + %18 = and i32 %17, -9 + %spec.select.i14 = icmp eq i32 %18, 1 + br i1 %spec.select.i14, label %19, label %_ZNK4llvm6Triple10isOSDarwinEv.exit -20: ; preds = %17 - %21 = tail call { i64, i64 } @_ZNK4llvm6Triple12getOSVersionEv(ptr noundef nonnull align 8 dereferenceable(56) %6) #29 - %22 = extractvalue { i64, i64 } %21, 0 - %23 = trunc i64 %22 to i32 - %24 = icmp ult i32 %23, 10 - br i1 %24, label %_ZNK4llvm6Triple13isOSVersionLTEjjj.exit.thread, label %_ZNK4llvm6Triple13isOSVersionLTEjjj.exit - -_ZNK4llvm6Triple13isOSVersionLTEjjj.exit: ; preds = %20 - %25 = icmp eq i32 %23, 10 - %26 = and i64 %22, 9223372032559808512 - %27 = icmp samesign ult i64 %26, 38654705664 - %spec.select.i15 = select i1 %25, i1 %27, i1 false +19: ; preds = %16 + %20 = tail call { i64, i64 } @_ZNK4llvm6Triple12getOSVersionEv(ptr noundef nonnull align 8 dereferenceable(56) %6) #29 + %21 = extractvalue { i64, i64 } %20, 0 + %22 = trunc i64 %21 to i32 + %23 = icmp ult i32 %22, 10 + br i1 %23, label %_ZNK4llvm6Triple13isOSVersionLTEjjj.exit.thread, label %_ZNK4llvm6Triple13isOSVersionLTEjjj.exit + +_ZNK4llvm6Triple13isOSVersionLTEjjj.exit: ; preds = %19 + %24 = icmp eq i32 %22, 10 + %25 = and i64 %21, 9223372032559808512 + %26 = icmp samesign ult i64 %25, 38654705664 + %spec.select.i15 = select i1 %24, i1 %26, i1 false br i1 %spec.select.i15, label %_ZNK4llvm6Triple13isOSVersionLTEjjj.exit.thread, label %_ZNK4llvm6Triple10isOSDarwinEv.exit -_ZNK4llvm6Triple13isOSVersionLTEjjj.exit.thread: ; preds = %20, %_ZNK4llvm6Triple13isOSVersionLTEjjj.exit, %12 - %28 = getelementptr inbounds nuw i8, ptr %1, i64 16 - %29 = load ptr, ptr %28, align 8 - %30 = getelementptr inbounds nuw i8, ptr %29, i64 8 - %.sroa.0.0.copyload.i = load i64, ptr %30, align 8 - %31 = and i64 %.sroa.0.0.copyload.i, -16 - %32 = inttoptr i64 %31 to ptr - %33 = load ptr, ptr %32, align 16 - %34 = tail call i64 @_ZNK5clang4Type14getPointeeTypeEv(ptr noundef nonnull align 16 dereferenceable(24) %33) #29 +_ZNK4llvm6Triple13isOSVersionLTEjjj.exit.thread: ; preds = %19, %_ZNK4llvm6Triple13isOSVersionLTEjjj.exit, %11 + %27 = getelementptr inbounds nuw i8, ptr %1, i64 16 + %28 = load ptr, ptr %27, align 8 + %29 = getelementptr inbounds nuw i8, ptr %28, i64 8 + %.sroa.0.0.copyload.i = load i64, ptr %29, align 8 + %30 = and i64 %.sroa.0.0.copyload.i, -16 + %31 = inttoptr i64 %30 to ptr + %32 = load ptr, ptr %31, align 16 + %33 = tail call i64 @_ZNK5clang4Type14getPointeeTypeEv(ptr noundef nonnull align 16 dereferenceable(24) %32) #29 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %3) - call void @_ZNK5clang10ASTContext18getTypeInfoInCharsENS_8QualTypeE(ptr dead_on_unwind nonnull writable sret(%"struct.clang::TypeInfoChars") align 8 %3, ptr noundef nonnull align 8 dereferenceable(23096) %0, i64 %34) + call void @_ZNK5clang10ASTContext18getTypeInfoInCharsENS_8QualTypeE(ptr dead_on_unwind nonnull writable sret(%"struct.clang::TypeInfoChars") align 8 %3, ptr noundef nonnull align 8 dereferenceable(23096) %0, i64 %33) %.sroa.02.0.copyload.i = load i64, ptr %3, align 8 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %3) - %35 = and i64 %34, -16 - %36 = inttoptr i64 %35 to ptr - %37 = load ptr, ptr %36, align 16 - %38 = tail call { i64, i64 } @_ZNK5clang10ASTContext11getTypeInfoEPKNS_4TypeE(ptr noundef nonnull align 8 dereferenceable(23096) %0, ptr noundef %37) - %39 = extractvalue { i64, i64 } %38, 1 - %40 = and i64 %39, 4294967295 - %41 = getelementptr inbounds nuw i8, ptr %0, i64 18440 - %.sroa.0.0.copyload.i.i.i.i = load i64, ptr %41, align 8 - %42 = and i64 %.sroa.0.0.copyload.i.i.i.i, -16 - %43 = inttoptr i64 %42 to ptr - %44 = load ptr, ptr %43, align 16 - %45 = tail call { i64, i64 } @_ZNK5clang10ASTContext11getTypeInfoEPKNS_4TypeE(ptr noundef nonnull align 8 dereferenceable(23096) %0, ptr noundef %44) - %46 = extractvalue { i64, i64 } %45, 0 - %47 = udiv i64 %40, %46 - %.not = icmp eq i64 %.sroa.02.0.copyload.i, %47 - br i1 %.not, label %48, label %_ZNK4llvm6Triple10isOSDarwinEv.exit - -48: ; preds = %_ZNK4llvm6Triple13isOSVersionLTEjjj.exit.thread - %49 = load ptr, ptr %4, align 8 - %50 = getelementptr inbounds nuw i8, ptr %49, i64 287 - %51 = load i8, ptr %50, align 1 - %.sroa.0.0.copyload.i.i = load i64, ptr %41, align 8 - %52 = and i64 %.sroa.0.0.copyload.i.i, -16 - %53 = inttoptr i64 %52 to ptr - %54 = load ptr, ptr %53, align 16 - %55 = tail call { i64, i64 } @_ZNK5clang10ASTContext11getTypeInfoEPKNS_4TypeE(ptr noundef nonnull align 8 dereferenceable(23096) %0, ptr noundef %54) - %56 = extractvalue { i64, i64 } %55, 0 - %57 = mul i64 %56, %.sroa.02.0.copyload.i - %58 = zext i8 %51 to i64 - %59 = icmp sgt i64 %57, %58 + %34 = and i64 %33, -16 + %35 = inttoptr i64 %34 to ptr + %36 = load ptr, ptr %35, align 16 + %37 = tail call { i64, i64 } @_ZNK5clang10ASTContext11getTypeInfoEPKNS_4TypeE(ptr noundef nonnull align 8 dereferenceable(23096) %0, ptr noundef %36) + %38 = extractvalue { i64, i64 } %37, 1 + %39 = and i64 %38, 4294967295 + %40 = getelementptr inbounds nuw i8, ptr %0, i64 18440 + %.sroa.0.0.copyload.i.i.i.i = load i64, ptr %40, align 8 + %41 = and i64 %.sroa.0.0.copyload.i.i.i.i, -16 + %42 = inttoptr i64 %41 to ptr + %43 = load ptr, ptr %42, align 16 + %44 = tail call { i64, i64 } @_ZNK5clang10ASTContext11getTypeInfoEPKNS_4TypeE(ptr noundef nonnull align 8 dereferenceable(23096) %0, ptr noundef %43) + %45 = extractvalue { i64, i64 } %44, 0 + %46 = udiv i64 %39, %45 + %.not = icmp eq i64 %.sroa.02.0.copyload.i, %46 + br i1 %.not, label %47, label %_ZNK4llvm6Triple10isOSDarwinEv.exit + +47: ; preds = %_ZNK4llvm6Triple13isOSVersionLTEjjj.exit.thread + %48 = load ptr, ptr %4, align 8 + %49 = getelementptr inbounds nuw i8, ptr %48, i64 287 + %50 = load i8, ptr %49, align 1 + %.sroa.0.0.copyload.i.i = load i64, ptr %40, align 8 + %51 = and i64 %.sroa.0.0.copyload.i.i, -16 + %52 = inttoptr i64 %51 to ptr + %53 = load ptr, ptr %52, align 16 + %54 = tail call { i64, i64 } @_ZNK5clang10ASTContext11getTypeInfoEPKNS_4TypeE(ptr noundef nonnull align 8 dereferenceable(23096) %0, ptr noundef %53) + %55 = extractvalue { i64, i64 } %54, 0 + %56 = mul i64 %55, %.sroa.02.0.copyload.i + %57 = zext i8 %50 to i64 + %58 = icmp sgt i64 %56, %57 br label %_ZNK4llvm6Triple10isOSDarwinEv.exit -_ZNK4llvm6Triple10isOSDarwinEv.exit: ; preds = %10, %_ZNK4llvm6Triple13isOSVersionLTEjjj.exit.thread, %48, %17, %_ZNK4llvm6Triple13isOSVersionLTEjjj.exit - %.0 = phi i1 [ false, %_ZNK4llvm6Triple13isOSVersionLTEjjj.exit ], [ false, %17 ], [ true, %_ZNK4llvm6Triple13isOSVersionLTEjjj.exit.thread ], [ %59, %48 ], [ false, %10 ] +_ZNK4llvm6Triple10isOSDarwinEv.exit: ; preds = %10, %_ZNK4llvm6Triple13isOSVersionLTEjjj.exit.thread, %47, %16, %_ZNK4llvm6Triple13isOSVersionLTEjjj.exit + %.0 = phi i1 [ false, %_ZNK4llvm6Triple13isOSVersionLTEjjj.exit ], [ false, %16 ], [ true, %_ZNK4llvm6Triple13isOSVersionLTEjjj.exit.thread ], [ %58, %47 ], [ false, %10 ] ret i1 %.0 } diff --git a/bench/llvm/optimized/ExprConstant.cpp.ll b/bench/llvm/optimized/ExprConstant.cpp.ll index e9ebab6eb05..0079064f624 100644 --- a/bench/llvm/optimized/ExprConstant.cpp.ll +++ b/bench/llvm/optimized/ExprConstant.cpp.ll @@ -102143,7 +102143,7 @@ define internal fastcc noundef i32 @_ZL22FindDesignatorMismatchN5clang8QualTypeE .lr.ph._crit_edge: ; preds = %.lr.ph %.pre = load ptr, ptr %5, align 8 - %.pre66 = load ptr, ptr %7, align 8 + %.pre65 = load ptr, ptr %7, align 8 br label %49 11: ; preds = %.lr.ph @@ -102163,8 +102163,8 @@ define internal fastcc noundef i32 @_ZL22FindDesignatorMismatchN5clang8QualTypeE 22: ; preds = %11 %23 = icmp eq i8 %20, 14 - %.pre65 = load ptr, ptr %5, align 8 - %.pre67 = load ptr, ptr %7, align 8 + %.pre64 = load ptr, ptr %5, align 8 + %.pre66 = load ptr, ptr %7, align 8 br i1 %23, label %.thread, label %49 24: ; preds = %11 @@ -102178,9 +102178,9 @@ define internal fastcc noundef i32 @_ZL22FindDesignatorMismatchN5clang8QualTypeE br i1 %.not27, label %42, label %35 .thread: ; preds = %22 - %31 = getelementptr inbounds nuw %"class.clang::APValue::LValuePathEntry", ptr %.pre65, i64 %indvars.iv + %31 = getelementptr inbounds nuw %"class.clang::APValue::LValuePathEntry", ptr %.pre64, i64 %indvars.iv %32 = load i64, ptr %31, align 8 - %33 = getelementptr inbounds nuw %"class.clang::APValue::LValuePathEntry", ptr %.pre67, i64 %indvars.iv + %33 = getelementptr inbounds nuw %"class.clang::APValue::LValuePathEntry", ptr %.pre66, i64 %indvars.iv %34 = load i64, ptr %33, align 8 %.not2750 = icmp eq i64 %32, %34 br i1 %.not2750, label %.thread51, label %35 @@ -102223,8 +102223,8 @@ _ZNK5clang4Type21castAsArrayTypeUnsafeEv.exit: ; preds = %42, %46 br label %68 49: ; preds = %.lr.ph._crit_edge, %22 - %50 = phi ptr [ %.pre66, %.lr.ph._crit_edge ], [ %.pre67, %22 ] - %51 = phi ptr [ %.pre, %.lr.ph._crit_edge ], [ %.pre65, %22 ] + %50 = phi ptr [ %.pre65, %.lr.ph._crit_edge ], [ %.pre66, %22 ] + %51 = phi ptr [ %.pre, %.lr.ph._crit_edge ], [ %.pre64, %22 ] %52 = getelementptr inbounds nuw %"class.clang::APValue::LValuePathEntry", ptr %51, i64 %indvars.iv %53 = load i64, ptr %52, align 8 %54 = getelementptr inbounds nuw %"class.clang::APValue::LValuePathEntry", ptr %50, i64 %indvars.iv diff --git a/bench/llvm/optimized/InstrProfiling.cpp.ll b/bench/llvm/optimized/InstrProfiling.cpp.ll index 963fd85a0ce..a453d58edda 100644 --- a/bench/llvm/optimized/InstrProfiling.cpp.ll +++ b/bench/llvm/optimized/InstrProfiling.cpp.ll @@ -4845,65 +4845,61 @@ _ZN12_GLOBAL__N_124profDataReferencedByCodeERKN4llvm6ModuleE.exit.i.i.i: ; preds _ZN12_GLOBAL__N_124profDataReferencedByCodeERKN4llvm6ModuleE.exit.thread14.i.i.i: ; preds = %_ZN12_GLOBAL__N_124profDataReferencedByCodeERKN4llvm6ModuleE.exit.i.i.i, %_ZL38needsRuntimeRegistrationOfSectionRangeRKN4llvm6TripleE.exit.thread.i %272 = getelementptr inbounds nuw i8, ptr %175, i64 32 %273 = load i32, ptr %272, align 8 - %274 = and i32 %273, 15 - %275 = and i32 %273, 14 - %spec.select.i.i.i.i120.i = icmp eq i32 %275, 2 - br i1 %spec.select.i.i.i.i120.i, label %277, label %276 - -276: ; preds = %_ZN12_GLOBAL__N_124profDataReferencedByCodeERKN4llvm6ModuleE.exit.thread14.i.i.i - switch i32 %274, label %_ZL24shouldRecordFunctionAddrPN4llvm8FunctionE.exit.thread23.i.i [ - i32 1, label %279 - i32 7, label %281 - i32 8, label %281 + %274 = and i32 %273, 14 + %spec.select.i.i.i.i120.i = icmp eq i32 %274, 2 + br i1 %spec.select.i.i.i.i120.i, label %279, label %275 + +275: ; preds = %_ZN12_GLOBAL__N_124profDataReferencedByCodeERKN4llvm6ModuleE.exit.thread14.i.i.i + %276 = and i32 %273, 15 + switch i32 %276, label %_ZL24shouldRecordFunctionAddrPN4llvm8FunctionE.exit.thread22.i.i [ + i32 1, label %277 + i32 7, label %279 + i32 8, label %279 ] -277: ; preds = %_ZN12_GLOBAL__N_124profDataReferencedByCodeERKN4llvm6ModuleE.exit.thread14.i.i.i - %278 = icmp eq i32 %274, 1 - br i1 %278, label %279, label %281 +277: ; preds = %275 + %278 = call noundef zeroext i1 @_ZNK4llvm8Function14hasFnAttributeENS_9Attribute8AttrKindE(ptr noundef nonnull align 8 dereferenceable(136) %175, i32 noundef 3) #19 + br i1 %278, label %_ZL24shouldRecordFunctionAddrPN4llvm8FunctionE.exit.thread.i.i, label %._crit_edge16.i.i.i -279: ; preds = %277, %276 - %280 = call noundef zeroext i1 @_ZNK4llvm8Function14hasFnAttributeENS_9Attribute8AttrKindE(ptr noundef nonnull align 8 dereferenceable(136) %175, i32 noundef 3) #19 - br i1 %280, label %_ZL24shouldRecordFunctionAddrPN4llvm8FunctionE.exit.thread.i.i, label %._crit_edge.i.i.i - -._crit_edge.i.i.i: ; preds = %279 +._crit_edge16.i.i.i: ; preds = %277 %.pre.i.i.i = load i32, ptr %272, align 8 - %.pre16.i.i.i = and i32 %.pre.i.i.i, 15 - br label %281 + br label %279 -281: ; preds = %._crit_edge.i.i.i, %277, %276, %276 - %.pre-phi.i.i.i = phi i32 [ %.pre16.i.i.i, %._crit_edge.i.i.i ], [ %274, %276 ], [ %274, %276 ], [ %274, %277 ] - %282 = add nsw i32 %.pre-phi.i.i.i, -7 +279: ; preds = %._crit_edge16.i.i.i, %275, %275, %_ZN12_GLOBAL__N_124profDataReferencedByCodeERKN4llvm6ModuleE.exit.thread14.i.i.i + %280 = phi i32 [ %.pre.i.i.i, %._crit_edge16.i.i.i ], [ %273, %275 ], [ %273, %275 ], [ %273, %_ZN12_GLOBAL__N_124profDataReferencedByCodeERKN4llvm6ModuleE.exit.thread14.i.i.i ] + %281 = and i32 %280, 15 + %282 = add nsw i32 %281, -7 %spec.select.i.i12.i.i.i = icmp ult i32 %282, 2 br i1 %spec.select.i.i12.i.i.i, label %283, label %286 -283: ; preds = %281 +283: ; preds = %279 %284 = getelementptr inbounds nuw i8, ptr %175, i64 48 %285 = load ptr, ptr %284, align 8 %.not15.i.i.i = icmp eq ptr %285, null br i1 %.not15.i.i.i, label %286, label %_ZL24shouldRecordFunctionAddrPN4llvm8FunctionE.exit.thread.i.i -286: ; preds = %283, %281 +286: ; preds = %283, %279 %287 = call noundef zeroext i1 @_ZNK4llvm8Function15hasAddressTakenEPPKNS_4UserEbbbbb(ptr noundef nonnull align 8 dereferenceable(136) %175, ptr noundef null, i1 noundef zeroext false, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false) #19 %.pre.i.i = load i32, ptr %272, align 8 %288 = and i32 %.pre.i.i, 14 %spec.select.i.i13.i.i.i = icmp eq i32 %288, 2 %or.cond.i.i = select i1 %287, i1 true, i1 %spec.select.i.i13.i.i.i - br i1 %or.cond.i.i, label %._ZL24shouldRecordFunctionAddrPN4llvm8FunctionE.exit.thread23.i_crit_edge.i, label %_ZL24shouldRecordFunctionAddrPN4llvm8FunctionE.exit.thread.i.i + br i1 %or.cond.i.i, label %._ZL24shouldRecordFunctionAddrPN4llvm8FunctionE.exit.thread22.i_crit_edge.i, label %_ZL24shouldRecordFunctionAddrPN4llvm8FunctionE.exit.thread.i.i -._ZL24shouldRecordFunctionAddrPN4llvm8FunctionE.exit.thread23.i_crit_edge.i: ; preds = %286 +._ZL24shouldRecordFunctionAddrPN4llvm8FunctionE.exit.thread22.i_crit_edge.i: ; preds = %286 %.pre.i = and i32 %.pre.i.i, 15 - br label %_ZL24shouldRecordFunctionAddrPN4llvm8FunctionE.exit.thread23.i.i + br label %_ZL24shouldRecordFunctionAddrPN4llvm8FunctionE.exit.thread22.i.i -_ZL24shouldRecordFunctionAddrPN4llvm8FunctionE.exit.thread.i.i: ; preds = %286, %283, %279, %_ZN12_GLOBAL__N_124profDataReferencedByCodeERKN4llvm6ModuleE.exit.i.i.i, %262, %260 +_ZL24shouldRecordFunctionAddrPN4llvm8FunctionE.exit.thread.i.i: ; preds = %286, %283, %277, %_ZN12_GLOBAL__N_124profDataReferencedByCodeERKN4llvm6ModuleE.exit.i.i.i, %262, %260 %289 = call noundef ptr @_ZN4llvm19ConstantPointerNull3getEPNS_11PointerTypeE(ptr noundef %256) #19 br label %_ZL22getFuncAddrForProfDataPN4llvm8FunctionE.exit.i -_ZL24shouldRecordFunctionAddrPN4llvm8FunctionE.exit.thread23.i.i: ; preds = %._ZL24shouldRecordFunctionAddrPN4llvm8FunctionE.exit.thread23.i_crit_edge.i, %276 - %.pre-phi.i = phi i32 [ %.pre.i, %._ZL24shouldRecordFunctionAddrPN4llvm8FunctionE.exit.thread23.i_crit_edge.i ], [ %274, %276 ] +_ZL24shouldRecordFunctionAddrPN4llvm8FunctionE.exit.thread22.i.i: ; preds = %._ZL24shouldRecordFunctionAddrPN4llvm8FunctionE.exit.thread22.i_crit_edge.i, %275 + %.pre-phi.i = phi i32 [ %.pre.i, %._ZL24shouldRecordFunctionAddrPN4llvm8FunctionE.exit.thread22.i_crit_edge.i ], [ %276, %275 ] %290 = icmp eq i32 %.pre-phi.i, 1 br i1 %290, label %_ZL22getFuncAddrForProfDataPN4llvm8FunctionE.exit.i, label %_ZNK4llvm11GlobalValue22isDeclarationForLinkerEv.exit.i.i.i -_ZNK4llvm11GlobalValue22isDeclarationForLinkerEv.exit.i.i.i: ; preds = %_ZL24shouldRecordFunctionAddrPN4llvm8FunctionE.exit.thread23.i.i +_ZNK4llvm11GlobalValue22isDeclarationForLinkerEv.exit.i.i.i: ; preds = %_ZL24shouldRecordFunctionAddrPN4llvm8FunctionE.exit.thread22.i.i %291 = call noundef zeroext i1 @_ZNK4llvm11GlobalValue13isDeclarationEv(ptr noundef nonnull align 8 dereferenceable(48) %175) #19 br i1 %291, label %_ZL22getFuncAddrForProfDataPN4llvm8FunctionE.exit.i, label %292 @@ -4985,16 +4981,16 @@ _ZN4llvm11GlobalValue10setLinkageENS0_12LinkageTypesE.exit.i.i: ; preds = %_ZNK4 %330 = or disjoint i32 %329, 16 store i32 %330, ptr %320, align 8 %331 = and i32 %328, 15 - %.not26.i.i = icmp eq i32 %331, 9 - br i1 %.not26.i.i, label %_ZL22getFuncAddrForProfDataPN4llvm8FunctionE.exit.i, label %_ZNK4llvm11GlobalValue18isImplicitDSOLocalEv.exit.thread.i20.i.i + %.not25.i.i = icmp eq i32 %331, 9 + br i1 %.not25.i.i, label %_ZL22getFuncAddrForProfDataPN4llvm8FunctionE.exit.i, label %_ZNK4llvm11GlobalValue18isImplicitDSOLocalEv.exit.thread.i19.i.i -_ZNK4llvm11GlobalValue18isImplicitDSOLocalEv.exit.thread.i20.i.i: ; preds = %_ZN4llvm11GlobalValue10setLinkageENS0_12LinkageTypesE.exit.i.i +_ZNK4llvm11GlobalValue18isImplicitDSOLocalEv.exit.thread.i19.i.i: ; preds = %_ZN4llvm11GlobalValue10setLinkageENS0_12LinkageTypesE.exit.i.i %332 = or i32 %329, 16400 store i32 %332, ptr %320, align 8 br label %_ZL22getFuncAddrForProfDataPN4llvm8FunctionE.exit.i -_ZL22getFuncAddrForProfDataPN4llvm8FunctionE.exit.i: ; preds = %_ZNK4llvm11GlobalValue18isImplicitDSOLocalEv.exit.thread.i20.i.i, %_ZN4llvm11GlobalValue10setLinkageENS0_12LinkageTypesE.exit.i.i, %_ZL21shouldUsePublicSymbolPN4llvm8FunctionE.exit.i.i, %303, %_ZNK4llvm5Value11hasMetadataEj.exit.i.i.i, %292, %_ZNK4llvm11GlobalValue22isDeclarationForLinkerEv.exit.i.i.i, %_ZL24shouldRecordFunctionAddrPN4llvm8FunctionE.exit.thread23.i.i, %_ZL24shouldRecordFunctionAddrPN4llvm8FunctionE.exit.thread.i.i - %.0.i119.i = phi ptr [ %289, %_ZL24shouldRecordFunctionAddrPN4llvm8FunctionE.exit.thread.i.i ], [ %314, %_ZL21shouldUsePublicSymbolPN4llvm8FunctionE.exit.i.i ], [ %314, %_ZNK4llvm11GlobalValue18isImplicitDSOLocalEv.exit.thread.i20.i.i ], [ %175, %_ZNK4llvm11GlobalValue22isDeclarationForLinkerEv.exit.i.i.i ], [ %175, %292 ], [ %175, %_ZNK4llvm5Value11hasMetadataEj.exit.i.i.i ], [ %175, %303 ], [ %175, %_ZL24shouldRecordFunctionAddrPN4llvm8FunctionE.exit.thread23.i.i ], [ %314, %_ZN4llvm11GlobalValue10setLinkageENS0_12LinkageTypesE.exit.i.i ] +_ZL22getFuncAddrForProfDataPN4llvm8FunctionE.exit.i: ; preds = %_ZNK4llvm11GlobalValue18isImplicitDSOLocalEv.exit.thread.i19.i.i, %_ZN4llvm11GlobalValue10setLinkageENS0_12LinkageTypesE.exit.i.i, %_ZL21shouldUsePublicSymbolPN4llvm8FunctionE.exit.i.i, %303, %_ZNK4llvm5Value11hasMetadataEj.exit.i.i.i, %292, %_ZNK4llvm11GlobalValue22isDeclarationForLinkerEv.exit.i.i.i, %_ZL24shouldRecordFunctionAddrPN4llvm8FunctionE.exit.thread22.i.i, %_ZL24shouldRecordFunctionAddrPN4llvm8FunctionE.exit.thread.i.i + %.0.i119.i = phi ptr [ %289, %_ZL24shouldRecordFunctionAddrPN4llvm8FunctionE.exit.thread.i.i ], [ %314, %_ZL21shouldUsePublicSymbolPN4llvm8FunctionE.exit.i.i ], [ %314, %_ZNK4llvm11GlobalValue18isImplicitDSOLocalEv.exit.thread.i19.i.i ], [ %175, %_ZNK4llvm11GlobalValue22isDeclarationForLinkerEv.exit.i.i.i ], [ %175, %292 ], [ %175, %_ZNK4llvm5Value11hasMetadataEj.exit.i.i.i ], [ %175, %303 ], [ %175, %_ZL24shouldRecordFunctionAddrPN4llvm8FunctionE.exit.thread22.i.i ], [ %314, %_ZN4llvm11GlobalValue10setLinkageENS0_12LinkageTypesE.exit.i.i ] call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %5) br label %333 diff --git a/bench/llvm/optimized/Legalizer.cpp.ll b/bench/llvm/optimized/Legalizer.cpp.ll index a51ea910cec..bcca9b9243a 100644 --- a/bench/llvm/optimized/Legalizer.cpp.ll +++ b/bench/llvm/optimized/Legalizer.cpp.ll @@ -8803,7 +8803,7 @@ define linkonce_odr hidden noundef zeroext i1 @_ZN4llvm28LegalizationArtifactCom %5 = alloca %"class.llvm::TypeSize", align 8 %6 = alloca %"class.llvm::TypeSize", align 8 %7 = alloca %"class.llvm::TypeSize", align 8 - switch i32 %0, label %129 [ + switch i32 %0, label %119 [ i32 74, label %8 i32 73, label %8 i32 76, label %32 @@ -8811,7 +8811,7 @@ define linkonce_odr hidden noundef zeroext i1 @_ZN4llvm28LegalizationArtifactCom 8: ; preds = %4, %4 %9 = icmp eq i32 %1, 0 - br i1 %9, label %129, label %10 + br i1 %9, label %119, label %10 10: ; preds = %8 %11 = and i64 %3, -7 @@ -8819,7 +8819,7 @@ define linkonce_odr hidden noundef zeroext i1 @_ZN4llvm28LegalizationArtifactCom %12 = and i64 %3, 4 %13 = icmp ne i64 %12, 0 %14 = and i1 %spec.select.i.i, %13 - br i1 %14, label %129, label %15 + br i1 %14, label %119, label %15 15: ; preds = %10 %16 = and i64 %2, -7 @@ -8827,7 +8827,7 @@ define linkonce_odr hidden noundef zeroext i1 @_ZN4llvm28LegalizationArtifactCom %17 = and i64 %2, 4 %18 = icmp ne i64 %17, 0 %19 = and i1 %spec.select.i.i15, %18 - br i1 %19, label %20, label %129 + br i1 %19, label %20, label %119 20: ; preds = %15 %21 = and i64 %2, 2 @@ -8856,11 +8856,11 @@ _ZNK4llvm3LLT19getScalarSizeInBitsEv.exit9.i: ; preds = %20 _ZNK4llvm3LLT14getElementTypeEv.exit: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit.i, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit9.i %.sroa.0.0.i = phi i64 [ %28, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit.i ], [ %31, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit9.i ] %spec.select.i = icmp eq i64 %3, %.sroa.0.0.i - br label %129 + br label %119 32: ; preds = %4 %33 = icmp eq i32 %1, 0 - br i1 %33, label %129, label %34 + br i1 %33, label %119, label %34 34: ; preds = %32 %35 = and i64 %3, -7 @@ -8868,7 +8868,7 @@ _ZNK4llvm3LLT14getElementTypeEv.exit: ; preds = %_ZNK4llvm3LLT19getS %36 = and i64 %3, 4 %37 = icmp ne i64 %36, 0 %38 = and i1 %spec.select.i.i16, %37 - br i1 %38, label %39, label %129 + br i1 %38, label %39, label %119 39: ; preds = %34 %40 = and i64 %2, 2 @@ -8986,101 +8986,80 @@ _ZNK4llvm3LLT13getSizeInBitsEv.exit: ; preds = %70, %74, %77, %_ZNK store i8 %.sroa.3.0.i, ptr %.sroa.28.0..sroa_idx, align 8 %88 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %5) #25 %89 = icmp eq i32 %1, 127 - %90 = and i64 %3, 2 - %.not.i.not.i36 = icmp eq i64 %90, 0 - %91 = and i64 %3, 6 - %92 = icmp eq i64 %91, 2 - %93 = and i64 %3, 1 - %94 = icmp ne i64 %93, 0 - %or.cond14.i38 = or i1 %94, %92 - br i1 %89, label %95, label %112 - -95: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit - br i1 %or.cond14.i38, label %96, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i39 - -96: ; preds = %95 - %.not.i1.i51 = icmp eq i64 %93, 0 - br i1 %.not.i1.i51, label %99, label %97 - -97: ; preds = %96 - %98 = lshr i64 %3, 3 - br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit54 + %90 = and i64 %3, 1 + %.not84 = icmp eq i64 %90, 0 + br i1 %89, label %91, label %105 + +91: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit + br i1 %.not84, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i39, label %92 -99: ; preds = %96 - %100 = lshr i64 %3, 19 - %101 = and i64 %100, 65535 - %spec.select.i.i53 = select i1 %.not.i.not.i36, i64 %100, i64 %101 +92: ; preds = %91 + %93 = lshr i64 %3, 3 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit54 -_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i39: ; preds = %95 - %102 = lshr i64 %3, 3 - %.sroa.0.0.insert.ext.i.i.i40 = and i64 %102, 65535 - %103 = select i1 %.not.i.not.i36, i64 2251799813685248, i64 576460752303423488 - %104 = and i64 %103, %3 - %.not1.i4.i41 = icmp ne i64 %104, 0 - %105 = lshr i64 %3, 19 - %106 = and i64 %105, 65535 - %spec.select.i10.i43 = select i1 %.not.i.not.i36, i64 %105, i64 %106 - %107 = mul nuw nsw i64 %spec.select.i10.i43, %.sroa.0.0.insert.ext.i.i.i40 - %108 = zext i1 %.not1.i4.i41 to i8 +_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i39: ; preds = %91 + %94 = and i64 %3, 2 + %.not.i.not.i36 = icmp eq i64 %94, 0 + %95 = lshr i64 %3, 3 + %.sroa.0.0.insert.ext.i.i.i40 = and i64 %95, 65535 + %96 = select i1 %.not.i.not.i36, i64 2251799813685248, i64 576460752303423488 + %97 = and i64 %96, %3 + %.not1.i4.i41 = icmp ne i64 %97, 0 + %98 = lshr i64 %3, 19 + %99 = and i64 %98, 65535 + %spec.select.i10.i43 = select i1 %.not.i.not.i36, i64 %98, i64 %99 + %100 = mul nuw nsw i64 %spec.select.i10.i43, %.sroa.0.0.insert.ext.i.i.i40 + %101 = zext i1 %.not1.i4.i41 to i8 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit54 -_ZNK4llvm3LLT13getSizeInBitsEv.exit54: ; preds = %97, %99, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i39 - %.sroa.012.0.in.i46 = phi i64 [ %107, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i39 ], [ %98, %97 ], [ %spec.select.i.i53, %99 ] - %.sroa.3.0.i47 = phi i8 [ %108, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i39 ], [ 0, %97 ], [ 0, %99 ] +_ZNK4llvm3LLT13getSizeInBitsEv.exit54: ; preds = %92, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i39 + %.sroa.012.0.in.i46 = phi i64 [ %100, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i39 ], [ %93, %92 ] + %.sroa.3.0.i47 = phi i8 [ %101, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i39 ], [ 0, %92 ] %.sroa.012.0.i48 = and i64 %.sroa.012.0.in.i46, 4294967295 store i64 %.sroa.012.0.i48, ptr %6, align 8 %.sroa.24.0..sroa_idx = getelementptr inbounds nuw i8, ptr %6, i64 8 store i8 %.sroa.3.0.i47, ptr %.sroa.24.0..sroa_idx, align 8 - %109 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %6) #25 - %110 = and i64 %88, 4294967295 - %111 = icmp ule i64 %109, %110 - br label %129 - -112: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit - br i1 %or.cond14.i38, label %113, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i59 + %102 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %6) #25 + %103 = and i64 %88, 4294967295 + %104 = icmp ule i64 %102, %103 + br label %119 -113: ; preds = %112 - %.not.i1.i71 = icmp eq i64 %93, 0 - br i1 %.not.i1.i71, label %116, label %114 +105: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit + br i1 %.not84, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i59, label %106 -114: ; preds = %113 - %115 = lshr i64 %3, 3 - br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit74 - -116: ; preds = %113 - %117 = lshr i64 %3, 19 - %118 = and i64 %117, 65535 - %spec.select.i.i73 = select i1 %.not.i.not.i36, i64 %117, i64 %118 +106: ; preds = %105 + %107 = lshr i64 %3, 3 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit74 -_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i59: ; preds = %112 - %119 = lshr i64 %3, 3 - %.sroa.0.0.insert.ext.i.i.i60 = and i64 %119, 65535 - %120 = select i1 %.not.i.not.i36, i64 2251799813685248, i64 576460752303423488 - %121 = and i64 %120, %3 - %.not1.i4.i61 = icmp ne i64 %121, 0 - %122 = lshr i64 %3, 19 - %123 = and i64 %122, 65535 - %spec.select.i10.i63 = select i1 %.not.i.not.i36, i64 %122, i64 %123 - %124 = mul nuw nsw i64 %spec.select.i10.i63, %.sroa.0.0.insert.ext.i.i.i60 - %125 = zext i1 %.not1.i4.i61 to i8 +_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i59: ; preds = %105 + %108 = and i64 %3, 2 + %.not.i.not.i56 = icmp eq i64 %108, 0 + %109 = lshr i64 %3, 3 + %.sroa.0.0.insert.ext.i.i.i60 = and i64 %109, 65535 + %110 = select i1 %.not.i.not.i56, i64 2251799813685248, i64 576460752303423488 + %111 = and i64 %110, %3 + %.not1.i4.i61 = icmp ne i64 %111, 0 + %112 = lshr i64 %3, 19 + %113 = and i64 %112, 65535 + %spec.select.i10.i63 = select i1 %.not.i.not.i56, i64 %112, i64 %113 + %114 = mul nuw nsw i64 %spec.select.i10.i63, %.sroa.0.0.insert.ext.i.i.i60 + %115 = zext i1 %.not1.i4.i61 to i8 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit74 -_ZNK4llvm3LLT13getSizeInBitsEv.exit74: ; preds = %114, %116, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i59 - %.sroa.012.0.in.i66 = phi i64 [ %124, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i59 ], [ %115, %114 ], [ %spec.select.i.i73, %116 ] - %.sroa.3.0.i67 = phi i8 [ %125, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i59 ], [ 0, %114 ], [ 0, %116 ] +_ZNK4llvm3LLT13getSizeInBitsEv.exit74: ; preds = %106, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i59 + %.sroa.012.0.in.i66 = phi i64 [ %114, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i59 ], [ %107, %106 ] + %.sroa.3.0.i67 = phi i8 [ %115, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i59 ], [ 0, %106 ] %.sroa.012.0.i68 = and i64 %.sroa.012.0.in.i66, 4294967295 store i64 %.sroa.012.0.i68, ptr %7, align 8 %.sroa.2.0..sroa_idx = getelementptr inbounds nuw i8, ptr %7, i64 8 store i8 %.sroa.3.0.i67, ptr %.sroa.2.0..sroa_idx, align 8 - %126 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %7) #25 - %127 = and i64 %88, 4294967295 - %128 = icmp uge i64 %126, %127 - br label %129 + %116 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %7) #25 + %117 = and i64 %88, 4294967295 + %118 = icmp uge i64 %116, %117 + br label %119 -129: ; preds = %34, %32, %10, %15, %_ZNK4llvm3LLT14getElementTypeEv.exit, %8, %4, %_ZNK4llvm3LLT13getSizeInBitsEv.exit74, %_ZNK4llvm3LLT13getSizeInBitsEv.exit54 - %.0 = phi i1 [ %111, %_ZNK4llvm3LLT13getSizeInBitsEv.exit54 ], [ %128, %_ZNK4llvm3LLT13getSizeInBitsEv.exit74 ], [ false, %4 ], [ true, %8 ], [ false, %15 ], [ false, %10 ], [ %spec.select.i, %_ZNK4llvm3LLT14getElementTypeEv.exit ], [ true, %32 ], [ false, %34 ] +119: ; preds = %34, %32, %10, %15, %_ZNK4llvm3LLT14getElementTypeEv.exit, %8, %4, %_ZNK4llvm3LLT13getSizeInBitsEv.exit74, %_ZNK4llvm3LLT13getSizeInBitsEv.exit54 + %.0 = phi i1 [ %104, %_ZNK4llvm3LLT13getSizeInBitsEv.exit54 ], [ %118, %_ZNK4llvm3LLT13getSizeInBitsEv.exit74 ], [ false, %4 ], [ true, %8 ], [ false, %15 ], [ false, %10 ], [ %spec.select.i, %_ZNK4llvm3LLT14getElementTypeEv.exit ], [ true, %32 ], [ false, %34 ] ret i1 %.0 } diff --git a/bench/llvm/optimized/MemorySanitizer.cpp.ll b/bench/llvm/optimized/MemorySanitizer.cpp.ll index 5560a2ee458..6ea7c5f1188 100644 --- a/bench/llvm/optimized/MemorySanitizer.cpp.ll +++ b/bench/llvm/optimized/MemorySanitizer.cpp.ll @@ -37608,122 +37608,122 @@ tailrecurse.i: ; preds = %tailrecurse.i.prehe br i1 %150, label %tailrecurse._crit_edge.i, label %tailrecurse.i tailrecurse._crit_edge.i: ; preds = %tailrecurse.i - %.mask.i = and i32 %148, -256 - %151 = icmp eq i32 %.mask.i, 256 - br i1 %151, label %_ZN12_GLOBAL__N_122MemorySanitizerVisitor13convertToBoolEPN4llvm5ValueERNS1_9IRBuilderINS1_14ConstantFolderENS1_24IRBuilderDefaultInserterEEERKNS1_5TwineE.exit, label %152 + %151 = and i32 %148, -256 + %152 = icmp eq i32 %151, 256 + br i1 %152, label %_ZN12_GLOBAL__N_122MemorySanitizerVisitor13convertToBoolEPN4llvm5ValueERNS1_9IRBuilderINS1_14ConstantFolderENS1_24IRBuilderDefaultInserterEEERKNS1_5TwineE.exit, label %153 -152: ; preds = %tailrecurse._crit_edge.i - %153 = call noundef ptr @_ZN4llvm11ConstantInt3getEPNS_4TypeEmb(ptr noundef nonnull %146, i64 noundef 0, i1 noundef zeroext false) #23 - %154 = call noundef ptr @_ZN4llvm13IRBuilderBase10CreateICmpENS_7CmpInst9PredicateEPNS_5ValueES4_RKNS_5TwineE(ptr noundef nonnull align 8 dereferenceable(144) %12, i32 noundef 33, ptr noundef nonnull %144, ptr noundef %153, ptr noundef nonnull align 8 dereferenceable(34) %17) +153: ; preds = %tailrecurse._crit_edge.i + %154 = call noundef ptr @_ZN4llvm11ConstantInt3getEPNS_4TypeEmb(ptr noundef nonnull %146, i64 noundef 0, i1 noundef zeroext false) #23 + %155 = call noundef ptr @_ZN4llvm13IRBuilderBase10CreateICmpENS_7CmpInst9PredicateEPNS_5ValueES4_RKNS_5TwineE(ptr noundef nonnull align 8 dereferenceable(144) %12, i32 noundef 33, ptr noundef nonnull %144, ptr noundef %154, ptr noundef nonnull align 8 dereferenceable(34) %17) br label %_ZN12_GLOBAL__N_122MemorySanitizerVisitor13convertToBoolEPN4llvm5ValueERNS1_9IRBuilderINS1_14ConstantFolderENS1_24IRBuilderDefaultInserterEEERKNS1_5TwineE.exit -_ZN12_GLOBAL__N_122MemorySanitizerVisitor13convertToBoolEPN4llvm5ValueERNS1_9IRBuilderINS1_14ConstantFolderENS1_24IRBuilderDefaultInserterEEERKNS1_5TwineE.exit: ; preds = %tailrecurse._crit_edge.i, %152 - %.0.i50 = phi ptr [ %154, %152 ], [ %144, %tailrecurse._crit_edge.i ] - %155 = getelementptr inbounds nuw i8, ptr %18, i64 32 - %156 = getelementptr inbounds nuw i8, ptr %35, i64 8 - store i16 257, ptr %155, align 8 - %157 = load ptr, ptr %156, align 8 - %158 = getelementptr inbounds nuw i8, ptr %157, i64 8 - %159 = load i32, ptr %158, align 8 - %160 = and i32 %159, 255 - %161 = icmp eq i32 %160, 12 - br i1 %161, label %tailrecurse._crit_edge.i53, label %tailrecurse.i51 +_ZN12_GLOBAL__N_122MemorySanitizerVisitor13convertToBoolEPN4llvm5ValueERNS1_9IRBuilderINS1_14ConstantFolderENS1_24IRBuilderDefaultInserterEEERKNS1_5TwineE.exit: ; preds = %tailrecurse._crit_edge.i, %153 + %.0.i50 = phi ptr [ %155, %153 ], [ %144, %tailrecurse._crit_edge.i ] + %156 = getelementptr inbounds nuw i8, ptr %18, i64 32 + %157 = getelementptr inbounds nuw i8, ptr %35, i64 8 + store i16 257, ptr %156, align 8 + %158 = load ptr, ptr %157, align 8 + %159 = getelementptr inbounds nuw i8, ptr %158, i64 8 + %160 = load i32, ptr %159, align 8 + %161 = and i32 %160, 255 + %162 = icmp eq i32 %161, 12 + br i1 %162, label %tailrecurse._crit_edge.i53, label %tailrecurse.i51 tailrecurse.i51: ; preds = %_ZN12_GLOBAL__N_122MemorySanitizerVisitor13convertToBoolEPN4llvm5ValueERNS1_9IRBuilderINS1_14ConstantFolderENS1_24IRBuilderDefaultInserterEEERKNS1_5TwineE.exit, %tailrecurse.i51 - %.tr1418.i52 = phi ptr [ %162, %tailrecurse.i51 ], [ %35, %_ZN12_GLOBAL__N_122MemorySanitizerVisitor13convertToBoolEPN4llvm5ValueERNS1_9IRBuilderINS1_14ConstantFolderENS1_24IRBuilderDefaultInserterEEERKNS1_5TwineE.exit ] - %162 = call fastcc noundef ptr @_ZN12_GLOBAL__N_122MemorySanitizerVisitor21convertShadowToScalarEPN4llvm5ValueERNS1_9IRBuilderINS1_14ConstantFolderENS1_24IRBuilderDefaultInserterEEE(ptr noundef nonnull readonly align 8 dereferenceable(1632) %0, ptr noundef nonnull %.tr1418.i52, ptr noundef nonnull align 8 dereferenceable(144) %12) - %163 = getelementptr inbounds nuw i8, ptr %162, i64 8 - %164 = load ptr, ptr %163, align 8 - %165 = getelementptr inbounds nuw i8, ptr %164, i64 8 - %166 = load i32, ptr %165, align 8 - %167 = and i32 %166, 255 - %168 = icmp eq i32 %167, 12 - br i1 %168, label %tailrecurse._crit_edge.i53, label %tailrecurse.i51 + %.tr1418.i52 = phi ptr [ %163, %tailrecurse.i51 ], [ %35, %_ZN12_GLOBAL__N_122MemorySanitizerVisitor13convertToBoolEPN4llvm5ValueERNS1_9IRBuilderINS1_14ConstantFolderENS1_24IRBuilderDefaultInserterEEERKNS1_5TwineE.exit ] + %163 = call fastcc noundef ptr @_ZN12_GLOBAL__N_122MemorySanitizerVisitor21convertShadowToScalarEPN4llvm5ValueERNS1_9IRBuilderINS1_14ConstantFolderENS1_24IRBuilderDefaultInserterEEE(ptr noundef nonnull readonly align 8 dereferenceable(1632) %0, ptr noundef nonnull %.tr1418.i52, ptr noundef nonnull align 8 dereferenceable(144) %12) + %164 = getelementptr inbounds nuw i8, ptr %163, i64 8 + %165 = load ptr, ptr %164, align 8 + %166 = getelementptr inbounds nuw i8, ptr %165, i64 8 + %167 = load i32, ptr %166, align 8 + %168 = and i32 %167, 255 + %169 = icmp eq i32 %168, 12 + br i1 %169, label %tailrecurse._crit_edge.i53, label %tailrecurse.i51 tailrecurse._crit_edge.i53: ; preds = %tailrecurse.i51, %_ZN12_GLOBAL__N_122MemorySanitizerVisitor13convertToBoolEPN4llvm5ValueERNS1_9IRBuilderINS1_14ConstantFolderENS1_24IRBuilderDefaultInserterEEERKNS1_5TwineE.exit - %.tr14.lcssa.i54 = phi ptr [ %35, %_ZN12_GLOBAL__N_122MemorySanitizerVisitor13convertToBoolEPN4llvm5ValueERNS1_9IRBuilderINS1_14ConstantFolderENS1_24IRBuilderDefaultInserterEEERKNS1_5TwineE.exit ], [ %162, %tailrecurse.i51 ] - %.lcssa17.i55 = phi ptr [ %157, %_ZN12_GLOBAL__N_122MemorySanitizerVisitor13convertToBoolEPN4llvm5ValueERNS1_9IRBuilderINS1_14ConstantFolderENS1_24IRBuilderDefaultInserterEEERKNS1_5TwineE.exit ], [ %164, %tailrecurse.i51 ] - %.lcssa.i56 = phi i32 [ %159, %_ZN12_GLOBAL__N_122MemorySanitizerVisitor13convertToBoolEPN4llvm5ValueERNS1_9IRBuilderINS1_14ConstantFolderENS1_24IRBuilderDefaultInserterEEERKNS1_5TwineE.exit ], [ %166, %tailrecurse.i51 ] + %.tr14.lcssa.i54 = phi ptr [ %35, %_ZN12_GLOBAL__N_122MemorySanitizerVisitor13convertToBoolEPN4llvm5ValueERNS1_9IRBuilderINS1_14ConstantFolderENS1_24IRBuilderDefaultInserterEEERKNS1_5TwineE.exit ], [ %163, %tailrecurse.i51 ] + %.lcssa17.i55 = phi ptr [ %158, %_ZN12_GLOBAL__N_122MemorySanitizerVisitor13convertToBoolEPN4llvm5ValueERNS1_9IRBuilderINS1_14ConstantFolderENS1_24IRBuilderDefaultInserterEEERKNS1_5TwineE.exit ], [ %165, %tailrecurse.i51 ] + %.lcssa.i56 = phi i32 [ %160, %_ZN12_GLOBAL__N_122MemorySanitizerVisitor13convertToBoolEPN4llvm5ValueERNS1_9IRBuilderINS1_14ConstantFolderENS1_24IRBuilderDefaultInserterEEERKNS1_5TwineE.exit ], [ %167, %tailrecurse.i51 ] %.mask.i57 = and i32 %.lcssa.i56, -256 - %169 = icmp eq i32 %.mask.i57, 256 - br i1 %169, label %_ZN12_GLOBAL__N_122MemorySanitizerVisitor13convertToBoolEPN4llvm5ValueERNS1_9IRBuilderINS1_14ConstantFolderENS1_24IRBuilderDefaultInserterEEERKNS1_5TwineE.exit59, label %170 + %170 = icmp eq i32 %.mask.i57, 256 + br i1 %170, label %_ZN12_GLOBAL__N_122MemorySanitizerVisitor13convertToBoolEPN4llvm5ValueERNS1_9IRBuilderINS1_14ConstantFolderENS1_24IRBuilderDefaultInserterEEERKNS1_5TwineE.exit59, label %171 -170: ; preds = %tailrecurse._crit_edge.i53 - %171 = call noundef ptr @_ZN4llvm11ConstantInt3getEPNS_4TypeEmb(ptr noundef nonnull %.lcssa17.i55, i64 noundef 0, i1 noundef zeroext false) #23 - %172 = call noundef ptr @_ZN4llvm13IRBuilderBase10CreateICmpENS_7CmpInst9PredicateEPNS_5ValueES4_RKNS_5TwineE(ptr noundef nonnull align 8 dereferenceable(144) %12, i32 noundef 33, ptr noundef nonnull %.tr14.lcssa.i54, ptr noundef %171, ptr noundef nonnull align 8 dereferenceable(34) %18) +171: ; preds = %tailrecurse._crit_edge.i53 + %172 = call noundef ptr @_ZN4llvm11ConstantInt3getEPNS_4TypeEmb(ptr noundef nonnull %.lcssa17.i55, i64 noundef 0, i1 noundef zeroext false) #23 + %173 = call noundef ptr @_ZN4llvm13IRBuilderBase10CreateICmpENS_7CmpInst9PredicateEPNS_5ValueES4_RKNS_5TwineE(ptr noundef nonnull align 8 dereferenceable(144) %12, i32 noundef 33, ptr noundef nonnull %.tr14.lcssa.i54, ptr noundef %172, ptr noundef nonnull align 8 dereferenceable(34) %18) br label %_ZN12_GLOBAL__N_122MemorySanitizerVisitor13convertToBoolEPN4llvm5ValueERNS1_9IRBuilderINS1_14ConstantFolderENS1_24IRBuilderDefaultInserterEEERKNS1_5TwineE.exit59 -_ZN12_GLOBAL__N_122MemorySanitizerVisitor13convertToBoolEPN4llvm5ValueERNS1_9IRBuilderINS1_14ConstantFolderENS1_24IRBuilderDefaultInserterEEERKNS1_5TwineE.exit59: ; preds = %170, %tailrecurse._crit_edge.i53, %136 - %.034 = phi ptr [ %35, %136 ], [ %172, %170 ], [ %.tr14.lcssa.i54, %tailrecurse._crit_edge.i53 ] - %.0 = phi ptr [ %2, %136 ], [ %.0.i50, %170 ], [ %.0.i50, %tailrecurse._crit_edge.i53 ] - %173 = getelementptr inbounds nuw i8, ptr %19, i64 32 - store i16 257, ptr %173, align 8 - %174 = call noundef ptr @_ZN4llvm13IRBuilderBase12CreateSelectEPNS_5ValueES2_S2_RKNS_5TwineEPNS_11InstructionE(ptr noundef nonnull align 8 dereferenceable(128) %12, ptr noundef %.0, ptr noundef %50, ptr noundef %52, ptr noundef nonnull align 8 dereferenceable(34) %19, ptr noundef null) #23 - %175 = getelementptr inbounds nuw i8, ptr %20, i64 32 - store i16 257, ptr %175, align 8 - %176 = call noundef ptr @_ZN4llvm13IRBuilderBase12CreateSelectEPNS_5ValueES2_S2_RKNS_5TwineEPNS_11InstructionE(ptr noundef nonnull align 8 dereferenceable(128) %12, ptr noundef %.034, ptr noundef %51, ptr noundef %174, ptr noundef nonnull align 8 dereferenceable(34) %20, ptr noundef null) #23 - %177 = load ptr, ptr %38, align 8 - %178 = getelementptr inbounds nuw i8, ptr %177, i64 4 - %179 = load i32, ptr %178, align 4 - %.not.i60 = icmp eq i32 %179, 0 - br i1 %.not.i60, label %_ZN12_GLOBAL__N_122MemorySanitizerVisitor9setOriginEPN4llvm5ValueES3_.exit, label %180 - -180: ; preds = %_ZN12_GLOBAL__N_122MemorySanitizerVisitor13convertToBoolEPN4llvm5ValueERNS1_9IRBuilderINS1_14ConstantFolderENS1_24IRBuilderDefaultInserterEEERKNS1_5TwineE.exit59 - %181 = getelementptr inbounds nuw i8, ptr %0, i64 368 +_ZN12_GLOBAL__N_122MemorySanitizerVisitor13convertToBoolEPN4llvm5ValueERNS1_9IRBuilderINS1_14ConstantFolderENS1_24IRBuilderDefaultInserterEEERKNS1_5TwineE.exit59: ; preds = %171, %tailrecurse._crit_edge.i53, %136 + %.034 = phi ptr [ %35, %136 ], [ %173, %171 ], [ %.tr14.lcssa.i54, %tailrecurse._crit_edge.i53 ] + %.0 = phi ptr [ %2, %136 ], [ %.0.i50, %171 ], [ %.0.i50, %tailrecurse._crit_edge.i53 ] + %174 = getelementptr inbounds nuw i8, ptr %19, i64 32 + store i16 257, ptr %174, align 8 + %175 = call noundef ptr @_ZN4llvm13IRBuilderBase12CreateSelectEPNS_5ValueES2_S2_RKNS_5TwineEPNS_11InstructionE(ptr noundef nonnull align 8 dereferenceable(128) %12, ptr noundef %.0, ptr noundef %50, ptr noundef %52, ptr noundef nonnull align 8 dereferenceable(34) %19, ptr noundef null) #23 + %176 = getelementptr inbounds nuw i8, ptr %20, i64 32 + store i16 257, ptr %176, align 8 + %177 = call noundef ptr @_ZN4llvm13IRBuilderBase12CreateSelectEPNS_5ValueES2_S2_RKNS_5TwineEPNS_11InstructionE(ptr noundef nonnull align 8 dereferenceable(128) %12, ptr noundef %.034, ptr noundef %51, ptr noundef %175, ptr noundef nonnull align 8 dereferenceable(34) %20, ptr noundef null) #23 + %178 = load ptr, ptr %38, align 8 + %179 = getelementptr inbounds nuw i8, ptr %178, i64 4 + %180 = load i32, ptr %179, align 4 + %.not.i60 = icmp eq i32 %180, 0 + br i1 %.not.i60, label %_ZN12_GLOBAL__N_122MemorySanitizerVisitor9setOriginEPN4llvm5ValueES3_.exit, label %181 + +181: ; preds = %_ZN12_GLOBAL__N_122MemorySanitizerVisitor13convertToBoolEPN4llvm5ValueERNS1_9IRBuilderINS1_14ConstantFolderENS1_24IRBuilderDefaultInserterEEERKNS1_5TwineE.exit59 + %182 = getelementptr inbounds nuw i8, ptr %0, i64 368 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %6) - %182 = getelementptr inbounds nuw i8, ptr %6, i64 8 - store i64 2, ptr %182, align 8, !alias.scope !322 - %183 = getelementptr inbounds nuw i8, ptr %6, i64 16 - store ptr null, ptr %183, align 8, !alias.scope !322 - %184 = getelementptr inbounds nuw i8, ptr %6, i64 24 - store ptr %1, ptr %184, align 8, !alias.scope !322 + %183 = getelementptr inbounds nuw i8, ptr %6, i64 8 + store i64 2, ptr %183, align 8, !alias.scope !322 + %184 = getelementptr inbounds nuw i8, ptr %6, i64 16 + store ptr null, ptr %184, align 8, !alias.scope !322 + %185 = getelementptr inbounds nuw i8, ptr %6, i64 24 + store ptr %1, ptr %185, align 8, !alias.scope !322 %magicptr.i.i.i.i.i.i = ptrtoint ptr %1 to i64 - switch i64 %magicptr.i.i.i.i.i.i, label %185 [ + switch i64 %magicptr.i.i.i.i.i.i, label %186 [ i64 0, label %_ZNK4llvm8ValueMapIPNS_5ValueES2_NS_14ValueMapConfigIS2_NS_3sys10SmartMutexILb0EEEEEE4WrapES2_.exit.i.i i64 -4096, label %_ZNK4llvm8ValueMapIPNS_5ValueES2_NS_14ValueMapConfigIS2_NS_3sys10SmartMutexILb0EEEEEE4WrapES2_.exit.i.i i64 -8192, label %_ZNK4llvm8ValueMapIPNS_5ValueES2_NS_14ValueMapConfigIS2_NS_3sys10SmartMutexILb0EEEEEE4WrapES2_.exit.i.i ] -185: ; preds = %180 - call void @_ZN4llvm15ValueHandleBase12AddToUseListEv(ptr noundef nonnull align 8 dereferenceable(24) %182) #23 +186: ; preds = %181 + call void @_ZN4llvm15ValueHandleBase12AddToUseListEv(ptr noundef nonnull align 8 dereferenceable(24) %183) #23 br label %_ZNK4llvm8ValueMapIPNS_5ValueES2_NS_14ValueMapConfigIS2_NS_3sys10SmartMutexILb0EEEEEE4WrapES2_.exit.i.i -_ZNK4llvm8ValueMapIPNS_5ValueES2_NS_14ValueMapConfigIS2_NS_3sys10SmartMutexILb0EEEEEE4WrapES2_.exit.i.i: ; preds = %185, %180, %180, %180 +_ZNK4llvm8ValueMapIPNS_5ValueES2_NS_14ValueMapConfigIS2_NS_3sys10SmartMutexILb0EEEEEE4WrapES2_.exit.i.i: ; preds = %186, %181, %181, %181 store ptr getelementptr inbounds nuw inrange(-16, 24) (i8, ptr @_ZTVN4llvm18ValueMapCallbackVHIPNS_5ValueES2_NS_14ValueMapConfigIS2_NS_3sys10SmartMutexILb0EEEEEEE, i64 16), ptr %6, align 8, !alias.scope !322 - %186 = getelementptr inbounds nuw i8, ptr %6, i64 32 - store ptr %181, ptr %186, align 8, !alias.scope !322 - %187 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZN4llvm12DenseMapBaseINS_8DenseMapINS_18ValueMapCallbackVHIPNS_5ValueES4_NS_14ValueMapConfigIS4_NS_3sys10SmartMutexILb0EEEEEEES4_NS_12DenseMapInfoISA_vEENS_6detail12DenseMapPairISA_S4_EEEESA_S4_SC_SF_E16FindAndConstructEOSA_(ptr noundef nonnull align 8 dereferenceable(57) %181, ptr noundef nonnull align 8 dereferenceable(40) %6) - %188 = load ptr, ptr %184, align 8 - %magicptr.i.i.i.i.i = ptrtoint ptr %188 to i64 - switch i64 %magicptr.i.i.i.i.i, label %189 [ + %187 = getelementptr inbounds nuw i8, ptr %6, i64 32 + store ptr %182, ptr %187, align 8, !alias.scope !322 + %188 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZN4llvm12DenseMapBaseINS_8DenseMapINS_18ValueMapCallbackVHIPNS_5ValueES4_NS_14ValueMapConfigIS4_NS_3sys10SmartMutexILb0EEEEEEES4_NS_12DenseMapInfoISA_vEENS_6detail12DenseMapPairISA_S4_EEEESA_S4_SC_SF_E16FindAndConstructEOSA_(ptr noundef nonnull align 8 dereferenceable(57) %182, ptr noundef nonnull align 8 dereferenceable(40) %6) + %189 = load ptr, ptr %185, align 8 + %magicptr.i.i.i.i.i = ptrtoint ptr %189 to i64 + switch i64 %magicptr.i.i.i.i.i, label %190 [ i64 0, label %_ZN4llvm8ValueMapIPNS_5ValueES2_NS_14ValueMapConfigIS2_NS_3sys10SmartMutexILb0EEEEEEixERKS2_.exit.i i64 -4096, label %_ZN4llvm8ValueMapIPNS_5ValueES2_NS_14ValueMapConfigIS2_NS_3sys10SmartMutexILb0EEEEEEixERKS2_.exit.i i64 -8192, label %_ZN4llvm8ValueMapIPNS_5ValueES2_NS_14ValueMapConfigIS2_NS_3sys10SmartMutexILb0EEEEEEixERKS2_.exit.i ] -189: ; preds = %_ZNK4llvm8ValueMapIPNS_5ValueES2_NS_14ValueMapConfigIS2_NS_3sys10SmartMutexILb0EEEEEE4WrapES2_.exit.i.i - call void @_ZN4llvm15ValueHandleBase17RemoveFromUseListEv(ptr noundef nonnull align 8 dereferenceable(24) %182) #23 +190: ; preds = %_ZNK4llvm8ValueMapIPNS_5ValueES2_NS_14ValueMapConfigIS2_NS_3sys10SmartMutexILb0EEEEEE4WrapES2_.exit.i.i + call void @_ZN4llvm15ValueHandleBase17RemoveFromUseListEv(ptr noundef nonnull align 8 dereferenceable(24) %183) #23 br label %_ZN4llvm8ValueMapIPNS_5ValueES2_NS_14ValueMapConfigIS2_NS_3sys10SmartMutexILb0EEEEEEixERKS2_.exit.i -_ZN4llvm8ValueMapIPNS_5ValueES2_NS_14ValueMapConfigIS2_NS_3sys10SmartMutexILb0EEEEEEixERKS2_.exit.i: ; preds = %189, %_ZNK4llvm8ValueMapIPNS_5ValueES2_NS_14ValueMapConfigIS2_NS_3sys10SmartMutexILb0EEEEEE4WrapES2_.exit.i.i, %_ZNK4llvm8ValueMapIPNS_5ValueES2_NS_14ValueMapConfigIS2_NS_3sys10SmartMutexILb0EEEEEE4WrapES2_.exit.i.i, %_ZNK4llvm8ValueMapIPNS_5ValueES2_NS_14ValueMapConfigIS2_NS_3sys10SmartMutexILb0EEEEEE4WrapES2_.exit.i.i - %190 = getelementptr inbounds nuw i8, ptr %187, i64 40 +_ZN4llvm8ValueMapIPNS_5ValueES2_NS_14ValueMapConfigIS2_NS_3sys10SmartMutexILb0EEEEEEixERKS2_.exit.i: ; preds = %190, %_ZNK4llvm8ValueMapIPNS_5ValueES2_NS_14ValueMapConfigIS2_NS_3sys10SmartMutexILb0EEEEEE4WrapES2_.exit.i.i, %_ZNK4llvm8ValueMapIPNS_5ValueES2_NS_14ValueMapConfigIS2_NS_3sys10SmartMutexILb0EEEEEE4WrapES2_.exit.i.i, %_ZNK4llvm8ValueMapIPNS_5ValueES2_NS_14ValueMapConfigIS2_NS_3sys10SmartMutexILb0EEEEEE4WrapES2_.exit.i.i + %191 = getelementptr inbounds nuw i8, ptr %188, i64 40 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %6) - store ptr %176, ptr %190, align 8 + store ptr %177, ptr %191, align 8 br label %_ZN12_GLOBAL__N_122MemorySanitizerVisitor9setOriginEPN4llvm5ValueES3_.exit _ZN12_GLOBAL__N_122MemorySanitizerVisitor9setOriginEPN4llvm5ValueES3_.exit: ; preds = %_ZN4llvm8ValueMapIPNS_5ValueES2_NS_14ValueMapConfigIS2_NS_3sys10SmartMutexILb0EEEEEEixERKS2_.exit.i, %_ZN12_GLOBAL__N_122MemorySanitizerVisitor13convertToBoolEPN4llvm5ValueERNS1_9IRBuilderINS1_14ConstantFolderENS1_24IRBuilderDefaultInserterEEERKNS1_5TwineE.exit59, %129 call void @_ZN4llvm24IRBuilderDefaultInserterD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %23) #23 call void @_ZN4llvm15IRBuilderFolderD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %22) #23 - %191 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(144) %12) #23 - %192 = load ptr, ptr %12, align 8 - %193 = icmp eq ptr %192, %24 - br i1 %193, label %_ZN4llvm9IRBuilderINS_14ConstantFolderENS_24IRBuilderDefaultInserterEED2Ev.exit, label %194 + %192 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(144) %12) #23 + %193 = load ptr, ptr %12, align 8 + %194 = icmp eq ptr %193, %24 + br i1 %194, label %_ZN4llvm9IRBuilderINS_14ConstantFolderENS_24IRBuilderDefaultInserterEED2Ev.exit, label %195 -194: ; preds = %_ZN12_GLOBAL__N_122MemorySanitizerVisitor9setOriginEPN4llvm5ValueES3_.exit - call void @free(ptr noundef %192) #23 +195: ; preds = %_ZN12_GLOBAL__N_122MemorySanitizerVisitor9setOriginEPN4llvm5ValueES3_.exit + call void @free(ptr noundef %193) #23 br label %_ZN4llvm9IRBuilderINS_14ConstantFolderENS_24IRBuilderDefaultInserterEED2Ev.exit -_ZN4llvm9IRBuilderINS_14ConstantFolderENS_24IRBuilderDefaultInserterEED2Ev.exit: ; preds = %_ZN12_GLOBAL__N_122MemorySanitizerVisitor9setOriginEPN4llvm5ValueES3_.exit, %194 +_ZN4llvm9IRBuilderINS_14ConstantFolderENS_24IRBuilderDefaultInserterEED2Ev.exit: ; preds = %_ZN12_GLOBAL__N_122MemorySanitizerVisitor9setOriginEPN4llvm5ValueES3_.exit, %195 ret void } diff --git a/bench/llvm/optimized/OSTargets.cpp.ll b/bench/llvm/optimized/OSTargets.cpp.ll index ea922b501fd..a15c2bf0b7d 100644 --- a/bench/llvm/optimized/OSTargets.cpp.ll +++ b/bench/llvm/optimized/OSTargets.cpp.ll @@ -377,8 +377,7 @@ _ZN4llvmeqENS_9StringRefES0_.exit54.thread221: ; preds = %102, %114, %_ZN4llv store i8 %145, ptr %146, align 1 %147 = getelementptr inbounds nuw i8, ptr %27, i64 4 store i8 0, ptr %147, align 1 - %cond = icmp eq i32 %116, 5 - br i1 %cond, label %200, label %.thread246 + br label %.thread246 .critedge: ; preds = %_ZN4llvmeqENS_9StringRefES0_.exit54.thread221 %148 = icmp ult i32 %119, 10 @@ -461,11 +460,11 @@ _ZN4llvmeqENS_9StringRefES0_.exit54.thread221: ; preds = %102, %114, %_ZN4llv %193 = or disjoint i8 %192, 48 store i8 %193, ptr %.sink249.sroa.phi, align 1 store i8 0, ptr %.sink247.sroa.phi, align 1 - switch i32 %116, label %219 [ + switch i32 %116, label %218 [ i32 26, label %194 i32 5, label %200 - i32 27, label %207 - i32 29, label %213 + i32 27, label %206 + i32 29, label %212 ] 194: ; preds = %184 @@ -488,151 +487,150 @@ _ZN4llvm5TwineC2EPKc.exit: ; preds = %194, %199 %storemerge.i = phi i8 [ 3, %199 ], [ 1, %194 ] store i8 %storemerge.i, ptr %197, align 8 call void @_ZN5clang12MacroBuilder11defineMacroERKN4llvm5TwineES4_(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull align 8 dereferenceable(34) %28, ptr noundef nonnull align 8 dereferenceable(34) %29) - br label %226 + br label %225 -200: ; preds = %.thread, %184 - %201 = phi i8 [ %185, %184 ], [ 1, %.thread ] - %202 = getelementptr inbounds nuw i8, ptr %30, i64 32 - %203 = getelementptr inbounds nuw i8, ptr %30, i64 33 - store i8 1, ptr %203, align 1 +200: ; preds = %184 + %201 = getelementptr inbounds nuw i8, ptr %30, i64 32 + %202 = getelementptr inbounds nuw i8, ptr %30, i64 33 + store i8 1, ptr %202, align 1 store ptr @.str.20, ptr %30, align 8 - store i8 3, ptr %202, align 8 - %204 = getelementptr inbounds nuw i8, ptr %31, i64 32 - %205 = getelementptr inbounds nuw i8, ptr %31, i64 33 - store i8 1, ptr %205, align 1 - %.not.i122 = icmp eq i8 %201, 0 - br i1 %.not.i122, label %_ZN4llvm5TwineC2EPKc.exit124, label %206 - -206: ; preds = %200 + store i8 3, ptr %201, align 8 + %203 = getelementptr inbounds nuw i8, ptr %31, i64 32 + %204 = getelementptr inbounds nuw i8, ptr %31, i64 33 + store i8 1, ptr %204, align 1 + %.not.i122 = icmp eq i8 %185, 0 + br i1 %.not.i122, label %_ZN4llvm5TwineC2EPKc.exit124, label %205 + +205: ; preds = %200 store ptr %27, ptr %31, align 8 br label %_ZN4llvm5TwineC2EPKc.exit124 -_ZN4llvm5TwineC2EPKc.exit124: ; preds = %200, %206 - %storemerge.i123 = phi i8 [ 3, %206 ], [ 1, %200 ] - store i8 %storemerge.i123, ptr %204, align 8 +_ZN4llvm5TwineC2EPKc.exit124: ; preds = %200, %205 + %storemerge.i123 = phi i8 [ 3, %205 ], [ 1, %200 ] + store i8 %storemerge.i123, ptr %203, align 8 call void @_ZN5clang12MacroBuilder11defineMacroERKN4llvm5TwineES4_(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull align 8 dereferenceable(34) %30, ptr noundef nonnull align 8 dereferenceable(34) %31) - br label %226 + br label %225 -207: ; preds = %184 - %208 = getelementptr inbounds nuw i8, ptr %32, i64 32 - %209 = getelementptr inbounds nuw i8, ptr %32, i64 33 - store i8 1, ptr %209, align 1 +206: ; preds = %184 + %207 = getelementptr inbounds nuw i8, ptr %32, i64 32 + %208 = getelementptr inbounds nuw i8, ptr %32, i64 33 + store i8 1, ptr %208, align 1 store ptr @.str.21, ptr %32, align 8 - store i8 3, ptr %208, align 8 - %210 = getelementptr inbounds nuw i8, ptr %33, i64 32 - %211 = getelementptr inbounds nuw i8, ptr %33, i64 33 - store i8 1, ptr %211, align 1 + store i8 3, ptr %207, align 8 + %209 = getelementptr inbounds nuw i8, ptr %33, i64 32 + %210 = getelementptr inbounds nuw i8, ptr %33, i64 33 + store i8 1, ptr %210, align 1 %.not.i126 = icmp eq i8 %185, 0 - br i1 %.not.i126, label %_ZN4llvm5TwineC2EPKc.exit128, label %212 + br i1 %.not.i126, label %_ZN4llvm5TwineC2EPKc.exit128, label %211 -212: ; preds = %207 +211: ; preds = %206 store ptr %27, ptr %33, align 8 br label %_ZN4llvm5TwineC2EPKc.exit128 -_ZN4llvm5TwineC2EPKc.exit128: ; preds = %207, %212 - %storemerge.i127 = phi i8 [ 3, %212 ], [ 1, %207 ] - store i8 %storemerge.i127, ptr %210, align 8 +_ZN4llvm5TwineC2EPKc.exit128: ; preds = %206, %211 + %storemerge.i127 = phi i8 [ 3, %211 ], [ 1, %206 ] + store i8 %storemerge.i127, ptr %209, align 8 call void @_ZN5clang12MacroBuilder11defineMacroERKN4llvm5TwineES4_(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull align 8 dereferenceable(34) %32, ptr noundef nonnull align 8 dereferenceable(34) %33) - br label %226 + br label %225 -213: ; preds = %184 - %214 = getelementptr inbounds nuw i8, ptr %34, i64 32 - %215 = getelementptr inbounds nuw i8, ptr %34, i64 33 - store i8 1, ptr %215, align 1 +212: ; preds = %184 + %213 = getelementptr inbounds nuw i8, ptr %34, i64 32 + %214 = getelementptr inbounds nuw i8, ptr %34, i64 33 + store i8 1, ptr %214, align 1 store ptr @.str.22, ptr %34, align 8 - store i8 3, ptr %214, align 8 - %216 = getelementptr inbounds nuw i8, ptr %35, i64 32 - %217 = getelementptr inbounds nuw i8, ptr %35, i64 33 - store i8 1, ptr %217, align 1 + store i8 3, ptr %213, align 8 + %215 = getelementptr inbounds nuw i8, ptr %35, i64 32 + %216 = getelementptr inbounds nuw i8, ptr %35, i64 33 + store i8 1, ptr %216, align 1 %.not.i130 = icmp eq i8 %185, 0 - br i1 %.not.i130, label %_ZN4llvm5TwineC2EPKc.exit132, label %218 + br i1 %.not.i130, label %_ZN4llvm5TwineC2EPKc.exit132, label %217 -218: ; preds = %213 +217: ; preds = %212 store ptr %27, ptr %35, align 8 br label %_ZN4llvm5TwineC2EPKc.exit132 -_ZN4llvm5TwineC2EPKc.exit132: ; preds = %213, %218 - %storemerge.i131 = phi i8 [ 3, %218 ], [ 1, %213 ] - store i8 %storemerge.i131, ptr %216, align 8 +_ZN4llvm5TwineC2EPKc.exit132: ; preds = %212, %217 + %storemerge.i131 = phi i8 [ 3, %217 ], [ 1, %212 ] + store i8 %storemerge.i131, ptr %215, align 8 call void @_ZN5clang12MacroBuilder11defineMacroERKN4llvm5TwineES4_(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull align 8 dereferenceable(34) %34, ptr noundef nonnull align 8 dereferenceable(34) %35) - br label %226 + br label %225 -219: ; preds = %184 - br i1 %spec.select.i55, label %.thread246, label %226 +218: ; preds = %184 + br i1 %spec.select.i55, label %.thread246, label %225 -.thread246: ; preds = %.thread, %219 - %220 = phi i8 [ %185, %219 ], [ 1, %.thread ] - %221 = getelementptr inbounds nuw i8, ptr %36, i64 32 - %222 = getelementptr inbounds nuw i8, ptr %36, i64 33 - store i8 1, ptr %222, align 1 +.thread246: ; preds = %.thread, %218 + %219 = phi i8 [ %185, %218 ], [ 1, %.thread ] + %220 = getelementptr inbounds nuw i8, ptr %36, i64 32 + %221 = getelementptr inbounds nuw i8, ptr %36, i64 33 + store i8 1, ptr %221, align 1 store ptr @.str.23, ptr %36, align 8 - store i8 3, ptr %221, align 8 - %223 = getelementptr inbounds nuw i8, ptr %37, i64 32 - %224 = getelementptr inbounds nuw i8, ptr %37, i64 33 - store i8 1, ptr %224, align 1 - %.not.i135 = icmp eq i8 %220, 0 - br i1 %.not.i135, label %_ZN4llvm5TwineC2EPKc.exit137, label %225 - -225: ; preds = %.thread246 + store i8 3, ptr %220, align 8 + %222 = getelementptr inbounds nuw i8, ptr %37, i64 32 + %223 = getelementptr inbounds nuw i8, ptr %37, i64 33 + store i8 1, ptr %223, align 1 + %.not.i135 = icmp eq i8 %219, 0 + br i1 %.not.i135, label %_ZN4llvm5TwineC2EPKc.exit137, label %224 + +224: ; preds = %.thread246 store ptr %27, ptr %37, align 8 br label %_ZN4llvm5TwineC2EPKc.exit137 -_ZN4llvm5TwineC2EPKc.exit137: ; preds = %.thread246, %225 - %storemerge.i136 = phi i8 [ 3, %225 ], [ 1, %.thread246 ] - store i8 %storemerge.i136, ptr %223, align 8 +_ZN4llvm5TwineC2EPKc.exit137: ; preds = %.thread246, %224 + %storemerge.i136 = phi i8 [ 3, %224 ], [ 1, %.thread246 ] + store i8 %storemerge.i136, ptr %222, align 8 call void @_ZN5clang12MacroBuilder11defineMacroERKN4llvm5TwineES4_(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull align 8 dereferenceable(34) %36, ptr noundef nonnull align 8 dereferenceable(34) %37) - br label %226 - -226: ; preds = %_ZN4llvm5TwineC2EPKc.exit124, %_ZN4llvm5TwineC2EPKc.exit132, %_ZN4llvm5TwineC2EPKc.exit137, %219, %_ZN4llvm5TwineC2EPKc.exit128, %_ZN4llvm5TwineC2EPKc.exit - %227 = load i32, ptr %98, align 4 - %228 = and i32 %227, -9 - %spec.select.i.i = icmp eq i32 %228, 1 - br i1 %spec.select.i.i, label %230, label %229 - -229: ; preds = %226 - switch i32 %227, label %_ZN4llvmeqENS_9StringRefES0_.exit54.thread [ - i32 26, label %230 - i32 5, label %230 - i32 27, label %230 - i32 29, label %230 - i32 30, label %230 + br label %225 + +225: ; preds = %_ZN4llvm5TwineC2EPKc.exit124, %_ZN4llvm5TwineC2EPKc.exit132, %_ZN4llvm5TwineC2EPKc.exit137, %218, %_ZN4llvm5TwineC2EPKc.exit128, %_ZN4llvm5TwineC2EPKc.exit + %226 = load i32, ptr %98, align 4 + %227 = and i32 %226, -9 + %spec.select.i.i = icmp eq i32 %227, 1 + br i1 %spec.select.i.i, label %229, label %228 + +228: ; preds = %225 + switch i32 %226, label %_ZN4llvmeqENS_9StringRefES0_.exit54.thread [ + i32 26, label %229 + i32 5, label %229 + i32 27, label %229 + i32 29, label %229 + i32 30, label %229 ] -230: ; preds = %229, %229, %229, %229, %229, %226 - %231 = getelementptr inbounds nuw i8, ptr %38, i64 32 - %232 = getelementptr inbounds nuw i8, ptr %38, i64 33 - store i8 1, ptr %232, align 1 +229: ; preds = %228, %228, %228, %228, %228, %225 + %230 = getelementptr inbounds nuw i8, ptr %38, i64 32 + %231 = getelementptr inbounds nuw i8, ptr %38, i64 33 + store i8 1, ptr %231, align 1 store ptr @.str.24, ptr %38, align 8 - store i8 3, ptr %231, align 8 - %233 = getelementptr inbounds nuw i8, ptr %39, i64 32 - %234 = getelementptr inbounds nuw i8, ptr %39, i64 33 - store i8 1, ptr %234, align 1 - %235 = load i8, ptr %27, align 1 - %.not.i139 = icmp eq i8 %235, 0 - br i1 %.not.i139, label %_ZN4llvm5TwineC2EPKc.exit141, label %236 - -236: ; preds = %230 + store i8 3, ptr %230, align 8 + %232 = getelementptr inbounds nuw i8, ptr %39, i64 32 + %233 = getelementptr inbounds nuw i8, ptr %39, i64 33 + store i8 1, ptr %233, align 1 + %234 = load i8, ptr %27, align 1 + %.not.i139 = icmp eq i8 %234, 0 + br i1 %.not.i139, label %_ZN4llvm5TwineC2EPKc.exit141, label %235 + +235: ; preds = %229 store ptr %27, ptr %39, align 8 br label %_ZN4llvm5TwineC2EPKc.exit141 -_ZN4llvm5TwineC2EPKc.exit141: ; preds = %230, %236 - %storemerge.i140 = phi i8 [ 3, %236 ], [ 1, %230 ] - store i8 %storemerge.i140, ptr %233, align 8 +_ZN4llvm5TwineC2EPKc.exit141: ; preds = %229, %235 + %storemerge.i140 = phi i8 [ 3, %235 ], [ 1, %229 ] + store i8 %storemerge.i140, ptr %232, align 8 call void @_ZN5clang12MacroBuilder11defineMacroERKN4llvm5TwineES4_(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull align 8 dereferenceable(34) %38, ptr noundef nonnull align 8 dereferenceable(34) %39) - %237 = getelementptr inbounds nuw i8, ptr %40, i64 32 - %238 = getelementptr inbounds nuw i8, ptr %40, i64 33 - store i8 1, ptr %238, align 1 + %236 = getelementptr inbounds nuw i8, ptr %40, i64 32 + %237 = getelementptr inbounds nuw i8, ptr %40, i64 33 + store i8 1, ptr %237, align 1 store ptr @.str.25, ptr %40, align 8 - store i8 3, ptr %237, align 8 - %239 = getelementptr inbounds nuw i8, ptr %41, i64 32 - %240 = getelementptr inbounds nuw i8, ptr %41, i64 33 - store i8 1, ptr %240, align 1 + store i8 3, ptr %236, align 8 + %238 = getelementptr inbounds nuw i8, ptr %41, i64 32 + %239 = getelementptr inbounds nuw i8, ptr %41, i64 33 + store i8 1, ptr %239, align 1 store ptr @.str.3, ptr %41, align 8 - store i8 3, ptr %239, align 8 + store i8 3, ptr %238, align 8 call void @_ZN5clang12MacroBuilder11defineMacroERKN4llvm5TwineES4_(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull align 8 dereferenceable(34) %40, ptr noundef nonnull align 8 dereferenceable(34) %41) br label %_ZN4llvmeqENS_9StringRefES0_.exit54.thread -_ZN4llvmeqENS_9StringRefES0_.exit54.thread: ; preds = %_ZN4llvm5TwineC2EPKc.exit141, %229, %_ZN4llvmeqENS_9StringRefES0_.exit54 +_ZN4llvmeqENS_9StringRefES0_.exit54.thread: ; preds = %_ZN4llvm5TwineC2EPKc.exit141, %228, %_ZN4llvmeqENS_9StringRefES0_.exit54 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(16) %4, ptr noundef nonnull align 8 dereferenceable(16) %26, i64 16, i1 false) ret void } diff --git a/bench/llvm/optimized/Verifier.cpp.ll b/bench/llvm/optimized/Verifier.cpp.ll index b066d9cb9ef..5adbcd0add7 100644 --- a/bench/llvm/optimized/Verifier.cpp.ll +++ b/bench/llvm/optimized/Verifier.cpp.ll @@ -12589,9 +12589,9 @@ _ZN4llvm7mdconst19dyn_extract_or_nullINS_11ConstantIntERKNS_9MDOperandEEENSt9ena store i32 0, ptr %337, align 8 br label %.lr.ph -.lr.ph: ; preds = %.lr.ph.preheader, %398 - %.0160 = phi i8 [ %376, %398 ], [ 0, %.lr.ph.preheader ] - %338 = phi ptr [ %399, %398 ], [ %.pr, %.lr.ph.preheader ] +.lr.ph: ; preds = %.lr.ph.preheader, %397 + %.0160 = phi i8 [ %376, %397 ], [ 0, %.lr.ph.preheader ] + %338 = phi ptr [ %398, %397 ], [ %.pr, %.lr.ph.preheader ] %339 = getelementptr inbounds i8, ptr %338, i64 -16 %340 = load i64, ptr %339, align 8 %341 = and i64 %340, 2 @@ -12708,78 +12708,75 @@ _ZNK4llvm5APInteqEm.exit.thread: ; preds = %_ZNK4llvm5APInt13ge ._crit_edge: ; preds = %372, %_ZNK4llvm5APInteqEm.exit %388 = icmp eq i32 %380, %.sroa.2136.0.extract.trunc - br i1 %388, label %397, label %389 + br i1 %388, label %396, label %389 389: ; preds = %._crit_edge %390 = icmp ult i64 %371, 4294967296 - br i1 %390, label %391, label %394 + br i1 %390, label %391, label %393 391: ; preds = %389 %392 = call noundef zeroext i1 @_ZNK4llvm5APInteqEm(ptr noundef nonnull align 8 dereferenceable(12) %22, i64 noundef 0) - %393 = icmp eq i64 %.sroa.2136.0.extract.shift, 4294967295 - %or.cond3 = and i1 %.0.i142145, %393 - %or.cond173 = or i1 %392, %or.cond3 - br i1 %or.cond173, label %397, label %395 + br i1 %392, label %396, label %394 -394: ; preds = %389 +393: ; preds = %389 %.old = icmp eq i64 %.sroa.2136.0.extract.shift, 4294967295 %or.cond3.old = and i1 %.0.i142145, %.old - br i1 %or.cond3.old, label %397, label %395 + br i1 %or.cond3.old, label %396, label %394 -395: ; preds = %391, %394 +394: ; preds = %391, %393 store ptr %1, ptr %28, align 8 - %396 = load i32, ptr %326, align 8 - store i32 %396, ptr %29, align 4 + %395 = load i32, ptr %326, align 8 + store i32 %395, ptr %29, align 4 call void @_ZN4llvm12TBAAVerifier11CheckFailedIJRA55_KcPNS_11InstructionERPKNS_6MDNodeERjjEEEvDpOT_(ptr noundef nonnull align 8 dereferenceable(56) %0, ptr noundef nonnull align 1 dereferenceable(55) @.str.26, ptr noundef nonnull align 8 dereferenceable(8) %28, ptr noundef nonnull align 8 dereferenceable(8) %8, ptr noundef nonnull align 4 dereferenceable(4) %25, ptr noundef nonnull align 4 dereferenceable(4) %29) br label %.loopexit -397: ; preds = %394, %391, %._crit_edge +396: ; preds = %393, %391, %._crit_edge %brmerge.not = select i1 %.0.i142145, i1 %.not57, i1 false - br i1 %brmerge.not, label %.critedge, label %398 + br i1 %brmerge.not, label %.critedge, label %397 -398: ; preds = %397 - %399 = call noundef ptr @_ZN4llvm12TBAAVerifier28getFieldNodeFromTBAABaseNodeERNS_11InstructionEPKNS_6MDNodeERNS_5APIntEb(ptr noundef nonnull align 8 dereferenceable(56) %0, ptr noundef nonnull align 8 dereferenceable(72) %1, ptr noundef %352, ptr noundef nonnull align 8 dereferenceable(12) %22, i1 noundef zeroext %.0.i142145) - store ptr %399, ptr %12, align 8 - %.not56 = icmp eq ptr %399, null +397: ; preds = %396 + %398 = call noundef ptr @_ZN4llvm12TBAAVerifier28getFieldNodeFromTBAABaseNodeERNS_11InstructionEPKNS_6MDNodeERNS_5APIntEb(ptr noundef nonnull align 8 dereferenceable(56) %0, ptr noundef nonnull align 8 dereferenceable(72) %1, ptr noundef %352, ptr noundef nonnull align 8 dereferenceable(12) %22, i1 noundef zeroext %.0.i142145) + store ptr %398, ptr %12, align 8 + %.not56 = icmp eq ptr %398, null br i1 %.not56, label %.critedge, label %.lr.ph, !llvm.loop !92 -.critedge: ; preds = %398, %_ZL14IsRootTBAANodePKN4llvm6MDNodeE.exit, %397 - %.1.ph = phi i8 [ %376, %398 ], [ %.0160, %_ZL14IsRootTBAANodePKN4llvm6MDNodeE.exit ], [ %376, %397 ] - %400 = trunc nuw i8 %.1.ph to i1 - br i1 %400, label %.loopexit, label %401 +.critedge: ; preds = %397, %_ZL14IsRootTBAANodePKN4llvm6MDNodeE.exit, %396 + %.1.ph = phi i8 [ %376, %397 ], [ %.0160, %_ZL14IsRootTBAANodePKN4llvm6MDNodeE.exit ], [ %376, %396 ] + %399 = trunc nuw i8 %.1.ph to i1 + br i1 %399, label %.loopexit, label %400 -401: ; preds = %.critedge +400: ; preds = %.critedge store ptr %1, ptr %30, align 8 call void @_ZN4llvm12TBAAVerifier11CheckFailedIJRA40_KcPNS_11InstructionERPKNS_6MDNodeEEEEvDpOT_(ptr noundef nonnull align 8 dereferenceable(56) %0, ptr noundef nonnull align 1 dereferenceable(40) @.str.27, ptr noundef nonnull align 8 dereferenceable(8) %30, ptr noundef nonnull align 8 dereferenceable(8) %8) br label %.loopexit -.loopexit: ; preds = %370, %.critedge, %401, %395, %_ZNK4llvm5APInteqEm.exit.thread, %.critedge175 - %.148 = phi i1 [ false, %.critedge175 ], [ false, %401 ], [ false, %395 ], [ false, %_ZNK4llvm5APInteqEm.exit.thread ], [ true, %.critedge ], [ false, %370 ] - %402 = load ptr, ptr %334, align 8 - %403 = load ptr, ptr %23, align 8 - %404 = icmp eq ptr %402, %403 - br i1 %404, label %_ZN4llvm11SmallPtrSetIPNS_6MDNodeELj4EED2Ev.exit, label %405 +.loopexit: ; preds = %370, %.critedge, %400, %394, %_ZNK4llvm5APInteqEm.exit.thread, %.critedge175 + %.148 = phi i1 [ false, %.critedge175 ], [ false, %400 ], [ false, %394 ], [ false, %_ZNK4llvm5APInteqEm.exit.thread ], [ true, %.critedge ], [ false, %370 ] + %401 = load ptr, ptr %334, align 8 + %402 = load ptr, ptr %23, align 8 + %403 = icmp eq ptr %401, %402 + br i1 %403, label %_ZN4llvm11SmallPtrSetIPNS_6MDNodeELj4EED2Ev.exit, label %404 -405: ; preds = %.loopexit - call void @free(ptr noundef %402) #23 +404: ; preds = %.loopexit + call void @free(ptr noundef %401) #23 br label %_ZN4llvm11SmallPtrSetIPNS_6MDNodeELj4EED2Ev.exit -_ZN4llvm11SmallPtrSetIPNS_6MDNodeELj4EED2Ev.exit: ; preds = %.loopexit, %405 - %406 = load i32, ptr %326, align 8 - %407 = icmp ugt i32 %406, 64 - br i1 %407, label %408, label %_ZN4llvm5APIntD2Ev.exit +_ZN4llvm11SmallPtrSetIPNS_6MDNodeELj4EED2Ev.exit: ; preds = %.loopexit, %404 + %405 = load i32, ptr %326, align 8 + %406 = icmp ugt i32 %405, 64 + br i1 %406, label %407, label %_ZN4llvm5APIntD2Ev.exit -408: ; preds = %_ZN4llvm11SmallPtrSetIPNS_6MDNodeELj4EED2Ev.exit - %409 = load ptr, ptr %22, align 8 - %410 = icmp eq ptr %409, null - br i1 %410, label %_ZN4llvm5APIntD2Ev.exit, label %411 +407: ; preds = %_ZN4llvm11SmallPtrSetIPNS_6MDNodeELj4EED2Ev.exit + %408 = load ptr, ptr %22, align 8 + %409 = icmp eq ptr %408, null + br i1 %409, label %_ZN4llvm5APIntD2Ev.exit, label %410 -411: ; preds = %408 - call void @_ZdaPv(ptr noundef nonnull %409) #25 +410: ; preds = %407 + call void @_ZdaPv(ptr noundef nonnull %408) #25 br label %_ZN4llvm5APIntD2Ev.exit -_ZN4llvm5APIntD2Ev.exit: ; preds = %411, %408, %_ZN4llvm11SmallPtrSetIPNS_6MDNodeELj4EED2Ev.exit, %324, %302, %_ZN4llvm12TBAAVerifier11CheckFailedIJRA99_KcPNS_11InstructionERPKNS_6MDNodeERPS7_SC_EEEvDpOT_.exit, %277, %266, %229, %_ZN4llvm12TBAAVerifier11CheckFailedIJRA53_KcPNS_11InstructionERPKNS_6MDNodeEEEEvDpOT_.exit, %177, %_ZN4llvm12TBAAVerifier11CheckFailedIJRA66_KcPNS_11InstructionEEEEvDpOT_.exit, %62, %_ZN4llvm12TBAAVerifier11CheckFailedIJRA37_KcPNS_11InstructionERPKNS_6MDNodeEEEEvDpOT_.exit - %.047 = phi i1 [ false, %324 ], [ false, %302 ], [ false, %_ZN4llvm12TBAAVerifier11CheckFailedIJRA99_KcPNS_11InstructionERPKNS_6MDNodeERPS7_SC_EEEvDpOT_.exit ], [ false, %277 ], [ false, %266 ], [ false, %229 ], [ false, %177 ], [ false, %_ZN4llvm12TBAAVerifier11CheckFailedIJRA53_KcPNS_11InstructionERPKNS_6MDNodeEEEEvDpOT_.exit ], [ false, %_ZN4llvm12TBAAVerifier11CheckFailedIJRA66_KcPNS_11InstructionEEEEvDpOT_.exit ], [ false, %62 ], [ false, %_ZN4llvm12TBAAVerifier11CheckFailedIJRA37_KcPNS_11InstructionERPKNS_6MDNodeEEEEvDpOT_.exit ], [ %.148, %_ZN4llvm11SmallPtrSetIPNS_6MDNodeELj4EED2Ev.exit ], [ %.148, %408 ], [ %.148, %411 ] +_ZN4llvm5APIntD2Ev.exit: ; preds = %410, %407, %_ZN4llvm11SmallPtrSetIPNS_6MDNodeELj4EED2Ev.exit, %324, %302, %_ZN4llvm12TBAAVerifier11CheckFailedIJRA99_KcPNS_11InstructionERPKNS_6MDNodeERPS7_SC_EEEvDpOT_.exit, %277, %266, %229, %_ZN4llvm12TBAAVerifier11CheckFailedIJRA53_KcPNS_11InstructionERPKNS_6MDNodeEEEEvDpOT_.exit, %177, %_ZN4llvm12TBAAVerifier11CheckFailedIJRA66_KcPNS_11InstructionEEEEvDpOT_.exit, %62, %_ZN4llvm12TBAAVerifier11CheckFailedIJRA37_KcPNS_11InstructionERPKNS_6MDNodeEEEEvDpOT_.exit + %.047 = phi i1 [ false, %324 ], [ false, %302 ], [ false, %_ZN4llvm12TBAAVerifier11CheckFailedIJRA99_KcPNS_11InstructionERPKNS_6MDNodeERPS7_SC_EEEvDpOT_.exit ], [ false, %277 ], [ false, %266 ], [ false, %229 ], [ false, %177 ], [ false, %_ZN4llvm12TBAAVerifier11CheckFailedIJRA53_KcPNS_11InstructionERPKNS_6MDNodeEEEEvDpOT_.exit ], [ false, %_ZN4llvm12TBAAVerifier11CheckFailedIJRA66_KcPNS_11InstructionEEEEvDpOT_.exit ], [ false, %62 ], [ false, %_ZN4llvm12TBAAVerifier11CheckFailedIJRA37_KcPNS_11InstructionERPKNS_6MDNodeEEEEvDpOT_.exit ], [ %.148, %_ZN4llvm11SmallPtrSetIPNS_6MDNodeELj4EED2Ev.exit ], [ %.148, %407 ], [ %.148, %410 ] ret i1 %.047 } diff --git a/bench/luajit/optimized/lj_str.ll b/bench/luajit/optimized/lj_str.ll index fff28517143..f26ccf74156 100644 --- a/bench/luajit/optimized/lj_str.ll +++ b/bench/luajit/optimized/lj_str.ll @@ -203,11 +203,7 @@ for.body.lr.ph: ; preds = %if.then9 %7 = zext i32 %6 to i64 br label %for.body -for.cond28.preheader: ; preds = %for.inc - %cmp29.not148 = icmp eq i32 %newmask, -1 - br i1 %cmp29.not148, label %for.end43, label %for.body31.preheader - -for.body31.preheader: ; preds = %if.then9, %for.cond28.preheader +for.body31.preheader: ; preds = %for.inc, %if.then9 %8 = zext nneg i32 %newmask to i64 br label %for.body31 @@ -314,7 +310,7 @@ cond.end: ; preds = %cond.false, %hash_s for.inc: ; preds = %cond.end, %for.body %indvars.iv.next = add nsw i64 %indvars.iv, -1 %cmp11.not = icmp eq i64 %indvars.iv, 0 - br i1 %cmp11.not, label %for.cond28.preheader, label %for.body, !llvm.loop !9 + br i1 %cmp11.not, label %for.body31.preheader, label %for.body, !llvm.loop !9 for.body31: ; preds = %for.body31.preheader, %for.body31 %indvars.iv159 = phi i64 [ %8, %for.body31.preheader ], [ %indvars.iv.next160, %for.body31 ] @@ -330,9 +326,8 @@ for.body31: ; preds = %for.body31.preheade %indvars.iv.next160 = add nsw i64 %indvars.iv159, -1 br i1 %cmp29.not, label %for.end43, label %for.body31, !llvm.loop !10 -for.end43: ; preds = %for.body31, %for.cond28.preheader - %newsecond.0.lcssa = phi i8 [ 0, %for.cond28.preheader ], [ %or, %for.body31 ] - store i8 %newsecond.0.lcssa, ptr %second, align 1 +for.end43: ; preds = %for.body31 + store i8 %or, ptr %second, align 1 br label %if.end47 if.end47: ; preds = %for.end43, %if.end diff --git a/bench/luau/optimized/Flags.cpp.ll b/bench/luau/optimized/Flags.cpp.ll index 8e11b8058fe..7f3228804d5 100644 --- a/bench/luau/optimized/Flags.cpp.ll +++ b/bench/luau/optimized/Flags.cpp.ll @@ -107,15 +107,15 @@ _ZNKSt17basic_string_viewIcSt11char_traitsIcEE4findEPKcm.exit: ; preds = %_ZNSt1 %12 = ptrtoint ptr %6 to i64 %13 = ptrtoint ptr %.sroa.6.0179 to i64 %14 = sub i64 %12, %13 - %.fr235 = freeze i64 %14 - %.sroa.speculated.i = tail call i64 @llvm.umin.i64(i64 %.sroa.0147.0178, i64 %.fr235) - %.not161 = icmp eq i64 %.fr235, 0 - br i1 %.not161, label %.thread155, label %_ZNSt11char_traitsIcE4findEPKcmRS1_.exit.i + %.fr233 = freeze i64 %14 + %.sroa.speculated.i = tail call i64 @llvm.umin.i64(i64 %.sroa.0147.0178, i64 %.fr233) + %.not161 = icmp eq i64 %.fr233, 0 + br i1 %.not161, label %.thread159, label %_ZNSt11char_traitsIcE4findEPKcmRS1_.exit.i _ZNSt11char_traitsIcE4findEPKcmRS1_.exit.i: ; preds = %_ZNSt11char_traitsIcE4findEPKcmRS1_.exit.i.i, %8, %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE4findEPKcm.exit - %.fr11.i97206 = phi i64 [ %.sroa.speculated.i, %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE4findEPKcm.exit ], [ %.sroa.0147.0178, %8 ], [ %.sroa.0147.0178, %_ZNSt11char_traitsIcE4findEPKcmRS1_.exit.i.i ] - %.020.i.i204 = phi i64 [ %.fr235, %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE4findEPKcm.exit ], [ -1, %8 ], [ -1, %_ZNSt11char_traitsIcE4findEPKcmRS1_.exit.i.i ] - %15 = tail call ptr @memchr(ptr noundef %.sroa.6.0179, i32 noundef 61, i64 noundef %.fr11.i97206) #8 + %.fr11.i97203 = phi i64 [ %.sroa.speculated.i, %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE4findEPKcm.exit ], [ %.sroa.0147.0178, %8 ], [ %.sroa.0147.0178, %_ZNSt11char_traitsIcE4findEPKcmRS1_.exit.i.i ] + %.020.i.i202 = phi i64 [ %.fr233, %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE4findEPKcm.exit ], [ -1, %8 ], [ -1, %_ZNSt11char_traitsIcE4findEPKcmRS1_.exit.i.i ] + %15 = tail call ptr @memchr(ptr noundef %.sroa.6.0179, i32 noundef 61, i64 noundef %.fr11.i97203) #8 %.not.i = icmp eq ptr %15, null br i1 %.not.i, label %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE4findEcm.exit.thread, label %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE4findEcm.exit @@ -128,17 +128,17 @@ _ZNKSt17basic_string_viewIcSt11char_traitsIcEE4findEcm.exit: ; preds = %_ZNSt11c br i1 %.not, label %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE4findEcm.exit.thread, label %19 19: ; preds = %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE4findEcm.exit - %.sroa.speculated.i28 = tail call i64 @llvm.umin.i64(i64 %.fr11.i97206, i64 %.fr) + %.sroa.speculated.i28 = tail call i64 @llvm.umin.i64(i64 %.fr11.i97203, i64 %.fr) %20 = add nuw i64 %.fr, 1 - %.not162 = icmp ult i64 %.fr, %.fr11.i97206 + %.not162 = icmp ult i64 %.fr, %.fr11.i97203 br i1 %.not162, label %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE6substrEmm.exit, label %21 21: ; preds = %19 - tail call void (ptr, ...) @_ZSt24__throw_out_of_range_fmtPKcz(ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.10, i64 noundef %20, i64 noundef %.fr11.i97206) #9 + tail call void (ptr, ...) @_ZSt24__throw_out_of_range_fmtPKcz(ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.10, i64 noundef %20, i64 noundef %.fr11.i97203) #9 unreachable _ZNKSt17basic_string_viewIcSt11char_traitsIcEE6substrEmm.exit: ; preds = %19 - %22 = sub nuw i64 %.fr11.i97206, %20 + %22 = sub nuw i64 %.fr11.i97203, %20 %23 = getelementptr inbounds i8, ptr %.sroa.6.0179, i64 %20 switch i64 %22, label %60 [ i64 4, label %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i34 @@ -279,7 +279,7 @@ _ZSteqIcSt11char_traitsIcEEbSt17basic_string_viewIT_T0_ENSt15__type_identityIS5_ br label %_ZL11setLuauFlagSt17basic_string_viewIcSt11char_traitsIcEEb.exit _ZNKSt17basic_string_viewIcSt11char_traitsIcEE4findEcm.exit.thread: ; preds = %_ZNSt11char_traitsIcE4findEPKcmRS1_.exit.i, %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE4findEcm.exit - switch i64 %.fr11.i97206, label %.thread159 [ + switch i64 %.fr11.i97203, label %.thread159 [ i64 4, label %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i69 i64 5, label %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i81 ] @@ -289,19 +289,12 @@ _ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i69: ; preds = %_ZNKSt17basic_strin %65 = icmp eq i32 %bcmp.i70, 0 br i1 %65, label %_ZSteqIcSt11char_traitsIcEEbSt17basic_string_viewIT_T0_ENSt15__type_identityIS5_E4typeE.exit72, label %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i73 -.thread155: ; preds = %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE4findEPKcm.exit - switch i64 %.sroa.speculated.i, label %.thread159 [ - i64 4, label %_ZSteqIcSt11char_traitsIcEEbSt17basic_string_viewIT_T0_ENSt15__type_identityIS5_E4typeE.exit72 - i64 5, label %_ZSteqIcSt11char_traitsIcEEbSt17basic_string_viewIT_T0_ENSt15__type_identityIS5_E4typeE.exit84 - ] - _ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i73: ; preds = %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i69 %bcmp.i74 = tail call i32 @bcmp(ptr noundef nonnull dereferenceable(4) %.sroa.6.0179, ptr noundef nonnull dereferenceable(4) @.str.3, i64 4) %66 = icmp eq i32 %bcmp.i74, 0 br i1 %66, label %_ZSteqIcSt11char_traitsIcEEbSt17basic_string_viewIT_T0_ENSt15__type_identityIS5_E4typeE.exit72, label %.thread159 -_ZSteqIcSt11char_traitsIcEEbSt17basic_string_viewIT_T0_ENSt15__type_identityIS5_E4typeE.exit72: ; preds = %.thread155, %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i73, %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i69 - %.020.i.i202 = phi i64 [ 0, %.thread155 ], [ %.020.i.i204, %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i73 ], [ %.020.i.i204, %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i69 ] +_ZSteqIcSt11char_traitsIcEEbSt17basic_string_viewIT_T0_ENSt15__type_identityIS5_E4typeE.exit72: ; preds = %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i73, %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i69 %.04.i = load ptr, ptr @_ZN4Luau6FValueIbE4listE, align 8 %.not5.i = icmp eq ptr %.04.i, null br i1 %.not5.i, label %_ZL11setLuauFlagSt17basic_string_viewIcSt11char_traitsIcEEb.exit, label %.lr.ph.i77 @@ -325,7 +318,7 @@ _ZSteqIcSt11char_traitsIcEEbSt17basic_string_viewIT_T0_ENSt15__type_identityIS5_ br i1 %.not.i79, label %_ZL11setLuauFlagSt17basic_string_viewIcSt11char_traitsIcEEb.exit, label %.lr.ph.i77, !llvm.loop !9 _ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i81: ; preds = %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE4findEcm.exit.thread - %bcmp.i82 = tail call i32 @bcmp(ptr %.sroa.6.0179, ptr nonnull @.str.4, i64 %.fr11.i97206) + %bcmp.i82 = tail call i32 @bcmp(ptr %.sroa.6.0179, ptr nonnull @.str.4, i64 %.fr11.i97203) %74 = icmp eq i32 %bcmp.i82, 0 br i1 %74, label %_ZSteqIcSt11char_traitsIcEEbSt17basic_string_viewIT_T0_ENSt15__type_identityIS5_E4typeE.exit84, label %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i85 @@ -334,8 +327,7 @@ _ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i85: ; preds = %_ZNSt11char_traitsI %75 = icmp eq i32 %bcmp.i86, 0 br i1 %75, label %_ZSteqIcSt11char_traitsIcEEbSt17basic_string_viewIT_T0_ENSt15__type_identityIS5_E4typeE.exit84, label %.thread159 -_ZSteqIcSt11char_traitsIcEEbSt17basic_string_viewIT_T0_ENSt15__type_identityIS5_E4typeE.exit84: ; preds = %.thread155, %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i85, %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i81 - %.020.i.i201 = phi i64 [ 0, %.thread155 ], [ %.020.i.i204, %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i85 ], [ %.020.i.i204, %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i81 ] +_ZSteqIcSt11char_traitsIcEEbSt17basic_string_viewIT_T0_ENSt15__type_identityIS5_E4typeE.exit84: ; preds = %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i85, %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i81 %.04.i89 = load ptr, ptr @_ZN4Luau6FValueIbE4listE, align 8 %.not5.i90 = icmp eq ptr %.04.i89, null br i1 %.not5.i90, label %_ZL11setLuauFlagSt17basic_string_viewIcSt11char_traitsIcEEb.exit, label %.lr.ph.i91 @@ -358,15 +350,15 @@ _ZSteqIcSt11char_traitsIcEEbSt17basic_string_viewIT_T0_ENSt15__type_identityIS5_ %.not.i94 = icmp eq ptr %.0.i93, null br i1 %.not.i94, label %_ZL11setLuauFlagSt17basic_string_viewIcSt11char_traitsIcEEb.exit, label %.lr.ph.i91, !llvm.loop !9 -.thread159: ; preds = %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i73, %.thread155, %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE4findEcm.exit.thread, %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i85 - %.fr11.i97205 = phi i64 [ 4, %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i73 ], [ %.sroa.speculated.i, %.thread155 ], [ %.fr11.i97206, %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE4findEcm.exit.thread ], [ 5, %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i85 ] - %.020.i.i203 = phi i64 [ %.020.i.i204, %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i73 ], [ 0, %.thread155 ], [ %.020.i.i204, %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE4findEcm.exit.thread ], [ %.020.i.i204, %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i85 ] +.thread159: ; preds = %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i73, %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE4findEPKcm.exit, %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE4findEcm.exit.thread, %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i85 + %.fr11.i97204 = phi i64 [ 4, %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i73 ], [ %.sroa.speculated.i, %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE4findEPKcm.exit ], [ %.fr11.i97203, %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE4findEcm.exit.thread ], [ 5, %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i85 ] + %.020.i.i201 = phi i64 [ %.020.i.i202, %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i73 ], [ 0, %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE4findEPKcm.exit ], [ %.020.i.i202, %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE4findEcm.exit.thread ], [ %.020.i.i202, %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i85 ] %.07.i98 = load ptr, ptr @_ZN4Luau6FValueIbE4listE, align 8 %.not8.i99 = icmp eq ptr %.07.i98, null br i1 %.not8.i99, label %._crit_edge.i105, label %.lr.ph.i100 .lr.ph.i100: ; preds = %.thread159 - %83 = icmp eq i64 %.fr11.i97205, 0 + %83 = icmp eq i64 %.fr11.i97204, 0 br i1 %83, label %.lr.ph.split.us.i110, label %.lr.ph.split.i101 .lr.ph.split.us.i110: ; preds = %.lr.ph.i100, %87 @@ -388,11 +380,11 @@ _ZSteqIcSt11char_traitsIcEEbSt17basic_string_viewIT_T0_ENSt15__type_identityIS5_ %89 = getelementptr inbounds nuw i8, ptr %.09.i102, i64 8 %90 = load ptr, ptr %89, align 8 %91 = tail call noundef i64 @strlen(ptr noundef nonnull dereferenceable(1) %90) #8 - %92 = icmp eq i64 %.fr11.i97205, %91 + %92 = icmp eq i64 %.fr11.i97204, %91 br i1 %92, label %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i.i106, label %94 _ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i.i106: ; preds = %.lr.ph.split.i101 - %bcmp.i.i107 = tail call i32 @bcmp(ptr %.sroa.6.0179, ptr nonnull %90, i64 %.fr11.i97205) + %bcmp.i.i107 = tail call i32 @bcmp(ptr %.sroa.6.0179, ptr nonnull %90, i64 %.fr11.i97204) %93 = icmp eq i32 %bcmp.i.i107, 0 br i1 %93, label %_ZSteqIcSt11char_traitsIcEEbSt17basic_string_viewIT_T0_ENSt15__type_identityIS5_E4typeE.exit.i108, label %94 @@ -409,12 +401,12 @@ _ZSteqIcSt11char_traitsIcEEbSt17basic_string_viewIT_T0_ENSt15__type_identityIS5_ ._crit_edge.i105: ; preds = %94, %87, %.thread159 %96 = load ptr, ptr @stderr, align 8 - %97 = trunc i64 %.fr11.i97205 to i32 + %97 = trunc i64 %.fr11.i97204 to i32 %98 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %96, ptr noundef nonnull @.str.12, i32 noundef %97, ptr noundef %.sroa.6.0179) #10 br label %_ZL11setLuauFlagSt17basic_string_viewIcSt11char_traitsIcEEb.exit _ZL11setLuauFlagSt17basic_string_viewIcSt11char_traitsIcEEb.exit: ; preds = %81, %72, %._crit_edge.i105, %_ZSteqIcSt11char_traitsIcEEbSt17basic_string_viewIT_T0_ENSt15__type_identityIS5_E4typeE.exit.i108, %_ZSteqIcSt11char_traitsIcEEbSt17basic_string_viewIT_T0_ENSt15__type_identityIS5_E4typeE.exit84, %_ZSteqIcSt11char_traitsIcEEbSt17basic_string_viewIT_T0_ENSt15__type_identityIS5_E4typeE.exit72, %._crit_edge.i58, %_ZSteqIcSt11char_traitsIcEEbSt17basic_string_viewIT_T0_ENSt15__type_identityIS5_E4typeE.exit.i61, %._crit_edge.i, %_ZSteqIcSt11char_traitsIcEEbSt17basic_string_viewIT_T0_ENSt15__type_identityIS5_E4typeE.exit.i, %60 - %.020.i.i200 = phi i64 [ %.020.i.i203, %._crit_edge.i105 ], [ %.020.i.i203, %_ZSteqIcSt11char_traitsIcEEbSt17basic_string_viewIT_T0_ENSt15__type_identityIS5_E4typeE.exit.i108 ], [ %.020.i.i201, %_ZSteqIcSt11char_traitsIcEEbSt17basic_string_viewIT_T0_ENSt15__type_identityIS5_E4typeE.exit84 ], [ %.020.i.i202, %_ZSteqIcSt11char_traitsIcEEbSt17basic_string_viewIT_T0_ENSt15__type_identityIS5_E4typeE.exit72 ], [ %.020.i.i204, %._crit_edge.i58 ], [ %.020.i.i204, %_ZSteqIcSt11char_traitsIcEEbSt17basic_string_viewIT_T0_ENSt15__type_identityIS5_E4typeE.exit.i61 ], [ %.020.i.i204, %._crit_edge.i ], [ %.020.i.i204, %_ZSteqIcSt11char_traitsIcEEbSt17basic_string_viewIT_T0_ENSt15__type_identityIS5_E4typeE.exit.i ], [ %.020.i.i204, %60 ], [ %.020.i.i202, %72 ], [ %.020.i.i201, %81 ] + %.020.i.i200 = phi i64 [ %.020.i.i201, %._crit_edge.i105 ], [ %.020.i.i201, %_ZSteqIcSt11char_traitsIcEEbSt17basic_string_viewIT_T0_ENSt15__type_identityIS5_E4typeE.exit.i108 ], [ %.020.i.i202, %_ZSteqIcSt11char_traitsIcEEbSt17basic_string_viewIT_T0_ENSt15__type_identityIS5_E4typeE.exit84 ], [ %.020.i.i202, %_ZSteqIcSt11char_traitsIcEEbSt17basic_string_viewIT_T0_ENSt15__type_identityIS5_E4typeE.exit72 ], [ %.020.i.i202, %._crit_edge.i58 ], [ %.020.i.i202, %_ZSteqIcSt11char_traitsIcEEbSt17basic_string_viewIT_T0_ENSt15__type_identityIS5_E4typeE.exit.i61 ], [ %.020.i.i202, %._crit_edge.i ], [ %.020.i.i202, %_ZSteqIcSt11char_traitsIcEEbSt17basic_string_viewIT_T0_ENSt15__type_identityIS5_E4typeE.exit.i ], [ %.020.i.i202, %60 ], [ %.020.i.i202, %72 ], [ %.020.i.i202, %81 ] %.not27 = icmp eq i64 %.020.i.i200, -1 br i1 %.not27, label %_ZL11setLuauFlagSt17basic_string_viewIcSt11char_traitsIcEEb.exit._crit_edge, label %99 diff --git a/bench/node/optimized/simdutf.ll b/bench/node/optimized/simdutf.ll index 01f559ca790..7681414a5ff 100644 --- a/bench/node/optimized/simdutf.ll +++ b/bench/node/optimized/simdutf.ll @@ -24797,17 +24797,13 @@ _ZN7simdutf7haswell12_GLOBAL__N_115utf8_validation12utf8_checker16check_next_inp %c.sroa.0.1.i.i.i = or <4 x i64> %c.sroa.22.01221.pn.i.i.i, %c.sroa.0.01219.i.i.i %add.i58.i.i.i = add nuw i64 %reader.sroa.11.01218.i.i.i, 64 %cmp.i16.i.i.i = icmp ult i64 %add.i58.i.i.i, %spec.select.i.i.i - br i1 %cmp.i16.i.i.i, label %while.body.i.i.i, label %while.end.i.i.i, !llvm.loop !239 + br i1 %cmp.i16.i.i.i, label %while.body.i.i.i, label %if.end.i.i.i.i, !llvm.loop !239 -while.end.i.i.i: ; preds = %_ZN7simdutf7haswell12_GLOBAL__N_115utf8_validation12utf8_checker16check_next_inputERKNS1_4simd8simd8x64IhEE.exit51.i.i.i - %cmp.i63.i.i.i = icmp eq i64 %length, %add.i58.i.i.i - br i1 %cmp.i63.i.i.i, label %_ZNK7simdutf7haswell12_GLOBAL__N_116buf_block_readerILm64EE13get_remainderEPh.exit.i.i.i, label %if.end.i.i.i.i - -if.end.i.i.i.i: ; preds = %if.else, %while.end.i.i.i - %c.sroa.22.0.lcssa.i.i.i24 = phi <4 x i64> [ %c.sroa.22.1.i.i.i, %while.end.i.i.i ], [ zeroinitializer, %if.else ] - %c.sroa.17.0.lcssa.i.i.i22 = phi <4 x i64> [ %c.sroa.17.1.i.i.i, %while.end.i.i.i ], [ zeroinitializer, %if.else ] - %c.sroa.0.0.lcssa.i.i.i20 = phi <4 x i64> [ %c.sroa.0.1.i.i.i, %while.end.i.i.i ], [ zeroinitializer, %if.else ] - %reader.sroa.11.0.lcssa.i.i.i19 = phi i64 [ %add.i58.i.i.i, %while.end.i.i.i ], [ 0, %if.else ] +if.end.i.i.i.i: ; preds = %_ZN7simdutf7haswell12_GLOBAL__N_115utf8_validation12utf8_checker16check_next_inputERKNS1_4simd8simd8x64IhEE.exit51.i.i.i, %if.else + %c.sroa.22.0.lcssa.i.i.i24 = phi <4 x i64> [ zeroinitializer, %if.else ], [ %c.sroa.22.1.i.i.i, %_ZN7simdutf7haswell12_GLOBAL__N_115utf8_validation12utf8_checker16check_next_inputERKNS1_4simd8simd8x64IhEE.exit51.i.i.i ] + %c.sroa.17.0.lcssa.i.i.i22 = phi <4 x i64> [ zeroinitializer, %if.else ], [ %c.sroa.17.1.i.i.i, %_ZN7simdutf7haswell12_GLOBAL__N_115utf8_validation12utf8_checker16check_next_inputERKNS1_4simd8simd8x64IhEE.exit51.i.i.i ] + %c.sroa.0.0.lcssa.i.i.i20 = phi <4 x i64> [ zeroinitializer, %if.else ], [ %c.sroa.0.1.i.i.i, %_ZN7simdutf7haswell12_GLOBAL__N_115utf8_validation12utf8_checker16check_next_inputERKNS1_4simd8simd8x64IhEE.exit51.i.i.i ] + %reader.sroa.11.0.lcssa.i.i.i19 = phi i64 [ 0, %if.else ], [ %add.i58.i.i.i, %_ZN7simdutf7haswell12_GLOBAL__N_115utf8_validation12utf8_checker16check_next_inputERKNS1_4simd8simd8x64IhEE.exit51.i.i.i ] call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(64) %block.i.i.i, i8 32, i64 64, i1 false) %add.ptr.i64.i.i.i = getelementptr inbounds i8, ptr %input, i64 %reader.sroa.11.0.lcssa.i.i.i19 %sub.i66.i.i.i = sub i64 %length, %reader.sroa.11.0.lcssa.i.i.i19 @@ -24815,24 +24811,16 @@ if.end.i.i.i.i: ; preds = %if.else, %while.end %block.i.i.i.0.block.i.i.i.0.block.i.i.i.0.block.i.i.0.block.i.i.0.block.i.0.block.i.0.block.0.block.0.block.0..pre.i.i.i = load <4 x i64>, ptr %block.i.i.i, align 16, !noalias !240 %block.i.i.i.32.block.i.i.i.32.block.i.i.i.32.block.i.i.32.block.i.i.32.block.i.32.block.i.32.block.32.block.32.block.32.add.ptr.i26.sroa_idx = getelementptr inbounds nuw i8, ptr %block.i.i.i, i64 32 %block.i.i.i.32.block.i.i.i.32.block.i.i.i.32.block.i.i.32.block.i.i.32.block.i.32.block.i.32.block.32.block.32.block.32..pre.i.i.i = load <4 x i64>, ptr %block.i.i.i.32.block.i.i.i.32.block.i.i.i.32.block.i.i.32.block.i.i.32.block.i.32.block.i.32.block.32.block.32.block.32.add.ptr.i26.sroa_idx, align 16, !noalias !243 - br label %_ZNK7simdutf7haswell12_GLOBAL__N_116buf_block_readerILm64EE13get_remainderEPh.exit.i.i.i - -_ZNK7simdutf7haswell12_GLOBAL__N_116buf_block_readerILm64EE13get_remainderEPh.exit.i.i.i: ; preds = %if.end.i.i.i.i, %while.end.i.i.i - %c.sroa.22.0.lcssa.i.i.i25 = phi <4 x i64> [ %c.sroa.22.1.i.i.i, %while.end.i.i.i ], [ %c.sroa.22.0.lcssa.i.i.i24, %if.end.i.i.i.i ] - %c.sroa.17.0.lcssa.i.i.i23 = phi <4 x i64> [ %c.sroa.17.1.i.i.i, %while.end.i.i.i ], [ %c.sroa.17.0.lcssa.i.i.i22, %if.end.i.i.i.i ] - %c.sroa.0.0.lcssa.i.i.i21 = phi <4 x i64> [ %c.sroa.0.1.i.i.i, %while.end.i.i.i ], [ %c.sroa.0.0.lcssa.i.i.i20, %if.end.i.i.i.i ] - %block.32.block.32.block.32..i.i.i = phi <4 x i64> [ zeroinitializer, %while.end.i.i.i ], [ %block.i.i.i.32.block.i.i.i.32.block.i.i.i.32.block.i.i.32.block.i.i.32.block.i.32.block.i.32.block.32.block.32.block.32..pre.i.i.i, %if.end.i.i.i.i ] - %block.0.block.0.block.0..i.i.i = phi <4 x i64> [ zeroinitializer, %while.end.i.i.i ], [ %block.i.i.i.0.block.i.i.i.0.block.i.i.i.0.block.i.i.0.block.i.i.0.block.i.0.block.i.0.block.0.block.0.block.0..pre.i.i.i, %if.end.i.i.i.i ] - %or.i.i344.i.i.i = or <4 x i64> %block.0.block.0.block.0..i.i.i, %block.32.block.32.block.32..i.i.i + %or.i.i344.i.i.i = or <4 x i64> %block.i.i.i.32.block.i.i.i.32.block.i.i.i.32.block.i.i.32.block.i.i.32.block.i.32.block.i.32.block.32.block.32.block.32..pre.i.i.i, %block.i.i.i.0.block.i.i.i.0.block.i.i.i.0.block.i.i.0.block.i.i.0.block.i.0.block.i.0.block.0.block.0.block.0..pre.i.i.i %170 = bitcast <4 x i64> %or.i.i344.i.i.i to <32 x i8> %171 = icmp slt <32 x i8> %170, zeroinitializer %172 = bitcast <32 x i1> %171 to i32 %cmp.i296.i.i.i = icmp eq i32 %172, 0 br i1 %cmp.i296.i.i.i, label %_ZNK7simdutf7haswell14implementation13validate_utf8EPKcm.exit, label %if.else.i.i.i.i -if.else.i.i.i.i: ; preds = %_ZNK7simdutf7haswell12_GLOBAL__N_116buf_block_readerILm64EE13get_remainderEPh.exit.i.i.i - %173 = bitcast <4 x i64> %block.0.block.0.block.0..i.i.i to <32 x i8> - %vperm.i.i.i.i = shufflevector <4 x i64> %c.sroa.17.0.lcssa.i.i.i23, <4 x i64> %block.0.block.0.block.0..i.i.i, <4 x i32> +if.else.i.i.i.i: ; preds = %if.end.i.i.i.i + %173 = bitcast <4 x i64> %block.i.i.i.0.block.i.i.i.0.block.i.i.i.0.block.i.i.0.block.i.i.0.block.i.0.block.i.0.block.0.block.0.block.0..pre.i.i.i to <32 x i8> + %vperm.i.i.i.i = shufflevector <4 x i64> %c.sroa.17.0.lcssa.i.i.i22, <4 x i64> %block.i.i.i.0.block.i.i.i.0.block.i.i.i.0.block.i.i.0.block.i.i.0.block.i.0.block.i.0.block.0.block.0.block.0..pre.i.i.i, <4 x i32> %174 = bitcast <4 x i64> %vperm.i.i.i.i to <32 x i8> %palignr.i.i.i.i = shufflevector <32 x i8> %174, <32 x i8> %173, <32 x i32> %175 = bitcast <32 x i8> %palignr.i.i.i.i to <16 x i16> @@ -24842,7 +24830,7 @@ if.else.i.i.i.i: ; preds = %_ZNK7simdutf7haswel %179 = tail call <32 x i8> @llvm.x86.avx2.pshuf.b(<32 x i8> , <32 x i8> %178) %180 = and <32 x i8> %palignr.i.i.i.i, splat (i8 15) %181 = tail call <32 x i8> @llvm.x86.avx2.pshuf.b(<32 x i8> , <32 x i8> %180) - %182 = bitcast <4 x i64> %block.0.block.0.block.0..i.i.i to <16 x i16> + %182 = bitcast <4 x i64> %block.i.i.i.0.block.i.i.i.0.block.i.i.i.0.block.i.i.0.block.i.i.0.block.i.0.block.i.0.block.0.block.0.block.0..pre.i.i.i to <16 x i16> %183 = lshr <16 x i16> %182, splat (i16 4) %184 = bitcast <16 x i16> %183 to <32 x i8> %185 = and <32 x i8> %184, splat (i8 15) @@ -24860,8 +24848,8 @@ if.else.i.i.i.i: ; preds = %_ZNK7simdutf7haswel %187 = bitcast <32 x i8> %sext.i.i.i.i.i to <4 x i64> %and.i.i1921.i.i.i = and <4 x i64> %187, splat (i64 -9187201950435737472) %xor.i.i7507.i.i.i = xor <4 x i64> %and.i.i1921.i.i.i, %and.i.i2321.i.i.i - %188 = bitcast <4 x i64> %block.32.block.32.block.32..i.i.i to <32 x i8> - %vperm.i695.i.i.i = shufflevector <4 x i64> %block.0.block.0.block.0..i.i.i, <4 x i64> %block.32.block.32.block.32..i.i.i, <4 x i32> + %188 = bitcast <4 x i64> %block.i.i.i.32.block.i.i.i.32.block.i.i.i.32.block.i.i.32.block.i.i.32.block.i.32.block.i.32.block.32.block.32.block.32..pre.i.i.i to <32 x i8> + %vperm.i695.i.i.i = shufflevector <4 x i64> %block.i.i.i.0.block.i.i.i.0.block.i.i.i.0.block.i.i.0.block.i.i.0.block.i.0.block.i.0.block.0.block.0.block.0..pre.i.i.i, <4 x i64> %block.i.i.i.32.block.i.i.i.32.block.i.i.i.32.block.i.i.32.block.i.i.32.block.i.32.block.i.32.block.32.block.32.block.32..pre.i.i.i, <4 x i32> %189 = bitcast <4 x i64> %vperm.i695.i.i.i to <32 x i8> %palignr.i696.i.i.i = shufflevector <32 x i8> %189, <32 x i8> %188, <32 x i32> %190 = bitcast <32 x i8> %palignr.i696.i.i.i to <16 x i16> @@ -24871,7 +24859,7 @@ if.else.i.i.i.i: ; preds = %_ZNK7simdutf7haswel %194 = tail call <32 x i8> @llvm.x86.avx2.pshuf.b(<32 x i8> , <32 x i8> %193) %195 = and <32 x i8> %palignr.i696.i.i.i, splat (i8 15) %196 = tail call <32 x i8> @llvm.x86.avx2.pshuf.b(<32 x i8> , <32 x i8> %195) - %197 = bitcast <4 x i64> %block.32.block.32.block.32..i.i.i to <16 x i16> + %197 = bitcast <4 x i64> %block.i.i.i.32.block.i.i.i.32.block.i.i.i.32.block.i.i.32.block.i.i.32.block.i.32.block.i.32.block.32.block.32.block.32..pre.i.i.i to <16 x i16> %198 = lshr <16 x i16> %197, splat (i16 4) %199 = bitcast <16 x i16> %198 to <32 x i8> %200 = and <32 x i8> %199, splat (i8 15) @@ -24894,10 +24882,10 @@ if.else.i.i.i.i: ; preds = %_ZNK7simdutf7haswel %204 = bitcast <32 x i8> %elt.sat.i.i.i.i.i to <4 x i64> br label %_ZNK7simdutf7haswell14implementation13validate_utf8EPKcm.exit -_ZNK7simdutf7haswell14implementation13validate_utf8EPKcm.exit: ; preds = %_ZNK7simdutf7haswell12_GLOBAL__N_116buf_block_readerILm64EE13get_remainderEPh.exit.i.i.i, %if.else.i.i.i.i - %c.sroa.22.0.lcssa.pn.i.i.i = phi <4 x i64> [ %203, %if.else.i.i.i.i ], [ %c.sroa.22.0.lcssa.i.i.i25, %_ZNK7simdutf7haswell12_GLOBAL__N_116buf_block_readerILm64EE13get_remainderEPh.exit.i.i.i ] - %c.sroa.22.2.i.i.i = phi <4 x i64> [ %204, %if.else.i.i.i.i ], [ %c.sroa.22.0.lcssa.i.i.i25, %_ZNK7simdutf7haswell12_GLOBAL__N_116buf_block_readerILm64EE13get_remainderEPh.exit.i.i.i ] - %c.sroa.0.2.i.i.i = or <4 x i64> %c.sroa.22.0.lcssa.pn.i.i.i, %c.sroa.0.0.lcssa.i.i.i21 +_ZNK7simdutf7haswell14implementation13validate_utf8EPKcm.exit: ; preds = %if.end.i.i.i.i, %if.else.i.i.i.i + %c.sroa.22.0.lcssa.pn.i.i.i = phi <4 x i64> [ %203, %if.else.i.i.i.i ], [ %c.sroa.22.0.lcssa.i.i.i24, %if.end.i.i.i.i ] + %c.sroa.22.2.i.i.i = phi <4 x i64> [ %204, %if.else.i.i.i.i ], [ %c.sroa.22.0.lcssa.i.i.i24, %if.end.i.i.i.i ] + %c.sroa.0.2.i.i.i = or <4 x i64> %c.sroa.22.0.lcssa.pn.i.i.i, %c.sroa.0.0.lcssa.i.i.i20 %or.i.i610.i.i.i = or <4 x i64> %c.sroa.0.2.i.i.i, %c.sroa.22.2.i.i.i %205 = tail call noundef i32 @llvm.x86.avx.ptestz.256(<4 x i64> %or.i.i610.i.i.i, <4 x i64> %or.i.i610.i.i.i) %tobool.i.i.i.i.not = icmp ne i32 %205, 0 diff --git a/bench/opencv/optimized/dxt.cpp.ll b/bench/opencv/optimized/dxt.cpp.ll index ef36f43e9ca..36228707127 100644 --- a/bench/opencv/optimized/dxt.cpp.ll +++ b/bench/opencv/optimized/dxt.cpp.ll @@ -6049,13 +6049,13 @@ define internal fastcc void @_ZN2cvL7DFTInitEiiPKiPiiPvi(i32 noundef %0, i32 nou 35: ; preds = %32 %36 = landingpad { ptr, i32 } cleanup - br label %279 + br label %278 37: ; preds = %33 %38 = landingpad { ptr, i32 } cleanup call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %10) #19 - br label %279 + br label %278 39: ; preds = %30 %40 = sext i32 %1 to i64 @@ -6113,7 +6113,7 @@ define internal fastcc void @_ZN2cvL7DFTInitEiiPKiPiiPvi(i32 noundef %0, i32 nou %61 = load i32, ptr %60, align 4 %smax = tail call i32 @llvm.smax.i32(i32 %0, i32 2) %wide.trip.count328 = zext nneg i32 %smax to i64 - br label %173 + br label %172 62: ; preds = %57 %63 = getelementptr inbounds nuw i8, ptr %9, i64 4 @@ -6143,123 +6143,119 @@ define internal fastcc void @_ZN2cvL7DFTInitEiiPKiPiiPvi(i32 noundef %0, i32 nou 76: ; preds = %71 %77 = icmp samesign ult i32 %14, 257 %invariant.op283 = add nsw i32 %66, %72 - br i1 %77, label %78, label %97 - -78: ; preds = %76 - %79 = sub nsw i32 10, %.1 - %.not239285 = icmp eq i32 %14, 3 - br i1 %.not239285, label %.loopexit268, label %.lr.ph288.preheader + br i1 %77, label %.lr.ph288.preheader, label %96 -.lr.ph288.preheader: ; preds = %78 - %80 = add nsw i32 %14, -4 - %81 = zext nneg i32 %80 to i64 +.lr.ph288.preheader: ; preds = %76 + %78 = sub nsw i32 10, %.1 + %79 = add nsw i32 %14, -4 + %80 = sext i32 %79 to i64 br label %.lr.ph288 .lr.ph288: ; preds = %.lr.ph288.preheader, %.lr.ph288 %indvars.iv333 = phi i64 [ 0, %.lr.ph288.preheader ], [ %indvars.iv.next334, %.lr.ph288 ] - %82 = lshr exact i64 %indvars.iv333, 2 - %83 = getelementptr inbounds nuw [256 x i8], ptr @_ZN2cvL9bitrevTabE, i64 0, i64 %82 - %84 = load i8, ptr %83, align 1 - %85 = zext i8 %84 to i32 - %86 = lshr i32 %85, %79 - %87 = mul nsw i32 %86, %64 - %88 = getelementptr inbounds nuw i32, ptr %.0, i64 %indvars.iv333 - store i32 %87, ptr %88, align 4 - %89 = add nsw i32 %87, %66 - %90 = or disjoint i64 %indvars.iv333, 1 - %91 = getelementptr inbounds nuw i32, ptr %.0, i64 %90 - store i32 %89, ptr %91, align 4 - %92 = add nsw i32 %87, %72 - %93 = or disjoint i64 %indvars.iv333, 2 - %94 = getelementptr inbounds nuw i32, ptr %.0, i64 %93 - store i32 %92, ptr %94, align 4 - %.reass284 = add i32 %87, %invariant.op283 - %95 = or disjoint i64 %indvars.iv333, 3 - %96 = getelementptr inbounds nuw i32, ptr %.0, i64 %95 - store i32 %.reass284, ptr %96, align 4 + %81 = lshr exact i64 %indvars.iv333, 2 + %82 = getelementptr inbounds nuw [256 x i8], ptr @_ZN2cvL9bitrevTabE, i64 0, i64 %81 + %83 = load i8, ptr %82, align 1 + %84 = zext i8 %83 to i32 + %85 = lshr i32 %84, %78 + %86 = mul nsw i32 %85, %64 + %87 = getelementptr inbounds nuw i32, ptr %.0, i64 %indvars.iv333 + store i32 %86, ptr %87, align 4 + %88 = add nsw i32 %86, %66 + %89 = or disjoint i64 %indvars.iv333, 1 + %90 = getelementptr inbounds nuw i32, ptr %.0, i64 %89 + store i32 %88, ptr %90, align 4 + %91 = add nsw i32 %86, %72 + %92 = or disjoint i64 %indvars.iv333, 2 + %93 = getelementptr inbounds nuw i32, ptr %.0, i64 %92 + store i32 %91, ptr %93, align 4 + %.reass284 = add i32 %86, %invariant.op283 + %94 = or disjoint i64 %indvars.iv333, 3 + %95 = getelementptr inbounds nuw i32, ptr %.0, i64 %94 + store i32 %.reass284, ptr %95, align 4 %indvars.iv.next334 = add nuw nsw i64 %indvars.iv333, 4 - %.not239 = icmp samesign ugt i64 %indvars.iv.next334, %81 + %.not239 = icmp sgt i64 %indvars.iv.next334, %80 br i1 %.not239, label %.loopexit268, label %.lr.ph288, !llvm.loop !57 -97: ; preds = %76 - %98 = sub nsw i32 34, %.1 - %99 = zext nneg i32 %14 to i64 - br label %100 - -100: ; preds = %97, %100 - %indvars.iv330 = phi i64 [ 0, %97 ], [ %indvars.iv.next331, %100 ] - %101 = lshr exact i64 %indvars.iv330, 2 - %102 = and i64 %101, 255 - %103 = getelementptr inbounds nuw [256 x i8], ptr @_ZN2cvL9bitrevTabE, i64 0, i64 %102 - %104 = load i8, ptr %103, align 1 - %105 = zext i8 %104 to i32 - %106 = shl nuw i32 %105, 24 - %107 = lshr i64 %indvars.iv330, 10 - %108 = and i64 %107, 255 - %109 = getelementptr inbounds nuw [256 x i8], ptr @_ZN2cvL9bitrevTabE, i64 0, i64 %108 - %110 = load i8, ptr %109, align 1 - %111 = zext i8 %110 to i32 - %112 = shl nuw nsw i32 %111, 16 - %113 = or disjoint i32 %112, %106 - %114 = lshr i64 %indvars.iv330, 18 - %115 = and i64 %114, 255 - %116 = getelementptr inbounds nuw [256 x i8], ptr @_ZN2cvL9bitrevTabE, i64 0, i64 %115 - %117 = load i8, ptr %116, align 1 - %118 = zext i8 %117 to i32 - %119 = shl nuw nsw i32 %118, 8 - %120 = or disjoint i32 %113, %119 - %121 = lshr i64 %indvars.iv330, 26 - %122 = and i64 %121, 63 - %123 = getelementptr inbounds nuw [256 x i8], ptr @_ZN2cvL9bitrevTabE, i64 0, i64 %122 - %124 = load i8, ptr %123, align 1 - %125 = zext i8 %124 to i32 - %126 = or disjoint i32 %120, %125 - %127 = lshr i32 %126, %98 - %128 = mul nsw i32 %127, %64 - %129 = getelementptr inbounds nuw i32, ptr %.0, i64 %indvars.iv330 - store i32 %128, ptr %129, align 4 - %130 = add nsw i32 %128, %66 - %131 = or disjoint i64 %indvars.iv330, 1 - %132 = getelementptr inbounds nuw i32, ptr %.0, i64 %131 - store i32 %130, ptr %132, align 4 - %133 = add nsw i32 %128, %72 - %134 = or disjoint i64 %indvars.iv330, 2 - %135 = getelementptr inbounds nuw i32, ptr %.0, i64 %134 - store i32 %133, ptr %135, align 4 - %.reass = add i32 %128, %invariant.op283 - %136 = or disjoint i64 %indvars.iv330, 3 - %137 = getelementptr inbounds nuw i32, ptr %.0, i64 %136 - store i32 %.reass, ptr %137, align 4 +96: ; preds = %76 + %97 = sub nsw i32 34, %.1 + %98 = zext nneg i32 %14 to i64 + br label %99 + +99: ; preds = %96, %99 + %indvars.iv330 = phi i64 [ 0, %96 ], [ %indvars.iv.next331, %99 ] + %100 = lshr exact i64 %indvars.iv330, 2 + %101 = and i64 %100, 255 + %102 = getelementptr inbounds nuw [256 x i8], ptr @_ZN2cvL9bitrevTabE, i64 0, i64 %101 + %103 = load i8, ptr %102, align 1 + %104 = zext i8 %103 to i32 + %105 = shl nuw i32 %104, 24 + %106 = lshr i64 %indvars.iv330, 10 + %107 = and i64 %106, 255 + %108 = getelementptr inbounds nuw [256 x i8], ptr @_ZN2cvL9bitrevTabE, i64 0, i64 %107 + %109 = load i8, ptr %108, align 1 + %110 = zext i8 %109 to i32 + %111 = shl nuw nsw i32 %110, 16 + %112 = or disjoint i32 %111, %105 + %113 = lshr i64 %indvars.iv330, 18 + %114 = and i64 %113, 255 + %115 = getelementptr inbounds nuw [256 x i8], ptr @_ZN2cvL9bitrevTabE, i64 0, i64 %114 + %116 = load i8, ptr %115, align 1 + %117 = zext i8 %116 to i32 + %118 = shl nuw nsw i32 %117, 8 + %119 = or disjoint i32 %112, %118 + %120 = lshr i64 %indvars.iv330, 26 + %121 = and i64 %120, 63 + %122 = getelementptr inbounds nuw [256 x i8], ptr @_ZN2cvL9bitrevTabE, i64 0, i64 %121 + %123 = load i8, ptr %122, align 1 + %124 = zext i8 %123 to i32 + %125 = or disjoint i32 %119, %124 + %126 = lshr i32 %125, %97 + %127 = mul nsw i32 %126, %64 + %128 = getelementptr inbounds nuw i32, ptr %.0, i64 %indvars.iv330 + store i32 %127, ptr %128, align 4 + %129 = add nsw i32 %127, %66 + %130 = or disjoint i64 %indvars.iv330, 1 + %131 = getelementptr inbounds nuw i32, ptr %.0, i64 %130 + store i32 %129, ptr %131, align 4 + %132 = add nsw i32 %127, %72 + %133 = or disjoint i64 %indvars.iv330, 2 + %134 = getelementptr inbounds nuw i32, ptr %.0, i64 %133 + store i32 %132, ptr %134, align 4 + %.reass = add i32 %127, %invariant.op283 + %135 = or disjoint i64 %indvars.iv330, 3 + %136 = getelementptr inbounds nuw i32, ptr %.0, i64 %135 + store i32 %.reass, ptr %136, align 4 %indvars.iv.next331 = add nuw nsw i64 %indvars.iv330, 4 - %138 = icmp samesign ult i64 %indvars.iv.next331, %99 - br i1 %138, label %100, label %.loopexit268, !llvm.loop !58 - -.loopexit268: ; preds = %100, %.lr.ph288, %78, %74 - %139 = getelementptr inbounds nuw i8, ptr %8, i64 4 - %140 = load i32, ptr %139, align 4 - %141 = add nsw i32 %140, 1 - store i32 %141, ptr %139, align 4 - %142 = icmp sgt i32 %1, 1 - br i1 %142, label %143, label %.loopexit267 - -143: ; preds = %.loopexit268 - %144 = getelementptr inbounds nuw i8, ptr %9, i64 8 - %145 = load i32, ptr %144, align 8 - %146 = icmp slt i32 %14, %0 - br i1 %146, label %.preheader266.lr.ph, label %.loopexit267 - -.preheader266.lr.ph: ; preds = %143 - %147 = icmp sgt i32 %14, 0 - %148 = getelementptr inbounds nuw i8, ptr %2, i64 4 - %149 = sext i32 %14 to i64 - %150 = zext nneg i32 %0 to i64 + %137 = icmp samesign ult i64 %indvars.iv.next331, %98 + br i1 %137, label %99, label %.loopexit268, !llvm.loop !58 + +.loopexit268: ; preds = %99, %.lr.ph288, %74 + %138 = getelementptr inbounds nuw i8, ptr %8, i64 4 + %139 = load i32, ptr %138, align 4 + %140 = add nsw i32 %139, 1 + store i32 %140, ptr %138, align 4 + %141 = icmp sgt i32 %1, 1 + br i1 %141, label %142, label %.loopexit267 + +142: ; preds = %.loopexit268 + %143 = getelementptr inbounds nuw i8, ptr %9, i64 8 + %144 = load i32, ptr %143, align 8 + %145 = icmp slt i32 %14, %0 + br i1 %145, label %.preheader266.lr.ph, label %.loopexit267 + +.preheader266.lr.ph: ; preds = %142 + %146 = icmp sgt i32 %14, 0 + %147 = getelementptr inbounds nuw i8, ptr %2, i64 4 + %148 = sext i32 %14 to i64 + %149 = zext nneg i32 %0 to i64 %wide.trip.count339 = zext nneg i32 %14 to i64 br label %.preheader266 .preheader266: ; preds = %.preheader266.backedge, %.preheader266.lr.ph - %indvars.iv344 = phi i64 [ %149, %.preheader266.lr.ph ], [ %indvars.iv.next345, %.preheader266.backedge ] - %.0214298 = phi i32 [ %145, %.preheader266.lr.ph ], [ %.0214298.be, %.preheader266.backedge ] - br i1 %147, label %.lr.ph290.preheader, label %._crit_edge291 + %indvars.iv344 = phi i64 [ %148, %.preheader266.lr.ph ], [ %indvars.iv.next345, %.preheader266.backedge ] + %.0214298 = phi i32 [ %144, %.preheader266.lr.ph ], [ %.0214298.be, %.preheader266.backedge ] + br i1 %146, label %.lr.ph290.preheader, label %._crit_edge291 .lr.ph290.preheader: ; preds = %.preheader266 %invariant.gep = getelementptr i32, ptr %.0, i64 %indvars.iv344 @@ -6267,290 +6263,290 @@ define internal fastcc void @_ZN2cvL7DFTInitEiiPKiPiiPvi(i32 noundef %0, i32 nou .lr.ph290: ; preds = %.lr.ph290.preheader, %.lr.ph290 %indvars.iv336 = phi i64 [ 0, %.lr.ph290.preheader ], [ %indvars.iv.next337, %.lr.ph290 ] - %151 = getelementptr inbounds nuw i32, ptr %.0, i64 %indvars.iv336 - %152 = load i32, ptr %151, align 4 - %153 = add nsw i32 %152, %.0214298 + %150 = getelementptr inbounds nuw i32, ptr %.0, i64 %indvars.iv336 + %151 = load i32, ptr %150, align 4 + %152 = add nsw i32 %151, %.0214298 %gep = getelementptr i32, ptr %invariant.gep, i64 %indvars.iv336 - store i32 %153, ptr %gep, align 4 + store i32 %152, ptr %gep, align 4 %indvars.iv.next337 = add nuw nsw i64 %indvars.iv336, 1 %exitcond340.not = icmp eq i64 %indvars.iv.next337, %wide.trip.count339 br i1 %exitcond340.not, label %._crit_edge291, label %.lr.ph290, !llvm.loop !59 ._crit_edge291: ; preds = %.lr.ph290, %.preheader266 - %indvars.iv.next345 = add nsw i64 %indvars.iv344, %149 - %.not240 = icmp slt i64 %indvars.iv.next345, %150 - br i1 %.not240, label %154, label %.loopexit267 - -154: ; preds = %._crit_edge291 - %155 = add nsw i32 %.0214298, %145 - %156 = load i32, ptr %139, align 4 - %157 = add nsw i32 %156, 1 - store i32 %157, ptr %139, align 4 - %158 = load i32, ptr %148, align 4 - %.not241292 = icmp slt i32 %157, %158 + %indvars.iv.next345 = add nsw i64 %indvars.iv344, %148 + %.not240 = icmp slt i64 %indvars.iv.next345, %149 + br i1 %.not240, label %153, label %.loopexit267 + +153: ; preds = %._crit_edge291 + %154 = add nsw i32 %.0214298, %144 + %155 = load i32, ptr %138, align 4 + %156 = add nsw i32 %155, 1 + store i32 %156, ptr %138, align 4 + %157 = load i32, ptr %147, align 4 + %.not241292 = icmp slt i32 %156, %157 br i1 %.not241292, label %.preheader266.backedge, label %.lr.ph296 -.preheader266.backedge: ; preds = %.lr.ph296, %154 - %.0214298.be = phi i32 [ %155, %154 ], [ %166, %.lr.ph296 ] +.preheader266.backedge: ; preds = %.lr.ph296, %153 + %.0214298.be = phi i32 [ %154, %153 ], [ %165, %.lr.ph296 ] br label %.preheader266 -.lr.ph296: ; preds = %154, %.lr.ph296 - %indvars.iv341 = phi i64 [ %indvars.iv.next342, %.lr.ph296 ], [ 1, %154 ] - %159 = phi ptr [ %167, %.lr.ph296 ], [ %139, %154 ] - %.1215294 = phi i32 [ %166, %.lr.ph296 ], [ %155, %154 ] - store i32 0, ptr %159, align 4 - %160 = add nuw nsw i64 %indvars.iv341, 2 - %161 = getelementptr inbounds nuw [34 x i32], ptr %9, i64 0, i64 %160 - %162 = load i32, ptr %161, align 4 - %163 = getelementptr inbounds nuw [34 x i32], ptr %9, i64 0, i64 %indvars.iv341 - %164 = load i32, ptr %163, align 4 - %165 = add i32 %162, %.1215294 - %166 = sub i32 %165, %164 +.lr.ph296: ; preds = %153, %.lr.ph296 + %indvars.iv341 = phi i64 [ %indvars.iv.next342, %.lr.ph296 ], [ 1, %153 ] + %158 = phi ptr [ %166, %.lr.ph296 ], [ %138, %153 ] + %.1215294 = phi i32 [ %165, %.lr.ph296 ], [ %154, %153 ] + store i32 0, ptr %158, align 4 + %159 = add nuw nsw i64 %indvars.iv341, 2 + %160 = getelementptr inbounds nuw [34 x i32], ptr %9, i64 0, i64 %159 + %161 = load i32, ptr %160, align 4 + %162 = getelementptr inbounds nuw [34 x i32], ptr %9, i64 0, i64 %indvars.iv341 + %163 = load i32, ptr %162, align 4 + %164 = add i32 %161, %.1215294 + %165 = sub i32 %164, %163 %indvars.iv.next342 = add nuw nsw i64 %indvars.iv341, 1 - %167 = getelementptr inbounds nuw [34 x i32], ptr %8, i64 0, i64 %indvars.iv.next342 - %168 = load i32, ptr %167, align 4 - %169 = add nsw i32 %168, 1 - store i32 %169, ptr %167, align 4 - %170 = getelementptr inbounds nuw i32, ptr %2, i64 %indvars.iv.next342 - %171 = load i32, ptr %170, align 4 - %.not241 = icmp slt i32 %169, %171 + %166 = getelementptr inbounds nuw [34 x i32], ptr %8, i64 0, i64 %indvars.iv.next342 + %167 = load i32, ptr %166, align 4 + %168 = add nsw i32 %167, 1 + store i32 %168, ptr %166, align 4 + %169 = getelementptr inbounds nuw i32, ptr %2, i64 %indvars.iv.next342 + %170 = load i32, ptr %169, align 4 + %.not241 = icmp slt i32 %168, %170 br i1 %.not241, label %.preheader266.backedge, label %.lr.ph296, !llvm.loop !60 -.loopexit270: ; preds = %.lr.ph278, %173 - %.3217.lcssa = phi i32 [ %174, %173 ], [ %185, %.lr.ph278 ] - %172 = getelementptr inbounds nuw i32, ptr %.0, i64 %indvars.iv325 - store i32 %.3217.lcssa, ptr %172, align 4 +.loopexit270: ; preds = %.lr.ph278, %172 + %.3217.lcssa = phi i32 [ %173, %172 ], [ %184, %.lr.ph278 ] + %171 = getelementptr inbounds nuw i32, ptr %.0, i64 %indvars.iv325 + store i32 %.3217.lcssa, ptr %171, align 4 %indvars.iv.next326 = add nuw nsw i64 %indvars.iv325, 1 %exitcond329.not = icmp eq i64 %indvars.iv.next326, %wide.trip.count328 - br i1 %exitcond329.not, label %.loopexit267, label %173, !llvm.loop !61 + br i1 %exitcond329.not, label %.loopexit267, label %172, !llvm.loop !61 -173: ; preds = %.lr.ph281, %.loopexit270 +172: ; preds = %.lr.ph281, %.loopexit270 %indvars.iv325 = phi i64 [ 1, %.lr.ph281 ], [ %indvars.iv.next326, %.loopexit270 ] %.2216280 = phi i32 [ 0, %.lr.ph281 ], [ %.3217.lcssa, %.loopexit270 ] - %174 = add nsw i32 %61, %.2216280 - %175 = load i32, ptr %8, align 16 - %176 = add nsw i32 %175, 1 - store i32 %176, ptr %8, align 16 - %177 = load i32, ptr %2, align 4 - %.not238274 = icmp slt i32 %176, %177 + %173 = add nsw i32 %61, %.2216280 + %174 = load i32, ptr %8, align 16 + %175 = add nsw i32 %174, 1 + store i32 %175, ptr %8, align 16 + %176 = load i32, ptr %2, align 4 + %.not238274 = icmp slt i32 %175, %176 br i1 %.not238274, label %.loopexit270, label %.lr.ph278 -.lr.ph278: ; preds = %173, %.lr.ph278 - %indvars.iv322 = phi i64 [ %indvars.iv.next323, %.lr.ph278 ], [ 0, %173 ] - %178 = phi ptr [ %186, %.lr.ph278 ], [ %8, %173 ] - %.3217276 = phi i32 [ %185, %.lr.ph278 ], [ %174, %173 ] - store i32 0, ptr %178, align 4 - %179 = add nuw nsw i64 %indvars.iv322, 2 - %180 = getelementptr inbounds nuw [34 x i32], ptr %9, i64 0, i64 %179 - %181 = load i32, ptr %180, align 4 - %182 = getelementptr inbounds nuw [34 x i32], ptr %9, i64 0, i64 %indvars.iv322 - %183 = load i32, ptr %182, align 4 - %184 = add i32 %181, %.3217276 - %185 = sub i32 %184, %183 +.lr.ph278: ; preds = %172, %.lr.ph278 + %indvars.iv322 = phi i64 [ %indvars.iv.next323, %.lr.ph278 ], [ 0, %172 ] + %177 = phi ptr [ %185, %.lr.ph278 ], [ %8, %172 ] + %.3217276 = phi i32 [ %184, %.lr.ph278 ], [ %173, %172 ] + store i32 0, ptr %177, align 4 + %178 = add nuw nsw i64 %indvars.iv322, 2 + %179 = getelementptr inbounds nuw [34 x i32], ptr %9, i64 0, i64 %178 + %180 = load i32, ptr %179, align 4 + %181 = getelementptr inbounds nuw [34 x i32], ptr %9, i64 0, i64 %indvars.iv322 + %182 = load i32, ptr %181, align 4 + %183 = add i32 %180, %.3217276 + %184 = sub i32 %183, %182 %indvars.iv.next323 = add nuw nsw i64 %indvars.iv322, 1 - %186 = getelementptr inbounds nuw [34 x i32], ptr %8, i64 0, i64 %indvars.iv.next323 - %187 = load i32, ptr %186, align 4 - %188 = add nsw i32 %187, 1 - store i32 %188, ptr %186, align 4 - %189 = getelementptr inbounds nuw i32, ptr %2, i64 %indvars.iv.next323 - %190 = load i32, ptr %189, align 4 - %.not238 = icmp slt i32 %188, %190 + %185 = getelementptr inbounds nuw [34 x i32], ptr %8, i64 0, i64 %indvars.iv.next323 + %186 = load i32, ptr %185, align 4 + %187 = add nsw i32 %186, 1 + store i32 %187, ptr %185, align 4 + %188 = getelementptr inbounds nuw i32, ptr %2, i64 %indvars.iv.next323 + %189 = load i32, ptr %188, align 4 + %.not238 = icmp slt i32 %187, %189 br i1 %.not238, label %.loopexit270, label %.lr.ph278, !llvm.loop !62 -.loopexit267: ; preds = %.loopexit270, %._crit_edge291, %143, %.loopexit268 - %.2 = phi i32 [ %.1, %.loopexit268 ], [ %.1, %143 ], [ %.1, %._crit_edge291 ], [ 0, %.loopexit270 ] +.loopexit267: ; preds = %.loopexit270, %._crit_edge291, %142, %.loopexit268 + %.2 = phi i32 [ %.1, %.loopexit268 ], [ %.1, %142 ], [ %.1, %._crit_edge291 ], [ 0, %.loopexit270 ] %.not242 = icmp eq ptr %.0, %3 br i1 %.not242, label %.loopexit, label %.lr.ph303.preheader .lr.ph303.preheader: ; preds = %.loopexit267 store i32 0, ptr %3, align 4 - %191 = and i32 %0, 1 - %192 = zext nneg i32 %191 to i64 - %193 = zext nneg i32 %0 to i64 + %190 = and i32 %0, 1 + %191 = zext nneg i32 %190 to i64 + %192 = zext nneg i32 %0 to i64 br label %.lr.ph303 .lr.ph303: ; preds = %.lr.ph303.preheader, %.lr.ph303 - %indvars.iv347 = phi i64 [ %192, %.lr.ph303.preheader ], [ %indvars.iv.next348, %.lr.ph303 ] - %194 = getelementptr inbounds nuw i32, ptr %.0, i64 %indvars.iv347 - %195 = load i32, ptr %194, align 4 - %196 = add nuw nsw i64 %indvars.iv347, 1 - %197 = getelementptr inbounds nuw i32, ptr %.0, i64 %196 - %198 = load i32, ptr %197, align 4 - %199 = sext i32 %195 to i64 - %200 = getelementptr inbounds i32, ptr %3, i64 %199 - %201 = trunc nuw nsw i64 %indvars.iv347 to i32 - store i32 %201, ptr %200, align 4 - %202 = sext i32 %198 to i64 - %203 = getelementptr inbounds i32, ptr %3, i64 %202 - %204 = trunc nuw nsw i64 %196 to i32 - store i32 %204, ptr %203, align 4 + %indvars.iv347 = phi i64 [ %191, %.lr.ph303.preheader ], [ %indvars.iv.next348, %.lr.ph303 ] + %193 = getelementptr inbounds nuw i32, ptr %.0, i64 %indvars.iv347 + %194 = load i32, ptr %193, align 4 + %195 = add nuw nsw i64 %indvars.iv347, 1 + %196 = getelementptr inbounds nuw i32, ptr %.0, i64 %195 + %197 = load i32, ptr %196, align 4 + %198 = sext i32 %194 to i64 + %199 = getelementptr inbounds i32, ptr %3, i64 %198 + %200 = trunc nuw nsw i64 %indvars.iv347 to i32 + store i32 %200, ptr %199, align 4 + %201 = sext i32 %197 to i64 + %202 = getelementptr inbounds i32, ptr %3, i64 %201 + %203 = trunc nuw nsw i64 %195 to i32 + store i32 %203, ptr %202, align 4 %indvars.iv.next348 = add nuw nsw i64 %indvars.iv347, 2 - %205 = icmp samesign ult i64 %indvars.iv.next348, %193 - br i1 %205, label %.lr.ph303, label %.loopexit, !llvm.loop !63 + %204 = icmp samesign ult i64 %indvars.iv.next348, %192 + br i1 %204, label %.lr.ph303, label %.loopexit, !llvm.loop !63 .loopexit: ; preds = %.lr.ph303, %.thread262, %.loopexit267 %.0210 = phi i32 [ %.2, %.loopexit267 ], [ 2, %.thread262 ], [ %.2, %.lr.ph303 ] - %206 = tail call range(i32 0, 33) i32 @llvm.ctpop.i32(i32 %0) - %207 = icmp samesign ult i32 %206, 2 - br i1 %207, label %208, label %215 - -208: ; preds = %.loopexit - %209 = sext i32 %.0210 to i64 - %210 = getelementptr inbounds [32 x [2 x double]], ptr @_ZN2cvL6DFTTabE, i64 0, i64 %209 - %211 = load double, ptr %210, align 16 - %212 = getelementptr inbounds nuw i8, ptr %210, i64 8 - %213 = load double, ptr %212, align 8 - %214 = fneg double %213 - br label %222 - -215: ; preds = %.loopexit - %216 = sitofp i32 %0 to double - %217 = fdiv double 0xC01921FB54442D18, %216 - %218 = tail call double @sin(double noundef %217) #19 - %219 = fneg double %218 - %220 = tail call double @llvm.fmuladd.f64(double %219, double %218, double 1.000000e+00) - %221 = tail call double @sqrt(double noundef %220) #19 - br label %222 - -222: ; preds = %215, %208 - %.sroa.5.0 = phi double [ %214, %208 ], [ %218, %215 ] - %.sroa.0250.0 = phi double [ %211, %208 ], [ %221, %215 ] - %223 = add nsw i32 %0, 1 - %224 = sdiv i32 %223, 2 - switch i32 %4, label %247 [ - i32 16, label %225 - i32 8, label %254 + %205 = tail call range(i32 0, 33) i32 @llvm.ctpop.i32(i32 %0) + %206 = icmp samesign ult i32 %205, 2 + br i1 %206, label %207, label %214 + +207: ; preds = %.loopexit + %208 = sext i32 %.0210 to i64 + %209 = getelementptr inbounds [32 x [2 x double]], ptr @_ZN2cvL6DFTTabE, i64 0, i64 %208 + %210 = load double, ptr %209, align 16 + %211 = getelementptr inbounds nuw i8, ptr %209, i64 8 + %212 = load double, ptr %211, align 8 + %213 = fneg double %212 + br label %221 + +214: ; preds = %.loopexit + %215 = sitofp i32 %0 to double + %216 = fdiv double 0xC01921FB54442D18, %215 + %217 = tail call double @sin(double noundef %216) #19 + %218 = fneg double %217 + %219 = tail call double @llvm.fmuladd.f64(double %218, double %217, double 1.000000e+00) + %220 = tail call double @sqrt(double noundef %219) #19 + br label %221 + +221: ; preds = %214, %207 + %.sroa.5.0 = phi double [ %213, %207 ], [ %217, %214 ] + %.sroa.0250.0 = phi double [ %210, %207 ], [ %220, %214 ] + %222 = add nsw i32 %0, 1 + %223 = sdiv i32 %222, 2 + switch i32 %4, label %246 [ + i32 16, label %224 + i32 8, label %253 ] -225: ; preds = %222 +224: ; preds = %221 store double 1.000000e+00, ptr %5, align 8 - %226 = getelementptr inbounds nuw i8, ptr %5, i64 8 - store double 0.000000e+00, ptr %226, align 8 - %227 = and i32 %0, 1 - %228 = icmp eq i32 %227, 0 - br i1 %228, label %229, label %233 - -229: ; preds = %225 - %230 = sext i32 %224 to i64 - %231 = getelementptr inbounds %"class.cv::Complex", ptr %5, i64 %230 - store double -1.000000e+00, ptr %231, align 8 - %232 = getelementptr inbounds nuw i8, ptr %231, i64 8 - store double 0.000000e+00, ptr %232, align 8 - br label %233 - -233: ; preds = %229, %225 - %234 = icmp sgt i32 %0, 2 - br i1 %234, label %.lr.ph316, label %.thread261 - -.lr.ph316: ; preds = %233 - %235 = fneg double %.sroa.5.0 - %236 = zext nneg i32 %0 to i64 - %smax364 = tail call i32 @llvm.smax.i32(i32 %224, i32 2) + %225 = getelementptr inbounds nuw i8, ptr %5, i64 8 + store double 0.000000e+00, ptr %225, align 8 + %226 = and i32 %0, 1 + %227 = icmp eq i32 %226, 0 + br i1 %227, label %228, label %232 + +228: ; preds = %224 + %229 = sext i32 %223 to i64 + %230 = getelementptr inbounds %"class.cv::Complex", ptr %5, i64 %229 + store double -1.000000e+00, ptr %230, align 8 + %231 = getelementptr inbounds nuw i8, ptr %230, i64 8 + store double 0.000000e+00, ptr %231, align 8 + br label %232 + +232: ; preds = %228, %224 + %233 = icmp sgt i32 %0, 2 + br i1 %233, label %.lr.ph316, label %.thread261 + +.lr.ph316: ; preds = %232 + %234 = fneg double %.sroa.5.0 + %235 = zext nneg i32 %0 to i64 + %smax364 = tail call i32 @llvm.smax.i32(i32 %223, i32 2) %wide.trip.count365 = zext nneg i32 %smax364 to i64 - br label %237 - -237: ; preds = %.lr.ph316, %237 - %indvars.iv361 = phi i64 [ 1, %.lr.ph316 ], [ %indvars.iv.next362, %237 ] - %.sroa.0253.1313 = phi double [ %.sroa.0250.0, %.lr.ph316 ], [ %244, %237 ] - %.sroa.11.1312 = phi double [ %.sroa.5.0, %.lr.ph316 ], [ %246, %237 ] - %238 = getelementptr inbounds nuw %"class.cv::Complex", ptr %5, i64 %indvars.iv361 - store double %.sroa.0253.1313, ptr %238, align 8 - %.sroa.11.0..sroa_idx = getelementptr inbounds nuw i8, ptr %238, i64 8 + br label %236 + +236: ; preds = %.lr.ph316, %236 + %indvars.iv361 = phi i64 [ 1, %.lr.ph316 ], [ %indvars.iv.next362, %236 ] + %.sroa.0253.1313 = phi double [ %.sroa.0250.0, %.lr.ph316 ], [ %243, %236 ] + %.sroa.11.1312 = phi double [ %.sroa.5.0, %.lr.ph316 ], [ %245, %236 ] + %237 = getelementptr inbounds nuw %"class.cv::Complex", ptr %5, i64 %indvars.iv361 + store double %.sroa.0253.1313, ptr %237, align 8 + %.sroa.11.0..sroa_idx = getelementptr inbounds nuw i8, ptr %237, i64 8 store double %.sroa.11.1312, ptr %.sroa.11.0..sroa_idx, align 8 - %239 = sub nsw i64 %236, %indvars.iv361 - %240 = getelementptr inbounds %"class.cv::Complex", ptr %5, i64 %239 - store double %.sroa.0253.1313, ptr %240, align 8 - %241 = fneg double %.sroa.11.1312 - %242 = getelementptr inbounds nuw i8, ptr %240, i64 8 - store double %241, ptr %242, align 8 - %243 = fmul double %.sroa.11.1312, %235 - %244 = tail call double @llvm.fmuladd.f64(double %.sroa.0253.1313, double %.sroa.0250.0, double %243) - %245 = fmul double %.sroa.0250.0, %.sroa.11.1312 - %246 = tail call double @llvm.fmuladd.f64(double %.sroa.0253.1313, double %.sroa.5.0, double %245) + %238 = sub nsw i64 %235, %indvars.iv361 + %239 = getelementptr inbounds %"class.cv::Complex", ptr %5, i64 %238 + store double %.sroa.0253.1313, ptr %239, align 8 + %240 = fneg double %.sroa.11.1312 + %241 = getelementptr inbounds nuw i8, ptr %239, i64 8 + store double %240, ptr %241, align 8 + %242 = fmul double %.sroa.11.1312, %234 + %243 = tail call double @llvm.fmuladd.f64(double %.sroa.0253.1313, double %.sroa.0250.0, double %242) + %244 = fmul double %.sroa.0250.0, %.sroa.11.1312 + %245 = tail call double @llvm.fmuladd.f64(double %.sroa.0253.1313, double %.sroa.5.0, double %244) %indvars.iv.next362 = add nuw nsw i64 %indvars.iv361, 1 %exitcond366.not = icmp eq i64 %indvars.iv.next362, %wide.trip.count365 - br i1 %exitcond366.not, label %.thread261, label %237, !llvm.loop !64 + br i1 %exitcond366.not, label %.thread261, label %236, !llvm.loop !64 -247: ; preds = %222 +246: ; preds = %221 call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %13) #19 invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %12, ptr noundef nonnull @.str.18, ptr noundef nonnull align 1 dereferenceable(1) %13) - to label %248 unwind label %250 + to label %247 unwind label %249 -248: ; preds = %247 +247: ; preds = %246 invoke void @_ZN2cv5errorEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPKcS9_i(i32 noundef -215, ptr noundef nonnull align 8 dereferenceable(32) %12, ptr noundef nonnull @__func__._ZN2cvL7DFTInitEiiPKiPiiPvi, ptr noundef nonnull @.str.1, i32 noundef 375) #21 - to label %249 unwind label %252 + to label %248 unwind label %251 -249: ; preds = %248 +248: ; preds = %247 unreachable -250: ; preds = %247 - %251 = landingpad { ptr, i32 } +249: ; preds = %246 + %250 = landingpad { ptr, i32 } cleanup - br label %279 + br label %278 -252: ; preds = %248 - %253 = landingpad { ptr, i32 } +251: ; preds = %247 + %252 = landingpad { ptr, i32 } cleanup call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #19 - br label %279 + br label %278 -254: ; preds = %222 +253: ; preds = %221 store float 1.000000e+00, ptr %5, align 4 - %255 = getelementptr inbounds nuw i8, ptr %5, i64 4 - store float 0.000000e+00, ptr %255, align 4 - %256 = and i32 %0, 1 - %257 = icmp eq i32 %256, 0 - br i1 %257, label %258, label %262 - -258: ; preds = %254 - %259 = sext i32 %224 to i64 - %260 = getelementptr inbounds %"class.cv::Complex.13", ptr %5, i64 %259 - store float -1.000000e+00, ptr %260, align 4 - %261 = getelementptr inbounds nuw i8, ptr %260, i64 4 - store float 0.000000e+00, ptr %261, align 4 - br label %262 - -262: ; preds = %258, %254 - %263 = icmp sgt i32 %0, 2 - br i1 %263, label %.lr.ph311, label %.thread261 - -.lr.ph311: ; preds = %262 - %264 = fneg double %.sroa.5.0 - %265 = zext nneg i32 %0 to i64 - %smax358 = tail call i32 @llvm.smax.i32(i32 %224, i32 2) + %254 = getelementptr inbounds nuw i8, ptr %5, i64 4 + store float 0.000000e+00, ptr %254, align 4 + %255 = and i32 %0, 1 + %256 = icmp eq i32 %255, 0 + br i1 %256, label %257, label %261 + +257: ; preds = %253 + %258 = sext i32 %223 to i64 + %259 = getelementptr inbounds %"class.cv::Complex.13", ptr %5, i64 %258 + store float -1.000000e+00, ptr %259, align 4 + %260 = getelementptr inbounds nuw i8, ptr %259, i64 4 + store float 0.000000e+00, ptr %260, align 4 + br label %261 + +261: ; preds = %257, %253 + %262 = icmp sgt i32 %0, 2 + br i1 %262, label %.lr.ph311, label %.thread261 + +.lr.ph311: ; preds = %261 + %263 = fneg double %.sroa.5.0 + %264 = zext nneg i32 %0 to i64 + %smax358 = tail call i32 @llvm.smax.i32(i32 %223, i32 2) %wide.trip.count359 = zext nneg i32 %smax358 to i64 - br label %266 - -266: ; preds = %.lr.ph311, %266 - %indvars.iv355 = phi i64 [ 1, %.lr.ph311 ], [ %indvars.iv.next356, %266 ] - %.sroa.0253.2308 = phi double [ %.sroa.0250.0, %.lr.ph311 ], [ %276, %266 ] - %.sroa.11.2307 = phi double [ %.sroa.5.0, %.lr.ph311 ], [ %278, %266 ] - %267 = fptrunc double %.sroa.0253.2308 to float - %268 = getelementptr inbounds nuw %"class.cv::Complex.13", ptr %5, i64 %indvars.iv355 - store float %267, ptr %268, align 4 - %269 = fptrunc double %.sroa.11.2307 to float - %270 = getelementptr inbounds nuw i8, ptr %268, i64 4 - store float %269, ptr %270, align 4 - %271 = sub nsw i64 %265, %indvars.iv355 - %272 = getelementptr inbounds %"class.cv::Complex.13", ptr %5, i64 %271 - store float %267, ptr %272, align 4 - %273 = fneg float %269 - %274 = getelementptr inbounds nuw i8, ptr %272, i64 4 - store float %273, ptr %274, align 4 - %275 = fmul double %.sroa.11.2307, %264 - %276 = tail call double @llvm.fmuladd.f64(double %.sroa.0253.2308, double %.sroa.0250.0, double %275) - %277 = fmul double %.sroa.0250.0, %.sroa.11.2307 - %278 = tail call double @llvm.fmuladd.f64(double %.sroa.0253.2308, double %.sroa.5.0, double %277) + br label %265 + +265: ; preds = %.lr.ph311, %265 + %indvars.iv355 = phi i64 [ 1, %.lr.ph311 ], [ %indvars.iv.next356, %265 ] + %.sroa.0253.2308 = phi double [ %.sroa.0250.0, %.lr.ph311 ], [ %275, %265 ] + %.sroa.11.2307 = phi double [ %.sroa.5.0, %.lr.ph311 ], [ %277, %265 ] + %266 = fptrunc double %.sroa.0253.2308 to float + %267 = getelementptr inbounds nuw %"class.cv::Complex.13", ptr %5, i64 %indvars.iv355 + store float %266, ptr %267, align 4 + %268 = fptrunc double %.sroa.11.2307 to float + %269 = getelementptr inbounds nuw i8, ptr %267, i64 4 + store float %268, ptr %269, align 4 + %270 = sub nsw i64 %264, %indvars.iv355 + %271 = getelementptr inbounds %"class.cv::Complex.13", ptr %5, i64 %270 + store float %266, ptr %271, align 4 + %272 = fneg float %268 + %273 = getelementptr inbounds nuw i8, ptr %271, i64 4 + store float %272, ptr %273, align 4 + %274 = fmul double %.sroa.11.2307, %263 + %275 = tail call double @llvm.fmuladd.f64(double %.sroa.0253.2308, double %.sroa.0250.0, double %274) + %276 = fmul double %.sroa.0250.0, %.sroa.11.2307 + %277 = tail call double @llvm.fmuladd.f64(double %.sroa.0253.2308, double %.sroa.5.0, double %276) %indvars.iv.next356 = add nuw nsw i64 %indvars.iv355, 1 %exitcond360.not = icmp eq i64 %indvars.iv.next356, %wide.trip.count359 - br i1 %exitcond360.not, label %.thread261, label %266, !llvm.loop !65 + br i1 %exitcond360.not, label %.thread261, label %265, !llvm.loop !65 -.thread261: ; preds = %266, %237, %.preheader, %262, %233, %._crit_edge306, %29, %28 +.thread261: ; preds = %265, %236, %.preheader, %261, %232, %._crit_edge306, %29, %28 ret void -279: ; preds = %250, %252, %35, %37 - %.sink = phi ptr [ %11, %37 ], [ %11, %35 ], [ %13, %252 ], [ %13, %250 ] - %.pn244.pn = phi { ptr, i32 } [ %38, %37 ], [ %36, %35 ], [ %253, %252 ], [ %251, %250 ] +278: ; preds = %249, %251, %35, %37 + %.sink = phi ptr [ %11, %37 ], [ %11, %35 ], [ %13, %251 ], [ %13, %249 ] + %.pn244.pn = phi { ptr, i32 } [ %38, %37 ], [ %36, %35 ], [ %252, %251 ], [ %250, %249 ] call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %.sink) #19 resume { ptr, i32 } %.pn244.pn } diff --git a/bench/opencv/optimized/loadsave.cpp.ll b/bench/opencv/optimized/loadsave.cpp.ll index 4104b0e9735..5057b343fdb 100644 --- a/bench/opencv/optimized/loadsave.cpp.ll +++ b/bench/opencv/optimized/loadsave.cpp.ll @@ -9459,15 +9459,15 @@ _ZN2cvL8calcTypeEii.exit: ; preds = %2, %28, %31 call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %5) #27 br label %81 -79: ; preds = %.invoke, %115 +79: ; preds = %.invoke, %116 %80 = landingpad { ptr, i32 } cleanup - br label %129 + br label %130 81: ; preds = %78, %56 %.pn.pn = phi { ptr, i32 } [ %.pn, %78 ], [ %57, %56 ] invoke void @__cxa_end_catch() - to label %129 unwind label %130 + to label %130 unwind label %131 82: ; preds = %89, %52 %83 = landingpad { ptr, i32 } @@ -9535,9 +9535,9 @@ _ZN2cvL8calcTypeEii.exit: ; preds = %2, %28, %31 br label %111 .invoke.sink.split: ; preds = %104, %72 - %.sink42 = phi ptr [ %6, %72 ], [ %8, %104 ] + %.sink40 = phi ptr [ %6, %72 ], [ %8, %104 ] %.sink = phi ptr [ %5, %72 ], [ %7, %104 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink42) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink40) #27 call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %.sink) #27 br label %.invoke @@ -9547,72 +9547,72 @@ _ZN2cvL8calcTypeEii.exit: ; preds = %2, %28, %31 .critedge: ; preds = %.invoke, %44 call void @_ZN2cv3MatC1Ev(ptr noundef nonnull align 8 dereferenceable(96) %0) #27 - br label %128 + br label %129 111: ; preds = %110, %82 %.pn33.pn = phi { ptr, i32 } [ %.pn33, %110 ], [ %83, %82 ] invoke void @__cxa_end_catch() - to label %129 unwind label %130 + to label %130 unwind label %131 112: ; preds = %44 %113 = load i32, ptr %17, align 8 %114 = and i32 %113, 128 - %.not41 = icmp eq i32 %114, 0 - br i1 %.not41, label %115, label %_ZN2cv11ExifEntry_tD2Ev.exit - -115: ; preds = %112 - %116 = load ptr, ptr %11, align 8 - invoke void @_ZNK2cv16BaseImageDecoder10getExifTagENS_11ExifTagNameE(ptr dead_on_unwind nonnull writable sret(%"struct.cv::ExifEntry_t") align 8 %9, ptr noundef nonnull align 8 dereferenceable(272) %116, i32 noundef 274) - to label %117 unwind label %79 - -117: ; preds = %115 - %118 = getelementptr inbounds nuw i8, ptr %10, i64 8 - %119 = getelementptr inbounds nuw i8, ptr %10, i64 16 - store i64 0, ptr %119, align 8 + %115 = icmp eq i32 %114, 0 + br i1 %115, label %116, label %_ZN2cv11ExifEntry_tD2Ev.exit + +116: ; preds = %112 + %117 = load ptr, ptr %11, align 8 + invoke void @_ZNK2cv16BaseImageDecoder10getExifTagENS_11ExifTagNameE(ptr dead_on_unwind nonnull writable sret(%"struct.cv::ExifEntry_t") align 8 %9, ptr noundef nonnull align 8 dereferenceable(272) %117, i32 noundef 274) + to label %118 unwind label %79 + +118: ; preds = %116 + %119 = getelementptr inbounds nuw i8, ptr %10, i64 8 + %120 = getelementptr inbounds nuw i8, ptr %10, i64 16 + store i64 0, ptr %120, align 8 store i32 33619968, ptr %10, align 8 - store ptr %4, ptr %118, align 8 - %120 = getelementptr inbounds nuw i8, ptr %9, i64 80 - %.val = load i16, ptr %120, align 8 - %121 = getelementptr inbounds nuw i8, ptr %9, i64 82 - %.val40 = load i16, ptr %121, align 2 - invoke fastcc void @_ZN2cvL20ApplyExifOrientationENS_11ExifEntry_tERKNS_12_OutputArrayE(i16 %.val, i16 %.val40, ptr noundef nonnull align 8 dereferenceable(24) %10) - to label %122 unwind label %126 + store ptr %4, ptr %119, align 8 + %121 = getelementptr inbounds nuw i8, ptr %9, i64 80 + %.val = load i16, ptr %121, align 8 + %122 = getelementptr inbounds nuw i8, ptr %9, i64 82 + %.val39 = load i16, ptr %122, align 2 + invoke fastcc void @_ZN2cvL20ApplyExifOrientationENS_11ExifEntry_tERKNS_12_OutputArrayE(i16 %.val, i16 %.val39, ptr noundef nonnull align 8 dereferenceable(24) %10) + to label %123 unwind label %127 -122: ; preds = %117 - %123 = getelementptr inbounds nuw i8, ptr %9, i64 24 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %123) #27 - %124 = load ptr, ptr %9, align 8 - %.not.i.i.i.i = icmp eq ptr %124, null - br i1 %.not.i.i.i.i, label %_ZN2cv11ExifEntry_tD2Ev.exit, label %125 - -125: ; preds = %122 - call void @_ZdlPv(ptr noundef nonnull %124) #30 +123: ; preds = %118 + %124 = getelementptr inbounds nuw i8, ptr %9, i64 24 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %124) #27 + %125 = load ptr, ptr %9, align 8 + %.not.i.i.i.i = icmp eq ptr %125, null + br i1 %.not.i.i.i.i, label %_ZN2cv11ExifEntry_tD2Ev.exit, label %126 + +126: ; preds = %123 + call void @_ZdlPv(ptr noundef nonnull %125) #30 br label %_ZN2cv11ExifEntry_tD2Ev.exit -126: ; preds = %117 - %127 = landingpad { ptr, i32 } +127: ; preds = %118 + %128 = landingpad { ptr, i32 } cleanup call void @_ZN2cv11ExifEntry_tD2Ev(ptr noundef nonnull align 8 dereferenceable(88) %9) #27 - br label %129 + br label %130 -_ZN2cv11ExifEntry_tD2Ev.exit: ; preds = %125, %122, %112 +_ZN2cv11ExifEntry_tD2Ev.exit: ; preds = %126, %123, %112 call void @_ZN2cv3MatC1EOS0_(ptr noundef nonnull align 8 dereferenceable(96) %0, ptr noundef nonnull align 8 dereferenceable(96) %4) #27 - br label %128 + br label %129 -128: ; preds = %_ZN2cv11ExifEntry_tD2Ev.exit, %.critedge +129: ; preds = %_ZN2cv11ExifEntry_tD2Ev.exit, %.critedge call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %4) #27 ret void -129: ; preds = %111, %81, %126, %79 - %.pn37.pn = phi { ptr, i32 } [ %127, %126 ], [ %80, %79 ], [ %.pn33.pn, %111 ], [ %.pn.pn, %81 ] +130: ; preds = %111, %81, %127, %79 + %.pn36.pn = phi { ptr, i32 } [ %128, %127 ], [ %80, %79 ], [ %.pn33.pn, %111 ], [ %.pn.pn, %81 ] call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %4) #27 - resume { ptr, i32 } %.pn37.pn + resume { ptr, i32 } %.pn36.pn -130: ; preds = %111, %81 - %131 = landingpad { ptr, i32 } +131: ; preds = %111, %81 + %132 = landingpad { ptr, i32 } catch ptr null - %132 = extractvalue { ptr, i32 } %131, 0 - call void @__clang_call_terminate(ptr %132) #28 + %133 = extractvalue { ptr, i32 } %132, 0 + call void @__clang_call_terminate(ptr %133) #28 unreachable } diff --git a/bench/opencv/optimized/qrcode_encoder.cpp.ll b/bench/opencv/optimized/qrcode_encoder.cpp.ll index 290436e954a..284ae25aeca 100644 --- a/bench/opencv/optimized/qrcode_encoder.cpp.ll +++ b/bench/opencv/optimized/qrcode_encoder.cpp.ll @@ -2086,8 +2086,8 @@ _ZN2cvL8decToBinEiiRSt6vectorIhSaIhEE.exit.i: ; preds = %.lr.ph.i.i invoke void @_ZNSt6vectorIhSaIhEE15_M_range_insertIN9__gnu_cxx17__normal_iteratorIPhS1_EEEEvS6_T_S7_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %2, ptr %19, ptr nonnull %5, ptr nonnull %6) to label %_ZN2cvL14writeDecNumberEiiRSt6vectorIhSaIhEE.exit unwind label %20 -common.resume: ; preds = %127, %88, %20 - %common.resume.op = phi { ptr, i32 } [ %21, %20 ], [ %89, %88 ], [ %128, %127 ] +common.resume: ; preds = %128, %87, %20 + %common.resume.op = phi { ptr, i32 } [ %21, %20 ], [ %88, %87 ], [ %129, %128 ] resume { ptr, i32 } %common.resume.op 20: ; preds = %_ZN2cvL8decToBinEiiRSt6vectorIhSaIhEE.exit.i @@ -2236,160 +2236,160 @@ _ZN2cvL9mapSymbolEc.exit: ; preds = %33, %37, %39, %40, _ZN2cvL9mapSymbolEc.exit34: ; preds = %54, %58, %60, %61, %62, %63, %64, %65, %66, %67, %68 %.0.i33 = phi i32 [ %55, %54 ], [ %59, %58 ], [ 44, %68 ], [ 43, %67 ], [ 42, %66 ], [ 41, %65 ], [ 40, %64 ], [ 39, %63 ], [ 38, %62 ], [ 37, %61 ], [ 36, %60 ] %69 = icmp eq i32 %.0.i, -1 - %70 = icmp eq i32 %.0.i33, -1 - %or.cond = select i1 %69, i1 true, i1 %70 - br i1 %or.cond, label %_ZN2cvL9mapSymbolEc.exit44.thread53, label %71 - -71: ; preds = %_ZN2cvL9mapSymbolEc.exit34 - %72 = mul nuw nsw i32 %.0.i, 45 - %73 = add nsw i32 %.0.i33, %72 - %74 = tail call noalias noundef nonnull dereferenceable(11) ptr @_Znwm(i64 noundef 11) #28 - %75 = getelementptr inbounds nuw i8, ptr %74, i64 11 - tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(11) %74, i8 0, i64 11, i1 false) + br i1 %69, label %_ZN2cvL9mapSymbolEc.exit44.thread53, label %70 + +70: ; preds = %_ZN2cvL9mapSymbolEc.exit34 + %71 = mul nuw nsw i32 %.0.i, 45 + %72 = add nsw i32 %.0.i33, %71 + %73 = tail call noalias noundef nonnull dereferenceable(11) ptr @_Znwm(i64 noundef 11) #28 + %74 = getelementptr inbounds nuw i8, ptr %73, i64 11 + tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(11) %73, i8 0, i64 11, i1 false) br label %.lr.ph.i.i35 -.lr.ph.i.i35: ; preds = %.lr.ph.i.i35, %71 - %indvars.iv.i.i36 = phi i64 [ 0, %71 ], [ %indvars.iv.next.i.i37, %.lr.ph.i.i35 ] - %76 = trunc nuw nsw i64 %indvars.iv.i.i36 to i32 - %77 = ashr i32 %73, %76 - %78 = srem i32 %77, 2 - %79 = trunc nsw i32 %78 to i8 - %80 = xor i64 %indvars.iv.i.i36, -1 - %81 = getelementptr i8, ptr %75, i64 %80 - store i8 %79, ptr %81, align 1 +.lr.ph.i.i35: ; preds = %.lr.ph.i.i35, %70 + %indvars.iv.i.i36 = phi i64 [ 0, %70 ], [ %indvars.iv.next.i.i37, %.lr.ph.i.i35 ] + %75 = trunc nuw nsw i64 %indvars.iv.i.i36 to i32 + %76 = ashr i32 %72, %75 + %77 = srem i32 %76, 2 + %78 = trunc nsw i32 %77 to i8 + %79 = xor i64 %indvars.iv.i.i36, -1 + %80 = getelementptr i8, ptr %74, i64 %79 + store i8 %78, ptr %80, align 1 %indvars.iv.next.i.i37 = add nuw nsw i64 %indvars.iv.i.i36, 1 %exitcond.not.i.i38 = icmp eq i64 %indvars.iv.next.i.i37, 11 br i1 %exitcond.not.i.i38, label %_ZN2cvL8decToBinEiiRSt6vectorIhSaIhEE.exit.i39, label %.lr.ph.i.i35, !llvm.loop !10 _ZN2cvL8decToBinEiiRSt6vectorIhSaIhEE.exit.i39: ; preds = %.lr.ph.i.i35 - %82 = load ptr, ptr %13, align 8 - %83 = load ptr, ptr %2, align 8 + %81 = load ptr, ptr %13, align 8 + %82 = load ptr, ptr %2, align 8 + %83 = ptrtoint ptr %81 to i64 %84 = ptrtoint ptr %82 to i64 - %85 = ptrtoint ptr %83 to i64 - %86 = sub i64 %84, %85 - %87 = getelementptr inbounds i8, ptr %83, i64 %86 - invoke void @_ZNSt6vectorIhSaIhEE15_M_range_insertIN9__gnu_cxx17__normal_iteratorIPhS1_EEEEvS6_T_S7_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %2, ptr %87, ptr nonnull %74, ptr nonnull %75) - to label %_ZN2cvL14writeDecNumberEiiRSt6vectorIhSaIhEE.exit40 unwind label %88 + %85 = sub i64 %83, %84 + %86 = getelementptr inbounds i8, ptr %82, i64 %85 + invoke void @_ZNSt6vectorIhSaIhEE15_M_range_insertIN9__gnu_cxx17__normal_iteratorIPhS1_EEEEvS6_T_S7_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %2, ptr %86, ptr nonnull %73, ptr nonnull %74) + to label %_ZN2cvL14writeDecNumberEiiRSt6vectorIhSaIhEE.exit40 unwind label %87 -88: ; preds = %_ZN2cvL8decToBinEiiRSt6vectorIhSaIhEE.exit.i39 - %89 = landingpad { ptr, i32 } +87: ; preds = %_ZN2cvL8decToBinEiiRSt6vectorIhSaIhEE.exit.i39 + %88 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %74) #29 + tail call void @_ZdlPv(ptr noundef nonnull %73) #29 br label %common.resume _ZN2cvL14writeDecNumberEiiRSt6vectorIhSaIhEE.exit40: ; preds = %_ZN2cvL8decToBinEiiRSt6vectorIhSaIhEE.exit.i39 - tail call void @_ZdlPv(ptr noundef nonnull %74) #29 + tail call void @_ZdlPv(ptr noundef nonnull %73) #29 %indvars.iv.next = add nuw nsw i64 %indvars.iv, 2 - %90 = trunc nuw i64 %indvars.iv.next to i32 - %91 = icmp sgt i32 %27, %90 - br i1 %91, label %.lr.ph, label %._crit_edge, !llvm.loop !14 + %89 = trunc nuw i64 %indvars.iv.next to i32 + %90 = icmp sgt i32 %27, %89 + br i1 %90, label %.lr.ph, label %._crit_edge, !llvm.loop !14 ._crit_edge: ; preds = %_ZN2cvL14writeDecNumberEiiRSt6vectorIhSaIhEE.exit40, %_ZN2cvL14writeDecNumberEiiRSt6vectorIhSaIhEE.exit - %92 = and i32 %26, 1 - %.not = icmp eq i32 %92, 0 - br i1 %.not, label %_ZN2cvL9mapSymbolEc.exit44.thread53, label %93 + %91 = and i32 %26, 1 + %.not = icmp eq i32 %91, 0 + br i1 %.not, label %_ZN2cvL9mapSymbolEc.exit44.thread53, label %92 -93: ; preds = %._crit_edge +92: ; preds = %._crit_edge call void @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6rbeginEv(ptr dead_on_unwind nonnull writable sret(%"class.std::reverse_iterator") align 8 %4, ptr noundef nonnull align 8 dereferenceable(32) %1) #26 - %94 = load i64, ptr %4, align 8 - %95 = inttoptr i64 %94 to ptr - %96 = getelementptr inbounds i8, ptr %95, i64 -1 - %97 = load i8, ptr %96, align 1 - %98 = sext i8 %97 to i32 - %99 = add i8 %97, -48 - %or.cond.i41 = icmp ult i8 %99, 10 - br i1 %or.cond.i41, label %_ZN2cvL9mapSymbolEc.exit44, label %100 - -100: ; preds = %93 - %101 = add i8 %97, -65 - %or.cond5.i42 = icmp ult i8 %101, 26 - br i1 %or.cond5.i42, label %_ZN2cvL9mapSymbolEc.exit44, label %102 - -102: ; preds = %100 - switch i8 %97, label %_ZN2cvL9mapSymbolEc.exit44.thread53 [ + %93 = load i64, ptr %4, align 8 + %94 = inttoptr i64 %93 to ptr + %95 = getelementptr inbounds i8, ptr %94, i64 -1 + %96 = load i8, ptr %95, align 1 + %97 = sext i8 %96 to i32 + %98 = add i8 %96, -48 + %or.cond.i41 = icmp ult i8 %98, 10 + br i1 %or.cond.i41, label %99, label %101 + +99: ; preds = %92 + %100 = add nsw i32 %97, -48 + br label %_ZN2cvL9mapSymbolEc.exit44.thread + +101: ; preds = %92 + %102 = add i8 %96, -65 + %or.cond5.i42 = icmp ult i8 %102, 26 + br i1 %or.cond5.i42, label %103, label %105 + +103: ; preds = %101 + %104 = add nsw i32 %97, -55 + br label %_ZN2cvL9mapSymbolEc.exit44.thread + +105: ; preds = %101 + switch i8 %96, label %_ZN2cvL9mapSymbolEc.exit44.thread53 [ i8 32, label %_ZN2cvL9mapSymbolEc.exit44.thread - i8 36, label %103 - i8 37, label %104 - i8 42, label %105 - i8 43, label %106 - i8 45, label %107 - i8 46, label %108 - i8 47, label %109 - i8 58, label %110 + i8 36, label %106 + i8 37, label %107 + i8 42, label %108 + i8 43, label %109 + i8 45, label %110 + i8 46, label %111 + i8 47, label %112 + i8 58, label %113 ] -103: ; preds = %102 +106: ; preds = %105 br label %_ZN2cvL9mapSymbolEc.exit44.thread -104: ; preds = %102 +107: ; preds = %105 br label %_ZN2cvL9mapSymbolEc.exit44.thread -105: ; preds = %102 +108: ; preds = %105 br label %_ZN2cvL9mapSymbolEc.exit44.thread -106: ; preds = %102 +109: ; preds = %105 br label %_ZN2cvL9mapSymbolEc.exit44.thread -107: ; preds = %102 +110: ; preds = %105 br label %_ZN2cvL9mapSymbolEc.exit44.thread -108: ; preds = %102 +111: ; preds = %105 br label %_ZN2cvL9mapSymbolEc.exit44.thread -109: ; preds = %102 +112: ; preds = %105 br label %_ZN2cvL9mapSymbolEc.exit44.thread -110: ; preds = %102 +113: ; preds = %105 br label %_ZN2cvL9mapSymbolEc.exit44.thread -_ZN2cvL9mapSymbolEc.exit44: ; preds = %100, %93 - %.sink = phi i32 [ -48, %93 ], [ -55, %100 ] - %111 = add nsw i32 %.sink, %98 - %112 = icmp eq i32 %111, -1 - br i1 %112, label %_ZN2cvL9mapSymbolEc.exit44.thread53, label %_ZN2cvL9mapSymbolEc.exit44.thread - -_ZN2cvL9mapSymbolEc.exit44.thread: ; preds = %102, %103, %104, %105, %106, %107, %108, %109, %110, %_ZN2cvL9mapSymbolEc.exit44 - %.0.i4352 = phi i32 [ %111, %_ZN2cvL9mapSymbolEc.exit44 ], [ 36, %102 ], [ 37, %103 ], [ 38, %104 ], [ 39, %105 ], [ 40, %106 ], [ 41, %107 ], [ 42, %108 ], [ 43, %109 ], [ 44, %110 ] - %113 = call noalias noundef nonnull dereferenceable(6) ptr @_Znwm(i64 noundef 6) #28 - %114 = getelementptr inbounds nuw i8, ptr %113, i64 6 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(6) %113, i8 0, i64 6, i1 false) +_ZN2cvL9mapSymbolEc.exit44.thread: ; preds = %103, %99, %105, %106, %107, %108, %109, %110, %111, %112, %113 + %.0.i4352 = phi i32 [ 36, %105 ], [ 37, %106 ], [ 38, %107 ], [ 39, %108 ], [ 40, %109 ], [ 41, %110 ], [ 42, %111 ], [ 43, %112 ], [ 44, %113 ], [ %100, %99 ], [ %104, %103 ] + %114 = call noalias noundef nonnull dereferenceable(6) ptr @_Znwm(i64 noundef 6) #28 + %115 = getelementptr inbounds nuw i8, ptr %114, i64 6 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(6) %114, i8 0, i64 6, i1 false) br label %.lr.ph.i.i45 .lr.ph.i.i45: ; preds = %.lr.ph.i.i45, %_ZN2cvL9mapSymbolEc.exit44.thread %indvars.iv.i.i46 = phi i64 [ 0, %_ZN2cvL9mapSymbolEc.exit44.thread ], [ %indvars.iv.next.i.i47, %.lr.ph.i.i45 ] - %115 = trunc nuw nsw i64 %indvars.iv.i.i46 to i32 - %116 = ashr i32 %.0.i4352, %115 - %117 = srem i32 %116, 2 - %118 = trunc nsw i32 %117 to i8 - %119 = xor i64 %indvars.iv.i.i46, -1 - %120 = getelementptr i8, ptr %114, i64 %119 - store i8 %118, ptr %120, align 1 + %116 = trunc nuw nsw i64 %indvars.iv.i.i46 to i32 + %117 = ashr i32 %.0.i4352, %116 + %118 = srem i32 %117, 2 + %119 = trunc nsw i32 %118 to i8 + %120 = xor i64 %indvars.iv.i.i46, -1 + %121 = getelementptr i8, ptr %115, i64 %120 + store i8 %119, ptr %121, align 1 %indvars.iv.next.i.i47 = add nuw nsw i64 %indvars.iv.i.i46, 1 %exitcond.not.i.i48 = icmp eq i64 %indvars.iv.next.i.i47, 6 br i1 %exitcond.not.i.i48, label %_ZN2cvL8decToBinEiiRSt6vectorIhSaIhEE.exit.i49, label %.lr.ph.i.i45, !llvm.loop !10 _ZN2cvL8decToBinEiiRSt6vectorIhSaIhEE.exit.i49: ; preds = %.lr.ph.i.i45 - %121 = load ptr, ptr %13, align 8 - %122 = load ptr, ptr %2, align 8 - %123 = ptrtoint ptr %121 to i64 + %122 = load ptr, ptr %13, align 8 + %123 = load ptr, ptr %2, align 8 %124 = ptrtoint ptr %122 to i64 - %125 = sub i64 %123, %124 - %126 = getelementptr inbounds i8, ptr %122, i64 %125 - invoke void @_ZNSt6vectorIhSaIhEE15_M_range_insertIN9__gnu_cxx17__normal_iteratorIPhS1_EEEEvS6_T_S7_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %2, ptr %126, ptr nonnull %113, ptr nonnull %114) - to label %_ZN2cvL14writeDecNumberEiiRSt6vectorIhSaIhEE.exit50 unwind label %127 + %125 = ptrtoint ptr %123 to i64 + %126 = sub i64 %124, %125 + %127 = getelementptr inbounds i8, ptr %123, i64 %126 + invoke void @_ZNSt6vectorIhSaIhEE15_M_range_insertIN9__gnu_cxx17__normal_iteratorIPhS1_EEEEvS6_T_S7_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %2, ptr %127, ptr nonnull %114, ptr nonnull %115) + to label %_ZN2cvL14writeDecNumberEiiRSt6vectorIhSaIhEE.exit50 unwind label %128 -127: ; preds = %_ZN2cvL8decToBinEiiRSt6vectorIhSaIhEE.exit.i49 - %128 = landingpad { ptr, i32 } +128: ; preds = %_ZN2cvL8decToBinEiiRSt6vectorIhSaIhEE.exit.i49 + %129 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %113) #29 + call void @_ZdlPv(ptr noundef nonnull %114) #29 br label %common.resume _ZN2cvL14writeDecNumberEiiRSt6vectorIhSaIhEE.exit50: ; preds = %_ZN2cvL8decToBinEiiRSt6vectorIhSaIhEE.exit.i49 - call void @_ZdlPv(ptr noundef nonnull %113) #29 + call void @_ZdlPv(ptr noundef nonnull %114) #29 br label %_ZN2cvL9mapSymbolEc.exit44.thread53 -_ZN2cvL9mapSymbolEc.exit44.thread53: ; preds = %_ZN2cvL9mapSymbolEc.exit34, %60, %102, %._crit_edge, %_ZN2cvL14writeDecNumberEiiRSt6vectorIhSaIhEE.exit50, %_ZN2cvL9mapSymbolEc.exit44 - %.0 = phi i1 [ false, %_ZN2cvL9mapSymbolEc.exit44 ], [ true, %_ZN2cvL14writeDecNumberEiiRSt6vectorIhSaIhEE.exit50 ], [ true, %._crit_edge ], [ false, %102 ], [ false, %60 ], [ false, %_ZN2cvL9mapSymbolEc.exit34 ] +_ZN2cvL9mapSymbolEc.exit44.thread53: ; preds = %_ZN2cvL9mapSymbolEc.exit34, %60, %105, %._crit_edge, %_ZN2cvL14writeDecNumberEiiRSt6vectorIhSaIhEE.exit50 + %.0 = phi i1 [ true, %_ZN2cvL14writeDecNumberEiiRSt6vectorIhSaIhEE.exit50 ], [ true, %._crit_edge ], [ false, %105 ], [ false, %60 ], [ false, %_ZN2cvL9mapSymbolEc.exit34 ] ret i1 %.0 } @@ -3275,20 +3275,17 @@ define hidden noundef zeroext i1 @_ZNK2cv17QRCodeEncoderImpl14isAlphaNumericERKN br i1 %4, label %_ZN2cvL9mapSymbolEc.exit.thread7, label %.lr.ph .lr.ph: ; preds = %2, %_ZN2cvL9mapSymbolEc.exit.thread - %.09 = phi i64 [ %14, %_ZN2cvL9mapSymbolEc.exit.thread ], [ 0, %2 ] + %.09 = phi i64 [ %10, %_ZN2cvL9mapSymbolEc.exit.thread ], [ 0, %2 ] %5 = tail call noundef nonnull align 1 dereferenceable(1) ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %1, i64 noundef %.09) #26 %6 = load i8, ptr %5, align 1 - %7 = sext i8 %6 to i32 - %8 = add i8 %6, -48 - %or.cond.i = icmp ult i8 %8, 10 - br i1 %or.cond.i, label %_ZN2cvL9mapSymbolEc.exit, label %9 + %7 = add i8 %6, -48 + %or.cond.i = icmp ult i8 %7, 10 + %8 = add i8 %6, -65 + %or.cond5.i = icmp ult i8 %8, 26 + %or.cond = or i1 %or.cond.i, %or.cond5.i + br i1 %or.cond, label %_ZN2cvL9mapSymbolEc.exit.thread, label %9 9: ; preds = %.lr.ph - %10 = add i8 %6, -65 - %or.cond5.i = icmp ult i8 %10, 26 - br i1 %or.cond5.i, label %_ZN2cvL9mapSymbolEc.exit, label %11 - -11: ; preds = %9 switch i8 %6, label %_ZN2cvL9mapSymbolEc.exit.thread7 [ i8 32, label %_ZN2cvL9mapSymbolEc.exit.thread i8 36, label %_ZN2cvL9mapSymbolEc.exit.thread @@ -3301,20 +3298,14 @@ define hidden noundef zeroext i1 @_ZNK2cv17QRCodeEncoderImpl14isAlphaNumericERKN i8 58, label %_ZN2cvL9mapSymbolEc.exit.thread ] -_ZN2cvL9mapSymbolEc.exit: ; preds = %9, %.lr.ph - %.sink = phi i32 [ -48, %.lr.ph ], [ -55, %9 ] - %12 = add nsw i32 %.sink, %7 - %13 = icmp eq i32 %12, -1 - br i1 %13, label %_ZN2cvL9mapSymbolEc.exit.thread7, label %_ZN2cvL9mapSymbolEc.exit.thread - -_ZN2cvL9mapSymbolEc.exit.thread: ; preds = %11, %11, %11, %11, %11, %11, %11, %11, %11, %_ZN2cvL9mapSymbolEc.exit - %14 = add nuw i64 %.09, 1 - %15 = tail call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6lengthEv(ptr noundef nonnull align 8 dereferenceable(32) %1) #26 - %.not = icmp ult i64 %14, %15 +_ZN2cvL9mapSymbolEc.exit.thread: ; preds = %.lr.ph, %9, %9, %9, %9, %9, %9, %9, %9, %9 + %10 = add nuw i64 %.09, 1 + %11 = tail call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6lengthEv(ptr noundef nonnull align 8 dereferenceable(32) %1) #26 + %.not = icmp ult i64 %10, %11 br i1 %.not, label %.lr.ph, label %_ZN2cvL9mapSymbolEc.exit.thread7, !llvm.loop !19 -_ZN2cvL9mapSymbolEc.exit.thread7: ; preds = %_ZN2cvL9mapSymbolEc.exit, %_ZN2cvL9mapSymbolEc.exit.thread, %11, %2 - %.lcssa = phi i1 [ true, %2 ], [ false, %11 ], [ true, %_ZN2cvL9mapSymbolEc.exit.thread ], [ false, %_ZN2cvL9mapSymbolEc.exit ] +_ZN2cvL9mapSymbolEc.exit.thread7: ; preds = %_ZN2cvL9mapSymbolEc.exit.thread, %9, %2 + %.lcssa = phi i1 [ true, %2 ], [ false, %9 ], [ true, %_ZN2cvL9mapSymbolEc.exit.thread ] ret i1 %.lcssa } @@ -3349,20 +3340,17 @@ _ZNK2cv17QRCodeEncoderImpl9isNumericERKNSt7__cxx1112basic_stringIcSt11char_trait br i1 %16, label %_ZNK2cv17QRCodeEncoderImpl14isAlphaNumericERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE.exit, label %.lr.ph.i3 .lr.ph.i3: ; preds = %_ZNK2cv17QRCodeEncoderImpl9isNumericERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE.exit, %_ZN2cvL9mapSymbolEc.exit.thread.i - %.09.i = phi i64 [ %26, %_ZN2cvL9mapSymbolEc.exit.thread.i ], [ 0, %_ZNK2cv17QRCodeEncoderImpl9isNumericERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE.exit ] + %.09.i = phi i64 [ %22, %_ZN2cvL9mapSymbolEc.exit.thread.i ], [ 0, %_ZNK2cv17QRCodeEncoderImpl9isNumericERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE.exit ] %17 = tail call noundef nonnull align 1 dereferenceable(1) ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %1, i64 noundef %.09.i) #26 %18 = load i8, ptr %17, align 1 - %19 = sext i8 %18 to i32 - %20 = add i8 %18, -48 - %or.cond.i.i = icmp ult i8 %20, 10 - br i1 %or.cond.i.i, label %_ZN2cvL9mapSymbolEc.exit.i, label %21 + %19 = add i8 %18, -48 + %or.cond.i.i = icmp ult i8 %19, 10 + %20 = add i8 %18, -65 + %or.cond5.i.i = icmp ult i8 %20, 26 + %or.cond.i = or i1 %or.cond.i.i, %or.cond5.i.i + br i1 %or.cond.i, label %_ZN2cvL9mapSymbolEc.exit.thread.i, label %21 21: ; preds = %.lr.ph.i3 - %22 = add i8 %18, -65 - %or.cond5.i.i = icmp ult i8 %22, 26 - br i1 %or.cond5.i.i, label %_ZN2cvL9mapSymbolEc.exit.i, label %23 - -23: ; preds = %21 switch i8 %18, label %_ZNK2cv17QRCodeEncoderImpl14isAlphaNumericERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE.exit [ i8 32, label %_ZN2cvL9mapSymbolEc.exit.thread.i i8 36, label %_ZN2cvL9mapSymbolEc.exit.thread.i @@ -3375,20 +3363,14 @@ _ZNK2cv17QRCodeEncoderImpl9isNumericERKNSt7__cxx1112basic_stringIcSt11char_trait i8 58, label %_ZN2cvL9mapSymbolEc.exit.thread.i ] -_ZN2cvL9mapSymbolEc.exit.i: ; preds = %21, %.lr.ph.i3 - %.sink.i = phi i32 [ -48, %.lr.ph.i3 ], [ -55, %21 ] - %24 = add nsw i32 %.sink.i, %19 - %25 = icmp eq i32 %24, -1 - br i1 %25, label %_ZNK2cv17QRCodeEncoderImpl14isAlphaNumericERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE.exit, label %_ZN2cvL9mapSymbolEc.exit.thread.i - -_ZN2cvL9mapSymbolEc.exit.thread.i: ; preds = %_ZN2cvL9mapSymbolEc.exit.i, %23, %23, %23, %23, %23, %23, %23, %23, %23 - %26 = add nuw i64 %.09.i, 1 - %27 = tail call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6lengthEv(ptr noundef nonnull align 8 dereferenceable(32) %1) #26 - %.not.i4 = icmp ult i64 %26, %27 +_ZN2cvL9mapSymbolEc.exit.thread.i: ; preds = %21, %21, %21, %21, %21, %21, %21, %21, %21, %.lr.ph.i3 + %22 = add nuw i64 %.09.i, 1 + %23 = tail call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6lengthEv(ptr noundef nonnull align 8 dereferenceable(32) %1) #26 + %.not.i4 = icmp ult i64 %22, %23 br i1 %.not.i4, label %.lr.ph.i3, label %_ZNK2cv17QRCodeEncoderImpl14isAlphaNumericERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE.exit, !llvm.loop !19 -_ZNK2cv17QRCodeEncoderImpl14isAlphaNumericERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE.exit: ; preds = %5, %23, %_ZN2cvL9mapSymbolEc.exit.i, %_ZN2cvL9mapSymbolEc.exit.thread.i, %2, %_ZNK2cv17QRCodeEncoderImpl9isNumericERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE.exit - %.0 = phi i32 [ 2, %_ZNK2cv17QRCodeEncoderImpl9isNumericERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE.exit ], [ 1, %2 ], [ 2, %_ZN2cvL9mapSymbolEc.exit.thread.i ], [ 4, %_ZN2cvL9mapSymbolEc.exit.i ], [ 4, %23 ], [ 1, %5 ] +_ZNK2cv17QRCodeEncoderImpl14isAlphaNumericERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE.exit: ; preds = %5, %21, %_ZN2cvL9mapSymbolEc.exit.thread.i, %2, %_ZNK2cv17QRCodeEncoderImpl9isNumericERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE.exit + %.0 = phi i32 [ 2, %_ZNK2cv17QRCodeEncoderImpl9isNumericERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE.exit ], [ 1, %2 ], [ 2, %_ZN2cvL9mapSymbolEc.exit.thread.i ], [ 4, %21 ], [ 1, %5 ] ret i32 %.0 } diff --git a/bench/openjdk/optimized/jfrModuleEvent.ll b/bench/openjdk/optimized/jfrModuleEvent.ll index f843a6c42a0..a7565562787 100644 --- a/bench/openjdk/optimized/jfrModuleEvent.ll +++ b/bench/openjdk/optimized/jfrModuleEvent.ll @@ -227,51 +227,49 @@ define internal void @_ZL28module_export_event_callbackP12PackageEntry(ptr nound br i1 %.not.i, label %_ZNK12PackageEntry11is_exportedEv.exit, label %_ZNK12PackageEntry11is_exportedEv.exit.thread _ZNK12PackageEntry11is_exportedEv.exit: ; preds = %9 - %13 = icmp ne i32 %11, 1 - %14 = getelementptr inbounds nuw i8, ptr %0, i64 24 - %15 = load ptr, ptr %14, align 8 - %16 = icmp ne ptr %15, null - %17 = select i1 %13, i1 %16, i1 false - br i1 %17, label %_ZNK12PackageEntry11is_exportedEv.exit.thread, label %33 + %13 = getelementptr inbounds nuw i8, ptr %0, i64 24 + %14 = load ptr, ptr %13, align 8 + %.not = icmp eq ptr %14, null + br i1 %.not, label %30, label %_ZNK12PackageEntry11is_exportedEv.exit.thread _ZNK12PackageEntry11is_exportedEv.exit.thread: ; preds = %9, %_ZNK12PackageEntry11is_exportedEv.exit - %18 = icmp ne i32 %11, 1 - %19 = getelementptr inbounds nuw i8, ptr %0, i64 24 - %20 = load ptr, ptr %19, align 8 - %21 = icmp ne ptr %20, null - %22 = select i1 %18, i1 %21, i1 false - br i1 %22, label %23, label %_ZNK12PackageEntry11is_exportedEv.exit.thread.thread + %15 = icmp ne i32 %11, 1 + %16 = getelementptr inbounds nuw i8, ptr %0, i64 24 + %17 = load ptr, ptr %16, align 8 + %18 = icmp ne ptr %17, null + %19 = select i1 %15, i1 %18, i1 false + br i1 %19, label %20, label %_ZNK12PackageEntry11is_exportedEv.exit.thread.thread -23: ; preds = %_ZNK12PackageEntry11is_exportedEv.exit.thread - %24 = getelementptr inbounds nuw i8, ptr %3, i64 8 - store ptr @_ZL25write_module_export_eventPKvPK11ModuleEntry, ptr %24, align 8 +20: ; preds = %_ZNK12PackageEntry11is_exportedEv.exit.thread + %21 = getelementptr inbounds nuw i8, ptr %3, i64 8 + store ptr @_ZL25write_module_export_eventPKvPK11ModuleEntry, ptr %21, align 8 store ptr getelementptr inbounds nuw inrange(-16, 8) (i8, ptr @_ZTV19ModuleExportClosure, i64 16), ptr %3, align 8 - %25 = getelementptr inbounds nuw i8, ptr %3, i64 16 - store ptr %0, ptr %25, align 8 + %22 = getelementptr inbounds nuw i8, ptr %3, i64 16 + store ptr %0, ptr %22, align 8 call void @_ZN12PackageEntry18package_exports_doEP13ModuleClosure(ptr noundef nonnull align 8 dereferenceable(44) %0, ptr noundef nonnull %3) #7 - br label %33 + br label %30 _ZNK12PackageEntry11is_exportedEv.exit.thread.thread: ; preds = %1, %_ZNK12PackageEntry11is_exportedEv.exit.thread call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %2) - %26 = getelementptr inbounds nuw i8, ptr %2, i64 16 - store i8 1, ptr %26, align 8 - %27 = getelementptr inbounds nuw i8, ptr %2, i64 17 - store i8 0, ptr %27, align 1 - %28 = getelementptr inbounds nuw i8, ptr %2, i64 18 - store i8 0, ptr %28, align 2 - %29 = load i64, ptr @_ZL15invocation_time.0, align 8 - store i64 %29, ptr %2, align 8 - %30 = getelementptr inbounds nuw i8, ptr %2, i64 8 - store i64 %29, ptr %30, align 8 - %31 = getelementptr inbounds nuw i8, ptr %2, i64 24 - store ptr %0, ptr %31, align 8 - %32 = getelementptr inbounds nuw i8, ptr %2, i64 32 - store ptr null, ptr %32, align 8 + %23 = getelementptr inbounds nuw i8, ptr %2, i64 16 + store i8 1, ptr %23, align 8 + %24 = getelementptr inbounds nuw i8, ptr %2, i64 17 + store i8 0, ptr %24, align 1 + %25 = getelementptr inbounds nuw i8, ptr %2, i64 18 + store i8 0, ptr %25, align 2 + %26 = load i64, ptr @_ZL15invocation_time.0, align 8 + store i64 %26, ptr %2, align 8 + %27 = getelementptr inbounds nuw i8, ptr %2, i64 8 + store i64 %26, ptr %27, align 8 + %28 = getelementptr inbounds nuw i8, ptr %2, i64 24 + store ptr %0, ptr %28, align 8 + %29 = getelementptr inbounds nuw i8, ptr %2, i64 32 + store ptr null, ptr %29, align 8 call void @_ZN8JfrEventI17EventModuleExportE6commitEv(ptr noundef nonnull align 8 dereferenceable(19) %2) call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %2) - br label %33 + br label %30 -33: ; preds = %_ZNK12PackageEntry11is_exportedEv.exit.thread.thread, %23, %_ZNK12PackageEntry11is_exportedEv.exit +30: ; preds = %_ZNK12PackageEntry11is_exportedEv.exit.thread.thread, %20, %_ZNK12PackageEntry11is_exportedEv.exit ret void } diff --git a/bench/openjdk/optimized/jfrTypeSet.ll b/bench/openjdk/optimized/jfrTypeSet.ll index eb39a55894f..9cfad76f8dc 100644 --- a/bench/openjdk/optimized/jfrTypeSet.ll +++ b/bench/openjdk/optimized/jfrTypeSet.ll @@ -734,78 +734,76 @@ _ZL9module_idPK12PackageEntryb.exit: ; preds = %_ZL10get_modulePK12 br i1 %.not.i10, label %77, label %_ZNK12PackageEntry11is_exportedEv.exit 77: ; preds = %73 - %78 = icmp ne i32 %75, 1 - %79 = getelementptr inbounds nuw i8, ptr %1, i64 24 - %80 = load ptr, ptr %79, align 8 - %81 = icmp ne ptr %80, null - %82 = select i1 %78, i1 %81, i1 false - %83 = zext i1 %82 to i8 + %78 = getelementptr inbounds nuw i8, ptr %1, i64 24 + %79 = load ptr, ptr %78, align 8 + %80 = icmp ne ptr %79, null + %81 = zext i1 %80 to i8 br label %_ZNK12PackageEntry11is_exportedEv.exit _ZNK12PackageEntry11is_exportedEv.exit: ; preds = %_ZL9module_idPK12PackageEntryb.exit, %73, %77 - %84 = phi i8 [ 1, %73 ], [ 1, %_ZL9module_idPK12PackageEntryb.exit ], [ %83, %77 ] - %85 = getelementptr inbounds nuw i8, ptr %0, i64 16 - %86 = load ptr, ptr %85, align 8 - %.not.i.i.i.i11 = icmp eq ptr %86, null - br i1 %.not.i.i.i.i11, label %_ZN10WriterHostI11EncoderHostI20BigEndianEncoderImplS1_ES0_I20Varint128EncoderImplS1_E30AcquireReleaseMemoryWriterHostI7AdapterI18JfrCheckpointFlushE8StackObjEE5writeEb.exit, label %87 - -87: ; preds = %_ZNK12PackageEntry11is_exportedEv.exit - %88 = getelementptr inbounds nuw i8, ptr %0, i64 8 - %89 = load ptr, ptr %88, align 8 - %90 = icmp eq ptr %86, %89 - br i1 %90, label %91, label %_ZN10WriterHostI11EncoderHostI20BigEndianEncoderImplS1_ES0_I20Varint128EncoderImplS1_E30AcquireReleaseMemoryWriterHostI7AdapterI18JfrCheckpointFlushE8StackObjEE11ensure_sizeEm.exit.i.i.i - -91: ; preds = %87 - %92 = ptrtoint ptr %86 to i64 - %93 = load ptr, ptr %0, align 8 - %94 = ptrtoint ptr %93 to i64 - %95 = sub i64 %92, %94 - %96 = getelementptr inbounds nuw i8, ptr %0, i64 24 + %82 = phi i8 [ 1, %73 ], [ 1, %_ZL9module_idPK12PackageEntryb.exit ], [ %81, %77 ] + %83 = getelementptr inbounds nuw i8, ptr %0, i64 16 + %84 = load ptr, ptr %83, align 8 + %.not.i.i.i.i11 = icmp eq ptr %84, null + br i1 %.not.i.i.i.i11, label %_ZN10WriterHostI11EncoderHostI20BigEndianEncoderImplS1_ES0_I20Varint128EncoderImplS1_E30AcquireReleaseMemoryWriterHostI7AdapterI18JfrCheckpointFlushE8StackObjEE5writeEb.exit, label %85 + +85: ; preds = %_ZNK12PackageEntry11is_exportedEv.exit + %86 = getelementptr inbounds nuw i8, ptr %0, i64 8 + %87 = load ptr, ptr %86, align 8 + %88 = icmp eq ptr %84, %87 + br i1 %88, label %89, label %_ZN10WriterHostI11EncoderHostI20BigEndianEncoderImplS1_ES0_I20Varint128EncoderImplS1_E30AcquireReleaseMemoryWriterHostI7AdapterI18JfrCheckpointFlushE8StackObjEE11ensure_sizeEm.exit.i.i.i + +89: ; preds = %85 + %90 = ptrtoint ptr %84 to i64 + %91 = load ptr, ptr %0, align 8 + %92 = ptrtoint ptr %91 to i64 + %93 = sub i64 %90, %92 + %94 = getelementptr inbounds nuw i8, ptr %0, i64 24 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %4) + %95 = load ptr, ptr %94, align 8 + %96 = getelementptr inbounds nuw i8, ptr %0, i64 32 %97 = load ptr, ptr %96, align 8 - %98 = getelementptr inbounds nuw i8, ptr %0, i64 32 - %99 = load ptr, ptr %98, align 8 - call void @_ZN18JfrCheckpointFlushC1EP9JfrBuffermmP6Thread(ptr noundef nonnull align 8 dereferenceable(8) %4, ptr noundef %97, i64 noundef %95, i64 noundef 1, ptr noundef %99) #9 - %100 = load ptr, ptr %4, align 8 - store ptr %100, ptr %96, align 8 - %.not5.i.i.i.i = icmp eq ptr %100, null + call void @_ZN18JfrCheckpointFlushC1EP9JfrBuffermmP6Thread(ptr noundef nonnull align 8 dereferenceable(8) %4, ptr noundef %95, i64 noundef %93, i64 noundef 1, ptr noundef %97) #9 + %98 = load ptr, ptr %4, align 8 + store ptr %98, ptr %94, align 8 + %.not5.i.i.i.i = icmp eq ptr %98, null call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %4) br i1 %.not5.i.i.i.i, label %.sink.split.i.i.i.i, label %_ZN11StorageHostI7AdapterI18JfrCheckpointFlushE8StackObjE11accommodateEmm.exit.thread.i.i.i.i -_ZN11StorageHostI7AdapterI18JfrCheckpointFlushE8StackObjE11accommodateEmm.exit.thread.i.i.i.i: ; preds = %91 - %101 = getelementptr inbounds nuw i8, ptr %100, i64 16 - %102 = load ptr, ptr %101, align 8 - store ptr %102, ptr %0, align 8 - store ptr %102, ptr %88, align 8 - %103 = getelementptr inbounds nuw i8, ptr %100, i64 40 - %104 = load i16, ptr %103, align 8 - %105 = zext i16 %104 to i64 - %106 = getelementptr inbounds nuw i8, ptr %100, i64 %105 - %107 = getelementptr inbounds nuw i8, ptr %100, i64 32 - %108 = load i64, ptr %107, align 8 - %109 = getelementptr inbounds i8, ptr %106, i64 %108 - %110 = getelementptr inbounds i8, ptr %102, i64 %95 - store ptr %110, ptr %88, align 8 +_ZN11StorageHostI7AdapterI18JfrCheckpointFlushE8StackObjE11accommodateEmm.exit.thread.i.i.i.i: ; preds = %89 + %99 = getelementptr inbounds nuw i8, ptr %98, i64 16 + %100 = load ptr, ptr %99, align 8 + store ptr %100, ptr %0, align 8 + store ptr %100, ptr %86, align 8 + %101 = getelementptr inbounds nuw i8, ptr %98, i64 40 + %102 = load i16, ptr %101, align 8 + %103 = zext i16 %102 to i64 + %104 = getelementptr inbounds nuw i8, ptr %98, i64 %103 + %105 = getelementptr inbounds nuw i8, ptr %98, i64 32 + %106 = load i64, ptr %105, align 8 + %107 = getelementptr inbounds i8, ptr %104, i64 %106 + %108 = getelementptr inbounds i8, ptr %100, i64 %93 + store ptr %108, ptr %86, align 8 br label %.sink.split.i.i.i.i -.sink.split.i.i.i.i: ; preds = %_ZN11StorageHostI7AdapterI18JfrCheckpointFlushE8StackObjE11accommodateEmm.exit.thread.i.i.i.i, %91 - %.sink.i.i.i.i13 = phi ptr [ %109, %_ZN11StorageHostI7AdapterI18JfrCheckpointFlushE8StackObjE11accommodateEmm.exit.thread.i.i.i.i ], [ null, %91 ] - %.0.ph.i.i.i.i = phi ptr [ %110, %_ZN11StorageHostI7AdapterI18JfrCheckpointFlushE8StackObjE11accommodateEmm.exit.thread.i.i.i.i ], [ null, %91 ] - store ptr %.sink.i.i.i.i13, ptr %85, align 8 +.sink.split.i.i.i.i: ; preds = %_ZN11StorageHostI7AdapterI18JfrCheckpointFlushE8StackObjE11accommodateEmm.exit.thread.i.i.i.i, %89 + %.sink.i.i.i.i13 = phi ptr [ %107, %_ZN11StorageHostI7AdapterI18JfrCheckpointFlushE8StackObjE11accommodateEmm.exit.thread.i.i.i.i ], [ null, %89 ] + %.0.ph.i.i.i.i = phi ptr [ %108, %_ZN11StorageHostI7AdapterI18JfrCheckpointFlushE8StackObjE11accommodateEmm.exit.thread.i.i.i.i ], [ null, %89 ] + store ptr %.sink.i.i.i.i13, ptr %83, align 8 br label %_ZN10WriterHostI11EncoderHostI20BigEndianEncoderImplS1_ES0_I20Varint128EncoderImplS1_E30AcquireReleaseMemoryWriterHostI7AdapterI18JfrCheckpointFlushE8StackObjEE11ensure_sizeEm.exit.i.i.i -_ZN10WriterHostI11EncoderHostI20BigEndianEncoderImplS1_ES0_I20Varint128EncoderImplS1_E30AcquireReleaseMemoryWriterHostI7AdapterI18JfrCheckpointFlushE8StackObjEE11ensure_sizeEm.exit.i.i.i: ; preds = %.sink.split.i.i.i.i, %87 - %.0.i.i.i.i = phi ptr [ %89, %87 ], [ %.0.ph.i.i.i.i, %.sink.split.i.i.i.i ] +_ZN10WriterHostI11EncoderHostI20BigEndianEncoderImplS1_ES0_I20Varint128EncoderImplS1_E30AcquireReleaseMemoryWriterHostI7AdapterI18JfrCheckpointFlushE8StackObjEE11ensure_sizeEm.exit.i.i.i: ; preds = %.sink.split.i.i.i.i, %85 + %.0.i.i.i.i = phi ptr [ %87, %85 ], [ %.0.ph.i.i.i.i, %.sink.split.i.i.i.i ] %.not.i.i.i12 = icmp eq ptr %.0.i.i.i.i, null - br i1 %.not.i.i.i12, label %_ZN10WriterHostI11EncoderHostI20BigEndianEncoderImplS1_ES0_I20Varint128EncoderImplS1_E30AcquireReleaseMemoryWriterHostI7AdapterI18JfrCheckpointFlushE8StackObjEE5writeEb.exit, label %111 + br i1 %.not.i.i.i12, label %_ZN10WriterHostI11EncoderHostI20BigEndianEncoderImplS1_ES0_I20Varint128EncoderImplS1_E30AcquireReleaseMemoryWriterHostI7AdapterI18JfrCheckpointFlushE8StackObjEE5writeEb.exit, label %109 -111: ; preds = %_ZN10WriterHostI11EncoderHostI20BigEndianEncoderImplS1_ES0_I20Varint128EncoderImplS1_E30AcquireReleaseMemoryWriterHostI7AdapterI18JfrCheckpointFlushE8StackObjEE11ensure_sizeEm.exit.i.i.i - store i8 %84, ptr %.0.i.i.i.i, align 1 - %112 = getelementptr inbounds nuw i8, ptr %.0.i.i.i.i, i64 1 - store ptr %112, ptr %88, align 8 +109: ; preds = %_ZN10WriterHostI11EncoderHostI20BigEndianEncoderImplS1_ES0_I20Varint128EncoderImplS1_E30AcquireReleaseMemoryWriterHostI7AdapterI18JfrCheckpointFlushE8StackObjEE11ensure_sizeEm.exit.i.i.i + store i8 %82, ptr %.0.i.i.i.i, align 1 + %110 = getelementptr inbounds nuw i8, ptr %.0.i.i.i.i, i64 1 + store ptr %110, ptr %86, align 8 br label %_ZN10WriterHostI11EncoderHostI20BigEndianEncoderImplS1_ES0_I20Varint128EncoderImplS1_E30AcquireReleaseMemoryWriterHostI7AdapterI18JfrCheckpointFlushE8StackObjEE5writeEb.exit -_ZN10WriterHostI11EncoderHostI20BigEndianEncoderImplS1_ES0_I20Varint128EncoderImplS1_E30AcquireReleaseMemoryWriterHostI7AdapterI18JfrCheckpointFlushE8StackObjEE5writeEb.exit: ; preds = %_ZNK12PackageEntry11is_exportedEv.exit, %_ZN10WriterHostI11EncoderHostI20BigEndianEncoderImplS1_ES0_I20Varint128EncoderImplS1_E30AcquireReleaseMemoryWriterHostI7AdapterI18JfrCheckpointFlushE8StackObjEE11ensure_sizeEm.exit.i.i.i, %111 +_ZN10WriterHostI11EncoderHostI20BigEndianEncoderImplS1_ES0_I20Varint128EncoderImplS1_E30AcquireReleaseMemoryWriterHostI7AdapterI18JfrCheckpointFlushE8StackObjEE5writeEb.exit: ; preds = %_ZNK12PackageEntry11is_exportedEv.exit, %_ZN10WriterHostI11EncoderHostI20BigEndianEncoderImplS1_ES0_I20Varint128EncoderImplS1_E30AcquireReleaseMemoryWriterHostI7AdapterI18JfrCheckpointFlushE8StackObjEE11ensure_sizeEm.exit.i.i.i, %109 ret void } diff --git a/bench/openjdk/optimized/loopTransform.ll b/bench/openjdk/optimized/loopTransform.ll index 86c1fa5523c..91ae63e540a 100644 --- a/bench/openjdk/optimized/loopTransform.ll +++ b/bench/openjdk/optimized/loopTransform.ll @@ -23486,14 +23486,14 @@ _ZN9VectorSet3setEj.exit265: ; preds = %710, %715 %wide.trip.count335 = zext i32 %724 to i64 br label %728 -728: ; preds = %.lr.ph305, %756 - %indvars.iv332 = phi i64 [ 0, %.lr.ph305 ], [ %indvars.iv.next333, %756 ] +728: ; preds = %.lr.ph305, %754 + %indvars.iv332 = phi i64 [ 0, %.lr.ph305 ], [ %indvars.iv.next333, %754 ] %729 = getelementptr inbounds nuw ptr, ptr %725, i64 %indvars.iv332 %730 = load ptr, ptr %729, align 8 %731 = getelementptr inbounds nuw i8, ptr %730, i64 32 %732 = load i32, ptr %731, align 8 %733 = icmp eq i32 %732, 0 - br i1 %733, label %756, label %734 + br i1 %733, label %754, label %734 734: ; preds = %728 %735 = getelementptr inbounds nuw i8, ptr %730, i64 40 @@ -23510,176 +23510,173 @@ _ZNK9VectorSet4testEj.exit: ; preds = %734 %742 = load i32, ptr %741, align 4 %743 = and i32 %742, %739 %.not285 = icmp eq i32 %743, 0 - br i1 %.not285, label %_ZNK9VectorSet4testEj.exit.thread, label %756 + br i1 %.not285, label %_ZNK9VectorSet4testEj.exit.thread, label %754 _ZNK9VectorSet4testEj.exit.thread: ; preds = %734, %_ZNK9VectorSet4testEj.exit %744 = getelementptr inbounds nuw i8, ptr %730, i64 44 %745 = load i32, ptr %744, align 4 %746 = and i32 %745, 255 %747 = icmp eq i32 %746, 200 - br i1 %747, label %748, label %755 + br i1 %747, label %748, label %753 748: ; preds = %_ZNK9VectorSet4testEj.exit.thread %749 = getelementptr inbounds nuw i8, ptr %730, i64 8 %750 = load ptr, ptr %749, align 8 %751 = load ptr, ptr %750, align 8 %752 = icmp eq ptr %751, %.0.i.i.i234 - %753 = and i32 %745, 968 - %754 = icmp eq i32 %753, 512 - %or.cond283 = or i1 %754, %752 - br i1 %or.cond283, label %756, label %.critedge201 + br i1 %752, label %754, label %.critedge201 -755: ; preds = %_ZNK9VectorSet4testEj.exit.thread +753: ; preds = %_ZNK9VectorSet4testEj.exit.thread %.old = and i32 %745, 1023 %.old282 = icmp eq i32 %.old, 512 - br i1 %.old282, label %756, label %.critedge201 + br i1 %.old282, label %754, label %.critedge201 -756: ; preds = %755, %748, %_ZNK9VectorSet4testEj.exit, %728 +754: ; preds = %753, %748, %_ZNK9VectorSet4testEj.exit, %728 %indvars.iv.next333 = add nuw nsw i64 %indvars.iv332, 1 %exitcond336.not = icmp eq i64 %indvars.iv.next333, %wide.trip.count335 br i1 %exitcond336.not, label %.lr.ph318, label %728, !llvm.loop !62 -.lr.ph318: ; preds = %756, %723 - %757 = load i32, ptr %12, align 8 - %.not372386.not = icmp eq i32 %757, 0 +.lr.ph318: ; preds = %754, %723 + %755 = load i32, ptr %12, align 8 + %.not372386.not = icmp eq i32 %755, 0 br i1 %.not372386.not, label %.critedge201, label %.lr.ph388 .lr.ph388: ; preds = %.lr.ph318, %_ZNK9Node_List8containsEPK4Node.exit.thread %indvars.iv337387 = phi i64 [ %indvars.iv.next338, %_ZNK9Node_List8containsEPK4Node.exit.thread ], [ 0, %.lr.ph318 ] - %758 = load ptr, ptr %13, align 8 - %759 = getelementptr inbounds nuw ptr, ptr %758, i64 %indvars.iv337387 - %760 = load ptr, ptr %759, align 8 - %761 = load ptr, ptr %2, align 8 - %762 = icmp eq ptr %760, %761 - %763 = icmp eq ptr %760, %.0.i.i.i234 - %or.cond209 = or i1 %763, %762 - br i1 %or.cond209, label %_ZNK9Node_List8containsEPK4Node.exit.thread, label %764 - -764: ; preds = %.lr.ph388 - %765 = load ptr, ptr %14, align 8 - %766 = getelementptr inbounds nuw i8, ptr %765, i64 16 - %767 = load ptr, ptr %766, align 8 - %768 = icmp eq ptr %767, null - br i1 %768, label %_ZNK19BaseCountedLoopNode4incrEv.exit272, label %769 - -769: ; preds = %764 - %770 = getelementptr inbounds nuw i8, ptr %767, i64 8 - %771 = load ptr, ptr %770, align 8 - %772 = load ptr, ptr %771, align 8 - %773 = getelementptr inbounds nuw i8, ptr %772, i64 44 - %774 = load i32, ptr %773, align 4 - %775 = and i32 %774, 63 - %776 = icmp eq i32 %775, 53 - br i1 %776, label %777, label %_ZNK19BaseCountedLoopNode4incrEv.exit272 - -777: ; preds = %769 - %778 = load ptr, ptr %772, align 8 - %779 = getelementptr inbounds nuw i8, ptr %778, i64 208 - %780 = load ptr, ptr %779, align 8 - %781 = call noundef zeroext i8 %780(ptr noundef nonnull align 8 dereferenceable(60) %772) #11 - %782 = load ptr, ptr %11, align 8 - %783 = getelementptr inbounds nuw i8, ptr %782, i64 232 - %784 = load ptr, ptr %783, align 8 - %785 = call noundef zeroext i8 %784(ptr noundef nonnull align 8 dereferenceable(72) %11) #11 - %.not.i.i268 = icmp eq i8 %781, %785 + %756 = load ptr, ptr %13, align 8 + %757 = getelementptr inbounds nuw ptr, ptr %756, i64 %indvars.iv337387 + %758 = load ptr, ptr %757, align 8 + %759 = load ptr, ptr %2, align 8 + %760 = icmp eq ptr %758, %759 + %761 = icmp eq ptr %758, %.0.i.i.i234 + %or.cond209 = or i1 %761, %760 + br i1 %or.cond209, label %_ZNK9Node_List8containsEPK4Node.exit.thread, label %762 + +762: ; preds = %.lr.ph388 + %763 = load ptr, ptr %14, align 8 + %764 = getelementptr inbounds nuw i8, ptr %763, i64 16 + %765 = load ptr, ptr %764, align 8 + %766 = icmp eq ptr %765, null + br i1 %766, label %_ZNK19BaseCountedLoopNode4incrEv.exit272, label %767 + +767: ; preds = %762 + %768 = getelementptr inbounds nuw i8, ptr %765, i64 8 + %769 = load ptr, ptr %768, align 8 + %770 = load ptr, ptr %769, align 8 + %771 = getelementptr inbounds nuw i8, ptr %770, i64 44 + %772 = load i32, ptr %771, align 4 + %773 = and i32 %772, 63 + %774 = icmp eq i32 %773, 53 + br i1 %774, label %775, label %_ZNK19BaseCountedLoopNode4incrEv.exit272 + +775: ; preds = %767 + %776 = load ptr, ptr %770, align 8 + %777 = getelementptr inbounds nuw i8, ptr %776, i64 208 + %778 = load ptr, ptr %777, align 8 + %779 = call noundef zeroext i8 %778(ptr noundef nonnull align 8 dereferenceable(60) %770) #11 + %780 = load ptr, ptr %11, align 8 + %781 = getelementptr inbounds nuw i8, ptr %780, i64 232 + %782 = load ptr, ptr %781, align 8 + %783 = call noundef zeroext i8 %782(ptr noundef nonnull align 8 dereferenceable(72) %11) #11 + %.not.i.i268 = icmp eq i8 %779, %783 br i1 %.not.i.i268, label %_ZNK19BaseCountedLoopNode16loopexit_or_nullEv.exit.i269, label %_ZNK19BaseCountedLoopNode4incrEv.exit272 -_ZNK19BaseCountedLoopNode16loopexit_or_nullEv.exit.i269: ; preds = %777 - %786 = getelementptr inbounds nuw i8, ptr %772, i64 8 +_ZNK19BaseCountedLoopNode16loopexit_or_nullEv.exit.i269: ; preds = %775 + %784 = getelementptr inbounds nuw i8, ptr %770, i64 8 + %785 = load ptr, ptr %784, align 8 + %786 = getelementptr inbounds nuw i8, ptr %785, i64 8 %787 = load ptr, ptr %786, align 8 - %788 = getelementptr inbounds nuw i8, ptr %787, i64 8 - %789 = load ptr, ptr %788, align 8 - %790 = getelementptr inbounds nuw i8, ptr %789, i64 24 - %791 = load i32, ptr %790, align 8 - %792 = icmp ugt i32 %791, 1 - br i1 %792, label %_ZNK22BaseCountedLoopEndNode8cmp_nodeEv.exit.i.i270, label %_ZNK19BaseCountedLoopNode4incrEv.exit272 + %788 = getelementptr inbounds nuw i8, ptr %787, i64 24 + %789 = load i32, ptr %788, align 8 + %790 = icmp ugt i32 %789, 1 + br i1 %790, label %_ZNK22BaseCountedLoopEndNode8cmp_nodeEv.exit.i.i270, label %_ZNK19BaseCountedLoopNode4incrEv.exit272 _ZNK22BaseCountedLoopEndNode8cmp_nodeEv.exit.i.i270: ; preds = %_ZNK19BaseCountedLoopNode16loopexit_or_nullEv.exit.i269 - %793 = getelementptr inbounds nuw i8, ptr %789, i64 8 + %791 = getelementptr inbounds nuw i8, ptr %787, i64 8 + %792 = load ptr, ptr %791, align 8 + %793 = getelementptr inbounds nuw i8, ptr %792, i64 8 %794 = load ptr, ptr %793, align 8 - %795 = getelementptr inbounds nuw i8, ptr %794, i64 8 - %796 = load ptr, ptr %795, align 8 - %.not.i3.i271 = icmp eq ptr %796, null - br i1 %.not.i3.i271, label %_ZNK19BaseCountedLoopNode4incrEv.exit272, label %797 - -797: ; preds = %_ZNK22BaseCountedLoopEndNode8cmp_nodeEv.exit.i.i270 - %798 = getelementptr inbounds nuw i8, ptr %796, i64 24 - %799 = load i32, ptr %798, align 8 - %800 = icmp eq i32 %799, 3 - br i1 %800, label %801, label %_ZNK19BaseCountedLoopNode4incrEv.exit272 - -801: ; preds = %797 - %802 = getelementptr inbounds nuw i8, ptr %796, i64 8 + %.not.i3.i271 = icmp eq ptr %794, null + br i1 %.not.i3.i271, label %_ZNK19BaseCountedLoopNode4incrEv.exit272, label %795 + +795: ; preds = %_ZNK22BaseCountedLoopEndNode8cmp_nodeEv.exit.i.i270 + %796 = getelementptr inbounds nuw i8, ptr %794, i64 24 + %797 = load i32, ptr %796, align 8 + %798 = icmp eq i32 %797, 3 + br i1 %798, label %799, label %_ZNK19BaseCountedLoopNode4incrEv.exit272 + +799: ; preds = %795 + %800 = getelementptr inbounds nuw i8, ptr %794, i64 8 + %801 = load ptr, ptr %800, align 8 + %802 = getelementptr inbounds nuw i8, ptr %801, i64 8 %803 = load ptr, ptr %802, align 8 - %804 = getelementptr inbounds nuw i8, ptr %803, i64 8 - %805 = load ptr, ptr %804, align 8 br label %_ZNK19BaseCountedLoopNode4incrEv.exit272 -_ZNK19BaseCountedLoopNode4incrEv.exit272: ; preds = %764, %769, %777, %_ZNK19BaseCountedLoopNode16loopexit_or_nullEv.exit.i269, %_ZNK22BaseCountedLoopEndNode8cmp_nodeEv.exit.i.i270, %797, %801 - %806 = phi ptr [ %805, %801 ], [ null, %797 ], [ null, %_ZNK22BaseCountedLoopEndNode8cmp_nodeEv.exit.i.i270 ], [ null, %_ZNK19BaseCountedLoopNode16loopexit_or_nullEv.exit.i269 ], [ null, %764 ], [ null, %769 ], [ null, %777 ] - %807 = icmp eq ptr %760, %806 - br i1 %807, label %_ZNK9Node_List8containsEPK4Node.exit.thread, label %808 +_ZNK19BaseCountedLoopNode4incrEv.exit272: ; preds = %762, %767, %775, %_ZNK19BaseCountedLoopNode16loopexit_or_nullEv.exit.i269, %_ZNK22BaseCountedLoopEndNode8cmp_nodeEv.exit.i.i270, %795, %799 + %804 = phi ptr [ %803, %799 ], [ null, %795 ], [ null, %_ZNK22BaseCountedLoopEndNode8cmp_nodeEv.exit.i.i270 ], [ null, %_ZNK19BaseCountedLoopNode16loopexit_or_nullEv.exit.i269 ], [ null, %762 ], [ null, %767 ], [ null, %775 ] + %805 = icmp eq ptr %758, %804 + br i1 %805, label %_ZNK9Node_List8containsEPK4Node.exit.thread, label %806 -808: ; preds = %_ZNK19BaseCountedLoopNode4incrEv.exit272 - %809 = load ptr, ptr %2, align 8 +806: ; preds = %_ZNK19BaseCountedLoopNode4incrEv.exit272 + %807 = load ptr, ptr %2, align 8 + %808 = getelementptr inbounds nuw i8, ptr %807, i64 8 + %809 = load ptr, ptr %808, align 8 %810 = getelementptr inbounds nuw i8, ptr %809, i64 8 %811 = load ptr, ptr %810, align 8 - %812 = getelementptr inbounds nuw i8, ptr %811, i64 8 - %813 = load ptr, ptr %812, align 8 - %814 = icmp eq ptr %760, %813 - br i1 %814, label %_ZNK9Node_List8containsEPK4Node.exit.thread, label %815 - -815: ; preds = %808 - %816 = getelementptr inbounds nuw i8, ptr %760, i64 16 - %817 = load ptr, ptr %816, align 8 - %818 = getelementptr inbounds nuw i8, ptr %760, i64 32 - %819 = load i32, ptr %818, align 8 - %820 = zext i32 %819 to i64 - %821 = getelementptr inbounds nuw ptr, ptr %817, i64 %820 - %.not325 = icmp eq i32 %819, 0 + %812 = icmp eq ptr %758, %811 + br i1 %812, label %_ZNK9Node_List8containsEPK4Node.exit.thread, label %813 + +813: ; preds = %806 + %814 = getelementptr inbounds nuw i8, ptr %758, i64 16 + %815 = load ptr, ptr %814, align 8 + %816 = getelementptr inbounds nuw i8, ptr %758, i64 32 + %817 = load i32, ptr %816, align 8 + %818 = zext i32 %817 to i64 + %819 = getelementptr inbounds nuw ptr, ptr %815, i64 %818 + %.not325 = icmp eq i32 %817, 0 br i1 %.not325, label %_ZNK9Node_List8containsEPK4Node.exit.thread, label %.lr.ph313 -.lr.ph313: ; preds = %815 - %822 = load i32, ptr %12, align 8 - %.not.i273 = icmp eq i32 %822, 0 - %wide.trip.count.i = zext i32 %822 to i64 +.lr.ph313: ; preds = %813 + %820 = load i32, ptr %12, align 8 + %.not.i273 = icmp eq i32 %820, 0 + %wide.trip.count.i = zext i32 %820 to i64 br i1 %.not.i273, label %.critedge201, label %.lr.ph313.split .lr.ph313.split: ; preds = %.lr.ph313 - %823 = load ptr, ptr %13, align 8 + %821 = load ptr, ptr %13, align 8 br label %.lr.ph.i .lr.ph.i: ; preds = %.lr.ph313.split, %_ZNK9Node_List8containsEPK4Node.exit - %.sroa.3.0311 = phi ptr [ %817, %.lr.ph313.split ], [ %830, %_ZNK9Node_List8containsEPK4Node.exit ] - %824 = load ptr, ptr %.sroa.3.0311, align 8 - br label %826 + %.sroa.3.0311 = phi ptr [ %815, %.lr.ph313.split ], [ %828, %_ZNK9Node_List8containsEPK4Node.exit ] + %822 = load ptr, ptr %.sroa.3.0311, align 8 + br label %824 -825: ; preds = %826 +823: ; preds = %824 %indvars.iv.next.i = add nuw nsw i64 %indvars.iv.i, 1 %exitcond.not.i = icmp eq i64 %indvars.iv.next.i, %wide.trip.count.i - br i1 %exitcond.not.i, label %.critedge201, label %826, !llvm.loop !63 + br i1 %exitcond.not.i, label %.critedge201, label %824, !llvm.loop !63 -826: ; preds = %825, %.lr.ph.i - %indvars.iv.i = phi i64 [ 0, %.lr.ph.i ], [ %indvars.iv.next.i, %825 ] - %827 = getelementptr inbounds nuw ptr, ptr %823, i64 %indvars.iv.i - %828 = load ptr, ptr %827, align 8 - %829 = icmp eq ptr %828, %824 - br i1 %829, label %_ZNK9Node_List8containsEPK4Node.exit, label %825 +824: ; preds = %823, %.lr.ph.i + %indvars.iv.i = phi i64 [ 0, %.lr.ph.i ], [ %indvars.iv.next.i, %823 ] + %825 = getelementptr inbounds nuw ptr, ptr %821, i64 %indvars.iv.i + %826 = load ptr, ptr %825, align 8 + %827 = icmp eq ptr %826, %822 + br i1 %827, label %_ZNK9Node_List8containsEPK4Node.exit, label %823 -_ZNK9Node_List8containsEPK4Node.exit: ; preds = %826 - %830 = getelementptr inbounds nuw i8, ptr %.sroa.3.0311, i64 8 - %831 = icmp ult ptr %830, %821 - br i1 %831, label %.lr.ph.i, label %_ZNK9Node_List8containsEPK4Node.exit.thread, !llvm.loop !64 +_ZNK9Node_List8containsEPK4Node.exit: ; preds = %824 + %828 = getelementptr inbounds nuw i8, ptr %.sroa.3.0311, i64 8 + %829 = icmp ult ptr %828, %819 + br i1 %829, label %.lr.ph.i, label %_ZNK9Node_List8containsEPK4Node.exit.thread, !llvm.loop !64 -_ZNK9Node_List8containsEPK4Node.exit.thread: ; preds = %_ZNK9Node_List8containsEPK4Node.exit, %815, %.lr.ph388, %_ZNK19BaseCountedLoopNode4incrEv.exit272, %808 +_ZNK9Node_List8containsEPK4Node.exit.thread: ; preds = %_ZNK9Node_List8containsEPK4Node.exit, %813, %.lr.ph388, %_ZNK19BaseCountedLoopNode4incrEv.exit272, %806 %indvars.iv.next338 = add nuw nsw i64 %indvars.iv337387, 1 - %832 = load i32, ptr %12, align 8 - %833 = zext i32 %832 to i64 - %.not372 = icmp samesign ult i64 %indvars.iv.next338, %833 + %830 = load i32, ptr %12, align 8 + %831 = zext i32 %830 to i64 + %.not372 = icmp samesign ult i64 %indvars.iv.next338, %831 br i1 %.not372, label %.lr.ph388, label %.critedge201, !llvm.loop !65 -.critedge201: ; preds = %748, %755, %_ZNK9Node_List8containsEPK4Node.exit.thread, %.lr.ph313, %825, %.lr.ph318, %175, %.thread.thread, %.critedge.thread, %._crit_edge, %switch.early.test, %169, %.critedge - %.0 = phi i1 [ false, %.critedge ], [ false, %169 ], [ false, %switch.early.test ], [ false, %._crit_edge ], [ false, %.critedge.thread ], [ false, %.thread.thread ], [ false, %175 ], [ true, %.lr.ph318 ], [ false, %825 ], [ false, %.lr.ph313 ], [ true, %_ZNK9Node_List8containsEPK4Node.exit.thread ], [ false, %755 ], [ false, %748 ] +.critedge201: ; preds = %748, %753, %_ZNK9Node_List8containsEPK4Node.exit.thread, %.lr.ph313, %823, %.lr.ph318, %175, %.thread.thread, %.critedge.thread, %._crit_edge, %switch.early.test, %169, %.critedge + %.0 = phi i1 [ false, %.critedge ], [ false, %169 ], [ false, %switch.early.test ], [ false, %._crit_edge ], [ false, %.critedge.thread ], [ false, %.thread.thread ], [ false, %175 ], [ true, %.lr.ph318 ], [ false, %823 ], [ false, %.lr.ph313 ], [ true, %_ZNK9Node_List8containsEPK4Node.exit.thread ], [ false, %753 ], [ false, %748 ] ret i1 %.0 } diff --git a/bench/openmpi/optimized/coll_base_allgather.ll b/bench/openmpi/optimized/coll_base_allgather.ll index 714e68b2a61..5977dbd7387 100644 --- a/bench/openmpi/optimized/coll_base_allgather.ll +++ b/bench/openmpi/optimized/coll_base_allgather.ll @@ -651,107 +651,95 @@ define i32 @ompi_coll_base_allgather_intra_neighborexchange(ptr noundef %0, i32 %35 = srem i32 %34, %.val.val %36 = add i32 %.val.val, -1 %37 = add i32 %36, %.val96 - br label %43 + br label %ompi_coll_base_sendrecv.exit 38: ; preds = %31 %39 = add i32 %.val.val, -1 %40 = add i32 %39, %.val96 %41 = srem i32 %40, %.val.val %42 = add nsw i32 %.val96, 1 - br label %43 + br label %ompi_coll_base_sendrecv.exit -43: ; preds = %38, %33 +ompi_coll_base_sendrecv.exit: ; preds = %38, %33 %.sink108 = phi i32 [ %35, %33 ], [ %41, %38 ] %.pn = phi i32 [ %37, %33 ], [ %42, %38 ] - %44 = phi i32 [ %.val96, %33 ], [ %41, %38 ] + %43 = phi i32 [ %.val96, %33 ], [ %41, %38 ] %.sink104 = phi i32 [ 2, %33 ], [ -2, %38 ] %.sink = phi i32 [ -2, %33 ], [ 2, %38 ] %.sink107 = srem i32 %.pn, %.val.val store i32 %.sink108, ptr %9, align 4 - %45 = getelementptr inbounds nuw i8, ptr %9, i64 4 - store i32 %.sink107, ptr %45, align 4 - store i32 %44, ptr %11, align 4 - %46 = getelementptr inbounds nuw i8, ptr %11, i64 4 - store i32 %44, ptr %46, align 4 + %44 = getelementptr inbounds nuw i8, ptr %9, i64 4 + store i32 %.sink107, ptr %44, align 4 + store i32 %43, ptr %11, align 4 + %45 = getelementptr inbounds nuw i8, ptr %11, i64 4 + store i32 %43, ptr %45, align 4 store i32 %.sink104, ptr %10, align 4 - %47 = getelementptr inbounds nuw i8, ptr %10, i64 4 - store i32 %.sink, ptr %47, align 4 + %46 = getelementptr inbounds nuw i8, ptr %10, i64 4 + store i32 %.sink, ptr %46, align 4 + %47 = mul i64 %23, %25 %48 = sext i32 %.sink108 to i64 - %49 = mul i64 %23, %25 - %50 = mul i64 %49, %48 - %51 = getelementptr inbounds i8, ptr %3, i64 %50 - %52 = mul nsw i64 %23, %26 - %53 = getelementptr inbounds i8, ptr %3, i64 %52 - %54 = icmp eq i32 %.sink108, %.val96 - br i1 %54, label %55, label %57 - -55: ; preds = %43 - %56 = tail call i32 @ompi_datatype_sndrcv(ptr noundef %53, i32 noundef %4, ptr noundef nonnull %5, ptr noundef %51, i32 noundef %4, ptr noundef nonnull %5) #8 - br label %ompi_coll_base_sendrecv.exit - -57: ; preds = %43 - %58 = tail call i32 @ompi_coll_base_sendrecv_actual(ptr noundef %53, i64 noundef range(i64 -4611686016279904256, 4611686018427387905) %25, ptr noundef nonnull %5, i32 noundef %.sink108, i32 noundef -10, ptr noundef %51, i64 noundef range(i64 -4611686016279904256, 4611686018427387905) %25, ptr noundef nonnull %5, i32 noundef %.sink108, i32 noundef -10, ptr noundef nonnull %6, ptr noundef null) #8 - br label %ompi_coll_base_sendrecv.exit + %49 = mul i64 %47, %48 + %50 = getelementptr inbounds i8, ptr %3, i64 %49 + %51 = mul nsw i64 %23, %26 + %52 = getelementptr inbounds i8, ptr %3, i64 %51 + %53 = tail call i32 @ompi_coll_base_sendrecv_actual(ptr noundef %52, i64 noundef range(i64 -4611686016279904256, 4611686018427387905) %25, ptr noundef nonnull %5, i32 noundef %.sink108, i32 noundef -10, ptr noundef %50, i64 noundef range(i64 -4611686016279904256, 4611686018427387905) %25, ptr noundef nonnull %5, i32 noundef %.sink108, i32 noundef -10, ptr noundef nonnull %6, ptr noundef null) #8 + %.not94 = icmp eq i32 %53, 0 + br i1 %.not94, label %54, label %.loopexit + +54: ; preds = %ompi_coll_base_sendrecv.exit + %55 = ashr exact i32 %.val.val, 1 + %56 = icmp sgt i32 %55, 1 + br i1 %56, label %.lr.ph, label %.loopexit + +.lr.ph: ; preds = %54 + %57 = shl nsw i64 %25, 1 + %58 = trunc i64 %57 to i32 + br label %61 + +59: ; preds = %ompi_coll_base_sendrecv.exit98 + %60 = add nuw nsw i32 %.085101, 1 + %exitcond.not = icmp eq i32 %60, %55 + br i1 %exitcond.not, label %.loopexit, label %61, !llvm.loop !11 + +61: ; preds = %.lr.ph, %59 + %.1102 = phi i32 [ %43, %.lr.ph ], [ %70, %59 ] + %.085101 = phi i32 [ 1, %.lr.ph ], [ %60, %59 ] + %62 = and i32 %.085101, 1 + %63 = zext nneg i32 %62 to i64 + %64 = getelementptr inbounds nuw [2 x i32], ptr %11, i64 0, i64 %63 + %65 = load i32, ptr %64, align 4 + %66 = getelementptr inbounds nuw [2 x i32], ptr %10, i64 0, i64 %63 + %67 = load i32, ptr %66, align 4 + %68 = add i32 %65, %.val.val + %69 = add i32 %68, %67 + %70 = srem i32 %69, %.val.val + store i32 %70, ptr %64, align 4 + %71 = sext i32 %70 to i64 + %72 = mul i64 %47, %71 + %73 = getelementptr inbounds i8, ptr %3, i64 %72 + %74 = sext i32 %.1102 to i64 + %75 = mul i64 %47, %74 + %76 = getelementptr inbounds i8, ptr %3, i64 %75 + %77 = getelementptr inbounds nuw [2 x i32], ptr %9, i64 0, i64 %63 + %78 = load i32, ptr %77, align 4 + %79 = icmp eq i32 %78, %.val96 + br i1 %79, label %80, label %82 -ompi_coll_base_sendrecv.exit: ; preds = %55, %57 - %.0.i = phi i32 [ %56, %55 ], [ %58, %57 ] - %.not94 = icmp eq i32 %.0.i, 0 - br i1 %.not94, label %59, label %.loopexit - -59: ; preds = %ompi_coll_base_sendrecv.exit - %60 = ashr exact i32 %.val.val, 1 - %61 = icmp sgt i32 %60, 1 - br i1 %61, label %.lr.ph, label %.loopexit - -.lr.ph: ; preds = %59 - %62 = shl nsw i64 %25, 1 - %63 = trunc i64 %62 to i32 - br label %66 - -64: ; preds = %ompi_coll_base_sendrecv.exit98 - %65 = add nuw nsw i32 %.085101, 1 - %exitcond.not = icmp eq i32 %65, %60 - br i1 %exitcond.not, label %.loopexit, label %66, !llvm.loop !11 - -66: ; preds = %.lr.ph, %64 - %.1102 = phi i32 [ %44, %.lr.ph ], [ %75, %64 ] - %.085101 = phi i32 [ 1, %.lr.ph ], [ %65, %64 ] - %67 = and i32 %.085101, 1 - %68 = zext nneg i32 %67 to i64 - %69 = getelementptr inbounds nuw [2 x i32], ptr %11, i64 0, i64 %68 - %70 = load i32, ptr %69, align 4 - %71 = getelementptr inbounds nuw [2 x i32], ptr %10, i64 0, i64 %68 - %72 = load i32, ptr %71, align 4 - %73 = add i32 %70, %.val.val - %74 = add i32 %73, %72 - %75 = srem i32 %74, %.val.val - store i32 %75, ptr %69, align 4 - %76 = sext i32 %75 to i64 - %77 = mul i64 %49, %76 - %78 = getelementptr inbounds i8, ptr %3, i64 %77 - %79 = sext i32 %.1102 to i64 - %80 = mul i64 %49, %79 - %81 = getelementptr inbounds i8, ptr %3, i64 %80 - %82 = getelementptr inbounds nuw [2 x i32], ptr %9, i64 0, i64 %68 - %83 = load i32, ptr %82, align 4 - %84 = icmp eq i32 %83, %.val96 - br i1 %84, label %85, label %87 - -85: ; preds = %66 - %86 = tail call i32 @ompi_datatype_sndrcv(ptr noundef %81, i32 noundef %63, ptr noundef %5, ptr noundef %78, i32 noundef %63, ptr noundef %5) #8 +80: ; preds = %61 + %81 = tail call i32 @ompi_datatype_sndrcv(ptr noundef %76, i32 noundef %58, ptr noundef nonnull %5, ptr noundef %73, i32 noundef %58, ptr noundef nonnull %5) #8 br label %ompi_coll_base_sendrecv.exit98 -87: ; preds = %66 - %88 = tail call i32 @ompi_coll_base_sendrecv_actual(ptr noundef %81, i64 noundef range(i64 -4611686016279904256, 4611686018427387905) %62, ptr noundef %5, i32 noundef %83, i32 noundef -10, ptr noundef %78, i64 noundef range(i64 -4611686016279904256, 4611686018427387905) %62, ptr noundef %5, i32 noundef %83, i32 noundef -10, ptr noundef %6, ptr noundef null) #8 +82: ; preds = %61 + %83 = tail call i32 @ompi_coll_base_sendrecv_actual(ptr noundef %76, i64 noundef range(i64 -4611686016279904256, 4611686018427387905) %57, ptr noundef nonnull %5, i32 noundef %78, i32 noundef -10, ptr noundef %73, i64 noundef range(i64 -4611686016279904256, 4611686018427387905) %57, ptr noundef nonnull %5, i32 noundef %78, i32 noundef -10, ptr noundef nonnull %6, ptr noundef null) #8 br label %ompi_coll_base_sendrecv.exit98 -ompi_coll_base_sendrecv.exit98: ; preds = %85, %87 - %.0.i97 = phi i32 [ %86, %85 ], [ %88, %87 ] +ompi_coll_base_sendrecv.exit98: ; preds = %80, %82 + %.0.i97 = phi i32 [ %81, %80 ], [ %83, %82 ] %.not95 = icmp eq i32 %.0.i97, 0 - br i1 %.not95, label %64, label %.loopexit + br i1 %.not95, label %59, label %.loopexit -.loopexit: ; preds = %64, %ompi_coll_base_sendrecv.exit98, %59, %27, %ompi_coll_base_sendrecv.exit, %16 - %.0 = phi i32 [ %17, %16 ], [ %30, %27 ], [ %.0.i, %ompi_coll_base_sendrecv.exit ], [ 0, %59 ], [ 0, %64 ], [ %.0.i97, %ompi_coll_base_sendrecv.exit98 ] +.loopexit: ; preds = %59, %ompi_coll_base_sendrecv.exit98, %54, %27, %ompi_coll_base_sendrecv.exit, %16 + %.0 = phi i32 [ %17, %16 ], [ %30, %27 ], [ %53, %ompi_coll_base_sendrecv.exit ], [ 0, %54 ], [ 0, %59 ], [ %.0.i97, %ompi_coll_base_sendrecv.exit98 ] ret i32 %.0 } diff --git a/bench/openmpi/optimized/coll_base_allgatherv.ll b/bench/openmpi/optimized/coll_base_allgatherv.ll index d5cbdd697cb..e6e0aea3857 100644 --- a/bench/openmpi/optimized/coll_base_allgatherv.ll +++ b/bench/openmpi/optimized/coll_base_allgatherv.ll @@ -508,167 +508,155 @@ define i32 @ompi_coll_base_allgatherv_intra_neighborexchange(ptr noundef %0, i32 %45 = srem i32 %44, %.val.val %46 = add i32 %.val.val, -1 %47 = add i32 %46, %.val121 - br label %53 + br label %ompi_coll_base_sendrecv.exit 48: ; preds = %41 %49 = add i32 %.val.val, -1 %50 = add i32 %49, %.val121 %51 = srem i32 %50, %.val.val %52 = add nsw i32 %.val121, 1 - br label %53 + br label %ompi_coll_base_sendrecv.exit -53: ; preds = %48, %43 +ompi_coll_base_sendrecv.exit: ; preds = %48, %43 %.sink142 = phi i32 [ %45, %43 ], [ %51, %48 ] %.pn = phi i32 [ %47, %43 ], [ %52, %48 ] - %54 = phi i32 [ %.val121, %43 ], [ %51, %48 ] + %53 = phi i32 [ %.val121, %43 ], [ %51, %48 ] %.sink138 = phi i32 [ 2, %43 ], [ -2, %48 ] %.sink = phi i32 [ -2, %43 ], [ 2, %48 ] %.sink141 = srem i32 %.pn, %.val.val store i32 %.sink142, ptr %10, align 4 - %55 = getelementptr inbounds nuw i8, ptr %10, i64 4 - store i32 %.sink141, ptr %55, align 4 - store i32 %54, ptr %12, align 4 - %56 = getelementptr inbounds nuw i8, ptr %12, i64 4 - store i32 %54, ptr %56, align 4 + %54 = getelementptr inbounds nuw i8, ptr %10, i64 4 + store i32 %.sink141, ptr %54, align 4 + store i32 %53, ptr %12, align 4 + %55 = getelementptr inbounds nuw i8, ptr %12, i64 4 + store i32 %53, ptr %55, align 4 store i32 %.sink138, ptr %11, align 4 - %57 = getelementptr inbounds nuw i8, ptr %11, i64 4 - store i32 %.sink, ptr %57, align 4 - %58 = sext i32 %.sink142 to i64 - %59 = getelementptr inbounds i32, ptr %5, i64 %58 - %60 = load i32, ptr %59, align 4 - %61 = sext i32 %60 to i64 - %62 = mul nsw i64 %30, %61 - %63 = getelementptr inbounds i8, ptr %3, i64 %62 - %64 = load i32, ptr %32, align 4 - %65 = sext i32 %64 to i64 - %66 = mul nsw i64 %30, %65 - %67 = getelementptr inbounds i8, ptr %3, i64 %66 - %68 = getelementptr inbounds i32, ptr %4, i64 %31 - %69 = load i32, ptr %68, align 4 - %70 = getelementptr inbounds i32, ptr %4, i64 %58 - %71 = load i32, ptr %70, align 4 - %72 = icmp eq i32 %.sink142, %.val121 - br i1 %72, label %73, label %75 - -73: ; preds = %53 - %74 = tail call i32 @ompi_datatype_sndrcv(ptr noundef %67, i32 noundef %69, ptr noundef nonnull %6, ptr noundef %63, i32 noundef %71, ptr noundef nonnull %6) #7 - br label %ompi_coll_base_sendrecv.exit - -75: ; preds = %53 - %76 = sext i32 %71 to i64 - %77 = sext i32 %69 to i64 - %78 = tail call i32 @ompi_coll_base_sendrecv_actual(ptr noundef %67, i64 noundef range(i64 -2147483648, 2147483648) %77, ptr noundef nonnull %6, i32 noundef %.sink142, i32 noundef -11, ptr noundef %63, i64 noundef range(i64 -2147483648, 2147483648) %76, ptr noundef nonnull %6, i32 noundef %.sink142, i32 noundef -11, ptr noundef nonnull %7, ptr noundef null) #7 - br label %ompi_coll_base_sendrecv.exit - -ompi_coll_base_sendrecv.exit: ; preds = %73, %75 - %.0.i = phi i32 [ %74, %73 ], [ %78, %75 ] - %.not115 = icmp eq i32 %.0.i, 0 - br i1 %.not115, label %79, label %.loopexit - -79: ; preds = %ompi_coll_base_sendrecv.exit - %80 = ashr exact i32 %.val.val, 1 - %81 = icmp sgt i32 %80, 1 - br i1 %81, label %.lr.ph, label %.loopexit - -.lr.ph: ; preds = %79 - %82 = getelementptr inbounds nuw i8, ptr %13, i64 4 - %83 = getelementptr inbounds nuw i8, ptr %14, i64 4 - %84 = getelementptr inbounds nuw i8, ptr %15, i64 4 - %85 = getelementptr inbounds nuw i8, ptr %16, i64 4 - br label %86 - -86: ; preds = %.lr.ph, %133 - %.1128 = phi i32 [ %54, %.lr.ph ], [ %95, %133 ] - %.0102127 = phi i32 [ 1, %.lr.ph ], [ %136, %133 ] - %87 = and i32 %.0102127, 1 - %88 = zext nneg i32 %87 to i64 - %89 = getelementptr inbounds nuw [2 x i32], ptr %12, i64 0, i64 %88 - %90 = load i32, ptr %89, align 4 - %91 = getelementptr inbounds nuw [2 x i32], ptr %11, i64 0, i64 %88 - %92 = load i32, ptr %91, align 4 - %93 = add i32 %90, %.val.val - %94 = add i32 %93, %92 - %95 = srem i32 %94, %.val.val - store i32 %95, ptr %89, align 4 - %96 = sext i32 %.1128 to i64 - %97 = getelementptr inbounds i32, ptr %4, i64 %96 - %98 = load i32, ptr %97, align 4 - store i32 %98, ptr %13, align 4 - %99 = add nsw i32 %.1128, 1 - %100 = sext i32 %99 to i64 - %101 = getelementptr inbounds i32, ptr %4, i64 %100 - %102 = load i32, ptr %101, align 4 - store i32 %102, ptr %82, align 4 - %103 = getelementptr inbounds i32, ptr %5, i64 %96 - %104 = load i32, ptr %103, align 4 - store i32 %104, ptr %14, align 4 - %105 = getelementptr inbounds i32, ptr %5, i64 %100 - %106 = load i32, ptr %105, align 4 - store i32 %106, ptr %83, align 4 - %107 = call i32 @ompi_datatype_create_indexed(i32 noundef 2, ptr noundef nonnull %13, ptr noundef nonnull %14, ptr noundef %6, ptr noundef nonnull %18) #7 - %.not116 = icmp eq i32 %107, 0 - br i1 %.not116, label %108, label %.loopexit - -108: ; preds = %86 + %56 = getelementptr inbounds nuw i8, ptr %11, i64 4 + store i32 %.sink, ptr %56, align 4 + %57 = sext i32 %.sink142 to i64 + %58 = getelementptr inbounds i32, ptr %4, i64 %57 + %59 = load i32, ptr %58, align 4 + %60 = getelementptr inbounds i32, ptr %5, i64 %57 + %61 = load i32, ptr %60, align 4 + %62 = sext i32 %61 to i64 + %63 = mul nsw i64 %30, %62 + %64 = getelementptr inbounds i8, ptr %3, i64 %63 + %65 = getelementptr inbounds i32, ptr %4, i64 %31 + %66 = load i32, ptr %65, align 4 + %67 = load i32, ptr %32, align 4 + %68 = sext i32 %67 to i64 + %69 = mul nsw i64 %30, %68 + %70 = getelementptr inbounds i8, ptr %3, i64 %69 + %71 = sext i32 %59 to i64 + %72 = sext i32 %66 to i64 + %73 = tail call i32 @ompi_coll_base_sendrecv_actual(ptr noundef %70, i64 noundef range(i64 -2147483648, 2147483648) %72, ptr noundef nonnull %6, i32 noundef %.sink142, i32 noundef -11, ptr noundef %64, i64 noundef range(i64 -2147483648, 2147483648) %71, ptr noundef nonnull %6, i32 noundef %.sink142, i32 noundef -11, ptr noundef nonnull %7, ptr noundef null) #7 + %.not115 = icmp eq i32 %73, 0 + br i1 %.not115, label %74, label %.loopexit + +74: ; preds = %ompi_coll_base_sendrecv.exit + %75 = ashr exact i32 %.val.val, 1 + %76 = icmp sgt i32 %75, 1 + br i1 %76, label %.lr.ph, label %.loopexit + +.lr.ph: ; preds = %74 + %77 = getelementptr inbounds nuw i8, ptr %13, i64 4 + %78 = getelementptr inbounds nuw i8, ptr %14, i64 4 + %79 = getelementptr inbounds nuw i8, ptr %15, i64 4 + %80 = getelementptr inbounds nuw i8, ptr %16, i64 4 + br label %81 + +81: ; preds = %.lr.ph, %128 + %.1128 = phi i32 [ %53, %.lr.ph ], [ %90, %128 ] + %.0102127 = phi i32 [ 1, %.lr.ph ], [ %131, %128 ] + %82 = and i32 %.0102127, 1 + %83 = zext nneg i32 %82 to i64 + %84 = getelementptr inbounds nuw [2 x i32], ptr %12, i64 0, i64 %83 + %85 = load i32, ptr %84, align 4 + %86 = getelementptr inbounds nuw [2 x i32], ptr %11, i64 0, i64 %83 + %87 = load i32, ptr %86, align 4 + %88 = add i32 %85, %.val.val + %89 = add i32 %88, %87 + %90 = srem i32 %89, %.val.val + store i32 %90, ptr %84, align 4 + %91 = sext i32 %.1128 to i64 + %92 = getelementptr inbounds i32, ptr %4, i64 %91 + %93 = load i32, ptr %92, align 4 + store i32 %93, ptr %13, align 4 + %94 = add nsw i32 %.1128, 1 + %95 = sext i32 %94 to i64 + %96 = getelementptr inbounds i32, ptr %4, i64 %95 + %97 = load i32, ptr %96, align 4 + store i32 %97, ptr %77, align 4 + %98 = getelementptr inbounds i32, ptr %5, i64 %91 + %99 = load i32, ptr %98, align 4 + store i32 %99, ptr %14, align 4 + %100 = getelementptr inbounds i32, ptr %5, i64 %95 + %101 = load i32, ptr %100, align 4 + store i32 %101, ptr %78, align 4 + %102 = call i32 @ompi_datatype_create_indexed(i32 noundef 2, ptr noundef nonnull %13, ptr noundef nonnull %14, ptr noundef nonnull %6, ptr noundef nonnull %18) #7 + %.not116 = icmp eq i32 %102, 0 + br i1 %.not116, label %103, label %.loopexit + +103: ; preds = %81 %.val123 = load ptr, ptr %18, align 8 - %109 = call i32 @opal_datatype_commit(ptr noundef %.val123) #7 - %.not117 = icmp eq i32 %109, 0 - br i1 %.not117, label %110, label %.loopexit - -110: ; preds = %108 - %111 = sext i32 %95 to i64 - %112 = getelementptr inbounds i32, ptr %4, i64 %111 - %113 = load i32, ptr %112, align 4 - store i32 %113, ptr %15, align 4 - %114 = getelementptr i8, ptr %112, i64 4 - %115 = load i32, ptr %114, align 4 - store i32 %115, ptr %84, align 4 - %116 = getelementptr inbounds i32, ptr %5, i64 %111 - %117 = load i32, ptr %116, align 4 - store i32 %117, ptr %16, align 4 - %118 = getelementptr i8, ptr %116, i64 4 - %119 = load i32, ptr %118, align 4 - store i32 %119, ptr %85, align 4 - %120 = call i32 @ompi_datatype_create_indexed(i32 noundef 2, ptr noundef nonnull %15, ptr noundef nonnull %16, ptr noundef %6, ptr noundef nonnull %17) #7 - %.not118 = icmp eq i32 %120, 0 - br i1 %.not118, label %121, label %.loopexit - -121: ; preds = %110 + %104 = call i32 @opal_datatype_commit(ptr noundef %.val123) #7 + %.not117 = icmp eq i32 %104, 0 + br i1 %.not117, label %105, label %.loopexit + +105: ; preds = %103 + %106 = sext i32 %90 to i64 + %107 = getelementptr inbounds i32, ptr %4, i64 %106 + %108 = load i32, ptr %107, align 4 + store i32 %108, ptr %15, align 4 + %109 = getelementptr i8, ptr %107, i64 4 + %110 = load i32, ptr %109, align 4 + store i32 %110, ptr %79, align 4 + %111 = getelementptr inbounds i32, ptr %5, i64 %106 + %112 = load i32, ptr %111, align 4 + store i32 %112, ptr %16, align 4 + %113 = getelementptr i8, ptr %111, i64 4 + %114 = load i32, ptr %113, align 4 + store i32 %114, ptr %80, align 4 + %115 = call i32 @ompi_datatype_create_indexed(i32 noundef 2, ptr noundef nonnull %15, ptr noundef nonnull %16, ptr noundef nonnull %6, ptr noundef nonnull %17) #7 + %.not118 = icmp eq i32 %115, 0 + br i1 %.not118, label %116, label %.loopexit + +116: ; preds = %105 %.val122 = load ptr, ptr %17, align 8 - %122 = call i32 @opal_datatype_commit(ptr noundef %.val122) #7 - %.not119 = icmp eq i32 %122, 0 - br i1 %.not119, label %123, label %.loopexit - -123: ; preds = %121 - %124 = load ptr, ptr %18, align 8 - %125 = getelementptr inbounds nuw [2 x i32], ptr %10, i64 0, i64 %88 - %126 = load i32, ptr %125, align 4 - %127 = load ptr, ptr %17, align 8 - %128 = icmp eq i32 %126, %.val121 - br i1 %128, label %129, label %131 - -129: ; preds = %123 - %130 = call i32 @ompi_datatype_sndrcv(ptr noundef %3, i32 noundef 1, ptr noundef %124, ptr noundef %3, i32 noundef 1, ptr noundef %127) #7 + %117 = call i32 @opal_datatype_commit(ptr noundef %.val122) #7 + %.not119 = icmp eq i32 %117, 0 + br i1 %.not119, label %118, label %.loopexit + +118: ; preds = %116 + %119 = load ptr, ptr %18, align 8 + %120 = getelementptr inbounds nuw [2 x i32], ptr %10, i64 0, i64 %83 + %121 = load i32, ptr %120, align 4 + %122 = load ptr, ptr %17, align 8 + %123 = icmp eq i32 %121, %.val121 + br i1 %123, label %124, label %126 + +124: ; preds = %118 + %125 = call i32 @ompi_datatype_sndrcv(ptr noundef %3, i32 noundef 1, ptr noundef %119, ptr noundef %3, i32 noundef 1, ptr noundef %122) #7 br label %ompi_coll_base_sendrecv.exit125 -131: ; preds = %123 - %132 = call i32 @ompi_coll_base_sendrecv_actual(ptr noundef %3, i64 noundef 1, ptr noundef %124, i32 noundef %126, i32 noundef -11, ptr noundef %3, i64 noundef 1, ptr noundef %127, i32 noundef %126, i32 noundef -11, ptr noundef %7, ptr noundef null) #7 +126: ; preds = %118 + %127 = call i32 @ompi_coll_base_sendrecv_actual(ptr noundef %3, i64 noundef 1, ptr noundef %119, i32 noundef %121, i32 noundef -11, ptr noundef %3, i64 noundef 1, ptr noundef %122, i32 noundef %121, i32 noundef -11, ptr noundef nonnull %7, ptr noundef null) #7 br label %ompi_coll_base_sendrecv.exit125 -ompi_coll_base_sendrecv.exit125: ; preds = %129, %131 - %.0.i124 = phi i32 [ %130, %129 ], [ %132, %131 ] +ompi_coll_base_sendrecv.exit125: ; preds = %124, %126 + %.0.i124 = phi i32 [ %125, %124 ], [ %127, %126 ] %.not120 = icmp eq i32 %.0.i124, 0 - br i1 %.not120, label %133, label %.loopexit + br i1 %.not120, label %128, label %.loopexit -133: ; preds = %ompi_coll_base_sendrecv.exit125 - %134 = call i32 @ompi_datatype_destroy(ptr noundef nonnull %18) #7 - %135 = call i32 @ompi_datatype_destroy(ptr noundef nonnull %17) #7 - %136 = add nuw nsw i32 %.0102127, 1 - %exitcond.not = icmp eq i32 %136, %80 - br i1 %exitcond.not, label %.loopexit, label %86, !llvm.loop !10 +128: ; preds = %ompi_coll_base_sendrecv.exit125 + %129 = call i32 @ompi_datatype_destroy(ptr noundef nonnull %18) #7 + %130 = call i32 @ompi_datatype_destroy(ptr noundef nonnull %17) #7 + %131 = add nuw nsw i32 %.0102127, 1 + %exitcond.not = icmp eq i32 %131, %75 + br i1 %exitcond.not, label %.loopexit, label %81, !llvm.loop !10 -.loopexit: ; preds = %133, %ompi_coll_base_sendrecv.exit125, %121, %110, %108, %86, %79, %33, %ompi_coll_base_sendrecv.exit, %23 - %.0 = phi i32 [ %24, %23 ], [ %40, %33 ], [ %.0.i, %ompi_coll_base_sendrecv.exit ], [ 0, %79 ], [ 0, %133 ], [ %.0.i124, %ompi_coll_base_sendrecv.exit125 ], [ %122, %121 ], [ %120, %110 ], [ %109, %108 ], [ %107, %86 ] +.loopexit: ; preds = %128, %ompi_coll_base_sendrecv.exit125, %116, %105, %103, %81, %74, %33, %ompi_coll_base_sendrecv.exit, %23 + %.0 = phi i32 [ %24, %23 ], [ %40, %33 ], [ %73, %ompi_coll_base_sendrecv.exit ], [ 0, %74 ], [ 0, %128 ], [ %.0.i124, %ompi_coll_base_sendrecv.exit125 ], [ %117, %116 ], [ %115, %105 ], [ %104, %103 ], [ %102, %81 ] ret i32 %.0 } diff --git a/bench/openmpi/optimized/mpl_trmem.ll b/bench/openmpi/optimized/mpl_trmem.ll index a6cc02823a2..154d49e88cb 100644 --- a/bench/openmpi/optimized/mpl_trmem.ll +++ b/bench/openmpi/optimized/mpl_trmem.ll @@ -311,38 +311,34 @@ define internal fastcc ptr @trmalloc(i64 noundef %0, i64 noundef %1, i32 noundef %14 = alloca [6 x i64], align 16 %15 = alloca i64, align 8 %16 = icmp eq i64 %0, 0 - br i1 %16, label %.loopexit, label %17 + br i1 %16, label %is_valid_alignment.exit, label %17 17: ; preds = %5 %18 = and i64 %0, 7 %.not.i = icmp eq i64 %18, 0 - br i1 %.not.i, label %.preheader.i, label %is_valid_alignment.exit - -.preheader.i: ; preds = %17 - %.not12.i = icmp eq i64 %0, 1 - br i1 %.not12.i, label %.loopexit, label %.lr.ph.i + br i1 %.not.i, label %.lr.ph.i, label %is_valid_alignment.exit.thread 19: ; preds = %.lr.ph.i %20 = lshr exact i64 %.09.i, 1 %21 = icmp ugt i64 %.09.i, 2 - br i1 %21, label %.lr.ph.i, label %.loopexit, !llvm.loop !4 + br i1 %21, label %.lr.ph.i, label %is_valid_alignment.exit, !llvm.loop !4 -.lr.ph.i: ; preds = %.preheader.i, %19 - %.09.i = phi i64 [ %20, %19 ], [ %0, %.preheader.i ] +.lr.ph.i: ; preds = %17, %19 + %.09.i = phi i64 [ %20, %19 ], [ %0, %17 ] %22 = and i64 %.09.i, 1 %.not8.i = icmp eq i64 %22, 0 - br i1 %.not8.i, label %19, label %is_valid_alignment.exit + br i1 %.not8.i, label %19, label %is_valid_alignment.exit.thread -.loopexit: ; preds = %19, %5, %.preheader.i +is_valid_alignment.exit: ; preds = %19, %5 %.b83 = load i1, ptr @TRdebugLevel, align 4 br i1 %.b83, label %23, label %25 -23: ; preds = %.loopexit +23: ; preds = %is_valid_alignment.exit %24 = tail call i32 @MPL_trvalid2(ptr noundef nonnull @.str.29, i32 noundef %3, ptr noundef %4) %.not86 = icmp eq i32 %24, 0 - br i1 %.not86, label %25, label %is_valid_alignment.exit + br i1 %.not86, label %25, label %is_valid_alignment.exit.thread -25: ; preds = %23, %.loopexit +25: ; preds = %23, %is_valid_alignment.exit %.biased = add i64 %1, 7 %.076 = and i64 %.biased, -8 %26 = load volatile i64, ptr @allocated, align 8 @@ -359,14 +355,14 @@ define internal fastcc ptr @trmalloc(i64 noundef %0, i64 noundef %1, i32 noundef 32: ; preds = %30 %33 = load ptr, ptr @stderr, align 8 %34 = tail call i64 @fwrite(ptr nonnull @.str.30, i64 25, i64 1, ptr %33) #19 - br label %is_valid_alignment.exit + br label %is_valid_alignment.exit.thread 35: ; preds = %30, %25 %36 = add i64 %0, 168 %37 = add i64 %36, %.076 %38 = tail call noalias ptr @malloc(i64 noundef %37) #20 %.not89 = icmp eq ptr %38, null - br i1 %.not89, label %is_valid_alignment.exit, label %39 + br i1 %.not89, label %is_valid_alignment.exit.thread, label %39 39: ; preds = %35 %.b = load i1, ptr @TRSetBytes, align 4 @@ -411,7 +407,7 @@ define internal fastcc ptr @trmalloc(i64 noundef %0, i64 noundef %1, i32 noundef %59 = tail call i64 @fwrite(ptr nonnull @.str.15, i64 44, i64 1, ptr %58) #19 %60 = load ptr, ptr %51, align 8 tail call void @free(ptr noundef %60) #17 - br label %is_valid_alignment.exit + br label %is_valid_alignment.exit.thread 61: ; preds = %55 %62 = load volatile ptr, ptr getelementptr inbounds nuw (i8, ptr @TRhead, i64 8), align 8 @@ -626,9 +622,9 @@ define internal fastcc ptr @trmalloc(i64 noundef %0, i64 noundef %1, i32 noundef %176 = call i64 asm sideeffect "rolq $$3, %rdi ; rolq $$13, %rdi\0A\09rolq $$61, %rdi ; rolq $$51, %rdi\0A\09xchgq %rbx,%rbx", "={dx},{ax},0,~{cc},~{memory},~{dirflag},~{fpsr},~{flags}"(ptr nonnull %14, i64 0) #17, !srcloc !10 store volatile i64 %176, ptr %15, align 8 %.0..0..0..0. = load volatile i64, ptr %15, align 8 - br label %is_valid_alignment.exit + br label %is_valid_alignment.exit.thread -is_valid_alignment.exit: ; preds = %.lr.ph.i, %17, %35, %23, %154, %57, %32 +is_valid_alignment.exit.thread: ; preds = %.lr.ph.i, %17, %35, %23, %154, %57, %32 %.075 = phi ptr [ null, %23 ], [ null, %32 ], [ null, %57 ], [ %53, %154 ], [ null, %35 ], [ null, %17 ], [ null, %.lr.ph.i ] ret ptr %.075 } diff --git a/bench/openspiel/optimized/cards.cc.ll b/bench/openspiel/optimized/cards.cc.ll index 8adf8c678f0..87853628b0e 100644 --- a/bench/openspiel/optimized/cards.cc.ll +++ b/bench/openspiel/optimized/cards.cc.ll @@ -4936,9 +4936,9 @@ _ZNSt12_Vector_baseISt6vectorIlSaIlEESaIS2_EE11_M_allocateEm.exit.i: ; preds = % %42 = getelementptr inbounds nuw i8, ptr %5, i64 16 %43 = mul nuw nsw i64 %39, 24 %44 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %43) #19 - to label %.lr.ph unwind label %104 + to label %_ZSt7advanceIN9__gnu_cxx17__normal_iteratorIPlSt6vectorIlSaIlEEEEiEvRT_T0_.exit.lr.ph unwind label %104 -.lr.ph: ; preds = %_ZNSt12_Vector_baseISt6vectorIlSaIlEESaIS2_EE11_M_allocateEm.exit.i +_ZSt7advanceIN9__gnu_cxx17__normal_iteratorIPlSt6vectorIlSaIlEEEEiEvRT_T0_.exit.lr.ph: ; preds = %_ZNSt12_Vector_baseISt6vectorIlSaIlEESaIS2_EE11_M_allocateEm.exit.i %45 = getelementptr inbounds nuw i8, ptr %5, i64 8 store ptr %44, ptr %5, align 8 store ptr %44, ptr %45, align 8 @@ -4951,10 +4951,10 @@ _ZNSt12_Vector_baseISt6vectorIlSaIlEESaIS2_EE11_M_allocateEm.exit.i: ; preds = % %51 = call i32 @llvm.umax.i32(i32 %1, i32 1) br label %_ZSt7advanceIN9__gnu_cxx17__normal_iteratorIPlSt6vectorIlSaIlEEEEiEvRT_T0_.exit -_ZSt7advanceIN9__gnu_cxx17__normal_iteratorIPlSt6vectorIlSaIlEEEEiEvRT_T0_.exit: ; preds = %.lr.ph, %_ZNSt6vectorIlSaIlEED2Ev.exit - %.019102 = phi i32 [ 0, %.lr.ph ], [ %103, %_ZNSt6vectorIlSaIlEED2Ev.exit ] - %.sroa.0.0101 = phi ptr [ %30, %.lr.ph ], [ %52, %_ZNSt6vectorIlSaIlEED2Ev.exit ] - %.sroa.070.0100 = phi ptr [ %30, %.lr.ph ], [ %96, %_ZNSt6vectorIlSaIlEED2Ev.exit ] +_ZSt7advanceIN9__gnu_cxx17__normal_iteratorIPlSt6vectorIlSaIlEEEEiEvRT_T0_.exit: ; preds = %_ZSt7advanceIN9__gnu_cxx17__normal_iteratorIPlSt6vectorIlSaIlEEEEiEvRT_T0_.exit.lr.ph, %_ZNSt6vectorIlSaIlEED2Ev.exit + %.019102 = phi i32 [ 0, %_ZSt7advanceIN9__gnu_cxx17__normal_iteratorIPlSt6vectorIlSaIlEEEEiEvRT_T0_.exit.lr.ph ], [ %103, %_ZNSt6vectorIlSaIlEED2Ev.exit ] + %.sroa.0.0101 = phi ptr [ %30, %_ZSt7advanceIN9__gnu_cxx17__normal_iteratorIPlSt6vectorIlSaIlEEEEiEvRT_T0_.exit.lr.ph ], [ %52, %_ZNSt6vectorIlSaIlEED2Ev.exit ] + %.sroa.070.0100 = phi ptr [ %30, %_ZSt7advanceIN9__gnu_cxx17__normal_iteratorIPlSt6vectorIlSaIlEEEEiEvRT_T0_.exit.lr.ph ], [ %97, %_ZNSt6vectorIlSaIlEED2Ev.exit ] %52 = getelementptr inbounds nuw i64, ptr %.sroa.0.0101, i64 %47 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %6, i8 0, i64 24, i1 false) %53 = ptrtoint ptr %52 to i64 @@ -4998,16 +4998,16 @@ _ZNSt12_Vector_baseIlSaIlEE11_M_allocateEm.exit.thread.i.i34: ; preds = %_ZNSt6v 62: ; preds = %57 %lpad.loopexit.split-lp = landingpad { ptr, i32 } cleanup - %.pre = load ptr, ptr %6, align 8 - %.not.i.i6.i31 = icmp eq ptr %.pre, null + %.pre109 = load ptr, ptr %6, align 8 + %.not.i.i6.i31 = icmp eq ptr %.pre109, null br i1 %.not.i.i6.i31, label %.body36, label %63 63: ; preds = %62 %64 = load ptr, ptr %48, align 8 %65 = ptrtoint ptr %64 to i64 - %66 = ptrtoint ptr %.pre to i64 + %66 = ptrtoint ptr %.pre109 to i64 %67 = sub i64 %65, %66 - call void @_ZdlPvm(ptr noundef nonnull %.pre, i64 noundef %67) #21 + call void @_ZdlPvm(ptr noundef nonnull %.pre109, i64 noundef %67) #21 br label %.body36 68: ; preds = %.noexc5.i33, %_ZNSt12_Vector_baseIlSaIlEE11_M_allocateEm.exit.thread.i.i34 @@ -5078,20 +5078,24 @@ _ZNSt16allocator_traitsISaISt6vectorIlSaIlEEEE9constructIS2_JRKS2_EEEvRS3_PT_DpO 95: ; preds = %_ZSt4sortIN9__gnu_cxx17__normal_iteratorIPlSt6vectorIlSaIlEEEEEvT_S7_.exit invoke void @_ZNSt6vectorIS_IlSaIlEESaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr %71, ptr noundef nonnull align 8 dereferenceable(24) %6) - to label %_ZNSt6vectorIS_IlSaIlEESaIS1_EE9push_backERKS1_.exit unwind label %.loopexit85 + to label %._ZNSt6vectorIS_IlSaIlEESaIS1_EE9push_backERKS1_.exit_crit_edge unwind label %.loopexit85 + +._ZNSt6vectorIS_IlSaIlEESaIS1_EE9push_backERKS1_.exit_crit_edge: ; preds = %95 + %.pre = load ptr, ptr %6, align 8 + br label %_ZNSt6vectorIS_IlSaIlEESaIS1_EE9push_backERKS1_.exit -_ZNSt6vectorIS_IlSaIlEESaIS1_EE9push_backERKS1_.exit: ; preds = %_ZNSt16allocator_traitsISaISt6vectorIlSaIlEEEE9constructIS2_JRKS2_EEEvRS3_PT_DpOT0_.exit.i, %95 - %96 = getelementptr inbounds nuw i64, ptr %.sroa.070.0100, i64 %47 - %97 = load ptr, ptr %6, align 8 - %.not.i.i.i48 = icmp eq ptr %97, null +_ZNSt6vectorIS_IlSaIlEESaIS1_EE9push_backERKS1_.exit: ; preds = %._ZNSt6vectorIS_IlSaIlEESaIS1_EE9push_backERKS1_.exit_crit_edge, %_ZNSt16allocator_traitsISaISt6vectorIlSaIlEEEE9constructIS2_JRKS2_EEEvRS3_PT_DpOT0_.exit.i + %96 = phi ptr [ %.pre, %._ZNSt6vectorIS_IlSaIlEESaIS1_EE9push_backERKS1_.exit_crit_edge ], [ %86, %_ZNSt16allocator_traitsISaISt6vectorIlSaIlEEEE9constructIS2_JRKS2_EEEvRS3_PT_DpOT0_.exit.i ] + %97 = getelementptr inbounds nuw i64, ptr %.sroa.070.0100, i64 %47 + %.not.i.i.i48 = icmp eq ptr %96, null br i1 %.not.i.i.i48, label %_ZNSt6vectorIlSaIlEED2Ev.exit, label %98 98: ; preds = %_ZNSt6vectorIS_IlSaIlEESaIS1_EE9push_backERKS1_.exit %99 = load ptr, ptr %48, align 8 %100 = ptrtoint ptr %99 to i64 - %101 = ptrtoint ptr %97 to i64 + %101 = ptrtoint ptr %96 to i64 %102 = sub i64 %100, %101 - call void @_ZdlPvm(ptr noundef nonnull %97, i64 noundef %102) #21 + call void @_ZdlPvm(ptr noundef nonnull %96, i64 noundef %102) #21 br label %_ZNSt6vectorIlSaIlEED2Ev.exit _ZNSt6vectorIlSaIlEED2Ev.exit: ; preds = %_ZNSt6vectorIS_IlSaIlEESaIS1_EE9push_backERKS1_.exit, %98 diff --git a/bench/openssl/optimized/libcrypto-lib-conf_def.ll b/bench/openssl/optimized/libcrypto-lib-conf_def.ll index 6582d6bccba..af63a24f604 100644 --- a/bench/openssl/optimized/libcrypto-lib-conf_def.ll +++ b/bench/openssl/optimized/libcrypto-lib-conf_def.ll @@ -189,34 +189,34 @@ if.then11: ; preds = %if.end8 br label %err if.then14: ; preds = %for.cond.outer, %if.end328, %for.cond.backedge - %biosk.1.ph361.lcssa464 = phi ptr [ %biosk.1.ph361500, %for.cond.backedge ], [ %biosk.2, %if.end328 ], [ %biosk.1.ph, %for.cond.outer ] + %biosk.1.ph361.lcssa465 = phi ptr [ %biosk.1.ph361501, %for.cond.backedge ], [ %biosk.2, %if.end328 ], [ %biosk.1.ph, %for.cond.outer ] %eline.1.lcssa = phi i64 [ %eline.2, %for.cond.backedge ], [ %eline.2, %if.end328 ], [ %eline.1.ph, %for.cond.outer ] - %in.addr.1.lcssa = phi ptr [ %.us-phi479695, %for.cond.backedge ], [ %in.addr.3, %if.end328 ], [ %in.addr.1.ph, %for.cond.outer ] + %in.addr.1.lcssa = phi ptr [ %.us-phi480697, %for.cond.backedge ], [ %in.addr.3, %if.end328 ], [ %in.addr.1.ph, %for.cond.outer ] call void @ERR_new() #13 call void @ERR_set_debug(ptr noundef nonnull @.str.1, i32 noundef 257, ptr noundef nonnull @__func__.def_load_bio) #13 call void (i32, i32, ptr, ...) @ERR_set_error(i32 noundef 14, i32 noundef 524295, ptr noundef null) #13 br label %err if.end15: ; preds = %if.end15.lr.ph, %for.cond.backedge - %in.addr.1489 = phi ptr [ %in.addr.1.ph362501, %if.end15.lr.ph ], [ %.us-phi479695, %for.cond.backedge ] - %bufnum.0488 = phi i32 [ 0, %if.end15.lr.ph ], [ %bufnum.0.be, %for.cond.backedge ] - %eline.1486 = phi i64 [ %eline.1.ph360499, %if.end15.lr.ph ], [ %eline.2, %for.cond.backedge ] - %1 = phi i1 [ %.ph359498, %if.end15.lr.ph ], [ false, %for.cond.backedge ] - %tobool47485 = phi i1 [ false, %if.end15.lr.ph ], [ %tobool113.not701, %for.cond.backedge ] + %in.addr.1490 = phi ptr [ %in.addr.1.ph362502, %if.end15.lr.ph ], [ %.us-phi480697, %for.cond.backedge ] + %bufnum.0489 = phi i32 [ 0, %if.end15.lr.ph ], [ %bufnum.0.be, %for.cond.backedge ] + %eline.1487 = phi i64 [ %eline.1.ph360500, %if.end15.lr.ph ], [ %eline.2, %for.cond.backedge ] + %1 = phi i1 [ %.ph359499, %if.end15.lr.ph ], [ false, %for.cond.backedge ] + %tobool47486 = phi i1 [ false, %if.end15.lr.ph ], [ %tobool113.not703, %for.cond.backedge ] %2 = load ptr, ptr %data16, align 8 - %idxprom = sext i32 %bufnum.0488 to i64 + %idxprom = sext i32 %bufnum.0489 to i64 %arrayidx = getelementptr inbounds i8, ptr %2, i64 %idxprom store i8 0, ptr %arrayidx, align 1 %arrayidx24 = getelementptr inbounds nuw i8, ptr %arrayidx, i64 511 %add.ptr = getelementptr inbounds nuw i8, ptr %arrayidx, i64 3 - br i1 %tobool47485, label %if.end15.split.us, label %read_retry + br i1 %tobool47486, label %if.end15.split.us, label %read_retry if.end15.split.us: ; preds = %if.end15 - %cmp17.not.us = icmp eq ptr %in.addr.1489, null + %cmp17.not.us = icmp eq ptr %in.addr.1490, null br i1 %cmp17.not.us, label %if.end23.us, label %land.lhs.true.us land.lhs.true.us: ; preds = %if.end15.split.us - %call19.us = call i32 @BIO_gets(ptr noundef nonnull %in.addr.1489, ptr noundef nonnull %arrayidx, i32 noundef 511) #13 + %call19.us = call i32 @BIO_gets(ptr noundef nonnull %in.addr.1490, ptr noundef nonnull %arrayidx, i32 noundef 511) #13 %cmp20.us = icmp slt i32 %call19.us, 0 br i1 %cmp20.us, label %err, label %if.end23.us @@ -248,7 +248,7 @@ if.end43.us: ; preds = %if.then35.us, %land read_retry: ; preds = %if.end15, %read_retry.backedge %first_call.1 = phi i1 [ false, %read_retry.backedge ], [ %1, %if.end15 ] - %in.addr.2 = phi ptr [ %in.addr.2.be, %read_retry.backedge ], [ %in.addr.1489, %if.end15 ] + %in.addr.2 = phi ptr [ %in.addr.2.be, %read_retry.backedge ], [ %in.addr.1490, %if.end15 ] %cmp17.not = icmp eq ptr %in.addr.2, null br i1 %cmp17.not, label %if.end23, label %land.lhs.true @@ -284,18 +284,18 @@ if.end43: ; preds = %if.then35, %if.end2 br i1 %cmp44.not, label %if.then48, label %while.cond.preheader while.cond.preheader: ; preds = %if.end43, %if.end43.us - %.us-phi477 = phi i32 [ %i.0.us, %if.end43.us ], [ %i.0, %if.end43 ] - %.us-phi478 = phi i1 [ %cmp44.us, %if.end43.us ], [ true, %if.end43 ] - %.us-phi479 = phi ptr [ %in.addr.1489, %if.end43.us ], [ %in.addr.2, %if.end43 ] - %cmp65480 = icmp sgt i32 %.us-phi477, 0 - br i1 %cmp65480, label %while.body.preheader, label %while.end + %.us-phi478 = phi i32 [ %i.0.us, %if.end43.us ], [ %i.0, %if.end43 ] + %.us-phi479 = phi i1 [ %cmp44.us, %if.end43.us ], [ true, %if.end43 ] + %.us-phi480 = phi ptr [ %in.addr.1490, %if.end43.us ], [ %in.addr.2, %if.end43 ] + %cmp65481 = icmp sgt i32 %.us-phi478, 0 + br i1 %cmp65481, label %while.body.preheader, label %while.end while.body.preheader: ; preds = %land.lhs.true31, %while.cond.preheader - %.us-phi479696 = phi ptr [ %.us-phi479, %while.cond.preheader ], [ %in.addr.2, %land.lhs.true31 ] - %.us-phi478694 = phi i1 [ %.us-phi478, %while.cond.preheader ], [ true, %land.lhs.true31 ] - %.us-phi477692 = phi i32 [ %.us-phi477, %while.cond.preheader ], [ %conv26, %land.lhs.true31 ] - %invariant.gep697 = getelementptr i8, ptr %arrayidx, i64 -1 - %3 = zext nneg i32 %.us-phi477692 to i64 + %.us-phi480698 = phi ptr [ %.us-phi480, %while.cond.preheader ], [ %in.addr.2, %land.lhs.true31 ] + %.us-phi479696 = phi i1 [ %.us-phi479, %while.cond.preheader ], [ true, %land.lhs.true31 ] + %.us-phi478694 = phi i32 [ %.us-phi478, %while.cond.preheader ], [ %conv26, %land.lhs.true31 ] + %invariant.gep699 = getelementptr i8, ptr %arrayidx, i64 -1 + %3 = zext nneg i32 %.us-phi478694 to i64 br label %while.body if.then48: ; preds = %if.end43 @@ -320,13 +320,13 @@ if.else: ; preds = %if.then51 br label %if.end57 if.end57: ; preds = %if.else, %if.then48 - %call59 = call ptr @OPENSSL_sk_pop(ptr noundef %biosk.1.ph361500) #13 + %call59 = call ptr @OPENSSL_sk_pop(ptr noundef %biosk.1.ph361501) #13 %cmp60 = icmp eq ptr %call59, null br i1 %cmp60, label %for.end, label %read_retry.backedge while.body: ; preds = %while.body.preheader, %if.else81 %indvars.iv = phi i64 [ %3, %while.body.preheader ], [ %indvars.iv.next, %if.else81 ] - %gep = getelementptr i8, ptr %invariant.gep697, i64 %indvars.iv + %gep = getelementptr i8, ptr %invariant.gep699, i64 %indvars.iv %6 = load i8, ptr %gep, align 1 switch i8 %6, label %while.end.loopexit.split.loop.exit [ i8 13, label %if.else81 @@ -343,24 +343,24 @@ while.end.loopexit.split.loop.exit: ; preds = %while.body br label %while.end while.end: ; preds = %if.else81, %while.end.loopexit.split.loop.exit, %while.cond.preheader - %.us-phi479695 = phi ptr [ %.us-phi479, %while.cond.preheader ], [ %.us-phi479696, %while.end.loopexit.split.loop.exit ], [ %.us-phi479696, %if.else81 ] - %.us-phi478693 = phi i1 [ %.us-phi478, %while.cond.preheader ], [ %.us-phi478694, %while.end.loopexit.split.loop.exit ], [ %.us-phi478694, %if.else81 ] - %.us-phi477691 = phi i32 [ %.us-phi477, %while.cond.preheader ], [ %.us-phi477692, %while.end.loopexit.split.loop.exit ], [ %.us-phi477692, %if.else81 ] - %i.2.lcssa = phi i32 [ %.us-phi477, %while.cond.preheader ], [ %7, %while.end.loopexit.split.loop.exit ], [ 0, %if.else81 ] - %cmp85 = icmp eq i32 %i.2.lcssa, %.us-phi477691 - %or.cond183 = and i1 %.us-phi478693, %cmp85 + %.us-phi480697 = phi ptr [ %.us-phi480, %while.cond.preheader ], [ %.us-phi480698, %while.end.loopexit.split.loop.exit ], [ %.us-phi480698, %if.else81 ] + %.us-phi479695 = phi i1 [ %.us-phi479, %while.cond.preheader ], [ %.us-phi479696, %while.end.loopexit.split.loop.exit ], [ %.us-phi479696, %if.else81 ] + %.us-phi478693 = phi i32 [ %.us-phi478, %while.cond.preheader ], [ %.us-phi478694, %while.end.loopexit.split.loop.exit ], [ %.us-phi478694, %if.else81 ] + %i.2.lcssa = phi i32 [ %.us-phi478, %while.cond.preheader ], [ %7, %while.end.loopexit.split.loop.exit ], [ 0, %if.else81 ] + %cmp85 = icmp eq i32 %i.2.lcssa, %.us-phi478693 + %or.cond183 = and i1 %.us-phi479695, %cmp85 br i1 %or.cond183, label %if.end91, label %if.else88 if.else88: ; preds = %while.end %idxprom89 = sext i32 %i.2.lcssa to i64 %arrayidx90 = getelementptr inbounds i8, ptr %arrayidx, i64 %idxprom89 store i8 0, ptr %arrayidx90, align 1 - %inc = add nsw i64 %eline.1486, 1 + %inc = add nsw i64 %eline.1487, 1 br label %if.end91 if.end91: ; preds = %while.end, %if.else88 - %eline.2 = phi i64 [ %inc, %if.else88 ], [ %eline.1486, %while.end ] - %add92 = add nsw i32 %i.2.lcssa, %bufnum.0488 + %eline.2 = phi i64 [ %inc, %if.else88 ], [ %eline.1487, %while.end ] + %add92 = add nsw i32 %i.2.lcssa, %bufnum.0489 %cmp93 = icmp sgt i32 %add92, 0 br i1 %cmp93, label %if.then95, label %if.end112 @@ -410,8 +410,8 @@ if.end112: ; preds = %if.then95, %is_keyt if.end115: ; preds = %if.end112 %18 = load ptr, ptr %data16, align 8 %19 = load i8, ptr %18, align 1 - %cmp.i133.i = icmp slt i8 %19, 0 - br i1 %cmp.i133.i, label %for.cond5.i.preheader, label %is_keytype.exit.lr.ph.i + %cmp.i134.i = icmp slt i8 %19, 0 + br i1 %cmp.i134.i, label %for.cond5.i.preheader, label %is_keytype.exit.lr.ph.i is_keytype.exit.lr.ph.i: ; preds = %if.end115 %20 = load ptr, ptr %meth_data.i, align 8 @@ -419,7 +419,7 @@ is_keytype.exit.lr.ph.i: ; preds = %if.end115 is_keytype.exit.i: ; preds = %if.end4.i, %is_keytype.exit.lr.ph.i %21 = phi i8 [ %19, %is_keytype.exit.lr.ph.i ], [ %26, %if.end4.i ] - %p.addr.0134.i = phi ptr [ %18, %is_keytype.exit.lr.ph.i ], [ %incdec.ptr.i, %if.end4.i ] + %p.addr.0135.i = phi ptr [ %18, %is_keytype.exit.lr.ph.i ], [ %incdec.ptr.i, %if.end4.i ] %idxprom.i.i = zext nneg i8 %21 to i64 %arrayidx.i.i = getelementptr inbounds nuw i16, ptr %20, i64 %idxprom.i.i %22 = load i16, ptr %arrayidx.i.i, align 2 @@ -433,14 +433,14 @@ if.end.i26.i: ; preds = %is_keytype.exit.i br i1 %25, label %for.cond5.i.preheader, label %if.end4.i if.end4.i: ; preds = %if.end.i26.i - %incdec.ptr.i = getelementptr inbounds nuw i8, ptr %p.addr.0134.i, i64 1 + %incdec.ptr.i = getelementptr inbounds nuw i8, ptr %p.addr.0135.i, i64 1 %26 = load i8, ptr %incdec.ptr.i, align 1 %cmp.i.i = icmp slt i8 %26, 0 br i1 %cmp.i.i, label %for.cond5.i.preheader, label %is_keytype.exit.i for.cond5.i.preheader: ; preds = %if.end4.i, %if.end.i26.i, %if.end115 %.ph = phi i8 [ %19, %if.end115 ], [ %21, %if.end.i26.i ], [ %26, %if.end4.i ] - %p.addr.1.i.ph = phi ptr [ %18, %if.end115 ], [ %p.addr.0134.i, %if.end.i26.i ], [ %incdec.ptr.i, %if.end4.i ] + %p.addr.1.i.ph = phi ptr [ %18, %if.end115 ], [ %p.addr.0135.i, %if.end.i26.i ], [ %incdec.ptr.i, %if.end4.i ] br label %for.cond5.i for.cond5.i: ; preds = %for.cond5.i.preheader, %for.cond5.backedge.i @@ -514,7 +514,7 @@ while.cond.i68.i: ; preds = %is_keytype.exit66.i %p.addr.0.i70.i = getelementptr inbounds nuw i8, ptr %p.pn.i69.i, i64 1 %37 = load i8, ptr %p.addr.0.i70.i, align 1 %cmp.i.i71.i = icmp slt i8 %37, 0 - br i1 %cmp.i.i71.i, label %land.rhs.i.i, label %is_keytype.exit.i72.i + br i1 %cmp.i.i71.i, label %while.cond.i68.i.backedge, label %is_keytype.exit.i72.i is_keytype.exit.i72.i: ; preds = %while.cond.i68.i %idxprom.i.i73.i = zext nneg i8 %37 to i64 @@ -526,10 +526,6 @@ is_keytype.exit.i72.i: ; preds = %while.cond.i68.i %or.cond.i.i = or i1 %cmp.not37.i.i, %tobool.not.i75.i br i1 %or.cond.i.i, label %while.end.i.i, label %is_keytype.exit24.i.i -land.rhs.i.i: ; preds = %while.cond.i68.i - %cmp.not.i.i = icmp eq i8 %37, %27 - br i1 %cmp.not.i.i, label %while.end.i.i, label %while.cond.i68.i.backedge - is_keytype.exit24.i.i: ; preds = %is_keytype.exit.i72.i %40 = and i16 %38, 32 %tobool4.not.i.i = icmp eq i16 %40, 0 @@ -549,15 +545,13 @@ is_keytype.exit34.i.i: ; preds = %if.then.i76.i %tobool7.not.i.i = icmp eq i16 %43, 0 br i1 %tobool7.not.i.i, label %while.cond.i68.i.backedge, label %for.cond5.backedge.i -while.cond.i68.i.backedge: ; preds = %is_keytype.exit34.i.i, %if.then.i76.i, %is_keytype.exit24.i.i, %land.rhs.i.i - %p.pn.i69.i.be = phi ptr [ %incdec.ptr5.i.i, %is_keytype.exit34.i.i ], [ %p.addr.0.i70.i, %is_keytype.exit24.i.i ], [ %p.addr.0.i70.i, %land.rhs.i.i ], [ %incdec.ptr5.i.i, %if.then.i76.i ] +while.cond.i68.i.backedge: ; preds = %is_keytype.exit34.i.i, %if.then.i76.i, %is_keytype.exit24.i.i, %while.cond.i68.i + %p.pn.i69.i.be = phi ptr [ %incdec.ptr5.i.i, %is_keytype.exit34.i.i ], [ %p.addr.0.i70.i, %is_keytype.exit24.i.i ], [ %incdec.ptr5.i.i, %if.then.i76.i ], [ %p.addr.0.i70.i, %while.cond.i68.i ] br label %while.cond.i68.i, !llvm.loop !7 -while.end.i.i: ; preds = %land.rhs.i.i, %is_keytype.exit.i72.i - %.lcssa.i79.i = phi i8 [ %37, %is_keytype.exit.i72.i ], [ %27, %land.rhs.i.i ] - %cmp12.i.i = icmp eq i8 %.lcssa.i79.i, %27 +while.end.i.i: ; preds = %is_keytype.exit.i72.i %incdec.ptr15.i.i = getelementptr inbounds nuw i8, ptr %p.pn.i69.i, i64 2 - %spec.select.i80.i = select i1 %cmp12.i.i, ptr %incdec.ptr15.i.i, ptr %p.addr.0.i70.i + %spec.select.i80.i = select i1 %cmp.not37.i.i, ptr %incdec.ptr15.i.i, ptr %p.addr.0.i70.i br label %for.cond5.backedge.i is_keytype.exit90.i: ; preds = %is_keytype.exit66.i @@ -596,7 +590,7 @@ if.else.i: ; preds = %is_keytype.exit110. br label %for.cond5.backedge.i return.sink.split.i: ; preds = %is_keytype.exit.i, %is_keytype.exit44.i - %p.addr.1.lcssa.sink.i = phi ptr [ %p.addr.1.i, %is_keytype.exit44.i ], [ %p.addr.0134.i, %is_keytype.exit.i ] + %p.addr.1.lcssa.sink.i = phi ptr [ %p.addr.1.i, %is_keytype.exit44.i ], [ %p.addr.0135.i, %is_keytype.exit.i ] store i8 0, ptr %p.addr.1.lcssa.sink.i, align 1 %.pre = load i8, ptr %18, align 1 br label %clear_comments.exit @@ -663,17 +657,17 @@ eat_ws.exit227: ; preds = %is_keytype.exit.i21 br label %again127 again127: ; preds = %land.lhs.true137, %eat_ws.exit227 - %.pr344676 = phi i8 [ %.pr344677, %land.lhs.true137 ], [ %.pr339, %eat_ws.exit227 ] - %.pr340670 = phi i8 [ %.pr340671, %land.lhs.true137 ], [ %.pr339, %eat_ws.exit227 ] + %.pr344678 = phi i8 [ %.pr344679, %land.lhs.true137 ], [ %.pr339, %eat_ws.exit227 ] + %.pr340672 = phi i8 [ %.pr340673, %land.lhs.true137 ], [ %.pr339, %eat_ws.exit227 ] %ss.0 = phi ptr [ %p.addr.0.lcssa.i248, %land.lhs.true137 ], [ %p.addr.0.lcssa.i223, %eat_ws.exit227 ] - %cmp.i56.i228 = icmp slt i8 %.pr340670, 0 + %cmp.i56.i228 = icmp slt i8 %.pr340672, 0 br i1 %cmp.i56.i228, label %eat_ws.exit252, label %is_keytype.exit.i230 is_keytype.exit.i230: ; preds = %again127, %for.cond.backedge.i - %.pr344674 = phi i8 [ %65, %for.cond.backedge.i ], [ %.pr344676, %again127 ] - %.pr340673 = phi i8 [ %65, %for.cond.backedge.i ], [ %.pr340670, %again127 ] + %.pr344676 = phi i8 [ %65, %for.cond.backedge.i ], [ %.pr344678, %again127 ] + %.pr340675 = phi i8 [ %65, %for.cond.backedge.i ], [ %.pr340672, %again127 ] %p.addr.057.i = phi ptr [ %p.addr.0.be.i, %for.cond.backedge.i ], [ %ss.0, %again127 ] - %idxprom.i.i231 = zext nneg i8 %.pr340673 to i64 + %idxprom.i.i231 = zext nneg i8 %.pr340675 to i64 %arrayidx.i.i232 = getelementptr inbounds nuw i16, ptr %50, i64 %idxprom.i.i231 %60 = load i16, ptr %arrayidx.i.i232, align 2 %61 = and i16 %60, 32 @@ -725,12 +719,12 @@ if.end10.i: ; preds = %lor.lhs.false.threa br label %for.cond.backedge.i is_keytype.exit.lr.ph.i241: ; preds = %lor.lhs.false.thread.i - %idxprom.i.i2451074 = zext nneg i8 %.pr340673 to i64 - %arrayidx.i.i2461075 = getelementptr inbounds nuw i16, ptr %50, i64 %idxprom.i.i2451074 - %68 = load i16, ptr %arrayidx.i.i2461075, align 2 + %idxprom.i.i2451078 = zext nneg i8 %.pr340675 to i64 + %arrayidx.i.i2461079 = getelementptr inbounds nuw i16, ptr %50, i64 %idxprom.i.i2451078 + %68 = load i16, ptr %arrayidx.i.i2461079, align 2 %69 = and i16 %68, 24 - %or.cond.i2471076 = icmp eq i16 %69, 16 - br i1 %or.cond.i2471076, label %while.body.i249, label %eat_ws.exit252 + %or.cond.i2471080 = icmp eq i16 %69, 16 + br i1 %or.cond.i2471080, label %while.body.i249, label %eat_ws.exit252 is_keytype.exit.i243: ; preds = %while.body.i249 %idxprom.i.i245 = zext nneg i8 %72 to i64 @@ -741,18 +735,18 @@ is_keytype.exit.i243: ; preds = %while.body.i249 br i1 %or.cond.i247, label %while.body.i249, label %eat_ws.exit252, !llvm.loop !8 while.body.i249: ; preds = %is_keytype.exit.lr.ph.i241, %is_keytype.exit.i243 - %p.addr.018.i2441077 = phi ptr [ %incdec.ptr.i250, %is_keytype.exit.i243 ], [ %p.addr.057.i, %is_keytype.exit.lr.ph.i241 ] - %incdec.ptr.i250 = getelementptr inbounds nuw i8, ptr %p.addr.018.i2441077, i64 1 + %p.addr.018.i2441081 = phi ptr [ %incdec.ptr.i250, %is_keytype.exit.i243 ], [ %p.addr.057.i, %is_keytype.exit.lr.ph.i241 ] + %incdec.ptr.i250 = getelementptr inbounds nuw i8, ptr %p.addr.018.i2441081, i64 1 %72 = load i8, ptr %incdec.ptr.i250, align 1 %cmp.i.i251 = icmp slt i8 %72, 0 br i1 %cmp.i.i251, label %eat_ws.exit252, label %is_keytype.exit.i243, !llvm.loop !8 eat_ws.exit252: ; preds = %for.cond.backedge.i, %is_keytype.exit.i243, %while.body.i249, %is_keytype.exit.lr.ph.i241, %again127 - %.pr344677 = phi i8 [ %.pr344676, %again127 ], [ %.pr344674, %is_keytype.exit.lr.ph.i241 ], [ %72, %while.body.i249 ], [ %72, %is_keytype.exit.i243 ], [ %65, %for.cond.backedge.i ] - %.pr340671 = phi i8 [ %.pr340670, %again127 ], [ %.pr344674, %is_keytype.exit.lr.ph.i241 ], [ %72, %while.body.i249 ], [ %72, %is_keytype.exit.i243 ], [ %65, %for.cond.backedge.i ] + %.pr344679 = phi i8 [ %.pr344678, %again127 ], [ %.pr344676, %is_keytype.exit.lr.ph.i241 ], [ %72, %while.body.i249 ], [ %72, %is_keytype.exit.i243 ], [ %65, %for.cond.backedge.i ] + %.pr340673 = phi i8 [ %.pr340672, %again127 ], [ %.pr344676, %is_keytype.exit.lr.ph.i241 ], [ %72, %while.body.i249 ], [ %72, %is_keytype.exit.i243 ], [ %65, %for.cond.backedge.i ] %p.addr.0.lcssa.i237343 = phi ptr [ %ss.0, %again127 ], [ %p.addr.057.i, %is_keytype.exit.lr.ph.i241 ], [ %p.addr.057.i, %while.body.i249 ], [ %p.addr.057.i, %is_keytype.exit.i243 ], [ %p.addr.0.be.i, %for.cond.backedge.i ] %p.addr.0.lcssa.i248 = phi ptr [ %ss.0, %again127 ], [ %p.addr.057.i, %is_keytype.exit.lr.ph.i241 ], [ %incdec.ptr.i250, %while.body.i249 ], [ %incdec.ptr.i250, %is_keytype.exit.i243 ], [ %p.addr.0.be.i, %for.cond.backedge.i ] - switch i8 %.pr340671, label %land.lhs.true137 [ + switch i8 %.pr340673, label %land.lhs.true137 [ i8 93, label %if.end142 i8 0, label %if.end141 ] @@ -792,11 +786,11 @@ for.cond.outer: ; preds = %for.cond.preheader, %.ph357 = phi i1 [ true, %for.cond.preheader ], [ false, %if.end152 ] %eline.1.ph = phi i64 [ 0, %for.cond.preheader ], [ %eline.2, %if.end152 ] %sv.0.ph = phi ptr [ %call9, %for.cond.preheader ], [ %sv.1, %if.end152 ] - %biosk.1.ph = phi ptr [ null, %for.cond.preheader ], [ %biosk.1.ph361500, %if.end152 ] - %in.addr.1.ph = phi ptr [ %in, %for.cond.preheader ], [ %.us-phi479695, %if.end152 ] - %call13483496 = call i64 @BUF_MEM_grow(ptr noundef nonnull %call, i64 noundef 512) #13 - %tobool.not484497 = icmp eq i64 %call13483496, 0 - br i1 %tobool.not484497, label %if.then14, label %if.end15.lr.ph + %biosk.1.ph = phi ptr [ null, %for.cond.preheader ], [ %biosk.1.ph361501, %if.end152 ] + %in.addr.1.ph = phi ptr [ %in, %for.cond.preheader ], [ %.us-phi480697, %if.end152 ] + %call13484497 = call i64 @BUF_MEM_grow(ptr noundef nonnull %call, i64 noundef 512) #13 + %tobool.not485498 = icmp eq i64 %call13484497, 0 + br i1 %tobool.not485498, label %if.then14, label %if.end15.lr.ph if.then155: ; preds = %if.end152 call void @ERR_new() #13 @@ -821,7 +815,7 @@ if.then168: ; preds = %land.lhs.true163 store i8 0, ptr %call158, align 1 %add.ptr169 = getelementptr inbounds nuw i8, ptr %call158, i64 2 %call170 = call fastcc ptr @eat_alpha_numeric(ptr noundef nonnull %conf, ptr noundef nonnull %add.ptr169) - %.pre679 = load i8, ptr %call170, align 1 + %.pre681 = load i8, ptr %call170, align 1 br label %if.end172 if.else171: ; preds = %land.lhs.true163, %if.else157 @@ -829,7 +823,7 @@ if.else171: ; preds = %land.lhs.true163, % br label %if.end172 if.end172: ; preds = %if.else171, %if.then168 - %77 = phi i8 [ %.pre679, %if.then168 ], [ %74, %if.else171 ] + %77 = phi i8 [ %.pre681, %if.then168 ], [ %74, %if.else171 ] %end.0 = phi ptr [ %call170, %if.then168 ], [ %call158, %if.else171 ] %psection.0 = phi ptr [ %p.addr.0.lcssa.i202330335338, %if.then168 ], [ %76, %if.else171 ] %pname.0 = phi ptr [ %add.ptr169, %if.then168 ], [ %p.addr.0.lcssa.i202330335338, %if.else171 ] @@ -857,9 +851,9 @@ while.body.i262: ; preds = %is_keytype.exit.i25 br i1 %cmp.i.i264, label %eat_ws.exit265.loopexit, label %is_keytype.exit.i256, !llvm.loop !8 eat_ws.exit265.loopexit: ; preds = %while.body.i262, %is_keytype.exit.i256 - %.pr345681 = phi i8 [ %82, %while.body.i262 ], [ %79, %is_keytype.exit.i256 ] + %.pr345683 = phi i8 [ %82, %while.body.i262 ], [ %79, %is_keytype.exit.i256 ] %p.addr.0.lcssa.i261.ph = phi ptr [ %incdec.ptr.i263, %while.body.i262 ], [ %p.addr.018.i257, %is_keytype.exit.i256 ] - %83 = icmp eq i8 %.pr345681, 61 + %83 = icmp eq i8 %.pr345683, 61 br label %eat_ws.exit265 eat_ws.exit265: ; preds = %eat_ws.exit265.loopexit, %if.end172 @@ -989,7 +983,7 @@ if.then229: ; preds = %if.else225 br i1 %cmp232, label %err, label %for.cond.backedge for.cond.backedge: ; preds = %if.end112.thread, %if.then211, %if.else225, %if.then229, %if.then220, %if.end112, %is_keytype.exit214, %if.end370 - %tobool113.not701 = phi i1 [ true, %if.end112 ], [ false, %is_keytype.exit214 ], [ false, %if.end370 ], [ false, %if.then220 ], [ false, %if.then229 ], [ false, %if.else225 ], [ false, %if.then211 ], [ true, %if.end112.thread ] + %tobool113.not703 = phi i1 [ true, %if.end112 ], [ false, %is_keytype.exit214 ], [ false, %if.end370 ], [ false, %if.then220 ], [ false, %if.then229 ], [ false, %if.else225 ], [ false, %if.then211 ], [ true, %if.end112.thread ] %bufnum.0.be = phi i32 [ %add92, %if.end112 ], [ 0, %is_keytype.exit214 ], [ 0, %if.end370 ], [ 0, %if.then220 ], [ 0, %if.then229 ], [ 0, %if.else225 ], [ 0, %if.then211 ], [ %dec110, %if.end112.thread ] %add = add nsw i32 %bufnum.0.be, 512 %conv = sext i32 %add to i64 @@ -1003,11 +997,11 @@ if.else239: ; preds = %eat_ws.exit265 br i1 %cmp241, label %cond.true243, label %if.else329 if.else239.thread: ; preds = %lor.lhs.false181 - %call240707 = call i32 @strncmp(ptr noundef nonnull dereferenceable(1) %add.ptr177, ptr noundef nonnull dereferenceable(9) @.str.7, i64 noundef 8) #14 - %cmp241708 = icmp ne i32 %call240707, 0 - %add.ptr244713 = getelementptr inbounds nuw i8, ptr %pname.0, i64 15 - %cmp247.not714 = icmp eq ptr %p.addr.0.lcssa.i261, %add.ptr244713 - %or.cond = select i1 %cmp241708, i1 true, i1 %cmp247.not714 + %call240709 = call i32 @strncmp(ptr noundef nonnull dereferenceable(1) %add.ptr177, ptr noundef nonnull dereferenceable(9) @.str.7, i64 noundef 8) #14 + %cmp241710 = icmp ne i32 %call240709, 0 + %add.ptr244715 = getelementptr inbounds nuw i8, ptr %pname.0, i64 15 + %cmp247.not716 = icmp eq ptr %p.addr.0.lcssa.i261, %add.ptr244715 + %or.cond = select i1 %cmp241710, i1 true, i1 %cmp247.not716 br i1 %or.cond, label %if.then333, label %if.then253 cond.true243: ; preds = %if.else239 @@ -1067,17 +1061,17 @@ if.end267: ; preds = %while.body.i301, %i if.end271: ; preds = %if.end267 %cmp272.not = icmp eq ptr %include_dir.0, null - %.pre682 = load ptr, ptr %include, align 8 + %.pre684 = load ptr, ptr %include, align 8 br i1 %cmp272.not, label %if.end295, label %land.lhs.true274 land.lhs.true274: ; preds = %if.end271 - %.val = load i8, ptr %.pre682, align 1 + %.val = load i8, ptr %.pre684, align 1 %cmp.i305.not = icmp eq i8 %.val, 47 br i1 %cmp.i305.not, label %if.end295, label %if.then277 if.then277: ; preds = %land.lhs.true274 %call278 = call i64 @strlen(ptr noundef nonnull dereferenceable(1) %include_dir.0) #14 - %call279 = call i64 @strlen(ptr noundef nonnull dereferenceable(1) %.pre682) #14 + %call279 = call i64 @strlen(ptr noundef nonnull dereferenceable(1) %.pre684) #14 %add280 = add i64 %call278, 2 %add281 = add i64 %add280, %call279 %call282 = call noalias ptr @CRYPTO_malloc(i64 noundef %add281, ptr noundef nonnull @.str.1, i32 noundef 472) #13 @@ -1085,7 +1079,7 @@ if.then277: ; preds = %land.lhs.true274 br i1 %cmp283, label %if.then285, label %if.end286 if.then285: ; preds = %if.then277 - call void @CRYPTO_free(ptr noundef nonnull %.pre682, ptr noundef nonnull @.str.1, i32 noundef 474) #13 + call void @CRYPTO_free(ptr noundef nonnull %.pre684, ptr noundef nonnull @.str.1, i32 noundef 474) #13 br label %err if.end286: ; preds = %if.then277 @@ -1107,12 +1101,12 @@ if.then290: ; preds = %if.end286, %ossl_en br label %if.end292 if.end292: ; preds = %if.then290, %ossl_ends_with_dirsep.exit - %call293 = call i64 @OPENSSL_strlcat(ptr noundef nonnull %call282, ptr noundef nonnull %.pre682, i64 noundef %add281) #13 - call void @CRYPTO_free(ptr noundef nonnull %.pre682, ptr noundef nonnull @.str.1, i32 noundef 482) #13 + %call293 = call i64 @OPENSSL_strlcat(ptr noundef nonnull %call282, ptr noundef nonnull %.pre684, i64 noundef %add281) #13 + call void @CRYPTO_free(ptr noundef nonnull %.pre684, ptr noundef nonnull @.str.1, i32 noundef 482) #13 br label %if.end295 if.end295: ; preds = %if.end271, %land.lhs.true274, %if.end292 - %include_path.0 = phi ptr [ %call282, %if.end292 ], [ %.pre682, %land.lhs.true274 ], [ %.pre682, %if.end271 ] + %include_path.0 = phi ptr [ %call282, %if.end292 ], [ %.pre684, %land.lhs.true274 ], [ %.pre684, %if.end271 ] %108 = load i32, ptr %flag_abspath, align 4 %tobool297.not = icmp eq i32 %108, 0 br i1 %tobool297.not, label %if.end302, label %land.lhs.true298 @@ -1144,7 +1138,7 @@ if.end307: ; preds = %if.then306, %if.end br i1 %cmp308.not, label %if.end328, label %if.then310 if.then310: ; preds = %if.end307 - %cmp311 = icmp eq ptr %biosk.1.ph361500, null + %cmp311 = icmp eq ptr %biosk.1.ph361501, null br i1 %cmp311, label %if.then313, label %if.end320 if.then313: ; preds = %if.then310 @@ -1160,8 +1154,8 @@ if.then317: ; preds = %if.then313 br label %err if.end320: ; preds = %if.then313, %if.then310 - %biosk.3 = phi ptr [ %call314, %if.then313 ], [ %biosk.1.ph361500, %if.then310 ] - %call323 = call i32 @OPENSSL_sk_push(ptr noundef nonnull %biosk.3, ptr noundef %.us-phi479695) #13 + %biosk.3 = phi ptr [ %call314, %if.then313 ], [ %biosk.1.ph361501, %if.then310 ] + %call323 = call i32 @OPENSSL_sk_push(ptr noundef nonnull %biosk.3, ptr noundef %.us-phi480697) #13 %tobool324.not = icmp eq i32 %call323, 0 br i1 %tobool324.not, label %if.then325, label %if.end328 @@ -1173,17 +1167,17 @@ if.then325: ; preds = %if.end320 br label %err if.end328: ; preds = %if.end320, %if.end307 - %biosk.2 = phi ptr [ %biosk.1.ph361500, %if.end307 ], [ %biosk.3, %if.end320 ] - %in.addr.3 = phi ptr [ %.us-phi479695, %if.end307 ], [ %call303, %if.end320 ] - %call13483 = call i64 @BUF_MEM_grow(ptr noundef nonnull %call, i64 noundef 512) #13 - %tobool.not484 = icmp eq i64 %call13483, 0 - br i1 %tobool.not484, label %if.then14, label %if.end15.lr.ph + %biosk.2 = phi ptr [ %biosk.1.ph361501, %if.end307 ], [ %biosk.3, %if.end320 ] + %in.addr.3 = phi ptr [ %.us-phi480697, %if.end307 ], [ %call303, %if.end320 ] + %call13484 = call i64 @BUF_MEM_grow(ptr noundef nonnull %call, i64 noundef 512) #13 + %tobool.not485 = icmp eq i64 %call13484, 0 + br i1 %tobool.not485, label %if.then14, label %if.end15.lr.ph if.end15.lr.ph: ; preds = %for.cond.outer, %if.end328 - %in.addr.1.ph362501 = phi ptr [ %in.addr.3, %if.end328 ], [ %in.addr.1.ph, %for.cond.outer ] - %biosk.1.ph361500 = phi ptr [ %biosk.2, %if.end328 ], [ %biosk.1.ph, %for.cond.outer ] - %eline.1.ph360499 = phi i64 [ %eline.2, %if.end328 ], [ %eline.1.ph, %for.cond.outer ] - %.ph359498 = phi i1 [ false, %if.end328 ], [ %.ph357, %for.cond.outer ] + %in.addr.1.ph362502 = phi ptr [ %in.addr.3, %if.end328 ], [ %in.addr.1.ph, %for.cond.outer ] + %biosk.1.ph361501 = phi ptr [ %biosk.2, %if.end328 ], [ %biosk.1.ph, %for.cond.outer ] + %eline.1.ph360500 = phi i64 [ %eline.2, %if.end328 ], [ %eline.1.ph, %for.cond.outer ] + %.ph359499 = phi i1 [ false, %if.end328 ], [ %.ph357, %for.cond.outer ] br label %if.end15 if.else329: ; preds = %if.else239 @@ -1281,25 +1275,25 @@ for.end: ; preds = %if.end57 call void @BUF_MEM_free(ptr noundef nonnull %call) #13 %117 = load ptr, ptr %section, align 8 call void @CRYPTO_free(ptr noundef %117, ptr noundef nonnull @.str.1, i32 noundef 562) #13 - call void @OPENSSL_sk_free(ptr noundef %biosk.1.ph361500) #13 + call void @OPENSSL_sk_free(ptr noundef %biosk.1.ph361501) #13 br label %return err: ; preds = %if.end142, %if.end267, %if.end349, %if.end343, %eat_ws.exit323, %if.then229, %if.then220, %if.then211, %land.lhs.true.us, %land.lhs.true, %if.end, %if.then374, %if.then367, %if.then333, %if.then325, %if.then317, %if.then301, %if.then285, %if.then204, %if.then155, %if.end141, %if.then14, %if.then11, %if.then7, %if.then - %eline.0 = phi i64 [ 0, %if.then ], [ 0, %if.end ], [ 0, %if.then7 ], [ 0, %if.then11 ], [ %eline.2, %if.end141 ], [ %eline.2, %if.then155 ], [ %eline.2, %if.then204 ], [ %eline.2, %if.then317 ], [ %eline.2, %if.then325 ], [ %eline.2, %if.then301 ], [ %eline.2, %if.then285 ], [ %eline.2, %if.then333 ], [ %eline.2, %if.then367 ], [ %eline.2, %if.then374 ], [ %eline.1.lcssa, %if.then14 ], [ %eline.1486, %land.lhs.true ], [ %eline.1486, %land.lhs.true.us ], [ %eline.2, %if.then211 ], [ %eline.2, %if.then220 ], [ %eline.2, %if.then229 ], [ %eline.2, %eat_ws.exit323 ], [ %eline.2, %if.end343 ], [ %eline.2, %if.end349 ], [ %eline.2, %if.end267 ], [ %eline.2, %if.end142 ] + %eline.0 = phi i64 [ 0, %if.then ], [ 0, %if.end ], [ 0, %if.then7 ], [ 0, %if.then11 ], [ %eline.2, %if.end141 ], [ %eline.2, %if.then155 ], [ %eline.2, %if.then204 ], [ %eline.2, %if.then317 ], [ %eline.2, %if.then325 ], [ %eline.2, %if.then301 ], [ %eline.2, %if.then285 ], [ %eline.2, %if.then333 ], [ %eline.2, %if.then367 ], [ %eline.2, %if.then374 ], [ %eline.1.lcssa, %if.then14 ], [ %eline.1487, %land.lhs.true ], [ %eline.1487, %land.lhs.true.us ], [ %eline.2, %if.then211 ], [ %eline.2, %if.then220 ], [ %eline.2, %if.then229 ], [ %eline.2, %eat_ws.exit323 ], [ %eline.2, %if.end343 ], [ %eline.2, %if.end349 ], [ %eline.2, %if.end267 ], [ %eline.2, %if.end142 ] %v.0 = phi ptr [ null, %if.then ], [ null, %if.end ], [ null, %if.then7 ], [ null, %if.then11 ], [ null, %if.end141 ], [ null, %if.then155 ], [ null, %if.then204 ], [ null, %if.then317 ], [ null, %if.then325 ], [ null, %if.then301 ], [ null, %if.then285 ], [ null, %if.then333 ], [ %call339, %if.then367 ], [ %call339, %if.then374 ], [ null, %if.then14 ], [ null, %land.lhs.true ], [ null, %land.lhs.true.us ], [ null, %if.then211 ], [ null, %if.then220 ], [ null, %if.then229 ], [ null, %eat_ws.exit323 ], [ %call339, %if.end343 ], [ %call339, %if.end349 ], [ null, %if.end267 ], [ null, %if.end142 ] - %biosk.0 = phi ptr [ null, %if.then ], [ null, %if.end ], [ null, %if.then7 ], [ null, %if.then11 ], [ %biosk.1.ph361500, %if.end141 ], [ %biosk.1.ph361500, %if.then155 ], [ %biosk.1.ph361500, %if.then204 ], [ null, %if.then317 ], [ %biosk.3, %if.then325 ], [ %biosk.1.ph361500, %if.then301 ], [ %biosk.1.ph361500, %if.then285 ], [ %biosk.1.ph361500, %if.then333 ], [ %biosk.1.ph361500, %if.then367 ], [ %biosk.1.ph361500, %if.then374 ], [ %biosk.1.ph361.lcssa464, %if.then14 ], [ %biosk.1.ph361500, %land.lhs.true ], [ %biosk.1.ph361500, %land.lhs.true.us ], [ %biosk.1.ph361500, %if.then211 ], [ %biosk.1.ph361500, %if.then220 ], [ %biosk.1.ph361500, %if.then229 ], [ %biosk.1.ph361500, %eat_ws.exit323 ], [ %biosk.1.ph361500, %if.end343 ], [ %biosk.1.ph361500, %if.end349 ], [ %biosk.1.ph361500, %if.end267 ], [ %biosk.1.ph361500, %if.end142 ] - %in.addr.0 = phi ptr [ %in, %if.then ], [ %in, %if.end ], [ %in, %if.then7 ], [ %in, %if.then11 ], [ %.us-phi479695, %if.end141 ], [ %.us-phi479695, %if.then155 ], [ %.us-phi479695, %if.then204 ], [ %.us-phi479695, %if.then317 ], [ %.us-phi479695, %if.then325 ], [ %.us-phi479695, %if.then301 ], [ %.us-phi479695, %if.then285 ], [ %.us-phi479695, %if.then333 ], [ %.us-phi479695, %if.then367 ], [ %.us-phi479695, %if.then374 ], [ %in.addr.1.lcssa, %if.then14 ], [ %in.addr.2, %land.lhs.true ], [ %in.addr.1489, %land.lhs.true.us ], [ %.us-phi479695, %if.then211 ], [ %.us-phi479695, %if.then220 ], [ %.us-phi479695, %if.then229 ], [ %.us-phi479695, %eat_ws.exit323 ], [ %.us-phi479695, %if.end343 ], [ %.us-phi479695, %if.end349 ], [ %.us-phi479695, %if.end267 ], [ %.us-phi479695, %if.end142 ] + %biosk.0 = phi ptr [ null, %if.then ], [ null, %if.end ], [ null, %if.then7 ], [ null, %if.then11 ], [ %biosk.1.ph361501, %if.end141 ], [ %biosk.1.ph361501, %if.then155 ], [ %biosk.1.ph361501, %if.then204 ], [ null, %if.then317 ], [ %biosk.3, %if.then325 ], [ %biosk.1.ph361501, %if.then301 ], [ %biosk.1.ph361501, %if.then285 ], [ %biosk.1.ph361501, %if.then333 ], [ %biosk.1.ph361501, %if.then367 ], [ %biosk.1.ph361501, %if.then374 ], [ %biosk.1.ph361.lcssa465, %if.then14 ], [ %biosk.1.ph361501, %land.lhs.true ], [ %biosk.1.ph361501, %land.lhs.true.us ], [ %biosk.1.ph361501, %if.then211 ], [ %biosk.1.ph361501, %if.then220 ], [ %biosk.1.ph361501, %if.then229 ], [ %biosk.1.ph361501, %eat_ws.exit323 ], [ %biosk.1.ph361501, %if.end343 ], [ %biosk.1.ph361501, %if.end349 ], [ %biosk.1.ph361501, %if.end267 ], [ %biosk.1.ph361501, %if.end142 ] + %in.addr.0 = phi ptr [ %in, %if.then ], [ %in, %if.end ], [ %in, %if.then7 ], [ %in, %if.then11 ], [ %.us-phi480697, %if.end141 ], [ %.us-phi480697, %if.then155 ], [ %.us-phi480697, %if.then204 ], [ %.us-phi480697, %if.then317 ], [ %.us-phi480697, %if.then325 ], [ %.us-phi480697, %if.then301 ], [ %.us-phi480697, %if.then285 ], [ %.us-phi480697, %if.then333 ], [ %.us-phi480697, %if.then367 ], [ %.us-phi480697, %if.then374 ], [ %in.addr.1.lcssa, %if.then14 ], [ %in.addr.2, %land.lhs.true ], [ %in.addr.1490, %land.lhs.true.us ], [ %.us-phi480697, %if.then211 ], [ %.us-phi480697, %if.then220 ], [ %.us-phi480697, %if.then229 ], [ %.us-phi480697, %eat_ws.exit323 ], [ %.us-phi480697, %if.end343 ], [ %.us-phi480697, %if.end349 ], [ %.us-phi480697, %if.end267 ], [ %.us-phi480697, %if.end142 ] call void @BUF_MEM_free(ptr noundef %call) #13 %118 = load ptr, ptr %section, align 8 call void @CRYPTO_free(ptr noundef %118, ptr noundef nonnull @.str.1, i32 noundef 572) #13 - %call380508 = call i32 @OPENSSL_sk_num(ptr noundef %biosk.0) #13 - %cmp381509 = icmp sgt i32 %call380508, 0 - br i1 %cmp381509, label %while.body383, label %while.end386 + %call380509 = call i32 @OPENSSL_sk_num(ptr noundef %biosk.0) #13 + %cmp381510 = icmp sgt i32 %call380509, 0 + br i1 %cmp381510, label %while.body383, label %while.end386 while.body383: ; preds = %err, %while.body383 - %in.addr.4510 = phi ptr [ %call385, %while.body383 ], [ %in.addr.0, %err ] + %in.addr.4511 = phi ptr [ %call385, %while.body383 ], [ %in.addr.0, %err ] %call385 = call ptr @OPENSSL_sk_pop(ptr noundef %biosk.0) #13 - call void @BIO_vfree(ptr noundef %in.addr.4510) #13 + call void @BIO_vfree(ptr noundef %in.addr.4511) #13 %call380 = call i32 @OPENSSL_sk_num(ptr noundef %biosk.0) #13 %cmp381 = icmp sgt i32 %call380, 0 br i1 %cmp381, label %while.body383, label %while.end386, !llvm.loop !9 @@ -1670,7 +1664,7 @@ while.cond: ; preds = %while.cond.preheade %from.addr.1 = getelementptr inbounds nuw i8, ptr %from.addr.0.pn110, i64 1 %5 = load i8, ptr %from.addr.1, align 1 %cmp.i113 = icmp slt i8 %5, 0 - br i1 %cmp.i113, label %land.rhs, label %is_keytype.exit122 + br i1 %cmp.i113, label %if.end23, label %is_keytype.exit122 is_keytype.exit122: ; preds = %while.cond %6 = load ptr, ptr %meth_data.i, align 8 @@ -1683,10 +1677,6 @@ is_keytype.exit122: ; preds = %while.cond %or.cond = or i1 %cmp13.not237, %tobool11.not br i1 %or.cond, label %while.end, label %is_keytype.exit132 -land.rhs: ; preds = %while.cond - %cmp13.not = icmp eq i8 %5, %0 - br i1 %cmp13.not, label %while.end, label %if.end23 - is_keytype.exit132: ; preds = %is_keytype.exit122 %9 = and i16 %7, 32 %tobool16.not = icmp eq i16 %9, 0 @@ -1706,18 +1696,18 @@ is_keytype.exit142: ; preds = %if.then17 %tobool20.not = icmp eq i16 %12, 0 br i1 %tobool20.not, label %if.end23, label %while.end -if.end23: ; preds = %if.then17, %land.rhs, %is_keytype.exit142, %is_keytype.exit132 - %13 = phi i8 [ %10, %is_keytype.exit142 ], [ %5, %is_keytype.exit132 ], [ %5, %land.rhs ], [ %10, %if.then17 ] - %from.addr.3 = phi ptr [ %incdec.ptr18, %is_keytype.exit142 ], [ %from.addr.1, %is_keytype.exit132 ], [ %from.addr.1, %land.rhs ], [ %incdec.ptr18, %if.then17 ] +if.end23: ; preds = %while.cond, %if.then17, %is_keytype.exit142, %is_keytype.exit132 + %13 = phi i8 [ %10, %is_keytype.exit142 ], [ %5, %is_keytype.exit132 ], [ %10, %if.then17 ], [ %5, %while.cond ] + %from.addr.3 = phi ptr [ %incdec.ptr18, %is_keytype.exit142 ], [ %from.addr.1, %is_keytype.exit132 ], [ %incdec.ptr18, %if.then17 ], [ %from.addr.1, %while.cond ] %14 = load ptr, ptr %data, align 8 %indvars.iv.next = add nsw i64 %indvars.iv, 1 %arrayidx = getelementptr inbounds i8, ptr %14, i64 %indvars.iv store i8 %13, ptr %arrayidx, align 1 br label %while.cond, !llvm.loop !11 -while.end: ; preds = %is_keytype.exit122, %is_keytype.exit142, %land.rhs - %15 = phi i8 [ %5, %is_keytype.exit122 ], [ %10, %is_keytype.exit142 ], [ %0, %land.rhs ] - %16 = phi i64 [ 1, %is_keytype.exit122 ], [ 2, %is_keytype.exit142 ], [ 1, %land.rhs ] +while.end: ; preds = %is_keytype.exit122, %is_keytype.exit142 + %15 = phi i8 [ %5, %is_keytype.exit122 ], [ %10, %is_keytype.exit142 ] + %16 = phi i64 [ 1, %is_keytype.exit122 ], [ 2, %is_keytype.exit142 ] %17 = trunc nsw i64 %indvars.iv to i32 %18 = getelementptr inbounds nuw i8, ptr %from.addr.0.pn110, i64 %16 %cmp26 = icmp eq i8 %15, %0 diff --git a/bench/openssl/optimized/libdefault-lib-ecx_kmgmt.ll b/bench/openssl/optimized/libdefault-lib-ecx_kmgmt.ll index 62d627aff3a..689aea9a384 100644 --- a/bench/openssl/optimized/libdefault-lib-ecx_kmgmt.ll +++ b/bench/openssl/optimized/libdefault-lib-ecx_kmgmt.ll @@ -1101,7 +1101,7 @@ if.end15: ; preds = %if.end8 if.end15.thread: ; preds = %if.end8 %and1617 = and i32 %selection, 1 %cmp17.not18 = icmp eq i32 %and1617, 0 - br i1 %cmp17.not18, label %if.end26.thread, label %land.rhs21 + br i1 %cmp17.not18, label %return, label %land.rhs21 if.then19: ; preds = %if.end15 %tobool20.not = icmp eq i8 %bf.clear, 0 @@ -1119,15 +1119,11 @@ if.end26: ; preds = %land.rhs21, %if.end %cmp28 = icmp eq i32 %and, 3 br i1 %cmp28, label %if.then30, label %return -if.end26.thread: ; preds = %if.end15.thread - %cmp2823 = icmp eq i32 %and, 3 - br i1 %cmp2823, label %land.rhs32, label %return - if.then30: ; preds = %if.end26 %tobool31.not = icmp eq i32 %ok.1, 0 br i1 %tobool31.not, label %return, label %land.rhs32 -land.rhs32: ; preds = %if.end26.thread, %if.then30 +land.rhs32: ; preds = %if.then30 call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %pub.i) switch i32 %type, label %default.unreachable [ i32 0, label %sw.bb.i @@ -1184,8 +1180,8 @@ ecx_key_pairwise_check.exit: ; preds = %sw.bb4.i, %sw.bb7.i call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %pub.i) br label %return -return: ; preds = %if.end26.thread, %if.then19, %if.end26, %ecx_key_pairwise_check.exit, %if.then30, %if.end, %entry, %if.then7 - %retval.0 = phi i32 [ 0, %if.then7 ], [ 0, %entry ], [ 1, %if.end ], [ %ok.1, %if.end26 ], [ 0, %if.then30 ], [ %retval.0.i, %ecx_key_pairwise_check.exit ], [ 0, %if.then19 ], [ 1, %if.end26.thread ] +return: ; preds = %if.end15.thread, %if.then19, %if.end26, %ecx_key_pairwise_check.exit, %if.then30, %if.end, %entry, %if.then7 + %retval.0 = phi i32 [ 0, %if.then7 ], [ 0, %entry ], [ 1, %if.end ], [ %ok.1, %if.end26 ], [ 0, %if.then30 ], [ %retval.0.i, %ecx_key_pairwise_check.exit ], [ 0, %if.then19 ], [ 1, %if.end15.thread ] ret i32 %retval.0 } diff --git a/bench/openssl/optimized/libssl-lib-extensions_srvr.ll b/bench/openssl/optimized/libssl-lib-extensions_srvr.ll index 8e0c19450dc..a4183f651d2 100644 --- a/bench/openssl/optimized/libssl-lib-extensions_srvr.ll +++ b/bench/openssl/optimized/libssl-lib-extensions_srvr.ll @@ -1037,28 +1037,23 @@ if.end8: ; preds = %lor.lhs.false4 %srtp_profile = getelementptr inbounds nuw i8, ptr %s, i64 2808 store ptr null, ptr %srtp_profile, align 8 %call11 = tail call i32 @OPENSSL_sk_num(ptr noundef %call9) #10 - br label %while.cond - -while.cond: ; preds = %for.end, %if.end8 - %subpkt.sroa.5.0 = phi i64 [ %conv, %if.end8 ], [ %sub.i.i32, %for.end ] - %subpkt.sroa.0.0 = phi ptr [ %add.ptr.i2.i, %if.end8 ], [ %add.ptr.i2.i31, %for.end ] - %srtp_pref.0 = phi i32 [ %call11, %if.end8 ], [ %srtp_pref.1, %for.end ] - switch i64 %subpkt.sroa.5.0, label %PACKET_get_net_2.exit34 [ - i64 0, label %while.end - i64 1, label %return.sink.split - ] - -PACKET_get_net_2.exit34: ; preds = %while.cond - %4 = load i8, ptr %subpkt.sroa.0.0, align 1 + %tobool13.not68 = icmp eq i32 %or.i.i, 0 + br i1 %tobool13.not68, label %while.end, label %PACKET_get_net_2.exit34 + +PACKET_get_net_2.exit34: ; preds = %if.end8, %for.end + %srtp_pref.071 = phi i32 [ %srtp_pref.1, %for.end ], [ %call11, %if.end8 ] + %subpkt.sroa.0.070 = phi ptr [ %add.ptr.i2.i31, %for.end ], [ %add.ptr.i2.i, %if.end8 ] + %subpkt.sroa.5.069 = phi i64 [ %sub.i.i32, %for.end ], [ %conv, %if.end8 ] + %4 = load i8, ptr %subpkt.sroa.0.070, align 1 %conv.i.i26 = zext i8 %4 to i64 %shl.i.i27 = shl nuw nsw i64 %conv.i.i26, 8 - %add.ptr.i.i28 = getelementptr inbounds nuw i8, ptr %subpkt.sroa.0.0, i64 1 + %add.ptr.i.i28 = getelementptr inbounds nuw i8, ptr %subpkt.sroa.0.070, i64 1 %5 = load i8, ptr %add.ptr.i.i28, align 1 %conv2.i.i29 = zext i8 %5 to i64 %or.i.i30 = or disjoint i64 %shl.i.i27, %conv2.i.i29 - %add.ptr.i2.i31 = getelementptr inbounds nuw i8, ptr %subpkt.sroa.0.0, i64 2 - %sub.i.i32 = add i64 %subpkt.sroa.5.0, -2 - %cmp1866 = icmp sgt i32 %srtp_pref.0, 0 + %add.ptr.i2.i31 = getelementptr inbounds nuw i8, ptr %subpkt.sroa.0.070, i64 2 + %sub.i.i32 = add i64 %subpkt.sroa.5.069, -2 + %cmp1866 = icmp sgt i32 %srtp_pref.071, 0 br i1 %cmp1866, label %for.body, label %for.end for.body: ; preds = %PACKET_get_net_2.exit34, %for.inc @@ -1075,14 +1070,15 @@ if.then26: ; preds = %for.body for.inc: ; preds = %for.body %inc = add nuw nsw i32 %i.067, 1 - %exitcond.not = icmp eq i32 %inc, %srtp_pref.0 + %exitcond.not = icmp eq i32 %inc, %srtp_pref.071 br i1 %exitcond.not, label %for.end, label %for.body, !llvm.loop !7 for.end: ; preds = %for.inc, %PACKET_get_net_2.exit34, %if.then26 - %srtp_pref.1 = phi i32 [ %i.067, %if.then26 ], [ %srtp_pref.0, %PACKET_get_net_2.exit34 ], [ %srtp_pref.0, %for.inc ] - br label %while.cond, !llvm.loop !8 + %srtp_pref.1 = phi i32 [ %i.067, %if.then26 ], [ %srtp_pref.071, %PACKET_get_net_2.exit34 ], [ %srtp_pref.071, %for.inc ] + %tobool13.not = icmp eq i64 %sub.i.i32, 0 + br i1 %tobool13.not, label %while.end, label %PACKET_get_net_2.exit34, !llvm.loop !8 -while.end: ; preds = %while.cond +while.end: ; preds = %for.end, %if.end8 %pkt.val.i.i35 = load i64, ptr %0, align 8 %tobool.not.i.i = icmp eq i64 %pkt.val.i.i35, 0 br i1 %tobool.not.i.i, label %return.sink.split, label %if.end32 @@ -1106,11 +1102,11 @@ lor.lhs.false36: ; preds = %if.end32 %tobool38.not = icmp eq i64 %sub.i.i39, %conv33 br i1 %tobool38.not, label %return, label %return.sink.split -return.sink.split: ; preds = %while.cond, %lor.lhs.false36, %if.end32, %while.end, %lor.lhs.false, %if.end, %lor.lhs.false4 - %.sink72 = phi i32 [ 491, %lor.lhs.false4 ], [ 491, %if.end ], [ 491, %lor.lhs.false ], [ 528, %while.end ], [ 534, %if.end32 ], [ 534, %lor.lhs.false36 ], [ 503, %while.cond ] - %.sink = phi i32 [ 353, %lor.lhs.false4 ], [ 353, %if.end ], [ 353, %lor.lhs.false ], [ 353, %while.end ], [ 352, %if.end32 ], [ 352, %lor.lhs.false36 ], [ 353, %while.cond ] +return.sink.split: ; preds = %lor.lhs.false36, %if.end32, %while.end, %lor.lhs.false, %if.end, %lor.lhs.false4 + %.sink76 = phi i32 [ 491, %lor.lhs.false4 ], [ 491, %if.end ], [ 491, %lor.lhs.false ], [ 528, %while.end ], [ 534, %if.end32 ], [ 534, %lor.lhs.false36 ] + %.sink = phi i32 [ 353, %lor.lhs.false4 ], [ 353, %if.end ], [ 353, %lor.lhs.false ], [ 353, %while.end ], [ 352, %if.end32 ], [ 352, %lor.lhs.false36 ] tail call void @ERR_new() #10 - tail call void @ERR_set_debug(ptr noundef nonnull @.str, i32 noundef %.sink72, ptr noundef nonnull @__func__.tls_parse_ctos_use_srtp) #10 + tail call void @ERR_set_debug(ptr noundef nonnull @.str, i32 noundef %.sink76, ptr noundef nonnull @__func__.tls_parse_ctos_use_srtp) #10 tail call void (ptr, i32, i32, ptr, ...) @ossl_statem_fatal(ptr noundef %s, i32 noundef 50, i32 noundef %.sink, ptr noundef null) #10 br label %return diff --git a/bench/openssl/optimized/libssl-lib-quic_wire_pkt.ll b/bench/openssl/optimized/libssl-lib-quic_wire_pkt.ll index 7fb2211acd3..f734a266f4e 100644 --- a/bench/openssl/optimized/libssl-lib-quic_wire_pkt.ll +++ b/bench/openssl/optimized/libssl-lib-quic_wire_pkt.ll @@ -1336,7 +1336,7 @@ if.end49: ; preds = %lor.lhs.false43 %conv59 = zext nneg i8 %narrow32 to i64 %6 = and i32 %bf.load, 253 %switch.selectcmp.i.i.not = icmp eq i32 %6, 4 - br i1 %switch.selectcmp.i.i.not, label %if.end83, label %if.then64 + br i1 %switch.selectcmp.i.i.not, label %if.end113, label %if.then64 if.then64: ; preds = %if.end49 %bf.lshr66 = lshr i32 %bf.load, 10 @@ -1345,18 +1345,13 @@ if.then64: ; preds = %if.end49 %or.cond34 = icmp ult i32 %7, -4 br i1 %or.cond34, label %return, label %if.end83.thread -if.end83: ; preds = %if.end49 - %cmp86 = icmp eq i32 %bf.clear2, 1 - br i1 %cmp86, label %if.then88, label %if.end113 - if.end83.thread: ; preds = %if.then64 %conv81 = zext nneg i32 %bf.clear67 to i64 %add82 = add nuw nsw i64 %conv59, %conv81 %cmp8659 = icmp eq i32 %bf.clear2, 1 br i1 %cmp8659, label %if.then88, label %if.then101 -if.then88: ; preds = %if.end83.thread, %if.end83 - %len.061 = phi i64 [ %add82, %if.end83.thread ], [ %conv59, %if.end83 ] +if.then88: ; preds = %if.end83.thread %token_len = getelementptr inbounds nuw i8, ptr %hdr, i64 64 %8 = load i64, ptr %token_len, align 8 %cmp.i = icmp ult i64 %8, 64 @@ -1376,7 +1371,7 @@ if.end6.i: ; preds = %if.end3.i if.end96.thread: ; preds = %if.end3.i, %if.end.i, %if.then88, %if.end6.i %retval.0.i.ph = phi i64 [ 4, %if.end3.i ], [ 2, %if.end.i ], [ 1, %if.then88 ], [ 8, %if.end6.i ] - %add94 = add nuw nsw i64 %8, %len.061 + %add94 = add nuw nsw i64 %8, %add82 %add95 = add nuw nsw i64 %add94, %retval.0.i.ph br label %if.then101 @@ -1408,8 +1403,8 @@ if.end111: ; preds = %if.end6.i41, %if.th %add112 = add nuw nsw i64 %retval.0.i44.ph, %len.153 br label %if.end113 -if.end113: ; preds = %if.end83, %if.end111 - %len.2 = phi i64 [ %add112, %if.end111 ], [ %conv59, %if.end83 ] +if.end113: ; preds = %if.end49, %if.end111 + %len.2 = phi i64 [ %add112, %if.end111 ], [ %conv59, %if.end49 ] %conv114 = trunc i64 %len.2 to i32 br label %return diff --git a/bench/openusd/optimized/strtod.cc.ll b/bench/openusd/optimized/strtod.cc.ll index 42cc92c0e43..65797822f88 100644 --- a/bench/openusd/optimized/strtod.cc.ll +++ b/bench/openusd/optimized/strtod.cc.ll @@ -67,29 +67,25 @@ define noundef double @_ZN32pxrInternal_v0_24__pxrReserved__21pxr_double_convers br i1 %38, label %_ZNK32pxrInternal_v0_24__pxrReserved__21pxr_double_conversion6Double10NextDoubleEv.exit, label %39 39: ; preds = %36 - %40 = icmp eq i64 %8, 9218868437227405312 - br i1 %40, label %_ZNK32pxrInternal_v0_24__pxrReserved__21pxr_double_conversion6Double10NextDoubleEv.exit, label %41 + %40 = icmp slt i64 %8, 0 + br i1 %40, label %41, label %46 41: ; preds = %39 - %42 = icmp slt i64 %8, 0 - br i1 %42, label %43, label %48 + %42 = fcmp oeq double %6, 0.000000e+00 + br i1 %42, label %_ZNK32pxrInternal_v0_24__pxrReserved__21pxr_double_conversion6Double10NextDoubleEv.exit, label %43 43: ; preds = %41 - %44 = fcmp oeq double %6, 0.000000e+00 - br i1 %44, label %_ZNK32pxrInternal_v0_24__pxrReserved__21pxr_double_conversion6Double10NextDoubleEv.exit, label %45 - -45: ; preds = %43 - %46 = add nsw i64 %8, -1 - %47 = bitcast i64 %46 to double + %44 = add nsw i64 %8, -1 + %45 = bitcast i64 %44 to double br label %_ZNK32pxrInternal_v0_24__pxrReserved__21pxr_double_conversion6Double10NextDoubleEv.exit -48: ; preds = %41 - %49 = add nuw i64 %8, 1 - %50 = bitcast i64 %49 to double +46: ; preds = %39 + %47 = add nuw i64 %8, 1 + %48 = bitcast i64 %47 to double br label %_ZNK32pxrInternal_v0_24__pxrReserved__21pxr_double_conversion6Double10NextDoubleEv.exit -_ZNK32pxrInternal_v0_24__pxrReserved__21pxr_double_conversion6Double10NextDoubleEv.exit: ; preds = %3, %48, %45, %43, %39, %36, %33, %30, %28, %24, %7 - %.0 = phi double [ %6, %7 ], [ %32, %30 ], [ %35, %33 ], [ 0.000000e+00, %28 ], [ 0x7FF0000000000000, %24 ], [ %6, %36 ], [ %47, %45 ], [ %50, %48 ], [ 0.000000e+00, %43 ], [ 0x7FF0000000000000, %39 ], [ %6, %3 ] +_ZNK32pxrInternal_v0_24__pxrReserved__21pxr_double_conversion6Double10NextDoubleEv.exit: ; preds = %3, %46, %43, %41, %36, %33, %30, %28, %24, %7 + %.0 = phi double [ %6, %7 ], [ %32, %30 ], [ %35, %33 ], [ 0.000000e+00, %28 ], [ 0x7FF0000000000000, %24 ], [ %6, %36 ], [ %45, %43 ], [ %48, %46 ], [ 0.000000e+00, %41 ], [ %6, %3 ] ret double %.0 } @@ -734,29 +730,25 @@ _ZN32pxrInternal_v0_24__pxrReserved__21pxr_double_conversionL10TrimAndCutENS0_6V br i1 %62, label %_ZN32pxrInternal_v0_24__pxrReserved__21pxr_double_conversion13StrtodTrimmedENS0_6VectorIKcEEi.exit, label %63 63: ; preds = %60 - %64 = icmp eq i64 %32, 9218868437227405312 - br i1 %64, label %_ZN32pxrInternal_v0_24__pxrReserved__21pxr_double_conversion13StrtodTrimmedENS0_6VectorIKcEEi.exit, label %65 + %64 = icmp slt i64 %32, 0 + br i1 %64, label %65, label %70 65: ; preds = %63 - %66 = icmp slt i64 %32, 0 - br i1 %66, label %67, label %72 + %66 = fcmp oeq double %30, 0.000000e+00 + br i1 %66, label %_ZN32pxrInternal_v0_24__pxrReserved__21pxr_double_conversion13StrtodTrimmedENS0_6VectorIKcEEi.exit, label %67 67: ; preds = %65 - %68 = fcmp oeq double %30, 0.000000e+00 - br i1 %68, label %_ZN32pxrInternal_v0_24__pxrReserved__21pxr_double_conversion13StrtodTrimmedENS0_6VectorIKcEEi.exit, label %69 - -69: ; preds = %67 - %70 = add nsw i64 %32, -1 - %71 = bitcast i64 %70 to double + %68 = add nsw i64 %32, -1 + %69 = bitcast i64 %68 to double br label %_ZN32pxrInternal_v0_24__pxrReserved__21pxr_double_conversion13StrtodTrimmedENS0_6VectorIKcEEi.exit -72: ; preds = %65 - %73 = add nuw i64 %32, 1 - %74 = bitcast i64 %73 to double +70: ; preds = %63 + %71 = add nuw i64 %32, 1 + %72 = bitcast i64 %71 to double br label %_ZN32pxrInternal_v0_24__pxrReserved__21pxr_double_conversion13StrtodTrimmedENS0_6VectorIKcEEi.exit -_ZN32pxrInternal_v0_24__pxrReserved__21pxr_double_conversion13StrtodTrimmedENS0_6VectorIKcEEi.exit: ; preds = %_ZN32pxrInternal_v0_24__pxrReserved__21pxr_double_conversionL10TrimAndCutENS0_6VectorIKcEEiPciPS3_Pi.exit, %31, %48, %52, %54, %57, %60, %63, %67, %69, %72 - %.0.i = phi double [ %30, %31 ], [ %56, %54 ], [ %59, %57 ], [ 0.000000e+00, %52 ], [ 0x7FF0000000000000, %48 ], [ %30, %60 ], [ %71, %69 ], [ %74, %72 ], [ 0.000000e+00, %67 ], [ 0x7FF0000000000000, %63 ], [ %30, %_ZN32pxrInternal_v0_24__pxrReserved__21pxr_double_conversionL10TrimAndCutENS0_6VectorIKcEEiPciPS3_Pi.exit ] +_ZN32pxrInternal_v0_24__pxrReserved__21pxr_double_conversion13StrtodTrimmedENS0_6VectorIKcEEi.exit: ; preds = %_ZN32pxrInternal_v0_24__pxrReserved__21pxr_double_conversionL10TrimAndCutENS0_6VectorIKcEEiPciPS3_Pi.exit, %31, %48, %52, %54, %57, %60, %65, %67, %70 + %.0.i = phi double [ %30, %31 ], [ %56, %54 ], [ %59, %57 ], [ 0.000000e+00, %52 ], [ 0x7FF0000000000000, %48 ], [ %30, %60 ], [ %69, %67 ], [ %72, %70 ], [ 0.000000e+00, %65 ], [ %30, %_ZN32pxrInternal_v0_24__pxrReserved__21pxr_double_conversionL10TrimAndCutENS0_6VectorIKcEEiPciPS3_Pi.exit ] call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %4) ret double %.0.i } diff --git a/bench/pbrt-v4/optimized/paramdict.cpp.ll b/bench/pbrt-v4/optimized/paramdict.cpp.ll index b9906c96db8..7c9ea46aa5d 100644 --- a/bench/pbrt-v4/optimized/paramdict.cpp.ll +++ b/bench/pbrt-v4/optimized/paramdict.cpp.ll @@ -3589,10 +3589,6 @@ if.then.i.i.i.i: ; preds = %if.end5.i.i _ZNSt6vectorIN4pbrt6Point2IfEESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i: ; preds = %if.end5.i.i tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %agg.result, i8 0, i64 24, i1 false), !alias.scope !83 - %cmp.not.i.i.i.i.i.i = icmp eq i64 %5, 1 - br i1 %cmp.not.i.i.i.i.i.i, label %_ZN4pbrtL11returnArrayINS_6Point2IfEEN4pstd6vectorIfNS3_3pmr21polymorphic_allocatorIfEEEEPFS2_PKfPKNS_7FileLocEEEESt6vectorIT_SaISH_EERKT0_RKNS_15ParsedParameterEiT1_.exit.i, label %for.body.lr.ph.i.i - -for.body.lr.ph.i.i: ; preds = %_ZNSt6vectorIN4pbrt6Point2IfEESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i %mul.i.i.i.i.i.i.i.i = shl nuw nsw i64 %5, 2 %call5.i.i.i.i2.i.i15.i.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i.i) #26, !noalias !83 store ptr %call5.i.i.i.i2.i.i15.i.i, ptr %agg.result, align 8, !alias.scope !83 @@ -3607,8 +3603,8 @@ for.body.lr.ph.i.i: ; preds = %_ZNSt6vectorIN4pbrt %.pre = load ptr, ptr %ptr.i.i11.i, align 8, !noalias !83 br label %invoke.cont13.i.i -invoke.cont13.i.i: ; preds = %for.body.lr.ph.i.i, %invoke.cont13.i.i - %i.017.i.i = phi i64 [ 0, %for.body.lr.ph.i.i ], [ %inc.i.i, %invoke.cont13.i.i ] +invoke.cont13.i.i: ; preds = %_ZNSt6vectorIN4pbrt6Point2IfEESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i, %invoke.cont13.i.i + %i.017.i.i = phi i64 [ 0, %_ZNSt6vectorIN4pbrt6Point2IfEESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i ], [ %inc.i.i, %invoke.cont13.i.i ] %arrayidx.i.i.i.idx = shl i64 %i.017.i.i, 3 %arrayidx.i.i.i = getelementptr inbounds i8, ptr %.pre, i64 %arrayidx.i.i.i.idx %7 = load float, ptr %arrayidx.i.i.i, align 4, !noalias !83 @@ -3622,7 +3618,7 @@ invoke.cont13.i.i: ; preds = %for.body.lr.ph.i.i, %exitcond.not = icmp eq i64 %inc.i.i, %div.i.i1 br i1 %exitcond.not, label %_ZN4pbrtL11returnArrayINS_6Point2IfEEN4pstd6vectorIfNS3_3pmr21polymorphic_allocatorIfEEEEPFS2_PKfPKNS_7FileLocEEEESt6vectorIT_SaISH_EERKT0_RKNS_15ParsedParameterEiT1_.exit.i, label %invoke.cont13.i.i, !llvm.loop !84 -_ZN4pbrtL11returnArrayINS_6Point2IfEEN4pstd6vectorIfNS3_3pmr21polymorphic_allocatorIfEEEEPFS2_PKfPKNS_7FileLocEEEESt6vectorIT_SaISH_EERKT0_RKNS_15ParsedParameterEiT1_.exit.i: ; preds = %invoke.cont13.i.i, %_ZNSt6vectorIN4pbrt6Point2IfEESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i +_ZN4pbrtL11returnArrayINS_6Point2IfEEN4pstd6vectorIfNS3_3pmr21polymorphic_allocatorIfEEEEPFS2_PKfPKNS_7FileLocEEEESt6vectorIT_SaISH_EERKT0_RKNS_15ParsedParameterEiT1_.exit.i: ; preds = %invoke.cont13.i.i call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %nPerItem.addr.i.i), !noalias !77 br label %_ZNK4pbrt19ParameterDictionary11lookupArrayINS_6Point2IfEEPFRKN4pstd6vectorIfNS4_3pmr21polymorphic_allocatorIfEEEERKNS_15ParsedParameterEEPFS3_PKfPKNS_7FileLocEEEESt6vectorIT_SaISP_EERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS_13ParameterTypeEPKciT0_T1_.exit @@ -3725,10 +3721,6 @@ if.then.i.i.i.i: ; preds = %if.end5.i.i _ZNSt6vectorIN4pbrt7Vector2IfEESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i: ; preds = %if.end5.i.i tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %agg.result, i8 0, i64 24, i1 false), !alias.scope !91 - %cmp.not.i.i.i.i.i.i = icmp eq i64 %5, 1 - br i1 %cmp.not.i.i.i.i.i.i, label %_ZN4pbrtL11returnArrayINS_7Vector2IfEEN4pstd6vectorIfNS3_3pmr21polymorphic_allocatorIfEEEEPFS2_PKfPKNS_7FileLocEEEESt6vectorIT_SaISH_EERKT0_RKNS_15ParsedParameterEiT1_.exit.i, label %for.body.lr.ph.i.i - -for.body.lr.ph.i.i: ; preds = %_ZNSt6vectorIN4pbrt7Vector2IfEESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i %mul.i.i.i.i.i.i.i.i = shl nuw nsw i64 %5, 2 %call5.i.i.i.i2.i.i15.i.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i.i) #26, !noalias !91 store ptr %call5.i.i.i.i2.i.i15.i.i, ptr %agg.result, align 8, !alias.scope !91 @@ -3743,8 +3735,8 @@ for.body.lr.ph.i.i: ; preds = %_ZNSt6vectorIN4pbrt %.pre = load ptr, ptr %ptr.i.i11.i, align 8, !noalias !91 br label %invoke.cont13.i.i -invoke.cont13.i.i: ; preds = %for.body.lr.ph.i.i, %invoke.cont13.i.i - %i.017.i.i = phi i64 [ 0, %for.body.lr.ph.i.i ], [ %inc.i.i, %invoke.cont13.i.i ] +invoke.cont13.i.i: ; preds = %_ZNSt6vectorIN4pbrt7Vector2IfEESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i, %invoke.cont13.i.i + %i.017.i.i = phi i64 [ 0, %_ZNSt6vectorIN4pbrt7Vector2IfEESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i ], [ %inc.i.i, %invoke.cont13.i.i ] %arrayidx.i.i.i.idx = shl i64 %i.017.i.i, 3 %arrayidx.i.i.i = getelementptr inbounds i8, ptr %.pre, i64 %arrayidx.i.i.i.idx %7 = load float, ptr %arrayidx.i.i.i, align 4, !noalias !91 @@ -3758,7 +3750,7 @@ invoke.cont13.i.i: ; preds = %for.body.lr.ph.i.i, %exitcond.not = icmp eq i64 %inc.i.i, %div.i.i1 br i1 %exitcond.not, label %_ZN4pbrtL11returnArrayINS_7Vector2IfEEN4pstd6vectorIfNS3_3pmr21polymorphic_allocatorIfEEEEPFS2_PKfPKNS_7FileLocEEEESt6vectorIT_SaISH_EERKT0_RKNS_15ParsedParameterEiT1_.exit.i, label %invoke.cont13.i.i, !llvm.loop !92 -_ZN4pbrtL11returnArrayINS_7Vector2IfEEN4pstd6vectorIfNS3_3pmr21polymorphic_allocatorIfEEEEPFS2_PKfPKNS_7FileLocEEEESt6vectorIT_SaISH_EERKT0_RKNS_15ParsedParameterEiT1_.exit.i: ; preds = %invoke.cont13.i.i, %_ZNSt6vectorIN4pbrt7Vector2IfEESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i +_ZN4pbrtL11returnArrayINS_7Vector2IfEEN4pstd6vectorIfNS3_3pmr21polymorphic_allocatorIfEEEEPFS2_PKfPKNS_7FileLocEEEESt6vectorIT_SaISH_EERKT0_RKNS_15ParsedParameterEiT1_.exit.i: ; preds = %invoke.cont13.i.i call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %nPerItem.addr.i.i), !noalias !85 br label %_ZNK4pbrt19ParameterDictionary11lookupArrayINS_7Vector2IfEEPFRKN4pstd6vectorIfNS4_3pmr21polymorphic_allocatorIfEEEERKNS_15ParsedParameterEEPFS3_PKfPKNS_7FileLocEEEESt6vectorIT_SaISP_EERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS_13ParameterTypeEPKciT0_T1_.exit diff --git a/bench/php/optimized/php_reflection.ll b/bench/php/optimized/php_reflection.ll index 0584935f4b2..ed4b8c0a248 100644 --- a/bench/php/optimized/php_reflection.ll +++ b/bench/php/optimized/php_reflection.ll @@ -7954,99 +7954,97 @@ define internal fastcc void @reflection_type_factory(ptr %0, i32 %1, ptr noundef %6 = and i32 %1, 262141 %7 = and i32 %1, 4194304 %.not.i = icmp eq i32 %7, 0 - br i1 %.not.i, label %13, label %8 + br i1 %.not.i, label %11, label %8 8: ; preds = %4 %9 = and i32 %1, 524288 %.not16.i = icmp eq i32 %9, 0 %10 = icmp eq i32 %5, 1022 - %11 = and i32 %1, 29622271 - %12 = icmp ne i32 %11, 2 %spec.select = select i1 %.not16.i, ptr @reflection_union_type_ptr, ptr @reflection_intersection_type_ptr br label %get_type_kind.exit.thread27 -13: ; preds = %4 - %14 = and i32 %1, 25165824 - %.not12.i = icmp eq i32 %14, 0 - br i1 %.not12.i, label %21, label %15 +11: ; preds = %4 + %12 = and i32 %1, 25165824 + %.not12.i = icmp eq i32 %12, 0 + br i1 %.not12.i, label %19, label %13 -15: ; preds = %13 - %16 = and i32 %1, 2097152 - %.not14.i = icmp eq i32 %16, 0 - br i1 %.not14.i, label %17, label %get_type_kind.exit.thread +13: ; preds = %11 + %14 = and i32 %1, 2097152 + %.not14.i = icmp eq i32 %14, 0 + br i1 %.not14.i, label %15, label %get_type_kind.exit.thread -17: ; preds = %15 +15: ; preds = %13 %.not15.i.not = icmp eq i32 %6, 0 - %18 = icmp eq i32 %5, 1022 - %19 = and i32 %1, 25427967 - %20 = icmp ne i32 %19, 2 - br i1 %.not15.i.not, label %30, label %get_type_kind.exit.thread27 - -21: ; preds = %13 - %22 = icmp eq i32 %6, 12 - %23 = icmp eq i32 %5, 1022 - %or.cond.i = or i1 %22, %23 + %16 = icmp eq i32 %5, 1022 + %17 = and i32 %1, 25427967 + %18 = icmp ne i32 %17, 2 + br i1 %.not15.i.not, label %28, label %get_type_kind.exit.thread27 + +19: ; preds = %11 + %20 = icmp eq i32 %6, 12 + %21 = icmp eq i32 %5, 1022 + %or.cond.i = or i1 %20, %21 br i1 %or.cond.i, label %get_type_kind.exit.thread, label %get_type_kind.exit -get_type_kind.exit.thread: ; preds = %15, %21 - %24 = icmp eq i32 %5, 1022 - %25 = and i32 %1, 25427967 - %26 = icmp ne i32 %25, 2 - br label %30 +get_type_kind.exit.thread: ; preds = %13, %19 + %22 = icmp eq i32 %5, 1022 + %23 = and i32 %1, 25427967 + %24 = icmp ne i32 %23, 2 + br label %28 -get_type_kind.exit: ; preds = %21 - %27 = tail call range(i32 0, 18) i32 @llvm.ctpop.i32(i32 %6) - %.not13.i = icmp samesign ugt i32 %27, 1 - %28 = and i32 %1, 262143 - %29 = icmp ne i32 %28, 2 - br i1 %.not13.i, label %get_type_kind.exit.thread27, label %30 +get_type_kind.exit: ; preds = %19 + %25 = tail call range(i32 0, 18) i32 @llvm.ctpop.i32(i32 %6) + %.not13.i = icmp samesign ugt i32 %25, 1 + %26 = and i32 %1, 262143 + %27 = icmp ne i32 %26, 2 + br i1 %.not13.i, label %get_type_kind.exit.thread27, label %28 -30: ; preds = %17, %get_type_kind.exit, %get_type_kind.exit.thread - %31 = phi i1 [ %26, %get_type_kind.exit.thread ], [ %29, %get_type_kind.exit ], [ %20, %17 ] - %32 = phi i1 [ %24, %get_type_kind.exit.thread ], [ false, %get_type_kind.exit ], [ %18, %17 ] +28: ; preds = %15, %get_type_kind.exit, %get_type_kind.exit.thread + %29 = phi i1 [ %24, %get_type_kind.exit.thread ], [ %27, %get_type_kind.exit ], [ %18, %15 ] + %30 = phi i1 [ %22, %get_type_kind.exit.thread ], [ false, %get_type_kind.exit ], [ %16, %15 ] br label %get_type_kind.exit.thread27 -get_type_kind.exit.thread27: ; preds = %8, %get_type_kind.exit, %17, %30 - %reflection_named_type_ptr.sink = phi ptr [ @reflection_named_type_ptr, %30 ], [ @reflection_union_type_ptr, %17 ], [ @reflection_union_type_ptr, %get_type_kind.exit ], [ %spec.select, %8 ] - %33 = phi i1 [ %31, %30 ], [ %20, %17 ], [ %29, %get_type_kind.exit ], [ %12, %8 ] - %34 = phi i1 [ %32, %30 ], [ %18, %17 ], [ false, %get_type_kind.exit ], [ %10, %8 ] - %35 = phi i1 [ true, %30 ], [ false, %17 ], [ false, %get_type_kind.exit ], [ false, %8 ] - %36 = load ptr, ptr %reflection_named_type_ptr.sink, align 8 - %37 = tail call i32 @object_init_ex(ptr noundef %2, ptr noundef %36) #13 - %38 = load ptr, ptr %2, align 8 - %39 = tail call noalias ptr @_emalloc_24() #13 - store ptr %0, ptr %39, align 8 - %.sroa.4.0..sroa_idx = getelementptr inbounds nuw i8, ptr %39, i64 8 +get_type_kind.exit.thread27: ; preds = %8, %get_type_kind.exit, %15, %28 + %reflection_named_type_ptr.sink = phi ptr [ @reflection_named_type_ptr, %28 ], [ @reflection_union_type_ptr, %15 ], [ @reflection_union_type_ptr, %get_type_kind.exit ], [ %spec.select, %8 ] + %31 = phi i1 [ %29, %28 ], [ %18, %15 ], [ %27, %get_type_kind.exit ], [ true, %8 ] + %32 = phi i1 [ %30, %28 ], [ %16, %15 ], [ false, %get_type_kind.exit ], [ %10, %8 ] + %33 = phi i1 [ true, %28 ], [ false, %15 ], [ false, %get_type_kind.exit ], [ false, %8 ] + %34 = load ptr, ptr %reflection_named_type_ptr.sink, align 8 + %35 = tail call i32 @object_init_ex(ptr noundef %2, ptr noundef %34) #13 + %36 = load ptr, ptr %2, align 8 + %37 = tail call noalias ptr @_emalloc_24() #13 + store ptr %0, ptr %37, align 8 + %.sroa.4.0..sroa_idx = getelementptr inbounds nuw i8, ptr %37, i64 8 store i32 %1, ptr %.sroa.4.0..sroa_idx, align 8 - %or.cond = and i1 %3, %35 - %not. = xor i1 %34, true - %narrow = and i1 %33, %not. + %or.cond = and i1 %3, %33 + %not. = xor i1 %32, true + %narrow = and i1 %31, %not. %narrow33 = and i1 %narrow, %or.cond - %40 = zext i1 %narrow33 to i8 - %41 = getelementptr inbounds nuw i8, ptr %39, i64 16 - store i8 %40, ptr %41, align 8 - %42 = getelementptr inbounds i8, ptr %38, i64 -24 - store ptr %39, ptr %42, align 8 - %43 = getelementptr inbounds i8, ptr %38, i64 -8 - store i32 5, ptr %43, align 8 - %44 = and i32 %1, 16777216 - %.not = icmp eq i32 %44, 0 - br i1 %.not, label %52, label %45 - -45: ; preds = %get_type_kind.exit.thread27 - %46 = getelementptr inbounds nuw i8, ptr %0, i64 4 - %47 = load i32, ptr %46, align 4 - %48 = and i32 %47, 64 - %.not23 = icmp eq i32 %48, 0 - br i1 %.not23, label %49, label %52 + %38 = zext i1 %narrow33 to i8 + %39 = getelementptr inbounds nuw i8, ptr %37, i64 16 + store i8 %38, ptr %39, align 8 + %40 = getelementptr inbounds i8, ptr %36, i64 -24 + store ptr %37, ptr %40, align 8 + %41 = getelementptr inbounds i8, ptr %36, i64 -8 + store i32 5, ptr %41, align 8 + %42 = and i32 %1, 16777216 + %.not = icmp eq i32 %42, 0 + br i1 %.not, label %50, label %43 + +43: ; preds = %get_type_kind.exit.thread27 + %44 = getelementptr inbounds nuw i8, ptr %0, i64 4 + %45 = load i32, ptr %44, align 4 + %46 = and i32 %45, 64 + %.not23 = icmp eq i32 %46, 0 + br i1 %.not23, label %47, label %50 -49: ; preds = %45 - %50 = load i32, ptr %0, align 4 - %51 = add i32 %50, 1 - store i32 %51, ptr %0, align 4 - br label %52 +47: ; preds = %43 + %48 = load i32, ptr %0, align 4 + %49 = add i32 %48, 1 + store i32 %49, ptr %0, align 4 + br label %50 -52: ; preds = %45, %49, %get_type_kind.exit.thread27 +50: ; preds = %43, %47, %get_type_kind.exit.thread27 ret void } diff --git a/bench/portaudio/optimized/pa_linux_alsa.c.ll b/bench/portaudio/optimized/pa_linux_alsa.c.ll index 1183a051109..ecc719ad2bc 100644 --- a/bench/portaudio/optimized/pa_linux_alsa.c.ll +++ b/bench/portaudio/optimized/pa_linux_alsa.c.ll @@ -4285,112 +4285,108 @@ sub_2: ; preds = %sub_1 %55 = tail call fastcc i32 @AlsaOpen(ptr noundef %1, ptr noundef nonnull %2, i32 noundef %3, ptr noundef %54) store i32 %55, ptr @paUtilErr_, align 4 %56 = icmp slt i32 %55, 0 - br i1 %56, label %.thread, label %58 + br i1 %56, label %57, label %59 -.thread: ; preds = %.thread64 +57: ; preds = %.thread64 tail call void (ptr, ...) @PaUtil_DebugPrint(ptr noundef nonnull @.str.111) #25 - %57 = load i32, ptr @paUtilErr_, align 4 - br label %99 - -58: ; preds = %.thread64 - %59 = load ptr, ptr %54, align 8 - %60 = tail call i32 @snd_pcm_poll_descriptors_count(ptr noundef %59) #25, !callees !77 - %61 = getelementptr inbounds nuw i8, ptr %0, i64 84 - store i32 %60, ptr %61, align 4 - %62 = load ptr, ptr %54, align 8 - %63 = tail call fastcc i64 @GetAvailableFormats(ptr noundef %62) - %64 = tail call i64 @PaUtil_SelectClosestAvailableFormat(i64 noundef %63, i64 noundef %7) #25 - %65 = trunc i64 %64 to i32 - store i32 %65, ptr @paUtilErr_, align 4 - %66 = icmp slt i32 %65, 0 - br i1 %66, label %67, label %69 - -67: ; preds = %58 - tail call void (ptr, ...) @PaUtil_DebugPrint(ptr noundef nonnull @.str.112) #25 - %68 = load i32, ptr @paUtilErr_, align 4 - br label %95 + %58 = load i32, ptr @paUtilErr_, align 4 + br label %.thread -69: ; preds = %58 - store i64 %64, ptr %0, align 8 - switch i64 %64, label %75 [ +59: ; preds = %.thread64 + %60 = load ptr, ptr %54, align 8 + %61 = tail call i32 @snd_pcm_poll_descriptors_count(ptr noundef %60) #25, !callees !77 + %62 = getelementptr inbounds nuw i8, ptr %0, i64 84 + store i32 %61, ptr %62, align 4 + %63 = load ptr, ptr %54, align 8 + %64 = tail call fastcc i64 @GetAvailableFormats(ptr noundef %63) + %65 = tail call i64 @PaUtil_SelectClosestAvailableFormat(i64 noundef %64, i64 noundef %7) #25 + %66 = trunc i64 %65 to i32 + store i32 %66, ptr @paUtilErr_, align 4 + %67 = icmp slt i32 %66, 0 + br i1 %67, label %94, label %68 + +68: ; preds = %59 + store i64 %65, ptr %0, align 8 + switch i64 %65, label %74 [ i64 1, label %Pa2AlsaFormat.exit - i64 8, label %70 - i64 4, label %71 - i64 2, label %72 - i64 16, label %73 - i64 32, label %74 + i64 8, label %69 + i64 4, label %70 + i64 2, label %71 + i64 16, label %72 + i64 32, label %73 ] -70: ; preds = %69 +69: ; preds = %68 br label %Pa2AlsaFormat.exit -71: ; preds = %69 +70: ; preds = %68 br label %Pa2AlsaFormat.exit -72: ; preds = %69 +71: ; preds = %68 br label %Pa2AlsaFormat.exit -73: ; preds = %69 +72: ; preds = %68 br label %Pa2AlsaFormat.exit -74: ; preds = %69 +73: ; preds = %68 br label %Pa2AlsaFormat.exit -75: ; preds = %69 +74: ; preds = %68 br label %Pa2AlsaFormat.exit -Pa2AlsaFormat.exit: ; preds = %69, %70, %71, %72, %73, %74, %75 - %.0.i = phi i32 [ -1, %75 ], [ 1, %74 ], [ 0, %73 ], [ 10, %72 ], [ 32, %71 ], [ 2, %70 ], [ 14, %69 ] - %76 = getelementptr inbounds nuw i8, ptr %0, i64 80 - store i32 %.0.i, ptr %76, align 8 - %77 = and i64 %7, 2147483648 - %.not56 = icmp eq i64 %77, 0 - %78 = zext i1 %.not56 to i32 - %79 = getelementptr inbounds nuw i8, ptr %0, i64 16 - store i32 %78, ptr %79, align 8 - %80 = getelementptr inbounds nuw i8, ptr %0, i64 20 - store i32 %78, ptr %80, align 4 - %81 = getelementptr inbounds nuw i8, ptr %2, i64 4 - %82 = load i32, ptr %81, align 4 - %83 = getelementptr inbounds nuw i8, ptr %0, i64 8 - store i32 %82, ptr %83, align 8 - %84 = getelementptr inbounds nuw i8, ptr %0, i64 112 - store i32 %3, ptr %84, align 8 - %85 = getelementptr inbounds nuw i8, ptr %0, i64 24 - store i32 0, ptr %85, align 8 - %86 = getelementptr inbounds nuw i8, ptr %0, i64 32 - store ptr null, ptr %86, align 8 - %87 = getelementptr inbounds nuw i8, ptr %0, i64 40 - store i32 0, ptr %87, align 8 +Pa2AlsaFormat.exit: ; preds = %68, %69, %70, %71, %72, %73, %74 + %.0.i = phi i32 [ -1, %74 ], [ 1, %73 ], [ 0, %72 ], [ 10, %71 ], [ 32, %70 ], [ 2, %69 ], [ 14, %68 ] + %75 = getelementptr inbounds nuw i8, ptr %0, i64 80 + store i32 %.0.i, ptr %75, align 8 + %76 = and i64 %7, 2147483648 + %.not56 = icmp eq i64 %76, 0 + %77 = zext i1 %.not56 to i32 + %78 = getelementptr inbounds nuw i8, ptr %0, i64 16 + store i32 %77, ptr %78, align 8 + %79 = getelementptr inbounds nuw i8, ptr %0, i64 20 + store i32 %77, ptr %79, align 4 + %80 = getelementptr inbounds nuw i8, ptr %2, i64 4 + %81 = load i32, ptr %80, align 4 + %82 = getelementptr inbounds nuw i8, ptr %0, i64 8 + store i32 %81, ptr %82, align 8 + %83 = getelementptr inbounds nuw i8, ptr %0, i64 112 + store i32 %3, ptr %83, align 8 + %84 = getelementptr inbounds nuw i8, ptr %0, i64 24 + store i32 0, ptr %84, align 8 + %85 = getelementptr inbounds nuw i8, ptr %0, i64 32 + store ptr null, ptr %85, align 8 + %86 = getelementptr inbounds nuw i8, ptr %0, i64 40 + store i32 0, ptr %86, align 8 %.not57 = icmp ne i32 %4, 0 %or.cond.not = select i1 %.not57, i1 true, i1 %.not56 - br i1 %or.cond.not, label %95, label %88 - -88: ; preds = %Pa2AlsaFormat.exit - %89 = sext i32 %82 to i64 - %90 = shl nsw i64 %89, 3 - %91 = tail call ptr @PaUtil_AllocateZeroInitializedMemory(i64 noundef %90) #25 - %92 = getelementptr inbounds nuw i8, ptr %0, i64 96 - store ptr %91, ptr %92, align 8 - %93 = icmp eq ptr %91, null - br i1 %93, label %94, label %95 - -94: ; preds = %88 + br i1 %or.cond.not, label %.thread, label %87 + +87: ; preds = %Pa2AlsaFormat.exit + %88 = sext i32 %81 to i64 + %89 = shl nsw i64 %88, 3 + %90 = tail call ptr @PaUtil_AllocateZeroInitializedMemory(i64 noundef %89) #25 + %91 = getelementptr inbounds nuw i8, ptr %0, i64 96 + store ptr %90, ptr %91, align 8 + %92 = icmp eq ptr %90, null + br i1 %92, label %93, label %.thread + +93: ; preds = %87 tail call void (ptr, ...) @PaUtil_DebugPrint(ptr noundef nonnull @.str.113) #25 - br label %95 + br label %.thread -95: ; preds = %Pa2AlsaFormat.exit, %88, %94, %67 - %.0 = phi i32 [ %68, %67 ], [ 0, %Pa2AlsaFormat.exit ], [ -9992, %94 ], [ 0, %88 ] - %96 = icmp eq i64 %64, -9994 - br i1 %96, label %97, label %99 +94: ; preds = %59 + tail call void (ptr, ...) @PaUtil_DebugPrint(ptr noundef nonnull @.str.112) #25 + %95 = load i32, ptr @paUtilErr_, align 4 + %96 = icmp eq i64 %65, -9994 + br i1 %96, label %97, label %.thread -97: ; preds = %95 +97: ; preds = %94 %98 = load ptr, ptr %54, align 8 tail call fastcc void @LogAllAvailableFormats(ptr noundef %98) - br label %99 + br label %.thread -99: ; preds = %.thread, %97, %95 - %.061 = phi i32 [ %57, %.thread ], [ %.0, %97 ], [ %.0, %95 ] +.thread: ; preds = %87, %93, %Pa2AlsaFormat.exit, %57, %97, %94 + %.061 = phi i32 [ %95, %97 ], [ %95, %94 ], [ 0, %87 ], [ -9992, %93 ], [ 0, %Pa2AlsaFormat.exit ], [ %58, %57 ] ret i32 %.061 } diff --git a/bench/qemu/optimized/block_vvfat.c.ll b/bench/qemu/optimized/block_vvfat.c.ll index e9f1790ba1e..234bf37125f 100644 --- a/bench/qemu/optimized/block_vvfat.c.ll +++ b/bench/qemu/optimized/block_vvfat.c.ll @@ -4283,8 +4283,8 @@ if.then.i: ; preds = %if.end br i1 %tobool2.not.i, label %vvfat_close_current_file.exit.thread, label %vvfat_close_current_file.exit vvfat_close_current_file.exit.thread: ; preds = %if.end, %if.then.i - %current_cluster.i120 = getelementptr inbounds nuw i8, ptr %s, i64 32992 - store i32 -1, ptr %current_cluster.i120, align 8 + %current_cluster.i119 = getelementptr inbounds nuw i8, ptr %s, i64 32992 + store i32 -1, ptr %current_cluster.i119, align 8 br label %for.body.lr.ph.lr.ph.i vvfat_close_current_file.exit: ; preds = %if.then.i @@ -4293,12 +4293,12 @@ vvfat_close_current_file.exit: ; preds = %if.then.i %.pre = load i32, ptr %next, align 4 %current_cluster.i = getelementptr inbounds nuw i8, ptr %s, i64 32992 store i32 -1, ptr %current_cluster.i, align 8 - %cmp197204.not.i = icmp eq i32 %.pre, 0 - br i1 %cmp197204.not.i, label %if.end3, label %for.body.lr.ph.lr.ph.i + %cmp196203.not.i = icmp eq i32 %.pre, 0 + br i1 %cmp196203.not.i, label %if.end3, label %for.body.lr.ph.lr.ph.i for.body.lr.ph.lr.ph.i: ; preds = %vvfat_close_current_file.exit.thread, %vvfat_close_current_file.exit %3 = phi i32 [ %0, %vvfat_close_current_file.exit.thread ], [ %.pre, %vvfat_close_current_file.exit ] - %commits.i123 = getelementptr inbounds nuw i8, ptr %s, i64 33032 + %commits.i122 = getelementptr inbounds nuw i8, ptr %s, i64 33032 %item_size.i.i = getelementptr inbounds nuw i8, ptr %s, i64 33048 %next99.i = getelementptr inbounds nuw i8, ptr %s, i64 32868 %sectors_per_cluster106.i = getelementptr inbounds nuw i8, ptr %s, i64 32924 @@ -4312,14 +4312,14 @@ for.body.lr.ph.lr.ph.i: ; preds = %vvfat_close_current for.body.lr.ph.i: ; preds = %if.end159.i, %for.body.lr.ph.lr.ph.i %5 = phi i32 [ %3, %for.body.lr.ph.lr.ph.i ], [ %6, %if.end159.i ] - %i.0.ph205.i = phi i32 [ 0, %for.body.lr.ph.lr.ph.i ], [ %add.i.i158.i, %if.end159.i ] - %cmp.i.i152.i = icmp sgt i32 %i.0.ph205.i, -1 - %add.i.i158.i = add nuw i32 %i.0.ph205.i, 1 + %i.0.ph204.i = phi i32 [ 0, %for.body.lr.ph.lr.ph.i ], [ %add.i.i158.i, %if.end159.i ] + %cmp.i.i152.i = icmp sgt i32 %i.0.ph204.i, -1 + %add.i.i158.i = add nuw i32 %i.0.ph204.i, 1 br label %for.body.i for.body.i: ; preds = %for.cond.backedge.i, %for.body.lr.ph.i %6 = phi i32 [ %5, %for.body.lr.ph.i ], [ %storemerge.i, %for.cond.backedge.i ] - %cmp.i.i = icmp ult i32 %i.0.ph205.i, %6 + %cmp.i.i = icmp ult i32 %i.0.ph204.i, %6 br i1 %cmp.i.i, label %if.end.i.i, label %if.else.i.i if.else.i.i: ; preds = %for.body.i @@ -4327,7 +4327,7 @@ if.else.i.i: ; preds = %for.body.i unreachable if.end.i.i: ; preds = %for.body.i - %7 = load ptr, ptr %commits.i123, align 8 + %7 = load ptr, ptr %commits.i122, align 8 %tobool.not.i.i = icmp eq ptr %7, null br i1 %tobool.not.i.i, label %if.else2.i.i, label %array_get.exit.i @@ -4337,7 +4337,7 @@ if.else2.i.i: ; preds = %if.end.i.i array_get.exit.i: ; preds = %if.end.i.i %8 = load i32, ptr %item_size.i.i, align 8 - %mul.i.i = mul i32 %8, %i.0.ph205.i + %mul.i.i = mul i32 %8, %i.0.ph204.i %idx.ext.i.i = zext i32 %mul.i.i to i64 %add.ptr.i.i = getelementptr i8, ptr %7, i64 %idx.ext.i.i %action.i = getelementptr inbounds nuw i8, ptr %add.ptr.i.i, i64 16 @@ -4439,10 +4439,10 @@ array_get.exit98.i: ; preds = %if.end.i91.i %idx.ext.i95.i = zext i32 %mul.i94.i to i64 %add.ptr.i96.i = getelementptr i8, ptr %23, i64 %idx.ext.i95.i %25 = load i32, ptr %add.ptr.i.i.i, align 8 - %s.val192.i = load i32, ptr %4, align 4 - %sub.i193.i = add i32 %s.val192.i, -8 - %cmp.i99.not194.i = icmp ugt i32 %25, %sub.i193.i - br i1 %cmp.i99.not194.i, label %if.end70.i, label %do.body.preheader.lr.ph.i + %s.val191.i = load i32, ptr %4, align 4 + %sub.i192.i = add i32 %s.val191.i, -8 + %cmp.i99.not193.i = icmp ugt i32 %25, %sub.i192.i + br i1 %cmp.i99.not193.i, label %if.end70.i, label %do.body.preheader.lr.ph.i do.body.preheader.lr.ph.i: ; preds = %array_get.exit98.i %sub.i = add i32 %conv.i, 1 @@ -4454,12 +4454,12 @@ do.body.preheader.lr.ph.i: ; preds = %array_get.exit98.i br label %do.body.preheader.i do.body.preheader.i: ; preds = %do.end.i, %do.body.preheader.lr.ph.i - %c.0196.i = phi i32 [ %25, %do.body.preheader.lr.ph.i ], [ %call69.i, %do.end.i ] - %j.0195.i = phi i32 [ 0, %do.body.preheader.lr.ph.i ], [ %inc.i, %do.end.i ] + %c.0195.i = phi i32 [ %25, %do.body.preheader.lr.ph.i ], [ %call69.i, %do.end.i ] + %j.0194.i = phi i32 [ 0, %do.body.preheader.lr.ph.i ], [ %inc.i, %do.end.i ] br label %do.body.i do.body.i: ; preds = %if.end66.i, %do.body.preheader.i - %j.1.i = phi i32 [ %inc.i, %if.end66.i ], [ %j.0195.i, %do.body.preheader.i ] + %j.1.i = phi i32 [ %inc.i, %if.end66.i ], [ %j.0194.i, %do.body.preheader.i ] %idx.ext.i = sext i32 %j.1.i to i64 %add.ptr.i = getelementptr %struct.direntry_t, ptr %add.ptr.i96.i, i64 %idx.ext.i %26 = getelementptr i8, ptr %add.ptr.i, i64 11 @@ -4490,16 +4490,12 @@ lor.lhs.false.i: ; preds = %land.rhs.i.i, %is_s is_directory.exit.i: ; preds = %lor.lhs.false.i %29 = load i8, ptr %add.ptr.i, align 1 - %cmp.i103.not.i = icmp eq i8 %29, -27 - br i1 %cmp.i103.not.i, label %if.end66.i, label %land.lhs.true.i - -land.lhs.true.i: ; preds = %is_directory.exit.i - %cond.i = icmp ne i8 %direntry.val.i.i.i, 40 - %cond185.i = icmp eq i8 %29, 46 - %or.cond241.i = and i1 %cond.i, %cond185.i - br i1 %or.cond241.i, label %if.end66.i, label %if.then33.i + switch i8 %29, label %if.then33.i [ + i8 -27, label %if.end66.i + i8 46, label %if.end66.i + ] -if.then33.i: ; preds = %land.lhs.true.i, %land.rhs.i.i +if.then33.i: ; preds = %is_directory.exit.i, %land.rhs.i.i %30 = getelementptr i8, ptr %add.ptr.i, i64 20 %add.ptr.val.i = load i16, ptr %30, align 1 %31 = getelementptr i8, ptr %add.ptr.i, i64 26 @@ -4568,7 +4564,7 @@ if.end53.i: ; preds = %if.end39.i %add.ptr64.i = getelementptr i8, ptr %41, i64 %conv48.i tail call void @pstrcpy(ptr noundef %add.ptr58.i, i32 noundef %sub61.i, ptr noundef %add.ptr64.i) #20 %42 = load i32, ptr %add.ptr.i.i122.i, align 8 - %call.i130.i = tail call fastcc ptr @array_get_next(ptr noundef nonnull %commits.i123) + %call.i130.i = tail call fastcc ptr @array_get_next(ptr noundef nonnull %commits.i122) store ptr %call45.i, ptr %call.i130.i, align 8 %param.i.i = getelementptr inbounds nuw i8, ptr %call.i130.i, i64 8 store i32 %42, ptr %param.i.i, align 8 @@ -4576,7 +4572,7 @@ if.end53.i: ; preds = %if.end39.i store i32 0, ptr %action.i.i, align 8 br label %if.end66.i -if.end66.i: ; preds = %if.end53.i, %land.lhs.true.i, %is_directory.exit.i, %lor.lhs.false.i +if.end66.i: ; preds = %if.end53.i, %is_directory.exit.i, %is_directory.exit.i, %lor.lhs.false.i %inc.i = add i32 %j.1.i, 1 %43 = load i32, ptr %sectors_per_cluster106.i, align 4 %mul.i = shl i32 %43, 4 @@ -4585,7 +4581,7 @@ if.end66.i: ; preds = %if.end53.i, %land.l br i1 %cmp67.not.i, label %do.end.i, label %do.body.i, !llvm.loop !26 do.end.i: ; preds = %if.end66.i - %call69.i = tail call fastcc i32 @fat_get(ptr noundef nonnull %s, i32 noundef %c.0196.i) + %call69.i = tail call fastcc i32 @fat_get(ptr noundef nonnull %s, i32 noundef %c.0195.i) %s.val.i = load i32, ptr %4, align 4 %sub.i.i = add i32 %s.val.i, -8 %cmp.i99.not.i = icmp ugt i32 %call69.i, %sub.i.i @@ -4601,7 +4597,7 @@ if.else.i.i.i: ; preds = %if.end70.i if.end.i.i132.i: ; preds = %if.end70.i %44 = load i32, ptr %next, align 4 - %cmp5.not.i.not.i.i = icmp ult i32 %i.0.ph205.i, %44 + %cmp5.not.i.not.i.i = icmp ult i32 %i.0.ph204.i, %44 br i1 %cmp5.not.i.not.i.i, label %for.cond.backedge.i, label %if.else7.i.i.i if.else7.i.i.i: ; preds = %if.end.i.i132.i @@ -4609,23 +4605,23 @@ if.else7.i.i.i: ; preds = %if.end.i.i132.i unreachable for.cond.backedge.i: ; preds = %if.end.i.i154.i, %if.end.i.i132.i - %.sink242.i = phi i32 [ %62, %if.end.i.i154.i ], [ %44, %if.end.i.i132.i ] - %45 = load ptr, ptr %commits.i123, align 8 + %.sink240.i = phi i32 [ %62, %if.end.i.i154.i ], [ %44, %if.end.i.i132.i ] + %45 = load ptr, ptr %commits.i122, align 8 %46 = load i32, ptr %item_size.i.i, align 8 - %mul.i.i134.i = mul i32 %46, %i.0.ph205.i + %mul.i.i134.i = mul i32 %46, %i.0.ph204.i %idx.ext.i.i135.i = zext i32 %mul.i.i134.i to i64 %add.ptr.i.i136.i = getelementptr i8, ptr %45, i64 %idx.ext.i.i135.i %mul12.i.i.i = mul i32 %46, %add.i.i158.i %idx.ext13.i.i.i = zext i32 %mul12.i.i.i to i64 %add.ptr14.i.i.i = getelementptr i8, ptr %45, i64 %idx.ext13.i.i.i - %sub16.i.i.i = sub nuw i32 %.sink242.i, %add.i.i158.i + %sub16.i.i.i = sub nuw i32 %.sink240.i, %add.i.i158.i %mul18.i.i.i = mul i32 %46, %sub16.i.i.i %conv.i.i.i = zext i32 %mul18.i.i.i to i64 tail call void @llvm.memmove.p0.p0.i64(ptr align 1 %add.ptr.i.i136.i, ptr align 1 %add.ptr14.i.i.i, i64 %conv.i.i.i, i1 false) %storemerge.in.i = load i32, ptr %next, align 4 %storemerge.i = add i32 %storemerge.in.i, -1 store i32 %storemerge.i, ptr %next, align 4 - %cmp.i = icmp ult i32 %i.0.ph205.i, %storemerge.i + %cmp.i = icmp ult i32 %i.0.ph204.i, %storemerge.i br i1 %cmp.i, label %for.body.i, label %if.end3, !llvm.loop !28 if.then77.i: ; preds = %array_get.exit.i @@ -4666,8 +4662,8 @@ if.end103.i: ; preds = %if.end94.i %first_dir_index110.i = getelementptr inbounds nuw i8, ptr %call90.i, i64 20 store i32 %50, ptr %first_dir_index110.i, align 4 %52 = load i32, ptr %next121.i, align 4 - %cmp122190.not.i = icmp eq i32 %52, 0 - br i1 %cmp122190.not.i, label %if.else153.i, label %for.body124.lr.ph.i + %cmp122189.not.i = icmp eq i32 %52, 0 + br i1 %cmp122189.not.i, label %if.else153.i, label %for.body124.lr.ph.i for.body124.lr.ph.i: ; preds = %if.end103.i %53 = load ptr, ptr %add.ptr.i.i, align 8 @@ -4722,8 +4718,8 @@ land.lhs.true139.i: ; preds = %land.lhs.true133.i for.inc.i: ; preds = %land.lhs.true139.i, %land.lhs.true133.i, %if.end.i144.i %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 - %exitcond213.not.i = icmp eq i64 %indvars.iv.next, %57 - br i1 %exitcond213.not.i, label %if.else153.i, label %if.end.i144.i, !llvm.loop !29 + %exitcond212.not.i = icmp eq i64 %indvars.iv.next, %57 + br i1 %exitcond212.not.i, label %if.else153.i, label %if.end.i144.i, !llvm.loop !29 if.else153.i: ; preds = %if.end103.i, %for.inc.i tail call void @__assert_fail(ptr noundef nonnull @.str.99, ptr noundef nonnull @.str.13, i32 noundef 2760, ptr noundef nonnull @__PRETTY_FUNCTION__.handle_renames_and_mkdirs) #22 @@ -4739,7 +4735,7 @@ if.else.i.i153.i: ; preds = %if.end154.i if.end.i.i154.i: ; preds = %if.end154.i %62 = load i32, ptr %next, align 4 - %cmp5.not.i.not.i156.i = icmp ult i32 %i.0.ph205.i, %62 + %cmp5.not.i.not.i156.i = icmp ult i32 %i.0.ph204.i, %62 br i1 %cmp5.not.i.not.i156.i, label %for.cond.backedge.i, label %if.else7.i.i157.i if.else7.i.i157.i: ; preds = %if.end.i.i154.i @@ -4747,8 +4743,8 @@ if.else7.i.i157.i: ; preds = %if.end.i.i154.i unreachable if.end159.i: ; preds = %array_get.exit.i - %cmp197.i = icmp ult i32 %add.i.i158.i, %6 - br i1 %cmp197.i, label %for.body.lr.ph.i, label %if.end3, !llvm.loop !28 + %cmp196.i = icmp ult i32 %add.i.i158.i, %6 + br i1 %cmp196.i, label %for.body.lr.ph.i, label %if.end3, !llvm.loop !28 if.then1: ; preds = %if.end8.i, %if.then77.i, %if.end84.i, %if.then.i20, %array_get.exit.i.i, %if.then33.i, %array_get.exit.i118.i %retval.0.i.ph = phi i32 [ -1, %array_get.exit.i118.i ], [ -1, %if.then33.i ], [ -2, %if.end8.i ], [ -5, %if.then77.i ], [ -6, %if.end84.i ], [ -1, %if.then.i20 ], [ -1, %array_get.exit.i.i ] @@ -4825,9 +4821,9 @@ if.else.i.i28: ; preds = %for.body.i26 if.end.i.i29: ; preds = %for.body.i26 %76 = load ptr, ptr %mapping.i, align 8 %tobool.not.i.i30 = icmp eq ptr %76, null - br i1 %tobool.not.i.i30, label %if.else2.i.i48, label %array_get.exit.i31 + br i1 %tobool.not.i.i30, label %if.else2.i.i47, label %array_get.exit.i31 -if.else2.i.i48: ; preds = %if.end.i.i29 +if.else2.i.i47: ; preds = %if.end.i.i29 tail call void @__assert_fail(ptr noundef nonnull @.str.49, ptr noundef nonnull @.str.13, i32 noundef 106, ptr noundef nonnull @__PRETTY_FUNCTION__.array_get) #22 unreachable @@ -4898,18 +4894,18 @@ for.body27.i.preheader: ; preds = %for.cond23.preheade br label %if.end.i42.i if.then19.i: ; preds = %if.then13.i - %call20.i45 = tail call ptr @__errno_location() #23 - %87 = load i32, ptr %call20.i45, align 4 + %call20.i44 = tail call ptr @__errno_location() #23 + %87 = load i32, ptr %call20.i44, align 4 %cmp21.i = icmp eq i32 %87, 39 br i1 %cmp21.i, label %if.then22.i, label %if.then16 if.then22.i: ; preds = %if.then19.i - %inc.i46 = add i32 %deferred.172.i, 1 + %inc.i45 = add i32 %deferred.172.i, 1 br label %for.inc58.i -if.end.i42.i: ; preds = %for.inc.i44, %for.body27.i.preheader - %next_dir_index.069.i = phi i32 [ %next_dir_index.1.i, %for.inc.i44 ], [ %80, %for.body27.i.preheader ] - %j.068.i = phi i32 [ %inc44.i, %for.inc.i44 ], [ 1, %for.body27.i.preheader ] +if.end.i42.i: ; preds = %for.inc.i43, %for.body27.i.preheader + %next_dir_index.069.i = phi i32 [ %next_dir_index.1.i, %for.inc.i43 ], [ %80, %for.body27.i.preheader ] + %j.068.i = phi i32 [ %inc44.i, %for.inc.i43 ], [ 1, %for.body27.i.preheader ] br i1 %tobool.not.i43.i, label %if.else2.i48.i, label %array_get.exit49.i if.else2.i48.i: ; preds = %if.end.i42.i @@ -4925,24 +4921,24 @@ array_get.exit49.i: ; preds = %if.end.i42.i %89 = load i32, ptr %mode30.i, align 8 %and31.i = and i32 %89, 4 %tobool32.not.i = icmp eq i32 %and31.i, 0 - br i1 %tobool32.not.i, label %for.inc.i44, label %land.lhs.true.i43 + br i1 %tobool32.not.i, label %for.inc.i43, label %land.lhs.true.i -land.lhs.true.i43: ; preds = %array_get.exit49.i +land.lhs.true.i: ; preds = %array_get.exit49.i %first_dir_index34.i = getelementptr inbounds nuw i8, ptr %add.ptr.i47.i, i64 20 %90 = load i32, ptr %first_dir_index34.i, align 4 %cmp35.i = icmp sgt i32 %90, %83 %91 = tail call i32 @llvm.smin.i32(i32 %90, i32 %next_dir_index.069.i) %spec.select.i = select i1 %cmp35.i, i32 %91, i32 %next_dir_index.069.i - br label %for.inc.i44 + br label %for.inc.i43 -for.inc.i44: ; preds = %land.lhs.true.i43, %array_get.exit49.i - %next_dir_index.1.i = phi i32 [ %next_dir_index.069.i, %array_get.exit49.i ], [ %spec.select.i, %land.lhs.true.i43 ] +for.inc.i43: ; preds = %land.lhs.true.i, %array_get.exit49.i + %next_dir_index.1.i = phi i32 [ %next_dir_index.069.i, %array_get.exit49.i ], [ %spec.select.i, %land.lhs.true.i ] %inc44.i = add nuw i32 %j.068.i, 1 %exitcond77.not.i = icmp eq i32 %inc44.i, %85 br i1 %exitcond77.not.i, label %for.end.i, label %if.end.i42.i, !llvm.loop !32 -for.end.i: ; preds = %for.inc.i44, %for.cond23.preheader.i - %next_dir_index.0.lcssa.i = phi i32 [ %80, %for.cond23.preheader.i ], [ %next_dir_index.1.i, %for.inc.i44 ] +for.end.i: ; preds = %for.inc.i43, %for.cond23.preheader.i + %next_dir_index.0.lcssa.i = phi i32 [ %80, %for.cond23.preheader.i ], [ %next_dir_index.1.i, %for.inc.i43 ] %sub.i39 = sub i32 %next_dir_index.0.lcssa.i, %83 tail call fastcc void @remove_direntries(ptr noundef nonnull %s, i32 noundef %83, i32 noundef %sub.i39) %inc46.i = add i32 %deleted.171.i, 1 @@ -4953,20 +4949,20 @@ if.else48.i: ; preds = %array_get.exit37.i %92 = load ptr, ptr %path49.i, align 8 %call50.i = tail call i32 @unlink(ptr noundef %92) #20 %tobool51.not.i = icmp eq i32 %call50.i, 0 - br i1 %tobool51.not.i, label %if.end53.i47, label %if.then16 + br i1 %tobool51.not.i, label %if.end53.i46, label %if.then16 -if.end53.i47: ; preds = %if.else48.i +if.end53.i46: ; preds = %if.else48.i %inc54.i = add i32 %deleted.171.i, 1 br label %if.end55.i -if.end55.i: ; preds = %if.end53.i47, %for.end.i, %if.then9.i - %deleted.3.i = phi i32 [ %inc46.i, %for.end.i ], [ %deleted.171.i, %if.then9.i ], [ %inc54.i, %if.end53.i47 ] +if.end55.i: ; preds = %if.end53.i46, %for.end.i, %if.then9.i + %deleted.3.i = phi i32 [ %inc46.i, %for.end.i ], [ %deleted.171.i, %if.then9.i ], [ %inc54.i, %if.end53.i46 ] tail call fastcc void @remove_mapping(ptr noundef nonnull %s, i32 noundef %i.073.i) br label %for.inc58.i for.inc58.i: ; preds = %if.end55.i, %if.then22.i, %array_get.exit.i31 %deleted.2.i = phi i32 [ %deleted.171.i, %if.then22.i ], [ %deleted.3.i, %if.end55.i ], [ %deleted.171.i, %array_get.exit.i31 ] - %deferred.2.i = phi i32 [ %inc.i46, %if.then22.i ], [ %deferred.172.i, %if.end55.i ], [ %deferred.172.i, %array_get.exit.i31 ] + %deferred.2.i = phi i32 [ %inc.i45, %if.then22.i ], [ %deferred.172.i, %if.end55.i ], [ %deferred.172.i, %array_get.exit.i31 ] %inc59.i = add nuw i32 %i.073.i, 1 %93 = load i32, ptr %next.i22, align 4 %cmp.i41 = icmp ult i32 %inc59.i, %93 @@ -4991,10 +4987,10 @@ if.end18: ; preds = %for.cond.preheader. %s.val = load i32, ptr %99, align 4 %100 = getelementptr i8, ptr %s, i64 32956 %s.val19 = load i32, ptr %100, align 4 - %conv.i49 = zext i32 %s.val19 to i64 - %sub.i50 = sub nsw i64 %conv20, %conv.i49 + %conv.i48 = zext i32 %s.val19 to i64 + %sub.i49 = sub nsw i64 %conv20, %conv.i48 %conv1.i = zext i32 %s.val to i64 - %div.i = sdiv i64 %sub.i50, %conv1.i + %div.i = sdiv i64 %sub.i49, %conv1.i %sext = shl i64 %div.i, 32 %conv22 = ashr exact i64 %sext, 32 tail call void @llvm.memset.p0.i64(ptr align 1 %97, i8 0, i64 %conv22, i1 false) @@ -6823,16 +6819,12 @@ array_get.exit157: ; preds = %if.end.i150 is_directory.exit163: ; preds = %array_get.exit157 %48 = load i8, ptr %add.ptr.i155, align 1 - %cmp.i161.not = icmp eq i8 %48, -27 - br i1 %cmp.i161.not, label %for.inc130, label %land.lhs.true - -land.lhs.true: ; preds = %is_directory.exit163 - %cond210 = icmp ne i8 %46, 40 - %cond211 = icmp eq i8 %48, 46 - %or.cond = and i1 %cond210, %cond211 - br i1 %or.cond, label %for.inc130, label %if.then110 + switch i8 %48, label %if.then110 [ + i8 -27, label %for.inc130 + i8 46, label %for.inc130 + ] -if.then110: ; preds = %land.lhs.true +if.then110: ; preds = %is_directory.exit163 %49 = load i32, ptr %next.i87, align 4 %call.i168 = tail call fastcc i32 @find_mapping_for_cluster_aux(ptr noundef nonnull readonly %s, i32 noundef %cond, i32 noundef %49) %50 = load i32, ptr %next.i87, align 4 @@ -6901,7 +6893,7 @@ array_index.exit: ; preds = %if.end.i190 %tobool126.not = icmp eq i32 %call125, 0 br i1 %tobool126.not, label %for.inc130, label %return -for.inc130: ; preds = %land.lhs.true, %array_get.exit157, %is_directory.exit163, %array_index.exit +for.inc130: ; preds = %is_directory.exit163, %is_directory.exit163, %array_get.exit157, %array_index.exit %inc131 = add nuw nsw i32 %i.0231, 1 %exitcond.not = icmp eq i32 %inc131, %mul98 br i1 %exitcond.not, label %return, label %for.body101, !llvm.loop !47 diff --git a/bench/qemu/optimized/hw_ufs_lu.c.ll b/bench/qemu/optimized/hw_ufs_lu.c.ll index 730799aad12..6ebeda642e0 100644 --- a/bench/qemu/optimized/hw_ufs_lu.c.ll +++ b/bench/qemu/optimized/hw_ufs_lu.c.ll @@ -132,8 +132,7 @@ ufs_emulate_report_luns.exit: ; preds = %for.inc.i %sub.i = add nsw i32 %len.1.i, -8 %5 = tail call i32 @llvm.bswap.i32(i32 %sub.i) store i32 %5, ptr %outbuf, align 16 - %cmp = icmp eq i32 %len.1.i, -1 - br i1 %cmp, label %sw.epilog.thread, label %sw.epilog + br label %sw.epilog sw.bb5: ; preds = %entry %arrayidx.i = getelementptr i8, ptr %req, i64 65 @@ -209,9 +208,9 @@ sw.bb19: ; preds = %entry %cmp21 = icmp eq i8 %10, -48 br i1 %cmp21, label %sw.epilog, label %sw.epilog.thread -sw.epilog.thread: ; preds = %entry, %sw.bb19, %if.then1.i, %if.end2.i, %ufs_emulate_report_luns.exit, %sw.bb - %sense_code_INVALID_OPCODE.sink = phi ptr [ @sense_code_INVALID_FIELD, %sw.bb ], [ @sense_code_INVALID_FIELD, %ufs_emulate_report_luns.exit ], [ @sense_code_INVALID_FIELD, %if.end2.i ], [ @sense_code_INVALID_FIELD, %if.then1.i ], [ @sense_code_INVALID_OPCODE, %sw.bb19 ], [ @sense_code_INVALID_OPCODE, %entry ] - %len.0.ph = phi i32 [ -1, %sw.bb ], [ -1, %ufs_emulate_report_luns.exit ], [ -1, %if.end2.i ], [ -1, %if.then1.i ], [ 0, %sw.bb19 ], [ 0, %entry ] +sw.epilog.thread: ; preds = %entry, %sw.bb19, %if.then1.i, %if.end2.i, %sw.bb + %sense_code_INVALID_OPCODE.sink = phi ptr [ @sense_code_INVALID_FIELD, %sw.bb ], [ @sense_code_INVALID_FIELD, %if.end2.i ], [ @sense_code_INVALID_FIELD, %if.then1.i ], [ @sense_code_INVALID_OPCODE, %sw.bb19 ], [ @sense_code_INVALID_OPCODE, %entry ] + %len.0.ph = phi i32 [ -1, %sw.bb ], [ -1, %if.end2.i ], [ -1, %if.then1.i ], [ 0, %sw.bb19 ], [ 0, %entry ] %sense_code_INVALID_OPCODE.coerce.0.copyload = load i24, ptr %sense_code_INVALID_OPCODE.sink, align 1 %call26 = call i32 @scsi_build_sense(ptr noundef nonnull %sense_buf, i24 %sense_code_INVALID_OPCODE.coerce.0.copyload) #9 %data_len43 = getelementptr inbounds nuw i8, ptr %req, i64 632 @@ -219,7 +218,7 @@ sw.epilog.thread: ; preds = %entry, %sw.bb19, %i %cond44 = call i32 @llvm.smin.i32(i32 %len.0.ph, i32 %11) br label %if.end68 -sw.epilog: ; preds = %if.end10.i, %if.end.i.i, %ufs_emulate_report_luns.exit.thread34, %sw.bb19, %ufs_emulate_report_luns.exit, %sw.bb16 +sw.epilog: ; preds = %ufs_emulate_report_luns.exit, %if.end10.i, %if.end.i.i, %ufs_emulate_report_luns.exit.thread34, %sw.bb19, %sw.bb16 %len.0 = phi i32 [ %call18, %sw.bb16 ], [ %len.1.i, %ufs_emulate_report_luns.exit ], [ 0, %sw.bb19 ], [ %len.01.i, %ufs_emulate_report_luns.exit.thread34 ], [ 36, %if.end10.i ], [ %buflen.0.i.i, %if.end.i.i ] %data_len = getelementptr inbounds nuw i8, ptr %req, i64 632 %12 = load i32, ptr %data_len, align 8 diff --git a/bench/qemu/optimized/hw_usb_dev-smartcard-reader.c.ll b/bench/qemu/optimized/hw_usb_dev-smartcard-reader.c.ll index 379004bf209..9b1ab33b460 100644 --- a/bench/qemu/optimized/hw_usb_dev-smartcard-reader.c.ll +++ b/bench/qemu/optimized/hw_usb_dev-smartcard-reader.c.ll @@ -415,11 +415,9 @@ do.end: ; preds = %entry, %if.then br i1 %tobool.i.not, label %if.end7, label %if.then6 if.then6: ; preds = %do.end - %5 = and i8 %call2.val, -2 - %cmp.not.i = icmp eq i8 %call2.val, %5 - %6 = or i8 %5, 2 - %storemerge7.i = select i1 %cmp.not.i, i8 %5, i8 %6 - store i8 %storemerge7.i, ptr %3, align 8 + %5 = and i8 %call2.val, -4 + %6 = or disjoint i8 %5, 2 + store i8 %6, ptr %3, align 8 %notify_slot_change.i = getelementptr inbounds nuw i8, ptr %call.i5, i64 75010 store i8 1, ptr %notify_slot_change.i, align 2 %intr.i = getelementptr inbounds nuw i8, ptr %call.i5, i64 5864 diff --git a/bench/qemu/optimized/system_physmem.c.ll b/bench/qemu/optimized/system_physmem.c.ll index 1772514d072..5966d0b9598 100644 --- a/bench/qemu/optimized/system_physmem.c.ll +++ b/bench/qemu/optimized/system_physmem.c.ll @@ -10006,8 +10006,8 @@ for.body60.lr.ph: ; preds = %for.end %nodes = getelementptr inbounds nuw i8, ptr %d, i64 48 br label %for.body60 -for.body60: ; preds = %for.body60.lr.ph, %for.inc104 - %i.178 = phi i32 [ 0, %for.body60.lr.ph ], [ %inc105, %for.inc104 ] +for.body60: ; preds = %for.body60.lr.ph, %mtree_print_phys_entries.exit71 + %i.178 = phi i32 [ 0, %for.body60.lr.ph ], [ %inc105, %mtree_print_phys_entries.exit71 ] %15 = load ptr, ptr %nodes, align 8 %idx.ext62 = sext i32 %i.178 to i64 %add.ptr63 = getelementptr [512 x %struct.PhysPageEntry], ptr %15, i64 %idx.ext62 @@ -10079,13 +10079,9 @@ for.inc92: ; preds = %land.lhs.true, %mtr %prev.sroa.0.1 = phi i32 [ %prev.sroa.0.075, %land.lhs.true ], [ %prev.sroa.0.0.copyload7, %mtree_print_phys_entries.exit ] %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 %exitcond.not = icmp eq i64 %indvars.iv.next, 512 - br i1 %exitcond.not, label %for.end94, label %for.body70, !llvm.loop !85 + br i1 %exitcond.not, label %if.then98, label %for.body70, !llvm.loop !85 -for.end94: ; preds = %for.inc92 - %cmp96.not = icmp eq i32 %jprev.1, 512 - br i1 %cmp96.not, label %for.inc104, label %if.then98 - -if.then98: ; preds = %for.end94 +if.then98: ; preds = %for.inc92 %bf.clear100 = and i32 %prev.sroa.0.1, 63 %bf.lshr102 = lshr i32 %prev.sroa.0.1, 6 %cmp.i54 = icmp eq i32 %jprev.1, 511 @@ -10122,15 +10118,12 @@ if.else10.i62: ; preds = %if.else7.i60 mtree_print_phys_entries.exit71: ; preds = %if.then5.i67, %if.then8.i65, %if.else10.i62 %call14.i64 = tail call i32 (ptr, ...) @qemu_printf(ptr noundef nonnull @.str.75) #28 - br label %for.inc104 - -for.inc104: ; preds = %for.end94, %mtree_print_phys_entries.exit71 %inc105 = add nuw i32 %i.178, 1 %21 = load i32, ptr %nodes_nb, align 8 %cmp58 = icmp ult i32 %inc105, %21 br i1 %cmp58, label %for.body60, label %for.end106, !llvm.loop !86 -for.end106: ; preds = %for.inc104, %for.end +for.end106: ; preds = %mtree_print_phys_entries.exit71, %for.end ret void } diff --git a/bench/qemu/optimized/tcg-op-ldst.c.ll b/bench/qemu/optimized/tcg-op-ldst.c.ll index 28adcbd7354..d5919ce4ed7 100644 --- a/bench/qemu/optimized/tcg-op-ldst.c.ll +++ b/bench/qemu/optimized/tcg-op-ldst.c.ll @@ -2103,7 +2103,7 @@ get_alignment_bits.exit.i.i: ; preds = %if.else4.i.i.i, %if %a.0.i.i.i = phi i32 [ 3, %if.then2.i.i.i ], [ %shr.i.i.i, %if.else4.i.i.i ], [ 0, %if.then2.i ] %5 = load i8, ptr @tcg_use_softmmu, align 1 %tobool.i.i.i = trunc i8 %5 to i1 - br i1 %tobool.i.i.i, label %do.body.i.i.i, label %sw.bb10.i.i + br i1 %tobool.i.i.i, label %do.body.i.i.i, label %if.then5.i do.body.i.i.i: ; preds = %get_alignment_bits.exit.i.i %add.i.i.i = add nuw nsw i32 %a.0.i.i.i, 5 @@ -2112,17 +2112,13 @@ do.body.i.i.i: ; preds = %get_alignment_bits. %conv.i.i.i = zext i8 %6 to i32 %cmp.i.i.i = icmp samesign ule i32 %add.i.i.i, %conv.i.i.i tail call void @llvm.assume(i1 %cmp.i.i.i) - br label %sw.bb10.i.i + br label %if.then5.i -sw.bb10.i.i: ; preds = %do.body.i.i.i, %get_alignment_bits.exit.i.i +if.then5.i: ; preds = %do.body.i.i.i, %get_alignment_bits.exit.i.i %cmp.i.i = icmp eq i32 %a.0.i.i.i, 3 %or.i.i = or i32 %memop, 224 %spec.select.i.i = select i1 %cmp.i.i, i32 %or.i.i, i32 %memop %and3.i = and i32 %spec.select.i.i, 19 - %.not.i = icmp eq i32 %and3.i, 16 - br i1 %.not.i, label %if.end9.i, label %if.then5.i - -if.then5.i: ; preds = %sw.bb10.i.i %idxprom.i = zext nneg i32 %and3.i to i64 %arrayidx.i = getelementptr [24 x ptr], ptr @table_cmpxchg, i64 0, i64 %idxprom.i %7 = load ptr, ptr %arrayidx.i, align 8 @@ -2165,14 +2161,6 @@ if.then.i34.i: ; preds = %maybe_extend_addr64 tail call void @tcg_temp_free_i64(ptr noundef %retval.0.i.i) #5 br label %tcg_gen_atomic_cmpxchg_i64_int.exit -if.end9.i: ; preds = %sw.bb10.i.i - %14 = load ptr, ptr @tcg_env, align 8 - %15 = ptrtoint ptr %14 to i64 - %add.ptr.i.i.i.i = getelementptr i8, ptr %1, i64 %15 - tail call void @tcg_gen_call1(ptr noundef nonnull @helper_info_exit_atomic, ptr noundef null, ptr noundef %add.ptr.i.i.i.i) #5 - tail call void @tcg_gen_movi_i64(ptr noundef %retv, i64 noundef 0) #5 - br label %tcg_gen_atomic_cmpxchg_i64_int.exit - if.end10.i: ; preds = %if.end.i %call11.i = tail call ptr @tcg_temp_ebb_new_i32() #5 %call12.i = tail call ptr @tcg_temp_ebb_new_i32() #5 @@ -2193,7 +2181,7 @@ if.then17.i: ; preds = %if.end10.i tail call void @tcg_gen_ext_i64(ptr noundef %retv, ptr noundef %retv, i32 noundef %memop) br label %tcg_gen_atomic_cmpxchg_i64_int.exit -tcg_gen_atomic_cmpxchg_i64_int.exit: ; preds = %if.then.i, %maybe_extend_addr64.exit.i, %if.then.i34.i, %if.end9.i, %if.end10.i, %if.then17.i +tcg_gen_atomic_cmpxchg_i64_int.exit: ; preds = %if.then.i, %maybe_extend_addr64.exit.i, %if.then.i34.i, %if.end10.i, %if.then17.i ret void } diff --git a/bench/redis/optimized/sentinel.ll b/bench/redis/optimized/sentinel.ll index 05559ac73de..6ea4113ee6e 100644 --- a/bench/redis/optimized/sentinel.ll +++ b/bench/redis/optimized/sentinel.ll @@ -10568,11 +10568,7 @@ if.else353: ; preds = %if.end346 %call355 = call ptr (ptr, ptr, ...) @sdscatfmt(ptr noundef %call351, ptr noundef nonnull @.str.370, i32 noundef %72) #29 %and356 = and i32 %call347, 1 %tobool357.not = icmp eq i32 %and356, 0 - br i1 %tobool357.not, label %if.end360, label %if.end360.thread - -if.end360: ; preds = %if.else353 - %tobool362.not = icmp eq i32 %call347, 1 - br i1 %tobool362.not, label %if.end370, label %if.end368 + br i1 %tobool357.not, label %if.end368, label %if.end360.thread if.end360.thread: ; preds = %if.else353 %call359 = call ptr @sdscat(ptr noundef %call355, ptr noundef nonnull @.str.371) #29 @@ -10583,13 +10579,13 @@ if.then366: ; preds = %if.end360.thread %call367 = call ptr @sdscat(ptr noundef %call359, ptr noundef nonnull @.str.372) #29 br label %if.end368 -if.end368: ; preds = %if.end360, %if.then366 - %e.2 = phi ptr [ %call367, %if.then366 ], [ %call355, %if.end360 ] +if.end368: ; preds = %if.else353, %if.then366 + %e.2 = phi ptr [ %call367, %if.then366 ], [ %call355, %if.else353 ] %call369 = call ptr @sdscat(ptr noundef %e.2, ptr noundef nonnull @.str.373) #29 br label %if.end370 -if.end370: ; preds = %if.end360.thread, %if.end368, %if.end360 - %e.1 = phi ptr [ %call369, %if.end368 ], [ %call355, %if.end360 ], [ %call359, %if.end360.thread ] +if.end370: ; preds = %if.end360.thread, %if.end368 + %e.1 = phi ptr [ %call369, %if.end368 ], [ %call359, %if.end360.thread ] call void @addReplyErrorSds(ptr noundef nonnull %c, ptr noundef %e.1) #29 br label %return diff --git a/bench/ruby/optimized/enum.ll b/bench/ruby/optimized/enum.ll index c5c050ce027..24f0691e0fe 100644 --- a/bench/ruby/optimized/enum.ll +++ b/bench/ruby/optimized/enum.ll @@ -5185,7 +5185,7 @@ declare i32 @rb_method_basic_definition_p(i64 noundef, i64 noundef) local_unname define internal noundef i64 @grep_regexp_i(i64 %0, i64 noundef %1, i32 noundef %2, ptr noundef %3, i64 %4) #0 { %6 = inttoptr i64 %1 to ptr switch i32 %2, label %9 [ - i32 0, label %RB_SYMBOL_P.exit.thread + i32 0, label %23 i32 1, label %7 ] @@ -5209,48 +5209,43 @@ rb_enum_values_pack.exit: ; preds = %7, %9 %16 = icmp ne i64 %15, 0 %17 = icmp eq i64 %.0.i, 0 %18 = or i1 %17, %16 - br i1 %18, label %RB_SYMBOL_P.exit.thread, label %RB_SYMBOL_P.exit + br i1 %18, label %23, label %RB_SYMBOL_P.exit RB_SYMBOL_P.exit: ; preds = %14 %19 = inttoptr i64 %.0.i to ptr %20 = load i64, ptr %19, align 8 %21 = and i64 %20, 31 %22 = icmp eq i64 %21, 20 - br i1 %22, label %24, label %RB_SYMBOL_P.exit.thread + br i1 %22, label %.thread21, label %23 -RB_SYMBOL_P.exit.thread: ; preds = %5, %14, %RB_SYMBOL_P.exit +23: ; preds = %RB_SYMBOL_P.exit, %14, %5 %.0.i1417 = phi i64 [ %.0.i, %RB_SYMBOL_P.exit ], [ %.0.i, %14 ], [ 4, %5 ] - %23 = tail call i64 @rb_check_string_type(i64 noundef %.0.i1417) #13 - br label %24 - -24: ; preds = %RB_SYMBOL_P.exit, %RB_SYMBOL_P.exit.thread - %.0.i1418 = phi i64 [ %.0.i1417, %RB_SYMBOL_P.exit.thread ], [ %.0.i, %RB_SYMBOL_P.exit ] - %25 = phi i64 [ %23, %RB_SYMBOL_P.exit.thread ], [ %.0.i, %RB_SYMBOL_P.exit ] - %26 = icmp eq i64 %25, 4 - br i1 %26, label %30, label %.thread21 + %24 = tail call i64 @rb_check_string_type(i64 noundef %.0.i1417) #13 + %25 = icmp eq i64 %24, 4 + br i1 %25, label %29, label %.thread21 -.thread21: ; preds = %rb_enum_values_pack.exit, %24 - %.0.i141823 = phi i64 [ %.0.i1418, %24 ], [ %.0.i, %rb_enum_values_pack.exit ] - %27 = getelementptr inbounds nuw i8, ptr %6, i64 16 - %28 = load i64, ptr %27, align 8 - %29 = tail call i64 @rb_reg_match_p(i64 noundef %28, i64 noundef %.0.i141823, i64 noundef 0) #13 - br label %30 +.thread21: ; preds = %RB_SYMBOL_P.exit, %rb_enum_values_pack.exit, %23 + %.0.i141823 = phi i64 [ %.0.i1417, %23 ], [ %.0.i, %rb_enum_values_pack.exit ], [ %.0.i, %RB_SYMBOL_P.exit ] + %26 = getelementptr inbounds nuw i8, ptr %6, i64 16 + %27 = load i64, ptr %26, align 8 + %28 = tail call i64 @rb_reg_match_p(i64 noundef %27, i64 noundef %.0.i141823, i64 noundef 0) #13 + br label %29 -30: ; preds = %24, %.thread21 - %.0.i141824 = phi i64 [ %.0.i141823, %.thread21 ], [ %.0.i1418, %24 ] - %31 = phi i64 [ %29, %.thread21 ], [ 0, %24 ] - %32 = getelementptr inbounds nuw i8, ptr %6, i64 32 - %33 = load i64, ptr %32, align 8 - %34 = icmp eq i64 %31, %33 - br i1 %34, label %35, label %39 +29: ; preds = %23, %.thread21 + %.0.i141824 = phi i64 [ %.0.i141823, %.thread21 ], [ %.0.i1417, %23 ] + %30 = phi i64 [ %28, %.thread21 ], [ 0, %23 ] + %31 = getelementptr inbounds nuw i8, ptr %6, i64 32 + %32 = load i64, ptr %31, align 8 + %33 = icmp eq i64 %30, %32 + br i1 %33, label %34, label %38 -35: ; preds = %30 - %36 = getelementptr inbounds nuw i8, ptr %6, i64 24 - %37 = load i64, ptr %36, align 8 - %38 = tail call i64 @rb_ary_push(i64 noundef %37, i64 noundef %.0.i141824) #13 - br label %39 +34: ; preds = %29 + %35 = getelementptr inbounds nuw i8, ptr %6, i64 24 + %36 = load i64, ptr %35, align 8 + %37 = tail call i64 @rb_ary_push(i64 noundef %36, i64 noundef %.0.i141824) #13 + br label %38 -39: ; preds = %35, %30 +38: ; preds = %34, %29 ret i64 4 } @@ -9584,7 +9579,7 @@ RARRAY_AREF.exit: ; preds = %.thread, %14 br label %rb_num2long_inline.exit rb_num2long_inline.exit: ; preds = %23, %21, %rb_array_len.exit.thread, %RARRAY_AREF.exit, %rb_array_len.exit, %3 - %25 = phi i64 [ 4, %RARRAY_AREF.exit ], [ 4, %rb_array_len.exit ], [ 4, %3 ], [ 4, %rb_array_len.exit.thread ], [ %17, %21 ], [ %17, %23 ] + %25 = phi i1 [ true, %RARRAY_AREF.exit ], [ true, %rb_array_len.exit ], [ true, %3 ], [ true, %rb_array_len.exit.thread ], [ false, %21 ], [ false, %23 ] %.012 = phi i64 [ 0, %RARRAY_AREF.exit ], [ 0, %rb_array_len.exit ], [ 0, %3 ], [ 0, %rb_array_len.exit.thread ], [ %22, %21 ], [ %24, %23 ] %26 = tail call i64 @rb_check_funcall_default(i64 noundef %0, i64 noundef 2993, i32 noundef 0, ptr noundef null, i64 noundef 4) #13 switch i64 %26, label %27 [ @@ -9593,26 +9588,25 @@ rb_num2long_inline.exit: ; preds = %23, %21, %rb_array_ ] 27: ; preds = %rb_num2long_inline.exit - %28 = icmp eq i64 %25, 4 - br i1 %28, label %29, label %31 + br i1 %25, label %28, label %30 -29: ; preds = %27 - %30 = tail call i64 @rb_float_new_in_heap(double noundef 0x7FF0000000000000) #13 +28: ; preds = %27 + %29 = tail call i64 @rb_float_new_in_heap(double noundef 0x7FF0000000000000) #13 br label %.fold.split -31: ; preds = %27 - %32 = icmp slt i64 %.012, 1 - br i1 %32, label %.fold.split, label %33 - -33: ; preds = %31 - %34 = shl nuw i64 %.012, 1 - %35 = or disjoint i64 %34, 1 - store i64 %35, ptr %4, align 8 - %36 = call i64 @rb_funcallv(i64 noundef %26, i64 noundef 42, i32 noundef 1, ptr noundef nonnull %4) #13 +30: ; preds = %27 + %31 = icmp slt i64 %.012, 1 + br i1 %31, label %.fold.split, label %32 + +32: ; preds = %30 + %33 = shl nuw i64 %.012, 1 + %34 = or disjoint i64 %33, 1 + store i64 %34, ptr %4, align 8 + %35 = call i64 @rb_funcallv(i64 noundef %26, i64 noundef 42, i32 noundef 1, ptr noundef nonnull %4) #13 br label %.fold.split -.fold.split: ; preds = %rb_num2long_inline.exit, %rb_num2long_inline.exit, %31, %33, %29 - %.0 = phi i64 [ %30, %29 ], [ %36, %33 ], [ %26, %rb_num2long_inline.exit ], [ 1, %31 ], [ %26, %rb_num2long_inline.exit ] +.fold.split: ; preds = %rb_num2long_inline.exit, %rb_num2long_inline.exit, %30, %32, %28 + %.0 = phi i64 [ %29, %28 ], [ %35, %32 ], [ %26, %rb_num2long_inline.exit ], [ 1, %30 ], [ %26, %rb_num2long_inline.exit ] ret i64 %.0 } diff --git a/bench/ruby/optimized/io.ll b/bench/ruby/optimized/io.ll index d22f8e638af..7389b3c23cb 100644 --- a/bench/ruby/optimized/io.ll +++ b/bench/ruby/optimized/io.ll @@ -11485,180 +11485,173 @@ rb_io_check_closed.exit: ; preds = %rb_io_check_initial %76 = call i64 @rb_protect(ptr noundef nonnull @io_new_instance, i64 noundef %26, ptr noundef nonnull %5) #24 %77 = load i32, ptr %5, align 4 %.not22 = icmp eq i32 %77, 0 - br i1 %.not22, label %86, label %78 + br i1 %.not22, label %83, label %78 78: ; preds = %72 %79 = load i32, ptr %66, align 4 %80 = call i32 @close(i32 noundef %79) #24 - %81 = icmp eq i64 %27, 4 - br i1 %81, label %84, label %82 - -82: ; preds = %78 - %83 = call i64 @rb_io_close(i64 noundef %27) - br label %84 - -84: ; preds = %82, %78 - %85 = load i32, ptr %5, align 4 - call void @rb_jump_tag(i32 noundef %85) #26 + %81 = call i64 @rb_io_close(i64 noundef %27) + %82 = load i32, ptr %5, align 4 + call void @rb_jump_tag(i32 noundef %82) #26 unreachable -86: ; preds = %72 - %87 = and i64 %76, 7 - %88 = icmp ne i64 %87, 0 - %89 = icmp eq i64 %76, 0 - %90 = or i1 %89, %88 - br i1 %90, label %RB_OBJ_FROZEN.exit.thread.i.i26, label %91 +83: ; preds = %72 + %84 = and i64 %76, 7 + %85 = icmp ne i64 %84, 0 + %86 = icmp eq i64 %76, 0 + %87 = or i1 %86, %85 + br i1 %87, label %RB_OBJ_FROZEN.exit.thread.i.i26, label %88 -91: ; preds = %86 - %92 = inttoptr i64 %76 to ptr - %93 = load i64, ptr %92, align 8 - %94 = and i64 %93, 31 - %95 = icmp eq i64 %94, 27 - %96 = and i64 %93, 2048 - %97 = icmp ne i64 %96, 0 - %or.cond.i.i25 = or i1 %95, %97 +88: ; preds = %83 + %89 = inttoptr i64 %76 to ptr + %90 = load i64, ptr %89, align 8 + %91 = and i64 %90, 31 + %92 = icmp eq i64 %91, 27 + %93 = and i64 %90, 2048 + %94 = icmp ne i64 %93, 0 + %or.cond.i.i25 = or i1 %92, %94 br i1 %or.cond.i.i25, label %RB_OBJ_FROZEN.exit.thread.i.i26, label %rb_io_taint_check.exit27 -RB_OBJ_FROZEN.exit.thread.i.i26: ; preds = %91, %86 +RB_OBJ_FROZEN.exit.thread.i.i26: ; preds = %88, %83 call void @rb_error_frozen_object(i64 noundef %76) #26 unreachable -rb_io_taint_check.exit27: ; preds = %91 - %98 = getelementptr inbounds nuw i8, ptr %92, i64 16 - %99 = load ptr, ptr %98, align 8 - %.not.i.i28 = icmp eq ptr %99, null - br i1 %.not.i.i28, label %100, label %rb_io_check_initialized.exit.i29 +rb_io_taint_check.exit27: ; preds = %88 + %95 = getelementptr inbounds nuw i8, ptr %89, i64 16 + %96 = load ptr, ptr %95, align 8 + %.not.i.i28 = icmp eq ptr %96, null + br i1 %.not.i.i28, label %97, label %rb_io_check_initialized.exit.i29 -100: ; preds = %rb_io_taint_check.exit27 - %101 = load i64, ptr @rb_eIOError, align 8 - call void (i64, ptr, ...) @rb_raise(i64 noundef %101, ptr noundef nonnull @.str.4) #26 +97: ; preds = %rb_io_taint_check.exit27 + %98 = load i64, ptr @rb_eIOError, align 8 + call void (i64, ptr, ...) @rb_raise(i64 noundef %98, ptr noundef nonnull @.str.4) #26 unreachable rb_io_check_initialized.exit.i29: ; preds = %rb_io_taint_check.exit27 - %102 = getelementptr inbounds nuw i8, ptr %99, i64 16 - %103 = load i32, ptr %102, align 8 - %104 = icmp slt i32 %103, 0 - br i1 %104, label %105, label %rb_io_synchronized.exit + %99 = getelementptr inbounds nuw i8, ptr %96, i64 16 + %100 = load i32, ptr %99, align 8 + %101 = icmp slt i32 %100, 0 + br i1 %101, label %102, label %rb_io_synchronized.exit -105: ; preds = %rb_io_check_initialized.exit.i29 +102: ; preds = %rb_io_check_initialized.exit.i29 call void @rb_thread_check_ints() #24 - %106 = load i64, ptr @rb_eIOError, align 8 - call void (i64, ptr, ...) @rb_raise(i64 noundef %106, ptr noundef nonnull @closed_stream) #26 + %103 = load i64, ptr @rb_eIOError, align 8 + call void (i64, ptr, ...) @rb_raise(i64 noundef %103, ptr noundef nonnull @closed_stream) #26 unreachable rb_io_synchronized.exit: ; preds = %rb_io_check_initialized.exit.i29 - %107 = getelementptr inbounds nuw i8, ptr %99, i64 20 - %108 = load i32, ptr %107, align 4 - %109 = or i32 %108, 8 - store i32 %109, ptr %107, align 4 - %110 = load i64, ptr %9, align 8 - call fastcc void @extract_binmode(i64 noundef %110, ptr noundef %11) - %111 = load i32, ptr %11, align 4 - %112 = and i32 %111, 4 - %.not23 = icmp ne i32 %112, 0 - %113 = load i64, ptr %7, align 8 - %114 = icmp eq i64 %113, 4 - %or.cond = select i1 %.not23, i1 %114, i1 false - br i1 %or.cond, label %115, label %143 - -115: ; preds = %rb_io_synchronized.exit - %116 = load i64, ptr %42, align 8 - %117 = and i64 %116, 31 - %118 = icmp eq i64 %117, 27 - %119 = and i64 %116, 2048 - %120 = icmp ne i64 %119, 0 - %or.cond.i.i.i = or i1 %118, %120 + %104 = getelementptr inbounds nuw i8, ptr %96, i64 20 + %105 = load i32, ptr %104, align 4 + %106 = or i32 %105, 8 + store i32 %106, ptr %104, align 4 + %107 = load i64, ptr %9, align 8 + call fastcc void @extract_binmode(i64 noundef %107, ptr noundef %11) + %108 = load i32, ptr %11, align 4 + %109 = and i32 %108, 4 + %.not23 = icmp ne i32 %109, 0 + %110 = load i64, ptr %7, align 8 + %111 = icmp eq i64 %110, 4 + %or.cond = select i1 %.not23, i1 %111, i1 false + br i1 %or.cond, label %112, label %140 + +112: ; preds = %rb_io_synchronized.exit + %113 = load i64, ptr %42, align 8 + %114 = and i64 %113, 31 + %115 = icmp eq i64 %114, 27 + %116 = and i64 %113, 2048 + %117 = icmp ne i64 %116, 0 + %or.cond.i.i.i = or i1 %115, %117 br i1 %or.cond.i.i.i, label %RB_OBJ_FROZEN.exit.thread.i.i.i, label %rb_io_taint_check.exit.i -RB_OBJ_FROZEN.exit.thread.i.i.i: ; preds = %115 +RB_OBJ_FROZEN.exit.thread.i.i.i: ; preds = %112 call void @rb_error_frozen_object(i64 noundef %27) #26 unreachable -rb_io_taint_check.exit.i: ; preds = %115 - %121 = load ptr, ptr %48, align 8 - %.not.i.i.i = icmp eq ptr %121, null - br i1 %.not.i.i.i, label %122, label %rb_io_check_initialized.exit.i.i +rb_io_taint_check.exit.i: ; preds = %112 + %118 = load ptr, ptr %48, align 8 + %.not.i.i.i = icmp eq ptr %118, null + br i1 %.not.i.i.i, label %119, label %rb_io_check_initialized.exit.i.i -122: ; preds = %rb_io_taint_check.exit.i - %123 = load i64, ptr @rb_eIOError, align 8 - call void (i64, ptr, ...) @rb_raise(i64 noundef %123, ptr noundef nonnull @.str.4) #26 +119: ; preds = %rb_io_taint_check.exit.i + %120 = load i64, ptr @rb_eIOError, align 8 + call void (i64, ptr, ...) @rb_raise(i64 noundef %120, ptr noundef nonnull @.str.4) #26 unreachable rb_io_check_initialized.exit.i.i: ; preds = %rb_io_taint_check.exit.i - %124 = getelementptr inbounds nuw i8, ptr %121, i64 16 - %125 = load i32, ptr %124, align 8 - %126 = icmp slt i32 %125, 0 - br i1 %126, label %127, label %129 + %121 = getelementptr inbounds nuw i8, ptr %118, i64 16 + %122 = load i32, ptr %121, align 8 + %123 = icmp slt i32 %122, 0 + br i1 %123, label %124, label %126 -127: ; preds = %rb_io_check_initialized.exit.i.i +124: ; preds = %rb_io_check_initialized.exit.i.i call void @rb_thread_check_ints() #24 - %128 = load i64, ptr @rb_eIOError, align 8 - call void (i64, ptr, ...) @rb_raise(i64 noundef %128, ptr noundef nonnull @closed_stream) #26 - unreachable - -129: ; preds = %rb_io_check_initialized.exit.i.i - call fastcc void @io_ascii8bit_binmode(ptr noundef nonnull %121) - %130 = load i64, ptr %92, align 8 - %131 = and i64 %130, 31 - %132 = icmp eq i64 %131, 27 - %133 = and i64 %130, 2048 - %134 = icmp ne i64 %133, 0 - %or.cond.i.i.i33 = or i1 %132, %134 + %125 = load i64, ptr @rb_eIOError, align 8 + call void (i64, ptr, ...) @rb_raise(i64 noundef %125, ptr noundef nonnull @closed_stream) #26 + unreachable + +126: ; preds = %rb_io_check_initialized.exit.i.i + call fastcc void @io_ascii8bit_binmode(ptr noundef nonnull %118) + %127 = load i64, ptr %89, align 8 + %128 = and i64 %127, 31 + %129 = icmp eq i64 %128, 27 + %130 = and i64 %127, 2048 + %131 = icmp ne i64 %130, 0 + %or.cond.i.i.i33 = or i1 %129, %131 br i1 %or.cond.i.i.i33, label %RB_OBJ_FROZEN.exit.thread.i.i.i37, label %rb_io_taint_check.exit.i34 -RB_OBJ_FROZEN.exit.thread.i.i.i37: ; preds = %129 +RB_OBJ_FROZEN.exit.thread.i.i.i37: ; preds = %126 call void @rb_error_frozen_object(i64 noundef %76) #26 unreachable -rb_io_taint_check.exit.i34: ; preds = %129 - %135 = load ptr, ptr %98, align 8 - %.not.i.i.i35 = icmp eq ptr %135, null - br i1 %.not.i.i.i35, label %136, label %rb_io_check_initialized.exit.i.i36 +rb_io_taint_check.exit.i34: ; preds = %126 + %132 = load ptr, ptr %95, align 8 + %.not.i.i.i35 = icmp eq ptr %132, null + br i1 %.not.i.i.i35, label %133, label %rb_io_check_initialized.exit.i.i36 -136: ; preds = %rb_io_taint_check.exit.i34 - %137 = load i64, ptr @rb_eIOError, align 8 - call void (i64, ptr, ...) @rb_raise(i64 noundef %137, ptr noundef nonnull @.str.4) #26 +133: ; preds = %rb_io_taint_check.exit.i34 + %134 = load i64, ptr @rb_eIOError, align 8 + call void (i64, ptr, ...) @rb_raise(i64 noundef %134, ptr noundef nonnull @.str.4) #26 unreachable rb_io_check_initialized.exit.i.i36: ; preds = %rb_io_taint_check.exit.i34 - %138 = getelementptr inbounds nuw i8, ptr %135, i64 16 - %139 = load i32, ptr %138, align 8 - %140 = icmp slt i32 %139, 0 - br i1 %140, label %141, label %rb_io_ascii8bit_binmode.exit38 + %135 = getelementptr inbounds nuw i8, ptr %132, i64 16 + %136 = load i32, ptr %135, align 8 + %137 = icmp slt i32 %136, 0 + br i1 %137, label %138, label %rb_io_ascii8bit_binmode.exit38 -141: ; preds = %rb_io_check_initialized.exit.i.i36 +138: ; preds = %rb_io_check_initialized.exit.i.i36 call void @rb_thread_check_ints() #24 - %142 = load i64, ptr @rb_eIOError, align 8 - call void (i64, ptr, ...) @rb_raise(i64 noundef %142, ptr noundef nonnull @closed_stream) #26 + %139 = load i64, ptr @rb_eIOError, align 8 + call void (i64, ptr, ...) @rb_raise(i64 noundef %139, ptr noundef nonnull @closed_stream) #26 unreachable rb_io_ascii8bit_binmode.exit38: ; preds = %rb_io_check_initialized.exit.i.i36 - call fastcc void @io_ascii8bit_binmode(ptr noundef nonnull %135) - br label %143 - -143: ; preds = %rb_io_ascii8bit_binmode.exit38, %rb_io_synchronized.exit - %144 = getelementptr inbounds nuw i8, ptr %49, i64 20 - %145 = load i32, ptr %144, align 4 - %146 = or i32 %145, %111 - store i32 %146, ptr %144, align 4 - %147 = load i32, ptr %107, align 4 - %148 = or i32 %147, %111 - store i32 %148, ptr %107, align 4 - %149 = call i64 @rb_assoc_new(i64 noundef %27, i64 noundef %76) #24 - %150 = call i32 @rb_block_given_p() #24 - %.not24 = icmp eq i32 %150, 0 - br i1 %.not24, label %155, label %151 - -151: ; preds = %143 + call fastcc void @io_ascii8bit_binmode(ptr noundef nonnull %132) + br label %140 + +140: ; preds = %rb_io_ascii8bit_binmode.exit38, %rb_io_synchronized.exit + %141 = getelementptr inbounds nuw i8, ptr %49, i64 20 + %142 = load i32, ptr %141, align 4 + %143 = or i32 %142, %108 + store i32 %143, ptr %141, align 4 + %144 = load i32, ptr %104, align 4 + %145 = or i32 %144, %108 + store i32 %145, ptr %104, align 4 + %146 = call i64 @rb_assoc_new(i64 noundef %27, i64 noundef %76) #24 + %147 = call i32 @rb_block_given_p() #24 + %.not24 = icmp eq i32 %147, 0 + br i1 %.not24, label %152, label %148 + +148: ; preds = %140 store i64 %27, ptr %12, align 16 - %152 = getelementptr inbounds nuw i8, ptr %12, i64 8 - store i64 %76, ptr %152, align 8 - %153 = ptrtoint ptr %12 to i64 - %154 = call i64 @rb_ensure(ptr noundef nonnull @rb_yield, i64 noundef %149, ptr noundef nonnull @pipe_pair_close, i64 noundef %153) #24 - br label %155 - -155: ; preds = %143, %151 - %.0 = phi i64 [ %154, %151 ], [ %149, %143 ] + %149 = getelementptr inbounds nuw i8, ptr %12, i64 8 + store i64 %76, ptr %149, align 8 + %150 = ptrtoint ptr %12 to i64 + %151 = call i64 @rb_ensure(ptr noundef nonnull @rb_yield, i64 noundef %146, ptr noundef nonnull @pipe_pair_close, i64 noundef %150) #24 + br label %152 + +152: ; preds = %140, %148 + %.0 = phi i64 [ %151, %148 ], [ %146, %140 ] ret i64 %.0 } diff --git a/bench/ruby/optimized/numeric.ll b/bench/ruby/optimized/numeric.ll index caf8bc9ce15..daa3232df9a 100644 --- a/bench/ruby/optimized/numeric.ll +++ b/bench/ruby/optimized/numeric.ll @@ -219,7 +219,7 @@ declare void @rb_raise(i64 noundef, ptr noundef, ...) local_unnamed_addr #1 define hidden range(i32 0, 3) i32 @rb_num_get_rounding_option(i64 noundef %0) local_unnamed_addr #2 { %2 = alloca i64, align 8 %3 = icmp eq i64 %0, 4 - br i1 %3, label %53, label %4 + br i1 %3, label %51, label %4 4: ; preds = %1 %5 = load i64, ptr @rb_num_get_rounding_option.round_kwds, align 8 @@ -234,7 +234,7 @@ define hidden range(i32 0, 3) i32 @rb_num_get_rounding_option(i64 noundef %0) lo 8: ; preds = %6, %4 %9 = call i32 @rb_get_kwargs(i64 noundef %0, ptr noundef nonnull @rb_num_get_rounding_option.round_kwds, i32 noundef 0, i32 noundef 1, ptr noundef nonnull %2) #23 %.not30 = icmp eq i32 %9, 0 - br i1 %.not30, label %53, label %10 + br i1 %.not30, label %51, label %10 10: ; preds = %8 %11 = load i64, ptr %2, align 8 @@ -258,74 +258,70 @@ RB_SYMBOL_P.exit: ; preds = %14 RB_SYMBOL_P.exit.thread: ; preds = %10, %RB_SYMBOL_P.exit %23 = call i64 @rb_sym2str(i64 noundef %11) #23 - br label %33 + br label %31 RB_SYMBOL_P.exit.thread31: ; preds = %14 %24 = icmp eq i64 %11, 4 - br i1 %24, label %53, label %.critedge + br i1 %24, label %51, label %.critedge RB_SYMBOL_P.exit.thread31.thread: ; preds = %RB_SYMBOL_P.exit - %25 = icmp eq i64 %11, 4 - br i1 %25, label %53, label %26 - -26: ; preds = %RB_SYMBOL_P.exit.thread31.thread - %27 = inttoptr i64 %11 to ptr - %28 = load i64, ptr %27, align 8 - %29 = and i64 %28, 31 - %30 = icmp eq i64 %29, 5 - br i1 %30, label %33, label %.critedge + %25 = inttoptr i64 %11 to ptr + %26 = load i64, ptr %25, align 8 + %27 = and i64 %26, 31 + %28 = icmp eq i64 %27, 5 + br i1 %28, label %31, label %.critedge -.critedge: ; preds = %RB_SYMBOL_P.exit.thread31, %26 - %31 = call i64 @rb_check_string_type(i64 noundef %11) #23 - %32 = icmp eq i64 %31, 4 - br i1 %32, label %50, label %33 +.critedge: ; preds = %RB_SYMBOL_P.exit.thread31, %RB_SYMBOL_P.exit.thread31.thread + %29 = call i64 @rb_check_string_type(i64 noundef %11) #23 + %30 = icmp eq i64 %29, 4 + br i1 %30, label %48, label %31 -33: ; preds = %.critedge, %26, %RB_SYMBOL_P.exit.thread - %.027 = phi i64 [ %23, %RB_SYMBOL_P.exit.thread ], [ %11, %26 ], [ %31, %.critedge ] +31: ; preds = %.critedge, %RB_SYMBOL_P.exit.thread31.thread, %RB_SYMBOL_P.exit.thread + %.027 = phi i64 [ %23, %RB_SYMBOL_P.exit.thread ], [ %11, %RB_SYMBOL_P.exit.thread31.thread ], [ %29, %.critedge ] call void @rb_must_asciicompat(i64 noundef %.027) #23 - %34 = inttoptr i64 %.027 to ptr - %35 = load i64, ptr %34, align 8, !noalias !7 - %36 = and i64 %35, 8192 - %.not.i.i = icmp eq i64 %36, 0 - %37 = getelementptr inbounds nuw i8, ptr %34, i64 24 - br i1 %.not.i.i, label %RSTRING_PTR.exit, label %38 + %32 = inttoptr i64 %.027 to ptr + %33 = load i64, ptr %32, align 8, !noalias !7 + %34 = and i64 %33, 8192 + %.not.i.i = icmp eq i64 %34, 0 + %35 = getelementptr inbounds nuw i8, ptr %32, i64 24 + br i1 %.not.i.i, label %RSTRING_PTR.exit, label %36 -38: ; preds = %33 - %.sroa.2.0.copyload.i = load ptr, ptr %37, align 8 +36: ; preds = %31 + %.sroa.2.0.copyload.i = load ptr, ptr %35, align 8 br label %RSTRING_PTR.exit -RSTRING_PTR.exit: ; preds = %33, %38 - %.sroa.2.0.i = phi ptr [ %.sroa.2.0.copyload.i, %38 ], [ %37, %33 ] - %39 = getelementptr inbounds nuw i8, ptr %34, i64 16 - %40 = load i64, ptr %39, align 8 - switch i64 %40, label %50 [ - i64 2, label %41 - i64 4, label %44 +RSTRING_PTR.exit: ; preds = %31, %36 + %.sroa.2.0.i = phi ptr [ %.sroa.2.0.copyload.i, %36 ], [ %35, %31 ] + %37 = getelementptr inbounds nuw i8, ptr %32, i64 16 + %38 = load i64, ptr %37, align 8 + switch i64 %38, label %48 [ + i64 2, label %39 + i64 4, label %42 ] -41: ; preds = %RSTRING_PTR.exit - %42 = call i32 @rb_memcicmp(ptr noundef %.sroa.2.0.i, ptr noundef nonnull @.str.2, i64 noundef 2) #23 - %43 = icmp eq i32 %42, 0 - br i1 %43, label %53, label %50 +39: ; preds = %RSTRING_PTR.exit + %40 = call i32 @rb_memcicmp(ptr noundef %.sroa.2.0.i, ptr noundef nonnull @.str.2, i64 noundef 2) #23 + %41 = icmp eq i32 %40, 0 + br i1 %41, label %51, label %48 -44: ; preds = %RSTRING_PTR.exit - %45 = call i32 @rb_memcicmp(ptr noundef %.sroa.2.0.i, ptr noundef nonnull @.str.3, i64 noundef 4) #23 - %46 = icmp eq i32 %45, 0 - br i1 %46, label %53, label %47 +42: ; preds = %RSTRING_PTR.exit + %43 = call i32 @rb_memcicmp(ptr noundef %.sroa.2.0.i, ptr noundef nonnull @.str.3, i64 noundef 4) #23 + %44 = icmp eq i32 %43, 0 + br i1 %44, label %51, label %45 -47: ; preds = %44 - %48 = call i32 @strncasecmp(ptr noundef %.sroa.2.0.i, ptr noundef nonnull @.str.4, i64 noundef 4) #24 - %49 = icmp eq i32 %48, 0 - br i1 %49, label %53, label %50 +45: ; preds = %42 + %46 = call i32 @strncasecmp(ptr noundef %.sroa.2.0.i, ptr noundef nonnull @.str.4, i64 noundef 4) #24 + %47 = icmp eq i32 %46, 0 + br i1 %47, label %51, label %48 -50: ; preds = %RSTRING_PTR.exit, %41, %47, %.critedge - %51 = load i64, ptr @rb_eArgError, align 8 - %52 = load i64, ptr %2, align 8 - call void (i64, ptr, ...) @rb_raise(i64 noundef %51, ptr noundef nonnull @.str.5, i64 noundef %52) #22 +48: ; preds = %RSTRING_PTR.exit, %39, %45, %.critedge + %49 = load i64, ptr @rb_eArgError, align 8 + %50 = load i64, ptr %2, align 8 + call void (i64, ptr, ...) @rb_raise(i64 noundef %49, ptr noundef nonnull @.str.5, i64 noundef %50) #22 unreachable -53: ; preds = %RB_SYMBOL_P.exit.thread31.thread, %8, %RB_SYMBOL_P.exit.thread31, %1, %47, %44, %41 - %.028 = phi i32 [ 0, %41 ], [ 1, %44 ], [ 2, %47 ], [ 0, %1 ], [ 0, %RB_SYMBOL_P.exit.thread31 ], [ 0, %8 ], [ 0, %RB_SYMBOL_P.exit.thread31.thread ] +51: ; preds = %8, %RB_SYMBOL_P.exit.thread31, %1, %45, %42, %39 + %.028 = phi i32 [ 0, %39 ], [ 1, %42 ], [ 2, %45 ], [ 0, %1 ], [ 0, %RB_SYMBOL_P.exit.thread31 ], [ 0, %8 ] ret i32 %.028 } diff --git a/bench/ruby/optimized/range.ll b/bench/ruby/optimized/range.ll index b7730e8deb9..87101807042 100644 --- a/bench/ruby/optimized/range.ll +++ b/bench/ruby/optimized/range.ll @@ -2079,7 +2079,7 @@ RANGE_EXCL.exit: ; preds = %7, %14 28: ; preds = %25 %29 = and i64 %17, 1 %.not66 = icmp eq i64 %29, 0 - br i1 %.not66, label %.thread, label %30 + br i1 %.not66, label %rb_integer_type_p.exit.thread, label %30 30: ; preds = %28 br i1 %.not65, label %35, label %31 @@ -2121,187 +2121,183 @@ RANGE_EXCL.exit: ; preds = %7, %14 46: ; preds = %25 %47 = icmp eq i64 %10, 4 - br i1 %47, label %rb_integer_type_p.exit.thread, label %49 + br i1 %47, label %rb_integer_type_p.exit.thread, label %48 -.thread: ; preds = %28 - %48 = icmp eq i64 %10, 4 - br label %rb_integer_type_p.exit.thread - -49: ; preds = %46 - %50 = and i64 %10, 6 - %51 = icmp ne i64 %50, 0 - %52 = icmp eq i64 %10, 0 - %53 = or i1 %52, %51 - br i1 %53, label %rb_integer_type_p.exit.thread58, label %rb_integer_type_p.exit +48: ; preds = %46 + %49 = and i64 %10, 6 + %50 = icmp ne i64 %49, 0 + %51 = icmp eq i64 %10, 0 + %52 = or i1 %51, %50 + br i1 %52, label %rb_integer_type_p.exit.thread58, label %rb_integer_type_p.exit -rb_integer_type_p.exit: ; preds = %49 - %54 = inttoptr i64 %10 to ptr - %55 = load i64, ptr %54, align 8 - %56 = and i64 %55, 31 - %57 = icmp eq i64 %56, 10 - br i1 %57, label %rb_integer_type_p.exit.thread, label %rb_integer_type_p.exit.thread58 - -rb_integer_type_p.exit.thread: ; preds = %.thread, %rb_integer_type_p.exit, %46 - %58 = phi i1 [ false, %rb_integer_type_p.exit ], [ true, %46 ], [ %48, %.thread ] - %59 = and i64 %17, 1 - %.not.i31 = icmp eq i64 %59, 0 - br i1 %.not.i31, label %60, label %rb_integer_type_p.exit33.thread - -60: ; preds = %rb_integer_type_p.exit.thread - %61 = and i64 %17, 6 - %62 = icmp ne i64 %61, 0 - %63 = icmp eq i64 %17, 0 - %64 = or i1 %63, %62 - br i1 %64, label %rb_integer_type_p.exit.thread58, label %rb_integer_type_p.exit33 - -rb_integer_type_p.exit33: ; preds = %60 - %65 = inttoptr i64 %17 to ptr - %66 = load i64, ptr %65, align 8 - %67 = and i64 %66, 31 - %68 = icmp eq i64 %67, 10 - br i1 %68, label %rb_integer_type_p.exit33.thread, label %rb_integer_type_p.exit.thread58 +rb_integer_type_p.exit: ; preds = %48 + %53 = inttoptr i64 %10 to ptr + %54 = load i64, ptr %53, align 8 + %55 = and i64 %54, 31 + %56 = icmp eq i64 %55, 10 + br i1 %56, label %rb_integer_type_p.exit.thread, label %rb_integer_type_p.exit.thread58 + +rb_integer_type_p.exit.thread: ; preds = %28, %rb_integer_type_p.exit, %46 + %57 = phi i1 [ false, %rb_integer_type_p.exit ], [ true, %46 ], [ false, %28 ] + %58 = and i64 %17, 1 + %.not.i31 = icmp eq i64 %58, 0 + br i1 %.not.i31, label %59, label %rb_integer_type_p.exit33.thread + +59: ; preds = %rb_integer_type_p.exit.thread + %60 = and i64 %17, 6 + %61 = icmp ne i64 %60, 0 + %62 = icmp eq i64 %17, 0 + %63 = or i1 %62, %61 + br i1 %63, label %rb_integer_type_p.exit.thread58, label %rb_integer_type_p.exit33 + +rb_integer_type_p.exit33: ; preds = %59 + %64 = inttoptr i64 %17 to ptr + %65 = load i64, ptr %64, align 8 + %66 = and i64 %65, 31 + %67 = icmp eq i64 %66, 10 + br i1 %67, label %rb_integer_type_p.exit33.thread, label %rb_integer_type_p.exit.thread58 rb_integer_type_p.exit33.thread: ; preds = %rb_integer_type_p.exit.thread, %rb_integer_type_p.exit33 - br i1 %.not65, label %71, label %69 - -69: ; preds = %rb_integer_type_p.exit33.thread - %70 = tail call i64 @rb_int_minus(i64 noundef %17, i64 noundef 3) #10 - br label %71 - -71: ; preds = %69, %rb_integer_type_p.exit33.thread - %.1 = phi i64 [ %70, %69 ], [ %17, %rb_integer_type_p.exit33.thread ] - %72 = and i64 %.1, 1 - %.not.i34 = icmp eq i64 %72, 0 - br i1 %.not.i34, label %73, label %range_reverse_each_positive_bignum_section.exit - -73: ; preds = %71 - %74 = tail call i32 @rb_big_sign(i64 noundef %.1) #10 - %.not.i.i35 = icmp eq i32 %74, 0 - br i1 %.not.i.i35, label %range_reverse_each_positive_bignum_section.exit, label %75 - -75: ; preds = %73 - %or.cond.i = or i1 %27, %58 - br i1 %or.cond.i, label %78, label %76 - -76: ; preds = %75 - %77 = tail call i32 @rb_big_sign(i64 noundef %10) #10 - %.not.i7.i = icmp eq i32 %77, 0 - br i1 %.not.i7.i, label %78, label %80 - -78: ; preds = %76, %75 - %79 = tail call i64 @rb_int2big(i64 noundef 4611686018427387904) #10 - br label %80 - -80: ; preds = %78, %76 - %.0.i36 = phi i64 [ %79, %78 ], [ %10, %76 ] - %81 = tail call i64 @rb_big_cmp(i64 noundef %.0.i36, i64 noundef %.1) #10 - %.not6.i.i = icmp eq i64 %81, 3 + br i1 %.not65, label %70, label %68 + +68: ; preds = %rb_integer_type_p.exit33.thread + %69 = tail call i64 @rb_int_minus(i64 noundef %17, i64 noundef 3) #10 + br label %70 + +70: ; preds = %68, %rb_integer_type_p.exit33.thread + %.1 = phi i64 [ %69, %68 ], [ %17, %rb_integer_type_p.exit33.thread ] + %71 = and i64 %.1, 1 + %.not.i34 = icmp eq i64 %71, 0 + br i1 %.not.i34, label %72, label %range_reverse_each_positive_bignum_section.exit + +72: ; preds = %70 + %73 = tail call i32 @rb_big_sign(i64 noundef %.1) #10 + %.not.i.i35 = icmp eq i32 %73, 0 + br i1 %.not.i.i35, label %range_reverse_each_positive_bignum_section.exit, label %74 + +74: ; preds = %72 + %or.cond.i = or i1 %27, %57 + br i1 %or.cond.i, label %77, label %75 + +75: ; preds = %74 + %76 = tail call i32 @rb_big_sign(i64 noundef %10) #10 + %.not.i7.i = icmp eq i32 %76, 0 + br i1 %.not.i7.i, label %77, label %79 + +77: ; preds = %75, %74 + %78 = tail call i64 @rb_int2big(i64 noundef 4611686018427387904) #10 + br label %79 + +79: ; preds = %77, %75 + %.0.i36 = phi i64 [ %78, %77 ], [ %10, %75 ] + %80 = tail call i64 @rb_big_cmp(i64 noundef %.0.i36, i64 noundef %.1) #10 + %.not6.i.i = icmp eq i64 %80, 3 br i1 %.not6.i.i, label %range_reverse_each_positive_bignum_section.exit, label %.lr.ph.i.i -.lr.ph.i.i: ; preds = %80, %85 - %82 = phi i64 [ %87, %85 ], [ %81, %80 ] - %.07.i.i = phi i64 [ %86, %85 ], [ %.1, %80 ] - %83 = tail call i64 @rb_yield(i64 noundef %.07.i.i) #10 - %84 = icmp eq i64 %82, 1 - br i1 %84, label %range_reverse_each_positive_bignum_section.exit, label %85 - -85: ; preds = %.lr.ph.i.i - %86 = tail call i64 @rb_big_minus(i64 noundef %.07.i.i, i64 noundef 3) #10 - %87 = tail call i64 @rb_big_cmp(i64 noundef %.0.i36, i64 noundef %86) #10 - %.not.i8.i = icmp eq i64 %87, 3 +.lr.ph.i.i: ; preds = %79, %84 + %81 = phi i64 [ %86, %84 ], [ %80, %79 ] + %.07.i.i = phi i64 [ %85, %84 ], [ %.1, %79 ] + %82 = tail call i64 @rb_yield(i64 noundef %.07.i.i) #10 + %83 = icmp eq i64 %81, 1 + br i1 %83, label %range_reverse_each_positive_bignum_section.exit, label %84 + +84: ; preds = %.lr.ph.i.i + %85 = tail call i64 @rb_big_minus(i64 noundef %.07.i.i, i64 noundef 3) #10 + %86 = tail call i64 @rb_big_cmp(i64 noundef %.0.i36, i64 noundef %85) #10 + %.not.i8.i = icmp eq i64 %86, 3 br i1 %.not.i8.i, label %range_reverse_each_positive_bignum_section.exit, label %.lr.ph.i.i, !llvm.loop !20 -range_reverse_each_positive_bignum_section.exit: ; preds = %.lr.ph.i.i, %85, %71, %73, %80 - %brmerge = or i1 %27, %58 +range_reverse_each_positive_bignum_section.exit: ; preds = %.lr.ph.i.i, %84, %70, %72, %79 + %brmerge = or i1 %27, %57 %.mux = select i1 %27, i64 %10, i64 -9223372036854775807 - br i1 %brmerge, label %90, label %88 - -88: ; preds = %range_reverse_each_positive_bignum_section.exit - %89 = tail call i32 @rb_big_sign(i64 noundef %10) #10 - %.not15.i46 = icmp eq i32 %89, 0 - br i1 %.not15.i46, label %90, label %range_reverse_each_fixnum_section.exit47 - -90: ; preds = %range_reverse_each_positive_bignum_section.exit, %88 - %.012.i38 = phi i64 [ %.mux, %range_reverse_each_positive_bignum_section.exit ], [ -9223372036854775807, %88 ] - br i1 %.not.i34, label %91, label %93 - -91: ; preds = %90 - %92 = tail call i32 @rb_big_sign(i64 noundef %.1) #10 - %.not.i.i45 = icmp eq i32 %92, 0 - br i1 %.not.i.i45, label %range_reverse_each_fixnum_section.exit47.thread, label %93 - -93: ; preds = %91, %90 - %.013.i40 = phi i64 [ %.1, %90 ], [ 9223372036854775807, %91 ] - %94 = ashr i64 %.012.i38, 1 - %95 = ashr i64 %.013.i40, 1 - %.not17.i41 = icmp slt i64 %95, %94 + br i1 %brmerge, label %89, label %87 + +87: ; preds = %range_reverse_each_positive_bignum_section.exit + %88 = tail call i32 @rb_big_sign(i64 noundef %10) #10 + %.not15.i46 = icmp eq i32 %88, 0 + br i1 %.not15.i46, label %89, label %range_reverse_each_fixnum_section.exit47 + +89: ; preds = %range_reverse_each_positive_bignum_section.exit, %87 + %.012.i38 = phi i64 [ %.mux, %range_reverse_each_positive_bignum_section.exit ], [ -9223372036854775807, %87 ] + br i1 %.not.i34, label %90, label %92 + +90: ; preds = %89 + %91 = tail call i32 @rb_big_sign(i64 noundef %.1) #10 + %.not.i.i45 = icmp eq i32 %91, 0 + br i1 %.not.i.i45, label %range_reverse_each_fixnum_section.exit47.thread, label %92 + +92: ; preds = %90, %89 + %.013.i40 = phi i64 [ %.1, %89 ], [ 9223372036854775807, %90 ] + %93 = ashr i64 %.012.i38, 1 + %94 = ashr i64 %.013.i40, 1 + %.not17.i41 = icmp slt i64 %94, %93 br i1 %.not17.i41, label %range_reverse_each_fixnum_section.exit47, label %.lr.ph.i42 -.lr.ph.i42: ; preds = %93, %.lr.ph.i42 - %.018.i43 = phi i64 [ %99, %.lr.ph.i42 ], [ %95, %93 ] - %96 = shl i64 %.018.i43, 1 - %97 = or disjoint i64 %96, 1 - %98 = tail call i64 @rb_yield(i64 noundef %97) #10 - %99 = add nsw i64 %.018.i43, -1 - %.not.not.i44 = icmp sgt i64 %.018.i43, %94 +.lr.ph.i42: ; preds = %92, %.lr.ph.i42 + %.018.i43 = phi i64 [ %98, %.lr.ph.i42 ], [ %94, %92 ] + %95 = shl i64 %.018.i43, 1 + %96 = or disjoint i64 %95, 1 + %97 = tail call i64 @rb_yield(i64 noundef %96) #10 + %98 = add nsw i64 %.018.i43, -1 + %.not.not.i44 = icmp sgt i64 %.018.i43, %93 br i1 %.not.not.i44, label %.lr.ph.i42, label %range_reverse_each_fixnum_section.exit47, !llvm.loop !19 -range_reverse_each_fixnum_section.exit47: ; preds = %.lr.ph.i42, %88, %93 - %100 = phi i1 [ false, %88 ], [ %58, %93 ], [ %58, %.lr.ph.i42 ] - br i1 %.not.i34, label %range_reverse_each_fixnum_section.exit47.thread, label %103 +range_reverse_each_fixnum_section.exit47: ; preds = %.lr.ph.i42, %87, %92 + %99 = phi i1 [ false, %87 ], [ %57, %92 ], [ %57, %.lr.ph.i42 ] + br i1 %.not.i34, label %range_reverse_each_fixnum_section.exit47.thread, label %102 -range_reverse_each_fixnum_section.exit47.thread: ; preds = %91, %range_reverse_each_fixnum_section.exit47 - %101 = phi i1 [ %100, %range_reverse_each_fixnum_section.exit47 ], [ %58, %91 ] - %102 = tail call i32 @rb_big_sign(i64 noundef %.1) #10 - %.not8.i = icmp eq i32 %102, 0 - br i1 %.not8.i, label %106, label %103 +range_reverse_each_fixnum_section.exit47.thread: ; preds = %90, %range_reverse_each_fixnum_section.exit47 + %100 = phi i1 [ %99, %range_reverse_each_fixnum_section.exit47 ], [ %57, %90 ] + %101 = tail call i32 @rb_big_sign(i64 noundef %.1) #10 + %.not8.i = icmp eq i32 %101, 0 + br i1 %.not8.i, label %105, label %102 -103: ; preds = %range_reverse_each_fixnum_section.exit47.thread, %range_reverse_each_fixnum_section.exit47 - %104 = phi i1 [ %101, %range_reverse_each_fixnum_section.exit47.thread ], [ %100, %range_reverse_each_fixnum_section.exit47 ] - %105 = tail call i64 @rb_int2big(i64 noundef -4611686018427387905) #10 - br i1 %104, label %107, label %108 +102: ; preds = %range_reverse_each_fixnum_section.exit47.thread, %range_reverse_each_fixnum_section.exit47 + %103 = phi i1 [ %100, %range_reverse_each_fixnum_section.exit47.thread ], [ %99, %range_reverse_each_fixnum_section.exit47 ] + %104 = tail call i64 @rb_int2big(i64 noundef -4611686018427387905) #10 + br i1 %103, label %106, label %107 -106: ; preds = %range_reverse_each_fixnum_section.exit47.thread - br i1 %101, label %107, label %108 +105: ; preds = %range_reverse_each_fixnum_section.exit47.thread + br i1 %100, label %106, label %107 -107: ; preds = %103, %106 - %.0.i4964 = phi i64 [ %105, %103 ], [ %.1, %106 ] +106: ; preds = %102, %105 + %.0.i4964 = phi i64 [ %104, %102 ], [ %.1, %105 ] tail call fastcc void @range_reverse_each_bignum_beginless(i64 noundef %.0.i4964) #12 unreachable -108: ; preds = %103, %106 - %.0.i4963 = phi i64 [ %105, %103 ], [ %.1, %106 ] - br i1 %27, label %range_reverse_each_fixnum_section.exit, label %109 +107: ; preds = %102, %105 + %.0.i4963 = phi i64 [ %104, %102 ], [ %.1, %105 ] + br i1 %27, label %range_reverse_each_fixnum_section.exit, label %108 -109: ; preds = %108 - %110 = tail call i32 @rb_big_sign(i64 noundef %10) #10 - %.not10.i = icmp eq i32 %110, 0 - br i1 %.not10.i, label %111, label %range_reverse_each_fixnum_section.exit +108: ; preds = %107 + %109 = tail call i32 @rb_big_sign(i64 noundef %10) #10 + %.not10.i = icmp eq i32 %109, 0 + br i1 %.not10.i, label %110, label %range_reverse_each_fixnum_section.exit -111: ; preds = %109 - %112 = tail call i64 @rb_big_cmp(i64 noundef %10, i64 noundef %.0.i4963) #10 - %.not6.i.i50 = icmp eq i64 %112, 3 +110: ; preds = %108 + %111 = tail call i64 @rb_big_cmp(i64 noundef %10, i64 noundef %.0.i4963) #10 + %.not6.i.i50 = icmp eq i64 %111, 3 br i1 %.not6.i.i50, label %range_reverse_each_fixnum_section.exit, label %.lr.ph.i.i51 -.lr.ph.i.i51: ; preds = %111, %116 - %113 = phi i64 [ %118, %116 ], [ %112, %111 ] - %.07.i.i52 = phi i64 [ %117, %116 ], [ %.0.i4963, %111 ] - %114 = tail call i64 @rb_yield(i64 noundef %.07.i.i52) #10 - %115 = icmp eq i64 %113, 1 - br i1 %115, label %range_reverse_each_fixnum_section.exit, label %116 - -116: ; preds = %.lr.ph.i.i51 - %117 = tail call i64 @rb_big_minus(i64 noundef %.07.i.i52, i64 noundef 3) #10 - %118 = tail call i64 @rb_big_cmp(i64 noundef %10, i64 noundef %117) #10 - %.not.i.i53 = icmp eq i64 %118, 3 +.lr.ph.i.i51: ; preds = %110, %115 + %112 = phi i64 [ %117, %115 ], [ %111, %110 ] + %.07.i.i52 = phi i64 [ %116, %115 ], [ %.0.i4963, %110 ] + %113 = tail call i64 @rb_yield(i64 noundef %.07.i.i52) #10 + %114 = icmp eq i64 %112, 1 + br i1 %114, label %range_reverse_each_fixnum_section.exit, label %115 + +115: ; preds = %.lr.ph.i.i51 + %116 = tail call i64 @rb_big_minus(i64 noundef %.07.i.i52, i64 noundef 3) #10 + %117 = tail call i64 @rb_big_cmp(i64 noundef %10, i64 noundef %116) #10 + %.not.i.i53 = icmp eq i64 %117, 3 br i1 %.not.i.i53, label %range_reverse_each_fixnum_section.exit, label %.lr.ph.i.i51, !llvm.loop !20 -rb_integer_type_p.exit.thread58: ; preds = %60, %49, %rb_integer_type_p.exit33, %rb_integer_type_p.exit - %119 = tail call i64 @rb_call_super(i32 noundef 0, ptr noundef null) #10 +rb_integer_type_p.exit.thread58: ; preds = %59, %48, %rb_integer_type_p.exit33, %rb_integer_type_p.exit + %118 = tail call i64 @rb_call_super(i32 noundef 0, ptr noundef null) #10 br label %range_reverse_each_fixnum_section.exit -range_reverse_each_fixnum_section.exit: ; preds = %.lr.ph.i, %116, %.lr.ph.i.i51, %111, %109, %108, %39, %37, %31, %rb_integer_type_p.exit.thread58, %3 - %.0 = phi i64 [ %119, %rb_integer_type_p.exit.thread58 ], [ %6, %3 ], [ %0, %31 ], [ %0, %37 ], [ %0, %39 ], [ %0, %108 ], [ %0, %109 ], [ %0, %111 ], [ %0, %.lr.ph.i.i51 ], [ %0, %116 ], [ %0, %.lr.ph.i ] +range_reverse_each_fixnum_section.exit: ; preds = %.lr.ph.i, %115, %.lr.ph.i.i51, %110, %108, %107, %39, %37, %31, %rb_integer_type_p.exit.thread58, %3 + %.0 = phi i64 [ %118, %rb_integer_type_p.exit.thread58 ], [ %6, %3 ], [ %0, %31 ], [ %0, %37 ], [ %0, %39 ], [ %0, %107 ], [ %0, %108 ], [ %0, %110 ], [ %0, %.lr.ph.i.i51 ], [ %0, %115 ], [ %0, %.lr.ph.i ] ret i64 %.0 } diff --git a/bench/ruby/optimized/rational.ll b/bench/ruby/optimized/rational.ll index bf840de37b6..f576da06cbe 100644 --- a/bench/ruby/optimized/rational.ll +++ b/bench/ruby/optimized/rational.ll @@ -7000,68 +7000,64 @@ rb_integer_type_p.exit.i: ; preds = %4 ] rb_integer_type_p.exit.thread.i: ; preds = %rb_integer_type_p.exit.i, %2 - switch i64 %1, label %25 [ + switch i64 %1, label %23 [ i64 1, label %18 - i64 3, label %23 + i64 3, label %21 ] 12: ; preds = %rb_integer_type_p.exit.i %13 = getelementptr inbounds nuw i8, ptr %9, i64 16 %14 = load i64, ptr %13, align 8 %.not = icmp eq i64 %14, 1 - br i1 %.not, label %18, label %21 + br i1 %.not, label %18, label %23 f_zero_p.exit: ; preds = %4, %rb_integer_type_p.exit.i %15 = tail call i64 @rb_equal(i64 noundef %1, i64 noundef 1) #16 %16 = and i64 %15, 4294967295 %17 = icmp eq i64 %16, 0 - br i1 %17, label %21, label %18 + br i1 %17, label %23, label %18 18: ; preds = %rb_integer_type_p.exit.thread.i, %12, %f_zero_p.exit %19 = tail call i64 @nurat_to_f(i64 noundef %0) %20 = tail call i64 @rb_flo_div_flo(i64 noundef %19, i64 noundef -9223372036854775806) #16 br label %RB_FLOAT_TYPE_P.exit.thread -21: ; preds = %12, %f_zero_p.exit - %22 = icmp eq i64 %1, 3 - br i1 %22, label %23, label %25 - -23: ; preds = %rb_integer_type_p.exit.thread.i, %21 - %24 = tail call i64 @nurat_to_f(i64 noundef %0) +21: ; preds = %rb_integer_type_p.exit.thread.i + %22 = tail call i64 @nurat_to_f(i64 noundef %0) br label %RB_FLOAT_TYPE_P.exit.thread -25: ; preds = %rb_integer_type_p.exit.thread.i, %21 - %26 = tail call i64 @rb_rational_div(i64 noundef %0, i64 noundef %1) - %27 = and i64 %26, 7 - %28 = icmp ne i64 %27, 0 - %29 = icmp eq i64 %26, 0 - %30 = or i1 %29, %28 - br i1 %30, label %.critedge, label %31 +23: ; preds = %f_zero_p.exit, %12, %rb_integer_type_p.exit.thread.i + %24 = tail call i64 @rb_rational_div(i64 noundef %0, i64 noundef %1) + %25 = and i64 %24, 7 + %26 = icmp ne i64 %25, 0 + %27 = icmp eq i64 %24, 0 + %28 = or i1 %27, %26 + br i1 %28, label %.critedge, label %29 -31: ; preds = %25 - %32 = inttoptr i64 %26 to ptr - %33 = load i64, ptr %32, align 8 - %34 = and i64 %33, 31 - switch i64 %34, label %RB_FLOAT_TYPE_P.exit.thread32 [ - i64 15, label %35 +29: ; preds = %23 + %30 = inttoptr i64 %24 to ptr + %31 = load i64, ptr %30, align 8 + %32 = and i64 %31, 31 + switch i64 %32, label %RB_FLOAT_TYPE_P.exit.thread32 [ + i64 15, label %33 i64 4, label %RB_FLOAT_TYPE_P.exit.thread ] -35: ; preds = %31 - %36 = tail call i64 @nurat_to_f(i64 noundef %26) +33: ; preds = %29 + %34 = tail call i64 @nurat_to_f(i64 noundef %24) br label %RB_FLOAT_TYPE_P.exit.thread -.critedge: ; preds = %25 - %37 = and i64 %26, 3 - %38 = icmp eq i64 %37, 2 - br i1 %38, label %RB_FLOAT_TYPE_P.exit.thread, label %RB_FLOAT_TYPE_P.exit.thread32 +.critedge: ; preds = %23 + %35 = and i64 %24, 3 + %36 = icmp eq i64 %35, 2 + br i1 %36, label %RB_FLOAT_TYPE_P.exit.thread, label %RB_FLOAT_TYPE_P.exit.thread32 -RB_FLOAT_TYPE_P.exit.thread32: ; preds = %31, %.critedge - %39 = tail call i64 (i64, i64, i32, ...) @rb_funcall(i64 noundef %26, i64 noundef 3361, i32 noundef 0) #16 +RB_FLOAT_TYPE_P.exit.thread32: ; preds = %29, %.critedge + %37 = tail call i64 (i64, i64, i32, ...) @rb_funcall(i64 noundef %24, i64 noundef 3361, i32 noundef 0) #16 br label %RB_FLOAT_TYPE_P.exit.thread -RB_FLOAT_TYPE_P.exit.thread: ; preds = %31, %.critedge, %RB_FLOAT_TYPE_P.exit.thread32, %35, %23, %18 - %.030 = phi i64 [ %20, %18 ], [ %24, %23 ], [ %36, %35 ], [ %39, %RB_FLOAT_TYPE_P.exit.thread32 ], [ %26, %.critedge ], [ %26, %31 ] +RB_FLOAT_TYPE_P.exit.thread: ; preds = %29, %.critedge, %RB_FLOAT_TYPE_P.exit.thread32, %33, %21, %18 + %.030 = phi i64 [ %20, %18 ], [ %22, %21 ], [ %34, %33 ], [ %37, %RB_FLOAT_TYPE_P.exit.thread32 ], [ %24, %.critedge ], [ %24, %29 ] ret i64 %.030 } diff --git a/bench/rustfmt-rs/optimized/x2cb3fifm47d4t5.ll b/bench/rustfmt-rs/optimized/x2cb3fifm47d4t5.ll index 77023d01f48..12efda878b0 100644 --- a/bench/rustfmt-rs/optimized/x2cb3fifm47d4t5.ll +++ b/bench/rustfmt-rs/optimized/x2cb3fifm47d4t5.ll @@ -24604,11 +24604,11 @@ define internal fastcc void @_ZN15rustfmt_nightly7imports7UseTree5merge17h22a21d %41 = getelementptr inbounds nuw i8, ptr %1, i64 16 %42 = load i64, ptr %41, align 8, !noundef !4 %.0.sroa.speculated.i.i.i = tail call noundef i64 @llvm.umin.i64(i64 %38, i64 %42) - %.not295 = icmp eq i64 %.0.sroa.speculated.i.i.i, 0 - br i1 %.not295, label %.critedge, label %.lr.ph + %.not292 = icmp eq i64 %.0.sroa.speculated.i.i.i, 0 + br i1 %.not292, label %.critedge, label %.lr.ph .critedge: ; preds = %548, %545, %547, %3 - %.036.lcssa = phi i64 [ 0, %3 ], [ %.036290, %548 ], [ %.036290, %545 ], [ %.0.sroa.speculated.i.i.i, %547 ] + %.036.lcssa = phi i64 [ 0, %3 ], [ %.036287, %548 ], [ %.036287, %545 ], [ %.0.sroa.speculated.i.i.i, %547 ] tail call void @llvm.experimental.noalias.scope.decl(metadata !6668) tail call void @llvm.experimental.noalias.scope.decl(metadata !6671) %43 = icmp eq i64 %38, %.036.lcssa @@ -24792,7 +24792,7 @@ _ZN5alloc5alloc15exchange_malloc17hf73c64118470f50eE.exit139: ; preds = %_ZN15ru %107 = getelementptr inbounds nuw i8, ptr %7, i64 16 %108 = getelementptr { { i64, [5 x i64] }, i8, [7 x i8] }, ptr %.pn.i, i64 %.sroa.596.0.in.i %109 = icmp eq i64 %104, 0 - br i1 %109, label %.loopexit270, label %.lr.ph.i125 + br i1 %109, label %.loopexit267, label %.lr.ph.i125 .lr.ph.i125: ; preds = %.noexc132, %113 %.sroa.10.032.i126 = phi i64 [ %110, %113 ], [ %104, %.noexc132 ] @@ -24800,7 +24800,7 @@ _ZN5alloc5alloc15exchange_malloc17hf73c64118470f50eE.exit139: ; preds = %_ZN15ru %.sroa.7.030.i128 = phi i64 [ %114, %113 ], [ 0, %.noexc132 ] %110 = add i64 %.sroa.10.032.i126, -1 %111 = icmp eq ptr %.sroa.013.031.i127, %108 - br i1 %111, label %.loopexit270, label %112 + br i1 %111, label %.loopexit267, label %112 112: ; preds = %.lr.ph.i125 tail call void @llvm.experimental.noalias.scope.decl(metadata !6704), !noalias !6678 @@ -24826,7 +24826,7 @@ _ZN5alloc5alloc15exchange_malloc17hf73c64118470f50eE.exit139: ; preds = %_ZN15ru call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %.sroa.07.sroa.0.i123) call void @llvm.lifetime.end.p0(i64 7, ptr nonnull %.sroa.07.sroa.5.i124) %119 = icmp eq i64 %110, 0 - br i1 %119, label %.loopexit270, label %.lr.ph.i125 + br i1 %119, label %.loopexit267, label %.lr.ph.i125 120: ; preds = %112 %lpad.loopexit.i129 = landingpad { ptr, i32 } @@ -24913,8 +24913,8 @@ _ZN5alloc5alloc15exchange_malloc17hf73c64118470f50eE.exit139: ; preds = %_ZN15ru call void @_ZN4core9panicking16panic_in_cleanup17h7bbd4fcd6f160435E() #58, !noalias !6678 unreachable -149: ; preds = %.loopexit270, %._crit_edge.i110 - %150 = phi i64 [ %.pre.i111, %._crit_edge.i110 ], [ %165, %.loopexit270 ] +149: ; preds = %.loopexit267, %._crit_edge.i110 + %150 = phi i64 [ %.pre.i111, %._crit_edge.i110 ], [ %165, %.loopexit267 ] %151 = load ptr, ptr %96, align 8, !alias.scope !6734, !noalias !6737, !nonnull !4, !noundef !4 %152 = getelementptr inbounds { { { i64, ptr }, i64 }, { i64, [9 x i64] }, { i8, [31 x i8] }, { i32, i16, i16 }, { ptr } }, ptr %151, i64 %150 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(152) %152, ptr noundef nonnull align 8 dereferenceable(152) %27, i64 152, i1 false), !noalias !6678 @@ -24941,7 +24941,7 @@ _ZN5alloc5alloc15exchange_malloc17hf73c64118470f50eE.exit139: ; preds = %_ZN15ru .noexc114: ; preds = %160 unreachable -.loopexit270: ; preds = %.lr.ph.i125, %113, %.noexc132 +.loopexit267: ; preds = %.lr.ph.i125, %113, %.noexc132 store i64 %.sroa.596.0.i, ptr %107, align 8, !noalias !6702 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %27, ptr noundef nonnull align 8 dereferenceable(24) %7, i64 24, i1 false), !noalias !6678 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %7), !noalias !6702 @@ -24958,7 +24958,7 @@ _ZN5alloc5alloc15exchange_malloc17hf73c64118470f50eE.exit139: ; preds = %_ZN15ru %167 = icmp eq i64 %165, %166 br i1 %167, label %168, label %149 -168: ; preds = %.loopexit270 +168: ; preds = %.loopexit267 invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$16reserve_for_push17he626549c7e1cbd89E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %29, i64 noundef %165) to label %._crit_edge.i110 unwind label %169, !noalias !6737 @@ -24985,7 +24985,7 @@ _ZN5alloc5alloc15exchange_malloc17hf73c64118470f50eE.exit115.thread: ; preds = % %173 = phi ptr [ %155, %_ZN5alloc5alloc15exchange_malloc17hf73c64118470f50eE.exit115 ], [ %158, %.thread ] call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %20), !noalias !6673 invoke fastcc void @"_ZN79_$LT$rustfmt_nightly..imports..UseSegmentKind$u20$as$u20$core..clone..Clone$GT$5clone17h2859a0c849c5d862E"(ptr noalias noundef align 8 captures(none) dereferenceable(48) %20, ptr noalias noundef nonnull readonly align 8 dereferenceable(48) %40) - to label %_ZN15rustfmt_nightly7imports10merge_rest17h9b340bd258486a2cE.exit.thread347 unwind label %175, !noalias !6678 + to label %_ZN15rustfmt_nightly7imports10merge_rest17h9b340bd258486a2cE.exit.thread344 unwind label %175, !noalias !6678 174: ; preds = %_ZN5alloc5alloc15exchange_malloc17hf73c64118470f50eE.exit115 invoke void @_ZN4core9panicking18panic_bounds_check17h87898f2af235819bE(i64 noundef 0, i64 noundef 0, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.03ffb4fcd013e89489cd0a268123d966.168) #60 @@ -24998,7 +24998,7 @@ _ZN5alloc5alloc15exchange_malloc17hf73c64118470f50eE.exit115.thread: ; preds = % call void @__rust_dealloc(ptr noundef nonnull %176, i64 noundef 112, i64 noundef 8) #61, !noalias !6678 br label %.body112 -_ZN15rustfmt_nightly7imports10merge_rest17h9b340bd258486a2cE.exit.thread347: ; preds = %_ZN5alloc5alloc15exchange_malloc17hf73c64118470f50eE.exit115.thread +_ZN15rustfmt_nightly7imports10merge_rest17h9b340bd258486a2cE.exit.thread344: ; preds = %_ZN5alloc5alloc15exchange_malloc17hf73c64118470f50eE.exit115.thread %178 = getelementptr inbounds nuw i8, ptr %40, i64 48 %179 = load i8, ptr %178, align 8, !range !74, !alias.scope !6671, !noalias !6745, !noundef !4 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %173, ptr noundef nonnull align 8 dereferenceable(48) %20, i64 48, i1 false), !noalias !6678 @@ -25093,7 +25093,7 @@ _ZN5alloc5alloc15exchange_malloc17hf73c64118470f50eE.exit: ; preds = %184 %210 = getelementptr inbounds nuw i8, ptr %9, i64 16 %211 = getelementptr inbounds { { i64, [5 x i64] }, i8, [7 x i8] }, ptr %40, i64 %42 %212 = icmp eq i64 %207, 0 - br i1 %212, label %.loopexit266, label %.lr.ph.i99 + br i1 %212, label %.loopexit263, label %.lr.ph.i99 .lr.ph.i99: ; preds = %.noexc106, %216 %.sroa.10.032.i100 = phi i64 [ %213, %216 ], [ %207, %.noexc106 ] @@ -25101,7 +25101,7 @@ _ZN5alloc5alloc15exchange_malloc17hf73c64118470f50eE.exit: ; preds = %184 %.sroa.7.030.i102 = phi i64 [ %217, %216 ], [ 0, %.noexc106 ] %213 = add i64 %.sroa.10.032.i100, -1 %214 = icmp eq ptr %.sroa.013.031.i101, %211 - br i1 %214, label %.loopexit266, label %215 + br i1 %214, label %.loopexit263, label %215 215: ; preds = %.lr.ph.i99 tail call void @llvm.experimental.noalias.scope.decl(metadata !6757), !noalias !6678 @@ -25127,7 +25127,7 @@ _ZN5alloc5alloc15exchange_malloc17hf73c64118470f50eE.exit: ; preds = %184 call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %.sroa.07.sroa.0.i97) call void @llvm.lifetime.end.p0(i64 7, ptr nonnull %.sroa.07.sroa.5.i98) %222 = icmp eq i64 %213, 0 - br i1 %222, label %.loopexit266, label %.lr.ph.i99 + br i1 %222, label %.loopexit263, label %.lr.ph.i99 223: ; preds = %215 %lpad.loopexit.i103 = landingpad { ptr, i32 } @@ -25151,7 +25151,7 @@ _ZN5alloc5alloc15exchange_malloc17hf73c64118470f50eE.exit: ; preds = %184 cleanup br label %.thread200 -.loopexit266: ; preds = %.lr.ph.i99, %216, %.noexc106 +.loopexit263: ; preds = %.lr.ph.i99, %216, %.noexc106 store i64 %204, ptr %210, align 8, !noalias !6755 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %33, ptr noundef nonnull align 8 dereferenceable(24) %9, i64 24, i1 false), !noalias !6678 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %9), !noalias !6755 @@ -25177,14 +25177,14 @@ _ZN5alloc5alloc15exchange_malloc17hf73c64118470f50eE.exit: ; preds = %184 %or.cond.i91 = and i1 %241, %240 br i1 %or.cond.i91, label %"_ZN4core3ops8function5impls79_$LT$impl$u20$core..ops..function..FnMut$LT$A$GT$$u20$for$u20$$RF$mut$u20$F$GT$8call_mut17h1dfd04afc3fefd75E.exit.i.i.i.i.i.i.i", label %270 -"_ZN4core3ops8function5impls79_$LT$impl$u20$core..ops..function..FnMut$LT$A$GT$$u20$for$u20$$RF$mut$u20$F$GT$8call_mut17h1dfd04afc3fefd75E.exit.i.i.i.i.i.i.i": ; preds = %.loopexit266, %.noexc.i - %242 = phi ptr [ %246, %.noexc.i ], [ %234, %.loopexit266 ] +"_ZN4core3ops8function5impls79_$LT$impl$u20$core..ops..function..FnMut$LT$A$GT$$u20$for$u20$$RF$mut$u20$F$GT$8call_mut17h1dfd04afc3fefd75E.exit.i.i.i.i.i.i.i": ; preds = %.loopexit263, %.noexc.i + %242 = phi ptr [ %246, %.noexc.i ], [ %234, %.loopexit263 ] %243 = icmp eq ptr %242, %237 br i1 %243, label %_ZN4core4iter6traits8iterator8Iterator10min_by_key17hca8f2611e879e005E.exit.i.thread, label %244 244: ; preds = %"_ZN4core3ops8function5impls79_$LT$impl$u20$core..ops..function..FnMut$LT$A$GT$$u20$for$u20$$RF$mut$u20$F$GT$8call_mut17h1dfd04afc3fefd75E.exit.i.i.i.i.i.i.i" %245 = invoke fastcc noundef zeroext i1 @_ZN15rustfmt_nightly7imports7UseTree12share_prefix17hf36c8bc515770df7E(ptr noalias noundef nonnull readonly align 8 dereferenceable(152) %242, ptr noalias noundef nonnull readonly align 8 dereferenceable(152) %33, i8 noundef 0) - to label %.noexc.i unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit, !noalias !6776 + to label %.noexc.i unwind label %.loopexit.split-lp.loopexit, !noalias !6776 .noexc.i: ; preds = %244 %246 = getelementptr inbounds nuw i8, ptr %242, i64 152 @@ -25209,7 +25209,7 @@ _ZN5alloc5alloc15exchange_malloc17hf73c64118470f50eE.exit: ; preds = %184 %.0.i.i.i.i.i.i.i = phi i64 [ %254, %"_ZN4core4iter8adapters10filter_map15filter_map_fold28_$u7b$$u7b$closure$u7d$$u7d$17haddb2d577e9aab5cE.exit.i.i.i.i.i.i.i" ], [ 0, %.thread.i.i.i.i ] %252 = getelementptr inbounds { { { i64, ptr }, i64 }, { i64, [9 x i64] }, { i8, [31 x i8] }, { i32, i16, i16 }, { ptr } }, ptr %246, i64 %.0.i.i.i.i.i.i.i %253 = invoke fastcc noundef zeroext i1 @_ZN15rustfmt_nightly7imports7UseTree12share_prefix17hf36c8bc515770df7E(ptr noalias noundef nonnull readonly align 8 dereferenceable(152) %252, ptr noalias noundef nonnull readonly align 8 dereferenceable(152) %33, i8 noundef 0) - to label %.noexc26.i unwind label %.loopexit.split-lp.loopexit, !noalias !6776 + to label %.noexc26.i unwind label %.loopexit247, !noalias !6776 .noexc26.i: ; preds = %.split.i.i.i.i.i.i.i br i1 %253, label %"._ZN115_$LT$core..iter..adapters..take_while..TakeWhile$LT$I$C$P$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4fold17h785cff24ceee13ffE.exit_crit_edge.i.i.i.i.i11.i.i.i.i", label %"_ZN4core4iter8adapters10filter_map15filter_map_fold28_$u7b$$u7b$closure$u7d$$u7d$17haddb2d577e9aab5cE.exit.i.i.i.i.i.i.i" @@ -25287,20 +25287,20 @@ _ZN4core4iter6traits8iterator8Iterator10min_by_key17hca8f2611e879e005E.exit.i.th invoke void @_ZN4core5slice4sort10merge_sort17h390146cf9f77c78bE(ptr noalias noundef nonnull align 8 %267, i64 noundef %269, ptr noalias noundef nonnull align 1 %4) to label %_ZN5alloc5slice11stable_sort17h35b75b64f0e783d3E.exit.i unwind label %.body.i, !noalias !6678 -270: ; preds = %.loopexit266 +270: ; preds = %.loopexit263 %271 = icmp eq i8 %2, 2 br i1 %271, label %"_ZN4core3ops8function5impls79_$LT$impl$u20$core..ops..function..FnMut$LT$A$GT$$u20$for$u20$$RF$mut$u20$F$GT$8call_mut17h1dfd04afc3fefd75E.exit.i.i.i.i.i.i34.i.preheader", label %"_ZN4core3ops8function5impls79_$LT$impl$u20$core..ops..function..FnMut$LT$A$GT$$u20$for$u20$$RF$mut$u20$F$GT$8call_mut17h1dfd04afc3fefd75E.exit.i.i.i.i.i.i104.i" "_ZN4core3ops8function5impls79_$LT$impl$u20$core..ops..function..FnMut$LT$A$GT$$u20$for$u20$$RF$mut$u20$F$GT$8call_mut17h1dfd04afc3fefd75E.exit.i.i.i.i.i.i34.i.preheader": ; preds = %270 %272 = icmp eq i64 %236, 0 - br i1 %272, label %_ZN4core4iter6traits8iterator8Iterator10min_by_key17hca8f2611e879e005E.exit.i.thread, label %.lr.ph373 + br i1 %272, label %_ZN4core4iter6traits8iterator8Iterator10min_by_key17hca8f2611e879e005E.exit.i.thread, label %.lr.ph370 -.lr.ph373: ; preds = %"_ZN4core3ops8function5impls79_$LT$impl$u20$core..ops..function..FnMut$LT$A$GT$$u20$for$u20$$RF$mut$u20$F$GT$8call_mut17h1dfd04afc3fefd75E.exit.i.i.i.i.i.i34.i.preheader" +.lr.ph370: ; preds = %"_ZN4core3ops8function5impls79_$LT$impl$u20$core..ops..function..FnMut$LT$A$GT$$u20$for$u20$$RF$mut$u20$F$GT$8call_mut17h1dfd04afc3fefd75E.exit.i.i.i.i.i.i34.i.preheader" %273 = getelementptr inbounds nuw i8, ptr %5, i64 8 br label %274 -274: ; preds = %.lr.ph373, %.noexc94.i - %275 = phi ptr [ %234, %.lr.ph373 ], [ %314, %.noexc94.i ] +274: ; preds = %.lr.ph370, %.noexc94.i + %275 = phi ptr [ %234, %.lr.ph370 ], [ %314, %.noexc94.i ] call void @llvm.experimental.noalias.scope.decl(metadata !6833), !noalias !6678 call void @llvm.experimental.noalias.scope.decl(metadata !6836) call void @llvm.experimental.noalias.scope.decl(metadata !6839) @@ -25382,12 +25382,12 @@ _ZN15rustfmt_nightly7imports7UseTree16contains_comment17hd6a183ede1e96395E.exit. 312: ; preds = %308 %313 = invoke noundef zeroext i1 @_ZN15rustfmt_nightly5utils18is_same_visibility17hd2ef40591ab1179dE(ptr noalias noundef nonnull readonly align 8 dereferenceable(32) %304, ptr noalias noundef nonnull readonly align 8 dereferenceable(32) %231) - to label %.noexc330 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit + to label %.noexc327 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit -.noexc330: ; preds = %312 - br i1 %313, label %.noexc330._crit_edge, label %.noexc94.i +.noexc327: ; preds = %312 + br i1 %313, label %.noexc327._crit_edge, label %.noexc94.i -.noexc330._crit_edge: ; preds = %.noexc330 +.noexc327._crit_edge: ; preds = %.noexc327 %.val7.i.i.i.i.i.i.i.i46.i.pre = load i64, ptr %238, align 8, !noalias !6876 br label %split @@ -25395,13 +25395,13 @@ _ZN15rustfmt_nightly7imports7UseTree15same_visibility17hf77da83f711bc7e3E.exit.i %spec.select.i.i = icmp samesign ugt i8 %307, 1 br i1 %spec.select.i.i, label %split, label %.noexc94.i -.noexc94.i: ; preds = %296, %_ZN15rustfmt_nightly7imports7UseTree15same_visibility17hf77da83f711bc7e3E.exit.i, %.noexc330, %310, %_ZN15rustfmt_nightly7imports7UseTree11has_comment17hea44b230ad42a0a7E.exit.i.i, %274 +.noexc94.i: ; preds = %296, %_ZN15rustfmt_nightly7imports7UseTree15same_visibility17hf77da83f711bc7e3E.exit.i, %.noexc327, %310, %_ZN15rustfmt_nightly7imports7UseTree11has_comment17hea44b230ad42a0a7E.exit.i.i, %274 %314 = getelementptr inbounds nuw i8, ptr %275, i64 152 %315 = icmp eq ptr %314, %237 br i1 %315, label %_ZN4core4iter6traits8iterator8Iterator10min_by_key17hca8f2611e879e005E.exit.i.thread, label %274 -split: ; preds = %310, %_ZN15rustfmt_nightly7imports7UseTree15same_visibility17hf77da83f711bc7e3E.exit.i, %.noexc330._crit_edge - %.val7.i.i.i.i.i.i.i.i46.i = phi i64 [ %.val7.i.i.i.i.i.i.i.i46.i.pre, %.noexc330._crit_edge ], [ %279, %_ZN15rustfmt_nightly7imports7UseTree15same_visibility17hf77da83f711bc7e3E.exit.i ], [ %279, %310 ] +split: ; preds = %310, %_ZN15rustfmt_nightly7imports7UseTree15same_visibility17hf77da83f711bc7e3E.exit.i, %.noexc327._crit_edge + %.val7.i.i.i.i.i.i.i.i46.i = phi i64 [ %.val7.i.i.i.i.i.i.i.i46.i.pre, %.noexc327._crit_edge ], [ %279, %_ZN15rustfmt_nightly7imports7UseTree15same_visibility17hf77da83f711bc7e3E.exit.i ], [ %279, %310 ] %316 = getelementptr inbounds nuw i8, ptr %275, i64 8 %317 = getelementptr inbounds nuw i8, ptr %275, i64 16 %318 = getelementptr inbounds nuw i8, ptr %275, i64 152 @@ -25530,7 +25530,7 @@ _ZN15rustfmt_nightly7imports7UseTree16contains_comment17hd6a183ede1e96395E.exit. 371: ; preds = %367 %372 = invoke noundef zeroext i1 @_ZN15rustfmt_nightly5utils18is_same_visibility17hd2ef40591ab1179dE(ptr noalias noundef nonnull readonly align 8 dereferenceable(32) %363, ptr noalias noundef nonnull readonly align 8 dereferenceable(32) %231) - to label %.noexc96.i unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit, !noalias !6776 + to label %.noexc96.i unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit, !noalias !6776 .noexc96.i: ; preds = %371 br i1 %372, label %._ZN15rustfmt_nightly7imports7UseTree12share_prefix17hf36c8bc515770df7E.exit_crit_edge.i.i.i.i.i73.i, label %"_ZN4core4iter8adapters10filter_map15filter_map_fold28_$u7b$$u7b$closure$u7d$$u7d$17h88d81b7dd1f694f6E.exit.us.i.i.i.i.i.i.i" @@ -25592,7 +25592,7 @@ _ZN4core4iter6traits8iterator8Iterator10max_by_key17hbe5477e8b4187885E.exit.i: ; 383: ; preds = %"_ZN4core3ops8function5impls79_$LT$impl$u20$core..ops..function..FnMut$LT$A$GT$$u20$for$u20$$RF$mut$u20$F$GT$8call_mut17h1dfd04afc3fefd75E.exit.i.i.i.i.i.i104.i" %384 = invoke fastcc noundef zeroext i1 @_ZN15rustfmt_nightly7imports7UseTree12share_prefix17hf36c8bc515770df7E(ptr noalias noundef nonnull readonly align 8 dereferenceable(152) %381, ptr noalias noundef nonnull readonly align 8 dereferenceable(152) %33, i8 noundef %2) - to label %.noexc182.i unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit, !noalias !6776 + to label %.noexc182.i unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit, !noalias !6776 .noexc182.i: ; preds = %383 %385 = getelementptr inbounds nuw i8, ptr %381, i64 152 @@ -25618,7 +25618,7 @@ _ZN4core4iter6traits8iterator8Iterator10max_by_key17hbe5477e8b4187885E.exit.i: ; %.0.i.i.i.i.i.i112.i = phi i64 [ %393, %"_ZN4core4iter8adapters10filter_map15filter_map_fold28_$u7b$$u7b$closure$u7d$$u7d$17h64c7945231da4fdbE.exit.i.i.i.i.i.i.i" ], [ 0, %.thread.i.i.i107.i ] %391 = getelementptr inbounds { { { i64, ptr }, i64 }, { i64, [9 x i64] }, { i8, [31 x i8] }, { i32, i16, i16 }, { ptr } }, ptr %385, i64 %.0.i.i.i.i.i.i112.i %392 = invoke fastcc noundef zeroext i1 @_ZN15rustfmt_nightly7imports7UseTree12share_prefix17hf36c8bc515770df7E(ptr noalias noundef nonnull readonly align 8 dereferenceable(152) %391, ptr noalias noundef nonnull readonly align 8 dereferenceable(152) %33, i8 noundef %2) - to label %.noexc184.i unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit, !noalias !6776 + to label %.noexc184.i unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit, !noalias !6776 .noexc184.i: ; preds = %.split.i.i.i.i.i.i108.i br i1 %392, label %"._ZN115_$LT$core..iter..adapters..take_while..TakeWhile$LT$I$C$P$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4fold17h785cff24ceee13ffE.exit_crit_edge.i.i.i.i.i11.i.i.i124.i", label %"_ZN4core4iter8adapters10filter_map15filter_map_fold28_$u7b$$u7b$closure$u7d$$u7d$17h64c7945231da4fdbE.exit.i.i.i.i.i.i.i" @@ -25650,49 +25650,49 @@ _ZN4core4iter6traits8iterator8Iterator10max_by_key17h18983879f6479d55E.exit.i: ; %396 = phi ptr [ %.sroa.0178.0, %_ZN4core4iter6traits8iterator8Iterator10max_by_key17hbe5477e8b4187885E.exit.i ], [ %.sroa.0181.0, %_ZN4core4iter6traits8iterator8Iterator10max_by_key17h18983879f6479d55E.exit.i ] %397 = phi i8 [ 2, %_ZN4core4iter6traits8iterator8Iterator10max_by_key17hbe5477e8b4187885E.exit.i ], [ %2, %_ZN4core4iter6traits8iterator8Iterator10max_by_key17h18983879f6479d55E.exit.i ] invoke fastcc void @_ZN15rustfmt_nightly7imports7UseTree5merge17h22a21d19e0d85ae2E(ptr noalias noundef align 8 dereferenceable(152) %396, ptr noalias noundef nonnull readonly align 8 dereferenceable(152) %33, i8 noundef %397) - to label %257 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp, !noalias !6776 + to label %257 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp, !noalias !6776 _ZN5alloc5slice11stable_sort17h35b75b64f0e783d3E.exit.i: ; preds = %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17h451bafaee6754faeE.exit.i" call void @llvm.lifetime.end.p0(i64 0, ptr nonnull %4), !noalias !6826 br label %400 -.loopexit.split-lp.loopexit: ; preds = %.split.i.i.i.i.i.i.i - %lpad.loopexit248 = landingpad { ptr, i32 } +.loopexit247: ; preds = %.split.i.i.i.i.i.i.i + %lpad.loopexit = landingpad { ptr, i32 } cleanup br label %.loopexit.split-lp -.loopexit.split-lp.loopexit.split-lp.loopexit: ; preds = %244 - %lpad.loopexit252 = landingpad { ptr, i32 } +.loopexit.split-lp.loopexit: ; preds = %244 + %lpad.loopexit248 = landingpad { ptr, i32 } cleanup br label %.loopexit.split-lp -.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit: ; preds = %371 - %lpad.loopexit254 = landingpad { ptr, i32 } +.loopexit.split-lp.loopexit.split-lp.loopexit: ; preds = %371 + %lpad.loopexit251 = landingpad { ptr, i32 } cleanup br label %.loopexit.split-lp -.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit: ; preds = %312 - %lpad.loopexit258 = landingpad { ptr, i32 } +.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit: ; preds = %312 + %lpad.loopexit254 = landingpad { ptr, i32 } cleanup br label %.loopexit.split-lp -.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit: ; preds = %.split.i.i.i.i.i.i108.i - %lpad.loopexit260 = landingpad { ptr, i32 } +.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit: ; preds = %.split.i.i.i.i.i.i108.i + %lpad.loopexit257 = landingpad { ptr, i32 } cleanup br label %.loopexit.split-lp -.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit: ; preds = %383 - %lpad.loopexit264 = landingpad { ptr, i32 } +.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit: ; preds = %383 + %lpad.loopexit260 = landingpad { ptr, i32 } cleanup br label %.loopexit.split-lp -.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp: ; preds = %.invoke - %lpad.loopexit.split-lp = landingpad { ptr, i32 } +.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp: ; preds = %.invoke + %lpad.loopexit.split-lp261 = landingpad { ptr, i32 } cleanup br label %.loopexit.split-lp -.loopexit.split-lp: ; preds = %.loopexit.split-lp.loopexit, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit, %.loopexit.split-lp.loopexit.split-lp.loopexit - %lpad.phi250 = phi { ptr, i32 } [ %lpad.loopexit248, %.loopexit.split-lp.loopexit ], [ %lpad.loopexit252, %.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit254, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit258, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit260, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit264, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit.split-lp, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp ] +.loopexit.split-lp: ; preds = %.loopexit.split-lp.loopexit, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit, %.loopexit.split-lp.loopexit.split-lp.loopexit, %.loopexit247 + %lpad.phi = phi { ptr, i32 } [ %lpad.loopexit, %.loopexit247 ], [ %lpad.loopexit248, %.loopexit.split-lp.loopexit ], [ %lpad.loopexit251, %.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit254, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit257, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit260, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit.split-lp261, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp ] invoke void @"_ZN4core3ptr54drop_in_place$LT$rustfmt_nightly..imports..UseTree$GT$17h725c1c900f92ab27E"(ptr noalias noundef nonnull align 8 dereferenceable(152) %33) #59 to label %.thread200 unwind label %398, !noalias !6678 @@ -25821,7 +25821,7 @@ _ZN5alloc5slice11stable_sort17h35b75b64f0e783d3E.exit.i: ; preds = %"_ZN5alloc3v br label %_ZN15rustfmt_nightly7imports10merge_rest17h9b340bd258486a2cE.exit .thread200: ; preds = %417, %.loopexit.split-lp, %.body.i, %261, %223, %227 - %eh.lpad-body87 = phi { ptr, i32 } [ %228, %227 ], [ %lpad.loopexit.i103, %223 ], [ %lpad.phi250, %.loopexit.split-lp ], [ %lpad.thr_comm.split-lp, %.body.i ], [ %262, %261 ], [ %lpad.loopexit.i82, %417 ] + %eh.lpad-body87 = phi { ptr, i32 } [ %228, %227 ], [ %lpad.loopexit.i103, %223 ], [ %lpad.phi, %.loopexit.split-lp ], [ %lpad.thr_comm.split-lp, %.body.i ], [ %262, %261 ], [ %lpad.loopexit.i82, %417 ] invoke void @"_ZN4core3ptr77drop_in_place$LT$alloc..vec..Vec$LT$rustfmt_nightly..imports..UseTree$GT$$GT$17hfad38442bbea55ccE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %34) #59 to label %common.resume unwind label %181, !noalias !6678 @@ -25841,7 +25841,7 @@ _ZN5alloc5slice11stable_sort17h35b75b64f0e783d3E.exit.i: ; preds = %"_ZN5alloc3v %441 = getelementptr inbounds nuw i8, ptr %15, i64 16 %442 = getelementptr inbounds { { i64, [5 x i64] }, i8, [7 x i8] }, ptr %36, i64 %38 %443 = icmp eq i64 %438, 0 - br i1 %443, label %.loopexit269, label %.lr.ph.i59.preheader + br i1 %443, label %.loopexit266, label %.lr.ph.i59.preheader .lr.ph.i59.preheader: ; preds = %.noexc66 %444 = getelementptr inbounds { { i64, [5 x i64] }, i8, [7 x i8] }, ptr %36, i64 %.0.i @@ -25853,7 +25853,7 @@ _ZN5alloc5slice11stable_sort17h35b75b64f0e783d3E.exit.i: ; preds = %"_ZN5alloc3v %.sroa.7.030.i62 = phi i64 [ %449, %448 ], [ 0, %.lr.ph.i59.preheader ] %445 = add i64 %.sroa.10.032.i60, -1 %446 = icmp eq ptr %.sroa.013.031.i61, %442 - br i1 %446, label %.loopexit269, label %447 + br i1 %446, label %.loopexit266, label %447 447: ; preds = %.lr.ph.i59 tail call void @llvm.experimental.noalias.scope.decl(metadata !7054), !noalias !6692 @@ -25879,7 +25879,7 @@ _ZN5alloc5slice11stable_sort17h35b75b64f0e783d3E.exit.i: ; preds = %"_ZN5alloc3v call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %.sroa.07.sroa.0.i57) call void @llvm.lifetime.end.p0(i64 7, ptr nonnull %.sroa.07.sroa.5.i58) %454 = icmp eq i64 %445, 0 - br i1 %454, label %.loopexit269, label %.lr.ph.i59 + br i1 %454, label %.loopexit266, label %.lr.ph.i59 455: ; preds = %447 %lpad.loopexit.i63 = landingpad { ptr, i32 } @@ -25908,7 +25908,7 @@ _ZN5alloc5slice11stable_sort17h35b75b64f0e783d3E.exit.i: ; preds = %"_ZN5alloc3v cleanup br label %.body67 -.loopexit269: ; preds = %.lr.ph.i59, %448, %.noexc66 +.loopexit266: ; preds = %.lr.ph.i59, %448, %.noexc66 store i64 %436, ptr %441, align 8, !noalias !7052 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %25, ptr noundef nonnull align 8 dereferenceable(24) %15, i64 24, i1 false), !noalias !6692 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %15), !noalias !7052 @@ -25925,7 +25925,7 @@ _ZN5alloc5slice11stable_sort17h35b75b64f0e783d3E.exit.i: ; preds = %"_ZN5alloc3v %465 = icmp ugt i64 %.0.i, %42 br i1 %465, label %489, label %466 -466: ; preds = %.loopexit269 +466: ; preds = %.loopexit266 %467 = sub nuw i64 %42, %.0.i %468 = getelementptr inbounds { { i64, [5 x i64] }, i8, [7 x i8] }, ptr %40, i64 %.0.i tail call void @llvm.experimental.noalias.scope.decl(metadata !7067) @@ -25942,7 +25942,7 @@ _ZN5alloc5slice11stable_sort17h35b75b64f0e783d3E.exit.i: ; preds = %"_ZN5alloc3v %473 = getelementptr inbounds nuw i8, ptr %17, i64 16 %474 = getelementptr inbounds { { i64, [5 x i64] }, i8, [7 x i8] }, ptr %40, i64 %42 %475 = icmp eq i64 %470, 0 - br i1 %475, label %.loopexit268, label %.lr.ph.i46 + br i1 %475, label %.loopexit265, label %.lr.ph.i46 .lr.ph.i46: ; preds = %.noexc53, %479 %.sroa.10.032.i47 = phi i64 [ %476, %479 ], [ %470, %.noexc53 ] @@ -25950,7 +25950,7 @@ _ZN5alloc5slice11stable_sort17h35b75b64f0e783d3E.exit.i: ; preds = %"_ZN5alloc3v %.sroa.7.030.i49 = phi i64 [ %480, %479 ], [ 0, %.noexc53 ] %476 = add i64 %.sroa.10.032.i47, -1 %477 = icmp eq ptr %.sroa.013.031.i48, %474 - br i1 %477, label %.loopexit268, label %478 + br i1 %477, label %.loopexit265, label %478 478: ; preds = %.lr.ph.i46 tail call void @llvm.experimental.noalias.scope.decl(metadata !7072), !noalias !6678 @@ -25976,7 +25976,7 @@ _ZN5alloc5slice11stable_sort17h35b75b64f0e783d3E.exit.i: ; preds = %"_ZN5alloc3v call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %.sroa.07.sroa.0.i44) call void @llvm.lifetime.end.p0(i64 7, ptr nonnull %.sroa.07.sroa.5.i45) %485 = icmp eq i64 %476, 0 - br i1 %485, label %.loopexit268, label %.lr.ph.i46 + br i1 %485, label %.loopexit265, label %.lr.ph.i46 486: ; preds = %478 %lpad.loopexit.i50 = landingpad { ptr, i32 } @@ -25991,7 +25991,7 @@ _ZN5alloc5slice11stable_sort17h35b75b64f0e783d3E.exit.i: ; preds = %"_ZN5alloc3v call void @_ZN4core9panicking16panic_in_cleanup17h7bbd4fcd6f160435E() #58, !noalias !7077 unreachable -489: ; preds = %.loopexit269 +489: ; preds = %.loopexit266 invoke void @_ZN4core5slice5index26slice_start_index_len_fail17hb7159d6f8f2aed89E(i64 noundef %.0.i, i64 noundef %42, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.03ffb4fcd013e89489cd0a268123d966.176) #60 to label %88 unwind label %490, !noalias !6692 @@ -26005,7 +26005,7 @@ _ZN5alloc5slice11stable_sort17h35b75b64f0e783d3E.exit.i: ; preds = %"_ZN5alloc3v invoke void @"_ZN4core3ptr54drop_in_place$LT$rustfmt_nightly..imports..UseTree$GT$17h725c1c900f92ab27E"(ptr noalias noundef nonnull align 8 dereferenceable(152) %25) #59 to label %.body67 unwind label %181, !noalias !6678 -.loopexit268: ; preds = %.lr.ph.i46, %479, %.noexc53 +.loopexit265: ; preds = %.lr.ph.i46, %479, %.noexc53 store i64 %467, ptr %473, align 8, !noalias !7070 %492 = getelementptr inbounds nuw i8, ptr %186, i64 152 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %492, ptr noundef nonnull align 8 dereferenceable(24) %17, i64 24, i1 false), !noalias !6678 @@ -26033,12 +26033,12 @@ _ZN5alloc5slice11stable_sort17h35b75b64f0e783d3E.exit.i: ; preds = %"_ZN5alloc3v invoke void @_ZN4core5slice4sort10merge_sort17h390146cf9f77c78bE(ptr noalias noundef nonnull align 8 %186, i64 noundef 2, ptr noalias noundef nonnull align 1 %4) to label %497 unwind label %495 -495: ; preds = %.loopexit268, %497 +495: ; preds = %.loopexit265, %497 %496 = landingpad { ptr, i32 } cleanup br label %.thread227 -497: ; preds = %.loopexit268 +497: ; preds = %.loopexit265 call void @llvm.lifetime.end.p0(i64 0, ptr nonnull %4) call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %24), !noalias !6673 call void @llvm.experimental.noalias.scope.decl(metadata !7085) @@ -26054,7 +26054,7 @@ _ZN5alloc5slice11stable_sort17h35b75b64f0e783d3E.exit.i: ; preds = %"_ZN5alloc3v store ptr %500, ptr %501, align 8, !noalias !7088 %502 = getelementptr inbounds nuw i8, ptr %19, i64 16 %503 = icmp eq i64 %499, 0 - br i1 %503, label %.loopexit267, label %.lr.ph.i + br i1 %503, label %.loopexit264, label %.lr.ph.i .lr.ph.i: ; preds = %.noexc, %507 %.sroa.10.032.i = phi i64 [ %504, %507 ], [ %499, %.noexc ] @@ -26062,7 +26062,7 @@ _ZN5alloc5slice11stable_sort17h35b75b64f0e783d3E.exit.i: ; preds = %"_ZN5alloc3v %.sroa.7.030.i = phi i64 [ %508, %507 ], [ 0, %.noexc ] %504 = add i64 %.sroa.10.032.i, -1 %505 = icmp eq ptr %.sroa.013.031.i, %468 - br i1 %505, label %.loopexit267, label %506 + br i1 %505, label %.loopexit264, label %506 506: ; preds = %.lr.ph.i call void @llvm.experimental.noalias.scope.decl(metadata !7090) @@ -26088,7 +26088,7 @@ _ZN5alloc5slice11stable_sort17h35b75b64f0e783d3E.exit.i: ; preds = %"_ZN5alloc3v call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %.sroa.07.sroa.0.i) call void @llvm.lifetime.end.p0(i64 7, ptr nonnull %.sroa.07.sroa.5.i) %513 = icmp eq i64 %504, 0 - br i1 %513, label %.loopexit267, label %.lr.ph.i + br i1 %513, label %.loopexit264, label %.lr.ph.i 514: ; preds = %506 %lpad.loopexit.i = landingpad { ptr, i32 } @@ -26103,7 +26103,7 @@ _ZN5alloc5slice11stable_sort17h35b75b64f0e783d3E.exit.i: ; preds = %"_ZN5alloc3v call void @_ZN4core9panicking16panic_in_cleanup17h7bbd4fcd6f160435E() #58, !noalias !7095 unreachable -.loopexit267: ; preds = %507, %.lr.ph.i, %.noexc +.loopexit264: ; preds = %507, %.lr.ph.i, %.noexc store i64 %.0.i, ptr %502, align 8, !noalias !7088 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %24, ptr noundef nonnull align 8 dereferenceable(24) %19, i64 24, i1 false), !noalias !7085 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %19), !noalias !7088 @@ -26114,7 +26114,7 @@ _ZN5alloc5slice11stable_sort17h35b75b64f0e783d3E.exit.i: ; preds = %"_ZN5alloc3v %.not125.i = icmp eq i64 %38, 0 br i1 %.not125.i, label %531, label %518, !prof !4717 -518: ; preds = %.loopexit267 +518: ; preds = %.loopexit264 %519 = getelementptr inbounds nuw i8, ptr %36, i64 48 %520 = load i8, ptr %519, align 8, !range !74, !alias.scope !6668, !noalias !6692, !noundef !4 call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %22), !noalias !6673 @@ -26133,7 +26133,7 @@ _ZN5alloc5slice11stable_sort17h35b75b64f0e783d3E.exit.i: ; preds = %"_ZN5alloc3v ._crit_edge.i: ; preds = %526 %.pre.i = load i64, ptr %522, align 8, !alias.scope !7098, !noalias !7101 - %.sroa.0.0.copyload331.pre = load i64, ptr %24, align 8 + %.sroa.0.0.copyload328.pre = load i64, ptr %24, align 8 br label %532 527: ; preds = %526 @@ -26148,12 +26148,12 @@ _ZN5alloc5slice11stable_sort17h35b75b64f0e783d3E.exit.i: ; preds = %"_ZN5alloc3v call void @_ZN4core9panicking16panic_in_cleanup17h7bbd4fcd6f160435E() #58, !noalias !6678 unreachable -531: ; preds = %.loopexit267 +531: ; preds = %.loopexit264 invoke void @_ZN4core9panicking18panic_bounds_check17h87898f2af235819bE(i64 noundef 0, i64 noundef 0, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.03ffb4fcd013e89489cd0a268123d966.175) #60 to label %88 unwind label %537, !noalias !6678 532: ; preds = %._crit_edge.i, %518 - %.sroa.0.0.copyload331 = phi i64 [ %.sroa.0.0.copyload331.pre, %._crit_edge.i ], [ %524, %518 ] + %.sroa.0.0.copyload328 = phi i64 [ %.sroa.0.0.copyload328.pre, %._crit_edge.i ], [ %524, %518 ] %533 = phi i64 [ %.pre.i, %._crit_edge.i ], [ %523, %518 ] %534 = getelementptr inbounds nuw i8, ptr %24, i64 8 %535 = load ptr, ptr %534, align 8, !alias.scope !7098, !noalias !7101, !nonnull !4, !noundef !4 @@ -26184,17 +26184,17 @@ _ZN5alloc5slice11stable_sort17h35b75b64f0e783d3E.exit.i: ; preds = %"_ZN5alloc3v _ZN15rustfmt_nightly7imports10merge_rest17h9b340bd258486a2cE.exit: ; preds = %430, %532 %.sroa.7.0.in = phi i64 [ %431, %430 ], [ %533, %532 ] %.sroa.6.0 = phi ptr [ %433, %430 ], [ %535, %532 ] - %.sroa.0.0 = phi i64 [ %.sroa.0.0.copyload, %430 ], [ %.sroa.0.0.copyload331, %532 ] + %.sroa.0.0 = phi i64 [ %.sroa.0.0.copyload, %430 ], [ %.sroa.0.0.copyload328, %532 ] %.sroa.7.0 = add i64 %.sroa.7.0.in, 1 %.not = icmp eq i64 %.sroa.0.0, -9223372036854775808 br i1 %.not, label %_ZN15rustfmt_nightly7imports10merge_rest17h9b340bd258486a2cE.exit.thread, label %554 .lr.ph: ; preds = %3, %547 - %.036290 = phi i64 [ %539, %547 ], [ 0, %3 ] - %539 = add nuw i64 %.036290, 1 - %540 = getelementptr inbounds { { i64, [5 x i64] }, i8, [7 x i8] }, ptr %36, i64 %.036290 - %541 = getelementptr inbounds { { i64, [5 x i64] }, i8, [7 x i8] }, ptr %40, i64 %.036290 - %542 = icmp eq i64 %.036290, 0 + %.036287 = phi i64 [ %539, %547 ], [ 0, %3 ] + %539 = add nuw i64 %.036287, 1 + %540 = getelementptr inbounds { { i64, [5 x i64] }, i8, [7 x i8] }, ptr %36, i64 %.036287 + %541 = getelementptr inbounds { { i64, [5 x i64] }, i8, [7 x i8] }, ptr %40, i64 %.036287 + %542 = icmp eq i64 %.036287, 0 br i1 %542, label %543, label %545 543: ; preds = %.lr.ph @@ -26217,25 +26217,25 @@ _ZN15rustfmt_nightly7imports10merge_rest17h9b340bd258486a2cE.exit: ; preds = %43 %553 = icmp eq i8 %550, %552 br i1 %553, label %547, label %.critedge -554: ; preds = %_ZN15rustfmt_nightly7imports10merge_rest17h9b340bd258486a2cE.exit.thread347, %_ZN15rustfmt_nightly7imports10merge_rest17h9b340bd258486a2cE.exit - %.sroa.0.0354 = phi i64 [ 2, %_ZN15rustfmt_nightly7imports10merge_rest17h9b340bd258486a2cE.exit.thread347 ], [ %.sroa.0.0, %_ZN15rustfmt_nightly7imports10merge_rest17h9b340bd258486a2cE.exit ] - %.sroa.6.0353 = phi ptr [ %173, %_ZN15rustfmt_nightly7imports10merge_rest17h9b340bd258486a2cE.exit.thread347 ], [ %.sroa.6.0, %_ZN15rustfmt_nightly7imports10merge_rest17h9b340bd258486a2cE.exit ] - %.sroa.7.0352 = phi i64 [ 2, %_ZN15rustfmt_nightly7imports10merge_rest17h9b340bd258486a2cE.exit.thread347 ], [ %.sroa.7.0, %_ZN15rustfmt_nightly7imports10merge_rest17h9b340bd258486a2cE.exit ] +554: ; preds = %_ZN15rustfmt_nightly7imports10merge_rest17h9b340bd258486a2cE.exit.thread344, %_ZN15rustfmt_nightly7imports10merge_rest17h9b340bd258486a2cE.exit + %.sroa.0.0351 = phi i64 [ 2, %_ZN15rustfmt_nightly7imports10merge_rest17h9b340bd258486a2cE.exit.thread344 ], [ %.sroa.0.0, %_ZN15rustfmt_nightly7imports10merge_rest17h9b340bd258486a2cE.exit ] + %.sroa.6.0350 = phi ptr [ %173, %_ZN15rustfmt_nightly7imports10merge_rest17h9b340bd258486a2cE.exit.thread344 ], [ %.sroa.6.0, %_ZN15rustfmt_nightly7imports10merge_rest17h9b340bd258486a2cE.exit ] + %.sroa.7.0349 = phi i64 [ 2, %_ZN15rustfmt_nightly7imports10merge_rest17h9b340bd258486a2cE.exit.thread344 ], [ %.sroa.7.0, %_ZN15rustfmt_nightly7imports10merge_rest17h9b340bd258486a2cE.exit ] invoke void @"_ZN4core3ptr80drop_in_place$LT$alloc..vec..Vec$LT$rustfmt_nightly..imports..UseSegment$GT$$GT$17h98511aa84bbc718aE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %0) to label %.thread236 unwind label %555 555: ; preds = %554 %556 = landingpad { ptr, i32 } cleanup - store i64 %.sroa.0.0354, ptr %0, align 8 - store ptr %.sroa.6.0353, ptr %35, align 8 - store i64 %.sroa.7.0352, ptr %37, align 8 + store i64 %.sroa.0.0351, ptr %0, align 8 + store ptr %.sroa.6.0350, ptr %35, align 8 + store i64 %.sroa.7.0349, ptr %37, align 8 br label %common.resume .thread236: ; preds = %554 - store i64 %.sroa.0.0354, ptr %0, align 8 - store ptr %.sroa.6.0353, ptr %35, align 8 - store i64 %.sroa.7.0352, ptr %37, align 8 + store i64 %.sroa.0.0351, ptr %0, align 8 + store ptr %.sroa.6.0350, ptr %35, align 8 + store i64 %.sroa.7.0349, ptr %37, align 8 %557 = getelementptr inbounds nuw i8, ptr %0, i64 136 %.sroa.011.0.copyload = load i64, ptr %557, align 8 %558 = getelementptr inbounds nuw i8, ptr %1, i64 136 diff --git a/bench/tinyrenderer/optimized/tgaimage.cpp.ll b/bench/tinyrenderer/optimized/tgaimage.cpp.ll index 8d4f4c283bc..355534d5fcb 100644 --- a/bench/tinyrenderer/optimized/tgaimage.cpp.ll +++ b/bench/tinyrenderer/optimized/tgaimage.cpp.ll @@ -366,17 +366,17 @@ define dso_local noundef zeroext i1 @_ZN8TGAImage13load_rle_dataERSt14basic_ifst .lr.ph70.preheader: ; preds = %19 %21 = add nuw nsw i32 %13, 1 %22 = and i32 %21, 255 - %umax88 = call i32 @llvm.umax.i32(i32 %22, i32 1) - %.pre90 = load i8, ptr %10, align 8 + %umax87 = call i32 @llvm.umax.i32(i32 %22, i32 1) + %.pre89 = load i8, ptr %10, align 8 br label %.lr.ph70 23: ; preds = %._crit_edge64 %24 = add nuw nsw i32 %.03468, 1 - %exitcond89.not = icmp eq i32 %24, %umax88 - br i1 %exitcond89.not, label %.loopexit, label %.lr.ph70, !llvm.loop !6 + %exitcond88.not = icmp eq i32 %24, %umax87 + br i1 %exitcond88.not, label %.loopexit, label %.lr.ph70, !llvm.loop !6 .lr.ph70: ; preds = %.lr.ph70.preheader, %23 - %25 = phi i8 [ %42, %23 ], [ %.pre90, %.lr.ph70.preheader ] + %25 = phi i8 [ %42, %23 ], [ %.pre89, %.lr.ph70.preheader ] %.03468 = phi i32 [ %24, %23 ], [ 0, %.lr.ph70.preheader ] %.167 = phi i64 [ %.2.lcssa, %23 ], [ %.035, %.lr.ph70.preheader ] %.13766 = phi i64 [ %43, %23 ], [ %.036, %.lr.ph70.preheader ] @@ -391,22 +391,22 @@ define dso_local noundef zeroext i1 @_ZN8TGAImage13load_rle_dataERSt14basic_ifst .preheader: ; preds = %.lr.ph70 %33 = load i8, ptr %10, align 8 - %.not75 = icmp eq i8 %33, 0 - br i1 %.not75, label %._crit_edge64, label %.lr.ph63 + %.not74 = icmp eq i8 %33, 0 + br i1 %.not74, label %._crit_edge64, label %.lr.ph63 .lr.ph63: ; preds = %.preheader, %.lr.ph63 - %indvars.iv85 = phi i64 [ %indvars.iv.next86, %.lr.ph63 ], [ 0, %.preheader ] + %indvars.iv84 = phi i64 [ %indvars.iv.next85, %.lr.ph63 ], [ 0, %.preheader ] %.261 = phi i64 [ %36, %.lr.ph63 ], [ %.167, %.preheader ] - %34 = getelementptr inbounds nuw [4 x i8], ptr %3, i64 0, i64 %indvars.iv85 + %34 = getelementptr inbounds nuw [4 x i8], ptr %3, i64 0, i64 %indvars.iv84 %35 = load i8, ptr %34, align 1 %36 = add i64 %.261, 1 %37 = load ptr, ptr %11, align 8 %38 = getelementptr inbounds i8, ptr %37, i64 %.261 store i8 %35, ptr %38, align 1 - %indvars.iv.next86 = add nuw nsw i64 %indvars.iv85, 1 + %indvars.iv.next85 = add nuw nsw i64 %indvars.iv84, 1 %39 = load i8, ptr %10, align 8 %40 = zext i8 %39 to i64 - %41 = icmp samesign ult i64 %indvars.iv.next86, %40 + %41 = icmp samesign ult i64 %indvars.iv.next85, %40 br i1 %41, label %.lr.ph63, label %._crit_edge64, !llvm.loop !8 ._crit_edge64: ; preds = %.lr.ph63, %.preheader @@ -425,64 +425,59 @@ define dso_local noundef zeroext i1 @_ZN8TGAImage13load_rle_dataERSt14basic_ifst %51 = load i64, ptr %50, align 8 %52 = getelementptr inbounds i8, ptr %1, i64 %51 %53 = call noundef zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEE4goodEv(ptr noundef nonnull align 8 dereferenceable(264) %52) - br i1 %53, label %.preheader45, label %.loopexit47.sink.split + br i1 %53, label %.preheader44.preheader, label %.loopexit47.sink.split -.preheader45: ; preds = %45 - %54 = and i32 %13, 255 - %.not = icmp eq i32 %54, 127 - br i1 %.not, label %.loopexit, label %.preheader44.preheader - -.preheader44.preheader: ; preds = %.preheader45 - %55 = add i32 %13, 129 - %56 = and i32 %55, 255 - %umax = call i32 @llvm.umax.i32(i32 %56, i32 1) +.preheader44.preheader: ; preds = %45 + %54 = add i32 %13, 129 + %55 = and i32 %54, 255 + %umax = call i32 @llvm.umax.i32(i32 %55, i32 1) %.pre = load i8, ptr %10, align 8 br label %.preheader44 -57: ; preds = %._crit_edge - %58 = add nuw nsw i32 %.03258, 1 - %exitcond.not = icmp eq i32 %58, %umax +56: ; preds = %._crit_edge + %57 = add nuw nsw i32 %.03258, 1 + %exitcond.not = icmp eq i32 %57, %umax br i1 %exitcond.not, label %.loopexit, label %.preheader44, !llvm.loop !9 -.preheader44: ; preds = %.preheader44.preheader, %57 - %59 = phi i8 [ %68, %57 ], [ %.pre, %.preheader44.preheader ] - %.03258 = phi i32 [ %58, %57 ], [ 0, %.preheader44.preheader ] - %.357 = phi i64 [ %.4.lcssa, %57 ], [ %.035, %.preheader44.preheader ] - %.23856 = phi i64 [ %69, %57 ], [ %.036, %.preheader44.preheader ] - %.not73 = icmp eq i8 %59, 0 - br i1 %.not73, label %._crit_edge, label %.lr.ph +.preheader44: ; preds = %.preheader44.preheader, %56 + %58 = phi i8 [ %67, %56 ], [ %.pre, %.preheader44.preheader ] + %.03258 = phi i32 [ %57, %56 ], [ 0, %.preheader44.preheader ] + %.357 = phi i64 [ %.4.lcssa, %56 ], [ %.035, %.preheader44.preheader ] + %.23856 = phi i64 [ %68, %56 ], [ %.036, %.preheader44.preheader ] + %.not = icmp eq i8 %58, 0 + br i1 %.not, label %._crit_edge, label %.lr.ph .lr.ph: ; preds = %.preheader44, %.lr.ph %indvars.iv = phi i64 [ %indvars.iv.next, %.lr.ph ], [ 0, %.preheader44 ] - %.454 = phi i64 [ %62, %.lr.ph ], [ %.357, %.preheader44 ] - %60 = getelementptr inbounds nuw [4 x i8], ptr %3, i64 0, i64 %indvars.iv - %61 = load i8, ptr %60, align 1 - %62 = add i64 %.454, 1 - %63 = load ptr, ptr %11, align 8 - %64 = getelementptr inbounds i8, ptr %63, i64 %.454 - store i8 %61, ptr %64, align 1 + %.454 = phi i64 [ %61, %.lr.ph ], [ %.357, %.preheader44 ] + %59 = getelementptr inbounds nuw [4 x i8], ptr %3, i64 0, i64 %indvars.iv + %60 = load i8, ptr %59, align 1 + %61 = add i64 %.454, 1 + %62 = load ptr, ptr %11, align 8 + %63 = getelementptr inbounds i8, ptr %62, i64 %.454 + store i8 %60, ptr %63, align 1 %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 - %65 = load i8, ptr %10, align 8 - %66 = zext i8 %65 to i64 - %67 = icmp samesign ult i64 %indvars.iv.next, %66 - br i1 %67, label %.lr.ph, label %._crit_edge, !llvm.loop !10 + %64 = load i8, ptr %10, align 8 + %65 = zext i8 %64 to i64 + %66 = icmp samesign ult i64 %indvars.iv.next, %65 + br i1 %66, label %.lr.ph, label %._crit_edge, !llvm.loop !10 ._crit_edge: ; preds = %.lr.ph, %.preheader44 - %68 = phi i8 [ 0, %.preheader44 ], [ %65, %.lr.ph ] - %.4.lcssa = phi i64 [ %.357, %.preheader44 ], [ %62, %.lr.ph ] - %69 = add i64 %.23856, 1 - %70 = icmp ugt i64 %69, %8 - br i1 %70, label %.loopexit47.sink.split, label %57 - -.loopexit: ; preds = %57, %23, %.preheader45 - %.339 = phi i64 [ %.036, %.preheader45 ], [ %43, %23 ], [ %69, %57 ] - %.5 = phi i64 [ %.035, %.preheader45 ], [ %.2.lcssa, %23 ], [ %.4.lcssa, %57 ] - %71 = icmp ult i64 %.339, %8 - br i1 %71, label %12, label %.loopexit47, !llvm.loop !11 + %67 = phi i8 [ 0, %.preheader44 ], [ %64, %.lr.ph ] + %.4.lcssa = phi i64 [ %.357, %.preheader44 ], [ %61, %.lr.ph ] + %68 = add i64 %.23856, 1 + %69 = icmp ugt i64 %68, %8 + br i1 %69, label %.loopexit47.sink.split, label %56 + +.loopexit: ; preds = %56, %23 + %.339 = phi i64 [ %43, %23 ], [ %68, %56 ] + %.5 = phi i64 [ %.2.lcssa, %23 ], [ %.4.lcssa, %56 ] + %70 = icmp ult i64 %.339, %8 + br i1 %70, label %12, label %.loopexit47, !llvm.loop !11 .loopexit47.sink.split: ; preds = %45, %12, %._crit_edge, %._crit_edge64, %.lr.ph70 %.str.9.sink = phi ptr [ @.str.3, %.lr.ph70 ], [ @.str.9, %._crit_edge64 ], [ @.str.9, %._crit_edge ], [ @.str.5, %12 ], [ @.str.3, %45 ] - %72 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cerr, ptr noundef nonnull %.str.9.sink) + %71 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cerr, ptr noundef nonnull %.str.9.sink) br label %.loopexit47 .loopexit47: ; preds = %.loopexit, %.loopexit47.sink.split diff --git a/bench/tls-rs/optimized/4vvnrvl2eceao62c.ll b/bench/tls-rs/optimized/4vvnrvl2eceao62c.ll index f2c8359de71..eafd623107d 100644 --- a/bench/tls-rs/optimized/4vvnrvl2eceao62c.ll +++ b/bench/tls-rs/optimized/4vvnrvl2eceao62c.ll @@ -13235,7 +13235,7 @@ switch.lookup: ; preds = %switch.hole_check br i1 %.not28.i, label %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3any17hdc20ca7c1075b036E.llvm.6030771845222660662.exit", label %.lr.ph.split.i "_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3any17hdc20ca7c1075b036E.llvm.6030771845222660662.exit": ; preds = %"_ZN6rustls6suites20SupportedCipherSuite30usable_for_signature_algorithm28_$u7b$$u7b$closure$u7d$$u7d$17hb6507a5337430a68E.llvm.6030771845222660662.exit.backedge.i", %switch.lookup, %"_ZN6rustls6suites20SupportedCipherSuite30usable_for_signature_algorithm28_$u7b$$u7b$closure$u7d$$u7d$17hb6507a5337430a68E.llvm.6030771845222660662.exit.backedge.us.i", %.lr.ph.split.us.i, %5, %3 - %.0 = phi i1 [ true, %3 ], [ false, %5 ], [ true, %.lr.ph.split.us.i ], [ false, %"_ZN6rustls6suites20SupportedCipherSuite30usable_for_signature_algorithm28_$u7b$$u7b$closure$u7d$$u7d$17hb6507a5337430a68E.llvm.6030771845222660662.exit.backedge.us.i" ], [ false, %"_ZN6rustls6suites20SupportedCipherSuite30usable_for_signature_algorithm28_$u7b$$u7b$closure$u7d$$u7d$17hb6507a5337430a68E.llvm.6030771845222660662.exit.backedge.i" ], [ true, %switch.lookup ] + %.0 = phi i1 [ true, %3 ], [ false, %5 ], [ false, %"_ZN6rustls6suites20SupportedCipherSuite30usable_for_signature_algorithm28_$u7b$$u7b$closure$u7d$$u7d$17hb6507a5337430a68E.llvm.6030771845222660662.exit.backedge.us.i" ], [ true, %.lr.ph.split.us.i ], [ false, %"_ZN6rustls6suites20SupportedCipherSuite30usable_for_signature_algorithm28_$u7b$$u7b$closure$u7d$$u7d$17hb6507a5337430a68E.llvm.6030771845222660662.exit.backedge.i" ], [ true, %switch.lookup ] ret i1 %.0 } @@ -13640,7 +13640,7 @@ switch.lookup: ; preds = %switch.hole_check br i1 %.not28.i.i, label %_ZN6rustls6suites20SupportedCipherSuite30usable_for_signature_algorithm17hbb0b7dbdd9f5f8ffE.exit, label %.lr.ph.split.i.i _ZN6rustls6suites20SupportedCipherSuite30usable_for_signature_algorithm17hbb0b7dbdd9f5f8ffE.exit: ; preds = %switch.lookup, %"_ZN6rustls6suites20SupportedCipherSuite30usable_for_signature_algorithm28_$u7b$$u7b$closure$u7d$$u7d$17hb6507a5337430a68E.llvm.6030771845222660662.exit.backedge.i.i", %.lr.ph.split.us.i.i, %"_ZN6rustls6suites20SupportedCipherSuite30usable_for_signature_algorithm28_$u7b$$u7b$closure$u7d$$u7d$17hb6507a5337430a68E.llvm.6030771845222660662.exit.backedge.us.i.i", %2, %8 - %.0.i = phi i1 [ true, %2 ], [ false, %8 ], [ false, %"_ZN6rustls6suites20SupportedCipherSuite30usable_for_signature_algorithm28_$u7b$$u7b$closure$u7d$$u7d$17hb6507a5337430a68E.llvm.6030771845222660662.exit.backedge.us.i.i" ], [ true, %.lr.ph.split.us.i.i ], [ true, %switch.lookup ], [ false, %"_ZN6rustls6suites20SupportedCipherSuite30usable_for_signature_algorithm28_$u7b$$u7b$closure$u7d$$u7d$17hb6507a5337430a68E.llvm.6030771845222660662.exit.backedge.i.i" ] + %.0.i = phi i1 [ true, %2 ], [ false, %8 ], [ true, %.lr.ph.split.us.i.i ], [ false, %"_ZN6rustls6suites20SupportedCipherSuite30usable_for_signature_algorithm28_$u7b$$u7b$closure$u7d$$u7d$17hb6507a5337430a68E.llvm.6030771845222660662.exit.backedge.us.i.i" ], [ true, %switch.lookup ], [ false, %"_ZN6rustls6suites20SupportedCipherSuite30usable_for_signature_algorithm28_$u7b$$u7b$closure$u7d$$u7d$17hb6507a5337430a68E.llvm.6030771845222660662.exit.backedge.i.i" ] ret i1 %.0.i } diff --git a/bench/wasmedge/optimized/component.cpp.ll b/bench/wasmedge/optimized/component.cpp.ll index c01339db937..18cd198e47b 100644 --- a/bench/wasmedge/optimized/component.cpp.ll +++ b/bench/wasmedge/optimized/component.cpp.ll @@ -1545,14 +1545,14 @@ _ZNSt12_Vector_baseIhSaIhEE13_M_deallocateEPhm.exit.i: ; preds = %173, %.noexc41 _ZSt7advanceIPKhmEvRT_T0_.exit.i: ; preds = %175 %.not.i.i.i.i.i17.i = icmp eq ptr %177, %164 - br i1 %.not.i.i.i.i.i17.i, label %_ZSt22__uninitialized_copy_aIPKhPhhET0_T_S4_S3_RSaIT1_E.exit.i, label %184 + br i1 %.not.i.i.i.i.i17.i, label %_ZSt4copyIPKhPhET0_T_S4_S3_.exit18.i, label %184 184: ; preds = %_ZSt7advanceIPKhmEvRT_T0_.exit.i call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(1) %164, ptr noundef nonnull align 2 dereferenceable(1) %13, i64 %179, i1 false) %.pre26.i = load ptr, ptr %176, align 8 - br label %_ZSt22__uninitialized_copy_aIPKhPhhET0_T_S4_S3_RSaIT1_E.exit.i + br label %_ZSt4copyIPKhPhET0_T_S4_S3_.exit18.i -_ZSt22__uninitialized_copy_aIPKhPhhET0_T_S4_S3_RSaIT1_E.exit.i: ; preds = %184, %_ZSt7advanceIPKhmEvRT_T0_.exit.i +_ZSt4copyIPKhPhET0_T_S4_S3_.exit18.i: ; preds = %184, %_ZSt7advanceIPKhmEvRT_T0_.exit.i %185 = phi ptr [ %177, %_ZSt7advanceIPKhmEvRT_T0_.exit.i ], [ %.pre26.i, %184 ] %.sink.i.i25.i.idx.sroa.phi = phi ptr [ %13, %_ZSt7advanceIPKhmEvRT_T0_.exit.i ], [ %.sink.i.i25.i.idx.sroa.gep78, %184 ] %gepdiff = sub nuw nsw i64 2, %179 @@ -1561,7 +1561,7 @@ _ZSt22__uninitialized_copy_aIPKhPhhET0_T_S4_S3_RSaIT1_E.exit.i: ; preds = %184, store ptr %186, ptr %176, align 8 br label %_ZNSt6vectorIhSaIhEEaSESt16initializer_listIhE.exit -_ZNSt6vectorIhSaIhEEaSESt16initializer_listIhE.exit: ; preds = %_ZNSt12_Vector_baseIhSaIhEE13_M_deallocateEPhm.exit.i, %180, %183, %_ZSt22__uninitialized_copy_aIPKhPhhET0_T_S4_S3_RSaIT1_E.exit.i +_ZNSt6vectorIhSaIhEEaSESt16initializer_listIhE.exit: ; preds = %_ZNSt12_Vector_baseIhSaIhEE13_M_deallocateEPhm.exit.i, %180, %183, %_ZSt4copyIPKhPhET0_T_S4_S3_.exit18.i %187 = load ptr, ptr %5, align 8 %188 = getelementptr inbounds nuw i8, ptr %187, i64 2 %189 = load i8, ptr %188, align 1 @@ -1624,14 +1624,14 @@ _ZNSt12_Vector_baseIhSaIhEE13_M_deallocateEPhm.exit.i56: ; preds = %204, %.noexc _ZSt7advanceIPKhmEvRT_T0_.exit.i46: ; preds = %206 %.not.i.i.i.i.i17.i47 = icmp eq ptr %208, %195 - br i1 %.not.i.i.i.i.i17.i47, label %_ZSt22__uninitialized_copy_aIPKhPhhET0_T_S4_S3_RSaIT1_E.exit.i53, label %215 + br i1 %.not.i.i.i.i.i17.i47, label %_ZSt4copyIPKhPhET0_T_S4_S3_.exit18.i50, label %215 215: ; preds = %_ZSt7advanceIPKhmEvRT_T0_.exit.i46 call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(1) %195, ptr noundef nonnull align 2 dereferenceable(1) %14, i64 %210, i1 false) %.pre26.i49 = load ptr, ptr %207, align 8 - br label %_ZSt22__uninitialized_copy_aIPKhPhhET0_T_S4_S3_RSaIT1_E.exit.i53 + br label %_ZSt4copyIPKhPhET0_T_S4_S3_.exit18.i50 -_ZSt22__uninitialized_copy_aIPKhPhhET0_T_S4_S3_RSaIT1_E.exit.i53: ; preds = %215, %_ZSt7advanceIPKhmEvRT_T0_.exit.i46 +_ZSt4copyIPKhPhET0_T_S4_S3_.exit18.i50: ; preds = %215, %_ZSt7advanceIPKhmEvRT_T0_.exit.i46 %216 = phi ptr [ %208, %_ZSt7advanceIPKhmEvRT_T0_.exit.i46 ], [ %.pre26.i49, %215 ] %.sink.i.i25.i51.idx.sroa.phi = phi ptr [ %14, %_ZSt7advanceIPKhmEvRT_T0_.exit.i46 ], [ %.sink.i.i25.i51.idx.sroa.gep77, %215 ] %gepdiff76 = sub nuw nsw i64 2, %210 @@ -1640,7 +1640,7 @@ _ZSt22__uninitialized_copy_aIPKhPhhET0_T_S4_S3_RSaIT1_E.exit.i53: ; preds = %215 store ptr %217, ptr %207, align 8 br label %_ZNSt6vectorIhSaIhEEaSESt16initializer_listIhE.exit31 -_ZNSt6vectorIhSaIhEEaSESt16initializer_listIhE.exit31: ; preds = %_ZNSt12_Vector_baseIhSaIhEE13_M_deallocateEPhm.exit.i56, %211, %214, %_ZSt22__uninitialized_copy_aIPKhPhhET0_T_S4_S3_RSaIT1_E.exit.i53 +_ZNSt6vectorIhSaIhEEaSESt16initializer_listIhE.exit31: ; preds = %_ZNSt12_Vector_baseIhSaIhEE13_M_deallocateEPhm.exit.i56, %211, %214, %_ZSt4copyIPKhPhET0_T_S4_S3_.exit18.i50 invoke void @_ZN8WasmEdge6Loader6Loader13loadComponentERNS_3AST9Component9ComponentE(ptr dead_on_unwind nonnull writable sret(%"class.cxx20::expected.137") align 4 %15, ptr noundef nonnull align 8 dereferenceable(360) %1, ptr noundef nonnull align 8 dereferenceable(96) %152) to label %218 unwind label %221 diff --git a/bench/wireshark/optimized/packet-afp.c.ll b/bench/wireshark/optimized/packet-afp.c.ll index 06546c196bc..d070374374f 100644 --- a/bench/wireshark/optimized/packet-afp.c.ll +++ b/bench/wireshark/optimized/packet-afp.c.ll @@ -6290,9 +6290,9 @@ define internal fastcc i32 @spotlight_dissect_query_loop(ptr noundef %0, ptr nou %16 = getelementptr inbounds nuw i8, ptr %1, i64 408 br label %17 -17: ; preds = %.lr.ph275, %230 - %.0227274 = phi i32 [ %3, %.lr.ph275 ], [ %.1228, %230 ] - %.0229273 = phi i32 [ %5, %.lr.ph275 ], [ %.1230, %230 ] +17: ; preds = %.lr.ph275, %228 + %.0227274 = phi i32 [ %3, %.lr.ph275 ], [ %.1228, %228 ] + %.0229273 = phi i32 [ %5, %.lr.ph275 ], [ %.1230, %228 ] %18 = call i64 @tvb_get_guint64(ptr noundef %0, i32 noundef %.0227274, i32 noundef %7) #7 %19 = trunc i64 %18 to i32 %20 = shl i32 %19, 3 @@ -6303,7 +6303,7 @@ define internal fastcc i32 @spotlight_dissect_query_loop(ptr noundef %0, ptr nou 23: ; preds = %17 %24 = lshr i64 %18, 16 %trunc = trunc i64 %24 to i16 - switch i16 %trunc, label %223 [ + switch i16 %trunc, label %221 [ i16 512, label %25 i16 0, label %83 i16 256, label %104 @@ -6403,7 +6403,7 @@ spotlight_get_utf16_string_byte_order.exit: ; preds = %53, %60 %80 = add i32 %.0227274, 8 %81 = call fastcc i32 @spotlight_dissect_query_loop(ptr noundef %0, ptr noundef %1, ptr noundef %.0, i32 noundef %80, i64 noundef %32, i32 noundef %.0232, i32 noundef %6, i32 noundef %7) %82 = add nsw i32 %.0229273, -1 - br label %230 + br label %228 83: ; preds = %23 %84 = lshr i64 %18, 32 @@ -6449,7 +6449,7 @@ spotlight_get_utf16_string_byte_order.exit: ; preds = %53, %60 .loopexit: ; preds = %.loopexit.loopexit, %.preheader, %94, %87 %.2 = phi i32 [ 0, %87 ], [ %98, %94 ], [ %.0229273, %.preheader ], [ %102, %.loopexit.loopexit ] %103 = add i32 %21, %.0227274 - br label %230 + br label %228 104: ; preds = %23 %105 = load i32, ptr @hf_afp_bool, align 4 @@ -6459,7 +6459,7 @@ spotlight_get_utf16_string_byte_order.exit: ; preds = %53, %60 %108 = call ptr (ptr, i32, ptr, i32, i32, i64, ptr, ...) @proto_tree_add_uint64_format_value(ptr noundef %2, i32 noundef %105, ptr noundef %0, i32 noundef %.0227274, i32 noundef %21, i64 noundef %106, ptr noundef nonnull @.str.1074, ptr noundef nonnull %107) #7 %109 = add nsw i32 %.0229273, -1 %110 = add i32 %21, %.0227274 - br label %230 + br label %228 111: ; preds = %23 %112 = load i32, ptr @ett_afp_spotlight_query_line, align 4 @@ -6483,7 +6483,7 @@ spotlight_get_utf16_string_byte_order.exit: ; preds = %53, %60 spotlight_int64.exit: ; preds = %.lr.ph.i, %111 %120 = sub i32 %.0229273, %116 %121 = add i32 %21, %.0227274 - br label %230 + br label %228 122: ; preds = %23 %123 = load i32, ptr @ett_afp_spotlight_query_line, align 4 @@ -6511,7 +6511,7 @@ spotlight_int64.exit: ; preds = %.lr.ph.i, %111 spotlight_uuid.exit: ; preds = %.lr.ph.i247, %122 %133 = sub i32 %.0229273, %127 %134 = add i32 %21, %.0227274 - br label %230 + br label %228 135: ; preds = %23 %136 = load i32, ptr @ett_afp_spotlight_query_line, align 4 @@ -6535,7 +6535,7 @@ spotlight_uuid.exit: ; preds = %.lr.ph.i247, %122 spotlight_float.exit: ; preds = %.lr.ph.i250, %135 %144 = sub i32 %.0229273, %140 %145 = add i32 %21, %.0227274 - br label %230 + br label %228 146: ; preds = %23 switch i16 %trunc242, label %179 [ @@ -6601,7 +6601,7 @@ spotlight_get_utf16_string_byte_order.exit260: ; preds = %154, %156 179: ; preds = %172, %174, %spotlight_get_utf16_string_byte_order.exit260, %147, %146 %180 = add nsw i32 %.0229273, -1 %181 = add i32 %21, %.0227274 - br label %230 + br label %228 182: ; preds = %23 %183 = load i32, ptr @ett_afp_spotlight_query_line, align 4 @@ -6644,7 +6644,7 @@ spotlight_get_utf16_string_byte_order.exit260: ; preds = %154, %156 spotlight_CNID_array.exit: ; preds = %.lr.ph.i261, %188, %186 %205 = add nsw i32 %.0229273, -1 %206 = add i32 %21, %.0227274 - br label %230 + br label %228 207: ; preds = %23 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %9) @@ -6680,33 +6680,29 @@ spotlight_date.exit.thread: ; preds = %207 spotlight_date.exit: ; preds = %.lr.ph.i265, %.preheader.i call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %9) - %219 = icmp eq i64 %209, 4294967295 - br i1 %219, label %.loopexit268, label %220 - -220: ; preds = %spotlight_date.exit - %221 = sub nsw i32 %.0229273, %210 - %222 = add i32 %21, %.0227274 - br label %230 - -223: ; preds = %23 - %224 = and i64 %24, 65535 - %225 = load i32, ptr @hf_afp_query_type, align 4 - %226 = call ptr @val64_to_str_const(i64 noundef %224, ptr noundef nonnull @qtype_string_values, ptr noundef nonnull @.str.1101) #7 - %227 = call ptr @proto_tree_add_string(ptr noundef %2, i32 noundef %225, ptr noundef %0, i32 noundef %.0227274, i32 noundef %21, ptr noundef %226) #7 - %228 = add nsw i32 %.0229273, -1 - %229 = add i32 %21, %.0227274 - br label %230 - -230: ; preds = %223, %220, %spotlight_CNID_array.exit, %179, %spotlight_float.exit, %spotlight_uuid.exit, %spotlight_int64.exit, %104, %.loopexit, %79 - %.1230 = phi i32 [ %228, %223 ], [ %221, %220 ], [ %205, %spotlight_CNID_array.exit ], [ %180, %179 ], [ %144, %spotlight_float.exit ], [ %133, %spotlight_uuid.exit ], [ %120, %spotlight_int64.exit ], [ %109, %104 ], [ %.2, %.loopexit ], [ %82, %79 ] - %.1228 = phi i32 [ %229, %223 ], [ %222, %220 ], [ %206, %spotlight_CNID_array.exit ], [ %181, %179 ], [ %145, %spotlight_float.exit ], [ %134, %spotlight_uuid.exit ], [ %121, %spotlight_int64.exit ], [ %110, %104 ], [ %103, %.loopexit ], [ %81, %79 ] - %231 = icmp slt i32 %.1228, %11 - %232 = icmp sgt i32 %.1230, 0 - %233 = select i1 %231, i1 %232, i1 false - br i1 %233, label %17, label %.loopexit268, !llvm.loop !21 - -.loopexit268: ; preds = %spotlight_date.exit, %17, %230, %8, %spotlight_date.exit.thread - %.0227270 = phi i32 [ %.0227274, %spotlight_date.exit.thread ], [ %3, %8 ], [ %.0227274, %spotlight_date.exit ], [ %.0227274, %17 ], [ %.1228, %230 ] + %219 = sub nsw i32 %.0229273, %210 + %220 = add i32 %21, %.0227274 + br label %228 + +221: ; preds = %23 + %222 = and i64 %24, 65535 + %223 = load i32, ptr @hf_afp_query_type, align 4 + %224 = call ptr @val64_to_str_const(i64 noundef %222, ptr noundef nonnull @qtype_string_values, ptr noundef nonnull @.str.1101) #7 + %225 = call ptr @proto_tree_add_string(ptr noundef %2, i32 noundef %223, ptr noundef %0, i32 noundef %.0227274, i32 noundef %21, ptr noundef %224) #7 + %226 = add nsw i32 %.0229273, -1 + %227 = add i32 %21, %.0227274 + br label %228 + +228: ; preds = %221, %spotlight_date.exit, %spotlight_CNID_array.exit, %179, %spotlight_float.exit, %spotlight_uuid.exit, %spotlight_int64.exit, %104, %.loopexit, %79 + %.1230 = phi i32 [ %226, %221 ], [ %219, %spotlight_date.exit ], [ %205, %spotlight_CNID_array.exit ], [ %180, %179 ], [ %144, %spotlight_float.exit ], [ %133, %spotlight_uuid.exit ], [ %120, %spotlight_int64.exit ], [ %109, %104 ], [ %.2, %.loopexit ], [ %82, %79 ] + %.1228 = phi i32 [ %227, %221 ], [ %220, %spotlight_date.exit ], [ %206, %spotlight_CNID_array.exit ], [ %181, %179 ], [ %145, %spotlight_float.exit ], [ %134, %spotlight_uuid.exit ], [ %121, %spotlight_int64.exit ], [ %110, %104 ], [ %103, %.loopexit ], [ %81, %79 ] + %229 = icmp slt i32 %.1228, %11 + %230 = icmp sgt i32 %.1230, 0 + %231 = select i1 %229, i1 %230, i1 false + br i1 %231, label %17, label %.loopexit268, !llvm.loop !21 + +.loopexit268: ; preds = %17, %228, %8, %spotlight_date.exit.thread + %.0227270 = phi i32 [ %.0227274, %spotlight_date.exit.thread ], [ %3, %8 ], [ %.0227274, %17 ], [ %.1228, %228 ] ret i32 %.0227270 } diff --git a/bench/wireshark/optimized/packet-gmr1_dtap.c.ll b/bench/wireshark/optimized/packet-gmr1_dtap.c.ll index 2253195359e..b62a974cd1e 100644 --- a/bench/wireshark/optimized/packet-gmr1_dtap.c.ll +++ b/bench/wireshark/optimized/packet-gmr1_dtap.c.ll @@ -67,10 +67,8 @@ define internal i32 @dissect_gmr1_dtap(ptr noundef %0, ptr noundef %1, ptr nound %9 = tail call i32 @tvb_captured_length(ptr noundef %0) #2 %10 = tail call zeroext i8 @tvb_get_guint8(ptr noundef %0, i32 noundef 0) #2 %11 = and i8 %10, 15 - %12 = icmp eq i8 %11, 14 - %. = select i1 %12, i8 %10, i8 %11 - %.not = icmp eq i8 %., 6 - br i1 %.not, label %17, label %13 + %12 = icmp eq i8 %11, 6 + br i1 %12, label %17, label %13 13: ; preds = %4 %14 = load ptr, ptr @gsm_dtap_handle, align 8 @@ -116,12 +114,12 @@ define internal i32 @dissect_gmr1_dtap(ptr noundef %0, ptr noundef %1, ptr nound %40 = call ptr @proto_tree_add_uint(ptr noundef %.049, i32 noundef %39, ptr noundef %0, i32 noundef 1, i32 noundef 1, i32 noundef 6) #2 %41 = load i32, ptr %8, align 4 %42 = load ptr, ptr %6, align 8 - %.not54 = icmp eq ptr %42, null - %43 = select i1 %.not54, ptr @.str.18, ptr %42 + %.not = icmp eq ptr %42, null + %43 = select i1 %.not, ptr @.str.18, ptr %42 %44 = call ptr (ptr, i32, ptr, i32, i32, i32, ptr, ...) @proto_tree_add_uint_format(ptr noundef %.049, i32 noundef %41, ptr noundef %0, i32 noundef 1, i32 noundef 1, i32 noundef %23, ptr noundef nonnull @.str.17, ptr noundef nonnull %43) #2 %45 = load ptr, ptr %5, align 8 - %.not55 = icmp eq ptr %45, null - br i1 %.not55, label %48, label %46 + %.not54 = icmp eq ptr %45, null + br i1 %.not54, label %48, label %46 46: ; preds = %38 %47 = add i32 %9, -2 diff --git a/bench/wireshark/optimized/packet-icmp.c.ll b/bench/wireshark/optimized/packet-icmp.c.ll index ec2be6045b1..cd3ca560931 100644 --- a/bench/wireshark/optimized/packet-icmp.c.ll +++ b/bench/wireshark/optimized/packet-icmp.c.ll @@ -1605,36 +1605,36 @@ _find_or_create_conversation.exit.i: ; preds = %427, %415 %477 = load ptr, ptr %476, align 8 %478 = load i8, ptr %477, align 1 %479 = and i8 %478, -16 - %480 = icmp eq i8 %479, -32 - br i1 %480, label %._crit_edge.i, label %481 - -481: ; preds = %475 - %482 = zext i8 %478 to i32 - %483 = shl nuw i32 %482, 24 - %484 = getelementptr i8, ptr %477, i64 1 - %485 = load i8, ptr %484, align 1 - %486 = zext i8 %485 to i32 - %487 = shl nuw nsw i32 %486, 16 - %488 = or disjoint i32 %487, %483 - %489 = getelementptr i8, ptr %477, i64 2 - %490 = load i8, ptr %489, align 1 - %491 = zext i8 %490 to i32 - %492 = shl nuw nsw i32 %491, 8 - %493 = or disjoint i32 %488, %492 - %494 = getelementptr i8, ptr %477, i64 3 - %495 = load i8, ptr %494, align 1 - %496 = zext i8 %495 to i32 - %497 = or disjoint i32 %493, %496 - %498 = icmp eq i32 %497, -1 - br i1 %498, label %._crit_edge.i, label %500 - -._crit_edge.i: ; preds = %481, %475 - %.pre-phi76.i = phi ptr [ @.str.311, %481 ], [ @.str.312, %475 ] + %.not77.i = icmp eq i8 %479, -32 + br i1 %.not77.i, label %._crit_edge.i, label %480 + +480: ; preds = %475 + %481 = zext i8 %478 to i32 + %482 = shl nuw i32 %481, 24 + %483 = getelementptr i8, ptr %477, i64 1 + %484 = load i8, ptr %483, align 1 + %485 = zext i8 %484 to i32 + %486 = shl nuw nsw i32 %485, 16 + %487 = or disjoint i32 %486, %482 + %488 = getelementptr i8, ptr %477, i64 2 + %489 = load i8, ptr %488, align 1 + %490 = zext i8 %489 to i32 + %491 = shl nuw nsw i32 %490, 8 + %492 = or disjoint i32 %487, %491 + %493 = getelementptr i8, ptr %477, i64 3 + %494 = load i8, ptr %493, align 1 + %495 = zext i8 %494 to i32 + %496 = or disjoint i32 %492, %495 + %497 = icmp eq i32 %496, -1 + br i1 %497, label %._crit_edge.i, label %500 + +._crit_edge.i: ; preds = %480, %475 + %498 = phi ptr [ @.str.311, %480 ], [ @.str.312, %475 ] %499 = load ptr, ptr %23, align 8 - call void @col_append_str(ptr noundef %499, i32 noundef 25, ptr noundef nonnull %.pre-phi76.i) #5 + call void @col_append_str(ptr noundef %499, i32 noundef 25, ptr noundef nonnull %498) #5 br label %transaction_start.exit -500: ; preds = %481, %472 +500: ; preds = %480, %472 %501 = load ptr, ptr %445, align 8 %502 = getelementptr inbounds nuw i8, ptr %501, i64 50 %503 = load i16, ptr %502, align 2 diff --git a/bench/wireshark/optimized/packet-tds.c.ll b/bench/wireshark/optimized/packet-tds.c.ll index d59e7469cd5..c2b83ab9429 100644 --- a/bench/wireshark/optimized/packet-tds.c.ll +++ b/bench/wireshark/optimized/packet-tds.c.ll @@ -4723,21 +4723,21 @@ define internal fastcc void @dissect_tds_resp(ptr noundef nonnull %0, ptr nounde br i1 %47, label %dissect_tds_prelogin_response.exit, label %.lr.ph 48: ; preds = %63 - %49 = add i32 %.02436.i331, 5 + %49 = add i32 %.02433.i330, 5 %50 = tail call i32 @tvb_reported_length_remaining(ptr noundef nonnull %0, i32 noundef %49) #11 %51 = icmp sgt i32 %50, 0 br i1 %51, label %.lr.ph.i, label %dissect_tds_prelogin_response.exit, !llvm.loop !12 .lr.ph.i: ; preds = %48 %52 = tail call zeroext i8 @tvb_get_guint8(ptr noundef nonnull %0, i32 noundef %49) #11 - %53 = add i32 %.02436.i331, 6 + %53 = add i32 %.02433.i330, 6 %54 = icmp eq i8 %52, -1 br i1 %54, label %dissect_tds_prelogin_response.exit.thread, label %.lr.ph, !llvm.loop !12 .lr.ph: ; preds = %.lr.ph.i.preheader, %.lr.ph.i %55 = phi i32 [ %53, %.lr.ph.i ], [ 1, %.lr.ph.i.preheader ] %56 = phi i8 [ %52, %.lr.ph.i ], [ %46, %.lr.ph.i.preheader ] - %.02436.i331 = phi i32 [ %49, %.lr.ph.i ], [ 0, %.lr.ph.i.preheader ] + %.02433.i330 = phi i32 [ %49, %.lr.ph.i ], [ 0, %.lr.ph.i.preheader ] %57 = icmp ult i8 %56, 8 br i1 %57, label %58, label %dissect_tds_prelogin_response.exit @@ -4749,7 +4749,7 @@ define internal fastcc void @dissect_tds_resp(ptr noundef nonnull %0, ptr nounde br i1 %62, label %dissect_tds_prelogin_response.exit, label %63 63: ; preds = %58 - %64 = add i32 %.02436.i331, 3 + %64 = add i32 %.02433.i330, 3 %65 = tail call zeroext i16 @tvb_get_ntohs(ptr noundef nonnull %0, i32 noundef %64) #11 %66 = zext i16 %65 to i32 %67 = tail call i32 @tvb_reported_length_remaining(ptr noundef nonnull %0, i32 noundef 0) #11 @@ -4758,14 +4758,14 @@ define internal fastcc void @dissect_tds_resp(ptr noundef nonnull %0, ptr nounde dissect_tds_prelogin_response.exit.thread: ; preds = %.lr.ph.i tail call fastcc void @dissect_tds7_prelogin_packet(ptr noundef nonnull %0, ptr noundef %1, ptr noundef %2, ptr noundef %3, i32 noundef 1) - br label %.thread306 + br label %.thread305 dissect_tds_prelogin_response.exit: ; preds = %48, %.lr.ph, %58, %63, %.lr.ph.i.preheader, %4 %69 = tail call i32 @tvb_reported_length_remaining(ptr noundef nonnull %0, i32 noundef 0) #11 %70 = icmp sgt i32 %69, 0 - br i1 %70, label %.lr.ph337, label %.thread306 + br i1 %70, label %.lr.ph336, label %.thread305 -.lr.ph337: ; preds = %dissect_tds_prelogin_response.exit +.lr.ph336: ; preds = %dissect_tds_prelogin_response.exit %71 = getelementptr inbounds nuw i8, ptr %3, i64 8 %72 = getelementptr i8, ptr %3, i64 24 %73 = getelementptr inbounds nuw i8, ptr %43, i64 8 @@ -4773,9 +4773,9 @@ dissect_tds_prelogin_response.exit: ; preds = %48, %.lr.ph, %58, % %75 = getelementptr i8, ptr %3, i64 28 br label %76 -76: ; preds = %.lr.ph337, %1353 - %.0202332 = phi i32 [ 0, %.lr.ph337 ], [ %.1203, %1353 ] - %77 = call zeroext i8 @tvb_get_guint8(ptr noundef nonnull %0, i32 noundef %.0202332) #11 +76: ; preds = %.lr.ph336, %1353 + %.0202331 = phi i32 [ 0, %.lr.ph336 ], [ %.1203, %1353 ] + %77 = call zeroext i8 @tvb_get_guint8(ptr noundef nonnull %0, i32 noundef %.0202331) #11 %78 = load i32, ptr @tds_protocol_type, align 4 %79 = icmp eq i32 %78, 65535 br i1 %79, label %80, label %83 @@ -4916,11 +4916,11 @@ dissect_tds_prelogin_response.exit: ; preds = %48, %.lr.ph, %58, % tds45_token_to_idx.exit: ; preds = %85, %86, %87, %88, %89, %90, %91, %92, %93, %94, %95, %96, %97, %98, %99, %100, %101, %102, %103, %104, %105, %106, %107, %108, %109, %110, %111, %112, %113, %114, %115 %.0.in.i = phi ptr [ @hf_tds_unknown_tds_token, %115 ], [ @hf_tds_rowfmt2, %114 ], [ @hf_tds_rowfmt, %113 ], [ @hf_tds_row, %112 ], [ @hf_tds_returnstatus, %111 ], [ @hf_tds_procid, %110 ], [ @hf_tds_params, %109 ], [ @hf_tds_paramfmt2, %108 ], [ @hf_tds_paramfmt, %107 ], [ @hf_tds_order, %106 ], [ @hf_tds_offset, %105 ], [ @hf_tds_msg, %104 ], [ @hf_tds_logout, %103 ], [ @hf_tds_loginack, %102 ], [ @hf_tds_info, %101 ], [ @hf_tds_error, %100 ], [ @hf_tds_envchg, %99 ], [ @hf_tds_eed, %98 ], [ @hf_tds_doneinproc, %97 ], [ @hf_tds_doneproc, %96 ], [ @hf_tds_done, %95 ], [ @hf_tds_dbrpc, %94 ], [ @hf_tds_curopen, %93 ], [ @hf_tds_curinfo, %92 ], [ @hf_tds_curfetch, %91 ], [ @hf_tds_curdeclare, %90 ], [ @hf_tds_curclose, %89 ], [ @hf_tds_control, %88 ], [ @hf_tds_colname, %87 ], [ @hf_tds_colfmt, %86 ], [ @hf_tds_capability, %85 ] %.0.i = load i32, ptr %.0.in.i, align 4 - %116 = call i32 @tvb_reported_length_remaining(ptr noundef nonnull %0, i32 noundef %.0202332) #11 - %117 = call ptr @proto_tree_add_item(ptr noundef %2, i32 noundef %.0.i, ptr noundef nonnull %0, i32 noundef %.0202332, i32 noundef %116, i32 noundef 0) #11 + %116 = call i32 @tvb_reported_length_remaining(ptr noundef nonnull %0, i32 noundef %.0202331) #11 + %117 = call ptr @proto_tree_add_item(ptr noundef %2, i32 noundef %.0.i, ptr noundef nonnull %0, i32 noundef %.0202331, i32 noundef %116, i32 noundef 0) #11 %118 = load i32, ptr @ett_tds_token, align 4 %119 = call ptr @proto_item_add_subtree(ptr noundef %117, i32 noundef %118) #11 - switch i8 %77, label %.thread300 [ + switch i8 %77, label %.thread299 [ i8 -30, label %120 i8 -125, label %124 i8 -3, label %128 @@ -4947,38 +4947,38 @@ tds45_token_to_idx.exit: ; preds = %85, %86, %87, %88, ] 120: ; preds = %tds45_token_to_idx.exit - %121 = add i32 %.0202332, 1 + %121 = add i32 %.0202331, 1 %.val = load i32, ptr %74, align 4 %122 = call fastcc i32 @dissect_tds5_capability_token(ptr noundef %0, ptr noundef %1, i32 noundef %121, ptr noundef %119, i32 %.val) %123 = add i32 %122, 1 br label %755 124: ; preds = %tds45_token_to_idx.exit - %125 = add i32 %.0202332, 1 + %125 = add i32 %.0202331, 1 %126 = call fastcc i32 @dissect_tds5_curinfo_token(ptr noundef %0, ptr noundef %1, i32 noundef %125, ptr noundef %119, ptr noundef %3) %127 = add i32 %126, 1 br label %755 128: ; preds = %tds45_token_to_idx.exit - %129 = add i32 %.0202332, 1 + %129 = add i32 %.0202331, 1 %130 = call fastcc i32 @dissect_tds_done_token(ptr noundef %0, i32 noundef %129, ptr noundef %119, ptr noundef %3) %131 = add i32 %130, 1 br label %755 132: ; preds = %tds45_token_to_idx.exit - %133 = add i32 %.0202332, 1 + %133 = add i32 %.0202331, 1 %134 = call fastcc i32 @dissect_tds_doneproc_token(ptr noundef %0, i32 noundef %133, ptr noundef %119, ptr noundef %3) %135 = add i32 %134, 1 br label %755 136: ; preds = %tds45_token_to_idx.exit - %137 = add i32 %.0202332, 1 + %137 = add i32 %.0202331, 1 %138 = call fastcc i32 @dissect_tds_doneinproc_token(ptr noundef %0, i32 noundef %137, ptr noundef %119, ptr noundef %3) %139 = add i32 %138, 1 br label %755 140: ; preds = %tds45_token_to_idx.exit - %141 = add i32 %.0202332, 1 + %141 = add i32 %.0202331, 1 call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %41) call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %42) %142 = load i32, ptr @hf_tds_eed_length, align 4 @@ -4986,19 +4986,19 @@ tds45_token_to_idx.exit: ; preds = %85, %86, %87, %88, %143 = icmp eq i32 %.val56.i, 2 %144 = select i1 %143, i32 0, i32 -2147483648 %145 = call ptr @proto_tree_add_item(ptr noundef %119, i32 noundef %142, ptr noundef nonnull %0, i32 noundef %141, i32 noundef 2, i32 noundef %144) #11 - %146 = add i32 %.0202332, 3 + %146 = add i32 %.0202331, 3 %147 = load i32, ptr @hf_tds_eed_number, align 4 %.val57.i = load i32, ptr %72, align 8 %148 = icmp eq i32 %.val57.i, 0 %149 = select i1 %148, i32 0, i32 -2147483648 %150 = call ptr @proto_tree_add_item(ptr noundef %119, i32 noundef %147, ptr noundef nonnull %0, i32 noundef %146, i32 noundef 4, i32 noundef %149) #11 - %151 = add i32 %.0202332, 7 + %151 = add i32 %.0202331, 7 %152 = load i32, ptr @hf_tds_eed_state, align 4 %153 = call ptr @proto_tree_add_item(ptr noundef %119, i32 noundef %152, ptr noundef nonnull %0, i32 noundef %151, i32 noundef 1, i32 noundef 0) #11 - %154 = add i32 %.0202332, 8 + %154 = add i32 %.0202331, 8 %155 = load i32, ptr @hf_tds_eed_class, align 4 %156 = call ptr @proto_tree_add_item(ptr noundef %119, i32 noundef %155, ptr noundef nonnull %0, i32 noundef %154, i32 noundef 1, i32 noundef 0) #11 - %157 = add i32 %.0202332, 9 + %157 = add i32 %.0202331, 9 %158 = load i32, ptr @hf_tds_eed_sql_state, align 4 %159 = call ptr @proto_tree_add_item_ret_length(ptr noundef %119, i32 noundef %158, ptr noundef nonnull %0, i32 noundef %157, i32 noundef 1, i32 noundef 0, ptr noundef nonnull %42) #11 %160 = load i32, ptr %42, align 4 @@ -5050,18 +5050,18 @@ tds45_token_to_idx.exit: ; preds = %85, %86, %87, %88, %188 = call ptr @proto_tree_add_item(ptr noundef %119, i32 noundef %185, ptr noundef nonnull %0, i32 noundef %184, i32 noundef 2, i32 noundef %187) #11 call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %41) call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %42) - %reass.sub = sub i32 %184, %.0202332 + %reass.sub = sub i32 %184, %.0202331 %189 = add i32 %reass.sub, 2 br label %755 190: ; preds = %tds45_token_to_idx.exit - %191 = add i32 %.0202332, 1 + %191 = add i32 %.0202331, 1 %192 = call fastcc i32 @dissect_tds_envchg_token(ptr noundef %0, i32 noundef %191, ptr noundef %119, ptr noundef %3) %193 = add i32 %192, 1 br label %755 194: ; preds = %tds45_token_to_idx.exit - %195 = add i32 %.0202332, 1 + %195 = add i32 %.0202331, 1 call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %39) call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %40) %196 = load i32, ptr @hf_tds_colname_length, align 4 @@ -5069,7 +5069,7 @@ tds45_token_to_idx.exit: ; preds = %85, %86, %87, %88, %197 = icmp eq i32 %.val.i208, 2 %198 = select i1 %197, i32 0, i32 -2147483648 %199 = call ptr @proto_tree_add_item_ret_uint(ptr noundef %119, i32 noundef %196, ptr noundef nonnull %0, i32 noundef %195, i32 noundef 2, i32 noundef %198, ptr noundef nonnull %39) #11 - %200 = add i32 %.0202332, 3 + %200 = add i32 %.0202331, 3 %201 = load i32, ptr %39, align 4 %202 = add i32 %201, %200 %203 = icmp ult i32 %200, %202 @@ -5139,7 +5139,7 @@ tds45_token_to_idx.exit: ; preds = %85, %86, %87, %88, %.036.lcssa.i = phi i32 [ 0, %194 ], [ %224, %227 ] %.035.lcssa.i = phi i32 [ %200, %194 ], [ %230, %227 ] store i32 %.036.lcssa.i, ptr %43, align 8 - %232 = sub i32 %.035.lcssa.i, %.0202332 + %232 = sub i32 %.035.lcssa.i, %.0202331 br label %dissect_tds_col_name_token.exit dissect_tds_col_name_token.exit: ; preds = %204, %._crit_edge.i @@ -5149,7 +5149,7 @@ dissect_tds_col_name_token.exit: ; preds = %204, %._crit_edge.i br label %755 233: ; preds = %tds45_token_to_idx.exit - %234 = add i32 %.0202332, 1 + %234 = add i32 %.0202331, 1 call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %37) call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %38) %235 = load i32, ptr @hf_tds_colfmt_length, align 4 @@ -5157,7 +5157,7 @@ dissect_tds_col_name_token.exit: ; preds = %204, %._crit_edge.i %236 = icmp eq i32 %.val122.i, 2 %237 = select i1 %236, i32 0, i32 -2147483648 %238 = call ptr @proto_tree_add_item_ret_uint(ptr noundef %119, i32 noundef %235, ptr noundef nonnull %0, i32 noundef %234, i32 noundef 2, i32 noundef %237, ptr noundef nonnull %37) #11 - %239 = add i32 %.0202332, 3 + %239 = add i32 %.0202331, 3 %240 = load i32, ptr %37, align 4 %241 = add i32 %240, %239 %242 = icmp ult i32 %239, %241 @@ -5296,7 +5296,7 @@ dissect_tds_col_name_token.exit: ; preds = %204, %._crit_edge.i %.0116.lcssa.i = phi i32 [ 0, %233 ], [ %249, %303 ] %.0115.lcssa.i = phi i32 [ %239, %233 ], [ %.1.i, %303 ] store i32 %.0116.lcssa.i, ptr %43, align 8 - %306 = sub i32 %.0115.lcssa.i, %.0202332 + %306 = sub i32 %.0115.lcssa.i, %.0202331 br label %dissect_tds_colfmt_token.exit dissect_tds_colfmt_token.exit: ; preds = %243, %._crit_edge.i215 @@ -5306,14 +5306,14 @@ dissect_tds_colfmt_token.exit: ; preds = %243, %._crit_edge.i br label %755 307: ; preds = %tds45_token_to_idx.exit - %308 = add i32 %.0202332, 1 + %308 = add i32 %.0202331, 1 %.val205 = load i32, ptr %74, align 4 call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %36) %309 = load i32, ptr @hf_tds_control_length, align 4 %310 = icmp eq i32 %.val205, 2 %311 = select i1 %310, i32 0, i32 -2147483648 %312 = call ptr @proto_tree_add_item_ret_uint(ptr noundef %119, i32 noundef %309, ptr noundef nonnull %0, i32 noundef %308, i32 noundef 2, i32 noundef %311, ptr noundef nonnull %36) #11 - %313 = add i32 %.0202332, 3 + %313 = add i32 %.0202331, 3 %314 = load i32, ptr %36, align 4 %315 = add i32 %314, %313 %316 = icmp ult i32 %313, %315 @@ -5352,7 +5352,7 @@ dissect_tds_colfmt_token.exit: ; preds = %243, %._crit_edge.i ._crit_edge.i225: ; preds = %324, %307 %.022.lcssa.i = phi i32 [ %313, %307 ], [ %328, %324 ] - %330 = sub i32 %.022.lcssa.i, %.0202332 + %330 = sub i32 %.022.lcssa.i, %.0202331 br label %dissect_tds_control_token.exit dissect_tds_control_token.exit: ; preds = %317, %._crit_edge.i225 @@ -5361,31 +5361,31 @@ dissect_tds_control_token.exit: ; preds = %317, %._crit_edge.i br label %755 331: ; preds = %tds45_token_to_idx.exit - %332 = add i32 %.0202332, 1 + %332 = add i32 %.0202331, 1 %333 = call fastcc i32 @dissect_tds_error_token(ptr noundef %0, i32 noundef %332, ptr noundef %119, ptr noundef %3) %334 = add i32 %333, 1 br label %755 335: ; preds = %tds45_token_to_idx.exit - %336 = add i32 %.0202332, 1 + %336 = add i32 %.0202331, 1 %337 = call fastcc i32 @dissect_tds_info_token(ptr noundef %0, i32 noundef %336, ptr noundef %119, ptr noundef %3) %338 = add i32 %337, 1 br label %755 339: ; preds = %tds45_token_to_idx.exit - %340 = add i32 %.0202332, 1 + %340 = add i32 %.0202331, 1 %341 = call fastcc i32 @dissect_tds_login_ack_token(ptr noundef %0, ptr noundef %1, i32 noundef %340, ptr noundef %119, ptr noundef %3) %342 = add nuw nsw i32 %341, 1 br label %.thread 343: ; preds = %tds45_token_to_idx.exit - %344 = add i32 %.0202332, 1 + %344 = add i32 %.0202331, 1 %345 = load i32, ptr @hf_tds_msg_length, align 4 %346 = call ptr @proto_tree_add_item(ptr noundef %119, i32 noundef %345, ptr noundef nonnull %0, i32 noundef %344, i32 noundef 1, i32 noundef 0) #11 - %347 = add i32 %.0202332, 2 + %347 = add i32 %.0202331, 2 %348 = load i32, ptr @hf_tds_msg_status, align 4 %349 = call ptr @proto_tree_add_item(ptr noundef %119, i32 noundef %348, ptr noundef nonnull %0, i32 noundef %347, i32 noundef 1, i32 noundef 0) #11 - %350 = add i32 %.0202332, 3 + %350 = add i32 %.0202331, 3 %351 = load i32, ptr @hf_tds_msg_msgid, align 4 %.val.i231 = load i32, ptr %74, align 4 %352 = icmp eq i32 %.val.i231, 2 @@ -5394,25 +5394,25 @@ dissect_tds_control_token.exit: ; preds = %317, %._crit_edge.i br label %.thread 355: ; preds = %tds45_token_to_idx.exit - %356 = add i32 %.0202332, 1 + %356 = add i32 %.0202331, 1 %357 = call fastcc i32 @dissect_tds_order_token(ptr noundef %0, i32 noundef %356, ptr noundef %119, ptr noundef %3) %358 = add i32 %357, 1 br label %755 359: ; preds = %tds45_token_to_idx.exit - %360 = add i32 %.0202332, 1 + %360 = add i32 %.0202331, 1 %361 = call fastcc i32 @dissect_tds_paramfmt_token(ptr noundef %119, ptr noundef %0, i32 noundef %360, ptr noundef %3, ptr noundef %43) %362 = add i32 %361, 1 br label %755 363: ; preds = %tds45_token_to_idx.exit - %364 = add i32 %.0202332, 1 + %364 = add i32 %.0202331, 1 %365 = call fastcc i32 @dissect_tds_paramfmt2_token(ptr noundef %119, ptr noundef %0, i32 noundef %364, ptr noundef %3, ptr noundef %43) %366 = add i32 %365, 1 br label %755 367: ; preds = %tds45_token_to_idx.exit - %368 = add i32 %.0202332, 1 + %368 = add i32 %.0202331, 1 call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %35) store i32 %368, ptr %35, align 4 %369 = load i32, ptr %43, align 8 @@ -5436,8 +5436,8 @@ dissect_tds_control_token.exit: ; preds = %317, %._crit_edge.i %379 = load ptr, ptr %374, align 8 %380 = trunc nuw i64 %indvars.iv.next.i235 to i32 call fastcc void @dissect_tds_type_varbyte(ptr noundef nonnull %0, ptr noundef %35, ptr noundef %1, ptr noundef %119, i32 noundef %372, ptr noundef readonly %3, i8 noundef zeroext %376, i8 noundef zeroext %378, i32 noundef 0, i32 noundef %380, ptr noundef %379) - %exitcond351.not = icmp eq i64 %indvars.iv.next.i235, %370 - br i1 %exitcond351.not, label %._crit_edge.loopexit.i236, label %371, !llvm.loop !10 + %exitcond350.not = icmp eq i64 %indvars.iv.next.i235, %370 + br i1 %exitcond350.not, label %._crit_edge.loopexit.i236, label %371, !llvm.loop !10 ._crit_edge.loopexit.i236: ; preds = %371 %.pre.i = load i32, ptr %35, align 4 @@ -5449,17 +5449,17 @@ dissect_tds5_params_token.exit: ; preds = %367, %._crit_edge.l call void @proto_item_set_len(ptr noundef %117, i32 noundef %382) #11 %383 = load i32, ptr %35, align 4 call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %35) - %384 = sub i32 %383, %.0202332 + %384 = sub i32 %383, %.0202331 br label %755 385: ; preds = %tds45_token_to_idx.exit - %386 = add i32 %.0202332, 1 + %386 = add i32 %.0202331, 1 %387 = load i32, ptr @hf_tds_procid_value, align 4 %388 = call ptr @proto_tree_add_item(ptr noundef %119, i32 noundef %387, ptr noundef nonnull %0, i32 noundef %386, i32 noundef 8, i32 noundef 0) #11 br label %.thread 389: ; preds = %tds45_token_to_idx.exit - %390 = add i32 %.0202332, 1 + %390 = add i32 %.0202331, 1 %.val206 = load i32, ptr %72, align 8 %391 = load i32, ptr @hf_tds_returnstatus_value, align 4 %392 = icmp eq i32 %.val206, 0 @@ -5468,13 +5468,13 @@ dissect_tds5_params_token.exit: ; preds = %367, %._crit_edge.l br label %.thread 395: ; preds = %tds45_token_to_idx.exit - %396 = add i32 %.0202332, 1 + %396 = add i32 %.0202331, 1 %397 = call fastcc i32 @dissect_tds_row_token(ptr noundef %0, ptr noundef %1, ptr noundef %43, i32 noundef %396, ptr noundef %119, ptr noundef %3) %398 = add i32 %397, 1 br label %755 399: ; preds = %tds45_token_to_idx.exit - %400 = add i32 %.0202332, 1 + %400 = add i32 %.0202331, 1 call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %26) call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %27) call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %28) @@ -5493,14 +5493,14 @@ dissect_tds5_params_token.exit: ; preds = %367, %._crit_edge.l %406 = select i1 %405, i32 0, i32 -2147483648 %407 = call ptr @proto_tree_add_item_ret_uint(ptr noundef %119, i32 noundef %404, ptr noundef nonnull %0, i32 noundef %400, i32 noundef 2, i32 noundef %406, ptr noundef nonnull %26) #11 %408 = load i32, ptr @hf_tds_rowfmt_numcols, align 4 - %409 = add i32 %.0202332, 3 + %409 = add i32 %.0202331, 3 %.val166.i = load i32, ptr %74, align 4 %410 = icmp eq i32 %.val166.i, 2 %411 = select i1 %410, i32 0, i32 -2147483648 %412 = call ptr @proto_tree_add_item_ret_uint(ptr noundef %119, i32 noundef %408, ptr noundef nonnull %0, i32 noundef %409, i32 noundef 2, i32 noundef %411, ptr noundef nonnull %27) #11 %413 = load i32, ptr %26, align 4 %414 = add i32 %413, %409 - %415 = add i32 %.0202332, 5 + %415 = add i32 %.0202331, 5 %416 = icmp ult i32 %415, %414 br i1 %416, label %.lr.ph.i240, label %._crit_edge.i238 @@ -5756,8 +5756,8 @@ dissect_tds5_params_token.exit: ; preds = %367, %._crit_edge.l %549 = getelementptr inbounds nuw i8, ptr %529, i64 18 store i8 %548, ptr %549, align 2 %indvars.iv.next.i.i = add nuw nsw i64 %indvars.iv.i.i, 1 - %exitcond350.not = icmp eq i64 %indvars.iv.next.i.i, %525 - br i1 %exitcond350.not, label %copy_nl_data.exit.i, label %526, !llvm.loop !17 + %exitcond349.not = icmp eq i64 %indvars.iv.next.i.i, %525 + br i1 %exitcond349.not, label %copy_nl_data.exit.i, label %526, !llvm.loop !17 copy_nl_data.exit.i: ; preds = %534, %521 %550 = getelementptr inbounds nuw i8, ptr %403, i64 16 @@ -5768,7 +5768,7 @@ copy_nl_data.exit.i: ; preds = %534, %521 br label %553 553: ; preds = %copy_nl_data.exit.i, %517, %._crit_edge.i238 - %554 = sub i32 %.0158.lcssa.i, %.0202332 + %554 = sub i32 %.0158.lcssa.i, %.0202331 br label %dissect_tds_rowfmt_token.exit dissect_tds_rowfmt_token.exit: ; preds = %417, %553 @@ -5785,7 +5785,7 @@ dissect_tds_rowfmt_token.exit: ; preds = %417, %553 br label %755 555: ; preds = %tds45_token_to_idx.exit - %556 = add i32 %.0202332, 1 + %556 = add i32 %.0202331, 1 call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %10) call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %11) call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %12) @@ -5811,14 +5811,14 @@ dissect_tds_rowfmt_token.exit: ; preds = %417, %553 %562 = select i1 %561, i32 0, i32 -2147483648 %563 = call ptr @proto_tree_add_item_ret_uint(ptr noundef %119, i32 noundef %560, ptr noundef nonnull %0, i32 noundef %556, i32 noundef 4, i32 noundef %562, ptr noundef nonnull %10) #11 %564 = load i32, ptr @hf_tds_rowfmt2_numcols, align 4 - %565 = add i32 %.0202332, 5 + %565 = add i32 %.0202331, 5 %.val173.i251 = load i32, ptr %74, align 4 %566 = icmp eq i32 %.val173.i251, 2 %567 = select i1 %566, i32 0, i32 -2147483648 %568 = call ptr @proto_tree_add_item_ret_uint(ptr noundef %119, i32 noundef %564, ptr noundef nonnull %0, i32 noundef %565, i32 noundef 2, i32 noundef %567, ptr noundef nonnull %11) #11 %569 = load i32, ptr %10, align 4 %570 = add i32 %569, %565 - %571 = add i32 %.0202332, 7 + %571 = add i32 %.0202331, 7 %572 = icmp ult i32 %571, %570 br i1 %572, label %.lr.ph.i260, label %._crit_edge.i252 @@ -6172,7 +6172,7 @@ copy_nl_data.exit.i259: ; preds = %734, %721 br label %753 753: ; preds = %copy_nl_data.exit.i259, %717, %._crit_edge.i252 - %754 = sub i32 %.0164.lcssa.i, %.0202332 + %754 = sub i32 %.0164.lcssa.i, %.0202331 br label %dissect_tds_rowfmt2_token.exit dissect_tds_rowfmt2_token.exit: ; preds = %573, %753 @@ -6198,15 +6198,15 @@ dissect_tds_rowfmt2_token.exit: ; preds = %573, %753 755: ; preds = %dissect_tds_rowfmt2_token.exit, %dissect_tds_rowfmt_token.exit, %395, %dissect_tds5_params_token.exit, %363, %359, %355, %335, %331, %dissect_tds_control_token.exit, %dissect_tds_colfmt_token.exit, %dissect_tds_col_name_token.exit, %190, %140, %136, %132, %128, %124, %120 %.0 = phi i32 [ %.0163.i, %dissect_tds_rowfmt2_token.exit ], [ %.0157.i, %dissect_tds_rowfmt_token.exit ], [ %398, %395 ], [ %384, %dissect_tds5_params_token.exit ], [ %366, %363 ], [ %362, %359 ], [ %358, %355 ], [ %338, %335 ], [ %334, %331 ], [ %.023.i, %dissect_tds_control_token.exit ], [ %.0114.i, %dissect_tds_colfmt_token.exit ], [ %.0.i209, %dissect_tds_col_name_token.exit ], [ %193, %190 ], [ %189, %140 ], [ %139, %136 ], [ %135, %132 ], [ %131, %128 ], [ %127, %124 ], [ %123, %120 ] %756 = icmp eq i32 %.0, 0 - br i1 %756, label %.thread300, label %.thread + br i1 %756, label %.thread299, label %.thread -.thread300: ; preds = %tds45_token_to_idx.exit, %755 +.thread299: ; preds = %tds45_token_to_idx.exit, %755 %757 = call ptr (ptr, ptr, ptr, ptr, ...) @expert_add_info_format(ptr noundef %1, ptr noundef %117, ptr noundef nonnull @ei_tds_token_length_invalid, ptr noundef nonnull @.str.1336, i32 noundef 0) #11 - br label %.thread306 + br label %.thread305 .thread: ; preds = %339, %343, %385, %389, %755 - %.0299 = phi i32 [ %.0, %755 ], [ %342, %339 ], [ 5, %343 ], [ 9, %385 ], [ 5, %389 ] - call void @proto_item_set_len(ptr noundef %117, i32 noundef %.0299) #11 + %.0298 = phi i32 [ %.0, %755 ], [ %342, %339 ], [ 5, %343 ], [ 9, %385 ], [ 5, %389 ] + call void @proto_item_set_len(ptr noundef %117, i32 noundef %.0298) #11 br label %1353 758: ; preds = %83, %80 @@ -6288,11 +6288,11 @@ dissect_tds_rowfmt2_token.exit: ; preds = %573, %753 tds7_token_to_idx.exit: ; preds = %758, %759, %760, %761, %762, %763, %764, %765, %766, %767, %768, %769, %770, %771, %772, %773, %774, %775, %776 %.0.in.i272 = phi ptr [ @hf_tds_unknown_tds_token, %776 ], [ @hf_tds_sspi, %775 ], [ @hf_tds_sessionstate, %774 ], [ @hf_tds_row, %773 ], [ @hf_tds_returnstatus, %772 ], [ @hf_tds_order, %771 ], [ @hf_tds_offset, %770 ], [ @hf_tds_nbcrow, %769 ], [ @hf_tds_loginack, %768 ], [ @hf_tds_info, %767 ], [ @hf_tds_featureextack, %766 ], [ @hf_tds_error, %765 ], [ @hf_tds_envchg, %764 ], [ @hf_tds_doneinproc, %763 ], [ @hf_tds_doneproc, %762 ], [ @hf_tds_done, %761 ], [ @hf_tds_colmetadata, %760 ], [ @hf_tds_colfmt, %759 ], [ @hf_tds_capability, %758 ] %.0.i273 = load i32, ptr %.0.in.i272, align 4 - %777 = call i32 @tvb_reported_length_remaining(ptr noundef nonnull %0, i32 noundef %.0202332) #11 - %778 = call ptr @proto_tree_add_item(ptr noundef %2, i32 noundef %.0.i273, ptr noundef nonnull %0, i32 noundef %.0202332, i32 noundef %777, i32 noundef 0) #11 + %777 = call i32 @tvb_reported_length_remaining(ptr noundef nonnull %0, i32 noundef %.0202331) #11 + %778 = call ptr @proto_tree_add_item(ptr noundef %2, i32 noundef %.0.i273, ptr noundef nonnull %0, i32 noundef %.0202331, i32 noundef %777, i32 noundef 0) #11 %779 = load i32, ptr @ett_tds_token, align 4 %780 = call ptr @proto_item_add_subtree(ptr noundef %778, i32 noundef %779) #11 - switch i8 %77, label %.thread306 [ + switch i8 %77, label %.thread305 [ i8 -127, label %781 i8 -3, label %1175 i8 -2, label %1179 @@ -6312,7 +6312,7 @@ tds7_token_to_idx.exit: ; preds = %758, %759, %760, %7 ] 781: ; preds = %tds7_token_to_idx.exit - %782 = add i32 %.0202332, 1 + %782 = add i32 %.0202331, 1 %783 = load i32, ptr @tds_little_endian, align 4 %.not.i274 = icmp eq i32 %783, 0 %784 = select i1 %.not.i274, i32 0, i32 -2147483648 @@ -6326,10 +6326,10 @@ tds7_token_to_idx.exit: ; preds = %758, %759, %760, %7 dissect_tds7_colmetadata_token.exit.thread: ; preds = %781 store i32 0, ptr %43, align 8 - br label %.thread303 + br label %.thread302 790: ; preds = %781 - %791 = add i32 %.0202332, 3 + %791 = add i32 %.0202331, 3 %.not626659.i = icmp eq i16 %785, 0 br i1 %.not626659.i, label %._crit_edge.i278, label %.lr.ph662.i @@ -7010,47 +7010,47 @@ thread-pre-split690.i: ; preds = %.thread647.i ._crit_edge.i278: ; preds = %1172, %790 %.0602.lcssa.i = phi i32 [ %791, %790 ], [ %.11.i, %1172 ] - %1174 = sub i32 %.0602.lcssa.i, %.0202332 + %1174 = sub i32 %.0602.lcssa.i, %.0202331 br label %dissect_tds7_colmetadata_token.exit 1175: ; preds = %tds7_token_to_idx.exit - %1176 = add i32 %.0202332, 1 + %1176 = add i32 %.0202331, 1 %1177 = call fastcc i32 @dissect_tds_done_token(ptr noundef %0, i32 noundef %1176, ptr noundef %780, ptr noundef %3) %1178 = add i32 %1177, 1 br label %dissect_tds7_colmetadata_token.exit 1179: ; preds = %tds7_token_to_idx.exit - %1180 = add i32 %.0202332, 1 + %1180 = add i32 %.0202331, 1 %1181 = call fastcc i32 @dissect_tds_doneproc_token(ptr noundef %0, i32 noundef %1180, ptr noundef %780, ptr noundef %3) %1182 = add i32 %1181, 1 br label %dissect_tds7_colmetadata_token.exit 1183: ; preds = %tds7_token_to_idx.exit - %1184 = add i32 %.0202332, 1 + %1184 = add i32 %.0202331, 1 %1185 = call fastcc i32 @dissect_tds_doneinproc_token(ptr noundef %0, i32 noundef %1184, ptr noundef %780, ptr noundef %3) %1186 = add i32 %1185, 1 br label %dissect_tds7_colmetadata_token.exit 1187: ; preds = %tds7_token_to_idx.exit - %1188 = add i32 %.0202332, 1 + %1188 = add i32 %.0202331, 1 %1189 = call fastcc i32 @dissect_tds_envchg_token(ptr noundef %0, i32 noundef %1188, ptr noundef %780, ptr noundef %3) %1190 = add i32 %1189, 1 br label %dissect_tds7_colmetadata_token.exit 1191: ; preds = %tds7_token_to_idx.exit - %1192 = add i32 %.0202332, 1 + %1192 = add i32 %.0202331, 1 %1193 = call fastcc i32 @dissect_tds_error_token(ptr noundef %0, i32 noundef %1192, ptr noundef %780, ptr noundef %3) %1194 = add i32 %1193, 1 br label %dissect_tds7_colmetadata_token.exit 1195: ; preds = %tds7_token_to_idx.exit - %1196 = add i32 %.0202332, 1 + %1196 = add i32 %.0202331, 1 %1197 = call fastcc i32 @dissect_tds_info_token(ptr noundef %0, i32 noundef %1196, ptr noundef %780, ptr noundef %3) %1198 = add i32 %1197, 1 br label %dissect_tds7_colmetadata_token.exit 1199: ; preds = %tds7_token_to_idx.exit - %1200 = add i32 %.0202332, 1 + %1200 = add i32 %.0202331, 1 %1201 = call i32 @tvb_reported_length_remaining(ptr noundef nonnull %0, i32 noundef %1200) #11 %1202 = icmp sgt i32 %1201, 0 br i1 %1202, label %.lr.ph.i284, label %dissect_tds_featureextack_token.exit @@ -7084,17 +7084,17 @@ thread-pre-split690.i: ; preds = %.thread647.i dissect_tds_featureextack_token.exit: ; preds = %.lr.ph.i284, %1215, %1199 %.1.i283 = phi i32 [ %1200, %1199 ], [ %1221, %1215 ], [ %1204, %.lr.ph.i284 ] - %1224 = sub i32 %.1.i283, %.0202332 + %1224 = sub i32 %.1.i283, %.0202331 br label %dissect_tds7_colmetadata_token.exit 1225: ; preds = %tds7_token_to_idx.exit - %1226 = add i32 %.0202332, 1 + %1226 = add i32 %.0202331, 1 %1227 = call fastcc i32 @dissect_tds_login_ack_token(ptr noundef %0, ptr noundef %1, i32 noundef %1226, ptr noundef %780, ptr noundef %3) %1228 = add nuw nsw i32 %1227, 1 - br label %.thread303 + br label %.thread302 1229: ; preds = %tds7_token_to_idx.exit - %1230 = add i32 %.0202332, 1 + %1230 = add i32 %.0202331, 1 call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %9) %1231 = load i32, ptr %43, align 8 %1232 = lshr i32 %1231, 3 @@ -7173,48 +7173,48 @@ dissect_tds_type_info_minimal.exit.i: ; preds = %.sink.split.i.i, %1 dissect_tds_nbc_row_token.exit: ; preds = %1229, %._crit_edge.loopexit.i288 %1264 = phi i32 [ %.pre.i289, %._crit_edge.loopexit.i288 ], [ %spec.select.i, %1229 ] call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %9) - %1265 = sub i32 %1264, %.0202332 + %1265 = sub i32 %1264, %.0202331 br label %dissect_tds7_colmetadata_token.exit 1266: ; preds = %tds7_token_to_idx.exit - %1267 = add i32 %.0202332, 1 + %1267 = add i32 %.0202331, 1 %1268 = load i32, ptr @hf_tds_offset_id, align 4 %1269 = call ptr @proto_tree_add_item(ptr noundef %780, i32 noundef %1268, ptr noundef nonnull %0, i32 noundef %1267, i32 noundef 2, i32 noundef -2147483648) #11 %1270 = load i32, ptr @hf_tds_offset_len, align 4 - %1271 = add i32 %.0202332, 3 + %1271 = add i32 %.0202331, 3 %1272 = call ptr @proto_tree_add_item(ptr noundef %780, i32 noundef %1270, ptr noundef nonnull %0, i32 noundef %1271, i32 noundef 2, i32 noundef -2147483648) #11 - br label %.thread303 + br label %.thread302 1273: ; preds = %tds7_token_to_idx.exit - %1274 = add i32 %.0202332, 1 + %1274 = add i32 %.0202331, 1 %1275 = call fastcc i32 @dissect_tds_order_token(ptr noundef %0, i32 noundef %1274, ptr noundef %780, ptr noundef %3) %1276 = add i32 %1275, 1 br label %dissect_tds7_colmetadata_token.exit 1277: ; preds = %tds7_token_to_idx.exit - %1278 = add i32 %.0202332, 1 + %1278 = add i32 %.0202331, 1 %.val207 = load i32, ptr %72, align 8 %1279 = load i32, ptr @hf_tds_returnstatus_value, align 4 %1280 = icmp eq i32 %.val207, 0 %1281 = select i1 %1280, i32 0, i32 -2147483648 %1282 = call ptr @proto_tree_add_item(ptr noundef %780, i32 noundef %1279, ptr noundef nonnull %0, i32 noundef %1278, i32 noundef 4, i32 noundef %1281) #11 - br label %.thread303 + br label %.thread302 1283: ; preds = %tds7_token_to_idx.exit - %1284 = add i32 %.0202332, 1 + %1284 = add i32 %.0202331, 1 %1285 = call fastcc i32 @dissect_tds_row_token(ptr noundef %0, ptr noundef %1, ptr noundef %43, i32 noundef %1284, ptr noundef %780, ptr noundef %3) %1286 = add i32 %1285, 1 br label %dissect_tds7_colmetadata_token.exit 1287: ; preds = %tds7_token_to_idx.exit - %1288 = add i32 %.0202332, 1 + %1288 = add i32 %.0202331, 1 call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %8) %1289 = load i32, ptr @hf_tds_sessionstate_length, align 4 %1290 = call ptr @proto_tree_add_item_ret_uint(ptr noundef %780, i32 noundef %1289, ptr noundef nonnull %0, i32 noundef %1288, i32 noundef 4, i32 noundef -2147483648, ptr noundef nonnull %8) #11 - %1291 = add i32 %.0202332, 5 + %1291 = add i32 %.0202331, 5 %1292 = load i32, ptr @hf_tds_sessionstate_seqno, align 4 %1293 = call ptr @proto_tree_add_item(ptr noundef %780, i32 noundef %1292, ptr noundef nonnull %0, i32 noundef %1291, i32 noundef 4, i32 noundef -2147483648) #11 - %1294 = add i32 %.0202332, 9 + %1294 = add i32 %.0202331, 9 %1295 = load i32, ptr @hf_tds_sessionstate_status, align 4 %1296 = call ptr @proto_tree_add_item(ptr noundef %780, i32 noundef %1295, ptr noundef nonnull %0, i32 noundef %1294, i32 noundef 1, i32 noundef -2147483648) #11 %1297 = load i32, ptr %8, align 4 @@ -7222,7 +7222,7 @@ dissect_tds_nbc_row_token.exit: ; preds = %1229, %._crit_edge. br i1 %1298, label %.lr.ph.preheader.i, label %dissect_tds_sessionstate_token.exit .lr.ph.preheader.i: ; preds = %1287 - %1299 = add i32 %.0202332, 10 + %1299 = add i32 %.0202331, 10 br label %.lr.ph.i292 .lr.ph.i292: ; preds = %1317, %.lr.ph.preheader.i @@ -7273,7 +7273,7 @@ dissect_tds_sessionstate_token.exit: ; preds = %dissect_tds_session br label %dissect_tds7_colmetadata_token.exit 1327: ; preds = %tds7_token_to_idx.exit - %1328 = add i32 %.0202332, 1 + %1328 = add i32 %.0202331, 1 call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %5) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %6) call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %7) @@ -7282,7 +7282,7 @@ dissect_tds_sessionstate_token.exit: ; preds = %dissect_tds_session %1330 = select i1 %.not.i294, i32 0, i32 -2147483648 %1331 = call zeroext i16 @tvb_get_guint16(ptr noundef nonnull %0, i32 noundef %1328, i32 noundef %1330) #11 %1332 = zext i16 %1331 to i32 - %1333 = add i32 %.0202332, 3 + %1333 = add i32 %.0202331, 3 %.not26.i = icmp eq i16 %1331, 0 br i1 %.not26.i, label %dissect_tds_sspi_token.exit, label %1334 @@ -7321,27 +7321,27 @@ dissect_tds_sspi_token.exit: ; preds = %1327, %1347 call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %5) call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %6) call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %7) - %1351 = sub i32 %.0.i295, %.0202332 + %1351 = sub i32 %.0.i295, %.0202331 br label %dissect_tds7_colmetadata_token.exit dissect_tds7_colmetadata_token.exit: ; preds = %._crit_edge.i278, %dissect_tds_sspi_token.exit, %dissect_tds_sessionstate_token.exit, %1283, %1273, %dissect_tds_nbc_row_token.exit, %dissect_tds_featureextack_token.exit, %1195, %1191, %1187, %1183, %1179, %1175 %.1 = phi i32 [ %1351, %dissect_tds_sspi_token.exit ], [ %.lcssa.i, %dissect_tds_sessionstate_token.exit ], [ %1286, %1283 ], [ %1276, %1273 ], [ %1265, %dissect_tds_nbc_row_token.exit ], [ %1224, %dissect_tds_featureextack_token.exit ], [ %1198, %1195 ], [ %1194, %1191 ], [ %1190, %1187 ], [ %1186, %1183 ], [ %1182, %1179 ], [ %1178, %1175 ], [ %1174, %._crit_edge.i278 ] %1352 = icmp eq i32 %.1, 0 - br i1 %1352, label %.thread306, label %.thread303 + br i1 %1352, label %.thread305, label %.thread302 -.thread303: ; preds = %dissect_tds7_colmetadata_token.exit.thread, %1225, %1266, %1277, %dissect_tds7_colmetadata_token.exit - %.1305 = phi i32 [ %.1, %dissect_tds7_colmetadata_token.exit ], [ %1228, %1225 ], [ 5, %1266 ], [ 5, %1277 ], [ 3, %dissect_tds7_colmetadata_token.exit.thread ] - call void @proto_item_set_len(ptr noundef %778, i32 noundef %.1305) #11 +.thread302: ; preds = %dissect_tds7_colmetadata_token.exit.thread, %1225, %1266, %1277, %dissect_tds7_colmetadata_token.exit + %.1304 = phi i32 [ %.1, %dissect_tds7_colmetadata_token.exit ], [ %1228, %1225 ], [ 5, %1266 ], [ 5, %1277 ], [ 3, %dissect_tds7_colmetadata_token.exit.thread ] + call void @proto_item_set_len(ptr noundef %778, i32 noundef %.1304) #11 br label %1353 -1353: ; preds = %.thread303, %.thread - %.0.pn = phi i32 [ %.0299, %.thread ], [ %.1305, %.thread303 ] - %.1203 = add i32 %.0.pn, %.0202332 +1353: ; preds = %.thread302, %.thread + %.0.pn = phi i32 [ %.0298, %.thread ], [ %.1304, %.thread302 ] + %.1203 = add i32 %.0.pn, %.0202331 %1354 = call i32 @tvb_reported_length_remaining(ptr noundef nonnull %0, i32 noundef %.1203) #11 %1355 = icmp sgt i32 %1354, 0 - br i1 %1355, label %76, label %.thread306, !llvm.loop !25 + br i1 %1355, label %76, label %.thread305, !llvm.loop !25 -.thread306: ; preds = %1353, %dissect_tds7_colmetadata_token.exit, %tds7_token_to_idx.exit, %dissect_tds_prelogin_response.exit, %dissect_tds_prelogin_response.exit.thread, %.thread300 +.thread305: ; preds = %1353, %dissect_tds7_colmetadata_token.exit, %tds7_token_to_idx.exit, %dissect_tds_prelogin_response.exit, %dissect_tds_prelogin_response.exit.thread, %.thread299 ret void } diff --git a/bench/yosys/optimized/memory_dff.ll b/bench/yosys/optimized/memory_dff.ll index aec407f247f..0ce244924eb 100644 --- a/bench/yosys/optimized/memory_dff.ll +++ b/bench/yosys/optimized/memory_dff.ll @@ -71696,14 +71696,14 @@ _ZNSt6vectorIiSaIiEE5clearEv.exit.i160.i: ; preds = %200 ._crit_edge.i218.i: ; preds = %229, %232 %237 = call ptr @__cxa_allocate_exception(i64 16) #22, !noalias !546 invoke void @_ZNSt12length_errorC1EPKc(ptr noundef nonnull align 8 dereferenceable(16) %237, ptr noundef nonnull @.str.15) - to label %.invoke2770 unwind label %239, !noalias !546 + to label %.invoke2773 unwind label %239, !noalias !546 -.invoke2770: ; preds = %._crit_edge.i.i, %._crit_edge.i218.i +.invoke2773: ; preds = %._crit_edge.i.i, %._crit_edge.i218.i %238 = phi ptr [ %237, %._crit_edge.i218.i ], [ %462, %._crit_edge.i.i ] invoke void @__cxa_throw(ptr nonnull %238, ptr nonnull @_ZTISt12length_error, ptr nonnull @_ZNSt12length_errorD1Ev) #24 - to label %.cont2771 unwind label %.loopexit.split-lp916 + to label %.cont2774 unwind label %.loopexit.split-lp916 -.cont2771: ; preds = %.invoke2770 +.cont2774: ; preds = %.invoke2773 unreachable 239: ; preds = %._crit_edge.i218.i @@ -71746,13 +71746,13 @@ _ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit69.thread.i192.i: ; 258: ; preds = %249 %259 = sub nsw i64 2305843009213693951, %247 %260 = icmp ult i64 %259, %250 - br i1 %260, label %.invoke2772, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i200.i + br i1 %260, label %.invoke2775, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i200.i -.invoke2772: ; preds = %482, %258 +.invoke2775: ; preds = %482, %258 invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.18) #24 - to label %.cont2773 unwind label %.loopexit.split-lp916 + to label %.cont2776 unwind label %.loopexit.split-lp916 -.cont2773: ; preds = %.invoke2772 +.cont2776: ; preds = %.invoke2775 unreachable _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i200.i: ; preds = %258 @@ -72153,7 +72153,7 @@ _ZNSt6vectorIiSaIiEE5clearEv.exit.i.i: ; preds = %425 ._crit_edge.i.i: ; preds = %454, %457 %462 = call ptr @__cxa_allocate_exception(i64 16) #22, !noalias !546 invoke void @_ZNSt12length_errorC1EPKc(ptr noundef nonnull align 8 dereferenceable(16) %462, ptr noundef nonnull @.str.15) - to label %.invoke2770 unwind label %463, !noalias !546 + to label %.invoke2773 unwind label %463, !noalias !546 463: ; preds = %._crit_edge.i.i %464 = landingpad { ptr, i32 } @@ -72195,7 +72195,7 @@ _ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit69.thread.i.i: ; pre 482: ; preds = %473 %483 = sub nsw i64 2305843009213693951, %471 %484 = icmp ult i64 %483, %474 - br i1 %484, label %.invoke2772, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i + br i1 %484, label %.invoke2775, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i: ; preds = %482 %.sroa.speculated.i.i.i = call i64 @llvm.umax.i64(i64 %471, i64 %474) @@ -73276,7 +73276,7 @@ _ZNSt6vectorIN12_GLOBAL__N_17MuxDataESaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9__g br label %_ZNSt6vectorIN12_GLOBAL__N_17MuxDataESaIS1_EE9push_backERKS1_.exit.i _ZNSt6vectorIN12_GLOBAL__N_17MuxDataESaIS1_EE9push_backERKS1_.exit.i: ; preds = %_ZNSt6vectorIN12_GLOBAL__N_17MuxDataESaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i, %_ZNSt16allocator_traitsISaIN12_GLOBAL__N_17MuxDataEEE9constructIS1_JRKS1_EEEvRS2_PT_DpOT0_.exit.i.i - %.val.i2229 = phi ptr [ %922, %_ZNSt6vectorIN12_GLOBAL__N_17MuxDataESaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i ], [ %871, %_ZNSt16allocator_traitsISaIN12_GLOBAL__N_17MuxDataEEE9constructIS1_JRKS1_EEEvRS2_PT_DpOT0_.exit.i.i ] + %.val.i2233 = phi ptr [ %922, %_ZNSt6vectorIN12_GLOBAL__N_17MuxDataESaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i ], [ %871, %_ZNSt16allocator_traitsISaIN12_GLOBAL__N_17MuxDataEEE9constructIS1_JRKS1_EEEvRS2_PT_DpOT0_.exit.i.i ] call fastcc void @_ZN12_GLOBAL__N_17MuxDataD2Ev(ptr noundef nonnull align 8 dereferenceable(104) %60) #22, !noalias !546 br label %938 @@ -73322,7 +73322,7 @@ _ZNSt6vectorIN12_GLOBAL__N_17MuxDataESaIS1_EE9push_backERKS1_.exit.i: ; preds = br label %.loopexit.split-lp.i 938: ; preds = %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit.i._crit_edge, %_ZNSt6vectorIN12_GLOBAL__N_17MuxDataESaIS1_EE9push_backERKS1_.exit.i - %.val.i = phi ptr [ %.val.i2229, %_ZNSt6vectorIN12_GLOBAL__N_17MuxDataESaIS1_EE9push_backERKS1_.exit.i ], [ %.val.i.pre, %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit.i._crit_edge ] + %.val.i = phi ptr [ %.val.i2233, %_ZNSt6vectorIN12_GLOBAL__N_17MuxDataESaIS1_EE9push_backERKS1_.exit.i ], [ %.val.i.pre, %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit.i._crit_edge ] %.344.i = phi i1 [ %.037.i, %_ZNSt6vectorIN12_GLOBAL__N_17MuxDataESaIS1_EE9push_backERKS1_.exit.i ], [ %.041408.i, %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit.i._crit_edge ] %.3.i = phi ptr [ %810, %_ZNSt6vectorIN12_GLOBAL__N_17MuxDataESaIS1_EE9push_backERKS1_.exit.i ], [ %.038409.i, %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit.i._crit_edge ] %939 = getelementptr inbounds i8, ptr %.val.i, i64 -100 @@ -73695,7 +73695,7 @@ _ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i260: ; preds = br label %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit262 _ZN5Yosys5RTLIL7SigSpecD2Ev.exit262: ; preds = %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i260, %1070 - br i1 %1056, label %1077, label %.invoke2774 + br i1 %1056, label %1077, label %.invoke2777 1071: ; preds = %_ZNK5Yosys5RTLIL8IdString5c_strEv.exit235 %1072 = landingpad { ptr, i32 } @@ -73707,7 +73707,7 @@ _ZN5Yosys5RTLIL7SigSpecD2Ev.exit262: ; preds = %_ZSt8_DestroyIPN5Yo cleanup br label %.body -.loopexit.split-lp916: ; preds = %.invoke2772, %.invoke2770, %.invoke +.loopexit.split-lp916: ; preds = %.invoke2775, %.invoke2773, %.invoke %lpad.loopexit.split-lp918 = landingpad { ptr, i32 } cleanup br label %.body @@ -73717,7 +73717,7 @@ _ZN5Yosys5RTLIL7SigSpecD2Ev.exit262: ; preds = %_ZSt8_DestroyIPN5Yo call void @_ZN5Yosys5RTLIL7SigSpecD2Ev(ptr noundef nonnull align 8 dereferenceable(64) %65) #22 br label %3056 -1073: ; preds = %.invoke2774, %1094, %_ZN5Yosys5RTLIL8IdStringD2Ev.exit +1073: ; preds = %.invoke2777, %1094, %_ZN5Yosys5RTLIL8IdStringD2Ev.exit %1074 = landingpad { ptr, i32 } cleanup br label %.body292 @@ -73732,21 +73732,21 @@ _ZN5Yosys5RTLIL7SigSpecD2Ev.exit262: ; preds = %_ZSt8_DestroyIPN5Yo %1078 = getelementptr inbounds nuw i8, ptr %66, i64 672 %1079 = load i8, ptr %1078, align 8 %1080 = trunc i8 %1079 to i1 - br i1 %1080, label %1081, label %.invoke2774 + br i1 %1080, label %1081, label %.invoke2777 1081: ; preds = %1077 %1082 = getelementptr inbounds nuw i8, ptr %66, i64 675 %1083 = load i8, ptr %1082, align 1 %1084 = trunc i8 %1083 to i1 - br i1 %1084, label %.invoke2774, label %1085 + br i1 %1084, label %.invoke2777, label %1085 1085: ; preds = %1081 %1086 = getelementptr inbounds nuw i8, ptr %66, i64 678 %1087 = load i8, ptr %1086, align 2 %1088 = trunc i8 %1087 to i1 - br i1 %1088, label %.invoke2774, label %1090 + br i1 %1088, label %.invoke2777, label %1090 -.invoke2774: ; preds = %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit262, %1085, %1081, %1077 +.invoke2777: ; preds = %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit262, %1085, %1081, %1077 %1089 = phi ptr [ @.str.165, %1077 ], [ @.str.166, %1081 ], [ @.str.167, %1085 ], [ @.str.164, %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit262 ] invoke void (ptr, ...) @_ZN5Yosys3logEPKcz(ptr noundef nonnull %1089) to label %3036 unwind label %1073 @@ -73894,9 +73894,9 @@ _ZN5Yosys5RTLIL7SigSpecD2Ev.exit262: ; preds = %_ZSt8_DestroyIPN5Yo br label %1170 1170: ; preds = %1168, %_ZN5Yosys5RTLIL8IdStringD2Ev.exit281 - %.01801656 = phi i1 [ %1097, %1168 ], [ %spec.select, %_ZN5Yosys5RTLIL8IdStringD2Ev.exit281 ] - %.0183.idx1655 = phi i64 [ 0, %1168 ], [ %.0183.add, %_ZN5Yosys5RTLIL8IdStringD2Ev.exit281 ] - %.0183.ptr = getelementptr inbounds nuw i8, ptr %69, i64 %.0183.idx1655 + %.01801658 = phi i1 [ %1097, %1168 ], [ %spec.select, %_ZN5Yosys5RTLIL8IdStringD2Ev.exit281 ] + %.0183.idx1657 = phi i64 [ 0, %1168 ], [ %.0183.add, %_ZN5Yosys5RTLIL8IdStringD2Ev.exit281 ] + %.0183.ptr = getelementptr inbounds nuw i8, ptr %69, i64 %.0183.idx1657 %1171 = load i32, ptr %.0183.ptr, align 4 %.not.i.i278 = icmp eq i32 %1171, 0 br i1 %.not.i.i278, label %1178, label %1172 @@ -73919,7 +73919,7 @@ _ZN5Yosys5RTLIL7SigSpecD2Ev.exit262: ; preds = %_ZSt8_DestroyIPN5Yo %1180 = call noundef i32 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEPKc(ptr noundef nonnull align 8 dereferenceable(32) %71, ptr noundef nonnull @.str.168) #22 %1181 = icmp eq i32 %1180, 0 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %71) #22 - %spec.select = select i1 %1181, i1 true, i1 %.01801656 + %spec.select = select i1 %1181, i1 true, i1 %.01801658 %1182 = load i32, ptr %70, align 4 %1183 = load i8, ptr @_ZN5Yosys5RTLIL8IdString17destruct_guard_okE, align 1 %1184 = trunc i8 %1183 to i1 @@ -73949,7 +73949,7 @@ _ZN5Yosys5RTLIL7SigSpecD2Ev.exit262: ; preds = %_ZSt8_DestroyIPN5Yo unreachable _ZN5Yosys5RTLIL8IdStringD2Ev.exit281: ; preds = %1179, %1186, %1193 - %.0183.add = add nuw nsw i64 %.0183.idx1655, 4 + %.0183.add = add nuw nsw i64 %.0183.idx1657, 4 %.not = icmp eq i64 %.0183.add, 32 br i1 %.not, label %.preheader910, label %1170 @@ -74253,9 +74253,9 @@ _ZN5ezSAT3NOTENS_2_VE.exit38.i: ; preds = %_ZN5ezSAT2_V3getEPS %1320 = sdiv exact i64 %1319, 376 %1321 = trunc i64 %1320 to i32 %1322 = icmp sgt i32 %1321, 0 - br i1 %1322, label %.lr.ph1660, label %._crit_edge + br i1 %1322, label %.lr.ph1662, label %._crit_edge -.lr.ph1660: ; preds = %1311 +.lr.ph1662: ; preds = %1311 %1323 = getelementptr inbounds nuw i8, ptr %74, i64 8 %1324 = getelementptr inbounds nuw i8, ptr %74, i64 16 %1325 = getelementptr inbounds nuw i8, ptr %74, i64 24 @@ -74292,9 +74292,9 @@ _ZN5ezSAT3NOTENS_2_VE.exit38.i: ; preds = %_ZN5ezSAT2_V3getEPS %.sroa.2.0..sroa_idx.i.i.i.i2.i = getelementptr inbounds nuw i8, ptr %74, i64 56 br label %1353 -1353: ; preds = %.lr.ph1660, %_ZN12_GLOBAL__N_18PortDataD2Ev.exit - %indvars.iv2207 = phi i64 [ 0, %.lr.ph1660 ], [ %indvars.iv.next2208, %_ZN12_GLOBAL__N_18PortDataD2Ev.exit ] - %1354 = phi ptr [ %1316, %.lr.ph1660 ], [ %1778, %_ZN12_GLOBAL__N_18PortDataD2Ev.exit ] +1353: ; preds = %.lr.ph1662, %_ZN12_GLOBAL__N_18PortDataD2Ev.exit + %indvars.iv2211 = phi i64 [ 0, %.lr.ph1662 ], [ %indvars.iv.next2212, %_ZN12_GLOBAL__N_18PortDataD2Ev.exit ] + %1354 = phi ptr [ %1316, %.lr.ph1662 ], [ %1778, %_ZN12_GLOBAL__N_18PortDataD2Ev.exit ] store ptr null, ptr %1323, align 8 store i32 0, ptr %1324, align 8 store ptr null, ptr %1325, align 8 @@ -74306,7 +74306,7 @@ _ZN5ezSAT3NOTENS_2_VE.exit38.i: ; preds = %_ZN5ezSAT2_V3getEPS store ptr null, ptr %1333, align 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(20) %1327, i8 0, i64 20, i1 false) call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(20) %1330, i8 0, i64 20, i1 false) - %1355 = getelementptr inbounds nuw %"struct.Yosys::MemWr", ptr %1354, i64 %indvars.iv2207 + %1355 = getelementptr inbounds nuw %"struct.Yosys::MemWr", ptr %1354, i64 %indvars.iv2211 store i8 1, ptr %74, align 8 %1356 = getelementptr inbounds nuw i8, ptr %1355, i64 76 %1357 = load i8, ptr %1356, align 4 @@ -74321,7 +74321,7 @@ _ZN5ezSAT3NOTENS_2_VE.exit38.i: ; preds = %_ZN5ezSAT2_V3getEPS cleanup br label %_ZNSt6vectorISt4pairIRN12_GLOBAL__N_18PortDataEiESaIS4_EED2Ev.exit -.loopexit.split-lp: ; preds = %2809, %._crit_edge1705, %2826, %2934, %2938, %2945, %2954, %2960, %2974, %_ZN5Yosys5RTLIL7SigSpecaSERKS1_.exit551._crit_edge, %2918, %.noexc542, %2949, %2964, %2978, %_ZN5Yosys5RTLIL5ConstaSERKS1_.exit548, %.noexc549 +.loopexit.split-lp: ; preds = %2809, %._crit_edge1707, %2826, %2934, %2938, %2945, %2954, %2960, %2974, %_ZN5Yosys5RTLIL7SigSpecaSERKS1_.exit551._crit_edge, %2918, %.noexc542, %2949, %2964, %2978, %_ZN5Yosys5RTLIL5ConstaSERKS1_.exit548, %.noexc549 %lpad.loopexit.split-lp = landingpad { ptr, i32 } cleanup br label %_ZNSt6vectorISt4pairIRN12_GLOBAL__N_18PortDataEiESaIS4_EED2Ev.exit @@ -74411,13 +74411,13 @@ _ZN5ezSAT3NOTENS_2_VE.exit38.i: ; preds = %_ZN5ezSAT2_V3getEPS to label %._ZNSt6vectorIbSaIbEE6resizeEmb.exit_crit_edge unwind label %.loopexit.split-lp903.loopexit ._ZNSt6vectorIbSaIbEE6resizeEmb.exit_crit_edge: ; preds = %1393 - %.pre2231 = load i32, ptr %125, align 8 - %.pre2242 = sext i32 %.pre2231 to i64 + %.pre2235 = load i32, ptr %125, align 8 + %.pre2246 = sext i32 %.pre2235 to i64 br label %_ZNSt6vectorIbSaIbEE6resizeEmb.exit _ZNSt6vectorIbSaIbEE6resizeEmb.exit: ; preds = %._ZNSt6vectorIbSaIbEE6resizeEmb.exit_crit_edge, %1387 - %.pre-phi2243 = phi i64 [ %.pre2242, %._ZNSt6vectorIbSaIbEE6resizeEmb.exit_crit_edge ], [ %1376, %1387 ] - %1395 = phi i32 [ %.pre2231, %._ZNSt6vectorIbSaIbEE6resizeEmb.exit_crit_edge ], [ %1375, %1387 ] + %.pre-phi = phi i64 [ %.pre2246, %._ZNSt6vectorIbSaIbEE6resizeEmb.exit_crit_edge ], [ %1376, %1387 ] + %1395 = phi i32 [ %.pre2235, %._ZNSt6vectorIbSaIbEE6resizeEmb.exit_crit_edge ], [ %1375, %1387 ] %1396 = load ptr, ptr %1328, align 8 %1397 = load i32, ptr %1329, align 8 %1398 = load ptr, ptr %1337, align 8 @@ -74427,14 +74427,14 @@ _ZNSt6vectorIbSaIbEE6resizeEmb.exit: ; preds = %._ZNSt6vectorIbSaIb %1402 = shl nsw i64 %1401, 3 %1403 = zext i32 %1397 to i64 %1404 = add nsw i64 %1402, %1403 - %1405 = icmp ugt i64 %1404, %.pre-phi2243 + %1405 = icmp ugt i64 %1404, %.pre-phi br i1 %1405, label %1406, label %1412 1406: ; preds = %_ZNSt6vectorIbSaIbEE6resizeEmb.exit %1407 = sdiv i32 %1395, 64 %.sext830 = sext i32 %1407 to i64 %1408 = getelementptr inbounds i64, ptr %1398, i64 %.sext830 - %1409 = and i64 %.pre-phi2243, -9223372036854775745 + %1409 = and i64 %.pre-phi, -9223372036854775745 %1410 = icmp ugt i64 %1409, -9223372036854775808 %storemerge.idx.i.i.i.i296 = select i1 %1410, i64 -8, i64 0 %storemerge.i.i.i.i297 = getelementptr inbounds i8, ptr %1408, i64 %storemerge.idx.i.i.i.i296 @@ -74444,18 +74444,18 @@ _ZNSt6vectorIbSaIbEE6resizeEmb.exit: ; preds = %._ZNSt6vectorIbSaIb br label %_ZNSt6vectorIbSaIbEE6resizeEmb.exit299 1412: ; preds = %_ZNSt6vectorIbSaIbEE6resizeEmb.exit - %1413 = sub nuw i64 %.pre-phi2243, %1404 + %1413 = sub nuw i64 %.pre-phi, %1404 invoke void @_ZNSt6vectorIbSaIbEE14_M_fill_insertESt13_Bit_iteratormb(ptr noundef nonnull align 8 dereferenceable(40) %1337, ptr %1396, i32 %1397, i64 noundef %1413, i1 noundef zeroext false) to label %._ZNSt6vectorIbSaIbEE6resizeEmb.exit299_crit_edge unwind label %.loopexit.split-lp903.loopexit ._ZNSt6vectorIbSaIbEE6resizeEmb.exit299_crit_edge: ; preds = %1412 - %.pre2232 = load i32, ptr %125, align 8 - %.pre2244 = sext i32 %.pre2232 to i64 + %.pre2236 = load i32, ptr %125, align 8 + %.pre2247 = sext i32 %.pre2236 to i64 br label %_ZNSt6vectorIbSaIbEE6resizeEmb.exit299 _ZNSt6vectorIbSaIbEE6resizeEmb.exit299: ; preds = %._ZNSt6vectorIbSaIbEE6resizeEmb.exit299_crit_edge, %1406 - %.pre-phi2245 = phi i64 [ %.pre2244, %._ZNSt6vectorIbSaIbEE6resizeEmb.exit299_crit_edge ], [ %.pre-phi2243, %1406 ] - %1414 = phi i32 [ %.pre2232, %._ZNSt6vectorIbSaIbEE6resizeEmb.exit299_crit_edge ], [ %1395, %1406 ] + %.pre-phi2248 = phi i64 [ %.pre2247, %._ZNSt6vectorIbSaIbEE6resizeEmb.exit299_crit_edge ], [ %.pre-phi, %1406 ] + %1414 = phi i32 [ %.pre2236, %._ZNSt6vectorIbSaIbEE6resizeEmb.exit299_crit_edge ], [ %1395, %1406 ] %1415 = load ptr, ptr %1331, align 8 %1416 = load i32, ptr %1332, align 8 %1417 = load ptr, ptr %1338, align 8 @@ -74465,14 +74465,14 @@ _ZNSt6vectorIbSaIbEE6resizeEmb.exit299: ; preds = %._ZNSt6vectorIbSaIb %1421 = shl nsw i64 %1420, 3 %1422 = zext i32 %1416 to i64 %1423 = add nsw i64 %1421, %1422 - %1424 = icmp ugt i64 %1423, %.pre-phi2245 + %1424 = icmp ugt i64 %1423, %.pre-phi2248 br i1 %1424, label %1425, label %1431 1425: ; preds = %_ZNSt6vectorIbSaIbEE6resizeEmb.exit299 %1426 = sdiv i32 %1414, 64 %.sext832 = sext i32 %1426 to i64 %1427 = getelementptr inbounds i64, ptr %1417, i64 %.sext832 - %1428 = and i64 %.pre-phi2245, -9223372036854775745 + %1428 = and i64 %.pre-phi2248, -9223372036854775745 %1429 = icmp ugt i64 %1428, -9223372036854775808 %storemerge.idx.i.i.i.i300 = select i1 %1429, i64 -8, i64 0 %storemerge.i.i.i.i301 = getelementptr inbounds i8, ptr %1427, i64 %storemerge.idx.i.i.i.i300 @@ -74482,7 +74482,7 @@ _ZNSt6vectorIbSaIbEE6resizeEmb.exit299: ; preds = %._ZNSt6vectorIbSaIb br label %_ZNSt6vectorIbSaIbEE6resizeEmb.exit303 1431: ; preds = %_ZNSt6vectorIbSaIbEE6resizeEmb.exit299 - %1432 = sub nuw i64 %.pre-phi2245, %1423 + %1432 = sub nuw i64 %.pre-phi2248, %1423 invoke void @_ZNSt6vectorIbSaIbEE14_M_fill_insertESt13_Bit_iteratormb(ptr noundef nonnull align 8 dereferenceable(40) %1338, ptr %1415, i32 %1416, i64 noundef %1432, i1 noundef zeroext false) to label %_ZNSt6vectorIbSaIbEE6resizeEmb.exit303 unwind label %.loopexit.split-lp903.loopexit @@ -74491,8 +74491,8 @@ _ZNSt6vectorIbSaIbEE6resizeEmb.exit303: ; preds = %1425, %1431 %1434 = trunc i8 %1433 to i1 %1435 = load i32, ptr %1339, align 8 %1436 = icmp sgt i32 %1435, 0 - %or.cond1709 = select i1 %1434, i1 %1436, i1 false - br i1 %or.cond1709, label %.lr.ph, label %.loopexit901 + %or.cond1711 = select i1 %1434, i1 %1436, i1 false + br i1 %or.cond1711, label %.lr.ph, label %.loopexit901 .lr.ph: ; preds = %_ZNSt6vectorIbSaIbEE6resizeEmb.exit303 %1437 = getelementptr inbounds nuw i8, ptr %1355, i64 200 @@ -74500,7 +74500,7 @@ _ZNSt6vectorIbSaIbEE6resizeEmb.exit303: ; preds = %1425, %1431 %1439 = getelementptr inbounds nuw i8, ptr %1355, i64 184 %1440 = getelementptr inbounds nuw i8, ptr %1355, i64 224 %1441 = getelementptr inbounds nuw i8, ptr %1355, i64 232 - %1442 = trunc nuw nsw i64 %indvars.iv2207 to i32 + %1442 = trunc nuw nsw i64 %indvars.iv2211 to i32 %1443 = mul i32 %1442, 33 br label %1444 @@ -74640,7 +74640,7 @@ _ZN5Yosys7hashlib8hash_opsISt4pairIiNS_5RTLIL6SigBitEEE4hashES5_.exit.i.i41.i: ; %.sroa.416.0.copyload.i.us.i = load i32, ptr %.sroa.416.0..sroa_idx.i.us.i, align 8 %.sroa.5.sroa.0.0.extract.trunc.i.us.i = trunc i32 %.sroa.416.0.copyload.i.us.i to i8 %1514 = zext i32 %.sroa.015.0.copyload.i.us.i to i64 - %1515 = icmp eq i64 %indvars.iv2207, %1514 + %1515 = icmp eq i64 %indvars.iv2211, %1514 %1516 = icmp eq ptr %.sroa.3.0.copyload.i.us.i, null %or.cond.i.us.i = select i1 %1515, i1 %1516, i1 false %1517 = icmp eq i8 %.sroa.5.sroa.0.0.extract.trunc.i.us.i, %.sroa.522.sroa.0.0.extract.trunc.i.i @@ -74663,7 +74663,7 @@ _ZN5Yosys7hashlib8hash_opsISt4pairIiNS_5RTLIL6SigBitEEE3cmpES5_S5_.exit.thread.i %.sroa.416.0..sroa_idx.i.i = getelementptr inbounds nuw i8, ptr %1522, i64 16 %.sroa.416.0.copyload.i.i = load i32, ptr %.sroa.416.0..sroa_idx.i.i, align 8 %1523 = zext i32 %.sroa.015.0.copyload.i.i to i64 - %1524 = icmp eq i64 %indvars.iv2207, %1523 + %1524 = icmp eq i64 %indvars.iv2211, %1523 %1525 = icmp eq ptr %.sroa.3.0.copyload.i.i, %.fr.i %or.cond.i.i327 = select i1 %1524, i1 %1525, i1 false %1526 = icmp eq i32 %.sroa.416.0.copyload.i.i, %.sroa.288.0.copyload @@ -74677,8 +74677,8 @@ _ZN5Yosys7hashlib8hash_opsISt4pairIiNS_5RTLIL6SigBitEEE3cmpES5_S5_.exit.thread.i br i1 %1529, label %.lr.ph.i.split.i, label %_ZNK5Yosys7hashlib4dictISt4pairIiNS_5RTLIL6SigBitEEbNS0_8hash_opsIS5_EEE9do_lookupERKS5_Ri.exit.thread.i, !llvm.loop !568 _ZNK5Yosys7hashlib4dictISt4pairIiNS_5RTLIL6SigBitEEbNS0_8hash_opsIS5_EEE9do_lookupERKS5_Ri.exit.i: ; preds = %.lr.ph.i.split.i, %.lr.ph.i.split.us.i - %.pre-phi = phi i64 [ %1512, %.lr.ph.i.split.us.i ], [ %1521, %.lr.ph.i.split.i ] - %1530 = getelementptr inbounds nuw %"struct.Yosys::hashlib::dict, bool>::entry_t", ptr %1511, i64 %.pre-phi, i32 0, i32 1 + %.pre-phi.i = phi i64 [ %1512, %.lr.ph.i.split.us.i ], [ %1521, %.lr.ph.i.split.i ] + %1530 = getelementptr inbounds nuw %"struct.Yosys::hashlib::dict, bool>::entry_t", ptr %1511, i64 %.pre-phi.i, i32 0, i32 1 %1531 = load i8, ptr %1530, align 8 %1532 = trunc i8 %1531 to i1 call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %41) @@ -74695,7 +74695,7 @@ _ZNK5Yosys7hashlib4dictISt4pairIiNS_5RTLIL6SigBitEEbNS0_8hash_opsIS5_EEE9do_look to label %.noexc329 unwind label %.loopexit902 .noexc329: ; preds = %_ZNK5Yosys7hashlib4dictISt4pairIiNS_5RTLIL6SigBitEEbNS0_8hash_opsIS5_EEE9do_lookupERKS5_Ri.exit.thread.i - %1538 = getelementptr inbounds nuw %"struct.Yosys::MemWr", ptr %1535, i64 %indvars.iv2207, i32 9 + %1538 = getelementptr inbounds nuw %"struct.Yosys::MemWr", ptr %1535, i64 %indvars.iv2211, i32 9 invoke void @_ZN5Yosys5RTLIL7SigSpecC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(64) %42, ptr noundef nonnull align 8 dereferenceable(64) %1538) to label %1539 unwind label %1644 @@ -74923,7 +74923,7 @@ _ZNK5Yosys7hashlib4dictISt4pairIiNS_5RTLIL6SigBitEEbNS0_8hash_opsIS5_EEE7do_hash %.sroa.416.0.copyload.i61.us.i = load i32, ptr %.sroa.416.0..sroa_idx.i60.us.i, align 8 %.sroa.5.sroa.0.0.extract.trunc.i62.us.i = trunc i32 %.sroa.416.0.copyload.i61.us.i to i8 %1627 = zext i32 %.sroa.015.0.copyload.i57.us.i to i64 - %1628 = icmp eq i64 %indvars.iv2207, %1627 + %1628 = icmp eq i64 %indvars.iv2211, %1627 %1629 = icmp eq ptr %.sroa.3.0.copyload.i59.us.i, null %or.cond.i63.us.i = select i1 %1628, i1 %1629, i1 false %1630 = icmp eq i8 %.sroa.5.sroa.0.0.extract.trunc.i62.us.i, %.sroa.522.sroa.0.0.extract.trunc.i54.i @@ -74946,7 +74946,7 @@ _ZN5Yosys7hashlib8hash_opsISt4pairIiNS_5RTLIL6SigBitEEE3cmpES5_S5_.exit.thread.i %.sroa.416.0..sroa_idx.i60.i = getelementptr inbounds nuw i8, ptr %1635, i64 16 %.sroa.416.0.copyload.i61.i = load i32, ptr %.sroa.416.0..sroa_idx.i60.i, align 8 %1636 = zext i32 %.sroa.015.0.copyload.i57.i to i64 - %1637 = icmp eq i64 %indvars.iv2207, %1636 + %1637 = icmp eq i64 %indvars.iv2211, %1636 %1638 = icmp eq ptr %.sroa.3.0.copyload.i59.i, %.fr.i %or.cond.i63.i = select i1 %1637, i1 %1638, i1 false %1639 = icmp eq i32 %.sroa.416.0.copyload.i61.i, %.sroa.288.0.copyload @@ -75320,7 +75320,7 @@ _ZNSt6vectorIbSaIbEED2Ev.exit5.i: ; preds = %1760, %_ZNSt6vector br label %_ZN12_GLOBAL__N_18PortDataD2Ev.exit _ZN12_GLOBAL__N_18PortDataD2Ev.exit: ; preds = %_ZNSt6vectorIbSaIbEED2Ev.exit5.i, %1769 - %indvars.iv.next2208 = add nuw nsw i64 %indvars.iv2207, 1 + %indvars.iv.next2212 = add nuw nsw i64 %indvars.iv2211, 1 %1777 = load ptr, ptr %1314, align 8 %1778 = load ptr, ptr %1313, align 8 %1779 = ptrtoint ptr %1777 to i64 @@ -75329,7 +75329,7 @@ _ZN12_GLOBAL__N_18PortDataD2Ev.exit: ; preds = %_ZNSt6vectorIbSaIbE %1782 = sdiv exact i64 %1781, 376 %sext = shl i64 %1782, 32 %1783 = ashr exact i64 %sext, 32 - %1784 = icmp slt i64 %indvars.iv.next2208, %1783 + %1784 = icmp slt i64 %indvars.iv.next2212, %1783 br i1 %1784, label %1353, label %._crit_edge, !llvm.loop !577 ._crit_edge: ; preds = %_ZN12_GLOBAL__N_18PortDataD2Ev.exit, %1311 @@ -75337,8 +75337,8 @@ _ZN12_GLOBAL__N_18PortDataD2Ev.exit: ; preds = %_ZNSt6vectorIbSaIbE %1786 = phi ptr [ %1315, %1311 ], [ %1777, %_ZN12_GLOBAL__N_18PortDataD2Ev.exit ] %.val216 = load ptr, ptr %63, align 8 %.val = load ptr, ptr %165, align 8 - %.not8491691 = icmp eq ptr %.val216, %.val - br i1 %.not8491691, label %.preheader857, label %.preheader887.lr.ph + %.not8491693 = icmp eq ptr %.val216, %.val + br i1 %.not8491693, label %.preheader857, label %.preheader887.lr.ph .preheader887.lr.ph: ; preds = %._crit_edge %1787 = getelementptr inbounds nuw i8, ptr %72, i64 160 @@ -75410,57 +75410,57 @@ _ZN12_GLOBAL__N_18PortDataD2Ev.exit: ; preds = %_ZNSt6vectorIbSaIbE br label %.preheader887 _ZNSt6vectorISt4pairIRN12_GLOBAL__N_18PortDataEiESaIS4_EED2Ev.exit533.thread: ; preds = %.preheader887, %2779, %_ZNSt6vectorISt4pairIRN12_GLOBAL__N_18PortDataEiESaIS4_EED2Ev.exit533 - %1840 = getelementptr inbounds nuw i8, ptr %.sroa.0810.01692, i64 104 + %1840 = getelementptr inbounds nuw i8, ptr %.sroa.0810.01694, i64 104 %.not849 = icmp eq ptr %1840, %.val br i1 %.not849, label %.preheader857.loopexit, label %.preheader887 .preheader887: ; preds = %.preheader887.lr.ph, %_ZNSt6vectorISt4pairIRN12_GLOBAL__N_18PortDataEiESaIS4_EED2Ev.exit533.thread - %.sroa.0810.01692 = phi ptr [ %.val216, %.preheader887.lr.ph ], [ %1840, %_ZNSt6vectorISt4pairIRN12_GLOBAL__N_18PortDataEiESaIS4_EED2Ev.exit533.thread ] - %1841 = getelementptr inbounds nuw i8, ptr %.sroa.0810.01692, i64 16 + %.sroa.0810.01694 = phi ptr [ %.val216, %.preheader887.lr.ph ], [ %1840, %_ZNSt6vectorISt4pairIRN12_GLOBAL__N_18PortDataEiESaIS4_EED2Ev.exit533.thread ] + %1841 = getelementptr inbounds nuw i8, ptr %.sroa.0810.01694, i64 16 %1842 = load i32, ptr %1841, align 8 - %.not2051678 = icmp sgt i32 %1842, 0 - br i1 %.not2051678, label %.lr.ph1684, label %_ZNSt6vectorISt4pairIRN12_GLOBAL__N_18PortDataEiESaIS4_EED2Ev.exit533.thread - -.lr.ph1684: ; preds = %.preheader887 - %1843 = getelementptr inbounds nuw i8, ptr %.sroa.0810.01692, i64 32 - %1844 = getelementptr inbounds nuw i8, ptr %.sroa.0810.01692, i64 40 - %1845 = getelementptr inbounds nuw i8, ptr %.sroa.0810.01692, i64 56 - %1846 = getelementptr inbounds nuw i8, ptr %.sroa.0810.01692, i64 64 - %1847 = getelementptr inbounds nuw i8, ptr %.sroa.0810.01692, i64 80 - %1848 = getelementptr inbounds nuw i8, ptr %.sroa.0810.01692, i64 4 - %1849 = getelementptr inbounds nuw i8, ptr %.sroa.0810.01692, i64 8 + %.not2051680 = icmp sgt i32 %1842, 0 + br i1 %.not2051680, label %.lr.ph1686, label %_ZNSt6vectorISt4pairIRN12_GLOBAL__N_18PortDataEiESaIS4_EED2Ev.exit533.thread + +.lr.ph1686: ; preds = %.preheader887 + %1843 = getelementptr inbounds nuw i8, ptr %.sroa.0810.01694, i64 32 + %1844 = getelementptr inbounds nuw i8, ptr %.sroa.0810.01694, i64 40 + %1845 = getelementptr inbounds nuw i8, ptr %.sroa.0810.01694, i64 56 + %1846 = getelementptr inbounds nuw i8, ptr %.sroa.0810.01694, i64 64 + %1847 = getelementptr inbounds nuw i8, ptr %.sroa.0810.01694, i64 80 + %1848 = getelementptr inbounds nuw i8, ptr %.sroa.0810.01694, i64 4 + %1849 = getelementptr inbounds nuw i8, ptr %.sroa.0810.01694, i64 8 br label %1859 .preheader857.loopexit: ; preds = %_ZNSt6vectorISt4pairIRN12_GLOBAL__N_18PortDataEiESaIS4_EED2Ev.exit533.thread - %.pre2238 = load ptr, ptr %1314, align 8 - %.pre2239 = load ptr, ptr %1313, align 8 + %.pre2242 = load ptr, ptr %1314, align 8 + %.pre2243 = load ptr, ptr %1313, align 8 br label %.preheader857 .preheader857: ; preds = %.preheader857.loopexit, %._crit_edge - %1850 = phi ptr [ %.pre2239, %.preheader857.loopexit ], [ %1785, %._crit_edge ] - %1851 = phi ptr [ %.pre2238, %.preheader857.loopexit ], [ %1786, %._crit_edge ] + %1850 = phi ptr [ %.pre2243, %.preheader857.loopexit ], [ %1785, %._crit_edge ] + %1851 = phi ptr [ %.pre2242, %.preheader857.loopexit ], [ %1786, %._crit_edge ] %1852 = ptrtoint ptr %1851 to i64 %1853 = ptrtoint ptr %1850 to i64 %1854 = sub i64 %1852, %1853 %1855 = sdiv exact i64 %1854, 376 %1856 = trunc i64 %1855 to i32 %1857 = icmp sgt i32 %1856, 0 - br i1 %1857, label %.lr.ph1704, label %._crit_edge1705 + br i1 %1857, label %.lr.ph1706, label %._crit_edge1707 -.lr.ph1704: ; preds = %.preheader857 +.lr.ph1706: ; preds = %.preheader857 %.val222 = load ptr, ptr %73, align 8 %1858 = getelementptr inbounds nuw i8, ptr %66, i64 792 br label %2780 -.preheader885: ; preds = %._crit_edge1675 - %.not8521688 = icmp eq ptr %.sroa.0807.3.lcssa, %.sroa.6.2.lcssa - br i1 %.not8521688, label %.loopexit886, label %.lr.ph1690 +.preheader885: ; preds = %._crit_edge1677 + %.not8521690 = icmp eq ptr %.sroa.0807.3.lcssa, %.sroa.6.2.lcssa + br i1 %.not8521690, label %.loopexit886, label %.lr.ph1692 -1859: ; preds = %.lr.ph1684, %._crit_edge1675 - %indvars.iv2219 = phi i64 [ 0, %.lr.ph1684 ], [ %indvars.iv.next2220, %._crit_edge1675 ] - %.sroa.0807.11681 = phi ptr [ null, %.lr.ph1684 ], [ %.sroa.0807.3.lcssa, %._crit_edge1675 ] - %.sroa.6.11680 = phi ptr [ null, %.lr.ph1684 ], [ %.sroa.6.2.lcssa, %._crit_edge1675 ] - %.sroa.11.11679 = phi ptr [ null, %.lr.ph1684 ], [ %.sroa.11.2.lcssa, %._crit_edge1675 ] +1859: ; preds = %.lr.ph1686, %._crit_edge1677 + %indvars.iv2223 = phi i64 [ 0, %.lr.ph1686 ], [ %indvars.iv.next2224, %._crit_edge1677 ] + %.sroa.0807.11683 = phi ptr [ null, %.lr.ph1686 ], [ %.sroa.0807.3.lcssa, %._crit_edge1677 ] + %.sroa.6.11682 = phi ptr [ null, %.lr.ph1686 ], [ %.sroa.6.2.lcssa, %._crit_edge1677 ] + %.sroa.11.11681 = phi ptr [ null, %.lr.ph1686 ], [ %.sroa.11.2.lcssa, %._crit_edge1677 ] %1860 = load ptr, ptr %1843, align 8 %1861 = load ptr, ptr %1844, align 8 %1862 = icmp eq ptr %1860, %1861 @@ -75477,29 +75477,29 @@ _ZNK5Yosys5RTLIL7SigSpec13inline_unpackEv.exit.i360: ; preds = %1863, %1859 %1867 = ptrtoint ptr %1865 to i64 %1868 = sub i64 %1866, %1867 %1869 = ashr exact i64 %1868, 4 - %.not.i.i.i361 = icmp ugt i64 %1869, %indvars.iv2219 + %.not.i.i.i361 = icmp ugt i64 %1869, %indvars.iv2223 br i1 %.not.i.i.i361, label %1871, label %1870 1870: ; preds = %_ZNK5Yosys5RTLIL7SigSpec13inline_unpackEv.exit.i360 - invoke void (ptr, ...) @_ZSt24__throw_out_of_range_fmtPKcz(ptr noundef nonnull @.str.19, i64 noundef %indvars.iv2219, i64 noundef %1869) #24 + invoke void (ptr, ...) @_ZSt24__throw_out_of_range_fmtPKcz(ptr noundef nonnull @.str.19, i64 noundef %indvars.iv2223, i64 noundef %1869) #24 to label %.noexc363 unwind label %.loopexit.split-lp863.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp .noexc363: ; preds = %1870 unreachable 1871: ; preds = %_ZNK5Yosys5RTLIL7SigSpec13inline_unpackEv.exit.i360 - %1872 = getelementptr inbounds nuw %"struct.Yosys::RTLIL::SigBit", ptr %1865, i64 %indvars.iv2219 + %1872 = getelementptr inbounds nuw %"struct.Yosys::RTLIL::SigBit", ptr %1865, i64 %indvars.iv2223 %.sroa.068.0.copyload = load ptr, ptr %1872, align 8 %.sroa.4.0..sroa_idx = getelementptr inbounds nuw i8, ptr %1872, i64 8 %.sroa.4.0.copyload = load i32, ptr %.sroa.4.0..sroa_idx, align 8 %1873 = load ptr, ptr %1847, align 8 - %1874 = getelementptr inbounds nuw %"struct.Yosys::RTLIL::SigSpec", ptr %1873, i64 %indvars.iv2219 + %1874 = getelementptr inbounds nuw %"struct.Yosys::RTLIL::SigSpec", ptr %1873, i64 %indvars.iv2223 %1875 = load i32, ptr %1848, align 4 %1876 = icmp sgt i32 %1875, 0 - br i1 %1876, label %.lr.ph1674, label %._crit_edge1675 + br i1 %1876, label %.lr.ph1676, label %._crit_edge1677 -.lr.ph1674: ; preds = %1871 - %1877 = load i32, ptr %.sroa.0810.01692, align 8 +.lr.ph1676: ; preds = %1871 + %1877 = load i32, ptr %.sroa.0810.01694, align 8 %1878 = getelementptr inbounds nuw i8, ptr %1874, i64 16 %1879 = getelementptr inbounds nuw i8, ptr %1874, i64 24 %1880 = getelementptr inbounds nuw i8, ptr %1874, i64 40 @@ -75511,14 +75511,14 @@ _ZNK5Yosys5RTLIL7SigSpec13inline_unpackEv.exit.i360: ; preds = %1863, %1859 %1884 = sext i32 %1877 to i64 br label %1885 -1885: ; preds = %.lr.ph1674, %_ZNSt6vectorISt4pairIRN12_GLOBAL__N_18PortDataEiESaIS4_EE9push_backEOS4_.exit - %indvars.iv2216 = phi i64 [ %1884, %.lr.ph1674 ], [ %indvars.iv.next2217, %_ZNSt6vectorISt4pairIRN12_GLOBAL__N_18PortDataEiESaIS4_EE9push_backEOS4_.exit ] - %1886 = phi i32 [ %1877, %.lr.ph1674 ], [ %2754, %_ZNSt6vectorISt4pairIRN12_GLOBAL__N_18PortDataEiESaIS4_EE9push_backEOS4_.exit ] - %.sroa.0807.31670 = phi ptr [ %.sroa.0807.11681, %.lr.ph1674 ], [ %.sroa.0807.6, %_ZNSt6vectorISt4pairIRN12_GLOBAL__N_18PortDataEiESaIS4_EE9push_backEOS4_.exit ] - %.sroa.6.21669 = phi ptr [ %.sroa.6.11680, %.lr.ph1674 ], [ %.sroa.6.5, %_ZNSt6vectorISt4pairIRN12_GLOBAL__N_18PortDataEiESaIS4_EE9push_backEOS4_.exit ] - %.sroa.11.21668 = phi ptr [ %.sroa.11.11679, %.lr.ph1674 ], [ %.sroa.11.5, %_ZNSt6vectorISt4pairIRN12_GLOBAL__N_18PortDataEiESaIS4_EE9push_backEOS4_.exit ] +1885: ; preds = %.lr.ph1676, %_ZNSt6vectorISt4pairIRN12_GLOBAL__N_18PortDataEiESaIS4_EE9push_backEOS4_.exit + %indvars.iv2220 = phi i64 [ %1884, %.lr.ph1676 ], [ %indvars.iv.next2221, %_ZNSt6vectorISt4pairIRN12_GLOBAL__N_18PortDataEiESaIS4_EE9push_backEOS4_.exit ] + %1886 = phi i32 [ %1877, %.lr.ph1676 ], [ %2754, %_ZNSt6vectorISt4pairIRN12_GLOBAL__N_18PortDataEiESaIS4_EE9push_backEOS4_.exit ] + %.sroa.0807.31672 = phi ptr [ %.sroa.0807.11683, %.lr.ph1676 ], [ %.sroa.0807.6, %_ZNSt6vectorISt4pairIRN12_GLOBAL__N_18PortDataEiESaIS4_EE9push_backEOS4_.exit ] + %.sroa.6.21671 = phi ptr [ %.sroa.6.11682, %.lr.ph1676 ], [ %.sroa.6.5, %_ZNSt6vectorISt4pairIRN12_GLOBAL__N_18PortDataEiESaIS4_EE9push_backEOS4_.exit ] + %.sroa.11.21670 = phi ptr [ %.sroa.11.11681, %.lr.ph1676 ], [ %.sroa.11.5, %_ZNSt6vectorISt4pairIRN12_GLOBAL__N_18PortDataEiESaIS4_EE9push_backEOS4_.exit ] %1887 = sext i32 %1886 to i64 - %1888 = sub nsw i64 %indvars.iv2216, %1887 + %1888 = sub nsw i64 %indvars.iv2220, %1887 %1889 = load ptr, ptr %1878, align 8 %1890 = load ptr, ptr %1879, align 8 %1891 = icmp eq ptr %1889, %1890 @@ -75536,15 +75536,15 @@ _ZNK5Yosys5RTLIL7SigSpec13inline_unpackEv.exit.i365: ; preds = %1892, %1885 %1897 = sub i64 %1895, %1896 %1898 = ashr exact i64 %1897, 4 %.not.i.i.i366 = icmp ugt i64 %1898, %1888 - br i1 %.not.i.i.i366, label %1901, label %.invoke3251 + br i1 %.not.i.i.i366, label %1901, label %.invoke3254 -.invoke3251: ; preds = %_ZNK5Yosys5RTLIL7SigSpec13inline_unpackEv.exit.i365, %_ZNK5Yosys7hashlib3mfpINS_5RTLIL6SigBitENS0_8hash_opsIS3_EEE5ifindEi.exit.i.i.i61.i, %_ZNK5Yosys7hashlib3mfpINS_5RTLIL6SigBitENS0_8hash_opsIS3_EEE5ifindEi.exit.i.i.i45.i, %_ZNK5Yosys7hashlib3mfpINS_5RTLIL6SigBitENS0_8hash_opsIS3_EEE5ifindEi.exit.i.i.i29.i, %_ZNK5Yosys7hashlib3mfpINS_5RTLIL6SigBitENS0_8hash_opsIS3_EEE5ifindEi.exit.i.i.i.i429, %_ZNK5Yosys5RTLIL7SigSpec13inline_unpackEv.exit.i417, %_ZNK5Yosys5RTLIL7SigSpec13inline_unpackEv.exit.i375, %_ZNK5Yosys5RTLIL7SigSpec13inline_unpackEv.exit.i26.i, %_ZNK5Yosys5RTLIL7SigSpec13inline_unpackEv.exit.i.i458 - %1899 = phi i64 [ %indvars.iv2216, %_ZNK5Yosys5RTLIL7SigSpec13inline_unpackEv.exit.i.i458 ], [ %indvars.iv2216, %_ZNK5Yosys5RTLIL7SigSpec13inline_unpackEv.exit.i26.i ], [ %indvars.iv2216, %_ZNK5Yosys5RTLIL7SigSpec13inline_unpackEv.exit.i375 ], [ %1888, %_ZNK5Yosys5RTLIL7SigSpec13inline_unpackEv.exit.i365 ], [ %2428, %_ZNK5Yosys7hashlib3mfpINS_5RTLIL6SigBitENS0_8hash_opsIS3_EEE5ifindEi.exit.i.i.i61.i ], [ %2403, %_ZNK5Yosys7hashlib3mfpINS_5RTLIL6SigBitENS0_8hash_opsIS3_EEE5ifindEi.exit.i.i.i45.i ], [ %2369, %_ZNK5Yosys7hashlib3mfpINS_5RTLIL6SigBitENS0_8hash_opsIS3_EEE5ifindEi.exit.i.i.i29.i ], [ %2344, %_ZNK5Yosys7hashlib3mfpINS_5RTLIL6SigBitENS0_8hash_opsIS3_EEE5ifindEi.exit.i.i.i.i429 ], [ %indvars.iv2216, %_ZNK5Yosys5RTLIL7SigSpec13inline_unpackEv.exit.i417 ] +.invoke3254: ; preds = %_ZNK5Yosys5RTLIL7SigSpec13inline_unpackEv.exit.i365, %_ZNK5Yosys7hashlib3mfpINS_5RTLIL6SigBitENS0_8hash_opsIS3_EEE5ifindEi.exit.i.i.i61.i, %_ZNK5Yosys7hashlib3mfpINS_5RTLIL6SigBitENS0_8hash_opsIS3_EEE5ifindEi.exit.i.i.i45.i, %_ZNK5Yosys7hashlib3mfpINS_5RTLIL6SigBitENS0_8hash_opsIS3_EEE5ifindEi.exit.i.i.i29.i, %_ZNK5Yosys7hashlib3mfpINS_5RTLIL6SigBitENS0_8hash_opsIS3_EEE5ifindEi.exit.i.i.i.i429, %_ZNK5Yosys5RTLIL7SigSpec13inline_unpackEv.exit.i417, %_ZNK5Yosys5RTLIL7SigSpec13inline_unpackEv.exit.i375, %_ZNK5Yosys5RTLIL7SigSpec13inline_unpackEv.exit.i26.i, %_ZNK5Yosys5RTLIL7SigSpec13inline_unpackEv.exit.i.i458 + %1899 = phi i64 [ %indvars.iv2220, %_ZNK5Yosys5RTLIL7SigSpec13inline_unpackEv.exit.i.i458 ], [ %indvars.iv2220, %_ZNK5Yosys5RTLIL7SigSpec13inline_unpackEv.exit.i26.i ], [ %indvars.iv2220, %_ZNK5Yosys5RTLIL7SigSpec13inline_unpackEv.exit.i375 ], [ %1888, %_ZNK5Yosys5RTLIL7SigSpec13inline_unpackEv.exit.i365 ], [ %2428, %_ZNK5Yosys7hashlib3mfpINS_5RTLIL6SigBitENS0_8hash_opsIS3_EEE5ifindEi.exit.i.i.i61.i ], [ %2403, %_ZNK5Yosys7hashlib3mfpINS_5RTLIL6SigBitENS0_8hash_opsIS3_EEE5ifindEi.exit.i.i.i45.i ], [ %2369, %_ZNK5Yosys7hashlib3mfpINS_5RTLIL6SigBitENS0_8hash_opsIS3_EEE5ifindEi.exit.i.i.i29.i ], [ %2344, %_ZNK5Yosys7hashlib3mfpINS_5RTLIL6SigBitENS0_8hash_opsIS3_EEE5ifindEi.exit.i.i.i.i429 ], [ %indvars.iv2220, %_ZNK5Yosys5RTLIL7SigSpec13inline_unpackEv.exit.i417 ] %1900 = phi i64 [ %2512, %_ZNK5Yosys5RTLIL7SigSpec13inline_unpackEv.exit.i26.i ], [ %2496, %_ZNK5Yosys5RTLIL7SigSpec13inline_unpackEv.exit.i.i458 ], [ %1948, %_ZNK5Yosys5RTLIL7SigSpec13inline_unpackEv.exit.i375 ], [ %1898, %_ZNK5Yosys5RTLIL7SigSpec13inline_unpackEv.exit.i365 ], [ %2442, %_ZNK5Yosys7hashlib3mfpINS_5RTLIL6SigBitENS0_8hash_opsIS3_EEE5ifindEi.exit.i.i.i61.i ], [ %2417, %_ZNK5Yosys7hashlib3mfpINS_5RTLIL6SigBitENS0_8hash_opsIS3_EEE5ifindEi.exit.i.i.i45.i ], [ %2383, %_ZNK5Yosys7hashlib3mfpINS_5RTLIL6SigBitENS0_8hash_opsIS3_EEE5ifindEi.exit.i.i.i29.i ], [ %2358, %_ZNK5Yosys7hashlib3mfpINS_5RTLIL6SigBitENS0_8hash_opsIS3_EEE5ifindEi.exit.i.i.i.i429 ], [ %2331, %_ZNK5Yosys5RTLIL7SigSpec13inline_unpackEv.exit.i417 ] invoke void (ptr, ...) @_ZSt24__throw_out_of_range_fmtPKcz(ptr noundef nonnull @.str.19, i64 noundef %1899, i64 noundef %1900) #24 - to label %.cont3252 unwind label %.loopexit.split-lp863.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp + to label %.cont3255 unwind label %.loopexit.split-lp863.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp -.cont3252: ; preds = %.invoke3251 +.cont3255: ; preds = %.invoke3254 unreachable 1901: ; preds = %_ZNK5Yosys5RTLIL7SigSpec13inline_unpackEv.exit.i365 @@ -75563,16 +75563,16 @@ _ZNK5Yosys5RTLIL7SigSpec13inline_unpackEv.exit.i365: ; preds = %1892, %1885 %1908 = sdiv exact i64 %1907, 376 %1909 = trunc i64 %1908 to i32 %1910 = icmp sgt i32 %1909, 0 - br i1 %1910, label %.lr.ph1663, label %.critedge + br i1 %1910, label %.lr.ph1665, label %.critedge -.lr.ph1663: ; preds = %1901 - %1911 = trunc nsw i64 %indvars.iv2216 to i32 +.lr.ph1665: ; preds = %1901 + %1911 = trunc nsw i64 %indvars.iv2220 to i32 %1912 = sdiv i32 %1911, 64 %.sext837 = sext i32 %1912 to i64 - %1913 = and i64 %indvars.iv2216, -9223372036854775745 + %1913 = and i64 %indvars.iv2220, -9223372036854775745 %1914 = icmp ugt i64 %1913, -9223372036854775808 %storemerge.idx.i.i.i.i.i371 = select i1 %1914, i64 -8, i64 0 - %1915 = and i64 %indvars.iv2216, 63 + %1915 = and i64 %indvars.iv2220, 63 %1916 = shl nuw i64 1, %1915 %1917 = icmp eq ptr %.sroa.0769.0.copyload, null %1918 = icmp eq i8 %.sroa.4772.sroa.0.0.extract.trunc, 2 @@ -75580,12 +75580,12 @@ _ZNK5Yosys5RTLIL7SigSpec13inline_unpackEv.exit.i365: ; preds = %1892, %1885 %1919 = xor i64 %1916, -1 br label %1920 -1920: ; preds = %.lr.ph1663, %2660 - %indvars.iv2210 = phi i64 [ 0, %.lr.ph1663 ], [ %indvars.iv.next2211, %2660 ] - %1921 = phi ptr [ %1904, %.lr.ph1663 ], [ %2662, %2660 ] +1920: ; preds = %.lr.ph1665, %2660 + %indvars.iv2214 = phi i64 [ 0, %.lr.ph1665 ], [ %indvars.iv.next2215, %2660 ] + %1921 = phi ptr [ %1904, %.lr.ph1665 ], [ %2662, %2660 ] %.val220 = load ptr, ptr %73, align 8 - %1922 = getelementptr inbounds nuw %"struct.(anonymous namespace)::PortData", ptr %.val220, i64 %indvars.iv2210 - %1923 = getelementptr inbounds nuw %"struct.Yosys::MemWr", ptr %1921, i64 %indvars.iv2210 + %1922 = getelementptr inbounds nuw %"struct.(anonymous namespace)::PortData", ptr %.val220, i64 %indvars.iv2214 + %1923 = getelementptr inbounds nuw %"struct.Yosys::MemWr", ptr %1921, i64 %indvars.iv2214 %1924 = load i8, ptr %1922, align 8 %1925 = trunc i8 %1924 to i1 br i1 %1925, label %1927, label %2660 @@ -75620,19 +75620,19 @@ _ZNK5Yosys5RTLIL7SigSpec13inline_unpackEv.exit.i365: ; preds = %1892, %1885 cleanup br label %.body406 -.loopexit.split-lp863.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit: ; preds = %.invoke3250 +.loopexit.split-lp863.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit: ; preds = %.invoke3253 %lpad.loopexit891 = landingpad { ptr, i32 } cleanup br label %.body406 -.loopexit.split-lp863.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp: ; preds = %.invoke3251, %1870, %2645, %.noexc.i.i.i617 - %.sroa.0807.2.ph.ph.ph.ph.ph.ph.ph = phi ptr [ %.sroa.0807.11681, %1870 ], [ %.sroa.0807.31670, %.noexc.i.i.i617 ], [ %.sroa.0807.31670, %2645 ], [ %.sroa.0807.31670, %.invoke3251 ] +.loopexit.split-lp863.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp: ; preds = %.invoke3254, %1870, %2645, %.noexc.i.i.i617 + %.sroa.0807.2.ph.ph.ph.ph.ph.ph.ph = phi ptr [ %.sroa.0807.11683, %1870 ], [ %.sroa.0807.31672, %.noexc.i.i.i617 ], [ %.sroa.0807.31672, %2645 ], [ %.sroa.0807.31672, %.invoke3254 ] %lpad.loopexit.split-lp892 = landingpad { ptr, i32 } cleanup br label %.body406 .body406: ; preds = %.loopexit862, %.loopexit.split-lp863.loopexit.split-lp.loopexit, %.loopexit.split-lp863.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit, %.loopexit.split-lp863.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit, %.loopexit.split-lp863.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp, %.loopexit.split-lp863.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit, %.loopexit.split-lp863.loopexit.split-lp.loopexit.split-lp.loopexit, %.loopexit.split-lp863.loopexit, %2186, %2187, %2189, %2298, %.body724, %2121, %2138, %2625, %2713 - %.sroa.0807.7 = phi ptr [ %.sroa.0807.31670, %2625 ], [ %.sroa.0807.31670, %2713 ], [ %.sroa.0807.31670, %2138 ], [ %.sroa.0807.31670, %2121 ], [ %.sroa.0807.31670, %.body724 ], [ %.sroa.0807.31670, %2298 ], [ %.sroa.0807.31670, %2189 ], [ %.sroa.0807.31670, %2187 ], [ %.sroa.0807.31670, %2186 ], [ %.sroa.0807.31670, %.loopexit862 ], [ %.sroa.0807.31670, %.loopexit.split-lp863.loopexit ], [ %.sroa.0807.31670, %.loopexit.split-lp863.loopexit.split-lp.loopexit ], [ %.sroa.0807.31670, %.loopexit.split-lp863.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %.sroa.0807.31670, %.loopexit.split-lp863.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %.sroa.0807.11681, %.loopexit.split-lp863.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %.sroa.0807.31670, %.loopexit.split-lp863.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %.sroa.0807.2.ph.ph.ph.ph.ph.ph.ph, %.loopexit.split-lp863.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp ] + %.sroa.0807.7 = phi ptr [ %.sroa.0807.31672, %2625 ], [ %.sroa.0807.31672, %2713 ], [ %.sroa.0807.31672, %2138 ], [ %.sroa.0807.31672, %2121 ], [ %.sroa.0807.31672, %.body724 ], [ %.sroa.0807.31672, %2298 ], [ %.sroa.0807.31672, %2189 ], [ %.sroa.0807.31672, %2187 ], [ %.sroa.0807.31672, %2186 ], [ %.sroa.0807.31672, %.loopexit862 ], [ %.sroa.0807.31672, %.loopexit.split-lp863.loopexit ], [ %.sroa.0807.31672, %.loopexit.split-lp863.loopexit.split-lp.loopexit ], [ %.sroa.0807.31672, %.loopexit.split-lp863.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %.sroa.0807.31672, %.loopexit.split-lp863.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %.sroa.0807.11683, %.loopexit.split-lp863.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %.sroa.0807.31672, %.loopexit.split-lp863.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %.sroa.0807.2.ph.ph.ph.ph.ph.ph.ph, %.loopexit.split-lp863.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp ] %eh.lpad-body407 = phi { ptr, i32 } [ %.pn23.pn.i, %2625 ], [ %2714, %2713 ], [ %lpad.phi880, %2138 ], [ %2115, %2121 ], [ %2115, %.body724 ], [ %2299, %2298 ], [ %2190, %2189 ], [ %2188, %2187 ], [ %.pn.i384, %2186 ], [ %lpad.loopexit864, %.loopexit862 ], [ %lpad.loopexit867, %.loopexit.split-lp863.loopexit ], [ %lpad.loopexit870, %.loopexit.split-lp863.loopexit.split-lp.loopexit ], [ %lpad.loopexit873, %.loopexit.split-lp863.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit881, %.loopexit.split-lp863.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit888, %.loopexit.split-lp863.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit891, %.loopexit.split-lp863.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit.split-lp892, %.loopexit.split-lp863.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp ] %.not.i.i.i370 = icmp eq ptr %.sroa.0807.7, null br i1 %.not.i.i.i370, label %_ZNSt6vectorISt4pairIRN12_GLOBAL__N_18PortDataEiESaIS4_EED2Ev.exit, label %1926 @@ -75673,11 +75673,11 @@ _ZNK5Yosys5RTLIL7SigSpec13inline_unpackEv.exit.i375: ; preds = %1939, %1933 %1946 = ptrtoint ptr %1944 to i64 %1947 = sub i64 %1945, %1946 %1948 = ashr exact i64 %1947, 4 - %.not.i.i.i376 = icmp ugt i64 %1948, %indvars.iv2216 - br i1 %.not.i.i.i376, label %1949, label %.invoke3251 + %.not.i.i.i376 = icmp ugt i64 %1948, %indvars.iv2220 + br i1 %.not.i.i.i376, label %1949, label %.invoke3254 1949: ; preds = %_ZNK5Yosys5RTLIL7SigSpec13inline_unpackEv.exit.i375 - %1950 = getelementptr inbounds %"struct.Yosys::RTLIL::SigBit", ptr %1944, i64 %indvars.iv2216 + %1950 = getelementptr inbounds %"struct.Yosys::RTLIL::SigBit", ptr %1944, i64 %indvars.iv2220 %.sroa.048.0.copyload = load ptr, ptr %1950, align 8 %.sroa.249.0..sroa_idx = getelementptr inbounds nuw i8, ptr %1950, i64 8 %.sroa.249.0.copyload = load i32, ptr %.sroa.249.0..sroa_idx, align 8 @@ -75739,7 +75739,7 @@ _ZN5Yosys7hashlib8hash_opsISt5tupleIJiNS_5RTLIL6SigBitES4_bEEE4hashILm2EEENSt9en %1974 = mul i32 %1973, 33 %1975 = xor i32 %.0.i.i.i.i.i.i.i, %1974 %1976 = mul i32 %1975, 33 - %1977 = trunc nuw nsw i64 %indvars.iv2210 to i32 + %1977 = trunc nuw nsw i64 %indvars.iv2214 to i32 %1978 = xor i32 %1976, %1977 %1979 = ptrtoint ptr %1955 to i64 %1980 = ptrtoint ptr %1954 to i64 @@ -75804,7 +75804,7 @@ _ZN5Yosys7hashlib8hash_opsISt5tupleIJiNS_5RTLIL6SigBitES4_bEEE4hashILm0EEENSt9en %2016 = mul i32 %2015, 33 %2017 = xor i32 %.0.i.i.i.i.i.i645, %2016 %2018 = mul i32 %2017, 33 - %2019 = trunc nuw nsw i64 %indvars.iv2210 to i32 + %2019 = trunc nuw nsw i64 %indvars.iv2214 to i32 %2020 = xor i32 %2018, %2019 %2021 = ptrtoint ptr %1998 to i64 %2022 = ptrtoint ptr %1997 to i64 @@ -75847,7 +75847,7 @@ _ZN5Yosys7hashlib8hash_opsISt5tupleIJiNS_5RTLIL6SigBitES4_bEEE4hashILm0EEENSt9en %.sroa.832.0..sroa_idx.i = getelementptr inbounds nuw i8, ptr %2036, i64 40 %.sroa.832.0.copyload.i = load i32, ptr %.sroa.832.0..sroa_idx.i, align 8 %2037 = zext i32 %.sroa.832.0.copyload.i to i64 - %2038 = icmp eq i64 %indvars.iv2210, %2037 + %2038 = icmp eq i64 %indvars.iv2214, %2037 %2039 = icmp eq ptr %.sroa.527.0.copyload.i, %.sroa.048.0.copyload %or.cond.i628 = select i1 %2038, i1 %2039, i1 false br i1 %or.cond.i628, label %2040, label %_ZN5Yosys7hashlib8hash_opsISt5tupleIJiNS_5RTLIL6SigBitES4_bEEE3cmpES5_S5_.exit.thread.i @@ -75947,13 +75947,13 @@ _ZNSt16allocator_traitsISaIN5Yosys5RTLIL8SigChunkEEE8allocateERS3_m.exit.i.i.i.i to label %_ZNSt16allocator_traitsISaIN5Yosys5RTLIL8SigChunkEEE8allocateERS3_m.exit.i.i.i.i.i..noexc619_crit_edge unwind label %.loopexit.split-lp863.loopexit.split-lp.loopexit.split-lp.loopexit _ZNSt16allocator_traitsISaIN5Yosys5RTLIL8SigChunkEEE8allocateERS3_m.exit.i.i.i.i.i..noexc619_crit_edge: ; preds = %_ZNSt16allocator_traitsISaIN5Yosys5RTLIL8SigChunkEEE8allocateERS3_m.exit.i.i.i.i.i - %.pre2233 = load ptr, ptr %2063, align 8 - %.pre2234 = load ptr, ptr %2064, align 8 + %.pre2237 = load ptr, ptr %2063, align 8 + %.pre2238 = load ptr, ptr %2064, align 8 br label %.noexc619 .noexc619: ; preds = %_ZNSt16allocator_traitsISaIN5Yosys5RTLIL8SigChunkEEE8allocateERS3_m.exit.i.i.i.i.i..noexc619_crit_edge, %.loopexit860 - %2074 = phi ptr [ %2065, %.loopexit860 ], [ %.pre2234, %_ZNSt16allocator_traitsISaIN5Yosys5RTLIL8SigChunkEEE8allocateERS3_m.exit.i.i.i.i.i..noexc619_crit_edge ] - %2075 = phi ptr [ %2066, %.loopexit860 ], [ %.pre2233, %_ZNSt16allocator_traitsISaIN5Yosys5RTLIL8SigChunkEEE8allocateERS3_m.exit.i.i.i.i.i..noexc619_crit_edge ] + %2074 = phi ptr [ %2065, %.loopexit860 ], [ %.pre2238, %_ZNSt16allocator_traitsISaIN5Yosys5RTLIL8SigChunkEEE8allocateERS3_m.exit.i.i.i.i.i..noexc619_crit_edge ] + %2075 = phi ptr [ %2066, %.loopexit860 ], [ %.pre2237, %_ZNSt16allocator_traitsISaIN5Yosys5RTLIL8SigChunkEEE8allocateERS3_m.exit.i.i.i.i.i..noexc619_crit_edge ] %2076 = phi ptr [ null, %.loopexit860 ], [ %2073, %_ZNSt16allocator_traitsISaIN5Yosys5RTLIL8SigChunkEEE8allocateERS3_m.exit.i.i.i.i.i..noexc619_crit_edge ] store ptr %2076, ptr %1790, align 8 store ptr %2076, ptr %1791, align 8 @@ -76118,13 +76118,13 @@ _ZNSt16allocator_traitsISaIN5Yosys5RTLIL6SigBitEEE8allocateERS3_m.exit.i.i.i.i.i to label %_ZNSt16allocator_traitsISaIN5Yosys5RTLIL6SigBitEEE8allocateERS3_m.exit.i.i.i.i.i..noexc7.i_crit_edge unwind label %.loopexit876 _ZNSt16allocator_traitsISaIN5Yosys5RTLIL6SigBitEEE8allocateERS3_m.exit.i.i.i.i.i..noexc7.i_crit_edge: ; preds = %_ZNSt16allocator_traitsISaIN5Yosys5RTLIL6SigBitEEE8allocateERS3_m.exit.i.i.i.i.i - %.pre2235 = load ptr, ptr %2122, align 8 - %.pre2236 = load ptr, ptr %2123, align 8 + %.pre2239 = load ptr, ptr %2122, align 8 + %.pre2240 = load ptr, ptr %2123, align 8 br label %.noexc7.i .noexc7.i: ; preds = %_ZNSt16allocator_traitsISaIN5Yosys5RTLIL6SigBitEEE8allocateERS3_m.exit.i.i.i.i.i..noexc7.i_crit_edge, %_ZNSt6vectorIN5Yosys5RTLIL8SigChunkESaIS2_EEC2ERKS4_.exit.i - %2132 = phi ptr [ %2124, %_ZNSt6vectorIN5Yosys5RTLIL8SigChunkESaIS2_EEC2ERKS4_.exit.i ], [ %.pre2236, %_ZNSt16allocator_traitsISaIN5Yosys5RTLIL6SigBitEEE8allocateERS3_m.exit.i.i.i.i.i..noexc7.i_crit_edge ] - %2133 = phi ptr [ %2125, %_ZNSt6vectorIN5Yosys5RTLIL8SigChunkESaIS2_EEC2ERKS4_.exit.i ], [ %.pre2235, %_ZNSt16allocator_traitsISaIN5Yosys5RTLIL6SigBitEEE8allocateERS3_m.exit.i.i.i.i.i..noexc7.i_crit_edge ] + %2132 = phi ptr [ %2124, %_ZNSt6vectorIN5Yosys5RTLIL8SigChunkESaIS2_EEC2ERKS4_.exit.i ], [ %.pre2240, %_ZNSt16allocator_traitsISaIN5Yosys5RTLIL6SigBitEEE8allocateERS3_m.exit.i.i.i.i.i..noexc7.i_crit_edge ] + %2133 = phi ptr [ %2125, %_ZNSt6vectorIN5Yosys5RTLIL8SigChunkESaIS2_EEC2ERKS4_.exit.i ], [ %.pre2239, %_ZNSt16allocator_traitsISaIN5Yosys5RTLIL6SigBitEEE8allocateERS3_m.exit.i.i.i.i.i..noexc7.i_crit_edge ] %2134 = phi ptr [ null, %_ZNSt6vectorIN5Yosys5RTLIL8SigChunkESaIS2_EEC2ERKS4_.exit.i ], [ %2131, %_ZNSt16allocator_traitsISaIN5Yosys5RTLIL6SigBitEEE8allocateERS3_m.exit.i.i.i.i.i..noexc7.i_crit_edge ] store ptr %2134, ptr %1793, align 8 store ptr %2134, ptr %1794, align 8 @@ -76160,7 +76160,7 @@ _ZNSt16allocator_traitsISaIN5Yosys5RTLIL6SigBitEEE8allocateERS3_m.exit.i.i.i.i.i .noexc401: ; preds = %.lr.ph.i.i.i.i.i.i612, %.noexc7.i %.0.lcssa.i.i.i.i.i.i615 = phi ptr [ %2134, %.noexc7.i ], [ %2137, %.lr.ph.i.i.i.i.i.i612 ] store ptr %.0.lcssa.i.i.i.i.i.i615, ptr %1794, align 8 - %2139 = getelementptr inbounds nuw %"struct.Yosys::MemWr", ptr %2060, i64 %indvars.iv2210, i32 9 + %2139 = getelementptr inbounds nuw %"struct.Yosys::MemWr", ptr %2060, i64 %indvars.iv2214, i32 9 invoke void @_ZN5Yosys5RTLIL7SigSpecC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(64) %25, ptr noundef nonnull align 8 dereferenceable(64) %2139) to label %2140 unwind label %2182 @@ -76401,7 +76401,7 @@ _ZN5ezSAT3NOTENS_2_VE.exit.i399: ; preds = %_ZN5ezSAT2_V3getEPS _ZNK5Yosys7hashlib4dictISt5tupleIJiNS_5RTLIL6SigBitES4_bEEbNS0_8hash_opsIS5_EEE7do_hashERKS5_.exit.i.thread: ; preds = %2200 store i32 0, ptr %5, align 4 - %.pre2246 = trunc nuw nsw i64 %indvars.iv2210 to i32 + %.pre2249 = trunc nuw nsw i64 %indvars.iv2214 to i32 br label %.loopexit859 2206: ; preds = %2200 @@ -76438,7 +76438,7 @@ _ZN5Yosys7hashlib8hash_opsISt5tupleIJiNS_5RTLIL6SigBitES4_bEEE4hashILm2EEENSt9en %2223 = mul i32 %2222, 33 %2224 = xor i32 %.0.i.i.i.i.i.i602, %2223 %2225 = mul i32 %2224, 33 - %2226 = trunc nuw nsw i64 %indvars.iv2210 to i32 + %2226 = trunc nuw nsw i64 %indvars.iv2214 to i32 %2227 = xor i32 %2225, %2226 %2228 = ptrtoint ptr %2204 to i64 %2229 = ptrtoint ptr %2203 to i64 @@ -76543,7 +76543,7 @@ _ZNK5Yosys7hashlib4dictISt5tupleIJiNS_5RTLIL6SigBitES4_bEEbNS0_8hash_opsIS5_EEE7 %.sroa.832.0..sroa_idx.i679 = getelementptr inbounds nuw i8, ptr %2278, i64 40 %.sroa.832.0.copyload.i680 = load i32, ptr %.sroa.832.0..sroa_idx.i679, align 8 %2279 = zext i32 %.sroa.832.0.copyload.i680 to i64 - %2280 = icmp eq i64 %indvars.iv2210, %2279 + %2280 = icmp eq i64 %indvars.iv2214, %2279 %2281 = icmp eq ptr %.sroa.527.0.copyload.i675, %.sroa.048.0.copyload %or.cond.i681 = select i1 %2280, i1 %2281, i1 false br i1 %or.cond.i681, label %2282, label %_ZN5Yosys7hashlib8hash_opsISt5tupleIJiNS_5RTLIL6SigBitES4_bEEE3cmpES5_S5_.exit.thread.i682 @@ -76587,20 +76587,20 @@ _ZN5Yosys7hashlib8hash_opsISt5tupleIJiNS_5RTLIL6SigBitES4_bEEE3cmpES5_S5_.exit.t br i1 %2296, label %2276, label %.loopexit859, !llvm.loop !578 .loopexit859: ; preds = %_ZN5Yosys7hashlib8hash_opsISt5tupleIJiNS_5RTLIL6SigBitES4_bEEE3cmpES5_S5_.exit.thread.i682, %._crit_edge.i649, %_ZNK5Yosys7hashlib4dictISt5tupleIJiNS_5RTLIL6SigBitES4_bEEbNS0_8hash_opsIS5_EEE7do_hashERKS5_.exit.i.thread - %.pre-phi2247 = phi i32 [ %2226, %._crit_edge.i649 ], [ %.pre2246, %_ZNK5Yosys7hashlib4dictISt5tupleIJiNS_5RTLIL6SigBitES4_bEEbNS0_8hash_opsIS5_EEE7do_hashERKS5_.exit.i.thread ], [ %2226, %_ZN5Yosys7hashlib8hash_opsISt5tupleIJiNS_5RTLIL6SigBitES4_bEEE3cmpES5_S5_.exit.thread.i682 ] + %.pre-phi2250 = phi i32 [ %2226, %._crit_edge.i649 ], [ %.pre2249, %_ZNK5Yosys7hashlib4dictISt5tupleIJiNS_5RTLIL6SigBitES4_bEEbNS0_8hash_opsIS5_EEE7do_hashERKS5_.exit.i.thread ], [ %2226, %_ZN5Yosys7hashlib8hash_opsISt5tupleIJiNS_5RTLIL6SigBitES4_bEEE3cmpES5_S5_.exit.thread.i682 ] store i8 %1953, ptr %6, align 8 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(7) %.sroa.9.0..sroa_idx, ptr noundef nonnull align 1 dereferenceable(7) %.sroa.9, i64 7, i1 false) store ptr %.sroa.068.0.copyload, ptr %.sroa.9821.0..sroa_idx, align 8 store i32 %.sroa.4.0.copyload, ptr %.sroa.15.0..sroa_idx, align 8 store ptr %.sroa.048.0.copyload, ptr %.sroa.21822.0..sroa_idx, align 8 store i32 %.sroa.249.0.copyload, ptr %.sroa.27.0..sroa_idx, align 8 - store i32 %.pre-phi2247, ptr %.sroa.33823.0..sroa_idx, align 8 + store i32 %.pre-phi2250, ptr %.sroa.33823.0..sroa_idx, align 8 store i8 0, ptr %1812, align 8 %2297 = invoke noundef i32 @_ZN5Yosys7hashlib4dictISt5tupleIJiNS_5RTLIL6SigBitES4_bEEbNS0_8hash_opsIS5_EEE9do_insertEOSt4pairIS5_bERi(ptr noundef nonnull align 8 dereferenceable(49) %1227, ptr noundef nonnull align 8 dereferenceable(49) %6, ptr noundef nonnull align 4 dereferenceable(4) %5) to label %.loopexit859..loopexit858_crit_edge unwind label %.loopexit.split-lp863.loopexit.split-lp.loopexit.split-lp.loopexit .loopexit859..loopexit858_crit_edge: ; preds = %.loopexit859 - %.pre2237 = load ptr, ptr %1788, align 8 + %.pre2241 = load ptr, ptr %1788, align 8 br label %.loopexit858 2298: ; preds = %2198, %.noexc404 @@ -76615,7 +76615,7 @@ _ZN5Yosys7hashlib8hash_opsISt5tupleIJiNS_5RTLIL6SigBitES4_bEEE3cmpES5_S5_.exit.t br label %.body406 .loopexit858: ; preds = %_ZN5Yosys7hashlib8hash_opsISt5tupleIJiNS_5RTLIL6SigBitES4_bEEE3cmpES5_S5_.exit.i685, %.loopexit859..loopexit858_crit_edge - %2300 = phi ptr [ %.pre2237, %.loopexit859..loopexit858_crit_edge ], [ %2275, %_ZN5Yosys7hashlib8hash_opsISt5tupleIJiNS_5RTLIL6SigBitES4_bEEE3cmpES5_S5_.exit.i685 ] + %2300 = phi ptr [ %.pre2241, %.loopexit859..loopexit858_crit_edge ], [ %2275, %_ZN5Yosys7hashlib8hash_opsISt5tupleIJiNS_5RTLIL6SigBitES4_bEEE3cmpES5_S5_.exit.i685 ] %.0.i604 = phi i32 [ %2297, %.loopexit859..loopexit858_crit_edge ], [ %.052.i667, %_ZN5Yosys7hashlib8hash_opsISt5tupleIJiNS_5RTLIL6SigBitES4_bEEE3cmpES5_S5_.exit.i685 ] %2301 = sext i32 %.0.i604 to i64 %2302 = getelementptr inbounds %"struct.Yosys::hashlib::dict, bool>::entry_t", ptr %2300, i64 %2301, i32 0, i32 1 @@ -76661,7 +76661,7 @@ _ZN5Yosys7hashlib8hash_opsISt5tupleIJiNS_5RTLIL6SigBitES4_bEEE3cmpES5_S5_.exit.t br label %2660 _ZNK5Yosys5RTLIL6SigBiteqERKS1_.exit.thread: ; preds = %2303 - %2315 = trunc nuw nsw i64 %indvars.iv2210 to i32 + %2315 = trunc nuw nsw i64 %indvars.iv2214 to i32 %2316 = load i8, ptr %1849, align 8 %2317 = getelementptr inbounds nuw i8, ptr %1923, i64 328 %2318 = load ptr, ptr %2317, align 8 @@ -76684,11 +76684,11 @@ _ZNK5Yosys5RTLIL7SigSpec13inline_unpackEv.exit.i417: ; preds = %2322, %_ZNK5Yosy %2329 = ptrtoint ptr %2327 to i64 %2330 = sub i64 %2328, %2329 %2331 = ashr exact i64 %2330, 4 - %.not.i.i.i418 = icmp ugt i64 %2331, %indvars.iv2216 - br i1 %.not.i.i.i418, label %2332, label %.invoke3251 + %.not.i.i.i418 = icmp ugt i64 %2331, %indvars.iv2220 + br i1 %.not.i.i.i418, label %2332, label %.invoke3254 2332: ; preds = %_ZNK5Yosys5RTLIL7SigSpec13inline_unpackEv.exit.i417 - %2333 = getelementptr inbounds %"struct.Yosys::RTLIL::SigBit", ptr %2327, i64 %indvars.iv2216 + %2333 = getelementptr inbounds %"struct.Yosys::RTLIL::SigBit", ptr %2327, i64 %indvars.iv2220 %2334 = trunc i8 %2316 to i1 %.sroa.039.0.copyload = load ptr, ptr %2333, align 8 %.sroa.240.0..sroa_idx = getelementptr inbounds nuw i8, ptr %2333, i64 8 @@ -76750,7 +76750,7 @@ _ZNK5Yosys7hashlib3mfpINS_5RTLIL6SigBitENS0_8hash_opsIS3_EEE5ifindEi.exit.i.i.i. %2357 = sub i64 %2355, %2356 %2358 = sdiv exact i64 %2357, 24 %.not.i.i.i.i.i.i.i.i430 = icmp ugt i64 %2358, %2344 - br i1 %.not.i.i.i.i.i.i.i.i430, label %_ZNK5Yosys7hashlib3mfpINS_5RTLIL6SigBitENS0_8hash_opsIS3_EEEixEi.exit.i.i.i.i431, label %.invoke3251 + br i1 %.not.i.i.i.i.i.i.i.i430, label %_ZNK5Yosys7hashlib3mfpINS_5RTLIL6SigBitENS0_8hash_opsIS3_EEEixEi.exit.i.i.i.i431, label %.invoke3254 _ZNK5Yosys7hashlib3mfpINS_5RTLIL6SigBitENS0_8hash_opsIS3_EEEixEi.exit.i.i.i.i431: ; preds = %_ZNK5Yosys7hashlib3mfpINS_5RTLIL6SigBitENS0_8hash_opsIS3_EEE5ifindEi.exit.i.i.i.i429 %2359 = getelementptr inbounds %"struct.Yosys::hashlib::pool::entry_t", ptr %2354, i64 %2344 @@ -76813,7 +76813,7 @@ _ZNK5Yosys7hashlib3mfpINS_5RTLIL6SigBitENS0_8hash_opsIS3_EEE5ifindEi.exit.i.i.i2 %2382 = sub i64 %2380, %2381 %2383 = sdiv exact i64 %2382, 24 %.not.i.i.i.i.i.i.i30.i = icmp ugt i64 %2383, %2369 - br i1 %.not.i.i.i.i.i.i.i30.i, label %_ZNK5Yosys7hashlib3mfpINS_5RTLIL6SigBitENS0_8hash_opsIS3_EEEixEi.exit.i.i.i31.i, label %.invoke3251 + br i1 %.not.i.i.i.i.i.i.i30.i, label %_ZNK5Yosys7hashlib3mfpINS_5RTLIL6SigBitENS0_8hash_opsIS3_EEEixEi.exit.i.i.i31.i, label %.invoke3254 _ZNK5Yosys7hashlib3mfpINS_5RTLIL6SigBitENS0_8hash_opsIS3_EEEixEi.exit.i.i.i31.i: ; preds = %_ZNK5Yosys7hashlib3mfpINS_5RTLIL6SigBitENS0_8hash_opsIS3_EEE5ifindEi.exit.i.i.i29.i %2384 = getelementptr inbounds %"struct.Yosys::hashlib::pool::entry_t", ptr %2379, i64 %2369 @@ -76911,7 +76911,7 @@ _ZNK5Yosys7hashlib3mfpINS_5RTLIL6SigBitENS0_8hash_opsIS3_EEE5ifindEi.exit.i.i.i4 %2416 = sub i64 %2414, %2415 %2417 = sdiv exact i64 %2416, 24 %.not.i.i.i.i.i.i.i46.i = icmp ugt i64 %2417, %2403 - br i1 %.not.i.i.i.i.i.i.i46.i, label %_ZNK5Yosys7hashlib3mfpINS_5RTLIL6SigBitENS0_8hash_opsIS3_EEEixEi.exit.i.i.i47.i, label %.invoke3251 + br i1 %.not.i.i.i.i.i.i.i46.i, label %_ZNK5Yosys7hashlib3mfpINS_5RTLIL6SigBitENS0_8hash_opsIS3_EEEixEi.exit.i.i.i47.i, label %.invoke3254 _ZNK5Yosys7hashlib3mfpINS_5RTLIL6SigBitENS0_8hash_opsIS3_EEEixEi.exit.i.i.i47.i: ; preds = %_ZNK5Yosys7hashlib3mfpINS_5RTLIL6SigBitENS0_8hash_opsIS3_EEE5ifindEi.exit.i.i.i45.i %2418 = getelementptr inbounds %"struct.Yosys::hashlib::pool::entry_t", ptr %2413, i64 %2403 @@ -76976,7 +76976,7 @@ _ZNK5Yosys7hashlib3mfpINS_5RTLIL6SigBitENS0_8hash_opsIS3_EEE5ifindEi.exit.i.i.i6 %2441 = sub i64 %2439, %2440 %2442 = sdiv exact i64 %2441, 24 %.not.i.i.i.i.i.i.i62.i = icmp ugt i64 %2442, %2428 - br i1 %.not.i.i.i.i.i.i.i62.i, label %_ZNK5Yosys7hashlib3mfpINS_5RTLIL6SigBitENS0_8hash_opsIS3_EEEixEi.exit.i.i.i63.i, label %.invoke3251 + br i1 %.not.i.i.i.i.i.i.i62.i, label %_ZNK5Yosys7hashlib3mfpINS_5RTLIL6SigBitENS0_8hash_opsIS3_EEEixEi.exit.i.i.i63.i, label %.invoke3254 _ZNK5Yosys7hashlib3mfpINS_5RTLIL6SigBitENS0_8hash_opsIS3_EEEixEi.exit.i.i.i63.i: ; preds = %_ZNK5Yosys7hashlib3mfpINS_5RTLIL6SigBitENS0_8hash_opsIS3_EEE5ifindEi.exit.i.i.i61.i %2443 = getelementptr inbounds %"struct.Yosys::hashlib::pool::entry_t", ptr %2438, i64 %2428 @@ -76995,7 +76995,7 @@ _ZNK5Yosys6SigMapclENS_5RTLIL6SigBitE.exit69.i: ; preds = %_ZNK5Yosys7hashlib3 .thread: ; preds = %_ZNK5Yosys6SigMapclENS_5RTLIL6SigBitE.exit69.i call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %23) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %22) - br label %.invoke3250 + br label %.invoke3253 2445: ; preds = %_ZNK5Yosys6SigMapclENS_5RTLIL6SigBitE.exit69.i %.not.i70.i = icmp eq ptr %.sroa.0.0.copyload.i49.i, null @@ -77005,11 +77005,11 @@ _ZNK5Yosys6SigMapclENS_5RTLIL6SigBitE.exit69.i: ; preds = %_ZNK5Yosys7hashlib3 2446: ; preds = %2445 %2447 = icmp eq i32 %.sroa.2.0.copyload.i50.i, %.sroa.2.0.copyload.i66.i - br i1 %2447, label %.preheader861, label %.invoke3250 + br i1 %2447, label %.preheader861, label %.invoke3253 2448: ; preds = %2445 %2449 = icmp eq i8 %.sroa.274.8.extract.trunc.i, %.sroa.2.8.extract.trunc.i - br i1 %2449, label %.preheader861, label %.invoke3250 + br i1 %2449, label %.preheader861, label %.invoke3253 2450: ; preds = %2389, %2387 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %23) @@ -77025,17 +77025,17 @@ _ZNK5Yosys6SigMapclENS_5RTLIL6SigBitE.exit69.i: ; preds = %_ZNK5Yosys7hashlib3 %2456 = sdiv exact i64 %2455, 376 %2457 = trunc i64 %2456 to i32 %2458 = icmp sgt i32 %2457, 0 - br i1 %2458, label %.lr.ph1666, label %._crit_edge1667 + br i1 %2458, label %.lr.ph1668, label %._crit_edge1669 -.lr.ph1666: ; preds = %.preheader861 +.lr.ph1668: ; preds = %.preheader861 %.val221 = load ptr, ptr %73, align 8 %2459 = getelementptr inbounds nuw i8, ptr %1923, i64 80 - %2460 = and i64 %indvars.iv2210, 4294967295 + %2460 = and i64 %indvars.iv2214, 4294967295 br label %2461 -2461: ; preds = %.lr.ph1666, %2629 - %indvars.iv2213 = phi i64 [ 0, %.lr.ph1666 ], [ %indvars.iv.next2214, %2629 ] - %2462 = getelementptr inbounds nuw %"struct.(anonymous namespace)::PortData", ptr %.val221, i64 %indvars.iv2213, i32 3 +2461: ; preds = %.lr.ph1668, %2629 + %indvars.iv2217 = phi i64 [ 0, %.lr.ph1668 ], [ %indvars.iv.next2218, %2629 ] + %2462 = getelementptr inbounds nuw %"struct.(anonymous namespace)::PortData", ptr %.val221, i64 %indvars.iv2217, i32 3 %2463 = load ptr, ptr %2462, align 8 %2464 = getelementptr inbounds i64, ptr %2463, i64 %.sext837 %storemerge.i.i.i.i.i451 = getelementptr inbounds i8, ptr %2464, i64 %storemerge.idx.i.i.i.i.i371 @@ -77046,11 +77046,11 @@ _ZNK5Yosys6SigMapclENS_5RTLIL6SigBitE.exit69.i: ; preds = %_ZNK5Yosys7hashlib3 2467: ; preds = %2461 %2468 = load ptr, ptr %2459, align 8 - %2469 = trunc nuw nsw i64 %indvars.iv2213 to i32 - %2470 = lshr i64 %indvars.iv2213, 6 + %2469 = trunc nuw nsw i64 %indvars.iv2217 to i32 + %2470 = lshr i64 %indvars.iv2217, 6 %.zext839 = and i64 %2470, 67108863 %2471 = getelementptr inbounds nuw i64, ptr %2468, i64 %.zext839 - %2472 = and i64 %indvars.iv2213, 63 + %2472 = and i64 %indvars.iv2217, 63 %2473 = shl nuw i64 1, %2472 %2474 = load i64, ptr %2471, align 8 %2475 = and i64 %2474, %2473 @@ -77067,7 +77067,7 @@ _ZNK5Yosys6SigMapclENS_5RTLIL6SigBitE.exit69.i: ; preds = %_ZNK5Yosys7hashlib3 %2478 = getelementptr inbounds nuw i8, ptr %2477, i64 152 %2479 = load ptr, ptr %2478, align 8 %2480 = getelementptr inbounds nuw %"struct.Yosys::MemWr", ptr %2479, i64 %2460 - %2481 = getelementptr inbounds nuw %"struct.Yosys::MemWr", ptr %2479, i64 %indvars.iv2213 + %2481 = getelementptr inbounds nuw %"struct.Yosys::MemWr", ptr %2479, i64 %indvars.iv2217 %2482 = getelementptr inbounds nuw i8, ptr %2480, i64 200 %2483 = load ptr, ptr %2482, align 8 %2484 = getelementptr inbounds nuw i8, ptr %2480, i64 208 @@ -77089,11 +77089,11 @@ _ZNK5Yosys5RTLIL7SigSpec13inline_unpackEv.exit.i.i458: ; preds = %2487, %2476 %2494 = ptrtoint ptr %2492 to i64 %2495 = sub i64 %2493, %2494 %2496 = ashr exact i64 %2495, 4 - %.not.i.i.i.i459 = icmp ugt i64 %2496, %indvars.iv2216 - br i1 %.not.i.i.i.i459, label %_ZN5Yosys5RTLIL7SigSpecixEi.exit.i460, label %.invoke3251 + %.not.i.i.i.i459 = icmp ugt i64 %2496, %indvars.iv2220 + br i1 %.not.i.i.i.i459, label %_ZN5Yosys5RTLIL7SigSpecixEi.exit.i460, label %.invoke3254 _ZN5Yosys5RTLIL7SigSpecixEi.exit.i460: ; preds = %_ZNK5Yosys5RTLIL7SigSpec13inline_unpackEv.exit.i.i458 - %2497 = getelementptr inbounds %"struct.Yosys::RTLIL::SigBit", ptr %2492, i64 %indvars.iv2216 + %2497 = getelementptr inbounds %"struct.Yosys::RTLIL::SigBit", ptr %2492, i64 %indvars.iv2220 %.sroa.076.0.copyload.i = load ptr, ptr %2497, align 8 %.sroa.378.0..sroa_idx.i = getelementptr inbounds nuw i8, ptr %2497, i64 8 %.sroa.378.0.copyload.i = load i32, ptr %.sroa.378.0..sroa_idx.i, align 8 @@ -77120,11 +77120,11 @@ _ZNK5Yosys5RTLIL7SigSpec13inline_unpackEv.exit.i26.i: ; preds = %2503, %_ZN5Yosy %2510 = ptrtoint ptr %2508 to i64 %2511 = sub i64 %2509, %2510 %2512 = ashr exact i64 %2511, 4 - %.not.i.i.i27.i = icmp ugt i64 %2512, %indvars.iv2216 - br i1 %.not.i.i.i27.i, label %_ZN5Yosys5RTLIL7SigSpecixEi.exit28.i, label %.invoke3251 + %.not.i.i.i27.i = icmp ugt i64 %2512, %indvars.iv2220 + br i1 %.not.i.i.i27.i, label %_ZN5Yosys5RTLIL7SigSpecixEi.exit28.i, label %.invoke3254 _ZN5Yosys5RTLIL7SigSpecixEi.exit28.i: ; preds = %_ZNK5Yosys5RTLIL7SigSpec13inline_unpackEv.exit.i26.i - %2513 = getelementptr inbounds %"struct.Yosys::RTLIL::SigBit", ptr %2508, i64 %indvars.iv2216 + %2513 = getelementptr inbounds %"struct.Yosys::RTLIL::SigBit", ptr %2508, i64 %indvars.iv2220 %.sroa.070.0.copyload.i = load ptr, ptr %2513, align 8 %.sroa.3.0..sroa_idx.i461 = getelementptr inbounds nuw i8, ptr %2513, i64 8 %.sroa.3.0.copyload.i = load i32, ptr %.sroa.3.0..sroa_idx.i461, align 8 @@ -77214,7 +77214,7 @@ _ZN5Yosys7hashlib4dictISt5tupleIJiiNS_5RTLIL6SigBitES4_EEbNS0_8hash_opsIS5_EEE4f call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %15) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %16) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %17) - br i1 %2552, label %.invoke3250, label %2629 + br i1 %2552, label %.invoke3253, label %2629 2553: ; preds = %.noexc485 %2554 = load ptr, ptr %1223, align 8 @@ -77485,40 +77485,40 @@ _ZN5Yosys5RTLIL7SigSpecD2Ev.exit67.i: ; preds = %2605, %_ZSt8_Destro call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %15) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %16) call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %17) - br i1 %2615, label %.invoke3250, label %2629 + br i1 %2615, label %.invoke3253, label %2629 -.invoke3250: ; preds = %2750, %2694, %2446, %2448, %2626, %2547, %.thread +.invoke3253: ; preds = %2750, %2694, %2446, %2448, %2626, %2547, %.thread %2628 = phi ptr [ @.str.170, %.thread ], [ @.str.169, %2547 ], [ @.str.169, %2626 ], [ @.str.171, %2750 ], [ @.str.171, %2694 ], [ @.str.170, %2446 ], [ @.str.170, %2448 ] invoke void (ptr, ...) @_ZN5Yosys3logEPKcz(ptr noundef nonnull %2628) to label %.loopexit886 unwind label %.loopexit.split-lp863.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit 2629: ; preds = %2547, %2461, %2626, %2467 - %indvars.iv.next2214 = add nuw nsw i64 %indvars.iv2213, 1 + %indvars.iv.next2218 = add nuw nsw i64 %indvars.iv2217, 1 %2630 = load ptr, ptr %1314, align 8 %2631 = load ptr, ptr %1313, align 8 %2632 = ptrtoint ptr %2630 to i64 %2633 = ptrtoint ptr %2631 to i64 %2634 = sub i64 %2632, %2633 %2635 = sdiv exact i64 %2634, 376 - %sext2248 = shl i64 %2635, 32 - %2636 = ashr exact i64 %sext2248, 32 - %2637 = icmp slt i64 %indvars.iv.next2214, %2636 - br i1 %2637, label %2461, label %._crit_edge1667, !llvm.loop !581 + %sext2251 = shl i64 %2635, 32 + %2636 = ashr exact i64 %sext2251, 32 + %2637 = icmp slt i64 %indvars.iv.next2218, %2636 + br i1 %2637, label %2461, label %._crit_edge1669, !llvm.loop !581 -._crit_edge1667: ; preds = %2629, %.preheader861 - %.not.i.i495 = icmp eq ptr %.sroa.6.21669, %.sroa.11.21668 +._crit_edge1669: ; preds = %2629, %.preheader861 + %.not.i.i495 = icmp eq ptr %.sroa.6.21671, %.sroa.11.21670 br i1 %.not.i.i495, label %2640, label %2638 -2638: ; preds = %._crit_edge1667 - store ptr %1922, ptr %.sroa.6.21669, align 8 - %.sroa.3.0..sroa_idx743 = getelementptr inbounds nuw i8, ptr %.sroa.6.21669, i64 8 +2638: ; preds = %._crit_edge1669 + store ptr %1922, ptr %.sroa.6.21671, align 8 + %.sroa.3.0..sroa_idx743 = getelementptr inbounds nuw i8, ptr %.sroa.6.21671, i64 8 store i32 %1911, ptr %.sroa.3.0..sroa_idx743, align 8 - %2639 = getelementptr inbounds nuw i8, ptr %.sroa.6.21669, i64 16 + %2639 = getelementptr inbounds nuw i8, ptr %.sroa.6.21671, i64 16 br label %_ZNSt6vectorISt4pairIRN12_GLOBAL__N_18PortDataEiESaIS4_EE9push_backEOS4_.exit -2640: ; preds = %._crit_edge1667 - %2641 = ptrtoint ptr %.sroa.6.21669 to i64 - %2642 = ptrtoint ptr %.sroa.0807.31670 to i64 +2640: ; preds = %._crit_edge1669 + %2641 = ptrtoint ptr %.sroa.6.21671 to i64 + %2642 = ptrtoint ptr %.sroa.0807.31672 to i64 %2643 = sub i64 %2641, %2642 %2644 = icmp eq i64 %2643, 9223372036854775792 br i1 %2644, label %2645, label %_ZNKSt6vectorISt4pairIRN12_GLOBAL__N_18PortDataEiESaIS4_EE12_M_check_lenEmPKc.exit.i.i.i @@ -77532,7 +77532,7 @@ _ZN5Yosys5RTLIL7SigSpecD2Ev.exit67.i: ; preds = %2605, %_ZSt8_Destro _ZNKSt6vectorISt4pairIRN12_GLOBAL__N_18PortDataEiESaIS4_EE12_M_check_lenEmPKc.exit.i.i.i: ; preds = %2640 %2646 = ashr exact i64 %2643, 4 - %2647 = icmp eq ptr %.sroa.6.21669, %.sroa.0807.31670 + %2647 = icmp eq ptr %.sroa.6.21671, %.sroa.0807.31672 %.sroa.speculated.i.i.i.i497 = select i1 %2647, i64 1, i64 %2646 %2648 = add nsw i64 %.sroa.speculated.i.i.i.i497, %2646 %2649 = icmp ult i64 %2648, %2646 @@ -77553,21 +77553,21 @@ _ZNKSt6vectorISt4pairIRN12_GLOBAL__N_18PortDataEiESaIS4_EE12_M_check_lenEmPKc.ex .lr.ph.i.i.i.i.i.i.i499: ; preds = %.noexc505, %.lr.ph.i.i.i.i.i.i.i499 %.03.i.i.i.i.i.i.i500 = phi ptr [ %2656, %.lr.ph.i.i.i.i.i.i.i499 ], [ %2653, %.noexc505 ] - %.092.i.i.i.i.i.i.i501 = phi ptr [ %2655, %.lr.ph.i.i.i.i.i.i.i499 ], [ %.sroa.0807.31670, %.noexc505 ] + %.092.i.i.i.i.i.i.i501 = phi ptr [ %2655, %.lr.ph.i.i.i.i.i.i.i499 ], [ %.sroa.0807.31672, %.noexc505 ] call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.03.i.i.i.i.i.i.i500, ptr noundef nonnull readonly align 8 dereferenceable(16) %.092.i.i.i.i.i.i.i501, i64 16, i1 false), !alias.scope !582 %2655 = getelementptr inbounds nuw i8, ptr %.092.i.i.i.i.i.i.i501, i64 16 %2656 = getelementptr inbounds nuw i8, ptr %.03.i.i.i.i.i.i.i500, i64 16 - %.not.i.i.i.i.i.i.i502 = icmp eq ptr %2655, %.sroa.6.21669 + %.not.i.i.i.i.i.i.i502 = icmp eq ptr %2655, %.sroa.6.21671 br i1 %.not.i.i.i.i.i.i.i502, label %_ZNSt6vectorISt4pairIRN12_GLOBAL__N_18PortDataEiESaIS4_EE11_S_relocateEPS4_S7_S7_RS5_.exit26.i.i.i, label %.lr.ph.i.i.i.i.i.i.i499, !llvm.loop !586 _ZNSt6vectorISt4pairIRN12_GLOBAL__N_18PortDataEiESaIS4_EE11_S_relocateEPS4_S7_S7_RS5_.exit26.i.i.i: ; preds = %.lr.ph.i.i.i.i.i.i.i499, %.noexc505 %.0.lcssa.i.i.i.i.i.i.i503 = phi ptr [ %2653, %.noexc505 ], [ %2656, %.lr.ph.i.i.i.i.i.i.i499 ] %2657 = getelementptr inbounds nuw i8, ptr %.0.lcssa.i.i.i.i.i.i.i503, i64 16 - %.not.i27.i.i.i = icmp eq ptr %.sroa.0807.31670, null + %.not.i27.i.i.i = icmp eq ptr %.sroa.0807.31672, null br i1 %.not.i27.i.i.i, label %_ZNSt6vectorISt4pairIRN12_GLOBAL__N_18PortDataEiESaIS4_EE17_M_realloc_insertIJS4_EEEvN9__gnu_cxx17__normal_iteratorIPS4_S6_EEDpOT_.exit.i.i, label %2658 2658: ; preds = %_ZNSt6vectorISt4pairIRN12_GLOBAL__N_18PortDataEiESaIS4_EE11_S_relocateEPS4_S7_S7_RS5_.exit26.i.i.i - call void @_ZdlPv(ptr noundef nonnull %.sroa.0807.31670) #23 + call void @_ZdlPv(ptr noundef nonnull %.sroa.0807.31672) #23 br label %_ZNSt6vectorISt4pairIRN12_GLOBAL__N_18PortDataEiESaIS4_EE17_M_realloc_insertIJS4_EEEvN9__gnu_cxx17__normal_iteratorIPS4_S6_EEDpOT_.exit.i.i _ZNSt6vectorISt4pairIRN12_GLOBAL__N_18PortDataEiESaIS4_EE17_M_realloc_insertIJS4_EEEvN9__gnu_cxx17__normal_iteratorIPS4_S6_EEDpOT_.exit.i.i: ; preds = %2658, %_ZNSt6vectorISt4pairIRN12_GLOBAL__N_18PortDataEiESaIS4_EE11_S_relocateEPS4_S7_S7_RS5_.exit26.i.i.i @@ -77575,16 +77575,16 @@ _ZNSt6vectorISt4pairIRN12_GLOBAL__N_18PortDataEiESaIS4_EE17_M_realloc_insertIJS4 br label %_ZNSt6vectorISt4pairIRN12_GLOBAL__N_18PortDataEiESaIS4_EE9push_backEOS4_.exit 2660: ; preds = %.noexc400, %.loopexit858, %1927, %1920, %2304 - %indvars.iv.next2211 = add nuw nsw i64 %indvars.iv2210, 1 + %indvars.iv.next2215 = add nuw nsw i64 %indvars.iv2214, 1 %2661 = load ptr, ptr %1314, align 8 %2662 = load ptr, ptr %1313, align 8 %2663 = ptrtoint ptr %2661 to i64 %2664 = ptrtoint ptr %2662 to i64 %2665 = sub i64 %2663, %2664 %2666 = sdiv exact i64 %2665, 376 - %sext2249 = shl i64 %2666, 32 - %2667 = ashr exact i64 %sext2249, 32 - %2668 = icmp slt i64 %indvars.iv.next2211, %2667 + %sext2252 = shl i64 %2666, 32 + %2667 = ashr exact i64 %sext2252, 32 + %2668 = icmp slt i64 %indvars.iv.next2215, %2667 br i1 %2668, label %1920, label %.critedge, !llvm.loop !587 .critedge: ; preds = %2660, %1901 @@ -77650,7 +77650,7 @@ _ZN5Yosys7hashlib4dictISt5tupleIJNS_5RTLIL6SigBitEbEEbNS0_8hash_opsIS5_EEE4findE %2699 = trunc i8 %2698 to i1 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %10) call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %11) - br i1 %2699, label %_ZNSt6vectorISt4pairIRN12_GLOBAL__N_18PortDataEiESaIS4_EE9push_backEOS4_.exit, label %.invoke3250 + br i1 %2699, label %_ZNSt6vectorISt4pairIRN12_GLOBAL__N_18PortDataEiESaIS4_EE9push_backEOS4_.exit, label %.invoke3253 2700: ; preds = %.noexc516 %2701 = load ptr, ptr %72, align 8 @@ -77775,34 +77775,34 @@ _ZNK5Yosys7hashlib4dictISt5tupleIJNS_5RTLIL6SigBitEbEEbNS0_8hash_opsIS5_EEE7do_h store i8 %2723, ptr %2753, align 1 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %10) call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %11) - br i1 %2721, label %.invoke3250, label %_ZNSt6vectorISt4pairIRN12_GLOBAL__N_18PortDataEiESaIS4_EE9push_backEOS4_.exit + br i1 %2721, label %.invoke3253, label %_ZNSt6vectorISt4pairIRN12_GLOBAL__N_18PortDataEiESaIS4_EE9push_backEOS4_.exit _ZNSt6vectorISt4pairIRN12_GLOBAL__N_18PortDataEiESaIS4_EE9push_backEOS4_.exit: ; preds = %.critedge, %2694, %2638, %_ZNSt6vectorISt4pairIRN12_GLOBAL__N_18PortDataEiESaIS4_EE17_M_realloc_insertIJS4_EEEvN9__gnu_cxx17__normal_iteratorIPS4_S6_EEDpOT_.exit.i.i, %2750 - %.sroa.11.5 = phi ptr [ %.sroa.11.21668, %2750 ], [ %2659, %_ZNSt6vectorISt4pairIRN12_GLOBAL__N_18PortDataEiESaIS4_EE17_M_realloc_insertIJS4_EEEvN9__gnu_cxx17__normal_iteratorIPS4_S6_EEDpOT_.exit.i.i ], [ %.sroa.11.21668, %2638 ], [ %.sroa.11.21668, %2694 ], [ %.sroa.11.21668, %.critedge ] - %.sroa.6.5 = phi ptr [ %.sroa.6.21669, %2750 ], [ %2657, %_ZNSt6vectorISt4pairIRN12_GLOBAL__N_18PortDataEiESaIS4_EE17_M_realloc_insertIJS4_EEEvN9__gnu_cxx17__normal_iteratorIPS4_S6_EEDpOT_.exit.i.i ], [ %2639, %2638 ], [ %.sroa.6.21669, %2694 ], [ %.sroa.6.21669, %.critedge ] - %.sroa.0807.6 = phi ptr [ %.sroa.0807.31670, %2750 ], [ %2653, %_ZNSt6vectorISt4pairIRN12_GLOBAL__N_18PortDataEiESaIS4_EE17_M_realloc_insertIJS4_EEEvN9__gnu_cxx17__normal_iteratorIPS4_S6_EEDpOT_.exit.i.i ], [ %.sroa.0807.31670, %2638 ], [ %.sroa.0807.31670, %2694 ], [ %.sroa.0807.31670, %.critedge ] - %indvars.iv.next2217 = add nsw i64 %indvars.iv2216, 1 - %2754 = load i32, ptr %.sroa.0810.01692, align 8 + %.sroa.11.5 = phi ptr [ %.sroa.11.21670, %2750 ], [ %2659, %_ZNSt6vectorISt4pairIRN12_GLOBAL__N_18PortDataEiESaIS4_EE17_M_realloc_insertIJS4_EEEvN9__gnu_cxx17__normal_iteratorIPS4_S6_EEDpOT_.exit.i.i ], [ %.sroa.11.21670, %2638 ], [ %.sroa.11.21670, %2694 ], [ %.sroa.11.21670, %.critedge ] + %.sroa.6.5 = phi ptr [ %.sroa.6.21671, %2750 ], [ %2657, %_ZNSt6vectorISt4pairIRN12_GLOBAL__N_18PortDataEiESaIS4_EE17_M_realloc_insertIJS4_EEEvN9__gnu_cxx17__normal_iteratorIPS4_S6_EEDpOT_.exit.i.i ], [ %2639, %2638 ], [ %.sroa.6.21671, %2694 ], [ %.sroa.6.21671, %.critedge ] + %.sroa.0807.6 = phi ptr [ %.sroa.0807.31672, %2750 ], [ %2653, %_ZNSt6vectorISt4pairIRN12_GLOBAL__N_18PortDataEiESaIS4_EE17_M_realloc_insertIJS4_EEEvN9__gnu_cxx17__normal_iteratorIPS4_S6_EEDpOT_.exit.i.i ], [ %.sroa.0807.31672, %2638 ], [ %.sroa.0807.31672, %2694 ], [ %.sroa.0807.31672, %.critedge ] + %indvars.iv.next2221 = add nsw i64 %indvars.iv2220, 1 + %2754 = load i32, ptr %.sroa.0810.01694, align 8 %2755 = load i32, ptr %1848, align 4 %2756 = add nsw i32 %2755, %2754 %2757 = sext i32 %2756 to i64 - %2758 = icmp slt i64 %indvars.iv.next2217, %2757 - br i1 %2758, label %1885, label %._crit_edge1675, !llvm.loop !588 - -._crit_edge1675: ; preds = %_ZNSt6vectorISt4pairIRN12_GLOBAL__N_18PortDataEiESaIS4_EE9push_backEOS4_.exit, %1871 - %.sroa.11.2.lcssa = phi ptr [ %.sroa.11.11679, %1871 ], [ %.sroa.11.5, %_ZNSt6vectorISt4pairIRN12_GLOBAL__N_18PortDataEiESaIS4_EE9push_backEOS4_.exit ] - %.sroa.6.2.lcssa = phi ptr [ %.sroa.6.11680, %1871 ], [ %.sroa.6.5, %_ZNSt6vectorISt4pairIRN12_GLOBAL__N_18PortDataEiESaIS4_EE9push_backEOS4_.exit ] - %.sroa.0807.3.lcssa = phi ptr [ %.sroa.0807.11681, %1871 ], [ %.sroa.0807.6, %_ZNSt6vectorISt4pairIRN12_GLOBAL__N_18PortDataEiESaIS4_EE9push_backEOS4_.exit ] - %indvars.iv.next2220 = add nuw nsw i64 %indvars.iv2219, 1 + %2758 = icmp slt i64 %indvars.iv.next2221, %2757 + br i1 %2758, label %1885, label %._crit_edge1677, !llvm.loop !588 + +._crit_edge1677: ; preds = %_ZNSt6vectorISt4pairIRN12_GLOBAL__N_18PortDataEiESaIS4_EE9push_backEOS4_.exit, %1871 + %.sroa.11.2.lcssa = phi ptr [ %.sroa.11.11681, %1871 ], [ %.sroa.11.5, %_ZNSt6vectorISt4pairIRN12_GLOBAL__N_18PortDataEiESaIS4_EE9push_backEOS4_.exit ] + %.sroa.6.2.lcssa = phi ptr [ %.sroa.6.11682, %1871 ], [ %.sroa.6.5, %_ZNSt6vectorISt4pairIRN12_GLOBAL__N_18PortDataEiESaIS4_EE9push_backEOS4_.exit ] + %.sroa.0807.3.lcssa = phi ptr [ %.sroa.0807.11683, %1871 ], [ %.sroa.0807.6, %_ZNSt6vectorISt4pairIRN12_GLOBAL__N_18PortDataEiESaIS4_EE9push_backEOS4_.exit ] + %indvars.iv.next2224 = add nuw nsw i64 %indvars.iv2223, 1 %2759 = load i32, ptr %1841, align 8 %2760 = sext i32 %2759 to i64 - %.not205 = icmp slt i64 %indvars.iv.next2220, %2760 + %.not205 = icmp slt i64 %indvars.iv.next2224, %2760 br i1 %.not205, label %1859, label %.preheader885, !llvm.loop !589 -.lr.ph1690: ; preds = %.preheader885, %.lr.ph1690 - %.sroa.0737.01689 = phi ptr [ %2778, %.lr.ph1690 ], [ %.sroa.0807.3.lcssa, %.preheader885 ] - %.sroa.0.0.copyload = load ptr, ptr %.sroa.0737.01689, align 8 - %.sroa.3.0..sroa_idx = getelementptr inbounds nuw i8, ptr %.sroa.0737.01689, i64 8 +.lr.ph1692: ; preds = %.preheader885, %.lr.ph1692 + %.sroa.0737.01691 = phi ptr [ %2778, %.lr.ph1692 ], [ %.sroa.0807.3.lcssa, %.preheader885 ] + %.sroa.0.0.copyload = load ptr, ptr %.sroa.0737.01691, align 8 + %.sroa.3.0..sroa_idx = getelementptr inbounds nuw i8, ptr %.sroa.0737.01691, i64 8 %.sroa.3.0.copyload = load i32, ptr %.sroa.3.0..sroa_idx, align 8 %2761 = getelementptr inbounds nuw i8, ptr %.sroa.0.0.copyload, i64 48 %2762 = sext i32 %.sroa.3.0.copyload to i64 @@ -77827,13 +77827,13 @@ _ZNSt6vectorISt4pairIRN12_GLOBAL__N_18PortDataEiESaIS4_EE9push_backEOS4_.exit: ; %2776 = load i64, ptr %storemerge.i.i.i.i.i529, align 8 %2777 = and i64 %2776, %2775 store i64 %2777, ptr %storemerge.i.i.i.i.i529, align 8 - %2778 = getelementptr inbounds nuw i8, ptr %.sroa.0737.01689, i64 16 + %2778 = getelementptr inbounds nuw i8, ptr %.sroa.0737.01691, i64 16 %.not852 = icmp eq ptr %2778, %.sroa.6.2.lcssa - br i1 %.not852, label %.loopexit886, label %.lr.ph1690 + br i1 %.not852, label %.loopexit886, label %.lr.ph1692 -.loopexit886: ; preds = %.lr.ph1690, %.invoke3250, %.preheader885 - %.not2051357 = phi i1 [ false, %.preheader885 ], [ true, %.invoke3250 ], [ false, %.lr.ph1690 ] - %.sroa.0807.4 = phi ptr [ %.sroa.0807.3.lcssa, %.preheader885 ], [ %.sroa.0807.31670, %.invoke3250 ], [ %.sroa.0807.3.lcssa, %.lr.ph1690 ] +.loopexit886: ; preds = %.lr.ph1692, %.invoke3253, %.preheader885 + %.not2051357 = phi i1 [ false, %.preheader885 ], [ true, %.invoke3253 ], [ false, %.lr.ph1692 ] + %.sroa.0807.4 = phi ptr [ %.sroa.0807.3.lcssa, %.preheader885 ], [ %.sroa.0807.31672, %.invoke3253 ], [ %.sroa.0807.3.lcssa, %.lr.ph1692 ] %.not.i.i.i532 = icmp eq ptr %.sroa.0807.4, null br i1 %.not.i.i.i532, label %_ZNSt6vectorISt4pairIRN12_GLOBAL__N_18PortDataEiESaIS4_EED2Ev.exit533, label %2779 @@ -77844,11 +77844,11 @@ _ZNSt6vectorISt4pairIRN12_GLOBAL__N_18PortDataEiESaIS4_EE9push_backEOS4_.exit: ; _ZNSt6vectorISt4pairIRN12_GLOBAL__N_18PortDataEiESaIS4_EED2Ev.exit533: ; preds = %.loopexit886 br i1 %.not2051357, label %.loopexit894, label %_ZNSt6vectorISt4pairIRN12_GLOBAL__N_18PortDataEiESaIS4_EED2Ev.exit533.thread -2780: ; preds = %.lr.ph1704, %2817 - %2781 = phi ptr [ %1850, %.lr.ph1704 ], [ %2818, %2817 ] - %2782 = phi ptr [ %1851, %.lr.ph1704 ], [ %2819, %2817 ] - %indvars.iv2222 = phi i64 [ 0, %.lr.ph1704 ], [ %indvars.iv.next2223, %2817 ] - %2783 = getelementptr inbounds nuw %"struct.(anonymous namespace)::PortData", ptr %.val222, i64 %indvars.iv2222 +2780: ; preds = %.lr.ph1706, %2817 + %2781 = phi ptr [ %1850, %.lr.ph1706 ], [ %2818, %2817 ] + %2782 = phi ptr [ %1851, %.lr.ph1706 ], [ %2819, %2817 ] + %indvars.iv2226 = phi i64 [ 0, %.lr.ph1706 ], [ %indvars.iv.next2227, %2817 ] + %2783 = getelementptr inbounds nuw %"struct.(anonymous namespace)::PortData", ptr %.val222, i64 %indvars.iv2226 %2784 = load i8, ptr %2783, align 8 %2785 = trunc i8 %2784 to i1 br i1 %2785, label %.preheader, label %2817 @@ -77856,22 +77856,22 @@ _ZNSt6vectorISt4pairIRN12_GLOBAL__N_18PortDataEiESaIS4_EED2Ev.exit533: ; preds = .preheader: ; preds = %2780 %2786 = load i32, ptr %1858, align 8 %2787 = icmp sgt i32 %2786, 0 - br i1 %2787, label %.lr.ph1698, label %._crit_edge1699.thread + br i1 %2787, label %.lr.ph1700, label %._crit_edge1701.thread -.lr.ph1698: ; preds = %.preheader +.lr.ph1700: ; preds = %.preheader %2788 = getelementptr inbounds nuw i8, ptr %2783, i64 88 %2789 = load ptr, ptr %2788, align 8 %2790 = getelementptr inbounds nuw i8, ptr %2783, i64 48 br label %2791 -2791: ; preds = %.lr.ph1698, %2804 - %.01561697 = phi i32 [ 0, %.lr.ph1698 ], [ %2805, %2804 ] - %.01571696 = phi i8 [ 0, %.lr.ph1698 ], [ %.1158, %2804 ] - %.01591695 = phi i8 [ 0, %.lr.ph1698 ], [ %.1160, %2804 ] - %2792 = lshr i32 %.01561697, 6 +2791: ; preds = %.lr.ph1700, %2804 + %.01561699 = phi i32 [ 0, %.lr.ph1700 ], [ %2805, %2804 ] + %.01571698 = phi i8 [ 0, %.lr.ph1700 ], [ %.1158, %2804 ] + %.01591697 = phi i8 [ 0, %.lr.ph1700 ], [ %.1160, %2804 ] + %2792 = lshr i32 %.01561699, 6 %.zext843 = zext nneg i32 %2792 to i64 %2793 = getelementptr inbounds nuw i64, ptr %2789, i64 %.zext843 - %2794 = and i32 %.01561697, 63 + %2794 = and i32 %.01561699, 63 %2795 = zext nneg i32 %2794 to i64 %2796 = shl nuw i64 1, %2795 %2797 = load i64, ptr %2793, align 8 @@ -77885,62 +77885,62 @@ _ZNSt6vectorISt4pairIRN12_GLOBAL__N_18PortDataEiESaIS4_EED2Ev.exit533: ; preds = %2802 = load i64, ptr %2801, align 8 %2803 = and i64 %2802, %2796 %.not851 = icmp eq i64 %2803, 0 - %..0159 = select i1 %.not851, i8 %.01591695, i8 1 - %.0157. = select i1 %.not851, i8 1, i8 %.01571696 + %..0159 = select i1 %.not851, i8 %.01591697, i8 1 + %.0157. = select i1 %.not851, i8 1, i8 %.01571698 br label %2804 2804: ; preds = %2799, %2791 - %.1160 = phi i8 [ %.01591695, %2791 ], [ %..0159, %2799 ] - %.1158 = phi i8 [ %.01571696, %2791 ], [ %.0157., %2799 ] - %2805 = add nuw nsw i32 %.01561697, 1 + %.1160 = phi i8 [ %.01591697, %2791 ], [ %..0159, %2799 ] + %.1158 = phi i8 [ %.01571698, %2791 ], [ %.0157., %2799 ] + %2805 = add nuw nsw i32 %.01561699, 1 %exitcond.not = icmp eq i32 %2805, %2786 - br i1 %exitcond.not, label %._crit_edge1699, label %2791, !llvm.loop !590 + br i1 %exitcond.not, label %._crit_edge1701, label %2791, !llvm.loop !590 -._crit_edge1699: ; preds = %2804 +._crit_edge1701: ; preds = %2804 %2806 = trunc nuw i8 %.1160 to i1 - br i1 %2806, label %2807, label %._crit_edge1699.thread + br i1 %2806, label %2807, label %._crit_edge1701.thread -2807: ; preds = %._crit_edge1699 +2807: ; preds = %._crit_edge1701 %2808 = trunc nuw i8 %.1158 to i1 - br i1 %2808, label %2809, label %._crit_edge1699.thread + br i1 %2808, label %2809, label %._crit_edge1701.thread 2809: ; preds = %2807 - %2810 = trunc nuw nsw i64 %indvars.iv2222 to i32 + %2810 = trunc nuw nsw i64 %indvars.iv2226 to i32 invoke void (ptr, ...) @_ZN5Yosys3logEPKcz(ptr noundef nonnull @.str.172, i32 noundef %2810) to label %.loopexit894 unwind label %.loopexit.split-lp -._crit_edge1699.thread: ; preds = %.preheader, %2807, %._crit_edge1699 - %.0159.lcssa2263 = phi i8 [ %.1160, %2807 ], [ %.1160, %._crit_edge1699 ], [ 0, %.preheader ] - %2811 = phi i8 [ 1, %2807 ], [ %.1158, %._crit_edge1699 ], [ 0, %.preheader ] +._crit_edge1701.thread: ; preds = %.preheader, %2807, %._crit_edge1701 + %.0159.lcssa2266 = phi i8 [ %.1160, %2807 ], [ %.1160, %._crit_edge1701 ], [ 0, %.preheader ] + %2811 = phi i8 [ 1, %2807 ], [ %.1158, %._crit_edge1701 ], [ 0, %.preheader ] %2812 = getelementptr inbounds nuw i8, ptr %2783, i64 128 - %2813 = and i8 %.0159.lcssa2263, 1 + %2813 = and i8 %.0159.lcssa2266, 1 store i8 %2813, ptr %2812, align 8 %2814 = getelementptr inbounds nuw i8, ptr %2783, i64 129 %2815 = and i8 %2811, 1 %2816 = xor i8 %2815, 1 store i8 %2816, ptr %2814, align 1 - %.pre2240 = load ptr, ptr %1314, align 8 - %.pre2241 = load ptr, ptr %1313, align 8 + %.pre2244 = load ptr, ptr %1314, align 8 + %.pre2245 = load ptr, ptr %1313, align 8 br label %2817 -2817: ; preds = %2780, %._crit_edge1699.thread - %2818 = phi ptr [ %2781, %2780 ], [ %.pre2241, %._crit_edge1699.thread ] - %2819 = phi ptr [ %2782, %2780 ], [ %.pre2240, %._crit_edge1699.thread ] - %indvars.iv.next2223 = add nuw nsw i64 %indvars.iv2222, 1 +2817: ; preds = %2780, %._crit_edge1701.thread + %2818 = phi ptr [ %2781, %2780 ], [ %.pre2245, %._crit_edge1701.thread ] + %2819 = phi ptr [ %2782, %2780 ], [ %.pre2244, %._crit_edge1701.thread ] + %indvars.iv.next2227 = add nuw nsw i64 %indvars.iv2226, 1 %2820 = ptrtoint ptr %2819 to i64 %2821 = ptrtoint ptr %2818 to i64 %2822 = sub i64 %2820, %2821 %2823 = sdiv exact i64 %2822, 376 - %sext2250 = shl i64 %2823, 32 - %2824 = ashr exact i64 %sext2250, 32 - %2825 = icmp slt i64 %indvars.iv.next2223, %2824 - br i1 %2825, label %2780, label %._crit_edge1705, !llvm.loop !591 + %sext2253 = shl i64 %2823, 32 + %2824 = ashr exact i64 %sext2253, 32 + %2825 = icmp slt i64 %indvars.iv.next2227, %2824 + br i1 %2825, label %2780, label %._crit_edge1707, !llvm.loop !591 -._crit_edge1705: ; preds = %2817, %.preheader857 +._crit_edge1707: ; preds = %2817, %.preheader857 invoke void (ptr, ...) @_ZN5Yosys3logEPKcz(ptr noundef nonnull @.str.173) to label %2826 unwind label %.loopexit.split-lp -2826: ; preds = %._crit_edge1705 +2826: ; preds = %._crit_edge1707 invoke void @_ZN5Yosys13FfMergeHelper16remove_output_ffERKNS_7hashlib4poolISt4pairIPNS_5RTLIL4CellEiENS1_8hash_opsIS7_EEEE(ptr noundef nonnull align 8 dereferenceable(192) %1054, ptr noundef nonnull align 8 dereferenceable(49) %67) to label %2827 unwind label %.loopexit.split-lp @@ -78374,17 +78374,17 @@ _ZN5Yosys5RTLIL7SigSpecaSERKS1_.exit551.preheader: ; preds = %.noexc549 %2995 = sdiv exact i64 %2994, 376 %2996 = trunc i64 %2995 to i32 %2997 = icmp sgt i32 %2996, 0 - br i1 %2997, label %.lr.ph1707, label %_ZN5Yosys5RTLIL7SigSpecaSERKS1_.exit551._crit_edge + br i1 %2997, label %.lr.ph1709, label %_ZN5Yosys5RTLIL7SigSpecaSERKS1_.exit551._crit_edge -.lr.ph1707: ; preds = %_ZN5Yosys5RTLIL7SigSpecaSERKS1_.exit551.preheader +.lr.ph1709: ; preds = %_ZN5Yosys5RTLIL7SigSpecaSERKS1_.exit551.preheader %.val223 = load ptr, ptr %73, align 8 %2998 = getelementptr inbounds nuw i8, ptr %105, i64 176 %2999 = getelementptr inbounds nuw i8, ptr %105, i64 216 br label %3000 -3000: ; preds = %.lr.ph1707, %_ZN5Yosys5RTLIL7SigSpecaSERKS1_.exit551 - %indvars.iv2225 = phi i64 [ 0, %.lr.ph1707 ], [ %indvars.iv.next2226, %_ZN5Yosys5RTLIL7SigSpecaSERKS1_.exit551 ] - %3001 = getelementptr inbounds nuw %"struct.(anonymous namespace)::PortData", ptr %.val223, i64 %indvars.iv2225 +3000: ; preds = %.lr.ph1709, %_ZN5Yosys5RTLIL7SigSpecaSERKS1_.exit551 + %indvars.iv2229 = phi i64 [ 0, %.lr.ph1709 ], [ %indvars.iv.next2230, %_ZN5Yosys5RTLIL7SigSpecaSERKS1_.exit551 ] + %3001 = getelementptr inbounds nuw %"struct.(anonymous namespace)::PortData", ptr %.val223, i64 %indvars.iv2229 %3002 = load i8, ptr %3001, align 8 %3003 = trunc i8 %3002 to i1 br i1 %3003, label %3004, label %_ZN5Yosys5RTLIL7SigSpecaSERKS1_.exit551 @@ -78396,7 +78396,7 @@ _ZN5Yosys5RTLIL7SigSpecaSERKS1_.exit551.preheader: ; preds = %.noexc549 br i1 %3007, label %3008, label %3010 3008: ; preds = %3004 - %3009 = trunc nuw nsw i64 %indvars.iv2225 to i32 + %3009 = trunc nuw nsw i64 %indvars.iv2229 to i32 invoke void (ptr, ...) @_ZN5Yosys3logEPKcz(ptr noundef nonnull @.str.175, i32 noundef %3009) to label %_ZN5Yosys5RTLIL7SigSpecaSERKS1_.exit551.sink.split unwind label %.loopexit @@ -78404,7 +78404,7 @@ _ZN5Yosys5RTLIL7SigSpecaSERKS1_.exit551.preheader: ; preds = %.noexc549 %3011 = getelementptr inbounds nuw i8, ptr %3001, i64 128 %3012 = load i8, ptr %3011, align 8 %3013 = trunc i8 %3012 to i1 - %3014 = trunc nuw nsw i64 %indvars.iv2225 to i32 + %3014 = trunc nuw nsw i64 %indvars.iv2229 to i32 br i1 %3013, label %3015, label %3016 3015: ; preds = %3010 @@ -78416,12 +78416,12 @@ _ZN5Yosys5RTLIL7SigSpecaSERKS1_.exit551.preheader: ; preds = %.noexc549 to label %_ZN5Yosys5RTLIL7SigSpecaSERKS1_.exit551 unwind label %.loopexit _ZN5Yosys5RTLIL7SigSpecaSERKS1_.exit551.sink.split: ; preds = %3015, %3008 - %.sink2779.in = phi ptr [ %2999, %3008 ], [ %2998, %3015 ] - %.sink2779 = load ptr, ptr %.sink2779.in, align 8 - %3017 = lshr i64 %indvars.iv2225, 6 + %.sink2782.in = phi ptr [ %2999, %3008 ], [ %2998, %3015 ] + %.sink2782 = load ptr, ptr %.sink2782.in, align 8 + %3017 = lshr i64 %indvars.iv2229, 6 %.zext845 = and i64 %3017, 67108863 - %3018 = getelementptr inbounds nuw i64, ptr %.sink2779, i64 %.zext845 - %3019 = and i64 %indvars.iv2225, 63 + %3018 = getelementptr inbounds nuw i64, ptr %.sink2782, i64 %.zext845 + %3019 = and i64 %indvars.iv2229, 63 %3020 = shl nuw i64 1, %3019 %3021 = load i64, ptr %3018, align 8 %3022 = or i64 %3021, %3020 @@ -78429,16 +78429,16 @@ _ZN5Yosys5RTLIL7SigSpecaSERKS1_.exit551.sink.split: ; preds = %3015, %3008 br label %_ZN5Yosys5RTLIL7SigSpecaSERKS1_.exit551 _ZN5Yosys5RTLIL7SigSpecaSERKS1_.exit551: ; preds = %_ZN5Yosys5RTLIL7SigSpecaSERKS1_.exit551.sink.split, %3016, %3000 - %indvars.iv.next2226 = add nuw nsw i64 %indvars.iv2225, 1 + %indvars.iv.next2230 = add nuw nsw i64 %indvars.iv2229, 1 %3023 = load ptr, ptr %1314, align 8 %3024 = load ptr, ptr %1313, align 8 %3025 = ptrtoint ptr %3023 to i64 %3026 = ptrtoint ptr %3024 to i64 %3027 = sub i64 %3025, %3026 %3028 = sdiv exact i64 %3027, 376 - %sext2251 = shl i64 %3028, 32 - %3029 = ashr exact i64 %sext2251, 32 - %3030 = icmp slt i64 %indvars.iv.next2226, %3029 + %sext2254 = shl i64 %3028, 32 + %3029 = ashr exact i64 %sext2254, 32 + %3030 = icmp slt i64 %indvars.iv.next2230, %3029 br i1 %3030, label %3000, label %_ZN5Yosys5RTLIL7SigSpecaSERKS1_.exit551._crit_edge, !llvm.loop !592 _ZN5Yosys5RTLIL7SigSpecaSERKS1_.exit551._crit_edge: ; preds = %_ZN5Yosys5RTLIL7SigSpecaSERKS1_.exit551, %_ZN5Yosys5RTLIL7SigSpecaSERKS1_.exit551.preheader @@ -78471,7 +78471,7 @@ _ZNSt6vectorIN12_GLOBAL__N_18PortDataESaIS1_EED2Ev.exit: ; preds = %_ZSt8_Destro call fastcc void @_ZN12_GLOBAL__N_113MemQueryCacheD2Ev(ptr noundef nonnull align 8 dereferenceable(264) %72) #22 br label %3036 -3036: ; preds = %.invoke2774, %_ZNSt6vectorIN12_GLOBAL__N_18PortDataESaIS1_EED2Ev.exit +3036: ; preds = %.invoke2777, %_ZNSt6vectorIN12_GLOBAL__N_18PortDataESaIS1_EED2Ev.exit %3037 = getelementptr inbounds nuw i8, ptr %67, i64 24 %3038 = load ptr, ptr %3037, align 8 %.not.i.i.i.i566 = icmp eq ptr %3038, null diff --git a/bench/zxing/optimized/PDFCodewordDecoder.cpp.ll b/bench/zxing/optimized/PDFCodewordDecoder.cpp.ll index 9b1e03044b1..f26ac5cbc5c 100644 --- a/bench/zxing/optimized/PDFCodewordDecoder.cpp.ll +++ b/bench/zxing/optimized/PDFCodewordDecoder.cpp.ll @@ -157,9 +157,7 @@ _ZN5ZXing6Pdf41715CodewordDecoder11GetCodewordEi.exit.i: ; preds = %49 %59 = add nsw i32 %58, -1 %60 = srem i32 %59, 929 %61 = icmp eq i32 %60, -1 - %.not = icmp eq i32 %.1.lcssa.i.i, -1 - %or.cond = select i1 %61, i1 true, i1 %.not - br i1 %or.cond, label %_ZN5ZXing6Pdf417L23GetDecodedCodewordValueERKSt5arrayIiLm8EE.exit.thread, label %107 + br i1 %61, label %_ZN5ZXing6Pdf417L23GetDecodedCodewordValueERKSt5arrayIiLm8EE.exit.thread, label %107 _ZN5ZXing6Pdf417L23GetDecodedCodewordValueERKSt5arrayIiLm8EE.exit.thread: ; preds = %_ZN5ZXing6Pdf41715CodewordDecoder11GetCodewordEi.exit.i, %49, %_ZSt11lower_boundIPKtiET_S2_S2_RKT0_.exit.i.i, %_ZN5ZXing6Pdf417L11GetBitValueERKSt5arrayIiLm8EE.exit.i call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %2) From 877db7afb93a5d409556f520940e9b6216606822 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 31 Jan 2025 14:34:44 +0000 Subject: [PATCH 3/3] pre-commit: Remap --- bench/abc/optimized/giaEsop.c.ll | 911 +- .../optimized/matches_relation_factory.ll | 1910 +- bench/delta-rs/optimized/1cpha5e75mq7zwcw.ll | 6 +- bench/delta-rs/optimized/2ounwovke18sd889.ll | 6 +- .../double_conversion/optimized/strtod.cc.ll | 24 +- bench/faiss/optimized/ScalarQuantizer.cpp.ll | 2140 +- .../icu/optimized/double-conversion-strtod.ll | 24 +- bench/linux/optimized/rx.ll | 1427 +- .../AArch64PostLegalizerLowering.cpp.ll | 2589 ++- bench/llvm/optimized/CallLowering.cpp.ll | 4781 ++-- bench/llvm/optimized/LegalizerHelper.cpp.ll | 1860 +- .../optimized/X86CallFrameOptimization.cpp.ll | 12 +- .../optimized/X86InstructionSelector.cpp.ll | 1627 +- bench/luajit/optimized/lj_str_dyn.ll | 13 +- bench/lvgl/optimized/lv_obj.ll | 1326 +- bench/opencv/optimized/aff_trans.cpp.ll | 1673 +- bench/opencv/optimized/tps_trans.cpp.ll | 1191 +- bench/openjdk/optimized/escape.ll | 793 +- .../optimized/tabular_best_response_mdp.cc.ll | 1572 +- .../optimized/libcrypto-shlib-conf_def.ll | 230 +- .../optimized/libssl-shlib-extensions_srvr.ll | 46 +- .../optimized/libssl-shlib-quic_wire_pkt.ll | 15 +- bench/php/optimized/filestat.ll | 1348 +- bench/php/optimized/ir_emit.ll | 3493 ++- bench/php/optimized/pcre2_compile.ll | 1680 +- bench/php/optimized/zend_jit.ll | 18785 ++++++++-------- bench/postgres/optimized/heapam.ll | 3356 ++- bench/postgres/optimized/heapam_visibility.ll | 1401 +- bench/ruby/optimized/vm.ll | 2300 +- .../optimized/55e7aotywrgrb7st.ll | 3642 ++- bench/wasmedge/optimized/section.cpp.ll | 16 +- .../optimized/packet-catapult-dct2000.c.ll | 2762 +-- bench/yosys/optimized/extract_counter.ll | 4893 ++-- bench/yosys/optimized/fsm_export.ll | 2321 +- .../optimized/5y1wnv46c80h8ez08dncvhm61.ll | 4856 ++-- .../optimized/e8p2cuwt1sxb20ryu42v8urkr.ll | 4832 ++-- 36 files changed, 39796 insertions(+), 40065 deletions(-) diff --git a/bench/abc/optimized/giaEsop.c.ll b/bench/abc/optimized/giaEsop.c.ll index f5892dcb88e..efbd4740cf6 100644 --- a/bench/abc/optimized/giaEsop.c.ll +++ b/bench/abc/optimized/giaEsop.c.ll @@ -2720,137 +2720,132 @@ Hsh_VecReadArray.exit: ; preds = %98, %102 br i1 %127, label %.lr.ph.i152, label %._crit_edge.i, !llvm.loop !28 ._crit_edge.i: ; preds = %125 - %128 = and i32 %.1.i, %36 - %brmerge.not = icmp eq i32 %128, -1 - br i1 %brmerge.not, label %Eso_ManFindDistOneLitNotEqual.exit.thread, label %Eso_ManFindDistOneLitNotEqual.exit.thread232.split.loop.exit + %.not423 = icmp eq i32 %.1.i, -1 + %.1.i.lcssa.mux = select i1 %.not423, i32 %36, i32 %.1.i + br label %Eso_ManFindDistOneLitNotEqual.exit.thread232 Eso_ManFindDistOneLitNotEqual.exit: ; preds = %Hsh_VecReadArray.exit br i1 %.not424, label %Eso_ManFindDistOneLitNotEqual.exit.thread, label %Eso_ManFindDistOneLitNotEqual.exit.thread232 -Eso_ManFindDistOneLitNotEqual.exit.thread232.split.loop.exit: ; preds = %._crit_edge.i - %.not423.le = icmp eq i32 %.1.i, -1 - %.1.i.lcssa.mux.le = select i1 %.not423.le, i32 %36, i32 %.1.i - br label %Eso_ManFindDistOneLitNotEqual.exit.thread232 - -Eso_ManFindDistOneLitNotEqual.exit.thread232: ; preds = %Eso_ManFindDistOneLitNotEqual.exit, %Eso_ManFindDistOneLitNotEqual.exit.thread232.split.loop.exit - %.017.i234 = phi i32 [ %.1.i.lcssa.mux.le, %Eso_ManFindDistOneLitNotEqual.exit.thread232.split.loop.exit ], [ %36, %Eso_ManFindDistOneLitNotEqual.exit ] - %129 = trunc nuw nsw i64 %indvars.iv to i32 - %130 = add nsw i32 %.val139, -1 - store i32 %130, ptr %94, align 4 - %131 = icmp sgt i32 %130, %129 - br i1 %131, label %.lr.ph.i156, label %Vec_IntDrop.exit159 +Eso_ManFindDistOneLitNotEqual.exit.thread232: ; preds = %Eso_ManFindDistOneLitNotEqual.exit, %._crit_edge.i + %.017.i234 = phi i32 [ %.1.i.lcssa.mux, %._crit_edge.i ], [ %36, %Eso_ManFindDistOneLitNotEqual.exit ] + %128 = trunc nuw nsw i64 %indvars.iv to i32 + %129 = add nsw i32 %.val139, -1 + store i32 %129, ptr %94, align 4 + %130 = icmp sgt i32 %129, %128 + br i1 %130, label %.lr.ph.i156, label %Vec_IntDrop.exit159 .lr.ph.i156: ; preds = %Eso_ManFindDistOneLitNotEqual.exit.thread232, %.lr.ph.i156 %indvars.iv.i157 = phi i64 [ %indvars.iv.next.i158, %.lr.ph.i156 ], [ %indvars.iv, %Eso_ManFindDistOneLitNotEqual.exit.thread232 ] - %132 = load ptr, ptr %96, align 8 + %131 = load ptr, ptr %96, align 8 %indvars.iv.next.i158 = add nuw nsw i64 %indvars.iv.i157, 1 - %133 = getelementptr inbounds nuw i32, ptr %132, i64 %indvars.iv.next.i158 - %134 = load i32, ptr %133, align 4 - %135 = getelementptr inbounds nuw i32, ptr %132, i64 %indvars.iv.i157 - store i32 %134, ptr %135, align 4 - %136 = load i32, ptr %94, align 4 - %137 = sext i32 %136 to i64 - %138 = icmp slt i64 %indvars.iv.next.i158, %137 - br i1 %138, label %.lr.ph.i156, label %Vec_IntDrop.exit159, !llvm.loop !30 + %132 = getelementptr inbounds nuw i32, ptr %131, i64 %indvars.iv.next.i158 + %133 = load i32, ptr %132, align 4 + %134 = getelementptr inbounds nuw i32, ptr %131, i64 %indvars.iv.i157 + store i32 %133, ptr %134, align 4 + %135 = load i32, ptr %94, align 4 + %136 = sext i32 %135 to i64 + %137 = icmp slt i64 %indvars.iv.next.i158, %136 + br i1 %137, label %.lr.ph.i156, label %Vec_IntDrop.exit159, !llvm.loop !30 Vec_IntDrop.exit159: ; preds = %.lr.ph.i156, %Eso_ManFindDistOneLitNotEqual.exit.thread232 - %139 = load ptr, ptr %7, align 8 - %140 = getelementptr inbounds nuw i8, ptr %139, i64 4 - store i32 0, ptr %140, align 4 + %138 = load ptr, ptr %7, align 8 + %139 = getelementptr inbounds nuw i8, ptr %138, i64 4 + store i32 0, ptr %139, align 4 %.not135310 = icmp slt i32 %36, 0 br i1 %.not135310, label %._crit_edge313, label %.lr.ph312.preheader .lr.ph312.preheader: ; preds = %Vec_IntDrop.exit159 - %141 = zext i32 %.017.i234 to i64 - %142 = add nuw i32 %36, 1 - %wide.trip.count351 = zext i32 %142 to i64 + %140 = zext i32 %.017.i234 to i64 + %141 = add nuw i32 %36, 1 + %wide.trip.count351 = zext i32 %141 to i64 br label %.lr.ph312 .lr.ph312: ; preds = %.lr.ph312.preheader, %Vec_IntPush.exit166 %indvars.iv348 = phi i64 [ 0, %.lr.ph312.preheader ], [ %indvars.iv.next349, %Vec_IntPush.exit166 ] - %143 = load ptr, ptr %7, align 8 - %144 = getelementptr inbounds nuw i32, ptr %116, i64 %indvars.iv348 - %145 = load i32, ptr %144, align 4 - %146 = icmp eq i64 %indvars.iv348, %141 - %147 = zext i1 %146 to i32 - %148 = xor i32 %145, %147 - %149 = getelementptr inbounds nuw i8, ptr %143, i64 4 - %150 = load i32, ptr %149, align 4 - %151 = load i32, ptr %143, align 8 - %152 = icmp eq i32 %150, %151 - br i1 %152, label %153, label %.Vec_IntGrow.exit10_crit_edge.i160 + %142 = load ptr, ptr %7, align 8 + %143 = getelementptr inbounds nuw i32, ptr %116, i64 %indvars.iv348 + %144 = load i32, ptr %143, align 4 + %145 = icmp eq i64 %indvars.iv348, %140 + %146 = zext i1 %145 to i32 + %147 = xor i32 %144, %146 + %148 = getelementptr inbounds nuw i8, ptr %142, i64 4 + %149 = load i32, ptr %148, align 4 + %150 = load i32, ptr %142, align 8 + %151 = icmp eq i32 %149, %150 + br i1 %151, label %152, label %.Vec_IntGrow.exit10_crit_edge.i160 .Vec_IntGrow.exit10_crit_edge.i160: ; preds = %.lr.ph312 - %.phi.trans.insert.i161 = getelementptr inbounds nuw i8, ptr %143, i64 8 + %.phi.trans.insert.i161 = getelementptr inbounds nuw i8, ptr %142, i64 8 %.pre.i162 = load ptr, ptr %.phi.trans.insert.i161, align 8 br label %Vec_IntPush.exit166 -153: ; preds = %.lr.ph312 - %154 = icmp slt i32 %150, 16 - br i1 %154, label %155, label %163 +152: ; preds = %.lr.ph312 + %153 = icmp slt i32 %149, 16 + br i1 %153, label %154, label %162 -155: ; preds = %153 - %156 = getelementptr inbounds nuw i8, ptr %143, i64 8 - %157 = load ptr, ptr %156, align 8 - %.not9.i.i164 = icmp eq ptr %157, null - br i1 %.not9.i.i164, label %160, label %158 +154: ; preds = %152 + %155 = getelementptr inbounds nuw i8, ptr %142, i64 8 + %156 = load ptr, ptr %155, align 8 + %.not9.i.i164 = icmp eq ptr %156, null + br i1 %.not9.i.i164, label %159, label %157 -158: ; preds = %155 - %159 = tail call dereferenceable_or_null(64) ptr @realloc(ptr noundef nonnull %157, i64 noundef 64) #22 +157: ; preds = %154 + %158 = tail call dereferenceable_or_null(64) ptr @realloc(ptr noundef nonnull %156, i64 noundef 64) #22 br label %Vec_IntGrow.exit.i165 -160: ; preds = %155 - %161 = tail call noalias dereferenceable_or_null(64) ptr @malloc(i64 noundef 64) #21 +159: ; preds = %154 + %160 = tail call noalias dereferenceable_or_null(64) ptr @malloc(i64 noundef 64) #21 br label %Vec_IntGrow.exit.i165 -Vec_IntGrow.exit.i165: ; preds = %160, %158 - %162 = phi ptr [ %159, %158 ], [ %161, %160 ] - store ptr %162, ptr %156, align 8 - store i32 16, ptr %143, align 8 +Vec_IntGrow.exit.i165: ; preds = %159, %157 + %161 = phi ptr [ %158, %157 ], [ %160, %159 ] + store ptr %161, ptr %155, align 8 + store i32 16, ptr %142, align 8 br label %Vec_IntPush.exit166 -163: ; preds = %153 - %164 = shl nuw nsw i32 %150, 1 - %165 = getelementptr inbounds nuw i8, ptr %143, i64 8 - %166 = load ptr, ptr %165, align 8 - %.not9.i9.i163 = icmp eq ptr %166, null - %167 = zext nneg i32 %164 to i64 - %168 = shl nuw nsw i64 %167, 2 - br i1 %.not9.i9.i163, label %171, label %169 - -169: ; preds = %163 - %170 = tail call ptr @realloc(ptr noundef nonnull %166, i64 noundef %168) #22 - br label %173 - -171: ; preds = %163 - %172 = tail call noalias ptr @malloc(i64 noundef %168) #21 - br label %173 - -173: ; preds = %171, %169 - %174 = phi ptr [ %170, %169 ], [ %172, %171 ] - store ptr %174, ptr %165, align 8 - store i32 %164, ptr %143, align 8 +162: ; preds = %152 + %163 = shl nuw nsw i32 %149, 1 + %164 = getelementptr inbounds nuw i8, ptr %142, i64 8 + %165 = load ptr, ptr %164, align 8 + %.not9.i9.i163 = icmp eq ptr %165, null + %166 = zext nneg i32 %163 to i64 + %167 = shl nuw nsw i64 %166, 2 + br i1 %.not9.i9.i163, label %170, label %168 + +168: ; preds = %162 + %169 = tail call ptr @realloc(ptr noundef nonnull %165, i64 noundef %167) #22 + br label %172 + +170: ; preds = %162 + %171 = tail call noalias ptr @malloc(i64 noundef %167) #21 + br label %172 + +172: ; preds = %170, %168 + %173 = phi ptr [ %169, %168 ], [ %171, %170 ] + store ptr %173, ptr %164, align 8 + store i32 %163, ptr %142, align 8 br label %Vec_IntPush.exit166 -Vec_IntPush.exit166: ; preds = %.Vec_IntGrow.exit10_crit_edge.i160, %Vec_IntGrow.exit.i165, %173 - %175 = phi ptr [ %.pre.i162, %.Vec_IntGrow.exit10_crit_edge.i160 ], [ %174, %173 ], [ %162, %Vec_IntGrow.exit.i165 ] - %176 = load i32, ptr %149, align 4 - %177 = add nsw i32 %176, 1 - store i32 %177, ptr %149, align 4 - %178 = sext i32 %176 to i64 - %179 = getelementptr inbounds i32, ptr %175, i64 %178 - store i32 %148, ptr %179, align 4 +Vec_IntPush.exit166: ; preds = %.Vec_IntGrow.exit10_crit_edge.i160, %Vec_IntGrow.exit.i165, %172 + %174 = phi ptr [ %.pre.i162, %.Vec_IntGrow.exit10_crit_edge.i160 ], [ %173, %172 ], [ %161, %Vec_IntGrow.exit.i165 ] + %175 = load i32, ptr %148, align 4 + %176 = add nsw i32 %175, 1 + store i32 %176, ptr %148, align 4 + %177 = sext i32 %175 to i64 + %178 = getelementptr inbounds i32, ptr %174, i64 %177 + store i32 %147, ptr %178, align 4 %indvars.iv.next349 = add nuw nsw i64 %indvars.iv348, 1 %exitcond352.not = icmp eq i64 %indvars.iv.next349, %wide.trip.count351 br i1 %exitcond352.not, label %._crit_edge313, label %.lr.ph312, !llvm.loop !31 ._crit_edge313: ; preds = %Vec_IntPush.exit166, %Vec_IntDrop.exit159 - %180 = load ptr, ptr %5, align 8 - %181 = load ptr, ptr %7, align 8 - %182 = tail call fastcc i32 @Hsh_VecManAdd(ptr noundef %180, ptr noundef %181) + %179 = load ptr, ptr %5, align 8 + %180 = load ptr, ptr %7, align 8 + %181 = tail call fastcc i32 @Hsh_VecManAdd(ptr noundef %179, ptr noundef %180) br label %tailrecurse.backedge -Eso_ManFindDistOneLitNotEqual.exit.thread: ; preds = %122, %._crit_edge.i, %Eso_ManFindDistOneLitNotEqual.exit +Eso_ManFindDistOneLitNotEqual.exit.thread: ; preds = %122, %Eso_ManFindDistOneLitNotEqual.exit %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 %.critedge, label %98, !llvm.loop !32 @@ -2859,499 +2854,499 @@ Eso_ManFindDistOneLitNotEqual.exit.thread: ; preds = %122, %._crit_edge.i br i1 %43, label %.lr.ph293, label %.critedge2 .lr.ph293: ; preds = %.critedge - %183 = getelementptr i8, ptr %40, i64 8 - %.val142 = load ptr, ptr %183, align 8 - %184 = icmp sgt i32 %36, 0 + %182 = getelementptr i8, ptr %40, i64 8 + %.val142 = load ptr, ptr %182, align 8 + %183 = icmp sgt i32 %36, 0 %wide.trip.count.i171 = zext nneg i32 %36 to i64 %wide.trip.count356 = zext nneg i32 %42 to i64 - br label %185 + br label %184 -185: ; preds = %.lr.ph293, %Eso_ManFindDistOneLitEqual.exit.thread +184: ; preds = %.lr.ph293, %Eso_ManFindDistOneLitEqual.exit.thread %indvars.iv353 = phi i64 [ 0, %.lr.ph293 ], [ %indvars.iv.next354, %Eso_ManFindDistOneLitEqual.exit.thread ] - %186 = getelementptr inbounds nuw i32, ptr %.val142, i64 %indvars.iv353 - %187 = load i32, ptr %186, align 4 - %188 = icmp eq i32 %187, -1 - br i1 %188, label %Hsh_VecReadArray.exit169, label %189 - -189: ; preds = %185 - %190 = load ptr, ptr %5, align 8 - %191 = getelementptr inbounds nuw i8, ptr %190, i64 8 - %192 = load ptr, ptr %191, align 8 - %193 = getelementptr inbounds nuw i8, ptr %190, i64 16 - %194 = load ptr, ptr %193, align 8 - %195 = getelementptr i8, ptr %194, i64 8 - %.val.i.i167 = load ptr, ptr %195, align 8 - %196 = sext i32 %187 to i64 - %197 = getelementptr inbounds i32, ptr %.val.i.i167, i64 %196 - %198 = load i32, ptr %197, align 4 - %199 = getelementptr i8, ptr %192, i64 8 - %.val3.i.i168 = load ptr, ptr %199, align 8 - %200 = sext i32 %198 to i64 - %201 = getelementptr inbounds i32, ptr %.val3.i.i168, i64 %200 + %185 = getelementptr inbounds nuw i32, ptr %.val142, i64 %indvars.iv353 + %186 = load i32, ptr %185, align 4 + %187 = icmp eq i32 %186, -1 + br i1 %187, label %Hsh_VecReadArray.exit169, label %188 + +188: ; preds = %184 + %189 = load ptr, ptr %5, align 8 + %190 = getelementptr inbounds nuw i8, ptr %189, i64 8 + %191 = load ptr, ptr %190, align 8 + %192 = getelementptr inbounds nuw i8, ptr %189, i64 16 + %193 = load ptr, ptr %192, align 8 + %194 = getelementptr i8, ptr %193, i64 8 + %.val.i.i167 = load ptr, ptr %194, align 8 + %195 = sext i32 %186 to i64 + %196 = getelementptr inbounds i32, ptr %.val.i.i167, i64 %195 + %197 = load i32, ptr %196, align 4 + %198 = getelementptr i8, ptr %191, i64 8 + %.val3.i.i168 = load ptr, ptr %198, align 8 + %199 = sext i32 %197 to i64 + %200 = getelementptr inbounds i32, ptr %.val3.i.i168, i64 %199 br label %Hsh_VecReadArray.exit169 -Hsh_VecReadArray.exit169: ; preds = %185, %189 - %202 = phi ptr [ %201, %189 ], [ null, %185 ] - %203 = getelementptr inbounds nuw i8, ptr %202, i64 8 - br i1 %184, label %.lr.ph.i172, label %Eso_ManFindDistOneLitEqual.exit.thread - -.lr.ph.i172: ; preds = %Hsh_VecReadArray.exit169, %210 - %indvars.iv.i173 = phi i64 [ %indvars.iv.next.i176, %210 ], [ 0, %Hsh_VecReadArray.exit169 ] - %.020.i = phi i32 [ %.1.i175, %210 ], [ -1, %Hsh_VecReadArray.exit169 ] - %204 = getelementptr inbounds nuw i32, ptr %203, i64 %indvars.iv.i173 - %205 = load i32, ptr %204, align 4 - %206 = getelementptr inbounds nuw i32, ptr %35, i64 %indvars.iv.i173 - %207 = load i32, ptr %206, align 4 - %.not.i174 = icmp eq i32 %205, %207 - br i1 %.not.i174, label %210, label %208 - -208: ; preds = %.lr.ph.i172 +Hsh_VecReadArray.exit169: ; preds = %184, %188 + %201 = phi ptr [ %200, %188 ], [ null, %184 ] + %202 = getelementptr inbounds nuw i8, ptr %201, i64 8 + br i1 %183, label %.lr.ph.i172, label %Eso_ManFindDistOneLitEqual.exit.thread + +.lr.ph.i172: ; preds = %Hsh_VecReadArray.exit169, %209 + %indvars.iv.i173 = phi i64 [ %indvars.iv.next.i176, %209 ], [ 0, %Hsh_VecReadArray.exit169 ] + %.020.i = phi i32 [ %.1.i175, %209 ], [ -1, %Hsh_VecReadArray.exit169 ] + %203 = getelementptr inbounds nuw i32, ptr %202, i64 %indvars.iv.i173 + %204 = load i32, ptr %203, align 4 + %205 = getelementptr inbounds nuw i32, ptr %35, i64 %indvars.iv.i173 + %206 = load i32, ptr %205, align 4 + %.not.i174 = icmp eq i32 %204, %206 + br i1 %.not.i174, label %209, label %207 + +207: ; preds = %.lr.ph.i172 %.not17.i = icmp eq i32 %.020.i, -1 - %.not18.unshifted.i = xor i32 %207, %205 + %.not18.unshifted.i = xor i32 %206, %204 %.not18.i = icmp ult i32 %.not18.unshifted.i, 2 %or.cond.i = and i1 %.not17.i, %.not18.i - %209 = trunc nuw nsw i64 %indvars.iv.i173 to i32 - br i1 %or.cond.i, label %210, label %Eso_ManFindDistOneLitEqual.exit.thread + %208 = trunc nuw nsw i64 %indvars.iv.i173 to i32 + br i1 %or.cond.i, label %209, label %Eso_ManFindDistOneLitEqual.exit.thread -210: ; preds = %208, %.lr.ph.i172 - %.1.i175 = phi i32 [ %.020.i, %.lr.ph.i172 ], [ %209, %208 ] +209: ; preds = %207, %.lr.ph.i172 + %.1.i175 = phi i32 [ %.020.i, %.lr.ph.i172 ], [ %208, %207 ] %indvars.iv.next.i176 = add nuw nsw i64 %indvars.iv.i173, 1 %exitcond.not.i177 = icmp eq i64 %indvars.iv.next.i176, %wide.trip.count.i171 br i1 %exitcond.not.i177, label %Eso_ManFindDistOneLitEqual.exit, label %.lr.ph.i172, !llvm.loop !27 -Eso_ManFindDistOneLitEqual.exit: ; preds = %210 - %211 = icmp eq i32 %.1.i175, -1 - br i1 %211, label %Eso_ManFindDistOneLitEqual.exit.thread, label %212 +Eso_ManFindDistOneLitEqual.exit: ; preds = %209 + %210 = icmp eq i32 %.1.i175, -1 + br i1 %210, label %Eso_ManFindDistOneLitEqual.exit.thread, label %211 -212: ; preds = %Eso_ManFindDistOneLitEqual.exit - %213 = trunc nuw nsw i64 %indvars.iv353 to i32 - %214 = add nsw i32 %42, -1 - store i32 %214, ptr %41, align 4 - %215 = icmp sgt i32 %214, %213 - br i1 %215, label %.lr.ph.i179, label %.lr.ph308.preheader +211: ; preds = %Eso_ManFindDistOneLitEqual.exit + %212 = trunc nuw nsw i64 %indvars.iv353 to i32 + %213 = add nsw i32 %42, -1 + store i32 %213, ptr %41, align 4 + %214 = icmp sgt i32 %213, %212 + br i1 %214, label %.lr.ph.i179, label %.lr.ph308.preheader -.lr.ph.i179: ; preds = %212, %.lr.ph.i179 - %indvars.iv.i180 = phi i64 [ %indvars.iv.next.i181, %.lr.ph.i179 ], [ %indvars.iv353, %212 ] - %216 = load ptr, ptr %183, align 8 +.lr.ph.i179: ; preds = %211, %.lr.ph.i179 + %indvars.iv.i180 = phi i64 [ %indvars.iv.next.i181, %.lr.ph.i179 ], [ %indvars.iv353, %211 ] + %215 = load ptr, ptr %182, align 8 %indvars.iv.next.i181 = add nuw nsw i64 %indvars.iv.i180, 1 - %217 = getelementptr inbounds nuw i32, ptr %216, i64 %indvars.iv.next.i181 - %218 = load i32, ptr %217, align 4 - %219 = getelementptr inbounds nuw i32, ptr %216, i64 %indvars.iv.i180 - store i32 %218, ptr %219, align 4 - %220 = load i32, ptr %41, align 4 - %221 = sext i32 %220 to i64 - %222 = icmp slt i64 %indvars.iv.next.i181, %221 - br i1 %222, label %.lr.ph.i179, label %.lr.ph308.preheader, !llvm.loop !30 - -.lr.ph308.preheader: ; preds = %.lr.ph.i179, %212 - %223 = load ptr, ptr %7, align 8 - %224 = getelementptr inbounds nuw i8, ptr %223, i64 4 - store i32 0, ptr %224, align 4 - %225 = zext i32 %.1.i175 to i64 + %216 = getelementptr inbounds nuw i32, ptr %215, i64 %indvars.iv.next.i181 + %217 = load i32, ptr %216, align 4 + %218 = getelementptr inbounds nuw i32, ptr %215, i64 %indvars.iv.i180 + store i32 %217, ptr %218, align 4 + %219 = load i32, ptr %41, align 4 + %220 = sext i32 %219 to i64 + %221 = icmp slt i64 %indvars.iv.next.i181, %220 + br i1 %221, label %.lr.ph.i179, label %.lr.ph308.preheader, !llvm.loop !30 + +.lr.ph308.preheader: ; preds = %.lr.ph.i179, %211 + %222 = load ptr, ptr %7, align 8 + %223 = getelementptr inbounds nuw i8, ptr %222, i64 4 + store i32 0, ptr %223, align 4 + %224 = zext i32 %.1.i175 to i64 %smax = tail call i32 @llvm.smax.i32(i32 %36, i32 1) %wide.trip.count361 = zext nneg i32 %smax to i64 br label %.lr.ph308 -.lr.ph308: ; preds = %.lr.ph308.preheader, %261 - %indvars.iv358 = phi i64 [ 0, %.lr.ph308.preheader ], [ %indvars.iv.next359, %261 ] - %.not = icmp eq i64 %indvars.iv358, %225 - br i1 %.not, label %261, label %226 - -226: ; preds = %.lr.ph308 - %227 = load ptr, ptr %7, align 8 - %228 = getelementptr inbounds nuw i32, ptr %35, i64 %indvars.iv358 - %229 = load i32, ptr %228, align 4 - %230 = getelementptr inbounds nuw i8, ptr %227, i64 4 - %231 = load i32, ptr %230, align 4 - %232 = load i32, ptr %227, align 8 - %233 = icmp eq i32 %231, %232 - br i1 %233, label %234, label %.Vec_IntGrow.exit10_crit_edge.i183 - -.Vec_IntGrow.exit10_crit_edge.i183: ; preds = %226 - %.phi.trans.insert.i184 = getelementptr inbounds nuw i8, ptr %227, i64 8 +.lr.ph308: ; preds = %.lr.ph308.preheader, %260 + %indvars.iv358 = phi i64 [ 0, %.lr.ph308.preheader ], [ %indvars.iv.next359, %260 ] + %.not = icmp eq i64 %indvars.iv358, %224 + br i1 %.not, label %260, label %225 + +225: ; preds = %.lr.ph308 + %226 = load ptr, ptr %7, align 8 + %227 = getelementptr inbounds nuw i32, ptr %35, i64 %indvars.iv358 + %228 = load i32, ptr %227, align 4 + %229 = getelementptr inbounds nuw i8, ptr %226, i64 4 + %230 = load i32, ptr %229, align 4 + %231 = load i32, ptr %226, align 8 + %232 = icmp eq i32 %230, %231 + br i1 %232, label %233, label %.Vec_IntGrow.exit10_crit_edge.i183 + +.Vec_IntGrow.exit10_crit_edge.i183: ; preds = %225 + %.phi.trans.insert.i184 = getelementptr inbounds nuw i8, ptr %226, i64 8 %.pre.i185 = load ptr, ptr %.phi.trans.insert.i184, align 8 br label %Vec_IntPush.exit189 -234: ; preds = %226 - %235 = icmp slt i32 %231, 16 - br i1 %235, label %236, label %244 +233: ; preds = %225 + %234 = icmp slt i32 %230, 16 + br i1 %234, label %235, label %243 -236: ; preds = %234 - %237 = getelementptr inbounds nuw i8, ptr %227, i64 8 - %238 = load ptr, ptr %237, align 8 - %.not9.i.i187 = icmp eq ptr %238, null - br i1 %.not9.i.i187, label %241, label %239 +235: ; preds = %233 + %236 = getelementptr inbounds nuw i8, ptr %226, i64 8 + %237 = load ptr, ptr %236, align 8 + %.not9.i.i187 = icmp eq ptr %237, null + br i1 %.not9.i.i187, label %240, label %238 -239: ; preds = %236 - %240 = tail call dereferenceable_or_null(64) ptr @realloc(ptr noundef nonnull %238, i64 noundef 64) #22 +238: ; preds = %235 + %239 = tail call dereferenceable_or_null(64) ptr @realloc(ptr noundef nonnull %237, i64 noundef 64) #22 br label %Vec_IntGrow.exit.i188 -241: ; preds = %236 - %242 = tail call noalias dereferenceable_or_null(64) ptr @malloc(i64 noundef 64) #21 +240: ; preds = %235 + %241 = tail call noalias dereferenceable_or_null(64) ptr @malloc(i64 noundef 64) #21 br label %Vec_IntGrow.exit.i188 -Vec_IntGrow.exit.i188: ; preds = %241, %239 - %243 = phi ptr [ %240, %239 ], [ %242, %241 ] - store ptr %243, ptr %237, align 8 - store i32 16, ptr %227, align 8 +Vec_IntGrow.exit.i188: ; preds = %240, %238 + %242 = phi ptr [ %239, %238 ], [ %241, %240 ] + store ptr %242, ptr %236, align 8 + store i32 16, ptr %226, align 8 br label %Vec_IntPush.exit189 -244: ; preds = %234 - %245 = shl nuw nsw i32 %231, 1 - %246 = getelementptr inbounds nuw i8, ptr %227, i64 8 - %247 = load ptr, ptr %246, align 8 - %.not9.i9.i186 = icmp eq ptr %247, null - %248 = zext nneg i32 %245 to i64 - %249 = shl nuw nsw i64 %248, 2 - br i1 %.not9.i9.i186, label %252, label %250 - -250: ; preds = %244 - %251 = tail call ptr @realloc(ptr noundef nonnull %247, i64 noundef %249) #22 - br label %254 - -252: ; preds = %244 - %253 = tail call noalias ptr @malloc(i64 noundef %249) #21 - br label %254 - -254: ; preds = %252, %250 - %255 = phi ptr [ %251, %250 ], [ %253, %252 ] - store ptr %255, ptr %246, align 8 - store i32 %245, ptr %227, align 8 +243: ; preds = %233 + %244 = shl nuw nsw i32 %230, 1 + %245 = getelementptr inbounds nuw i8, ptr %226, i64 8 + %246 = load ptr, ptr %245, align 8 + %.not9.i9.i186 = icmp eq ptr %246, null + %247 = zext nneg i32 %244 to i64 + %248 = shl nuw nsw i64 %247, 2 + br i1 %.not9.i9.i186, label %251, label %249 + +249: ; preds = %243 + %250 = tail call ptr @realloc(ptr noundef nonnull %246, i64 noundef %248) #22 + br label %253 + +251: ; preds = %243 + %252 = tail call noalias ptr @malloc(i64 noundef %248) #21 + br label %253 + +253: ; preds = %251, %249 + %254 = phi ptr [ %250, %249 ], [ %252, %251 ] + store ptr %254, ptr %245, align 8 + store i32 %244, ptr %226, align 8 br label %Vec_IntPush.exit189 -Vec_IntPush.exit189: ; preds = %.Vec_IntGrow.exit10_crit_edge.i183, %Vec_IntGrow.exit.i188, %254 - %256 = phi ptr [ %.pre.i185, %.Vec_IntGrow.exit10_crit_edge.i183 ], [ %255, %254 ], [ %243, %Vec_IntGrow.exit.i188 ] - %257 = load i32, ptr %230, align 4 - %258 = add nsw i32 %257, 1 - store i32 %258, ptr %230, align 4 - %259 = sext i32 %257 to i64 - %260 = getelementptr inbounds i32, ptr %256, i64 %259 - store i32 %229, ptr %260, align 4 - br label %261 - -261: ; preds = %.lr.ph308, %Vec_IntPush.exit189 +Vec_IntPush.exit189: ; preds = %.Vec_IntGrow.exit10_crit_edge.i183, %Vec_IntGrow.exit.i188, %253 + %255 = phi ptr [ %.pre.i185, %.Vec_IntGrow.exit10_crit_edge.i183 ], [ %254, %253 ], [ %242, %Vec_IntGrow.exit.i188 ] + %256 = load i32, ptr %229, align 4 + %257 = add nsw i32 %256, 1 + store i32 %257, ptr %229, align 4 + %258 = sext i32 %256 to i64 + %259 = getelementptr inbounds i32, ptr %255, i64 %258 + store i32 %228, ptr %259, align 4 + br label %260 + +260: ; preds = %.lr.ph308, %Vec_IntPush.exit189 %indvars.iv.next359 = add nuw nsw i64 %indvars.iv358, 1 %exitcond362.not = icmp eq i64 %indvars.iv.next359, %wide.trip.count361 br i1 %exitcond362.not, label %._crit_edge309, label %.lr.ph308, !llvm.loop !33 -._crit_edge309: ; preds = %261 - %262 = load ptr, ptr %7, align 8 - %263 = getelementptr i8, ptr %262, i64 4 - %.val137 = load i32, ptr %263, align 4 - %264 = icmp eq i32 %.val137, 0 - br i1 %264, label %265, label %267 +._crit_edge309: ; preds = %260 + %261 = load ptr, ptr %7, align 8 + %262 = getelementptr i8, ptr %261, i64 4 + %.val137 = load i32, ptr %262, align 4 + %263 = icmp eq i32 %.val137, 0 + br i1 %263, label %264, label %266 -265: ; preds = %._crit_edge309 - %266 = load i32, ptr %3, align 4 +264: ; preds = %._crit_edge309 + %265 = load i32, ptr %3, align 4 br label %tailrecurse.backedge -tailrecurse.backedge: ; preds = %265, %267, %._crit_edge313, %._crit_edge - %.tr241.be = phi i32 [ %182, %._crit_edge313 ], [ %371, %._crit_edge ], [ %266, %265 ], [ %269, %267 ] +tailrecurse.backedge: ; preds = %264, %266, %._crit_edge313, %._crit_edge + %.tr241.be = phi i32 [ %181, %._crit_edge313 ], [ %370, %._crit_edge ], [ %265, %264 ], [ %268, %266 ] br label %tailrecurse -267: ; preds = %._crit_edge309 - %268 = load ptr, ptr %5, align 8 - %269 = tail call fastcc i32 @Hsh_VecManAdd(ptr noundef %268, ptr noundef nonnull %262) +266: ; preds = %._crit_edge309 + %267 = load ptr, ptr %5, align 8 + %268 = tail call fastcc i32 @Hsh_VecManAdd(ptr noundef %267, ptr noundef nonnull %261) br label %tailrecurse.backedge -Eso_ManFindDistOneLitEqual.exit.thread: ; preds = %208, %Hsh_VecReadArray.exit169, %Eso_ManFindDistOneLitEqual.exit +Eso_ManFindDistOneLitEqual.exit.thread: ; preds = %207, %Hsh_VecReadArray.exit169, %Eso_ManFindDistOneLitEqual.exit %indvars.iv.next354 = add nuw nsw i64 %indvars.iv353, 1 %exitcond357.not = icmp eq i64 %indvars.iv.next354, %wide.trip.count356 - br i1 %exitcond357.not, label %.critedge2, label %185, !llvm.loop !34 + br i1 %exitcond357.not, label %.critedge2, label %184, !llvm.loop !34 .critedge2: ; preds = %Eso_ManFindDistOneLitEqual.exit.thread, %.critedge - %270 = icmp sgt i32 %36, 0 - br i1 %270, label %271, label %.critedge5 - -271: ; preds = %.critedge2 - %272 = add nsw i32 %36, -1 - %273 = zext nneg i32 %272 to i64 - %274 = getelementptr inbounds nuw %struct.Vec_Int_t_, ptr %.val147, i64 %273 - %275 = icmp eq i32 %36, 1 - %276 = getelementptr i8, ptr %274, i64 4 - %.val136 = load i32, ptr %276, align 4 - br i1 %275, label %277, label %.thread376 - -277: ; preds = %271 - %278 = icmp eq i32 %.val136, 1 - br i1 %278, label %Vec_IntDrop.exit194, label %281 - -Vec_IntDrop.exit194: ; preds = %277 - %279 = getelementptr i8, ptr %274, i64 4 - store i32 0, ptr %279, align 4 - %280 = xor i32 %.tr241, 1 + %269 = icmp sgt i32 %36, 0 + br i1 %269, label %270, label %.critedge5 + +270: ; preds = %.critedge2 + %271 = add nsw i32 %36, -1 + %272 = zext nneg i32 %271 to i64 + %273 = getelementptr inbounds nuw %struct.Vec_Int_t_, ptr %.val147, i64 %272 + %274 = icmp eq i32 %36, 1 + %275 = getelementptr i8, ptr %273, i64 4 + %.val136 = load i32, ptr %275, align 4 + br i1 %274, label %276, label %.thread376 + +276: ; preds = %270 + %277 = icmp eq i32 %.val136, 1 + br i1 %277, label %Vec_IntDrop.exit194, label %280 + +Vec_IntDrop.exit194: ; preds = %276 + %278 = getelementptr i8, ptr %273, i64 4 + store i32 0, ptr %278, align 4 + %279 = xor i32 %.tr241, 1 br label %.critedge5 -281: ; preds = %277 - %282 = icmp sgt i32 %.val136, 0 - br i1 %282, label %.lr.ph295.split.us, label %.critedge5 +280: ; preds = %276 + %281 = icmp sgt i32 %.val136, 0 + br i1 %281, label %.lr.ph295.split.us, label %.critedge5 -.thread376: ; preds = %271 - %283 = icmp sgt i32 %.val136, 0 - br i1 %283, label %.lr.ph295.split.preheader, label %.critedge5 +.thread376: ; preds = %270 + %282 = icmp sgt i32 %.val136, 0 + br i1 %282, label %.lr.ph295.split.preheader, label %.critedge5 .lr.ph295.split.preheader: ; preds = %.thread376 - %284 = getelementptr i8, ptr %274, i64 8 - %.val141380 = load ptr, ptr %284, align 8 + %283 = getelementptr i8, ptr %273, i64 8 + %.val141380 = load ptr, ptr %283, align 8 %wide.trip.count366 = zext nneg i32 %.val136 to i64 br label %.lr.ph295.split -.lr.ph295.split.us: ; preds = %281 - %285 = getelementptr i8, ptr %274, i64 8 +.lr.ph295.split.us: ; preds = %280 + %284 = getelementptr i8, ptr %273, i64 8 br label %Eso_ManFindDistOneLitNotEqual.exit210.thread237 .lr.ph295.split: ; preds = %.lr.ph295.split.preheader, %Eso_ManFindDistOneLitNotEqual.exit210.thread %indvars.iv363 = phi i64 [ 0, %.lr.ph295.split.preheader ], [ %indvars.iv.next364, %Eso_ManFindDistOneLitNotEqual.exit210.thread ] - %286 = getelementptr inbounds nuw i32, ptr %.val141380, i64 %indvars.iv363 - %287 = load i32, ptr %286, align 4 - %288 = icmp eq i32 %287, -1 - br i1 %288, label %Hsh_VecReadArray.exit197, label %289 - -289: ; preds = %.lr.ph295.split - %290 = load ptr, ptr %5, align 8 - %291 = getelementptr inbounds nuw i8, ptr %290, i64 8 - %292 = load ptr, ptr %291, align 8 - %293 = getelementptr inbounds nuw i8, ptr %290, i64 16 - %294 = load ptr, ptr %293, align 8 - %295 = getelementptr i8, ptr %294, i64 8 - %.val.i.i195 = load ptr, ptr %295, align 8 - %296 = sext i32 %287 to i64 - %297 = getelementptr inbounds i32, ptr %.val.i.i195, i64 %296 - %298 = load i32, ptr %297, align 4 - %299 = getelementptr i8, ptr %292, i64 8 - %.val3.i.i196 = load ptr, ptr %299, align 8 - %300 = sext i32 %298 to i64 - %301 = getelementptr inbounds i32, ptr %.val3.i.i196, i64 %300 + %285 = getelementptr inbounds nuw i32, ptr %.val141380, i64 %indvars.iv363 + %286 = load i32, ptr %285, align 4 + %287 = icmp eq i32 %286, -1 + br i1 %287, label %Hsh_VecReadArray.exit197, label %288 + +288: ; preds = %.lr.ph295.split + %289 = load ptr, ptr %5, align 8 + %290 = getelementptr inbounds nuw i8, ptr %289, i64 8 + %291 = load ptr, ptr %290, align 8 + %292 = getelementptr inbounds nuw i8, ptr %289, i64 16 + %293 = load ptr, ptr %292, align 8 + %294 = getelementptr i8, ptr %293, i64 8 + %.val.i.i195 = load ptr, ptr %294, align 8 + %295 = sext i32 %286 to i64 + %296 = getelementptr inbounds i32, ptr %.val.i.i195, i64 %295 + %297 = load i32, ptr %296, align 4 + %298 = getelementptr i8, ptr %291, i64 8 + %.val3.i.i196 = load ptr, ptr %298, align 8 + %299 = sext i32 %297 to i64 + %300 = getelementptr inbounds i32, ptr %.val3.i.i196, i64 %299 br label %Hsh_VecReadArray.exit197 -Hsh_VecReadArray.exit197: ; preds = %.lr.ph295.split, %289 - %302 = phi ptr [ %301, %289 ], [ null, %.lr.ph295.split ] - %303 = getelementptr inbounds nuw i8, ptr %302, i64 8 +Hsh_VecReadArray.exit197: ; preds = %.lr.ph295.split, %288 + %301 = phi ptr [ %300, %288 ], [ null, %.lr.ph295.split ] + %302 = getelementptr inbounds nuw i8, ptr %301, i64 8 br label %.lr.ph.i200 -.lr.ph.i200: ; preds = %Hsh_VecReadArray.exit197, %312 - %indvars.iv.i201 = phi i64 [ %indvars.iv.next.i208, %312 ], [ 0, %Hsh_VecReadArray.exit197 ] - %.023.i202 = phi i32 [ %.1.i207, %312 ], [ -1, %Hsh_VecReadArray.exit197 ] - %.01521.i203 = phi i32 [ %313, %312 ], [ 0, %Hsh_VecReadArray.exit197 ] - %304 = sext i32 %.01521.i203 to i64 - %305 = getelementptr inbounds i32, ptr %303, i64 %304 - %306 = load i32, ptr %305, align 4 - %307 = getelementptr inbounds nuw i32, ptr %35, i64 %indvars.iv.i201 - %308 = load i32, ptr %307, align 4 - %.not.i204 = icmp eq i32 %306, %308 - br i1 %.not.i204, label %312, label %309 - -309: ; preds = %.lr.ph.i200 +.lr.ph.i200: ; preds = %Hsh_VecReadArray.exit197, %311 + %indvars.iv.i201 = phi i64 [ %indvars.iv.next.i208, %311 ], [ 0, %Hsh_VecReadArray.exit197 ] + %.023.i202 = phi i32 [ %.1.i207, %311 ], [ -1, %Hsh_VecReadArray.exit197 ] + %.01521.i203 = phi i32 [ %312, %311 ], [ 0, %Hsh_VecReadArray.exit197 ] + %303 = sext i32 %.01521.i203 to i64 + %304 = getelementptr inbounds i32, ptr %302, i64 %303 + %305 = load i32, ptr %304, align 4 + %306 = getelementptr inbounds nuw i32, ptr %35, i64 %indvars.iv.i201 + %307 = load i32, ptr %306, align 4 + %.not.i204 = icmp eq i32 %305, %307 + br i1 %.not.i204, label %311, label %308 + +308: ; preds = %.lr.ph.i200 %.not19.i205 = icmp eq i32 %.023.i202, -1 - br i1 %.not19.i205, label %310, label %Eso_ManFindDistOneLitNotEqual.exit210.thread + br i1 %.not19.i205, label %309, label %Eso_ManFindDistOneLitNotEqual.exit210.thread -310: ; preds = %309 - %311 = add i32 %.01521.i203, -1 - br label %312 +309: ; preds = %308 + %310 = add i32 %.01521.i203, -1 + br label %311 -312: ; preds = %310, %.lr.ph.i200 - %.116.i206 = phi i32 [ %311, %310 ], [ %.01521.i203, %.lr.ph.i200 ] - %.1.i207 = phi i32 [ %.01521.i203, %310 ], [ %.023.i202, %.lr.ph.i200 ] - %313 = add i32 %.116.i206, 1 +311: ; preds = %309, %.lr.ph.i200 + %.116.i206 = phi i32 [ %310, %309 ], [ %.01521.i203, %.lr.ph.i200 ] + %.1.i207 = phi i32 [ %.01521.i203, %309 ], [ %.023.i202, %.lr.ph.i200 ] + %312 = add i32 %.116.i206, 1 %indvars.iv.next.i208 = add nuw nsw i64 %indvars.iv.i201, 1 - %314 = icmp slt i32 %313, %272 - br i1 %314, label %.lr.ph.i200, label %._crit_edge.i209, !llvm.loop !28 - -._crit_edge.i209: ; preds = %312 - %315 = trunc nuw nsw i64 %indvars.iv363 to i32 - %316 = icmp eq i32 %.1.i207, -1 - %spec.select = select i1 %316, i32 %272, i32 %.1.i207 - %317 = zext i32 %spec.select to i64 + %313 = icmp slt i32 %312, %271 + br i1 %313, label %.lr.ph.i200, label %._crit_edge.i209, !llvm.loop !28 + +._crit_edge.i209: ; preds = %311 + %314 = trunc nuw nsw i64 %indvars.iv363 to i32 + %315 = icmp eq i32 %.1.i207, -1 + %spec.select = select i1 %315, i32 %271, i32 %.1.i207 + %316 = zext i32 %spec.select to i64 br label %Eso_ManFindDistOneLitNotEqual.exit210.thread237 Eso_ManFindDistOneLitNotEqual.exit210.thread237: ; preds = %._crit_edge.i209, %.lr.ph295.split.us - %318 = phi ptr [ %285, %.lr.ph295.split.us ], [ %284, %._crit_edge.i209 ] - %319 = phi i64 [ 0, %.lr.ph295.split.us ], [ %indvars.iv363, %._crit_edge.i209 ] - %.2125263 = phi i32 [ 0, %.lr.ph295.split.us ], [ %315, %._crit_edge.i209 ] - %.017.i199239 = phi i64 [ 0, %.lr.ph295.split.us ], [ %317, %._crit_edge.i209 ] - %320 = getelementptr i8, ptr %274, i64 4 - %321 = add nsw i32 %.val136, -1 - store i32 %321, ptr %320, align 4 - %322 = icmp slt i32 %.2125263, %321 - br i1 %322, label %.lr.ph.i212, label %.lr.ph306.preheader + %317 = phi ptr [ %284, %.lr.ph295.split.us ], [ %283, %._crit_edge.i209 ] + %318 = phi i64 [ 0, %.lr.ph295.split.us ], [ %indvars.iv363, %._crit_edge.i209 ] + %.2125263 = phi i32 [ 0, %.lr.ph295.split.us ], [ %314, %._crit_edge.i209 ] + %.017.i199239 = phi i64 [ 0, %.lr.ph295.split.us ], [ %316, %._crit_edge.i209 ] + %319 = getelementptr i8, ptr %273, i64 4 + %320 = add nsw i32 %.val136, -1 + store i32 %320, ptr %319, align 4 + %321 = icmp slt i32 %.2125263, %320 + br i1 %321, label %.lr.ph.i212, label %.lr.ph306.preheader .lr.ph.i212: ; preds = %Eso_ManFindDistOneLitNotEqual.exit210.thread237, %.lr.ph.i212 - %indvars.iv.i213 = phi i64 [ %indvars.iv.next.i214, %.lr.ph.i212 ], [ %319, %Eso_ManFindDistOneLitNotEqual.exit210.thread237 ] - %323 = load ptr, ptr %318, align 8 + %indvars.iv.i213 = phi i64 [ %indvars.iv.next.i214, %.lr.ph.i212 ], [ %318, %Eso_ManFindDistOneLitNotEqual.exit210.thread237 ] + %322 = load ptr, ptr %317, align 8 %indvars.iv.next.i214 = add nuw nsw i64 %indvars.iv.i213, 1 - %324 = getelementptr inbounds nuw i32, ptr %323, i64 %indvars.iv.next.i214 - %325 = load i32, ptr %324, align 4 - %326 = getelementptr inbounds nuw i32, ptr %323, i64 %indvars.iv.i213 - store i32 %325, ptr %326, align 4 - %327 = load i32, ptr %320, align 4 - %328 = sext i32 %327 to i64 - %329 = icmp slt i64 %indvars.iv.next.i214, %328 - br i1 %329, label %.lr.ph.i212, label %.lr.ph306.preheader, !llvm.loop !30 + %323 = getelementptr inbounds nuw i32, ptr %322, i64 %indvars.iv.next.i214 + %324 = load i32, ptr %323, align 4 + %325 = getelementptr inbounds nuw i32, ptr %322, i64 %indvars.iv.i213 + store i32 %324, ptr %325, align 4 + %326 = load i32, ptr %319, align 4 + %327 = sext i32 %326 to i64 + %328 = icmp slt i64 %indvars.iv.next.i214, %327 + br i1 %328, label %.lr.ph.i212, label %.lr.ph306.preheader, !llvm.loop !30 .lr.ph306.preheader: ; preds = %.lr.ph.i212, %Eso_ManFindDistOneLitNotEqual.exit210.thread237 - %330 = load ptr, ptr %7, align 8 - %331 = getelementptr inbounds nuw i8, ptr %330, i64 4 - store i32 0, ptr %331, align 4 + %329 = load ptr, ptr %7, align 8 + %330 = getelementptr inbounds nuw i8, ptr %329, i64 4 + store i32 0, ptr %330, align 4 %smax371 = tail call i32 @llvm.smax.i32(i32 %36, i32 1) %wide.trip.count372 = zext nneg i32 %smax371 to i64 br label %.lr.ph306 .lr.ph306: ; preds = %.lr.ph306.preheader, %Vec_IntPush.exit222 %indvars.iv368 = phi i64 [ 0, %.lr.ph306.preheader ], [ %indvars.iv.next369, %Vec_IntPush.exit222 ] - %332 = load ptr, ptr %7, align 8 - %333 = getelementptr inbounds nuw i32, ptr %35, i64 %indvars.iv368 - %334 = load i32, ptr %333, align 4 - %335 = icmp eq i64 %indvars.iv368, %.017.i199239 - %336 = zext i1 %335 to i32 - %337 = xor i32 %334, %336 - %338 = getelementptr inbounds nuw i8, ptr %332, i64 4 - %339 = load i32, ptr %338, align 4 - %340 = load i32, ptr %332, align 8 - %341 = icmp eq i32 %339, %340 - br i1 %341, label %342, label %.Vec_IntGrow.exit10_crit_edge.i216 + %331 = load ptr, ptr %7, align 8 + %332 = getelementptr inbounds nuw i32, ptr %35, i64 %indvars.iv368 + %333 = load i32, ptr %332, align 4 + %334 = icmp eq i64 %indvars.iv368, %.017.i199239 + %335 = zext i1 %334 to i32 + %336 = xor i32 %333, %335 + %337 = getelementptr inbounds nuw i8, ptr %331, i64 4 + %338 = load i32, ptr %337, align 4 + %339 = load i32, ptr %331, align 8 + %340 = icmp eq i32 %338, %339 + br i1 %340, label %341, label %.Vec_IntGrow.exit10_crit_edge.i216 .Vec_IntGrow.exit10_crit_edge.i216: ; preds = %.lr.ph306 - %.phi.trans.insert.i217 = getelementptr inbounds nuw i8, ptr %332, i64 8 + %.phi.trans.insert.i217 = getelementptr inbounds nuw i8, ptr %331, i64 8 %.pre.i218 = load ptr, ptr %.phi.trans.insert.i217, align 8 br label %Vec_IntPush.exit222 -342: ; preds = %.lr.ph306 - %343 = icmp slt i32 %339, 16 - br i1 %343, label %344, label %352 +341: ; preds = %.lr.ph306 + %342 = icmp slt i32 %338, 16 + br i1 %342, label %343, label %351 -344: ; preds = %342 - %345 = getelementptr inbounds nuw i8, ptr %332, i64 8 - %346 = load ptr, ptr %345, align 8 - %.not9.i.i220 = icmp eq ptr %346, null - br i1 %.not9.i.i220, label %349, label %347 +343: ; preds = %341 + %344 = getelementptr inbounds nuw i8, ptr %331, i64 8 + %345 = load ptr, ptr %344, align 8 + %.not9.i.i220 = icmp eq ptr %345, null + br i1 %.not9.i.i220, label %348, label %346 -347: ; preds = %344 - %348 = tail call dereferenceable_or_null(64) ptr @realloc(ptr noundef nonnull %346, i64 noundef 64) #22 +346: ; preds = %343 + %347 = tail call dereferenceable_or_null(64) ptr @realloc(ptr noundef nonnull %345, i64 noundef 64) #22 br label %Vec_IntGrow.exit.i221 -349: ; preds = %344 - %350 = tail call noalias dereferenceable_or_null(64) ptr @malloc(i64 noundef 64) #21 +348: ; preds = %343 + %349 = tail call noalias dereferenceable_or_null(64) ptr @malloc(i64 noundef 64) #21 br label %Vec_IntGrow.exit.i221 -Vec_IntGrow.exit.i221: ; preds = %349, %347 - %351 = phi ptr [ %348, %347 ], [ %350, %349 ] - store ptr %351, ptr %345, align 8 - store i32 16, ptr %332, align 8 +Vec_IntGrow.exit.i221: ; preds = %348, %346 + %350 = phi ptr [ %347, %346 ], [ %349, %348 ] + store ptr %350, ptr %344, align 8 + store i32 16, ptr %331, align 8 br label %Vec_IntPush.exit222 -352: ; preds = %342 - %353 = shl nuw nsw i32 %339, 1 - %354 = getelementptr inbounds nuw i8, ptr %332, i64 8 - %355 = load ptr, ptr %354, align 8 - %.not9.i9.i219 = icmp eq ptr %355, null - %356 = zext nneg i32 %353 to i64 - %357 = shl nuw nsw i64 %356, 2 - br i1 %.not9.i9.i219, label %360, label %358 - -358: ; preds = %352 - %359 = tail call ptr @realloc(ptr noundef nonnull %355, i64 noundef %357) #22 - br label %362 - -360: ; preds = %352 - %361 = tail call noalias ptr @malloc(i64 noundef %357) #21 - br label %362 - -362: ; preds = %360, %358 - %363 = phi ptr [ %359, %358 ], [ %361, %360 ] - store ptr %363, ptr %354, align 8 - store i32 %353, ptr %332, align 8 +351: ; preds = %341 + %352 = shl nuw nsw i32 %338, 1 + %353 = getelementptr inbounds nuw i8, ptr %331, i64 8 + %354 = load ptr, ptr %353, align 8 + %.not9.i9.i219 = icmp eq ptr %354, null + %355 = zext nneg i32 %352 to i64 + %356 = shl nuw nsw i64 %355, 2 + br i1 %.not9.i9.i219, label %359, label %357 + +357: ; preds = %351 + %358 = tail call ptr @realloc(ptr noundef nonnull %354, i64 noundef %356) #22 + br label %361 + +359: ; preds = %351 + %360 = tail call noalias ptr @malloc(i64 noundef %356) #21 + br label %361 + +361: ; preds = %359, %357 + %362 = phi ptr [ %358, %357 ], [ %360, %359 ] + store ptr %362, ptr %353, align 8 + store i32 %352, ptr %331, align 8 br label %Vec_IntPush.exit222 -Vec_IntPush.exit222: ; preds = %.Vec_IntGrow.exit10_crit_edge.i216, %Vec_IntGrow.exit.i221, %362 - %364 = phi ptr [ %.pre.i218, %.Vec_IntGrow.exit10_crit_edge.i216 ], [ %363, %362 ], [ %351, %Vec_IntGrow.exit.i221 ] - %365 = load i32, ptr %338, align 4 - %366 = add nsw i32 %365, 1 - store i32 %366, ptr %338, align 4 - %367 = sext i32 %365 to i64 - %368 = getelementptr inbounds i32, ptr %364, i64 %367 - store i32 %337, ptr %368, align 4 +Vec_IntPush.exit222: ; preds = %.Vec_IntGrow.exit10_crit_edge.i216, %Vec_IntGrow.exit.i221, %361 + %363 = phi ptr [ %.pre.i218, %.Vec_IntGrow.exit10_crit_edge.i216 ], [ %362, %361 ], [ %350, %Vec_IntGrow.exit.i221 ] + %364 = load i32, ptr %337, align 4 + %365 = add nsw i32 %364, 1 + store i32 %365, ptr %337, align 4 + %366 = sext i32 %364 to i64 + %367 = getelementptr inbounds i32, ptr %363, i64 %366 + store i32 %336, ptr %367, align 4 %indvars.iv.next369 = add nuw nsw i64 %indvars.iv368, 1 %exitcond373.not = icmp eq i64 %indvars.iv.next369, %wide.trip.count372 br i1 %exitcond373.not, label %._crit_edge, label %.lr.ph306, !llvm.loop !35 ._crit_edge: ; preds = %Vec_IntPush.exit222 - %369 = load ptr, ptr %5, align 8 - %370 = load ptr, ptr %7, align 8 - %371 = tail call fastcc i32 @Hsh_VecManAdd(ptr noundef %369, ptr noundef %370) + %368 = load ptr, ptr %5, align 8 + %369 = load ptr, ptr %7, align 8 + %370 = tail call fastcc i32 @Hsh_VecManAdd(ptr noundef %368, ptr noundef %369) br label %tailrecurse.backedge -Eso_ManFindDistOneLitNotEqual.exit210.thread: ; preds = %309 +Eso_ManFindDistOneLitNotEqual.exit210.thread: ; preds = %308 %indvars.iv.next364 = add nuw nsw i64 %indvars.iv363, 1 %exitcond367.not = icmp eq i64 %indvars.iv.next364, %wide.trip.count366 br i1 %exitcond367.not, label %.critedge5, label %.lr.ph295.split, !llvm.loop !36 -.critedge5: ; preds = %.critedge2, %281, %.thread376, %Eso_ManFindDistOneLitNotEqual.exit210.thread, %Vec_IntDrop.exit194 - %.1 = phi i32 [ %280, %Vec_IntDrop.exit194 ], [ %.tr241, %Eso_ManFindDistOneLitNotEqual.exit210.thread ], [ %.tr241, %.thread376 ], [ %.tr241, %281 ], [ %.tr241, %.critedge2 ] - %372 = load i32, ptr %40, align 8 - %373 = icmp eq i32 %42, %372 - br i1 %373, label %374, label %.Vec_IntGrow.exit10_crit_edge.i223 +.critedge5: ; preds = %.critedge2, %280, %.thread376, %Eso_ManFindDistOneLitNotEqual.exit210.thread, %Vec_IntDrop.exit194 + %.1 = phi i32 [ %279, %Vec_IntDrop.exit194 ], [ %.tr241, %Eso_ManFindDistOneLitNotEqual.exit210.thread ], [ %.tr241, %.thread376 ], [ %.tr241, %280 ], [ %.tr241, %.critedge2 ] + %371 = load i32, ptr %40, align 8 + %372 = icmp eq i32 %42, %371 + br i1 %372, label %373, label %.Vec_IntGrow.exit10_crit_edge.i223 .Vec_IntGrow.exit10_crit_edge.i223: ; preds = %.critedge5 %.phi.trans.insert.i224 = getelementptr inbounds nuw i8, ptr %40, i64 8 %.pre.i225 = load ptr, ptr %.phi.trans.insert.i224, align 8 br label %Vec_IntDrop.exit.sink.split -374: ; preds = %.critedge5 - %375 = icmp slt i32 %42, 16 - br i1 %375, label %376, label %384 +373: ; preds = %.critedge5 + %374 = icmp slt i32 %42, 16 + br i1 %374, label %375, label %383 -376: ; preds = %374 - %377 = getelementptr inbounds nuw i8, ptr %40, i64 8 - %378 = load ptr, ptr %377, align 8 - %.not9.i.i227 = icmp eq ptr %378, null - br i1 %.not9.i.i227, label %381, label %379 +375: ; preds = %373 + %376 = getelementptr inbounds nuw i8, ptr %40, i64 8 + %377 = load ptr, ptr %376, align 8 + %.not9.i.i227 = icmp eq ptr %377, null + br i1 %.not9.i.i227, label %380, label %378 -379: ; preds = %376 - %380 = tail call dereferenceable_or_null(64) ptr @realloc(ptr noundef nonnull %378, i64 noundef 64) #22 +378: ; preds = %375 + %379 = tail call dereferenceable_or_null(64) ptr @realloc(ptr noundef nonnull %377, i64 noundef 64) #22 br label %Vec_IntGrow.exit.i228 -381: ; preds = %376 - %382 = tail call noalias dereferenceable_or_null(64) ptr @malloc(i64 noundef 64) #21 +380: ; preds = %375 + %381 = tail call noalias dereferenceable_or_null(64) ptr @malloc(i64 noundef 64) #21 br label %Vec_IntGrow.exit.i228 -Vec_IntGrow.exit.i228: ; preds = %381, %379 - %383 = phi ptr [ %380, %379 ], [ %382, %381 ] - store ptr %383, ptr %377, align 8 +Vec_IntGrow.exit.i228: ; preds = %380, %378 + %382 = phi ptr [ %379, %378 ], [ %381, %380 ] + store ptr %382, ptr %376, align 8 store i32 16, ptr %40, align 8 br label %Vec_IntDrop.exit.sink.split -384: ; preds = %374 - %385 = shl nuw nsw i32 %42, 1 - %386 = getelementptr inbounds nuw i8, ptr %40, i64 8 - %387 = load ptr, ptr %386, align 8 - %.not9.i9.i226 = icmp eq ptr %387, null - %388 = zext nneg i32 %385 to i64 - %389 = shl nuw nsw i64 %388, 2 - br i1 %.not9.i9.i226, label %392, label %390 - -390: ; preds = %384 - %391 = tail call ptr @realloc(ptr noundef nonnull %387, i64 noundef %389) #22 - br label %394 - -392: ; preds = %384 - %393 = tail call noalias ptr @malloc(i64 noundef %389) #21 - br label %394 - -394: ; preds = %392, %390 - %395 = phi ptr [ %391, %390 ], [ %393, %392 ] - store ptr %395, ptr %386, align 8 - store i32 %385, ptr %40, align 8 +383: ; preds = %373 + %384 = shl nuw nsw i32 %42, 1 + %385 = getelementptr inbounds nuw i8, ptr %40, i64 8 + %386 = load ptr, ptr %385, align 8 + %.not9.i9.i226 = icmp eq ptr %386, null + %387 = zext nneg i32 %384 to i64 + %388 = shl nuw nsw i64 %387, 2 + br i1 %.not9.i9.i226, label %391, label %389 + +389: ; preds = %383 + %390 = tail call ptr @realloc(ptr noundef nonnull %386, i64 noundef %388) #22 + br label %393 + +391: ; preds = %383 + %392 = tail call noalias ptr @malloc(i64 noundef %388) #21 + br label %393 + +393: ; preds = %391, %389 + %394 = phi ptr [ %390, %389 ], [ %392, %391 ] + store ptr %394, ptr %385, align 8 + store i32 %384, ptr %40, align 8 br label %Vec_IntDrop.exit.sink.split -Vec_IntDrop.exit.sink.split: ; preds = %394, %Vec_IntGrow.exit.i228, %.Vec_IntGrow.exit10_crit_edge.i223, %87, %Vec_IntGrow.exit.i, %.Vec_IntGrow.exit10_crit_edge.i - %.sink415 = phi ptr [ %.pre.i, %.Vec_IntGrow.exit10_crit_edge.i ], [ %88, %87 ], [ %76, %Vec_IntGrow.exit.i ], [ %.pre.i225, %.Vec_IntGrow.exit10_crit_edge.i223 ], [ %395, %394 ], [ %383, %Vec_IntGrow.exit.i228 ] - %.1.sink = phi i32 [ %.tr241, %.Vec_IntGrow.exit10_crit_edge.i ], [ %.tr241, %87 ], [ %.tr241, %Vec_IntGrow.exit.i ], [ %.1, %.Vec_IntGrow.exit10_crit_edge.i223 ], [ %.1, %394 ], [ %.1, %Vec_IntGrow.exit.i228 ] - %396 = load i32, ptr %41, align 4 - %397 = add nsw i32 %396, 1 - store i32 %397, ptr %41, align 4 - %398 = sext i32 %396 to i64 - %399 = getelementptr inbounds i32, ptr %.sink415, i64 %398 - store i32 %.1.sink, ptr %399, align 4 +Vec_IntDrop.exit.sink.split: ; preds = %393, %Vec_IntGrow.exit.i228, %.Vec_IntGrow.exit10_crit_edge.i223, %87, %Vec_IntGrow.exit.i, %.Vec_IntGrow.exit10_crit_edge.i + %.sink415 = phi ptr [ %.pre.i, %.Vec_IntGrow.exit10_crit_edge.i ], [ %88, %87 ], [ %76, %Vec_IntGrow.exit.i ], [ %.pre.i225, %.Vec_IntGrow.exit10_crit_edge.i223 ], [ %394, %393 ], [ %382, %Vec_IntGrow.exit.i228 ] + %.1.sink = phi i32 [ %.tr241, %.Vec_IntGrow.exit10_crit_edge.i ], [ %.tr241, %87 ], [ %.tr241, %Vec_IntGrow.exit.i ], [ %.1, %.Vec_IntGrow.exit10_crit_edge.i223 ], [ %.1, %393 ], [ %.1, %Vec_IntGrow.exit.i228 ] + %395 = load i32, ptr %41, align 4 + %396 = add nsw i32 %395, 1 + store i32 %396, ptr %41, align 4 + %397 = sext i32 %395 to i64 + %398 = getelementptr inbounds i32, ptr %.sink415, i64 %397 + store i32 %.1.sink, ptr %398, align 4 br label %Vec_IntDrop.exit Vec_IntDrop.exit: ; preds = %56, %Vec_IntDrop.exit.sink.split, %Vec_IntFind.exit diff --git a/bench/boost/optimized/matches_relation_factory.ll b/bench/boost/optimized/matches_relation_factory.ll index 8731b02c59c..29fde45d8c6 100644 --- a/bench/boost/optimized/matches_relation_factory.ll +++ b/bench/boost/optimized/matches_relation_factory.ll @@ -70644,8 +70644,8 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i5. call void @_ZdlPvm(ptr noundef %36, i64 noundef %43) #32 br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit7.i -common.resume: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit46, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit123, %634, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit7.i - %common.resume.op = phi { ptr, i32 } [ %35, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit7.i ], [ %.pn, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit46 ], [ %.pn34, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit123 ], [ %635, %634 ] +common.resume: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit46, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit123, %618, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit7.i + %common.resume.op = phi { ptr, i32 } [ %35, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit7.i ], [ %.pn, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit46 ], [ %.pn34, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit123 ], [ %619, %618 ] resume { ptr, i32 } %common.resume.op _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit7.i: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i5.i, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i6.i @@ -70716,15 +70716,15 @@ _ZNK5boost16cpp_regex_traitsIwE18escape_syntax_typeEw.exit: ; preds = %_ZNKSt3ma i8 7, label %75 i8 8, label %94 i8 15, label %113 - i8 16, label %132 - i8 11, label %176 - i8 17, label %186 - i8 24, label %188 - i8 25, label %254 - i8 18, label %320 - i8 19, label %386 - i8 20, label %452 - i8 21, label %518 + i8 16, label %124 + i8 11, label %160 + i8 17, label %170 + i8 24, label %172 + i8 25, label %238 + i8 18, label %304 + i8 19, label %370 + i8 20, label %436 + i8 21, label %502 ] 73: ; preds = %_ZNK5boost16cpp_regex_traitsIwE18escape_syntax_typeEw.exit @@ -70754,15 +70754,15 @@ _ZNK5boost16cpp_regex_traitsIwE18escape_syntax_typeEw.exit: ; preds = %_ZNKSt3ma %86 = getelementptr inbounds nuw i8, ptr %0, i64 84 %87 = load i32, ptr %86, align 4, !tbaa !828 %88 = tail call noundef zeroext i1 @_ZNK5boost16cpp_regex_traitsIwE7isctypeEwj(ptr noundef nonnull align 8 dereferenceable(16) %46, i32 noundef signext %47, i32 noundef %87) - br i1 %88, label %_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit, label %._crit_edge170 + br i1 %88, label %_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit, label %._crit_edge164 -._crit_edge170: ; preds = %85 - %.pre171 = load ptr, ptr %8, align 8, !tbaa !812 - %.pre172 = load i32, ptr %.pre171, align 4, !tbaa !691 +._crit_edge164: ; preds = %85 + %.pre165 = load ptr, ptr %8, align 8, !tbaa !812 + %.pre166 = load i32, ptr %.pre165, align 4, !tbaa !691 br label %89 -89: ; preds = %._crit_edge170, %83 - %90 = phi i32 [ %.pre172, %._crit_edge170 ], [ %47, %83 ] +89: ; preds = %._crit_edge164, %83 + %90 = phi i32 [ %.pre166, %._crit_edge164 ], [ %47, %83 ] %91 = tail call noundef ptr @_ZN5boost13re_detail_50019basic_regex_creatorIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE14append_literalEw(ptr noundef nonnull align 8 dereferenceable(216) %0, i32 noundef signext %90) br label %_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit @@ -70795,15 +70795,15 @@ _ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_ %105 = getelementptr inbounds nuw i8, ptr %0, i64 84 %106 = load i32, ptr %105, align 4, !tbaa !828 %107 = tail call noundef zeroext i1 @_ZNK5boost16cpp_regex_traitsIwE7isctypeEwj(ptr noundef nonnull align 8 dereferenceable(16) %46, i32 noundef signext %47, i32 noundef %106) - br i1 %107, label %_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit39, label %._crit_edge167 + br i1 %107, label %_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit39, label %._crit_edge161 -._crit_edge167: ; preds = %104 - %.pre168 = load ptr, ptr %8, align 8, !tbaa !812 - %.pre169 = load i32, ptr %.pre168, align 4, !tbaa !691 +._crit_edge161: ; preds = %104 + %.pre162 = load ptr, ptr %8, align 8, !tbaa !812 + %.pre163 = load i32, ptr %.pre162, align 4, !tbaa !691 br label %108 -108: ; preds = %._crit_edge167, %102 - %109 = phi i32 [ %.pre169, %._crit_edge167 ], [ %47, %102 ] +108: ; preds = %._crit_edge161, %102 + %109 = phi i32 [ %.pre163, %._crit_edge161 ], [ %47, %102 ] %110 = tail call noundef ptr @_ZN5boost13re_detail_50019basic_regex_creatorIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE14append_literalEw(ptr noundef nonnull align 8 dereferenceable(216) %0, i32 noundef signext %109) br label %_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit39 @@ -70819,1092 +70819,1052 @@ _ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_ %116 = load i32, ptr %115, align 8, !tbaa !807 %117 = and i32 %116, 512 %.not30 = icmp eq i32 %117, 0 - br i1 %.not30, label %129, label %118 - -118: ; preds = %113 - %119 = and i32 %116, 2563 - %.not.i40 = icmp eq i32 %119, 2048 - br i1 %.not.i40, label %120, label %124 - -120: ; preds = %118 - %121 = getelementptr inbounds nuw i8, ptr %0, i64 84 - %122 = load i32, ptr %121, align 4, !tbaa !828 - %123 = tail call noundef zeroext i1 @_ZNK5boost16cpp_regex_traitsIwE7isctypeEwj(ptr noundef nonnull align 8 dereferenceable(16) %46, i32 noundef signext %47, i32 noundef %122) - br i1 %123, label %_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit41, label %._crit_edge164 - -._crit_edge164: ; preds = %120 - %.pre165 = load ptr, ptr %8, align 8, !tbaa !812 - %.pre166 = load i32, ptr %.pre165, align 4, !tbaa !691 - br label %124 - -124: ; preds = %._crit_edge164, %118 - %125 = phi i32 [ %.pre166, %._crit_edge164 ], [ %47, %118 ] - %126 = tail call noundef ptr @_ZN5boost13re_detail_50019basic_regex_creatorIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE14append_literalEw(ptr noundef nonnull align 8 dereferenceable(216) %0, i32 noundef signext %125) - br label %_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit41 + br i1 %.not30, label %121, label %_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit41 -_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit41: ; preds = %120, %124 - %127 = load ptr, ptr %8, align 8, !tbaa !812 - %128 = getelementptr inbounds nuw i8, ptr %127, i64 4 - store ptr %128, ptr %8, align 8, !tbaa !812 +_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit41: ; preds = %113 + %118 = tail call noundef ptr @_ZN5boost13re_detail_50019basic_regex_creatorIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE14append_literalEw(ptr noundef nonnull align 8 dereferenceable(216) %0, i32 noundef signext %47) + %119 = load ptr, ptr %8, align 8, !tbaa !812 + %120 = getelementptr inbounds nuw i8, ptr %119, i64 4 + store ptr %120, ptr %8, align 8, !tbaa !812 br label %.thread -129: ; preds = %113 - %130 = getelementptr inbounds nuw i8, ptr %9, i64 8 - store ptr %130, ptr %8, align 8, !tbaa !812 - %131 = tail call noundef zeroext i1 @_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE18parse_repeat_rangeEb(ptr noundef nonnull align 8 dereferenceable(216) %0, i1 noundef zeroext true) +121: ; preds = %113 + %122 = getelementptr inbounds nuw i8, ptr %9, i64 8 + store ptr %122, ptr %8, align 8, !tbaa !812 + %123 = tail call noundef zeroext i1 @_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE18parse_repeat_rangeEb(ptr noundef nonnull align 8 dereferenceable(216) %0, i1 noundef zeroext true) br label %.thread -132: ; preds = %_ZNK5boost16cpp_regex_traitsIwE18escape_syntax_typeEw.exit - %133 = load ptr, ptr %0, align 8, !tbaa !806 - %134 = getelementptr inbounds nuw i8, ptr %133, i64 40 - %135 = load i32, ptr %134, align 8, !tbaa !807 - %136 = and i32 %135, 512 - %.not28 = icmp eq i32 %136, 0 - br i1 %.not28, label %.noexc.i, label %137 - -137: ; preds = %132 - %138 = and i32 %135, 2563 - %.not.i42 = icmp eq i32 %138, 2048 - br i1 %.not.i42, label %139, label %143 - -139: ; preds = %137 - %140 = getelementptr inbounds nuw i8, ptr %0, i64 84 - %141 = load i32, ptr %140, align 4, !tbaa !828 - %142 = tail call noundef zeroext i1 @_ZNK5boost16cpp_regex_traitsIwE7isctypeEwj(ptr noundef nonnull align 8 dereferenceable(16) %46, i32 noundef signext %47, i32 noundef %141) - br i1 %142, label %_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit43, label %._crit_edge161 - -._crit_edge161: ; preds = %139 - %.pre162 = load ptr, ptr %8, align 8, !tbaa !812 - %.pre163 = load i32, ptr %.pre162, align 4, !tbaa !691 - br label %143 - -143: ; preds = %._crit_edge161, %137 - %144 = phi i32 [ %.pre163, %._crit_edge161 ], [ %47, %137 ] - %145 = tail call noundef ptr @_ZN5boost13re_detail_50019basic_regex_creatorIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE14append_literalEw(ptr noundef nonnull align 8 dereferenceable(216) %0, i32 noundef signext %144) - br label %_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit43 - -_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit43: ; preds = %139, %143 - %146 = load ptr, ptr %8, align 8, !tbaa !812 - %147 = getelementptr inbounds nuw i8, ptr %146, i64 4 - store ptr %147, ptr %8, align 8, !tbaa !812 +124: ; preds = %_ZNK5boost16cpp_regex_traitsIwE18escape_syntax_typeEw.exit + %125 = load ptr, ptr %0, align 8, !tbaa !806 + %126 = getelementptr inbounds nuw i8, ptr %125, i64 40 + %127 = load i32, ptr %126, align 8, !tbaa !807 + %128 = and i32 %127, 512 + %.not28 = icmp eq i32 %128, 0 + br i1 %.not28, label %.noexc.i, label %_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit43 + +_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit43: ; preds = %124 + %129 = tail call noundef ptr @_ZN5boost13re_detail_50019basic_regex_creatorIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE14append_literalEw(ptr noundef nonnull align 8 dereferenceable(216) %0, i32 noundef signext %47) + %130 = load ptr, ptr %8, align 8, !tbaa !812 + %131 = getelementptr inbounds nuw i8, ptr %130, i64 4 + store ptr %131, ptr %8, align 8, !tbaa !812 br label %.thread -.noexc.i: ; preds = %132 - %148 = getelementptr inbounds nuw i8, ptr %0, i64 120 - %149 = load ptr, ptr %148, align 8, !tbaa !811 +.noexc.i: ; preds = %124 + %132 = getelementptr inbounds nuw i8, ptr %0, i64 120 + %133 = load ptr, ptr %132, align 8, !tbaa !811 call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %4) #28 - %150 = getelementptr inbounds nuw i8, ptr %4, i64 16 - store ptr %150, ptr %4, align 8, !tbaa !3 + %134 = getelementptr inbounds nuw i8, ptr %4, i64 16 + store ptr %134, ptr %4, align 8, !tbaa !3 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %2) #28 store i64 62, ptr %2, align 8, !tbaa !8 - %151 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(ptr noundef nonnull align 8 dereferenceable(32) %4, ptr noundef nonnull align 8 dereferenceable(8) %2, i64 noundef 0) - to label %.noexc unwind label %166 + %135 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(ptr noundef nonnull align 8 dereferenceable(32) %4, ptr noundef nonnull align 8 dereferenceable(8) %2, i64 noundef 0) + to label %.noexc unwind label %150 .noexc: ; preds = %.noexc.i - store ptr %151, ptr %4, align 8, !tbaa !10 - %152 = load i64, ptr %2, align 8, !tbaa !8 - store i64 %152, ptr %150, align 8, !tbaa !12 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(62) %151, ptr noundef nonnull align 1 dereferenceable(62) @.str.89, i64 62, i1 false) - %153 = getelementptr inbounds nuw i8, ptr %4, i64 8 - store i64 %152, ptr %153, align 8, !tbaa !13 - %154 = getelementptr inbounds nuw i8, ptr %151, i64 %152 - store i8 0, ptr %154, align 1, !tbaa !12 + store ptr %135, ptr %4, align 8, !tbaa !10 + %136 = load i64, ptr %2, align 8, !tbaa !8 + store i64 %136, ptr %134, align 8, !tbaa !12 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(62) %135, ptr noundef nonnull align 1 dereferenceable(62) @.str.89, i64 62, i1 false) + %137 = getelementptr inbounds nuw i8, ptr %4, i64 8 + store i64 %136, ptr %137, align 8, !tbaa !13 + %138 = getelementptr inbounds nuw i8, ptr %135, i64 %136 + store i8 0, ptr %138, align 1, !tbaa !12 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %2) #28 - %155 = ptrtoint ptr %10 to i64 - %156 = ptrtoint ptr %149 to i64 - %157 = sub i64 %155, %156 - %158 = ashr exact i64 %157, 2 - invoke void @_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE4failENS_15regex_constants10error_typeElRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(216) %0, i32 noundef 9, i64 noundef %158, ptr noundef nonnull align 8 dereferenceable(32) %4) - to label %159 unwind label %168 - -159: ; preds = %.noexc - %160 = load ptr, ptr %4, align 8, !tbaa !10 - %161 = icmp eq ptr %160, %150 - br i1 %161, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i - -_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i: ; preds = %159 - %162 = load i64, ptr %153, align 8, !tbaa !13 - %163 = icmp ult i64 %162, 16 - call void @llvm.assume(i1 %163) + %139 = ptrtoint ptr %10 to i64 + %140 = ptrtoint ptr %133 to i64 + %141 = sub i64 %139, %140 + %142 = ashr exact i64 %141, 2 + invoke void @_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE4failENS_15regex_constants10error_typeElRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(216) %0, i32 noundef 9, i64 noundef %142, ptr noundef nonnull align 8 dereferenceable(32) %4) + to label %143 unwind label %152 + +143: ; preds = %.noexc + %144 = load ptr, ptr %4, align 8, !tbaa !10 + %145 = icmp eq ptr %144, %134 + br i1 %145, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i + +_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i: ; preds = %143 + %146 = load i64, ptr %137, align 8, !tbaa !13 + %147 = icmp ult i64 %146, 16 + call void @llvm.assume(i1 %147) br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit -_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i: ; preds = %159 - %164 = load i64, ptr %150, align 8, !tbaa !12 - %165 = add i64 %164, 1 - call void @_ZdlPvm(ptr noundef %160, i64 noundef %165) #32 +_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i: ; preds = %143 + %148 = load i64, ptr %134, align 8, !tbaa !12 + %149 = add i64 %148, 1 + call void @_ZdlPvm(ptr noundef %144, i64 noundef %149) #32 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.i call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %4) #28 br label %.thread -166: ; preds = %.noexc.i - %167 = landingpad { ptr, i32 } +150: ; preds = %.noexc.i + %151 = landingpad { ptr, i32 } cleanup br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit46 -168: ; preds = %.noexc - %169 = landingpad { ptr, i32 } +152: ; preds = %.noexc + %153 = landingpad { ptr, i32 } cleanup - %170 = load ptr, ptr %4, align 8, !tbaa !10 - %171 = icmp eq ptr %170, %150 - br i1 %171, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i45, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i44 + %154 = load ptr, ptr %4, align 8, !tbaa !10 + %155 = icmp eq ptr %154, %134 + br i1 %155, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i45, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i44 -_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i45: ; preds = %168 - %172 = load i64, ptr %153, align 8, !tbaa !13 - %173 = icmp ult i64 %172, 16 - call void @llvm.assume(i1 %173) +_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i45: ; preds = %152 + %156 = load i64, ptr %137, align 8, !tbaa !13 + %157 = icmp ult i64 %156, 16 + call void @llvm.assume(i1 %157) br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit46 -_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i44: ; preds = %168 - %174 = load i64, ptr %150, align 8, !tbaa !12 - %175 = add i64 %174, 1 - call void @_ZdlPvm(ptr noundef %170, i64 noundef %175) #32 +_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i44: ; preds = %152 + %158 = load i64, ptr %134, align 8, !tbaa !12 + %159 = add i64 %158, 1 + call void @_ZdlPvm(ptr noundef %154, i64 noundef %159) #32 br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit46 -_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit46: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i44, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i45, %166 - %.pn = phi { ptr, i32 } [ %167, %166 ], [ %169, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i45 ], [ %169, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i44 ] +_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit46: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i44, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i45, %150 + %.pn = phi { ptr, i32 } [ %151, %150 ], [ %153, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i45 ], [ %153, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i44 ] call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %4) #28 br label %common.resume -176: ; preds = %_ZNK5boost16cpp_regex_traitsIwE18escape_syntax_typeEw.exit - %177 = load ptr, ptr %0, align 8, !tbaa !806 - %178 = getelementptr inbounds nuw i8, ptr %177, i64 40 - %179 = load i32, ptr %178, align 8, !tbaa !807 - %180 = and i32 %179, 2048 - %.not27 = icmp eq i32 %180, 0 - br i1 %.not27, label %_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit48, label %181 +160: ; preds = %_ZNK5boost16cpp_regex_traitsIwE18escape_syntax_typeEw.exit + %161 = load ptr, ptr %0, align 8, !tbaa !806 + %162 = getelementptr inbounds nuw i8, ptr %161, i64 40 + %163 = load i32, ptr %162, align 8, !tbaa !807 + %164 = and i32 %163, 2048 + %.not27 = icmp eq i32 %164, 0 + br i1 %.not27, label %_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit48, label %165 -181: ; preds = %176 - %182 = tail call noundef zeroext i1 @_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE9parse_altEv(ptr noundef nonnull align 8 dereferenceable(216) %0) +165: ; preds = %160 + %166 = tail call noundef zeroext i1 @_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE9parse_altEv(ptr noundef nonnull align 8 dereferenceable(216) %0) br label %.thread -_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit48: ; preds = %176 - %183 = tail call noundef ptr @_ZN5boost13re_detail_50019basic_regex_creatorIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE14append_literalEw(ptr noundef nonnull align 8 dereferenceable(216) %0, i32 noundef signext %47) - %184 = load ptr, ptr %8, align 8, !tbaa !812 - %185 = getelementptr inbounds nuw i8, ptr %184, i64 4 - store ptr %185, ptr %8, align 8, !tbaa !812 +_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit48: ; preds = %160 + %167 = tail call noundef ptr @_ZN5boost13re_detail_50019basic_regex_creatorIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE14append_literalEw(ptr noundef nonnull align 8 dereferenceable(216) %0, i32 noundef signext %47) + %168 = load ptr, ptr %8, align 8, !tbaa !812 + %169 = getelementptr inbounds nuw i8, ptr %168, i64 4 + store ptr %169, ptr %8, align 8, !tbaa !812 br label %.thread -186: ; preds = %_ZNK5boost16cpp_regex_traitsIwE18escape_syntax_typeEw.exit - %187 = tail call noundef zeroext i1 @_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_backrefEv(ptr noundef nonnull align 8 dereferenceable(216) %0) +170: ; preds = %_ZNK5boost16cpp_regex_traitsIwE18escape_syntax_typeEw.exit + %171 = tail call noundef zeroext i1 @_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_backrefEv(ptr noundef nonnull align 8 dereferenceable(216) %0) br label %.thread -188: ; preds = %_ZNK5boost16cpp_regex_traitsIwE18escape_syntax_typeEw.exit - %189 = load ptr, ptr %0, align 8, !tbaa !806 - %190 = getelementptr inbounds nuw i8, ptr %189, i64 40 - %191 = load i32, ptr %190, align 8, !tbaa !807 - %192 = and i32 %191, 4096 - %.not26 = icmp eq i32 %192, 0 - br i1 %.not26, label %243, label %193 - -193: ; preds = %188 - %194 = getelementptr inbounds nuw i8, ptr %9, i64 8 - store ptr %194, ptr %8, align 8, !tbaa !812 - %195 = getelementptr inbounds nuw i8, ptr %189, i64 352 - %196 = load ptr, ptr %195, align 8, !tbaa !198 - %197 = getelementptr inbounds nuw i8, ptr %189, i64 360 - %198 = load ptr, ptr %197, align 8, !tbaa !219 - %199 = ptrtoint ptr %198 to i64 - %200 = ptrtoint ptr %196 to i64 - %reass.sub144 = sub i64 %199, %200 - %201 = add i64 %reass.sub144, 7 - %202 = and i64 %201, -8 - %203 = getelementptr inbounds i8, ptr %196, i64 %202 - store ptr %203, ptr %197, align 8, !tbaa !219 - %204 = getelementptr inbounds nuw i8, ptr %0, i64 16 - %205 = load ptr, ptr %204, align 8, !tbaa !818 - %.not.i49 = icmp eq ptr %205, null - br i1 %.not.i49, label %210, label %206 - -206: ; preds = %193 - %207 = ptrtoint ptr %205 to i64 - %.neg.i = sub i64 %200, %207 - %208 = add i64 %.neg.i, %202 - %209 = getelementptr inbounds nuw i8, ptr %205, i64 8 - store i64 %208, ptr %209, align 8, !tbaa !12 +172: ; preds = %_ZNK5boost16cpp_regex_traitsIwE18escape_syntax_typeEw.exit + %173 = load ptr, ptr %0, align 8, !tbaa !806 + %174 = getelementptr inbounds nuw i8, ptr %173, i64 40 + %175 = load i32, ptr %174, align 8, !tbaa !807 + %176 = and i32 %175, 4096 + %.not26 = icmp eq i32 %176, 0 + br i1 %.not26, label %227, label %177 + +177: ; preds = %172 + %178 = getelementptr inbounds nuw i8, ptr %9, i64 8 + store ptr %178, ptr %8, align 8, !tbaa !812 + %179 = getelementptr inbounds nuw i8, ptr %173, i64 352 + %180 = load ptr, ptr %179, align 8, !tbaa !198 + %181 = getelementptr inbounds nuw i8, ptr %173, i64 360 + %182 = load ptr, ptr %181, align 8, !tbaa !219 + %183 = ptrtoint ptr %182 to i64 + %184 = ptrtoint ptr %180 to i64 + %reass.sub144 = sub i64 %183, %184 + %185 = add i64 %reass.sub144, 7 + %186 = and i64 %185, -8 + %187 = getelementptr inbounds i8, ptr %180, i64 %186 + store ptr %187, ptr %181, align 8, !tbaa !219 + %188 = getelementptr inbounds nuw i8, ptr %0, i64 16 + %189 = load ptr, ptr %188, align 8, !tbaa !818 + %.not.i49 = icmp eq ptr %189, null + br i1 %.not.i49, label %194, label %190 + +190: ; preds = %177 + %191 = ptrtoint ptr %189 to i64 + %.neg.i = sub i64 %184, %191 + %192 = add i64 %.neg.i, %186 + %193 = getelementptr inbounds nuw i8, ptr %189, i64 8 + store i64 %192, ptr %193, align 8, !tbaa !12 %.pre.i = load ptr, ptr %0, align 8, !tbaa !806 %.phi.trans.insert.i = getelementptr inbounds nuw i8, ptr %.pre.i, i64 360 %.pre5.i = load ptr, ptr %.phi.trans.insert.i, align 8, !tbaa !219 - br label %210 - -210: ; preds = %206, %193 - %211 = phi ptr [ %.pre5.i, %206 ], [ %203, %193 ] - %212 = phi ptr [ %.pre.i, %206 ], [ %189, %193 ] - %213 = getelementptr inbounds nuw i8, ptr %212, i64 344 - %214 = load ptr, ptr %213, align 8, !tbaa !221 - %215 = ptrtoint ptr %214 to i64 - %216 = ptrtoint ptr %211 to i64 - %217 = sub i64 %215, %216 - %218 = icmp ult i64 %217, 16 - br i1 %218, label %219, label %_ZN5boost13re_detail_50019basic_regex_creatorIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE12append_stateENS0_19syntax_element_typeEm.exit - -219: ; preds = %210 - %220 = getelementptr inbounds nuw i8, ptr %212, i64 352 - %221 = load ptr, ptr %220, align 8, !tbaa !198 - %222 = ptrtoint ptr %221 to i64 - %223 = sub i64 %216, %222 - %224 = add i64 %223, 16 - %.not.i.i.i = icmp eq ptr %221, null - %225 = sub i64 %215, %222 - %226 = select i1 %.not.i.i.i, i64 1024, i64 %225 - br label %227 + br label %194 -227: ; preds = %227, %219 - %.0.i.i.i = phi i64 [ %226, %219 ], [ %229, %227 ] - %228 = icmp ult i64 %.0.i.i.i, %224 - %229 = shl i64 %.0.i.i.i, 1 - br i1 %228, label %227, label %230, !llvm.loop !222 +194: ; preds = %190, %177 + %195 = phi ptr [ %.pre5.i, %190 ], [ %187, %177 ] + %196 = phi ptr [ %.pre.i, %190 ], [ %173, %177 ] + %197 = getelementptr inbounds nuw i8, ptr %196, i64 344 + %198 = load ptr, ptr %197, align 8, !tbaa !221 + %199 = ptrtoint ptr %198 to i64 + %200 = ptrtoint ptr %195 to i64 + %201 = sub i64 %199, %200 + %202 = icmp ult i64 %201, 16 + br i1 %202, label %203, label %_ZN5boost13re_detail_50019basic_regex_creatorIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE12append_stateENS0_19syntax_element_typeEm.exit -230: ; preds = %227 - %231 = add i64 %.0.i.i.i, 7 - %232 = and i64 %231, -8 - %233 = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %232) #34 - %234 = load ptr, ptr %220, align 8, !tbaa !198 - %.not14.i.i.i = icmp eq ptr %234, null - br i1 %.not14.i.i.i, label %_ZN5boost13re_detail_50011raw_storage6resizeEm.exit.i.i, label %235 +203: ; preds = %194 + %204 = getelementptr inbounds nuw i8, ptr %196, i64 352 + %205 = load ptr, ptr %204, align 8, !tbaa !198 + %206 = ptrtoint ptr %205 to i64 + %207 = sub i64 %200, %206 + %208 = add i64 %207, 16 + %.not.i.i.i = icmp eq ptr %205, null + %209 = sub i64 %199, %206 + %210 = select i1 %.not.i.i.i, i64 1024, i64 %209 + br label %211 -235: ; preds = %230 - tail call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 1 %233, ptr nonnull align 1 %234, i64 %223, i1 false) +211: ; preds = %211, %203 + %.0.i.i.i = phi i64 [ %210, %203 ], [ %213, %211 ] + %212 = icmp ult i64 %.0.i.i.i, %208 + %213 = shl i64 %.0.i.i.i, 1 + br i1 %212, label %211, label %214, !llvm.loop !222 + +214: ; preds = %211 + %215 = add i64 %.0.i.i.i, 7 + %216 = and i64 %215, -8 + %217 = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %216) #34 + %218 = load ptr, ptr %204, align 8, !tbaa !198 + %.not14.i.i.i = icmp eq ptr %218, null + br i1 %.not14.i.i.i, label %_ZN5boost13re_detail_50011raw_storage6resizeEm.exit.i.i, label %219 + +219: ; preds = %214 + tail call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 1 %217, ptr nonnull align 1 %218, i64 %207, i1 false) br label %_ZN5boost13re_detail_50011raw_storage6resizeEm.exit.i.i -_ZN5boost13re_detail_50011raw_storage6resizeEm.exit.i.i: ; preds = %235, %230 - tail call void @_ZdlPv(ptr noundef %234) #28 - store ptr %233, ptr %220, align 8, !tbaa !198 - %236 = getelementptr inbounds nuw i8, ptr %233, i64 %223 - %237 = getelementptr inbounds nuw i8, ptr %233, i64 %232 - store ptr %237, ptr %213, align 8, !tbaa !221 +_ZN5boost13re_detail_50011raw_storage6resizeEm.exit.i.i: ; preds = %219, %214 + tail call void @_ZdlPv(ptr noundef %218) #28 + store ptr %217, ptr %204, align 8, !tbaa !198 + %220 = getelementptr inbounds nuw i8, ptr %217, i64 %207 + %221 = getelementptr inbounds nuw i8, ptr %217, i64 %216 + store ptr %221, ptr %197, align 8, !tbaa !221 br label %_ZN5boost13re_detail_50019basic_regex_creatorIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE12append_stateENS0_19syntax_element_typeEm.exit -_ZN5boost13re_detail_50019basic_regex_creatorIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE12append_stateENS0_19syntax_element_typeEm.exit: ; preds = %210, %_ZN5boost13re_detail_50011raw_storage6resizeEm.exit.i.i - %238 = phi ptr [ %236, %_ZN5boost13re_detail_50011raw_storage6resizeEm.exit.i.i ], [ %211, %210 ] - %239 = getelementptr inbounds nuw i8, ptr %212, i64 360 - %240 = getelementptr inbounds nuw i8, ptr %238, i64 16 - store ptr %240, ptr %239, align 8, !tbaa !219 - store ptr %238, ptr %204, align 8, !tbaa !818 - %241 = getelementptr inbounds nuw i8, ptr %238, i64 8 - store i64 0, ptr %241, align 8, !tbaa !12 - %242 = load ptr, ptr %204, align 8, !tbaa !818 - store i32 11, ptr %242, align 8, !tbaa !223 +_ZN5boost13re_detail_50019basic_regex_creatorIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE12append_stateENS0_19syntax_element_typeEm.exit: ; preds = %194, %_ZN5boost13re_detail_50011raw_storage6resizeEm.exit.i.i + %222 = phi ptr [ %220, %_ZN5boost13re_detail_50011raw_storage6resizeEm.exit.i.i ], [ %195, %194 ] + %223 = getelementptr inbounds nuw i8, ptr %196, i64 360 + %224 = getelementptr inbounds nuw i8, ptr %222, i64 16 + store ptr %224, ptr %223, align 8, !tbaa !219 + store ptr %222, ptr %188, align 8, !tbaa !818 + %225 = getelementptr inbounds nuw i8, ptr %222, i64 8 + store i64 0, ptr %225, align 8, !tbaa !12 + %226 = load ptr, ptr %188, align 8, !tbaa !818 + store i32 11, ptr %226, align 8, !tbaa !223 br label %.thread -243: ; preds = %188 - %244 = and i32 %191, 2563 - %.not.i50 = icmp eq i32 %244, 2048 - br i1 %.not.i50, label %245, label %249 +227: ; preds = %172 + %228 = and i32 %175, 2563 + %.not.i50 = icmp eq i32 %228, 2048 + br i1 %.not.i50, label %229, label %233 -245: ; preds = %243 - %246 = getelementptr inbounds nuw i8, ptr %0, i64 84 - %247 = load i32, ptr %246, align 4, !tbaa !828 - %248 = tail call noundef zeroext i1 @_ZNK5boost16cpp_regex_traitsIwE7isctypeEwj(ptr noundef nonnull align 8 dereferenceable(16) %46, i32 noundef signext %47, i32 noundef %247) - br i1 %248, label %_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit51, label %._crit_edge158 +229: ; preds = %227 + %230 = getelementptr inbounds nuw i8, ptr %0, i64 84 + %231 = load i32, ptr %230, align 4, !tbaa !828 + %232 = tail call noundef zeroext i1 @_ZNK5boost16cpp_regex_traitsIwE7isctypeEwj(ptr noundef nonnull align 8 dereferenceable(16) %46, i32 noundef signext %47, i32 noundef %231) + br i1 %232, label %_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit51, label %._crit_edge158 -._crit_edge158: ; preds = %245 +._crit_edge158: ; preds = %229 %.pre159 = load ptr, ptr %8, align 8, !tbaa !812 %.pre160 = load i32, ptr %.pre159, align 4, !tbaa !691 - br label %249 + br label %233 -249: ; preds = %._crit_edge158, %243 - %250 = phi i32 [ %.pre160, %._crit_edge158 ], [ %47, %243 ] - %251 = tail call noundef ptr @_ZN5boost13re_detail_50019basic_regex_creatorIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE14append_literalEw(ptr noundef nonnull align 8 dereferenceable(216) %0, i32 noundef signext %250) +233: ; preds = %._crit_edge158, %227 + %234 = phi i32 [ %.pre160, %._crit_edge158 ], [ %47, %227 ] + %235 = tail call noundef ptr @_ZN5boost13re_detail_50019basic_regex_creatorIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE14append_literalEw(ptr noundef nonnull align 8 dereferenceable(216) %0, i32 noundef signext %234) br label %_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit51 -_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit51: ; preds = %245, %249 - %252 = load ptr, ptr %8, align 8, !tbaa !812 - %253 = getelementptr inbounds nuw i8, ptr %252, i64 4 - store ptr %253, ptr %8, align 8, !tbaa !812 +_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit51: ; preds = %229, %233 + %236 = load ptr, ptr %8, align 8, !tbaa !812 + %237 = getelementptr inbounds nuw i8, ptr %236, i64 4 + store ptr %237, ptr %8, align 8, !tbaa !812 br label %.thread -254: ; preds = %_ZNK5boost16cpp_regex_traitsIwE18escape_syntax_typeEw.exit - %255 = load ptr, ptr %0, align 8, !tbaa !806 - %256 = getelementptr inbounds nuw i8, ptr %255, i64 40 - %257 = load i32, ptr %256, align 8, !tbaa !807 - %258 = and i32 %257, 4096 - %.not25 = icmp eq i32 %258, 0 - br i1 %.not25, label %309, label %259 - -259: ; preds = %254 - %260 = getelementptr inbounds nuw i8, ptr %9, i64 8 - store ptr %260, ptr %8, align 8, !tbaa !812 - %261 = getelementptr inbounds nuw i8, ptr %255, i64 352 - %262 = load ptr, ptr %261, align 8, !tbaa !198 - %263 = getelementptr inbounds nuw i8, ptr %255, i64 360 - %264 = load ptr, ptr %263, align 8, !tbaa !219 - %265 = ptrtoint ptr %264 to i64 - %266 = ptrtoint ptr %262 to i64 - %reass.sub143 = sub i64 %265, %266 - %267 = add i64 %reass.sub143, 7 - %268 = and i64 %267, -8 - %269 = getelementptr inbounds i8, ptr %262, i64 %268 - store ptr %269, ptr %263, align 8, !tbaa !219 - %270 = getelementptr inbounds nuw i8, ptr %0, i64 16 - %271 = load ptr, ptr %270, align 8, !tbaa !818 - %.not.i53 = icmp eq ptr %271, null - br i1 %.not.i53, label %276, label %272 - -272: ; preds = %259 - %273 = ptrtoint ptr %271 to i64 - %.neg.i54 = sub i64 %266, %273 - %274 = add i64 %.neg.i54, %268 - %275 = getelementptr inbounds nuw i8, ptr %271, i64 8 - store i64 %274, ptr %275, align 8, !tbaa !12 +238: ; preds = %_ZNK5boost16cpp_regex_traitsIwE18escape_syntax_typeEw.exit + %239 = load ptr, ptr %0, align 8, !tbaa !806 + %240 = getelementptr inbounds nuw i8, ptr %239, i64 40 + %241 = load i32, ptr %240, align 8, !tbaa !807 + %242 = and i32 %241, 4096 + %.not25 = icmp eq i32 %242, 0 + br i1 %.not25, label %293, label %243 + +243: ; preds = %238 + %244 = getelementptr inbounds nuw i8, ptr %9, i64 8 + store ptr %244, ptr %8, align 8, !tbaa !812 + %245 = getelementptr inbounds nuw i8, ptr %239, i64 352 + %246 = load ptr, ptr %245, align 8, !tbaa !198 + %247 = getelementptr inbounds nuw i8, ptr %239, i64 360 + %248 = load ptr, ptr %247, align 8, !tbaa !219 + %249 = ptrtoint ptr %248 to i64 + %250 = ptrtoint ptr %246 to i64 + %reass.sub143 = sub i64 %249, %250 + %251 = add i64 %reass.sub143, 7 + %252 = and i64 %251, -8 + %253 = getelementptr inbounds i8, ptr %246, i64 %252 + store ptr %253, ptr %247, align 8, !tbaa !219 + %254 = getelementptr inbounds nuw i8, ptr %0, i64 16 + %255 = load ptr, ptr %254, align 8, !tbaa !818 + %.not.i53 = icmp eq ptr %255, null + br i1 %.not.i53, label %260, label %256 + +256: ; preds = %243 + %257 = ptrtoint ptr %255 to i64 + %.neg.i54 = sub i64 %250, %257 + %258 = add i64 %.neg.i54, %252 + %259 = getelementptr inbounds nuw i8, ptr %255, i64 8 + store i64 %258, ptr %259, align 8, !tbaa !12 %.pre.i55 = load ptr, ptr %0, align 8, !tbaa !806 %.phi.trans.insert.i56 = getelementptr inbounds nuw i8, ptr %.pre.i55, i64 360 %.pre5.i57 = load ptr, ptr %.phi.trans.insert.i56, align 8, !tbaa !219 - br label %276 - -276: ; preds = %272, %259 - %277 = phi ptr [ %.pre5.i57, %272 ], [ %269, %259 ] - %278 = phi ptr [ %.pre.i55, %272 ], [ %255, %259 ] - %279 = getelementptr inbounds nuw i8, ptr %278, i64 344 - %280 = load ptr, ptr %279, align 8, !tbaa !221 - %281 = ptrtoint ptr %280 to i64 - %282 = ptrtoint ptr %277 to i64 - %283 = sub i64 %281, %282 - %284 = icmp ult i64 %283, 16 - br i1 %284, label %285, label %_ZN5boost13re_detail_50019basic_regex_creatorIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE12append_stateENS0_19syntax_element_typeEm.exit62 - -285: ; preds = %276 - %286 = getelementptr inbounds nuw i8, ptr %278, i64 352 - %287 = load ptr, ptr %286, align 8, !tbaa !198 - %288 = ptrtoint ptr %287 to i64 - %289 = sub i64 %282, %288 - %290 = add i64 %289, 16 - %.not.i.i.i58 = icmp eq ptr %287, null - %291 = sub i64 %281, %288 - %292 = select i1 %.not.i.i.i58, i64 1024, i64 %291 - br label %293 - -293: ; preds = %293, %285 - %.0.i.i.i59 = phi i64 [ %292, %285 ], [ %295, %293 ] - %294 = icmp ult i64 %.0.i.i.i59, %290 - %295 = shl i64 %.0.i.i.i59, 1 - br i1 %294, label %293, label %296, !llvm.loop !222 - -296: ; preds = %293 - %297 = add i64 %.0.i.i.i59, 7 - %298 = and i64 %297, -8 - %299 = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %298) #34 - %300 = load ptr, ptr %286, align 8, !tbaa !198 - %.not14.i.i.i60 = icmp eq ptr %300, null - br i1 %.not14.i.i.i60, label %_ZN5boost13re_detail_50011raw_storage6resizeEm.exit.i.i61, label %301 - -301: ; preds = %296 - tail call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 1 %299, ptr nonnull align 1 %300, i64 %289, i1 false) + br label %260 + +260: ; preds = %256, %243 + %261 = phi ptr [ %.pre5.i57, %256 ], [ %253, %243 ] + %262 = phi ptr [ %.pre.i55, %256 ], [ %239, %243 ] + %263 = getelementptr inbounds nuw i8, ptr %262, i64 344 + %264 = load ptr, ptr %263, align 8, !tbaa !221 + %265 = ptrtoint ptr %264 to i64 + %266 = ptrtoint ptr %261 to i64 + %267 = sub i64 %265, %266 + %268 = icmp ult i64 %267, 16 + br i1 %268, label %269, label %_ZN5boost13re_detail_50019basic_regex_creatorIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE12append_stateENS0_19syntax_element_typeEm.exit62 + +269: ; preds = %260 + %270 = getelementptr inbounds nuw i8, ptr %262, i64 352 + %271 = load ptr, ptr %270, align 8, !tbaa !198 + %272 = ptrtoint ptr %271 to i64 + %273 = sub i64 %266, %272 + %274 = add i64 %273, 16 + %.not.i.i.i58 = icmp eq ptr %271, null + %275 = sub i64 %265, %272 + %276 = select i1 %.not.i.i.i58, i64 1024, i64 %275 + br label %277 + +277: ; preds = %277, %269 + %.0.i.i.i59 = phi i64 [ %276, %269 ], [ %279, %277 ] + %278 = icmp ult i64 %.0.i.i.i59, %274 + %279 = shl i64 %.0.i.i.i59, 1 + br i1 %278, label %277, label %280, !llvm.loop !222 + +280: ; preds = %277 + %281 = add i64 %.0.i.i.i59, 7 + %282 = and i64 %281, -8 + %283 = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %282) #34 + %284 = load ptr, ptr %270, align 8, !tbaa !198 + %.not14.i.i.i60 = icmp eq ptr %284, null + br i1 %.not14.i.i.i60, label %_ZN5boost13re_detail_50011raw_storage6resizeEm.exit.i.i61, label %285 + +285: ; preds = %280 + tail call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 1 %283, ptr nonnull align 1 %284, i64 %273, i1 false) br label %_ZN5boost13re_detail_50011raw_storage6resizeEm.exit.i.i61 -_ZN5boost13re_detail_50011raw_storage6resizeEm.exit.i.i61: ; preds = %301, %296 - tail call void @_ZdlPv(ptr noundef %300) #28 - store ptr %299, ptr %286, align 8, !tbaa !198 - %302 = getelementptr inbounds nuw i8, ptr %299, i64 %289 - %303 = getelementptr inbounds nuw i8, ptr %299, i64 %298 - store ptr %303, ptr %279, align 8, !tbaa !221 +_ZN5boost13re_detail_50011raw_storage6resizeEm.exit.i.i61: ; preds = %285, %280 + tail call void @_ZdlPv(ptr noundef %284) #28 + store ptr %283, ptr %270, align 8, !tbaa !198 + %286 = getelementptr inbounds nuw i8, ptr %283, i64 %273 + %287 = getelementptr inbounds nuw i8, ptr %283, i64 %282 + store ptr %287, ptr %263, align 8, !tbaa !221 br label %_ZN5boost13re_detail_50019basic_regex_creatorIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE12append_stateENS0_19syntax_element_typeEm.exit62 -_ZN5boost13re_detail_50019basic_regex_creatorIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE12append_stateENS0_19syntax_element_typeEm.exit62: ; preds = %276, %_ZN5boost13re_detail_50011raw_storage6resizeEm.exit.i.i61 - %304 = phi ptr [ %302, %_ZN5boost13re_detail_50011raw_storage6resizeEm.exit.i.i61 ], [ %277, %276 ] - %305 = getelementptr inbounds nuw i8, ptr %278, i64 360 - %306 = getelementptr inbounds nuw i8, ptr %304, i64 16 - store ptr %306, ptr %305, align 8, !tbaa !219 - store ptr %304, ptr %270, align 8, !tbaa !818 - %307 = getelementptr inbounds nuw i8, ptr %304, i64 8 - store i64 0, ptr %307, align 8, !tbaa !12 - %308 = load ptr, ptr %270, align 8, !tbaa !818 - store i32 12, ptr %308, align 8, !tbaa !223 +_ZN5boost13re_detail_50019basic_regex_creatorIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE12append_stateENS0_19syntax_element_typeEm.exit62: ; preds = %260, %_ZN5boost13re_detail_50011raw_storage6resizeEm.exit.i.i61 + %288 = phi ptr [ %286, %_ZN5boost13re_detail_50011raw_storage6resizeEm.exit.i.i61 ], [ %261, %260 ] + %289 = getelementptr inbounds nuw i8, ptr %262, i64 360 + %290 = getelementptr inbounds nuw i8, ptr %288, i64 16 + store ptr %290, ptr %289, align 8, !tbaa !219 + store ptr %288, ptr %254, align 8, !tbaa !818 + %291 = getelementptr inbounds nuw i8, ptr %288, i64 8 + store i64 0, ptr %291, align 8, !tbaa !12 + %292 = load ptr, ptr %254, align 8, !tbaa !818 + store i32 12, ptr %292, align 8, !tbaa !223 br label %.thread -309: ; preds = %254 - %310 = and i32 %257, 2563 - %.not.i63 = icmp eq i32 %310, 2048 - br i1 %.not.i63, label %311, label %315 +293: ; preds = %238 + %294 = and i32 %241, 2563 + %.not.i63 = icmp eq i32 %294, 2048 + br i1 %.not.i63, label %295, label %299 -311: ; preds = %309 - %312 = getelementptr inbounds nuw i8, ptr %0, i64 84 - %313 = load i32, ptr %312, align 4, !tbaa !828 - %314 = tail call noundef zeroext i1 @_ZNK5boost16cpp_regex_traitsIwE7isctypeEwj(ptr noundef nonnull align 8 dereferenceable(16) %46, i32 noundef signext %47, i32 noundef %313) - br i1 %314, label %_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit64, label %._crit_edge155 +295: ; preds = %293 + %296 = getelementptr inbounds nuw i8, ptr %0, i64 84 + %297 = load i32, ptr %296, align 4, !tbaa !828 + %298 = tail call noundef zeroext i1 @_ZNK5boost16cpp_regex_traitsIwE7isctypeEwj(ptr noundef nonnull align 8 dereferenceable(16) %46, i32 noundef signext %47, i32 noundef %297) + br i1 %298, label %_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit64, label %._crit_edge155 -._crit_edge155: ; preds = %311 +._crit_edge155: ; preds = %295 %.pre156 = load ptr, ptr %8, align 8, !tbaa !812 %.pre157 = load i32, ptr %.pre156, align 4, !tbaa !691 - br label %315 + br label %299 -315: ; preds = %._crit_edge155, %309 - %316 = phi i32 [ %.pre157, %._crit_edge155 ], [ %47, %309 ] - %317 = tail call noundef ptr @_ZN5boost13re_detail_50019basic_regex_creatorIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE14append_literalEw(ptr noundef nonnull align 8 dereferenceable(216) %0, i32 noundef signext %316) +299: ; preds = %._crit_edge155, %293 + %300 = phi i32 [ %.pre157, %._crit_edge155 ], [ %47, %293 ] + %301 = tail call noundef ptr @_ZN5boost13re_detail_50019basic_regex_creatorIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE14append_literalEw(ptr noundef nonnull align 8 dereferenceable(216) %0, i32 noundef signext %300) br label %_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit64 -_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit64: ; preds = %311, %315 - %318 = load ptr, ptr %8, align 8, !tbaa !812 - %319 = getelementptr inbounds nuw i8, ptr %318, i64 4 - store ptr %319, ptr %8, align 8, !tbaa !812 +_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit64: ; preds = %295, %299 + %302 = load ptr, ptr %8, align 8, !tbaa !812 + %303 = getelementptr inbounds nuw i8, ptr %302, i64 4 + store ptr %303, ptr %8, align 8, !tbaa !812 br label %.thread -320: ; preds = %_ZNK5boost16cpp_regex_traitsIwE18escape_syntax_typeEw.exit - %321 = load ptr, ptr %0, align 8, !tbaa !806 - %322 = getelementptr inbounds nuw i8, ptr %321, i64 40 - %323 = load i32, ptr %322, align 8, !tbaa !807 - %324 = and i32 %323, 4096 - %.not24 = icmp eq i32 %324, 0 - br i1 %.not24, label %375, label %325 - -325: ; preds = %320 - %326 = getelementptr inbounds nuw i8, ptr %9, i64 8 - store ptr %326, ptr %8, align 8, !tbaa !812 - %327 = getelementptr inbounds nuw i8, ptr %321, i64 352 - %328 = load ptr, ptr %327, align 8, !tbaa !198 - %329 = getelementptr inbounds nuw i8, ptr %321, i64 360 - %330 = load ptr, ptr %329, align 8, !tbaa !219 - %331 = ptrtoint ptr %330 to i64 - %332 = ptrtoint ptr %328 to i64 - %reass.sub142 = sub i64 %331, %332 - %333 = add i64 %reass.sub142, 7 - %334 = and i64 %333, -8 - %335 = getelementptr inbounds i8, ptr %328, i64 %334 - store ptr %335, ptr %329, align 8, !tbaa !219 - %336 = getelementptr inbounds nuw i8, ptr %0, i64 16 - %337 = load ptr, ptr %336, align 8, !tbaa !818 - %.not.i66 = icmp eq ptr %337, null - br i1 %.not.i66, label %342, label %338 - -338: ; preds = %325 - %339 = ptrtoint ptr %337 to i64 - %.neg.i67 = sub i64 %332, %339 - %340 = add i64 %.neg.i67, %334 - %341 = getelementptr inbounds nuw i8, ptr %337, i64 8 - store i64 %340, ptr %341, align 8, !tbaa !12 +304: ; preds = %_ZNK5boost16cpp_regex_traitsIwE18escape_syntax_typeEw.exit + %305 = load ptr, ptr %0, align 8, !tbaa !806 + %306 = getelementptr inbounds nuw i8, ptr %305, i64 40 + %307 = load i32, ptr %306, align 8, !tbaa !807 + %308 = and i32 %307, 4096 + %.not24 = icmp eq i32 %308, 0 + br i1 %.not24, label %359, label %309 + +309: ; preds = %304 + %310 = getelementptr inbounds nuw i8, ptr %9, i64 8 + store ptr %310, ptr %8, align 8, !tbaa !812 + %311 = getelementptr inbounds nuw i8, ptr %305, i64 352 + %312 = load ptr, ptr %311, align 8, !tbaa !198 + %313 = getelementptr inbounds nuw i8, ptr %305, i64 360 + %314 = load ptr, ptr %313, align 8, !tbaa !219 + %315 = ptrtoint ptr %314 to i64 + %316 = ptrtoint ptr %312 to i64 + %reass.sub142 = sub i64 %315, %316 + %317 = add i64 %reass.sub142, 7 + %318 = and i64 %317, -8 + %319 = getelementptr inbounds i8, ptr %312, i64 %318 + store ptr %319, ptr %313, align 8, !tbaa !219 + %320 = getelementptr inbounds nuw i8, ptr %0, i64 16 + %321 = load ptr, ptr %320, align 8, !tbaa !818 + %.not.i66 = icmp eq ptr %321, null + br i1 %.not.i66, label %326, label %322 + +322: ; preds = %309 + %323 = ptrtoint ptr %321 to i64 + %.neg.i67 = sub i64 %316, %323 + %324 = add i64 %.neg.i67, %318 + %325 = getelementptr inbounds nuw i8, ptr %321, i64 8 + store i64 %324, ptr %325, align 8, !tbaa !12 %.pre.i68 = load ptr, ptr %0, align 8, !tbaa !806 %.phi.trans.insert.i69 = getelementptr inbounds nuw i8, ptr %.pre.i68, i64 360 %.pre5.i70 = load ptr, ptr %.phi.trans.insert.i69, align 8, !tbaa !219 - br label %342 - -342: ; preds = %338, %325 - %343 = phi ptr [ %.pre5.i70, %338 ], [ %335, %325 ] - %344 = phi ptr [ %.pre.i68, %338 ], [ %321, %325 ] - %345 = getelementptr inbounds nuw i8, ptr %344, i64 344 - %346 = load ptr, ptr %345, align 8, !tbaa !221 - %347 = ptrtoint ptr %346 to i64 - %348 = ptrtoint ptr %343 to i64 - %349 = sub i64 %347, %348 - %350 = icmp ult i64 %349, 16 - br i1 %350, label %351, label %_ZN5boost13re_detail_50019basic_regex_creatorIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE12append_stateENS0_19syntax_element_typeEm.exit75 - -351: ; preds = %342 - %352 = getelementptr inbounds nuw i8, ptr %344, i64 352 - %353 = load ptr, ptr %352, align 8, !tbaa !198 - %354 = ptrtoint ptr %353 to i64 - %355 = sub i64 %348, %354 - %356 = add i64 %355, 16 - %.not.i.i.i71 = icmp eq ptr %353, null - %357 = sub i64 %347, %354 - %358 = select i1 %.not.i.i.i71, i64 1024, i64 %357 - br label %359 + br label %326 -359: ; preds = %359, %351 - %.0.i.i.i72 = phi i64 [ %358, %351 ], [ %361, %359 ] - %360 = icmp ult i64 %.0.i.i.i72, %356 - %361 = shl i64 %.0.i.i.i72, 1 - br i1 %360, label %359, label %362, !llvm.loop !222 - -362: ; preds = %359 - %363 = add i64 %.0.i.i.i72, 7 - %364 = and i64 %363, -8 - %365 = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %364) #34 - %366 = load ptr, ptr %352, align 8, !tbaa !198 - %.not14.i.i.i73 = icmp eq ptr %366, null - br i1 %.not14.i.i.i73, label %_ZN5boost13re_detail_50011raw_storage6resizeEm.exit.i.i74, label %367 - -367: ; preds = %362 - tail call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 1 %365, ptr nonnull align 1 %366, i64 %355, i1 false) +326: ; preds = %322, %309 + %327 = phi ptr [ %.pre5.i70, %322 ], [ %319, %309 ] + %328 = phi ptr [ %.pre.i68, %322 ], [ %305, %309 ] + %329 = getelementptr inbounds nuw i8, ptr %328, i64 344 + %330 = load ptr, ptr %329, align 8, !tbaa !221 + %331 = ptrtoint ptr %330 to i64 + %332 = ptrtoint ptr %327 to i64 + %333 = sub i64 %331, %332 + %334 = icmp ult i64 %333, 16 + br i1 %334, label %335, label %_ZN5boost13re_detail_50019basic_regex_creatorIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE12append_stateENS0_19syntax_element_typeEm.exit75 + +335: ; preds = %326 + %336 = getelementptr inbounds nuw i8, ptr %328, i64 352 + %337 = load ptr, ptr %336, align 8, !tbaa !198 + %338 = ptrtoint ptr %337 to i64 + %339 = sub i64 %332, %338 + %340 = add i64 %339, 16 + %.not.i.i.i71 = icmp eq ptr %337, null + %341 = sub i64 %331, %338 + %342 = select i1 %.not.i.i.i71, i64 1024, i64 %341 + br label %343 + +343: ; preds = %343, %335 + %.0.i.i.i72 = phi i64 [ %342, %335 ], [ %345, %343 ] + %344 = icmp ult i64 %.0.i.i.i72, %340 + %345 = shl i64 %.0.i.i.i72, 1 + br i1 %344, label %343, label %346, !llvm.loop !222 + +346: ; preds = %343 + %347 = add i64 %.0.i.i.i72, 7 + %348 = and i64 %347, -8 + %349 = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %348) #34 + %350 = load ptr, ptr %336, align 8, !tbaa !198 + %.not14.i.i.i73 = icmp eq ptr %350, null + br i1 %.not14.i.i.i73, label %_ZN5boost13re_detail_50011raw_storage6resizeEm.exit.i.i74, label %351 + +351: ; preds = %346 + tail call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 1 %349, ptr nonnull align 1 %350, i64 %339, i1 false) br label %_ZN5boost13re_detail_50011raw_storage6resizeEm.exit.i.i74 -_ZN5boost13re_detail_50011raw_storage6resizeEm.exit.i.i74: ; preds = %367, %362 - tail call void @_ZdlPv(ptr noundef %366) #28 - store ptr %365, ptr %352, align 8, !tbaa !198 - %368 = getelementptr inbounds nuw i8, ptr %365, i64 %355 - %369 = getelementptr inbounds nuw i8, ptr %365, i64 %364 - store ptr %369, ptr %345, align 8, !tbaa !221 +_ZN5boost13re_detail_50011raw_storage6resizeEm.exit.i.i74: ; preds = %351, %346 + tail call void @_ZdlPv(ptr noundef %350) #28 + store ptr %349, ptr %336, align 8, !tbaa !198 + %352 = getelementptr inbounds nuw i8, ptr %349, i64 %339 + %353 = getelementptr inbounds nuw i8, ptr %349, i64 %348 + store ptr %353, ptr %329, align 8, !tbaa !221 br label %_ZN5boost13re_detail_50019basic_regex_creatorIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE12append_stateENS0_19syntax_element_typeEm.exit75 -_ZN5boost13re_detail_50019basic_regex_creatorIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE12append_stateENS0_19syntax_element_typeEm.exit75: ; preds = %342, %_ZN5boost13re_detail_50011raw_storage6resizeEm.exit.i.i74 - %370 = phi ptr [ %368, %_ZN5boost13re_detail_50011raw_storage6resizeEm.exit.i.i74 ], [ %343, %342 ] - %371 = getelementptr inbounds nuw i8, ptr %344, i64 360 - %372 = getelementptr inbounds nuw i8, ptr %370, i64 16 - store ptr %372, ptr %371, align 8, !tbaa !219 - store ptr %370, ptr %336, align 8, !tbaa !818 - %373 = getelementptr inbounds nuw i8, ptr %370, i64 8 - store i64 0, ptr %373, align 8, !tbaa !12 - %374 = load ptr, ptr %336, align 8, !tbaa !818 - store i32 7, ptr %374, align 8, !tbaa !223 +_ZN5boost13re_detail_50019basic_regex_creatorIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE12append_stateENS0_19syntax_element_typeEm.exit75: ; preds = %326, %_ZN5boost13re_detail_50011raw_storage6resizeEm.exit.i.i74 + %354 = phi ptr [ %352, %_ZN5boost13re_detail_50011raw_storage6resizeEm.exit.i.i74 ], [ %327, %326 ] + %355 = getelementptr inbounds nuw i8, ptr %328, i64 360 + %356 = getelementptr inbounds nuw i8, ptr %354, i64 16 + store ptr %356, ptr %355, align 8, !tbaa !219 + store ptr %354, ptr %320, align 8, !tbaa !818 + %357 = getelementptr inbounds nuw i8, ptr %354, i64 8 + store i64 0, ptr %357, align 8, !tbaa !12 + %358 = load ptr, ptr %320, align 8, !tbaa !818 + store i32 7, ptr %358, align 8, !tbaa !223 br label %.thread -375: ; preds = %320 - %376 = and i32 %323, 2563 - %.not.i76 = icmp eq i32 %376, 2048 - br i1 %.not.i76, label %377, label %381 +359: ; preds = %304 + %360 = and i32 %307, 2563 + %.not.i76 = icmp eq i32 %360, 2048 + br i1 %.not.i76, label %361, label %365 -377: ; preds = %375 - %378 = getelementptr inbounds nuw i8, ptr %0, i64 84 - %379 = load i32, ptr %378, align 4, !tbaa !828 - %380 = tail call noundef zeroext i1 @_ZNK5boost16cpp_regex_traitsIwE7isctypeEwj(ptr noundef nonnull align 8 dereferenceable(16) %46, i32 noundef signext %47, i32 noundef %379) - br i1 %380, label %_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit77, label %._crit_edge152 +361: ; preds = %359 + %362 = getelementptr inbounds nuw i8, ptr %0, i64 84 + %363 = load i32, ptr %362, align 4, !tbaa !828 + %364 = tail call noundef zeroext i1 @_ZNK5boost16cpp_regex_traitsIwE7isctypeEwj(ptr noundef nonnull align 8 dereferenceable(16) %46, i32 noundef signext %47, i32 noundef %363) + br i1 %364, label %_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit77, label %._crit_edge152 -._crit_edge152: ; preds = %377 +._crit_edge152: ; preds = %361 %.pre153 = load ptr, ptr %8, align 8, !tbaa !812 %.pre154 = load i32, ptr %.pre153, align 4, !tbaa !691 - br label %381 + br label %365 -381: ; preds = %._crit_edge152, %375 - %382 = phi i32 [ %.pre154, %._crit_edge152 ], [ %47, %375 ] - %383 = tail call noundef ptr @_ZN5boost13re_detail_50019basic_regex_creatorIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE14append_literalEw(ptr noundef nonnull align 8 dereferenceable(216) %0, i32 noundef signext %382) +365: ; preds = %._crit_edge152, %359 + %366 = phi i32 [ %.pre154, %._crit_edge152 ], [ %47, %359 ] + %367 = tail call noundef ptr @_ZN5boost13re_detail_50019basic_regex_creatorIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE14append_literalEw(ptr noundef nonnull align 8 dereferenceable(216) %0, i32 noundef signext %366) br label %_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit77 -_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit77: ; preds = %377, %381 - %384 = load ptr, ptr %8, align 8, !tbaa !812 - %385 = getelementptr inbounds nuw i8, ptr %384, i64 4 - store ptr %385, ptr %8, align 8, !tbaa !812 +_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit77: ; preds = %361, %365 + %368 = load ptr, ptr %8, align 8, !tbaa !812 + %369 = getelementptr inbounds nuw i8, ptr %368, i64 4 + store ptr %369, ptr %8, align 8, !tbaa !812 br label %.thread -386: ; preds = %_ZNK5boost16cpp_regex_traitsIwE18escape_syntax_typeEw.exit - %387 = load ptr, ptr %0, align 8, !tbaa !806 - %388 = getelementptr inbounds nuw i8, ptr %387, i64 40 - %389 = load i32, ptr %388, align 8, !tbaa !807 - %390 = and i32 %389, 4096 - %.not23 = icmp eq i32 %390, 0 - br i1 %.not23, label %441, label %391 - -391: ; preds = %386 - %392 = getelementptr inbounds nuw i8, ptr %9, i64 8 - store ptr %392, ptr %8, align 8, !tbaa !812 - %393 = getelementptr inbounds nuw i8, ptr %387, i64 352 - %394 = load ptr, ptr %393, align 8, !tbaa !198 - %395 = getelementptr inbounds nuw i8, ptr %387, i64 360 - %396 = load ptr, ptr %395, align 8, !tbaa !219 - %397 = ptrtoint ptr %396 to i64 - %398 = ptrtoint ptr %394 to i64 - %reass.sub141 = sub i64 %397, %398 - %399 = add i64 %reass.sub141, 7 - %400 = and i64 %399, -8 - %401 = getelementptr inbounds i8, ptr %394, i64 %400 - store ptr %401, ptr %395, align 8, !tbaa !219 - %402 = getelementptr inbounds nuw i8, ptr %0, i64 16 - %403 = load ptr, ptr %402, align 8, !tbaa !818 - %.not.i79 = icmp eq ptr %403, null - br i1 %.not.i79, label %408, label %404 - -404: ; preds = %391 - %405 = ptrtoint ptr %403 to i64 - %.neg.i80 = sub i64 %398, %405 - %406 = add i64 %.neg.i80, %400 - %407 = getelementptr inbounds nuw i8, ptr %403, i64 8 - store i64 %406, ptr %407, align 8, !tbaa !12 +370: ; preds = %_ZNK5boost16cpp_regex_traitsIwE18escape_syntax_typeEw.exit + %371 = load ptr, ptr %0, align 8, !tbaa !806 + %372 = getelementptr inbounds nuw i8, ptr %371, i64 40 + %373 = load i32, ptr %372, align 8, !tbaa !807 + %374 = and i32 %373, 4096 + %.not23 = icmp eq i32 %374, 0 + br i1 %.not23, label %425, label %375 + +375: ; preds = %370 + %376 = getelementptr inbounds nuw i8, ptr %9, i64 8 + store ptr %376, ptr %8, align 8, !tbaa !812 + %377 = getelementptr inbounds nuw i8, ptr %371, i64 352 + %378 = load ptr, ptr %377, align 8, !tbaa !198 + %379 = getelementptr inbounds nuw i8, ptr %371, i64 360 + %380 = load ptr, ptr %379, align 8, !tbaa !219 + %381 = ptrtoint ptr %380 to i64 + %382 = ptrtoint ptr %378 to i64 + %reass.sub141 = sub i64 %381, %382 + %383 = add i64 %reass.sub141, 7 + %384 = and i64 %383, -8 + %385 = getelementptr inbounds i8, ptr %378, i64 %384 + store ptr %385, ptr %379, align 8, !tbaa !219 + %386 = getelementptr inbounds nuw i8, ptr %0, i64 16 + %387 = load ptr, ptr %386, align 8, !tbaa !818 + %.not.i79 = icmp eq ptr %387, null + br i1 %.not.i79, label %392, label %388 + +388: ; preds = %375 + %389 = ptrtoint ptr %387 to i64 + %.neg.i80 = sub i64 %382, %389 + %390 = add i64 %.neg.i80, %384 + %391 = getelementptr inbounds nuw i8, ptr %387, i64 8 + store i64 %390, ptr %391, align 8, !tbaa !12 %.pre.i81 = load ptr, ptr %0, align 8, !tbaa !806 %.phi.trans.insert.i82 = getelementptr inbounds nuw i8, ptr %.pre.i81, i64 360 %.pre5.i83 = load ptr, ptr %.phi.trans.insert.i82, align 8, !tbaa !219 - br label %408 + br label %392 -408: ; preds = %404, %391 - %409 = phi ptr [ %.pre5.i83, %404 ], [ %401, %391 ] - %410 = phi ptr [ %.pre.i81, %404 ], [ %387, %391 ] - %411 = getelementptr inbounds nuw i8, ptr %410, i64 344 - %412 = load ptr, ptr %411, align 8, !tbaa !221 - %413 = ptrtoint ptr %412 to i64 - %414 = ptrtoint ptr %409 to i64 - %415 = sub i64 %413, %414 - %416 = icmp ult i64 %415, 16 - br i1 %416, label %417, label %_ZN5boost13re_detail_50019basic_regex_creatorIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE12append_stateENS0_19syntax_element_typeEm.exit88 - -417: ; preds = %408 - %418 = getelementptr inbounds nuw i8, ptr %410, i64 352 - %419 = load ptr, ptr %418, align 8, !tbaa !198 - %420 = ptrtoint ptr %419 to i64 - %421 = sub i64 %414, %420 - %422 = add i64 %421, 16 - %.not.i.i.i84 = icmp eq ptr %419, null - %423 = sub i64 %413, %420 - %424 = select i1 %.not.i.i.i84, i64 1024, i64 %423 - br label %425 - -425: ; preds = %425, %417 - %.0.i.i.i85 = phi i64 [ %424, %417 ], [ %427, %425 ] - %426 = icmp ult i64 %.0.i.i.i85, %422 - %427 = shl i64 %.0.i.i.i85, 1 - br i1 %426, label %425, label %428, !llvm.loop !222 - -428: ; preds = %425 - %429 = add i64 %.0.i.i.i85, 7 - %430 = and i64 %429, -8 - %431 = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %430) #34 - %432 = load ptr, ptr %418, align 8, !tbaa !198 - %.not14.i.i.i86 = icmp eq ptr %432, null - br i1 %.not14.i.i.i86, label %_ZN5boost13re_detail_50011raw_storage6resizeEm.exit.i.i87, label %433 - -433: ; preds = %428 - tail call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 1 %431, ptr nonnull align 1 %432, i64 %421, i1 false) +392: ; preds = %388, %375 + %393 = phi ptr [ %.pre5.i83, %388 ], [ %385, %375 ] + %394 = phi ptr [ %.pre.i81, %388 ], [ %371, %375 ] + %395 = getelementptr inbounds nuw i8, ptr %394, i64 344 + %396 = load ptr, ptr %395, align 8, !tbaa !221 + %397 = ptrtoint ptr %396 to i64 + %398 = ptrtoint ptr %393 to i64 + %399 = sub i64 %397, %398 + %400 = icmp ult i64 %399, 16 + br i1 %400, label %401, label %_ZN5boost13re_detail_50019basic_regex_creatorIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE12append_stateENS0_19syntax_element_typeEm.exit88 + +401: ; preds = %392 + %402 = getelementptr inbounds nuw i8, ptr %394, i64 352 + %403 = load ptr, ptr %402, align 8, !tbaa !198 + %404 = ptrtoint ptr %403 to i64 + %405 = sub i64 %398, %404 + %406 = add i64 %405, 16 + %.not.i.i.i84 = icmp eq ptr %403, null + %407 = sub i64 %397, %404 + %408 = select i1 %.not.i.i.i84, i64 1024, i64 %407 + br label %409 + +409: ; preds = %409, %401 + %.0.i.i.i85 = phi i64 [ %408, %401 ], [ %411, %409 ] + %410 = icmp ult i64 %.0.i.i.i85, %406 + %411 = shl i64 %.0.i.i.i85, 1 + br i1 %410, label %409, label %412, !llvm.loop !222 + +412: ; preds = %409 + %413 = add i64 %.0.i.i.i85, 7 + %414 = and i64 %413, -8 + %415 = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %414) #34 + %416 = load ptr, ptr %402, align 8, !tbaa !198 + %.not14.i.i.i86 = icmp eq ptr %416, null + br i1 %.not14.i.i.i86, label %_ZN5boost13re_detail_50011raw_storage6resizeEm.exit.i.i87, label %417 + +417: ; preds = %412 + tail call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 1 %415, ptr nonnull align 1 %416, i64 %405, i1 false) br label %_ZN5boost13re_detail_50011raw_storage6resizeEm.exit.i.i87 -_ZN5boost13re_detail_50011raw_storage6resizeEm.exit.i.i87: ; preds = %433, %428 - tail call void @_ZdlPv(ptr noundef %432) #28 - store ptr %431, ptr %418, align 8, !tbaa !198 - %434 = getelementptr inbounds nuw i8, ptr %431, i64 %421 - %435 = getelementptr inbounds nuw i8, ptr %431, i64 %430 - store ptr %435, ptr %411, align 8, !tbaa !221 +_ZN5boost13re_detail_50011raw_storage6resizeEm.exit.i.i87: ; preds = %417, %412 + tail call void @_ZdlPv(ptr noundef %416) #28 + store ptr %415, ptr %402, align 8, !tbaa !198 + %418 = getelementptr inbounds nuw i8, ptr %415, i64 %405 + %419 = getelementptr inbounds nuw i8, ptr %415, i64 %414 + store ptr %419, ptr %395, align 8, !tbaa !221 br label %_ZN5boost13re_detail_50019basic_regex_creatorIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE12append_stateENS0_19syntax_element_typeEm.exit88 -_ZN5boost13re_detail_50019basic_regex_creatorIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE12append_stateENS0_19syntax_element_typeEm.exit88: ; preds = %408, %_ZN5boost13re_detail_50011raw_storage6resizeEm.exit.i.i87 - %436 = phi ptr [ %434, %_ZN5boost13re_detail_50011raw_storage6resizeEm.exit.i.i87 ], [ %409, %408 ] - %437 = getelementptr inbounds nuw i8, ptr %410, i64 360 - %438 = getelementptr inbounds nuw i8, ptr %436, i64 16 - store ptr %438, ptr %437, align 8, !tbaa !219 - store ptr %436, ptr %402, align 8, !tbaa !818 - %439 = getelementptr inbounds nuw i8, ptr %436, i64 8 - store i64 0, ptr %439, align 8, !tbaa !12 - %440 = load ptr, ptr %402, align 8, !tbaa !818 - store i32 8, ptr %440, align 8, !tbaa !223 +_ZN5boost13re_detail_50019basic_regex_creatorIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE12append_stateENS0_19syntax_element_typeEm.exit88: ; preds = %392, %_ZN5boost13re_detail_50011raw_storage6resizeEm.exit.i.i87 + %420 = phi ptr [ %418, %_ZN5boost13re_detail_50011raw_storage6resizeEm.exit.i.i87 ], [ %393, %392 ] + %421 = getelementptr inbounds nuw i8, ptr %394, i64 360 + %422 = getelementptr inbounds nuw i8, ptr %420, i64 16 + store ptr %422, ptr %421, align 8, !tbaa !219 + store ptr %420, ptr %386, align 8, !tbaa !818 + %423 = getelementptr inbounds nuw i8, ptr %420, i64 8 + store i64 0, ptr %423, align 8, !tbaa !12 + %424 = load ptr, ptr %386, align 8, !tbaa !818 + store i32 8, ptr %424, align 8, !tbaa !223 br label %.thread -441: ; preds = %386 - %442 = and i32 %389, 2563 - %.not.i89 = icmp eq i32 %442, 2048 - br i1 %.not.i89, label %443, label %447 +425: ; preds = %370 + %426 = and i32 %373, 2563 + %.not.i89 = icmp eq i32 %426, 2048 + br i1 %.not.i89, label %427, label %431 -443: ; preds = %441 - %444 = getelementptr inbounds nuw i8, ptr %0, i64 84 - %445 = load i32, ptr %444, align 4, !tbaa !828 - %446 = tail call noundef zeroext i1 @_ZNK5boost16cpp_regex_traitsIwE7isctypeEwj(ptr noundef nonnull align 8 dereferenceable(16) %46, i32 noundef signext %47, i32 noundef %445) - br i1 %446, label %_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit90, label %._crit_edge149 +427: ; preds = %425 + %428 = getelementptr inbounds nuw i8, ptr %0, i64 84 + %429 = load i32, ptr %428, align 4, !tbaa !828 + %430 = tail call noundef zeroext i1 @_ZNK5boost16cpp_regex_traitsIwE7isctypeEwj(ptr noundef nonnull align 8 dereferenceable(16) %46, i32 noundef signext %47, i32 noundef %429) + br i1 %430, label %_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit90, label %._crit_edge149 -._crit_edge149: ; preds = %443 +._crit_edge149: ; preds = %427 %.pre150 = load ptr, ptr %8, align 8, !tbaa !812 %.pre151 = load i32, ptr %.pre150, align 4, !tbaa !691 - br label %447 + br label %431 -447: ; preds = %._crit_edge149, %441 - %448 = phi i32 [ %.pre151, %._crit_edge149 ], [ %47, %441 ] - %449 = tail call noundef ptr @_ZN5boost13re_detail_50019basic_regex_creatorIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE14append_literalEw(ptr noundef nonnull align 8 dereferenceable(216) %0, i32 noundef signext %448) +431: ; preds = %._crit_edge149, %425 + %432 = phi i32 [ %.pre151, %._crit_edge149 ], [ %47, %425 ] + %433 = tail call noundef ptr @_ZN5boost13re_detail_50019basic_regex_creatorIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE14append_literalEw(ptr noundef nonnull align 8 dereferenceable(216) %0, i32 noundef signext %432) br label %_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit90 -_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit90: ; preds = %443, %447 - %450 = load ptr, ptr %8, align 8, !tbaa !812 - %451 = getelementptr inbounds nuw i8, ptr %450, i64 4 - store ptr %451, ptr %8, align 8, !tbaa !812 +_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit90: ; preds = %427, %431 + %434 = load ptr, ptr %8, align 8, !tbaa !812 + %435 = getelementptr inbounds nuw i8, ptr %434, i64 4 + store ptr %435, ptr %8, align 8, !tbaa !812 br label %.thread -452: ; preds = %_ZNK5boost16cpp_regex_traitsIwE18escape_syntax_typeEw.exit - %453 = load ptr, ptr %0, align 8, !tbaa !806 - %454 = getelementptr inbounds nuw i8, ptr %453, i64 40 - %455 = load i32, ptr %454, align 8, !tbaa !807 - %456 = and i32 %455, 4096 - %.not22 = icmp eq i32 %456, 0 - br i1 %.not22, label %507, label %457 - -457: ; preds = %452 - %458 = getelementptr inbounds nuw i8, ptr %9, i64 8 - store ptr %458, ptr %8, align 8, !tbaa !812 - %459 = getelementptr inbounds nuw i8, ptr %453, i64 352 - %460 = load ptr, ptr %459, align 8, !tbaa !198 - %461 = getelementptr inbounds nuw i8, ptr %453, i64 360 - %462 = load ptr, ptr %461, align 8, !tbaa !219 - %463 = ptrtoint ptr %462 to i64 - %464 = ptrtoint ptr %460 to i64 - %reass.sub140 = sub i64 %463, %464 - %465 = add i64 %reass.sub140, 7 - %466 = and i64 %465, -8 - %467 = getelementptr inbounds i8, ptr %460, i64 %466 - store ptr %467, ptr %461, align 8, !tbaa !219 - %468 = getelementptr inbounds nuw i8, ptr %0, i64 16 - %469 = load ptr, ptr %468, align 8, !tbaa !818 - %.not.i92 = icmp eq ptr %469, null - br i1 %.not.i92, label %474, label %470 - -470: ; preds = %457 - %471 = ptrtoint ptr %469 to i64 - %.neg.i93 = sub i64 %464, %471 - %472 = add i64 %.neg.i93, %466 - %473 = getelementptr inbounds nuw i8, ptr %469, i64 8 - store i64 %472, ptr %473, align 8, !tbaa !12 +436: ; preds = %_ZNK5boost16cpp_regex_traitsIwE18escape_syntax_typeEw.exit + %437 = load ptr, ptr %0, align 8, !tbaa !806 + %438 = getelementptr inbounds nuw i8, ptr %437, i64 40 + %439 = load i32, ptr %438, align 8, !tbaa !807 + %440 = and i32 %439, 4096 + %.not22 = icmp eq i32 %440, 0 + br i1 %.not22, label %491, label %441 + +441: ; preds = %436 + %442 = getelementptr inbounds nuw i8, ptr %9, i64 8 + store ptr %442, ptr %8, align 8, !tbaa !812 + %443 = getelementptr inbounds nuw i8, ptr %437, i64 352 + %444 = load ptr, ptr %443, align 8, !tbaa !198 + %445 = getelementptr inbounds nuw i8, ptr %437, i64 360 + %446 = load ptr, ptr %445, align 8, !tbaa !219 + %447 = ptrtoint ptr %446 to i64 + %448 = ptrtoint ptr %444 to i64 + %reass.sub140 = sub i64 %447, %448 + %449 = add i64 %reass.sub140, 7 + %450 = and i64 %449, -8 + %451 = getelementptr inbounds i8, ptr %444, i64 %450 + store ptr %451, ptr %445, align 8, !tbaa !219 + %452 = getelementptr inbounds nuw i8, ptr %0, i64 16 + %453 = load ptr, ptr %452, align 8, !tbaa !818 + %.not.i92 = icmp eq ptr %453, null + br i1 %.not.i92, label %458, label %454 + +454: ; preds = %441 + %455 = ptrtoint ptr %453 to i64 + %.neg.i93 = sub i64 %448, %455 + %456 = add i64 %.neg.i93, %450 + %457 = getelementptr inbounds nuw i8, ptr %453, i64 8 + store i64 %456, ptr %457, align 8, !tbaa !12 %.pre.i94 = load ptr, ptr %0, align 8, !tbaa !806 %.phi.trans.insert.i95 = getelementptr inbounds nuw i8, ptr %.pre.i94, i64 360 %.pre5.i96 = load ptr, ptr %.phi.trans.insert.i95, align 8, !tbaa !219 - br label %474 + br label %458 -474: ; preds = %470, %457 - %475 = phi ptr [ %.pre5.i96, %470 ], [ %467, %457 ] - %476 = phi ptr [ %.pre.i94, %470 ], [ %453, %457 ] - %477 = getelementptr inbounds nuw i8, ptr %476, i64 344 - %478 = load ptr, ptr %477, align 8, !tbaa !221 - %479 = ptrtoint ptr %478 to i64 - %480 = ptrtoint ptr %475 to i64 - %481 = sub i64 %479, %480 - %482 = icmp ult i64 %481, 16 - br i1 %482, label %483, label %_ZN5boost13re_detail_50019basic_regex_creatorIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE12append_stateENS0_19syntax_element_typeEm.exit101 - -483: ; preds = %474 - %484 = getelementptr inbounds nuw i8, ptr %476, i64 352 - %485 = load ptr, ptr %484, align 8, !tbaa !198 - %486 = ptrtoint ptr %485 to i64 - %487 = sub i64 %480, %486 - %488 = add i64 %487, 16 - %.not.i.i.i97 = icmp eq ptr %485, null - %489 = sub i64 %479, %486 - %490 = select i1 %.not.i.i.i97, i64 1024, i64 %489 - br label %491 - -491: ; preds = %491, %483 - %.0.i.i.i98 = phi i64 [ %490, %483 ], [ %493, %491 ] - %492 = icmp ult i64 %.0.i.i.i98, %488 - %493 = shl i64 %.0.i.i.i98, 1 - br i1 %492, label %491, label %494, !llvm.loop !222 - -494: ; preds = %491 - %495 = add i64 %.0.i.i.i98, 7 - %496 = and i64 %495, -8 - %497 = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %496) #34 - %498 = load ptr, ptr %484, align 8, !tbaa !198 - %.not14.i.i.i99 = icmp eq ptr %498, null - br i1 %.not14.i.i.i99, label %_ZN5boost13re_detail_50011raw_storage6resizeEm.exit.i.i100, label %499 - -499: ; preds = %494 - tail call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 1 %497, ptr nonnull align 1 %498, i64 %487, i1 false) +458: ; preds = %454, %441 + %459 = phi ptr [ %.pre5.i96, %454 ], [ %451, %441 ] + %460 = phi ptr [ %.pre.i94, %454 ], [ %437, %441 ] + %461 = getelementptr inbounds nuw i8, ptr %460, i64 344 + %462 = load ptr, ptr %461, align 8, !tbaa !221 + %463 = ptrtoint ptr %462 to i64 + %464 = ptrtoint ptr %459 to i64 + %465 = sub i64 %463, %464 + %466 = icmp ult i64 %465, 16 + br i1 %466, label %467, label %_ZN5boost13re_detail_50019basic_regex_creatorIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE12append_stateENS0_19syntax_element_typeEm.exit101 + +467: ; preds = %458 + %468 = getelementptr inbounds nuw i8, ptr %460, i64 352 + %469 = load ptr, ptr %468, align 8, !tbaa !198 + %470 = ptrtoint ptr %469 to i64 + %471 = sub i64 %464, %470 + %472 = add i64 %471, 16 + %.not.i.i.i97 = icmp eq ptr %469, null + %473 = sub i64 %463, %470 + %474 = select i1 %.not.i.i.i97, i64 1024, i64 %473 + br label %475 + +475: ; preds = %475, %467 + %.0.i.i.i98 = phi i64 [ %474, %467 ], [ %477, %475 ] + %476 = icmp ult i64 %.0.i.i.i98, %472 + %477 = shl i64 %.0.i.i.i98, 1 + br i1 %476, label %475, label %478, !llvm.loop !222 + +478: ; preds = %475 + %479 = add i64 %.0.i.i.i98, 7 + %480 = and i64 %479, -8 + %481 = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %480) #34 + %482 = load ptr, ptr %468, align 8, !tbaa !198 + %.not14.i.i.i99 = icmp eq ptr %482, null + br i1 %.not14.i.i.i99, label %_ZN5boost13re_detail_50011raw_storage6resizeEm.exit.i.i100, label %483 + +483: ; preds = %478 + tail call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 1 %481, ptr nonnull align 1 %482, i64 %471, i1 false) br label %_ZN5boost13re_detail_50011raw_storage6resizeEm.exit.i.i100 -_ZN5boost13re_detail_50011raw_storage6resizeEm.exit.i.i100: ; preds = %499, %494 - tail call void @_ZdlPv(ptr noundef %498) #28 - store ptr %497, ptr %484, align 8, !tbaa !198 - %500 = getelementptr inbounds nuw i8, ptr %497, i64 %487 - %501 = getelementptr inbounds nuw i8, ptr %497, i64 %496 - store ptr %501, ptr %477, align 8, !tbaa !221 +_ZN5boost13re_detail_50011raw_storage6resizeEm.exit.i.i100: ; preds = %483, %478 + tail call void @_ZdlPv(ptr noundef %482) #28 + store ptr %481, ptr %468, align 8, !tbaa !198 + %484 = getelementptr inbounds nuw i8, ptr %481, i64 %471 + %485 = getelementptr inbounds nuw i8, ptr %481, i64 %480 + store ptr %485, ptr %461, align 8, !tbaa !221 br label %_ZN5boost13re_detail_50019basic_regex_creatorIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE12append_stateENS0_19syntax_element_typeEm.exit101 -_ZN5boost13re_detail_50019basic_regex_creatorIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE12append_stateENS0_19syntax_element_typeEm.exit101: ; preds = %474, %_ZN5boost13re_detail_50011raw_storage6resizeEm.exit.i.i100 - %502 = phi ptr [ %500, %_ZN5boost13re_detail_50011raw_storage6resizeEm.exit.i.i100 ], [ %475, %474 ] - %503 = getelementptr inbounds nuw i8, ptr %476, i64 360 - %504 = getelementptr inbounds nuw i8, ptr %502, i64 16 - store ptr %504, ptr %503, align 8, !tbaa !219 - store ptr %502, ptr %468, align 8, !tbaa !818 - %505 = getelementptr inbounds nuw i8, ptr %502, i64 8 - store i64 0, ptr %505, align 8, !tbaa !12 - %506 = load ptr, ptr %468, align 8, !tbaa !818 - store i32 9, ptr %506, align 8, !tbaa !223 +_ZN5boost13re_detail_50019basic_regex_creatorIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE12append_stateENS0_19syntax_element_typeEm.exit101: ; preds = %458, %_ZN5boost13re_detail_50011raw_storage6resizeEm.exit.i.i100 + %486 = phi ptr [ %484, %_ZN5boost13re_detail_50011raw_storage6resizeEm.exit.i.i100 ], [ %459, %458 ] + %487 = getelementptr inbounds nuw i8, ptr %460, i64 360 + %488 = getelementptr inbounds nuw i8, ptr %486, i64 16 + store ptr %488, ptr %487, align 8, !tbaa !219 + store ptr %486, ptr %452, align 8, !tbaa !818 + %489 = getelementptr inbounds nuw i8, ptr %486, i64 8 + store i64 0, ptr %489, align 8, !tbaa !12 + %490 = load ptr, ptr %452, align 8, !tbaa !818 + store i32 9, ptr %490, align 8, !tbaa !223 br label %.thread -507: ; preds = %452 - %508 = and i32 %455, 2563 - %.not.i102 = icmp eq i32 %508, 2048 - br i1 %.not.i102, label %509, label %513 +491: ; preds = %436 + %492 = and i32 %439, 2563 + %.not.i102 = icmp eq i32 %492, 2048 + br i1 %.not.i102, label %493, label %497 -509: ; preds = %507 - %510 = getelementptr inbounds nuw i8, ptr %0, i64 84 - %511 = load i32, ptr %510, align 4, !tbaa !828 - %512 = tail call noundef zeroext i1 @_ZNK5boost16cpp_regex_traitsIwE7isctypeEwj(ptr noundef nonnull align 8 dereferenceable(16) %46, i32 noundef signext %47, i32 noundef %511) - br i1 %512, label %_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit103, label %._crit_edge146 +493: ; preds = %491 + %494 = getelementptr inbounds nuw i8, ptr %0, i64 84 + %495 = load i32, ptr %494, align 4, !tbaa !828 + %496 = tail call noundef zeroext i1 @_ZNK5boost16cpp_regex_traitsIwE7isctypeEwj(ptr noundef nonnull align 8 dereferenceable(16) %46, i32 noundef signext %47, i32 noundef %495) + br i1 %496, label %_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit103, label %._crit_edge146 -._crit_edge146: ; preds = %509 +._crit_edge146: ; preds = %493 %.pre147 = load ptr, ptr %8, align 8, !tbaa !812 %.pre148 = load i32, ptr %.pre147, align 4, !tbaa !691 - br label %513 + br label %497 -513: ; preds = %._crit_edge146, %507 - %514 = phi i32 [ %.pre148, %._crit_edge146 ], [ %47, %507 ] - %515 = tail call noundef ptr @_ZN5boost13re_detail_50019basic_regex_creatorIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE14append_literalEw(ptr noundef nonnull align 8 dereferenceable(216) %0, i32 noundef signext %514) +497: ; preds = %._crit_edge146, %491 + %498 = phi i32 [ %.pre148, %._crit_edge146 ], [ %47, %491 ] + %499 = tail call noundef ptr @_ZN5boost13re_detail_50019basic_regex_creatorIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE14append_literalEw(ptr noundef nonnull align 8 dereferenceable(216) %0, i32 noundef signext %498) br label %_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit103 -_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit103: ; preds = %509, %513 - %516 = load ptr, ptr %8, align 8, !tbaa !812 - %517 = getelementptr inbounds nuw i8, ptr %516, i64 4 - store ptr %517, ptr %8, align 8, !tbaa !812 +_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit103: ; preds = %493, %497 + %500 = load ptr, ptr %8, align 8, !tbaa !812 + %501 = getelementptr inbounds nuw i8, ptr %500, i64 4 + store ptr %501, ptr %8, align 8, !tbaa !812 br label %.thread -518: ; preds = %_ZNK5boost16cpp_regex_traitsIwE18escape_syntax_typeEw.exit - %519 = load ptr, ptr %0, align 8, !tbaa !806 - %520 = getelementptr inbounds nuw i8, ptr %519, i64 40 - %521 = load i32, ptr %520, align 8, !tbaa !807 - %522 = and i32 %521, 4096 - %.not = icmp eq i32 %522, 0 - br i1 %.not, label %573, label %523 - -523: ; preds = %518 - %524 = getelementptr inbounds nuw i8, ptr %9, i64 8 - store ptr %524, ptr %8, align 8, !tbaa !812 - %525 = getelementptr inbounds nuw i8, ptr %519, i64 352 - %526 = load ptr, ptr %525, align 8, !tbaa !198 - %527 = getelementptr inbounds nuw i8, ptr %519, i64 360 - %528 = load ptr, ptr %527, align 8, !tbaa !219 - %529 = ptrtoint ptr %528 to i64 - %530 = ptrtoint ptr %526 to i64 - %reass.sub = sub i64 %529, %530 - %531 = add i64 %reass.sub, 7 - %532 = and i64 %531, -8 - %533 = getelementptr inbounds i8, ptr %526, i64 %532 - store ptr %533, ptr %527, align 8, !tbaa !219 - %534 = getelementptr inbounds nuw i8, ptr %0, i64 16 - %535 = load ptr, ptr %534, align 8, !tbaa !818 - %.not.i105 = icmp eq ptr %535, null - br i1 %.not.i105, label %540, label %536 - -536: ; preds = %523 - %537 = ptrtoint ptr %535 to i64 - %.neg.i106 = sub i64 %530, %537 - %538 = add i64 %.neg.i106, %532 - %539 = getelementptr inbounds nuw i8, ptr %535, i64 8 - store i64 %538, ptr %539, align 8, !tbaa !12 +502: ; preds = %_ZNK5boost16cpp_regex_traitsIwE18escape_syntax_typeEw.exit + %503 = load ptr, ptr %0, align 8, !tbaa !806 + %504 = getelementptr inbounds nuw i8, ptr %503, i64 40 + %505 = load i32, ptr %504, align 8, !tbaa !807 + %506 = and i32 %505, 4096 + %.not = icmp eq i32 %506, 0 + br i1 %.not, label %557, label %507 + +507: ; preds = %502 + %508 = getelementptr inbounds nuw i8, ptr %9, i64 8 + store ptr %508, ptr %8, align 8, !tbaa !812 + %509 = getelementptr inbounds nuw i8, ptr %503, i64 352 + %510 = load ptr, ptr %509, align 8, !tbaa !198 + %511 = getelementptr inbounds nuw i8, ptr %503, i64 360 + %512 = load ptr, ptr %511, align 8, !tbaa !219 + %513 = ptrtoint ptr %512 to i64 + %514 = ptrtoint ptr %510 to i64 + %reass.sub = sub i64 %513, %514 + %515 = add i64 %reass.sub, 7 + %516 = and i64 %515, -8 + %517 = getelementptr inbounds i8, ptr %510, i64 %516 + store ptr %517, ptr %511, align 8, !tbaa !219 + %518 = getelementptr inbounds nuw i8, ptr %0, i64 16 + %519 = load ptr, ptr %518, align 8, !tbaa !818 + %.not.i105 = icmp eq ptr %519, null + br i1 %.not.i105, label %524, label %520 + +520: ; preds = %507 + %521 = ptrtoint ptr %519 to i64 + %.neg.i106 = sub i64 %514, %521 + %522 = add i64 %.neg.i106, %516 + %523 = getelementptr inbounds nuw i8, ptr %519, i64 8 + store i64 %522, ptr %523, align 8, !tbaa !12 %.pre.i107 = load ptr, ptr %0, align 8, !tbaa !806 %.phi.trans.insert.i108 = getelementptr inbounds nuw i8, ptr %.pre.i107, i64 360 %.pre5.i109 = load ptr, ptr %.phi.trans.insert.i108, align 8, !tbaa !219 - br label %540 - -540: ; preds = %536, %523 - %541 = phi ptr [ %.pre5.i109, %536 ], [ %533, %523 ] - %542 = phi ptr [ %.pre.i107, %536 ], [ %519, %523 ] - %543 = getelementptr inbounds nuw i8, ptr %542, i64 344 - %544 = load ptr, ptr %543, align 8, !tbaa !221 - %545 = ptrtoint ptr %544 to i64 - %546 = ptrtoint ptr %541 to i64 - %547 = sub i64 %545, %546 - %548 = icmp ult i64 %547, 16 - br i1 %548, label %549, label %_ZN5boost13re_detail_50019basic_regex_creatorIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE12append_stateENS0_19syntax_element_typeEm.exit114 - -549: ; preds = %540 - %550 = getelementptr inbounds nuw i8, ptr %542, i64 352 - %551 = load ptr, ptr %550, align 8, !tbaa !198 - %552 = ptrtoint ptr %551 to i64 - %553 = sub i64 %546, %552 - %554 = add i64 %553, 16 - %.not.i.i.i110 = icmp eq ptr %551, null - %555 = sub i64 %545, %552 - %556 = select i1 %.not.i.i.i110, i64 1024, i64 %555 - br label %557 - -557: ; preds = %557, %549 - %.0.i.i.i111 = phi i64 [ %556, %549 ], [ %559, %557 ] - %558 = icmp ult i64 %.0.i.i.i111, %554 - %559 = shl i64 %.0.i.i.i111, 1 - br i1 %558, label %557, label %560, !llvm.loop !222 - -560: ; preds = %557 - %561 = add i64 %.0.i.i.i111, 7 - %562 = and i64 %561, -8 - %563 = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %562) #34 - %564 = load ptr, ptr %550, align 8, !tbaa !198 - %.not14.i.i.i112 = icmp eq ptr %564, null - br i1 %.not14.i.i.i112, label %_ZN5boost13re_detail_50011raw_storage6resizeEm.exit.i.i113, label %565 - -565: ; preds = %560 - tail call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 1 %563, ptr nonnull align 1 %564, i64 %553, i1 false) + br label %524 + +524: ; preds = %520, %507 + %525 = phi ptr [ %.pre5.i109, %520 ], [ %517, %507 ] + %526 = phi ptr [ %.pre.i107, %520 ], [ %503, %507 ] + %527 = getelementptr inbounds nuw i8, ptr %526, i64 344 + %528 = load ptr, ptr %527, align 8, !tbaa !221 + %529 = ptrtoint ptr %528 to i64 + %530 = ptrtoint ptr %525 to i64 + %531 = sub i64 %529, %530 + %532 = icmp ult i64 %531, 16 + br i1 %532, label %533, label %_ZN5boost13re_detail_50019basic_regex_creatorIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE12append_stateENS0_19syntax_element_typeEm.exit114 + +533: ; preds = %524 + %534 = getelementptr inbounds nuw i8, ptr %526, i64 352 + %535 = load ptr, ptr %534, align 8, !tbaa !198 + %536 = ptrtoint ptr %535 to i64 + %537 = sub i64 %530, %536 + %538 = add i64 %537, 16 + %.not.i.i.i110 = icmp eq ptr %535, null + %539 = sub i64 %529, %536 + %540 = select i1 %.not.i.i.i110, i64 1024, i64 %539 + br label %541 + +541: ; preds = %541, %533 + %.0.i.i.i111 = phi i64 [ %540, %533 ], [ %543, %541 ] + %542 = icmp ult i64 %.0.i.i.i111, %538 + %543 = shl i64 %.0.i.i.i111, 1 + br i1 %542, label %541, label %544, !llvm.loop !222 + +544: ; preds = %541 + %545 = add i64 %.0.i.i.i111, 7 + %546 = and i64 %545, -8 + %547 = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %546) #34 + %548 = load ptr, ptr %534, align 8, !tbaa !198 + %.not14.i.i.i112 = icmp eq ptr %548, null + br i1 %.not14.i.i.i112, label %_ZN5boost13re_detail_50011raw_storage6resizeEm.exit.i.i113, label %549 + +549: ; preds = %544 + tail call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 1 %547, ptr nonnull align 1 %548, i64 %537, i1 false) br label %_ZN5boost13re_detail_50011raw_storage6resizeEm.exit.i.i113 -_ZN5boost13re_detail_50011raw_storage6resizeEm.exit.i.i113: ; preds = %565, %560 - tail call void @_ZdlPv(ptr noundef %564) #28 - store ptr %563, ptr %550, align 8, !tbaa !198 - %566 = getelementptr inbounds nuw i8, ptr %563, i64 %553 - %567 = getelementptr inbounds nuw i8, ptr %563, i64 %562 - store ptr %567, ptr %543, align 8, !tbaa !221 +_ZN5boost13re_detail_50011raw_storage6resizeEm.exit.i.i113: ; preds = %549, %544 + tail call void @_ZdlPv(ptr noundef %548) #28 + store ptr %547, ptr %534, align 8, !tbaa !198 + %550 = getelementptr inbounds nuw i8, ptr %547, i64 %537 + %551 = getelementptr inbounds nuw i8, ptr %547, i64 %546 + store ptr %551, ptr %527, align 8, !tbaa !221 br label %_ZN5boost13re_detail_50019basic_regex_creatorIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE12append_stateENS0_19syntax_element_typeEm.exit114 -_ZN5boost13re_detail_50019basic_regex_creatorIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE12append_stateENS0_19syntax_element_typeEm.exit114: ; preds = %540, %_ZN5boost13re_detail_50011raw_storage6resizeEm.exit.i.i113 - %568 = phi ptr [ %566, %_ZN5boost13re_detail_50011raw_storage6resizeEm.exit.i.i113 ], [ %541, %540 ] - %569 = getelementptr inbounds nuw i8, ptr %542, i64 360 - %570 = getelementptr inbounds nuw i8, ptr %568, i64 16 - store ptr %570, ptr %569, align 8, !tbaa !219 - store ptr %568, ptr %534, align 8, !tbaa !818 - %571 = getelementptr inbounds nuw i8, ptr %568, i64 8 - store i64 0, ptr %571, align 8, !tbaa !12 - %572 = load ptr, ptr %534, align 8, !tbaa !818 - store i32 10, ptr %572, align 8, !tbaa !223 +_ZN5boost13re_detail_50019basic_regex_creatorIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE12append_stateENS0_19syntax_element_typeEm.exit114: ; preds = %524, %_ZN5boost13re_detail_50011raw_storage6resizeEm.exit.i.i113 + %552 = phi ptr [ %550, %_ZN5boost13re_detail_50011raw_storage6resizeEm.exit.i.i113 ], [ %525, %524 ] + %553 = getelementptr inbounds nuw i8, ptr %526, i64 360 + %554 = getelementptr inbounds nuw i8, ptr %552, i64 16 + store ptr %554, ptr %553, align 8, !tbaa !219 + store ptr %552, ptr %518, align 8, !tbaa !818 + %555 = getelementptr inbounds nuw i8, ptr %552, i64 8 + store i64 0, ptr %555, align 8, !tbaa !12 + %556 = load ptr, ptr %518, align 8, !tbaa !818 + store i32 10, ptr %556, align 8, !tbaa !223 br label %.thread -573: ; preds = %518 - %574 = and i32 %521, 2563 - %.not.i115 = icmp eq i32 %574, 2048 - br i1 %.not.i115, label %575, label %579 +557: ; preds = %502 + %558 = and i32 %505, 2563 + %.not.i115 = icmp eq i32 %558, 2048 + br i1 %.not.i115, label %559, label %563 -575: ; preds = %573 - %576 = getelementptr inbounds nuw i8, ptr %0, i64 84 - %577 = load i32, ptr %576, align 4, !tbaa !828 - %578 = tail call noundef zeroext i1 @_ZNK5boost16cpp_regex_traitsIwE7isctypeEwj(ptr noundef nonnull align 8 dereferenceable(16) %46, i32 noundef signext %47, i32 noundef %577) - br i1 %578, label %_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit116, label %._crit_edge +559: ; preds = %557 + %560 = getelementptr inbounds nuw i8, ptr %0, i64 84 + %561 = load i32, ptr %560, align 4, !tbaa !828 + %562 = tail call noundef zeroext i1 @_ZNK5boost16cpp_regex_traitsIwE7isctypeEwj(ptr noundef nonnull align 8 dereferenceable(16) %46, i32 noundef signext %47, i32 noundef %561) + br i1 %562, label %_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit116, label %._crit_edge -._crit_edge: ; preds = %575 +._crit_edge: ; preds = %559 %.pre = load ptr, ptr %8, align 8, !tbaa !812 %.pre145 = load i32, ptr %.pre, align 4, !tbaa !691 - br label %579 + br label %563 -579: ; preds = %._crit_edge, %573 - %580 = phi i32 [ %.pre145, %._crit_edge ], [ %47, %573 ] - %581 = tail call noundef ptr @_ZN5boost13re_detail_50019basic_regex_creatorIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE14append_literalEw(ptr noundef nonnull align 8 dereferenceable(216) %0, i32 noundef signext %580) +563: ; preds = %._crit_edge, %557 + %564 = phi i32 [ %.pre145, %._crit_edge ], [ %47, %557 ] + %565 = tail call noundef ptr @_ZN5boost13re_detail_50019basic_regex_creatorIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE14append_literalEw(ptr noundef nonnull align 8 dereferenceable(216) %0, i32 noundef signext %564) br label %_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit116 -_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit116: ; preds = %575, %579 - %582 = load ptr, ptr %8, align 8, !tbaa !812 - %583 = getelementptr inbounds nuw i8, ptr %582, i64 4 - store ptr %583, ptr %8, align 8, !tbaa !812 +_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit116: ; preds = %559, %563 + %566 = load ptr, ptr %8, align 8, !tbaa !812 + %567 = getelementptr inbounds nuw i8, ptr %566, i64 4 + store ptr %567, ptr %8, align 8, !tbaa !812 br label %.thread _ZNK5boost16cpp_regex_traitsIwE18escape_syntax_typeEw.exit.thread: ; preds = %65, %_ZNKSt3mapIwhSt4lessIwESaISt4pairIKwhEEE4findERS3_.exit.thread.i.i, %_ZNK5boost16cpp_regex_traitsIwE18escape_syntax_typeEw.exit - %584 = load ptr, ptr %0, align 8, !tbaa !806 - %585 = getelementptr inbounds nuw i8, ptr %584, i64 40 - %586 = load i32, ptr %585, align 8, !tbaa !807 - %587 = and i32 %586, 4096 - %.not33 = icmp eq i32 %587, 0 - %.pre175.pre = load ptr, ptr %8, align 8, !tbaa !812 - br i1 %.not33, label %671, label %588 - -588: ; preds = %_ZNK5boost16cpp_regex_traitsIwE18escape_syntax_typeEw.exit.thread - %589 = load i32, ptr %.pre175.pre, align 4, !tbaa !691 - %590 = add i32 %589, -67 - %591 = tail call i32 @llvm.fshl.i32(i32 %590, i32 %590, i32 30) - switch i32 %591, label %671 [ - i32 13, label %592 + %568 = load ptr, ptr %0, align 8, !tbaa !806 + %569 = getelementptr inbounds nuw i8, ptr %568, i64 40 + %570 = load i32, ptr %569, align 8, !tbaa !807 + %571 = and i32 %570, 4096 + %.not33 = icmp eq i32 %571, 0 + %.pre169.pre = load ptr, ptr %8, align 8, !tbaa !812 + br i1 %.not33, label %655, label %572 + +572: ; preds = %_ZNK5boost16cpp_regex_traitsIwE18escape_syntax_typeEw.exit.thread + %573 = load i32, ptr %.pre169.pre, align 4, !tbaa !691 + %574 = add i32 %573, -67 + %575 = tail call i32 @llvm.fshl.i32(i32 %574, i32 %574, i32 30) + switch i32 %575, label %655 [ + i32 13, label %576 i32 5, label %.critedge - i32 12, label %639 - i32 4, label %640 - i32 8, label %642 - i32 0, label %642 + i32 12, label %623 + i32 4, label %624 + i32 8, label %626 + i32 0, label %626 ] -592: ; preds = %588 +576: ; preds = %572 call void @llvm.lifetime.start.p0(i64 136, ptr nonnull %5) #28 - %593 = getelementptr inbounds nuw i8, ptr %5, i64 8 - store i32 0, ptr %593, align 8, !tbaa !83 - %594 = getelementptr inbounds nuw i8, ptr %5, i64 16 - store ptr null, ptr %594, align 8, !tbaa !87 - %595 = getelementptr inbounds nuw i8, ptr %5, i64 24 - store ptr %593, ptr %595, align 8, !tbaa !88 - %596 = getelementptr inbounds nuw i8, ptr %5, i64 32 - store ptr %593, ptr %596, align 8, !tbaa !89 - %597 = getelementptr inbounds nuw i8, ptr %5, i64 40 - %598 = getelementptr inbounds nuw i8, ptr %5, i64 96 - store i32 0, ptr %598, align 8, !tbaa !83 - %599 = getelementptr inbounds nuw i8, ptr %5, i64 104 - store ptr null, ptr %599, align 8, !tbaa !87 - %600 = getelementptr inbounds nuw i8, ptr %5, i64 112 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %597, i8 0, i64 32, i1 false) - store ptr %598, ptr %600, align 8, !tbaa !88 - %601 = getelementptr inbounds nuw i8, ptr %5, i64 120 - store ptr %598, ptr %601, align 8, !tbaa !89 - %602 = getelementptr inbounds nuw i8, ptr %5, i64 128 - store i64 0, ptr %602, align 8, !tbaa !90 - %603 = getelementptr inbounds nuw i8, ptr %5, i64 72 - store i8 0, ptr %603, align 8, !tbaa !867 - %604 = getelementptr inbounds nuw i8, ptr %5, i64 73 - store i8 0, ptr %604, align 1, !tbaa !878 - %605 = getelementptr inbounds nuw i8, ptr %5, i64 80 - store i32 0, ptr %605, align 8, !tbaa !879 - br label %619 - -.critedge: ; preds = %588 + %577 = getelementptr inbounds nuw i8, ptr %5, i64 8 + store i32 0, ptr %577, align 8, !tbaa !83 + %578 = getelementptr inbounds nuw i8, ptr %5, i64 16 + store ptr null, ptr %578, align 8, !tbaa !87 + %579 = getelementptr inbounds nuw i8, ptr %5, i64 24 + store ptr %577, ptr %579, align 8, !tbaa !88 + %580 = getelementptr inbounds nuw i8, ptr %5, i64 32 + store ptr %577, ptr %580, align 8, !tbaa !89 + %581 = getelementptr inbounds nuw i8, ptr %5, i64 40 + %582 = getelementptr inbounds nuw i8, ptr %5, i64 96 + store i32 0, ptr %582, align 8, !tbaa !83 + %583 = getelementptr inbounds nuw i8, ptr %5, i64 104 + store ptr null, ptr %583, align 8, !tbaa !87 + %584 = getelementptr inbounds nuw i8, ptr %5, i64 112 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %581, i8 0, i64 32, i1 false) + store ptr %582, ptr %584, align 8, !tbaa !88 + %585 = getelementptr inbounds nuw i8, ptr %5, i64 120 + store ptr %582, ptr %585, align 8, !tbaa !89 + %586 = getelementptr inbounds nuw i8, ptr %5, i64 128 + store i64 0, ptr %586, align 8, !tbaa !90 + %587 = getelementptr inbounds nuw i8, ptr %5, i64 72 + store i8 0, ptr %587, align 8, !tbaa !867 + %588 = getelementptr inbounds nuw i8, ptr %5, i64 73 + store i8 0, ptr %588, align 1, !tbaa !878 + %589 = getelementptr inbounds nuw i8, ptr %5, i64 80 + store i32 0, ptr %589, align 8, !tbaa !879 + br label %603 + +.critedge: ; preds = %572 call void @llvm.lifetime.start.p0(i64 136, ptr nonnull %5) #28 - %606 = getelementptr inbounds nuw i8, ptr %5, i64 8 - store i32 0, ptr %606, align 8, !tbaa !83 - %607 = getelementptr inbounds nuw i8, ptr %5, i64 16 - store ptr null, ptr %607, align 8, !tbaa !87 - %608 = getelementptr inbounds nuw i8, ptr %5, i64 24 - store ptr %606, ptr %608, align 8, !tbaa !88 - %609 = getelementptr inbounds nuw i8, ptr %5, i64 32 - store ptr %606, ptr %609, align 8, !tbaa !89 - %610 = getelementptr inbounds nuw i8, ptr %5, i64 40 - %611 = getelementptr inbounds nuw i8, ptr %5, i64 96 - store i32 0, ptr %611, align 8, !tbaa !83 - %612 = getelementptr inbounds nuw i8, ptr %5, i64 104 - store ptr null, ptr %612, align 8, !tbaa !87 - %613 = getelementptr inbounds nuw i8, ptr %5, i64 112 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %610, i8 0, i64 32, i1 false) - store ptr %611, ptr %613, align 8, !tbaa !88 - %614 = getelementptr inbounds nuw i8, ptr %5, i64 120 - store ptr %611, ptr %614, align 8, !tbaa !89 - %615 = getelementptr inbounds nuw i8, ptr %5, i64 128 - store i64 0, ptr %615, align 8, !tbaa !90 - %616 = getelementptr inbounds nuw i8, ptr %5, i64 72 - %617 = getelementptr inbounds nuw i8, ptr %5, i64 73 - store i8 0, ptr %617, align 1, !tbaa !878 - %618 = getelementptr inbounds nuw i8, ptr %5, i64 80 - store i32 0, ptr %618, align 8, !tbaa !879 - store i8 1, ptr %616, align 8, !tbaa !867 - br label %619 - -619: ; preds = %592, %.critedge - %620 = getelementptr inbounds nuw i8, ptr %0, i64 80 - %621 = load i32, ptr %620, align 8, !tbaa !826 - %622 = getelementptr inbounds nuw i8, ptr %5, i64 76 - store i32 %621, ptr %622, align 4, !tbaa !880 - %623 = getelementptr inbounds nuw i8, ptr %5, i64 84 - store i8 0, ptr %623, align 4, !tbaa !881 - %624 = invoke noundef ptr @_ZN5boost13re_detail_50019basic_regex_creatorIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE10append_setERKNS0_14basic_char_setIwS5_EEPSt17integral_constantIbLb0EE(ptr noundef nonnull align 8 dereferenceable(100) %0, ptr noundef nonnull align 8 dereferenceable(136) %5, ptr noundef null) - to label %_ZN5boost13re_detail_50019basic_regex_creatorIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE10append_setERKNS0_14basic_char_setIwS5_EE.exit unwind label %634 - -_ZN5boost13re_detail_50019basic_regex_creatorIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE10append_setERKNS0_14basic_char_setIwS5_EE.exit: ; preds = %619 - %625 = icmp ne ptr %624, null - %626 = load ptr, ptr %8, align 8, !tbaa !812 - br i1 %625, label %636, label %627 - -627: ; preds = %_ZN5boost13re_detail_50019basic_regex_creatorIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE10append_setERKNS0_14basic_char_setIwS5_EE.exit - %628 = getelementptr inbounds nuw i8, ptr %0, i64 120 - %629 = load ptr, ptr %628, align 8, !tbaa !811 - %630 = ptrtoint ptr %626 to i64 - %631 = ptrtoint ptr %629 to i64 - %632 = sub i64 %630, %631 - %633 = ashr exact i64 %632, 2 - invoke void @_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE4failENS_15regex_constants10error_typeEl(ptr noundef nonnull align 8 dereferenceable(216) %0, i32 noundef 4, i64 noundef %633) - to label %638 unwind label %634 + %590 = getelementptr inbounds nuw i8, ptr %5, i64 8 + store i32 0, ptr %590, align 8, !tbaa !83 + %591 = getelementptr inbounds nuw i8, ptr %5, i64 16 + store ptr null, ptr %591, align 8, !tbaa !87 + %592 = getelementptr inbounds nuw i8, ptr %5, i64 24 + store ptr %590, ptr %592, align 8, !tbaa !88 + %593 = getelementptr inbounds nuw i8, ptr %5, i64 32 + store ptr %590, ptr %593, align 8, !tbaa !89 + %594 = getelementptr inbounds nuw i8, ptr %5, i64 40 + %595 = getelementptr inbounds nuw i8, ptr %5, i64 96 + store i32 0, ptr %595, align 8, !tbaa !83 + %596 = getelementptr inbounds nuw i8, ptr %5, i64 104 + store ptr null, ptr %596, align 8, !tbaa !87 + %597 = getelementptr inbounds nuw i8, ptr %5, i64 112 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %594, i8 0, i64 32, i1 false) + store ptr %595, ptr %597, align 8, !tbaa !88 + %598 = getelementptr inbounds nuw i8, ptr %5, i64 120 + store ptr %595, ptr %598, align 8, !tbaa !89 + %599 = getelementptr inbounds nuw i8, ptr %5, i64 128 + store i64 0, ptr %599, align 8, !tbaa !90 + %600 = getelementptr inbounds nuw i8, ptr %5, i64 72 + %601 = getelementptr inbounds nuw i8, ptr %5, i64 73 + store i8 0, ptr %601, align 1, !tbaa !878 + %602 = getelementptr inbounds nuw i8, ptr %5, i64 80 + store i32 0, ptr %602, align 8, !tbaa !879 + store i8 1, ptr %600, align 8, !tbaa !867 + br label %603 + +603: ; preds = %576, %.critedge + %604 = getelementptr inbounds nuw i8, ptr %0, i64 80 + %605 = load i32, ptr %604, align 8, !tbaa !826 + %606 = getelementptr inbounds nuw i8, ptr %5, i64 76 + store i32 %605, ptr %606, align 4, !tbaa !880 + %607 = getelementptr inbounds nuw i8, ptr %5, i64 84 + store i8 0, ptr %607, align 4, !tbaa !881 + %608 = invoke noundef ptr @_ZN5boost13re_detail_50019basic_regex_creatorIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE10append_setERKNS0_14basic_char_setIwS5_EEPSt17integral_constantIbLb0EE(ptr noundef nonnull align 8 dereferenceable(100) %0, ptr noundef nonnull align 8 dereferenceable(136) %5, ptr noundef null) + to label %_ZN5boost13re_detail_50019basic_regex_creatorIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE10append_setERKNS0_14basic_char_setIwS5_EE.exit unwind label %618 + +_ZN5boost13re_detail_50019basic_regex_creatorIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE10append_setERKNS0_14basic_char_setIwS5_EE.exit: ; preds = %603 + %609 = icmp ne ptr %608, null + %610 = load ptr, ptr %8, align 8, !tbaa !812 + br i1 %609, label %620, label %611 + +611: ; preds = %_ZN5boost13re_detail_50019basic_regex_creatorIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE10append_setERKNS0_14basic_char_setIwS5_EE.exit + %612 = getelementptr inbounds nuw i8, ptr %0, i64 120 + %613 = load ptr, ptr %612, align 8, !tbaa !811 + %614 = ptrtoint ptr %610 to i64 + %615 = ptrtoint ptr %613 to i64 + %616 = sub i64 %614, %615 + %617 = ashr exact i64 %616, 2 + invoke void @_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE4failENS_15regex_constants10error_typeEl(ptr noundef nonnull align 8 dereferenceable(216) %0, i32 noundef 4, i64 noundef %617) + to label %622 unwind label %618 -634: ; preds = %619, %627 - %635 = landingpad { ptr, i32 } +618: ; preds = %603, %611 + %619 = landingpad { ptr, i32 } cleanup call void @_ZN5boost13re_detail_50014basic_char_setIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(136) %5) #28 call void @llvm.lifetime.end.p0(i64 136, ptr nonnull %5) #28 br label %common.resume -636: ; preds = %_ZN5boost13re_detail_50019basic_regex_creatorIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE10append_setERKNS0_14basic_char_setIwS5_EE.exit - %637 = getelementptr inbounds nuw i8, ptr %626, i64 4 - store ptr %637, ptr %8, align 8, !tbaa !812 - br label %638 +620: ; preds = %_ZN5boost13re_detail_50019basic_regex_creatorIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE10append_setERKNS0_14basic_char_setIwS5_EE.exit + %621 = getelementptr inbounds nuw i8, ptr %610, i64 4 + store ptr %621, ptr %8, align 8, !tbaa !812 + br label %622 -638: ; preds = %627, %636 +622: ; preds = %611, %620 call void @_ZN5boost13re_detail_50014basic_char_setIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(136) %5) #28 call void @llvm.lifetime.end.p0(i64 136, ptr nonnull %5) #28 br label %.thread -639: ; preds = %588 - br label %640 +623: ; preds = %572 + br label %624 -640: ; preds = %639, %588 - %.1 = phi i1 [ true, %588 ], [ false, %639 ] - %641 = tail call noundef zeroext i1 @_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE14add_emacs_codeEb(ptr noundef nonnull align 8 dereferenceable(216) %0, i1 noundef zeroext %.1) +624: ; preds = %623, %572 + %.1 = phi i1 [ true, %572 ], [ false, %623 ] + %625 = tail call noundef zeroext i1 @_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE14add_emacs_codeEb(ptr noundef nonnull align 8 dereferenceable(216) %0, i1 noundef zeroext %.1) br label %.thread -642: ; preds = %588, %588 - %643 = getelementptr inbounds nuw i8, ptr %0, i64 120 - %644 = load ptr, ptr %643, align 8, !tbaa !811 +626: ; preds = %572, %572 + %627 = getelementptr inbounds nuw i8, ptr %0, i64 120 + %628 = load ptr, ptr %627, align 8, !tbaa !811 call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %6) #28 call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %7) #28 invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %6, ptr noundef nonnull @.str.250, ptr noundef nonnull align 1 dereferenceable(1) %7) - to label %645 unwind label %659 + to label %629 unwind label %643 -645: ; preds = %642 - %646 = ptrtoint ptr %.pre175.pre to i64 - %647 = ptrtoint ptr %644 to i64 - %648 = sub i64 %646, %647 - %649 = ashr exact i64 %648, 2 - invoke void @_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE4failENS_15regex_constants10error_typeElRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(216) %0, i32 noundef 5, i64 noundef %649, ptr noundef nonnull align 8 dereferenceable(32) %6) - to label %650 unwind label %661 - -650: ; preds = %645 - %651 = load ptr, ptr %6, align 8, !tbaa !10 - %652 = getelementptr inbounds nuw i8, ptr %6, i64 16 - %653 = icmp eq ptr %651, %652 - br i1 %653, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i119, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i118 - -_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i119: ; preds = %650 - %654 = getelementptr inbounds nuw i8, ptr %6, i64 8 - %655 = load i64, ptr %654, align 8, !tbaa !13 - %656 = icmp ult i64 %655, 16 - call void @llvm.assume(i1 %656) +629: ; preds = %626 + %630 = ptrtoint ptr %.pre169.pre to i64 + %631 = ptrtoint ptr %628 to i64 + %632 = sub i64 %630, %631 + %633 = ashr exact i64 %632, 2 + invoke void @_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE4failENS_15regex_constants10error_typeElRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(216) %0, i32 noundef 5, i64 noundef %633, ptr noundef nonnull align 8 dereferenceable(32) %6) + to label %634 unwind label %645 + +634: ; preds = %629 + %635 = load ptr, ptr %6, align 8, !tbaa !10 + %636 = getelementptr inbounds nuw i8, ptr %6, i64 16 + %637 = icmp eq ptr %635, %636 + br i1 %637, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i119, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i118 + +_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i119: ; preds = %634 + %638 = getelementptr inbounds nuw i8, ptr %6, i64 8 + %639 = load i64, ptr %638, align 8, !tbaa !13 + %640 = icmp ult i64 %639, 16 + call void @llvm.assume(i1 %640) br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit120 -_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i118: ; preds = %650 - %657 = load i64, ptr %652, align 8, !tbaa !12 - %658 = add i64 %657, 1 - call void @_ZdlPvm(ptr noundef %651, i64 noundef %658) #32 +_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i118: ; preds = %634 + %641 = load i64, ptr %636, align 8, !tbaa !12 + %642 = add i64 %641, 1 + call void @_ZdlPvm(ptr noundef %635, i64 noundef %642) #32 br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit120 _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit120: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i119, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i118 @@ -71912,69 +71872,69 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit120: ; preds = %_Z call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %6) #28 br label %.thread -659: ; preds = %642 - %660 = landingpad { ptr, i32 } +643: ; preds = %626 + %644 = landingpad { ptr, i32 } cleanup br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit123 -661: ; preds = %645 - %662 = landingpad { ptr, i32 } +645: ; preds = %629 + %646 = landingpad { ptr, i32 } cleanup - %663 = load ptr, ptr %6, align 8, !tbaa !10 - %664 = getelementptr inbounds nuw i8, ptr %6, i64 16 - %665 = icmp eq ptr %663, %664 - br i1 %665, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i122, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i121 + %647 = load ptr, ptr %6, align 8, !tbaa !10 + %648 = getelementptr inbounds nuw i8, ptr %6, i64 16 + %649 = icmp eq ptr %647, %648 + br i1 %649, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i122, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i121 -_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i122: ; preds = %661 - %666 = getelementptr inbounds nuw i8, ptr %6, i64 8 - %667 = load i64, ptr %666, align 8, !tbaa !13 - %668 = icmp ult i64 %667, 16 - call void @llvm.assume(i1 %668) +_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i122: ; preds = %645 + %650 = getelementptr inbounds nuw i8, ptr %6, i64 8 + %651 = load i64, ptr %650, align 8, !tbaa !13 + %652 = icmp ult i64 %651, 16 + call void @llvm.assume(i1 %652) br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit123 -_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i121: ; preds = %661 - %669 = load i64, ptr %664, align 8, !tbaa !12 - %670 = add i64 %669, 1 - call void @_ZdlPvm(ptr noundef %663, i64 noundef %670) #32 +_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i121: ; preds = %645 + %653 = load i64, ptr %648, align 8, !tbaa !12 + %654 = add i64 %653, 1 + call void @_ZdlPvm(ptr noundef %647, i64 noundef %654) #32 br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit123 -_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit123: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i121, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i122, %659 - %.pn34 = phi { ptr, i32 } [ %660, %659 ], [ %662, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i122 ], [ %662, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i121 ] +_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit123: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i121, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i122, %643 + %.pn34 = phi { ptr, i32 } [ %644, %643 ], [ %646, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i122 ], [ %646, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i121 ] call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %7) #28 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %6) #28 br label %common.resume -671: ; preds = %588, %_ZNK5boost16cpp_regex_traitsIwE18escape_syntax_typeEw.exit.thread - %672 = and i32 %586, 2563 - %.not.i124 = icmp eq i32 %672, 2048 - br i1 %.not.i124, label %673, label %679 - -673: ; preds = %671 - %674 = load ptr, ptr %45, align 8, !tbaa !827 - %675 = load i32, ptr %.pre175.pre, align 4, !tbaa !691 - %676 = getelementptr inbounds nuw i8, ptr %0, i64 84 - %677 = load i32, ptr %676, align 4, !tbaa !828 - %678 = tail call noundef zeroext i1 @_ZNK5boost16cpp_regex_traitsIwE7isctypeEwj(ptr noundef nonnull align 8 dereferenceable(16) %674, i32 noundef signext %675, i32 noundef %677) - br i1 %678, label %_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit125, label %._crit_edge173 - -._crit_edge173: ; preds = %673 - %.pre174 = load ptr, ptr %8, align 8, !tbaa !812 - br label %679 - -679: ; preds = %._crit_edge173, %671 - %680 = phi ptr [ %.pre174, %._crit_edge173 ], [ %.pre175.pre, %671 ] - %681 = load i32, ptr %680, align 4, !tbaa !691 - %682 = tail call noundef ptr @_ZN5boost13re_detail_50019basic_regex_creatorIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE14append_literalEw(ptr noundef nonnull align 8 dereferenceable(216) %0, i32 noundef signext %681) +655: ; preds = %572, %_ZNK5boost16cpp_regex_traitsIwE18escape_syntax_typeEw.exit.thread + %656 = and i32 %570, 2563 + %.not.i124 = icmp eq i32 %656, 2048 + br i1 %.not.i124, label %657, label %663 + +657: ; preds = %655 + %658 = load ptr, ptr %45, align 8, !tbaa !827 + %659 = load i32, ptr %.pre169.pre, align 4, !tbaa !691 + %660 = getelementptr inbounds nuw i8, ptr %0, i64 84 + %661 = load i32, ptr %660, align 4, !tbaa !828 + %662 = tail call noundef zeroext i1 @_ZNK5boost16cpp_regex_traitsIwE7isctypeEwj(ptr noundef nonnull align 8 dereferenceable(16) %658, i32 noundef signext %659, i32 noundef %661) + br i1 %662, label %_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit125, label %._crit_edge167 + +._crit_edge167: ; preds = %657 + %.pre168 = load ptr, ptr %8, align 8, !tbaa !812 + br label %663 + +663: ; preds = %._crit_edge167, %655 + %664 = phi ptr [ %.pre168, %._crit_edge167 ], [ %.pre169.pre, %655 ] + %665 = load i32, ptr %664, align 4, !tbaa !691 + %666 = tail call noundef ptr @_ZN5boost13re_detail_50019basic_regex_creatorIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE14append_literalEw(ptr noundef nonnull align 8 dereferenceable(216) %0, i32 noundef signext %665) br label %_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit125 -_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit125: ; preds = %673, %679 - %683 = load ptr, ptr %8, align 8, !tbaa !812 - %684 = getelementptr inbounds nuw i8, ptr %683, i64 4 - store ptr %684, ptr %8, align 8, !tbaa !812 +_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit125: ; preds = %657, %663 + %667 = load ptr, ptr %8, align 8, !tbaa !812 + %668 = getelementptr inbounds nuw i8, ptr %667, i64 4 + store ptr %668, ptr %8, align 8, !tbaa !812 br label %.thread -.thread: ; preds = %638, %640, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit120, %73, %80, %_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit, %99, %_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit39, %_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit41, %129, %_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit43, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit, %181, %186, %_ZNK5boost16cpp_regex_traitsIwE18escape_syntax_typeEw.exit, %_ZN5boost13re_detail_50019basic_regex_creatorIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE12append_stateENS0_19syntax_element_typeEm.exit114, %_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit116, %_ZN5boost13re_detail_50019basic_regex_creatorIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE12append_stateENS0_19syntax_element_typeEm.exit101, %_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit103, %_ZN5boost13re_detail_50019basic_regex_creatorIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE12append_stateENS0_19syntax_element_typeEm.exit88, %_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit90, %_ZN5boost13re_detail_50019basic_regex_creatorIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE12append_stateENS0_19syntax_element_typeEm.exit75, %_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit77, %_ZN5boost13re_detail_50019basic_regex_creatorIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE12append_stateENS0_19syntax_element_typeEm.exit62, %_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit64, %_ZN5boost13re_detail_50019basic_regex_creatorIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE12append_stateENS0_19syntax_element_typeEm.exit, %_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit51, %_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit125, %_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit48, %_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE4failENS_15regex_constants10error_typeEl.exit - %.016 = phi i1 [ false, %_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE4failENS_15regex_constants10error_typeEl.exit ], [ %187, %186 ], [ %182, %181 ], [ true, %_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit43 ], [ false, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit ], [ true, %_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit41 ], [ %131, %129 ], [ %101, %99 ], [ true, %_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit39 ], [ %82, %80 ], [ true, %_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit ], [ %74, %73 ], [ false, %_ZNK5boost16cpp_regex_traitsIwE18escape_syntax_typeEw.exit ], [ true, %_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit125 ], [ true, %_ZN5boost13re_detail_50019basic_regex_creatorIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE12append_stateENS0_19syntax_element_typeEm.exit114 ], [ true, %_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit116 ], [ true, %_ZN5boost13re_detail_50019basic_regex_creatorIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE12append_stateENS0_19syntax_element_typeEm.exit101 ], [ true, %_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit103 ], [ true, %_ZN5boost13re_detail_50019basic_regex_creatorIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE12append_stateENS0_19syntax_element_typeEm.exit88 ], [ true, %_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit90 ], [ true, %_ZN5boost13re_detail_50019basic_regex_creatorIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE12append_stateENS0_19syntax_element_typeEm.exit75 ], [ true, %_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit77 ], [ true, %_ZN5boost13re_detail_50019basic_regex_creatorIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE12append_stateENS0_19syntax_element_typeEm.exit62 ], [ true, %_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit64 ], [ true, %_ZN5boost13re_detail_50019basic_regex_creatorIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE12append_stateENS0_19syntax_element_typeEm.exit ], [ true, %_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit51 ], [ true, %_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit48 ], [ %625, %638 ], [ %641, %640 ], [ false, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit120 ] +.thread: ; preds = %622, %624, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit120, %73, %80, %_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit, %99, %_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit39, %_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit41, %121, %_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit43, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit, %165, %170, %_ZNK5boost16cpp_regex_traitsIwE18escape_syntax_typeEw.exit, %_ZN5boost13re_detail_50019basic_regex_creatorIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE12append_stateENS0_19syntax_element_typeEm.exit114, %_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit116, %_ZN5boost13re_detail_50019basic_regex_creatorIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE12append_stateENS0_19syntax_element_typeEm.exit101, %_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit103, %_ZN5boost13re_detail_50019basic_regex_creatorIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE12append_stateENS0_19syntax_element_typeEm.exit88, %_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit90, %_ZN5boost13re_detail_50019basic_regex_creatorIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE12append_stateENS0_19syntax_element_typeEm.exit75, %_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit77, %_ZN5boost13re_detail_50019basic_regex_creatorIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE12append_stateENS0_19syntax_element_typeEm.exit62, %_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit64, %_ZN5boost13re_detail_50019basic_regex_creatorIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE12append_stateENS0_19syntax_element_typeEm.exit, %_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit51, %_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit125, %_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit48, %_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE4failENS_15regex_constants10error_typeEl.exit + %.016 = phi i1 [ false, %_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE4failENS_15regex_constants10error_typeEl.exit ], [ %171, %170 ], [ %166, %165 ], [ true, %_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit43 ], [ false, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit ], [ true, %_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit41 ], [ %123, %121 ], [ %101, %99 ], [ true, %_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit39 ], [ %82, %80 ], [ true, %_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit ], [ %74, %73 ], [ false, %_ZNK5boost16cpp_regex_traitsIwE18escape_syntax_typeEw.exit ], [ true, %_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit125 ], [ true, %_ZN5boost13re_detail_50019basic_regex_creatorIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE12append_stateENS0_19syntax_element_typeEm.exit114 ], [ true, %_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit116 ], [ true, %_ZN5boost13re_detail_50019basic_regex_creatorIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE12append_stateENS0_19syntax_element_typeEm.exit101 ], [ true, %_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit103 ], [ true, %_ZN5boost13re_detail_50019basic_regex_creatorIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE12append_stateENS0_19syntax_element_typeEm.exit88 ], [ true, %_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit90 ], [ true, %_ZN5boost13re_detail_50019basic_regex_creatorIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE12append_stateENS0_19syntax_element_typeEm.exit75 ], [ true, %_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit77 ], [ true, %_ZN5boost13re_detail_50019basic_regex_creatorIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE12append_stateENS0_19syntax_element_typeEm.exit62 ], [ true, %_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit64 ], [ true, %_ZN5boost13re_detail_50019basic_regex_creatorIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE12append_stateENS0_19syntax_element_typeEm.exit ], [ true, %_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit51 ], [ true, %_ZN5boost13re_detail_50018basic_regex_parserIwNS_12regex_traitsIwNS_16cpp_regex_traitsIwEEEEE13parse_literalEv.exit48 ], [ %609, %622 ], [ %625, %624 ], [ false, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit120 ] ret i1 %.016 } diff --git a/bench/delta-rs/optimized/1cpha5e75mq7zwcw.ll b/bench/delta-rs/optimized/1cpha5e75mq7zwcw.ll index a1ebdd94ecc..82d3af1e016 100644 --- a/bench/delta-rs/optimized/1cpha5e75mq7zwcw.ll +++ b/bench/delta-rs/optimized/1cpha5e75mq7zwcw.ll @@ -2534,8 +2534,7 @@ define internal fastcc noundef align 8 dereferenceable_or_null(24) ptr @"_ZN9has %gep.us.us.i.i = getelementptr { i8, [7 x i8], { { { i64, ptr, {} }, i64 } } }, ptr %invariant.gep.i.i, i64 %26 %.val4.i.us.us.i.i = load i8, ptr %gep.us.us.i.i, align 1, !range !77, !alias.scope !78, !noalias !83, !noundef !4 %27 = add nsw i8 %.val4.i.us.us.i.i, -16 - %narrow3.i.i.i.i.us.us.i.i = tail call i8 @llvm.umin.i8(i8 %27, i8 4) - %28 = icmp eq i8 %narrow.i.i.i.i.i.i, %narrow3.i.i.i.i.us.us.i.i + %28 = icmp eq i8 %27, %narrow.i.i.i.i.i.i br i1 %28, label %.split.us.i.i, label %"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$4find28_$u7b$$u7b$closure$u7d$$u7d$17hc0a1e1d2e0cec8eaE.exit.backedge.us.us.i.i" "_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$4find28_$u7b$$u7b$closure$u7d$$u7d$17hc0a1e1d2e0cec8eaE.exit.backedge.us.us.i.i": ; preds = %.lr.ph.us.i.i @@ -3888,8 +3887,7 @@ _ZN13deltalake_gcp6config13GcpCredential4keys17ha05719f7f5dfb74eE.exit.i75: ; pr 370: ; preds = %.noexc126 %371 = load i8, ptr %374, align 1, !range !77, !alias.scope !300, !noalias !303, !noundef !4 %372 = add nsw i8 %371, -16 - %narrow.i.i.us.i.i = call i8 @llvm.umin.i8(i8 %372, i8 4) - %373 = icmp eq i8 %narrow.i.i.us.i.i, %narrow3.i.i.i.i + %373 = icmp eq i8 %372, %narrow3.i.i.i.i br i1 %373, label %.thread258, label %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains28_$u7b$$u7b$closure$u7d$$u7d$17hf0219b63a9d8d06bE.llvm.11953678010571242332.exit.backedge.us.i.i" "_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains28_$u7b$$u7b$closure$u7d$$u7d$17hf0219b63a9d8d06bE.llvm.11953678010571242332.exit.backedge.us.i.i": ; preds = %.lr.ph.split.us.i.i, %370 diff --git a/bench/delta-rs/optimized/2ounwovke18sd889.ll b/bench/delta-rs/optimized/2ounwovke18sd889.ll index b9a378ad348..17a8b96600b 100644 --- a/bench/delta-rs/optimized/2ounwovke18sd889.ll +++ b/bench/delta-rs/optimized/2ounwovke18sd889.ll @@ -5295,8 +5295,7 @@ define hidden noundef zeroext i1 @"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..Slic 11: ; preds = %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains28_$u7b$$u7b$closure$u7d$$u7d$17hf0219b63a9d8d06bE.llvm.11953678010571242332.exit.backedge.us.i" %12 = load i8, ptr %15, align 1, !range !963, !alias.scope !981, !noalias !984, !noundef !5 %13 = add nsw i8 %12, -16 - %narrow.i.i.us.i = tail call i8 @llvm.umin.i8(i8 %13, i8 4) - %14 = icmp eq i8 %narrow.i.i.us.i, %narrow3.i.i.i + %14 = icmp eq i8 %13, %narrow3.i.i.i br i1 %14, label %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3any17h6bc89ac644945227E.llvm.11953678010571242332.exit", label %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains28_$u7b$$u7b$closure$u7d$$u7d$17hf0219b63a9d8d06bE.llvm.11953678010571242332.exit.backedge.us.i" "_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains28_$u7b$$u7b$closure$u7d$$u7d$17hf0219b63a9d8d06bE.llvm.11953678010571242332.exit.backedge.us.i": ; preds = %.lr.ph.split.us.i, %11 @@ -10475,8 +10474,7 @@ define hidden noundef zeroext i1 @"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u2 %14 = getelementptr inbounds nuw i8, ptr %18, i64 1 %15 = load i8, ptr %18, align 1, !range !963, !alias.scope !1920, !noalias !1923, !noundef !5 %16 = add nsw i8 %15, -16 - %narrow.i.i.us = tail call i8 @llvm.umin.i8(i8 %16, i8 4) - %17 = icmp eq i8 %narrow.i.i.us, %narrow3.i.i + %17 = icmp eq i8 %16, %narrow3.i.i br i1 %17, label %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h99d5c854c2573e17E.llvm.11953678010571242332.exit.sink.split", label %"_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains28_$u7b$$u7b$closure$u7d$$u7d$17hf0219b63a9d8d06bE.llvm.11953678010571242332.exit.backedge.us" "_ZN53_$LT$T$u20$as$u20$core..slice..cmp..SliceContains$GT$14slice_contains28_$u7b$$u7b$closure$u7d$$u7d$17hf0219b63a9d8d06bE.llvm.11953678010571242332.exit.backedge.us": ; preds = %.lr.ph.split.us, %13 diff --git a/bench/double_conversion/optimized/strtod.cc.ll b/bench/double_conversion/optimized/strtod.cc.ll index 4aec67a7363..5587e673b3f 100644 --- a/bench/double_conversion/optimized/strtod.cc.ll +++ b/bench/double_conversion/optimized/strtod.cc.ll @@ -65,13 +65,9 @@ if.else.i: ; preds = %if.end.i if.else10: ; preds = %if.else %and = and i64 %1, 1 %cmp13 = icmp eq i64 %and, 0 - br i1 %cmp13, label %return, label %if.else15 + br i1 %cmp13, label %return, label %if.end.i11 -if.else15: ; preds = %if.else10 - %cmp.i10 = icmp eq i64 %1, 9218868437227405312 - br i1 %cmp.i10, label %return, label %if.end.i11 - -if.end.i11: ; preds = %if.else15 +if.end.i11: ; preds = %if.else10 %cmp3.i12 = icmp slt i64 %1, 0 br i1 %cmp3.i12, label %land.lhs.true.i16, label %if.else.i13 @@ -89,8 +85,8 @@ if.else.i13: ; preds = %if.end.i11 %9 = bitcast i64 %add.i14 to double br label %return -return: ; preds = %entry, %if.else.i13, %if.then10.i18, %land.lhs.true.i16, %if.else15, %if.else10, %if.else.i, %if.then10.i, %land.lhs.true.i, %if.then7, %if.end - %retval.0 = phi double [ %0, %if.end ], [ %6, %if.then10.i ], [ %7, %if.else.i ], [ 0.000000e+00, %land.lhs.true.i ], [ 0x7FF0000000000000, %if.then7 ], [ %0, %if.else10 ], [ %8, %if.then10.i18 ], [ %9, %if.else.i13 ], [ 0.000000e+00, %land.lhs.true.i16 ], [ 0x7FF0000000000000, %if.else15 ], [ %0, %entry ] +return: ; preds = %entry, %if.else.i13, %if.then10.i18, %land.lhs.true.i16, %if.else10, %if.else.i, %if.then10.i, %land.lhs.true.i, %if.then7, %if.end + %retval.0 = phi double [ %0, %if.end ], [ %6, %if.then10.i ], [ %7, %if.else.i ], [ 0.000000e+00, %land.lhs.true.i ], [ 0x7FF0000000000000, %if.then7 ], [ %0, %if.else10 ], [ %8, %if.then10.i18 ], [ %9, %if.else.i13 ], [ 0.000000e+00, %land.lhs.true.i16 ], [ %0, %entry ] ret double %retval.0 } @@ -735,13 +731,9 @@ if.else.i.i: ; preds = %if.end.i.i if.else10.i: ; preds = %if.else.i4 %and.i = and i64 %7, 1 %cmp13.i = icmp eq i64 %and.i, 0 - br i1 %cmp13.i, label %_ZN17double_conversion13StrtodTrimmedENS_6VectorIKcEEi.exit, label %if.else15.i - -if.else15.i: ; preds = %if.else10.i - %cmp.i10.i = icmp eq i64 %7, 9218868437227405312 - br i1 %cmp.i10.i, label %_ZN17double_conversion13StrtodTrimmedENS_6VectorIKcEEi.exit, label %if.end.i11.i + br i1 %cmp13.i, label %_ZN17double_conversion13StrtodTrimmedENS_6VectorIKcEEi.exit, label %if.end.i11.i -if.end.i11.i: ; preds = %if.else15.i +if.end.i11.i: ; preds = %if.else10.i %cmp3.i12.i = icmp slt i64 %7, 0 br i1 %cmp3.i12.i, label %land.lhs.true.i16.i, label %if.else.i13.i @@ -759,8 +751,8 @@ if.else.i13.i: ; preds = %if.end.i11.i %15 = bitcast i64 %add.i14.i to double br label %_ZN17double_conversion13StrtodTrimmedENS_6VectorIKcEEi.exit -_ZN17double_conversion13StrtodTrimmedENS_6VectorIKcEEi.exit: ; preds = %_ZN17double_conversionL10TrimAndCutENS_6VectorIKcEEiPciPS2_Pi.exit, %if.end.i, %if.then7.i, %land.lhs.true.i.i, %if.then10.i.i, %if.else.i.i, %if.else10.i, %if.else15.i, %land.lhs.true.i16.i, %if.then10.i18.i, %if.else.i13.i - %retval.0.i = phi double [ %6, %if.end.i ], [ %12, %if.then10.i.i ], [ %13, %if.else.i.i ], [ 0.000000e+00, %land.lhs.true.i.i ], [ 0x7FF0000000000000, %if.then7.i ], [ %6, %if.else10.i ], [ %14, %if.then10.i18.i ], [ %15, %if.else.i13.i ], [ 0.000000e+00, %land.lhs.true.i16.i ], [ 0x7FF0000000000000, %if.else15.i ], [ %6, %_ZN17double_conversionL10TrimAndCutENS_6VectorIKcEEiPciPS2_Pi.exit ] +_ZN17double_conversion13StrtodTrimmedENS_6VectorIKcEEi.exit: ; preds = %_ZN17double_conversionL10TrimAndCutENS_6VectorIKcEEiPciPS2_Pi.exit, %if.end.i, %if.then7.i, %land.lhs.true.i.i, %if.then10.i.i, %if.else.i.i, %if.else10.i, %land.lhs.true.i16.i, %if.then10.i18.i, %if.else.i13.i + %retval.0.i = phi double [ %6, %if.end.i ], [ %12, %if.then10.i.i ], [ %13, %if.else.i.i ], [ 0.000000e+00, %land.lhs.true.i.i ], [ 0x7FF0000000000000, %if.then7.i ], [ %6, %if.else10.i ], [ %14, %if.then10.i18.i ], [ %15, %if.else.i13.i ], [ 0.000000e+00, %land.lhs.true.i16.i ], [ %6, %_ZN17double_conversionL10TrimAndCutENS_6VectorIKcEEiPciPS2_Pi.exit ] call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %guess.i) ret double %retval.0.i } diff --git a/bench/faiss/optimized/ScalarQuantizer.cpp.ll b/bench/faiss/optimized/ScalarQuantizer.cpp.ll index 6dc9270049a..dfcee0f5f72 100644 --- a/bench/faiss/optimized/ScalarQuantizer.cpp.ll +++ b/bench/faiss/optimized/ScalarQuantizer.cpp.ll @@ -6046,9 +6046,9 @@ define noundef nonnull ptr @_ZNK5faiss15ScalarQuantizer26select_InvertedListScan %12 = alloca %"class.std::allocator.0", align 1 call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %11) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %12) - switch i32 %1, label %1062 [ + switch i32 %1, label %1059 [ i32 1, label %13 - i32 0, label %694 + i32 0, label %691 ] 13: ; preds = %6 @@ -6056,7 +6056,7 @@ define noundef nonnull ptr @_ZNK5faiss15ScalarQuantizer26select_InvertedListScan call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %10) %14 = getelementptr inbounds nuw i8, ptr %0, i64 24 %15 = load i32, ptr %14, align 8 - switch i32 %15, label %685 [ + switch i32 %15, label %682 [ i32 2, label %16 i32 3, label %104 i32 0, label %192 @@ -6151,8 +6151,8 @@ _ZSt6fill_nIPfmfET_S1_T0_RKT1_.exit.loopexit.i.i.i.i.i.i.i.i.i.i.i: ; preds = %. tail call void @llvm.memset.p0.i64(ptr align 4 %51, i8 0, i64 %53, i1 false) br label %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_10DCTemplateINS0_17QuantizerTemplateINS0_9Codec8bitELb1ELi1EEENS0_12SimilarityL2ILi1EEELi1EEELi2EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i.i -common.resume.i: ; preds = %1069, %1067, %1060, %1058, %common.resume.i.i24.i, %692, %690, %common.resume.i183.i.i, %common.resume.i168.i.i, %common.resume.i.i.i, %common.resume.i.i141.i.i, %common.resume.i.i112.i.i, %common.resume.i.i83.i.i, %common.resume.i.i54.i.i, %common.resume.i.i.i.i - %common.resume.op.i = phi { ptr, i32 } [ %common.resume.op.i.i.i.i, %common.resume.i.i.i.i ], [ %common.resume.op.i.i55.i.i, %common.resume.i.i54.i.i ], [ %common.resume.op.i.i84.i.i, %common.resume.i.i83.i.i ], [ %common.resume.op.i.i113.i.i, %common.resume.i.i112.i.i ], [ %common.resume.op.i.i142.i.i, %common.resume.i.i141.i.i ], [ %common.resume.op.i.i.i, %common.resume.i.i.i ], [ %common.resume.op.i169.i.i, %common.resume.i168.i.i ], [ %common.resume.op.i184.i.i, %common.resume.i183.i.i ], [ %691, %690 ], [ %.pn210.i.i, %692 ], [ %common.resume.op.i.i25.i, %common.resume.i.i24.i ], [ %1059, %1058 ], [ %.pn4.i.i, %1060 ], [ %1068, %1067 ], [ %.pn45.i, %1069 ] +common.resume.i: ; preds = %1066, %1064, %1057, %1055, %common.resume.i.i24.i, %689, %687, %common.resume.i183.i.i, %common.resume.i168.i.i, %common.resume.i.i.i, %common.resume.i.i141.i.i, %common.resume.i.i112.i.i, %common.resume.i.i83.i.i, %common.resume.i.i54.i.i, %common.resume.i.i.i.i + %common.resume.op.i = phi { ptr, i32 } [ %common.resume.op.i.i.i.i, %common.resume.i.i.i.i ], [ %common.resume.op.i.i55.i.i, %common.resume.i.i54.i.i ], [ %common.resume.op.i.i84.i.i, %common.resume.i.i83.i.i ], [ %common.resume.op.i.i113.i.i, %common.resume.i.i112.i.i ], [ %common.resume.op.i.i142.i.i, %common.resume.i.i141.i.i ], [ %common.resume.op.i.i.i, %common.resume.i.i.i ], [ %common.resume.op.i169.i.i, %common.resume.i168.i.i ], [ %common.resume.op.i184.i.i, %common.resume.i183.i.i ], [ %688, %687 ], [ %.pn210.i.i, %689 ], [ %common.resume.op.i.i25.i, %common.resume.i.i24.i ], [ %1056, %1055 ], [ %.pn4.i.i, %1057 ], [ %1065, %1064 ], [ %.pn45.i, %1066 ] resume { ptr, i32 } %common.resume.op.i common.resume.i.i.i.i: ; preds = %99, %70, %54 @@ -7525,7 +7525,7 @@ _ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_10DCTemplateINS0_13Quantiz %.not.i166.i.i = icmp eq ptr %4, null %514 = trunc i64 %511 to i32 %515 = getelementptr inbounds nuw i8, ptr %0, i64 16 - br i1 %513, label %516, label %618 + br i1 %513, label %516, label %615 516: ; preds = %509 %517 = tail call noalias noundef nonnull dereferenceable(152) ptr @_Znwm(i64 noundef 152) #28 @@ -7538,7 +7538,7 @@ _ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_10DCTemplateINS0_13Quantiz store i8 0, ptr %521, align 1 %522 = getelementptr inbounds nuw i8, ptr %517, i64 24 tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %522, i8 0, i64 16, i1 false) - br i1 %.not.i166.i.i, label %584, label %523 + br i1 %.not.i166.i.i, label %582, label %523 523: ; preds = %516 %524 = getelementptr inbounds nuw i8, ptr %517, i64 40 @@ -7548,7 +7548,7 @@ _ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_10DCTemplateINS0_13Quantiz %sext.i.i167.i.i = shl i64 %511, 32 %528 = ashr exact i64 %sext.i.i167.i.i, 32 %529 = icmp slt i32 %514, 0 - br i1 %3, label %530, label %557 + br i1 %3, label %530, label %556 530: ; preds = %523 store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_114IVFSQScannerL2INS0_20DistanceComputerByteINS0_12SimilarityL2ILi1EEELi1EEELi2EEE, i64 16), ptr %517, align 8 @@ -7559,7 +7559,7 @@ _ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_10DCTemplateINS0_13Quantiz .noexc.i.i.i.i176.i.i: ; preds = %530 invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.5) #27 - to label %.noexc.i.i177.i.i unwind label %553 + to label %.noexc.i.i177.i.i unwind label %552 .noexc.i.i177.i.i: ; preds = %.noexc.i.i.i.i176.i.i unreachable @@ -7571,7 +7571,7 @@ _ZNSt6vectorIhSaIhEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i.i.i: ; preds = %53 .noexc4.i.i.i.i.i.i: ; preds = %_ZNSt6vectorIhSaIhEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i.i.i %531 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %528) #28 - to label %.noexc8.i.i172.i.i unwind label %553 + to label %.noexc8.i.i172.i.i unwind label %552 .noexc8.i.i172.i.i: ; preds = %.noexc4.i.i.i.i.i.i store ptr %531, ptr %527, align 8 @@ -7613,1419 +7613,1407 @@ _ZNSt12_Vector_baseIfSaIfEEC2EmRKS0_.exit.thread.i.i.i.i.i.i: ; preds = %_ZNSt6v store ptr %547, ptr %548, align 8 store float 0.000000e+00, ptr %541, align 4 %549 = getelementptr i8, ptr %541, i64 4 - %550 = icmp eq i32 %514, 1 - br i1 %550, label %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_20DistanceComputerByteINS0_12SimilarityL2ILi1EEELi1EEELi2EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i, label %_ZSt6fill_nIPfmfET_S1_T0_RKT1_.exit.loopexit.i.i.i.i.i.i.i.i174.i.i - -_ZSt6fill_nIPfmfET_S1_T0_RKT1_.exit.loopexit.i.i.i.i.i.i.i.i174.i.i: ; preds = %.noexc14.i.i.i.i.i - %551 = add nsw i64 %540, -4 - tail call void @llvm.memset.p0.i64(ptr align 4 %549, i8 0, i64 %551, i1 false) + %550 = add nsw i64 %540, -4 + tail call void @llvm.memset.p0.i64(ptr align 4 %549, i8 0, i64 %550, i1 false) br label %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_20DistanceComputerByteINS0_12SimilarityL2ILi1EEELi1EEELi2EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i _ZN5faiss12_GLOBAL__N_120DistanceComputerByteINS0_12SimilarityL2ILi1EEELi1EED2Ev.exit.i.i.i.i.i: ; preds = %.noexc8.i.i172.i.i - %552 = landingpad { ptr, i32 } + %551 = landingpad { ptr, i32 } cleanup store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_120DistanceComputerByteINS0_12SimilarityL2ILi1EEELi1EEE, i64 16), ptr %524, align 8 tail call void @_ZdlPv(ptr noundef nonnull %531) #29 br label %common.resume.i168.i.i -553: ; preds = %.noexc4.i.i.i.i.i.i, %.noexc.i.i.i.i176.i.i - %554 = landingpad { ptr, i32 } +552: ; preds = %.noexc4.i.i.i.i.i.i, %.noexc.i.i.i.i176.i.i + %553 = landingpad { ptr, i32 } cleanup br label %common.resume.i168.i.i -common.resume.i168.i.i: ; preds = %613, %_ZN5faiss12_GLOBAL__N_120DistanceComputerByteINS0_12SimilarityL2ILi1EEELi1EED2Ev.exit.i.i48.i.i.i, %580, %_ZN5faiss12_GLOBAL__N_120DistanceComputerByteINS0_12SimilarityL2ILi1EEELi1EED2Ev.exit.i.i31.i.i.i, %553, %_ZN5faiss12_GLOBAL__N_120DistanceComputerByteINS0_12SimilarityL2ILi1EEELi1EED2Ev.exit.i.i.i.i.i - %common.resume.op.i169.i.i = phi { ptr, i32 } [ %554, %553 ], [ %552, %_ZN5faiss12_GLOBAL__N_120DistanceComputerByteINS0_12SimilarityL2ILi1EEELi1EED2Ev.exit.i.i.i.i.i ], [ %581, %580 ], [ %579, %_ZN5faiss12_GLOBAL__N_120DistanceComputerByteINS0_12SimilarityL2ILi1EEELi1EED2Ev.exit.i.i31.i.i.i ], [ %614, %613 ], [ %612, %_ZN5faiss12_GLOBAL__N_120DistanceComputerByteINS0_12SimilarityL2ILi1EEELi1EED2Ev.exit.i.i48.i.i.i ] +common.resume.i168.i.i: ; preds = %610, %_ZN5faiss12_GLOBAL__N_120DistanceComputerByteINS0_12SimilarityL2ILi1EEELi1EED2Ev.exit.i.i48.i.i.i, %578, %_ZN5faiss12_GLOBAL__N_120DistanceComputerByteINS0_12SimilarityL2ILi1EEELi1EED2Ev.exit.i.i31.i.i.i, %552, %_ZN5faiss12_GLOBAL__N_120DistanceComputerByteINS0_12SimilarityL2ILi1EEELi1EED2Ev.exit.i.i.i.i.i + %common.resume.op.i169.i.i = phi { ptr, i32 } [ %553, %552 ], [ %551, %_ZN5faiss12_GLOBAL__N_120DistanceComputerByteINS0_12SimilarityL2ILi1EEELi1EED2Ev.exit.i.i.i.i.i ], [ %579, %578 ], [ %577, %_ZN5faiss12_GLOBAL__N_120DistanceComputerByteINS0_12SimilarityL2ILi1EEELi1EED2Ev.exit.i.i31.i.i.i ], [ %611, %610 ], [ %609, %_ZN5faiss12_GLOBAL__N_120DistanceComputerByteINS0_12SimilarityL2ILi1EEELi1EED2Ev.exit.i.i48.i.i.i ] tail call void @_ZdlPv(ptr noundef nonnull %517) #29 br label %common.resume.i -_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_20DistanceComputerByteINS0_12SimilarityL2ILi1EEELi1EEELi2EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i: ; preds = %_ZSt6fill_nIPfmfET_S1_T0_RKT1_.exit.loopexit.i.i.i.i.i.i.i.i174.i.i, %.noexc14.i.i.i.i.i, %_ZNSt12_Vector_baseIfSaIfEEC2EmRKS0_.exit.thread.i.i.i.i.i.i - %.0.i.i.i.i.i.i.i.i175.i.i = phi ptr [ %549, %.noexc14.i.i.i.i.i ], [ %547, %_ZSt6fill_nIPfmfET_S1_T0_RKT1_.exit.loopexit.i.i.i.i.i.i.i.i174.i.i ], [ null, %_ZNSt12_Vector_baseIfSaIfEEC2EmRKS0_.exit.thread.i.i.i.i.i.i ] - %555 = getelementptr inbounds nuw i8, ptr %517, i64 32 - %556 = getelementptr inbounds nuw i8, ptr %517, i64 136 - store ptr %.0.i.i.i.i.i.i.i.i175.i.i, ptr %556, align 8 +_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_20DistanceComputerByteINS0_12SimilarityL2ILi1EEELi1EEELi2EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i: ; preds = %.noexc14.i.i.i.i.i, %_ZNSt12_Vector_baseIfSaIfEEC2EmRKS0_.exit.thread.i.i.i.i.i.i + %.0.i.i.i.i.i.i.i.i175.i.i = phi ptr [ %547, %.noexc14.i.i.i.i.i ], [ null, %_ZNSt12_Vector_baseIfSaIfEEC2EmRKS0_.exit.thread.i.i.i.i.i.i ] + %554 = getelementptr inbounds nuw i8, ptr %517, i64 32 + %555 = getelementptr inbounds nuw i8, ptr %517, i64 136 + store ptr %.0.i.i.i.i.i.i.i.i175.i.i, ptr %555, align 8 store i8 1, ptr %521, align 1 store ptr %4, ptr %522, align 8 - store i64 %518, ptr %555, align 8 + store i64 %518, ptr %554, align 8 br label %_ZN5faiss12_GLOBAL__N_124sel1_InvertedListScannerINS0_12SimilarityL2ILi1EEEEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i -557: ; preds = %523 +556: ; preds = %523 store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_114IVFSQScannerL2INS0_20DistanceComputerByteINS0_12SimilarityL2ILi1EEELi1EEELi1EEE, i64 16), ptr %517, align 8 tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %525, i8 0, i64 24, i1 false) store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_120DistanceComputerByteINS0_12SimilarityL2ILi1EEELi1EEE, i64 16), ptr %524, align 8 store i32 %514, ptr %526, align 8 br i1 %529, label %.noexc.i.i.i36.i.i.i, label %_ZNSt6vectorIhSaIhEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i21.i.i.i -.noexc.i.i.i36.i.i.i: ; preds = %557 +.noexc.i.i.i36.i.i.i: ; preds = %556 invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.5) #27 - to label %.noexc.i37.i170.i.i unwind label %580 + to label %.noexc.i37.i170.i.i unwind label %578 .noexc.i37.i170.i.i: ; preds = %.noexc.i.i.i36.i.i.i unreachable -_ZNSt6vectorIhSaIhEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i21.i.i.i: ; preds = %557 +_ZNSt6vectorIhSaIhEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i21.i.i.i: ; preds = %556 tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %527, i8 0, i64 24, i1 false) %.not.i.i.i.i.i.i.i22.i.i.i = icmp eq i32 %514, 0 br i1 %.not.i.i.i.i.i.i.i22.i.i.i, label %_ZNSt12_Vector_baseIfSaIfEEC2EmRKS0_.exit.thread.i.i.i35.i.i.i, label %.noexc4.i.i.i23.i.i.i .noexc4.i.i.i23.i.i.i: ; preds = %_ZNSt6vectorIhSaIhEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i21.i.i.i - %558 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %528) #28 - to label %.noexc8.i26.i.i.i unwind label %580 + %557 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %528) #28 + to label %.noexc8.i26.i.i.i unwind label %578 .noexc8.i26.i.i.i: ; preds = %.noexc4.i.i.i23.i.i.i - store ptr %558, ptr %527, align 8 - %559 = getelementptr i8, ptr %558, i64 %528 - %560 = getelementptr inbounds nuw i8, ptr %517, i64 96 - store ptr %559, ptr %560, align 8 - store i8 0, ptr %558, align 1 - %561 = getelementptr inbounds nuw i8, ptr %558, i64 1 - %562 = add nsw i64 %528, -1 - tail call void @llvm.memset.p0.i64(ptr nonnull align 1 %561, i8 0, i64 %562, i1 false) - %563 = getelementptr inbounds nuw i8, ptr %517, i64 120 - tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %563, i8 0, i64 32, i1 false) + store ptr %557, ptr %527, align 8 + %558 = getelementptr i8, ptr %557, i64 %528 + %559 = getelementptr inbounds nuw i8, ptr %517, i64 96 + store ptr %558, ptr %559, align 8 + store i8 0, ptr %557, align 1 + %560 = getelementptr inbounds nuw i8, ptr %557, i64 1 + %561 = add nsw i64 %528, -1 + tail call void @llvm.memset.p0.i64(ptr nonnull align 1 %560, i8 0, i64 %561, i1 false) + %562 = getelementptr inbounds nuw i8, ptr %517, i64 120 + tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %562, i8 0, i64 32, i1 false) %.sink.i30.i.i.i = zext i1 %5 to i8 - %564 = getelementptr inbounds nuw i8, ptr %517, i64 88 - store ptr %559, ptr %564, align 8 - %565 = getelementptr inbounds nuw i8, ptr %517, i64 104 - store i8 %.sink.i30.i.i.i, ptr %565, align 8 - %566 = getelementptr inbounds nuw i8, ptr %517, i64 112 - store ptr %2, ptr %566, align 8 - %567 = lshr exact i64 %sext.i.i167.i.i, 30 - %568 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %567) #28 + %563 = getelementptr inbounds nuw i8, ptr %517, i64 88 + store ptr %558, ptr %563, align 8 + %564 = getelementptr inbounds nuw i8, ptr %517, i64 104 + store i8 %.sink.i30.i.i.i, ptr %564, align 8 + %565 = getelementptr inbounds nuw i8, ptr %517, i64 112 + store ptr %2, ptr %565, align 8 + %566 = lshr exact i64 %sext.i.i167.i.i, 30 + %567 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %566) #28 to label %.noexc14.i.i32.i.i.i unwind label %_ZN5faiss12_GLOBAL__N_120DistanceComputerByteINS0_12SimilarityL2ILi1EEELi1EED2Ev.exit.i.i31.i.i.i _ZNSt12_Vector_baseIfSaIfEEC2EmRKS0_.exit.thread.i.i.i35.i.i.i: ; preds = %_ZNSt6vectorIhSaIhEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i21.i.i.i - %569 = zext i1 %5 to i8 - %570 = getelementptr inbounds nuw i8, ptr %517, i64 104 - store i8 %569, ptr %570, align 8 - %571 = getelementptr inbounds nuw i8, ptr %517, i64 112 - store ptr %2, ptr %571, align 8 - %572 = getelementptr inbounds nuw i8, ptr %517, i64 120 - tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %572, i8 0, i64 32, i1 false) + %568 = zext i1 %5 to i8 + %569 = getelementptr inbounds nuw i8, ptr %517, i64 104 + store i8 %568, ptr %569, align 8 + %570 = getelementptr inbounds nuw i8, ptr %517, i64 112 + store ptr %2, ptr %570, align 8 + %571 = getelementptr inbounds nuw i8, ptr %517, i64 120 + tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %571, i8 0, i64 32, i1 false) br label %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_20DistanceComputerByteINS0_12SimilarityL2ILi1EEELi1EEELi1EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i .noexc14.i.i32.i.i.i: ; preds = %.noexc8.i26.i.i.i - %573 = getelementptr inbounds nuw i8, ptr %517, i64 128 - store ptr %568, ptr %573, align 8 - %574 = getelementptr float, ptr %568, i64 %528 - %575 = getelementptr inbounds nuw i8, ptr %517, i64 144 - store ptr %574, ptr %575, align 8 - store float 0.000000e+00, ptr %568, align 4 - %576 = getelementptr i8, ptr %568, i64 4 - %577 = icmp eq i32 %514, 1 - br i1 %577, label %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_20DistanceComputerByteINS0_12SimilarityL2ILi1EEELi1EEELi1EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i, label %_ZSt6fill_nIPfmfET_S1_T0_RKT1_.exit.loopexit.i.i.i.i.i.i.i33.i.i.i - -_ZSt6fill_nIPfmfET_S1_T0_RKT1_.exit.loopexit.i.i.i.i.i.i.i33.i.i.i: ; preds = %.noexc14.i.i32.i.i.i - %578 = add nsw i64 %567, -4 - tail call void @llvm.memset.p0.i64(ptr align 4 %576, i8 0, i64 %578, i1 false) + %572 = getelementptr inbounds nuw i8, ptr %517, i64 128 + store ptr %567, ptr %572, align 8 + %573 = getelementptr float, ptr %567, i64 %528 + %574 = getelementptr inbounds nuw i8, ptr %517, i64 144 + store ptr %573, ptr %574, align 8 + store float 0.000000e+00, ptr %567, align 4 + %575 = getelementptr i8, ptr %567, i64 4 + %576 = add nsw i64 %566, -4 + tail call void @llvm.memset.p0.i64(ptr align 4 %575, i8 0, i64 %576, i1 false) br label %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_20DistanceComputerByteINS0_12SimilarityL2ILi1EEELi1EEELi1EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i _ZN5faiss12_GLOBAL__N_120DistanceComputerByteINS0_12SimilarityL2ILi1EEELi1EED2Ev.exit.i.i31.i.i.i: ; preds = %.noexc8.i26.i.i.i - %579 = landingpad { ptr, i32 } + %577 = landingpad { ptr, i32 } cleanup store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_120DistanceComputerByteINS0_12SimilarityL2ILi1EEELi1EEE, i64 16), ptr %524, align 8 - tail call void @_ZdlPv(ptr noundef nonnull %558) #29 + tail call void @_ZdlPv(ptr noundef nonnull %557) #29 br label %common.resume.i168.i.i -580: ; preds = %.noexc4.i.i.i23.i.i.i, %.noexc.i.i.i36.i.i.i - %581 = landingpad { ptr, i32 } +578: ; preds = %.noexc4.i.i.i23.i.i.i, %.noexc.i.i.i36.i.i.i + %579 = landingpad { ptr, i32 } cleanup br label %common.resume.i168.i.i -_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_20DistanceComputerByteINS0_12SimilarityL2ILi1EEELi1EEELi1EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i: ; preds = %_ZSt6fill_nIPfmfET_S1_T0_RKT1_.exit.loopexit.i.i.i.i.i.i.i33.i.i.i, %.noexc14.i.i32.i.i.i, %_ZNSt12_Vector_baseIfSaIfEEC2EmRKS0_.exit.thread.i.i.i35.i.i.i - %.0.i.i.i.i.i.i.i34.i.i.i = phi ptr [ %576, %.noexc14.i.i32.i.i.i ], [ %574, %_ZSt6fill_nIPfmfET_S1_T0_RKT1_.exit.loopexit.i.i.i.i.i.i.i33.i.i.i ], [ null, %_ZNSt12_Vector_baseIfSaIfEEC2EmRKS0_.exit.thread.i.i.i35.i.i.i ] - %582 = getelementptr inbounds nuw i8, ptr %517, i64 32 - %583 = getelementptr inbounds nuw i8, ptr %517, i64 136 - store ptr %.0.i.i.i.i.i.i.i34.i.i.i, ptr %583, align 8 +_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_20DistanceComputerByteINS0_12SimilarityL2ILi1EEELi1EEELi1EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i: ; preds = %.noexc14.i.i32.i.i.i, %_ZNSt12_Vector_baseIfSaIfEEC2EmRKS0_.exit.thread.i.i.i35.i.i.i + %.0.i.i.i.i.i.i.i34.i.i.i = phi ptr [ %573, %.noexc14.i.i32.i.i.i ], [ null, %_ZNSt12_Vector_baseIfSaIfEEC2EmRKS0_.exit.thread.i.i.i35.i.i.i ] + %580 = getelementptr inbounds nuw i8, ptr %517, i64 32 + %581 = getelementptr inbounds nuw i8, ptr %517, i64 136 + store ptr %.0.i.i.i.i.i.i.i34.i.i.i, ptr %581, align 8 store i8 0, ptr %521, align 1 store ptr %4, ptr %522, align 8 - store i64 %518, ptr %582, align 8 + store i64 %518, ptr %580, align 8 br label %_ZN5faiss12_GLOBAL__N_124sel1_InvertedListScannerINS0_12SimilarityL2ILi1EEEEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i -584: ; preds = %516 +582: ; preds = %516 store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_114IVFSQScannerL2INS0_20DistanceComputerByteINS0_12SimilarityL2ILi1EEELi1EEELi0EEE, i64 16), ptr %517, align 8 - %585 = getelementptr inbounds nuw i8, ptr %517, i64 40 - %586 = getelementptr inbounds nuw i8, ptr %517, i64 48 - tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %586, i8 0, i64 24, i1 false) - store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_120DistanceComputerByteINS0_12SimilarityL2ILi1EEELi1EEE, i64 16), ptr %585, align 8 - %587 = getelementptr inbounds nuw i8, ptr %517, i64 72 - store i32 %514, ptr %587, align 8 - %588 = getelementptr inbounds nuw i8, ptr %517, i64 80 + %583 = getelementptr inbounds nuw i8, ptr %517, i64 40 + %584 = getelementptr inbounds nuw i8, ptr %517, i64 48 + tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %584, i8 0, i64 24, i1 false) + store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_120DistanceComputerByteINS0_12SimilarityL2ILi1EEELi1EEE, i64 16), ptr %583, align 8 + %585 = getelementptr inbounds nuw i8, ptr %517, i64 72 + store i32 %514, ptr %585, align 8 + %586 = getelementptr inbounds nuw i8, ptr %517, i64 80 %sext.i38.i.i.i = shl i64 %511, 32 - %589 = ashr exact i64 %sext.i38.i.i.i, 32 - %590 = icmp slt i32 %514, 0 - br i1 %590, label %.noexc.i.i.i53.i.i.i, label %_ZNSt6vectorIhSaIhEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i39.i.i.i + %587 = ashr exact i64 %sext.i38.i.i.i, 32 + %588 = icmp slt i32 %514, 0 + br i1 %588, label %.noexc.i.i.i53.i.i.i, label %_ZNSt6vectorIhSaIhEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i39.i.i.i -.noexc.i.i.i53.i.i.i: ; preds = %584 +.noexc.i.i.i53.i.i.i: ; preds = %582 invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.5) #27 - to label %.noexc.i54.i.i.i unwind label %613 + to label %.noexc.i54.i.i.i unwind label %610 .noexc.i54.i.i.i: ; preds = %.noexc.i.i.i53.i.i.i unreachable -_ZNSt6vectorIhSaIhEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i39.i.i.i: ; preds = %584 - tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %588, i8 0, i64 24, i1 false) +_ZNSt6vectorIhSaIhEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i39.i.i.i: ; preds = %582 + tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %586, i8 0, i64 24, i1 false) %.not.i.i.i.i.i.i.i40.i.i.i = icmp eq i32 %514, 0 br i1 %.not.i.i.i.i.i.i.i40.i.i.i, label %_ZNSt12_Vector_baseIfSaIfEEC2EmRKS0_.exit.thread.i.i.i52.i.i.i, label %.noexc4.i.i.i41.i.i.i .noexc4.i.i.i41.i.i.i: ; preds = %_ZNSt6vectorIhSaIhEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i39.i.i.i - %591 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %589) #28 - to label %.noexc8.i44.i.i.i unwind label %613 + %589 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %587) #28 + to label %.noexc8.i44.i.i.i unwind label %610 .noexc8.i44.i.i.i: ; preds = %.noexc4.i.i.i41.i.i.i - store ptr %591, ptr %588, align 8 - %592 = getelementptr i8, ptr %591, i64 %589 - %593 = getelementptr inbounds nuw i8, ptr %517, i64 96 - store ptr %592, ptr %593, align 8 - store i8 0, ptr %591, align 1 - %594 = getelementptr inbounds nuw i8, ptr %591, i64 1 - %595 = add nsw i64 %589, -1 - tail call void @llvm.memset.p0.i64(ptr nonnull align 1 %594, i8 0, i64 %595, i1 false) - %596 = getelementptr inbounds nuw i8, ptr %517, i64 120 - tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %596, i8 0, i64 32, i1 false) + store ptr %589, ptr %586, align 8 + %590 = getelementptr i8, ptr %589, i64 %587 + %591 = getelementptr inbounds nuw i8, ptr %517, i64 96 + store ptr %590, ptr %591, align 8 + store i8 0, ptr %589, align 1 + %592 = getelementptr inbounds nuw i8, ptr %589, i64 1 + %593 = add nsw i64 %587, -1 + tail call void @llvm.memset.p0.i64(ptr nonnull align 1 %592, i8 0, i64 %593, i1 false) + %594 = getelementptr inbounds nuw i8, ptr %517, i64 120 + tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %594, i8 0, i64 32, i1 false) %.sink.i47.i.i.i = zext i1 %5 to i8 - %597 = getelementptr inbounds nuw i8, ptr %517, i64 88 - store ptr %592, ptr %597, align 8 - %598 = getelementptr inbounds nuw i8, ptr %517, i64 104 - store i8 %.sink.i47.i.i.i, ptr %598, align 8 - %599 = getelementptr inbounds nuw i8, ptr %517, i64 112 - store ptr %2, ptr %599, align 8 - %600 = lshr exact i64 %sext.i38.i.i.i, 30 - %601 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %600) #28 + %595 = getelementptr inbounds nuw i8, ptr %517, i64 88 + store ptr %590, ptr %595, align 8 + %596 = getelementptr inbounds nuw i8, ptr %517, i64 104 + store i8 %.sink.i47.i.i.i, ptr %596, align 8 + %597 = getelementptr inbounds nuw i8, ptr %517, i64 112 + store ptr %2, ptr %597, align 8 + %598 = lshr exact i64 %sext.i38.i.i.i, 30 + %599 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %598) #28 to label %.noexc14.i.i49.i.i.i unwind label %_ZN5faiss12_GLOBAL__N_120DistanceComputerByteINS0_12SimilarityL2ILi1EEELi1EED2Ev.exit.i.i48.i.i.i _ZNSt12_Vector_baseIfSaIfEEC2EmRKS0_.exit.thread.i.i.i52.i.i.i: ; preds = %_ZNSt6vectorIhSaIhEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i39.i.i.i - %602 = zext i1 %5 to i8 - %603 = getelementptr inbounds nuw i8, ptr %517, i64 104 - store i8 %602, ptr %603, align 8 - %604 = getelementptr inbounds nuw i8, ptr %517, i64 112 - store ptr %2, ptr %604, align 8 - %605 = getelementptr inbounds nuw i8, ptr %517, i64 120 - tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %605, i8 0, i64 32, i1 false) + %600 = zext i1 %5 to i8 + %601 = getelementptr inbounds nuw i8, ptr %517, i64 104 + store i8 %600, ptr %601, align 8 + %602 = getelementptr inbounds nuw i8, ptr %517, i64 112 + store ptr %2, ptr %602, align 8 + %603 = getelementptr inbounds nuw i8, ptr %517, i64 120 + tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %603, i8 0, i64 32, i1 false) br label %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_20DistanceComputerByteINS0_12SimilarityL2ILi1EEELi1EEELi0EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i .noexc14.i.i49.i.i.i: ; preds = %.noexc8.i44.i.i.i - %606 = getelementptr inbounds nuw i8, ptr %517, i64 128 - store ptr %601, ptr %606, align 8 - %607 = getelementptr float, ptr %601, i64 %589 - %608 = getelementptr inbounds nuw i8, ptr %517, i64 144 - store ptr %607, ptr %608, align 8 - store float 0.000000e+00, ptr %601, align 4 - %609 = getelementptr i8, ptr %601, i64 4 - %610 = icmp eq i32 %514, 1 - br i1 %610, label %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_20DistanceComputerByteINS0_12SimilarityL2ILi1EEELi1EEELi0EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i, label %_ZSt6fill_nIPfmfET_S1_T0_RKT1_.exit.loopexit.i.i.i.i.i.i.i50.i.i.i - -_ZSt6fill_nIPfmfET_S1_T0_RKT1_.exit.loopexit.i.i.i.i.i.i.i50.i.i.i: ; preds = %.noexc14.i.i49.i.i.i - %611 = add nsw i64 %600, -4 - tail call void @llvm.memset.p0.i64(ptr align 4 %609, i8 0, i64 %611, i1 false) + %604 = getelementptr inbounds nuw i8, ptr %517, i64 128 + store ptr %599, ptr %604, align 8 + %605 = getelementptr float, ptr %599, i64 %587 + %606 = getelementptr inbounds nuw i8, ptr %517, i64 144 + store ptr %605, ptr %606, align 8 + store float 0.000000e+00, ptr %599, align 4 + %607 = getelementptr i8, ptr %599, i64 4 + %608 = add nsw i64 %598, -4 + tail call void @llvm.memset.p0.i64(ptr align 4 %607, i8 0, i64 %608, i1 false) br label %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_20DistanceComputerByteINS0_12SimilarityL2ILi1EEELi1EEELi0EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i _ZN5faiss12_GLOBAL__N_120DistanceComputerByteINS0_12SimilarityL2ILi1EEELi1EED2Ev.exit.i.i48.i.i.i: ; preds = %.noexc8.i44.i.i.i - %612 = landingpad { ptr, i32 } + %609 = landingpad { ptr, i32 } cleanup - store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_120DistanceComputerByteINS0_12SimilarityL2ILi1EEELi1EEE, i64 16), ptr %585, align 8 - tail call void @_ZdlPv(ptr noundef nonnull %591) #29 + store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_120DistanceComputerByteINS0_12SimilarityL2ILi1EEELi1EEE, i64 16), ptr %583, align 8 + tail call void @_ZdlPv(ptr noundef nonnull %589) #29 br label %common.resume.i168.i.i -613: ; preds = %.noexc4.i.i.i41.i.i.i, %.noexc.i.i.i53.i.i.i - %614 = landingpad { ptr, i32 } +610: ; preds = %.noexc4.i.i.i41.i.i.i, %.noexc.i.i.i53.i.i.i + %611 = landingpad { ptr, i32 } cleanup br label %common.resume.i168.i.i -_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_20DistanceComputerByteINS0_12SimilarityL2ILi1EEELi1EEELi0EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i: ; preds = %_ZSt6fill_nIPfmfET_S1_T0_RKT1_.exit.loopexit.i.i.i.i.i.i.i50.i.i.i, %.noexc14.i.i49.i.i.i, %_ZNSt12_Vector_baseIfSaIfEEC2EmRKS0_.exit.thread.i.i.i52.i.i.i - %.0.i.i.i.i.i.i.i51.i.i.i = phi ptr [ %609, %.noexc14.i.i49.i.i.i ], [ %607, %_ZSt6fill_nIPfmfET_S1_T0_RKT1_.exit.loopexit.i.i.i.i.i.i.i50.i.i.i ], [ null, %_ZNSt12_Vector_baseIfSaIfEEC2EmRKS0_.exit.thread.i.i.i52.i.i.i ] - %615 = getelementptr inbounds nuw i8, ptr %517, i64 32 - %616 = getelementptr inbounds nuw i8, ptr %517, i64 136 - store ptr %.0.i.i.i.i.i.i.i51.i.i.i, ptr %616, align 8 - %617 = zext i1 %3 to i8 - store i8 %617, ptr %521, align 1 +_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_20DistanceComputerByteINS0_12SimilarityL2ILi1EEELi1EEELi0EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i: ; preds = %.noexc14.i.i49.i.i.i, %_ZNSt12_Vector_baseIfSaIfEEC2EmRKS0_.exit.thread.i.i.i52.i.i.i + %.0.i.i.i.i.i.i.i51.i.i.i = phi ptr [ %605, %.noexc14.i.i49.i.i.i ], [ null, %_ZNSt12_Vector_baseIfSaIfEEC2EmRKS0_.exit.thread.i.i.i52.i.i.i ] + %612 = getelementptr inbounds nuw i8, ptr %517, i64 32 + %613 = getelementptr inbounds nuw i8, ptr %517, i64 136 + store ptr %.0.i.i.i.i.i.i.i51.i.i.i, ptr %613, align 8 + %614 = zext i1 %3 to i8 + store i8 %614, ptr %521, align 1 store ptr null, ptr %522, align 8 - store i64 %518, ptr %615, align 8 + store i64 %518, ptr %612, align 8 br label %_ZN5faiss12_GLOBAL__N_124sel1_InvertedListScannerINS0_12SimilarityL2ILi1EEEEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i -618: ; preds = %509 - %619 = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #28 - %620 = load i64, ptr %515, align 8 - %621 = getelementptr inbounds nuw i8, ptr %619, i64 8 - store i64 -1, ptr %621, align 8 - %622 = getelementptr inbounds nuw i8, ptr %619, i64 16 - store i8 0, ptr %622, align 8 - %623 = getelementptr inbounds nuw i8, ptr %619, i64 17 - store i8 0, ptr %623, align 1 - %624 = getelementptr inbounds nuw i8, ptr %619, i64 24 - tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %624, i8 0, i64 16, i1 false) - br i1 %.not.i166.i.i, label %661, label %625 - -625: ; preds = %618 - %626 = getelementptr inbounds nuw i8, ptr %619, i64 40 +615: ; preds = %509 + %616 = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #28 + %617 = load i64, ptr %515, align 8 + %618 = getelementptr inbounds nuw i8, ptr %616, i64 8 + store i64 -1, ptr %618, align 8 + %619 = getelementptr inbounds nuw i8, ptr %616, i64 16 + store i8 0, ptr %619, align 8 + %620 = getelementptr inbounds nuw i8, ptr %616, i64 17 + store i8 0, ptr %620, align 1 + %621 = getelementptr inbounds nuw i8, ptr %616, i64 24 + tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %621, i8 0, i64 16, i1 false) + br i1 %.not.i166.i.i, label %658, label %622 + +622: ; preds = %615 + %623 = getelementptr inbounds nuw i8, ptr %616, i64 40 %sext.i.i179.i.i = shl i64 %511, 32 - %627 = ashr exact i64 %sext.i.i179.i.i, 32 - %628 = getelementptr inbounds nuw i8, ptr %619, i64 48 - %629 = getelementptr inbounds nuw i8, ptr %619, i64 72 - %630 = getelementptr inbounds nuw i8, ptr %619, i64 80 - %631 = zext i1 %5 to i8 - %632 = getelementptr inbounds nuw i8, ptr %619, i64 88 - %633 = getelementptr inbounds nuw i8, ptr %619, i64 96 - %634 = getelementptr inbounds nuw i8, ptr %619, i64 104 - %635 = getelementptr inbounds nuw i8, ptr %619, i64 112 - %636 = icmp slt i32 %514, 0 - br i1 %3, label %637, label %649 - -637: ; preds = %625 - store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_114IVFSQScannerL2INS0_10DCTemplateINS0_19Quantizer8bitDirectILi1EEENS0_12SimilarityL2ILi1EEELi1EEELi2EEE, i64 16), ptr %619, align 8 - tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %628, i8 0, i64 24, i1 false) - store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_110DCTemplateINS0_19Quantizer8bitDirectILi1EEENS0_12SimilarityL2ILi1EEELi1EEE, i64 16), ptr %626, align 8 - store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_119Quantizer8bitDirectILi1EEE, i64 16), ptr %629, align 8 - store i64 %627, ptr %630, align 8 - store i8 %631, ptr %632, align 8 - store ptr %2, ptr %633, align 8 - store ptr null, ptr %634, align 8 - br i1 %636, label %.noexc.i.i.i196.i.i, label %_ZNSt6vectorIfSaIfEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i190.i.i - -.noexc.i.i.i196.i.i: ; preds = %637 + %624 = ashr exact i64 %sext.i.i179.i.i, 32 + %625 = getelementptr inbounds nuw i8, ptr %616, i64 48 + %626 = getelementptr inbounds nuw i8, ptr %616, i64 72 + %627 = getelementptr inbounds nuw i8, ptr %616, i64 80 + %628 = zext i1 %5 to i8 + %629 = getelementptr inbounds nuw i8, ptr %616, i64 88 + %630 = getelementptr inbounds nuw i8, ptr %616, i64 96 + %631 = getelementptr inbounds nuw i8, ptr %616, i64 104 + %632 = getelementptr inbounds nuw i8, ptr %616, i64 112 + %633 = icmp slt i32 %514, 0 + br i1 %3, label %634, label %646 + +634: ; preds = %622 + store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_114IVFSQScannerL2INS0_10DCTemplateINS0_19Quantizer8bitDirectILi1EEENS0_12SimilarityL2ILi1EEELi1EEELi2EEE, i64 16), ptr %616, align 8 + tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %625, i8 0, i64 24, i1 false) + store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_110DCTemplateINS0_19Quantizer8bitDirectILi1EEENS0_12SimilarityL2ILi1EEELi1EEE, i64 16), ptr %623, align 8 + store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_119Quantizer8bitDirectILi1EEE, i64 16), ptr %626, align 8 + store i64 %624, ptr %627, align 8 + store i8 %628, ptr %629, align 8 + store ptr %2, ptr %630, align 8 + store ptr null, ptr %631, align 8 + br i1 %633, label %.noexc.i.i.i196.i.i, label %_ZNSt6vectorIfSaIfEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i190.i.i + +.noexc.i.i.i196.i.i: ; preds = %634 invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.5) #27 - to label %.noexc.i.i197.i.i unwind label %645 + to label %.noexc.i.i197.i.i unwind label %642 .noexc.i.i197.i.i: ; preds = %.noexc.i.i.i196.i.i unreachable -_ZNSt6vectorIfSaIfEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i190.i.i: ; preds = %637 - tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %635, i8 0, i64 24, i1 false) +_ZNSt6vectorIfSaIfEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i190.i.i: ; preds = %634 + tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %632, i8 0, i64 24, i1 false) %.not.i.i.i.i.i.i.i191.i.i = icmp eq i32 %514, 0 br i1 %.not.i.i.i.i.i.i.i191.i.i, label %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_10DCTemplateINS0_19Quantizer8bitDirectILi1EEENS0_12SimilarityL2ILi1EEELi1EEELi2EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i, label %.noexc12.i.i.i192.i.i .noexc12.i.i.i192.i.i: ; preds = %_ZNSt6vectorIfSaIfEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i190.i.i - %638 = lshr exact i64 %sext.i.i179.i.i, 30 - %639 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %638) #28 - to label %.noexc8.i.i193.i.i unwind label %645 + %635 = lshr exact i64 %sext.i.i179.i.i, 30 + %636 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %635) #28 + to label %.noexc8.i.i193.i.i unwind label %642 .noexc8.i.i193.i.i: ; preds = %.noexc12.i.i.i192.i.i - store ptr %639, ptr %635, align 8 - %640 = getelementptr float, ptr %639, i64 %627 - %641 = getelementptr inbounds nuw i8, ptr %619, i64 128 - store ptr %640, ptr %641, align 8 - store float 0.000000e+00, ptr %639, align 4 - %642 = getelementptr i8, ptr %639, i64 4 - %643 = icmp eq i32 %514, 1 - br i1 %643, label %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_10DCTemplateINS0_19Quantizer8bitDirectILi1EEENS0_12SimilarityL2ILi1EEELi1EEELi2EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i, label %_ZSt6fill_nIPfmfET_S1_T0_RKT1_.exit.loopexit.i.i.i.i.i.i.i.i194.i.i + store ptr %636, ptr %632, align 8 + %637 = getelementptr float, ptr %636, i64 %624 + %638 = getelementptr inbounds nuw i8, ptr %616, i64 128 + store ptr %637, ptr %638, align 8 + store float 0.000000e+00, ptr %636, align 4 + %639 = getelementptr i8, ptr %636, i64 4 + %640 = icmp eq i32 %514, 1 + br i1 %640, label %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_10DCTemplateINS0_19Quantizer8bitDirectILi1EEENS0_12SimilarityL2ILi1EEELi1EEELi2EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i, label %_ZSt6fill_nIPfmfET_S1_T0_RKT1_.exit.loopexit.i.i.i.i.i.i.i.i194.i.i _ZSt6fill_nIPfmfET_S1_T0_RKT1_.exit.loopexit.i.i.i.i.i.i.i.i194.i.i: ; preds = %.noexc8.i.i193.i.i - %644 = add nsw i64 %638, -4 - tail call void @llvm.memset.p0.i64(ptr align 4 %642, i8 0, i64 %644, i1 false) + %641 = add nsw i64 %635, -4 + tail call void @llvm.memset.p0.i64(ptr align 4 %639, i8 0, i64 %641, i1 false) br label %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_10DCTemplateINS0_19Quantizer8bitDirectILi1EEENS0_12SimilarityL2ILi1EEELi1EEELi2EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i -common.resume.i183.i.i: ; preds = %680, %657, %645 - %common.resume.op.i184.i.i = phi { ptr, i32 } [ %646, %645 ], [ %658, %657 ], [ %681, %680 ] - tail call void @_ZdlPv(ptr noundef nonnull %619) #29 +common.resume.i183.i.i: ; preds = %677, %654, %642 + %common.resume.op.i184.i.i = phi { ptr, i32 } [ %643, %642 ], [ %655, %654 ], [ %678, %677 ] + tail call void @_ZdlPv(ptr noundef nonnull %616) #29 br label %common.resume.i -645: ; preds = %.noexc12.i.i.i192.i.i, %.noexc.i.i.i196.i.i - %646 = landingpad { ptr, i32 } +642: ; preds = %.noexc12.i.i.i192.i.i, %.noexc.i.i.i196.i.i + %643 = landingpad { ptr, i32 } cleanup br label %common.resume.i183.i.i _ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_10DCTemplateINS0_19Quantizer8bitDirectILi1EEENS0_12SimilarityL2ILi1EEELi1EEELi2EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i: ; preds = %_ZSt6fill_nIPfmfET_S1_T0_RKT1_.exit.loopexit.i.i.i.i.i.i.i.i194.i.i, %.noexc8.i.i193.i.i, %_ZNSt6vectorIfSaIfEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i190.i.i - %.0.i.i.i.i.i.i.i.i195.i.i = phi ptr [ %642, %.noexc8.i.i193.i.i ], [ %640, %_ZSt6fill_nIPfmfET_S1_T0_RKT1_.exit.loopexit.i.i.i.i.i.i.i.i194.i.i ], [ null, %_ZNSt6vectorIfSaIfEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i190.i.i ] - %647 = getelementptr inbounds nuw i8, ptr %619, i64 32 - %648 = getelementptr inbounds nuw i8, ptr %619, i64 120 - store ptr %.0.i.i.i.i.i.i.i.i195.i.i, ptr %648, align 8 - store i8 1, ptr %623, align 1 - store ptr %4, ptr %624, align 8 - store i64 %620, ptr %647, align 8 + %.0.i.i.i.i.i.i.i.i195.i.i = phi ptr [ %639, %.noexc8.i.i193.i.i ], [ %637, %_ZSt6fill_nIPfmfET_S1_T0_RKT1_.exit.loopexit.i.i.i.i.i.i.i.i194.i.i ], [ null, %_ZNSt6vectorIfSaIfEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i190.i.i ] + %644 = getelementptr inbounds nuw i8, ptr %616, i64 32 + %645 = getelementptr inbounds nuw i8, ptr %616, i64 120 + store ptr %.0.i.i.i.i.i.i.i.i195.i.i, ptr %645, align 8 + store i8 1, ptr %620, align 1 + store ptr %4, ptr %621, align 8 + store i64 %617, ptr %644, align 8 br label %_ZN5faiss12_GLOBAL__N_124sel1_InvertedListScannerINS0_12SimilarityL2ILi1EEEEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i -649: ; preds = %625 - store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_114IVFSQScannerL2INS0_10DCTemplateINS0_19Quantizer8bitDirectILi1EEENS0_12SimilarityL2ILi1EEELi1EEELi1EEE, i64 16), ptr %619, align 8 - tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %628, i8 0, i64 24, i1 false) - store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_110DCTemplateINS0_19Quantizer8bitDirectILi1EEENS0_12SimilarityL2ILi1EEELi1EEE, i64 16), ptr %626, align 8 - store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_119Quantizer8bitDirectILi1EEE, i64 16), ptr %629, align 8 - store i64 %627, ptr %630, align 8 - store i8 %631, ptr %632, align 8 - store ptr %2, ptr %633, align 8 - store ptr null, ptr %634, align 8 - br i1 %636, label %.noexc.i.i27.i188.i.i, label %_ZNSt6vectorIfSaIfEE17_S_check_init_lenEmRKS0_.exit.i.i.i21.i180.i.i - -.noexc.i.i27.i188.i.i: ; preds = %649 +646: ; preds = %622 + store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_114IVFSQScannerL2INS0_10DCTemplateINS0_19Quantizer8bitDirectILi1EEENS0_12SimilarityL2ILi1EEELi1EEELi1EEE, i64 16), ptr %616, align 8 + tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %625, i8 0, i64 24, i1 false) + store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_110DCTemplateINS0_19Quantizer8bitDirectILi1EEENS0_12SimilarityL2ILi1EEELi1EEE, i64 16), ptr %623, align 8 + store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_119Quantizer8bitDirectILi1EEE, i64 16), ptr %626, align 8 + store i64 %624, ptr %627, align 8 + store i8 %628, ptr %629, align 8 + store ptr %2, ptr %630, align 8 + store ptr null, ptr %631, align 8 + br i1 %633, label %.noexc.i.i27.i188.i.i, label %_ZNSt6vectorIfSaIfEE17_S_check_init_lenEmRKS0_.exit.i.i.i21.i180.i.i + +.noexc.i.i27.i188.i.i: ; preds = %646 invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.5) #27 - to label %.noexc.i28.i189.i.i unwind label %657 + to label %.noexc.i28.i189.i.i unwind label %654 .noexc.i28.i189.i.i: ; preds = %.noexc.i.i27.i188.i.i unreachable -_ZNSt6vectorIfSaIfEE17_S_check_init_lenEmRKS0_.exit.i.i.i21.i180.i.i: ; preds = %649 - tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %635, i8 0, i64 24, i1 false) +_ZNSt6vectorIfSaIfEE17_S_check_init_lenEmRKS0_.exit.i.i.i21.i180.i.i: ; preds = %646 + tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %632, i8 0, i64 24, i1 false) %.not.i.i.i.i.i.i22.i181.i.i = icmp eq i32 %514, 0 br i1 %.not.i.i.i.i.i.i22.i181.i.i, label %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_10DCTemplateINS0_19Quantizer8bitDirectILi1EEENS0_12SimilarityL2ILi1EEELi1EEELi1EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i, label %.noexc12.i.i23.i182.i.i .noexc12.i.i23.i182.i.i: ; preds = %_ZNSt6vectorIfSaIfEE17_S_check_init_lenEmRKS0_.exit.i.i.i21.i180.i.i - %650 = lshr exact i64 %sext.i.i179.i.i, 30 - %651 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %650) #28 - to label %.noexc8.i24.i185.i.i unwind label %657 + %647 = lshr exact i64 %sext.i.i179.i.i, 30 + %648 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %647) #28 + to label %.noexc8.i24.i185.i.i unwind label %654 .noexc8.i24.i185.i.i: ; preds = %.noexc12.i.i23.i182.i.i - store ptr %651, ptr %635, align 8 - %652 = getelementptr float, ptr %651, i64 %627 - %653 = getelementptr inbounds nuw i8, ptr %619, i64 128 - store ptr %652, ptr %653, align 8 - store float 0.000000e+00, ptr %651, align 4 - %654 = getelementptr i8, ptr %651, i64 4 - %655 = icmp eq i32 %514, 1 - br i1 %655, label %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_10DCTemplateINS0_19Quantizer8bitDirectILi1EEENS0_12SimilarityL2ILi1EEELi1EEELi1EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i, label %_ZSt6fill_nIPfmfET_S1_T0_RKT1_.exit.loopexit.i.i.i.i.i.i.i25.i186.i.i + store ptr %648, ptr %632, align 8 + %649 = getelementptr float, ptr %648, i64 %624 + %650 = getelementptr inbounds nuw i8, ptr %616, i64 128 + store ptr %649, ptr %650, align 8 + store float 0.000000e+00, ptr %648, align 4 + %651 = getelementptr i8, ptr %648, i64 4 + %652 = icmp eq i32 %514, 1 + br i1 %652, label %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_10DCTemplateINS0_19Quantizer8bitDirectILi1EEENS0_12SimilarityL2ILi1EEELi1EEELi1EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i, label %_ZSt6fill_nIPfmfET_S1_T0_RKT1_.exit.loopexit.i.i.i.i.i.i.i25.i186.i.i _ZSt6fill_nIPfmfET_S1_T0_RKT1_.exit.loopexit.i.i.i.i.i.i.i25.i186.i.i: ; preds = %.noexc8.i24.i185.i.i - %656 = add nsw i64 %650, -4 - tail call void @llvm.memset.p0.i64(ptr align 4 %654, i8 0, i64 %656, i1 false) + %653 = add nsw i64 %647, -4 + tail call void @llvm.memset.p0.i64(ptr align 4 %651, i8 0, i64 %653, i1 false) br label %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_10DCTemplateINS0_19Quantizer8bitDirectILi1EEENS0_12SimilarityL2ILi1EEELi1EEELi1EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i -657: ; preds = %.noexc12.i.i23.i182.i.i, %.noexc.i.i27.i188.i.i - %658 = landingpad { ptr, i32 } +654: ; preds = %.noexc12.i.i23.i182.i.i, %.noexc.i.i27.i188.i.i + %655 = landingpad { ptr, i32 } cleanup br label %common.resume.i183.i.i _ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_10DCTemplateINS0_19Quantizer8bitDirectILi1EEENS0_12SimilarityL2ILi1EEELi1EEELi1EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i: ; preds = %_ZSt6fill_nIPfmfET_S1_T0_RKT1_.exit.loopexit.i.i.i.i.i.i.i25.i186.i.i, %.noexc8.i24.i185.i.i, %_ZNSt6vectorIfSaIfEE17_S_check_init_lenEmRKS0_.exit.i.i.i21.i180.i.i - %.0.i.i.i.i.i.i.i26.i187.i.i = phi ptr [ %654, %.noexc8.i24.i185.i.i ], [ %652, %_ZSt6fill_nIPfmfET_S1_T0_RKT1_.exit.loopexit.i.i.i.i.i.i.i25.i186.i.i ], [ null, %_ZNSt6vectorIfSaIfEE17_S_check_init_lenEmRKS0_.exit.i.i.i21.i180.i.i ] - %659 = getelementptr inbounds nuw i8, ptr %619, i64 32 - %660 = getelementptr inbounds nuw i8, ptr %619, i64 120 - store ptr %.0.i.i.i.i.i.i.i26.i187.i.i, ptr %660, align 8 - store i8 0, ptr %623, align 1 - store ptr %4, ptr %624, align 8 - store i64 %620, ptr %659, align 8 + %.0.i.i.i.i.i.i.i26.i187.i.i = phi ptr [ %651, %.noexc8.i24.i185.i.i ], [ %649, %_ZSt6fill_nIPfmfET_S1_T0_RKT1_.exit.loopexit.i.i.i.i.i.i.i25.i186.i.i ], [ null, %_ZNSt6vectorIfSaIfEE17_S_check_init_lenEmRKS0_.exit.i.i.i21.i180.i.i ] + %656 = getelementptr inbounds nuw i8, ptr %616, i64 32 + %657 = getelementptr inbounds nuw i8, ptr %616, i64 120 + store ptr %.0.i.i.i.i.i.i.i26.i187.i.i, ptr %657, align 8 + store i8 0, ptr %620, align 1 + store ptr %4, ptr %621, align 8 + store i64 %617, ptr %656, align 8 br label %_ZN5faiss12_GLOBAL__N_124sel1_InvertedListScannerINS0_12SimilarityL2ILi1EEEEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i -661: ; preds = %618 - store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_114IVFSQScannerL2INS0_10DCTemplateINS0_19Quantizer8bitDirectILi1EEENS0_12SimilarityL2ILi1EEELi1EEELi0EEE, i64 16), ptr %619, align 8 - %662 = getelementptr inbounds nuw i8, ptr %619, i64 40 +658: ; preds = %615 + store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_114IVFSQScannerL2INS0_10DCTemplateINS0_19Quantizer8bitDirectILi1EEENS0_12SimilarityL2ILi1EEELi1EEELi0EEE, i64 16), ptr %616, align 8 + %659 = getelementptr inbounds nuw i8, ptr %616, i64 40 %sext.i29.i198.i.i = shl i64 %511, 32 - %663 = ashr exact i64 %sext.i29.i198.i.i, 32 - %664 = getelementptr inbounds nuw i8, ptr %619, i64 48 - tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %664, i8 0, i64 24, i1 false) - store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_110DCTemplateINS0_19Quantizer8bitDirectILi1EEENS0_12SimilarityL2ILi1EEELi1EEE, i64 16), ptr %662, align 8 - %665 = getelementptr inbounds nuw i8, ptr %619, i64 72 - store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_119Quantizer8bitDirectILi1EEE, i64 16), ptr %665, align 8 - %666 = getelementptr inbounds nuw i8, ptr %619, i64 80 - store i64 %663, ptr %666, align 8 - %667 = zext i1 %5 to i8 - %668 = getelementptr inbounds nuw i8, ptr %619, i64 88 - store i8 %667, ptr %668, align 8 - %669 = getelementptr inbounds nuw i8, ptr %619, i64 96 - store ptr %2, ptr %669, align 8 - %670 = getelementptr inbounds nuw i8, ptr %619, i64 104 - store ptr null, ptr %670, align 8 - %671 = getelementptr inbounds nuw i8, ptr %619, i64 112 - %672 = icmp slt i32 %514, 0 - br i1 %672, label %.noexc.i.i36.i205.i.i, label %_ZNSt6vectorIfSaIfEE17_S_check_init_lenEmRKS0_.exit.i.i.i30.i199.i.i - -.noexc.i.i36.i205.i.i: ; preds = %661 + %660 = ashr exact i64 %sext.i29.i198.i.i, 32 + %661 = getelementptr inbounds nuw i8, ptr %616, i64 48 + tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %661, i8 0, i64 24, i1 false) + store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_110DCTemplateINS0_19Quantizer8bitDirectILi1EEENS0_12SimilarityL2ILi1EEELi1EEE, i64 16), ptr %659, align 8 + %662 = getelementptr inbounds nuw i8, ptr %616, i64 72 + store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_119Quantizer8bitDirectILi1EEE, i64 16), ptr %662, align 8 + %663 = getelementptr inbounds nuw i8, ptr %616, i64 80 + store i64 %660, ptr %663, align 8 + %664 = zext i1 %5 to i8 + %665 = getelementptr inbounds nuw i8, ptr %616, i64 88 + store i8 %664, ptr %665, align 8 + %666 = getelementptr inbounds nuw i8, ptr %616, i64 96 + store ptr %2, ptr %666, align 8 + %667 = getelementptr inbounds nuw i8, ptr %616, i64 104 + store ptr null, ptr %667, align 8 + %668 = getelementptr inbounds nuw i8, ptr %616, i64 112 + %669 = icmp slt i32 %514, 0 + br i1 %669, label %.noexc.i.i36.i205.i.i, label %_ZNSt6vectorIfSaIfEE17_S_check_init_lenEmRKS0_.exit.i.i.i30.i199.i.i + +.noexc.i.i36.i205.i.i: ; preds = %658 invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.5) #27 - to label %.noexc.i37.i206.i.i unwind label %680 + to label %.noexc.i37.i206.i.i unwind label %677 .noexc.i37.i206.i.i: ; preds = %.noexc.i.i36.i205.i.i unreachable -_ZNSt6vectorIfSaIfEE17_S_check_init_lenEmRKS0_.exit.i.i.i30.i199.i.i: ; preds = %661 - tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %671, i8 0, i64 24, i1 false) +_ZNSt6vectorIfSaIfEE17_S_check_init_lenEmRKS0_.exit.i.i.i30.i199.i.i: ; preds = %658 + tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %668, i8 0, i64 24, i1 false) %.not.i.i.i.i.i.i31.i200.i.i = icmp eq i32 %514, 0 br i1 %.not.i.i.i.i.i.i31.i200.i.i, label %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_10DCTemplateINS0_19Quantizer8bitDirectILi1EEENS0_12SimilarityL2ILi1EEELi1EEELi0EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i, label %.noexc12.i.i32.i201.i.i .noexc12.i.i32.i201.i.i: ; preds = %_ZNSt6vectorIfSaIfEE17_S_check_init_lenEmRKS0_.exit.i.i.i30.i199.i.i - %673 = lshr exact i64 %sext.i29.i198.i.i, 30 - %674 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %673) #28 - to label %.noexc8.i33.i202.i.i unwind label %680 + %670 = lshr exact i64 %sext.i29.i198.i.i, 30 + %671 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %670) #28 + to label %.noexc8.i33.i202.i.i unwind label %677 .noexc8.i33.i202.i.i: ; preds = %.noexc12.i.i32.i201.i.i - store ptr %674, ptr %671, align 8 - %675 = getelementptr float, ptr %674, i64 %663 - %676 = getelementptr inbounds nuw i8, ptr %619, i64 128 - store ptr %675, ptr %676, align 8 - store float 0.000000e+00, ptr %674, align 4 - %677 = getelementptr i8, ptr %674, i64 4 - %678 = icmp eq i32 %514, 1 - br i1 %678, label %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_10DCTemplateINS0_19Quantizer8bitDirectILi1EEENS0_12SimilarityL2ILi1EEELi1EEELi0EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i, label %_ZSt6fill_nIPfmfET_S1_T0_RKT1_.exit.loopexit.i.i.i.i.i.i.i34.i203.i.i + store ptr %671, ptr %668, align 8 + %672 = getelementptr float, ptr %671, i64 %660 + %673 = getelementptr inbounds nuw i8, ptr %616, i64 128 + store ptr %672, ptr %673, align 8 + store float 0.000000e+00, ptr %671, align 4 + %674 = getelementptr i8, ptr %671, i64 4 + %675 = icmp eq i32 %514, 1 + br i1 %675, label %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_10DCTemplateINS0_19Quantizer8bitDirectILi1EEENS0_12SimilarityL2ILi1EEELi1EEELi0EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i, label %_ZSt6fill_nIPfmfET_S1_T0_RKT1_.exit.loopexit.i.i.i.i.i.i.i34.i203.i.i _ZSt6fill_nIPfmfET_S1_T0_RKT1_.exit.loopexit.i.i.i.i.i.i.i34.i203.i.i: ; preds = %.noexc8.i33.i202.i.i - %679 = add nsw i64 %673, -4 - tail call void @llvm.memset.p0.i64(ptr align 4 %677, i8 0, i64 %679, i1 false) + %676 = add nsw i64 %670, -4 + tail call void @llvm.memset.p0.i64(ptr align 4 %674, i8 0, i64 %676, i1 false) br label %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_10DCTemplateINS0_19Quantizer8bitDirectILi1EEENS0_12SimilarityL2ILi1EEELi1EEELi0EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i -680: ; preds = %.noexc12.i.i32.i201.i.i, %.noexc.i.i36.i205.i.i - %681 = landingpad { ptr, i32 } +677: ; preds = %.noexc12.i.i32.i201.i.i, %.noexc.i.i36.i205.i.i + %678 = landingpad { ptr, i32 } cleanup br label %common.resume.i183.i.i _ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_10DCTemplateINS0_19Quantizer8bitDirectILi1EEENS0_12SimilarityL2ILi1EEELi1EEELi0EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i: ; preds = %_ZSt6fill_nIPfmfET_S1_T0_RKT1_.exit.loopexit.i.i.i.i.i.i.i34.i203.i.i, %.noexc8.i33.i202.i.i, %_ZNSt6vectorIfSaIfEE17_S_check_init_lenEmRKS0_.exit.i.i.i30.i199.i.i - %.0.i.i.i.i.i.i.i35.i204.i.i = phi ptr [ %677, %.noexc8.i33.i202.i.i ], [ %675, %_ZSt6fill_nIPfmfET_S1_T0_RKT1_.exit.loopexit.i.i.i.i.i.i.i34.i203.i.i ], [ null, %_ZNSt6vectorIfSaIfEE17_S_check_init_lenEmRKS0_.exit.i.i.i30.i199.i.i ] - %682 = getelementptr inbounds nuw i8, ptr %619, i64 32 - %683 = getelementptr inbounds nuw i8, ptr %619, i64 120 - store ptr %.0.i.i.i.i.i.i.i35.i204.i.i, ptr %683, align 8 - %684 = zext i1 %3 to i8 - store i8 %684, ptr %623, align 1 - store ptr null, ptr %624, align 8 - store i64 %620, ptr %682, align 8 + %.0.i.i.i.i.i.i.i35.i204.i.i = phi ptr [ %674, %.noexc8.i33.i202.i.i ], [ %672, %_ZSt6fill_nIPfmfET_S1_T0_RKT1_.exit.loopexit.i.i.i.i.i.i.i34.i203.i.i ], [ null, %_ZNSt6vectorIfSaIfEE17_S_check_init_lenEmRKS0_.exit.i.i.i30.i199.i.i ] + %679 = getelementptr inbounds nuw i8, ptr %616, i64 32 + %680 = getelementptr inbounds nuw i8, ptr %616, i64 120 + store ptr %.0.i.i.i.i.i.i.i35.i204.i.i, ptr %680, align 8 + %681 = zext i1 %3 to i8 + store i8 %681, ptr %620, align 1 + store ptr null, ptr %621, align 8 + store i64 %617, ptr %679, align 8 br label %_ZN5faiss12_GLOBAL__N_124sel1_InvertedListScannerINS0_12SimilarityL2ILi1EEEEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i -685: ; preds = %13 - %686 = tail call ptr @__cxa_allocate_exception(i64 40) #16 +682: ; preds = %13 + %683 = tail call ptr @__cxa_allocate_exception(i64 40) #16 call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %10) #16 invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef nonnull @.str.7, ptr noundef nonnull align 1 dereferenceable(1) %10) - to label %687 unwind label %.thread.i.i + to label %684 unwind label %.thread.i.i -687: ; preds = %685 - invoke void @_ZN5faiss14FaissExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPKcSA_i(ptr noundef nonnull align 8 dereferenceable(40) %686, ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef nonnull @__PRETTY_FUNCTION__._ZN5faiss12_GLOBAL__N_124sel1_InvertedListScannerINS0_12SimilarityL2ILi1EEEEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb, ptr noundef nonnull @.str.3, i32 noundef 1821) - to label %688 unwind label %690 +684: ; preds = %682 + invoke void @_ZN5faiss14FaissExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPKcSA_i(ptr noundef nonnull align 8 dereferenceable(40) %683, ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef nonnull @__PRETTY_FUNCTION__._ZN5faiss12_GLOBAL__N_124sel1_InvertedListScannerINS0_12SimilarityL2ILi1EEEEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb, ptr noundef nonnull @.str.3, i32 noundef 1821) + to label %685 unwind label %687 -688: ; preds = %687 - invoke void @__cxa_throw(ptr nonnull %686, ptr nonnull @_ZTIN5faiss14FaissExceptionE, ptr nonnull @_ZN5faiss14FaissExceptionD2Ev) #27 - to label %693 unwind label %690 +685: ; preds = %684 + invoke void @__cxa_throw(ptr nonnull %683, ptr nonnull @_ZTIN5faiss14FaissExceptionE, ptr nonnull @_ZN5faiss14FaissExceptionD2Ev) #27 + to label %690 unwind label %687 -.thread.i.i: ; preds = %685 - %689 = landingpad { ptr, i32 } +.thread.i.i: ; preds = %682 + %686 = landingpad { ptr, i32 } cleanup call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %10) #16 - br label %692 + br label %689 -690: ; preds = %688, %687 - %.0.i.i = phi i1 [ false, %688 ], [ true, %687 ] - %691 = landingpad { ptr, i32 } +687: ; preds = %685, %684 + %.0.i.i = phi i1 [ false, %685 ], [ true, %684 ] + %688 = landingpad { ptr, i32 } cleanup call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %9) #16 call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %10) #16 - br i1 %.0.i.i, label %692, label %common.resume.i + br i1 %.0.i.i, label %689, label %common.resume.i -692: ; preds = %690, %.thread.i.i - %.pn210.i.i = phi { ptr, i32 } [ %689, %.thread.i.i ], [ %691, %690 ] - call void @__cxa_free_exception(ptr %686) #16 +689: ; preds = %687, %.thread.i.i + %.pn210.i.i = phi { ptr, i32 } [ %686, %.thread.i.i ], [ %688, %687 ] + call void @__cxa_free_exception(ptr %683) #16 br label %common.resume.i -693: ; preds = %688 +690: ; preds = %685 unreachable _ZN5faiss12_GLOBAL__N_124sel1_InvertedListScannerINS0_12SimilarityL2ILi1EEEEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i: ; preds = %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_10DCTemplateINS0_19Quantizer8bitDirectILi1EEENS0_12SimilarityL2ILi1EEELi1EEELi0EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i, %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_10DCTemplateINS0_19Quantizer8bitDirectILi1EEENS0_12SimilarityL2ILi1EEELi1EEELi1EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i, %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_10DCTemplateINS0_19Quantizer8bitDirectILi1EEENS0_12SimilarityL2ILi1EEELi1EEELi2EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i, %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_20DistanceComputerByteINS0_12SimilarityL2ILi1EEELi1EEELi0EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i, %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_20DistanceComputerByteINS0_12SimilarityL2ILi1EEELi1EEELi1EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i, %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_20DistanceComputerByteINS0_12SimilarityL2ILi1EEELi1EEELi2EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i, %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_10DCTemplateINS0_13QuantizerFP16ILi1EEENS0_12SimilarityL2ILi1EEELi1EEELi0EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i, %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_10DCTemplateINS0_13QuantizerFP16ILi1EEENS0_12SimilarityL2ILi1EEELi1EEELi1EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i, %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_10DCTemplateINS0_13QuantizerFP16ILi1EEENS0_12SimilarityL2ILi1EEELi1EEELi2EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i, %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_10DCTemplateINS0_17QuantizerTemplateINS0_9Codec6bitELb0ELi1EEENS0_12SimilarityL2ILi1EEELi1EEELi0EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i.i, %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_10DCTemplateINS0_17QuantizerTemplateINS0_9Codec6bitELb0ELi1EEENS0_12SimilarityL2ILi1EEELi1EEELi1EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i.i, %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_10DCTemplateINS0_17QuantizerTemplateINS0_9Codec6bitELb0ELi1EEENS0_12SimilarityL2ILi1EEELi1EEELi2EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i.i, %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_10DCTemplateINS0_17QuantizerTemplateINS0_9Codec4bitELb0ELi1EEENS0_12SimilarityL2ILi1EEELi1EEELi0EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i.i, %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_10DCTemplateINS0_17QuantizerTemplateINS0_9Codec4bitELb0ELi1EEENS0_12SimilarityL2ILi1EEELi1EEELi1EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i.i, %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_10DCTemplateINS0_17QuantizerTemplateINS0_9Codec4bitELb0ELi1EEENS0_12SimilarityL2ILi1EEELi1EEELi2EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i.i, %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_10DCTemplateINS0_17QuantizerTemplateINS0_9Codec8bitELb0ELi1EEENS0_12SimilarityL2ILi1EEELi1EEELi0EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i.i, %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_10DCTemplateINS0_17QuantizerTemplateINS0_9Codec8bitELb0ELi1EEENS0_12SimilarityL2ILi1EEELi1EEELi1EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i.i, %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_10DCTemplateINS0_17QuantizerTemplateINS0_9Codec8bitELb0ELi1EEENS0_12SimilarityL2ILi1EEELi1EEELi2EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i.i, %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_10DCTemplateINS0_17QuantizerTemplateINS0_9Codec4bitELb1ELi1EEENS0_12SimilarityL2ILi1EEELi1EEELi0EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i.i, %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_10DCTemplateINS0_17QuantizerTemplateINS0_9Codec4bitELb1ELi1EEENS0_12SimilarityL2ILi1EEELi1EEELi1EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i.i, %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_10DCTemplateINS0_17QuantizerTemplateINS0_9Codec4bitELb1ELi1EEENS0_12SimilarityL2ILi1EEELi1EEELi2EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i.i, %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_10DCTemplateINS0_17QuantizerTemplateINS0_9Codec8bitELb1ELi1EEENS0_12SimilarityL2ILi1EEELi1EEELi0EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i.i, %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_10DCTemplateINS0_17QuantizerTemplateINS0_9Codec8bitELb1ELi1EEENS0_12SimilarityL2ILi1EEELi1EEELi1EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i.i, %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_10DCTemplateINS0_17QuantizerTemplateINS0_9Codec8bitELb1ELi1EEENS0_12SimilarityL2ILi1EEELi1EEELi2EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i.i - %.047.i.i = phi ptr [ %17, %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_10DCTemplateINS0_17QuantizerTemplateINS0_9Codec8bitELb1ELi1EEENS0_12SimilarityL2ILi1EEELi1EEELi2EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i.i ], [ %17, %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_10DCTemplateINS0_17QuantizerTemplateINS0_9Codec8bitELb1ELi1EEENS0_12SimilarityL2ILi1EEELi1EEELi1EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i.i ], [ %17, %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_10DCTemplateINS0_17QuantizerTemplateINS0_9Codec8bitELb1ELi1EEENS0_12SimilarityL2ILi1EEELi1EEELi0EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i.i ], [ %105, %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_10DCTemplateINS0_17QuantizerTemplateINS0_9Codec4bitELb1ELi1EEENS0_12SimilarityL2ILi1EEELi1EEELi2EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i.i ], [ %105, %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_10DCTemplateINS0_17QuantizerTemplateINS0_9Codec4bitELb1ELi1EEENS0_12SimilarityL2ILi1EEELi1EEELi1EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i.i ], [ %105, %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_10DCTemplateINS0_17QuantizerTemplateINS0_9Codec4bitELb1ELi1EEENS0_12SimilarityL2ILi1EEELi1EEELi0EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i.i ], [ %193, %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_10DCTemplateINS0_17QuantizerTemplateINS0_9Codec8bitELb0ELi1EEENS0_12SimilarityL2ILi1EEELi1EEELi2EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i.i ], [ %193, %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_10DCTemplateINS0_17QuantizerTemplateINS0_9Codec8bitELb0ELi1EEENS0_12SimilarityL2ILi1EEELi1EEELi1EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i.i ], [ %193, %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_10DCTemplateINS0_17QuantizerTemplateINS0_9Codec8bitELb0ELi1EEENS0_12SimilarityL2ILi1EEELi1EEELi0EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i.i ], [ %275, %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_10DCTemplateINS0_17QuantizerTemplateINS0_9Codec4bitELb0ELi1EEENS0_12SimilarityL2ILi1EEELi1EEELi2EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i.i ], [ %275, %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_10DCTemplateINS0_17QuantizerTemplateINS0_9Codec4bitELb0ELi1EEENS0_12SimilarityL2ILi1EEELi1EEELi1EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i.i ], [ %275, %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_10DCTemplateINS0_17QuantizerTemplateINS0_9Codec4bitELb0ELi1EEENS0_12SimilarityL2ILi1EEELi1EEELi0EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i.i ], [ %357, %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_10DCTemplateINS0_17QuantizerTemplateINS0_9Codec6bitELb0ELi1EEENS0_12SimilarityL2ILi1EEELi1EEELi2EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i.i ], [ %357, %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_10DCTemplateINS0_17QuantizerTemplateINS0_9Codec6bitELb0ELi1EEENS0_12SimilarityL2ILi1EEELi1EEELi1EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i.i ], [ %357, %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_10DCTemplateINS0_17QuantizerTemplateINS0_9Codec6bitELb0ELi1EEENS0_12SimilarityL2ILi1EEELi1EEELi0EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i.i ], [ %439, %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_10DCTemplateINS0_13QuantizerFP16ILi1EEENS0_12SimilarityL2ILi1EEELi1EEELi2EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i ], [ %439, %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_10DCTemplateINS0_13QuantizerFP16ILi1EEENS0_12SimilarityL2ILi1EEELi1EEELi1EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i ], [ %439, %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_10DCTemplateINS0_13QuantizerFP16ILi1EEENS0_12SimilarityL2ILi1EEELi1EEELi0EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i ], [ %517, %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_20DistanceComputerByteINS0_12SimilarityL2ILi1EEELi1EEELi2EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i ], [ %517, %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_20DistanceComputerByteINS0_12SimilarityL2ILi1EEELi1EEELi1EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i ], [ %517, %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_20DistanceComputerByteINS0_12SimilarityL2ILi1EEELi1EEELi0EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i ], [ %619, %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_10DCTemplateINS0_19Quantizer8bitDirectILi1EEENS0_12SimilarityL2ILi1EEELi1EEELi2EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i ], [ %619, %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_10DCTemplateINS0_19Quantizer8bitDirectILi1EEENS0_12SimilarityL2ILi1EEELi1EEELi1EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i ], [ %619, %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_10DCTemplateINS0_19Quantizer8bitDirectILi1EEENS0_12SimilarityL2ILi1EEELi1EEELi0EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i ] + %.047.i.i = phi ptr [ %17, %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_10DCTemplateINS0_17QuantizerTemplateINS0_9Codec8bitELb1ELi1EEENS0_12SimilarityL2ILi1EEELi1EEELi2EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i.i ], [ %17, %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_10DCTemplateINS0_17QuantizerTemplateINS0_9Codec8bitELb1ELi1EEENS0_12SimilarityL2ILi1EEELi1EEELi1EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i.i ], [ %17, %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_10DCTemplateINS0_17QuantizerTemplateINS0_9Codec8bitELb1ELi1EEENS0_12SimilarityL2ILi1EEELi1EEELi0EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i.i ], [ %105, %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_10DCTemplateINS0_17QuantizerTemplateINS0_9Codec4bitELb1ELi1EEENS0_12SimilarityL2ILi1EEELi1EEELi2EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i.i ], [ %105, %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_10DCTemplateINS0_17QuantizerTemplateINS0_9Codec4bitELb1ELi1EEENS0_12SimilarityL2ILi1EEELi1EEELi1EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i.i ], [ %105, %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_10DCTemplateINS0_17QuantizerTemplateINS0_9Codec4bitELb1ELi1EEENS0_12SimilarityL2ILi1EEELi1EEELi0EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i.i ], [ %193, %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_10DCTemplateINS0_17QuantizerTemplateINS0_9Codec8bitELb0ELi1EEENS0_12SimilarityL2ILi1EEELi1EEELi2EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i.i ], [ %193, %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_10DCTemplateINS0_17QuantizerTemplateINS0_9Codec8bitELb0ELi1EEENS0_12SimilarityL2ILi1EEELi1EEELi1EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i.i ], [ %193, %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_10DCTemplateINS0_17QuantizerTemplateINS0_9Codec8bitELb0ELi1EEENS0_12SimilarityL2ILi1EEELi1EEELi0EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i.i ], [ %275, %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_10DCTemplateINS0_17QuantizerTemplateINS0_9Codec4bitELb0ELi1EEENS0_12SimilarityL2ILi1EEELi1EEELi2EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i.i ], [ %275, %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_10DCTemplateINS0_17QuantizerTemplateINS0_9Codec4bitELb0ELi1EEENS0_12SimilarityL2ILi1EEELi1EEELi1EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i.i ], [ %275, %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_10DCTemplateINS0_17QuantizerTemplateINS0_9Codec4bitELb0ELi1EEENS0_12SimilarityL2ILi1EEELi1EEELi0EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i.i ], [ %357, %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_10DCTemplateINS0_17QuantizerTemplateINS0_9Codec6bitELb0ELi1EEENS0_12SimilarityL2ILi1EEELi1EEELi2EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i.i ], [ %357, %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_10DCTemplateINS0_17QuantizerTemplateINS0_9Codec6bitELb0ELi1EEENS0_12SimilarityL2ILi1EEELi1EEELi1EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i.i ], [ %357, %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_10DCTemplateINS0_17QuantizerTemplateINS0_9Codec6bitELb0ELi1EEENS0_12SimilarityL2ILi1EEELi1EEELi0EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i.i ], [ %439, %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_10DCTemplateINS0_13QuantizerFP16ILi1EEENS0_12SimilarityL2ILi1EEELi1EEELi2EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i ], [ %439, %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_10DCTemplateINS0_13QuantizerFP16ILi1EEENS0_12SimilarityL2ILi1EEELi1EEELi1EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i ], [ %439, %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_10DCTemplateINS0_13QuantizerFP16ILi1EEENS0_12SimilarityL2ILi1EEELi1EEELi0EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i ], [ %517, %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_20DistanceComputerByteINS0_12SimilarityL2ILi1EEELi1EEELi2EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i ], [ %517, %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_20DistanceComputerByteINS0_12SimilarityL2ILi1EEELi1EEELi1EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i ], [ %517, %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_20DistanceComputerByteINS0_12SimilarityL2ILi1EEELi1EEELi0EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i ], [ %616, %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_10DCTemplateINS0_19Quantizer8bitDirectILi1EEENS0_12SimilarityL2ILi1EEELi1EEELi2EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i ], [ %616, %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_10DCTemplateINS0_19Quantizer8bitDirectILi1EEENS0_12SimilarityL2ILi1EEELi1EEELi1EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i ], [ %616, %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_10DCTemplateINS0_19Quantizer8bitDirectILi1EEENS0_12SimilarityL2ILi1EEELi1EEELi0EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i ] call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %9) call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %10) br label %_ZN5faiss12_GLOBAL__N_124sel0_InvertedListScannerILi1EEEPNS_19InvertedListScannerENS_10MetricTypeEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit -694: ; preds = %6 +691: ; preds = %6 call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %7) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %8) - %695 = getelementptr inbounds nuw i8, ptr %0, i64 24 - %696 = load i32, ptr %695, align 8 - switch i32 %696, label %1053 [ - i32 2, label %697 - i32 3, label %746 - i32 0, label %795 - i32 1, label %838 - i32 6, label %881 - i32 4, label %924 - i32 5, label %956 + %692 = getelementptr inbounds nuw i8, ptr %0, i64 24 + %693 = load i32, ptr %692, align 8 + switch i32 %693, label %1050 [ + i32 2, label %694 + i32 3, label %743 + i32 0, label %792 + i32 1, label %835 + i32 6, label %878 + i32 4, label %921 + i32 5, label %953 ] -697: ; preds = %694 +694: ; preds = %691 %.not.i.i.i38.i = icmp eq ptr %4, null - %698 = tail call noalias noundef nonnull dereferenceable(104) ptr @_Znwm(i64 noundef 104) #28 - %699 = getelementptr inbounds nuw i8, ptr %0, i64 8 + %695 = tail call noalias noundef nonnull dereferenceable(104) ptr @_Znwm(i64 noundef 104) #28 + %696 = getelementptr inbounds nuw i8, ptr %0, i64 8 + %697 = load i64, ptr %696, align 8 + %698 = getelementptr inbounds nuw i8, ptr %0, i64 48 + %699 = getelementptr inbounds nuw i8, ptr %0, i64 16 %700 = load i64, ptr %699, align 8 - %701 = getelementptr inbounds nuw i8, ptr %0, i64 48 - %702 = getelementptr inbounds nuw i8, ptr %0, i64 16 - %703 = load i64, ptr %702, align 8 - %704 = getelementptr inbounds nuw i8, ptr %698, i64 8 - store i64 -1, ptr %704, align 8 - br i1 %.not.i.i.i38.i, label %726, label %705 - -705: ; preds = %697 - %706 = getelementptr inbounds nuw i8, ptr %698, i64 40 - %sext.i.i.i.i39.i = shl i64 %700, 32 - %707 = ashr exact i64 %sext.i.i.i.i39.i, 32 - %708 = getelementptr inbounds nuw i8, ptr %698, i64 48 - %709 = getelementptr inbounds nuw i8, ptr %698, i64 72 - %710 = getelementptr inbounds nuw i8, ptr %698, i64 80 - %711 = getelementptr inbounds nuw i8, ptr %698, i64 88 - %712 = getelementptr inbounds nuw i8, ptr %698, i64 92 - %713 = zext i1 %5 to i8 - %714 = getelementptr inbounds nuw i8, ptr %698, i64 96 - %715 = getelementptr inbounds nuw i8, ptr %698, i64 100 - br i1 %3, label %716, label %721 - -716: ; preds = %705 - store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_114IVFSQScannerIPINS0_10DCTemplateINS0_17QuantizerTemplateINS0_9Codec8bitELb1ELi1EEENS0_12SimilarityIPILi1EEELi1EEELi2EEE, i64 16), ptr %698, align 8 - tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %708, i8 0, i64 24, i1 false) - store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_110DCTemplateINS0_17QuantizerTemplateINS0_9Codec8bitELb1ELi1EEENS0_12SimilarityIPILi1EEELi1EEE, i64 16), ptr %706, align 8 - store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_117QuantizerTemplateINS0_9Codec8bitELb1ELi1EEE, i64 16), ptr %709, align 8 - store i64 %707, ptr %710, align 8 - %717 = load ptr, ptr %701, align 8 - %718 = load float, ptr %717, align 4 - store float %718, ptr %711, align 8 - %719 = getelementptr inbounds nuw i8, ptr %717, i64 4 - %720 = load float, ptr %719, align 4 - store float %720, ptr %712, align 4 - store i8 %713, ptr %714, align 8 - store float 0.000000e+00, ptr %715, align 4 + %701 = getelementptr inbounds nuw i8, ptr %695, i64 8 + store i64 -1, ptr %701, align 8 + br i1 %.not.i.i.i38.i, label %723, label %702 + +702: ; preds = %694 + %703 = getelementptr inbounds nuw i8, ptr %695, i64 40 + %sext.i.i.i.i39.i = shl i64 %697, 32 + %704 = ashr exact i64 %sext.i.i.i.i39.i, 32 + %705 = getelementptr inbounds nuw i8, ptr %695, i64 48 + %706 = getelementptr inbounds nuw i8, ptr %695, i64 72 + %707 = getelementptr inbounds nuw i8, ptr %695, i64 80 + %708 = getelementptr inbounds nuw i8, ptr %695, i64 88 + %709 = getelementptr inbounds nuw i8, ptr %695, i64 92 + %710 = zext i1 %5 to i8 + %711 = getelementptr inbounds nuw i8, ptr %695, i64 96 + %712 = getelementptr inbounds nuw i8, ptr %695, i64 100 + br i1 %3, label %713, label %718 + +713: ; preds = %702 + store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_114IVFSQScannerIPINS0_10DCTemplateINS0_17QuantizerTemplateINS0_9Codec8bitELb1ELi1EEENS0_12SimilarityIPILi1EEELi1EEELi2EEE, i64 16), ptr %695, align 8 + tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %705, i8 0, i64 24, i1 false) + store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_110DCTemplateINS0_17QuantizerTemplateINS0_9Codec8bitELb1ELi1EEENS0_12SimilarityIPILi1EEELi1EEE, i64 16), ptr %703, align 8 + store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_117QuantizerTemplateINS0_9Codec8bitELb1ELi1EEE, i64 16), ptr %706, align 8 + store i64 %704, ptr %707, align 8 + %714 = load ptr, ptr %698, align 8 + %715 = load float, ptr %714, align 4 + store float %715, ptr %708, align 8 + %716 = getelementptr inbounds nuw i8, ptr %714, i64 4 + %717 = load float, ptr %716, align 4 + store float %717, ptr %709, align 4 + store i8 %710, ptr %711, align 8 + store float 0.000000e+00, ptr %712, align 4 br label %_ZN5faiss12_GLOBAL__N_125sel12_InvertedListScannerINS0_12SimilarityIPILi1EEENS0_9Codec8bitELb1EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i -721: ; preds = %705 - store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_114IVFSQScannerIPINS0_10DCTemplateINS0_17QuantizerTemplateINS0_9Codec8bitELb1ELi1EEENS0_12SimilarityIPILi1EEELi1EEELi1EEE, i64 16), ptr %698, align 8 - tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %708, i8 0, i64 24, i1 false) - store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_110DCTemplateINS0_17QuantizerTemplateINS0_9Codec8bitELb1ELi1EEENS0_12SimilarityIPILi1EEELi1EEE, i64 16), ptr %706, align 8 - store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_117QuantizerTemplateINS0_9Codec8bitELb1ELi1EEE, i64 16), ptr %709, align 8 - store i64 %707, ptr %710, align 8 - %722 = load ptr, ptr %701, align 8 - %723 = load float, ptr %722, align 4 - store float %723, ptr %711, align 8 - %724 = getelementptr inbounds nuw i8, ptr %722, i64 4 - %725 = load float, ptr %724, align 4 - store float %725, ptr %712, align 4 - store i8 %713, ptr %714, align 8 - store float 0.000000e+00, ptr %715, align 4 +718: ; preds = %702 + store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_114IVFSQScannerIPINS0_10DCTemplateINS0_17QuantizerTemplateINS0_9Codec8bitELb1ELi1EEENS0_12SimilarityIPILi1EEELi1EEELi1EEE, i64 16), ptr %695, align 8 + tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %705, i8 0, i64 24, i1 false) + store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_110DCTemplateINS0_17QuantizerTemplateINS0_9Codec8bitELb1ELi1EEENS0_12SimilarityIPILi1EEELi1EEE, i64 16), ptr %703, align 8 + store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_117QuantizerTemplateINS0_9Codec8bitELb1ELi1EEE, i64 16), ptr %706, align 8 + store i64 %704, ptr %707, align 8 + %719 = load ptr, ptr %698, align 8 + %720 = load float, ptr %719, align 4 + store float %720, ptr %708, align 8 + %721 = getelementptr inbounds nuw i8, ptr %719, i64 4 + %722 = load float, ptr %721, align 4 + store float %722, ptr %709, align 4 + store i8 %710, ptr %711, align 8 + store float 0.000000e+00, ptr %712, align 4 br label %_ZN5faiss12_GLOBAL__N_125sel12_InvertedListScannerINS0_12SimilarityIPILi1EEENS0_9Codec8bitELb1EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i -726: ; preds = %697 - store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_114IVFSQScannerIPINS0_10DCTemplateINS0_17QuantizerTemplateINS0_9Codec8bitELb1ELi1EEENS0_12SimilarityIPILi1EEELi1EEELi0EEE, i64 16), ptr %698, align 8 - %727 = getelementptr inbounds nuw i8, ptr %698, i64 40 - %sext.i21.i.i.i.i = shl i64 %700, 32 - %728 = ashr exact i64 %sext.i21.i.i.i.i, 32 - %729 = getelementptr inbounds nuw i8, ptr %698, i64 48 - tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %729, i8 0, i64 24, i1 false) - store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_110DCTemplateINS0_17QuantizerTemplateINS0_9Codec8bitELb1ELi1EEENS0_12SimilarityIPILi1EEELi1EEE, i64 16), ptr %727, align 8 - %730 = getelementptr inbounds nuw i8, ptr %698, i64 72 - store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_117QuantizerTemplateINS0_9Codec8bitELb1ELi1EEE, i64 16), ptr %730, align 8 - %731 = getelementptr inbounds nuw i8, ptr %698, i64 80 - store i64 %728, ptr %731, align 8 - %732 = getelementptr inbounds nuw i8, ptr %698, i64 88 - %733 = load ptr, ptr %701, align 8 +723: ; preds = %694 + store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_114IVFSQScannerIPINS0_10DCTemplateINS0_17QuantizerTemplateINS0_9Codec8bitELb1ELi1EEENS0_12SimilarityIPILi1EEELi1EEELi0EEE, i64 16), ptr %695, align 8 + %724 = getelementptr inbounds nuw i8, ptr %695, i64 40 + %sext.i21.i.i.i.i = shl i64 %697, 32 + %725 = ashr exact i64 %sext.i21.i.i.i.i, 32 + %726 = getelementptr inbounds nuw i8, ptr %695, i64 48 + tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %726, i8 0, i64 24, i1 false) + store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_110DCTemplateINS0_17QuantizerTemplateINS0_9Codec8bitELb1ELi1EEENS0_12SimilarityIPILi1EEELi1EEE, i64 16), ptr %724, align 8 + %727 = getelementptr inbounds nuw i8, ptr %695, i64 72 + store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_117QuantizerTemplateINS0_9Codec8bitELb1ELi1EEE, i64 16), ptr %727, align 8 + %728 = getelementptr inbounds nuw i8, ptr %695, i64 80 + store i64 %725, ptr %728, align 8 + %729 = getelementptr inbounds nuw i8, ptr %695, i64 88 + %730 = load ptr, ptr %698, align 8 + %731 = load float, ptr %730, align 4 + store float %731, ptr %729, align 8 + %732 = getelementptr inbounds nuw i8, ptr %695, i64 92 + %733 = getelementptr inbounds nuw i8, ptr %730, i64 4 %734 = load float, ptr %733, align 4 - store float %734, ptr %732, align 8 - %735 = getelementptr inbounds nuw i8, ptr %698, i64 92 - %736 = getelementptr inbounds nuw i8, ptr %733, i64 4 - %737 = load float, ptr %736, align 4 - store float %737, ptr %735, align 4 - %738 = zext i1 %5 to i8 - %739 = zext i1 %3 to i8 - %740 = getelementptr inbounds nuw i8, ptr %698, i64 96 - store i8 %738, ptr %740, align 8 - %741 = getelementptr inbounds nuw i8, ptr %698, i64 100 - store float 0.000000e+00, ptr %741, align 4 + store float %734, ptr %732, align 4 + %735 = zext i1 %5 to i8 + %736 = zext i1 %3 to i8 + %737 = getelementptr inbounds nuw i8, ptr %695, i64 96 + store i8 %735, ptr %737, align 8 + %738 = getelementptr inbounds nuw i8, ptr %695, i64 100 + store float 0.000000e+00, ptr %738, align 4 br label %_ZN5faiss12_GLOBAL__N_125sel12_InvertedListScannerINS0_12SimilarityIPILi1EEENS0_9Codec8bitELb1EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i -_ZN5faiss12_GLOBAL__N_125sel12_InvertedListScannerINS0_12SimilarityIPILi1EEENS0_9Codec8bitELb1EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i: ; preds = %726, %721, %716 - %.sink1.i.i.i.i = phi i8 [ %739, %726 ], [ 0, %721 ], [ 1, %716 ] - %742 = getelementptr inbounds nuw i8, ptr %698, i64 32 - %743 = getelementptr inbounds nuw i8, ptr %698, i64 24 - %744 = getelementptr inbounds nuw i8, ptr %698, i64 17 - %745 = getelementptr inbounds nuw i8, ptr %698, i64 16 - store i8 %.sink1.i.i.i.i, ptr %744, align 1 - store ptr %4, ptr %743, align 8 - store i64 %703, ptr %742, align 8 - store i8 1, ptr %745, align 8 +_ZN5faiss12_GLOBAL__N_125sel12_InvertedListScannerINS0_12SimilarityIPILi1EEENS0_9Codec8bitELb1EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i: ; preds = %723, %718, %713 + %.sink1.i.i.i.i = phi i8 [ %736, %723 ], [ 0, %718 ], [ 1, %713 ] + %739 = getelementptr inbounds nuw i8, ptr %695, i64 32 + %740 = getelementptr inbounds nuw i8, ptr %695, i64 24 + %741 = getelementptr inbounds nuw i8, ptr %695, i64 17 + %742 = getelementptr inbounds nuw i8, ptr %695, i64 16 + store i8 %.sink1.i.i.i.i, ptr %741, align 1 + store ptr %4, ptr %740, align 8 + store i64 %700, ptr %739, align 8 + store i8 1, ptr %742, align 8 br label %_ZN5faiss12_GLOBAL__N_124sel1_InvertedListScannerINS0_12SimilarityIPILi1EEEEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i -746: ; preds = %694 +743: ; preds = %691 %.not.i.i49.i36.i = icmp eq ptr %4, null - %747 = tail call noalias noundef nonnull dereferenceable(104) ptr @_Znwm(i64 noundef 104) #28 - %748 = getelementptr inbounds nuw i8, ptr %0, i64 8 + %744 = tail call noalias noundef nonnull dereferenceable(104) ptr @_Znwm(i64 noundef 104) #28 + %745 = getelementptr inbounds nuw i8, ptr %0, i64 8 + %746 = load i64, ptr %745, align 8 + %747 = getelementptr inbounds nuw i8, ptr %0, i64 48 + %748 = getelementptr inbounds nuw i8, ptr %0, i64 16 %749 = load i64, ptr %748, align 8 - %750 = getelementptr inbounds nuw i8, ptr %0, i64 48 - %751 = getelementptr inbounds nuw i8, ptr %0, i64 16 - %752 = load i64, ptr %751, align 8 - %753 = getelementptr inbounds nuw i8, ptr %747, i64 8 - store i64 -1, ptr %753, align 8 - br i1 %.not.i.i49.i36.i, label %775, label %754 - -754: ; preds = %746 - %755 = getelementptr inbounds nuw i8, ptr %747, i64 40 - %sext.i.i.i50.i37.i = shl i64 %749, 32 - %756 = ashr exact i64 %sext.i.i.i50.i37.i, 32 - %757 = getelementptr inbounds nuw i8, ptr %747, i64 48 - %758 = getelementptr inbounds nuw i8, ptr %747, i64 72 - %759 = getelementptr inbounds nuw i8, ptr %747, i64 80 - %760 = getelementptr inbounds nuw i8, ptr %747, i64 88 - %761 = getelementptr inbounds nuw i8, ptr %747, i64 92 - %762 = zext i1 %5 to i8 - %763 = getelementptr inbounds nuw i8, ptr %747, i64 96 - %764 = getelementptr inbounds nuw i8, ptr %747, i64 100 - br i1 %3, label %765, label %770 - -765: ; preds = %754 - store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_114IVFSQScannerIPINS0_10DCTemplateINS0_17QuantizerTemplateINS0_9Codec4bitELb1ELi1EEENS0_12SimilarityIPILi1EEELi1EEELi2EEE, i64 16), ptr %747, align 8 - tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %757, i8 0, i64 24, i1 false) - store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_110DCTemplateINS0_17QuantizerTemplateINS0_9Codec4bitELb1ELi1EEENS0_12SimilarityIPILi1EEELi1EEE, i64 16), ptr %755, align 8 - store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_117QuantizerTemplateINS0_9Codec4bitELb1ELi1EEE, i64 16), ptr %758, align 8 - store i64 %756, ptr %759, align 8 - %766 = load ptr, ptr %750, align 8 - %767 = load float, ptr %766, align 4 - store float %767, ptr %760, align 8 - %768 = getelementptr inbounds nuw i8, ptr %766, i64 4 - %769 = load float, ptr %768, align 4 - store float %769, ptr %761, align 4 - store i8 %762, ptr %763, align 8 - store float 0.000000e+00, ptr %764, align 4 + %750 = getelementptr inbounds nuw i8, ptr %744, i64 8 + store i64 -1, ptr %750, align 8 + br i1 %.not.i.i49.i36.i, label %772, label %751 + +751: ; preds = %743 + %752 = getelementptr inbounds nuw i8, ptr %744, i64 40 + %sext.i.i.i50.i37.i = shl i64 %746, 32 + %753 = ashr exact i64 %sext.i.i.i50.i37.i, 32 + %754 = getelementptr inbounds nuw i8, ptr %744, i64 48 + %755 = getelementptr inbounds nuw i8, ptr %744, i64 72 + %756 = getelementptr inbounds nuw i8, ptr %744, i64 80 + %757 = getelementptr inbounds nuw i8, ptr %744, i64 88 + %758 = getelementptr inbounds nuw i8, ptr %744, i64 92 + %759 = zext i1 %5 to i8 + %760 = getelementptr inbounds nuw i8, ptr %744, i64 96 + %761 = getelementptr inbounds nuw i8, ptr %744, i64 100 + br i1 %3, label %762, label %767 + +762: ; preds = %751 + store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_114IVFSQScannerIPINS0_10DCTemplateINS0_17QuantizerTemplateINS0_9Codec4bitELb1ELi1EEENS0_12SimilarityIPILi1EEELi1EEELi2EEE, i64 16), ptr %744, align 8 + tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %754, i8 0, i64 24, i1 false) + store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_110DCTemplateINS0_17QuantizerTemplateINS0_9Codec4bitELb1ELi1EEENS0_12SimilarityIPILi1EEELi1EEE, i64 16), ptr %752, align 8 + store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_117QuantizerTemplateINS0_9Codec4bitELb1ELi1EEE, i64 16), ptr %755, align 8 + store i64 %753, ptr %756, align 8 + %763 = load ptr, ptr %747, align 8 + %764 = load float, ptr %763, align 4 + store float %764, ptr %757, align 8 + %765 = getelementptr inbounds nuw i8, ptr %763, i64 4 + %766 = load float, ptr %765, align 4 + store float %766, ptr %758, align 4 + store i8 %759, ptr %760, align 8 + store float 0.000000e+00, ptr %761, align 4 br label %_ZN5faiss12_GLOBAL__N_125sel12_InvertedListScannerINS0_12SimilarityIPILi1EEENS0_9Codec4bitELb1EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i -770: ; preds = %754 - store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_114IVFSQScannerIPINS0_10DCTemplateINS0_17QuantizerTemplateINS0_9Codec4bitELb1ELi1EEENS0_12SimilarityIPILi1EEELi1EEELi1EEE, i64 16), ptr %747, align 8 - tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %757, i8 0, i64 24, i1 false) - store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_110DCTemplateINS0_17QuantizerTemplateINS0_9Codec4bitELb1ELi1EEENS0_12SimilarityIPILi1EEELi1EEE, i64 16), ptr %755, align 8 - store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_117QuantizerTemplateINS0_9Codec4bitELb1ELi1EEE, i64 16), ptr %758, align 8 - store i64 %756, ptr %759, align 8 - %771 = load ptr, ptr %750, align 8 - %772 = load float, ptr %771, align 4 - store float %772, ptr %760, align 8 - %773 = getelementptr inbounds nuw i8, ptr %771, i64 4 - %774 = load float, ptr %773, align 4 - store float %774, ptr %761, align 4 - store i8 %762, ptr %763, align 8 - store float 0.000000e+00, ptr %764, align 4 +767: ; preds = %751 + store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_114IVFSQScannerIPINS0_10DCTemplateINS0_17QuantizerTemplateINS0_9Codec4bitELb1ELi1EEENS0_12SimilarityIPILi1EEELi1EEELi1EEE, i64 16), ptr %744, align 8 + tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %754, i8 0, i64 24, i1 false) + store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_110DCTemplateINS0_17QuantizerTemplateINS0_9Codec4bitELb1ELi1EEENS0_12SimilarityIPILi1EEELi1EEE, i64 16), ptr %752, align 8 + store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_117QuantizerTemplateINS0_9Codec4bitELb1ELi1EEE, i64 16), ptr %755, align 8 + store i64 %753, ptr %756, align 8 + %768 = load ptr, ptr %747, align 8 + %769 = load float, ptr %768, align 4 + store float %769, ptr %757, align 8 + %770 = getelementptr inbounds nuw i8, ptr %768, i64 4 + %771 = load float, ptr %770, align 4 + store float %771, ptr %758, align 4 + store i8 %759, ptr %760, align 8 + store float 0.000000e+00, ptr %761, align 4 br label %_ZN5faiss12_GLOBAL__N_125sel12_InvertedListScannerINS0_12SimilarityIPILi1EEENS0_9Codec4bitELb1EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i -775: ; preds = %746 - store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_114IVFSQScannerIPINS0_10DCTemplateINS0_17QuantizerTemplateINS0_9Codec4bitELb1ELi1EEENS0_12SimilarityIPILi1EEELi1EEELi0EEE, i64 16), ptr %747, align 8 - %776 = getelementptr inbounds nuw i8, ptr %747, i64 40 - %sext.i21.i.i52.i.i = shl i64 %749, 32 - %777 = ashr exact i64 %sext.i21.i.i52.i.i, 32 - %778 = getelementptr inbounds nuw i8, ptr %747, i64 48 - tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %778, i8 0, i64 24, i1 false) - store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_110DCTemplateINS0_17QuantizerTemplateINS0_9Codec4bitELb1ELi1EEENS0_12SimilarityIPILi1EEELi1EEE, i64 16), ptr %776, align 8 - %779 = getelementptr inbounds nuw i8, ptr %747, i64 72 - store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_117QuantizerTemplateINS0_9Codec4bitELb1ELi1EEE, i64 16), ptr %779, align 8 - %780 = getelementptr inbounds nuw i8, ptr %747, i64 80 - store i64 %777, ptr %780, align 8 - %781 = getelementptr inbounds nuw i8, ptr %747, i64 88 - %782 = load ptr, ptr %750, align 8 +772: ; preds = %743 + store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_114IVFSQScannerIPINS0_10DCTemplateINS0_17QuantizerTemplateINS0_9Codec4bitELb1ELi1EEENS0_12SimilarityIPILi1EEELi1EEELi0EEE, i64 16), ptr %744, align 8 + %773 = getelementptr inbounds nuw i8, ptr %744, i64 40 + %sext.i21.i.i52.i.i = shl i64 %746, 32 + %774 = ashr exact i64 %sext.i21.i.i52.i.i, 32 + %775 = getelementptr inbounds nuw i8, ptr %744, i64 48 + tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %775, i8 0, i64 24, i1 false) + store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_110DCTemplateINS0_17QuantizerTemplateINS0_9Codec4bitELb1ELi1EEENS0_12SimilarityIPILi1EEELi1EEE, i64 16), ptr %773, align 8 + %776 = getelementptr inbounds nuw i8, ptr %744, i64 72 + store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_117QuantizerTemplateINS0_9Codec4bitELb1ELi1EEE, i64 16), ptr %776, align 8 + %777 = getelementptr inbounds nuw i8, ptr %744, i64 80 + store i64 %774, ptr %777, align 8 + %778 = getelementptr inbounds nuw i8, ptr %744, i64 88 + %779 = load ptr, ptr %747, align 8 + %780 = load float, ptr %779, align 4 + store float %780, ptr %778, align 8 + %781 = getelementptr inbounds nuw i8, ptr %744, i64 92 + %782 = getelementptr inbounds nuw i8, ptr %779, i64 4 %783 = load float, ptr %782, align 4 - store float %783, ptr %781, align 8 - %784 = getelementptr inbounds nuw i8, ptr %747, i64 92 - %785 = getelementptr inbounds nuw i8, ptr %782, i64 4 - %786 = load float, ptr %785, align 4 - store float %786, ptr %784, align 4 - %787 = zext i1 %5 to i8 - %788 = zext i1 %3 to i8 - %789 = getelementptr inbounds nuw i8, ptr %747, i64 96 - store i8 %787, ptr %789, align 8 - %790 = getelementptr inbounds nuw i8, ptr %747, i64 100 - store float 0.000000e+00, ptr %790, align 4 + store float %783, ptr %781, align 4 + %784 = zext i1 %5 to i8 + %785 = zext i1 %3 to i8 + %786 = getelementptr inbounds nuw i8, ptr %744, i64 96 + store i8 %784, ptr %786, align 8 + %787 = getelementptr inbounds nuw i8, ptr %744, i64 100 + store float 0.000000e+00, ptr %787, align 4 br label %_ZN5faiss12_GLOBAL__N_125sel12_InvertedListScannerINS0_12SimilarityIPILi1EEENS0_9Codec4bitELb1EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i -_ZN5faiss12_GLOBAL__N_125sel12_InvertedListScannerINS0_12SimilarityIPILi1EEENS0_9Codec4bitELb1EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i: ; preds = %775, %770, %765 - %.sink1.i.i51.i.i = phi i8 [ %788, %775 ], [ 0, %770 ], [ 1, %765 ] - %791 = getelementptr inbounds nuw i8, ptr %747, i64 32 - %792 = getelementptr inbounds nuw i8, ptr %747, i64 24 - %793 = getelementptr inbounds nuw i8, ptr %747, i64 17 - %794 = getelementptr inbounds nuw i8, ptr %747, i64 16 - store i8 %.sink1.i.i51.i.i, ptr %793, align 1 - store ptr %4, ptr %792, align 8 - store i64 %752, ptr %791, align 8 - store i8 1, ptr %794, align 8 +_ZN5faiss12_GLOBAL__N_125sel12_InvertedListScannerINS0_12SimilarityIPILi1EEENS0_9Codec4bitELb1EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i: ; preds = %772, %767, %762 + %.sink1.i.i51.i.i = phi i8 [ %785, %772 ], [ 0, %767 ], [ 1, %762 ] + %788 = getelementptr inbounds nuw i8, ptr %744, i64 32 + %789 = getelementptr inbounds nuw i8, ptr %744, i64 24 + %790 = getelementptr inbounds nuw i8, ptr %744, i64 17 + %791 = getelementptr inbounds nuw i8, ptr %744, i64 16 + store i8 %.sink1.i.i51.i.i, ptr %790, align 1 + store ptr %4, ptr %789, align 8 + store i64 %749, ptr %788, align 8 + store i8 1, ptr %791, align 8 br label %_ZN5faiss12_GLOBAL__N_124sel1_InvertedListScannerINS0_12SimilarityIPILi1EEEEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i -795: ; preds = %694 +792: ; preds = %691 %.not.i.i53.i.i = icmp eq ptr %4, null - %796 = tail call noalias noundef nonnull dereferenceable(112) ptr @_Znwm(i64 noundef 112) #28 - %797 = getelementptr inbounds nuw i8, ptr %0, i64 8 + %793 = tail call noalias noundef nonnull dereferenceable(112) ptr @_Znwm(i64 noundef 112) #28 + %794 = getelementptr inbounds nuw i8, ptr %0, i64 8 + %795 = load i64, ptr %794, align 8 + %796 = getelementptr inbounds nuw i8, ptr %0, i64 48 + %797 = getelementptr inbounds nuw i8, ptr %0, i64 16 %798 = load i64, ptr %797, align 8 - %799 = getelementptr inbounds nuw i8, ptr %0, i64 48 - %800 = getelementptr inbounds nuw i8, ptr %0, i64 16 - %801 = load i64, ptr %800, align 8 - %802 = getelementptr inbounds nuw i8, ptr %796, i64 8 - store i64 -1, ptr %802, align 8 - br i1 %.not.i.i53.i.i, label %820, label %803 - -803: ; preds = %795 - %804 = getelementptr inbounds nuw i8, ptr %796, i64 40 - %sext.i.i.i54.i.i = shl i64 %798, 32 - %805 = ashr exact i64 %sext.i.i.i54.i.i, 32 - %806 = getelementptr inbounds nuw i8, ptr %796, i64 48 - %807 = getelementptr inbounds nuw i8, ptr %796, i64 72 - %808 = getelementptr inbounds nuw i8, ptr %796, i64 80 - %809 = getelementptr inbounds nuw i8, ptr %796, i64 88 - %810 = getelementptr inbounds nuw i8, ptr %796, i64 96 - %811 = zext i1 %5 to i8 - %812 = getelementptr inbounds nuw i8, ptr %796, i64 104 - %813 = getelementptr inbounds nuw i8, ptr %796, i64 108 - br i1 %3, label %814, label %817 - -814: ; preds = %803 - store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_114IVFSQScannerIPINS0_10DCTemplateINS0_17QuantizerTemplateINS0_9Codec8bitELb0ELi1EEENS0_12SimilarityIPILi1EEELi1EEELi2EEE, i64 16), ptr %796, align 8 - tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %806, i8 0, i64 24, i1 false) - store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_110DCTemplateINS0_17QuantizerTemplateINS0_9Codec8bitELb0ELi1EEENS0_12SimilarityIPILi1EEELi1EEE, i64 16), ptr %804, align 8 - store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_117QuantizerTemplateINS0_9Codec8bitELb0ELi1EEE, i64 16), ptr %807, align 8 - store i64 %805, ptr %808, align 8 - %815 = load ptr, ptr %799, align 8 - store ptr %815, ptr %809, align 8 - %816 = getelementptr inbounds float, ptr %815, i64 %805 - store ptr %816, ptr %810, align 8 - store i8 %811, ptr %812, align 8 - store float 0.000000e+00, ptr %813, align 4 + %799 = getelementptr inbounds nuw i8, ptr %793, i64 8 + store i64 -1, ptr %799, align 8 + br i1 %.not.i.i53.i.i, label %817, label %800 + +800: ; preds = %792 + %801 = getelementptr inbounds nuw i8, ptr %793, i64 40 + %sext.i.i.i54.i.i = shl i64 %795, 32 + %802 = ashr exact i64 %sext.i.i.i54.i.i, 32 + %803 = getelementptr inbounds nuw i8, ptr %793, i64 48 + %804 = getelementptr inbounds nuw i8, ptr %793, i64 72 + %805 = getelementptr inbounds nuw i8, ptr %793, i64 80 + %806 = getelementptr inbounds nuw i8, ptr %793, i64 88 + %807 = getelementptr inbounds nuw i8, ptr %793, i64 96 + %808 = zext i1 %5 to i8 + %809 = getelementptr inbounds nuw i8, ptr %793, i64 104 + %810 = getelementptr inbounds nuw i8, ptr %793, i64 108 + br i1 %3, label %811, label %814 + +811: ; preds = %800 + store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_114IVFSQScannerIPINS0_10DCTemplateINS0_17QuantizerTemplateINS0_9Codec8bitELb0ELi1EEENS0_12SimilarityIPILi1EEELi1EEELi2EEE, i64 16), ptr %793, align 8 + tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %803, i8 0, i64 24, i1 false) + store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_110DCTemplateINS0_17QuantizerTemplateINS0_9Codec8bitELb0ELi1EEENS0_12SimilarityIPILi1EEELi1EEE, i64 16), ptr %801, align 8 + store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_117QuantizerTemplateINS0_9Codec8bitELb0ELi1EEE, i64 16), ptr %804, align 8 + store i64 %802, ptr %805, align 8 + %812 = load ptr, ptr %796, align 8 + store ptr %812, ptr %806, align 8 + %813 = getelementptr inbounds float, ptr %812, i64 %802 + store ptr %813, ptr %807, align 8 + store i8 %808, ptr %809, align 8 + store float 0.000000e+00, ptr %810, align 4 br label %_ZN5faiss12_GLOBAL__N_125sel12_InvertedListScannerINS0_12SimilarityIPILi1EEENS0_9Codec8bitELb0EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i -817: ; preds = %803 - store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_114IVFSQScannerIPINS0_10DCTemplateINS0_17QuantizerTemplateINS0_9Codec8bitELb0ELi1EEENS0_12SimilarityIPILi1EEELi1EEELi1EEE, i64 16), ptr %796, align 8 - tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %806, i8 0, i64 24, i1 false) - store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_110DCTemplateINS0_17QuantizerTemplateINS0_9Codec8bitELb0ELi1EEENS0_12SimilarityIPILi1EEELi1EEE, i64 16), ptr %804, align 8 - store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_117QuantizerTemplateINS0_9Codec8bitELb0ELi1EEE, i64 16), ptr %807, align 8 - store i64 %805, ptr %808, align 8 - %818 = load ptr, ptr %799, align 8 - store ptr %818, ptr %809, align 8 - %819 = getelementptr inbounds float, ptr %818, i64 %805 - store ptr %819, ptr %810, align 8 - store i8 %811, ptr %812, align 8 - store float 0.000000e+00, ptr %813, align 4 +814: ; preds = %800 + store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_114IVFSQScannerIPINS0_10DCTemplateINS0_17QuantizerTemplateINS0_9Codec8bitELb0ELi1EEENS0_12SimilarityIPILi1EEELi1EEELi1EEE, i64 16), ptr %793, align 8 + tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %803, i8 0, i64 24, i1 false) + store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_110DCTemplateINS0_17QuantizerTemplateINS0_9Codec8bitELb0ELi1EEENS0_12SimilarityIPILi1EEELi1EEE, i64 16), ptr %801, align 8 + store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_117QuantizerTemplateINS0_9Codec8bitELb0ELi1EEE, i64 16), ptr %804, align 8 + store i64 %802, ptr %805, align 8 + %815 = load ptr, ptr %796, align 8 + store ptr %815, ptr %806, align 8 + %816 = getelementptr inbounds float, ptr %815, i64 %802 + store ptr %816, ptr %807, align 8 + store i8 %808, ptr %809, align 8 + store float 0.000000e+00, ptr %810, align 4 br label %_ZN5faiss12_GLOBAL__N_125sel12_InvertedListScannerINS0_12SimilarityIPILi1EEENS0_9Codec8bitELb0EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i -820: ; preds = %795 - store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_114IVFSQScannerIPINS0_10DCTemplateINS0_17QuantizerTemplateINS0_9Codec8bitELb0ELi1EEENS0_12SimilarityIPILi1EEELi1EEELi0EEE, i64 16), ptr %796, align 8 - %821 = getelementptr inbounds nuw i8, ptr %796, i64 40 - %sext.i21.i.i56.i.i = shl i64 %798, 32 - %822 = ashr exact i64 %sext.i21.i.i56.i.i, 32 - %823 = getelementptr inbounds nuw i8, ptr %796, i64 48 - tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %823, i8 0, i64 24, i1 false) - store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_110DCTemplateINS0_17QuantizerTemplateINS0_9Codec8bitELb0ELi1EEENS0_12SimilarityIPILi1EEELi1EEE, i64 16), ptr %821, align 8 - %824 = getelementptr inbounds nuw i8, ptr %796, i64 72 - store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_117QuantizerTemplateINS0_9Codec8bitELb0ELi1EEE, i64 16), ptr %824, align 8 - %825 = getelementptr inbounds nuw i8, ptr %796, i64 80 - store i64 %822, ptr %825, align 8 - %826 = getelementptr inbounds nuw i8, ptr %796, i64 88 - %827 = load ptr, ptr %799, align 8 - store ptr %827, ptr %826, align 8 - %828 = getelementptr inbounds nuw i8, ptr %796, i64 96 - %829 = getelementptr inbounds float, ptr %827, i64 %822 - store ptr %829, ptr %828, align 8 - %830 = zext i1 %5 to i8 - %831 = zext i1 %3 to i8 - %832 = getelementptr inbounds nuw i8, ptr %796, i64 104 - store i8 %830, ptr %832, align 8 - %833 = getelementptr inbounds nuw i8, ptr %796, i64 108 - store float 0.000000e+00, ptr %833, align 4 +817: ; preds = %792 + store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_114IVFSQScannerIPINS0_10DCTemplateINS0_17QuantizerTemplateINS0_9Codec8bitELb0ELi1EEENS0_12SimilarityIPILi1EEELi1EEELi0EEE, i64 16), ptr %793, align 8 + %818 = getelementptr inbounds nuw i8, ptr %793, i64 40 + %sext.i21.i.i56.i.i = shl i64 %795, 32 + %819 = ashr exact i64 %sext.i21.i.i56.i.i, 32 + %820 = getelementptr inbounds nuw i8, ptr %793, i64 48 + tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %820, i8 0, i64 24, i1 false) + store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_110DCTemplateINS0_17QuantizerTemplateINS0_9Codec8bitELb0ELi1EEENS0_12SimilarityIPILi1EEELi1EEE, i64 16), ptr %818, align 8 + %821 = getelementptr inbounds nuw i8, ptr %793, i64 72 + store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_117QuantizerTemplateINS0_9Codec8bitELb0ELi1EEE, i64 16), ptr %821, align 8 + %822 = getelementptr inbounds nuw i8, ptr %793, i64 80 + store i64 %819, ptr %822, align 8 + %823 = getelementptr inbounds nuw i8, ptr %793, i64 88 + %824 = load ptr, ptr %796, align 8 + store ptr %824, ptr %823, align 8 + %825 = getelementptr inbounds nuw i8, ptr %793, i64 96 + %826 = getelementptr inbounds float, ptr %824, i64 %819 + store ptr %826, ptr %825, align 8 + %827 = zext i1 %5 to i8 + %828 = zext i1 %3 to i8 + %829 = getelementptr inbounds nuw i8, ptr %793, i64 104 + store i8 %827, ptr %829, align 8 + %830 = getelementptr inbounds nuw i8, ptr %793, i64 108 + store float 0.000000e+00, ptr %830, align 4 br label %_ZN5faiss12_GLOBAL__N_125sel12_InvertedListScannerINS0_12SimilarityIPILi1EEENS0_9Codec8bitELb0EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i -_ZN5faiss12_GLOBAL__N_125sel12_InvertedListScannerINS0_12SimilarityIPILi1EEENS0_9Codec8bitELb0EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i: ; preds = %820, %817, %814 - %.sink1.i.i55.i.i = phi i8 [ %831, %820 ], [ 0, %817 ], [ 1, %814 ] - %834 = getelementptr inbounds nuw i8, ptr %796, i64 32 - %835 = getelementptr inbounds nuw i8, ptr %796, i64 24 - %836 = getelementptr inbounds nuw i8, ptr %796, i64 17 - %837 = getelementptr inbounds nuw i8, ptr %796, i64 16 - store i8 %.sink1.i.i55.i.i, ptr %836, align 1 - store ptr %4, ptr %835, align 8 - store i64 %801, ptr %834, align 8 - store i8 1, ptr %837, align 8 +_ZN5faiss12_GLOBAL__N_125sel12_InvertedListScannerINS0_12SimilarityIPILi1EEENS0_9Codec8bitELb0EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i: ; preds = %817, %814, %811 + %.sink1.i.i55.i.i = phi i8 [ %828, %817 ], [ 0, %814 ], [ 1, %811 ] + %831 = getelementptr inbounds nuw i8, ptr %793, i64 32 + %832 = getelementptr inbounds nuw i8, ptr %793, i64 24 + %833 = getelementptr inbounds nuw i8, ptr %793, i64 17 + %834 = getelementptr inbounds nuw i8, ptr %793, i64 16 + store i8 %.sink1.i.i55.i.i, ptr %833, align 1 + store ptr %4, ptr %832, align 8 + store i64 %798, ptr %831, align 8 + store i8 1, ptr %834, align 8 br label %_ZN5faiss12_GLOBAL__N_124sel1_InvertedListScannerINS0_12SimilarityIPILi1EEEEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i -838: ; preds = %694 +835: ; preds = %691 %.not.i.i57.i.i = icmp eq ptr %4, null - %839 = tail call noalias noundef nonnull dereferenceable(112) ptr @_Znwm(i64 noundef 112) #28 - %840 = getelementptr inbounds nuw i8, ptr %0, i64 8 + %836 = tail call noalias noundef nonnull dereferenceable(112) ptr @_Znwm(i64 noundef 112) #28 + %837 = getelementptr inbounds nuw i8, ptr %0, i64 8 + %838 = load i64, ptr %837, align 8 + %839 = getelementptr inbounds nuw i8, ptr %0, i64 48 + %840 = getelementptr inbounds nuw i8, ptr %0, i64 16 %841 = load i64, ptr %840, align 8 - %842 = getelementptr inbounds nuw i8, ptr %0, i64 48 - %843 = getelementptr inbounds nuw i8, ptr %0, i64 16 - %844 = load i64, ptr %843, align 8 - %845 = getelementptr inbounds nuw i8, ptr %839, i64 8 - store i64 -1, ptr %845, align 8 - br i1 %.not.i.i57.i.i, label %863, label %846 - -846: ; preds = %838 - %847 = getelementptr inbounds nuw i8, ptr %839, i64 40 - %sext.i.i.i58.i.i = shl i64 %841, 32 - %848 = ashr exact i64 %sext.i.i.i58.i.i, 32 - %849 = getelementptr inbounds nuw i8, ptr %839, i64 48 - %850 = getelementptr inbounds nuw i8, ptr %839, i64 72 - %851 = getelementptr inbounds nuw i8, ptr %839, i64 80 - %852 = getelementptr inbounds nuw i8, ptr %839, i64 88 - %853 = getelementptr inbounds nuw i8, ptr %839, i64 96 - %854 = zext i1 %5 to i8 - %855 = getelementptr inbounds nuw i8, ptr %839, i64 104 - %856 = getelementptr inbounds nuw i8, ptr %839, i64 108 - br i1 %3, label %857, label %860 - -857: ; preds = %846 - store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_114IVFSQScannerIPINS0_10DCTemplateINS0_17QuantizerTemplateINS0_9Codec4bitELb0ELi1EEENS0_12SimilarityIPILi1EEELi1EEELi2EEE, i64 16), ptr %839, align 8 - tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %849, i8 0, i64 24, i1 false) - store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_110DCTemplateINS0_17QuantizerTemplateINS0_9Codec4bitELb0ELi1EEENS0_12SimilarityIPILi1EEELi1EEE, i64 16), ptr %847, align 8 - store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_117QuantizerTemplateINS0_9Codec4bitELb0ELi1EEE, i64 16), ptr %850, align 8 - store i64 %848, ptr %851, align 8 - %858 = load ptr, ptr %842, align 8 - store ptr %858, ptr %852, align 8 - %859 = getelementptr inbounds float, ptr %858, i64 %848 - store ptr %859, ptr %853, align 8 - store i8 %854, ptr %855, align 8 - store float 0.000000e+00, ptr %856, align 4 + %842 = getelementptr inbounds nuw i8, ptr %836, i64 8 + store i64 -1, ptr %842, align 8 + br i1 %.not.i.i57.i.i, label %860, label %843 + +843: ; preds = %835 + %844 = getelementptr inbounds nuw i8, ptr %836, i64 40 + %sext.i.i.i58.i.i = shl i64 %838, 32 + %845 = ashr exact i64 %sext.i.i.i58.i.i, 32 + %846 = getelementptr inbounds nuw i8, ptr %836, i64 48 + %847 = getelementptr inbounds nuw i8, ptr %836, i64 72 + %848 = getelementptr inbounds nuw i8, ptr %836, i64 80 + %849 = getelementptr inbounds nuw i8, ptr %836, i64 88 + %850 = getelementptr inbounds nuw i8, ptr %836, i64 96 + %851 = zext i1 %5 to i8 + %852 = getelementptr inbounds nuw i8, ptr %836, i64 104 + %853 = getelementptr inbounds nuw i8, ptr %836, i64 108 + br i1 %3, label %854, label %857 + +854: ; preds = %843 + store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_114IVFSQScannerIPINS0_10DCTemplateINS0_17QuantizerTemplateINS0_9Codec4bitELb0ELi1EEENS0_12SimilarityIPILi1EEELi1EEELi2EEE, i64 16), ptr %836, align 8 + tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %846, i8 0, i64 24, i1 false) + store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_110DCTemplateINS0_17QuantizerTemplateINS0_9Codec4bitELb0ELi1EEENS0_12SimilarityIPILi1EEELi1EEE, i64 16), ptr %844, align 8 + store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_117QuantizerTemplateINS0_9Codec4bitELb0ELi1EEE, i64 16), ptr %847, align 8 + store i64 %845, ptr %848, align 8 + %855 = load ptr, ptr %839, align 8 + store ptr %855, ptr %849, align 8 + %856 = getelementptr inbounds float, ptr %855, i64 %845 + store ptr %856, ptr %850, align 8 + store i8 %851, ptr %852, align 8 + store float 0.000000e+00, ptr %853, align 4 br label %_ZN5faiss12_GLOBAL__N_125sel12_InvertedListScannerINS0_12SimilarityIPILi1EEENS0_9Codec4bitELb0EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i -860: ; preds = %846 - store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_114IVFSQScannerIPINS0_10DCTemplateINS0_17QuantizerTemplateINS0_9Codec4bitELb0ELi1EEENS0_12SimilarityIPILi1EEELi1EEELi1EEE, i64 16), ptr %839, align 8 - tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %849, i8 0, i64 24, i1 false) - store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_110DCTemplateINS0_17QuantizerTemplateINS0_9Codec4bitELb0ELi1EEENS0_12SimilarityIPILi1EEELi1EEE, i64 16), ptr %847, align 8 - store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_117QuantizerTemplateINS0_9Codec4bitELb0ELi1EEE, i64 16), ptr %850, align 8 - store i64 %848, ptr %851, align 8 - %861 = load ptr, ptr %842, align 8 - store ptr %861, ptr %852, align 8 - %862 = getelementptr inbounds float, ptr %861, i64 %848 - store ptr %862, ptr %853, align 8 - store i8 %854, ptr %855, align 8 - store float 0.000000e+00, ptr %856, align 4 +857: ; preds = %843 + store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_114IVFSQScannerIPINS0_10DCTemplateINS0_17QuantizerTemplateINS0_9Codec4bitELb0ELi1EEENS0_12SimilarityIPILi1EEELi1EEELi1EEE, i64 16), ptr %836, align 8 + tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %846, i8 0, i64 24, i1 false) + store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_110DCTemplateINS0_17QuantizerTemplateINS0_9Codec4bitELb0ELi1EEENS0_12SimilarityIPILi1EEELi1EEE, i64 16), ptr %844, align 8 + store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_117QuantizerTemplateINS0_9Codec4bitELb0ELi1EEE, i64 16), ptr %847, align 8 + store i64 %845, ptr %848, align 8 + %858 = load ptr, ptr %839, align 8 + store ptr %858, ptr %849, align 8 + %859 = getelementptr inbounds float, ptr %858, i64 %845 + store ptr %859, ptr %850, align 8 + store i8 %851, ptr %852, align 8 + store float 0.000000e+00, ptr %853, align 4 br label %_ZN5faiss12_GLOBAL__N_125sel12_InvertedListScannerINS0_12SimilarityIPILi1EEENS0_9Codec4bitELb0EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i -863: ; preds = %838 - store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_114IVFSQScannerIPINS0_10DCTemplateINS0_17QuantizerTemplateINS0_9Codec4bitELb0ELi1EEENS0_12SimilarityIPILi1EEELi1EEELi0EEE, i64 16), ptr %839, align 8 - %864 = getelementptr inbounds nuw i8, ptr %839, i64 40 - %sext.i21.i.i60.i.i = shl i64 %841, 32 - %865 = ashr exact i64 %sext.i21.i.i60.i.i, 32 - %866 = getelementptr inbounds nuw i8, ptr %839, i64 48 - tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %866, i8 0, i64 24, i1 false) - store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_110DCTemplateINS0_17QuantizerTemplateINS0_9Codec4bitELb0ELi1EEENS0_12SimilarityIPILi1EEELi1EEE, i64 16), ptr %864, align 8 - %867 = getelementptr inbounds nuw i8, ptr %839, i64 72 - store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_117QuantizerTemplateINS0_9Codec4bitELb0ELi1EEE, i64 16), ptr %867, align 8 - %868 = getelementptr inbounds nuw i8, ptr %839, i64 80 - store i64 %865, ptr %868, align 8 - %869 = getelementptr inbounds nuw i8, ptr %839, i64 88 - %870 = load ptr, ptr %842, align 8 - store ptr %870, ptr %869, align 8 - %871 = getelementptr inbounds nuw i8, ptr %839, i64 96 - %872 = getelementptr inbounds float, ptr %870, i64 %865 - store ptr %872, ptr %871, align 8 - %873 = zext i1 %5 to i8 - %874 = zext i1 %3 to i8 - %875 = getelementptr inbounds nuw i8, ptr %839, i64 104 - store i8 %873, ptr %875, align 8 - %876 = getelementptr inbounds nuw i8, ptr %839, i64 108 - store float 0.000000e+00, ptr %876, align 4 +860: ; preds = %835 + store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_114IVFSQScannerIPINS0_10DCTemplateINS0_17QuantizerTemplateINS0_9Codec4bitELb0ELi1EEENS0_12SimilarityIPILi1EEELi1EEELi0EEE, i64 16), ptr %836, align 8 + %861 = getelementptr inbounds nuw i8, ptr %836, i64 40 + %sext.i21.i.i60.i.i = shl i64 %838, 32 + %862 = ashr exact i64 %sext.i21.i.i60.i.i, 32 + %863 = getelementptr inbounds nuw i8, ptr %836, i64 48 + tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %863, i8 0, i64 24, i1 false) + store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_110DCTemplateINS0_17QuantizerTemplateINS0_9Codec4bitELb0ELi1EEENS0_12SimilarityIPILi1EEELi1EEE, i64 16), ptr %861, align 8 + %864 = getelementptr inbounds nuw i8, ptr %836, i64 72 + store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_117QuantizerTemplateINS0_9Codec4bitELb0ELi1EEE, i64 16), ptr %864, align 8 + %865 = getelementptr inbounds nuw i8, ptr %836, i64 80 + store i64 %862, ptr %865, align 8 + %866 = getelementptr inbounds nuw i8, ptr %836, i64 88 + %867 = load ptr, ptr %839, align 8 + store ptr %867, ptr %866, align 8 + %868 = getelementptr inbounds nuw i8, ptr %836, i64 96 + %869 = getelementptr inbounds float, ptr %867, i64 %862 + store ptr %869, ptr %868, align 8 + %870 = zext i1 %5 to i8 + %871 = zext i1 %3 to i8 + %872 = getelementptr inbounds nuw i8, ptr %836, i64 104 + store i8 %870, ptr %872, align 8 + %873 = getelementptr inbounds nuw i8, ptr %836, i64 108 + store float 0.000000e+00, ptr %873, align 4 br label %_ZN5faiss12_GLOBAL__N_125sel12_InvertedListScannerINS0_12SimilarityIPILi1EEENS0_9Codec4bitELb0EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i -_ZN5faiss12_GLOBAL__N_125sel12_InvertedListScannerINS0_12SimilarityIPILi1EEENS0_9Codec4bitELb0EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i: ; preds = %863, %860, %857 - %.sink1.i.i59.i.i = phi i8 [ %874, %863 ], [ 0, %860 ], [ 1, %857 ] - %877 = getelementptr inbounds nuw i8, ptr %839, i64 32 - %878 = getelementptr inbounds nuw i8, ptr %839, i64 24 - %879 = getelementptr inbounds nuw i8, ptr %839, i64 17 - %880 = getelementptr inbounds nuw i8, ptr %839, i64 16 - store i8 %.sink1.i.i59.i.i, ptr %879, align 1 - store ptr %4, ptr %878, align 8 - store i64 %844, ptr %877, align 8 - store i8 1, ptr %880, align 8 +_ZN5faiss12_GLOBAL__N_125sel12_InvertedListScannerINS0_12SimilarityIPILi1EEENS0_9Codec4bitELb0EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i: ; preds = %860, %857, %854 + %.sink1.i.i59.i.i = phi i8 [ %871, %860 ], [ 0, %857 ], [ 1, %854 ] + %874 = getelementptr inbounds nuw i8, ptr %836, i64 32 + %875 = getelementptr inbounds nuw i8, ptr %836, i64 24 + %876 = getelementptr inbounds nuw i8, ptr %836, i64 17 + %877 = getelementptr inbounds nuw i8, ptr %836, i64 16 + store i8 %.sink1.i.i59.i.i, ptr %876, align 1 + store ptr %4, ptr %875, align 8 + store i64 %841, ptr %874, align 8 + store i8 1, ptr %877, align 8 br label %_ZN5faiss12_GLOBAL__N_124sel1_InvertedListScannerINS0_12SimilarityIPILi1EEEEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i -881: ; preds = %694 +878: ; preds = %691 %.not.i.i61.i.i = icmp eq ptr %4, null - %882 = tail call noalias noundef nonnull dereferenceable(112) ptr @_Znwm(i64 noundef 112) #28 - %883 = getelementptr inbounds nuw i8, ptr %0, i64 8 + %879 = tail call noalias noundef nonnull dereferenceable(112) ptr @_Znwm(i64 noundef 112) #28 + %880 = getelementptr inbounds nuw i8, ptr %0, i64 8 + %881 = load i64, ptr %880, align 8 + %882 = getelementptr inbounds nuw i8, ptr %0, i64 48 + %883 = getelementptr inbounds nuw i8, ptr %0, i64 16 %884 = load i64, ptr %883, align 8 - %885 = getelementptr inbounds nuw i8, ptr %0, i64 48 - %886 = getelementptr inbounds nuw i8, ptr %0, i64 16 - %887 = load i64, ptr %886, align 8 - %888 = getelementptr inbounds nuw i8, ptr %882, i64 8 - store i64 -1, ptr %888, align 8 - br i1 %.not.i.i61.i.i, label %906, label %889 - -889: ; preds = %881 - %890 = getelementptr inbounds nuw i8, ptr %882, i64 40 - %sext.i.i.i62.i.i = shl i64 %884, 32 - %891 = ashr exact i64 %sext.i.i.i62.i.i, 32 - %892 = getelementptr inbounds nuw i8, ptr %882, i64 48 - %893 = getelementptr inbounds nuw i8, ptr %882, i64 72 - %894 = getelementptr inbounds nuw i8, ptr %882, i64 80 - %895 = getelementptr inbounds nuw i8, ptr %882, i64 88 - %896 = getelementptr inbounds nuw i8, ptr %882, i64 96 - %897 = zext i1 %5 to i8 - %898 = getelementptr inbounds nuw i8, ptr %882, i64 104 - %899 = getelementptr inbounds nuw i8, ptr %882, i64 108 - br i1 %3, label %900, label %903 - -900: ; preds = %889 - store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_114IVFSQScannerIPINS0_10DCTemplateINS0_17QuantizerTemplateINS0_9Codec6bitELb0ELi1EEENS0_12SimilarityIPILi1EEELi1EEELi2EEE, i64 16), ptr %882, align 8 - tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %892, i8 0, i64 24, i1 false) - store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_110DCTemplateINS0_17QuantizerTemplateINS0_9Codec6bitELb0ELi1EEENS0_12SimilarityIPILi1EEELi1EEE, i64 16), ptr %890, align 8 - store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_117QuantizerTemplateINS0_9Codec6bitELb0ELi1EEE, i64 16), ptr %893, align 8 - store i64 %891, ptr %894, align 8 - %901 = load ptr, ptr %885, align 8 - store ptr %901, ptr %895, align 8 - %902 = getelementptr inbounds float, ptr %901, i64 %891 - store ptr %902, ptr %896, align 8 - store i8 %897, ptr %898, align 8 - store float 0.000000e+00, ptr %899, align 4 + %885 = getelementptr inbounds nuw i8, ptr %879, i64 8 + store i64 -1, ptr %885, align 8 + br i1 %.not.i.i61.i.i, label %903, label %886 + +886: ; preds = %878 + %887 = getelementptr inbounds nuw i8, ptr %879, i64 40 + %sext.i.i.i62.i.i = shl i64 %881, 32 + %888 = ashr exact i64 %sext.i.i.i62.i.i, 32 + %889 = getelementptr inbounds nuw i8, ptr %879, i64 48 + %890 = getelementptr inbounds nuw i8, ptr %879, i64 72 + %891 = getelementptr inbounds nuw i8, ptr %879, i64 80 + %892 = getelementptr inbounds nuw i8, ptr %879, i64 88 + %893 = getelementptr inbounds nuw i8, ptr %879, i64 96 + %894 = zext i1 %5 to i8 + %895 = getelementptr inbounds nuw i8, ptr %879, i64 104 + %896 = getelementptr inbounds nuw i8, ptr %879, i64 108 + br i1 %3, label %897, label %900 + +897: ; preds = %886 + store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_114IVFSQScannerIPINS0_10DCTemplateINS0_17QuantizerTemplateINS0_9Codec6bitELb0ELi1EEENS0_12SimilarityIPILi1EEELi1EEELi2EEE, i64 16), ptr %879, align 8 + tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %889, i8 0, i64 24, i1 false) + store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_110DCTemplateINS0_17QuantizerTemplateINS0_9Codec6bitELb0ELi1EEENS0_12SimilarityIPILi1EEELi1EEE, i64 16), ptr %887, align 8 + store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_117QuantizerTemplateINS0_9Codec6bitELb0ELi1EEE, i64 16), ptr %890, align 8 + store i64 %888, ptr %891, align 8 + %898 = load ptr, ptr %882, align 8 + store ptr %898, ptr %892, align 8 + %899 = getelementptr inbounds float, ptr %898, i64 %888 + store ptr %899, ptr %893, align 8 + store i8 %894, ptr %895, align 8 + store float 0.000000e+00, ptr %896, align 4 br label %_ZN5faiss12_GLOBAL__N_125sel12_InvertedListScannerINS0_12SimilarityIPILi1EEENS0_9Codec6bitELb0EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i -903: ; preds = %889 - store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_114IVFSQScannerIPINS0_10DCTemplateINS0_17QuantizerTemplateINS0_9Codec6bitELb0ELi1EEENS0_12SimilarityIPILi1EEELi1EEELi1EEE, i64 16), ptr %882, align 8 - tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %892, i8 0, i64 24, i1 false) - store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_110DCTemplateINS0_17QuantizerTemplateINS0_9Codec6bitELb0ELi1EEENS0_12SimilarityIPILi1EEELi1EEE, i64 16), ptr %890, align 8 - store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_117QuantizerTemplateINS0_9Codec6bitELb0ELi1EEE, i64 16), ptr %893, align 8 - store i64 %891, ptr %894, align 8 - %904 = load ptr, ptr %885, align 8 - store ptr %904, ptr %895, align 8 - %905 = getelementptr inbounds float, ptr %904, i64 %891 - store ptr %905, ptr %896, align 8 - store i8 %897, ptr %898, align 8 - store float 0.000000e+00, ptr %899, align 4 +900: ; preds = %886 + store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_114IVFSQScannerIPINS0_10DCTemplateINS0_17QuantizerTemplateINS0_9Codec6bitELb0ELi1EEENS0_12SimilarityIPILi1EEELi1EEELi1EEE, i64 16), ptr %879, align 8 + tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %889, i8 0, i64 24, i1 false) + store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_110DCTemplateINS0_17QuantizerTemplateINS0_9Codec6bitELb0ELi1EEENS0_12SimilarityIPILi1EEELi1EEE, i64 16), ptr %887, align 8 + store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_117QuantizerTemplateINS0_9Codec6bitELb0ELi1EEE, i64 16), ptr %890, align 8 + store i64 %888, ptr %891, align 8 + %901 = load ptr, ptr %882, align 8 + store ptr %901, ptr %892, align 8 + %902 = getelementptr inbounds float, ptr %901, i64 %888 + store ptr %902, ptr %893, align 8 + store i8 %894, ptr %895, align 8 + store float 0.000000e+00, ptr %896, align 4 br label %_ZN5faiss12_GLOBAL__N_125sel12_InvertedListScannerINS0_12SimilarityIPILi1EEENS0_9Codec6bitELb0EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i -906: ; preds = %881 - store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_114IVFSQScannerIPINS0_10DCTemplateINS0_17QuantizerTemplateINS0_9Codec6bitELb0ELi1EEENS0_12SimilarityIPILi1EEELi1EEELi0EEE, i64 16), ptr %882, align 8 - %907 = getelementptr inbounds nuw i8, ptr %882, i64 40 - %sext.i21.i.i64.i.i = shl i64 %884, 32 - %908 = ashr exact i64 %sext.i21.i.i64.i.i, 32 - %909 = getelementptr inbounds nuw i8, ptr %882, i64 48 - tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %909, i8 0, i64 24, i1 false) - store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_110DCTemplateINS0_17QuantizerTemplateINS0_9Codec6bitELb0ELi1EEENS0_12SimilarityIPILi1EEELi1EEE, i64 16), ptr %907, align 8 - %910 = getelementptr inbounds nuw i8, ptr %882, i64 72 - store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_117QuantizerTemplateINS0_9Codec6bitELb0ELi1EEE, i64 16), ptr %910, align 8 - %911 = getelementptr inbounds nuw i8, ptr %882, i64 80 - store i64 %908, ptr %911, align 8 - %912 = getelementptr inbounds nuw i8, ptr %882, i64 88 - %913 = load ptr, ptr %885, align 8 - store ptr %913, ptr %912, align 8 - %914 = getelementptr inbounds nuw i8, ptr %882, i64 96 - %915 = getelementptr inbounds float, ptr %913, i64 %908 - store ptr %915, ptr %914, align 8 - %916 = zext i1 %5 to i8 - %917 = zext i1 %3 to i8 - %918 = getelementptr inbounds nuw i8, ptr %882, i64 104 - store i8 %916, ptr %918, align 8 - %919 = getelementptr inbounds nuw i8, ptr %882, i64 108 - store float 0.000000e+00, ptr %919, align 4 +903: ; preds = %878 + store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_114IVFSQScannerIPINS0_10DCTemplateINS0_17QuantizerTemplateINS0_9Codec6bitELb0ELi1EEENS0_12SimilarityIPILi1EEELi1EEELi0EEE, i64 16), ptr %879, align 8 + %904 = getelementptr inbounds nuw i8, ptr %879, i64 40 + %sext.i21.i.i64.i.i = shl i64 %881, 32 + %905 = ashr exact i64 %sext.i21.i.i64.i.i, 32 + %906 = getelementptr inbounds nuw i8, ptr %879, i64 48 + tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %906, i8 0, i64 24, i1 false) + store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_110DCTemplateINS0_17QuantizerTemplateINS0_9Codec6bitELb0ELi1EEENS0_12SimilarityIPILi1EEELi1EEE, i64 16), ptr %904, align 8 + %907 = getelementptr inbounds nuw i8, ptr %879, i64 72 + store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_117QuantizerTemplateINS0_9Codec6bitELb0ELi1EEE, i64 16), ptr %907, align 8 + %908 = getelementptr inbounds nuw i8, ptr %879, i64 80 + store i64 %905, ptr %908, align 8 + %909 = getelementptr inbounds nuw i8, ptr %879, i64 88 + %910 = load ptr, ptr %882, align 8 + store ptr %910, ptr %909, align 8 + %911 = getelementptr inbounds nuw i8, ptr %879, i64 96 + %912 = getelementptr inbounds float, ptr %910, i64 %905 + store ptr %912, ptr %911, align 8 + %913 = zext i1 %5 to i8 + %914 = zext i1 %3 to i8 + %915 = getelementptr inbounds nuw i8, ptr %879, i64 104 + store i8 %913, ptr %915, align 8 + %916 = getelementptr inbounds nuw i8, ptr %879, i64 108 + store float 0.000000e+00, ptr %916, align 4 br label %_ZN5faiss12_GLOBAL__N_125sel12_InvertedListScannerINS0_12SimilarityIPILi1EEENS0_9Codec6bitELb0EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i -_ZN5faiss12_GLOBAL__N_125sel12_InvertedListScannerINS0_12SimilarityIPILi1EEENS0_9Codec6bitELb0EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i: ; preds = %906, %903, %900 - %.sink1.i.i63.i.i = phi i8 [ %917, %906 ], [ 0, %903 ], [ 1, %900 ] - %920 = getelementptr inbounds nuw i8, ptr %882, i64 32 - %921 = getelementptr inbounds nuw i8, ptr %882, i64 24 - %922 = getelementptr inbounds nuw i8, ptr %882, i64 17 - %923 = getelementptr inbounds nuw i8, ptr %882, i64 16 - store i8 %.sink1.i.i63.i.i, ptr %922, align 1 - store ptr %4, ptr %921, align 8 - store i64 %887, ptr %920, align 8 - store i8 1, ptr %923, align 8 +_ZN5faiss12_GLOBAL__N_125sel12_InvertedListScannerINS0_12SimilarityIPILi1EEENS0_9Codec6bitELb0EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i: ; preds = %903, %900, %897 + %.sink1.i.i63.i.i = phi i8 [ %914, %903 ], [ 0, %900 ], [ 1, %897 ] + %917 = getelementptr inbounds nuw i8, ptr %879, i64 32 + %918 = getelementptr inbounds nuw i8, ptr %879, i64 24 + %919 = getelementptr inbounds nuw i8, ptr %879, i64 17 + %920 = getelementptr inbounds nuw i8, ptr %879, i64 16 + store i8 %.sink1.i.i63.i.i, ptr %919, align 1 + store ptr %4, ptr %918, align 8 + store i64 %884, ptr %917, align 8 + store i8 1, ptr %920, align 8 br label %_ZN5faiss12_GLOBAL__N_124sel1_InvertedListScannerINS0_12SimilarityIPILi1EEEEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i -924: ; preds = %694 +921: ; preds = %691 %.not.i.i34.i = icmp eq ptr %4, null - %925 = tail call noalias noundef nonnull dereferenceable(96) ptr @_Znwm(i64 noundef 96) #28 - %926 = getelementptr inbounds nuw i8, ptr %0, i64 8 - %927 = load i64, ptr %926, align 8 - %928 = getelementptr inbounds nuw i8, ptr %0, i64 16 - %929 = load i64, ptr %928, align 8 - %930 = getelementptr inbounds nuw i8, ptr %925, i64 8 - store i64 -1, ptr %930, align 8 - br i1 %.not.i.i34.i, label %942, label %931 - -931: ; preds = %924 - %932 = getelementptr inbounds nuw i8, ptr %925, i64 40 - %sext.i.i.i35.i = shl i64 %927, 32 - %933 = ashr exact i64 %sext.i.i.i35.i, 32 - %934 = getelementptr inbounds nuw i8, ptr %925, i64 48 - %935 = getelementptr inbounds nuw i8, ptr %925, i64 72 - %936 = getelementptr inbounds nuw i8, ptr %925, i64 80 - %937 = zext i1 %5 to i8 - %938 = getelementptr inbounds nuw i8, ptr %925, i64 88 - %939 = getelementptr inbounds nuw i8, ptr %925, i64 92 - br i1 %3, label %940, label %941 - -940: ; preds = %931 - store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_114IVFSQScannerIPINS0_10DCTemplateINS0_13QuantizerFP16ILi1EEENS0_12SimilarityIPILi1EEELi1EEELi2EEE, i64 16), ptr %925, align 8 - tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %934, i8 0, i64 24, i1 false) - store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_110DCTemplateINS0_13QuantizerFP16ILi1EEENS0_12SimilarityIPILi1EEELi1EEE, i64 16), ptr %932, align 8 - store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_113QuantizerFP16ILi1EEE, i64 16), ptr %935, align 8 - store i64 %933, ptr %936, align 8 - store i8 %937, ptr %938, align 8 - store float 0.000000e+00, ptr %939, align 4 + %922 = tail call noalias noundef nonnull dereferenceable(96) ptr @_Znwm(i64 noundef 96) #28 + %923 = getelementptr inbounds nuw i8, ptr %0, i64 8 + %924 = load i64, ptr %923, align 8 + %925 = getelementptr inbounds nuw i8, ptr %0, i64 16 + %926 = load i64, ptr %925, align 8 + %927 = getelementptr inbounds nuw i8, ptr %922, i64 8 + store i64 -1, ptr %927, align 8 + br i1 %.not.i.i34.i, label %939, label %928 + +928: ; preds = %921 + %929 = getelementptr inbounds nuw i8, ptr %922, i64 40 + %sext.i.i.i35.i = shl i64 %924, 32 + %930 = ashr exact i64 %sext.i.i.i35.i, 32 + %931 = getelementptr inbounds nuw i8, ptr %922, i64 48 + %932 = getelementptr inbounds nuw i8, ptr %922, i64 72 + %933 = getelementptr inbounds nuw i8, ptr %922, i64 80 + %934 = zext i1 %5 to i8 + %935 = getelementptr inbounds nuw i8, ptr %922, i64 88 + %936 = getelementptr inbounds nuw i8, ptr %922, i64 92 + br i1 %3, label %937, label %938 + +937: ; preds = %928 + store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_114IVFSQScannerIPINS0_10DCTemplateINS0_13QuantizerFP16ILi1EEENS0_12SimilarityIPILi1EEELi1EEELi2EEE, i64 16), ptr %922, align 8 + tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %931, i8 0, i64 24, i1 false) + store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_110DCTemplateINS0_13QuantizerFP16ILi1EEENS0_12SimilarityIPILi1EEELi1EEE, i64 16), ptr %929, align 8 + store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_113QuantizerFP16ILi1EEE, i64 16), ptr %932, align 8 + store i64 %930, ptr %933, align 8 + store i8 %934, ptr %935, align 8 + store float 0.000000e+00, ptr %936, align 4 br label %_ZN5faiss12_GLOBAL__N_124sel2_InvertedListScannerINS0_10DCTemplateINS0_13QuantizerFP16ILi1EEENS0_12SimilarityIPILi1EEELi1EEEEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i -941: ; preds = %931 - store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_114IVFSQScannerIPINS0_10DCTemplateINS0_13QuantizerFP16ILi1EEENS0_12SimilarityIPILi1EEELi1EEELi1EEE, i64 16), ptr %925, align 8 - tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %934, i8 0, i64 24, i1 false) - store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_110DCTemplateINS0_13QuantizerFP16ILi1EEENS0_12SimilarityIPILi1EEELi1EEE, i64 16), ptr %932, align 8 - store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_113QuantizerFP16ILi1EEE, i64 16), ptr %935, align 8 - store i64 %933, ptr %936, align 8 - store i8 %937, ptr %938, align 8 - store float 0.000000e+00, ptr %939, align 4 +938: ; preds = %928 + store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_114IVFSQScannerIPINS0_10DCTemplateINS0_13QuantizerFP16ILi1EEENS0_12SimilarityIPILi1EEELi1EEELi1EEE, i64 16), ptr %922, align 8 + tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %931, i8 0, i64 24, i1 false) + store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_110DCTemplateINS0_13QuantizerFP16ILi1EEENS0_12SimilarityIPILi1EEELi1EEE, i64 16), ptr %929, align 8 + store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_113QuantizerFP16ILi1EEE, i64 16), ptr %932, align 8 + store i64 %930, ptr %933, align 8 + store i8 %934, ptr %935, align 8 + store float 0.000000e+00, ptr %936, align 4 br label %_ZN5faiss12_GLOBAL__N_124sel2_InvertedListScannerINS0_10DCTemplateINS0_13QuantizerFP16ILi1EEENS0_12SimilarityIPILi1EEELi1EEEEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i -942: ; preds = %924 - store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_114IVFSQScannerIPINS0_10DCTemplateINS0_13QuantizerFP16ILi1EEENS0_12SimilarityIPILi1EEELi1EEELi0EEE, i64 16), ptr %925, align 8 - %943 = getelementptr inbounds nuw i8, ptr %925, i64 40 - %sext.i21.i.i.i = shl i64 %927, 32 - %944 = ashr exact i64 %sext.i21.i.i.i, 32 - %945 = getelementptr inbounds nuw i8, ptr %925, i64 48 - tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %945, i8 0, i64 24, i1 false) - store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_110DCTemplateINS0_13QuantizerFP16ILi1EEENS0_12SimilarityIPILi1EEELi1EEE, i64 16), ptr %943, align 8 - %946 = getelementptr inbounds nuw i8, ptr %925, i64 72 - store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_113QuantizerFP16ILi1EEE, i64 16), ptr %946, align 8 - %947 = getelementptr inbounds nuw i8, ptr %925, i64 80 - store i64 %944, ptr %947, align 8 - %948 = zext i1 %5 to i8 - %949 = zext i1 %3 to i8 - %950 = getelementptr inbounds nuw i8, ptr %925, i64 88 - store i8 %948, ptr %950, align 8 - %951 = getelementptr inbounds nuw i8, ptr %925, i64 92 - store float 0.000000e+00, ptr %951, align 4 +939: ; preds = %921 + store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_114IVFSQScannerIPINS0_10DCTemplateINS0_13QuantizerFP16ILi1EEENS0_12SimilarityIPILi1EEELi1EEELi0EEE, i64 16), ptr %922, align 8 + %940 = getelementptr inbounds nuw i8, ptr %922, i64 40 + %sext.i21.i.i.i = shl i64 %924, 32 + %941 = ashr exact i64 %sext.i21.i.i.i, 32 + %942 = getelementptr inbounds nuw i8, ptr %922, i64 48 + tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %942, i8 0, i64 24, i1 false) + store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_110DCTemplateINS0_13QuantizerFP16ILi1EEENS0_12SimilarityIPILi1EEELi1EEE, i64 16), ptr %940, align 8 + %943 = getelementptr inbounds nuw i8, ptr %922, i64 72 + store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_113QuantizerFP16ILi1EEE, i64 16), ptr %943, align 8 + %944 = getelementptr inbounds nuw i8, ptr %922, i64 80 + store i64 %941, ptr %944, align 8 + %945 = zext i1 %5 to i8 + %946 = zext i1 %3 to i8 + %947 = getelementptr inbounds nuw i8, ptr %922, i64 88 + store i8 %945, ptr %947, align 8 + %948 = getelementptr inbounds nuw i8, ptr %922, i64 92 + store float 0.000000e+00, ptr %948, align 4 br label %_ZN5faiss12_GLOBAL__N_124sel2_InvertedListScannerINS0_10DCTemplateINS0_13QuantizerFP16ILi1EEENS0_12SimilarityIPILi1EEELi1EEEEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i -_ZN5faiss12_GLOBAL__N_124sel2_InvertedListScannerINS0_10DCTemplateINS0_13QuantizerFP16ILi1EEENS0_12SimilarityIPILi1EEELi1EEEEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i: ; preds = %942, %941, %940 - %.sink1.i.i.i = phi i8 [ %949, %942 ], [ 0, %941 ], [ 1, %940 ] - %952 = getelementptr inbounds nuw i8, ptr %925, i64 32 - %953 = getelementptr inbounds nuw i8, ptr %925, i64 24 - %954 = getelementptr inbounds nuw i8, ptr %925, i64 17 - %955 = getelementptr inbounds nuw i8, ptr %925, i64 16 - store i8 %.sink1.i.i.i, ptr %954, align 1 - store ptr %4, ptr %953, align 8 - store i64 %929, ptr %952, align 8 - store i8 1, ptr %955, align 8 +_ZN5faiss12_GLOBAL__N_124sel2_InvertedListScannerINS0_10DCTemplateINS0_13QuantizerFP16ILi1EEENS0_12SimilarityIPILi1EEELi1EEEEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i: ; preds = %939, %938, %937 + %.sink1.i.i.i = phi i8 [ %946, %939 ], [ 0, %938 ], [ 1, %937 ] + %949 = getelementptr inbounds nuw i8, ptr %922, i64 32 + %950 = getelementptr inbounds nuw i8, ptr %922, i64 24 + %951 = getelementptr inbounds nuw i8, ptr %922, i64 17 + %952 = getelementptr inbounds nuw i8, ptr %922, i64 16 + store i8 %.sink1.i.i.i, ptr %951, align 1 + store ptr %4, ptr %950, align 8 + store i64 %926, ptr %949, align 8 + store i8 1, ptr %952, align 8 br label %_ZN5faiss12_GLOBAL__N_124sel1_InvertedListScannerINS0_12SimilarityIPILi1EEEEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i -956: ; preds = %694 - %957 = getelementptr inbounds nuw i8, ptr %0, i64 8 - %958 = load i64, ptr %957, align 8 - %959 = and i64 %958, 15 - %960 = icmp eq i64 %959, 0 +953: ; preds = %691 + %954 = getelementptr inbounds nuw i8, ptr %0, i64 8 + %955 = load i64, ptr %954, align 8 + %956 = and i64 %955, 15 + %957 = icmp eq i64 %956, 0 %.not.i65.i.i = icmp eq ptr %4, null - br i1 %960, label %961, label %1023 - -961: ; preds = %956 - %962 = tail call noalias noundef nonnull dereferenceable(112) ptr @_Znwm(i64 noundef 112) #28 - %963 = trunc i64 %958 to i32 - %964 = getelementptr inbounds nuw i8, ptr %0, i64 16 - %965 = load i64, ptr %964, align 8 - %966 = getelementptr inbounds nuw i8, ptr %962, i64 8 - store i64 -1, ptr %966, align 8 - %967 = getelementptr inbounds nuw i8, ptr %962, i64 16 - store i8 0, ptr %967, align 8 - %968 = getelementptr inbounds nuw i8, ptr %962, i64 17 - store i8 0, ptr %968, align 1 - %969 = getelementptr inbounds nuw i8, ptr %962, i64 24 - tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %969, i8 0, i64 16, i1 false) - br i1 %.not.i65.i.i, label %1003, label %970 - -970: ; preds = %961 - %971 = getelementptr inbounds nuw i8, ptr %962, i64 40 - %972 = getelementptr inbounds nuw i8, ptr %962, i64 48 - %973 = getelementptr inbounds nuw i8, ptr %962, i64 72 - %974 = getelementptr inbounds nuw i8, ptr %962, i64 80 - %sext.i.i66.i.i = shl i64 %958, 32 - %975 = ashr exact i64 %sext.i.i66.i.i, 32 - %976 = icmp slt i32 %963, 0 - br i1 %3, label %977, label %990 - -977: ; preds = %970 - store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_114IVFSQScannerIPINS0_20DistanceComputerByteINS0_12SimilarityIPILi1EEELi1EEELi2EEE, i64 16), ptr %962, align 8 - tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %972, i8 0, i64 24, i1 false) - store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_120DistanceComputerByteINS0_12SimilarityIPILi1EEELi1EEE, i64 16), ptr %971, align 8 - store i32 %963, ptr %973, align 8 - br i1 %976, label %.noexc.i.i.i.i.i32.i, label %_ZNSt6vectorIhSaIhEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i.i28.i - -.noexc.i.i.i.i.i32.i: ; preds = %977 + br i1 %957, label %958, label %1020 + +958: ; preds = %953 + %959 = tail call noalias noundef nonnull dereferenceable(112) ptr @_Znwm(i64 noundef 112) #28 + %960 = trunc i64 %955 to i32 + %961 = getelementptr inbounds nuw i8, ptr %0, i64 16 + %962 = load i64, ptr %961, align 8 + %963 = getelementptr inbounds nuw i8, ptr %959, i64 8 + store i64 -1, ptr %963, align 8 + %964 = getelementptr inbounds nuw i8, ptr %959, i64 16 + store i8 0, ptr %964, align 8 + %965 = getelementptr inbounds nuw i8, ptr %959, i64 17 + store i8 0, ptr %965, align 1 + %966 = getelementptr inbounds nuw i8, ptr %959, i64 24 + tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %966, i8 0, i64 16, i1 false) + br i1 %.not.i65.i.i, label %1000, label %967 + +967: ; preds = %958 + %968 = getelementptr inbounds nuw i8, ptr %959, i64 40 + %969 = getelementptr inbounds nuw i8, ptr %959, i64 48 + %970 = getelementptr inbounds nuw i8, ptr %959, i64 72 + %971 = getelementptr inbounds nuw i8, ptr %959, i64 80 + %sext.i.i66.i.i = shl i64 %955, 32 + %972 = ashr exact i64 %sext.i.i66.i.i, 32 + %973 = icmp slt i32 %960, 0 + br i1 %3, label %974, label %987 + +974: ; preds = %967 + store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_114IVFSQScannerIPINS0_20DistanceComputerByteINS0_12SimilarityIPILi1EEELi1EEELi2EEE, i64 16), ptr %959, align 8 + tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %969, i8 0, i64 24, i1 false) + store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_120DistanceComputerByteINS0_12SimilarityIPILi1EEELi1EEE, i64 16), ptr %968, align 8 + store i32 %960, ptr %970, align 8 + br i1 %973, label %.noexc.i.i.i.i.i32.i, label %_ZNSt6vectorIhSaIhEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i.i28.i + +.noexc.i.i.i.i.i32.i: ; preds = %974 invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.5) #27 - to label %.noexc.i.i.i33.i unwind label %983 + to label %.noexc.i.i.i33.i unwind label %980 .noexc.i.i.i33.i: ; preds = %.noexc.i.i.i.i.i32.i unreachable -_ZNSt6vectorIhSaIhEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i.i28.i: ; preds = %977 - tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %974, i8 0, i64 24, i1 false) - %.not.i.i.i.i.i.i.i.i.i29.i = icmp eq i32 %963, 0 +_ZNSt6vectorIhSaIhEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i.i28.i: ; preds = %974 + tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %971, i8 0, i64 24, i1 false) + %.not.i.i.i.i.i.i.i.i.i29.i = icmp eq i32 %960, 0 br i1 %.not.i.i.i.i.i.i.i.i.i29.i, label %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_20DistanceComputerByteINS0_12SimilarityIPILi1EEELi1EEELi2EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i, label %.noexc4.i.i.i.i.i30.i .noexc4.i.i.i.i.i30.i: ; preds = %_ZNSt6vectorIhSaIhEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i.i28.i - %978 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %975) #28 - to label %.noexc7.i.i.i.i unwind label %983 + %975 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %972) #28 + to label %.noexc7.i.i.i.i unwind label %980 .noexc7.i.i.i.i: ; preds = %.noexc4.i.i.i.i.i30.i - store ptr %978, ptr %974, align 8 - %979 = getelementptr i8, ptr %978, i64 %975 - %980 = getelementptr inbounds nuw i8, ptr %962, i64 96 - store ptr %979, ptr %980, align 8 - store i8 0, ptr %978, align 1 - %981 = getelementptr inbounds nuw i8, ptr %978, i64 1 - %982 = add nsw i64 %975, -1 - tail call void @llvm.memset.p0.i64(ptr nonnull align 1 %981, i8 0, i64 %982, i1 false) + store ptr %975, ptr %971, align 8 + %976 = getelementptr i8, ptr %975, i64 %972 + %977 = getelementptr inbounds nuw i8, ptr %959, i64 96 + store ptr %976, ptr %977, align 8 + store i8 0, ptr %975, align 1 + %978 = getelementptr inbounds nuw i8, ptr %975, i64 1 + %979 = add nsw i64 %972, -1 + tail call void @llvm.memset.p0.i64(ptr nonnull align 1 %978, i8 0, i64 %979, i1 false) br label %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_20DistanceComputerByteINS0_12SimilarityIPILi1EEELi1EEELi2EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i -common.resume.i.i24.i: ; preds = %1015, %996, %983 - %common.resume.op.i.i25.i = phi { ptr, i32 } [ %984, %983 ], [ %997, %996 ], [ %1016, %1015 ] - tail call void @_ZdlPv(ptr noundef nonnull %962) #29 +common.resume.i.i24.i: ; preds = %1012, %993, %980 + %common.resume.op.i.i25.i = phi { ptr, i32 } [ %981, %980 ], [ %994, %993 ], [ %1013, %1012 ] + tail call void @_ZdlPv(ptr noundef nonnull %959) #29 br label %common.resume.i -983: ; preds = %.noexc4.i.i.i.i.i30.i, %.noexc.i.i.i.i.i32.i - %984 = landingpad { ptr, i32 } +980: ; preds = %.noexc4.i.i.i.i.i30.i, %.noexc.i.i.i.i.i32.i + %981 = landingpad { ptr, i32 } cleanup br label %common.resume.i.i24.i _ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_20DistanceComputerByteINS0_12SimilarityIPILi1EEELi1EEELi2EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i: ; preds = %.noexc7.i.i.i.i, %_ZNSt6vectorIhSaIhEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i.i28.i - %.0.i.i.i.i.i.i.i.i.i.i31.i = phi ptr [ %979, %.noexc7.i.i.i.i ], [ null, %_ZNSt6vectorIhSaIhEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i.i28.i ] - %985 = getelementptr inbounds nuw i8, ptr %962, i64 32 - %986 = getelementptr inbounds nuw i8, ptr %962, i64 88 - store ptr %.0.i.i.i.i.i.i.i.i.i.i31.i, ptr %986, align 8 - %987 = zext i1 %5 to i8 - %988 = getelementptr inbounds nuw i8, ptr %962, i64 104 - store i8 %987, ptr %988, align 8 - %989 = getelementptr inbounds nuw i8, ptr %962, i64 108 - store float 0.000000e+00, ptr %989, align 4 - store i8 1, ptr %968, align 1 - store ptr %4, ptr %969, align 8 - store i64 %965, ptr %985, align 8 + %.0.i.i.i.i.i.i.i.i.i.i31.i = phi ptr [ %976, %.noexc7.i.i.i.i ], [ null, %_ZNSt6vectorIhSaIhEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i.i28.i ] + %982 = getelementptr inbounds nuw i8, ptr %959, i64 32 + %983 = getelementptr inbounds nuw i8, ptr %959, i64 88 + store ptr %.0.i.i.i.i.i.i.i.i.i.i31.i, ptr %983, align 8 + %984 = zext i1 %5 to i8 + %985 = getelementptr inbounds nuw i8, ptr %959, i64 104 + store i8 %984, ptr %985, align 8 + %986 = getelementptr inbounds nuw i8, ptr %959, i64 108 + store float 0.000000e+00, ptr %986, align 4 + store i8 1, ptr %965, align 1 + store ptr %4, ptr %966, align 8 + store i64 %962, ptr %982, align 8 br label %_ZN5faiss12_GLOBAL__N_124sel2_InvertedListScannerINS0_20DistanceComputerByteINS0_12SimilarityIPILi1EEELi1EEEEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i -990: ; preds = %970 - store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_114IVFSQScannerIPINS0_20DistanceComputerByteINS0_12SimilarityIPILi1EEELi1EEELi1EEE, i64 16), ptr %962, align 8 - tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %972, i8 0, i64 24, i1 false) - store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_120DistanceComputerByteINS0_12SimilarityIPILi1EEELi1EEE, i64 16), ptr %971, align 8 - store i32 %963, ptr %973, align 8 - br i1 %976, label %.noexc.i.i.i26.i.i.i, label %_ZNSt6vectorIhSaIhEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i21.i.i21.i +987: ; preds = %967 + store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_114IVFSQScannerIPINS0_20DistanceComputerByteINS0_12SimilarityIPILi1EEELi1EEELi1EEE, i64 16), ptr %959, align 8 + tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %969, i8 0, i64 24, i1 false) + store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_120DistanceComputerByteINS0_12SimilarityIPILi1EEELi1EEE, i64 16), ptr %968, align 8 + store i32 %960, ptr %970, align 8 + br i1 %973, label %.noexc.i.i.i26.i.i.i, label %_ZNSt6vectorIhSaIhEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i21.i.i21.i -.noexc.i.i.i26.i.i.i: ; preds = %990 +.noexc.i.i.i26.i.i.i: ; preds = %987 invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.5) #27 - to label %.noexc.i27.i.i.i unwind label %996 + to label %.noexc.i27.i.i.i unwind label %993 .noexc.i27.i.i.i: ; preds = %.noexc.i.i.i26.i.i.i unreachable -_ZNSt6vectorIhSaIhEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i21.i.i21.i: ; preds = %990 - tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %974, i8 0, i64 24, i1 false) - %.not.i.i.i.i.i.i.i22.i.i22.i = icmp eq i32 %963, 0 +_ZNSt6vectorIhSaIhEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i21.i.i21.i: ; preds = %987 + tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %971, i8 0, i64 24, i1 false) + %.not.i.i.i.i.i.i.i22.i.i22.i = icmp eq i32 %960, 0 br i1 %.not.i.i.i.i.i.i.i22.i.i22.i, label %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_20DistanceComputerByteINS0_12SimilarityIPILi1EEELi1EEELi1EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i, label %.noexc4.i.i.i23.i.i23.i .noexc4.i.i.i23.i.i23.i: ; preds = %_ZNSt6vectorIhSaIhEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i21.i.i21.i - %991 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %975) #28 - to label %.noexc7.i24.i.i.i unwind label %996 + %988 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %972) #28 + to label %.noexc7.i24.i.i.i unwind label %993 .noexc7.i24.i.i.i: ; preds = %.noexc4.i.i.i23.i.i23.i - store ptr %991, ptr %974, align 8 - %992 = getelementptr i8, ptr %991, i64 %975 - %993 = getelementptr inbounds nuw i8, ptr %962, i64 96 - store ptr %992, ptr %993, align 8 - store i8 0, ptr %991, align 1 - %994 = getelementptr inbounds nuw i8, ptr %991, i64 1 - %995 = add nsw i64 %975, -1 - tail call void @llvm.memset.p0.i64(ptr nonnull align 1 %994, i8 0, i64 %995, i1 false) + store ptr %988, ptr %971, align 8 + %989 = getelementptr i8, ptr %988, i64 %972 + %990 = getelementptr inbounds nuw i8, ptr %959, i64 96 + store ptr %989, ptr %990, align 8 + store i8 0, ptr %988, align 1 + %991 = getelementptr inbounds nuw i8, ptr %988, i64 1 + %992 = add nsw i64 %972, -1 + tail call void @llvm.memset.p0.i64(ptr nonnull align 1 %991, i8 0, i64 %992, i1 false) br label %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_20DistanceComputerByteINS0_12SimilarityIPILi1EEELi1EEELi1EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i -996: ; preds = %.noexc4.i.i.i23.i.i23.i, %.noexc.i.i.i26.i.i.i - %997 = landingpad { ptr, i32 } +993: ; preds = %.noexc4.i.i.i23.i.i23.i, %.noexc.i.i.i26.i.i.i + %994 = landingpad { ptr, i32 } cleanup br label %common.resume.i.i24.i _ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_20DistanceComputerByteINS0_12SimilarityIPILi1EEELi1EEELi1EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i: ; preds = %.noexc7.i24.i.i.i, %_ZNSt6vectorIhSaIhEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i21.i.i21.i - %.0.i.i.i.i.i.i.i.i25.i.i.i = phi ptr [ %992, %.noexc7.i24.i.i.i ], [ null, %_ZNSt6vectorIhSaIhEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i21.i.i21.i ] - %998 = getelementptr inbounds nuw i8, ptr %962, i64 32 - %999 = getelementptr inbounds nuw i8, ptr %962, i64 88 - store ptr %.0.i.i.i.i.i.i.i.i25.i.i.i, ptr %999, align 8 - %1000 = zext i1 %5 to i8 - %1001 = getelementptr inbounds nuw i8, ptr %962, i64 104 - store i8 %1000, ptr %1001, align 8 - %1002 = getelementptr inbounds nuw i8, ptr %962, i64 108 - store float 0.000000e+00, ptr %1002, align 4 - store i8 0, ptr %968, align 1 - store ptr %4, ptr %969, align 8 - store i64 %965, ptr %998, align 8 + %.0.i.i.i.i.i.i.i.i25.i.i.i = phi ptr [ %989, %.noexc7.i24.i.i.i ], [ null, %_ZNSt6vectorIhSaIhEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i21.i.i21.i ] + %995 = getelementptr inbounds nuw i8, ptr %959, i64 32 + %996 = getelementptr inbounds nuw i8, ptr %959, i64 88 + store ptr %.0.i.i.i.i.i.i.i.i25.i.i.i, ptr %996, align 8 + %997 = zext i1 %5 to i8 + %998 = getelementptr inbounds nuw i8, ptr %959, i64 104 + store i8 %997, ptr %998, align 8 + %999 = getelementptr inbounds nuw i8, ptr %959, i64 108 + store float 0.000000e+00, ptr %999, align 4 + store i8 0, ptr %965, align 1 + store ptr %4, ptr %966, align 8 + store i64 %962, ptr %995, align 8 br label %_ZN5faiss12_GLOBAL__N_124sel2_InvertedListScannerINS0_20DistanceComputerByteINS0_12SimilarityIPILi1EEELi1EEEEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i -1003: ; preds = %961 - store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_114IVFSQScannerIPINS0_20DistanceComputerByteINS0_12SimilarityIPILi1EEELi1EEELi0EEE, i64 16), ptr %962, align 8 - %1004 = getelementptr inbounds nuw i8, ptr %962, i64 40 - %1005 = getelementptr inbounds nuw i8, ptr %962, i64 48 - tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %1005, i8 0, i64 24, i1 false) - store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_120DistanceComputerByteINS0_12SimilarityIPILi1EEELi1EEE, i64 16), ptr %1004, align 8 - %1006 = getelementptr inbounds nuw i8, ptr %962, i64 72 - store i32 %963, ptr %1006, align 8 - %1007 = getelementptr inbounds nuw i8, ptr %962, i64 80 - %sext.i28.i.i.i = shl i64 %958, 32 - %1008 = ashr exact i64 %sext.i28.i.i.i, 32 - %1009 = icmp slt i32 %963, 0 - br i1 %1009, label %.noexc.i.i.i34.i.i.i, label %_ZNSt6vectorIhSaIhEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i29.i.i.i - -.noexc.i.i.i34.i.i.i: ; preds = %1003 +1000: ; preds = %958 + store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_114IVFSQScannerIPINS0_20DistanceComputerByteINS0_12SimilarityIPILi1EEELi1EEELi0EEE, i64 16), ptr %959, align 8 + %1001 = getelementptr inbounds nuw i8, ptr %959, i64 40 + %1002 = getelementptr inbounds nuw i8, ptr %959, i64 48 + tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %1002, i8 0, i64 24, i1 false) + store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_120DistanceComputerByteINS0_12SimilarityIPILi1EEELi1EEE, i64 16), ptr %1001, align 8 + %1003 = getelementptr inbounds nuw i8, ptr %959, i64 72 + store i32 %960, ptr %1003, align 8 + %1004 = getelementptr inbounds nuw i8, ptr %959, i64 80 + %sext.i28.i.i.i = shl i64 %955, 32 + %1005 = ashr exact i64 %sext.i28.i.i.i, 32 + %1006 = icmp slt i32 %960, 0 + br i1 %1006, label %.noexc.i.i.i34.i.i.i, label %_ZNSt6vectorIhSaIhEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i29.i.i.i + +.noexc.i.i.i34.i.i.i: ; preds = %1000 invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.5) #27 - to label %.noexc.i35.i.i.i unwind label %1015 + to label %.noexc.i35.i.i.i unwind label %1012 .noexc.i35.i.i.i: ; preds = %.noexc.i.i.i34.i.i.i unreachable -_ZNSt6vectorIhSaIhEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i29.i.i.i: ; preds = %1003 - tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %1007, i8 0, i64 24, i1 false) - %.not.i.i.i.i.i.i.i30.i.i.i = icmp eq i32 %963, 0 +_ZNSt6vectorIhSaIhEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i29.i.i.i: ; preds = %1000 + tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %1004, i8 0, i64 24, i1 false) + %.not.i.i.i.i.i.i.i30.i.i.i = icmp eq i32 %960, 0 br i1 %.not.i.i.i.i.i.i.i30.i.i.i, label %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_20DistanceComputerByteINS0_12SimilarityIPILi1EEELi1EEELi0EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i, label %.noexc4.i.i.i31.i.i.i .noexc4.i.i.i31.i.i.i: ; preds = %_ZNSt6vectorIhSaIhEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i29.i.i.i - %1010 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %1008) #28 - to label %.noexc7.i32.i.i.i unwind label %1015 + %1007 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %1005) #28 + to label %.noexc7.i32.i.i.i unwind label %1012 .noexc7.i32.i.i.i: ; preds = %.noexc4.i.i.i31.i.i.i - store ptr %1010, ptr %1007, align 8 - %1011 = getelementptr i8, ptr %1010, i64 %1008 - %1012 = getelementptr inbounds nuw i8, ptr %962, i64 96 - store ptr %1011, ptr %1012, align 8 - store i8 0, ptr %1010, align 1 - %1013 = getelementptr inbounds nuw i8, ptr %1010, i64 1 - %1014 = add nsw i64 %1008, -1 - tail call void @llvm.memset.p0.i64(ptr nonnull align 1 %1013, i8 0, i64 %1014, i1 false) + store ptr %1007, ptr %1004, align 8 + %1008 = getelementptr i8, ptr %1007, i64 %1005 + %1009 = getelementptr inbounds nuw i8, ptr %959, i64 96 + store ptr %1008, ptr %1009, align 8 + store i8 0, ptr %1007, align 1 + %1010 = getelementptr inbounds nuw i8, ptr %1007, i64 1 + %1011 = add nsw i64 %1005, -1 + tail call void @llvm.memset.p0.i64(ptr nonnull align 1 %1010, i8 0, i64 %1011, i1 false) br label %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_20DistanceComputerByteINS0_12SimilarityIPILi1EEELi1EEELi0EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i -1015: ; preds = %.noexc4.i.i.i31.i.i.i, %.noexc.i.i.i34.i.i.i - %1016 = landingpad { ptr, i32 } +1012: ; preds = %.noexc4.i.i.i31.i.i.i, %.noexc.i.i.i34.i.i.i + %1013 = landingpad { ptr, i32 } cleanup br label %common.resume.i.i24.i _ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_20DistanceComputerByteINS0_12SimilarityIPILi1EEELi1EEELi0EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i: ; preds = %.noexc7.i32.i.i.i, %_ZNSt6vectorIhSaIhEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i29.i.i.i - %.0.i.i.i.i.i.i.i.i33.i.i.i = phi ptr [ %1011, %.noexc7.i32.i.i.i ], [ null, %_ZNSt6vectorIhSaIhEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i29.i.i.i ] - %1017 = getelementptr inbounds nuw i8, ptr %962, i64 32 - %1018 = getelementptr inbounds nuw i8, ptr %962, i64 88 - store ptr %.0.i.i.i.i.i.i.i.i33.i.i.i, ptr %1018, align 8 - %1019 = zext i1 %5 to i8 - %1020 = zext i1 %3 to i8 - %1021 = getelementptr inbounds nuw i8, ptr %962, i64 104 - store i8 %1019, ptr %1021, align 8 - %1022 = getelementptr inbounds nuw i8, ptr %962, i64 108 - store float 0.000000e+00, ptr %1022, align 4 - store i8 %1020, ptr %968, align 1 - store ptr null, ptr %969, align 8 - store i64 %965, ptr %1017, align 8 + %.0.i.i.i.i.i.i.i.i33.i.i.i = phi ptr [ %1008, %.noexc7.i32.i.i.i ], [ null, %_ZNSt6vectorIhSaIhEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i29.i.i.i ] + %1014 = getelementptr inbounds nuw i8, ptr %959, i64 32 + %1015 = getelementptr inbounds nuw i8, ptr %959, i64 88 + store ptr %.0.i.i.i.i.i.i.i.i33.i.i.i, ptr %1015, align 8 + %1016 = zext i1 %5 to i8 + %1017 = zext i1 %3 to i8 + %1018 = getelementptr inbounds nuw i8, ptr %959, i64 104 + store i8 %1016, ptr %1018, align 8 + %1019 = getelementptr inbounds nuw i8, ptr %959, i64 108 + store float 0.000000e+00, ptr %1019, align 4 + store i8 %1017, ptr %965, align 1 + store ptr null, ptr %966, align 8 + store i64 %962, ptr %1014, align 8 br label %_ZN5faiss12_GLOBAL__N_124sel2_InvertedListScannerINS0_20DistanceComputerByteINS0_12SimilarityIPILi1EEELi1EEEEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i _ZN5faiss12_GLOBAL__N_124sel2_InvertedListScannerINS0_20DistanceComputerByteINS0_12SimilarityIPILi1EEELi1EEEEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i: ; preds = %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_20DistanceComputerByteINS0_12SimilarityIPILi1EEELi1EEELi0EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i, %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_20DistanceComputerByteINS0_12SimilarityIPILi1EEELi1EEELi1EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i, %_ZN5faiss12_GLOBAL__N_124sel3_InvertedListScannerINS0_20DistanceComputerByteINS0_12SimilarityIPILi1EEELi1EEELi2EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i.i - store i8 1, ptr %967, align 8 + store i8 1, ptr %964, align 8 br label %_ZN5faiss12_GLOBAL__N_124sel1_InvertedListScannerINS0_12SimilarityIPILi1EEEEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i -1023: ; preds = %956 - %1024 = tail call noalias noundef nonnull dereferenceable(96) ptr @_Znwm(i64 noundef 96) #28 - %1025 = getelementptr inbounds nuw i8, ptr %0, i64 16 - %1026 = load i64, ptr %1025, align 8 - %1027 = getelementptr inbounds nuw i8, ptr %1024, i64 8 - store i64 -1, ptr %1027, align 8 - br i1 %.not.i65.i.i, label %1039, label %1028 - -1028: ; preds = %1023 - %1029 = getelementptr inbounds nuw i8, ptr %1024, i64 40 - %sext.i.i68.i.i = shl i64 %958, 32 - %1030 = ashr exact i64 %sext.i.i68.i.i, 32 - %1031 = getelementptr inbounds nuw i8, ptr %1024, i64 48 - %1032 = getelementptr inbounds nuw i8, ptr %1024, i64 72 - %1033 = getelementptr inbounds nuw i8, ptr %1024, i64 80 - %1034 = zext i1 %5 to i8 - %1035 = getelementptr inbounds nuw i8, ptr %1024, i64 88 - %1036 = getelementptr inbounds nuw i8, ptr %1024, i64 92 - br i1 %3, label %1037, label %1038 - -1037: ; preds = %1028 - store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_114IVFSQScannerIPINS0_10DCTemplateINS0_19Quantizer8bitDirectILi1EEENS0_12SimilarityIPILi1EEELi1EEELi2EEE, i64 16), ptr %1024, align 8 - tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %1031, i8 0, i64 24, i1 false) - store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_110DCTemplateINS0_19Quantizer8bitDirectILi1EEENS0_12SimilarityIPILi1EEELi1EEE, i64 16), ptr %1029, align 8 - store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_119Quantizer8bitDirectILi1EEE, i64 16), ptr %1032, align 8 - store i64 %1030, ptr %1033, align 8 - store i8 %1034, ptr %1035, align 8 - store float 0.000000e+00, ptr %1036, align 4 +1020: ; preds = %953 + %1021 = tail call noalias noundef nonnull dereferenceable(96) ptr @_Znwm(i64 noundef 96) #28 + %1022 = getelementptr inbounds nuw i8, ptr %0, i64 16 + %1023 = load i64, ptr %1022, align 8 + %1024 = getelementptr inbounds nuw i8, ptr %1021, i64 8 + store i64 -1, ptr %1024, align 8 + br i1 %.not.i65.i.i, label %1036, label %1025 + +1025: ; preds = %1020 + %1026 = getelementptr inbounds nuw i8, ptr %1021, i64 40 + %sext.i.i68.i.i = shl i64 %955, 32 + %1027 = ashr exact i64 %sext.i.i68.i.i, 32 + %1028 = getelementptr inbounds nuw i8, ptr %1021, i64 48 + %1029 = getelementptr inbounds nuw i8, ptr %1021, i64 72 + %1030 = getelementptr inbounds nuw i8, ptr %1021, i64 80 + %1031 = zext i1 %5 to i8 + %1032 = getelementptr inbounds nuw i8, ptr %1021, i64 88 + %1033 = getelementptr inbounds nuw i8, ptr %1021, i64 92 + br i1 %3, label %1034, label %1035 + +1034: ; preds = %1025 + store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_114IVFSQScannerIPINS0_10DCTemplateINS0_19Quantizer8bitDirectILi1EEENS0_12SimilarityIPILi1EEELi1EEELi2EEE, i64 16), ptr %1021, align 8 + tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %1028, i8 0, i64 24, i1 false) + store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_110DCTemplateINS0_19Quantizer8bitDirectILi1EEENS0_12SimilarityIPILi1EEELi1EEE, i64 16), ptr %1026, align 8 + store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_119Quantizer8bitDirectILi1EEE, i64 16), ptr %1029, align 8 + store i64 %1027, ptr %1030, align 8 + store i8 %1031, ptr %1032, align 8 + store float 0.000000e+00, ptr %1033, align 4 br label %_ZN5faiss12_GLOBAL__N_124sel2_InvertedListScannerINS0_10DCTemplateINS0_19Quantizer8bitDirectILi1EEENS0_12SimilarityIPILi1EEELi1EEEEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i -1038: ; preds = %1028 - store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_114IVFSQScannerIPINS0_10DCTemplateINS0_19Quantizer8bitDirectILi1EEENS0_12SimilarityIPILi1EEELi1EEELi1EEE, i64 16), ptr %1024, align 8 - tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %1031, i8 0, i64 24, i1 false) - store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_110DCTemplateINS0_19Quantizer8bitDirectILi1EEENS0_12SimilarityIPILi1EEELi1EEE, i64 16), ptr %1029, align 8 - store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_119Quantizer8bitDirectILi1EEE, i64 16), ptr %1032, align 8 - store i64 %1030, ptr %1033, align 8 - store i8 %1034, ptr %1035, align 8 - store float 0.000000e+00, ptr %1036, align 4 +1035: ; preds = %1025 + store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_114IVFSQScannerIPINS0_10DCTemplateINS0_19Quantizer8bitDirectILi1EEENS0_12SimilarityIPILi1EEELi1EEELi1EEE, i64 16), ptr %1021, align 8 + tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %1028, i8 0, i64 24, i1 false) + store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_110DCTemplateINS0_19Quantizer8bitDirectILi1EEENS0_12SimilarityIPILi1EEELi1EEE, i64 16), ptr %1026, align 8 + store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_119Quantizer8bitDirectILi1EEE, i64 16), ptr %1029, align 8 + store i64 %1027, ptr %1030, align 8 + store i8 %1031, ptr %1032, align 8 + store float 0.000000e+00, ptr %1033, align 4 br label %_ZN5faiss12_GLOBAL__N_124sel2_InvertedListScannerINS0_10DCTemplateINS0_19Quantizer8bitDirectILi1EEENS0_12SimilarityIPILi1EEELi1EEEEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i -1039: ; preds = %1023 - store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_114IVFSQScannerIPINS0_10DCTemplateINS0_19Quantizer8bitDirectILi1EEENS0_12SimilarityIPILi1EEELi1EEELi0EEE, i64 16), ptr %1024, align 8 - %1040 = getelementptr inbounds nuw i8, ptr %1024, i64 40 - %sext.i21.i71.i.i = shl i64 %958, 32 - %1041 = ashr exact i64 %sext.i21.i71.i.i, 32 - %1042 = getelementptr inbounds nuw i8, ptr %1024, i64 48 - tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %1042, i8 0, i64 24, i1 false) - store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_110DCTemplateINS0_19Quantizer8bitDirectILi1EEENS0_12SimilarityIPILi1EEELi1EEE, i64 16), ptr %1040, align 8 - %1043 = getelementptr inbounds nuw i8, ptr %1024, i64 72 - store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_119Quantizer8bitDirectILi1EEE, i64 16), ptr %1043, align 8 - %1044 = getelementptr inbounds nuw i8, ptr %1024, i64 80 - store i64 %1041, ptr %1044, align 8 - %1045 = zext i1 %5 to i8 - %1046 = zext i1 %3 to i8 - %1047 = getelementptr inbounds nuw i8, ptr %1024, i64 88 - store i8 %1045, ptr %1047, align 8 - %1048 = getelementptr inbounds nuw i8, ptr %1024, i64 92 - store float 0.000000e+00, ptr %1048, align 4 +1036: ; preds = %1020 + store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_114IVFSQScannerIPINS0_10DCTemplateINS0_19Quantizer8bitDirectILi1EEENS0_12SimilarityIPILi1EEELi1EEELi0EEE, i64 16), ptr %1021, align 8 + %1037 = getelementptr inbounds nuw i8, ptr %1021, i64 40 + %sext.i21.i71.i.i = shl i64 %955, 32 + %1038 = ashr exact i64 %sext.i21.i71.i.i, 32 + %1039 = getelementptr inbounds nuw i8, ptr %1021, i64 48 + tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %1039, i8 0, i64 24, i1 false) + store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_110DCTemplateINS0_19Quantizer8bitDirectILi1EEENS0_12SimilarityIPILi1EEELi1EEE, i64 16), ptr %1037, align 8 + %1040 = getelementptr inbounds nuw i8, ptr %1021, i64 72 + store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN5faiss12_GLOBAL__N_119Quantizer8bitDirectILi1EEE, i64 16), ptr %1040, align 8 + %1041 = getelementptr inbounds nuw i8, ptr %1021, i64 80 + store i64 %1038, ptr %1041, align 8 + %1042 = zext i1 %5 to i8 + %1043 = zext i1 %3 to i8 + %1044 = getelementptr inbounds nuw i8, ptr %1021, i64 88 + store i8 %1042, ptr %1044, align 8 + %1045 = getelementptr inbounds nuw i8, ptr %1021, i64 92 + store float 0.000000e+00, ptr %1045, align 4 br label %_ZN5faiss12_GLOBAL__N_124sel2_InvertedListScannerINS0_10DCTemplateINS0_19Quantizer8bitDirectILi1EEENS0_12SimilarityIPILi1EEELi1EEEEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i -_ZN5faiss12_GLOBAL__N_124sel2_InvertedListScannerINS0_10DCTemplateINS0_19Quantizer8bitDirectILi1EEENS0_12SimilarityIPILi1EEELi1EEEEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i: ; preds = %1039, %1038, %1037 - %.sink1.i69.i.i = phi i8 [ %1046, %1039 ], [ 0, %1038 ], [ 1, %1037 ] - %1049 = getelementptr inbounds nuw i8, ptr %1024, i64 32 - %1050 = getelementptr inbounds nuw i8, ptr %1024, i64 24 - %1051 = getelementptr inbounds nuw i8, ptr %1024, i64 17 - %1052 = getelementptr inbounds nuw i8, ptr %1024, i64 16 - store i8 %.sink1.i69.i.i, ptr %1051, align 1 - store ptr %4, ptr %1050, align 8 - store i64 %1026, ptr %1049, align 8 - store i8 1, ptr %1052, align 8 +_ZN5faiss12_GLOBAL__N_124sel2_InvertedListScannerINS0_10DCTemplateINS0_19Quantizer8bitDirectILi1EEENS0_12SimilarityIPILi1EEELi1EEEEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i: ; preds = %1036, %1035, %1034 + %.sink1.i69.i.i = phi i8 [ %1043, %1036 ], [ 0, %1035 ], [ 1, %1034 ] + %1046 = getelementptr inbounds nuw i8, ptr %1021, i64 32 + %1047 = getelementptr inbounds nuw i8, ptr %1021, i64 24 + %1048 = getelementptr inbounds nuw i8, ptr %1021, i64 17 + %1049 = getelementptr inbounds nuw i8, ptr %1021, i64 16 + store i8 %.sink1.i69.i.i, ptr %1048, align 1 + store ptr %4, ptr %1047, align 8 + store i64 %1023, ptr %1046, align 8 + store i8 1, ptr %1049, align 8 br label %_ZN5faiss12_GLOBAL__N_124sel1_InvertedListScannerINS0_12SimilarityIPILi1EEEEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i -1053: ; preds = %694 - %1054 = tail call ptr @__cxa_allocate_exception(i64 40) #16 +1050: ; preds = %691 + %1051 = tail call ptr @__cxa_allocate_exception(i64 40) #16 call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %8) #16 invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %7, ptr noundef nonnull @.str.7, ptr noundef nonnull align 1 dereferenceable(1) %8) - to label %1055 unwind label %.thread.i40.i + to label %1052 unwind label %.thread.i40.i -1055: ; preds = %1053 - invoke void @_ZN5faiss14FaissExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPKcSA_i(ptr noundef nonnull align 8 dereferenceable(40) %1054, ptr noundef nonnull align 8 dereferenceable(32) %7, ptr noundef nonnull @__PRETTY_FUNCTION__._ZN5faiss12_GLOBAL__N_124sel1_InvertedListScannerINS0_12SimilarityIPILi1EEEEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb, ptr noundef nonnull @.str.3, i32 noundef 1821) - to label %1056 unwind label %1058 +1052: ; preds = %1050 + invoke void @_ZN5faiss14FaissExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPKcSA_i(ptr noundef nonnull align 8 dereferenceable(40) %1051, ptr noundef nonnull align 8 dereferenceable(32) %7, ptr noundef nonnull @__PRETTY_FUNCTION__._ZN5faiss12_GLOBAL__N_124sel1_InvertedListScannerINS0_12SimilarityIPILi1EEEEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb, ptr noundef nonnull @.str.3, i32 noundef 1821) + to label %1053 unwind label %1055 -1056: ; preds = %1055 - invoke void @__cxa_throw(ptr nonnull %1054, ptr nonnull @_ZTIN5faiss14FaissExceptionE, ptr nonnull @_ZN5faiss14FaissExceptionD2Ev) #27 - to label %1061 unwind label %1058 +1053: ; preds = %1052 + invoke void @__cxa_throw(ptr nonnull %1051, ptr nonnull @_ZTIN5faiss14FaissExceptionE, ptr nonnull @_ZN5faiss14FaissExceptionD2Ev) #27 + to label %1058 unwind label %1055 -.thread.i40.i: ; preds = %1053 - %1057 = landingpad { ptr, i32 } +.thread.i40.i: ; preds = %1050 + %1054 = landingpad { ptr, i32 } cleanup call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %8) #16 - br label %1060 + br label %1057 -1058: ; preds = %1056, %1055 - %.0.i41.i = phi i1 [ false, %1056 ], [ true, %1055 ] - %1059 = landingpad { ptr, i32 } +1055: ; preds = %1053, %1052 + %.0.i41.i = phi i1 [ false, %1053 ], [ true, %1052 ] + %1056 = landingpad { ptr, i32 } cleanup call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #16 call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %8) #16 - br i1 %.0.i41.i, label %1060, label %common.resume.i + br i1 %.0.i41.i, label %1057, label %common.resume.i -1060: ; preds = %1058, %.thread.i40.i - %.pn4.i.i = phi { ptr, i32 } [ %1057, %.thread.i40.i ], [ %1059, %1058 ] - call void @__cxa_free_exception(ptr %1054) #16 +1057: ; preds = %1055, %.thread.i40.i + %.pn4.i.i = phi { ptr, i32 } [ %1054, %.thread.i40.i ], [ %1056, %1055 ] + call void @__cxa_free_exception(ptr %1051) #16 br label %common.resume.i -1061: ; preds = %1056 +1058: ; preds = %1053 unreachable _ZN5faiss12_GLOBAL__N_124sel1_InvertedListScannerINS0_12SimilarityIPILi1EEEEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i: ; preds = %_ZN5faiss12_GLOBAL__N_124sel2_InvertedListScannerINS0_10DCTemplateINS0_19Quantizer8bitDirectILi1EEENS0_12SimilarityIPILi1EEELi1EEEEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i, %_ZN5faiss12_GLOBAL__N_124sel2_InvertedListScannerINS0_20DistanceComputerByteINS0_12SimilarityIPILi1EEELi1EEEEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i, %_ZN5faiss12_GLOBAL__N_124sel2_InvertedListScannerINS0_10DCTemplateINS0_13QuantizerFP16ILi1EEENS0_12SimilarityIPILi1EEELi1EEEEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i, %_ZN5faiss12_GLOBAL__N_125sel12_InvertedListScannerINS0_12SimilarityIPILi1EEENS0_9Codec6bitELb0EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i, %_ZN5faiss12_GLOBAL__N_125sel12_InvertedListScannerINS0_12SimilarityIPILi1EEENS0_9Codec4bitELb0EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i, %_ZN5faiss12_GLOBAL__N_125sel12_InvertedListScannerINS0_12SimilarityIPILi1EEENS0_9Codec8bitELb0EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i, %_ZN5faiss12_GLOBAL__N_125sel12_InvertedListScannerINS0_12SimilarityIPILi1EEENS0_9Codec4bitELb1EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i, %_ZN5faiss12_GLOBAL__N_125sel12_InvertedListScannerINS0_12SimilarityIPILi1EEENS0_9Codec8bitELb1EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i - %.047.i20.i = phi ptr [ %962, %_ZN5faiss12_GLOBAL__N_124sel2_InvertedListScannerINS0_20DistanceComputerByteINS0_12SimilarityIPILi1EEELi1EEEEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i ], [ %1024, %_ZN5faiss12_GLOBAL__N_124sel2_InvertedListScannerINS0_10DCTemplateINS0_19Quantizer8bitDirectILi1EEENS0_12SimilarityIPILi1EEELi1EEEEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i ], [ %925, %_ZN5faiss12_GLOBAL__N_124sel2_InvertedListScannerINS0_10DCTemplateINS0_13QuantizerFP16ILi1EEENS0_12SimilarityIPILi1EEELi1EEEEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i ], [ %882, %_ZN5faiss12_GLOBAL__N_125sel12_InvertedListScannerINS0_12SimilarityIPILi1EEENS0_9Codec6bitELb0EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i ], [ %839, %_ZN5faiss12_GLOBAL__N_125sel12_InvertedListScannerINS0_12SimilarityIPILi1EEENS0_9Codec4bitELb0EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i ], [ %796, %_ZN5faiss12_GLOBAL__N_125sel12_InvertedListScannerINS0_12SimilarityIPILi1EEENS0_9Codec8bitELb0EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i ], [ %747, %_ZN5faiss12_GLOBAL__N_125sel12_InvertedListScannerINS0_12SimilarityIPILi1EEENS0_9Codec4bitELb1EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i ], [ %698, %_ZN5faiss12_GLOBAL__N_125sel12_InvertedListScannerINS0_12SimilarityIPILi1EEENS0_9Codec8bitELb1EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i ] + %.047.i20.i = phi ptr [ %959, %_ZN5faiss12_GLOBAL__N_124sel2_InvertedListScannerINS0_20DistanceComputerByteINS0_12SimilarityIPILi1EEELi1EEEEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i ], [ %1021, %_ZN5faiss12_GLOBAL__N_124sel2_InvertedListScannerINS0_10DCTemplateINS0_19Quantizer8bitDirectILi1EEENS0_12SimilarityIPILi1EEELi1EEEEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i ], [ %922, %_ZN5faiss12_GLOBAL__N_124sel2_InvertedListScannerINS0_10DCTemplateINS0_13QuantizerFP16ILi1EEENS0_12SimilarityIPILi1EEELi1EEEEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i ], [ %879, %_ZN5faiss12_GLOBAL__N_125sel12_InvertedListScannerINS0_12SimilarityIPILi1EEENS0_9Codec6bitELb0EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i ], [ %836, %_ZN5faiss12_GLOBAL__N_125sel12_InvertedListScannerINS0_12SimilarityIPILi1EEENS0_9Codec4bitELb0EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i ], [ %793, %_ZN5faiss12_GLOBAL__N_125sel12_InvertedListScannerINS0_12SimilarityIPILi1EEENS0_9Codec8bitELb0EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i ], [ %744, %_ZN5faiss12_GLOBAL__N_125sel12_InvertedListScannerINS0_12SimilarityIPILi1EEENS0_9Codec4bitELb1EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i ], [ %695, %_ZN5faiss12_GLOBAL__N_125sel12_InvertedListScannerINS0_12SimilarityIPILi1EEENS0_9Codec8bitELb1EEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i.i ] call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7) call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %8) br label %_ZN5faiss12_GLOBAL__N_124sel0_InvertedListScannerILi1EEEPNS_19InvertedListScannerENS_10MetricTypeEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit -1062: ; preds = %6 - %1063 = tail call ptr @__cxa_allocate_exception(i64 40) #16 +1059: ; preds = %6 + %1060 = tail call ptr @__cxa_allocate_exception(i64 40) #16 call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %12) #16 invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %11, ptr noundef nonnull @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %12) - to label %1064 unwind label %.thread.i + to label %1061 unwind label %.thread.i -1064: ; preds = %1062 - invoke void @_ZN5faiss14FaissExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPKcSA_i(ptr noundef nonnull align 8 dereferenceable(40) %1063, ptr noundef nonnull align 8 dereferenceable(32) %11, ptr noundef nonnull @__PRETTY_FUNCTION__._ZN5faiss12_GLOBAL__N_124sel0_InvertedListScannerILi1EEEPNS_19InvertedListScannerENS_10MetricTypeEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb, ptr noundef nonnull @.str.3, i32 noundef 1840) - to label %1065 unwind label %1067 +1061: ; preds = %1059 + invoke void @_ZN5faiss14FaissExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPKcSA_i(ptr noundef nonnull align 8 dereferenceable(40) %1060, ptr noundef nonnull align 8 dereferenceable(32) %11, ptr noundef nonnull @__PRETTY_FUNCTION__._ZN5faiss12_GLOBAL__N_124sel0_InvertedListScannerILi1EEEPNS_19InvertedListScannerENS_10MetricTypeEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb, ptr noundef nonnull @.str.3, i32 noundef 1840) + to label %1062 unwind label %1064 -1065: ; preds = %1064 - invoke void @__cxa_throw(ptr nonnull %1063, ptr nonnull @_ZTIN5faiss14FaissExceptionE, ptr nonnull @_ZN5faiss14FaissExceptionD2Ev) #27 - to label %1070 unwind label %1067 +1062: ; preds = %1061 + invoke void @__cxa_throw(ptr nonnull %1060, ptr nonnull @_ZTIN5faiss14FaissExceptionE, ptr nonnull @_ZN5faiss14FaissExceptionD2Ev) #27 + to label %1067 unwind label %1064 -.thread.i: ; preds = %1062 - %1066 = landingpad { ptr, i32 } +.thread.i: ; preds = %1059 + %1063 = landingpad { ptr, i32 } cleanup call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %12) #16 - br label %1069 + br label %1066 -1067: ; preds = %1065, %1064 - %.0.i = phi i1 [ false, %1065 ], [ true, %1064 ] - %1068 = landingpad { ptr, i32 } +1064: ; preds = %1062, %1061 + %.0.i = phi i1 [ false, %1062 ], [ true, %1061 ] + %1065 = landingpad { ptr, i32 } cleanup call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #16 call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %12) #16 - br i1 %.0.i, label %1069, label %common.resume.i + br i1 %.0.i, label %1066, label %common.resume.i -1069: ; preds = %1067, %.thread.i - %.pn45.i = phi { ptr, i32 } [ %1066, %.thread.i ], [ %1068, %1067 ] - call void @__cxa_free_exception(ptr %1063) #16 +1066: ; preds = %1064, %.thread.i + %.pn45.i = phi { ptr, i32 } [ %1063, %.thread.i ], [ %1065, %1064 ] + call void @__cxa_free_exception(ptr %1060) #16 br label %common.resume.i -1070: ; preds = %1065 +1067: ; preds = %1062 unreachable _ZN5faiss12_GLOBAL__N_124sel0_InvertedListScannerILi1EEEPNS_19InvertedListScannerENS_10MetricTypeEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit: ; preds = %_ZN5faiss12_GLOBAL__N_124sel1_InvertedListScannerINS0_12SimilarityL2ILi1EEEEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i, %_ZN5faiss12_GLOBAL__N_124sel1_InvertedListScannerINS0_12SimilarityIPILi1EEEEEPNS_19InvertedListScannerEPKNS_15ScalarQuantizerEPKNS_5IndexEbPKNS_10IDSelectorEb.exit.i diff --git a/bench/icu/optimized/double-conversion-strtod.ll b/bench/icu/optimized/double-conversion-strtod.ll index 941750f06aa..5c200472d88 100644 --- a/bench/icu/optimized/double-conversion-strtod.ll +++ b/bench/icu/optimized/double-conversion-strtod.ll @@ -65,13 +65,9 @@ if.else.i: ; preds = %if.end.i if.else10: ; preds = %if.else %and = and i64 %1, 1 %cmp13 = icmp eq i64 %and, 0 - br i1 %cmp13, label %return, label %if.else15 + br i1 %cmp13, label %return, label %if.end.i11 -if.else15: ; preds = %if.else10 - %cmp.i10 = icmp eq i64 %1, 9218868437227405312 - br i1 %cmp.i10, label %return, label %if.end.i11 - -if.end.i11: ; preds = %if.else15 +if.end.i11: ; preds = %if.else10 %cmp3.i12 = icmp slt i64 %1, 0 br i1 %cmp3.i12, label %land.lhs.true.i16, label %if.else.i13 @@ -89,8 +85,8 @@ if.else.i13: ; preds = %if.end.i11 %9 = bitcast i64 %add.i14 to double br label %return -return: ; preds = %entry, %if.else.i13, %if.then10.i18, %land.lhs.true.i16, %if.else15, %if.else10, %if.else.i, %if.then10.i, %land.lhs.true.i, %if.then7, %if.end - %retval.0 = phi double [ %0, %if.end ], [ %6, %if.then10.i ], [ %7, %if.else.i ], [ 0.000000e+00, %land.lhs.true.i ], [ 0x7FF0000000000000, %if.then7 ], [ %0, %if.else10 ], [ %8, %if.then10.i18 ], [ %9, %if.else.i13 ], [ 0.000000e+00, %land.lhs.true.i16 ], [ 0x7FF0000000000000, %if.else15 ], [ %0, %entry ] +return: ; preds = %entry, %if.else.i13, %if.then10.i18, %land.lhs.true.i16, %if.else10, %if.else.i, %if.then10.i, %land.lhs.true.i, %if.then7, %if.end + %retval.0 = phi double [ %0, %if.end ], [ %6, %if.then10.i ], [ %7, %if.else.i ], [ 0.000000e+00, %land.lhs.true.i ], [ 0x7FF0000000000000, %if.then7 ], [ %0, %if.else10 ], [ %8, %if.then10.i18 ], [ %9, %if.else.i13 ], [ 0.000000e+00, %land.lhs.true.i16 ], [ %0, %entry ] ret double %retval.0 } @@ -735,13 +731,9 @@ if.else.i.i: ; preds = %if.end.i.i if.else10.i: ; preds = %if.else.i4 %and.i = and i64 %7, 1 %cmp13.i = icmp eq i64 %and.i, 0 - br i1 %cmp13.i, label %_ZN6icu_7517double_conversion13StrtodTrimmedENS0_6VectorIKcEEi.exit, label %if.else15.i - -if.else15.i: ; preds = %if.else10.i - %cmp.i10.i = icmp eq i64 %7, 9218868437227405312 - br i1 %cmp.i10.i, label %_ZN6icu_7517double_conversion13StrtodTrimmedENS0_6VectorIKcEEi.exit, label %if.end.i11.i + br i1 %cmp13.i, label %_ZN6icu_7517double_conversion13StrtodTrimmedENS0_6VectorIKcEEi.exit, label %if.end.i11.i -if.end.i11.i: ; preds = %if.else15.i +if.end.i11.i: ; preds = %if.else10.i %cmp3.i12.i = icmp slt i64 %7, 0 br i1 %cmp3.i12.i, label %land.lhs.true.i16.i, label %if.else.i13.i @@ -759,8 +751,8 @@ if.else.i13.i: ; preds = %if.end.i11.i %15 = bitcast i64 %add.i14.i to double br label %_ZN6icu_7517double_conversion13StrtodTrimmedENS0_6VectorIKcEEi.exit -_ZN6icu_7517double_conversion13StrtodTrimmedENS0_6VectorIKcEEi.exit: ; preds = %_ZN6icu_7517double_conversionL10TrimAndCutENS0_6VectorIKcEEiPciPS3_Pi.exit, %if.end.i, %if.then7.i, %land.lhs.true.i.i, %if.then10.i.i, %if.else.i.i, %if.else10.i, %if.else15.i, %land.lhs.true.i16.i, %if.then10.i18.i, %if.else.i13.i - %retval.0.i = phi double [ %6, %if.end.i ], [ %12, %if.then10.i.i ], [ %13, %if.else.i.i ], [ 0.000000e+00, %land.lhs.true.i.i ], [ 0x7FF0000000000000, %if.then7.i ], [ %6, %if.else10.i ], [ %14, %if.then10.i18.i ], [ %15, %if.else.i13.i ], [ 0.000000e+00, %land.lhs.true.i16.i ], [ 0x7FF0000000000000, %if.else15.i ], [ %6, %_ZN6icu_7517double_conversionL10TrimAndCutENS0_6VectorIKcEEiPciPS3_Pi.exit ] +_ZN6icu_7517double_conversion13StrtodTrimmedENS0_6VectorIKcEEi.exit: ; preds = %_ZN6icu_7517double_conversionL10TrimAndCutENS0_6VectorIKcEEiPciPS3_Pi.exit, %if.end.i, %if.then7.i, %land.lhs.true.i.i, %if.then10.i.i, %if.else.i.i, %if.else10.i, %land.lhs.true.i16.i, %if.then10.i18.i, %if.else.i13.i + %retval.0.i = phi double [ %6, %if.end.i ], [ %12, %if.then10.i.i ], [ %13, %if.else.i.i ], [ 0.000000e+00, %land.lhs.true.i.i ], [ 0x7FF0000000000000, %if.then7.i ], [ %6, %if.else10.i ], [ %14, %if.then10.i18.i ], [ %15, %if.else.i13.i ], [ 0.000000e+00, %land.lhs.true.i16.i ], [ %6, %_ZN6icu_7517double_conversionL10TrimAndCutENS0_6VectorIKcEEiPciPS3_Pi.exit ] call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %guess.i) ret double %retval.0.i } diff --git a/bench/linux/optimized/rx.ll b/bench/linux/optimized/rx.ll index f68cb60bd9f..9108aba7aec 100644 --- a/bench/linux/optimized/rx.ll +++ b/bench/linux/optimized/rx.ll @@ -10344,14 +10344,14 @@ define internal fastcc noundef zeroext i1 @ieee80211_prepare_and_rx_handle(ptr n 204: ; preds = %200, %185 %205 = phi i1 [ true, %185 ], [ %203, %200 ] %206 = load i32, ptr %193, align 8 - switch i32 %206, label %574 [ + switch i32 %206, label %577 [ i32 2, label %207 i32 1, label %276 i32 11, label %354 i32 7, label %403 i32 4, label %426 i32 3, label %426 - i32 10, label %562 + i32 10, label %565 i32 12, label %ieee80211_is_our_addr.exit ] @@ -10412,10 +10412,10 @@ define internal fastcc noundef zeroext i1 @ieee80211_prepare_and_rx_handle(ptr n %234 = load ptr, ptr %233, align 8 %235 = icmp eq ptr %234, null %236 = select i1 %235, i1 true, i1 %205 - br i1 %236, label %575, label %238 + br i1 %236, label %578, label %238 237: ; preds = %229, %229, %229, %229, %229, %229, %229, %229, %221, %218, %213 - br i1 %205, label %576, label %238 + br i1 %205, label %.thread91, label %238 238: ; preds = %237, %232 %239 = getelementptr inbounds nuw i8, ptr %0, i64 76 @@ -10430,7 +10430,7 @@ define internal fastcc noundef zeroext i1 @ieee80211_prepare_and_rx_handle(ptr n %248 = zext i16 %247 to i32 %249 = or i32 %242, %248 %250 = icmp eq i32 %249, 0 - br i1 %250, label %576, label %251 + br i1 %250, label %.thread91, label %251 251: ; preds = %238 %252 = getelementptr inbounds nuw i8, ptr %186, i64 5056 @@ -10464,7 +10464,7 @@ define internal fastcc noundef zeroext i1 @ieee80211_prepare_and_rx_handle(ptr n 271: ; preds = %262 %272 = trunc i64 %258 to i32 store i32 %272, ptr %239, align 4 - br label %576 + br label %.thread91 273: ; preds = %257, %262 %274 = add nuw nsw i64 %258, 1 @@ -10516,7 +10516,7 @@ define internal fastcc noundef zeroext i1 @ieee80211_prepare_and_rx_handle(ptr n %310 = load i16, ptr %189, align 2 %311 = and i16 %310, 252 %312 = icmp eq i16 %311, 128 - br i1 %312, label %576, label %313 + br i1 %312, label %.thread91, label %313 313: ; preds = %309 %314 = load i32, ptr %195, align 4 @@ -10554,7 +10554,7 @@ define internal fastcc noundef zeroext i1 @ieee80211_prepare_and_rx_handle(ptr n %338 = getelementptr inbounds nuw i8, ptr %0, i64 40 %339 = load ptr, ptr %338, align 8 %340 = icmp eq ptr %339, null - br i1 %340, label %341, label %576 + br i1 %340, label %341, label %.thread91 341: ; preds = %337 %342 = getelementptr inbounds nuw i8, ptr %187, i64 71 @@ -10574,7 +10574,7 @@ define internal fastcc noundef zeroext i1 @ieee80211_prepare_and_rx_handle(ptr n %352 = shl nuw i64 1, %351 %353 = trunc i64 %352 to i32 tail call void @ieee80211_ibss_rx_no_sta(ptr noundef %186, ptr noundef nonnull %195, ptr noundef nonnull %280, i32 noundef %353) #18 - br label %576 + br label %.thread91 354: ; preds = %204 %355 = icmp eq ptr %195, null @@ -10621,7 +10621,7 @@ define internal fastcc noundef zeroext i1 @ieee80211_prepare_and_rx_handle(ptr n %386 = getelementptr inbounds nuw i8, ptr %0, i64 40 %387 = load ptr, ptr %386, align 8 %388 = icmp eq ptr %387, null - br i1 %388, label %389, label %576 + br i1 %388, label %389, label %.thread91 389: ; preds = %385 %390 = getelementptr inbounds nuw i8, ptr %187, i64 71 @@ -10642,7 +10642,7 @@ define internal fastcc noundef zeroext i1 @ieee80211_prepare_and_rx_handle(ptr n %401 = shl nuw i64 1, %399 %402 = trunc i64 %401 to i32 tail call void @ieee80211_ocb_rx_no_sta(ptr noundef %186, ptr noundef nonnull %195, ptr noundef nonnull %400, i32 noundef %402) #18 - br label %576 + br label %.thread91 403: ; preds = %204 %404 = getelementptr inbounds nuw i8, ptr %186, i64 5062 @@ -10659,7 +10659,7 @@ define internal fastcc noundef zeroext i1 @ieee80211_prepare_and_rx_handle(ptr n %415 = or i32 %408, %414 %416 = icmp eq i32 %415, 0 %417 = select i1 %416, i1 true, i1 %205 - br i1 %417, label %575, label %418 + br i1 %417, label %578, label %418 418: ; preds = %403 %419 = xor i32 %406, %197 @@ -10669,7 +10669,7 @@ define internal fastcc noundef zeroext i1 @ieee80211_prepare_and_rx_handle(ptr n %423 = zext i16 %422 to i32 %424 = or i32 %419, %423 %425 = icmp eq i32 %424, 0 - br i1 %425, label %576, label %ieee80211_is_our_addr.exit + br i1 %425, label %.thread91, label %ieee80211_is_our_addr.exit 426: ; preds = %204, %204 %427 = icmp eq ptr %195, null @@ -10688,7 +10688,7 @@ define internal fastcc noundef zeroext i1 @ieee80211_prepare_and_rx_handle(ptr n %438 = zext i16 %437 to i32 %439 = or i32 %432, %438 %440 = icmp eq i32 %439, 0 - br i1 %440, label %576, label %441 + br i1 %440, label %.thread91, label %441 441: ; preds = %428 %442 = getelementptr inbounds nuw i8, ptr %186, i64 5056 @@ -10722,7 +10722,7 @@ define internal fastcc noundef zeroext i1 @ieee80211_prepare_and_rx_handle(ptr n 461: ; preds = %452 %462 = trunc i64 %448 to i32 store i32 %462, ptr %429, align 4 - br label %576 + br label %.thread91 463: ; preds = %447, %452 %464 = add nuw nsw i64 %448, 1 @@ -10850,28 +10850,28 @@ ieee80211_is_our_addr.exit.thread: ; preds = %.thread.i, %508, %. %540 = getelementptr inbounds nuw i8, ptr %189, i64 24 %541 = load i8, ptr %540, align 2 %542 = icmp eq i8 %541, 4 - br i1 %542, label %576, label %ieee80211_is_our_addr.exit + br i1 %542, label %.thread91, label %ieee80211_is_our_addr.exit ieee80211_is_our_addr.exit.thread._crit_edge: ; preds = %ieee80211_is_our_addr.exit.thread %543 = icmp eq i16 %.pre85, 128 - br i1 %543, label %576, label %ieee80211_is_our_addr.exit + br i1 %543, label %.thread91, label %ieee80211_is_our_addr.exit .loopexit43: ; preds = %497, %475, %466 %544 = load i16, ptr %189, align 2 %545 = and i16 %544, 256 %546 = icmp eq i16 %545, 0 %547 = and i16 %544, 12 - br i1 %546, label %548, label %.loopexit43._crit_edge + %548 = icmp eq i16 %547, 8 + br i1 %546, label %549, label %563 -548: ; preds = %.loopexit43 - %549 = icmp eq i16 %547, 8 - br i1 %549, label %ieee80211_is_our_addr.exit, label %550 +549: ; preds = %.loopexit43 + br i1 %548, label %ieee80211_is_our_addr.exit, label %550 -550: ; preds = %548 +550: ; preds = %549 %551 = and i16 %544, 252 %552 = icmp ne i16 %551, 208 %553 = or i1 %474, %552 - br i1 %553, label %.loopexit43._crit_edge, label %554 + br i1 %553, label %.thread91, label %554 554: ; preds = %550 %555 = load i32, ptr %195, align 4 @@ -10881,750 +10881,749 @@ ieee80211_is_our_addr.exit.thread._crit_edge: ; preds = %ieee80211_is_our_ad %559 = xor i16 %558, %472 %560 = zext i16 %559 to i32 %561 = or i32 %556, %560 - %.not116 = icmp eq i32 %561, 0 - br i1 %.not116, label %576, label %ieee80211_is_our_addr.exit + %562 = icmp eq i32 %561, 0 + br i1 %562, label %.thread91, label %ieee80211_is_our_addr.exit -.loopexit43._crit_edge: ; preds = %.loopexit43, %550 - %.old = icmp eq i16 %547, 8 - %.not39.old = select i1 %.old, i1 %205, i1 false - br i1 %.not39.old, label %ieee80211_is_our_addr.exit, label %576 +563: ; preds = %.loopexit43 + %564 = select i1 %548, i1 %205, i1 false + br i1 %564, label %ieee80211_is_our_addr.exit, label %.thread91 -562: ; preds = %204 - %563 = load i32, ptr %190, align 8 - %564 = icmp ugt i32 %563, 24 +565: ; preds = %204 + %566 = load i32, ptr %190, align 8 + %567 = icmp ugt i32 %566, 24 %.pre59 = load i16, ptr %189, align 2 - %565 = and i16 %.pre59, 252 - %566 = icmp eq i16 %565, 208 - %or.cond106 = select i1 %564, i1 %566, i1 false - br i1 %or.cond106, label %567, label %571 - -567: ; preds = %562 - %568 = getelementptr inbounds nuw i8, ptr %189, i64 24 - %569 = load i8, ptr %568, align 2 - %570 = icmp eq i8 %569, 4 - br i1 %570, label %576, label %571 - -571: ; preds = %567, %562 - %572 = trunc i16 %.pre59 to i8 - %573 = and i8 %572, -4 - switch i8 %573, label %ieee80211_is_our_addr.exit [ - i8 64, label %576 - i8 80, label %576 - i8 -128, label %576 + %568 = and i16 %.pre59, 252 + %569 = icmp eq i16 %568, 208 + %or.cond108 = select i1 %567, i1 %569, i1 false + br i1 %or.cond108, label %570, label %574 + +570: ; preds = %565 + %571 = getelementptr inbounds nuw i8, ptr %189, i64 24 + %572 = load i8, ptr %571, align 2 + %573 = icmp eq i8 %572, 4 + br i1 %573, label %.thread91, label %574 + +574: ; preds = %570, %565 + %575 = trunc i16 %.pre59 to i8 + %576 = and i8 %575, -4 + switch i8 %576, label %ieee80211_is_our_addr.exit [ + i8 64, label %.thread91 + i8 80, label %.thread91 + i8 -128, label %.thread91 ] -574: ; preds = %204 +577: ; preds = %204 tail call void asm sideeffect "3051: nop\0A\09.pushsection .discard.instr_begin\0A\09.long 3051b - .\0A\09.popsection\0A\09", "i,~{dirflag},~{fpsr},~{flags}"(i32 3051) #18, !srcloc !175 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 4513, i32 2307, i64 12) #18, !srcloc !176 tail call void asm sideeffect "3052: nop\0A\09.pushsection .discard.instr_end\0A\09.long 3052b - .\0A\09.popsection\0A\09", "i,~{dirflag},~{fpsr},~{flags}"(i32 3052) #18, !srcloc !177 br label %ieee80211_is_our_addr.exit -575: ; preds = %403, %232 +578: ; preds = %403, %232 %.in = phi i1 [ %235, %232 ], [ %416, %403 ] - br i1 %.in, label %ieee80211_is_our_addr.exit, label %576 - -576: ; preds = %554, %.loopexit43._crit_edge, %418, %ieee80211_is_our_addr.exit.thread._crit_edge, %461, %271, %575, %571, %571, %571, %567, %539, %428, %398, %385, %350, %337, %309, %238, %237 - br i1 %2, label %607, label %577 - -577: ; preds = %576 - %578 = tail call ptr @skb_copy(ptr noundef nonnull %1, i32 noundef 2080) #18 - store ptr %578, ptr %16, align 8 - %579 = icmp eq ptr %578, null - br i1 %579, label %580, label %588 - -580: ; preds = %577 - %581 = tail call i32 @net_ratelimit() #18 - %582 = icmp eq i32 %581, 0 - br i1 %582, label %ieee80211_is_our_addr.exit, label %583 - -583: ; preds = %580 - %584 = getelementptr inbounds nuw i8, ptr %7, i64 64 - %585 = load ptr, ptr %584, align 8 - %586 = getelementptr inbounds nuw i8, ptr %585, i64 376 - %587 = getelementptr inbounds nuw i8, ptr %9, i64 1280 - tail call void (ptr, ptr, ptr, ...) @_dev_printk(ptr noundef nonnull @.str.15, ptr noundef nonnull %586, ptr noundef nonnull @.str.16, ptr noundef nonnull %587) #22 + br i1 %.in, label %ieee80211_is_our_addr.exit, label %.thread91 + +.thread91: ; preds = %550, %554, %563, %418, %ieee80211_is_our_addr.exit.thread._crit_edge, %461, %271, %578, %574, %574, %574, %570, %539, %428, %398, %385, %350, %337, %309, %238, %237 + br i1 %2, label %609, label %579 + +579: ; preds = %.thread91 + %580 = tail call ptr @skb_copy(ptr noundef nonnull %1, i32 noundef 2080) #18 + store ptr %580, ptr %16, align 8 + %581 = icmp eq ptr %580, null + br i1 %581, label %582, label %590 + +582: ; preds = %579 + %583 = tail call i32 @net_ratelimit() #18 + %584 = icmp eq i32 %583, 0 + br i1 %584, label %ieee80211_is_our_addr.exit, label %585 + +585: ; preds = %582 + %586 = getelementptr inbounds nuw i8, ptr %7, i64 64 + %587 = load ptr, ptr %586, align 8 + %588 = getelementptr inbounds nuw i8, ptr %587, i64 376 + %589 = getelementptr inbounds nuw i8, ptr %9, i64 1280 + tail call void (ptr, ptr, ptr, ...) @_dev_printk(ptr noundef nonnull @.str.15, ptr noundef nonnull %588, ptr noundef nonnull @.str.16, ptr noundef nonnull %589) #22 br label %ieee80211_is_our_addr.exit -588: ; preds = %577 - %589 = getelementptr inbounds nuw i8, ptr %578, i64 192 - %590 = load ptr, ptr %589, align 8 - %591 = getelementptr inbounds nuw i8, ptr %578, i64 188 - %592 = load i32, ptr %591, align 4 - %593 = zext i32 %592 to i64 - %594 = getelementptr i8, ptr %590, i64 %593 - %595 = getelementptr inbounds nuw i8, ptr %594, i64 16 - %596 = getelementptr inbounds nuw i8, ptr %1, i64 192 - %597 = load ptr, ptr %596, align 8 - %598 = getelementptr inbounds nuw i8, ptr %1, i64 188 - %599 = load i32, ptr %598, align 4 - %600 = zext i32 %599 to i64 - %601 = getelementptr i8, ptr %597, i64 %600 - %602 = getelementptr inbounds nuw i8, ptr %601, i64 16 - %603 = load i64, ptr %602, align 8 - store i64 %603, ptr %595, align 8 - %604 = load ptr, ptr %16, align 8 - %605 = getelementptr inbounds nuw i8, ptr %604, i64 200 - %606 = load ptr, ptr %605, align 8 - br label %607 - -607: ; preds = %588, %576 - %608 = phi ptr [ %11, %576 ], [ %606, %588 ] - %609 = getelementptr inbounds nuw i8, ptr %0, i64 40 - %610 = load ptr, ptr %609, align 8 - %611 = icmp eq ptr %610, null - br i1 %611, label %703, label %612 - -612: ; preds = %607 - %613 = getelementptr inbounds nuw i8, ptr %610, i64 2707 - %614 = load i8, ptr %613, align 1, !range !13, !noundef !14 - %615 = icmp eq i8 %614, 0 - br i1 %615, label %703, label %616, !prof !28 - -616: ; preds = %612 - %617 = getelementptr inbounds nuw i8, ptr %608, i64 4 - %618 = load i32, ptr %617, align 4 - %619 = and i32 %618, 1 - %620 = icmp eq i32 %619, 0 - br i1 %620, label %621, label %703 - -621: ; preds = %616 - %622 = load i16, ptr %608, align 2 - %623 = trunc i16 %622 to i8 - %624 = and i8 %623, -4 - switch i8 %624, label %625 [ - i8 80, label %703 - i8 -128, label %703 +590: ; preds = %579 + %591 = getelementptr inbounds nuw i8, ptr %580, i64 192 + %592 = load ptr, ptr %591, align 8 + %593 = getelementptr inbounds nuw i8, ptr %580, i64 188 + %594 = load i32, ptr %593, align 4 + %595 = zext i32 %594 to i64 + %596 = getelementptr i8, ptr %592, i64 %595 + %597 = getelementptr inbounds nuw i8, ptr %596, i64 16 + %598 = getelementptr inbounds nuw i8, ptr %1, i64 192 + %599 = load ptr, ptr %598, align 8 + %600 = getelementptr inbounds nuw i8, ptr %1, i64 188 + %601 = load i32, ptr %600, align 4 + %602 = zext i32 %601 to i64 + %603 = getelementptr i8, ptr %599, i64 %602 + %604 = getelementptr inbounds nuw i8, ptr %603, i64 16 + %605 = load i64, ptr %604, align 8 + store i64 %605, ptr %597, align 8 + %606 = load ptr, ptr %16, align 8 + %607 = getelementptr inbounds nuw i8, ptr %606, i64 200 + %608 = load ptr, ptr %607, align 8 + br label %609 + +609: ; preds = %590, %.thread91 + %610 = phi ptr [ %11, %.thread91 ], [ %608, %590 ] + %611 = getelementptr inbounds nuw i8, ptr %0, i64 40 + %612 = load ptr, ptr %611, align 8 + %613 = icmp eq ptr %612, null + br i1 %613, label %705, label %614 + +614: ; preds = %609 + %615 = getelementptr inbounds nuw i8, ptr %612, i64 2707 + %616 = load i8, ptr %615, align 1, !range !13, !noundef !14 + %617 = icmp eq i8 %616, 0 + br i1 %617, label %705, label %618, !prof !28 + +618: ; preds = %614 + %619 = getelementptr inbounds nuw i8, ptr %610, i64 4 + %620 = load i32, ptr %619, align 4 + %621 = and i32 %620, 1 + %622 = icmp eq i32 %621, 0 + br i1 %622, label %623, label %705 + +623: ; preds = %618 + %624 = load i16, ptr %610, align 2 + %625 = trunc i16 %624 to i8 + %626 = and i8 %625, -4 + switch i8 %626, label %627 [ + i8 80, label %705 + i8 -128, label %705 ] -625: ; preds = %621 - %626 = getelementptr inbounds nuw i8, ptr %15, i64 720 - %627 = load ptr, ptr %626, align 8 - %628 = getelementptr inbounds nuw i8, ptr %627, i64 20 - %629 = load i32, ptr %628, align 4 - %630 = xor i32 %629, %618 - %631 = getelementptr i8, ptr %627, i64 24 - %632 = load i16, ptr %631, align 2 - %633 = getelementptr i8, ptr %608, i64 8 +627: ; preds = %623 + %628 = getelementptr inbounds nuw i8, ptr %15, i64 720 + %629 = load ptr, ptr %628, align 8 + %630 = getelementptr inbounds nuw i8, ptr %629, i64 20 + %631 = load i32, ptr %630, align 4 + %632 = xor i32 %631, %620 + %633 = getelementptr i8, ptr %629, i64 24 %634 = load i16, ptr %633, align 2 - %635 = xor i16 %634, %632 - %636 = zext i16 %635 to i32 - %637 = or i32 %630, %636 - %638 = icmp eq i32 %637, 0 - br i1 %638, label %639, label %645 - -639: ; preds = %625 - %640 = load ptr, ptr %8, align 8 - %641 = getelementptr inbounds nuw i8, ptr %640, i64 5062 - %642 = load i32, ptr %641, align 4 - store i32 %642, ptr %617, align 4 - %643 = getelementptr i8, ptr %640, i64 5066 - %644 = load i16, ptr %643, align 2 - store i16 %644, ptr %633, align 2 - br label %645 - -645: ; preds = %639, %625 - %646 = getelementptr inbounds nuw i8, ptr %608, i64 10 - %647 = load i32, ptr %13, align 4 - %648 = load i32, ptr %646, align 4 - %649 = xor i32 %648, %647 - %650 = getelementptr i8, ptr %13, i64 4 - %651 = load i16, ptr %650, align 2 - %652 = getelementptr i8, ptr %608, i64 14 + %635 = getelementptr i8, ptr %610, i64 8 + %636 = load i16, ptr %635, align 2 + %637 = xor i16 %636, %634 + %638 = zext i16 %637 to i32 + %639 = or i32 %632, %638 + %640 = icmp eq i32 %639, 0 + br i1 %640, label %641, label %647 + +641: ; preds = %627 + %642 = load ptr, ptr %8, align 8 + %643 = getelementptr inbounds nuw i8, ptr %642, i64 5062 + %644 = load i32, ptr %643, align 4 + store i32 %644, ptr %619, align 4 + %645 = getelementptr i8, ptr %642, i64 5066 + %646 = load i16, ptr %645, align 2 + store i16 %646, ptr %635, align 2 + br label %647 + +647: ; preds = %641, %627 + %648 = getelementptr inbounds nuw i8, ptr %610, i64 10 + %649 = load i32, ptr %13, align 4 + %650 = load i32, ptr %648, align 4 + %651 = xor i32 %650, %649 + %652 = getelementptr i8, ptr %13, i64 4 %653 = load i16, ptr %652, align 2 - %654 = xor i16 %653, %651 - %655 = zext i16 %654 to i32 - %656 = or i32 %649, %655 - %657 = icmp eq i32 %656, 0 - br i1 %657, label %658, label %664 - -658: ; preds = %645 - %659 = load ptr, ptr %609, align 8 - %660 = getelementptr inbounds nuw i8, ptr %659, i64 64 - %661 = load i32, ptr %660, align 4 - store i32 %661, ptr %646, align 4 - %662 = getelementptr i8, ptr %659, i64 68 - %663 = load i16, ptr %662, align 2 - store i16 %663, ptr %652, align 2 - br label %664 - -664: ; preds = %658, %645 - %665 = and i16 %622, 768 - %666 = icmp eq i16 %665, 0 - br i1 %666, label %667, label %703 - -667: ; preds = %664 - %668 = getelementptr inbounds nuw i8, ptr %608, i64 16 - %669 = load i32, ptr %13, align 4 - %670 = load i32, ptr %668, align 4 - %671 = xor i32 %670, %669 - %672 = load i16, ptr %650, align 2 - %673 = getelementptr i8, ptr %608, i64 20 - %674 = load i16, ptr %673, align 2 - %675 = xor i16 %674, %672 - %676 = zext i16 %675 to i32 - %677 = or i32 %671, %676 - %678 = icmp eq i32 %677, 0 - br i1 %678, label %679, label %684 - -679: ; preds = %667 - %680 = load ptr, ptr %609, align 8 - %681 = getelementptr inbounds nuw i8, ptr %680, i64 64 - %682 = load i32, ptr %681, align 4 - store i32 %682, ptr %668, align 4 - %683 = getelementptr i8, ptr %680, i64 68 - br label %700 - -684: ; preds = %667 - %685 = load ptr, ptr %626, align 8 - %686 = getelementptr inbounds nuw i8, ptr %685, i64 20 - %687 = load i32, ptr %686, align 4 - %688 = xor i32 %687, %670 - %689 = getelementptr i8, ptr %685, i64 24 - %690 = load i16, ptr %689, align 2 - %691 = xor i16 %690, %674 - %692 = zext i16 %691 to i32 - %693 = or i32 %688, %692 - %694 = icmp eq i32 %693, 0 - br i1 %694, label %695, label %703 - -695: ; preds = %684 - %696 = load ptr, ptr %8, align 8 - %697 = getelementptr inbounds nuw i8, ptr %696, i64 5062 - %698 = load i32, ptr %697, align 4 - store i32 %698, ptr %668, align 4 - %699 = getelementptr i8, ptr %696, i64 5066 - br label %700 - -700: ; preds = %695, %679 - %701 = phi ptr [ %699, %695 ], [ %683, %679 ] - %702 = load i16, ptr %701, align 2 - store i16 %702, ptr %673, align 2 - br label %703 - -703: ; preds = %700, %684, %664, %621, %621, %616, %612, %607 + %654 = getelementptr i8, ptr %610, i64 14 + %655 = load i16, ptr %654, align 2 + %656 = xor i16 %655, %653 + %657 = zext i16 %656 to i32 + %658 = or i32 %651, %657 + %659 = icmp eq i32 %658, 0 + br i1 %659, label %660, label %666 + +660: ; preds = %647 + %661 = load ptr, ptr %611, align 8 + %662 = getelementptr inbounds nuw i8, ptr %661, i64 64 + %663 = load i32, ptr %662, align 4 + store i32 %663, ptr %648, align 4 + %664 = getelementptr i8, ptr %661, i64 68 + %665 = load i16, ptr %664, align 2 + store i16 %665, ptr %654, align 2 + br label %666 + +666: ; preds = %660, %647 + %667 = and i16 %624, 768 + %668 = icmp eq i16 %667, 0 + br i1 %668, label %669, label %705 + +669: ; preds = %666 + %670 = getelementptr inbounds nuw i8, ptr %610, i64 16 + %671 = load i32, ptr %13, align 4 + %672 = load i32, ptr %670, align 4 + %673 = xor i32 %672, %671 + %674 = load i16, ptr %652, align 2 + %675 = getelementptr i8, ptr %610, i64 20 + %676 = load i16, ptr %675, align 2 + %677 = xor i16 %676, %674 + %678 = zext i16 %677 to i32 + %679 = or i32 %673, %678 + %680 = icmp eq i32 %679, 0 + br i1 %680, label %681, label %686 + +681: ; preds = %669 + %682 = load ptr, ptr %611, align 8 + %683 = getelementptr inbounds nuw i8, ptr %682, i64 64 + %684 = load i32, ptr %683, align 4 + store i32 %684, ptr %670, align 4 + %685 = getelementptr i8, ptr %682, i64 68 + br label %702 + +686: ; preds = %669 + %687 = load ptr, ptr %628, align 8 + %688 = getelementptr inbounds nuw i8, ptr %687, i64 20 + %689 = load i32, ptr %688, align 4 + %690 = xor i32 %689, %672 + %691 = getelementptr i8, ptr %687, i64 24 + %692 = load i16, ptr %691, align 2 + %693 = xor i16 %692, %676 + %694 = zext i16 %693 to i32 + %695 = or i32 %690, %694 + %696 = icmp eq i32 %695, 0 + br i1 %696, label %697, label %705 + +697: ; preds = %686 + %698 = load ptr, ptr %8, align 8 + %699 = getelementptr inbounds nuw i8, ptr %698, i64 5062 + %700 = load i32, ptr %699, align 4 + store i32 %700, ptr %670, align 4 + %701 = getelementptr i8, ptr %698, i64 5066 + br label %702 + +702: ; preds = %697, %681 + %703 = phi ptr [ %701, %697 ], [ %685, %681 ] + %704 = load i16, ptr %703, align 2 + store i16 %704, ptr %675, align 2 + br label %705 + +705: ; preds = %702, %686, %666, %623, %623, %618, %614, %609 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %5) #18 - %704 = getelementptr inbounds nuw i8, ptr %5, i64 16 - store i64 0, ptr %704, align 8, !annotation !43 - store ptr %5, ptr %5, align 8 - %705 = getelementptr inbounds nuw i8, ptr %5, i64 8 - store ptr %5, ptr %705, align 8 %706 = getelementptr inbounds nuw i8, ptr %5, i64 16 - %707 = load ptr, ptr %16, align 8 - %708 = getelementptr inbounds nuw i8, ptr %707, i64 200 - %709 = load ptr, ptr %708, align 8 - %710 = getelementptr inbounds nuw i8, ptr %707, i64 64 - %711 = load i32, ptr %710, align 8 - %712 = and i32 %711, 2048 - %713 = icmp eq i32 %712, 0 - br i1 %713, label %714, label %762 - -714: ; preds = %703 - %715 = getelementptr inbounds nuw i8, ptr %707, i64 112 - %716 = load i32, ptr %715, align 8 - %717 = icmp ult i32 %716, 24 - br i1 %717, label %762, label %718 - -718: ; preds = %714 - %719 = load i16, ptr %709, align 2 - %720 = and i16 %719, 12 - %721 = icmp eq i16 %720, 4 - %722 = and i16 %719, 124 - %723 = icmp eq i16 %722, 72 - %724 = or i1 %721, %723 - br i1 %724, label %762, label %725 - -725: ; preds = %718 - %726 = getelementptr inbounds nuw i8, ptr %709, i64 4 - %727 = load i32, ptr %726, align 4 - %728 = and i32 %727, 1 - %729 = icmp eq i32 %728, 0 - br i1 %729, label %730, label %762 - -730: ; preds = %725 - %731 = load ptr, ptr %609, align 8 - %732 = icmp eq ptr %731, null - br i1 %732, label %762, label %733 - -733: ; preds = %730 - %734 = and i16 %719, 2048 - %735 = icmp eq i16 %734, 0 - br i1 %735, label %746, label %736 - -736: ; preds = %733 - %737 = getelementptr inbounds nuw i8, ptr %731, i64 456 - %738 = getelementptr inbounds nuw i8, ptr %0, i64 68 - %739 = load i32, ptr %738, align 4 - %740 = sext i32 %739 to i64 - %741 = getelementptr [17 x i16], ptr %737, i64 0, i64 %740 - %742 = load i16, ptr %741, align 2 - %743 = getelementptr inbounds nuw i8, ptr %709, i64 22 + store i64 0, ptr %706, align 8, !annotation !43 + store ptr %5, ptr %5, align 8 + %707 = getelementptr inbounds nuw i8, ptr %5, i64 8 + store ptr %5, ptr %707, align 8 + %708 = getelementptr inbounds nuw i8, ptr %5, i64 16 + %709 = load ptr, ptr %16, align 8 + %710 = getelementptr inbounds nuw i8, ptr %709, i64 200 + %711 = load ptr, ptr %710, align 8 + %712 = getelementptr inbounds nuw i8, ptr %709, i64 64 + %713 = load i32, ptr %712, align 8 + %714 = and i32 %713, 2048 + %715 = icmp eq i32 %714, 0 + br i1 %715, label %716, label %764 + +716: ; preds = %705 + %717 = getelementptr inbounds nuw i8, ptr %709, i64 112 + %718 = load i32, ptr %717, align 8 + %719 = icmp ult i32 %718, 24 + br i1 %719, label %764, label %720 + +720: ; preds = %716 + %721 = load i16, ptr %711, align 2 + %722 = and i16 %721, 12 + %723 = icmp eq i16 %722, 4 + %724 = and i16 %721, 124 + %725 = icmp eq i16 %724, 72 + %726 = or i1 %723, %725 + br i1 %726, label %764, label %727 + +727: ; preds = %720 + %728 = getelementptr inbounds nuw i8, ptr %711, i64 4 + %729 = load i32, ptr %728, align 4 + %730 = and i32 %729, 1 + %731 = icmp eq i32 %730, 0 + br i1 %731, label %732, label %764 + +732: ; preds = %727 + %733 = load ptr, ptr %611, align 8 + %734 = icmp eq ptr %733, null + br i1 %734, label %764, label %735 + +735: ; preds = %732 + %736 = and i16 %721, 2048 + %737 = icmp eq i16 %736, 0 + br i1 %737, label %748, label %738 + +738: ; preds = %735 + %739 = getelementptr inbounds nuw i8, ptr %733, i64 456 + %740 = getelementptr inbounds nuw i8, ptr %0, i64 68 + %741 = load i32, ptr %740, align 4 + %742 = sext i32 %741 to i64 + %743 = getelementptr [17 x i16], ptr %739, i64 0, i64 %742 %744 = load i16, ptr %743, align 2 - %745 = icmp eq i16 %742, %744 - br i1 %745, label %757, label %746, !prof !6 - -746: ; preds = %736, %733 - %747 = and i32 %711, 524288 - %748 = icmp eq i32 %747, 0 - br i1 %748, label %749, label %762 - -749: ; preds = %746 - %750 = getelementptr inbounds nuw i8, ptr %709, i64 22 - %751 = load i16, ptr %750, align 2 - %752 = getelementptr inbounds nuw i8, ptr %731, i64 456 - %753 = getelementptr inbounds nuw i8, ptr %0, i64 68 - %754 = load i32, ptr %753, align 4 - %755 = sext i32 %754 to i64 - %756 = getelementptr [17 x i16], ptr %752, i64 0, i64 %755 - store i16 %751, ptr %756, align 2 + %745 = getelementptr inbounds nuw i8, ptr %711, i64 22 + %746 = load i16, ptr %745, align 2 + %747 = icmp eq i16 %744, %746 + br i1 %747, label %759, label %748, !prof !6 + +748: ; preds = %738, %735 + %749 = and i32 %713, 524288 + %750 = icmp eq i32 %749, 0 + br i1 %750, label %751, label %764 + +751: ; preds = %748 + %752 = getelementptr inbounds nuw i8, ptr %711, i64 22 + %753 = load i16, ptr %752, align 2 + %754 = getelementptr inbounds nuw i8, ptr %733, i64 456 + %755 = getelementptr inbounds nuw i8, ptr %0, i64 68 + %756 = load i32, ptr %755, align 4 + %757 = sext i32 %756 to i64 + %758 = getelementptr [17 x i16], ptr %754, i64 0, i64 %757 + store i16 %753, ptr %758, align 2 %.pre61 = load ptr, ptr %16, align 8 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %.pre61, i64 200 %.pre62 = load ptr, ptr %.phi.trans.insert, align 8 - br label %762 - -757: ; preds = %736 - %758 = load ptr, ptr %12, align 8 - %759 = getelementptr inbounds nuw i8, ptr %758, i64 120 - %760 = load i64, ptr %759, align 8 - %761 = add i64 %760, 1 - store i64 %761, ptr %759, align 8 - br label %1018 + br label %764 + +759: ; preds = %738 + %760 = load ptr, ptr %12, align 8 + %761 = getelementptr inbounds nuw i8, ptr %760, i64 120 + %762 = load i64, ptr %761, align 8 + %763 = add i64 %762, 1 + store i64 %763, ptr %761, align 8 + br label %1020 -762: ; preds = %703, %714, %725, %718, %730, %746, %749 - %763 = phi ptr [ %709, %703 ], [ %709, %714 ], [ %709, %725 ], [ %709, %718 ], [ %709, %730 ], [ %709, %746 ], [ %.pre62, %749 ] - %764 = phi ptr [ %707, %703 ], [ %707, %714 ], [ %707, %725 ], [ %707, %718 ], [ %707, %730 ], [ %707, %746 ], [ %.pre61, %749 ] - %765 = load i16, ptr %763, align 2 - %766 = and i16 %765, 12 - %767 = icmp eq i16 %766, 8 - %768 = and i16 %765, 252 - %769 = icmp eq i16 %768, 164 - %770 = or i1 %767, %769 - br i1 %770, label %771, label %812 - -771: ; preds = %762 - %772 = load ptr, ptr %8, align 8 - %773 = getelementptr inbounds nuw i8, ptr %772, i64 4056 - %774 = load i32, ptr %773, align 8 - switch i32 %774, label %775 [ - i32 1, label %812 - i32 11, label %812 +764: ; preds = %705, %716, %727, %720, %732, %748, %751 + %765 = phi ptr [ %711, %705 ], [ %711, %716 ], [ %711, %727 ], [ %711, %720 ], [ %711, %732 ], [ %711, %748 ], [ %.pre62, %751 ] + %766 = phi ptr [ %709, %705 ], [ %709, %716 ], [ %709, %727 ], [ %709, %720 ], [ %709, %732 ], [ %709, %748 ], [ %.pre61, %751 ] + %767 = load i16, ptr %765, align 2 + %768 = and i16 %767, 12 + %769 = icmp eq i16 %768, 8 + %770 = and i16 %767, 252 + %771 = icmp eq i16 %770, 164 + %772 = or i1 %769, %771 + br i1 %772, label %773, label %814 + +773: ; preds = %764 + %774 = load ptr, ptr %8, align 8 + %775 = getelementptr inbounds nuw i8, ptr %774, i64 4056 + %776 = load i32, ptr %775, align 8 + switch i32 %776, label %777 [ + i32 1, label %814 + i32 11, label %814 ] -775: ; preds = %771 - %776 = load ptr, ptr %609, align 8 - %777 = icmp eq ptr %776, null - br i1 %777, label %802, label %778 - -778: ; preds = %775 - %779 = getelementptr inbounds nuw i8, ptr %776, i64 216 - %780 = load volatile i64, ptr %779, align 8 - %781 = and i64 %780, 2 - %782 = icmp eq i64 %781, 0 - br i1 %782, label %783, label %812, !prof !6 - -783: ; preds = %778 - %784 = icmp eq i32 %774, 2 - %785 = and i16 %765, 76 - %786 = icmp eq i16 %785, 8 - %787 = and i1 %786, %784 - br i1 %787, label %788, label %802 - -788: ; preds = %783 +777: ; preds = %773 + %778 = load ptr, ptr %611, align 8 + %779 = icmp eq ptr %778, null + br i1 %779, label %804, label %780 + +780: ; preds = %777 + %781 = getelementptr inbounds nuw i8, ptr %778, i64 216 + %782 = load volatile i64, ptr %781, align 8 + %783 = and i64 %782, 2 + %784 = icmp eq i64 %783, 0 + br i1 %784, label %785, label %814, !prof !6 + +785: ; preds = %780 + %786 = icmp eq i32 %776, 2 + %787 = and i16 %767, 76 + %788 = icmp eq i16 %787, 8 + %789 = and i1 %788, %786 + br i1 %789, label %790, label %804 + +790: ; preds = %785 call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %4) #18 store i16 0, ptr %4, align 2, !annotation !43 - %789 = load i16, ptr %763, align 2 - %790 = call i32 @ieee80211_hdrlen(i16 noundef zeroext %789) #20 - %791 = getelementptr inbounds nuw i8, ptr %764, i64 112 - %792 = load i32, ptr %791, align 8 - %793 = add i32 %790, 8 - %794 = icmp ult i32 %792, %793 - br i1 %794, label %.thread34, label %795 - -.thread34: ; preds = %788 + %791 = load i16, ptr %765, align 2 + %792 = call i32 @ieee80211_hdrlen(i16 noundef zeroext %791) #20 + %793 = getelementptr inbounds nuw i8, ptr %766, i64 112 + %794 = load i32, ptr %793, align 8 + %795 = add i32 %792, 8 + %796 = icmp ult i32 %794, %795 + br i1 %796, label %.thread34, label %797 + +.thread34: ; preds = %790 call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %4) #18 - br label %1018 + br label %1020 -795: ; preds = %788 - %796 = add i32 %790, 6 - %797 = call i32 @skb_copy_bits(ptr noundef %764, i32 noundef %796, ptr noundef nonnull %4, i32 noundef 2) #18 - %798 = load i16, ptr %4, align 2 - %799 = load ptr, ptr %8, align 8 - %800 = getelementptr inbounds nuw i8, ptr %799, i64 1580 - %801 = load i16, ptr %800, align 4 - %.not40 = icmp eq i16 %798, %801 +797: ; preds = %790 + %798 = add i32 %792, 6 + %799 = call i32 @skb_copy_bits(ptr noundef %766, i32 noundef %798, ptr noundef nonnull %4, i32 noundef 2) #18 + %800 = load i16, ptr %4, align 2 + %801 = load ptr, ptr %8, align 8 + %802 = getelementptr inbounds nuw i8, ptr %801, i64 1580 + %803 = load i16, ptr %802, align 4 + %.not40 = icmp eq i16 %800, %803 call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %4) #18 br i1 %.not40, label %._crit_edge63, label %._crit_edge72 -._crit_edge72: ; preds = %795 - %.phi.trans.insert73 = getelementptr inbounds nuw i8, ptr %799, i64 4056 +._crit_edge72: ; preds = %797 + %.phi.trans.insert73 = getelementptr inbounds nuw i8, ptr %801, i64 4056 %.pre74 = load i32, ptr %.phi.trans.insert73, align 8 - br label %802 + br label %804 -._crit_edge63: ; preds = %795 +._crit_edge63: ; preds = %797 %.pre64 = load ptr, ptr %16, align 8 %.phi.trans.insert65 = getelementptr inbounds nuw i8, ptr %.pre64, i64 200 %.pre66 = load ptr, ptr %.phi.trans.insert65, align 8 %.pre67 = load i16, ptr %.pre66, align 2 - br label %812 - -802: ; preds = %._crit_edge72, %783, %775 - %803 = phi i32 [ %.pre74, %._crit_edge72 ], [ %774, %783 ], [ %774, %775 ] - %804 = phi ptr [ %799, %._crit_edge72 ], [ %772, %783 ], [ %772, %775 ] - %805 = icmp eq i32 %803, 3 - br i1 %805, label %806, label %811 - -806: ; preds = %802 - %807 = getelementptr inbounds nuw i8, ptr %804, i64 1248 - %808 = load ptr, ptr %807, align 8 - %809 = getelementptr inbounds nuw i8, ptr %763, i64 10 - %810 = call zeroext i1 @cfg80211_rx_spurious_frame(ptr noundef %808, ptr noundef nonnull %809, i32 noundef 2080) #18 - br i1 %810, label %1018, label %811 - -811: ; preds = %806, %802 - br label %1018 + br label %814 + +804: ; preds = %._crit_edge72, %785, %777 + %805 = phi i32 [ %.pre74, %._crit_edge72 ], [ %776, %785 ], [ %776, %777 ] + %806 = phi ptr [ %801, %._crit_edge72 ], [ %774, %785 ], [ %774, %777 ] + %807 = icmp eq i32 %805, 3 + br i1 %807, label %808, label %813 + +808: ; preds = %804 + %809 = getelementptr inbounds nuw i8, ptr %806, i64 1248 + %810 = load ptr, ptr %809, align 8 + %811 = getelementptr inbounds nuw i8, ptr %765, i64 10 + %812 = call zeroext i1 @cfg80211_rx_spurious_frame(ptr noundef %810, ptr noundef nonnull %811, i32 noundef 2080) #18 + br i1 %812, label %1020, label %813 -812: ; preds = %._crit_edge63, %771, %771, %778, %762 - %813 = phi i16 [ %.pre67, %._crit_edge63 ], [ %765, %771 ], [ %765, %771 ], [ %765, %778 ], [ %765, %762 ] - %814 = phi ptr [ %.pre66, %._crit_edge63 ], [ %763, %771 ], [ %763, %771 ], [ %763, %778 ], [ %763, %762 ] - %815 = phi ptr [ %.pre64, %._crit_edge63 ], [ %764, %771 ], [ %764, %771 ], [ %764, %778 ], [ %764, %762 ] - %816 = getelementptr inbounds nuw i8, ptr %815, i64 200 - %817 = load ptr, ptr %609, align 8 - %818 = and i16 %813, 140 - %819 = icmp eq i16 %818, 136 - br i1 %819, label %820, label %1011 - -820: ; preds = %812 - %821 = getelementptr inbounds nuw i8, ptr %814, i64 4 - %822 = load i32, ptr %821, align 4 - %823 = and i32 %822, 1 - %824 = icmp ne i32 %823, 0 - %825 = icmp eq ptr %817, null - %826 = select i1 %824, i1 true, i1 %825 - br i1 %826, label %1011, label %827 - -827: ; preds = %820 - %828 = and i16 %813, 768 - %829 = icmp eq i16 %828, 768 - %830 = select i1 %829, i64 30, i64 24 - %831 = getelementptr inbounds nuw i8, ptr %814, i64 %830 - %832 = load i8, ptr %831, align 1 - %833 = and i8 %832, 96 - %834 = and i8 %832, 15 - %835 = getelementptr inbounds nuw i8, ptr %817, i64 696 - %836 = zext nneg i8 %834 to i64 - %837 = getelementptr [16 x ptr], ptr %835, i64 0, i64 %836 - %838 = load volatile ptr, ptr %837, align 8 - %839 = icmp eq ptr %838, null - br i1 %839, label %840, label %858 - -840: ; preds = %827 - %841 = icmp eq i8 %833, 96 - br i1 %841, label %842, label %1011 - -842: ; preds = %840 - %843 = getelementptr inbounds nuw i8, ptr %817, i64 864 - %844 = call i8 asm sideeffect " btq $2,$1\0A\09/* output condition code c*/\0A", "={@ccc},*m,Ir,~{memory},~{dirflag},~{fpsr},~{flags}"(ptr nonnull elementtype(i64) %843, i64 %836) #18, !srcloc !23 - %845 = icmp ult i8 %844, 2 - call void @llvm.assume(i1 %845) - %846 = icmp eq i8 %844, 0 - br i1 %846, label %847, label %1011 - -847: ; preds = %842 - %848 = load ptr, ptr %609, align 8 - %849 = getelementptr inbounds nuw i8, ptr %848, i64 872 - %850 = call i8 asm sideeffect ".pushsection .smp_locks,\22a\22\0A.balign 4\0A.long 671f - .\0A.popsection\0A671:\0A\09lock; btsq $2, $0\0A\09/* output condition code c*/\0A", "=*m,={@ccc},Ir,*m,~{memory},~{dirflag},~{fpsr},~{flags}"(ptr nonnull elementtype(i64) %849, i64 %836, ptr nonnull elementtype(i64) %849) #18, !srcloc !58 - %851 = icmp ult i8 %850, 2 - call void @llvm.assume(i1 %851) - %852 = icmp eq i8 %850, 0 - br i1 %852, label %853, label %1011 - -853: ; preds = %847 - %854 = load ptr, ptr %8, align 8 - %855 = load ptr, ptr %609, align 8 - %856 = getelementptr inbounds nuw i8, ptr %855, i64 2680 - %857 = zext nneg i8 %834 to i16 - call void @ieee80211_send_delba(ptr noundef %854, ptr noundef nonnull %856, i16 noundef zeroext %857, i16 noundef zeroext 0, i16 noundef zeroext 38) #18 - br label %1011 - -858: ; preds = %827 - %859 = and i16 %813, 64 - %860 = icmp ne i16 %859, 0 - %861 = icmp eq i8 %833, 32 - %862 = or i1 %860, %861 - br i1 %862, label %1011, label %863, !prof !178 - -863: ; preds = %858 - %864 = getelementptr inbounds nuw i8, ptr %838, i64 152 - %865 = load i16, ptr %864, align 8 - %866 = icmp eq i16 %865, 0 - br i1 %866, label %870, label %867 - -867: ; preds = %863 - %868 = load volatile i64, ptr @jiffies, align 64 - %869 = getelementptr inbounds nuw i8, ptr %838, i64 136 - store i64 %868, ptr %869, align 8 - br label %870 - -870: ; preds = %867, %863 - %871 = getelementptr inbounds nuw i8, ptr %814, i64 22 - %872 = load i16, ptr %871, align 2 - %873 = and i16 %872, 15 - %874 = icmp eq i16 %873, 0 - br i1 %874, label %900, label %875 - -875: ; preds = %870 - %876 = load ptr, ptr %8, align 8 - %877 = getelementptr inbounds nuw i8, ptr %0, i64 76 - %878 = load i32, ptr %877, align 4 - %879 = getelementptr inbounds nuw i8, ptr %815, i64 176 - store i16 0, ptr %879, align 8 - %880 = icmp sgt i32 %878, -1 - %881 = getelementptr inbounds nuw i8, ptr %815, i64 86 - %882 = load i8, ptr %881, align 2 - br i1 %880, label %883, label %890 - -883: ; preds = %875 - %884 = trunc i32 %878 to i8 - %885 = shl i8 %884, 1 - %886 = and i8 %885, 30 - %887 = and i8 %882, -32 - %888 = or disjoint i8 %887, %886 - %889 = or disjoint i8 %888, 1 - br label %892 - -890: ; preds = %875 - %891 = and i8 %882, -2 - br label %892 - -892: ; preds = %890, %883 - %893 = phi i8 [ %891, %890 ], [ %889, %883 ] - store i8 %893, ptr %881, align 2 - %894 = getelementptr inbounds nuw i8, ptr %876, i64 1624 - call void @skb_queue_tail(ptr noundef nonnull %894, ptr noundef %815) #18 - %895 = getelementptr inbounds nuw i8, ptr %876, i64 1256 - %896 = load ptr, ptr %895, align 8 - %897 = getelementptr inbounds nuw i8, ptr %896, i64 64 +813: ; preds = %808, %804 + br label %1020 + +814: ; preds = %._crit_edge63, %773, %773, %780, %764 + %815 = phi i16 [ %.pre67, %._crit_edge63 ], [ %767, %773 ], [ %767, %773 ], [ %767, %780 ], [ %767, %764 ] + %816 = phi ptr [ %.pre66, %._crit_edge63 ], [ %765, %773 ], [ %765, %773 ], [ %765, %780 ], [ %765, %764 ] + %817 = phi ptr [ %.pre64, %._crit_edge63 ], [ %766, %773 ], [ %766, %773 ], [ %766, %780 ], [ %766, %764 ] + %818 = getelementptr inbounds nuw i8, ptr %817, i64 200 + %819 = load ptr, ptr %611, align 8 + %820 = and i16 %815, 140 + %821 = icmp eq i16 %820, 136 + br i1 %821, label %822, label %1013 + +822: ; preds = %814 + %823 = getelementptr inbounds nuw i8, ptr %816, i64 4 + %824 = load i32, ptr %823, align 4 + %825 = and i32 %824, 1 + %826 = icmp ne i32 %825, 0 + %827 = icmp eq ptr %819, null + %828 = select i1 %826, i1 true, i1 %827 + br i1 %828, label %1013, label %829 + +829: ; preds = %822 + %830 = and i16 %815, 768 + %831 = icmp eq i16 %830, 768 + %832 = select i1 %831, i64 30, i64 24 + %833 = getelementptr inbounds nuw i8, ptr %816, i64 %832 + %834 = load i8, ptr %833, align 1 + %835 = and i8 %834, 96 + %836 = and i8 %834, 15 + %837 = getelementptr inbounds nuw i8, ptr %819, i64 696 + %838 = zext nneg i8 %836 to i64 + %839 = getelementptr [16 x ptr], ptr %837, i64 0, i64 %838 + %840 = load volatile ptr, ptr %839, align 8 + %841 = icmp eq ptr %840, null + br i1 %841, label %842, label %860 + +842: ; preds = %829 + %843 = icmp eq i8 %835, 96 + br i1 %843, label %844, label %1013 + +844: ; preds = %842 + %845 = getelementptr inbounds nuw i8, ptr %819, i64 864 + %846 = call i8 asm sideeffect " btq $2,$1\0A\09/* output condition code c*/\0A", "={@ccc},*m,Ir,~{memory},~{dirflag},~{fpsr},~{flags}"(ptr nonnull elementtype(i64) %845, i64 %838) #18, !srcloc !23 + %847 = icmp ult i8 %846, 2 + call void @llvm.assume(i1 %847) + %848 = icmp eq i8 %846, 0 + br i1 %848, label %849, label %1013 + +849: ; preds = %844 + %850 = load ptr, ptr %611, align 8 + %851 = getelementptr inbounds nuw i8, ptr %850, i64 872 + %852 = call i8 asm sideeffect ".pushsection .smp_locks,\22a\22\0A.balign 4\0A.long 671f - .\0A.popsection\0A671:\0A\09lock; btsq $2, $0\0A\09/* output condition code c*/\0A", "=*m,={@ccc},Ir,*m,~{memory},~{dirflag},~{fpsr},~{flags}"(ptr nonnull elementtype(i64) %851, i64 %838, ptr nonnull elementtype(i64) %851) #18, !srcloc !58 + %853 = icmp ult i8 %852, 2 + call void @llvm.assume(i1 %853) + %854 = icmp eq i8 %852, 0 + br i1 %854, label %855, label %1013 + +855: ; preds = %849 + %856 = load ptr, ptr %8, align 8 + %857 = load ptr, ptr %611, align 8 + %858 = getelementptr inbounds nuw i8, ptr %857, i64 2680 + %859 = zext nneg i8 %836 to i16 + call void @ieee80211_send_delba(ptr noundef %856, ptr noundef nonnull %858, i16 noundef zeroext %859, i16 noundef zeroext 0, i16 noundef zeroext 38) #18 + br label %1013 + +860: ; preds = %829 + %861 = and i16 %815, 64 + %862 = icmp ne i16 %861, 0 + %863 = icmp eq i8 %835, 32 + %864 = or i1 %862, %863 + br i1 %864, label %1013, label %865, !prof !178 + +865: ; preds = %860 + %866 = getelementptr inbounds nuw i8, ptr %840, i64 152 + %867 = load i16, ptr %866, align 8 + %868 = icmp eq i16 %867, 0 + br i1 %868, label %872, label %869 + +869: ; preds = %865 + %870 = load volatile i64, ptr @jiffies, align 64 + %871 = getelementptr inbounds nuw i8, ptr %840, i64 136 + store i64 %870, ptr %871, align 8 + br label %872 + +872: ; preds = %869, %865 + %873 = getelementptr inbounds nuw i8, ptr %816, i64 22 + %874 = load i16, ptr %873, align 2 + %875 = and i16 %874, 15 + %876 = icmp eq i16 %875, 0 + br i1 %876, label %902, label %877 + +877: ; preds = %872 + %878 = load ptr, ptr %8, align 8 + %879 = getelementptr inbounds nuw i8, ptr %0, i64 76 + %880 = load i32, ptr %879, align 4 + %881 = getelementptr inbounds nuw i8, ptr %817, i64 176 + store i16 0, ptr %881, align 8 + %882 = icmp sgt i32 %880, -1 + %883 = getelementptr inbounds nuw i8, ptr %817, i64 86 + %884 = load i8, ptr %883, align 2 + br i1 %882, label %885, label %892 + +885: ; preds = %877 + %886 = trunc i32 %880 to i8 + %887 = shl i8 %886, 1 + %888 = and i8 %887, 30 + %889 = and i8 %884, -32 + %890 = or disjoint i8 %889, %888 + %891 = or disjoint i8 %890, 1 + br label %894 + +892: ; preds = %877 + %893 = and i8 %884, -2 + br label %894 + +894: ; preds = %892, %885 + %895 = phi i8 [ %893, %892 ], [ %891, %885 ] + store i8 %895, ptr %883, align 2 + %896 = getelementptr inbounds nuw i8, ptr %878, i64 1624 + call void @skb_queue_tail(ptr noundef nonnull %896, ptr noundef %817) #18 + %897 = getelementptr inbounds nuw i8, ptr %878, i64 1256 %898 = load ptr, ptr %897, align 8 - %899 = getelementptr inbounds nuw i8, ptr %876, i64 1600 - call void @wiphy_work_queue(ptr noundef %898, ptr noundef nonnull %899) #18 - br label %1017 - -900: ; preds = %870 - %901 = load ptr, ptr %816, align 8 - %902 = getelementptr inbounds nuw i8, ptr %901, i64 22 - %903 = load i16, ptr %902, align 2 - %904 = lshr i16 %903, 4 - %905 = getelementptr inbounds nuw i8, ptr %838, i64 16 - call void @_raw_spin_lock(ptr noundef nonnull %905) #18 - %906 = getelementptr inbounds nuw i8, ptr %838, i64 155 - %907 = load i8, ptr %906, align 1 - %908 = and i8 %907, 1 - %909 = icmp eq i8 %908, 0 - br i1 %909, label %._crit_edge68, label %910, !prof !28 - -._crit_edge68: ; preds = %900 - %.phi.trans.insert69 = getelementptr inbounds nuw i8, ptr %838, i64 144 + %899 = getelementptr inbounds nuw i8, ptr %898, i64 64 + %900 = load ptr, ptr %899, align 8 + %901 = getelementptr inbounds nuw i8, ptr %878, i64 1600 + call void @wiphy_work_queue(ptr noundef %900, ptr noundef nonnull %901) #18 + br label %1019 + +902: ; preds = %872 + %903 = load ptr, ptr %818, align 8 + %904 = getelementptr inbounds nuw i8, ptr %903, i64 22 + %905 = load i16, ptr %904, align 2 + %906 = lshr i16 %905, 4 + %907 = getelementptr inbounds nuw i8, ptr %840, i64 16 + call void @_raw_spin_lock(ptr noundef nonnull %907) #18 + %908 = getelementptr inbounds nuw i8, ptr %840, i64 155 + %909 = load i8, ptr %908, align 1 + %910 = and i8 %909, 1 + %911 = icmp eq i8 %910, 0 + br i1 %911, label %._crit_edge68, label %912, !prof !28 + +._crit_edge68: ; preds = %902 + %.phi.trans.insert69 = getelementptr inbounds nuw i8, ptr %840, i64 144 %.pre70 = load i16, ptr %.phi.trans.insert69, align 8 - br label %914 - -910: ; preds = %900 - %911 = and i8 %907, -2 - store i8 %911, ptr %906, align 1 - %912 = getelementptr inbounds nuw i8, ptr %838, i64 148 - store i16 %904, ptr %912, align 4 - %913 = getelementptr inbounds nuw i8, ptr %838, i64 144 - store i16 %904, ptr %913, align 8 - br label %914 - -914: ; preds = %._crit_edge68, %910 - %915 = phi i8 [ %907, %._crit_edge68 ], [ %911, %910 ] - %916 = phi i16 [ %.pre70, %._crit_edge68 ], [ %904, %910 ] - %917 = getelementptr inbounds nuw i8, ptr %838, i64 150 - %918 = load i16, ptr %917, align 2 - %919 = getelementptr inbounds nuw i8, ptr %838, i64 144 - %920 = and i8 %915, 4 - %921 = icmp eq i8 %920, 0 - %922 = zext nneg i16 %904 to i32 - %923 = zext i16 %916 to i32 - %924 = sub nsw i32 %922, %923 - %925 = and i32 %924, 4095 - %926 = icmp samesign ugt i32 %925, 2048 - br i1 %921, label %927, label %929, !prof !6 - -927: ; preds = %914 - br i1 %926, label %1010, label %.thread91 - -.thread91: ; preds = %927 - %928 = or disjoint i8 %915, 4 - store i8 %928, ptr %906, align 1 - br label %931 - -929: ; preds = %914 - br i1 %926, label %930, label %931 - -930: ; preds = %929 - call void @consume_skb(ptr noundef %815) #18 - br label %1016 - -931: ; preds = %.thread91, %929 - %932 = add i16 %916, %918 - %933 = zext i16 %932 to i32 - %934 = sub nsw i32 %922, %933 - %935 = and i32 %934, 4095 - %936 = icmp samesign ugt i32 %935, 2048 - br i1 %936, label %.loopexit, label %937 - -937: ; preds = %931 - %938 = add nuw nsw i16 %904, 1 - %939 = sub i16 %938, %918 - %940 = zext i16 %939 to i32 - %941 = sub nsw i32 %923, %940 - %942 = and i32 %941, 4095 - %943 = icmp samesign ugt i32 %942, 2048 - br i1 %943, label %.preheader, label %.loopexit - -.preheader: ; preds = %937, %.preheader - %944 = phi i16 [ %948, %.preheader ], [ %916, %937 ] - %945 = load i16, ptr %917, align 2 - %946 = urem i16 %944, %945 - %947 = zext i16 %946 to i32 - call fastcc void @ieee80211_release_reorder_frame(ptr noundef nonnull %838, i32 noundef %947, ptr noundef nonnull %5) - %948 = load i16, ptr %919, align 8 + br label %916 + +912: ; preds = %902 + %913 = and i8 %909, -2 + store i8 %913, ptr %908, align 1 + %914 = getelementptr inbounds nuw i8, ptr %840, i64 148 + store i16 %906, ptr %914, align 4 + %915 = getelementptr inbounds nuw i8, ptr %840, i64 144 + store i16 %906, ptr %915, align 8 + br label %916 + +916: ; preds = %._crit_edge68, %912 + %917 = phi i8 [ %909, %._crit_edge68 ], [ %913, %912 ] + %918 = phi i16 [ %.pre70, %._crit_edge68 ], [ %906, %912 ] + %919 = getelementptr inbounds nuw i8, ptr %840, i64 150 + %920 = load i16, ptr %919, align 2 + %921 = getelementptr inbounds nuw i8, ptr %840, i64 144 + %922 = and i8 %917, 4 + %923 = icmp eq i8 %922, 0 + %924 = zext nneg i16 %906 to i32 + %925 = zext i16 %918 to i32 + %926 = sub nsw i32 %924, %925 + %927 = and i32 %926, 4095 + %928 = icmp samesign ugt i32 %927, 2048 + br i1 %923, label %929, label %931, !prof !6 + +929: ; preds = %916 + br i1 %928, label %1012, label %.thread93 + +.thread93: ; preds = %929 + %930 = or disjoint i8 %917, 4 + store i8 %930, ptr %908, align 1 + br label %933 + +931: ; preds = %916 + br i1 %928, label %932, label %933 + +932: ; preds = %931 + call void @consume_skb(ptr noundef %817) #18 + br label %1018 + +933: ; preds = %.thread93, %931 + %934 = add i16 %918, %920 + %935 = zext i16 %934 to i32 + %936 = sub nsw i32 %924, %935 + %937 = and i32 %936, 4095 + %938 = icmp samesign ugt i32 %937, 2048 + br i1 %938, label %.loopexit, label %939 + +939: ; preds = %933 + %940 = add nuw nsw i16 %906, 1 + %941 = sub i16 %940, %920 + %942 = zext i16 %941 to i32 + %943 = sub nsw i32 %925, %942 + %944 = and i32 %943, 4095 + %945 = icmp samesign ugt i32 %944, 2048 + br i1 %945, label %.preheader, label %.loopexit + +.preheader: ; preds = %939, %.preheader + %946 = phi i16 [ %950, %.preheader ], [ %918, %939 ] + %947 = load i16, ptr %919, align 2 + %948 = urem i16 %946, %947 %949 = zext i16 %948 to i32 - %950 = sub nsw i32 %949, %940 - %951 = and i32 %950, 4095 - %952 = icmp samesign ugt i32 %951, 2048 - br i1 %952, label %.preheader, label %.loopexit.loopexit, !llvm.loop !77 + call fastcc void @ieee80211_release_reorder_frame(ptr noundef nonnull %840, i32 noundef %949, ptr noundef nonnull %5) + %950 = load i16, ptr %921, align 8 + %951 = zext i16 %950 to i32 + %952 = sub nsw i32 %951, %942 + %953 = and i32 %952, 4095 + %954 = icmp samesign ugt i32 %953, 2048 + br i1 %954, label %.preheader, label %.loopexit.loopexit, !llvm.loop !77 .loopexit.loopexit: ; preds = %.preheader - %.pre71 = load i16, ptr %917, align 2 + %.pre71 = load i16, ptr %919, align 2 br label %.loopexit -.loopexit: ; preds = %.loopexit.loopexit, %937, %931 - %953 = phi i16 [ %948, %.loopexit.loopexit ], [ %916, %937 ], [ %916, %931 ] - %954 = phi i16 [ %.pre71, %.loopexit.loopexit ], [ %918, %937 ], [ %918, %931 ] - %955 = urem i16 %904, %954 - %956 = getelementptr inbounds nuw i8, ptr %838, i64 32 - %957 = load ptr, ptr %956, align 8 - %958 = zext nneg i16 %955 to i64 - %959 = getelementptr %struct.sk_buff_head, ptr %957, i64 %958 - %960 = getelementptr inbounds nuw i8, ptr %959, i64 8 - %961 = load volatile ptr, ptr %960, align 8 - %962 = icmp eq ptr %961, %959 - %963 = select i1 %962, ptr null, ptr %961 - %964 = getelementptr inbounds nuw i8, ptr %838, i64 24 - %965 = load i64, ptr %964, align 8 - %966 = icmp eq i64 %965, 0 - br i1 %966, label %971, label %967 - -967: ; preds = %.loopexit - %968 = shl nuw i64 1, %958 - %969 = and i64 %965, %968 - %970 = icmp eq i64 %969, 0 - br i1 %970, label %971, label %978 - -971: ; preds = %967, %.loopexit - %972 = icmp eq ptr %963, null - br i1 %972, label %979, label %973 - -973: ; preds = %971 - %974 = getelementptr inbounds nuw i8, ptr %963, i64 64 - %975 = load i32, ptr %974, align 8 - %976 = and i32 %975, 524288 - %977 = icmp eq i32 %976, 0 - br i1 %977, label %978, label %979 - -978: ; preds = %973, %967 - call void @consume_skb(ptr noundef %815) #18 - br label %1016 - -979: ; preds = %973, %971 - %980 = icmp eq i16 %904, %953 - br i1 %980, label %981, label %993 - -981: ; preds = %979 - %982 = getelementptr inbounds nuw i8, ptr %838, i64 146 - %983 = load i16, ptr %982, align 2 - %984 = icmp eq i16 %983, 0 - br i1 %984, label %985, label %993 - -985: ; preds = %981 - %986 = getelementptr inbounds nuw i8, ptr %815, i64 64 - %987 = load i32, ptr %986, align 8 - %988 = and i32 %987, 524288 - %989 = icmp eq i32 %988, 0 - br i1 %989, label %990, label %1010 - -990: ; preds = %985 - %991 = add nuw nsw i16 %904, 1 - %992 = and i16 %991, 4095 - store i16 %992, ptr %919, align 8 - br label %1010 - -993: ; preds = %981, %979 - store volatile ptr %959, ptr %815, align 8 - %994 = getelementptr inbounds nuw i8, ptr %815, i64 8 - store volatile ptr %961, ptr %994, align 8 - store volatile ptr %815, ptr %960, align 8 - store volatile ptr %815, ptr %961, align 8 - %995 = getelementptr inbounds nuw i8, ptr %959, i64 16 - %996 = load i32, ptr %995, align 8 - %997 = add i32 %996, 1 - store volatile i32 %997, ptr %995, align 8 - %998 = getelementptr inbounds nuw i8, ptr %815, i64 64 - %999 = load i32, ptr %998, align 8 - %1000 = and i32 %999, 524288 - %1001 = icmp eq i32 %1000, 0 - br i1 %1001, label %1002, label %1016 - -1002: ; preds = %993 - %1003 = load volatile i64, ptr @jiffies, align 64 - %1004 = getelementptr inbounds nuw i8, ptr %838, i64 40 - %1005 = load ptr, ptr %1004, align 8 - %1006 = getelementptr i64, ptr %1005, i64 %958 - store i64 %1003, ptr %1006, align 8 - %1007 = getelementptr inbounds nuw i8, ptr %838, i64 146 - %1008 = load i16, ptr %1007, align 2 - %1009 = add i16 %1008, 1 - store i16 %1009, ptr %1007, align 2 - call fastcc void @ieee80211_sta_reorder_release(ptr noundef nonnull %838, ptr noundef nonnull %5) - br label %1016 - -1010: ; preds = %990, %985, %927 - call void @_raw_spin_unlock(ptr noundef nonnull %905) #18 - br label %1011 - -1011: ; preds = %1010, %858, %853, %847, %842, %840, %820, %812 - %1012 = load ptr, ptr %705, align 8 - store volatile ptr %5, ptr %815, align 8 - %1013 = getelementptr inbounds nuw i8, ptr %815, i64 8 - store volatile ptr %1012, ptr %1013, align 8 - store volatile ptr %815, ptr %705, align 8 - store volatile ptr %815, ptr %1012, align 8 - %1014 = load i32, ptr %706, align 8 - %1015 = add i32 %1014, 1 - store volatile i32 %1015, ptr %706, align 8 - br label %1017 - -1016: ; preds = %1002, %993, %978, %930 - call void @_raw_spin_unlock(ptr noundef nonnull %905) #18 - br label %1017 - -1017: ; preds = %1016, %1011, %892 +.loopexit: ; preds = %.loopexit.loopexit, %939, %933 + %955 = phi i16 [ %950, %.loopexit.loopexit ], [ %918, %939 ], [ %918, %933 ] + %956 = phi i16 [ %.pre71, %.loopexit.loopexit ], [ %920, %939 ], [ %920, %933 ] + %957 = urem i16 %906, %956 + %958 = getelementptr inbounds nuw i8, ptr %840, i64 32 + %959 = load ptr, ptr %958, align 8 + %960 = zext nneg i16 %957 to i64 + %961 = getelementptr %struct.sk_buff_head, ptr %959, i64 %960 + %962 = getelementptr inbounds nuw i8, ptr %961, i64 8 + %963 = load volatile ptr, ptr %962, align 8 + %964 = icmp eq ptr %963, %961 + %965 = select i1 %964, ptr null, ptr %963 + %966 = getelementptr inbounds nuw i8, ptr %840, i64 24 + %967 = load i64, ptr %966, align 8 + %968 = icmp eq i64 %967, 0 + br i1 %968, label %973, label %969 + +969: ; preds = %.loopexit + %970 = shl nuw i64 1, %960 + %971 = and i64 %967, %970 + %972 = icmp eq i64 %971, 0 + br i1 %972, label %973, label %980 + +973: ; preds = %969, %.loopexit + %974 = icmp eq ptr %965, null + br i1 %974, label %981, label %975 + +975: ; preds = %973 + %976 = getelementptr inbounds nuw i8, ptr %965, i64 64 + %977 = load i32, ptr %976, align 8 + %978 = and i32 %977, 524288 + %979 = icmp eq i32 %978, 0 + br i1 %979, label %980, label %981 + +980: ; preds = %975, %969 + call void @consume_skb(ptr noundef %817) #18 + br label %1018 + +981: ; preds = %975, %973 + %982 = icmp eq i16 %906, %955 + br i1 %982, label %983, label %995 + +983: ; preds = %981 + %984 = getelementptr inbounds nuw i8, ptr %840, i64 146 + %985 = load i16, ptr %984, align 2 + %986 = icmp eq i16 %985, 0 + br i1 %986, label %987, label %995 + +987: ; preds = %983 + %988 = getelementptr inbounds nuw i8, ptr %817, i64 64 + %989 = load i32, ptr %988, align 8 + %990 = and i32 %989, 524288 + %991 = icmp eq i32 %990, 0 + br i1 %991, label %992, label %1012 + +992: ; preds = %987 + %993 = add nuw nsw i16 %906, 1 + %994 = and i16 %993, 4095 + store i16 %994, ptr %921, align 8 + br label %1012 + +995: ; preds = %983, %981 + store volatile ptr %961, ptr %817, align 8 + %996 = getelementptr inbounds nuw i8, ptr %817, i64 8 + store volatile ptr %963, ptr %996, align 8 + store volatile ptr %817, ptr %962, align 8 + store volatile ptr %817, ptr %963, align 8 + %997 = getelementptr inbounds nuw i8, ptr %961, i64 16 + %998 = load i32, ptr %997, align 8 + %999 = add i32 %998, 1 + store volatile i32 %999, ptr %997, align 8 + %1000 = getelementptr inbounds nuw i8, ptr %817, i64 64 + %1001 = load i32, ptr %1000, align 8 + %1002 = and i32 %1001, 524288 + %1003 = icmp eq i32 %1002, 0 + br i1 %1003, label %1004, label %1018 + +1004: ; preds = %995 + %1005 = load volatile i64, ptr @jiffies, align 64 + %1006 = getelementptr inbounds nuw i8, ptr %840, i64 40 + %1007 = load ptr, ptr %1006, align 8 + %1008 = getelementptr i64, ptr %1007, i64 %960 + store i64 %1005, ptr %1008, align 8 + %1009 = getelementptr inbounds nuw i8, ptr %840, i64 146 + %1010 = load i16, ptr %1009, align 2 + %1011 = add i16 %1010, 1 + store i16 %1011, ptr %1009, align 2 + call fastcc void @ieee80211_sta_reorder_release(ptr noundef nonnull %840, ptr noundef nonnull %5) + br label %1018 + +1012: ; preds = %992, %987, %929 + call void @_raw_spin_unlock(ptr noundef nonnull %907) #18 + br label %1013 + +1013: ; preds = %1012, %860, %855, %849, %844, %842, %822, %814 + %1014 = load ptr, ptr %707, align 8 + store volatile ptr %5, ptr %817, align 8 + %1015 = getelementptr inbounds nuw i8, ptr %817, i64 8 + store volatile ptr %1014, ptr %1015, align 8 + store volatile ptr %817, ptr %707, align 8 + store volatile ptr %817, ptr %1014, align 8 + %1016 = load i32, ptr %708, align 8 + %1017 = add i32 %1016, 1 + store volatile i32 %1017, ptr %708, align 8 + br label %1019 + +1018: ; preds = %1004, %995, %980, %932 + call void @_raw_spin_unlock(ptr noundef nonnull %907) #18 + br label %1019 + +1019: ; preds = %1018, %1013, %894 call fastcc void @ieee80211_rx_handlers(ptr noundef %0, ptr noundef nonnull %5) - br label %1020 + br label %1022 -1018: ; preds = %806, %811, %.thread34, %757 - %1019 = phi i32 [ 65540, %757 ], [ 131072, %811 ], [ 65541, %806 ], [ 131072, %.thread34 ] - call fastcc void @ieee80211_rx_handlers_result(ptr noundef %0, i32 noundef %1019) - br label %1020 +1020: ; preds = %808, %813, %.thread34, %759 + %1021 = phi i32 [ 65540, %759 ], [ 131072, %813 ], [ 65541, %808 ], [ 131072, %.thread34 ] + call fastcc void @ieee80211_rx_handlers_result(ptr noundef %0, i32 noundef %1021) + br label %1022 -1020: ; preds = %1018, %1017 +1022: ; preds = %1020, %1019 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %5) #18 br label %ieee80211_is_our_addr.exit -ieee80211_is_our_addr.exit: ; preds = %.thread3.i, %463, %273, %539, %580, %583, %.loopexit43._crit_edge, %418, %ieee80211_is_our_addr.exit.thread._crit_edge, %517, %1020, %575, %574, %571, %554, %548, %441, %370, %360, %356, %354, %329, %322, %302, %292, %278, %276, %251, %209, %204, %180, %144, %140 - %1021 = phi i1 [ true, %1020 ], [ false, %575 ], [ true, %140 ], [ true, %144 ], [ true, %180 ], [ false, %441 ], [ false, %251 ], [ false, %204 ], [ false, %554 ], [ false, %548 ], [ false, %370 ], [ false, %360 ], [ false, %356 ], [ false, %354 ], [ false, %329 ], [ false, %322 ], [ false, %278 ], [ false, %292 ], [ false, %302 ], [ false, %276 ], [ false, %209 ], [ false, %574 ], [ false, %571 ], [ false, %517 ], [ false, %ieee80211_is_our_addr.exit.thread._crit_edge ], [ false, %418 ], [ false, %.loopexit43._crit_edge ], [ true, %583 ], [ true, %580 ], [ false, %539 ], [ false, %273 ], [ false, %463 ], [ false, %.thread3.i ] - ret i1 %1021 +ieee80211_is_our_addr.exit: ; preds = %.thread3.i, %463, %273, %539, %582, %585, %563, %418, %ieee80211_is_our_addr.exit.thread._crit_edge, %517, %1022, %578, %577, %574, %554, %549, %441, %370, %360, %356, %354, %329, %322, %302, %292, %278, %276, %251, %209, %204, %180, %144, %140 + %1023 = phi i1 [ true, %1022 ], [ false, %578 ], [ true, %140 ], [ true, %144 ], [ true, %180 ], [ false, %441 ], [ false, %251 ], [ false, %204 ], [ false, %554 ], [ false, %549 ], [ false, %370 ], [ false, %360 ], [ false, %356 ], [ false, %354 ], [ false, %329 ], [ false, %322 ], [ false, %278 ], [ false, %292 ], [ false, %302 ], [ false, %276 ], [ false, %209 ], [ false, %577 ], [ false, %574 ], [ false, %517 ], [ false, %ieee80211_is_our_addr.exit.thread._crit_edge ], [ false, %418 ], [ false, %563 ], [ true, %585 ], [ true, %582 ], [ false, %539 ], [ false, %273 ], [ false, %463 ], [ false, %.thread3.i ] + ret i1 %1023 } ; Function Attrs: null_pointer_is_valid diff --git a/bench/llvm/optimized/AArch64PostLegalizerLowering.cpp.ll b/bench/llvm/optimized/AArch64PostLegalizerLowering.cpp.ll index 4014d965728..c0e7234ca86 100644 --- a/bench/llvm/optimized/AArch64PostLegalizerLowering.cpp.ll +++ b/bench/llvm/optimized/AArch64PostLegalizerLowering.cpp.ll @@ -2241,7 +2241,7 @@ define internal noundef zeroext i1 @_ZNK12_GLOBAL__N_132AArch64PostLegalizerLowe %144 = load ptr, ptr %143, align 8 %145 = load ptr, ptr %144, align 8 tail call void @_ZN4llvm16MachineIRBuilder19setInstrAndDebugLocERNS_12MachineInstrE(ptr noundef nonnull align 8 dereferenceable(88) %142, ptr noundef nonnull align 8 dereferenceable(70) %145) - switch i32 %1, label %2914 [ + switch i32 %1, label %2907 [ i32 1, label %146 i32 2, label %263 i32 3, label %373 @@ -2259,9 +2259,9 @@ define internal noundef zeroext i1 @_ZNK12_GLOBAL__N_132AArch64PostLegalizerLowe i32 15, label %1977 i32 16, label %2063 i32 17, label %2090 - i32 18, label %2218 - i32 19, label %2529 - i32 20, label %2677 + i32 18, label %2211 + i32 19, label %2522 + i32 20, label %2670 ] 146: ; preds = %4 @@ -2277,7 +2277,7 @@ define internal noundef zeroext i1 @_ZNK12_GLOBAL__N_132AArch64PostLegalizerLowe %154 = call i64 @_ZN4llvm13getSplatIndexERNS_12MachineInstrE(ptr noundef nonnull align 8 dereferenceable(70) %151) #22 %155 = and i64 %154, 4294967296 %.not.i.i = icmp eq i64 %155, 0 - br i1 %.not.i.i, label %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK3$_0clEv.exit.thread397", label %156 + br i1 %.not.i.i, label %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK3$_0clEv.exit.thread394", label %156 156: ; preds = %146 %.sroa.0.0.extract.trunc.i.i = trunc i64 %154 to i32 @@ -2433,13 +2433,13 @@ _ZNK4llvm3LLT14getNumElementsEv.exit.i.i.i: ; preds = %216, %_ZNK4llvm19Ma %244 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(64) %239) #22 %245 = load ptr, ptr %239, align 8 %246 = icmp eq ptr %245, %240 - br i1 %246, label %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK3$_0clEv.exit.thread399", label %247 + br i1 %246, label %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK3$_0clEv.exit.thread396", label %247 247: ; preds = %226 call void @free(ptr noundef %245) #22 - br label %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK3$_0clEv.exit.thread399" + br label %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK3$_0clEv.exit.thread396" -"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK3$_0clEv.exit.thread399": ; preds = %226, %247 +"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK3$_0clEv.exit.thread396": ; preds = %226, %247 call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %130) call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %131) br label %248 @@ -2447,9 +2447,9 @@ _ZNK4llvm3LLT14getNumElementsEv.exit.i.i.i: ; preds = %216, %_ZNK4llvm19Ma "_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK3$_0clEv.exit": ; preds = %_ZNK4llvm3LLT14getNumElementsEv.exit.i.i.i call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %130) call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %131) - br label %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK3$_0clEv.exit.thread397" + br label %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK3$_0clEv.exit.thread394" -248: ; preds = %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK3$_0clEv.exit.thread399", %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK3$_0clEv.exit.thread" +248: ; preds = %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK3$_0clEv.exit.thread396", %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK3$_0clEv.exit.thread" %249 = load ptr, ptr %143, align 8 %250 = load ptr, ptr %249, align 8 call void @llvm.lifetime.start.p0(i64 88, ptr nonnull %128) @@ -2477,16 +2477,16 @@ _ZNK4llvm3LLT14getNumElementsEv.exit.i.i.i: ; preds = %216, %_ZNK4llvm19Ma _ZN12_GLOBAL__N_124applyShuffleVectorPseudoERN4llvm12MachineInstrERNS_19ShuffleVectorPseudoE.exit: ; preds = %248, %258 call void @llvm.lifetime.end.p0(i64 88, ptr nonnull %128) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %129) - br label %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK3$_0clEv.exit.thread397" + br label %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK3$_0clEv.exit.thread394" -"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK3$_0clEv.exit.thread397": ; preds = %146, %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK3$_0clEv.exit", %_ZN12_GLOBAL__N_124applyShuffleVectorPseudoERN4llvm12MachineInstrERNS_19ShuffleVectorPseudoE.exit - %.0.i.i395 = phi i1 [ false, %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK3$_0clEv.exit" ], [ true, %_ZN12_GLOBAL__N_124applyShuffleVectorPseudoERN4llvm12MachineInstrERNS_19ShuffleVectorPseudoE.exit ], [ false, %146 ] +"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK3$_0clEv.exit.thread394": ; preds = %146, %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK3$_0clEv.exit", %_ZN12_GLOBAL__N_124applyShuffleVectorPseudoERN4llvm12MachineInstrERNS_19ShuffleVectorPseudoE.exit + %.0.i.i392 = phi i1 [ false, %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK3$_0clEv.exit" ], [ true, %_ZN12_GLOBAL__N_124applyShuffleVectorPseudoERN4llvm12MachineInstrERNS_19ShuffleVectorPseudoE.exit ], [ false, %146 ] %259 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(64) %148) #22 %260 = load ptr, ptr %148, align 8 %261 = icmp eq ptr %260, %149 br i1 %261, label %_ZN12_GLOBAL__N_119ShuffleVectorPseudoD2Ev.exit, label %262 -262: ; preds = %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK3$_0clEv.exit.thread397" +262: ; preds = %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK3$_0clEv.exit.thread394" call void @free(ptr noundef %260) #22 br label %_ZN12_GLOBAL__N_119ShuffleVectorPseudoD2Ev.exit @@ -2776,7 +2776,7 @@ _ZN12_GLOBAL__N_124applyShuffleVectorPseudoERN4llvm12MachineInstrERNS_19ShuffleV br label %368 368: ; preds = %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK3$_1clEv.exit.thread", %_ZN12_GLOBAL__N_124applyShuffleVectorPseudoERN4llvm12MachineInstrERNS_19ShuffleVectorPseudoE.exit65 - %.0.i.i60401 = phi i1 [ false, %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK3$_1clEv.exit.thread" ], [ true, %_ZN12_GLOBAL__N_124applyShuffleVectorPseudoERN4llvm12MachineInstrERNS_19ShuffleVectorPseudoE.exit65 ] + %.0.i.i60398 = phi i1 [ false, %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK3$_1clEv.exit.thread" ], [ true, %_ZN12_GLOBAL__N_124applyShuffleVectorPseudoERN4llvm12MachineInstrERNS_19ShuffleVectorPseudoE.exit65 ] %369 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(64) %265) #22 %370 = load ptr, ptr %265, align 8 %371 = icmp eq ptr %370, %266 @@ -2876,13 +2876,13 @@ _ZNK4llvm3LLT14getNumElementsEv.exit.i.i71: ; preds = %405, %_ZNK4llvm19Ma %418 = getelementptr inbounds nuw i8, ptr %.02943.i.i.i.i.i.i.i, i64 8 %.val30.i.i.i.i.i.i.i = load i32, ptr %418, align 4, !noalias !26 %419 = icmp sgt i32 %.val30.i.i.i.i.i.i.i, -1 - br i1 %419, label %"_ZN4llvm7find_ifIRNS_8ArrayRefIiEEZN12_GLOBAL__N_110getExtMaskES2_jE3$_0EEDaOT_T0_.exit.i.i.i.loopexit.split.loop.exit538", label %420 + br i1 %419, label %"_ZN4llvm7find_ifIRNS_8ArrayRefIiEEZN12_GLOBAL__N_110getExtMaskES2_jE3$_0EEDaOT_T0_.exit.i.i.i.loopexit.split.loop.exit535", label %420 420: ; preds = %417 %421 = getelementptr inbounds nuw i8, ptr %.02943.i.i.i.i.i.i.i, i64 12 %.val31.i.i.i.i.i.i.i = load i32, ptr %421, align 4, !noalias !26 %422 = icmp sgt i32 %.val31.i.i.i.i.i.i.i, -1 - br i1 %422, label %"_ZN4llvm7find_ifIRNS_8ArrayRefIiEEZN12_GLOBAL__N_110getExtMaskES2_jE3$_0EEDaOT_T0_.exit.i.i.i.loopexit.split.loop.exit540", label %423 + br i1 %422, label %"_ZN4llvm7find_ifIRNS_8ArrayRefIiEEZN12_GLOBAL__N_110getExtMaskES2_jE3$_0EEDaOT_T0_.exit.i.i.i.loopexit.split.loop.exit537", label %423 423: ; preds = %420 %424 = getelementptr inbounds nuw i8, ptr %.02943.i.i.i.i.i.i.i, i64 16 @@ -2935,16 +2935,16 @@ _ZNK4llvm3LLT14getNumElementsEv.exit.i.i71: ; preds = %405, %_ZNK4llvm19Ma %439 = getelementptr inbounds nuw i8, ptr %.02943.i.i.i.i.i.i.i, i64 4 br label %"_ZN4llvm7find_ifIRNS_8ArrayRefIiEEZN12_GLOBAL__N_110getExtMaskES2_jE3$_0EEDaOT_T0_.exit.i.i.i" -"_ZN4llvm7find_ifIRNS_8ArrayRefIiEEZN12_GLOBAL__N_110getExtMaskES2_jE3$_0EEDaOT_T0_.exit.i.i.i.loopexit.split.loop.exit538": ; preds = %417 +"_ZN4llvm7find_ifIRNS_8ArrayRefIiEEZN12_GLOBAL__N_110getExtMaskES2_jE3$_0EEDaOT_T0_.exit.i.i.i.loopexit.split.loop.exit535": ; preds = %417 %440 = getelementptr inbounds nuw i8, ptr %.02943.i.i.i.i.i.i.i, i64 8 br label %"_ZN4llvm7find_ifIRNS_8ArrayRefIiEEZN12_GLOBAL__N_110getExtMaskES2_jE3$_0EEDaOT_T0_.exit.i.i.i" -"_ZN4llvm7find_ifIRNS_8ArrayRefIiEEZN12_GLOBAL__N_110getExtMaskES2_jE3$_0EEDaOT_T0_.exit.i.i.i.loopexit.split.loop.exit540": ; preds = %420 +"_ZN4llvm7find_ifIRNS_8ArrayRefIiEEZN12_GLOBAL__N_110getExtMaskES2_jE3$_0EEDaOT_T0_.exit.i.i.i.loopexit.split.loop.exit537": ; preds = %420 %441 = getelementptr inbounds nuw i8, ptr %.02943.i.i.i.i.i.i.i, i64 12 br label %"_ZN4llvm7find_ifIRNS_8ArrayRefIiEEZN12_GLOBAL__N_110getExtMaskES2_jE3$_0EEDaOT_T0_.exit.i.i.i" -"_ZN4llvm7find_ifIRNS_8ArrayRefIiEEZN12_GLOBAL__N_110getExtMaskES2_jE3$_0EEDaOT_T0_.exit.i.i.i": ; preds = %.lr.ph.i.i.i.i.i.i.i, %"_ZN4llvm7find_ifIRNS_8ArrayRefIiEEZN12_GLOBAL__N_110getExtMaskES2_jE3$_0EEDaOT_T0_.exit.i.i.i.loopexit.split.loop.exit", %"_ZN4llvm7find_ifIRNS_8ArrayRefIiEEZN12_GLOBAL__N_110getExtMaskES2_jE3$_0EEDaOT_T0_.exit.i.i.i.loopexit.split.loop.exit538", %"_ZN4llvm7find_ifIRNS_8ArrayRefIiEEZN12_GLOBAL__N_110getExtMaskES2_jE3$_0EEDaOT_T0_.exit.i.i.i.loopexit.split.loop.exit540", %438, %436, %432, %428 - %.028.i.i.i.i.i.i.i = phi ptr [ %409, %438 ], [ %.029.lcssa.i.i.i.i.i.i.i, %428 ], [ %.1.i.i.i.i.i.i.i, %432 ], [ %.2.i.i.i.i.i.i.i, %436 ], [ %439, %"_ZN4llvm7find_ifIRNS_8ArrayRefIiEEZN12_GLOBAL__N_110getExtMaskES2_jE3$_0EEDaOT_T0_.exit.i.i.i.loopexit.split.loop.exit" ], [ %440, %"_ZN4llvm7find_ifIRNS_8ArrayRefIiEEZN12_GLOBAL__N_110getExtMaskES2_jE3$_0EEDaOT_T0_.exit.i.i.i.loopexit.split.loop.exit538" ], [ %441, %"_ZN4llvm7find_ifIRNS_8ArrayRefIiEEZN12_GLOBAL__N_110getExtMaskES2_jE3$_0EEDaOT_T0_.exit.i.i.i.loopexit.split.loop.exit540" ], [ %.02943.i.i.i.i.i.i.i, %.lr.ph.i.i.i.i.i.i.i ] +"_ZN4llvm7find_ifIRNS_8ArrayRefIiEEZN12_GLOBAL__N_110getExtMaskES2_jE3$_0EEDaOT_T0_.exit.i.i.i": ; preds = %.lr.ph.i.i.i.i.i.i.i, %"_ZN4llvm7find_ifIRNS_8ArrayRefIiEEZN12_GLOBAL__N_110getExtMaskES2_jE3$_0EEDaOT_T0_.exit.i.i.i.loopexit.split.loop.exit", %"_ZN4llvm7find_ifIRNS_8ArrayRefIiEEZN12_GLOBAL__N_110getExtMaskES2_jE3$_0EEDaOT_T0_.exit.i.i.i.loopexit.split.loop.exit535", %"_ZN4llvm7find_ifIRNS_8ArrayRefIiEEZN12_GLOBAL__N_110getExtMaskES2_jE3$_0EEDaOT_T0_.exit.i.i.i.loopexit.split.loop.exit537", %438, %436, %432, %428 + %.028.i.i.i.i.i.i.i = phi ptr [ %409, %438 ], [ %.029.lcssa.i.i.i.i.i.i.i, %428 ], [ %.1.i.i.i.i.i.i.i, %432 ], [ %.2.i.i.i.i.i.i.i, %436 ], [ %439, %"_ZN4llvm7find_ifIRNS_8ArrayRefIiEEZN12_GLOBAL__N_110getExtMaskES2_jE3$_0EEDaOT_T0_.exit.i.i.i.loopexit.split.loop.exit" ], [ %440, %"_ZN4llvm7find_ifIRNS_8ArrayRefIiEEZN12_GLOBAL__N_110getExtMaskES2_jE3$_0EEDaOT_T0_.exit.i.i.i.loopexit.split.loop.exit535" ], [ %441, %"_ZN4llvm7find_ifIRNS_8ArrayRefIiEEZN12_GLOBAL__N_110getExtMaskES2_jE3$_0EEDaOT_T0_.exit.i.i.i.loopexit.split.loop.exit537" ], [ %.02943.i.i.i.i.i.i.i, %.lr.ph.i.i.i.i.i.i.i ] %442 = getelementptr inbounds i32, ptr %.sroa.0.0.copyload.i.i.i68, i64 %.sroa.2.0.copyload.i.i.i %443 = icmp eq ptr %.028.i.i.i.i.i.i.i, %442 br i1 %443, label %_ZN12_GLOBAL__N_110getExtMaskEN4llvm8ArrayRefIiEEj.exit.i.i, label %_ZN4llvm5APIntD2Ev.exit.i.i.i @@ -3115,7 +3115,7 @@ _ZN4llvmneEmRKNS_5APIntE.exit.i.i44.i.i.i.i.i.i.i.i.i: ; preds = %_ZNK4llvm5APIn 521: ; preds = %517 call void @_ZdaPv(ptr noundef nonnull %518) #23, !noalias !26 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %116), !noalias !26 - br i1 %519, label %"_ZN4llvm6any_ofINS_14iterator_rangeIPKiEEZN12_GLOBAL__N_110getExtMaskENS_8ArrayRefIiEEjE3$_1EEbOT_T0_.exit.i.i.i.loopexit.split.loop.exit550", label %523 + br i1 %519, label %"_ZN4llvm6any_ofINS_14iterator_rangeIPKiEEZN12_GLOBAL__N_110getExtMaskENS_8ArrayRefIiEEjE3$_1EEbOT_T0_.exit.i.i.i.loopexit.split.loop.exit547", label %523 "_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_110getExtMaskEN4llvm8ArrayRefIiEEjE3$_1EclIPKiEEbT_.exit47.i.i.i.i.i.i.i.i.i": ; preds = %517, %_ZN4llvmneEmRKNS_5APIntE.exit.i.i44.i.i.i.i.i.i.i.i.i %522 = phi i1 [ %515, %_ZN4llvmneEmRKNS_5APIntE.exit.i.i44.i.i.i.i.i.i.i.i.i ], [ %519, %517 ] @@ -3178,12 +3178,12 @@ _ZN4llvmneEmRKNS_5APIntE.exit.i.i52.i.i.i.i.i.i.i.i.i: ; preds = %_ZNK4llvm5APIn 547: ; preds = %543 call void @_ZdaPv(ptr noundef nonnull %544) #23, !noalias !26 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %115), !noalias !26 - br i1 %545, label %"_ZN4llvm6any_ofINS_14iterator_rangeIPKiEEZN12_GLOBAL__N_110getExtMaskENS_8ArrayRefIiEEjE3$_1EEbOT_T0_.exit.i.i.i.loopexit.split.loop.exit552", label %549 + br i1 %545, label %"_ZN4llvm6any_ofINS_14iterator_rangeIPKiEEZN12_GLOBAL__N_110getExtMaskENS_8ArrayRefIiEEjE3$_1EEbOT_T0_.exit.i.i.i.loopexit.split.loop.exit549", label %549 "_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_110getExtMaskEN4llvm8ArrayRefIiEEjE3$_1EclIPKiEEbT_.exit55.i.i.i.i.i.i.i.i.i": ; preds = %543, %_ZN4llvmneEmRKNS_5APIntE.exit.i.i52.i.i.i.i.i.i.i.i.i %548 = phi i1 [ %541, %_ZN4llvmneEmRKNS_5APIntE.exit.i.i52.i.i.i.i.i.i.i.i.i ], [ %545, %543 ] call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %115), !noalias !26 - br i1 %548, label %"_ZN4llvm6any_ofINS_14iterator_rangeIPKiEEZN12_GLOBAL__N_110getExtMaskENS_8ArrayRefIiEEjE3$_1EEbOT_T0_.exit.i.i.i.loopexit.split.loop.exit546", label %549 + br i1 %548, label %"_ZN4llvm6any_ofINS_14iterator_rangeIPKiEEZN12_GLOBAL__N_110getExtMaskENS_8ArrayRefIiEEjE3$_1EEbOT_T0_.exit.i.i.i.loopexit.split.loop.exit543", label %549 549: ; preds = %"_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_110getExtMaskEN4llvm8ArrayRefIiEEjE3$_1EclIPKiEEbT_.exit55.i.i.i.i.i.i.i.i.i", %547 %550 = getelementptr inbounds nuw i8, ptr %.029109.i.i.i.i.i.i.i.i.i, i64 12 @@ -3241,12 +3241,12 @@ _ZN4llvmneEmRKNS_5APIntE.exit.i.i60.i.i.i.i.i.i.i.i.i: ; preds = %_ZNK4llvm5APIn 573: ; preds = %569 call void @_ZdaPv(ptr noundef nonnull %570) #23, !noalias !26 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %114), !noalias !26 - br i1 %571, label %"_ZN4llvm6any_ofINS_14iterator_rangeIPKiEEZN12_GLOBAL__N_110getExtMaskENS_8ArrayRefIiEEjE3$_1EEbOT_T0_.exit.i.i.i.loopexit.split.loop.exit554", label %575 + br i1 %571, label %"_ZN4llvm6any_ofINS_14iterator_rangeIPKiEEZN12_GLOBAL__N_110getExtMaskENS_8ArrayRefIiEEjE3$_1EEbOT_T0_.exit.i.i.i.loopexit.split.loop.exit551", label %575 "_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_110getExtMaskEN4llvm8ArrayRefIiEEjE3$_1EclIPKiEEbT_.exit63.i.i.i.i.i.i.i.i.i": ; preds = %569, %_ZN4llvmneEmRKNS_5APIntE.exit.i.i60.i.i.i.i.i.i.i.i.i %574 = phi i1 [ %567, %_ZN4llvmneEmRKNS_5APIntE.exit.i.i60.i.i.i.i.i.i.i.i.i ], [ %571, %569 ] call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %114), !noalias !26 - br i1 %574, label %"_ZN4llvm6any_ofINS_14iterator_rangeIPKiEEZN12_GLOBAL__N_110getExtMaskENS_8ArrayRefIiEEjE3$_1EEbOT_T0_.exit.i.i.i.loopexit.split.loop.exit548", label %575 + br i1 %574, label %"_ZN4llvm6any_ofINS_14iterator_rangeIPKiEEZN12_GLOBAL__N_110getExtMaskENS_8ArrayRefIiEEjE3$_1EEbOT_T0_.exit.i.i.i.loopexit.split.loop.exit545", label %575 575: ; preds = %"_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_110getExtMaskEN4llvm8ArrayRefIiEEjE3$_1EclIPKiEEbT_.exit63.i.i.i.i.i.i.i.i.i", %573 %576 = getelementptr inbounds nuw i8, ptr %.029109.i.i.i.i.i.i.i.i.i, i64 16 @@ -3472,28 +3472,28 @@ _ZN4llvmneEmRKNS_5APIntE.exit.i.i84.i.i.i.i.i.i.i.i.i: ; preds = %_ZNK4llvm5APIn %662 = getelementptr inbounds nuw i8, ptr %.029109.i.i.i.i.i.i.i.i.i, i64 4 br label %"_ZN4llvm6any_ofINS_14iterator_rangeIPKiEEZN12_GLOBAL__N_110getExtMaskENS_8ArrayRefIiEEjE3$_1EEbOT_T0_.exit.i.i.i" -"_ZN4llvm6any_ofINS_14iterator_rangeIPKiEEZN12_GLOBAL__N_110getExtMaskENS_8ArrayRefIiEEjE3$_1EEbOT_T0_.exit.i.i.i.loopexit.split.loop.exit546": ; preds = %"_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_110getExtMaskEN4llvm8ArrayRefIiEEjE3$_1EclIPKiEEbT_.exit55.i.i.i.i.i.i.i.i.i" +"_ZN4llvm6any_ofINS_14iterator_rangeIPKiEEZN12_GLOBAL__N_110getExtMaskENS_8ArrayRefIiEEjE3$_1EEbOT_T0_.exit.i.i.i.loopexit.split.loop.exit543": ; preds = %"_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_110getExtMaskEN4llvm8ArrayRefIiEEjE3$_1EclIPKiEEbT_.exit55.i.i.i.i.i.i.i.i.i" %663 = getelementptr inbounds nuw i8, ptr %.029109.i.i.i.i.i.i.i.i.i, i64 8 br label %"_ZN4llvm6any_ofINS_14iterator_rangeIPKiEEZN12_GLOBAL__N_110getExtMaskENS_8ArrayRefIiEEjE3$_1EEbOT_T0_.exit.i.i.i" -"_ZN4llvm6any_ofINS_14iterator_rangeIPKiEEZN12_GLOBAL__N_110getExtMaskENS_8ArrayRefIiEEjE3$_1EEbOT_T0_.exit.i.i.i.loopexit.split.loop.exit548": ; preds = %"_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_110getExtMaskEN4llvm8ArrayRefIiEEjE3$_1EclIPKiEEbT_.exit63.i.i.i.i.i.i.i.i.i" +"_ZN4llvm6any_ofINS_14iterator_rangeIPKiEEZN12_GLOBAL__N_110getExtMaskENS_8ArrayRefIiEEjE3$_1EEbOT_T0_.exit.i.i.i.loopexit.split.loop.exit545": ; preds = %"_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_110getExtMaskEN4llvm8ArrayRefIiEEjE3$_1EclIPKiEEbT_.exit63.i.i.i.i.i.i.i.i.i" %664 = getelementptr inbounds nuw i8, ptr %.029109.i.i.i.i.i.i.i.i.i, i64 12 br label %"_ZN4llvm6any_ofINS_14iterator_rangeIPKiEEZN12_GLOBAL__N_110getExtMaskENS_8ArrayRefIiEEjE3$_1EEbOT_T0_.exit.i.i.i" -"_ZN4llvm6any_ofINS_14iterator_rangeIPKiEEZN12_GLOBAL__N_110getExtMaskENS_8ArrayRefIiEEjE3$_1EEbOT_T0_.exit.i.i.i.loopexit.split.loop.exit550": ; preds = %521 +"_ZN4llvm6any_ofINS_14iterator_rangeIPKiEEZN12_GLOBAL__N_110getExtMaskENS_8ArrayRefIiEEjE3$_1EEbOT_T0_.exit.i.i.i.loopexit.split.loop.exit547": ; preds = %521 %665 = getelementptr inbounds nuw i8, ptr %.029109.i.i.i.i.i.i.i.i.i, i64 4 br label %"_ZN4llvm6any_ofINS_14iterator_rangeIPKiEEZN12_GLOBAL__N_110getExtMaskENS_8ArrayRefIiEEjE3$_1EEbOT_T0_.exit.i.i.i" -"_ZN4llvm6any_ofINS_14iterator_rangeIPKiEEZN12_GLOBAL__N_110getExtMaskENS_8ArrayRefIiEEjE3$_1EEbOT_T0_.exit.i.i.i.loopexit.split.loop.exit552": ; preds = %547 +"_ZN4llvm6any_ofINS_14iterator_rangeIPKiEEZN12_GLOBAL__N_110getExtMaskENS_8ArrayRefIiEEjE3$_1EEbOT_T0_.exit.i.i.i.loopexit.split.loop.exit549": ; preds = %547 %666 = getelementptr inbounds nuw i8, ptr %.029109.i.i.i.i.i.i.i.i.i, i64 8 br label %"_ZN4llvm6any_ofINS_14iterator_rangeIPKiEEZN12_GLOBAL__N_110getExtMaskENS_8ArrayRefIiEEjE3$_1EEbOT_T0_.exit.i.i.i" -"_ZN4llvm6any_ofINS_14iterator_rangeIPKiEEZN12_GLOBAL__N_110getExtMaskENS_8ArrayRefIiEEjE3$_1EEbOT_T0_.exit.i.i.i.loopexit.split.loop.exit554": ; preds = %573 +"_ZN4llvm6any_ofINS_14iterator_rangeIPKiEEZN12_GLOBAL__N_110getExtMaskENS_8ArrayRefIiEEjE3$_1EEbOT_T0_.exit.i.i.i.loopexit.split.loop.exit551": ; preds = %573 %667 = getelementptr inbounds nuw i8, ptr %.029109.i.i.i.i.i.i.i.i.i, i64 12 br label %"_ZN4llvm6any_ofINS_14iterator_rangeIPKiEEZN12_GLOBAL__N_110getExtMaskENS_8ArrayRefIiEEjE3$_1EEbOT_T0_.exit.i.i.i" -"_ZN4llvm6any_ofINS_14iterator_rangeIPKiEEZN12_GLOBAL__N_110getExtMaskENS_8ArrayRefIiEEjE3$_1EEbOT_T0_.exit.i.i.i": ; preds = %"_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_110getExtMaskEN4llvm8ArrayRefIiEEjE3$_1EclIPKiEEbT_.exit.i.i.i.i.i.i.i.i.i", %495, %"_ZN4llvm6any_ofINS_14iterator_rangeIPKiEEZN12_GLOBAL__N_110getExtMaskENS_8ArrayRefIiEEjE3$_1EEbOT_T0_.exit.i.i.i.loopexit.split.loop.exit", %"_ZN4llvm6any_ofINS_14iterator_rangeIPKiEEZN12_GLOBAL__N_110getExtMaskENS_8ArrayRefIiEEjE3$_1EEbOT_T0_.exit.i.i.i.loopexit.split.loop.exit546", %"_ZN4llvm6any_ofINS_14iterator_rangeIPKiEEZN12_GLOBAL__N_110getExtMaskENS_8ArrayRefIiEEjE3$_1EEbOT_T0_.exit.i.i.i.loopexit.split.loop.exit548", %"_ZN4llvm6any_ofINS_14iterator_rangeIPKiEEZN12_GLOBAL__N_110getExtMaskENS_8ArrayRefIiEEjE3$_1EEbOT_T0_.exit.i.i.i.loopexit.split.loop.exit550", %"_ZN4llvm6any_ofINS_14iterator_rangeIPKiEEZN12_GLOBAL__N_110getExtMaskENS_8ArrayRefIiEEjE3$_1EEbOT_T0_.exit.i.i.i.loopexit.split.loop.exit552", %"_ZN4llvm6any_ofINS_14iterator_rangeIPKiEEZN12_GLOBAL__N_110getExtMaskENS_8ArrayRefIiEEjE3$_1EEbOT_T0_.exit.i.i.i.loopexit.split.loop.exit554", %"_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_110getExtMaskEN4llvm8ArrayRefIiEEjE3$_1EclIPKiEEbT_.exit87.i.i.i.i.i.i.i.i.i", %660, %"_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_110getExtMaskEN4llvm8ArrayRefIiEEjE3$_1EclIPKiEEbT_.exit79.i.i.i.i.i.i.i.i.i", %632, %"_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_110getExtMaskEN4llvm8ArrayRefIiEEjE3$_1EclIPKiEEbT_.exit71.i.i.i.i.i.i.i.i.i", %604 - %.028.i.i.i.i.i.i.i.i.i = phi ptr [ %.029.lcssa.i.i.i.i.i.i.i.i.i, %"_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_110getExtMaskEN4llvm8ArrayRefIiEEjE3$_1EclIPKiEEbT_.exit71.i.i.i.i.i.i.i.i.i" ], [ %.1.i.i.i.i.i.i.i.i.i, %"_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_110getExtMaskEN4llvm8ArrayRefIiEEjE3$_1EclIPKiEEbT_.exit79.i.i.i.i.i.i.i.i.i" ], [ %.2.i.i.i.i.i.i.i.i.i, %"_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_110getExtMaskEN4llvm8ArrayRefIiEEjE3$_1EclIPKiEEbT_.exit87.i.i.i.i.i.i.i.i.i" ], [ %.029.lcssa.i.i.i.i.i.i.i.i.i, %604 ], [ %.1.i.i.i.i.i.i.i.i.i, %632 ], [ %.2.i.i.i.i.i.i.i.i.i, %660 ], [ %662, %"_ZN4llvm6any_ofINS_14iterator_rangeIPKiEEZN12_GLOBAL__N_110getExtMaskENS_8ArrayRefIiEEjE3$_1EEbOT_T0_.exit.i.i.i.loopexit.split.loop.exit" ], [ %663, %"_ZN4llvm6any_ofINS_14iterator_rangeIPKiEEZN12_GLOBAL__N_110getExtMaskENS_8ArrayRefIiEEjE3$_1EEbOT_T0_.exit.i.i.i.loopexit.split.loop.exit546" ], [ %664, %"_ZN4llvm6any_ofINS_14iterator_rangeIPKiEEZN12_GLOBAL__N_110getExtMaskENS_8ArrayRefIiEEjE3$_1EEbOT_T0_.exit.i.i.i.loopexit.split.loop.exit548" ], [ %665, %"_ZN4llvm6any_ofINS_14iterator_rangeIPKiEEZN12_GLOBAL__N_110getExtMaskENS_8ArrayRefIiEEjE3$_1EEbOT_T0_.exit.i.i.i.loopexit.split.loop.exit550" ], [ %666, %"_ZN4llvm6any_ofINS_14iterator_rangeIPKiEEZN12_GLOBAL__N_110getExtMaskENS_8ArrayRefIiEEjE3$_1EEbOT_T0_.exit.i.i.i.loopexit.split.loop.exit552" ], [ %667, %"_ZN4llvm6any_ofINS_14iterator_rangeIPKiEEZN12_GLOBAL__N_110getExtMaskENS_8ArrayRefIiEEjE3$_1EEbOT_T0_.exit.i.i.i.loopexit.split.loop.exit554" ], [ %.029109.i.i.i.i.i.i.i.i.i, %495 ], [ %.029109.i.i.i.i.i.i.i.i.i, %"_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_110getExtMaskEN4llvm8ArrayRefIiEEjE3$_1EclIPKiEEbT_.exit.i.i.i.i.i.i.i.i.i" ] +"_ZN4llvm6any_ofINS_14iterator_rangeIPKiEEZN12_GLOBAL__N_110getExtMaskENS_8ArrayRefIiEEjE3$_1EEbOT_T0_.exit.i.i.i": ; preds = %"_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_110getExtMaskEN4llvm8ArrayRefIiEEjE3$_1EclIPKiEEbT_.exit.i.i.i.i.i.i.i.i.i", %495, %"_ZN4llvm6any_ofINS_14iterator_rangeIPKiEEZN12_GLOBAL__N_110getExtMaskENS_8ArrayRefIiEEjE3$_1EEbOT_T0_.exit.i.i.i.loopexit.split.loop.exit", %"_ZN4llvm6any_ofINS_14iterator_rangeIPKiEEZN12_GLOBAL__N_110getExtMaskENS_8ArrayRefIiEEjE3$_1EEbOT_T0_.exit.i.i.i.loopexit.split.loop.exit543", %"_ZN4llvm6any_ofINS_14iterator_rangeIPKiEEZN12_GLOBAL__N_110getExtMaskENS_8ArrayRefIiEEjE3$_1EEbOT_T0_.exit.i.i.i.loopexit.split.loop.exit545", %"_ZN4llvm6any_ofINS_14iterator_rangeIPKiEEZN12_GLOBAL__N_110getExtMaskENS_8ArrayRefIiEEjE3$_1EEbOT_T0_.exit.i.i.i.loopexit.split.loop.exit547", %"_ZN4llvm6any_ofINS_14iterator_rangeIPKiEEZN12_GLOBAL__N_110getExtMaskENS_8ArrayRefIiEEjE3$_1EEbOT_T0_.exit.i.i.i.loopexit.split.loop.exit549", %"_ZN4llvm6any_ofINS_14iterator_rangeIPKiEEZN12_GLOBAL__N_110getExtMaskENS_8ArrayRefIiEEjE3$_1EEbOT_T0_.exit.i.i.i.loopexit.split.loop.exit551", %"_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_110getExtMaskEN4llvm8ArrayRefIiEEjE3$_1EclIPKiEEbT_.exit87.i.i.i.i.i.i.i.i.i", %660, %"_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_110getExtMaskEN4llvm8ArrayRefIiEEjE3$_1EclIPKiEEbT_.exit79.i.i.i.i.i.i.i.i.i", %632, %"_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_110getExtMaskEN4llvm8ArrayRefIiEEjE3$_1EclIPKiEEbT_.exit71.i.i.i.i.i.i.i.i.i", %604 + %.028.i.i.i.i.i.i.i.i.i = phi ptr [ %.029.lcssa.i.i.i.i.i.i.i.i.i, %"_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_110getExtMaskEN4llvm8ArrayRefIiEEjE3$_1EclIPKiEEbT_.exit71.i.i.i.i.i.i.i.i.i" ], [ %.1.i.i.i.i.i.i.i.i.i, %"_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_110getExtMaskEN4llvm8ArrayRefIiEEjE3$_1EclIPKiEEbT_.exit79.i.i.i.i.i.i.i.i.i" ], [ %.2.i.i.i.i.i.i.i.i.i, %"_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_110getExtMaskEN4llvm8ArrayRefIiEEjE3$_1EclIPKiEEbT_.exit87.i.i.i.i.i.i.i.i.i" ], [ %.029.lcssa.i.i.i.i.i.i.i.i.i, %604 ], [ %.1.i.i.i.i.i.i.i.i.i, %632 ], [ %.2.i.i.i.i.i.i.i.i.i, %660 ], [ %662, %"_ZN4llvm6any_ofINS_14iterator_rangeIPKiEEZN12_GLOBAL__N_110getExtMaskENS_8ArrayRefIiEEjE3$_1EEbOT_T0_.exit.i.i.i.loopexit.split.loop.exit" ], [ %663, %"_ZN4llvm6any_ofINS_14iterator_rangeIPKiEEZN12_GLOBAL__N_110getExtMaskENS_8ArrayRefIiEEjE3$_1EEbOT_T0_.exit.i.i.i.loopexit.split.loop.exit543" ], [ %664, %"_ZN4llvm6any_ofINS_14iterator_rangeIPKiEEZN12_GLOBAL__N_110getExtMaskENS_8ArrayRefIiEEjE3$_1EEbOT_T0_.exit.i.i.i.loopexit.split.loop.exit545" ], [ %665, %"_ZN4llvm6any_ofINS_14iterator_rangeIPKiEEZN12_GLOBAL__N_110getExtMaskENS_8ArrayRefIiEEjE3$_1EEbOT_T0_.exit.i.i.i.loopexit.split.loop.exit547" ], [ %666, %"_ZN4llvm6any_ofINS_14iterator_rangeIPKiEEZN12_GLOBAL__N_110getExtMaskENS_8ArrayRefIiEEjE3$_1EEbOT_T0_.exit.i.i.i.loopexit.split.loop.exit549" ], [ %667, %"_ZN4llvm6any_ofINS_14iterator_rangeIPKiEEZN12_GLOBAL__N_110getExtMaskENS_8ArrayRefIiEEjE3$_1EEbOT_T0_.exit.i.i.i.loopexit.split.loop.exit551" ], [ %.029109.i.i.i.i.i.i.i.i.i, %495 ], [ %.029109.i.i.i.i.i.i.i.i.i, %"_ZN9__gnu_cxx5__ops10_Iter_predIZN12_GLOBAL__N_110getExtMaskEN4llvm8ArrayRefIiEEjE3$_1EclIPKiEEbT_.exit.i.i.i.i.i.i.i.i.i" ] %.not.i30.i.i = icmp eq ptr %442, %.028.i.i.i.i.i.i.i.i.i br i1 %.not.i30.i.i, label %"_ZN4llvm6any_ofINS_14iterator_rangeIPKiEEZN12_GLOBAL__N_110getExtMaskENS_8ArrayRefIiEEjE3$_1EEbOT_T0_.exit.thread.i.i.i", label %668 @@ -3779,7 +3779,7 @@ _ZN12_GLOBAL__N_18applyEXTERN4llvm12MachineInstrERNS_19ShuffleVectorPseudoE.exit br label %780 780: ; preds = %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK3$_2clEv.exit.thread", %_ZN12_GLOBAL__N_18applyEXTERN4llvm12MachineInstrERNS_19ShuffleVectorPseudoE.exit - %.0.i.i76403 = phi i1 [ false, %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK3$_2clEv.exit.thread" ], [ true, %_ZN12_GLOBAL__N_18applyEXTERN4llvm12MachineInstrERNS_19ShuffleVectorPseudoE.exit ] + %.0.i.i76400 = phi i1 [ false, %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK3$_2clEv.exit.thread" ], [ true, %_ZN12_GLOBAL__N_18applyEXTERN4llvm12MachineInstrERNS_19ShuffleVectorPseudoE.exit ] %781 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(64) %375) #22 %782 = load ptr, ptr %375, align 8 %783 = icmp eq ptr %782, %376 @@ -3991,7 +3991,7 @@ _ZN12_GLOBAL__N_124applyShuffleVectorPseudoERN4llvm12MachineInstrERNS_19ShuffleV br label %882 882: ; preds = %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK3$_3clEv.exit.thread", %_ZN12_GLOBAL__N_124applyShuffleVectorPseudoERN4llvm12MachineInstrERNS_19ShuffleVectorPseudoE.exit105 - %.030.i24.i.i405 = phi i1 [ false, %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK3$_3clEv.exit.thread" ], [ true, %_ZN12_GLOBAL__N_124applyShuffleVectorPseudoERN4llvm12MachineInstrERNS_19ShuffleVectorPseudoE.exit105 ] + %.030.i24.i.i402 = phi i1 [ false, %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK3$_3clEv.exit.thread" ], [ true, %_ZN12_GLOBAL__N_124applyShuffleVectorPseudoERN4llvm12MachineInstrERNS_19ShuffleVectorPseudoE.exit105 ] %883 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(64) %787) #22 %884 = load ptr, ptr %787, align 8 %885 = icmp eq ptr %884, %788 @@ -4170,7 +4170,7 @@ _ZN12_GLOBAL__N_124applyShuffleVectorPseudoERN4llvm12MachineInstrERNS_19ShuffleV br label %967 967: ; preds = %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK3$_4clEv.exit.thread", %_ZN12_GLOBAL__N_124applyShuffleVectorPseudoERN4llvm12MachineInstrERNS_19ShuffleVectorPseudoE.exit119 - %.018.i24.i.i407 = phi i1 [ false, %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK3$_4clEv.exit.thread" ], [ true, %_ZN12_GLOBAL__N_124applyShuffleVectorPseudoERN4llvm12MachineInstrERNS_19ShuffleVectorPseudoE.exit119 ] + %.018.i24.i.i404 = phi i1 [ false, %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK3$_4clEv.exit.thread" ], [ true, %_ZN12_GLOBAL__N_124applyShuffleVectorPseudoERN4llvm12MachineInstrERNS_19ShuffleVectorPseudoE.exit119 ] %968 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(64) %889) #22 %969 = load ptr, ptr %889, align 8 %970 = icmp eq ptr %969, %890 @@ -4349,7 +4349,7 @@ _ZN12_GLOBAL__N_124applyShuffleVectorPseudoERN4llvm12MachineInstrERNS_19ShuffleV br label %1055 1055: ; preds = %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK3$_5clEv.exit.thread", %_ZN12_GLOBAL__N_124applyShuffleVectorPseudoERN4llvm12MachineInstrERNS_19ShuffleVectorPseudoE.exit133 - %.014.i24.i.i409 = phi i1 [ false, %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK3$_5clEv.exit.thread" ], [ true, %_ZN12_GLOBAL__N_124applyShuffleVectorPseudoERN4llvm12MachineInstrERNS_19ShuffleVectorPseudoE.exit133 ] + %.014.i24.i.i406 = phi i1 [ false, %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK3$_5clEv.exit.thread" ], [ true, %_ZN12_GLOBAL__N_124applyShuffleVectorPseudoERN4llvm12MachineInstrERNS_19ShuffleVectorPseudoE.exit133 ] %1056 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(64) %974) #22 %1057 = load ptr, ptr %974, align 8 %1058 = icmp eq ptr %1057, %975 @@ -5635,9 +5635,9 @@ _ZNK4llvm5APInt12getSExtValueEv.exit.i.i: ; preds = %1613, %1606 %1682 = getelementptr inbounds nuw i8, ptr %64, i64 16 %1683 = load i8, ptr %1682, align 8 %1684 = trunc i8 %1683 to i1 - br i1 %1684, label %1685, label %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK4$_11clEv.exit.thread422" + br i1 %1684, label %1685, label %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK4$_11clEv.exit.thread419" -"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK4$_11clEv.exit.thread422": ; preds = %1680 +"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK4$_11clEv.exit.thread419": ; preds = %1680 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %64) br label %_ZN12_GLOBAL__N_119ShuffleVectorPseudoD2Ev.exit @@ -6100,12 +6100,12 @@ _ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i.i215: ; preds = %190 %switch.gep = getelementptr inbounds [13 x ptr], ptr @switch.table._ZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEE.121, i64 0, i64 %1914 %switch.load = load ptr, ptr %switch.gep, align 8 %1915 = sext i32 %1900 to i64 - %switch.gep596 = getelementptr inbounds [13 x ptr], ptr @switch.table._ZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEE.122, i64 0, i64 %1915 - %switch.load597 = load ptr, ptr %switch.gep596, align 8 + %switch.gep593 = getelementptr inbounds [13 x ptr], ptr @switch.table._ZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEE.122, i64 0, i64 %1915 + %switch.load594 = load ptr, ptr %switch.gep593, align 8 %1916 = getelementptr inbounds nuw i8, ptr %51, i64 24 %1917 = getelementptr inbounds nuw i8, ptr %51, i64 16 store ptr %switch.load, ptr %1916, align 8, !alias.scope !71 - store ptr %switch.load597, ptr %1917, align 8, !alias.scope !71 + store ptr %switch.load594, ptr %1917, align 8, !alias.scope !71 %1918 = load i32, ptr %50, align 4 %1919 = icmp eq i32 %1918, 14 br i1 %1919, label %_ZNKSt8functionIFN4llvm8RegisterERNS0_16MachineIRBuilderEEEclES3_.exit.i, label %1921 @@ -6146,16 +6146,16 @@ _ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i58.i: ; preds = %1928 store i64 %.sroa.04.0.i.i59.i, ptr %.sroa.450.0..sroa_idx.i62.i, align 16, !noalias !74 store ptr %1933, ptr %52, align 8, !alias.scope !74 %1934 = sext i32 %1918 to i64 - %switch.gep598 = getelementptr inbounds [13 x ptr], ptr @switch.table._ZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEE.121, i64 0, i64 %1934 - %switch.load599 = load ptr, ptr %switch.gep598, align 8 + %switch.gep595 = getelementptr inbounds [13 x ptr], ptr @switch.table._ZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEE.121, i64 0, i64 %1934 + %switch.load596 = load ptr, ptr %switch.gep595, align 8 %1935 = sext i32 %1918 to i64 - %switch.gep600 = getelementptr inbounds [13 x ptr], ptr @switch.table._ZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEE.122, i64 0, i64 %1935 - %switch.load601 = load ptr, ptr %switch.gep600, align 8 + %switch.gep597 = getelementptr inbounds [13 x ptr], ptr @switch.table._ZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEE.122, i64 0, i64 %1935 + %switch.load598 = load ptr, ptr %switch.gep597, align 8 %1936 = getelementptr inbounds nuw i8, ptr %52, i64 24 %1937 = getelementptr inbounds nuw i8, ptr %52, i64 16 - store ptr %switch.load599, ptr %1936, align 8, !alias.scope !74 - store ptr %switch.load601, ptr %1937, align 8, !alias.scope !74 - %1938 = call i32 %switch.load599(ptr noundef nonnull align 8 dereferenceable(32) %52, ptr noundef nonnull align 8 dereferenceable(88) %1858) #22 + store ptr %switch.load596, ptr %1936, align 8, !alias.scope !74 + store ptr %switch.load598, ptr %1937, align 8, !alias.scope !74 + %1938 = call i32 %switch.load596(ptr noundef nonnull align 8 dereferenceable(32) %52, ptr noundef nonnull align 8 dereferenceable(88) %1858) #22 %1939 = load ptr, ptr %1917, align 8 %.not.i.i68.i = icmp eq ptr %1939, null br i1 %.not.i.i68.i, label %1940, label %_ZNKSt8functionIFN4llvm8RegisterERNS0_16MachineIRBuilderEEEclES3_.exit69.i @@ -6576,1059 +6576,1046 @@ _ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i.i245: ; preds = %212 %2159 = load ptr, ptr %38, align 8 %.0.in.i.i.i247 = select i1 %2158, ptr %38, ptr %2159 %.0.i.i.i248 = load i64, ptr %.0.in.i.i.i247, align 8 - %2160 = and i64 %2129, 2 - %.not.i.not.i.i.i.i249 = icmp eq i64 %2160, 0 - %2161 = and i64 %2129, 6 - %2162 = icmp eq i64 %2161, 2 - %2163 = and i64 %2129, 1 - %2164 = icmp ne i64 %2163, 0 - %or.cond14.i.i.i.i250 = or i1 %2164, %2162 - br i1 %or.cond14.i.i.i.i250, label %2165, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i.i.i251 - -2165: ; preds = %2155 - %.not.i1.i.i.i.i260 = icmp eq i64 %2163, 0 - br i1 %.not.i1.i.i.i.i260, label %2168, label %2166 - -2166: ; preds = %2165 - %2167 = lshr i64 %2129, 3 - br label %_ZNK4llvm3LLT14getSizeInBytesEv.exit.i.i + %2160 = and i64 %2129, 1 + %.not36.i.i = icmp eq i64 %2160, 0 + br i1 %.not36.i.i, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i.i.i254, label %2161 -2168: ; preds = %2165 - %2169 = lshr i64 %2129, 19 - %2170 = and i64 %2169, 65535 - %spec.select.i.i.i.i.i261 = select i1 %.not.i.not.i.i.i.i249, i64 %2169, i64 %2170 +2161: ; preds = %2155 + %2162 = lshr i64 %2129, 3 br label %_ZNK4llvm3LLT14getSizeInBytesEv.exit.i.i -_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i.i.i251: ; preds = %2155 - %2171 = lshr i64 %2129, 3 - %.sroa.0.0.insert.ext.i.i.i.i.i.i252 = and i64 %2171, 65535 - %2172 = select i1 %.not.i.not.i.i.i.i249, i64 2251799813685248, i64 576460752303423488 - %2173 = and i64 %2172, %2129 - %.not1.i4.i.i.i.i253 = icmp ne i64 %2173, 0 - %2174 = lshr i64 %2129, 19 - %2175 = and i64 %2174, 65535 - %spec.select.i10.i.i.i.i254 = select i1 %.not.i.not.i.i.i.i249, i64 %2174, i64 %2175 - %2176 = mul nuw nsw i64 %spec.select.i10.i.i.i.i254, %.sroa.0.0.insert.ext.i.i.i.i.i.i252 - %2177 = zext i1 %.not1.i4.i.i.i.i253 to i8 +_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i.i.i254: ; preds = %2155 + %2163 = and i64 %2129, 2 + %.not.i.not.i.i.i.i255 = icmp eq i64 %2163, 0 + %2164 = lshr i64 %2129, 3 + %.sroa.0.0.insert.ext.i.i.i.i.i.i256 = and i64 %2164, 65535 + %2165 = select i1 %.not.i.not.i.i.i.i255, i64 2251799813685248, i64 576460752303423488 + %2166 = and i64 %2165, %2129 + %.not1.i4.i.i.i.i257 = icmp ne i64 %2166, 0 + %2167 = lshr i64 %2129, 19 + %2168 = and i64 %2167, 65535 + %spec.select.i10.i.i.i.i258 = select i1 %.not.i.not.i.i.i.i255, i64 %2167, i64 %2168 + %2169 = mul nuw nsw i64 %spec.select.i10.i.i.i.i258, %.sroa.0.0.insert.ext.i.i.i.i.i.i256 + %2170 = zext i1 %.not1.i4.i.i.i.i257 to i8 br label %_ZNK4llvm3LLT14getSizeInBytesEv.exit.i.i -_ZNK4llvm3LLT14getSizeInBytesEv.exit.i.i: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i.i.i251, %2168, %2166 - %.sroa.012.0.in.i.i.i.i255 = phi i64 [ %2176, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i.i.i251 ], [ %2167, %2166 ], [ %spec.select.i.i.i.i.i261, %2168 ] - %.sroa.3.0.i.i.i.i256 = phi i8 [ %2177, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i.i.i251 ], [ 0, %2166 ], [ 0, %2168 ] - %.sroa.012.0.i.i.i.i257 = and i64 %.sroa.012.0.in.i.i.i.i255, 4294967295 - %2178 = add nuw nsw i64 %.sroa.012.0.i.i.i.i257, 7 - %2179 = lshr i64 %2178, 3 - store i64 %2179, ptr %39, align 8 - %.sroa.2.0..sroa_idx.i.i258 = getelementptr inbounds nuw i8, ptr %39, i64 8 - store i8 %.sroa.3.0.i.i.i.i256, ptr %.sroa.2.0..sroa_idx.i.i258, align 8 - %2180 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %39) #22 - %.not25.i.i = icmp eq i64 %.0.i.i.i248, %2180 - br i1 %.not25.i.i, label %2181, label %.critedge.i.i - -2181: ; preds = %_ZNK4llvm3LLT14getSizeInBytesEv.exit.i.i - %2182 = call noundef ptr @_ZN4llvm20getDefIgnoringCopiesENS_8RegisterERKNS_19MachineRegisterInfoE(i32 %2149, ptr noundef nonnull align 8 dereferenceable(512) %2094) #22 - %.not.i.i.i27.i.i = icmp eq ptr %2182, null - br i1 %.not.i.i.i27.i.i, label %.critedge.i.i, label %2183 - -2183: ; preds = %2181 - %2184 = getelementptr inbounds nuw i8, ptr %2182, i64 68 - %2185 = load i16, ptr %2184, align 4 - %2186 = icmp eq i16 %2185, 64 - %spec.select = select i1 %2186, i32 %2147, i32 0 +_ZNK4llvm3LLT14getSizeInBytesEv.exit.i.i: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i.i.i254, %2161 + %.sroa.012.0.in.i.i.i.i249 = phi i64 [ %2169, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i.i.i254 ], [ %2162, %2161 ] + %.sroa.3.0.i.i.i.i250 = phi i8 [ %2170, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i.i.i254 ], [ 0, %2161 ] + %.sroa.012.0.i.i.i.i251 = and i64 %.sroa.012.0.in.i.i.i.i249, 4294967295 + %2171 = add nuw nsw i64 %.sroa.012.0.i.i.i.i251, 7 + %2172 = lshr i64 %2171, 3 + store i64 %2172, ptr %39, align 8 + %.sroa.2.0..sroa_idx.i.i252 = getelementptr inbounds nuw i8, ptr %39, i64 8 + store i8 %.sroa.3.0.i.i.i.i250, ptr %.sroa.2.0..sroa_idx.i.i252, align 8 + %2173 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %39) #22 + %.not25.i.i = icmp eq i64 %.0.i.i.i248, %2173 + br i1 %.not25.i.i, label %2174, label %.critedge.i.i + +2174: ; preds = %_ZNK4llvm3LLT14getSizeInBytesEv.exit.i.i + %2175 = call noundef ptr @_ZN4llvm20getDefIgnoringCopiesENS_8RegisterERKNS_19MachineRegisterInfoE(i32 %2149, ptr noundef nonnull align 8 dereferenceable(512) %2094) #22 + %.not.i.i.i27.i.i = icmp eq ptr %2175, null + br i1 %.not.i.i.i27.i.i, label %.critedge.i.i, label %2176 + +2176: ; preds = %2174 + %2177 = getelementptr inbounds nuw i8, ptr %2175, i64 68 + %2178 = load i16, ptr %2177, align 4 + %2179 = icmp eq i16 %2178, 64 + %spec.select = select i1 %2179, i32 %2147, i32 0 br label %.critedge.i.i -.critedge.i.i: ; preds = %2183, %2181, %_ZNK4llvm3LLT14getSizeInBytesEv.exit.i.i, %2143 - %.sroa.0393.0 = phi i32 [ 0, %2181 ], [ 0, %_ZNK4llvm3LLT14getSizeInBytesEv.exit.i.i ], [ 0, %2143 ], [ %spec.select, %2183 ] - %.1.i.i = phi i1 [ false, %2181 ], [ false, %_ZNK4llvm3LLT14getSizeInBytesEv.exit.i.i ], [ false, %2143 ], [ %2186, %2183 ] - %2187 = load i8, ptr %2152, align 8 - %2188 = trunc i8 %2187 to i1 - br i1 %2188, label %2189, label %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK4$_16clEv.exit" +.critedge.i.i: ; preds = %2176, %2174, %_ZNK4llvm3LLT14getSizeInBytesEv.exit.i.i, %2143 + %.sroa.0390.0 = phi i32 [ 0, %2174 ], [ 0, %_ZNK4llvm3LLT14getSizeInBytesEv.exit.i.i ], [ 0, %2143 ], [ %spec.select, %2176 ] + %.1.i.i = phi i1 [ false, %2174 ], [ false, %_ZNK4llvm3LLT14getSizeInBytesEv.exit.i.i ], [ false, %2143 ], [ %2179, %2176 ] + %2180 = load i8, ptr %2152, align 8 + %2181 = trunc i8 %2180 to i1 + br i1 %2181, label %2182, label %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK4$_16clEv.exit" -2189: ; preds = %.critedge.i.i +2182: ; preds = %.critedge.i.i store i8 0, ptr %2152, align 8 - %2190 = getelementptr inbounds nuw i8, ptr %38, i64 8 - %2191 = load i32, ptr %2190, align 8 - %2192 = icmp ugt i32 %2191, 64 - br i1 %2192, label %2193, label %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK4$_16clEv.exit" - -2193: ; preds = %2189 - %2194 = load ptr, ptr %38, align 8 - %2195 = icmp eq ptr %2194, null - br i1 %2195, label %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK4$_16clEv.exit", label %2196 - -2196: ; preds = %2193 - call void @_ZdaPv(ptr noundef nonnull %2194) #23 + %2183 = getelementptr inbounds nuw i8, ptr %38, i64 8 + %2184 = load i32, ptr %2183, align 8 + %2185 = icmp ugt i32 %2184, 64 + br i1 %2185, label %2186, label %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK4$_16clEv.exit" + +2186: ; preds = %2182 + %2187 = load ptr, ptr %38, align 8 + %2188 = icmp eq ptr %2187, null + br i1 %2188, label %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK4$_16clEv.exit", label %2189 + +2189: ; preds = %2186 + call void @_ZdaPv(ptr noundef nonnull %2187) #23 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %38) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %39) - br i1 %.1.i.i, label %2197, label %_ZN12_GLOBAL__N_119ShuffleVectorPseudoD2Ev.exit + br i1 %.1.i.i, label %2190, label %_ZN12_GLOBAL__N_119ShuffleVectorPseudoD2Ev.exit "_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK4$_16clEv.exit.thread": ; preds = %2115, %2090, %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i.i245, %2134, %2112, %2121, %.loopexit.i.i244 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %38) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %39) br label %_ZN12_GLOBAL__N_119ShuffleVectorPseudoD2Ev.exit -"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK4$_16clEv.exit": ; preds = %.critedge.i.i, %2189, %2193 +"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK4$_16clEv.exit": ; preds = %.critedge.i.i, %2182, %2186 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %38) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %39) - br i1 %.1.i.i, label %2197, label %_ZN12_GLOBAL__N_119ShuffleVectorPseudoD2Ev.exit - -2197: ; preds = %2196, %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK4$_16clEv.exit" - %2198 = load ptr, ptr %143, align 8 + br i1 %.1.i.i, label %2190, label %_ZN12_GLOBAL__N_119ShuffleVectorPseudoD2Ev.exit + +2190: ; preds = %2189, %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK4$_16clEv.exit" + %2191 = load ptr, ptr %143, align 8 + %2192 = load ptr, ptr %2191, align 8 + %2193 = getelementptr inbounds nuw i8, ptr %0, i64 4232 + %2194 = load ptr, ptr %2193, align 8 + %2195 = load ptr, ptr %2194, align 8 + %2196 = getelementptr inbounds nuw i8, ptr %2195, i64 32 + %2197 = load ptr, ptr %2196, align 8 + call void %2197(ptr noundef nonnull align 8 dereferenceable(72) %2194, ptr noundef nonnull align 8 dereferenceable(70) %2192) #22 + %2198 = getelementptr inbounds nuw i8, ptr %2192, i64 32 %2199 = load ptr, ptr %2198, align 8 - %2200 = getelementptr inbounds nuw i8, ptr %0, i64 4232 - %2201 = load ptr, ptr %2200, align 8 - %2202 = load ptr, ptr %2201, align 8 - %2203 = getelementptr inbounds nuw i8, ptr %2202, i64 32 - %2204 = load ptr, ptr %2203, align 8 - call void %2204(ptr noundef nonnull align 8 dereferenceable(72) %2201, ptr noundef nonnull align 8 dereferenceable(70) %2199) #22 - %2205 = getelementptr inbounds nuw i8, ptr %2199, i64 32 - %2206 = load ptr, ptr %2205, align 8 - %2207 = getelementptr inbounds nuw i8, ptr %2206, i64 4 - %2208 = load i32, ptr %2207, align 4 - %2209 = getelementptr inbounds nuw i8, ptr %2206, i64 36 - %2210 = load i32, ptr %2209, align 4 - call void @_ZN4llvm14MachineOperand6setRegENS_8RegisterE(ptr noundef nonnull align 8 dereferenceable(32) %2206, i32 %2210) #22 - %2211 = load ptr, ptr %2205, align 8 - %2212 = getelementptr inbounds nuw i8, ptr %2211, i64 32 - call void @_ZN4llvm14MachineOperand6setRegENS_8RegisterE(ptr noundef nonnull align 8 dereferenceable(32) %2212, i32 %2208) #22 - %2213 = load ptr, ptr %2205, align 8 - %2214 = getelementptr inbounds nuw i8, ptr %2213, i64 64 - call void @_ZN4llvm14MachineOperand6setRegENS_8RegisterE(ptr noundef nonnull align 8 dereferenceable(32) %2214, i32 %.sroa.0393.0) #22 - %2215 = load ptr, ptr %2201, align 8 - %2216 = getelementptr inbounds nuw i8, ptr %2215, i64 40 - %2217 = load ptr, ptr %2216, align 8 - call void %2217(ptr noundef nonnull align 8 dereferenceable(72) %2201, ptr noundef nonnull align 8 dereferenceable(70) %2199) #22 + %2200 = getelementptr inbounds nuw i8, ptr %2199, i64 4 + %2201 = load i32, ptr %2200, align 4 + %2202 = getelementptr inbounds nuw i8, ptr %2199, i64 36 + %2203 = load i32, ptr %2202, align 4 + call void @_ZN4llvm14MachineOperand6setRegENS_8RegisterE(ptr noundef nonnull align 8 dereferenceable(32) %2199, i32 %2203) #22 + %2204 = load ptr, ptr %2198, align 8 + %2205 = getelementptr inbounds nuw i8, ptr %2204, i64 32 + call void @_ZN4llvm14MachineOperand6setRegENS_8RegisterE(ptr noundef nonnull align 8 dereferenceable(32) %2205, i32 %2201) #22 + %2206 = load ptr, ptr %2198, align 8 + %2207 = getelementptr inbounds nuw i8, ptr %2206, i64 64 + call void @_ZN4llvm14MachineOperand6setRegENS_8RegisterE(ptr noundef nonnull align 8 dereferenceable(32) %2207, i32 %.sroa.0390.0) #22 + %2208 = load ptr, ptr %2194, align 8 + %2209 = getelementptr inbounds nuw i8, ptr %2208, i64 40 + %2210 = load ptr, ptr %2209, align 8 + call void %2210(ptr noundef nonnull align 8 dereferenceable(72) %2194, ptr noundef nonnull align 8 dereferenceable(70) %2192) #22 br label %_ZN12_GLOBAL__N_119ShuffleVectorPseudoD2Ev.exit -2218: ; preds = %4 +2211: ; preds = %4 %.val52.val = load ptr, ptr %143, align 8 - %2219 = getelementptr inbounds nuw i8, ptr %0, i64 4256 - %.val53.val = load ptr, ptr %2219, align 8 + %2212 = getelementptr inbounds nuw i8, ptr %0, i64 4256 + %.val53.val = load ptr, ptr %2212, align 8 %.val52.val.val = load ptr, ptr %.val52.val, align 8 - %2220 = getelementptr inbounds nuw i8, ptr %.val52.val.val, i64 32 - %2221 = load ptr, ptr %2220, align 8 - %2222 = getelementptr inbounds nuw i8, ptr %2221, i64 4 - %2223 = load i32, ptr %2222, align 4 - %2224 = icmp slt i32 %2223, 0 - br i1 %2224, label %2225, label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i.i263 - -2225: ; preds = %2218 - %2226 = getelementptr inbounds nuw i8, ptr %.val53.val, i64 456 - %2227 = and i32 %2223, 2147483647 - %2228 = zext nneg i32 %2227 to i64 - %2229 = tail call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(25) %2226) #22 - %2230 = icmp ugt i64 %2229, %2228 - br i1 %2230, label %2231, label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i.i263 - -2231: ; preds = %2225 - %2232 = load ptr, ptr %2226, align 8 - %2233 = getelementptr inbounds nuw %"class.llvm::LLT", ptr %2232, i64 %2228 - %2234 = load i64, ptr %2233, align 8 - br label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i.i263 - -_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i.i263: ; preds = %2231, %2225, %2218 - %.sroa.04.0.i.i.i264 = phi i64 [ %2234, %2231 ], [ 0, %2225 ], [ 0, %2218 ] - %2235 = load ptr, ptr %2220, align 8 - %2236 = getelementptr inbounds nuw i8, ptr %2235, i64 36 - %2237 = load i32, ptr %2236, align 4 - %2238 = tail call noundef ptr @_ZN4llvm20getDefIgnoringCopiesENS_8RegisterERKNS_19MachineRegisterInfoE(i32 %2237, ptr noundef nonnull align 8 dereferenceable(512) %.val53.val) #22 - %2239 = load ptr, ptr %2220, align 8 - %2240 = getelementptr inbounds nuw i8, ptr %2239, i64 68 - %2241 = load i32, ptr %2240, align 4 - %2242 = tail call noundef ptr @_ZN4llvm20getDefIgnoringCopiesENS_8RegisterERKNS_19MachineRegisterInfoE(i32 %2241, ptr noundef nonnull align 8 dereferenceable(512) %.val53.val) #22 - %2243 = and i64 %.sroa.04.0.i.i.i264, -7 - %spec.select.i.i.i.i265 = icmp ne i64 %2243, 0 - %2244 = and i64 %.sroa.04.0.i.i.i264, 4 - %2245 = icmp ne i64 %2244, 0 - %2246 = and i1 %spec.select.i.i.i.i265, %2245 - br i1 %2246, label %2247, label %_ZN12_GLOBAL__N_119ShuffleVectorPseudoD2Ev.exit - -2247: ; preds = %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i.i263 - %2248 = getelementptr inbounds nuw i8, ptr %2238, i64 68 - %2249 = load i16, ptr %2248, align 4 - %2250 = getelementptr inbounds nuw i8, ptr %2242, i64 68 - %2251 = load i16, ptr %2250, align 4 - %2252 = icmp eq i16 %2249, 134 - %2253 = icmp eq i16 %2251, 134 - %or.cond.i.i267 = and i1 %2252, %2253 - br i1 %or.cond.i.i267, label %2257, label %2254 - -2254: ; preds = %2247 - %2255 = icmp eq i16 %2249, 132 - %2256 = icmp eq i16 %2251, 132 - %or.cond3.i.i = and i1 %2255, %2256 - br i1 %or.cond3.i.i, label %2257, label %.critedge.i.i268 - -2257: ; preds = %2254, %2247 - %2258 = getelementptr inbounds nuw i8, ptr %2238, i64 32 - %2259 = load ptr, ptr %2258, align 8 - %2260 = getelementptr inbounds nuw i8, ptr %2259, i64 4 - %2261 = load i32, ptr %2260, align 4 - %2262 = icmp slt i32 %2261, 0 - br i1 %2262, label %2263, label %.thread.i.i269 - -2263: ; preds = %2257 - %2264 = getelementptr inbounds nuw i8, ptr %.val53.val, i64 456 - %2265 = and i32 %2261, 2147483647 - %2266 = zext nneg i32 %2265 to i64 - %2267 = tail call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(25) %2264) #22 - %2268 = icmp ugt i64 %2267, %2266 - br i1 %2268, label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit30.i.i, label %.thread.i.i269 - -_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit30.i.i: ; preds = %2263 - %2269 = load ptr, ptr %2264, align 8 - %2270 = getelementptr inbounds nuw %"class.llvm::LLT", ptr %2269, i64 %2266 - %2271 = load i64, ptr %2270, align 8 - %2272 = and i64 %2271, 1 - %.not.i.i.i273 = icmp eq i64 %2272, 0 - br i1 %.not.i.i.i273, label %2275, label %2273 - -2273: ; preds = %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit30.i.i - %2274 = lshr i64 %2271, 3 - br label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit.i.i270 - -2275: ; preds = %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit30.i.i - %2276 = and i64 %2271, 4 - %.not1.i.i.i274 = icmp eq i64 %2276, 0 - br i1 %.not1.i.i.i274, label %.thread.i.i269, label %2277 - -2277: ; preds = %2275 - %2278 = and i64 %2271, 2 - %.not2.i.i.i275 = icmp eq i64 %2278, 0 - %2279 = lshr i64 %2271, 19 - %2280 = and i64 %2279, 65535 - %spec.select.i.i.i276 = select i1 %.not2.i.i.i275, i64 %2279, i64 %2280 - br label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit.i.i270 - -.thread.i.i269: ; preds = %2275, %2263, %2257 - %.sroa.04.0.i296770.i.i = phi i64 [ %2271, %2275 ], [ 0, %2257 ], [ 0, %2263 ] - %2281 = lshr i64 %.sroa.04.0.i296770.i.i, 3 - %2282 = and i64 %2281, 65535 - br label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit.i.i270 - -_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit.i.i270: ; preds = %.thread.i.i269, %2277, %2273 - %.0.in.i.i.i271 = phi i64 [ %2274, %2273 ], [ %2282, %.thread.i.i269 ], [ %spec.select.i.i.i276, %2277 ] - %.0.i.i.i272 = trunc i64 %.0.in.i.i.i271 to i32 - %2283 = load ptr, ptr %2258, align 8 - %2284 = getelementptr inbounds nuw i8, ptr %2283, i64 36 - %2285 = load i32, ptr %2284, align 4 - %2286 = icmp slt i32 %2285, 0 - br i1 %2286, label %2287, label %.thread74.i.i - -2287: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit.i.i270 - %2288 = getelementptr inbounds nuw i8, ptr %.val53.val, i64 456 - %2289 = and i32 %2285, 2147483647 - %2290 = zext nneg i32 %2289 to i64 - %2291 = tail call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(25) %2288) #22 - %2292 = icmp ugt i64 %2291, %2290 - br i1 %2292, label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit32.i.i, label %.thread74.i.i - -_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit32.i.i: ; preds = %2287 - %2293 = load ptr, ptr %2288, align 8 - %2294 = getelementptr inbounds nuw %"class.llvm::LLT", ptr %2293, i64 %2290 - %2295 = load i64, ptr %2294, align 8 - %2296 = and i64 %2295, 1 - %.not.i33.i.i = icmp eq i64 %2296, 0 - br i1 %.not.i33.i.i, label %2299, label %2297 - -2297: ; preds = %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit32.i.i - %2298 = lshr i64 %2295, 3 + %2213 = getelementptr inbounds nuw i8, ptr %.val52.val.val, i64 32 + %2214 = load ptr, ptr %2213, align 8 + %2215 = getelementptr inbounds nuw i8, ptr %2214, i64 4 + %2216 = load i32, ptr %2215, align 4 + %2217 = icmp slt i32 %2216, 0 + br i1 %2217, label %2218, label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i.i260 + +2218: ; preds = %2211 + %2219 = getelementptr inbounds nuw i8, ptr %.val53.val, i64 456 + %2220 = and i32 %2216, 2147483647 + %2221 = zext nneg i32 %2220 to i64 + %2222 = tail call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(25) %2219) #22 + %2223 = icmp ugt i64 %2222, %2221 + br i1 %2223, label %2224, label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i.i260 + +2224: ; preds = %2218 + %2225 = load ptr, ptr %2219, align 8 + %2226 = getelementptr inbounds nuw %"class.llvm::LLT", ptr %2225, i64 %2221 + %2227 = load i64, ptr %2226, align 8 + br label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i.i260 + +_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i.i260: ; preds = %2224, %2218, %2211 + %.sroa.04.0.i.i.i261 = phi i64 [ %2227, %2224 ], [ 0, %2218 ], [ 0, %2211 ] + %2228 = load ptr, ptr %2213, align 8 + %2229 = getelementptr inbounds nuw i8, ptr %2228, i64 36 + %2230 = load i32, ptr %2229, align 4 + %2231 = tail call noundef ptr @_ZN4llvm20getDefIgnoringCopiesENS_8RegisterERKNS_19MachineRegisterInfoE(i32 %2230, ptr noundef nonnull align 8 dereferenceable(512) %.val53.val) #22 + %2232 = load ptr, ptr %2213, align 8 + %2233 = getelementptr inbounds nuw i8, ptr %2232, i64 68 + %2234 = load i32, ptr %2233, align 4 + %2235 = tail call noundef ptr @_ZN4llvm20getDefIgnoringCopiesENS_8RegisterERKNS_19MachineRegisterInfoE(i32 %2234, ptr noundef nonnull align 8 dereferenceable(512) %.val53.val) #22 + %2236 = and i64 %.sroa.04.0.i.i.i261, -7 + %spec.select.i.i.i.i262 = icmp ne i64 %2236, 0 + %2237 = and i64 %.sroa.04.0.i.i.i261, 4 + %2238 = icmp ne i64 %2237, 0 + %2239 = and i1 %spec.select.i.i.i.i262, %2238 + br i1 %2239, label %2240, label %_ZN12_GLOBAL__N_119ShuffleVectorPseudoD2Ev.exit + +2240: ; preds = %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i.i260 + %2241 = getelementptr inbounds nuw i8, ptr %2231, i64 68 + %2242 = load i16, ptr %2241, align 4 + %2243 = getelementptr inbounds nuw i8, ptr %2235, i64 68 + %2244 = load i16, ptr %2243, align 4 + %2245 = icmp eq i16 %2242, 134 + %2246 = icmp eq i16 %2244, 134 + %or.cond.i.i264 = and i1 %2245, %2246 + br i1 %or.cond.i.i264, label %2250, label %2247 + +2247: ; preds = %2240 + %2248 = icmp eq i16 %2242, 132 + %2249 = icmp eq i16 %2244, 132 + %or.cond3.i.i = and i1 %2248, %2249 + br i1 %or.cond3.i.i, label %2250, label %.critedge.i.i265 + +2250: ; preds = %2247, %2240 + %2251 = getelementptr inbounds nuw i8, ptr %2231, i64 32 + %2252 = load ptr, ptr %2251, align 8 + %2253 = getelementptr inbounds nuw i8, ptr %2252, i64 4 + %2254 = load i32, ptr %2253, align 4 + %2255 = icmp slt i32 %2254, 0 + br i1 %2255, label %2256, label %.thread.i.i266 + +2256: ; preds = %2250 + %2257 = getelementptr inbounds nuw i8, ptr %.val53.val, i64 456 + %2258 = and i32 %2254, 2147483647 + %2259 = zext nneg i32 %2258 to i64 + %2260 = tail call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(25) %2257) #22 + %2261 = icmp ugt i64 %2260, %2259 + br i1 %2261, label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit30.i.i, label %.thread.i.i266 + +_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit30.i.i: ; preds = %2256 + %2262 = load ptr, ptr %2257, align 8 + %2263 = getelementptr inbounds nuw %"class.llvm::LLT", ptr %2262, i64 %2259 + %2264 = load i64, ptr %2263, align 8 + %2265 = and i64 %2264, 1 + %.not.i.i.i270 = icmp eq i64 %2265, 0 + br i1 %.not.i.i.i270, label %2268, label %2266 + +2266: ; preds = %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit30.i.i + %2267 = lshr i64 %2264, 3 + br label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit.i.i267 + +2268: ; preds = %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit30.i.i + %2269 = and i64 %2264, 4 + %.not1.i.i.i271 = icmp eq i64 %2269, 0 + br i1 %.not1.i.i.i271, label %.thread.i.i266, label %2270 + +2270: ; preds = %2268 + %2271 = and i64 %2264, 2 + %.not2.i.i.i272 = icmp eq i64 %2271, 0 + %2272 = lshr i64 %2264, 19 + %2273 = and i64 %2272, 65535 + %spec.select.i.i.i273 = select i1 %.not2.i.i.i272, i64 %2272, i64 %2273 + br label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit.i.i267 + +.thread.i.i266: ; preds = %2268, %2256, %2250 + %.sroa.04.0.i296770.i.i = phi i64 [ %2264, %2268 ], [ 0, %2250 ], [ 0, %2256 ] + %2274 = lshr i64 %.sroa.04.0.i296770.i.i, 3 + %2275 = and i64 %2274, 65535 + br label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit.i.i267 + +_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit.i.i267: ; preds = %.thread.i.i266, %2270, %2266 + %.0.in.i.i.i268 = phi i64 [ %2267, %2266 ], [ %2275, %.thread.i.i266 ], [ %spec.select.i.i.i273, %2270 ] + %.0.i.i.i269 = trunc i64 %.0.in.i.i.i268 to i32 + %2276 = load ptr, ptr %2251, align 8 + %2277 = getelementptr inbounds nuw i8, ptr %2276, i64 36 + %2278 = load i32, ptr %2277, align 4 + %2279 = icmp slt i32 %2278, 0 + br i1 %2279, label %2280, label %.thread74.i.i + +2280: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit.i.i267 + %2281 = getelementptr inbounds nuw i8, ptr %.val53.val, i64 456 + %2282 = and i32 %2278, 2147483647 + %2283 = zext nneg i32 %2282 to i64 + %2284 = tail call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(25) %2281) #22 + %2285 = icmp ugt i64 %2284, %2283 + br i1 %2285, label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit32.i.i, label %.thread74.i.i + +_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit32.i.i: ; preds = %2280 + %2286 = load ptr, ptr %2281, align 8 + %2287 = getelementptr inbounds nuw %"class.llvm::LLT", ptr %2286, i64 %2283 + %2288 = load i64, ptr %2287, align 8 + %2289 = and i64 %2288, 1 + %.not.i33.i.i = icmp eq i64 %2289, 0 + br i1 %.not.i33.i.i, label %2292, label %2290 + +2290: ; preds = %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit32.i.i + %2291 = lshr i64 %2288, 3 br label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit39.i.i -2299: ; preds = %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit32.i.i - %2300 = and i64 %2295, 4 - %.not1.i36.i.i = icmp eq i64 %2300, 0 - br i1 %.not1.i36.i.i, label %.thread74.i.i, label %2301 - -2301: ; preds = %2299 - %2302 = and i64 %2295, 2 - %.not2.i37.i.i = icmp eq i64 %2302, 0 - %2303 = lshr i64 %2295, 19 - %2304 = and i64 %2303, 65535 - %spec.select.i38.i.i = select i1 %.not2.i37.i.i, i64 %2303, i64 %2304 +2292: ; preds = %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit32.i.i + %2293 = and i64 %2288, 4 + %.not1.i36.i.i = icmp eq i64 %2293, 0 + br i1 %.not1.i36.i.i, label %.thread74.i.i, label %2294 + +2294: ; preds = %2292 + %2295 = and i64 %2288, 2 + %.not2.i37.i.i = icmp eq i64 %2295, 0 + %2296 = lshr i64 %2288, 19 + %2297 = and i64 %2296, 65535 + %spec.select.i38.i.i = select i1 %.not2.i37.i.i, i64 %2296, i64 %2297 br label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit39.i.i -.thread74.i.i: ; preds = %2299, %2287, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit.i.i270 - %.sroa.04.0.i317377.i.i = phi i64 [ %2295, %2299 ], [ 0, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit.i.i270 ], [ 0, %2287 ] - %2305 = lshr i64 %.sroa.04.0.i317377.i.i, 3 - %2306 = and i64 %2305, 65535 +.thread74.i.i: ; preds = %2292, %2280, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit.i.i267 + %.sroa.04.0.i317377.i.i = phi i64 [ %2288, %2292 ], [ 0, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit.i.i267 ], [ 0, %2280 ] + %2298 = lshr i64 %.sroa.04.0.i317377.i.i, 3 + %2299 = and i64 %2298, 65535 br label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit39.i.i -_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit39.i.i: ; preds = %.thread74.i.i, %2301, %2297 - %.0.in.i34.i.i = phi i64 [ %2298, %2297 ], [ %2306, %.thread74.i.i ], [ %spec.select.i38.i.i, %2301 ] +_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit39.i.i: ; preds = %.thread74.i.i, %2294, %2290 + %.0.in.i34.i.i = phi i64 [ %2291, %2290 ], [ %2299, %.thread74.i.i ], [ %spec.select.i38.i.i, %2294 ] %.0.i35.i.i = trunc i64 %.0.in.i34.i.i to i32 - %2307 = shl i32 %.0.i35.i.i, 1 - %2308 = icmp eq i32 %2307, %.0.i.i.i272 - br i1 %2308, label %2309, label %.critedge.i.i268 - -2309: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit39.i.i - %2310 = getelementptr inbounds nuw i8, ptr %2242, i64 32 - %2311 = load ptr, ptr %2310, align 8 - %2312 = getelementptr inbounds nuw i8, ptr %2311, i64 4 - %2313 = load i32, ptr %2312, align 4 - %2314 = icmp slt i32 %2313, 0 - br i1 %2314, label %2315, label %.thread81.i.i - -2315: ; preds = %2309 - %2316 = getelementptr inbounds nuw i8, ptr %.val53.val, i64 456 - %2317 = and i32 %2313, 2147483647 - %2318 = zext nneg i32 %2317 to i64 - %2319 = tail call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(25) %2316) #22 - %2320 = icmp ugt i64 %2319, %2318 - br i1 %2320, label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit41.i.i, label %.thread81.i.i - -_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit41.i.i: ; preds = %2315 - %2321 = load ptr, ptr %2316, align 8 - %2322 = getelementptr inbounds nuw %"class.llvm::LLT", ptr %2321, i64 %2318 - %2323 = load i64, ptr %2322, align 8 - %2324 = and i64 %2323, 1 - %.not.i42.i.i = icmp eq i64 %2324, 0 - br i1 %.not.i42.i.i, label %2327, label %2325 - -2325: ; preds = %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit41.i.i - %2326 = lshr i64 %2323, 3 + %2300 = shl i32 %.0.i35.i.i, 1 + %2301 = icmp eq i32 %2300, %.0.i.i.i269 + br i1 %2301, label %2302, label %.critedge.i.i265 + +2302: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit39.i.i + %2303 = getelementptr inbounds nuw i8, ptr %2235, i64 32 + %2304 = load ptr, ptr %2303, align 8 + %2305 = getelementptr inbounds nuw i8, ptr %2304, i64 4 + %2306 = load i32, ptr %2305, align 4 + %2307 = icmp slt i32 %2306, 0 + br i1 %2307, label %2308, label %.thread81.i.i + +2308: ; preds = %2302 + %2309 = getelementptr inbounds nuw i8, ptr %.val53.val, i64 456 + %2310 = and i32 %2306, 2147483647 + %2311 = zext nneg i32 %2310 to i64 + %2312 = tail call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(25) %2309) #22 + %2313 = icmp ugt i64 %2312, %2311 + br i1 %2313, label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit41.i.i, label %.thread81.i.i + +_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit41.i.i: ; preds = %2308 + %2314 = load ptr, ptr %2309, align 8 + %2315 = getelementptr inbounds nuw %"class.llvm::LLT", ptr %2314, i64 %2311 + %2316 = load i64, ptr %2315, align 8 + %2317 = and i64 %2316, 1 + %.not.i42.i.i = icmp eq i64 %2317, 0 + br i1 %.not.i42.i.i, label %2320, label %2318 + +2318: ; preds = %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit41.i.i + %2319 = lshr i64 %2316, 3 br label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit48.i.i -2327: ; preds = %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit41.i.i - %2328 = and i64 %2323, 4 - %.not1.i45.i.i = icmp eq i64 %2328, 0 - br i1 %.not1.i45.i.i, label %.thread81.i.i, label %2329 - -2329: ; preds = %2327 - %2330 = and i64 %2323, 2 - %.not2.i46.i.i = icmp eq i64 %2330, 0 - %2331 = lshr i64 %2323, 19 - %2332 = and i64 %2331, 65535 - %spec.select.i47.i.i = select i1 %.not2.i46.i.i, i64 %2331, i64 %2332 +2320: ; preds = %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit41.i.i + %2321 = and i64 %2316, 4 + %.not1.i45.i.i = icmp eq i64 %2321, 0 + br i1 %.not1.i45.i.i, label %.thread81.i.i, label %2322 + +2322: ; preds = %2320 + %2323 = and i64 %2316, 2 + %.not2.i46.i.i = icmp eq i64 %2323, 0 + %2324 = lshr i64 %2316, 19 + %2325 = and i64 %2324, 65535 + %spec.select.i47.i.i = select i1 %.not2.i46.i.i, i64 %2324, i64 %2325 br label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit48.i.i -.thread81.i.i: ; preds = %2327, %2315, %2309 - %.sroa.04.0.i408084.i.i = phi i64 [ %2323, %2327 ], [ 0, %2309 ], [ 0, %2315 ] - %2333 = lshr i64 %.sroa.04.0.i408084.i.i, 3 - %2334 = and i64 %2333, 65535 +.thread81.i.i: ; preds = %2320, %2308, %2302 + %.sroa.04.0.i408084.i.i = phi i64 [ %2316, %2320 ], [ 0, %2302 ], [ 0, %2308 ] + %2326 = lshr i64 %.sroa.04.0.i408084.i.i, 3 + %2327 = and i64 %2326, 65535 br label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit48.i.i -_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit48.i.i: ; preds = %.thread81.i.i, %2329, %2325 - %.0.in.i43.i.i = phi i64 [ %2326, %2325 ], [ %2334, %.thread81.i.i ], [ %spec.select.i47.i.i, %2329 ] +_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit48.i.i: ; preds = %.thread81.i.i, %2322, %2318 + %.0.in.i43.i.i = phi i64 [ %2319, %2318 ], [ %2327, %.thread81.i.i ], [ %spec.select.i47.i.i, %2322 ] %.0.i44.i.i = trunc i64 %.0.in.i43.i.i to i32 - %2335 = load ptr, ptr %2310, align 8 - %2336 = getelementptr inbounds nuw i8, ptr %2335, i64 36 - %2337 = load i32, ptr %2336, align 4 - %2338 = icmp slt i32 %2337, 0 - br i1 %2338, label %2339, label %.thread88.i.i - -2339: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit48.i.i - %2340 = getelementptr inbounds nuw i8, ptr %.val53.val, i64 456 - %2341 = and i32 %2337, 2147483647 - %2342 = zext nneg i32 %2341 to i64 - %2343 = tail call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(25) %2340) #22 - %2344 = icmp ugt i64 %2343, %2342 - br i1 %2344, label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit50.i.i, label %.thread88.i.i - -_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit50.i.i: ; preds = %2339 - %2345 = load ptr, ptr %2340, align 8 - %2346 = getelementptr inbounds nuw %"class.llvm::LLT", ptr %2345, i64 %2342 - %2347 = load i64, ptr %2346, align 8 - %2348 = and i64 %2347, 1 - %.not.i51.i.i = icmp eq i64 %2348, 0 - br i1 %.not.i51.i.i, label %2351, label %2349 - -2349: ; preds = %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit50.i.i - %2350 = lshr i64 %2347, 3 + %2328 = load ptr, ptr %2303, align 8 + %2329 = getelementptr inbounds nuw i8, ptr %2328, i64 36 + %2330 = load i32, ptr %2329, align 4 + %2331 = icmp slt i32 %2330, 0 + br i1 %2331, label %2332, label %.thread88.i.i + +2332: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit48.i.i + %2333 = getelementptr inbounds nuw i8, ptr %.val53.val, i64 456 + %2334 = and i32 %2330, 2147483647 + %2335 = zext nneg i32 %2334 to i64 + %2336 = tail call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(25) %2333) #22 + %2337 = icmp ugt i64 %2336, %2335 + br i1 %2337, label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit50.i.i, label %.thread88.i.i + +_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit50.i.i: ; preds = %2332 + %2338 = load ptr, ptr %2333, align 8 + %2339 = getelementptr inbounds nuw %"class.llvm::LLT", ptr %2338, i64 %2335 + %2340 = load i64, ptr %2339, align 8 + %2341 = and i64 %2340, 1 + %.not.i51.i.i = icmp eq i64 %2341, 0 + br i1 %.not.i51.i.i, label %2344, label %2342 + +2342: ; preds = %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit50.i.i + %2343 = lshr i64 %2340, 3 br label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit57.i.i -2351: ; preds = %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit50.i.i - %2352 = and i64 %2347, 4 - %.not1.i54.i.i = icmp eq i64 %2352, 0 - br i1 %.not1.i54.i.i, label %.thread88.i.i, label %2353 - -2353: ; preds = %2351 - %2354 = and i64 %2347, 2 - %.not2.i55.i.i = icmp eq i64 %2354, 0 - %2355 = lshr i64 %2347, 19 - %2356 = and i64 %2355, 65535 - %spec.select.i56.i.i = select i1 %.not2.i55.i.i, i64 %2355, i64 %2356 +2344: ; preds = %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit50.i.i + %2345 = and i64 %2340, 4 + %.not1.i54.i.i = icmp eq i64 %2345, 0 + br i1 %.not1.i54.i.i, label %.thread88.i.i, label %2346 + +2346: ; preds = %2344 + %2347 = and i64 %2340, 2 + %.not2.i55.i.i = icmp eq i64 %2347, 0 + %2348 = lshr i64 %2340, 19 + %2349 = and i64 %2348, 65535 + %spec.select.i56.i.i = select i1 %.not2.i55.i.i, i64 %2348, i64 %2349 br label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit57.i.i -.thread88.i.i: ; preds = %2351, %2339, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit48.i.i - %.sroa.04.0.i498791.i.i = phi i64 [ %2347, %2351 ], [ 0, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit48.i.i ], [ 0, %2339 ] - %2357 = lshr i64 %.sroa.04.0.i498791.i.i, 3 - %2358 = and i64 %2357, 65535 +.thread88.i.i: ; preds = %2344, %2332, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit48.i.i + %.sroa.04.0.i498791.i.i = phi i64 [ %2340, %2344 ], [ 0, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit48.i.i ], [ 0, %2332 ] + %2350 = lshr i64 %.sroa.04.0.i498791.i.i, 3 + %2351 = and i64 %2350, 65535 br label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit57.i.i -_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit57.i.i: ; preds = %.thread88.i.i, %2353, %2349 - %.0.in.i52.i.i = phi i64 [ %2350, %2349 ], [ %2358, %.thread88.i.i ], [ %spec.select.i56.i.i, %2353 ] +_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit57.i.i: ; preds = %.thread88.i.i, %2346, %2342 + %.0.in.i52.i.i = phi i64 [ %2343, %2342 ], [ %2351, %.thread88.i.i ], [ %spec.select.i56.i.i, %2346 ] %.0.i53.i.i = trunc i64 %.0.in.i52.i.i to i32 - %2359 = shl i32 %.0.i53.i.i, 1 - %2360 = icmp eq i32 %2359, %.0.i44.i.i - %spec.select.i58.i.i = icmp eq i64 %.sroa.04.0.i.i.i264, 33554452 - %or.cond92.i.i = select i1 %2360, i1 true, i1 %spec.select.i58.i.i - br i1 %or.cond92.i.i, label %2361, label %_ZN12_GLOBAL__N_119ShuffleVectorPseudoD2Ev.exit - -.critedge.i.i268: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit39.i.i, %2254 - %spec.select.i58.old.i.i = icmp eq i64 %.sroa.04.0.i.i.i264, 33554452 - br i1 %spec.select.i58.old.i.i, label %2361, label %_ZN12_GLOBAL__N_119ShuffleVectorPseudoD2Ev.exit - -2361: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit57.i.i, %.critedge.i.i268 - %2362 = load ptr, ptr %143, align 8 - %2363 = load ptr, ptr %2362, align 8 - %2364 = load ptr, ptr %2219, align 8 - %2365 = getelementptr inbounds nuw i8, ptr %0, i64 4240 - %2366 = load ptr, ptr %2365, align 8 - %2367 = getelementptr inbounds nuw i8, ptr %0, i64 4232 - %2368 = load ptr, ptr %2367, align 8 + %2352 = shl i32 %.0.i53.i.i, 1 + %2353 = icmp eq i32 %2352, %.0.i44.i.i + %spec.select.i58.i.i = icmp eq i64 %.sroa.04.0.i.i.i261, 33554452 + %or.cond92.i.i = select i1 %2353, i1 true, i1 %spec.select.i58.i.i + br i1 %or.cond92.i.i, label %2354, label %_ZN12_GLOBAL__N_119ShuffleVectorPseudoD2Ev.exit + +.critedge.i.i265: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit39.i.i, %2247 + %spec.select.i58.old.i.i = icmp eq i64 %.sroa.04.0.i.i.i261, 33554452 + br i1 %spec.select.i58.old.i.i, label %2354, label %_ZN12_GLOBAL__N_119ShuffleVectorPseudoD2Ev.exit + +2354: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit57.i.i, %.critedge.i.i265 + %2355 = load ptr, ptr %143, align 8 + %2356 = load ptr, ptr %2355, align 8 + %2357 = load ptr, ptr %2212, align 8 + %2358 = getelementptr inbounds nuw i8, ptr %0, i64 4240 + %2359 = load ptr, ptr %2358, align 8 + %2360 = getelementptr inbounds nuw i8, ptr %0, i64 4232 + %2361 = load ptr, ptr %2360, align 8 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %35) call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %36) call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %37) - %2369 = getelementptr inbounds nuw i8, ptr %2363, i64 32 - %2370 = load ptr, ptr %2369, align 8 - %2371 = getelementptr inbounds nuw i8, ptr %2370, i64 4 - %2372 = load i32, ptr %2371, align 4 - %2373 = icmp slt i32 %2372, 0 - br i1 %2373, label %2374, label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i277 - -2374: ; preds = %2361 - %2375 = getelementptr inbounds nuw i8, ptr %2364, i64 456 - %2376 = and i32 %2372, 2147483647 - %2377 = zext nneg i32 %2376 to i64 - %2378 = tail call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(25) %2375) #22 - %2379 = icmp ugt i64 %2378, %2377 - br i1 %2379, label %2380, label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i277 - -2380: ; preds = %2374 - %2381 = load ptr, ptr %2375, align 8 - %2382 = getelementptr inbounds nuw %"class.llvm::LLT", ptr %2381, i64 %2377 - %2383 = load i64, ptr %2382, align 8 - %2384 = icmp eq i64 %2383, 33554452 - br label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i277 - -_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i277: ; preds = %2380, %2374, %2361 - %.sroa.04.0.i.i278 = phi i1 [ %2384, %2380 ], [ false, %2374 ], [ false, %2361 ] - %2385 = load ptr, ptr %2369, align 8 - %2386 = getelementptr inbounds nuw i8, ptr %2385, i64 36 - %2387 = load i32, ptr %2386, align 4 - %2388 = tail call noundef ptr @_ZN4llvm20getDefIgnoringCopiesENS_8RegisterERKNS_19MachineRegisterInfoE(i32 %2387, ptr noundef nonnull align 8 dereferenceable(512) %2364) #22 - %2389 = load ptr, ptr %2369, align 8 - %2390 = getelementptr inbounds nuw i8, ptr %2389, i64 68 - %2391 = load i32, ptr %2390, align 4 - %2392 = tail call noundef ptr @_ZN4llvm20getDefIgnoringCopiesENS_8RegisterERKNS_19MachineRegisterInfoE(i32 %2391, ptr noundef nonnull align 8 dereferenceable(512) %2364) #22 - %2393 = getelementptr inbounds nuw i8, ptr %2388, i64 68 - %2394 = load i16, ptr %2393, align 4 - %2395 = getelementptr inbounds nuw i8, ptr %2392, i64 68 - %2396 = load i16, ptr %2395, align 4 - %2397 = icmp eq i16 %2394, 134 - %2398 = icmp eq i16 %2396, 134 - %or.cond.i279 = and i1 %2397, %2398 - br i1 %or.cond.i279, label %2402, label %2399 - -2399: ; preds = %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i277 - %2400 = icmp eq i16 %2394, 132 - %2401 = icmp eq i16 %2396, 132 - %or.cond3.i = and i1 %2400, %2401 - br i1 %or.cond3.i, label %2402, label %.critedge.i - -2402: ; preds = %2399, %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i277 - %2403 = getelementptr inbounds nuw i8, ptr %2388, i64 32 - %2404 = load ptr, ptr %2403, align 8 - %2405 = getelementptr inbounds nuw i8, ptr %2404, i64 4 - %2406 = load i32, ptr %2405, align 4 - %2407 = icmp slt i32 %2406, 0 - br i1 %2407, label %2408, label %.thread.i280 - -2408: ; preds = %2402 - %2409 = getelementptr inbounds nuw i8, ptr %2364, i64 456 - %2410 = and i32 %2406, 2147483647 - %2411 = zext nneg i32 %2410 to i64 - %2412 = tail call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(25) %2409) #22 - %2413 = icmp ugt i64 %2412, %2411 - br i1 %2413, label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit49.i, label %.thread.i280 - -_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit49.i: ; preds = %2408 - %2414 = load ptr, ptr %2409, align 8 - %2415 = getelementptr inbounds nuw %"class.llvm::LLT", ptr %2414, i64 %2411 - %2416 = load i64, ptr %2415, align 8 - %2417 = and i64 %2416, 1 - %.not.i.i282 = icmp eq i64 %2417, 0 - br i1 %.not.i.i282, label %2420, label %2418 - -2418: ; preds = %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit49.i - %2419 = lshr i64 %2416, 3 + %2362 = getelementptr inbounds nuw i8, ptr %2356, i64 32 + %2363 = load ptr, ptr %2362, align 8 + %2364 = getelementptr inbounds nuw i8, ptr %2363, i64 4 + %2365 = load i32, ptr %2364, align 4 + %2366 = icmp slt i32 %2365, 0 + br i1 %2366, label %2367, label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i274 + +2367: ; preds = %2354 + %2368 = getelementptr inbounds nuw i8, ptr %2357, i64 456 + %2369 = and i32 %2365, 2147483647 + %2370 = zext nneg i32 %2369 to i64 + %2371 = tail call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(25) %2368) #22 + %2372 = icmp ugt i64 %2371, %2370 + br i1 %2372, label %2373, label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i274 + +2373: ; preds = %2367 + %2374 = load ptr, ptr %2368, align 8 + %2375 = getelementptr inbounds nuw %"class.llvm::LLT", ptr %2374, i64 %2370 + %2376 = load i64, ptr %2375, align 8 + %2377 = icmp eq i64 %2376, 33554452 + br label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i274 + +_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i274: ; preds = %2373, %2367, %2354 + %.sroa.04.0.i.i275 = phi i1 [ %2377, %2373 ], [ false, %2367 ], [ false, %2354 ] + %2378 = load ptr, ptr %2362, align 8 + %2379 = getelementptr inbounds nuw i8, ptr %2378, i64 36 + %2380 = load i32, ptr %2379, align 4 + %2381 = tail call noundef ptr @_ZN4llvm20getDefIgnoringCopiesENS_8RegisterERKNS_19MachineRegisterInfoE(i32 %2380, ptr noundef nonnull align 8 dereferenceable(512) %2357) #22 + %2382 = load ptr, ptr %2362, align 8 + %2383 = getelementptr inbounds nuw i8, ptr %2382, i64 68 + %2384 = load i32, ptr %2383, align 4 + %2385 = tail call noundef ptr @_ZN4llvm20getDefIgnoringCopiesENS_8RegisterERKNS_19MachineRegisterInfoE(i32 %2384, ptr noundef nonnull align 8 dereferenceable(512) %2357) #22 + %2386 = getelementptr inbounds nuw i8, ptr %2381, i64 68 + %2387 = load i16, ptr %2386, align 4 + %2388 = getelementptr inbounds nuw i8, ptr %2385, i64 68 + %2389 = load i16, ptr %2388, align 4 + %2390 = icmp eq i16 %2387, 134 + %2391 = icmp eq i16 %2389, 134 + %or.cond.i276 = and i1 %2390, %2391 + br i1 %or.cond.i276, label %2395, label %2392 + +2392: ; preds = %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i274 + %2393 = icmp eq i16 %2387, 132 + %2394 = icmp eq i16 %2389, 132 + %or.cond3.i = and i1 %2393, %2394 + br i1 %or.cond3.i, label %2395, label %.critedge.i + +2395: ; preds = %2392, %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i274 + %2396 = getelementptr inbounds nuw i8, ptr %2381, i64 32 + %2397 = load ptr, ptr %2396, align 8 + %2398 = getelementptr inbounds nuw i8, ptr %2397, i64 4 + %2399 = load i32, ptr %2398, align 4 + %2400 = icmp slt i32 %2399, 0 + br i1 %2400, label %2401, label %.thread.i277 + +2401: ; preds = %2395 + %2402 = getelementptr inbounds nuw i8, ptr %2357, i64 456 + %2403 = and i32 %2399, 2147483647 + %2404 = zext nneg i32 %2403 to i64 + %2405 = tail call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(25) %2402) #22 + %2406 = icmp ugt i64 %2405, %2404 + br i1 %2406, label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit49.i, label %.thread.i277 + +_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit49.i: ; preds = %2401 + %2407 = load ptr, ptr %2402, align 8 + %2408 = getelementptr inbounds nuw %"class.llvm::LLT", ptr %2407, i64 %2404 + %2409 = load i64, ptr %2408, align 8 + %2410 = and i64 %2409, 1 + %.not.i.i279 = icmp eq i64 %2410, 0 + br i1 %.not.i.i279, label %2413, label %2411 + +2411: ; preds = %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit49.i + %2412 = lshr i64 %2409, 3 br label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit.i -2420: ; preds = %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit49.i - %2421 = and i64 %2416, 4 - %.not1.i.i = icmp eq i64 %2421, 0 - br i1 %.not1.i.i, label %.thread.i280, label %2422 - -2422: ; preds = %2420 - %2423 = and i64 %2416, 2 - %.not2.i.i = icmp eq i64 %2423, 0 - %2424 = lshr i64 %2416, 19 - %2425 = and i64 %2424, 65535 - %spec.select.i.i283 = select i1 %.not2.i.i, i64 %2424, i64 %2425 +2413: ; preds = %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit49.i + %2414 = and i64 %2409, 4 + %.not1.i.i = icmp eq i64 %2414, 0 + br i1 %.not1.i.i, label %.thread.i277, label %2415 + +2415: ; preds = %2413 + %2416 = and i64 %2409, 2 + %.not2.i.i = icmp eq i64 %2416, 0 + %2417 = lshr i64 %2409, 19 + %2418 = and i64 %2417, 65535 + %spec.select.i.i280 = select i1 %.not2.i.i, i64 %2417, i64 %2418 br label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit.i -.thread.i280: ; preds = %2420, %2408, %2402 - %.sroa.04.0.i48107110.i = phi i64 [ %2416, %2420 ], [ 0, %2402 ], [ 0, %2408 ] - %2426 = lshr i64 %.sroa.04.0.i48107110.i, 3 - %2427 = and i64 %2426, 65535 +.thread.i277: ; preds = %2413, %2401, %2395 + %.sroa.04.0.i48107110.i = phi i64 [ %2409, %2413 ], [ 0, %2395 ], [ 0, %2401 ] + %2419 = lshr i64 %.sroa.04.0.i48107110.i, 3 + %2420 = and i64 %2419, 65535 br label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit.i -_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit.i: ; preds = %.thread.i280, %2422, %2418 - %.0.in.i.i = phi i64 [ %2419, %2418 ], [ %2427, %.thread.i280 ], [ %spec.select.i.i283, %2422 ] - %.0.i.i281 = trunc i64 %.0.in.i.i to i32 - %2428 = load ptr, ptr %2403, align 8 - %2429 = getelementptr inbounds nuw i8, ptr %2428, i64 36 - %2430 = load i32, ptr %2429, align 4 - %2431 = icmp slt i32 %2430, 0 - br i1 %2431, label %2432, label %.thread114.i - -2432: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit.i - %2433 = getelementptr inbounds nuw i8, ptr %2364, i64 456 - %2434 = and i32 %2430, 2147483647 - %2435 = zext nneg i32 %2434 to i64 - %2436 = tail call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(25) %2433) #22 - %2437 = icmp ugt i64 %2436, %2435 - br i1 %2437, label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit51.i, label %.thread114.i - -_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit51.i: ; preds = %2432 - %2438 = load ptr, ptr %2433, align 8 - %2439 = getelementptr inbounds nuw %"class.llvm::LLT", ptr %2438, i64 %2435 - %2440 = load i64, ptr %2439, align 8 - %2441 = and i64 %2440, 1 - %.not.i52.i = icmp eq i64 %2441, 0 - br i1 %.not.i52.i, label %2444, label %2442 - -2442: ; preds = %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit51.i - %2443 = lshr i64 %2440, 3 +_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit.i: ; preds = %.thread.i277, %2415, %2411 + %.0.in.i.i = phi i64 [ %2412, %2411 ], [ %2420, %.thread.i277 ], [ %spec.select.i.i280, %2415 ] + %.0.i.i278 = trunc i64 %.0.in.i.i to i32 + %2421 = load ptr, ptr %2396, align 8 + %2422 = getelementptr inbounds nuw i8, ptr %2421, i64 36 + %2423 = load i32, ptr %2422, align 4 + %2424 = icmp slt i32 %2423, 0 + br i1 %2424, label %2425, label %.thread114.i + +2425: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit.i + %2426 = getelementptr inbounds nuw i8, ptr %2357, i64 456 + %2427 = and i32 %2423, 2147483647 + %2428 = zext nneg i32 %2427 to i64 + %2429 = tail call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(25) %2426) #22 + %2430 = icmp ugt i64 %2429, %2428 + br i1 %2430, label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit51.i, label %.thread114.i + +_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit51.i: ; preds = %2425 + %2431 = load ptr, ptr %2426, align 8 + %2432 = getelementptr inbounds nuw %"class.llvm::LLT", ptr %2431, i64 %2428 + %2433 = load i64, ptr %2432, align 8 + %2434 = and i64 %2433, 1 + %.not.i52.i = icmp eq i64 %2434, 0 + br i1 %.not.i52.i, label %2437, label %2435 + +2435: ; preds = %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit51.i + %2436 = lshr i64 %2433, 3 br label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit58.i -2444: ; preds = %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit51.i - %2445 = and i64 %2440, 4 - %.not1.i55.i = icmp eq i64 %2445, 0 - br i1 %.not1.i55.i, label %.thread114.i, label %2446 - -2446: ; preds = %2444 - %2447 = and i64 %2440, 2 - %.not2.i56.i = icmp eq i64 %2447, 0 - %2448 = lshr i64 %2440, 19 - %2449 = and i64 %2448, 65535 - %spec.select.i57.i = select i1 %.not2.i56.i, i64 %2448, i64 %2449 +2437: ; preds = %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit51.i + %2438 = and i64 %2433, 4 + %.not1.i55.i = icmp eq i64 %2438, 0 + br i1 %.not1.i55.i, label %.thread114.i, label %2439 + +2439: ; preds = %2437 + %2440 = and i64 %2433, 2 + %.not2.i56.i = icmp eq i64 %2440, 0 + %2441 = lshr i64 %2433, 19 + %2442 = and i64 %2441, 65535 + %spec.select.i57.i = select i1 %.not2.i56.i, i64 %2441, i64 %2442 br label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit58.i -.thread114.i: ; preds = %2444, %2432, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit.i - %.sroa.04.0.i50113117.i = phi i64 [ %2440, %2444 ], [ 0, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit.i ], [ 0, %2432 ] - %2450 = lshr i64 %.sroa.04.0.i50113117.i, 3 - %2451 = and i64 %2450, 65535 +.thread114.i: ; preds = %2437, %2425, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit.i + %.sroa.04.0.i50113117.i = phi i64 [ %2433, %2437 ], [ 0, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit.i ], [ 0, %2425 ] + %2443 = lshr i64 %.sroa.04.0.i50113117.i, 3 + %2444 = and i64 %2443, 65535 br label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit58.i -_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit58.i: ; preds = %.thread114.i, %2446, %2442 - %.0.in.i53.i = phi i64 [ %2443, %2442 ], [ %2451, %.thread114.i ], [ %spec.select.i57.i, %2446 ] +_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit58.i: ; preds = %.thread114.i, %2439, %2435 + %.0.in.i53.i = phi i64 [ %2436, %2435 ], [ %2444, %.thread114.i ], [ %spec.select.i57.i, %2439 ] %.0.i54.i = trunc i64 %.0.in.i53.i to i32 - %2452 = shl i32 %.0.i54.i, 1 - %2453 = icmp eq i32 %2452, %.0.i.i281 - br i1 %2453, label %2454, label %.critedge.i - -2454: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit58.i - %2455 = getelementptr inbounds nuw i8, ptr %2392, i64 32 - %2456 = load ptr, ptr %2455, align 8 - %2457 = getelementptr inbounds nuw i8, ptr %2456, i64 4 - %2458 = load i32, ptr %2457, align 4 - %2459 = icmp slt i32 %2458, 0 - br i1 %2459, label %2460, label %.thread121.i - -2460: ; preds = %2454 - %2461 = getelementptr inbounds nuw i8, ptr %2364, i64 456 - %2462 = and i32 %2458, 2147483647 - %2463 = zext nneg i32 %2462 to i64 - %2464 = tail call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(25) %2461) #22 - %2465 = icmp ugt i64 %2464, %2463 - br i1 %2465, label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit60.i, label %.thread121.i - -_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit60.i: ; preds = %2460 - %2466 = load ptr, ptr %2461, align 8 - %2467 = getelementptr inbounds nuw %"class.llvm::LLT", ptr %2466, i64 %2463 - %2468 = load i64, ptr %2467, align 8 - %2469 = and i64 %2468, 1 - %.not.i61.i = icmp eq i64 %2469, 0 - br i1 %.not.i61.i, label %2472, label %2470 - -2470: ; preds = %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit60.i - %2471 = lshr i64 %2468, 3 + %2445 = shl i32 %.0.i54.i, 1 + %2446 = icmp eq i32 %2445, %.0.i.i278 + br i1 %2446, label %2447, label %.critedge.i + +2447: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit58.i + %2448 = getelementptr inbounds nuw i8, ptr %2385, i64 32 + %2449 = load ptr, ptr %2448, align 8 + %2450 = getelementptr inbounds nuw i8, ptr %2449, i64 4 + %2451 = load i32, ptr %2450, align 4 + %2452 = icmp slt i32 %2451, 0 + br i1 %2452, label %2453, label %.thread121.i + +2453: ; preds = %2447 + %2454 = getelementptr inbounds nuw i8, ptr %2357, i64 456 + %2455 = and i32 %2451, 2147483647 + %2456 = zext nneg i32 %2455 to i64 + %2457 = tail call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(25) %2454) #22 + %2458 = icmp ugt i64 %2457, %2456 + br i1 %2458, label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit60.i, label %.thread121.i + +_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit60.i: ; preds = %2453 + %2459 = load ptr, ptr %2454, align 8 + %2460 = getelementptr inbounds nuw %"class.llvm::LLT", ptr %2459, i64 %2456 + %2461 = load i64, ptr %2460, align 8 + %2462 = and i64 %2461, 1 + %.not.i61.i = icmp eq i64 %2462, 0 + br i1 %.not.i61.i, label %2465, label %2463 + +2463: ; preds = %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit60.i + %2464 = lshr i64 %2461, 3 br label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit67.i -2472: ; preds = %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit60.i - %2473 = and i64 %2468, 4 - %.not1.i64.i = icmp eq i64 %2473, 0 - br i1 %.not1.i64.i, label %.thread121.i, label %2474 - -2474: ; preds = %2472 - %2475 = and i64 %2468, 2 - %.not2.i65.i = icmp eq i64 %2475, 0 - %2476 = lshr i64 %2468, 19 - %2477 = and i64 %2476, 65535 - %spec.select.i66.i = select i1 %.not2.i65.i, i64 %2476, i64 %2477 +2465: ; preds = %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit60.i + %2466 = and i64 %2461, 4 + %.not1.i64.i = icmp eq i64 %2466, 0 + br i1 %.not1.i64.i, label %.thread121.i, label %2467 + +2467: ; preds = %2465 + %2468 = and i64 %2461, 2 + %.not2.i65.i = icmp eq i64 %2468, 0 + %2469 = lshr i64 %2461, 19 + %2470 = and i64 %2469, 65535 + %spec.select.i66.i = select i1 %.not2.i65.i, i64 %2469, i64 %2470 br label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit67.i -.thread121.i: ; preds = %2472, %2460, %2454 - %.sroa.04.0.i59120124.i = phi i64 [ %2468, %2472 ], [ 0, %2454 ], [ 0, %2460 ] - %2478 = lshr i64 %.sroa.04.0.i59120124.i, 3 - %2479 = and i64 %2478, 65535 +.thread121.i: ; preds = %2465, %2453, %2447 + %.sroa.04.0.i59120124.i = phi i64 [ %2461, %2465 ], [ 0, %2447 ], [ 0, %2453 ] + %2471 = lshr i64 %.sroa.04.0.i59120124.i, 3 + %2472 = and i64 %2471, 65535 br label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit67.i -_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit67.i: ; preds = %.thread121.i, %2474, %2470 - %.0.in.i62.i = phi i64 [ %2471, %2470 ], [ %2479, %.thread121.i ], [ %spec.select.i66.i, %2474 ] +_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit67.i: ; preds = %.thread121.i, %2467, %2463 + %.0.in.i62.i = phi i64 [ %2464, %2463 ], [ %2472, %.thread121.i ], [ %spec.select.i66.i, %2467 ] %.0.i63.i = trunc i64 %.0.in.i62.i to i32 - %2480 = load ptr, ptr %2455, align 8 - %2481 = getelementptr inbounds nuw i8, ptr %2480, i64 36 - %2482 = load i32, ptr %2481, align 4 - %2483 = icmp slt i32 %2482, 0 - br i1 %2483, label %2484, label %.thread128.i - -2484: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit67.i - %2485 = getelementptr inbounds nuw i8, ptr %2364, i64 456 - %2486 = and i32 %2482, 2147483647 - %2487 = zext nneg i32 %2486 to i64 - %2488 = tail call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(25) %2485) #22 - %2489 = icmp ugt i64 %2488, %2487 - br i1 %2489, label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit69.i, label %.thread128.i - -_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit69.i: ; preds = %2484 - %2490 = load ptr, ptr %2485, align 8 - %2491 = getelementptr inbounds nuw %"class.llvm::LLT", ptr %2490, i64 %2487 - %2492 = load i64, ptr %2491, align 8 - %2493 = and i64 %2492, 1 - %.not.i70.i = icmp eq i64 %2493, 0 - br i1 %.not.i70.i, label %2496, label %2494 - -2494: ; preds = %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit69.i - %2495 = lshr i64 %2492, 3 + %2473 = load ptr, ptr %2448, align 8 + %2474 = getelementptr inbounds nuw i8, ptr %2473, i64 36 + %2475 = load i32, ptr %2474, align 4 + %2476 = icmp slt i32 %2475, 0 + br i1 %2476, label %2477, label %.thread128.i + +2477: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit67.i + %2478 = getelementptr inbounds nuw i8, ptr %2357, i64 456 + %2479 = and i32 %2475, 2147483647 + %2480 = zext nneg i32 %2479 to i64 + %2481 = tail call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(25) %2478) #22 + %2482 = icmp ugt i64 %2481, %2480 + br i1 %2482, label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit69.i, label %.thread128.i + +_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit69.i: ; preds = %2477 + %2483 = load ptr, ptr %2478, align 8 + %2484 = getelementptr inbounds nuw %"class.llvm::LLT", ptr %2483, i64 %2480 + %2485 = load i64, ptr %2484, align 8 + %2486 = and i64 %2485, 1 + %.not.i70.i = icmp eq i64 %2486, 0 + br i1 %.not.i70.i, label %2489, label %2487 + +2487: ; preds = %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit69.i + %2488 = lshr i64 %2485, 3 br label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit76.i -2496: ; preds = %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit69.i - %2497 = and i64 %2492, 4 - %.not1.i73.i = icmp eq i64 %2497, 0 - br i1 %.not1.i73.i, label %.thread128.i, label %2498 - -2498: ; preds = %2496 - %2499 = and i64 %2492, 2 - %.not2.i74.i = icmp eq i64 %2499, 0 - %2500 = lshr i64 %2492, 19 - %2501 = and i64 %2500, 65535 - %spec.select.i75.i = select i1 %.not2.i74.i, i64 %2500, i64 %2501 +2489: ; preds = %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit69.i + %2490 = and i64 %2485, 4 + %.not1.i73.i = icmp eq i64 %2490, 0 + br i1 %.not1.i73.i, label %.thread128.i, label %2491 + +2491: ; preds = %2489 + %2492 = and i64 %2485, 2 + %.not2.i74.i = icmp eq i64 %2492, 0 + %2493 = lshr i64 %2485, 19 + %2494 = and i64 %2493, 65535 + %spec.select.i75.i = select i1 %.not2.i74.i, i64 %2493, i64 %2494 br label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit76.i -.thread128.i: ; preds = %2496, %2484, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit67.i - %.sroa.04.0.i68127131.i = phi i64 [ %2492, %2496 ], [ 0, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit67.i ], [ 0, %2484 ] - %2502 = lshr i64 %.sroa.04.0.i68127131.i, 3 - %2503 = and i64 %2502, 65535 +.thread128.i: ; preds = %2489, %2477, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit67.i + %.sroa.04.0.i68127131.i = phi i64 [ %2485, %2489 ], [ 0, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit67.i ], [ 0, %2477 ] + %2495 = lshr i64 %.sroa.04.0.i68127131.i, 3 + %2496 = and i64 %2495, 65535 br label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit76.i -_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit76.i: ; preds = %.thread128.i, %2498, %2494 - %.0.in.i71.i = phi i64 [ %2495, %2494 ], [ %2503, %.thread128.i ], [ %spec.select.i75.i, %2498 ] +_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit76.i: ; preds = %.thread128.i, %2491, %2487 + %.0.in.i71.i = phi i64 [ %2488, %2487 ], [ %2496, %.thread128.i ], [ %spec.select.i75.i, %2491 ] %.0.i72.i = trunc i64 %.0.in.i71.i to i32 - %2504 = shl i32 %.0.i72.i, 1 - %2505 = icmp eq i32 %2504, %.0.i63.i - br i1 %2505, label %2506, label %.critedge.i - -2506: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit76.i - tail call void @_ZN4llvm16MachineIRBuilder19setInstrAndDebugLocERNS_12MachineInstrE(ptr noundef nonnull align 8 dereferenceable(88) %2366, ptr noundef nonnull align 8 dereferenceable(70) %2363) - %2507 = load i16, ptr %2393, align 4 - %2508 = icmp eq i16 %2507, 134 - %2509 = select i1 %2508, i32 796, i32 789 - %2510 = load ptr, ptr %2369, align 8 - %2511 = getelementptr inbounds nuw i8, ptr %2510, i64 4 - %2512 = load i32, ptr %2511, align 4 - store i32 %2512, ptr %35, align 8 - %2513 = getelementptr inbounds nuw i8, ptr %35, i64 8 - store i32 1, ptr %2513, align 8 - %2514 = load ptr, ptr %2403, align 8 - %2515 = getelementptr inbounds nuw i8, ptr %2514, i64 36 - %2516 = load i32, ptr %2515, align 4 - store i32 %2516, ptr %36, align 8 - %2517 = getelementptr inbounds nuw i8, ptr %36, i64 16 - store i32 0, ptr %2517, align 8 - %2518 = getelementptr inbounds nuw i8, ptr %36, i64 24 - %2519 = load ptr, ptr %2455, align 8 - %2520 = getelementptr inbounds nuw i8, ptr %2519, i64 36 - %2521 = load i32, ptr %2520, align 4 - store i32 %2521, ptr %2518, align 8 - %2522 = getelementptr inbounds nuw i8, ptr %36, i64 40 - store i32 0, ptr %2522, align 8 - %2523 = load ptr, ptr %2366, align 8 - %2524 = getelementptr inbounds nuw i8, ptr %2523, i64 32 - %2525 = load ptr, ptr %2524, align 8 - %2526 = call { ptr, ptr } %2525(ptr noundef nonnull align 8 dereferenceable(88) %2366, i32 noundef %2509, ptr nonnull %35, i64 1, ptr nonnull %36, i64 2, i64 0) #22 - call void @_ZN4llvm12MachineInstr15eraseFromParentEv(ptr noundef nonnull align 8 dereferenceable(70) %2363) #22 + %2497 = shl i32 %.0.i72.i, 1 + %2498 = icmp eq i32 %2497, %.0.i63.i + br i1 %2498, label %2499, label %.critedge.i + +2499: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit76.i + tail call void @_ZN4llvm16MachineIRBuilder19setInstrAndDebugLocERNS_12MachineInstrE(ptr noundef nonnull align 8 dereferenceable(88) %2359, ptr noundef nonnull align 8 dereferenceable(70) %2356) + %2500 = load i16, ptr %2386, align 4 + %2501 = icmp eq i16 %2500, 134 + %2502 = select i1 %2501, i32 796, i32 789 + %2503 = load ptr, ptr %2362, align 8 + %2504 = getelementptr inbounds nuw i8, ptr %2503, i64 4 + %2505 = load i32, ptr %2504, align 4 + store i32 %2505, ptr %35, align 8 + %2506 = getelementptr inbounds nuw i8, ptr %35, i64 8 + store i32 1, ptr %2506, align 8 + %2507 = load ptr, ptr %2396, align 8 + %2508 = getelementptr inbounds nuw i8, ptr %2507, i64 36 + %2509 = load i32, ptr %2508, align 4 + store i32 %2509, ptr %36, align 8 + %2510 = getelementptr inbounds nuw i8, ptr %36, i64 16 + store i32 0, ptr %2510, align 8 + %2511 = getelementptr inbounds nuw i8, ptr %36, i64 24 + %2512 = load ptr, ptr %2448, align 8 + %2513 = getelementptr inbounds nuw i8, ptr %2512, i64 36 + %2514 = load i32, ptr %2513, align 4 + store i32 %2514, ptr %2511, align 8 + %2515 = getelementptr inbounds nuw i8, ptr %36, i64 40 + store i32 0, ptr %2515, align 8 + %2516 = load ptr, ptr %2359, align 8 + %2517 = getelementptr inbounds nuw i8, ptr %2516, i64 32 + %2518 = load ptr, ptr %2517, align 8 + %2519 = call { ptr, ptr } %2518(ptr noundef nonnull align 8 dereferenceable(88) %2359, i32 noundef %2502, ptr nonnull %35, i64 1, ptr nonnull %36, i64 2, i64 0) #22 + call void @_ZN4llvm12MachineInstr15eraseFromParentEv(ptr noundef nonnull align 8 dereferenceable(70) %2356) #22 br label %_ZN12_GLOBAL__N_117applyExtMulToMULLERN4llvm12MachineInstrERNS0_19MachineRegisterInfoERNS0_16MachineIRBuilderERNS0_19GISelChangeObserverE.exit -.critedge.i: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit76.i, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit58.i, %2399 - br i1 %.sroa.04.0.i.i278, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit9.i.i.i.i, label %_ZN12_GLOBAL__N_117applyExtMulToMULLERN4llvm12MachineInstrERNS0_19MachineRegisterInfoERNS0_16MachineIRBuilderERNS0_19GISelChangeObserverE.exit +.critedge.i: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit76.i, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit58.i, %2392 + br i1 %.sroa.04.0.i.i275, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit9.i.i.i.i, label %_ZN12_GLOBAL__N_117applyExtMulToMULLERN4llvm12MachineInstrERNS0_19MachineRegisterInfoERNS0_16MachineIRBuilderERNS0_19GISelChangeObserverE.exit _ZNK4llvm3LLT19getScalarSizeInBitsEv.exit9.i.i.i.i: ; preds = %.critedge.i - %2527 = tail call noundef ptr @_ZNK4llvm12MachineInstr5getMFEv(ptr noundef nonnull align 8 dereferenceable(70) %2363) #22 - call void @_ZN4llvm15LegalizerHelperC1ERNS_15MachineFunctionERNS_19GISelChangeObserverERNS_16MachineIRBuilderE(ptr noundef nonnull align 8 dereferenceable(48) %37, ptr noundef nonnull align 8 dereferenceable(1041) %2527, ptr noundef nonnull align 8 dereferenceable(72) %2368, ptr noundef nonnull align 8 dereferenceable(88) %2366) #22 - call void @_ZN4llvm16MachineIRBuilder19setInstrAndDebugLocERNS_12MachineInstrE(ptr noundef nonnull align 8 dereferenceable(88) %2366, ptr noundef nonnull align 8 dereferenceable(70) %2363) - %2528 = call noundef i32 @_ZN4llvm15LegalizerHelper19fewerElementsVectorERNS_12MachineInstrEjNS_3LLTE(ptr noundef nonnull align 8 dereferenceable(48) %37, ptr noundef nonnull align 8 dereferenceable(70) %2363, i32 noundef 0, i64 513) #22 + %2520 = tail call noundef ptr @_ZNK4llvm12MachineInstr5getMFEv(ptr noundef nonnull align 8 dereferenceable(70) %2356) #22 + call void @_ZN4llvm15LegalizerHelperC1ERNS_15MachineFunctionERNS_19GISelChangeObserverERNS_16MachineIRBuilderE(ptr noundef nonnull align 8 dereferenceable(48) %37, ptr noundef nonnull align 8 dereferenceable(1041) %2520, ptr noundef nonnull align 8 dereferenceable(72) %2361, ptr noundef nonnull align 8 dereferenceable(88) %2359) #22 + call void @_ZN4llvm16MachineIRBuilder19setInstrAndDebugLocERNS_12MachineInstrE(ptr noundef nonnull align 8 dereferenceable(88) %2359, ptr noundef nonnull align 8 dereferenceable(70) %2356) + %2521 = call noundef i32 @_ZN4llvm15LegalizerHelper19fewerElementsVectorERNS_12MachineInstrEjNS_3LLTE(ptr noundef nonnull align 8 dereferenceable(48) %37, ptr noundef nonnull align 8 dereferenceable(70) %2356, i32 noundef 0, i64 513) #22 br label %_ZN12_GLOBAL__N_117applyExtMulToMULLERN4llvm12MachineInstrERNS0_19MachineRegisterInfoERNS0_16MachineIRBuilderERNS0_19GISelChangeObserverE.exit -_ZN12_GLOBAL__N_117applyExtMulToMULLERN4llvm12MachineInstrERNS0_19MachineRegisterInfoERNS0_16MachineIRBuilderERNS0_19GISelChangeObserverE.exit: ; preds = %2506, %.critedge.i, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit9.i.i.i.i +_ZN12_GLOBAL__N_117applyExtMulToMULLERN4llvm12MachineInstrERNS0_19MachineRegisterInfoERNS0_16MachineIRBuilderERNS0_19GISelChangeObserverE.exit: ; preds = %2499, %.critedge.i, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit9.i.i.i.i call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %35) call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %36) call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %37) br label %_ZN12_GLOBAL__N_119ShuffleVectorPseudoD2Ev.exit -2529: ; preds = %4 +2522: ; preds = %4 %.val54.val = load ptr, ptr %143, align 8 - %2530 = getelementptr inbounds nuw i8, ptr %0, i64 4256 - %.val55.val = load ptr, ptr %2530, align 8 + %2523 = getelementptr inbounds nuw i8, ptr %0, i64 4256 + %.val55.val = load ptr, ptr %2523, align 8 %.val54.val.val = load ptr, ptr %.val54.val, align 8 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %33) call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %34) - %2531 = getelementptr inbounds nuw i8, ptr %.val54.val.val, i64 40 - %2532 = load i24, ptr %2531, align 8 - %2533 = zext i24 %2532 to i64 - %2534 = add nuw nsw i64 %2533, 4294967295 - %2535 = getelementptr inbounds nuw i8, ptr %.val54.val.val, i64 32 - %2536 = load ptr, ptr %2535, align 8 - %2537 = and i64 %2534, 4294967295 - %2538 = getelementptr inbounds nuw %"class.llvm::MachineOperand", ptr %2536, i64 %2537, i32 1 - %2539 = load i32, ptr %2538, align 4 - %2540 = icmp slt i32 %2539, 0 - br i1 %2540, label %2541, label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i.i284 - -2541: ; preds = %2529 - %2542 = getelementptr inbounds nuw i8, ptr %.val55.val, i64 456 - %2543 = and i32 %2539, 2147483647 - %2544 = zext nneg i32 %2543 to i64 - %2545 = tail call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(25) %2542) #22 - %2546 = icmp ugt i64 %2545, %2544 - br i1 %2546, label %2547, label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i.i284 - -2547: ; preds = %2541 - %2548 = load ptr, ptr %2542, align 8 - %2549 = getelementptr inbounds nuw %"class.llvm::LLT", ptr %2548, i64 %2544 - %2550 = load i64, ptr %2549, align 8 - br label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i.i284 - -_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i.i284: ; preds = %2547, %2541, %2529 - %.sroa.04.0.i.i.i285 = phi i64 [ %2550, %2547 ], [ 0, %2541 ], [ 0, %2529 ] - %2551 = and i64 %.sroa.04.0.i.i.i285, -7 - %spec.select.i.i.i.i.i286 = icmp ne i64 %2551, 0 - %2552 = and i64 %.sroa.04.0.i.i.i285, 2 - %.not.i.not.i.i.i287 = icmp eq i64 %2552, 0 - %2553 = and i64 %.sroa.04.0.i.i.i285, 6 - %2554 = icmp eq i64 %2553, 2 - %or.cond.i.i.i288 = and i1 %spec.select.i.i.i.i.i286, %2554 - %2555 = and i64 %.sroa.04.0.i.i.i285, 1 - %2556 = icmp ne i64 %2555, 0 - %or.cond14.i.i.i289 = or i1 %2556, %or.cond.i.i.i288 - br i1 %or.cond14.i.i.i289, label %2557, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i.i290 - -2557: ; preds = %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i.i284 - %.not.i1.i.i.i305 = icmp eq i64 %2555, 0 - br i1 %.not.i1.i.i.i305, label %2560, label %2558 - -2558: ; preds = %2557 - %2559 = lshr i64 %.sroa.04.0.i.i.i285, 3 - br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit.i.i296 - -2560: ; preds = %2557 - %2561 = and i64 %.sroa.04.0.i.i.i285, 4 - %.not1.i2.i.i.i306 = icmp eq i64 %2561, 0 - br i1 %.not1.i2.i.i.i306, label %2565, label %2562 - -2562: ; preds = %2560 - %2563 = lshr i64 %.sroa.04.0.i.i.i285, 19 - %2564 = and i64 %2563, 65535 - %spec.select.i.i.i.i307 = select i1 %.not.i.not.i.i.i287, i64 %2563, i64 %2564 - br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit.i.i296 - -2565: ; preds = %2560 - %2566 = lshr i64 %.sroa.04.0.i.i.i285, 3 - %2567 = and i64 %2566, 65535 - br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit.i.i296 - -_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i.i290: ; preds = %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i.i284 - %2568 = lshr i64 %.sroa.04.0.i.i.i285, 3 - %.sroa.0.0.insert.ext.i.i.i.i.i291 = and i64 %2568, 65535 - %2569 = select i1 %.not.i.not.i.i.i287, i64 2251799813685248, i64 576460752303423488 - %2570 = and i64 %2569, %.sroa.04.0.i.i.i285 - %.not1.i4.i.i.i292 = icmp ne i64 %2570, 0 - %2571 = and i64 %.sroa.04.0.i.i.i285, 4 - %.not1.i8.i.i.i293 = icmp eq i64 %2571, 0 - %2572 = lshr i64 %.sroa.04.0.i.i.i285, 19 - %2573 = and i64 %2572, 65535 - %spec.select.i10.i.i.i294 = select i1 %.not.i.not.i.i.i287, i64 %2572, i64 %2573 - %.0.in.i6.i.i.i295 = select i1 %.not1.i8.i.i.i293, i64 %.sroa.0.0.insert.ext.i.i.i.i.i291, i64 %spec.select.i10.i.i.i294 - %2574 = mul nuw nsw i64 %.0.in.i6.i.i.i295, %.sroa.0.0.insert.ext.i.i.i.i.i291 - %2575 = zext i1 %.not1.i4.i.i.i292 to i8 - br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit.i.i296 - -_ZNK4llvm3LLT13getSizeInBitsEv.exit.i.i296: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i.i290, %2565, %2562, %2558 - %.sroa.012.0.in.i.i.i297 = phi i64 [ %2574, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i.i290 ], [ %2559, %2558 ], [ %2567, %2565 ], [ %spec.select.i.i.i.i307, %2562 ] - %.sroa.3.0.i.i.i298 = phi i8 [ %2575, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i.i290 ], [ 0, %2558 ], [ 0, %2565 ], [ 0, %2562 ] - %.sroa.012.0.i.i.i299 = and i64 %.sroa.012.0.in.i.i.i297, 4294967295 - store i64 %.sroa.012.0.i.i.i299, ptr %33, align 8 + %2524 = getelementptr inbounds nuw i8, ptr %.val54.val.val, i64 40 + %2525 = load i24, ptr %2524, align 8 + %2526 = zext i24 %2525 to i64 + %2527 = add nuw nsw i64 %2526, 4294967295 + %2528 = getelementptr inbounds nuw i8, ptr %.val54.val.val, i64 32 + %2529 = load ptr, ptr %2528, align 8 + %2530 = and i64 %2527, 4294967295 + %2531 = getelementptr inbounds nuw %"class.llvm::MachineOperand", ptr %2529, i64 %2530, i32 1 + %2532 = load i32, ptr %2531, align 4 + %2533 = icmp slt i32 %2532, 0 + br i1 %2533, label %2534, label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i.i281 + +2534: ; preds = %2522 + %2535 = getelementptr inbounds nuw i8, ptr %.val55.val, i64 456 + %2536 = and i32 %2532, 2147483647 + %2537 = zext nneg i32 %2536 to i64 + %2538 = tail call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(25) %2535) #22 + %2539 = icmp ugt i64 %2538, %2537 + br i1 %2539, label %2540, label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i.i281 + +2540: ; preds = %2534 + %2541 = load ptr, ptr %2535, align 8 + %2542 = getelementptr inbounds nuw %"class.llvm::LLT", ptr %2541, i64 %2537 + %2543 = load i64, ptr %2542, align 8 + br label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i.i281 + +_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i.i281: ; preds = %2540, %2534, %2522 + %.sroa.04.0.i.i.i282 = phi i64 [ %2543, %2540 ], [ 0, %2534 ], [ 0, %2522 ] + %2544 = and i64 %.sroa.04.0.i.i.i282, -7 + %spec.select.i.i.i.i.i283 = icmp ne i64 %2544, 0 + %2545 = and i64 %.sroa.04.0.i.i.i282, 2 + %.not.i.not.i.i.i284 = icmp eq i64 %2545, 0 + %2546 = and i64 %.sroa.04.0.i.i.i282, 6 + %2547 = icmp eq i64 %2546, 2 + %or.cond.i.i.i285 = and i1 %spec.select.i.i.i.i.i283, %2547 + %2548 = and i64 %.sroa.04.0.i.i.i282, 1 + %2549 = icmp ne i64 %2548, 0 + %or.cond14.i.i.i286 = or i1 %2549, %or.cond.i.i.i285 + br i1 %or.cond14.i.i.i286, label %2550, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i.i287 + +2550: ; preds = %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i.i281 + %.not.i1.i.i.i302 = icmp eq i64 %2548, 0 + br i1 %.not.i1.i.i.i302, label %2553, label %2551 + +2551: ; preds = %2550 + %2552 = lshr i64 %.sroa.04.0.i.i.i282, 3 + br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit.i.i293 + +2553: ; preds = %2550 + %2554 = and i64 %.sroa.04.0.i.i.i282, 4 + %.not1.i2.i.i.i303 = icmp eq i64 %2554, 0 + br i1 %.not1.i2.i.i.i303, label %2558, label %2555 + +2555: ; preds = %2553 + %2556 = lshr i64 %.sroa.04.0.i.i.i282, 19 + %2557 = and i64 %2556, 65535 + %spec.select.i.i.i.i304 = select i1 %.not.i.not.i.i.i284, i64 %2556, i64 %2557 + br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit.i.i293 + +2558: ; preds = %2553 + %2559 = lshr i64 %.sroa.04.0.i.i.i282, 3 + %2560 = and i64 %2559, 65535 + br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit.i.i293 + +_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i.i287: ; preds = %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i.i281 + %2561 = lshr i64 %.sroa.04.0.i.i.i282, 3 + %.sroa.0.0.insert.ext.i.i.i.i.i288 = and i64 %2561, 65535 + %2562 = select i1 %.not.i.not.i.i.i284, i64 2251799813685248, i64 576460752303423488 + %2563 = and i64 %2562, %.sroa.04.0.i.i.i282 + %.not1.i4.i.i.i289 = icmp ne i64 %2563, 0 + %2564 = and i64 %.sroa.04.0.i.i.i282, 4 + %.not1.i8.i.i.i290 = icmp eq i64 %2564, 0 + %2565 = lshr i64 %.sroa.04.0.i.i.i282, 19 + %2566 = and i64 %2565, 65535 + %spec.select.i10.i.i.i291 = select i1 %.not.i.not.i.i.i284, i64 %2565, i64 %2566 + %.0.in.i6.i.i.i292 = select i1 %.not1.i8.i.i.i290, i64 %.sroa.0.0.insert.ext.i.i.i.i.i288, i64 %spec.select.i10.i.i.i291 + %2567 = mul nuw nsw i64 %.0.in.i6.i.i.i292, %.sroa.0.0.insert.ext.i.i.i.i.i288 + %2568 = zext i1 %.not1.i4.i.i.i289 to i8 + br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit.i.i293 + +_ZNK4llvm3LLT13getSizeInBitsEv.exit.i.i293: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i.i287, %2558, %2555, %2551 + %.sroa.012.0.in.i.i.i294 = phi i64 [ %2567, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i.i287 ], [ %2552, %2551 ], [ %2560, %2558 ], [ %spec.select.i.i.i.i304, %2555 ] + %.sroa.3.0.i.i.i295 = phi i8 [ %2568, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i.i287 ], [ 0, %2551 ], [ 0, %2558 ], [ 0, %2555 ] + %.sroa.012.0.i.i.i296 = and i64 %.sroa.012.0.in.i.i.i294, 4294967295 + store i64 %.sroa.012.0.i.i.i296, ptr %33, align 8 %.sroa.24.0..sroa_idx.i.i = getelementptr inbounds nuw i8, ptr %33, i64 8 - store i8 %.sroa.3.0.i.i.i298, ptr %.sroa.24.0..sroa_idx.i.i, align 8 - %2576 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %33) #22 - %.not.i.i300 = icmp eq i64 %2576, 128 - br i1 %.not.i.i300, label %.critedge.i.i303, label %2577 + store i8 %.sroa.3.0.i.i.i295, ptr %.sroa.24.0..sroa_idx.i.i, align 8 + %2569 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %33) #22 + %.not.i.i297 = icmp eq i64 %2569, 128 + br i1 %.not.i.i297, label %.critedge.i.i300, label %2570 -2577: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit.i.i296 - br i1 %or.cond14.i.i.i289, label %2578, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i17.i.i +2570: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit.i.i293 + br i1 %or.cond14.i.i.i286, label %2571, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i17.i.i -2578: ; preds = %2577 - %.not.i1.i28.i.i = icmp eq i64 %2555, 0 - br i1 %.not.i1.i28.i.i, label %2581, label %2579 +2571: ; preds = %2570 + %.not.i1.i28.i.i = icmp eq i64 %2548, 0 + br i1 %.not.i1.i28.i.i, label %2574, label %2572 -2579: ; preds = %2578 - %2580 = lshr i64 %.sroa.04.0.i.i.i285, 3 +2572: ; preds = %2571 + %2573 = lshr i64 %.sroa.04.0.i.i.i282, 3 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit31.i.i -2581: ; preds = %2578 - %2582 = and i64 %.sroa.04.0.i.i.i285, 4 - %.not1.i2.i29.i.i = icmp eq i64 %2582, 0 - br i1 %.not1.i2.i29.i.i, label %2586, label %2583 +2574: ; preds = %2571 + %2575 = and i64 %.sroa.04.0.i.i.i282, 4 + %.not1.i2.i29.i.i = icmp eq i64 %2575, 0 + br i1 %.not1.i2.i29.i.i, label %2579, label %2576 -2583: ; preds = %2581 - %2584 = lshr i64 %.sroa.04.0.i.i.i285, 19 - %2585 = and i64 %2584, 65535 - %spec.select.i.i30.i.i = select i1 %.not.i.not.i.i.i287, i64 %2584, i64 %2585 +2576: ; preds = %2574 + %2577 = lshr i64 %.sroa.04.0.i.i.i282, 19 + %2578 = and i64 %2577, 65535 + %spec.select.i.i30.i.i = select i1 %.not.i.not.i.i.i284, i64 %2577, i64 %2578 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit31.i.i -2586: ; preds = %2581 - %2587 = lshr i64 %.sroa.04.0.i.i.i285, 3 - %2588 = and i64 %2587, 65535 +2579: ; preds = %2574 + %2580 = lshr i64 %.sroa.04.0.i.i.i282, 3 + %2581 = and i64 %2580, 65535 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit31.i.i -_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i17.i.i: ; preds = %2577 - %2589 = lshr i64 %.sroa.04.0.i.i.i285, 3 - %.sroa.0.0.insert.ext.i.i.i18.i.i = and i64 %2589, 65535 - %2590 = select i1 %.not.i.not.i.i.i287, i64 2251799813685248, i64 576460752303423488 - %2591 = and i64 %2590, %.sroa.04.0.i.i.i285 - %.not1.i4.i19.i.i = icmp ne i64 %2591, 0 - %2592 = and i64 %.sroa.04.0.i.i.i285, 4 - %.not1.i8.i20.i.i = icmp eq i64 %2592, 0 - %2593 = lshr i64 %.sroa.04.0.i.i.i285, 19 - %2594 = and i64 %2593, 65535 - %spec.select.i10.i21.i.i = select i1 %.not.i.not.i.i.i287, i64 %2593, i64 %2594 +_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i17.i.i: ; preds = %2570 + %2582 = lshr i64 %.sroa.04.0.i.i.i282, 3 + %.sroa.0.0.insert.ext.i.i.i18.i.i = and i64 %2582, 65535 + %2583 = select i1 %.not.i.not.i.i.i284, i64 2251799813685248, i64 576460752303423488 + %2584 = and i64 %2583, %.sroa.04.0.i.i.i282 + %.not1.i4.i19.i.i = icmp ne i64 %2584, 0 + %2585 = and i64 %.sroa.04.0.i.i.i282, 4 + %.not1.i8.i20.i.i = icmp eq i64 %2585, 0 + %2586 = lshr i64 %.sroa.04.0.i.i.i282, 19 + %2587 = and i64 %2586, 65535 + %spec.select.i10.i21.i.i = select i1 %.not.i.not.i.i.i284, i64 %2586, i64 %2587 %.0.in.i6.i22.i.i = select i1 %.not1.i8.i20.i.i, i64 %.sroa.0.0.insert.ext.i.i.i18.i.i, i64 %spec.select.i10.i21.i.i - %2595 = mul nuw nsw i64 %.0.in.i6.i22.i.i, %.sroa.0.0.insert.ext.i.i.i18.i.i - %2596 = zext i1 %.not1.i4.i19.i.i to i8 + %2588 = mul nuw nsw i64 %.0.in.i6.i22.i.i, %.sroa.0.0.insert.ext.i.i.i18.i.i + %2589 = zext i1 %.not1.i4.i19.i.i to i8 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit31.i.i -_ZNK4llvm3LLT13getSizeInBitsEv.exit31.i.i: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i17.i.i, %2586, %2583, %2579 - %.sroa.012.0.in.i23.i.i = phi i64 [ %2595, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i17.i.i ], [ %2580, %2579 ], [ %2588, %2586 ], [ %spec.select.i.i30.i.i, %2583 ] - %.sroa.3.0.i24.i.i = phi i8 [ %2596, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i17.i.i ], [ 0, %2579 ], [ 0, %2586 ], [ 0, %2583 ] +_ZNK4llvm3LLT13getSizeInBitsEv.exit31.i.i: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i17.i.i, %2579, %2576, %2572 + %.sroa.012.0.in.i23.i.i = phi i64 [ %2588, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i17.i.i ], [ %2573, %2572 ], [ %2581, %2579 ], [ %spec.select.i.i30.i.i, %2576 ] + %.sroa.3.0.i24.i.i = phi i8 [ %2589, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i17.i.i ], [ 0, %2572 ], [ 0, %2579 ], [ 0, %2576 ] %.sroa.012.0.i25.i.i = and i64 %.sroa.012.0.in.i23.i.i, 4294967295 store i64 %.sroa.012.0.i25.i.i, ptr %34, align 8 - %.sroa.2.0..sroa_idx.i.i301 = getelementptr inbounds nuw i8, ptr %34, i64 8 - store i8 %.sroa.3.0.i24.i.i, ptr %.sroa.2.0..sroa_idx.i.i301, align 8 - %2597 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %34) #22 - %.not12.i.i = icmp eq i64 %2597, 64 - br i1 %.not12.i.i, label %.critedge.i.i303, label %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK4$_18clEv.exit.thread" - -.critedge.i.i303: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit31.i.i, %_ZNK4llvm3LLT13getSizeInBitsEv.exit.i.i296 - %2598 = and i64 %.sroa.04.0.i.i.i285, 4 - %2599 = icmp ne i64 %2598, 0 - %2600 = and i1 %spec.select.i.i.i.i.i286, %2599 - br i1 %2600, label %2601, label %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK4$_18clEv.exit.thread" - -2601: ; preds = %.critedge.i.i303 - %2602 = select i1 %.not.i.not.i.i.i287, i64 2251799813685248, i64 576460752303423488 - %2603 = and i64 %2602, %.sroa.04.0.i.i.i285 - %.not39.i.i = icmp eq i64 %2603, 0 + %.sroa.2.0..sroa_idx.i.i298 = getelementptr inbounds nuw i8, ptr %34, i64 8 + store i8 %.sroa.3.0.i24.i.i, ptr %.sroa.2.0..sroa_idx.i.i298, align 8 + %2590 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %34) #22 + %.not12.i.i = icmp eq i64 %2590, 64 + br i1 %.not12.i.i, label %.critedge.i.i300, label %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK4$_18clEv.exit.thread" + +.critedge.i.i300: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit31.i.i, %_ZNK4llvm3LLT13getSizeInBitsEv.exit.i.i293 + %2591 = and i64 %.sroa.04.0.i.i.i282, 4 + %2592 = icmp ne i64 %2591, 0 + %2593 = and i1 %spec.select.i.i.i.i.i283, %2592 + br i1 %2593, label %2594, label %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK4$_18clEv.exit.thread" + +2594: ; preds = %.critedge.i.i300 + %2595 = select i1 %.not.i.not.i.i.i284, i64 2251799813685248, i64 576460752303423488 + %2596 = and i64 %2595, %.sroa.04.0.i.i.i282 + %.not39.i.i = icmp eq i64 %2596, 0 br i1 %.not39.i.i, label %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK4$_18clEv.exit", label %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK4$_18clEv.exit.thread" -"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK4$_18clEv.exit.thread": ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit31.i.i, %2601, %.critedge.i.i303 +"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK4$_18clEv.exit.thread": ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit31.i.i, %2594, %.critedge.i.i300 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %33) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %34) br label %_ZN12_GLOBAL__N_119ShuffleVectorPseudoD2Ev.exit -"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK4$_18clEv.exit": ; preds = %2601 - %2604 = load i24, ptr %2531, align 8 - %2605 = zext i24 %2604 to i32 - %2606 = trunc i64 %.sroa.04.0.i.i.i285 to i32 - %2607 = lshr i32 %2606, 3 - %2608 = and i32 %2607, 65535 - %2609 = add nuw nsw i32 %2608, 1 - %2610 = icmp eq i32 %2609, %2605 +"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK4$_18clEv.exit": ; preds = %2594 + %2597 = load i24, ptr %2524, align 8 + %2598 = zext i24 %2597 to i32 + %2599 = trunc i64 %.sroa.04.0.i.i.i282 to i32 + %2600 = lshr i32 %2599, 3 + %2601 = and i32 %2600, 65535 + %2602 = add nuw nsw i32 %2601, 1 + %2603 = icmp eq i32 %2602, %2598 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %33) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %34) - br i1 %2610, label %2611, label %_ZN12_GLOBAL__N_119ShuffleVectorPseudoD2Ev.exit - -2611: ; preds = %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK4$_18clEv.exit" - %2612 = load ptr, ptr %143, align 8 - %2613 = load ptr, ptr %2612, align 8 - %2614 = load ptr, ptr %2530, align 8 - %2615 = getelementptr inbounds nuw i8, ptr %0, i64 4240 - %2616 = load ptr, ptr %2615, align 8 + br i1 %2603, label %2604, label %_ZN12_GLOBAL__N_119ShuffleVectorPseudoD2Ev.exit + +2604: ; preds = %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK4$_18clEv.exit" + %2605 = load ptr, ptr %143, align 8 + %2606 = load ptr, ptr %2605, align 8 + %2607 = load ptr, ptr %2523, align 8 + %2608 = getelementptr inbounds nuw i8, ptr %0, i64 4240 + %2609 = load ptr, ptr %2608, align 8 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %31) call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %32) - %2617 = getelementptr inbounds nuw i8, ptr %2613, i64 40 - %2618 = load i24, ptr %2617, align 8 - %2619 = zext i24 %2618 to i64 - %2620 = add nuw nsw i64 %2619, 4294967295 - %2621 = getelementptr inbounds nuw i8, ptr %2613, i64 32 - %2622 = load ptr, ptr %2621, align 8 - %2623 = and i64 %2620, 4294967295 - %2624 = getelementptr inbounds nuw %"class.llvm::MachineOperand", ptr %2622, i64 %2623, i32 1 - %2625 = load i32, ptr %2624, align 4 - %2626 = icmp slt i32 %2625, 0 - br i1 %2626, label %2627, label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i308 - -2627: ; preds = %2611 - %2628 = getelementptr inbounds nuw i8, ptr %2614, i64 456 - %2629 = and i32 %2625, 2147483647 - %2630 = zext nneg i32 %2629 to i64 - %2631 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(25) %2628) #22 - %2632 = icmp ugt i64 %2631, %2630 - br i1 %2632, label %2633, label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i308 - -2633: ; preds = %2627 - %2634 = load ptr, ptr %2628, align 8 - %2635 = getelementptr inbounds nuw %"class.llvm::LLT", ptr %2634, i64 %2630 - %2636 = load i64, ptr %2635, align 8 - br label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i308 - -_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i308: ; preds = %2633, %2627, %2611 - %.sroa.04.0.i.i309 = phi i64 [ %2636, %2633 ], [ 0, %2627 ], [ 0, %2611 ] - %2637 = and i64 %.sroa.04.0.i.i309, 2 - %.not.i.i.i310 = icmp eq i64 %2637, 0 - %2638 = select i1 %.not.i.i.i310, i64 2251799813685248, i64 576460752303423488 - %2639 = and i64 %2638, %.sroa.04.0.i.i309 - %.not.i.i311 = icmp eq i64 %2639, 0 - %2640 = lshr i64 %.sroa.04.0.i.i309, 3 - %wide.trip.count.i = and i64 %2640, 65535 - %2641 = getelementptr inbounds nuw i8, ptr %31, i64 8 - %2642 = getelementptr inbounds nuw i8, ptr %32, i64 16 - %2643 = getelementptr inbounds nuw i8, ptr %2616, i64 8 - %.sroa.2.0..sroa_idx.i.i312 = getelementptr inbounds nuw i8, ptr %28, i64 8 - %2644 = getelementptr inbounds nuw i8, ptr %30, i64 8 + %2610 = getelementptr inbounds nuw i8, ptr %2606, i64 40 + %2611 = load i24, ptr %2610, align 8 + %2612 = zext i24 %2611 to i64 + %2613 = add nuw nsw i64 %2612, 4294967295 + %2614 = getelementptr inbounds nuw i8, ptr %2606, i64 32 + %2615 = load ptr, ptr %2614, align 8 + %2616 = and i64 %2613, 4294967295 + %2617 = getelementptr inbounds nuw %"class.llvm::MachineOperand", ptr %2615, i64 %2616, i32 1 + %2618 = load i32, ptr %2617, align 4 + %2619 = icmp slt i32 %2618, 0 + br i1 %2619, label %2620, label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i305 + +2620: ; preds = %2604 + %2621 = getelementptr inbounds nuw i8, ptr %2607, i64 456 + %2622 = and i32 %2618, 2147483647 + %2623 = zext nneg i32 %2622 to i64 + %2624 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(25) %2621) #22 + %2625 = icmp ugt i64 %2624, %2623 + br i1 %2625, label %2626, label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i305 + +2626: ; preds = %2620 + %2627 = load ptr, ptr %2621, align 8 + %2628 = getelementptr inbounds nuw %"class.llvm::LLT", ptr %2627, i64 %2623 + %2629 = load i64, ptr %2628, align 8 + br label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i305 + +_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i305: ; preds = %2626, %2620, %2604 + %.sroa.04.0.i.i306 = phi i64 [ %2629, %2626 ], [ 0, %2620 ], [ 0, %2604 ] + %2630 = and i64 %.sroa.04.0.i.i306, 2 + %.not.i.i.i307 = icmp eq i64 %2630, 0 + %2631 = select i1 %.not.i.i.i307, i64 2251799813685248, i64 576460752303423488 + %2632 = and i64 %2631, %.sroa.04.0.i.i306 + %.not.i.i308 = icmp eq i64 %2632, 0 + %2633 = lshr i64 %.sroa.04.0.i.i306, 3 + %wide.trip.count.i = and i64 %2633, 65535 + %2634 = getelementptr inbounds nuw i8, ptr %31, i64 8 + %2635 = getelementptr inbounds nuw i8, ptr %32, i64 16 + %2636 = getelementptr inbounds nuw i8, ptr %2609, i64 8 + %.sroa.2.0..sroa_idx.i.i309 = getelementptr inbounds nuw i8, ptr %28, i64 8 + %2637 = getelementptr inbounds nuw i8, ptr %30, i64 8 %.sroa.2.0..sroa_idx8.i.i = getelementptr inbounds nuw i8, ptr %29, i64 8 - %2645 = getelementptr inbounds nuw i8, ptr %29, i64 16 - br label %2646 + %2638 = getelementptr inbounds nuw i8, ptr %29, i64 16 + br label %2639 -2646: ; preds = %2648, %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i308 - %indvars.iv.i313 = phi i64 [ %indvars.iv.next.i317, %2648 ], [ 0, %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i308 ] - br i1 %.not.i.i311, label %_ZNK4llvm3LLT14getNumElementsEv.exit.i, label %2647 +2639: ; preds = %2641, %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i305 + %indvars.iv.i310 = phi i64 [ %indvars.iv.next.i314, %2641 ], [ 0, %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i305 ] + br i1 %.not.i.i308, label %_ZNK4llvm3LLT14getNumElementsEv.exit.i, label %2640 -2647: ; preds = %2646 +2640: ; preds = %2639 call void @_ZN4llvm24reportInvalidSizeRequestEPKc(ptr noundef nonnull @.str.15) #22 br label %_ZNK4llvm3LLT14getNumElementsEv.exit.i -_ZNK4llvm3LLT14getNumElementsEv.exit.i: ; preds = %2647, %2646 - %exitcond.not.i = icmp eq i64 %indvars.iv.i313, %wide.trip.count.i - br i1 %exitcond.not.i, label %_ZN12_GLOBAL__N_127applyScalarizeVectorUnmergeERN4llvm12MachineInstrERNS0_19MachineRegisterInfoERNS0_16MachineIRBuilderE.exit, label %2648 - -2648: ; preds = %_ZNK4llvm3LLT14getNumElementsEv.exit.i - %2649 = load ptr, ptr %2621, align 8 - %2650 = getelementptr inbounds nuw %"class.llvm::MachineOperand", ptr %2649, i64 %indvars.iv.i313, i32 1 - %2651 = load i32, ptr %2650, align 4 - store i32 %2651, ptr %31, align 8 - store i32 1, ptr %2641, align 8 - store i32 %2625, ptr %32, align 8 - store i32 0, ptr %2642, align 8 +_ZNK4llvm3LLT14getNumElementsEv.exit.i: ; preds = %2640, %2639 + %exitcond.not.i = icmp eq i64 %indvars.iv.i310, %wide.trip.count.i + br i1 %exitcond.not.i, label %_ZN12_GLOBAL__N_127applyScalarizeVectorUnmergeERN4llvm12MachineInstrERNS0_19MachineRegisterInfoERNS0_16MachineIRBuilderE.exit, label %2641 + +2641: ; preds = %_ZNK4llvm3LLT14getNumElementsEv.exit.i + %2642 = load ptr, ptr %2614, align 8 + %2643 = getelementptr inbounds nuw %"class.llvm::MachineOperand", ptr %2642, i64 %indvars.iv.i310, i32 1 + %2644 = load i32, ptr %2643, align 4 + store i32 %2644, ptr %31, align 8 + store i32 1, ptr %2634, align 8 + store i32 %2618, ptr %32, align 8 + store i32 0, ptr %2635, align 8 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %28) call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %29) call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %30) - %2652 = load ptr, ptr %2643, align 8 - %2653 = getelementptr inbounds nuw i8, ptr %2652, i64 16 - %2654 = load ptr, ptr %2653, align 8 - %2655 = load ptr, ptr %2654, align 8 - %2656 = getelementptr inbounds nuw i8, ptr %2655, i64 144 + %2645 = load ptr, ptr %2636, align 8 + %2646 = getelementptr inbounds nuw i8, ptr %2645, i64 16 + %2647 = load ptr, ptr %2646, align 8 + %2648 = load ptr, ptr %2647, align 8 + %2649 = getelementptr inbounds nuw i8, ptr %2648, i64 144 + %2650 = load ptr, ptr %2649, align 8 + %2651 = call noundef ptr %2650(ptr noundef nonnull align 8 dereferenceable(288) %2647) #22 + %2652 = load ptr, ptr %2636, align 8 + %2653 = load ptr, ptr %2652, align 8 + %2654 = call noundef nonnull align 8 dereferenceable(512) ptr @_ZNK4llvm8Function13getDataLayoutEv(ptr noundef nonnull align 8 dereferenceable(136) %2653) #22 + %2655 = load ptr, ptr %2651, align 8 + %2656 = getelementptr inbounds nuw i8, ptr %2655, i64 72 %2657 = load ptr, ptr %2656, align 8 - %2658 = call noundef ptr %2657(ptr noundef nonnull align 8 dereferenceable(288) %2654) #22 - %2659 = load ptr, ptr %2643, align 8 - %2660 = load ptr, ptr %2659, align 8 - %2661 = call noundef nonnull align 8 dereferenceable(512) ptr @_ZNK4llvm8Function13getDataLayoutEv(ptr noundef nonnull align 8 dereferenceable(136) %2660) #22 - %2662 = load ptr, ptr %2658, align 8 - %2663 = getelementptr inbounds nuw i8, ptr %2662, i64 72 - %2664 = load ptr, ptr %2663, align 8 - %2665 = call i16 %2664(ptr noundef nonnull align 8 dereferenceable(408123) %2658, ptr noundef nonnull align 8 dereferenceable(512) %2661) #22 - %2666 = zext i16 %2665 to i64 - %2667 = add nsw i64 %2666, -1 - %2668 = getelementptr inbounds [240 x %"class.llvm::TypeSize"], ptr @_ZZNK4llvm3MVT13getSizeInBitsEvE9SizeTable, i64 0, i64 %2667 - %.sroa.0.0.copyload.i.i.i314 = load i64, ptr %2668, align 16 - %.sroa.2.0..sroa_idx.i.i.i315 = getelementptr inbounds nuw i8, ptr %2668, i64 8 - %.sroa.2.0.copyload.i.i.i316 = load i8, ptr %.sroa.2.0..sroa_idx.i.i.i315, align 8 - store i64 %.sroa.0.0.copyload.i.i.i314, ptr %28, align 8 - store i8 %.sroa.2.0.copyload.i.i.i316, ptr %.sroa.2.0..sroa_idx.i.i312, align 8 - %2669 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %28) #22 - %2670 = shl i64 %2669, 3 - %2671 = and i64 %2670, 34359738360 - %2672 = or disjoint i64 %2671, 1 - store i64 %2672, ptr %30, align 8 - store i32 0, ptr %2644, align 8 - %2673 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder13buildConstantERKNS_5DstOpEl(ptr noundef nonnull align 8 dereferenceable(88) %2616, ptr noundef nonnull align 8 dereferenceable(12) %30, i64 noundef %indvars.iv.i313) #22 - %2674 = extractvalue { ptr, ptr } %2673, 0 - %2675 = extractvalue { ptr, ptr } %2673, 1 - store ptr %2674, ptr %29, align 8 - store ptr %2675, ptr %.sroa.2.0..sroa_idx8.i.i, align 8 - store i32 1, ptr %2645, align 8 - %2676 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder25buildExtractVectorElementERKNS_5DstOpERKNS_5SrcOpES6_(ptr noundef nonnull align 8 dereferenceable(88) %2616, ptr noundef nonnull align 8 dereferenceable(12) %31, ptr noundef nonnull align 8 dereferenceable(20) %32, ptr noundef nonnull align 8 dereferenceable(20) %29) #22 + %2658 = call i16 %2657(ptr noundef nonnull align 8 dereferenceable(408123) %2651, ptr noundef nonnull align 8 dereferenceable(512) %2654) #22 + %2659 = zext i16 %2658 to i64 + %2660 = add nsw i64 %2659, -1 + %2661 = getelementptr inbounds [240 x %"class.llvm::TypeSize"], ptr @_ZZNK4llvm3MVT13getSizeInBitsEvE9SizeTable, i64 0, i64 %2660 + %.sroa.0.0.copyload.i.i.i311 = load i64, ptr %2661, align 16 + %.sroa.2.0..sroa_idx.i.i.i312 = getelementptr inbounds nuw i8, ptr %2661, i64 8 + %.sroa.2.0.copyload.i.i.i313 = load i8, ptr %.sroa.2.0..sroa_idx.i.i.i312, align 8 + store i64 %.sroa.0.0.copyload.i.i.i311, ptr %28, align 8 + store i8 %.sroa.2.0.copyload.i.i.i313, ptr %.sroa.2.0..sroa_idx.i.i309, align 8 + %2662 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %28) #22 + %2663 = shl i64 %2662, 3 + %2664 = and i64 %2663, 34359738360 + %2665 = or disjoint i64 %2664, 1 + store i64 %2665, ptr %30, align 8 + store i32 0, ptr %2637, align 8 + %2666 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder13buildConstantERKNS_5DstOpEl(ptr noundef nonnull align 8 dereferenceable(88) %2609, ptr noundef nonnull align 8 dereferenceable(12) %30, i64 noundef %indvars.iv.i310) #22 + %2667 = extractvalue { ptr, ptr } %2666, 0 + %2668 = extractvalue { ptr, ptr } %2666, 1 + store ptr %2667, ptr %29, align 8 + store ptr %2668, ptr %.sroa.2.0..sroa_idx8.i.i, align 8 + store i32 1, ptr %2638, align 8 + %2669 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder25buildExtractVectorElementERKNS_5DstOpERKNS_5SrcOpES6_(ptr noundef nonnull align 8 dereferenceable(88) %2609, ptr noundef nonnull align 8 dereferenceable(12) %31, ptr noundef nonnull align 8 dereferenceable(20) %32, ptr noundef nonnull align 8 dereferenceable(20) %29) #22 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %28) call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %29) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %30) - %indvars.iv.next.i317 = add nuw nsw i64 %indvars.iv.i313, 1 - br label %2646, !llvm.loop !78 + %indvars.iv.next.i314 = add nuw nsw i64 %indvars.iv.i310, 1 + br label %2639, !llvm.loop !78 _ZN12_GLOBAL__N_127applyScalarizeVectorUnmergeERN4llvm12MachineInstrERNS0_19MachineRegisterInfoERNS0_16MachineIRBuilderE.exit: ; preds = %_ZNK4llvm3LLT14getNumElementsEv.exit.i - call void @_ZN4llvm12MachineInstr15eraseFromParentEv(ptr noundef nonnull align 8 dereferenceable(70) %2613) #22 + call void @_ZN4llvm12MachineInstr15eraseFromParentEv(ptr noundef nonnull align 8 dereferenceable(70) %2606) #22 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %31) call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %32) br label %_ZN12_GLOBAL__N_119ShuffleVectorPseudoD2Ev.exit -2677: ; preds = %4 - %2678 = getelementptr inbounds nuw i8, ptr %140, i64 4 - store i32 0, ptr %2678, align 4 - %2679 = getelementptr inbounds nuw i8, ptr %140, i64 8 - %2680 = getelementptr inbounds nuw i8, ptr %140, i64 24 - call void @_ZN4llvm15SmallVectorBaseIjEC2EPvm(ptr noundef nonnull align 8 dereferenceable(64) %2679, ptr noundef nonnull %2680, i64 noundef 2) #22 +2670: ; preds = %4 + %2671 = getelementptr inbounds nuw i8, ptr %140, i64 4 + store i32 0, ptr %2671, align 4 + %2672 = getelementptr inbounds nuw i8, ptr %140, i64 8 + %2673 = getelementptr inbounds nuw i8, ptr %140, i64 24 + call void @_ZN4llvm15SmallVectorBaseIjEC2EPvm(ptr noundef nonnull align 8 dereferenceable(64) %2672, ptr noundef nonnull %2673, i64 noundef 2) #22 %.val56.val = load ptr, ptr %143, align 8 - %2681 = getelementptr inbounds nuw i8, ptr %0, i64 4256 - %.val57.val = load ptr, ptr %2681, align 8 + %2674 = getelementptr inbounds nuw i8, ptr %0, i64 4256 + %.val57.val = load ptr, ptr %2674, align 8 %.val56.val.val = load ptr, ptr %.val56.val, align 8 - %2682 = getelementptr i8, ptr %.val56.val.val, i64 32 - %.val56.val.val.val = load ptr, ptr %2682, align 8 - %2683 = getelementptr i8, ptr %.val56.val.val.val, i64 100 - %.val56.val.val.val.val = load i32, ptr %2683, align 4 + %2675 = getelementptr i8, ptr %.val56.val.val, i64 32 + %.val56.val.val.val = load ptr, ptr %2675, align 8 + %2676 = getelementptr i8, ptr %.val56.val.val.val, i64 100 + %.val56.val.val.val.val = load i32, ptr %2676, align 4 call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %27) call void @_ZN4llvm34getIConstantVRegValWithLookThroughENS_8RegisterERKNS_19MachineRegisterInfoEb(ptr dead_on_unwind nonnull writable sret(%"class.std::optional.520") align 8 %27, i32 %.val56.val.val.val.val, ptr noundef nonnull align 8 dereferenceable(512) %.val57.val, i1 noundef zeroext true) #22 - %2684 = getelementptr inbounds nuw i8, ptr %27, i64 24 - %2685 = load i8, ptr %2684, align 8 - %2686 = trunc i8 %2685 to i1 - br i1 %2686, label %2687, label %2695 - -2687: ; preds = %2677 - store i8 0, ptr %2684, align 8 - %2688 = getelementptr inbounds nuw i8, ptr %27, i64 8 - %2689 = load i32, ptr %2688, align 8 - %2690 = icmp ugt i32 %2689, 64 - br i1 %2690, label %2691, label %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK4$_19clEv.exit.thread" - -2691: ; preds = %2687 - %2692 = load ptr, ptr %27, align 8 - %2693 = icmp eq ptr %2692, null - br i1 %2693, label %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK4$_19clEv.exit.thread", label %2694 - -2694: ; preds = %2691 - call void @_ZdaPv(ptr noundef nonnull %2692) #23 + %2677 = getelementptr inbounds nuw i8, ptr %27, i64 24 + %2678 = load i8, ptr %2677, align 8 + %2679 = trunc i8 %2678 to i1 + br i1 %2679, label %2680, label %2688 + +2680: ; preds = %2670 + store i8 0, ptr %2677, align 8 + %2681 = getelementptr inbounds nuw i8, ptr %27, i64 8 + %2682 = load i32, ptr %2681, align 8 + %2683 = icmp ugt i32 %2682, 64 + br i1 %2683, label %2684, label %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK4$_19clEv.exit.thread" + +2684: ; preds = %2680 + %2685 = load ptr, ptr %27, align 8 + %2686 = icmp eq ptr %2685, null + br i1 %2686, label %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK4$_19clEv.exit.thread", label %2687 + +2687: ; preds = %2684 + call void @_ZdaPv(ptr noundef nonnull %2685) #23 br label %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK4$_19clEv.exit.thread" -"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK4$_19clEv.exit.thread": ; preds = %2687, %2691, %2694 +"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK4$_19clEv.exit.thread": ; preds = %2680, %2684, %2687 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %27) - br label %2908 + br label %2901 -2695: ; preds = %2677 +2688: ; preds = %2670 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %27) - %2696 = load ptr, ptr %143, align 8 - %2697 = load ptr, ptr %2696, align 8 - %2698 = load ptr, ptr %2681, align 8 - %2699 = getelementptr inbounds nuw i8, ptr %0, i64 4240 - %2700 = load ptr, ptr %2699, align 8 + %2689 = load ptr, ptr %143, align 8 + %2690 = load ptr, ptr %2689, align 8 + %2691 = load ptr, ptr %2674, align 8 + %2692 = getelementptr inbounds nuw i8, ptr %0, i64 4240 + %2693 = load ptr, ptr %2692, align 8 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %9) call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %10) call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %11) @@ -7647,412 +7634,412 @@ _ZN12_GLOBAL__N_127applyScalarizeVectorUnmergeERN4llvm12MachineInstrERNS0_19Mach call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %24) call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %25) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %26) - call void @_ZN4llvm16MachineIRBuilder19setInstrAndDebugLocERNS_12MachineInstrE(ptr noundef nonnull align 8 dereferenceable(88) %2700, ptr noundef nonnull align 8 dereferenceable(70) %2697) - %2701 = getelementptr inbounds nuw i8, ptr %2697, i64 32 - %2702 = load ptr, ptr %2701, align 8 - %2703 = getelementptr inbounds nuw i8, ptr %2702, i64 100 - %2704 = load i32, ptr %2703, align 4 - %2705 = getelementptr inbounds nuw i8, ptr %2702, i64 4 - %2706 = load i32, ptr %2705, align 4 - %2707 = icmp slt i32 %2706, 0 - br i1 %2707, label %2708, label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i318 - -2708: ; preds = %2695 - %2709 = getelementptr inbounds nuw i8, ptr %2698, i64 456 - %2710 = and i32 %2706, 2147483647 - %2711 = zext nneg i32 %2710 to i64 - %2712 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(25) %2709) #22 - %2713 = icmp ugt i64 %2712, %2711 - br i1 %2713, label %2714, label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i318 - -2714: ; preds = %2708 - %2715 = load ptr, ptr %2709, align 8 - %2716 = getelementptr inbounds nuw %"class.llvm::LLT", ptr %2715, i64 %2711 - %2717 = load i64, ptr %2716, align 8 - br label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i318 - -_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i318: ; preds = %2714, %2708, %2695 - %.sroa.04.0.i.i319 = phi i64 [ %2717, %2714 ], [ 0, %2708 ], [ 0, %2695 ] - %2718 = load ptr, ptr %2701, align 8 - %2719 = getelementptr inbounds nuw i8, ptr %2718, i64 68 - %2720 = load i32, ptr %2719, align 4 - %2721 = icmp slt i32 %2720, 0 - br i1 %2721, label %2722, label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit68.i - -2722: ; preds = %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i318 - %2723 = getelementptr inbounds nuw i8, ptr %2698, i64 456 - %2724 = and i32 %2720, 2147483647 - %2725 = zext nneg i32 %2724 to i64 - %2726 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(25) %2723) #22 - %2727 = icmp ugt i64 %2726, %2725 - br i1 %2727, label %2728, label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit68.i - -2728: ; preds = %2722 - %2729 = load ptr, ptr %2723, align 8 - %2730 = getelementptr inbounds nuw %"class.llvm::LLT", ptr %2729, i64 %2725 - %2731 = load i64, ptr %2730, align 8 + call void @_ZN4llvm16MachineIRBuilder19setInstrAndDebugLocERNS_12MachineInstrE(ptr noundef nonnull align 8 dereferenceable(88) %2693, ptr noundef nonnull align 8 dereferenceable(70) %2690) + %2694 = getelementptr inbounds nuw i8, ptr %2690, i64 32 + %2695 = load ptr, ptr %2694, align 8 + %2696 = getelementptr inbounds nuw i8, ptr %2695, i64 100 + %2697 = load i32, ptr %2696, align 4 + %2698 = getelementptr inbounds nuw i8, ptr %2695, i64 4 + %2699 = load i32, ptr %2698, align 4 + %2700 = icmp slt i32 %2699, 0 + br i1 %2700, label %2701, label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i315 + +2701: ; preds = %2688 + %2702 = getelementptr inbounds nuw i8, ptr %2691, i64 456 + %2703 = and i32 %2699, 2147483647 + %2704 = zext nneg i32 %2703 to i64 + %2705 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(25) %2702) #22 + %2706 = icmp ugt i64 %2705, %2704 + br i1 %2706, label %2707, label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i315 + +2707: ; preds = %2701 + %2708 = load ptr, ptr %2702, align 8 + %2709 = getelementptr inbounds nuw %"class.llvm::LLT", ptr %2708, i64 %2704 + %2710 = load i64, ptr %2709, align 8 + br label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i315 + +_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i315: ; preds = %2707, %2701, %2688 + %.sroa.04.0.i.i316 = phi i64 [ %2710, %2707 ], [ 0, %2701 ], [ 0, %2688 ] + %2711 = load ptr, ptr %2694, align 8 + %2712 = getelementptr inbounds nuw i8, ptr %2711, i64 68 + %2713 = load i32, ptr %2712, align 4 + %2714 = icmp slt i32 %2713, 0 + br i1 %2714, label %2715, label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit68.i + +2715: ; preds = %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i315 + %2716 = getelementptr inbounds nuw i8, ptr %2691, i64 456 + %2717 = and i32 %2713, 2147483647 + %2718 = zext nneg i32 %2717 to i64 + %2719 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(25) %2716) #22 + %2720 = icmp ugt i64 %2719, %2718 + br i1 %2720, label %2721, label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit68.i + +2721: ; preds = %2715 + %2722 = load ptr, ptr %2716, align 8 + %2723 = getelementptr inbounds nuw %"class.llvm::LLT", ptr %2722, i64 %2718 + %2724 = load i64, ptr %2723, align 8 br label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit68.i -_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit68.i: ; preds = %2728, %2722, %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i318 - %.sroa.04.0.i67.i = phi i64 [ %2731, %2728 ], [ 0, %2722 ], [ 0, %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i318 ] - %2732 = load ptr, ptr %2701, align 8 - %2733 = getelementptr inbounds nuw i8, ptr %2732, i64 100 - %2734 = load i32, ptr %2733, align 4 - %2735 = icmp slt i32 %2734, 0 - br i1 %2735, label %2736, label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit70.i - -2736: ; preds = %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit68.i - %2737 = getelementptr inbounds nuw i8, ptr %2698, i64 456 - %2738 = and i32 %2734, 2147483647 - %2739 = zext nneg i32 %2738 to i64 - %2740 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(25) %2737) #22 - %2741 = icmp ugt i64 %2740, %2739 - br i1 %2741, label %2742, label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit70.i - -2742: ; preds = %2736 - %2743 = load ptr, ptr %2737, align 8 - %2744 = getelementptr inbounds nuw %"class.llvm::LLT", ptr %2743, i64 %2739 - %2745 = load i64, ptr %2744, align 8 +_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit68.i: ; preds = %2721, %2715, %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i315 + %.sroa.04.0.i67.i = phi i64 [ %2724, %2721 ], [ 0, %2715 ], [ 0, %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i315 ] + %2725 = load ptr, ptr %2694, align 8 + %2726 = getelementptr inbounds nuw i8, ptr %2725, i64 100 + %2727 = load i32, ptr %2726, align 4 + %2728 = icmp slt i32 %2727, 0 + br i1 %2728, label %2729, label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit70.i + +2729: ; preds = %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit68.i + %2730 = getelementptr inbounds nuw i8, ptr %2691, i64 456 + %2731 = and i32 %2727, 2147483647 + %2732 = zext nneg i32 %2731 to i64 + %2733 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(25) %2730) #22 + %2734 = icmp ugt i64 %2733, %2732 + br i1 %2734, label %2735, label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit70.i + +2735: ; preds = %2729 + %2736 = load ptr, ptr %2730, align 8 + %2737 = getelementptr inbounds nuw %"class.llvm::LLT", ptr %2736, i64 %2732 + %2738 = load i64, ptr %2737, align 8 br label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit70.i -_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit70.i: ; preds = %2742, %2736, %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit68.i - %.sroa.04.0.i69.i = phi i64 [ %2745, %2742 ], [ 0, %2736 ], [ 0, %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit68.i ] - %2746 = getelementptr inbounds nuw i8, ptr %2700, i64 8 - %2747 = load ptr, ptr %2746, align 8 - %2748 = and i64 %.sroa.04.0.i.i319, -7 - %spec.select.i.i.i.i.i320 = icmp ne i64 %2748, 0 - %2749 = and i64 %.sroa.04.0.i.i319, 2 - %.not.i.not.i.i.i321 = icmp eq i64 %2749, 0 - %2750 = and i64 %.sroa.04.0.i.i319, 6 - %2751 = icmp eq i64 %2750, 2 - %or.cond.i.i.i322 = and i1 %spec.select.i.i.i.i.i320, %2751 - %2752 = and i64 %.sroa.04.0.i.i319, 1 - %2753 = icmp ne i64 %2752, 0 - %or.cond14.i.i.i323 = or i1 %2753, %or.cond.i.i.i322 - br i1 %or.cond14.i.i.i323, label %2754, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i.i324 - -2754: ; preds = %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit70.i - %.not.i1.i.i.i335 = icmp eq i64 %2752, 0 - br i1 %.not.i1.i.i.i335, label %2757, label %2755 - -2755: ; preds = %2754 - %2756 = lshr i64 %.sroa.04.0.i.i319, 3 +_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit70.i: ; preds = %2735, %2729, %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit68.i + %.sroa.04.0.i69.i = phi i64 [ %2738, %2735 ], [ 0, %2729 ], [ 0, %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit68.i ] + %2739 = getelementptr inbounds nuw i8, ptr %2693, i64 8 + %2740 = load ptr, ptr %2739, align 8 + %2741 = and i64 %.sroa.04.0.i.i316, -7 + %spec.select.i.i.i.i.i317 = icmp ne i64 %2741, 0 + %2742 = and i64 %.sroa.04.0.i.i316, 2 + %.not.i.not.i.i.i318 = icmp eq i64 %2742, 0 + %2743 = and i64 %.sroa.04.0.i.i316, 6 + %2744 = icmp eq i64 %2743, 2 + %or.cond.i.i.i319 = and i1 %spec.select.i.i.i.i.i317, %2744 + %2745 = and i64 %.sroa.04.0.i.i316, 1 + %2746 = icmp ne i64 %2745, 0 + %or.cond14.i.i.i320 = or i1 %2746, %or.cond.i.i.i319 + br i1 %or.cond14.i.i.i320, label %2747, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i.i321 + +2747: ; preds = %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit70.i + %.not.i1.i.i.i332 = icmp eq i64 %2745, 0 + br i1 %.not.i1.i.i.i332, label %2750, label %2748 + +2748: ; preds = %2747 + %2749 = lshr i64 %.sroa.04.0.i.i316, 3 br label %_ZNK4llvm3LLT14getSizeInBytesEv.exit.i -2757: ; preds = %2754 - %2758 = and i64 %.sroa.04.0.i.i319, 4 - %.not1.i2.i.i.i336 = icmp eq i64 %2758, 0 - br i1 %.not1.i2.i.i.i336, label %2762, label %2759 +2750: ; preds = %2747 + %2751 = and i64 %.sroa.04.0.i.i316, 4 + %.not1.i2.i.i.i333 = icmp eq i64 %2751, 0 + br i1 %.not1.i2.i.i.i333, label %2755, label %2752 -2759: ; preds = %2757 - %2760 = lshr i64 %.sroa.04.0.i.i319, 19 - %2761 = and i64 %2760, 65535 - %spec.select.i.i.i.i337 = select i1 %.not.i.not.i.i.i321, i64 %2760, i64 %2761 +2752: ; preds = %2750 + %2753 = lshr i64 %.sroa.04.0.i.i316, 19 + %2754 = and i64 %2753, 65535 + %spec.select.i.i.i.i334 = select i1 %.not.i.not.i.i.i318, i64 %2753, i64 %2754 br label %_ZNK4llvm3LLT14getSizeInBytesEv.exit.i -2762: ; preds = %2757 - %2763 = lshr i64 %.sroa.04.0.i.i319, 3 - %2764 = and i64 %2763, 65535 +2755: ; preds = %2750 + %2756 = lshr i64 %.sroa.04.0.i.i316, 3 + %2757 = and i64 %2756, 65535 br label %_ZNK4llvm3LLT14getSizeInBytesEv.exit.i -_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i.i324: ; preds = %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit70.i - %2765 = lshr i64 %.sroa.04.0.i.i319, 3 - %.sroa.0.0.insert.ext.i.i.i.i.i325 = and i64 %2765, 65535 - %2766 = and i64 %.sroa.04.0.i.i319, 4 - %.not1.i8.i.i.i326 = icmp eq i64 %2766, 0 - %2767 = lshr i64 %.sroa.04.0.i.i319, 19 - %2768 = and i64 %2767, 65535 - %spec.select.i10.i.i.i327 = select i1 %.not.i.not.i.i.i321, i64 %2767, i64 %2768 - %.0.in.i6.i.i.i328 = select i1 %.not1.i8.i.i.i326, i64 %.sroa.0.0.insert.ext.i.i.i.i.i325, i64 %spec.select.i10.i.i.i327 - %2769 = mul nuw nsw i64 %.0.in.i6.i.i.i328, %.sroa.0.0.insert.ext.i.i.i.i.i325 +_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i.i321: ; preds = %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit70.i + %2758 = lshr i64 %.sroa.04.0.i.i316, 3 + %.sroa.0.0.insert.ext.i.i.i.i.i322 = and i64 %2758, 65535 + %2759 = and i64 %.sroa.04.0.i.i316, 4 + %.not1.i8.i.i.i323 = icmp eq i64 %2759, 0 + %2760 = lshr i64 %.sroa.04.0.i.i316, 19 + %2761 = and i64 %2760, 65535 + %spec.select.i10.i.i.i324 = select i1 %.not.i.not.i.i.i318, i64 %2760, i64 %2761 + %.0.in.i6.i.i.i325 = select i1 %.not1.i8.i.i.i323, i64 %.sroa.0.0.insert.ext.i.i.i.i.i322, i64 %spec.select.i10.i.i.i324 + %2762 = mul nuw nsw i64 %.0.in.i6.i.i.i325, %.sroa.0.0.insert.ext.i.i.i.i.i322 br label %_ZNK4llvm3LLT14getSizeInBytesEv.exit.i -_ZNK4llvm3LLT14getSizeInBytesEv.exit.i: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i.i324, %2762, %2759, %2755 - %.sroa.012.0.in.i.i.i329 = phi i64 [ %2769, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i.i324 ], [ %2756, %2755 ], [ %2764, %2762 ], [ %spec.select.i.i.i.i337, %2759 ] - %.sroa.012.0.i.i.i330 = and i64 %.sroa.012.0.in.i.i.i329, 4294967295 - %2770 = add nuw nsw i64 %.sroa.012.0.i.i.i330, 7 - %2771 = lshr i64 %2770, 3 - %.sroa.speculated.i = call i64 @llvm.umin.i64(i64 %2771, i64 16) - %2772 = call range(i64 0, 65) i64 @llvm.ctlz.i64(i64 %.sroa.speculated.i, i1 false) - %2773 = trunc nuw nsw i64 %2772 to i8 - %2774 = sub nsw i8 63, %2773 - %2775 = getelementptr inbounds nuw i8, ptr %2747, i64 48 - %2776 = load ptr, ptr %2775, align 8 - br i1 %or.cond14.i.i.i323, label %2777, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i75.i - -2777: ; preds = %_ZNK4llvm3LLT14getSizeInBytesEv.exit.i - %.not.i1.i.i86.i = icmp eq i64 %2752, 0 - br i1 %.not.i1.i.i86.i, label %2780, label %2778 - -2778: ; preds = %2777 - %2779 = lshr i64 %.sroa.04.0.i.i319, 3 +_ZNK4llvm3LLT14getSizeInBytesEv.exit.i: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i.i321, %2755, %2752, %2748 + %.sroa.012.0.in.i.i.i326 = phi i64 [ %2762, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i.i321 ], [ %2749, %2748 ], [ %2757, %2755 ], [ %spec.select.i.i.i.i334, %2752 ] + %.sroa.012.0.i.i.i327 = and i64 %.sroa.012.0.in.i.i.i326, 4294967295 + %2763 = add nuw nsw i64 %.sroa.012.0.i.i.i327, 7 + %2764 = lshr i64 %2763, 3 + %.sroa.speculated.i = call i64 @llvm.umin.i64(i64 %2764, i64 16) + %2765 = call range(i64 0, 65) i64 @llvm.ctlz.i64(i64 %.sroa.speculated.i, i1 false) + %2766 = trunc nuw nsw i64 %2765 to i8 + %2767 = sub nsw i8 63, %2766 + %2768 = getelementptr inbounds nuw i8, ptr %2740, i64 48 + %2769 = load ptr, ptr %2768, align 8 + br i1 %or.cond14.i.i.i320, label %2770, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i75.i + +2770: ; preds = %_ZNK4llvm3LLT14getSizeInBytesEv.exit.i + %.not.i1.i.i86.i = icmp eq i64 %2745, 0 + br i1 %.not.i1.i.i86.i, label %2773, label %2771 + +2771: ; preds = %2770 + %2772 = lshr i64 %.sroa.04.0.i.i316, 3 br label %_ZNK4llvm3LLT14getSizeInBytesEv.exit89.i -2780: ; preds = %2777 - %2781 = and i64 %.sroa.04.0.i.i319, 4 - %.not1.i2.i.i87.i = icmp eq i64 %2781, 0 - br i1 %.not1.i2.i.i87.i, label %2785, label %2782 +2773: ; preds = %2770 + %2774 = and i64 %.sroa.04.0.i.i316, 4 + %.not1.i2.i.i87.i = icmp eq i64 %2774, 0 + br i1 %.not1.i2.i.i87.i, label %2778, label %2775 -2782: ; preds = %2780 - %2783 = lshr i64 %.sroa.04.0.i.i319, 19 - %2784 = and i64 %2783, 65535 - %spec.select.i.i.i88.i = select i1 %.not.i.not.i.i.i321, i64 %2783, i64 %2784 +2775: ; preds = %2773 + %2776 = lshr i64 %.sroa.04.0.i.i316, 19 + %2777 = and i64 %2776, 65535 + %spec.select.i.i.i88.i = select i1 %.not.i.not.i.i.i318, i64 %2776, i64 %2777 br label %_ZNK4llvm3LLT14getSizeInBytesEv.exit89.i -2785: ; preds = %2780 - %2786 = lshr i64 %.sroa.04.0.i.i319, 3 - %2787 = and i64 %2786, 65535 +2778: ; preds = %2773 + %2779 = lshr i64 %.sroa.04.0.i.i316, 3 + %2780 = and i64 %2779, 65535 br label %_ZNK4llvm3LLT14getSizeInBytesEv.exit89.i _ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i75.i: ; preds = %_ZNK4llvm3LLT14getSizeInBytesEv.exit.i - %2788 = lshr i64 %.sroa.04.0.i.i319, 3 - %.sroa.0.0.insert.ext.i.i.i.i76.i = and i64 %2788, 65535 - %2789 = select i1 %.not.i.not.i.i.i321, i64 2251799813685248, i64 576460752303423488 - %2790 = and i64 %2789, %.sroa.04.0.i.i319 - %.not1.i4.i.i77.i = icmp ne i64 %2790, 0 - %2791 = and i64 %.sroa.04.0.i.i319, 4 - %.not1.i8.i.i78.i = icmp eq i64 %2791, 0 - %2792 = lshr i64 %.sroa.04.0.i.i319, 19 - %2793 = and i64 %2792, 65535 - %spec.select.i10.i.i79.i = select i1 %.not.i.not.i.i.i321, i64 %2792, i64 %2793 + %2781 = lshr i64 %.sroa.04.0.i.i316, 3 + %.sroa.0.0.insert.ext.i.i.i.i76.i = and i64 %2781, 65535 + %2782 = select i1 %.not.i.not.i.i.i318, i64 2251799813685248, i64 576460752303423488 + %2783 = and i64 %2782, %.sroa.04.0.i.i316 + %.not1.i4.i.i77.i = icmp ne i64 %2783, 0 + %2784 = and i64 %.sroa.04.0.i.i316, 4 + %.not1.i8.i.i78.i = icmp eq i64 %2784, 0 + %2785 = lshr i64 %.sroa.04.0.i.i316, 19 + %2786 = and i64 %2785, 65535 + %spec.select.i10.i.i79.i = select i1 %.not.i.not.i.i.i318, i64 %2785, i64 %2786 %.0.in.i6.i.i80.i = select i1 %.not1.i8.i.i78.i, i64 %.sroa.0.0.insert.ext.i.i.i.i76.i, i64 %spec.select.i10.i.i79.i - %2794 = mul nuw nsw i64 %.0.in.i6.i.i80.i, %.sroa.0.0.insert.ext.i.i.i.i76.i - %2795 = zext i1 %.not1.i4.i.i77.i to i8 + %2787 = mul nuw nsw i64 %.0.in.i6.i.i80.i, %.sroa.0.0.insert.ext.i.i.i.i76.i + %2788 = zext i1 %.not1.i4.i.i77.i to i8 br label %_ZNK4llvm3LLT14getSizeInBytesEv.exit89.i -_ZNK4llvm3LLT14getSizeInBytesEv.exit89.i: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i75.i, %2785, %2782, %2778 - %.sroa.012.0.in.i.i81.i = phi i64 [ %2794, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i75.i ], [ %2779, %2778 ], [ %2787, %2785 ], [ %spec.select.i.i.i88.i, %2782 ] - %.sroa.3.0.i.i82.i = phi i8 [ %2795, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i75.i ], [ 0, %2778 ], [ 0, %2785 ], [ 0, %2782 ] +_ZNK4llvm3LLT14getSizeInBytesEv.exit89.i: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i75.i, %2778, %2775, %2771 + %.sroa.012.0.in.i.i81.i = phi i64 [ %2787, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i75.i ], [ %2772, %2771 ], [ %2780, %2778 ], [ %spec.select.i.i.i88.i, %2775 ] + %.sroa.3.0.i.i82.i = phi i8 [ %2788, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i75.i ], [ 0, %2771 ], [ 0, %2778 ], [ 0, %2775 ] %.sroa.012.0.i.i83.i = and i64 %.sroa.012.0.in.i.i81.i, 4294967295 - %2796 = add nuw nsw i64 %.sroa.012.0.i.i83.i, 7 - %2797 = lshr i64 %2796, 3 - store i64 %2797, ptr %9, align 8 + %2789 = add nuw nsw i64 %.sroa.012.0.i.i83.i, 7 + %2790 = lshr i64 %2789, 3 + store i64 %2790, ptr %9, align 8 %.sroa.227.0..sroa_idx.i = getelementptr inbounds nuw i8, ptr %9, i64 8 store i8 %.sroa.3.0.i.i82.i, ptr %.sroa.227.0..sroa_idx.i, align 8 - %2798 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %9) #22 - %2799 = call noundef i32 @_ZN4llvm16MachineFrameInfo17CreateStackObjectEmNS_5AlignEbPKNS_10AllocaInstEh(ptr noundef nonnull align 8 dereferenceable(696) %2776, i64 noundef %2798, i8 %2774, i1 noundef zeroext false, ptr noundef null, i8 noundef zeroext 0) #22 - call void @_ZN4llvm18MachinePointerInfo13getFixedStackERNS_15MachineFunctionEil(ptr dead_on_unwind nonnull writable sret(%"struct.llvm::MachinePointerInfo") align 8 %10, ptr noundef nonnull align 8 dereferenceable(1041) %2747, i32 noundef %2799, i64 noundef 0) #22 + %2791 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %9) #22 + %2792 = call noundef i32 @_ZN4llvm16MachineFrameInfo17CreateStackObjectEmNS_5AlignEbPKNS_10AllocaInstEh(ptr noundef nonnull align 8 dereferenceable(696) %2769, i64 noundef %2791, i8 %2767, i1 noundef zeroext false, ptr noundef null, i8 noundef zeroext 0) #22 + call void @_ZN4llvm18MachinePointerInfo13getFixedStackERNS_15MachineFunctionEil(ptr dead_on_unwind nonnull writable sret(%"struct.llvm::MachinePointerInfo") align 8 %10, ptr noundef nonnull align 8 dereferenceable(1041) %2740, i32 noundef %2792, i64 noundef 0) #22 store i64 514, ptr %11, align 8 - %2800 = getelementptr inbounds nuw i8, ptr %11, i64 8 + %2793 = getelementptr inbounds nuw i8, ptr %11, i64 8 + store i32 0, ptr %2793, align 8 + %2794 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder15buildFrameIndexERKNS_5DstOpEi(ptr noundef nonnull align 8 dereferenceable(88) %2693, ptr noundef nonnull align 8 dereferenceable(12) %11, i32 noundef %2792) #22 + %2795 = extractvalue { ptr, ptr } %2794, 0 + %2796 = extractvalue { ptr, ptr } %2794, 1 + %2797 = load ptr, ptr %2694, align 8 + %2798 = getelementptr inbounds nuw i8, ptr %2797, i64 36 + %2799 = load i32, ptr %2798, align 4 + store i32 %2799, ptr %12, align 8 + %2800 = getelementptr inbounds nuw i8, ptr %12, i64 16 store i32 0, ptr %2800, align 8 - %2801 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder15buildFrameIndexERKNS_5DstOpEi(ptr noundef nonnull align 8 dereferenceable(88) %2700, ptr noundef nonnull align 8 dereferenceable(12) %11, i32 noundef %2799) #22 - %2802 = extractvalue { ptr, ptr } %2801, 0 - %2803 = extractvalue { ptr, ptr } %2801, 1 - %2804 = load ptr, ptr %2701, align 8 - %2805 = getelementptr inbounds nuw i8, ptr %2804, i64 36 - %2806 = load i32, ptr %2805, align 4 - store i32 %2806, ptr %12, align 8 - %2807 = getelementptr inbounds nuw i8, ptr %12, i64 16 - store i32 0, ptr %2807, align 8 - store ptr %2802, ptr %13, align 8 - %.sroa.4.0..sroa_idx.i331 = getelementptr inbounds nuw i8, ptr %13, i64 8 - store ptr %2803, ptr %.sroa.4.0..sroa_idx.i331, align 8 - %2808 = getelementptr inbounds nuw i8, ptr %13, i64 16 - store i32 1, ptr %2808, align 8 + store ptr %2795, ptr %13, align 8 + %.sroa.4.0..sroa_idx.i328 = getelementptr inbounds nuw i8, ptr %13, i64 8 + store ptr %2796, ptr %.sroa.4.0..sroa_idx.i328, align 8 + %2801 = getelementptr inbounds nuw i8, ptr %13, i64 16 + store i32 1, ptr %2801, align 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %14, i8 0, i64 32, i1 false) - %2809 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder10buildStoreERKNS_5SrcOpES3_NS_18MachinePointerInfoENS_5AlignENS_17MachineMemOperand5FlagsERKNS_9AAMDNodesE(ptr noundef nonnull align 8 dereferenceable(88) %2700, ptr noundef nonnull align 8 dereferenceable(20) %12, ptr noundef nonnull align 8 dereferenceable(20) %13, ptr noundef nonnull byval(%"struct.llvm::MachinePointerInfo") align 8 %10, i8 3, i16 noundef zeroext 0, ptr noundef nonnull align 8 dereferenceable(32) %14) #22 + %2802 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder10buildStoreERKNS_5SrcOpES3_NS_18MachinePointerInfoENS_5AlignENS_17MachineMemOperand5FlagsERKNS_9AAMDNodesE(ptr noundef nonnull align 8 dereferenceable(88) %2693, ptr noundef nonnull align 8 dereferenceable(20) %12, ptr noundef nonnull align 8 dereferenceable(20) %13, ptr noundef nonnull byval(%"struct.llvm::MachinePointerInfo") align 8 %10, i8 3, i16 noundef zeroext 0, ptr noundef nonnull align 8 dereferenceable(32) %14) #22 store i64 %.sroa.04.0.i69.i, ptr %15, align 8 - %2810 = getelementptr inbounds nuw i8, ptr %15, i64 8 - store i32 0, ptr %2810, align 8 - %2811 = select i1 %.not.i.not.i.i.i321, i64 2251799813685248, i64 576460752303423488 - %2812 = and i64 %2811, %.sroa.04.0.i.i319 - %.not.i.i332 = icmp eq i64 %2812, 0 - br i1 %.not.i.i332, label %_ZNK4llvm3LLT14getNumElementsEv.exit.i333, label %2813 - -2813: ; preds = %_ZNK4llvm3LLT14getSizeInBytesEv.exit89.i + %2803 = getelementptr inbounds nuw i8, ptr %15, i64 8 + store i32 0, ptr %2803, align 8 + %2804 = select i1 %.not.i.not.i.i.i318, i64 2251799813685248, i64 576460752303423488 + %2805 = and i64 %2804, %.sroa.04.0.i.i316 + %.not.i.i329 = icmp eq i64 %2805, 0 + br i1 %.not.i.i329, label %_ZNK4llvm3LLT14getNumElementsEv.exit.i330, label %2806 + +2806: ; preds = %_ZNK4llvm3LLT14getSizeInBytesEv.exit89.i call void @_ZN4llvm24reportInvalidSizeRequestEPKc(ptr noundef nonnull @.str.15) #22 - br label %_ZNK4llvm3LLT14getNumElementsEv.exit.i333 - -_ZNK4llvm3LLT14getNumElementsEv.exit.i333: ; preds = %2813, %_ZNK4llvm3LLT14getSizeInBytesEv.exit89.i - %2814 = lshr i64 %.sroa.04.0.i.i319, 3 - %2815 = and i64 %2814, 65535 - %2816 = add nsw i64 %2815, -1 - %2817 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder13buildConstantERKNS_5DstOpEl(ptr noundef nonnull align 8 dereferenceable(88) %2700, ptr noundef nonnull align 8 dereferenceable(12) %15, i64 noundef %2816) #22 - %2818 = extractvalue { ptr, ptr } %2817, 0 - %2819 = extractvalue { ptr, ptr } %2817, 1 + br label %_ZNK4llvm3LLT14getNumElementsEv.exit.i330 + +_ZNK4llvm3LLT14getNumElementsEv.exit.i330: ; preds = %2806, %_ZNK4llvm3LLT14getSizeInBytesEv.exit89.i + %2807 = lshr i64 %.sroa.04.0.i.i316, 3 + %2808 = and i64 %2807, 65535 + %2809 = add nsw i64 %2808, -1 + %2810 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder13buildConstantERKNS_5DstOpEl(ptr noundef nonnull align 8 dereferenceable(88) %2693, ptr noundef nonnull align 8 dereferenceable(12) %15, i64 noundef %2809) #22 + %2811 = extractvalue { ptr, ptr } %2810, 0 + %2812 = extractvalue { ptr, ptr } %2810, 1 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %7) call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %8) store i64 %.sroa.04.0.i69.i, ptr %7, align 8 %.sroa.2139.0..sroa_idx.i = getelementptr inbounds nuw i8, ptr %7, i64 8 store i32 0, ptr %.sroa.2139.0..sroa_idx.i, align 8 - store i32 %2704, ptr %8, align 8 + store i32 %2697, ptr %8, align 8 %.sroa.2137.0..sroa_idx.i = getelementptr inbounds nuw i8, ptr %8, i64 16 store i32 0, ptr %.sroa.2137.0..sroa_idx.i, align 8 - %2820 = getelementptr inbounds nuw i8, ptr %8, i64 24 - store ptr %2818, ptr %2820, align 8 + %2813 = getelementptr inbounds nuw i8, ptr %8, i64 24 + store ptr %2811, ptr %2813, align 8 %.sroa.0133.sroa.2.0..sroa_idx.i = getelementptr inbounds nuw i8, ptr %8, i64 32 - store ptr %2819, ptr %.sroa.0133.sroa.2.0..sroa_idx.i, align 8 + store ptr %2812, ptr %.sroa.0133.sroa.2.0..sroa_idx.i, align 8 %.sroa.2134.0..sroa_idx.i = getelementptr inbounds nuw i8, ptr %8, i64 40 store i32 1, ptr %.sroa.2134.0..sroa_idx.i, align 8 - %2821 = load ptr, ptr %2700, align 8 - %2822 = getelementptr inbounds nuw i8, ptr %2821, i64 32 - %2823 = load ptr, ptr %2822, align 8 - %2824 = call { ptr, ptr } %2823(ptr noundef nonnull align 8 dereferenceable(88) %2700, i32 noundef 61, ptr nonnull %7, i64 1, ptr nonnull %8, i64 2, i64 0) #22 + %2814 = load ptr, ptr %2693, align 8 + %2815 = getelementptr inbounds nuw i8, ptr %2814, i64 32 + %2816 = load ptr, ptr %2815, align 8 + %2817 = call { ptr, ptr } %2816(ptr noundef nonnull align 8 dereferenceable(88) %2693, i32 noundef 61, ptr nonnull %7, i64 1, ptr nonnull %8, i64 2, i64 0) #22 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %7) call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %8) - %2825 = extractvalue { ptr, ptr } %2824, 1 - %2826 = getelementptr inbounds nuw i8, ptr %2825, i64 32 - %2827 = load ptr, ptr %2826, align 8 - %2828 = getelementptr inbounds nuw i8, ptr %2827, i64 4 - %2829 = load i32, ptr %2828, align 4 + %2818 = extractvalue { ptr, ptr } %2817, 1 + %2819 = getelementptr inbounds nuw i8, ptr %2818, i64 32 + %2820 = load ptr, ptr %2819, align 8 + %2821 = getelementptr inbounds nuw i8, ptr %2820, i64 4 + %2822 = load i32, ptr %2821, align 4 store i64 %.sroa.04.0.i69.i, ptr %16, align 8 - %2830 = getelementptr inbounds nuw i8, ptr %16, i64 8 - store i32 0, ptr %2830, align 8 - %2831 = and i64 %.sroa.04.0.i67.i, -7 - %spec.select.i.i.i.i90.i = icmp ne i64 %2831, 0 - %2832 = and i64 %.sroa.04.0.i67.i, 2 - %.not.i.not.i.i91.i = icmp eq i64 %2832, 0 - %2833 = and i64 %.sroa.04.0.i67.i, 6 - %2834 = icmp eq i64 %2833, 2 - %or.cond.i.i92.i = and i1 %spec.select.i.i.i.i90.i, %2834 - %2835 = and i64 %.sroa.04.0.i67.i, 1 - %2836 = icmp ne i64 %2835, 0 - %or.cond14.i.i93.i = or i1 %2836, %or.cond.i.i92.i - br i1 %or.cond14.i.i93.i, label %2837, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i94.i - -2837: ; preds = %_ZNK4llvm3LLT14getNumElementsEv.exit.i333 - %.not.i1.i.i105.i = icmp eq i64 %2835, 0 - br i1 %.not.i1.i.i105.i, label %2840, label %2838 - -2838: ; preds = %2837 - %2839 = lshr i64 %.sroa.04.0.i67.i, 3 + %2823 = getelementptr inbounds nuw i8, ptr %16, i64 8 + store i32 0, ptr %2823, align 8 + %2824 = and i64 %.sroa.04.0.i67.i, -7 + %spec.select.i.i.i.i90.i = icmp ne i64 %2824, 0 + %2825 = and i64 %.sroa.04.0.i67.i, 2 + %.not.i.not.i.i91.i = icmp eq i64 %2825, 0 + %2826 = and i64 %.sroa.04.0.i67.i, 6 + %2827 = icmp eq i64 %2826, 2 + %or.cond.i.i92.i = and i1 %spec.select.i.i.i.i90.i, %2827 + %2828 = and i64 %.sroa.04.0.i67.i, 1 + %2829 = icmp ne i64 %2828, 0 + %or.cond14.i.i93.i = or i1 %2829, %or.cond.i.i92.i + br i1 %or.cond14.i.i93.i, label %2830, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i94.i + +2830: ; preds = %_ZNK4llvm3LLT14getNumElementsEv.exit.i330 + %.not.i1.i.i105.i = icmp eq i64 %2828, 0 + br i1 %.not.i1.i.i105.i, label %2833, label %2831 + +2831: ; preds = %2830 + %2832 = lshr i64 %.sroa.04.0.i67.i, 3 br label %_ZNK4llvm3LLT14getSizeInBytesEv.exit108.i -2840: ; preds = %2837 - %2841 = and i64 %.sroa.04.0.i67.i, 4 - %.not1.i2.i.i106.i = icmp eq i64 %2841, 0 - br i1 %.not1.i2.i.i106.i, label %2845, label %2842 +2833: ; preds = %2830 + %2834 = and i64 %.sroa.04.0.i67.i, 4 + %.not1.i2.i.i106.i = icmp eq i64 %2834, 0 + br i1 %.not1.i2.i.i106.i, label %2838, label %2835 -2842: ; preds = %2840 - %2843 = lshr i64 %.sroa.04.0.i67.i, 19 - %2844 = and i64 %2843, 65535 - %spec.select.i.i.i107.i = select i1 %.not.i.not.i.i91.i, i64 %2843, i64 %2844 +2835: ; preds = %2833 + %2836 = lshr i64 %.sroa.04.0.i67.i, 19 + %2837 = and i64 %2836, 65535 + %spec.select.i.i.i107.i = select i1 %.not.i.not.i.i91.i, i64 %2836, i64 %2837 br label %_ZNK4llvm3LLT14getSizeInBytesEv.exit108.i -2845: ; preds = %2840 - %2846 = lshr i64 %.sroa.04.0.i67.i, 3 - %2847 = and i64 %2846, 65535 +2838: ; preds = %2833 + %2839 = lshr i64 %.sroa.04.0.i67.i, 3 + %2840 = and i64 %2839, 65535 br label %_ZNK4llvm3LLT14getSizeInBytesEv.exit108.i -_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i94.i: ; preds = %_ZNK4llvm3LLT14getNumElementsEv.exit.i333 - %2848 = lshr i64 %.sroa.04.0.i67.i, 3 - %.sroa.0.0.insert.ext.i.i.i.i95.i = and i64 %2848, 65535 - %2849 = select i1 %.not.i.not.i.i91.i, i64 2251799813685248, i64 576460752303423488 - %2850 = and i64 %2849, %.sroa.04.0.i67.i - %.not1.i4.i.i96.i = icmp ne i64 %2850, 0 - %2851 = and i64 %.sroa.04.0.i67.i, 4 - %.not1.i8.i.i97.i = icmp eq i64 %2851, 0 - %2852 = lshr i64 %.sroa.04.0.i67.i, 19 - %2853 = and i64 %2852, 65535 - %spec.select.i10.i.i98.i = select i1 %.not.i.not.i.i91.i, i64 %2852, i64 %2853 +_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i94.i: ; preds = %_ZNK4llvm3LLT14getNumElementsEv.exit.i330 + %2841 = lshr i64 %.sroa.04.0.i67.i, 3 + %.sroa.0.0.insert.ext.i.i.i.i95.i = and i64 %2841, 65535 + %2842 = select i1 %.not.i.not.i.i91.i, i64 2251799813685248, i64 576460752303423488 + %2843 = and i64 %2842, %.sroa.04.0.i67.i + %.not1.i4.i.i96.i = icmp ne i64 %2843, 0 + %2844 = and i64 %.sroa.04.0.i67.i, 4 + %.not1.i8.i.i97.i = icmp eq i64 %2844, 0 + %2845 = lshr i64 %.sroa.04.0.i67.i, 19 + %2846 = and i64 %2845, 65535 + %spec.select.i10.i.i98.i = select i1 %.not.i.not.i.i91.i, i64 %2845, i64 %2846 %.0.in.i6.i.i99.i = select i1 %.not1.i8.i.i97.i, i64 %.sroa.0.0.insert.ext.i.i.i.i95.i, i64 %spec.select.i10.i.i98.i - %2854 = mul nuw nsw i64 %.0.in.i6.i.i99.i, %.sroa.0.0.insert.ext.i.i.i.i95.i - %2855 = zext i1 %.not1.i4.i.i96.i to i8 + %2847 = mul nuw nsw i64 %.0.in.i6.i.i99.i, %.sroa.0.0.insert.ext.i.i.i.i95.i + %2848 = zext i1 %.not1.i4.i.i96.i to i8 br label %_ZNK4llvm3LLT14getSizeInBytesEv.exit108.i -_ZNK4llvm3LLT14getSizeInBytesEv.exit108.i: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i94.i, %2845, %2842, %2838 - %.sroa.012.0.in.i.i100.i = phi i64 [ %2854, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i94.i ], [ %2839, %2838 ], [ %2847, %2845 ], [ %spec.select.i.i.i107.i, %2842 ] - %.sroa.3.0.i.i101.i = phi i8 [ %2855, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i94.i ], [ 0, %2838 ], [ 0, %2845 ], [ 0, %2842 ] +_ZNK4llvm3LLT14getSizeInBytesEv.exit108.i: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i94.i, %2838, %2835, %2831 + %.sroa.012.0.in.i.i100.i = phi i64 [ %2847, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i94.i ], [ %2832, %2831 ], [ %2840, %2838 ], [ %spec.select.i.i.i107.i, %2835 ] + %.sroa.3.0.i.i101.i = phi i8 [ %2848, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i94.i ], [ 0, %2831 ], [ 0, %2838 ], [ 0, %2835 ] %.sroa.012.0.i.i102.i = and i64 %.sroa.012.0.in.i.i100.i, 4294967295 - %2856 = add nuw nsw i64 %.sroa.012.0.i.i102.i, 7 - %2857 = lshr i64 %2856, 3 - store i64 %2857, ptr %17, align 8 - %.sroa.2.0..sroa_idx.i334 = getelementptr inbounds nuw i8, ptr %17, i64 8 - store i8 %.sroa.3.0.i.i101.i, ptr %.sroa.2.0..sroa_idx.i334, align 8 - %2858 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %17) #22 - %2859 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder13buildConstantERKNS_5DstOpEl(ptr noundef nonnull align 8 dereferenceable(88) %2700, ptr noundef nonnull align 8 dereferenceable(12) %16, i64 noundef %2858) #22 - %2860 = extractvalue { ptr, ptr } %2859, 0 - %2861 = extractvalue { ptr, ptr } %2859, 1 + %2849 = add nuw nsw i64 %.sroa.012.0.i.i102.i, 7 + %2850 = lshr i64 %2849, 3 + store i64 %2850, ptr %17, align 8 + %.sroa.2.0..sroa_idx.i331 = getelementptr inbounds nuw i8, ptr %17, i64 8 + store i8 %.sroa.3.0.i.i101.i, ptr %.sroa.2.0..sroa_idx.i331, align 8 + %2851 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %17) #22 + %2852 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder13buildConstantERKNS_5DstOpEl(ptr noundef nonnull align 8 dereferenceable(88) %2693, ptr noundef nonnull align 8 dereferenceable(12) %16, i64 noundef %2851) #22 + %2853 = extractvalue { ptr, ptr } %2852, 0 + %2854 = extractvalue { ptr, ptr } %2852, 1 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %5) call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %6) store i64 %.sroa.04.0.i69.i, ptr %5, align 8 %.sroa.2128.0..sroa_idx.i = getelementptr inbounds nuw i8, ptr %5, i64 8 store i32 0, ptr %.sroa.2128.0..sroa_idx.i, align 8 - store i32 %2829, ptr %6, align 8 + store i32 %2822, ptr %6, align 8 %.sroa.2126.0..sroa_idx.i = getelementptr inbounds nuw i8, ptr %6, i64 16 store i32 0, ptr %.sroa.2126.0..sroa_idx.i, align 8 - %2862 = getelementptr inbounds nuw i8, ptr %6, i64 24 - store ptr %2860, ptr %2862, align 8 + %2855 = getelementptr inbounds nuw i8, ptr %6, i64 24 + store ptr %2853, ptr %2855, align 8 %.sroa.0122.sroa.2.0..sroa_idx.i = getelementptr inbounds nuw i8, ptr %6, i64 32 - store ptr %2861, ptr %.sroa.0122.sroa.2.0..sroa_idx.i, align 8 + store ptr %2854, ptr %.sroa.0122.sroa.2.0..sroa_idx.i, align 8 %.sroa.2.0..sroa_idx123.i = getelementptr inbounds nuw i8, ptr %6, i64 40 store i32 1, ptr %.sroa.2.0..sroa_idx123.i, align 8 - %2863 = load ptr, ptr %2700, align 8 - %2864 = getelementptr inbounds nuw i8, ptr %2863, i64 32 - %2865 = load ptr, ptr %2864, align 8 - %2866 = call { ptr, ptr } %2865(ptr noundef nonnull align 8 dereferenceable(88) %2700, i32 noundef 54, ptr nonnull %5, i64 1, ptr nonnull %6, i64 2, i64 0) #22 + %2856 = load ptr, ptr %2693, align 8 + %2857 = getelementptr inbounds nuw i8, ptr %2856, i64 32 + %2858 = load ptr, ptr %2857, align 8 + %2859 = call { ptr, ptr } %2858(ptr noundef nonnull align 8 dereferenceable(88) %2693, i32 noundef 54, ptr nonnull %5, i64 1, ptr nonnull %6, i64 2, i64 0) #22 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %5) call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %6) - %2867 = extractvalue { ptr, ptr } %2866, 1 - %2868 = getelementptr inbounds nuw i8, ptr %2867, i64 32 - %2869 = load ptr, ptr %2868, align 8 - %2870 = getelementptr inbounds nuw i8, ptr %2869, i64 4 - %2871 = load i32, ptr %2870, align 4 - %2872 = getelementptr inbounds nuw i8, ptr %2803, i64 32 - %2873 = load ptr, ptr %2872, align 8 - %2874 = getelementptr inbounds nuw i8, ptr %2873, i64 4 - %2875 = load i32, ptr %2874, align 4 - %2876 = icmp slt i32 %2875, 0 - br i1 %2876, label %2877, label %_ZN12_GLOBAL__N_119applyNonConstInsertERN4llvm12MachineInstrERNS0_19MachineRegisterInfoERNS0_16MachineIRBuilderE.exit - -2877: ; preds = %_ZNK4llvm3LLT14getSizeInBytesEv.exit108.i - %2878 = getelementptr inbounds nuw i8, ptr %2698, i64 456 - %2879 = and i32 %2875, 2147483647 - %2880 = zext nneg i32 %2879 to i64 - %2881 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(25) %2878) #22 - %2882 = icmp ugt i64 %2881, %2880 - br i1 %2882, label %2883, label %_ZN12_GLOBAL__N_119applyNonConstInsertERN4llvm12MachineInstrERNS0_19MachineRegisterInfoERNS0_16MachineIRBuilderE.exit - -2883: ; preds = %2877 - %2884 = load ptr, ptr %2878, align 8 - %2885 = getelementptr inbounds nuw %"class.llvm::LLT", ptr %2884, i64 %2880 - %2886 = load i64, ptr %2885, align 8 + %2860 = extractvalue { ptr, ptr } %2859, 1 + %2861 = getelementptr inbounds nuw i8, ptr %2860, i64 32 + %2862 = load ptr, ptr %2861, align 8 + %2863 = getelementptr inbounds nuw i8, ptr %2862, i64 4 + %2864 = load i32, ptr %2863, align 4 + %2865 = getelementptr inbounds nuw i8, ptr %2796, i64 32 + %2866 = load ptr, ptr %2865, align 8 + %2867 = getelementptr inbounds nuw i8, ptr %2866, i64 4 + %2868 = load i32, ptr %2867, align 4 + %2869 = icmp slt i32 %2868, 0 + br i1 %2869, label %2870, label %_ZN12_GLOBAL__N_119applyNonConstInsertERN4llvm12MachineInstrERNS0_19MachineRegisterInfoERNS0_16MachineIRBuilderE.exit + +2870: ; preds = %_ZNK4llvm3LLT14getSizeInBytesEv.exit108.i + %2871 = getelementptr inbounds nuw i8, ptr %2691, i64 456 + %2872 = and i32 %2868, 2147483647 + %2873 = zext nneg i32 %2872 to i64 + %2874 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(25) %2871) #22 + %2875 = icmp ugt i64 %2874, %2873 + br i1 %2875, label %2876, label %_ZN12_GLOBAL__N_119applyNonConstInsertERN4llvm12MachineInstrERNS0_19MachineRegisterInfoERNS0_16MachineIRBuilderE.exit + +2876: ; preds = %2870 + %2877 = load ptr, ptr %2871, align 8 + %2878 = getelementptr inbounds nuw %"class.llvm::LLT", ptr %2877, i64 %2873 + %2879 = load i64, ptr %2878, align 8 br label %_ZN12_GLOBAL__N_119applyNonConstInsertERN4llvm12MachineInstrERNS0_19MachineRegisterInfoERNS0_16MachineIRBuilderE.exit -_ZN12_GLOBAL__N_119applyNonConstInsertERN4llvm12MachineInstrERNS0_19MachineRegisterInfoERNS0_16MachineIRBuilderE.exit: ; preds = %_ZNK4llvm3LLT14getSizeInBytesEv.exit108.i, %2877, %2883 - %.sroa.04.0.i109.i = phi i64 [ %2886, %2883 ], [ 0, %2877 ], [ 0, %_ZNK4llvm3LLT14getSizeInBytesEv.exit108.i ] +_ZN12_GLOBAL__N_119applyNonConstInsertERN4llvm12MachineInstrERNS0_19MachineRegisterInfoERNS0_16MachineIRBuilderE.exit: ; preds = %_ZNK4llvm3LLT14getSizeInBytesEv.exit108.i, %2870, %2876 + %.sroa.04.0.i109.i = phi i64 [ %2879, %2876 ], [ 0, %2870 ], [ 0, %_ZNK4llvm3LLT14getSizeInBytesEv.exit108.i ] store i64 %.sroa.04.0.i109.i, ptr %18, align 8 - %2887 = getelementptr inbounds nuw i8, ptr %18, i64 8 - store i32 0, ptr %2887, align 8 - store ptr %2802, ptr %19, align 8 + %2880 = getelementptr inbounds nuw i8, ptr %18, i64 8 + store i32 0, ptr %2880, align 8 + store ptr %2795, ptr %19, align 8 %.sroa.4.0..sroa_idx148.i = getelementptr inbounds nuw i8, ptr %19, i64 8 - store ptr %2803, ptr %.sroa.4.0..sroa_idx148.i, align 8 - %2888 = getelementptr inbounds nuw i8, ptr %19, i64 16 - store i32 1, ptr %2888, align 8 - store i32 %2871, ptr %20, align 8 - %2889 = getelementptr inbounds nuw i8, ptr %20, i64 16 - store i32 0, ptr %2889, align 8 - %2890 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder11buildPtrAddERKNS_5DstOpERKNS_5SrcOpES6_St8optionalIjE(ptr noundef nonnull align 8 dereferenceable(88) %2700, ptr noundef nonnull align 8 dereferenceable(12) %18, ptr noundef nonnull align 8 dereferenceable(20) %19, ptr noundef nonnull align 8 dereferenceable(20) %20, i64 0) #22 - %2891 = extractvalue { ptr, ptr } %2890, 1 - %2892 = getelementptr inbounds nuw i8, ptr %2891, i64 32 - %2893 = load ptr, ptr %2892, align 8 - %2894 = getelementptr inbounds nuw i8, ptr %2893, i64 4 - %2895 = load i32, ptr %2894, align 4 - %2896 = load ptr, ptr %2701, align 8 - %2897 = getelementptr inbounds nuw i8, ptr %2896, i64 68 - %2898 = load i32, ptr %2897, align 4 - store i32 %2898, ptr %21, align 8 - %2899 = getelementptr inbounds nuw i8, ptr %21, i64 16 - store i32 0, ptr %2899, align 8 - store i32 %2895, ptr %22, align 8 - %2900 = getelementptr inbounds nuw i8, ptr %22, i64 16 - store i32 0, ptr %2900, align 8 + store ptr %2796, ptr %.sroa.4.0..sroa_idx148.i, align 8 + %2881 = getelementptr inbounds nuw i8, ptr %19, i64 16 + store i32 1, ptr %2881, align 8 + store i32 %2864, ptr %20, align 8 + %2882 = getelementptr inbounds nuw i8, ptr %20, i64 16 + store i32 0, ptr %2882, align 8 + %2883 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder11buildPtrAddERKNS_5DstOpERKNS_5SrcOpES6_St8optionalIjE(ptr noundef nonnull align 8 dereferenceable(88) %2693, ptr noundef nonnull align 8 dereferenceable(12) %18, ptr noundef nonnull align 8 dereferenceable(20) %19, ptr noundef nonnull align 8 dereferenceable(20) %20, i64 0) #22 + %2884 = extractvalue { ptr, ptr } %2883, 1 + %2885 = getelementptr inbounds nuw i8, ptr %2884, i64 32 + %2886 = load ptr, ptr %2885, align 8 + %2887 = getelementptr inbounds nuw i8, ptr %2886, i64 4 + %2888 = load i32, ptr %2887, align 4 + %2889 = load ptr, ptr %2694, align 8 + %2890 = getelementptr inbounds nuw i8, ptr %2889, i64 68 + %2891 = load i32, ptr %2890, align 4 + store i32 %2891, ptr %21, align 8 + %2892 = getelementptr inbounds nuw i8, ptr %21, i64 16 + store i32 0, ptr %2892, align 8 + store i32 %2888, ptr %22, align 8 + %2893 = getelementptr inbounds nuw i8, ptr %22, i64 16 + store i32 0, ptr %2893, align 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %23, i8 0, i64 32, i1 false) - %2901 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder10buildStoreERKNS_5SrcOpES3_NS_18MachinePointerInfoENS_5AlignENS_17MachineMemOperand5FlagsERKNS_9AAMDNodesE(ptr noundef nonnull align 8 dereferenceable(88) %2700, ptr noundef nonnull align 8 dereferenceable(20) %21, ptr noundef nonnull align 8 dereferenceable(20) %22, ptr noundef nonnull byval(%"struct.llvm::MachinePointerInfo") align 8 %10, i8 0, i16 noundef zeroext 0, ptr noundef nonnull align 8 dereferenceable(32) %23) #22 - %2902 = load ptr, ptr %2701, align 8 - %2903 = getelementptr inbounds nuw i8, ptr %2902, i64 4 - %2904 = load i32, ptr %2903, align 4 - store i32 %2904, ptr %24, align 8 - %2905 = getelementptr inbounds nuw i8, ptr %24, i64 8 - store i32 1, ptr %2905, align 8 - store ptr %2802, ptr %25, align 8 + %2894 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder10buildStoreERKNS_5SrcOpES3_NS_18MachinePointerInfoENS_5AlignENS_17MachineMemOperand5FlagsERKNS_9AAMDNodesE(ptr noundef nonnull align 8 dereferenceable(88) %2693, ptr noundef nonnull align 8 dereferenceable(20) %21, ptr noundef nonnull align 8 dereferenceable(20) %22, ptr noundef nonnull byval(%"struct.llvm::MachinePointerInfo") align 8 %10, i8 0, i16 noundef zeroext 0, ptr noundef nonnull align 8 dereferenceable(32) %23) #22 + %2895 = load ptr, ptr %2694, align 8 + %2896 = getelementptr inbounds nuw i8, ptr %2895, i64 4 + %2897 = load i32, ptr %2896, align 4 + store i32 %2897, ptr %24, align 8 + %2898 = getelementptr inbounds nuw i8, ptr %24, i64 8 + store i32 1, ptr %2898, align 8 + store ptr %2795, ptr %25, align 8 %.sroa.4.0..sroa_idx150.i = getelementptr inbounds nuw i8, ptr %25, i64 8 - store ptr %2803, ptr %.sroa.4.0..sroa_idx150.i, align 8 - %2906 = getelementptr inbounds nuw i8, ptr %25, i64 16 - store i32 1, ptr %2906, align 8 + store ptr %2796, ptr %.sroa.4.0..sroa_idx150.i, align 8 + %2899 = getelementptr inbounds nuw i8, ptr %25, i64 16 + store i32 1, ptr %2899, align 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %26, i8 0, i64 32, i1 false) - %2907 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder9buildLoadERKNS_5DstOpERKNS_5SrcOpENS_18MachinePointerInfoENS_5AlignENS_17MachineMemOperand5FlagsERKNS_9AAMDNodesE(ptr noundef nonnull align 8 dereferenceable(88) %2700, ptr noundef nonnull align 8 dereferenceable(12) %24, ptr noundef nonnull align 8 dereferenceable(20) %25, ptr noundef nonnull byval(%"struct.llvm::MachinePointerInfo") align 8 %10, i8 3, i16 noundef zeroext 0, ptr noundef nonnull align 8 dereferenceable(32) %26) #22 - call void @_ZN4llvm12MachineInstr15eraseFromParentEv(ptr noundef nonnull align 8 dereferenceable(70) %2697) #22 + %2900 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder9buildLoadERKNS_5DstOpERKNS_5SrcOpENS_18MachinePointerInfoENS_5AlignENS_17MachineMemOperand5FlagsERKNS_9AAMDNodesE(ptr noundef nonnull align 8 dereferenceable(88) %2693, ptr noundef nonnull align 8 dereferenceable(12) %24, ptr noundef nonnull align 8 dereferenceable(20) %25, ptr noundef nonnull byval(%"struct.llvm::MachinePointerInfo") align 8 %10, i8 3, i16 noundef zeroext 0, ptr noundef nonnull align 8 dereferenceable(32) %26) #22 + call void @_ZN4llvm12MachineInstr15eraseFromParentEv(ptr noundef nonnull align 8 dereferenceable(70) %2690) #22 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %9) call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %10) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %11) @@ -8071,24 +8058,24 @@ _ZN12_GLOBAL__N_119applyNonConstInsertERN4llvm12MachineInstrERNS0_19MachineRegis call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %24) call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %25) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %26) - br label %2908 + br label %2901 -2908: ; preds = %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK4$_19clEv.exit.thread", %_ZN12_GLOBAL__N_119applyNonConstInsertERN4llvm12MachineInstrERNS0_19MachineRegisterInfoERNS0_16MachineIRBuilderE.exit - %2909 = xor i1 %2686, true - %2910 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(64) %2679) #22 - %2911 = load ptr, ptr %2679, align 8 - %2912 = icmp eq ptr %2911, %2680 - br i1 %2912, label %_ZN12_GLOBAL__N_119ShuffleVectorPseudoD2Ev.exit, label %2913 +2901: ; preds = %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK4$_19clEv.exit.thread", %_ZN12_GLOBAL__N_119applyNonConstInsertERN4llvm12MachineInstrERNS0_19MachineRegisterInfoERNS0_16MachineIRBuilderE.exit + %2902 = xor i1 %2679, true + %2903 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(64) %2672) #22 + %2904 = load ptr, ptr %2672, align 8 + %2905 = icmp eq ptr %2904, %2673 + br i1 %2905, label %_ZN12_GLOBAL__N_119ShuffleVectorPseudoD2Ev.exit, label %2906 -2913: ; preds = %2908 - call void @free(ptr noundef %2911) #22 +2906: ; preds = %2901 + call void @free(ptr noundef %2904) #22 br label %_ZN12_GLOBAL__N_119ShuffleVectorPseudoD2Ev.exit -2914: ; preds = %4 +2907: ; preds = %4 unreachable -_ZN12_GLOBAL__N_119ShuffleVectorPseudoD2Ev.exit: ; preds = %2063, %2067, %1799, %1809, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit.i.i206, %1850, %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i.i203, %1822, %_ZN12_GLOBAL__N_123tryAdjustICmpImmAndPredEN4llvm8RegisterENS0_7CmpInst9PredicateERKNS0_19MachineRegisterInfoE.exit.i.i, %_ZN12_GLOBAL__N_123tryAdjustICmpImmAndPredEN4llvm8RegisterENS0_7CmpInst9PredicateERKNS0_19MachineRegisterInfoE.exit.thread.i.i, %1367, %1377, %1390, %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i.i172, %_ZNK4llvm3LLT14getNumElementsEv.exit.i.i155, %_ZN12_GLOBAL__N_19isINSMaskEN4llvm8ArrayRefIiEEi.exit.i.i, %2913, %2908, %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK4$_18clEv.exit.thread", %.critedge.i.i268, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit57.i.i, %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i.i263, %2196, %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK4$_16clEv.exit.thread", %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK4$_14clEv.exit.thread", %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK4$_12clEv.exit", %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK4$_12clEv.exit.thread", %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK4$_11clEv.exit.thread422", %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK3$_6clEv.exit.thread", %1059, %1055, %971, %967, %886, %882, %784, %780, %372, %368, %262, %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK3$_0clEv.exit.thread397", %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK4$_18clEv.exit", %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK4$_16clEv.exit", %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK4$_15clEv.exit", %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK4$_14clEv.exit", %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK4$_11clEv.exit", %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK4$_10clEv.exit", %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK3$_8clEv.exit", %_ZN12_GLOBAL__N_127applyScalarizeVectorUnmergeERN4llvm12MachineInstrERNS0_19MachineRegisterInfoERNS0_16MachineIRBuilderE.exit, %_ZN12_GLOBAL__N_117applyExtMulToMULLERN4llvm12MachineInstrERNS0_19MachineRegisterInfoERNS0_16MachineIRBuilderERNS0_19GISelChangeObserverE.exit, %2197, %2081, %2050, %_ZN12_GLOBAL__N_120applyLowerVectorFCMPERN4llvm12MachineInstrERNS0_19MachineRegisterInfoERNS0_16MachineIRBuilderE.exit, %_ZN12_GLOBAL__N_129applyLowerBuildToInsertVecEltERN4llvm12MachineInstrERNS0_19MachineRegisterInfoERNS0_16MachineIRBuilderE.exit, %1692, %1654, %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK3$_9clEv.exit", %_ZN12_GLOBAL__N_117applyVAshrLshrImmERN4llvm12MachineInstrERNS0_19MachineRegisterInfoERl.exit, %_ZN12_GLOBAL__N_18applyINSERN4llvm12MachineInstrERNS0_19MachineRegisterInfoERNS0_16MachineIRBuilderERSt5tupleIJNS0_8RegisterEiS8_iEE.exit, %_ZN12_GLOBAL__N_112applyDupLaneERN4llvm12MachineInstrERNS0_19MachineRegisterInfoERNS0_16MachineIRBuilderERSt4pairIjiE.exit - %.1 = phi i1 [ true, %_ZN12_GLOBAL__N_127applyScalarizeVectorUnmergeERN4llvm12MachineInstrERNS0_19MachineRegisterInfoERNS0_16MachineIRBuilderE.exit ], [ true, %_ZN12_GLOBAL__N_117applyExtMulToMULLERN4llvm12MachineInstrERNS0_19MachineRegisterInfoERNS0_16MachineIRBuilderERNS0_19GISelChangeObserverE.exit ], [ true, %2197 ], [ true, %2081 ], [ true, %2050 ], [ true, %_ZN12_GLOBAL__N_120applyLowerVectorFCMPERN4llvm12MachineInstrERNS0_19MachineRegisterInfoERNS0_16MachineIRBuilderE.exit ], [ true, %_ZN12_GLOBAL__N_129applyLowerBuildToInsertVecEltERN4llvm12MachineInstrERNS0_19MachineRegisterInfoERNS0_16MachineIRBuilderE.exit ], [ true, %1692 ], [ true, %1654 ], [ true, %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK3$_9clEv.exit" ], [ true, %_ZN12_GLOBAL__N_117applyVAshrLshrImmERN4llvm12MachineInstrERNS0_19MachineRegisterInfoERl.exit ], [ true, %_ZN12_GLOBAL__N_18applyINSERN4llvm12MachineInstrERNS0_19MachineRegisterInfoERNS0_16MachineIRBuilderERSt5tupleIJNS0_8RegisterEiS8_iEE.exit ], [ true, %_ZN12_GLOBAL__N_112applyDupLaneERN4llvm12MachineInstrERNS0_19MachineRegisterInfoERNS0_16MachineIRBuilderERSt4pairIjiE.exit ], [ false, %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK3$_8clEv.exit" ], [ false, %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK4$_10clEv.exit" ], [ false, %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK4$_11clEv.exit" ], [ false, %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK4$_12clEv.exit" ], [ false, %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK4$_14clEv.exit" ], [ false, %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK4$_15clEv.exit" ], [ false, %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK4$_16clEv.exit" ], [ false, %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK4$_18clEv.exit" ], [ %.0.i.i395, %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK3$_0clEv.exit.thread397" ], [ %.0.i.i395, %262 ], [ %.0.i.i60401, %368 ], [ %.0.i.i60401, %372 ], [ %.0.i.i76403, %780 ], [ %.0.i.i76403, %784 ], [ %.030.i24.i.i405, %882 ], [ %.030.i24.i.i405, %886 ], [ %.018.i24.i.i407, %967 ], [ %.018.i24.i.i407, %971 ], [ %.014.i24.i.i409, %1055 ], [ %.014.i24.i.i409, %1059 ], [ false, %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK3$_6clEv.exit.thread" ], [ false, %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK4$_11clEv.exit.thread422" ], [ false, %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK4$_12clEv.exit.thread" ], [ false, %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK4$_14clEv.exit.thread" ], [ false, %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK4$_16clEv.exit.thread" ], [ false, %2196 ], [ false, %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i.i263 ], [ false, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit57.i.i ], [ false, %.critedge.i.i268 ], [ false, %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK4$_18clEv.exit.thread" ], [ %2909, %2908 ], [ %2909, %2913 ], [ false, %_ZN12_GLOBAL__N_19isINSMaskEN4llvm8ArrayRefIiEEi.exit.i.i ], [ false, %_ZNK4llvm3LLT14getNumElementsEv.exit.i.i155 ], [ false, %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i.i172 ], [ false, %1390 ], [ false, %1377 ], [ false, %1367 ], [ false, %_ZN12_GLOBAL__N_123tryAdjustICmpImmAndPredEN4llvm8RegisterENS0_7CmpInst9PredicateERKNS0_19MachineRegisterInfoE.exit.thread.i.i ], [ false, %_ZN12_GLOBAL__N_123tryAdjustICmpImmAndPredEN4llvm8RegisterENS0_7CmpInst9PredicateERKNS0_19MachineRegisterInfoE.exit.i.i ], [ false, %1822 ], [ false, %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i.i203 ], [ false, %1850 ], [ false, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit.i.i206 ], [ false, %1809 ], [ false, %1799 ], [ false, %2067 ], [ false, %2063 ] +_ZN12_GLOBAL__N_119ShuffleVectorPseudoD2Ev.exit: ; preds = %2063, %2067, %1799, %1809, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit.i.i206, %1850, %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i.i203, %1822, %_ZN12_GLOBAL__N_123tryAdjustICmpImmAndPredEN4llvm8RegisterENS0_7CmpInst9PredicateERKNS0_19MachineRegisterInfoE.exit.i.i, %_ZN12_GLOBAL__N_123tryAdjustICmpImmAndPredEN4llvm8RegisterENS0_7CmpInst9PredicateERKNS0_19MachineRegisterInfoE.exit.thread.i.i, %1367, %1377, %1390, %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i.i172, %_ZNK4llvm3LLT14getNumElementsEv.exit.i.i155, %_ZN12_GLOBAL__N_19isINSMaskEN4llvm8ArrayRefIiEEi.exit.i.i, %2906, %2901, %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK4$_18clEv.exit.thread", %.critedge.i.i265, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit57.i.i, %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i.i260, %2189, %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK4$_16clEv.exit.thread", %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK4$_14clEv.exit.thread", %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK4$_12clEv.exit", %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK4$_12clEv.exit.thread", %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK4$_11clEv.exit.thread419", %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK3$_6clEv.exit.thread", %1059, %1055, %971, %967, %886, %882, %784, %780, %372, %368, %262, %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK3$_0clEv.exit.thread394", %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK4$_18clEv.exit", %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK4$_16clEv.exit", %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK4$_15clEv.exit", %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK4$_14clEv.exit", %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK4$_11clEv.exit", %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK4$_10clEv.exit", %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK3$_8clEv.exit", %_ZN12_GLOBAL__N_127applyScalarizeVectorUnmergeERN4llvm12MachineInstrERNS0_19MachineRegisterInfoERNS0_16MachineIRBuilderE.exit, %_ZN12_GLOBAL__N_117applyExtMulToMULLERN4llvm12MachineInstrERNS0_19MachineRegisterInfoERNS0_16MachineIRBuilderERNS0_19GISelChangeObserverE.exit, %2190, %2081, %2050, %_ZN12_GLOBAL__N_120applyLowerVectorFCMPERN4llvm12MachineInstrERNS0_19MachineRegisterInfoERNS0_16MachineIRBuilderE.exit, %_ZN12_GLOBAL__N_129applyLowerBuildToInsertVecEltERN4llvm12MachineInstrERNS0_19MachineRegisterInfoERNS0_16MachineIRBuilderE.exit, %1692, %1654, %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK3$_9clEv.exit", %_ZN12_GLOBAL__N_117applyVAshrLshrImmERN4llvm12MachineInstrERNS0_19MachineRegisterInfoERl.exit, %_ZN12_GLOBAL__N_18applyINSERN4llvm12MachineInstrERNS0_19MachineRegisterInfoERNS0_16MachineIRBuilderERSt5tupleIJNS0_8RegisterEiS8_iEE.exit, %_ZN12_GLOBAL__N_112applyDupLaneERN4llvm12MachineInstrERNS0_19MachineRegisterInfoERNS0_16MachineIRBuilderERSt4pairIjiE.exit + %.1 = phi i1 [ true, %_ZN12_GLOBAL__N_127applyScalarizeVectorUnmergeERN4llvm12MachineInstrERNS0_19MachineRegisterInfoERNS0_16MachineIRBuilderE.exit ], [ true, %_ZN12_GLOBAL__N_117applyExtMulToMULLERN4llvm12MachineInstrERNS0_19MachineRegisterInfoERNS0_16MachineIRBuilderERNS0_19GISelChangeObserverE.exit ], [ true, %2190 ], [ true, %2081 ], [ true, %2050 ], [ true, %_ZN12_GLOBAL__N_120applyLowerVectorFCMPERN4llvm12MachineInstrERNS0_19MachineRegisterInfoERNS0_16MachineIRBuilderE.exit ], [ true, %_ZN12_GLOBAL__N_129applyLowerBuildToInsertVecEltERN4llvm12MachineInstrERNS0_19MachineRegisterInfoERNS0_16MachineIRBuilderE.exit ], [ true, %1692 ], [ true, %1654 ], [ true, %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK3$_9clEv.exit" ], [ true, %_ZN12_GLOBAL__N_117applyVAshrLshrImmERN4llvm12MachineInstrERNS0_19MachineRegisterInfoERl.exit ], [ true, %_ZN12_GLOBAL__N_18applyINSERN4llvm12MachineInstrERNS0_19MachineRegisterInfoERNS0_16MachineIRBuilderERSt5tupleIJNS0_8RegisterEiS8_iEE.exit ], [ true, %_ZN12_GLOBAL__N_112applyDupLaneERN4llvm12MachineInstrERNS0_19MachineRegisterInfoERNS0_16MachineIRBuilderERSt4pairIjiE.exit ], [ false, %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK3$_8clEv.exit" ], [ false, %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK4$_10clEv.exit" ], [ false, %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK4$_11clEv.exit" ], [ false, %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK4$_12clEv.exit" ], [ false, %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK4$_14clEv.exit" ], [ false, %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK4$_15clEv.exit" ], [ false, %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK4$_16clEv.exit" ], [ false, %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK4$_18clEv.exit" ], [ %.0.i.i392, %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK3$_0clEv.exit.thread394" ], [ %.0.i.i392, %262 ], [ %.0.i.i60398, %368 ], [ %.0.i.i60398, %372 ], [ %.0.i.i76400, %780 ], [ %.0.i.i76400, %784 ], [ %.030.i24.i.i402, %882 ], [ %.030.i24.i.i402, %886 ], [ %.018.i24.i.i404, %967 ], [ %.018.i24.i.i404, %971 ], [ %.014.i24.i.i406, %1055 ], [ %.014.i24.i.i406, %1059 ], [ false, %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK3$_6clEv.exit.thread" ], [ false, %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK4$_11clEv.exit.thread419" ], [ false, %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK4$_12clEv.exit.thread" ], [ false, %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK4$_14clEv.exit.thread" ], [ false, %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK4$_16clEv.exit.thread" ], [ false, %2189 ], [ false, %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i.i260 ], [ false, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit57.i.i ], [ false, %.critedge.i.i265 ], [ false, %"_ZZNK12_GLOBAL__N_132AArch64PostLegalizerLoweringImpl15runCustomActionEjRKN4llvm20GIMatchTableExecutor12MatcherStateERNS1_11SmallVectorINS1_19MachineInstrBuilderELj4EEEENK4$_18clEv.exit.thread" ], [ %2902, %2901 ], [ %2902, %2906 ], [ false, %_ZN12_GLOBAL__N_19isINSMaskEN4llvm8ArrayRefIiEEi.exit.i.i ], [ false, %_ZNK4llvm3LLT14getNumElementsEv.exit.i.i155 ], [ false, %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i.i172 ], [ false, %1390 ], [ false, %1377 ], [ false, %1367 ], [ false, %_ZN12_GLOBAL__N_123tryAdjustICmpImmAndPredEN4llvm8RegisterENS0_7CmpInst9PredicateERKNS0_19MachineRegisterInfoE.exit.thread.i.i ], [ false, %_ZN12_GLOBAL__N_123tryAdjustICmpImmAndPredEN4llvm8RegisterENS0_7CmpInst9PredicateERKNS0_19MachineRegisterInfoE.exit.i.i ], [ false, %1822 ], [ false, %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i.i203 ], [ false, %1850 ], [ false, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit.i.i206 ], [ false, %1809 ], [ false, %1799 ], [ false, %2067 ], [ false, %2063 ] ret i1 %.1 } diff --git a/bench/llvm/optimized/CallLowering.cpp.ll b/bench/llvm/optimized/CallLowering.cpp.ll index 268991a852d..b5f784ac454 100644 --- a/bench/llvm/optimized/CallLowering.cpp.ll +++ b/bench/llvm/optimized/CallLowering.cpp.ll @@ -3053,7 +3053,7 @@ define dso_local noundef zeroext i1 @_ZNK4llvm12CallLowering17handleAssignmentsE 201: ; preds = %.lr.ph560, %_ZNK4llvm3EVTneES0_.exit.thread526 %indvars.iv581 = phi i64 [ 0, %.lr.ph560 ], [ %indvars.iv.next582, %_ZNK4llvm3EVTneES0_.exit.thread526 ] - %.0262557 = phi i32 [ 0, %.lr.ph560 ], [ %1834, %_ZNK4llvm3EVTneES0_.exit.thread526 ] + %.0262557 = phi i32 [ 0, %.lr.ph560 ], [ %1825, %_ZNK4llvm3EVTneES0_.exit.thread526 ] %202 = zext i32 %.0262557 to i64 %203 = load ptr, ptr %4, align 8 %204 = getelementptr inbounds nuw %"class.llvm::CCValAssign", ptr %203, i64 %202 @@ -3200,13 +3200,13 @@ _ZNSt8functionIFvvEED2Ev.exit: ; preds = %218 %287 = load i64, ptr %99, align 8 %spec.select.i.i283 = icmp eq i64 %240, %287 %or.cond529.not = select i1 %286, i1 true, i1 %spec.select.i.i283 - br i1 %or.cond529.not, label %683, label %288 + br i1 %or.cond529.not, label %674, label %288 288: ; preds = %.loopexit542 %289 = load i8, ptr %205, align 4 %290 = and i8 %289, 126 %.not277 = icmp eq i8 %290, 22 - br i1 %.not277, label %683, label %291 + br i1 %.not277, label %674, label %291 291: ; preds = %288 %292 = load ptr, ptr %2, align 8 @@ -3510,8 +3510,8 @@ _ZNK4llvm3LLT14getElementTypeEv.exit180.i: ; preds = %_ZNK4llvm3LLT19getS store i32 0, ptr %130, align 8 %411 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder12buildUnmergeENS_3LLTERKNS_5SrcOpE(ptr noundef nonnull align 8 dereferenceable(88) %5, i64 %.sroa.0.0.i175.i, ptr noundef nonnull align 8 dereferenceable(20) %73) #18 %412 = and i64 %295, 4294967295 - %.not478.i = icmp eq i64 %412, 0 - br i1 %.not478.i, label %_ZL15buildCopyToRegsRN4llvm16MachineIRBuilderENS_8ArrayRefINS_8RegisterEEES3_NS_3LLTES5_j.exit, label %.lr.ph.i + %.not479.i = icmp eq i64 %412, 0 + br i1 %.not479.i, label %_ZL15buildCopyToRegsRN4llvm16MachineIRBuilderENS_8ArrayRefINS_8RegisterEEES3_NS_3LLTES5_j.exit, label %.lr.ph.i .lr.ph.i: ; preds = %_ZNK4llvm3LLT14getElementTypeEv.exit180.i %413 = extractvalue { ptr, ptr } %411, 1 @@ -3570,570 +3570,553 @@ _ZNK4llvm3LLT13getSizeInBitsEv.exit202.i: ; preds = %_ZNK4llvm3LLT19getS %.sroa.3.0.i195.i = phi i8 [ %434, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i187.i ], [ 0, %423 ], [ 0, %425 ] %435 = and i64 %240, 2 %.not.i.not.i204.i = icmp eq i64 %435, 0 - %436 = and i64 %240, 6 - %437 = icmp eq i64 %436, 2 - %438 = and i64 %240, 1 - %439 = icmp ne i64 %438, 0 - %or.cond14.i206.i = or i1 %439, %437 - br i1 %or.cond14.i206.i, label %440, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i207.i - -440: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit202.i - %.not.i1.i219.i = icmp eq i64 %438, 0 - br i1 %.not.i1.i219.i, label %443, label %441 - -441: ; preds = %440 - %442 = lshr i64 %240, 3 - br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit222.i - -443: ; preds = %440 - %444 = lshr i64 %240, 19 - %445 = and i64 %444, 65535 - %spec.select.i.i221.i = select i1 %.not.i.not.i204.i, i64 %444, i64 %445 - br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit222.i + %436 = and i64 %240, 1 + %.not476.i = icmp eq i64 %436, 0 + %437 = lshr i64 %240, 3 + br i1 %.not476.i, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i207.i, label %_ZNK4llvm3LLT13getSizeInBitsEv.exit222.i _ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i207.i: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit202.i - %446 = lshr i64 %240, 3 - %.sroa.0.0.insert.ext.i.i.i208.i = and i64 %446, 65535 - %447 = select i1 %.not.i.not.i204.i, i64 2251799813685248, i64 576460752303423488 - %448 = and i64 %447, %240 - %.not1.i4.i209.i = icmp ne i64 %448, 0 - %449 = lshr i64 %240, 19 - %450 = and i64 %449, 65535 - %spec.select.i10.i211.i = select i1 %.not.i.not.i204.i, i64 %449, i64 %450 - %451 = mul nuw nsw i64 %spec.select.i10.i211.i, %.sroa.0.0.insert.ext.i.i.i208.i - %452 = zext i1 %.not1.i4.i209.i to i8 + %.sroa.0.0.insert.ext.i.i.i208.i = and i64 %437, 65535 + %438 = select i1 %.not.i.not.i204.i, i64 2251799813685248, i64 576460752303423488 + %439 = and i64 %438, %240 + %.not1.i4.i209.i = icmp ne i64 %439, 0 + %440 = lshr i64 %240, 19 + %441 = and i64 %440, 65535 + %spec.select.i10.i211.i = select i1 %.not.i.not.i204.i, i64 %440, i64 %441 + %442 = mul nuw nsw i64 %spec.select.i10.i211.i, %.sroa.0.0.insert.ext.i.i.i208.i + %443 = zext i1 %.not1.i4.i209.i to i8 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit222.i -_ZNK4llvm3LLT13getSizeInBitsEv.exit222.i: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i207.i, %443, %441 - %.sroa.012.0.in.i214.i = phi i64 [ %451, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i207.i ], [ %442, %441 ], [ %spec.select.i.i221.i, %443 ] - %.sroa.3.0.i215.i = phi i8 [ %452, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i207.i ], [ 0, %441 ], [ 0, %443 ] - %453 = xor i64 %.sroa.012.0.in.i214.i, %.sroa.012.0.in.i194.i - %454 = and i64 %453, 4294967295 - %455 = icmp eq i64 %454, 0 - %456 = icmp eq i8 %.sroa.3.0.i215.i, %.sroa.3.0.i195.i - %or.cond468.i = select i1 %455, i1 %456, i1 false - br i1 %or.cond468.i, label %457, label %.critedge2.i - -457: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit222.i - %458 = select i1 %.not.i.not.i204.i, i64 2251799813685248, i64 576460752303423488 - %459 = and i64 %458, %240 - %.not1.i224.not.i = icmp eq i64 %459, 0 - %460 = trunc i64 %240 to i32 - %461 = lshr i32 %460, 3 - %.sroa.0378.0.extract.trunc.i = and i32 %461, 65535 - %462 = trunc i64 %.sroa.0106.0.copyload to i32 - %463 = lshr i32 %462, 3 - %.sroa.0376.0.extract.trunc.i = and i32 %463, 65535 - br i1 %.not1.i224.not.i, label %_ZN4llvm7details23FixedOrScalableQuantityINS_12ElementCountEjE9isKnownLTERKS3_S5_.exit.i, label %464 - -464: ; preds = %457 - %465 = select i1 %.not.i.not.i.i, i64 2251799813685248, i64 576460752303423488 - %466 = and i64 %465, %.sroa.0106.0.copyload - %.not1.i227.i = icmp ne i64 %466, 0 - %467 = icmp samesign ult i32 %.sroa.0378.0.extract.trunc.i, %.sroa.0376.0.extract.trunc.i - %or.cond470.i = select i1 %.not1.i227.i, i1 %467, i1 false - br i1 %or.cond470.i, label %468, label %.critedge2.i - -_ZN4llvm7details23FixedOrScalableQuantityINS_12ElementCountEjE9isKnownLTERKS3_S5_.exit.i: ; preds = %457 +_ZNK4llvm3LLT13getSizeInBitsEv.exit222.i: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i207.i, %_ZNK4llvm3LLT13getSizeInBitsEv.exit202.i + %.sroa.012.0.in.i214.i = phi i64 [ %442, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i207.i ], [ %437, %_ZNK4llvm3LLT13getSizeInBitsEv.exit202.i ] + %.sroa.3.0.i215.i = phi i8 [ %443, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i207.i ], [ 0, %_ZNK4llvm3LLT13getSizeInBitsEv.exit202.i ] + %444 = xor i64 %.sroa.012.0.in.i214.i, %.sroa.012.0.in.i194.i + %445 = and i64 %444, 4294967295 + %446 = icmp eq i64 %445, 0 + %447 = icmp eq i8 %.sroa.3.0.i215.i, %.sroa.3.0.i195.i + %or.cond468.i = select i1 %446, i1 %447, i1 false + br i1 %or.cond468.i, label %448, label %.critedge2.i + +448: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit222.i + %449 = select i1 %.not.i.not.i204.i, i64 2251799813685248, i64 576460752303423488 + %450 = and i64 %449, %240 + %.not1.i224.not.i = icmp eq i64 %450, 0 + %451 = trunc i64 %240 to i32 + %452 = lshr i32 %451, 3 + %.sroa.0378.0.extract.trunc.i = and i32 %452, 65535 + %453 = trunc i64 %.sroa.0106.0.copyload to i32 + %454 = lshr i32 %453, 3 + %.sroa.0376.0.extract.trunc.i = and i32 %454, 65535 + br i1 %.not1.i224.not.i, label %_ZN4llvm7details23FixedOrScalableQuantityINS_12ElementCountEjE9isKnownLTERKS3_S5_.exit.i, label %455 + +455: ; preds = %448 + %456 = select i1 %.not.i.not.i.i, i64 2251799813685248, i64 576460752303423488 + %457 = and i64 %456, %.sroa.0106.0.copyload + %.not1.i227.i = icmp ne i64 %457, 0 + %458 = icmp samesign ult i32 %.sroa.0378.0.extract.trunc.i, %.sroa.0376.0.extract.trunc.i + %or.cond470.i = select i1 %.not1.i227.i, i1 %458, i1 false + br i1 %or.cond470.i, label %459, label %.critedge2.i + +_ZN4llvm7details23FixedOrScalableQuantityINS_12ElementCountEjE9isKnownLTERKS3_S5_.exit.i: ; preds = %448 %.old469.i = icmp samesign ult i32 %.sroa.0378.0.extract.trunc.i, %.sroa.0376.0.extract.trunc.i - br i1 %.old469.i, label %468, label %.critedge2.i + br i1 %.old469.i, label %459, label %.critedge2.i -468: ; preds = %_ZN4llvm7details23FixedOrScalableQuantityINS_12ElementCountEjE9isKnownLTERKS3_S5_.exit.i, %464 +459: ; preds = %_ZN4llvm7details23FixedOrScalableQuantityINS_12ElementCountEjE9isKnownLTERKS3_S5_.exit.i, %455 %.sroa.073.0.copyload.i = load i32, ptr %294, align 4 store i32 %.sroa.073.0.copyload.i, ptr %76, align 8 store i32 1, ptr %148, align 8 store i32 %.sroa.0108.0.copyload, ptr %77, align 8 store i32 0, ptr %149, align 8 - %469 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder31buildPadVectorWithUndefElementsERKNS_5DstOpERKNS_5SrcOpE(ptr noundef nonnull align 8 dereferenceable(88) %5, ptr noundef nonnull align 8 dereferenceable(12) %76, ptr noundef nonnull align 8 dereferenceable(20) %77) #18 + %460 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder31buildPadVectorWithUndefElementsERKNS_5DstOpERKNS_5SrcOpE(ptr noundef nonnull align 8 dereferenceable(88) %5, ptr noundef nonnull align 8 dereferenceable(12) %76, ptr noundef nonnull align 8 dereferenceable(20) %77) #18 br label %_ZL15buildCopyToRegsRN4llvm16MachineIRBuilderENS_8ArrayRefINS_8RegisterEEES3_NS_3LLTES5_j.exit -.critedge2.i: ; preds = %_ZN4llvm7details23FixedOrScalableQuantityINS_12ElementCountEjE9isKnownLTERKS3_S5_.exit.i, %464, %_ZNK4llvm3LLT13getSizeInBitsEv.exit222.i, %_ZN4llvm7details23FixedOrScalableQuantityINS_8TypeSizeEmE9isKnownGTERKS3_S5_.exit.i, %400 - %470 = call i64 @_ZN4llvm10getGCDTypeENS_3LLTES0_(i64 %240, i64 %.sroa.0106.0.copyload) #20 - %spec.select.i231.i = icmp eq i64 %470, %.sroa.0106.0.copyload - br i1 %spec.select.i231.i, label %472, label %474 +.critedge2.i: ; preds = %_ZN4llvm7details23FixedOrScalableQuantityINS_12ElementCountEjE9isKnownLTERKS3_S5_.exit.i, %455, %_ZNK4llvm3LLT13getSizeInBitsEv.exit222.i, %_ZN4llvm7details23FixedOrScalableQuantityINS_8TypeSizeEmE9isKnownGTERKS3_S5_.exit.i, %400 + %461 = call i64 @_ZN4llvm10getGCDTypeENS_3LLTES0_(i64 %240, i64 %.sroa.0106.0.copyload) #20 + %spec.select.i231.i = icmp eq i64 %461, %.sroa.0106.0.copyload + br i1 %spec.select.i231.i, label %463, label %465 .critedge2.thread.i: ; preds = %362 - %471 = call i64 @_ZN4llvm10getGCDTypeENS_3LLTES0_(i64 %240, i64 %.sroa.0106.0.copyload) #20 - %spec.select.i231458.i = icmp eq i64 %471, %.sroa.0106.0.copyload - br i1 %spec.select.i231458.i, label %472, label %.critedge4.i + %462 = call i64 @_ZN4llvm10getGCDTypeENS_3LLTES0_(i64 %240, i64 %.sroa.0106.0.copyload) #20 + %spec.select.i231458.i = icmp eq i64 %462, %.sroa.0106.0.copyload + br i1 %spec.select.i231458.i, label %463, label %.critedge4.i -472: ; preds = %.critedge2.thread.i, %.critedge2.i +463: ; preds = %.critedge2.thread.i, %.critedge2.i store i32 %.sroa.0108.0.copyload, ptr %78, align 8 store i32 0, ptr %147, align 8 - %473 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder12buildUnmergeENS_8ArrayRefINS_8RegisterEEERKNS_5SrcOpE(ptr noundef nonnull align 8 dereferenceable(88) %5, ptr %294, i64 %295, ptr noundef nonnull align 8 dereferenceable(20) %78) #18 + %464 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder12buildUnmergeENS_8ArrayRefINS_8RegisterEEERKNS_5SrcOpE(ptr noundef nonnull align 8 dereferenceable(88) %5, ptr %294, i64 %295, ptr noundef nonnull align 8 dereferenceable(20) %78) #18 br label %_ZL15buildCopyToRegsRN4llvm16MachineIRBuilderENS_8ArrayRefINS_8RegisterEEES3_NS_3LLTES5_j.exit -474: ; preds = %.critedge2.i - br i1 %329, label %.critedge4.i, label %475 +465: ; preds = %.critedge2.i + br i1 %329, label %.critedge4.i, label %466 -475: ; preds = %474 - %476 = and i64 %240, 1 - %.not.i234.i = icmp eq i64 %476, 0 - br i1 %.not.i234.i, label %479, label %477 +466: ; preds = %465 + %467 = and i64 %240, 1 + %.not.i234.i = icmp eq i64 %467, 0 + br i1 %.not.i234.i, label %470, label %468 -477: ; preds = %475 - %478 = lshr i64 %240, 3 +468: ; preds = %466 + %469 = lshr i64 %240, 3 br label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit240.i -479: ; preds = %475 - %480 = and i64 %240, 2 - %.not2.i238.i = icmp eq i64 %480, 0 - %481 = lshr i64 %240, 19 - %482 = and i64 %481, 65535 - %spec.select.i239.i = select i1 %.not2.i238.i, i64 %481, i64 %482 +470: ; preds = %466 + %471 = and i64 %240, 2 + %.not2.i238.i = icmp eq i64 %471, 0 + %472 = lshr i64 %240, 19 + %473 = and i64 %472, 65535 + %spec.select.i239.i = select i1 %.not2.i238.i, i64 %472, i64 %473 br label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit240.i -_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit240.i: ; preds = %479, %477 - %.0.in.i235.i = phi i64 [ %478, %477 ], [ %spec.select.i239.i, %479 ] - %483 = and i64 %.0.in.i235.i, 4294967295 - br i1 %or.cond14.i.i, label %484, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i245.i +_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit240.i: ; preds = %470, %468 + %.0.in.i235.i = phi i64 [ %469, %468 ], [ %spec.select.i239.i, %470 ] + %474 = and i64 %.0.in.i235.i, 4294967295 + br i1 %or.cond14.i.i, label %475, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i245.i -484: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit240.i +475: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit240.i %.not.i1.i257.i = icmp eq i64 %308, 0 - br i1 %.not.i1.i257.i, label %487, label %485 + br i1 %.not.i1.i257.i, label %478, label %476 -485: ; preds = %484 - %486 = lshr i64 %.sroa.0106.0.copyload, 3 +476: ; preds = %475 + %477 = lshr i64 %.sroa.0106.0.copyload, 3 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit260.i -487: ; preds = %484 +478: ; preds = %475 %.not1.i2.i258.i = icmp eq i64 %.pre-phi.i, 0 - br i1 %.not1.i2.i258.i, label %491, label %488 + br i1 %.not1.i2.i258.i, label %482, label %479 -488: ; preds = %487 - %489 = lshr i64 %.sroa.0106.0.copyload, 19 - %490 = and i64 %489, 65535 - %spec.select.i.i259.i = select i1 %.not.i.not.i.i, i64 %489, i64 %490 +479: ; preds = %478 + %480 = lshr i64 %.sroa.0106.0.copyload, 19 + %481 = and i64 %480, 65535 + %spec.select.i.i259.i = select i1 %.not.i.not.i.i, i64 %480, i64 %481 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit260.i -491: ; preds = %487 - %492 = lshr i64 %.sroa.0106.0.copyload, 3 - %493 = and i64 %492, 65535 +482: ; preds = %478 + %483 = lshr i64 %.sroa.0106.0.copyload, 3 + %484 = and i64 %483, 65535 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit260.i _ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i245.i: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit240.i - %494 = lshr i64 %.sroa.0106.0.copyload, 3 - %.sroa.0.0.insert.ext.i.i.i246.i = and i64 %494, 65535 - %495 = select i1 %.not.i.not.i.i, i64 2251799813685248, i64 576460752303423488 - %496 = and i64 %495, %.sroa.0106.0.copyload - %.not1.i4.i247.i = icmp ne i64 %496, 0 + %485 = lshr i64 %.sroa.0106.0.copyload, 3 + %.sroa.0.0.insert.ext.i.i.i246.i = and i64 %485, 65535 + %486 = select i1 %.not.i.not.i.i, i64 2251799813685248, i64 576460752303423488 + %487 = and i64 %486, %.sroa.0106.0.copyload + %.not1.i4.i247.i = icmp ne i64 %487, 0 %.not1.i8.i248.i = icmp eq i64 %.pre-phi.i, 0 - %497 = lshr i64 %.sroa.0106.0.copyload, 19 - %498 = and i64 %497, 65535 - %spec.select.i10.i249.i = select i1 %.not.i.not.i.i, i64 %497, i64 %498 + %488 = lshr i64 %.sroa.0106.0.copyload, 19 + %489 = and i64 %488, 65535 + %spec.select.i10.i249.i = select i1 %.not.i.not.i.i, i64 %488, i64 %489 %.0.in.i6.i250.i = select i1 %.not1.i8.i248.i, i64 %.sroa.0.0.insert.ext.i.i.i246.i, i64 %spec.select.i10.i249.i - %499 = mul nuw nsw i64 %.0.in.i6.i250.i, %.sroa.0.0.insert.ext.i.i.i246.i - %500 = zext i1 %.not1.i4.i247.i to i8 + %490 = mul nuw nsw i64 %.0.in.i6.i250.i, %.sroa.0.0.insert.ext.i.i.i246.i + %491 = zext i1 %.not1.i4.i247.i to i8 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit260.i -_ZNK4llvm3LLT13getSizeInBitsEv.exit260.i: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i245.i, %491, %488, %485 - %.sroa.012.0.in.i252.i = phi i64 [ %499, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i245.i ], [ %486, %485 ], [ %493, %491 ], [ %spec.select.i.i259.i, %488 ] - %.sroa.3.0.i253.i = phi i8 [ %500, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i245.i ], [ 0, %485 ], [ 0, %491 ], [ 0, %488 ] +_ZNK4llvm3LLT13getSizeInBitsEv.exit260.i: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i245.i, %482, %479, %476 + %.sroa.012.0.in.i252.i = phi i64 [ %490, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i245.i ], [ %477, %476 ], [ %484, %482 ], [ %spec.select.i.i259.i, %479 ] + %.sroa.3.0.i253.i = phi i8 [ %491, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i245.i ], [ 0, %476 ], [ 0, %482 ], [ 0, %479 ] %.sroa.012.0.i254.i = and i64 %.sroa.012.0.in.i252.i, 4294967295 store i64 %.sroa.012.0.i254.i, ptr %79, align 8 store i8 %.sroa.3.0.i253.i, ptr %.sroa.261.0..sroa_idx.i, align 8 - %501 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %79) #18 - %502 = icmp ult i64 %501, %483 - br i1 %502, label %503, label %.critedge4.i - -503: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit260.i - %504 = and i64 %240, 2 - %.not.i261.i = icmp eq i64 %504, 0 - %505 = lshr i64 %240, 3 - %.sroa.0.0.insert.ext.i.i262.i = and i64 %505, 65535 - %506 = select i1 %.not.i261.i, i64 2251799813685248, i64 576460752303423488 - %507 = and i64 %506, %240 - %.not1.i263.not.i = icmp eq i64 %507, 0 + %492 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %79) #18 + %493 = icmp ult i64 %492, %474 + br i1 %493, label %494, label %.critedge4.i + +494: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit260.i + %495 = and i64 %240, 2 + %.not.i261.i = icmp eq i64 %495, 0 + %496 = lshr i64 %240, 3 + %.sroa.0.0.insert.ext.i.i262.i = and i64 %496, 65535 + %497 = select i1 %.not.i261.i, i64 2251799813685248, i64 576460752303423488 + %498 = and i64 %497, %240 + %.not1.i263.not.i = icmp eq i64 %498, 0 %.not.i266.i = icmp eq i64 %308, 0 - br i1 %.not.i266.i, label %510, label %508 + br i1 %.not.i266.i, label %501, label %499 -508: ; preds = %503 - %509 = lshr i64 %.sroa.0106.0.copyload, 3 +499: ; preds = %494 + %500 = lshr i64 %.sroa.0106.0.copyload, 3 br label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit272.i -510: ; preds = %503 +501: ; preds = %494 %.not1.i269.i = icmp eq i64 %.pre-phi.i, 0 - br i1 %.not1.i269.i, label %514, label %511 + br i1 %.not1.i269.i, label %505, label %502 -511: ; preds = %510 - %512 = lshr i64 %.sroa.0106.0.copyload, 19 - %513 = and i64 %512, 65535 - %spec.select.i271.i = select i1 %.not.i.not.i.i, i64 %512, i64 %513 +502: ; preds = %501 + %503 = lshr i64 %.sroa.0106.0.copyload, 19 + %504 = and i64 %503, 65535 + %spec.select.i271.i = select i1 %.not.i.not.i.i, i64 %503, i64 %504 br label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit272.i -514: ; preds = %510 - %515 = lshr i64 %.sroa.0106.0.copyload, 3 - %516 = and i64 %515, 65535 +505: ; preds = %501 + %506 = lshr i64 %.sroa.0106.0.copyload, 3 + %507 = and i64 %506, 65535 br label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit272.i -_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit272.i: ; preds = %514, %511, %508 - %.0.in.i267.i = phi i64 [ %509, %508 ], [ %516, %514 ], [ %spec.select.i271.i, %511 ] - %517 = and i64 %.0.in.i267.i, 4294967295 - %518 = mul i64 %517, %295 - br i1 %.not1.i263.not.i, label %_ZNK4llvm3LLT9isPointerEv.exit.i.thread.i, label %519 +_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit272.i: ; preds = %505, %502, %499 + %.0.in.i267.i = phi i64 [ %500, %499 ], [ %507, %505 ], [ %spec.select.i271.i, %502 ] + %508 = and i64 %.0.in.i267.i, 4294967295 + %509 = mul i64 %508, %295 + br i1 %.not1.i263.not.i, label %_ZNK4llvm3LLT9isPointerEv.exit.i.thread.i, label %510 -519: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit272.i +510: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit272.i call void @_ZN4llvm24reportInvalidSizeRequestEPKc(ptr noundef nonnull @.str.3) #18 br label %_ZNK4llvm3LLT9isPointerEv.exit.i.thread.i -_ZNK4llvm3LLT9isPointerEv.exit.i.thread.i: ; preds = %519, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit272.i - %520 = phi i64 [ 281474976710656, %519 ], [ 0, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit272.i ] - %521 = udiv i64 %518, %.sroa.0.0.insert.ext.i.i262.i - %522 = shl i64 %521, 16 - %.sroa.012.0.i.i461.i = and i64 %522, 281474976645120 - %523 = or disjoint i64 %520, %.sroa.012.0.i.i461.i - %.sink15.i.i.in.i.i = or disjoint i64 %523, %.sroa.0.0.insert.ext.i.i262.i +_ZNK4llvm3LLT9isPointerEv.exit.i.thread.i: ; preds = %510, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit272.i + %511 = phi i64 [ 281474976710656, %510 ], [ 0, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit272.i ] + %512 = udiv i64 %509, %.sroa.0.0.insert.ext.i.i262.i + %513 = shl i64 %512, 16 + %.sroa.012.0.i.i461.i = and i64 %513, 281474976645120 + %514 = or disjoint i64 %511, %.sroa.012.0.i.i461.i + %.sink15.i.i.in.i.i = or disjoint i64 %514, %.sroa.0.0.insert.ext.i.i262.i %.sink15.i.i.i.i = shl nuw nsw i64 %.sink15.i.i.in.i.i, 3 - %524 = or disjoint i64 %.sink15.i.i.i.i, 4 - store i64 %524, ptr %80, align 8 + %515 = or disjoint i64 %.sink15.i.i.i.i, 4 + store i64 %515, ptr %80, align 8 store i32 0, ptr %133, align 8 store i32 %.sroa.0108.0.copyload, ptr %81, align 8 store i32 0, ptr %134, align 8 - %525 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder11buildAnyExtERKNS_5DstOpERKNS_5SrcOpE(ptr noundef nonnull align 8 dereferenceable(88) %5, ptr noundef nonnull align 8 dereferenceable(12) %80, ptr noundef nonnull align 8 dereferenceable(20) %81) #18 - %526 = extractvalue { ptr, ptr } %525, 0 - %527 = extractvalue { ptr, ptr } %525, 1 - store ptr %526, ptr %82, align 8 - store ptr %527, ptr %.sroa.2374.0..sroa_idx.i, align 8 + %516 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder11buildAnyExtERKNS_5DstOpERKNS_5SrcOpE(ptr noundef nonnull align 8 dereferenceable(88) %5, ptr noundef nonnull align 8 dereferenceable(12) %80, ptr noundef nonnull align 8 dereferenceable(20) %81) #18 + %517 = extractvalue { ptr, ptr } %516, 0 + %518 = extractvalue { ptr, ptr } %516, 1 + store ptr %517, ptr %82, align 8 + store ptr %518, ptr %.sroa.2374.0..sroa_idx.i, align 8 store i32 1, ptr %135, align 8 - %528 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder12buildUnmergeENS_8ArrayRefINS_8RegisterEEERKNS_5SrcOpE(ptr noundef nonnull align 8 dereferenceable(88) %5, ptr %294, i64 %295, ptr noundef nonnull align 8 dereferenceable(20) %82) #18 + %519 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder12buildUnmergeENS_8ArrayRefINS_8RegisterEEERKNS_5SrcOpE(ptr noundef nonnull align 8 dereferenceable(88) %5, ptr %294, i64 %295, ptr noundef nonnull align 8 dereferenceable(20) %82) #18 br label %_ZL15buildCopyToRegsRN4llvm16MachineIRBuilderENS_8ArrayRefINS_8RegisterEEES3_NS_3LLTES5_j.exit -.critedge4.i: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit260.i, %474, %.critedge2.thread.i +.critedge4.i: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit260.i, %465, %.critedge2.thread.i %.sroa.047.0.copyload.i = load i32, ptr %294, align 4 - %529 = icmp slt i32 %.sroa.047.0.copyload.i, 0 - br i1 %529, label %530, label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i - -530: ; preds = %.critedge4.i - %531 = load ptr, ptr %136, align 8 - %532 = getelementptr inbounds nuw i8, ptr %531, i64 456 - %533 = and i32 %.sroa.047.0.copyload.i, 2147483647 - %534 = zext nneg i32 %533 to i64 - %535 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(25) %532) #18 - %536 = icmp ugt i64 %535, %534 - br i1 %536, label %537, label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i - -537: ; preds = %530 - %538 = load ptr, ptr %532, align 8 - %539 = getelementptr inbounds nuw %"class.llvm::LLT", ptr %538, i64 %534 - %540 = load i64, ptr %539, align 8 + %520 = icmp slt i32 %.sroa.047.0.copyload.i, 0 + br i1 %520, label %521, label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i + +521: ; preds = %.critedge4.i + %522 = load ptr, ptr %136, align 8 + %523 = getelementptr inbounds nuw i8, ptr %522, i64 456 + %524 = and i32 %.sroa.047.0.copyload.i, 2147483647 + %525 = zext nneg i32 %524 to i64 + %526 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(25) %523) #18 + %527 = icmp ugt i64 %526, %525 + br i1 %527, label %528, label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i + +528: ; preds = %521 + %529 = load ptr, ptr %523, align 8 + %530 = getelementptr inbounds nuw %"class.llvm::LLT", ptr %529, i64 %525 + %531 = load i64, ptr %530, align 8 br label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i -_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i: ; preds = %537, %530, %.critedge4.i - %.sroa.04.0.i.i = phi i64 [ %540, %537 ], [ 0, %530 ], [ 0, %.critedge4.i ] - %541 = call i64 @_ZN4llvm10getCoverTyENS_3LLTES0_(i64 %240, i64 %.sroa.0106.0.copyload) #20 - %spec.select.i280.i = icmp eq i64 %541, %.sroa.0106.0.copyload +_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i: ; preds = %528, %521, %.critedge4.i + %.sroa.04.0.i.i = phi i64 [ %531, %528 ], [ 0, %521 ], [ 0, %.critedge4.i ] + %532 = call i64 @_ZN4llvm10getCoverTyENS_3LLTES0_(i64 %240, i64 %.sroa.0106.0.copyload) #20 + %spec.select.i280.i = icmp eq i64 %532, %.sroa.0106.0.copyload %or.cond472.i = select i1 %329, i1 %spec.select.i280.i, i1 false - br i1 %or.cond472.i, label %542, label %544 + br i1 %or.cond472.i, label %533, label %535 -542: ; preds = %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i +533: ; preds = %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i %.sroa.044.0.copyload.i = load i32, ptr %294, align 4 store i32 %.sroa.044.0.copyload.i, ptr %83, align 8 store i32 1, ptr %145, align 8 store i32 %.sroa.0108.0.copyload, ptr %84, align 8 store i32 0, ptr %146, align 8 - %543 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder31buildPadVectorWithUndefElementsERKNS_5DstOpERKNS_5SrcOpE(ptr noundef nonnull align 8 dereferenceable(88) %5, ptr noundef nonnull align 8 dereferenceable(12) %83, ptr noundef nonnull align 8 dereferenceable(20) %84) #18 + %534 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder31buildPadVectorWithUndefElementsERKNS_5DstOpERKNS_5SrcOpE(ptr noundef nonnull align 8 dereferenceable(88) %5, ptr noundef nonnull align 8 dereferenceable(12) %83, ptr noundef nonnull align 8 dereferenceable(20) %84) #18 br label %_ZL15buildCopyToRegsRN4llvm16MachineIRBuilderENS_8ArrayRefINS_8RegisterEEES3_NS_3LLTES5_j.exit -544: ; preds = %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i - %545 = and i64 %.sroa.04.0.i.i, -7 - %spec.select.i.i.i281.i = icmp ne i64 %545, 0 - %546 = and i64 %.sroa.04.0.i.i, 2 - %.not.i.not.i282.i = icmp eq i64 %546, 0 - %547 = and i64 %.sroa.04.0.i.i, 6 - %548 = icmp eq i64 %547, 2 - %or.cond.i283.i = and i1 %spec.select.i.i.i281.i, %548 - %549 = and i64 %.sroa.04.0.i.i, 1 - %550 = icmp ne i64 %549, 0 - %or.cond14.i284.i = or i1 %550, %or.cond.i283.i - br i1 %or.cond14.i284.i, label %551, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i285.i - -551: ; preds = %544 - %.not.i1.i297.i = icmp eq i64 %549, 0 - br i1 %.not.i1.i297.i, label %554, label %552 - -552: ; preds = %551 - %553 = lshr i64 %.sroa.04.0.i.i, 3 +535: ; preds = %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i + %536 = and i64 %.sroa.04.0.i.i, -7 + %spec.select.i.i.i281.i = icmp ne i64 %536, 0 + %537 = and i64 %.sroa.04.0.i.i, 2 + %.not.i.not.i282.i = icmp eq i64 %537, 0 + %538 = and i64 %.sroa.04.0.i.i, 6 + %539 = icmp eq i64 %538, 2 + %or.cond.i283.i = and i1 %spec.select.i.i.i281.i, %539 + %540 = and i64 %.sroa.04.0.i.i, 1 + %541 = icmp ne i64 %540, 0 + %or.cond14.i284.i = or i1 %541, %or.cond.i283.i + br i1 %or.cond14.i284.i, label %542, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i285.i + +542: ; preds = %535 + %.not.i1.i297.i = icmp eq i64 %540, 0 + br i1 %.not.i1.i297.i, label %545, label %543 + +543: ; preds = %542 + %544 = lshr i64 %.sroa.04.0.i.i, 3 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit300.i -554: ; preds = %551 - %555 = and i64 %.sroa.04.0.i.i, 4 - %.not1.i2.i298.i = icmp eq i64 %555, 0 - br i1 %.not1.i2.i298.i, label %559, label %556 +545: ; preds = %542 + %546 = and i64 %.sroa.04.0.i.i, 4 + %.not1.i2.i298.i = icmp eq i64 %546, 0 + br i1 %.not1.i2.i298.i, label %550, label %547 -556: ; preds = %554 - %557 = lshr i64 %.sroa.04.0.i.i, 19 - %558 = and i64 %557, 65535 - %spec.select.i.i299.i = select i1 %.not.i.not.i282.i, i64 %557, i64 %558 +547: ; preds = %545 + %548 = lshr i64 %.sroa.04.0.i.i, 19 + %549 = and i64 %548, 65535 + %spec.select.i.i299.i = select i1 %.not.i.not.i282.i, i64 %548, i64 %549 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit300.i -559: ; preds = %554 - %560 = lshr i64 %.sroa.04.0.i.i, 3 - %561 = and i64 %560, 65535 +550: ; preds = %545 + %551 = lshr i64 %.sroa.04.0.i.i, 3 + %552 = and i64 %551, 65535 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit300.i -_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i285.i: ; preds = %544 - %562 = lshr i64 %.sroa.04.0.i.i, 3 - %.sroa.0.0.insert.ext.i.i.i286.i = and i64 %562, 65535 - %563 = select i1 %.not.i.not.i282.i, i64 2251799813685248, i64 576460752303423488 - %564 = and i64 %563, %.sroa.04.0.i.i - %.not1.i4.i287.i = icmp ne i64 %564, 0 - %565 = and i64 %.sroa.04.0.i.i, 4 - %.not1.i8.i288.i = icmp eq i64 %565, 0 - %566 = lshr i64 %.sroa.04.0.i.i, 19 - %567 = and i64 %566, 65535 - %spec.select.i10.i289.i = select i1 %.not.i.not.i282.i, i64 %566, i64 %567 +_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i285.i: ; preds = %535 + %553 = lshr i64 %.sroa.04.0.i.i, 3 + %.sroa.0.0.insert.ext.i.i.i286.i = and i64 %553, 65535 + %554 = select i1 %.not.i.not.i282.i, i64 2251799813685248, i64 576460752303423488 + %555 = and i64 %554, %.sroa.04.0.i.i + %.not1.i4.i287.i = icmp ne i64 %555, 0 + %556 = and i64 %.sroa.04.0.i.i, 4 + %.not1.i8.i288.i = icmp eq i64 %556, 0 + %557 = lshr i64 %.sroa.04.0.i.i, 19 + %558 = and i64 %557, 65535 + %spec.select.i10.i289.i = select i1 %.not.i.not.i282.i, i64 %557, i64 %558 %.0.in.i6.i290.i = select i1 %.not1.i8.i288.i, i64 %.sroa.0.0.insert.ext.i.i.i286.i, i64 %spec.select.i10.i289.i - %568 = mul nuw nsw i64 %.0.in.i6.i290.i, %.sroa.0.0.insert.ext.i.i.i286.i - %569 = zext i1 %.not1.i4.i287.i to i8 + %559 = mul nuw nsw i64 %.0.in.i6.i290.i, %.sroa.0.0.insert.ext.i.i.i286.i + %560 = zext i1 %.not1.i4.i287.i to i8 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit300.i -_ZNK4llvm3LLT13getSizeInBitsEv.exit300.i: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i285.i, %559, %556, %552 - %.sroa.012.0.in.i292.i = phi i64 [ %568, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i285.i ], [ %553, %552 ], [ %561, %559 ], [ %spec.select.i.i299.i, %556 ] - %.sroa.3.0.i293.i = phi i8 [ %569, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i285.i ], [ 0, %552 ], [ 0, %559 ], [ 0, %556 ] +_ZNK4llvm3LLT13getSizeInBitsEv.exit300.i: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i285.i, %550, %547, %543 + %.sroa.012.0.in.i292.i = phi i64 [ %559, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i285.i ], [ %544, %543 ], [ %552, %550 ], [ %spec.select.i.i299.i, %547 ] + %.sroa.3.0.i293.i = phi i8 [ %560, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i285.i ], [ 0, %543 ], [ 0, %550 ], [ 0, %547 ] %.sroa.012.0.i294.i = and i64 %.sroa.012.0.in.i292.i, 4294967295 store i64 %.sroa.012.0.i294.i, ptr %85, align 8 store i8 %.sroa.3.0.i293.i, ptr %.sroa.239.0..sroa_idx.i, align 8 - %570 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %85) #18 - %571 = trunc i64 %570 to i32 - %572 = and i64 %240, 2 - %.not.i.not.i302.i = icmp eq i64 %572, 0 - %573 = and i64 %240, 6 - %574 = icmp eq i64 %573, 2 - %or.cond.i303.i = and i1 %spec.select.i.i131.i, %574 - %575 = and i64 %240, 1 - %576 = icmp ne i64 %575, 0 - %or.cond14.i304.i = or i1 %576, %or.cond.i303.i - br i1 %or.cond14.i304.i, label %577, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i305.i - -577: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit300.i - %.not.i1.i317.i = icmp eq i64 %575, 0 - br i1 %.not.i1.i317.i, label %580, label %578 - -578: ; preds = %577 - %579 = lshr i64 %240, 3 + %561 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %85) #18 + %562 = trunc i64 %561 to i32 + %563 = and i64 %240, 2 + %.not.i.not.i302.i = icmp eq i64 %563, 0 + %564 = and i64 %240, 6 + %565 = icmp eq i64 %564, 2 + %or.cond.i303.i = and i1 %spec.select.i.i131.i, %565 + %566 = and i64 %240, 1 + %567 = icmp ne i64 %566, 0 + %or.cond14.i304.i = or i1 %567, %or.cond.i303.i + br i1 %or.cond14.i304.i, label %568, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i305.i + +568: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit300.i + %.not.i1.i317.i = icmp eq i64 %566, 0 + br i1 %.not.i1.i317.i, label %571, label %569 + +569: ; preds = %568 + %570 = lshr i64 %240, 3 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit320.i -580: ; preds = %577 +571: ; preds = %568 %.not1.i2.i318.i = icmp eq i64 %331, 0 - br i1 %.not1.i2.i318.i, label %584, label %581 + br i1 %.not1.i2.i318.i, label %575, label %572 -581: ; preds = %580 - %582 = lshr i64 %240, 19 - %583 = and i64 %582, 65535 - %spec.select.i.i319.i = select i1 %.not.i.not.i302.i, i64 %582, i64 %583 +572: ; preds = %571 + %573 = lshr i64 %240, 19 + %574 = and i64 %573, 65535 + %spec.select.i.i319.i = select i1 %.not.i.not.i302.i, i64 %573, i64 %574 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit320.i -584: ; preds = %580 - %585 = lshr i64 %240, 3 - %586 = and i64 %585, 65535 +575: ; preds = %571 + %576 = lshr i64 %240, 3 + %577 = and i64 %576, 65535 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit320.i _ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i305.i: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit300.i - %587 = lshr i64 %240, 3 - %.sroa.0.0.insert.ext.i.i.i306.i = and i64 %587, 65535 - %588 = select i1 %.not.i.not.i302.i, i64 2251799813685248, i64 576460752303423488 - %589 = and i64 %588, %240 - %.not1.i4.i307.i = icmp ne i64 %589, 0 + %578 = lshr i64 %240, 3 + %.sroa.0.0.insert.ext.i.i.i306.i = and i64 %578, 65535 + %579 = select i1 %.not.i.not.i302.i, i64 2251799813685248, i64 576460752303423488 + %580 = and i64 %579, %240 + %.not1.i4.i307.i = icmp ne i64 %580, 0 %.not1.i8.i308.i = icmp eq i64 %331, 0 - %590 = lshr i64 %240, 19 - %591 = and i64 %590, 65535 - %spec.select.i10.i309.i = select i1 %.not.i.not.i302.i, i64 %590, i64 %591 + %581 = lshr i64 %240, 19 + %582 = and i64 %581, 65535 + %spec.select.i10.i309.i = select i1 %.not.i.not.i302.i, i64 %581, i64 %582 %.0.in.i6.i310.i = select i1 %.not1.i8.i308.i, i64 %.sroa.0.0.insert.ext.i.i.i306.i, i64 %spec.select.i10.i309.i - %592 = mul nuw nsw i64 %.0.in.i6.i310.i, %.sroa.0.0.insert.ext.i.i.i306.i - %593 = zext i1 %.not1.i4.i307.i to i8 + %583 = mul nuw nsw i64 %.0.in.i6.i310.i, %.sroa.0.0.insert.ext.i.i.i306.i + %584 = zext i1 %.not1.i4.i307.i to i8 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit320.i -_ZNK4llvm3LLT13getSizeInBitsEv.exit320.i: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i305.i, %584, %581, %578 - %.sroa.012.0.in.i312.i = phi i64 [ %592, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i305.i ], [ %579, %578 ], [ %586, %584 ], [ %spec.select.i.i319.i, %581 ] - %.sroa.3.0.i313.i = phi i8 [ %593, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i305.i ], [ 0, %578 ], [ 0, %584 ], [ 0, %581 ] +_ZNK4llvm3LLT13getSizeInBitsEv.exit320.i: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i305.i, %575, %572, %569 + %.sroa.012.0.in.i312.i = phi i64 [ %583, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i305.i ], [ %570, %569 ], [ %577, %575 ], [ %spec.select.i.i319.i, %572 ] + %.sroa.3.0.i313.i = phi i8 [ %584, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i305.i ], [ 0, %569 ], [ 0, %575 ], [ 0, %572 ] %.sroa.012.0.i314.i = and i64 %.sroa.012.0.in.i312.i, 4294967295 store i64 %.sroa.012.0.i314.i, ptr %86, align 8 store i8 %.sroa.3.0.i313.i, ptr %.sroa.230.0..sroa_idx.i, align 8 - %594 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %86) #18 - %595 = trunc i64 %594 to i32 - %596 = and i64 %541, -7 - %spec.select.i.i.i321.i = icmp ne i64 %596, 0 - %597 = and i64 %541, 2 - %.not.i.not.i322.i = icmp eq i64 %597, 0 - %598 = and i64 %541, 6 - %599 = icmp eq i64 %598, 2 - %or.cond.i323.i = and i1 %spec.select.i.i.i321.i, %599 - %600 = and i64 %541, 1 - %601 = icmp ne i64 %600, 0 - %or.cond14.i324.i = or i1 %601, %or.cond.i323.i - br i1 %or.cond14.i324.i, label %602, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i325.i - -602: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit320.i - %.not.i1.i337.i = icmp eq i64 %600, 0 - br i1 %.not.i1.i337.i, label %605, label %603 - -603: ; preds = %602 - %604 = lshr i64 %541, 3 - %.pre484.i = and i64 %541, 4 + %585 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %86) #18 + %586 = trunc i64 %585 to i32 + %587 = and i64 %532, -7 + %spec.select.i.i.i321.i = icmp ne i64 %587, 0 + %588 = and i64 %532, 2 + %.not.i.not.i322.i = icmp eq i64 %588, 0 + %589 = and i64 %532, 6 + %590 = icmp eq i64 %589, 2 + %or.cond.i323.i = and i1 %spec.select.i.i.i321.i, %590 + %591 = and i64 %532, 1 + %592 = icmp ne i64 %591, 0 + %or.cond14.i324.i = or i1 %592, %or.cond.i323.i + br i1 %or.cond14.i324.i, label %593, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i325.i + +593: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit320.i + %.not.i1.i337.i = icmp eq i64 %591, 0 + br i1 %.not.i1.i337.i, label %596, label %594 + +594: ; preds = %593 + %595 = lshr i64 %532, 3 + %.pre485.i = and i64 %532, 4 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit340.i -605: ; preds = %602 - %606 = and i64 %541, 4 - %.not1.i2.i338.i = icmp eq i64 %606, 0 - br i1 %.not1.i2.i338.i, label %610, label %607 +596: ; preds = %593 + %597 = and i64 %532, 4 + %.not1.i2.i338.i = icmp eq i64 %597, 0 + br i1 %.not1.i2.i338.i, label %601, label %598 -607: ; preds = %605 - %608 = lshr i64 %541, 19 - %609 = and i64 %608, 65535 - %spec.select.i.i339.i = select i1 %.not.i.not.i322.i, i64 %608, i64 %609 +598: ; preds = %596 + %599 = lshr i64 %532, 19 + %600 = and i64 %599, 65535 + %spec.select.i.i339.i = select i1 %.not.i.not.i322.i, i64 %599, i64 %600 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit340.i -610: ; preds = %605 - %611 = lshr i64 %541, 3 - %612 = and i64 %611, 65535 +601: ; preds = %596 + %602 = lshr i64 %532, 3 + %603 = and i64 %602, 65535 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit340.i _ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i325.i: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit320.i - %613 = lshr i64 %541, 3 - %.sroa.0.0.insert.ext.i.i.i326.i = and i64 %613, 65535 - %614 = select i1 %.not.i.not.i322.i, i64 2251799813685248, i64 576460752303423488 - %615 = and i64 %614, %541 - %.not1.i4.i327.i = icmp ne i64 %615, 0 - %616 = and i64 %541, 4 - %.not1.i8.i328.i = icmp eq i64 %616, 0 - %617 = lshr i64 %541, 19 - %618 = and i64 %617, 65535 - %spec.select.i10.i329.i = select i1 %.not.i.not.i322.i, i64 %617, i64 %618 + %604 = lshr i64 %532, 3 + %.sroa.0.0.insert.ext.i.i.i326.i = and i64 %604, 65535 + %605 = select i1 %.not.i.not.i322.i, i64 2251799813685248, i64 576460752303423488 + %606 = and i64 %605, %532 + %.not1.i4.i327.i = icmp ne i64 %606, 0 + %607 = and i64 %532, 4 + %.not1.i8.i328.i = icmp eq i64 %607, 0 + %608 = lshr i64 %532, 19 + %609 = and i64 %608, 65535 + %spec.select.i10.i329.i = select i1 %.not.i.not.i322.i, i64 %608, i64 %609 %.0.in.i6.i330.i = select i1 %.not1.i8.i328.i, i64 %.sroa.0.0.insert.ext.i.i.i326.i, i64 %spec.select.i10.i329.i - %619 = mul nuw nsw i64 %.0.in.i6.i330.i, %.sroa.0.0.insert.ext.i.i.i326.i - %620 = zext i1 %.not1.i4.i327.i to i8 + %610 = mul nuw nsw i64 %.0.in.i6.i330.i, %.sroa.0.0.insert.ext.i.i.i326.i + %611 = zext i1 %.not1.i4.i327.i to i8 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit340.i -_ZNK4llvm3LLT13getSizeInBitsEv.exit340.i: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i325.i, %610, %607, %603 - %.pre-phi485.i = phi i64 [ %.pre484.i, %603 ], [ 1, %607 ], [ 0, %610 ], [ %616, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i325.i ] - %.sroa.012.0.in.i332.i = phi i64 [ %604, %603 ], [ %spec.select.i.i339.i, %607 ], [ %612, %610 ], [ %619, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i325.i ] - %.sroa.3.0.i333.i = phi i8 [ 0, %603 ], [ 0, %607 ], [ 0, %610 ], [ %620, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i325.i ] +_ZNK4llvm3LLT13getSizeInBitsEv.exit340.i: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i325.i, %601, %598, %594 + %.pre-phi486.i = phi i64 [ %.pre485.i, %594 ], [ 1, %598 ], [ 0, %601 ], [ %607, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i325.i ] + %.sroa.012.0.in.i332.i = phi i64 [ %595, %594 ], [ %spec.select.i.i339.i, %598 ], [ %603, %601 ], [ %610, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i325.i ] + %.sroa.3.0.i333.i = phi i8 [ 0, %594 ], [ 0, %598 ], [ 0, %601 ], [ %611, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i325.i ] %.sroa.012.0.i334.i = and i64 %.sroa.012.0.in.i332.i, 4294967295 store i64 %.sroa.012.0.i334.i, ptr %87, align 8 store i8 %.sroa.3.0.i333.i, ptr %.sroa.222.0..sroa_idx.i, align 8 - %621 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %87) #18 - %622 = trunc i64 %621 to i32 - %623 = icmp ne i64 %.pre-phi485.i, 0 - %624 = and i1 %spec.select.i.i.i321.i, %623 - %.not125.i = icmp eq i32 %622, %595 - %or.cond.i = or i1 %624, %.not125.i - br i1 %or.cond.i, label %_ZN4llvm11SmallVectorINS_8RegisterELj8EED2Ev.exit.i, label %625 - -625: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit340.i - %626 = and i64 %.sroa.04.0.i.i, %575 - %brmerge475.demorgan.not.i = icmp eq i64 %626, 0 - br i1 %brmerge475.demorgan.not.i, label %.lr.ph482.preheader.i, label %627 - -627: ; preds = %625 - %628 = icmp ne i32 %595, 0 - %629 = zext i1 %628 to i32 - %630 = sub i32 %595, %629 - %631 = udiv i32 %630, %571 - %632 = add i32 %631, %629 - %633 = mul i32 %632, %571 - %634 = zext i32 %633 to i64 - %635 = shl nuw nsw i64 %634, 3 - %636 = or disjoint i64 %635, 1 - store i64 %636, ptr %88, align 8 + %612 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %87) #18 + %613 = trunc i64 %612 to i32 + %614 = icmp ne i64 %.pre-phi486.i, 0 + %615 = and i1 %spec.select.i.i.i321.i, %614 + %.not125.i = icmp eq i32 %613, %586 + %or.cond.i = or i1 %615, %.not125.i + br i1 %or.cond.i, label %_ZN4llvm11SmallVectorINS_8RegisterELj8EED2Ev.exit.i, label %616 + +616: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit340.i + %617 = and i64 %.sroa.04.0.i.i, %566 + %brmerge475.demorgan.not.i = icmp eq i64 %617, 0 + br i1 %brmerge475.demorgan.not.i, label %.lr.ph483.preheader.i, label %618 + +618: ; preds = %616 + %619 = icmp ne i32 %586, 0 + %620 = zext i1 %619 to i32 + %621 = sub i32 %586, %620 + %622 = udiv i32 %621, %562 + %623 = add i32 %622, %620 + %624 = mul i32 %623, %562 + %625 = zext i32 %624 to i64 + %626 = shl nuw nsw i64 %625, 3 + %627 = or disjoint i64 %626, 1 + store i64 %627, ptr %88, align 8 store i32 0, ptr %137, align 8 store i32 %.sroa.0108.0.copyload, ptr %89, align 8 store i32 0, ptr %138, align 8 - %637 = load ptr, ptr %5, align 8 - %638 = getelementptr inbounds nuw i8, ptr %637, i64 32 - %639 = load ptr, ptr %638, align 8 - %640 = call { ptr, ptr } %639(ptr noundef nonnull align 8 dereferenceable(88) %5, i32 noundef range(i32 126, 135) %.0.i, ptr nonnull %88, i64 1, ptr nonnull %89, i64 1, i64 0) #18 - %641 = extractvalue { ptr, ptr } %640, 1 - %642 = getelementptr inbounds nuw i8, ptr %641, i64 32 - %643 = load ptr, ptr %642, align 8 - %644 = getelementptr inbounds nuw i8, ptr %643, i64 4 - %645 = load i32, ptr %644, align 4 + %628 = load ptr, ptr %5, align 8 + %629 = getelementptr inbounds nuw i8, ptr %628, i64 32 + %630 = load ptr, ptr %629, align 8 + %631 = call { ptr, ptr } %630(ptr noundef nonnull align 8 dereferenceable(88) %5, i32 noundef range(i32 126, 135) %.0.i, ptr nonnull %88, i64 1, ptr nonnull %89, i64 1, i64 0) #18 + %632 = extractvalue { ptr, ptr } %631, 1 + %633 = getelementptr inbounds nuw i8, ptr %632, i64 32 + %634 = load ptr, ptr %633, align 8 + %635 = getelementptr inbounds nuw i8, ptr %634, i64 4 + %636 = load i32, ptr %635, align 4 br label %_ZN4llvm11SmallVectorINS_8RegisterELj8EED2Ev.exit.i -.lr.ph482.preheader.i: ; preds = %625 +.lr.ph483.preheader.i: ; preds = %616 store i64 %240, ptr %90, align 8 store i32 0, ptr %139, align 8 - %646 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder10buildUndefERKNS_5DstOpE(ptr noundef nonnull align 8 dereferenceable(88) %5, ptr noundef nonnull align 8 dereferenceable(12) %90) #18 - %647 = extractvalue { ptr, ptr } %646, 1 - %648 = getelementptr inbounds nuw i8, ptr %647, i64 32 - %649 = load ptr, ptr %648, align 8 - %650 = getelementptr inbounds nuw i8, ptr %649, i64 4 - %651 = load i32, ptr %650, align 4 + %637 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder10buildUndefERKNS_5DstOpE(ptr noundef nonnull align 8 dereferenceable(88) %5, ptr noundef nonnull align 8 dereferenceable(12) %90) #18 + %638 = extractvalue { ptr, ptr } %637, 1 + %639 = getelementptr inbounds nuw i8, ptr %638, i64 32 + %640 = load ptr, ptr %639, align 8 + %641 = getelementptr inbounds nuw i8, ptr %640, i64 4 + %642 = load i32, ptr %641, align 4 call void @_ZN4llvm15SmallVectorBaseIjEC2EPvm(ptr noundef nonnull align 8 dereferenceable(48) %91, ptr noundef nonnull %140, i64 noundef 8) #18 call void @_ZN4llvm15SmallVectorImplINS_8RegisterEE6assignEmS1_(ptr noundef nonnull align 8 dereferenceable(48) %91, i64 noundef 1, i32 %.sroa.0108.0.copyload) - br label %.lr.ph482.i - -.lr.ph482.i: ; preds = %_ZN4llvm23SmallVectorTemplateBaseINS_8RegisterELb1EE9push_backES1_.exit.i, %.lr.ph482.preheader.i - %.0122481.i = phi i32 [ %661, %_ZN4llvm23SmallVectorTemplateBaseINS_8RegisterELb1EE9push_backES1_.exit.i ], [ %595, %.lr.ph482.preheader.i ] - %652 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(16) %91) #18 - %653 = add i64 %652, 1 - %654 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE8capacityEv(ptr noundef nonnull align 8 dereferenceable(16) %91) #18 - %.not.i.i.i.i = icmp ugt i64 %653, %654 - br i1 %.not.i.i.i.i, label %655, label %_ZN4llvm23SmallVectorTemplateBaseINS_8RegisterELb1EE9push_backES1_.exit.i - -655: ; preds = %.lr.ph482.i - call void @_ZN4llvm15SmallVectorBaseIjE8grow_podEPvmm(ptr noundef nonnull align 8 dereferenceable(16) %91, ptr noundef nonnull %140, i64 noundef %653, i64 noundef 4) #18 + br label %.lr.ph483.i + +.lr.ph483.i: ; preds = %_ZN4llvm23SmallVectorTemplateBaseINS_8RegisterELb1EE9push_backES1_.exit.i, %.lr.ph483.preheader.i + %.0122482.i = phi i32 [ %652, %_ZN4llvm23SmallVectorTemplateBaseINS_8RegisterELb1EE9push_backES1_.exit.i ], [ %586, %.lr.ph483.preheader.i ] + %643 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(16) %91) #18 + %644 = add i64 %643, 1 + %645 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE8capacityEv(ptr noundef nonnull align 8 dereferenceable(16) %91) #18 + %.not.i.i.i.i = icmp ugt i64 %644, %645 + br i1 %.not.i.i.i.i, label %646, label %_ZN4llvm23SmallVectorTemplateBaseINS_8RegisterELb1EE9push_backES1_.exit.i + +646: ; preds = %.lr.ph483.i + call void @_ZN4llvm15SmallVectorBaseIjE8grow_podEPvmm(ptr noundef nonnull align 8 dereferenceable(16) %91, ptr noundef nonnull %140, i64 noundef %644, i64 noundef 4) #18 br label %_ZN4llvm23SmallVectorTemplateBaseINS_8RegisterELb1EE9push_backES1_.exit.i -_ZN4llvm23SmallVectorTemplateBaseINS_8RegisterELb1EE9push_backES1_.exit.i: ; preds = %655, %.lr.ph482.i - %656 = load ptr, ptr %91, align 8 - %657 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(16) %91) #18 - %658 = getelementptr inbounds %"class.llvm::Register", ptr %656, i64 %657 - store i32 %651, ptr %658, align 1 - %659 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(16) %91) #18 - %660 = add i64 %659, 1 - call void @_ZN4llvm15SmallVectorBaseIjE8set_sizeEm(ptr noundef nonnull align 8 dereferenceable(16) %91, i64 noundef %660) #18 - %661 = add i32 %.0122481.i, %595 - %.not126.i = icmp eq i32 %661, %622 - br i1 %.not126.i, label %._crit_edge.i, label %.lr.ph482.i, !llvm.loop !37 +_ZN4llvm23SmallVectorTemplateBaseINS_8RegisterELb1EE9push_backES1_.exit.i: ; preds = %646, %.lr.ph483.i + %647 = load ptr, ptr %91, align 8 + %648 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(16) %91) #18 + %649 = getelementptr inbounds %"class.llvm::Register", ptr %647, i64 %648 + store i32 %642, ptr %649, align 1 + %650 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(16) %91) #18 + %651 = add i64 %650, 1 + call void @_ZN4llvm15SmallVectorBaseIjE8set_sizeEm(ptr noundef nonnull align 8 dereferenceable(16) %91, i64 noundef %651) #18 + %652 = add i32 %.0122482.i, %586 + %.not126.i = icmp eq i32 %652, %613 + br i1 %.not126.i, label %._crit_edge.i, label %.lr.ph483.i, !llvm.loop !37 ._crit_edge.i: ; preds = %_ZN4llvm23SmallVectorTemplateBaseINS_8RegisterELb1EE9push_backES1_.exit.i - store i64 %541, ptr %92, align 8 + store i64 %532, ptr %92, align 8 store i32 0, ptr %141, align 8 + %653 = load ptr, ptr %91, align 8 + %654 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(16) %91) #18 + %655 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder19buildMergeLikeInstrERKNS_5DstOpENS_8ArrayRefINS_8RegisterEEE(ptr noundef nonnull align 8 dereferenceable(88) %5, ptr noundef nonnull align 8 dereferenceable(12) %92, ptr %653, i64 %654) #18 + %656 = extractvalue { ptr, ptr } %655, 1 + %657 = getelementptr inbounds nuw i8, ptr %656, i64 32 + %658 = load ptr, ptr %657, align 8 + %659 = getelementptr inbounds nuw i8, ptr %658, i64 4 + %660 = load i32, ptr %659, align 4 + %661 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(48) %91) #18 %662 = load ptr, ptr %91, align 8 - %663 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(16) %91) #18 - %664 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder19buildMergeLikeInstrERKNS_5DstOpENS_8ArrayRefINS_8RegisterEEE(ptr noundef nonnull align 8 dereferenceable(88) %5, ptr noundef nonnull align 8 dereferenceable(12) %92, ptr %662, i64 %663) #18 - %665 = extractvalue { ptr, ptr } %664, 1 - %666 = getelementptr inbounds nuw i8, ptr %665, i64 32 - %667 = load ptr, ptr %666, align 8 - %668 = getelementptr inbounds nuw i8, ptr %667, i64 4 - %669 = load i32, ptr %668, align 4 - %670 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(48) %91) #18 - %671 = load ptr, ptr %91, align 8 - %672 = icmp eq ptr %671, %140 - br i1 %672, label %_ZN4llvm11SmallVectorINS_8RegisterELj8EED2Ev.exit.i, label %673 - -673: ; preds = %._crit_edge.i - call void @free(ptr noundef %671) #18 + %663 = icmp eq ptr %662, %140 + br i1 %663, label %_ZN4llvm11SmallVectorINS_8RegisterELj8EED2Ev.exit.i, label %664 + +664: ; preds = %._crit_edge.i + call void @free(ptr noundef %662) #18 br label %_ZN4llvm11SmallVectorINS_8RegisterELj8EED2Ev.exit.i -_ZN4llvm11SmallVectorINS_8RegisterELj8EED2Ev.exit.i: ; preds = %673, %._crit_edge.i, %627, %_ZNK4llvm3LLT13getSizeInBitsEv.exit340.i - %.sroa.020.0.i = phi i32 [ %.sroa.0108.0.copyload, %_ZNK4llvm3LLT13getSizeInBitsEv.exit340.i ], [ %645, %627 ], [ %669, %._crit_edge.i ], [ %669, %673 ] - %.0121.i = phi i32 [ %622, %_ZNK4llvm3LLT13getSizeInBitsEv.exit340.i ], [ %633, %627 ], [ %622, %._crit_edge.i ], [ %622, %673 ] - %.not127.i = icmp ne i32 %.0121.i, %595 - %or.cond129.not.i = and i1 %624, %.not127.i - br i1 %or.cond129.not.i, label %674, label %681 +_ZN4llvm11SmallVectorINS_8RegisterELj8EED2Ev.exit.i: ; preds = %664, %._crit_edge.i, %618, %_ZNK4llvm3LLT13getSizeInBitsEv.exit340.i + %.sroa.020.0.i = phi i32 [ %.sroa.0108.0.copyload, %_ZNK4llvm3LLT13getSizeInBitsEv.exit340.i ], [ %636, %618 ], [ %660, %._crit_edge.i ], [ %660, %664 ] + %.0121.i = phi i32 [ %613, %_ZNK4llvm3LLT13getSizeInBitsEv.exit340.i ], [ %624, %618 ], [ %613, %._crit_edge.i ], [ %613, %664 ] + %.not127.i = icmp ne i32 %.0121.i, %586 + %or.cond129.not.i = and i1 %615, %.not127.i + br i1 %or.cond129.not.i, label %665, label %672 -674: ; preds = %_ZN4llvm11SmallVectorINS_8RegisterELj8EED2Ev.exit.i - store i64 %541, ptr %93, align 8 +665: ; preds = %_ZN4llvm11SmallVectorINS_8RegisterELj8EED2Ev.exit.i + store i64 %532, ptr %93, align 8 store i32 0, ptr %142, align 8 store i32 %.sroa.0108.0.copyload, ptr %94, align 8 store i32 0, ptr %143, align 8 - %675 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder31buildPadVectorWithUndefElementsERKNS_5DstOpERKNS_5SrcOpE(ptr noundef nonnull align 8 dereferenceable(88) %5, ptr noundef nonnull align 8 dereferenceable(12) %93, ptr noundef nonnull align 8 dereferenceable(20) %94) #18 - %676 = extractvalue { ptr, ptr } %675, 1 - %677 = getelementptr inbounds nuw i8, ptr %676, i64 32 - %678 = load ptr, ptr %677, align 8 - %679 = getelementptr inbounds nuw i8, ptr %678, i64 4 - %680 = load i32, ptr %679, align 4 - br label %681 - -681: ; preds = %674, %_ZN4llvm11SmallVectorINS_8RegisterELj8EED2Ev.exit.i - %.sroa.020.1.i = phi i32 [ %680, %674 ], [ %.sroa.020.0.i, %_ZN4llvm11SmallVectorINS_8RegisterELj8EED2Ev.exit.i ] + %666 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder31buildPadVectorWithUndefElementsERKNS_5DstOpERKNS_5SrcOpE(ptr noundef nonnull align 8 dereferenceable(88) %5, ptr noundef nonnull align 8 dereferenceable(12) %93, ptr noundef nonnull align 8 dereferenceable(20) %94) #18 + %667 = extractvalue { ptr, ptr } %666, 1 + %668 = getelementptr inbounds nuw i8, ptr %667, i64 32 + %669 = load ptr, ptr %668, align 8 + %670 = getelementptr inbounds nuw i8, ptr %669, i64 4 + %671 = load i32, ptr %670, align 4 + br label %672 + +672: ; preds = %665, %_ZN4llvm11SmallVectorINS_8RegisterELj8EED2Ev.exit.i + %.sroa.020.1.i = phi i32 [ %671, %665 ], [ %.sroa.020.0.i, %_ZN4llvm11SmallVectorINS_8RegisterELj8EED2Ev.exit.i ] store i32 %.sroa.020.1.i, ptr %95, align 8 store i32 0, ptr %144, align 8 - %682 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder12buildUnmergeENS_8ArrayRefINS_8RegisterEEERKNS_5SrcOpE(ptr noundef nonnull align 8 dereferenceable(88) %5, ptr nonnull %294, i64 %295, ptr noundef nonnull align 8 dereferenceable(20) %95) #18 + %673 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder12buildUnmergeENS_8ArrayRefINS_8RegisterEEERKNS_5SrcOpE(ptr noundef nonnull align 8 dereferenceable(88) %5, ptr nonnull %294, i64 %295, ptr noundef nonnull align 8 dereferenceable(20) %95) #18 br label %_ZL15buildCopyToRegsRN4llvm16MachineIRBuilderENS_8ArrayRefINS_8RegisterEEES3_NS_3LLTES5_j.exit -_ZL15buildCopyToRegsRN4llvm16MachineIRBuilderENS_8ArrayRefINS_8RegisterEEES3_NS_3LLTES5_j.exit: ; preds = %415, %357, %_ZNK4llvm3LLT14getElementTypeEv.exit180.i, %468, %472, %_ZNK4llvm3LLT9isPointerEv.exit.i.thread.i, %542, %681 +_ZL15buildCopyToRegsRN4llvm16MachineIRBuilderENS_8ArrayRefINS_8RegisterEEES3_NS_3LLTES5_j.exit: ; preds = %415, %357, %_ZNK4llvm3LLT14getElementTypeEv.exit180.i, %459, %463, %_ZNK4llvm3LLT9isPointerEv.exit.i.thread.i, %533, %672 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %71) call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %72) call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %73) @@ -4159,674 +4142,674 @@ _ZL15buildCopyToRegsRN4llvm16MachineIRBuilderENS_8ArrayRefINS_8RegisterEEES3_NS_ call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %93) call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %94) call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %95) - br label %683 + br label %674 -683: ; preds = %_ZL15buildCopyToRegsRN4llvm16MachineIRBuilderENS_8ArrayRefINS_8RegisterEEES3_NS_3LLTES5_j.exit, %288, %.loopexit542 - %684 = load i8, ptr %122, align 8 - %685 = trunc i8 %684 to i1 +674: ; preds = %_ZL15buildCopyToRegsRN4llvm16MachineIRBuilderENS_8ArrayRefINS_8RegisterEEES3_NS_3LLTES5_j.exit, %288, %.loopexit542 + %675 = load i8, ptr %122, align 8 + %676 = trunc i8 %675 to i1 %.not.i.i.i = icmp eq i16 %235, 16 - %spec.select.i = select i1 %685, i1 true, i1 %.not.i.i.i + %spec.select.i = select i1 %676, i1 true, i1 %.not.i.i.i %.not569 = icmp eq i32 %255, 0 br i1 %.not569, label %.loopexit540, label %.lr.ph553 -.lr.ph553: ; preds = %683 - %686 = and i64 %240, 1 - %.not.i287 = icmp eq i64 %686, 0 - %687 = lshr i64 %240, 3 - %688 = and i64 %240, 4 - %.not1.i = icmp eq i64 %688, 0 - %689 = and i64 %240, 2 - %.not2.i289 = icmp eq i64 %689, 0 - %690 = lshr i64 %240, 19 - %691 = and i64 %690, 65535 - %spec.select.i290 = select i1 %.not2.i289, i64 %690, i64 %691 - %692 = and i64 %687, 65535 +.lr.ph553: ; preds = %674 + %677 = and i64 %240, 1 + %.not.i287 = icmp eq i64 %677, 0 + %678 = lshr i64 %240, 3 + %679 = and i64 %240, 4 + %.not1.i = icmp eq i64 %679, 0 + %680 = and i64 %240, 2 + %.not2.i289 = icmp eq i64 %680, 0 + %681 = lshr i64 %240, 19 + %682 = and i64 %681, 65535 + %spec.select.i290 = select i1 %.not2.i289, i64 %681, i64 %682 + %683 = and i64 %678, 65535 %spec.select.i.i.i.i291.not = icmp eq i64 %250, 0 - %693 = and i64 %244, 65535 - %694 = add nuw nsw i64 %693, 7 - %695 = lshr i64 %694, 3 - %696 = icmp ne i64 %indvars.iv581, 0 - %697 = and i64 %254, 4294967295 - %.spec.select.i290 = select i1 %.not1.i, i64 %692, i64 %spec.select.i290 - %.0.in.i = select i1 %.not.i287, i64 %.spec.select.i290, i64 %687 - %698 = and i64 %.0.in.i, 4294967295 - %. = select i1 %spec.select.i.i.i.i291.not, i64 0, i64 %695 - br label %699 - -699: ; preds = %977, %.lr.ph553 - %indvars.iv579 = phi i64 [ %indvars.iv.next580, %977 ], [ 0, %.lr.ph553 ] - %.0267552 = phi i8 [ %.2269, %977 ], [ 0, %.lr.ph553 ] - %700 = load ptr, ptr %2, align 8 - %701 = getelementptr inbounds nuw %"struct.llvm::CallLowering::ArgInfo", ptr %700, i64 %indvars.iv581 - %702 = getelementptr inbounds nuw i8, ptr %701, i64 96 - %703 = load ptr, ptr %702, align 8 - %704 = getelementptr inbounds nuw %"class.llvm::Register", ptr %703, i64 %indvars.iv579 - %.sroa.085.0.copyload = load i32, ptr %704, align 4 - %705 = trunc nuw i64 %indvars.iv579 to i32 - %706 = xor i32 %705, -1 - %707 = add i32 %706, %255 - %708 = select i1 %spec.select.i, i32 %707, i32 %705 - %709 = add i32 %708, %.0262557 - %710 = zext i32 %709 to i64 - %711 = load ptr, ptr %4, align 8 - %712 = getelementptr inbounds nuw %"class.llvm::CCValAssign", ptr %711, i64 %710 - %713 = getelementptr inbounds nuw i8, ptr %701, i64 8 - %714 = load ptr, ptr %713, align 8 - %715 = getelementptr inbounds nuw %"struct.llvm::ISD::ArgFlagsTy", ptr %714, i64 %indvars.iv579 - %.sroa.0483.0.copyload = load i64, ptr %715, align 4 - %.sroa.9.0..sroa_idx = getelementptr inbounds nuw i8, ptr %715, i64 8 + %684 = and i64 %244, 65535 + %685 = add nuw nsw i64 %684, 7 + %686 = lshr i64 %685, 3 + %687 = icmp ne i64 %indvars.iv581, 0 + %688 = and i64 %254, 4294967295 + %.spec.select.i290 = select i1 %.not1.i, i64 %683, i64 %spec.select.i290 + %.0.in.i = select i1 %.not.i287, i64 %.spec.select.i290, i64 %678 + %689 = and i64 %.0.in.i, 4294967295 + %. = select i1 %spec.select.i.i.i.i291.not, i64 0, i64 %686 + br label %690 + +690: ; preds = %968, %.lr.ph553 + %indvars.iv579 = phi i64 [ %indvars.iv.next580, %968 ], [ 0, %.lr.ph553 ] + %.0267552 = phi i8 [ %.2269, %968 ], [ 0, %.lr.ph553 ] + %691 = load ptr, ptr %2, align 8 + %692 = getelementptr inbounds nuw %"struct.llvm::CallLowering::ArgInfo", ptr %691, i64 %indvars.iv581 + %693 = getelementptr inbounds nuw i8, ptr %692, i64 96 + %694 = load ptr, ptr %693, align 8 + %695 = getelementptr inbounds nuw %"class.llvm::Register", ptr %694, i64 %indvars.iv579 + %.sroa.085.0.copyload = load i32, ptr %695, align 4 + %696 = trunc nuw i64 %indvars.iv579 to i32 + %697 = xor i32 %696, -1 + %698 = add i32 %697, %255 + %699 = select i1 %spec.select.i, i32 %698, i32 %696 + %700 = add i32 %699, %.0262557 + %701 = zext i32 %700 to i64 + %702 = load ptr, ptr %4, align 8 + %703 = getelementptr inbounds nuw %"class.llvm::CCValAssign", ptr %702, i64 %701 + %704 = getelementptr inbounds nuw i8, ptr %692, i64 8 + %705 = load ptr, ptr %704, align 8 + %706 = getelementptr inbounds nuw %"struct.llvm::ISD::ArgFlagsTy", ptr %705, i64 %indvars.iv579 + %.sroa.0483.0.copyload = load i64, ptr %706, align 4 + %.sroa.9.0..sroa_idx = getelementptr inbounds nuw i8, ptr %706, i64 8 %.sroa.9.0.copyload = load i64, ptr %.sroa.9.0..sroa_idx, align 4 - %716 = getelementptr inbounds nuw i8, ptr %712, i64 20 - %717 = load i8, ptr %716, align 4 - %718 = and i8 %717, 126 - %719 = icmp eq i8 %718, 22 - br i1 %719, label %720, label %739 - -720: ; preds = %699 - %721 = load i8, ptr %127, align 8 - %722 = trunc i8 %721 to i1 - br i1 %722, label %739, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit - -_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit: ; preds = %720 - %723 = load ptr, ptr %701, align 8 - %724 = call i8 @_ZNK4llvm10DataLayout16getPrefTypeAlignEPNS_4TypeE(ptr noundef nonnull align 8 dereferenceable(512) %122, ptr noundef %723) #18 - %725 = load ptr, ptr %150, align 8 - %726 = call noundef i32 @_ZN4llvm16MachineFrameInfo17CreateStackObjectEmNS_5AlignEbPKNS_10AllocaInstEh(ptr noundef nonnull align 8 dereferenceable(696) %725, i64 noundef %698, i8 %724, i1 noundef zeroext false, ptr noundef null, i8 noundef zeroext 0) #18 + %707 = getelementptr inbounds nuw i8, ptr %703, i64 20 + %708 = load i8, ptr %707, align 4 + %709 = and i8 %708, 126 + %710 = icmp eq i8 %709, 22 + br i1 %710, label %711, label %730 + +711: ; preds = %690 + %712 = load i8, ptr %127, align 8 + %713 = trunc i8 %712 to i1 + br i1 %713, label %730, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit + +_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit: ; preds = %711 + %714 = load ptr, ptr %692, align 8 + %715 = call i8 @_ZNK4llvm10DataLayout16getPrefTypeAlignEPNS_4TypeE(ptr noundef nonnull align 8 dereferenceable(512) %122, ptr noundef %714) #18 + %716 = load ptr, ptr %150, align 8 + %717 = call noundef i32 @_ZN4llvm16MachineFrameInfo17CreateStackObjectEmNS_5AlignEbPKNS_10AllocaInstEh(ptr noundef nonnull align 8 dereferenceable(696) %716, i64 noundef %689, i8 %715, i1 noundef zeroext false, ptr noundef null, i8 noundef zeroext 0) #18 store i64 %251, ptr %100, align 8 store i32 0, ptr %151, align 8 - %727 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder15buildFrameIndexERKNS_5DstOpEi(ptr noundef nonnull align 8 dereferenceable(88) %5, ptr noundef nonnull align 8 dereferenceable(12) %100, i32 noundef %726) #18 - %728 = extractvalue { ptr, ptr } %727, 1 - %729 = getelementptr inbounds nuw i8, ptr %728, i64 32 - %730 = load ptr, ptr %729, align 8 - %731 = getelementptr inbounds nuw i8, ptr %730, i64 4 - %732 = load i32, ptr %731, align 4 - call void @_ZN4llvm18MachinePointerInfo13getFixedStackERNS_15MachineFunctionEil(ptr dead_on_unwind nonnull writable sret(%"struct.llvm::MachinePointerInfo") align 8 %101, ptr noundef nonnull align 8 dereferenceable(1041) %118, i32 noundef %726, i64 noundef 0) #18 - %733 = load ptr, ptr %2, align 8 - %734 = getelementptr inbounds nuw %"struct.llvm::CallLowering::ArgInfo", ptr %733, i64 %indvars.iv581, i32 3 - %735 = load ptr, ptr %734, align 8 - %736 = getelementptr inbounds nuw %"class.llvm::Register", ptr %735, i64 %indvars.iv579 - %.sroa.059.0.copyload = load i32, ptr %736, align 4 + %718 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder15buildFrameIndexERKNS_5DstOpEi(ptr noundef nonnull align 8 dereferenceable(88) %5, ptr noundef nonnull align 8 dereferenceable(12) %100, i32 noundef %717) #18 + %719 = extractvalue { ptr, ptr } %718, 1 + %720 = getelementptr inbounds nuw i8, ptr %719, i64 32 + %721 = load ptr, ptr %720, align 8 + %722 = getelementptr inbounds nuw i8, ptr %721, i64 4 + %723 = load i32, ptr %722, align 4 + call void @_ZN4llvm18MachinePointerInfo13getFixedStackERNS_15MachineFunctionEil(ptr dead_on_unwind nonnull writable sret(%"struct.llvm::MachinePointerInfo") align 8 %101, ptr noundef nonnull align 8 dereferenceable(1041) %118, i32 noundef %717, i64 noundef 0) #18 + %724 = load ptr, ptr %2, align 8 + %725 = getelementptr inbounds nuw %"struct.llvm::CallLowering::ArgInfo", ptr %724, i64 %indvars.iv581, i32 3 + %726 = load ptr, ptr %725, align 8 + %727 = getelementptr inbounds nuw %"class.llvm::Register", ptr %726, i64 %indvars.iv579 + %.sroa.059.0.copyload = load i32, ptr %727, align 4 store i32 %.sroa.059.0.copyload, ptr %102, align 8 store i32 0, ptr %152, align 8 - store i32 %732, ptr %103, align 8 + store i32 %723, ptr %103, align 8 store i32 0, ptr %153, align 8 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %104, ptr noundef nonnull align 8 dereferenceable(24) %101, i64 24, i1 false) - %737 = call i8 @_ZN4llvm21inferAlignFromPtrInfoERNS_15MachineFunctionERKNS_18MachinePointerInfoE(ptr noundef nonnull align 8 dereferenceable(1041) %118, ptr noundef nonnull align 8 dereferenceable(21) %101) #18 + %728 = call i8 @_ZN4llvm21inferAlignFromPtrInfoERNS_15MachineFunctionERKNS_18MachinePointerInfoE(ptr noundef nonnull align 8 dereferenceable(1041) %118, ptr noundef nonnull align 8 dereferenceable(21) %101) #18 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %105, i8 0, i64 32, i1 false) - %738 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder10buildStoreERKNS_5SrcOpES3_NS_18MachinePointerInfoENS_5AlignENS_17MachineMemOperand5FlagsERKNS_9AAMDNodesE(ptr noundef nonnull align 8 dereferenceable(88) %5, ptr noundef nonnull align 8 dereferenceable(20) %102, ptr noundef nonnull align 8 dereferenceable(20) %103, ptr noundef nonnull byval(%"struct.llvm::MachinePointerInfo") align 8 %104, i8 %737, i16 noundef zeroext 0, ptr noundef nonnull align 8 dereferenceable(32) %105) #18 - br label %739 - -739: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit, %720, %699 - %.sroa.085.0 = phi i32 [ %.sroa.085.0.copyload, %720 ], [ %732, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit ], [ %.sroa.085.0.copyload, %699 ] - %.2269 = phi i8 [ %.0267552, %720 ], [ 1, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit ], [ %.0267552, %699 ] - %740 = getelementptr inbounds nuw i8, ptr %712, i64 8 - %741 = load i8, ptr %740, align 8 - br label %742 - -742: ; preds = %748, %739 - %.010.i.i.i = phi i64 [ 0, %739 ], [ %749, %748 ] - %.079.i.i.i = phi i64 [ 3, %739 ], [ %.1.i.i.i, %748 ] - %743 = getelementptr inbounds nuw [3 x i8], ptr @__const._ZSt24__find_uniq_type_in_packIlJN4llvm8RegisterEljEEmv.__found, i64 0, i64 %.010.i.i.i - %744 = load i8, ptr %743, align 1 - %745 = trunc i8 %744 to i1 - br i1 %745, label %746, label %748 - -746: ; preds = %742 - %747 = icmp samesign ult i64 %.079.i.i.i, 3 - br i1 %747, label %_ZNK4llvm11CCValAssign8isMemLocEv.exit, label %748 - -748: ; preds = %746, %742 - %.1.i.i.i = phi i64 [ %.079.i.i.i, %742 ], [ %.010.i.i.i, %746 ] - %749 = add nuw nsw i64 %.010.i.i.i, 1 - %exitcond.not.i.i.i = icmp eq i64 %749, 3 - br i1 %exitcond.not.i.i.i, label %_ZNK4llvm11CCValAssign8isMemLocEv.exit, label %742, !llvm.loop !38 - -_ZNK4llvm11CCValAssign8isMemLocEv.exit: ; preds = %746, %748 - %.08.i.i.i = phi i64 [ 3, %746 ], [ %.1.i.i.i, %748 ] - %750 = zext i8 %741 to i64 - %751 = icmp ne i64 %.08.i.i.i, %750 - %752 = and i64 %.sroa.0483.0.copyload, 16 - %753 = icmp ne i64 %752, 0 - %or.cond531 = select i1 %751, i1 true, i1 %753 - br i1 %or.cond531, label %.preheader, label %754 - -754: ; preds = %_ZNK4llvm11CCValAssign8isMemLocEv.exit - %755 = load ptr, ptr %1, align 8 - %756 = getelementptr inbounds nuw i8, ptr %755, i64 24 - %757 = load ptr, ptr %756, align 8 - %758 = call i64 %757(ptr noundef nonnull align 8 dereferenceable(25) %1, ptr noundef nonnull align 8 dereferenceable(512) %122, ptr noundef nonnull align 8 dereferenceable(26) %712, i64 %.sroa.0483.0.copyload, i64 %.sroa.9.0.copyload) #18 + %729 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder10buildStoreERKNS_5SrcOpES3_NS_18MachinePointerInfoENS_5AlignENS_17MachineMemOperand5FlagsERKNS_9AAMDNodesE(ptr noundef nonnull align 8 dereferenceable(88) %5, ptr noundef nonnull align 8 dereferenceable(20) %102, ptr noundef nonnull align 8 dereferenceable(20) %103, ptr noundef nonnull byval(%"struct.llvm::MachinePointerInfo") align 8 %104, i8 %728, i16 noundef zeroext 0, ptr noundef nonnull align 8 dereferenceable(32) %105) #18 + br label %730 + +730: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit, %711, %690 + %.sroa.085.0 = phi i32 [ %.sroa.085.0.copyload, %711 ], [ %723, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit ], [ %.sroa.085.0.copyload, %690 ] + %.2269 = phi i8 [ %.0267552, %711 ], [ 1, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit ], [ %.0267552, %690 ] + %731 = getelementptr inbounds nuw i8, ptr %703, i64 8 + %732 = load i8, ptr %731, align 8 + br label %733 + +733: ; preds = %739, %730 + %.010.i.i.i = phi i64 [ 0, %730 ], [ %740, %739 ] + %.079.i.i.i = phi i64 [ 3, %730 ], [ %.1.i.i.i, %739 ] + %734 = getelementptr inbounds nuw [3 x i8], ptr @__const._ZSt24__find_uniq_type_in_packIlJN4llvm8RegisterEljEEmv.__found, i64 0, i64 %.010.i.i.i + %735 = load i8, ptr %734, align 1 + %736 = trunc i8 %735 to i1 + br i1 %736, label %737, label %739 + +737: ; preds = %733 + %738 = icmp samesign ult i64 %.079.i.i.i, 3 + br i1 %738, label %_ZNK4llvm11CCValAssign8isMemLocEv.exit, label %739 + +739: ; preds = %737, %733 + %.1.i.i.i = phi i64 [ %.079.i.i.i, %733 ], [ %.010.i.i.i, %737 ] + %740 = add nuw nsw i64 %.010.i.i.i, 1 + %exitcond.not.i.i.i = icmp eq i64 %740, 3 + br i1 %exitcond.not.i.i.i, label %_ZNK4llvm11CCValAssign8isMemLocEv.exit, label %733, !llvm.loop !38 + +_ZNK4llvm11CCValAssign8isMemLocEv.exit: ; preds = %737, %739 + %.08.i.i.i = phi i64 [ 3, %737 ], [ %.1.i.i.i, %739 ] + %741 = zext i8 %732 to i64 + %742 = icmp ne i64 %.08.i.i.i, %741 + %743 = and i64 %.sroa.0483.0.copyload, 16 + %744 = icmp ne i64 %743, 0 + %or.cond531 = select i1 %742, i1 true, i1 %744 + br i1 %or.cond531, label %.preheader, label %745 + +745: ; preds = %_ZNK4llvm11CCValAssign8isMemLocEv.exit + %746 = load ptr, ptr %1, align 8 + %747 = getelementptr inbounds nuw i8, ptr %746, i64 24 + %748 = load ptr, ptr %747, align 8 + %749 = call i64 %748(ptr noundef nonnull align 8 dereferenceable(25) %1, ptr noundef nonnull align 8 dereferenceable(512) %122, ptr noundef nonnull align 8 dereferenceable(26) %703, i64 %.sroa.0483.0.copyload, i64 %.sroa.9.0.copyload) #18 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(21) %106, i8 0, i64 21, i1 false) - %759 = load i8, ptr %716, align 4 - %760 = and i8 %759, 126 - %761 = icmp eq i8 %760, 22 - br i1 %761, label %_ZNK4llvm3LLT14getSizeInBytesEv.exit, label %762 - -762: ; preds = %754 - %763 = and i64 %758, -7 - %spec.select.i.i.i.i308 = icmp ne i64 %763, 0 - %764 = and i64 %758, 2 - %.not.i.not.i.i309 = icmp eq i64 %764, 0 - %765 = and i64 %758, 6 - %766 = icmp eq i64 %765, 2 - %or.cond.i.i310 = and i1 %spec.select.i.i.i.i308, %766 - %767 = and i64 %758, 1 - %768 = icmp ne i64 %767, 0 - %or.cond14.i.i311 = or i1 %768, %or.cond.i.i310 - br i1 %or.cond14.i.i311, label %769, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i312 - -769: ; preds = %762 - %.not.i1.i.i324 = icmp eq i64 %767, 0 - br i1 %.not.i1.i.i324, label %772, label %770 - -770: ; preds = %769 - %771 = lshr i64 %758, 3 + %750 = load i8, ptr %707, align 4 + %751 = and i8 %750, 126 + %752 = icmp eq i8 %751, 22 + br i1 %752, label %_ZNK4llvm3LLT14getSizeInBytesEv.exit, label %753 + +753: ; preds = %745 + %754 = and i64 %749, -7 + %spec.select.i.i.i.i308 = icmp ne i64 %754, 0 + %755 = and i64 %749, 2 + %.not.i.not.i.i309 = icmp eq i64 %755, 0 + %756 = and i64 %749, 6 + %757 = icmp eq i64 %756, 2 + %or.cond.i.i310 = and i1 %spec.select.i.i.i.i308, %757 + %758 = and i64 %749, 1 + %759 = icmp ne i64 %758, 0 + %or.cond14.i.i311 = or i1 %759, %or.cond.i.i310 + br i1 %or.cond14.i.i311, label %760, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i312 + +760: ; preds = %753 + %.not.i1.i.i324 = icmp eq i64 %758, 0 + br i1 %.not.i1.i.i324, label %763, label %761 + +761: ; preds = %760 + %762 = lshr i64 %749, 3 br label %_ZNK4llvm3LLT14getSizeInBytesEv.exit327 -772: ; preds = %769 - %773 = and i64 %758, 4 - %.not1.i2.i.i325 = icmp eq i64 %773, 0 - br i1 %.not1.i2.i.i325, label %777, label %774 +763: ; preds = %760 + %764 = and i64 %749, 4 + %.not1.i2.i.i325 = icmp eq i64 %764, 0 + br i1 %.not1.i2.i.i325, label %768, label %765 -774: ; preds = %772 - %775 = lshr i64 %758, 19 - %776 = and i64 %775, 65535 - %spec.select.i.i.i326 = select i1 %.not.i.not.i.i309, i64 %775, i64 %776 +765: ; preds = %763 + %766 = lshr i64 %749, 19 + %767 = and i64 %766, 65535 + %spec.select.i.i.i326 = select i1 %.not.i.not.i.i309, i64 %766, i64 %767 br label %_ZNK4llvm3LLT14getSizeInBytesEv.exit327 -777: ; preds = %772 - %778 = lshr i64 %758, 3 - %779 = and i64 %778, 65535 +768: ; preds = %763 + %769 = lshr i64 %749, 3 + %770 = and i64 %769, 65535 br label %_ZNK4llvm3LLT14getSizeInBytesEv.exit327 -_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i312: ; preds = %762 - %780 = lshr i64 %758, 3 - %.sroa.0.0.insert.ext.i.i.i.i313 = and i64 %780, 65535 - %781 = select i1 %.not.i.not.i.i309, i64 2251799813685248, i64 576460752303423488 - %782 = and i64 %781, %758 - %.not1.i4.i.i314 = icmp ne i64 %782, 0 - %783 = and i64 %758, 4 - %.not1.i8.i.i315 = icmp eq i64 %783, 0 - %784 = lshr i64 %758, 19 - %785 = and i64 %784, 65535 - %spec.select.i10.i.i316 = select i1 %.not.i.not.i.i309, i64 %784, i64 %785 +_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i312: ; preds = %753 + %771 = lshr i64 %749, 3 + %.sroa.0.0.insert.ext.i.i.i.i313 = and i64 %771, 65535 + %772 = select i1 %.not.i.not.i.i309, i64 2251799813685248, i64 576460752303423488 + %773 = and i64 %772, %749 + %.not1.i4.i.i314 = icmp ne i64 %773, 0 + %774 = and i64 %749, 4 + %.not1.i8.i.i315 = icmp eq i64 %774, 0 + %775 = lshr i64 %749, 19 + %776 = and i64 %775, 65535 + %spec.select.i10.i.i316 = select i1 %.not.i.not.i.i309, i64 %775, i64 %776 %.0.in.i6.i.i317 = select i1 %.not1.i8.i.i315, i64 %.sroa.0.0.insert.ext.i.i.i.i313, i64 %spec.select.i10.i.i316 - %786 = mul nuw nsw i64 %.0.in.i6.i.i317, %.sroa.0.0.insert.ext.i.i.i.i313 - %787 = zext i1 %.not1.i4.i.i314 to i8 + %777 = mul nuw nsw i64 %.0.in.i6.i.i317, %.sroa.0.0.insert.ext.i.i.i.i313 + %778 = zext i1 %.not1.i4.i.i314 to i8 br label %_ZNK4llvm3LLT14getSizeInBytesEv.exit327 -_ZNK4llvm3LLT14getSizeInBytesEv.exit327: ; preds = %770, %774, %777, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i312 - %.sroa.012.0.in.i.i319 = phi i64 [ %786, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i312 ], [ %771, %770 ], [ %779, %777 ], [ %spec.select.i.i.i326, %774 ] - %.sroa.3.0.i.i320 = phi i8 [ %787, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i312 ], [ 0, %770 ], [ 0, %777 ], [ 0, %774 ] +_ZNK4llvm3LLT14getSizeInBytesEv.exit327: ; preds = %761, %765, %768, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i312 + %.sroa.012.0.in.i.i319 = phi i64 [ %777, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i312 ], [ %762, %761 ], [ %770, %768 ], [ %spec.select.i.i.i326, %765 ] + %.sroa.3.0.i.i320 = phi i8 [ %778, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i312 ], [ 0, %761 ], [ 0, %768 ], [ 0, %765 ] %.sroa.012.0.i.i321 = and i64 %.sroa.012.0.in.i.i319, 4294967295 - %788 = add nuw nsw i64 %.sroa.012.0.i.i321, 7 - %789 = lshr i64 %788, 3 + %779 = add nuw nsw i64 %.sroa.012.0.i.i321, 7 + %780 = lshr i64 %779, 3 br label %_ZNK4llvm3LLT14getSizeInBytesEv.exit -_ZNK4llvm3LLT14getSizeInBytesEv.exit: ; preds = %754, %_ZNK4llvm3LLT14getSizeInBytesEv.exit327 - %storemerge587 = phi i64 [ %789, %_ZNK4llvm3LLT14getSizeInBytesEv.exit327 ], [ %., %754 ] - %storemerge = phi i8 [ %.sroa.3.0.i.i320, %_ZNK4llvm3LLT14getSizeInBytesEv.exit327 ], [ 0, %754 ] +_ZNK4llvm3LLT14getSizeInBytesEv.exit: ; preds = %745, %_ZNK4llvm3LLT14getSizeInBytesEv.exit327 + %storemerge587 = phi i64 [ %780, %_ZNK4llvm3LLT14getSizeInBytesEv.exit327 ], [ %., %745 ] + %storemerge = phi i8 [ %.sroa.3.0.i.i320, %_ZNK4llvm3LLT14getSizeInBytesEv.exit327 ], [ 0, %745 ] store i64 %storemerge587, ptr %107, align 8 store i8 %storemerge, ptr %.sroa.246.0..sroa_idx, align 8 - %790 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %107) #18 - %791 = load i8, ptr %740, align 8 - %.not.i.i.i328 = icmp eq i8 %791, 1 - br i1 %.not.i.i.i328, label %_ZNK4llvm11CCValAssign15getLocMemOffsetEv.exit, label %792 + %781 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %107) #18 + %782 = load i8, ptr %731, align 8 + %.not.i.i.i328 = icmp eq i8 %782, 1 + br i1 %.not.i.i.i328, label %_ZNK4llvm11CCValAssign15getLocMemOffsetEv.exit, label %783 -792: ; preds = %_ZNK4llvm3LLT14getSizeInBytesEv.exit +783: ; preds = %_ZNK4llvm3LLT14getSizeInBytesEv.exit call void @abort() #19 unreachable _ZNK4llvm11CCValAssign15getLocMemOffsetEv.exit: ; preds = %_ZNK4llvm3LLT14getSizeInBytesEv.exit - %793 = load i64, ptr %712, align 8 - %794 = load ptr, ptr %1, align 8 - %795 = getelementptr inbounds nuw i8, ptr %794, i64 16 - %796 = load ptr, ptr %795, align 8 - %797 = call i32 %796(ptr noundef nonnull align 8 dereferenceable(25) %1, i64 noundef %790, i64 noundef %793, ptr noundef nonnull align 8 dereferenceable(21) %106, i64 %.sroa.0483.0.copyload, i64 %.sroa.9.0.copyload) #18 - %798 = load i8, ptr %716, align 4 - %799 = and i8 %798, 126 - %800 = icmp eq i8 %799, 22 - br i1 %800, label %801, label %805 - -801: ; preds = %_ZNK4llvm11CCValAssign15getLocMemOffsetEv.exit - %802 = load ptr, ptr %1, align 8 - %803 = getelementptr inbounds nuw i8, ptr %802, i64 40 - %804 = load ptr, ptr %803, align 8 - call void %804(ptr noundef nonnull align 8 dereferenceable(25) %1, i32 %.sroa.085.0, i32 %797, i64 %251, ptr noundef nonnull align 8 dereferenceable(21) %106, ptr noundef nonnull align 8 dereferenceable(26) %712) #18 + %784 = load i64, ptr %703, align 8 + %785 = load ptr, ptr %1, align 8 + %786 = getelementptr inbounds nuw i8, ptr %785, i64 16 + %787 = load ptr, ptr %786, align 8 + %788 = call i32 %787(ptr noundef nonnull align 8 dereferenceable(25) %1, i64 noundef %781, i64 noundef %784, ptr noundef nonnull align 8 dereferenceable(21) %106, i64 %.sroa.0483.0.copyload, i64 %.sroa.9.0.copyload) #18 + %789 = load i8, ptr %707, align 4 + %790 = and i8 %789, 126 + %791 = icmp eq i8 %790, 22 + br i1 %791, label %792, label %796 + +792: ; preds = %_ZNK4llvm11CCValAssign15getLocMemOffsetEv.exit + %793 = load ptr, ptr %1, align 8 + %794 = getelementptr inbounds nuw i8, ptr %793, i64 40 + %795 = load ptr, ptr %794, align 8 + call void %795(ptr noundef nonnull align 8 dereferenceable(25) %1, i32 %.sroa.085.0, i32 %788, i64 %251, ptr noundef nonnull align 8 dereferenceable(21) %106, ptr noundef nonnull align 8 dereferenceable(26) %703) #18 br label %"_ZN4llvm15SmallVectorImplISt8functionIFvvEEE12emplace_backIJZNKS_12CallLowering17handleAssignmentsERNS6_12ValueHandlerERNS0_INS6_7ArgInfoEEERNS_7CCStateERNS0_INS_11CCValAssignEEERNS_16MachineIRBuilderENS_8ArrayRefINS_8RegisterEEEE3$_0EEERS3_DpOT_.exit" -805: ; preds = %_ZNK4llvm11CCValAssign15getLocMemOffsetEv.exit - %806 = load ptr, ptr %2, align 8 - %807 = getelementptr inbounds nuw %"struct.llvm::CallLowering::ArgInfo", ptr %806, i64 %indvars.iv581 - %808 = load ptr, ptr %1, align 8 - %809 = getelementptr inbounds nuw i8, ptr %808, i64 48 - %810 = load ptr, ptr %809, align 8 - call void %810(ptr noundef nonnull align 8 dereferenceable(25) %1, ptr noundef nonnull align 8 dereferenceable(164) %807, i32 noundef %705, i32 %797, i64 %758, ptr noundef nonnull align 8 dereferenceable(21) %106, ptr noundef nonnull align 8 dereferenceable(26) %712) #18 +796: ; preds = %_ZNK4llvm11CCValAssign15getLocMemOffsetEv.exit + %797 = load ptr, ptr %2, align 8 + %798 = getelementptr inbounds nuw %"struct.llvm::CallLowering::ArgInfo", ptr %797, i64 %indvars.iv581 + %799 = load ptr, ptr %1, align 8 + %800 = getelementptr inbounds nuw i8, ptr %799, i64 48 + %801 = load ptr, ptr %800, align 8 + call void %801(ptr noundef nonnull align 8 dereferenceable(25) %1, ptr noundef nonnull align 8 dereferenceable(164) %798, i32 noundef %696, i32 %788, i64 %749, ptr noundef nonnull align 8 dereferenceable(21) %106, ptr noundef nonnull align 8 dereferenceable(26) %703) #18 br label %"_ZN4llvm15SmallVectorImplISt8functionIFvvEEE12emplace_backIJZNKS_12CallLowering17handleAssignmentsERNS6_12ValueHandlerERNS0_INS6_7ArgInfoEEERNS_7CCStateERNS0_INS_11CCValAssignEEERNS_16MachineIRBuilderENS_8ArrayRefINS_8RegisterEEEE3$_0EEERS3_DpOT_.exit" -.preheader: ; preds = %_ZNK4llvm11CCValAssign8isMemLocEv.exit, %816 - %.010.i.i.i329 = phi i64 [ %817, %816 ], [ 0, %_ZNK4llvm11CCValAssign8isMemLocEv.exit ] - %.079.i.i.i330 = phi i64 [ %.1.i.i.i331, %816 ], [ 3, %_ZNK4llvm11CCValAssign8isMemLocEv.exit ] - %811 = getelementptr inbounds nuw [3 x i8], ptr @__const._ZSt24__find_uniq_type_in_packIlJN4llvm8RegisterEljEEmv.__found, i64 0, i64 %.010.i.i.i329 - %812 = load i8, ptr %811, align 1 - %813 = trunc i8 %812 to i1 - br i1 %813, label %814, label %816 - -814: ; preds = %.preheader - %815 = icmp samesign ult i64 %.079.i.i.i330, 3 - br i1 %815, label %_ZNK4llvm11CCValAssign8isMemLocEv.exit334, label %816 - -816: ; preds = %814, %.preheader - %.1.i.i.i331 = phi i64 [ %.079.i.i.i330, %.preheader ], [ %.010.i.i.i329, %814 ] - %817 = add nuw nsw i64 %.010.i.i.i329, 1 - %exitcond.not.i.i.i332 = icmp eq i64 %817, 3 +.preheader: ; preds = %_ZNK4llvm11CCValAssign8isMemLocEv.exit, %807 + %.010.i.i.i329 = phi i64 [ %808, %807 ], [ 0, %_ZNK4llvm11CCValAssign8isMemLocEv.exit ] + %.079.i.i.i330 = phi i64 [ %.1.i.i.i331, %807 ], [ 3, %_ZNK4llvm11CCValAssign8isMemLocEv.exit ] + %802 = getelementptr inbounds nuw [3 x i8], ptr @__const._ZSt24__find_uniq_type_in_packIlJN4llvm8RegisterEljEEmv.__found, i64 0, i64 %.010.i.i.i329 + %803 = load i8, ptr %802, align 1 + %804 = trunc i8 %803 to i1 + br i1 %804, label %805, label %807 + +805: ; preds = %.preheader + %806 = icmp samesign ult i64 %.079.i.i.i330, 3 + br i1 %806, label %_ZNK4llvm11CCValAssign8isMemLocEv.exit334, label %807 + +807: ; preds = %805, %.preheader + %.1.i.i.i331 = phi i64 [ %.079.i.i.i330, %.preheader ], [ %.010.i.i.i329, %805 ] + %808 = add nuw nsw i64 %.010.i.i.i329, 1 + %exitcond.not.i.i.i332 = icmp eq i64 %808, 3 br i1 %exitcond.not.i.i.i332, label %_ZNK4llvm11CCValAssign8isMemLocEv.exit334, label %.preheader, !llvm.loop !38 -_ZNK4llvm11CCValAssign8isMemLocEv.exit334: ; preds = %814, %816 - %.08.i.i.i333 = phi i64 [ 3, %814 ], [ %.1.i.i.i331, %816 ] - %818 = icmp eq i64 %.08.i.i.i333, %750 - %or.cond533 = select i1 %818, i1 %753, i1 false - br i1 %or.cond533, label %819, label %887 +_ZNK4llvm11CCValAssign8isMemLocEv.exit334: ; preds = %805, %807 + %.08.i.i.i333 = phi i64 [ 3, %805 ], [ %.1.i.i.i331, %807 ] + %809 = icmp eq i64 %.08.i.i.i333, %741 + %or.cond533 = select i1 %809, i1 %744, i1 false + br i1 %or.cond533, label %810, label %878 -819: ; preds = %_ZNK4llvm11CCValAssign8isMemLocEv.exit334 - %820 = load i8, ptr %127, align 8 - %821 = trunc i8 %820 to i1 - br i1 %821, label %822, label %835 +810: ; preds = %_ZNK4llvm11CCValAssign8isMemLocEv.exit334 + %811 = load i8, ptr %127, align 8 + %812 = trunc i8 %811 to i1 + br i1 %812, label %813, label %826 -822: ; preds = %819 +813: ; preds = %810 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(21) %108, i8 0, i64 21, i1 false) - %823 = load i8, ptr %740, align 8 - %.not.i.i.i335 = icmp eq i8 %823, 1 - br i1 %.not.i.i.i335, label %_ZNK4llvm11CCValAssign15getLocMemOffsetEv.exit336, label %824 + %814 = load i8, ptr %731, align 8 + %.not.i.i.i335 = icmp eq i8 %814, 1 + br i1 %.not.i.i.i335, label %_ZNK4llvm11CCValAssign15getLocMemOffsetEv.exit336, label %815 -824: ; preds = %822 +815: ; preds = %813 call void @abort() #19 unreachable -_ZNK4llvm11CCValAssign15getLocMemOffsetEv.exit336: ; preds = %822 - %825 = and i64 %.sroa.9.0.copyload, 4294967295 - %826 = load i64, ptr %712, align 8 - %827 = load ptr, ptr %1, align 8 - %828 = getelementptr inbounds nuw i8, ptr %827, i64 16 - %829 = load ptr, ptr %828, align 8 - %830 = call i32 %829(ptr noundef nonnull align 8 dereferenceable(25) %1, i64 noundef %825, i64 noundef %826, ptr noundef nonnull align 8 dereferenceable(21) %108, i64 %.sroa.0483.0.copyload, i64 %.sroa.9.0.copyload) #18 - %831 = load ptr, ptr %2, align 8 - %832 = getelementptr inbounds nuw %"struct.llvm::CallLowering::ArgInfo", ptr %831, i64 %indvars.iv581, i32 2 - %833 = load ptr, ptr %832, align 8 - %.sroa.034.0.copyload = load i32, ptr %833, align 4 +_ZNK4llvm11CCValAssign15getLocMemOffsetEv.exit336: ; preds = %813 + %816 = and i64 %.sroa.9.0.copyload, 4294967295 + %817 = load i64, ptr %703, align 8 + %818 = load ptr, ptr %1, align 8 + %819 = getelementptr inbounds nuw i8, ptr %818, i64 16 + %820 = load ptr, ptr %819, align 8 + %821 = call i32 %820(ptr noundef nonnull align 8 dereferenceable(25) %1, i64 noundef %816, i64 noundef %817, ptr noundef nonnull align 8 dereferenceable(21) %108, i64 %.sroa.0483.0.copyload, i64 %.sroa.9.0.copyload) #18 + %822 = load ptr, ptr %2, align 8 + %823 = getelementptr inbounds nuw %"struct.llvm::CallLowering::ArgInfo", ptr %822, i64 %indvars.iv581, i32 2 + %824 = load ptr, ptr %823, align 8 + %.sroa.034.0.copyload = load i32, ptr %824, align 4 store i32 %.sroa.034.0.copyload, ptr %109, align 8 store i32 1, ptr %159, align 8 - store i32 %830, ptr %110, align 8 + store i32 %821, ptr %110, align 8 store i32 0, ptr %160, align 8 - %834 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder9buildCopyERKNS_5DstOpERKNS_5SrcOpE(ptr noundef nonnull align 8 dereferenceable(88) %5, ptr noundef nonnull align 8 dereferenceable(12) %109, ptr noundef nonnull align 8 dereferenceable(20) %110) #18 + %825 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder9buildCopyERKNS_5DstOpERKNS_5SrcOpE(ptr noundef nonnull align 8 dereferenceable(88) %5, ptr noundef nonnull align 8 dereferenceable(12) %109, ptr noundef nonnull align 8 dereferenceable(20) %110) #18 br label %"_ZN4llvm15SmallVectorImplISt8functionIFvvEEE12emplace_backIJZNKS_12CallLowering17handleAssignmentsERNS6_12ValueHandlerERNS0_INS6_7ArgInfoEEERNS_7CCStateERNS0_INS_11CCValAssignEEERNS_16MachineIRBuilderENS_8ArrayRefINS_8RegisterEEEE3$_0EEERS3_DpOT_.exit" -835: ; preds = %819 - %836 = and i64 %.sroa.9.0.copyload, 4294967295 - %.not.i.i.i337 = icmp eq i8 %741, 1 - br i1 %.not.i.i.i337, label %_ZNK4llvm11CCValAssign15getLocMemOffsetEv.exit338, label %837 +826: ; preds = %810 + %827 = and i64 %.sroa.9.0.copyload, 4294967295 + %.not.i.i.i337 = icmp eq i8 %732, 1 + br i1 %.not.i.i.i337, label %_ZNK4llvm11CCValAssign15getLocMemOffsetEv.exit338, label %828 -837: ; preds = %835 +828: ; preds = %826 call void @abort() #19 unreachable -_ZNK4llvm11CCValAssign15getLocMemOffsetEv.exit338: ; preds = %835 - %838 = load i64, ptr %712, align 8 +_ZNK4llvm11CCValAssign15getLocMemOffsetEv.exit338: ; preds = %826 + %829 = load i64, ptr %703, align 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(21) %111, i8 0, i64 21, i1 false) - %839 = load ptr, ptr %1, align 8 - %840 = getelementptr inbounds nuw i8, ptr %839, i64 16 - %841 = load ptr, ptr %840, align 8 - %842 = call i32 %841(ptr noundef nonnull align 8 dereferenceable(25) %1, i64 noundef %836, i64 noundef %838, ptr noundef nonnull align 8 dereferenceable(21) %111, i64 %.sroa.0483.0.copyload, i64 %.sroa.9.0.copyload) #18 - %843 = load ptr, ptr %2, align 8 - %844 = getelementptr inbounds nuw %"struct.llvm::CallLowering::ArgInfo", ptr %843, i64 %indvars.iv581, i32 4 - %845 = load ptr, ptr %844, align 8 - %846 = ptrtoint ptr %845 to i64 - %847 = and i64 %846, -5 - store i64 %847, ptr %112, align 8 + %830 = load ptr, ptr %1, align 8 + %831 = getelementptr inbounds nuw i8, ptr %830, i64 16 + %832 = load ptr, ptr %831, align 8 + %833 = call i32 %832(ptr noundef nonnull align 8 dereferenceable(25) %1, i64 noundef %827, i64 noundef %829, ptr noundef nonnull align 8 dereferenceable(21) %111, i64 %.sroa.0483.0.copyload, i64 %.sroa.9.0.copyload) #18 + %834 = load ptr, ptr %2, align 8 + %835 = getelementptr inbounds nuw %"struct.llvm::CallLowering::ArgInfo", ptr %834, i64 %indvars.iv581, i32 4 + %836 = load ptr, ptr %835, align 8 + %837 = ptrtoint ptr %836 to i64 + %838 = and i64 %837, -5 + store i64 %838, ptr %112, align 8 store i64 0, ptr %155, align 8 store i32 0, ptr %156, align 8 store i8 0, ptr %157, align 4 - %.not.i339 = icmp eq ptr %845, null - br i1 %.not.i339, label %_ZN4llvm18MachinePointerInfoC2EPKNS_5ValueElh.exit, label %848 - -848: ; preds = %_ZNK4llvm11CCValAssign15getLocMemOffsetEv.exit338 - %849 = getelementptr inbounds nuw i8, ptr %845, i64 8 - %850 = load ptr, ptr %849, align 8 - %851 = getelementptr inbounds nuw i8, ptr %850, i64 8 - %852 = load i32, ptr %851, align 8 - %853 = and i32 %852, 255 - %854 = add nsw i32 %853, -17 - %spec.select.i.i.i.i340 = icmp ult i32 %854, 2 - br i1 %spec.select.i.i.i.i340, label %855, label %_ZNK4llvm4Type22getPointerAddressSpaceEv.exit.i - -855: ; preds = %848 - %856 = getelementptr inbounds nuw i8, ptr %850, i64 16 - %857 = load ptr, ptr %856, align 8 - %858 = load ptr, ptr %857, align 8 - %.phi.trans.insert.i.i = getelementptr inbounds nuw i8, ptr %858, i64 8 + %.not.i339 = icmp eq ptr %836, null + br i1 %.not.i339, label %_ZN4llvm18MachinePointerInfoC2EPKNS_5ValueElh.exit, label %839 + +839: ; preds = %_ZNK4llvm11CCValAssign15getLocMemOffsetEv.exit338 + %840 = getelementptr inbounds nuw i8, ptr %836, i64 8 + %841 = load ptr, ptr %840, align 8 + %842 = getelementptr inbounds nuw i8, ptr %841, i64 8 + %843 = load i32, ptr %842, align 8 + %844 = and i32 %843, 255 + %845 = add nsw i32 %844, -17 + %spec.select.i.i.i.i340 = icmp ult i32 %845, 2 + br i1 %spec.select.i.i.i.i340, label %846, label %_ZNK4llvm4Type22getPointerAddressSpaceEv.exit.i + +846: ; preds = %839 + %847 = getelementptr inbounds nuw i8, ptr %841, i64 16 + %848 = load ptr, ptr %847, align 8 + %849 = load ptr, ptr %848, align 8 + %.phi.trans.insert.i.i = getelementptr inbounds nuw i8, ptr %849, i64 8 %.pre.i.i = load i32, ptr %.phi.trans.insert.i.i, align 8 br label %_ZNK4llvm4Type22getPointerAddressSpaceEv.exit.i -_ZNK4llvm4Type22getPointerAddressSpaceEv.exit.i: ; preds = %855, %848 - %859 = phi i32 [ %.pre.i.i, %855 ], [ %852, %848 ] - %860 = lshr i32 %859, 8 +_ZNK4llvm4Type22getPointerAddressSpaceEv.exit.i: ; preds = %846, %839 + %850 = phi i32 [ %.pre.i.i, %846 ], [ %843, %839 ] + %851 = lshr i32 %850, 8 br label %_ZN4llvm18MachinePointerInfoC2EPKNS_5ValueElh.exit _ZN4llvm18MachinePointerInfoC2EPKNS_5ValueElh.exit: ; preds = %_ZNK4llvm11CCValAssign15getLocMemOffsetEv.exit338, %_ZNK4llvm4Type22getPointerAddressSpaceEv.exit.i - %861 = phi i32 [ %860, %_ZNK4llvm4Type22getPointerAddressSpaceEv.exit.i ], [ 0, %_ZNK4llvm11CCValAssign15getLocMemOffsetEv.exit338 ] - store i32 %861, ptr %156, align 8 - %862 = load ptr, ptr %844, align 8 - %.not278 = icmp eq ptr %862, null - br i1 %.not278, label %863, label %876 - -863: ; preds = %_ZN4llvm18MachinePointerInfoC2EPKNS_5ValueElh.exit - %864 = icmp slt i32 %842, 0 - br i1 %864, label %865, label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit - -865: ; preds = %863 - %866 = and i32 %842, 2147483647 - %867 = zext nneg i32 %866 to i64 - %868 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(25) %158) #18 - %869 = icmp ugt i64 %868, %867 - br i1 %869, label %870, label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit - -870: ; preds = %865 - %871 = load ptr, ptr %158, align 8 - %872 = getelementptr inbounds nuw %"class.llvm::LLT", ptr %871, i64 %867 - %873 = load i64, ptr %872, align 8 + %852 = phi i32 [ %851, %_ZNK4llvm4Type22getPointerAddressSpaceEv.exit.i ], [ 0, %_ZNK4llvm11CCValAssign15getLocMemOffsetEv.exit338 ] + store i32 %852, ptr %156, align 8 + %853 = load ptr, ptr %835, align 8 + %.not278 = icmp eq ptr %853, null + br i1 %.not278, label %854, label %867 + +854: ; preds = %_ZN4llvm18MachinePointerInfoC2EPKNS_5ValueElh.exit + %855 = icmp slt i32 %833, 0 + br i1 %855, label %856, label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit + +856: ; preds = %854 + %857 = and i32 %833, 2147483647 + %858 = zext nneg i32 %857 to i64 + %859 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(25) %158) #18 + %860 = icmp ugt i64 %859, %858 + br i1 %860, label %861, label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit + +861: ; preds = %856 + %862 = load ptr, ptr %158, align 8 + %863 = getelementptr inbounds nuw %"class.llvm::LLT", ptr %862, i64 %858 + %864 = load i64, ptr %863, align 8 br label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit -_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit: ; preds = %863, %865, %870 - %.sroa.04.0.i = phi i64 [ %873, %870 ], [ 0, %865 ], [ 0, %863 ] - %874 = and i64 %.sroa.04.0.i, 4 - %.not.i341 = icmp eq i64 %874, 0 +_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit: ; preds = %854, %856, %861 + %.sroa.04.0.i = phi i64 [ %864, %861 ], [ 0, %856 ], [ 0, %854 ] + %865 = and i64 %.sroa.04.0.i, 4 + %.not.i341 = icmp eq i64 %865, 0 %.0.in.in.v.i = select i1 %.not.i341, i64 19, i64 35 %.0.in.in.i = lshr i64 %.sroa.04.0.i, %.0.in.in.v.i - %875 = trunc i64 %.0.in.in.i to i32 - %.0.i342 = and i32 %875, 16777215 + %866 = trunc i64 %.0.in.in.i to i32 + %.0.i342 = and i32 %866, 16777215 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %112, i8 0, i64 16, i1 false) store i32 %.0.i342, ptr %156, align 8 store i8 0, ptr %157, align 4 - br label %876 - -876: ; preds = %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit, %_ZN4llvm18MachinePointerInfoC2EPKNS_5ValueElh.exit - %877 = trunc i64 %.sroa.0483.0.copyload to i32 - %878 = lshr i32 %877, 19 - %879 = and i32 %878, 63 - %.not.i.i343 = icmp eq i32 %879, 0 - %880 = trunc nuw nsw i32 %879 to i8 - %881 = add nsw i8 %880, -1 - %.sroa.0.0.extract.trunc.i = select i1 %.not.i.i343, i8 0, i8 %881 - %882 = call i8 @_ZN4llvm21inferAlignFromPtrInfoERNS_15MachineFunctionERKNS_18MachinePointerInfoE(ptr noundef nonnull align 8 dereferenceable(1041) %118, ptr noundef nonnull align 8 dereferenceable(21) %111) #18 - %.sroa.024.0.copyload.sroa.speculated = call i8 @llvm.umax.i8(i8 %.sroa.0.0.extract.trunc.i, i8 %882) - %883 = call i8 @_ZN4llvm21inferAlignFromPtrInfoERNS_15MachineFunctionERKNS_18MachinePointerInfoE(ptr noundef nonnull align 8 dereferenceable(1041) %118, ptr noundef nonnull align 8 dereferenceable(21) %112) #18 - %.sroa.023.0.copyload.sroa.speculated = call i8 @llvm.umax.i8(i8 %.sroa.0.0.extract.trunc.i, i8 %883) - %884 = load ptr, ptr %2, align 8 - %885 = getelementptr inbounds nuw %"struct.llvm::CallLowering::ArgInfo", ptr %884, i64 %indvars.iv581, i32 2 - %886 = load ptr, ptr %885, align 8 - %.sroa.021.0.copyload = load i32, ptr %886, align 4 - call void @_ZNK4llvm12CallLowering12ValueHandler18copyArgumentMemoryERKNS0_7ArgInfoENS_8RegisterES5_RKNS_18MachinePointerInfoENS_5AlignES8_S9_mRNS_11CCValAssignE(ptr noundef nonnull align 8 dereferenceable(25) %1, ptr nonnull align 8 poison, i32 %842, i32 %.sroa.021.0.copyload, ptr noundef nonnull align 8 dereferenceable(21) %111, i8 %.sroa.024.0.copyload.sroa.speculated, ptr noundef nonnull align 8 dereferenceable(21) %112, i8 %.sroa.023.0.copyload.sroa.speculated, i64 noundef %836, ptr nonnull align 8 poison) + br label %867 + +867: ; preds = %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit, %_ZN4llvm18MachinePointerInfoC2EPKNS_5ValueElh.exit + %868 = trunc i64 %.sroa.0483.0.copyload to i32 + %869 = lshr i32 %868, 19 + %870 = and i32 %869, 63 + %.not.i.i343 = icmp eq i32 %870, 0 + %871 = trunc nuw nsw i32 %870 to i8 + %872 = add nsw i8 %871, -1 + %.sroa.0.0.extract.trunc.i = select i1 %.not.i.i343, i8 0, i8 %872 + %873 = call i8 @_ZN4llvm21inferAlignFromPtrInfoERNS_15MachineFunctionERKNS_18MachinePointerInfoE(ptr noundef nonnull align 8 dereferenceable(1041) %118, ptr noundef nonnull align 8 dereferenceable(21) %111) #18 + %.sroa.024.0.copyload.sroa.speculated = call i8 @llvm.umax.i8(i8 %.sroa.0.0.extract.trunc.i, i8 %873) + %874 = call i8 @_ZN4llvm21inferAlignFromPtrInfoERNS_15MachineFunctionERKNS_18MachinePointerInfoE(ptr noundef nonnull align 8 dereferenceable(1041) %118, ptr noundef nonnull align 8 dereferenceable(21) %112) #18 + %.sroa.023.0.copyload.sroa.speculated = call i8 @llvm.umax.i8(i8 %.sroa.0.0.extract.trunc.i, i8 %874) + %875 = load ptr, ptr %2, align 8 + %876 = getelementptr inbounds nuw %"struct.llvm::CallLowering::ArgInfo", ptr %875, i64 %indvars.iv581, i32 2 + %877 = load ptr, ptr %876, align 8 + %.sroa.021.0.copyload = load i32, ptr %877, align 4 + call void @_ZNK4llvm12CallLowering12ValueHandler18copyArgumentMemoryERKNS0_7ArgInfoENS_8RegisterES5_RKNS_18MachinePointerInfoENS_5AlignES8_S9_mRNS_11CCValAssignE(ptr noundef nonnull align 8 dereferenceable(25) %1, ptr nonnull align 8 poison, i32 %833, i32 %.sroa.021.0.copyload, ptr noundef nonnull align 8 dereferenceable(21) %111, i8 %.sroa.024.0.copyload.sroa.speculated, ptr noundef nonnull align 8 dereferenceable(21) %112, i8 %.sroa.023.0.copyload.sroa.speculated, i64 noundef %827, ptr nonnull align 8 poison) br label %"_ZN4llvm15SmallVectorImplISt8functionIFvvEEE12emplace_backIJZNKS_12CallLowering17handleAssignmentsERNS6_12ValueHandlerERNS0_INS6_7ArgInfoEEERNS_7CCStateERNS0_INS_11CCValAssignEEERNS_16MachineIRBuilderENS_8ArrayRefINS_8RegisterEEEE3$_0EEERS3_DpOT_.exit" -887: ; preds = %_ZNK4llvm11CCValAssign8isMemLocEv.exit334 - %888 = load i64, ptr %154, align 8 - %889 = icmp eq i64 %888, 0 - %or.cond536 = select i1 %696, i1 true, i1 %889 +878: ; preds = %_ZNK4llvm11CCValAssign8isMemLocEv.exit334 + %879 = load i64, ptr %154, align 8 + %880 = icmp eq i64 %879, 0 + %or.cond536 = select i1 %687, i1 true, i1 %880 %.pre585 = load i8, ptr %127, align 8 - br i1 %or.cond536, label %903, label %890 + br i1 %or.cond536, label %894, label %881 -890: ; preds = %887 - %891 = trunc i8 %.pre585 to i1 - br i1 %891, label %892, label %903 +881: ; preds = %878 + %882 = trunc i8 %.pre585 to i1 + br i1 %882, label %883, label %894 -892: ; preds = %890 - %893 = load ptr, ptr %0, align 8 - %894 = getelementptr inbounds nuw i8, ptr %893, i64 88 - %895 = load ptr, ptr %894, align 8 - %896 = call noundef zeroext i1 %895(ptr noundef nonnull align 8 dereferenceable(16) %0, i16 %.sroa.0.0.copyload.i, ptr null) #18 - br i1 %896, label %897, label %._crit_edge584 +883: ; preds = %881 + %884 = load ptr, ptr %0, align 8 + %885 = getelementptr inbounds nuw i8, ptr %884, i64 88 + %886 = load ptr, ptr %885, align 8 + %887 = call noundef zeroext i1 %886(ptr noundef nonnull align 8 dereferenceable(16) %0, i16 %.sroa.0.0.copyload.i, ptr null) #18 + br i1 %887, label %888, label %._crit_edge584 -._crit_edge584: ; preds = %892 +._crit_edge584: ; preds = %883 %.pre = load i8, ptr %127, align 8 - br label %903 - -897: ; preds = %892 - %898 = load ptr, ptr %6, align 8 - %899 = getelementptr inbounds nuw %"class.llvm::Register", ptr %898, i64 %indvars.iv579 - %.sroa.016.0.copyload = load i32, ptr %899, align 4 - %900 = load ptr, ptr %1, align 8 - %901 = getelementptr inbounds nuw i8, ptr %900, i64 32 - %902 = load ptr, ptr %901, align 8 - call void %902(ptr noundef nonnull align 8 dereferenceable(25) %1, i32 %.sroa.085.0, i32 %.sroa.016.0.copyload, ptr noundef nonnull align 8 dereferenceable(26) %712) #18 + br label %894 + +888: ; preds = %883 + %889 = load ptr, ptr %6, align 8 + %890 = getelementptr inbounds nuw %"class.llvm::Register", ptr %889, i64 %indvars.iv579 + %.sroa.016.0.copyload = load i32, ptr %890, align 4 + %891 = load ptr, ptr %1, align 8 + %892 = getelementptr inbounds nuw i8, ptr %891, i64 32 + %893 = load ptr, ptr %892, align 8 + call void %893(ptr noundef nonnull align 8 dereferenceable(25) %1, i32 %.sroa.085.0, i32 %.sroa.016.0.copyload, ptr noundef nonnull align 8 dereferenceable(26) %703) #18 br label %"_ZN4llvm15SmallVectorImplISt8functionIFvvEEE12emplace_backIJZNKS_12CallLowering17handleAssignmentsERNS6_12ValueHandlerERNS0_INS6_7ArgInfoEEERNS_7CCStateERNS0_INS_11CCValAssignEEERNS_16MachineIRBuilderENS_8ArrayRefINS_8RegisterEEEE3$_0EEERS3_DpOT_.exit" -903: ; preds = %._crit_edge584, %890, %887 - %904 = phi i8 [ %.pre, %._crit_edge584 ], [ %.pre585, %890 ], [ %.pre585, %887 ] - %905 = trunc i8 %904 to i1 - br i1 %905, label %906, label %912 +894: ; preds = %._crit_edge584, %881, %878 + %895 = phi i8 [ %.pre, %._crit_edge584 ], [ %.pre585, %881 ], [ %.pre585, %878 ] + %896 = trunc i8 %895 to i1 + br i1 %896, label %897, label %903 -906: ; preds = %903 - %907 = load i8, ptr %740, align 8 - %.not.i.i.i351 = icmp eq i8 %907, 0 - br i1 %.not.i.i.i351, label %_ZNK4llvm11CCValAssign9getLocRegEv.exit, label %908 +897: ; preds = %894 + %898 = load i8, ptr %731, align 8 + %.not.i.i.i351 = icmp eq i8 %898, 0 + br i1 %.not.i.i.i351, label %_ZNK4llvm11CCValAssign9getLocRegEv.exit, label %899 -908: ; preds = %906 +899: ; preds = %897 call void @abort() #19 unreachable -_ZNK4llvm11CCValAssign9getLocRegEv.exit: ; preds = %906 - %.sroa.0.0.copyload.i352 = load i32, ptr %712, align 4 - %909 = load ptr, ptr %1, align 8 - %910 = getelementptr inbounds nuw i8, ptr %909, i64 32 - %911 = load ptr, ptr %910, align 8 - call void %911(ptr noundef nonnull align 8 dereferenceable(25) %1, i32 %.sroa.085.0, i32 %.sroa.0.0.copyload.i352, ptr noundef nonnull align 8 dereferenceable(26) %712) #18 +_ZNK4llvm11CCValAssign9getLocRegEv.exit: ; preds = %897 + %.sroa.0.0.copyload.i352 = load i32, ptr %703, align 4 + %900 = load ptr, ptr %1, align 8 + %901 = getelementptr inbounds nuw i8, ptr %900, i64 32 + %902 = load ptr, ptr %901, align 8 + call void %902(ptr noundef nonnull align 8 dereferenceable(25) %1, i32 %.sroa.085.0, i32 %.sroa.0.0.copyload.i352, ptr noundef nonnull align 8 dereferenceable(26) %703) #18 br label %"_ZN4llvm15SmallVectorImplISt8functionIFvvEEE12emplace_backIJZNKS_12CallLowering17handleAssignmentsERNS6_12ValueHandlerERNS0_INS6_7ArgInfoEEERNS_7CCStateERNS0_INS_11CCValAssignEEERNS_16MachineIRBuilderENS_8ArrayRefINS_8RegisterEEEE3$_0EEERS3_DpOT_.exit" -912: ; preds = %903 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(26) %.sroa.4.16..sroa_idx, ptr noundef nonnull align 8 dereferenceable(26) %712, i64 26, i1 false) - %913 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(16) %96) #18 - %914 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE8capacityEv(ptr noundef nonnull align 8 dereferenceable(16) %96) #18 - %.not.i353 = icmp ult i64 %913, %914 - br i1 %.not.i353, label %950, label %915 +903: ; preds = %894 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(26) %.sroa.4.16..sroa_idx, ptr noundef nonnull align 8 dereferenceable(26) %703, i64 26, i1 false) + %904 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(16) %96) #18 + %905 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE8capacityEv(ptr noundef nonnull align 8 dereferenceable(16) %96) #18 + %.not.i353 = icmp ult i64 %904, %905 + br i1 %.not.i353, label %941, label %906 -915: ; preds = %912 +906: ; preds = %903 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %70) - %916 = call noundef ptr @_ZN4llvm15SmallVectorBaseIjE13mallocForGrowEPvmmRm(ptr noundef nonnull align 8 dereferenceable(16) %96, ptr noundef nonnull %124, i64 noundef 0, i64 noundef 32, ptr noundef nonnull align 8 dereferenceable(8) %70) #18 - %917 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(16) %96) #18 - %918 = getelementptr inbounds %"class.std::function.307", ptr %916, i64 %917 - %919 = getelementptr inbounds nuw i8, ptr %918, i64 16 - %920 = getelementptr inbounds nuw i8, ptr %918, i64 24 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %918, i8 0, i64 32, i1 false) - %921 = call noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #21 - store ptr %1, ptr %921, align 16 - %.sroa.3.0..sroa_idx = getelementptr inbounds nuw i8, ptr %921, i64 8 + %907 = call noundef ptr @_ZN4llvm15SmallVectorBaseIjE13mallocForGrowEPvmmRm(ptr noundef nonnull align 8 dereferenceable(16) %96, ptr noundef nonnull %124, i64 noundef 0, i64 noundef 32, ptr noundef nonnull align 8 dereferenceable(8) %70) #18 + %908 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(16) %96) #18 + %909 = getelementptr inbounds %"class.std::function.307", ptr %907, i64 %908 + %910 = getelementptr inbounds nuw i8, ptr %909, i64 16 + %911 = getelementptr inbounds nuw i8, ptr %909, i64 24 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %909, i8 0, i64 32, i1 false) + %912 = call noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #21 + store ptr %1, ptr %912, align 16 + %.sroa.3.0..sroa_idx = getelementptr inbounds nuw i8, ptr %912, i64 8 store i32 %.sroa.085.0, ptr %.sroa.3.0..sroa_idx, align 8 - %.sroa.4.0..sroa_idx = getelementptr inbounds nuw i8, ptr %921, i64 12 + %.sroa.4.0..sroa_idx = getelementptr inbounds nuw i8, ptr %912, i64 12 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(30) %.sroa.4.0..sroa_idx, ptr noundef nonnull align 4 dereferenceable(30) %.sroa.4, i64 30, i1 false) - %.sroa.5.0..sroa_idx = getelementptr inbounds nuw i8, ptr %921, i64 42 + %.sroa.5.0..sroa_idx = getelementptr inbounds nuw i8, ptr %912, i64 42 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 2 dereferenceable(6) %.sroa.5.0..sroa_idx, ptr noundef nonnull align 2 dereferenceable(6) %.sroa.5, i64 6, i1 false) - store ptr %921, ptr %918, align 8 - store ptr @"_ZNSt17_Function_handlerIFvvEZNK4llvm12CallLowering17handleAssignmentsERNS2_12ValueHandlerERNS1_15SmallVectorImplINS2_7ArgInfoEEERNS1_7CCStateERNS5_INS1_11CCValAssignEEERNS1_16MachineIRBuilderENS1_8ArrayRefINS1_8RegisterEEEE3$_0E9_M_invokeERKSt9_Any_data", ptr %920, align 8 - store ptr @"_ZNSt17_Function_handlerIFvvEZNK4llvm12CallLowering17handleAssignmentsERNS2_12ValueHandlerERNS1_15SmallVectorImplINS2_7ArgInfoEEERNS1_7CCStateERNS5_INS1_11CCValAssignEEERNS1_16MachineIRBuilderENS1_8ArrayRefINS1_8RegisterEEEE3$_0E10_M_managerERSt9_Any_dataRKSL_St18_Manager_operation", ptr %919, align 8 - %922 = load ptr, ptr %96, align 8 - %923 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(16) %96) #18 - %924 = getelementptr inbounds %"class.std::function.307", ptr %922, i64 %923 - %.not7.i.i.i.i.i.i.i.i = icmp eq i64 %923, 0 + store ptr %912, ptr %909, align 8 + store ptr @"_ZNSt17_Function_handlerIFvvEZNK4llvm12CallLowering17handleAssignmentsERNS2_12ValueHandlerERNS1_15SmallVectorImplINS2_7ArgInfoEEERNS1_7CCStateERNS5_INS1_11CCValAssignEEERNS1_16MachineIRBuilderENS1_8ArrayRefINS1_8RegisterEEEE3$_0E9_M_invokeERKSt9_Any_data", ptr %911, align 8 + store ptr @"_ZNSt17_Function_handlerIFvvEZNK4llvm12CallLowering17handleAssignmentsERNS2_12ValueHandlerERNS1_15SmallVectorImplINS2_7ArgInfoEEERNS1_7CCStateERNS5_INS1_11CCValAssignEEERNS1_16MachineIRBuilderENS1_8ArrayRefINS1_8RegisterEEEE3$_0E10_M_managerERSt9_Any_dataRKSL_St18_Manager_operation", ptr %910, align 8 + %913 = load ptr, ptr %96, align 8 + %914 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(16) %96) #18 + %915 = getelementptr inbounds %"class.std::function.307", ptr %913, i64 %914 + %.not7.i.i.i.i.i.i.i.i = icmp eq i64 %914, 0 br i1 %.not7.i.i.i.i.i.i.i.i, label %_ZN4llvm23SmallVectorTemplateBaseISt8functionIFvvEELb0EE18uninitialized_moveIPS3_S6_EEvT_S7_T0_.exit.i.i.i, label %.lr.ph.i.i.i.i.i.i.i.i -.lr.ph.i.i.i.i.i.i.i.i: ; preds = %915, %_ZSt10_ConstructISt8functionIFvvEEJS2_EEvPT_DpOT0_.exit.i.i.i.i.i.i.i.i - %.09.i.i.i.i.i.i.i.i = phi ptr [ %934, %_ZSt10_ConstructISt8functionIFvvEEJS2_EEvPT_DpOT0_.exit.i.i.i.i.i.i.i.i ], [ %916, %915 ] - %.sroa.04.08.i.i.i.i.i.i.i.i = phi ptr [ %933, %_ZSt10_ConstructISt8functionIFvvEEJS2_EEvPT_DpOT0_.exit.i.i.i.i.i.i.i.i ], [ %922, %915 ] - %925 = getelementptr inbounds nuw i8, ptr %.09.i.i.i.i.i.i.i.i, i64 24 - %926 = getelementptr inbounds nuw i8, ptr %.sroa.04.08.i.i.i.i.i.i.i.i, i64 24 +.lr.ph.i.i.i.i.i.i.i.i: ; preds = %906, %_ZSt10_ConstructISt8functionIFvvEEJS2_EEvPT_DpOT0_.exit.i.i.i.i.i.i.i.i + %.09.i.i.i.i.i.i.i.i = phi ptr [ %925, %_ZSt10_ConstructISt8functionIFvvEEJS2_EEvPT_DpOT0_.exit.i.i.i.i.i.i.i.i ], [ %907, %906 ] + %.sroa.04.08.i.i.i.i.i.i.i.i = phi ptr [ %924, %_ZSt10_ConstructISt8functionIFvvEEJS2_EEvPT_DpOT0_.exit.i.i.i.i.i.i.i.i ], [ %913, %906 ] + %916 = getelementptr inbounds nuw i8, ptr %.09.i.i.i.i.i.i.i.i, i64 24 + %917 = getelementptr inbounds nuw i8, ptr %.sroa.04.08.i.i.i.i.i.i.i.i, i64 24 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %.09.i.i.i.i.i.i.i.i, i8 0, i64 24, i1 false) - %927 = load ptr, ptr %926, align 8 - store ptr %927, ptr %925, align 8 - %928 = getelementptr inbounds nuw i8, ptr %.sroa.04.08.i.i.i.i.i.i.i.i, i64 16 - %929 = load ptr, ptr %928, align 8 - %.not.i.i.not.i.i.i.i.i.i.i.i.i.i = icmp eq ptr %929, null - br i1 %.not.i.i.not.i.i.i.i.i.i.i.i.i.i, label %_ZSt10_ConstructISt8functionIFvvEEJS2_EEvPT_DpOT0_.exit.i.i.i.i.i.i.i.i, label %930 - -930: ; preds = %.lr.ph.i.i.i.i.i.i.i.i - %931 = getelementptr inbounds nuw i8, ptr %.09.i.i.i.i.i.i.i.i, i64 16 + %918 = load ptr, ptr %917, align 8 + store ptr %918, ptr %916, align 8 + %919 = getelementptr inbounds nuw i8, ptr %.sroa.04.08.i.i.i.i.i.i.i.i, i64 16 + %920 = load ptr, ptr %919, align 8 + %.not.i.i.not.i.i.i.i.i.i.i.i.i.i = icmp eq ptr %920, null + br i1 %.not.i.i.not.i.i.i.i.i.i.i.i.i.i, label %_ZSt10_ConstructISt8functionIFvvEEJS2_EEvPT_DpOT0_.exit.i.i.i.i.i.i.i.i, label %921 + +921: ; preds = %.lr.ph.i.i.i.i.i.i.i.i + %922 = getelementptr inbounds nuw i8, ptr %.09.i.i.i.i.i.i.i.i, i64 16 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %.09.i.i.i.i.i.i.i.i, ptr noundef nonnull align 8 dereferenceable(32) %.sroa.04.08.i.i.i.i.i.i.i.i, i64 16, i1 false) - %932 = load ptr, ptr %928, align 8 - store ptr %932, ptr %931, align 8 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %928, i8 0, i64 16, i1 false) + %923 = load ptr, ptr %919, align 8 + store ptr %923, ptr %922, align 8 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %919, i8 0, i64 16, i1 false) br label %_ZSt10_ConstructISt8functionIFvvEEJS2_EEvPT_DpOT0_.exit.i.i.i.i.i.i.i.i -_ZSt10_ConstructISt8functionIFvvEEJS2_EEvPT_DpOT0_.exit.i.i.i.i.i.i.i.i: ; preds = %930, %.lr.ph.i.i.i.i.i.i.i.i - %933 = getelementptr inbounds nuw i8, ptr %.sroa.04.08.i.i.i.i.i.i.i.i, i64 32 - %934 = getelementptr inbounds nuw i8, ptr %.09.i.i.i.i.i.i.i.i, i64 32 - %.not.i.i.i.i.i.i.i.i = icmp eq ptr %933, %924 +_ZSt10_ConstructISt8functionIFvvEEJS2_EEvPT_DpOT0_.exit.i.i.i.i.i.i.i.i: ; preds = %921, %.lr.ph.i.i.i.i.i.i.i.i + %924 = getelementptr inbounds nuw i8, ptr %.sroa.04.08.i.i.i.i.i.i.i.i, i64 32 + %925 = getelementptr inbounds nuw i8, ptr %.09.i.i.i.i.i.i.i.i, i64 32 + %.not.i.i.i.i.i.i.i.i = icmp eq ptr %924, %915 br i1 %.not.i.i.i.i.i.i.i.i, label %_ZN4llvm23SmallVectorTemplateBaseISt8functionIFvvEELb0EE18uninitialized_moveIPS3_S6_EEvT_S7_T0_.exit.i.i.i, label %.lr.ph.i.i.i.i.i.i.i.i, !llvm.loop !39 -_ZN4llvm23SmallVectorTemplateBaseISt8functionIFvvEELb0EE18uninitialized_moveIPS3_S6_EEvT_S7_T0_.exit.i.i.i: ; preds = %_ZSt10_ConstructISt8functionIFvvEEJS2_EEvPT_DpOT0_.exit.i.i.i.i.i.i.i.i, %915 - %935 = load ptr, ptr %96, align 8 - %936 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(16) %96) #18 - %.not4.i.i.i.i = icmp eq i64 %936, 0 +_ZN4llvm23SmallVectorTemplateBaseISt8functionIFvvEELb0EE18uninitialized_moveIPS3_S6_EEvT_S7_T0_.exit.i.i.i: ; preds = %_ZSt10_ConstructISt8functionIFvvEEJS2_EEvPT_DpOT0_.exit.i.i.i.i.i.i.i.i, %906 + %926 = load ptr, ptr %96, align 8 + %927 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(16) %96) #18 + %.not4.i.i.i.i = icmp eq i64 %927, 0 br i1 %.not4.i.i.i.i, label %_ZN4llvm23SmallVectorTemplateBaseISt8functionIFvvEELb0EE19moveElementsForGrowEPS3_.exit.i.i, label %.lr.ph.i.preheader.i.i.i .lr.ph.i.preheader.i.i.i: ; preds = %_ZN4llvm23SmallVectorTemplateBaseISt8functionIFvvEELb0EE18uninitialized_moveIPS3_S6_EEvT_S7_T0_.exit.i.i.i - %937 = getelementptr inbounds %"class.std::function.307", ptr %935, i64 %936 + %928 = getelementptr inbounds %"class.std::function.307", ptr %926, i64 %927 br label %.lr.ph.i.i.i.i .lr.ph.i.i.i.i: ; preds = %_ZNSt8functionIFvvEED2Ev.exit.i.i.i.i, %.lr.ph.i.preheader.i.i.i - %.05.i.i.i.i = phi ptr [ %938, %_ZNSt8functionIFvvEED2Ev.exit.i.i.i.i ], [ %937, %.lr.ph.i.preheader.i.i.i ] - %938 = getelementptr inbounds i8, ptr %.05.i.i.i.i, i64 -32 - %939 = getelementptr inbounds i8, ptr %.05.i.i.i.i, i64 -16 - %940 = load ptr, ptr %939, align 8 - %.not.i.i.i.i.i.i = icmp eq ptr %940, null - br i1 %.not.i.i.i.i.i.i, label %_ZNSt8functionIFvvEED2Ev.exit.i.i.i.i, label %941 - -941: ; preds = %.lr.ph.i.i.i.i - %942 = call noundef zeroext i1 %940(ptr noundef nonnull align 8 dereferenceable(32) %938, ptr noundef nonnull align 8 dereferenceable(32) %938, i32 noundef 3) #18 + %.05.i.i.i.i = phi ptr [ %929, %_ZNSt8functionIFvvEED2Ev.exit.i.i.i.i ], [ %928, %.lr.ph.i.preheader.i.i.i ] + %929 = getelementptr inbounds i8, ptr %.05.i.i.i.i, i64 -32 + %930 = getelementptr inbounds i8, ptr %.05.i.i.i.i, i64 -16 + %931 = load ptr, ptr %930, align 8 + %.not.i.i.i.i.i.i = icmp eq ptr %931, null + br i1 %.not.i.i.i.i.i.i, label %_ZNSt8functionIFvvEED2Ev.exit.i.i.i.i, label %932 + +932: ; preds = %.lr.ph.i.i.i.i + %933 = call noundef zeroext i1 %931(ptr noundef nonnull align 8 dereferenceable(32) %929, ptr noundef nonnull align 8 dereferenceable(32) %929, i32 noundef 3) #18 br label %_ZNSt8functionIFvvEED2Ev.exit.i.i.i.i -_ZNSt8functionIFvvEED2Ev.exit.i.i.i.i: ; preds = %941, %.lr.ph.i.i.i.i - %.not.i.i.i.i354 = icmp eq ptr %935, %938 +_ZNSt8functionIFvvEED2Ev.exit.i.i.i.i: ; preds = %932, %.lr.ph.i.i.i.i + %.not.i.i.i.i354 = icmp eq ptr %926, %929 br i1 %.not.i.i.i.i354, label %_ZN4llvm23SmallVectorTemplateBaseISt8functionIFvvEELb0EE19moveElementsForGrowEPS3_.exit.i.i, label %.lr.ph.i.i.i.i, !llvm.loop !40 _ZN4llvm23SmallVectorTemplateBaseISt8functionIFvvEELb0EE19moveElementsForGrowEPS3_.exit.i.i: ; preds = %_ZNSt8functionIFvvEED2Ev.exit.i.i.i.i, %_ZN4llvm23SmallVectorTemplateBaseISt8functionIFvvEELb0EE18uninitialized_moveIPS3_S6_EEvT_S7_T0_.exit.i.i.i - %943 = load i64, ptr %70, align 8 - %944 = load ptr, ptr %96, align 8 - %945 = icmp eq ptr %944, %124 - br i1 %945, label %"_ZN4llvm23SmallVectorTemplateBaseISt8functionIFvvEELb0EE18growAndEmplaceBackIJZNKS_12CallLowering17handleAssignmentsERNS6_12ValueHandlerERNS_15SmallVectorImplINS6_7ArgInfoEEERNS_7CCStateERNS9_INS_11CCValAssignEEERNS_16MachineIRBuilderENS_8ArrayRefINS_8RegisterEEEE3$_0EEERS3_DpOT_.exit.i", label %946 + %934 = load i64, ptr %70, align 8 + %935 = load ptr, ptr %96, align 8 + %936 = icmp eq ptr %935, %124 + br i1 %936, label %"_ZN4llvm23SmallVectorTemplateBaseISt8functionIFvvEELb0EE18growAndEmplaceBackIJZNKS_12CallLowering17handleAssignmentsERNS6_12ValueHandlerERNS_15SmallVectorImplINS6_7ArgInfoEEERNS_7CCStateERNS9_INS_11CCValAssignEEERNS_16MachineIRBuilderENS_8ArrayRefINS_8RegisterEEEE3$_0EEERS3_DpOT_.exit.i", label %937 -946: ; preds = %_ZN4llvm23SmallVectorTemplateBaseISt8functionIFvvEELb0EE19moveElementsForGrowEPS3_.exit.i.i - call void @free(ptr noundef %944) #18 +937: ; preds = %_ZN4llvm23SmallVectorTemplateBaseISt8functionIFvvEELb0EE19moveElementsForGrowEPS3_.exit.i.i + call void @free(ptr noundef %935) #18 br label %"_ZN4llvm23SmallVectorTemplateBaseISt8functionIFvvEELb0EE18growAndEmplaceBackIJZNKS_12CallLowering17handleAssignmentsERNS6_12ValueHandlerERNS_15SmallVectorImplINS6_7ArgInfoEEERNS_7CCStateERNS9_INS_11CCValAssignEEERNS_16MachineIRBuilderENS_8ArrayRefINS_8RegisterEEEE3$_0EEERS3_DpOT_.exit.i" -"_ZN4llvm23SmallVectorTemplateBaseISt8functionIFvvEELb0EE18growAndEmplaceBackIJZNKS_12CallLowering17handleAssignmentsERNS6_12ValueHandlerERNS_15SmallVectorImplINS6_7ArgInfoEEERNS_7CCStateERNS9_INS_11CCValAssignEEERNS_16MachineIRBuilderENS_8ArrayRefINS_8RegisterEEEE3$_0EEERS3_DpOT_.exit.i": ; preds = %946, %_ZN4llvm23SmallVectorTemplateBaseISt8functionIFvvEELb0EE19moveElementsForGrowEPS3_.exit.i.i - call void @_ZN4llvm15SmallVectorBaseIjE20set_allocation_rangeEPvm(ptr noundef nonnull align 8 dereferenceable(16) %96, ptr noundef %916, i64 noundef %943) #18 - %947 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(16) %96) #18 - %948 = add i64 %947, 1 - call void @_ZN4llvm15SmallVectorBaseIjE8set_sizeEm(ptr noundef nonnull align 8 dereferenceable(16) %96, i64 noundef %948) #18 - %949 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(16) %96) #18 +"_ZN4llvm23SmallVectorTemplateBaseISt8functionIFvvEELb0EE18growAndEmplaceBackIJZNKS_12CallLowering17handleAssignmentsERNS6_12ValueHandlerERNS_15SmallVectorImplINS6_7ArgInfoEEERNS_7CCStateERNS9_INS_11CCValAssignEEERNS_16MachineIRBuilderENS_8ArrayRefINS_8RegisterEEEE3$_0EEERS3_DpOT_.exit.i": ; preds = %937, %_ZN4llvm23SmallVectorTemplateBaseISt8functionIFvvEELb0EE19moveElementsForGrowEPS3_.exit.i.i + call void @_ZN4llvm15SmallVectorBaseIjE20set_allocation_rangeEPvm(ptr noundef nonnull align 8 dereferenceable(16) %96, ptr noundef %907, i64 noundef %934) #18 + %938 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(16) %96) #18 + %939 = add i64 %938, 1 + call void @_ZN4llvm15SmallVectorBaseIjE8set_sizeEm(ptr noundef nonnull align 8 dereferenceable(16) %96, i64 noundef %939) #18 + %940 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(16) %96) #18 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %70) br label %"_ZN4llvm15SmallVectorImplISt8functionIFvvEEE12emplace_backIJZNKS_12CallLowering17handleAssignmentsERNS6_12ValueHandlerERNS0_INS6_7ArgInfoEEERNS_7CCStateERNS0_INS_11CCValAssignEEERNS_16MachineIRBuilderENS_8ArrayRefINS_8RegisterEEEE3$_0EEERS3_DpOT_.exit" -950: ; preds = %912 - %951 = load ptr, ptr %96, align 8 - %952 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(16) %96) #18 - %953 = getelementptr inbounds %"class.std::function.307", ptr %951, i64 %952 - %954 = getelementptr inbounds nuw i8, ptr %953, i64 16 - %955 = getelementptr inbounds nuw i8, ptr %953, i64 24 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %953, i8 0, i64 32, i1 false) - %956 = call noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #21 - store ptr %1, ptr %956, align 16 - %.sroa.3.0..sroa_idx461 = getelementptr inbounds nuw i8, ptr %956, i64 8 +941: ; preds = %903 + %942 = load ptr, ptr %96, align 8 + %943 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(16) %96) #18 + %944 = getelementptr inbounds %"class.std::function.307", ptr %942, i64 %943 + %945 = getelementptr inbounds nuw i8, ptr %944, i64 16 + %946 = getelementptr inbounds nuw i8, ptr %944, i64 24 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %944, i8 0, i64 32, i1 false) + %947 = call noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #21 + store ptr %1, ptr %947, align 16 + %.sroa.3.0..sroa_idx461 = getelementptr inbounds nuw i8, ptr %947, i64 8 store i32 %.sroa.085.0, ptr %.sroa.3.0..sroa_idx461, align 8 - %.sroa.4.0..sroa_idx463 = getelementptr inbounds nuw i8, ptr %956, i64 12 + %.sroa.4.0..sroa_idx463 = getelementptr inbounds nuw i8, ptr %947, i64 12 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(30) %.sroa.4.0..sroa_idx463, ptr noundef nonnull align 4 dereferenceable(30) %.sroa.4, i64 30, i1 false) - %.sroa.5.0..sroa_idx464 = getelementptr inbounds nuw i8, ptr %956, i64 42 + %.sroa.5.0..sroa_idx464 = getelementptr inbounds nuw i8, ptr %947, i64 42 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 2 dereferenceable(6) %.sroa.5.0..sroa_idx464, ptr noundef nonnull align 2 dereferenceable(6) %.sroa.5, i64 6, i1 false) - store ptr %956, ptr %953, align 8 - store ptr @"_ZNSt17_Function_handlerIFvvEZNK4llvm12CallLowering17handleAssignmentsERNS2_12ValueHandlerERNS1_15SmallVectorImplINS2_7ArgInfoEEERNS1_7CCStateERNS5_INS1_11CCValAssignEEERNS1_16MachineIRBuilderENS1_8ArrayRefINS1_8RegisterEEEE3$_0E9_M_invokeERKSt9_Any_data", ptr %955, align 8 - store ptr @"_ZNSt17_Function_handlerIFvvEZNK4llvm12CallLowering17handleAssignmentsERNS2_12ValueHandlerERNS1_15SmallVectorImplINS2_7ArgInfoEEERNS1_7CCStateERNS5_INS1_11CCValAssignEEERNS1_16MachineIRBuilderENS1_8ArrayRefINS1_8RegisterEEEE3$_0E10_M_managerERSt9_Any_dataRKSL_St18_Manager_operation", ptr %954, align 8 - %957 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(16) %96) #18 - %958 = add i64 %957, 1 - call void @_ZN4llvm15SmallVectorBaseIjE8set_sizeEm(ptr noundef nonnull align 8 dereferenceable(16) %96, i64 noundef %958) #18 - %959 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(16) %96) #18 + store ptr %947, ptr %944, align 8 + store ptr @"_ZNSt17_Function_handlerIFvvEZNK4llvm12CallLowering17handleAssignmentsERNS2_12ValueHandlerERNS1_15SmallVectorImplINS2_7ArgInfoEEERNS1_7CCStateERNS5_INS1_11CCValAssignEEERNS1_16MachineIRBuilderENS1_8ArrayRefINS1_8RegisterEEEE3$_0E9_M_invokeERKSt9_Any_data", ptr %946, align 8 + store ptr @"_ZNSt17_Function_handlerIFvvEZNK4llvm12CallLowering17handleAssignmentsERNS2_12ValueHandlerERNS1_15SmallVectorImplINS2_7ArgInfoEEERNS1_7CCStateERNS5_INS1_11CCValAssignEEERNS1_16MachineIRBuilderENS1_8ArrayRefINS1_8RegisterEEEE3$_0E10_M_managerERSt9_Any_dataRKSL_St18_Manager_operation", ptr %945, align 8 + %948 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(16) %96) #18 + %949 = add i64 %948, 1 + call void @_ZN4llvm15SmallVectorBaseIjE8set_sizeEm(ptr noundef nonnull align 8 dereferenceable(16) %96, i64 noundef %949) #18 + %950 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(16) %96) #18 br label %"_ZN4llvm15SmallVectorImplISt8functionIFvvEEE12emplace_backIJZNKS_12CallLowering17handleAssignmentsERNS6_12ValueHandlerERNS0_INS6_7ArgInfoEEERNS_7CCStateERNS0_INS_11CCValAssignEEERNS_16MachineIRBuilderENS_8ArrayRefINS_8RegisterEEEE3$_0EEERS3_DpOT_.exit" -"_ZN4llvm15SmallVectorImplISt8functionIFvvEEE12emplace_backIJZNKS_12CallLowering17handleAssignmentsERNS6_12ValueHandlerERNS0_INS6_7ArgInfoEEERNS_7CCStateERNS0_INS_11CCValAssignEEERNS_16MachineIRBuilderENS_8ArrayRefINS_8RegisterEEEE3$_0EEERS3_DpOT_.exit": ; preds = %950, %"_ZN4llvm23SmallVectorTemplateBaseISt8functionIFvvEELb0EE18growAndEmplaceBackIJZNKS_12CallLowering17handleAssignmentsERNS6_12ValueHandlerERNS_15SmallVectorImplINS6_7ArgInfoEEERNS_7CCStateERNS9_INS_11CCValAssignEEERNS_16MachineIRBuilderENS_8ArrayRefINS_8RegisterEEEE3$_0EEERS3_DpOT_.exit.i", %876, %_ZNK4llvm11CCValAssign15getLocMemOffsetEv.exit336, %_ZNK4llvm11CCValAssign9getLocRegEv.exit, %897, %801, %805 - %960 = load i8, ptr %716, align 4 - %961 = and i8 %960, 126 - %962 = icmp eq i8 %961, 22 - br i1 %962, label %963, label %977 - -963: ; preds = %"_ZN4llvm15SmallVectorImplISt8functionIFvvEEE12emplace_backIJZNKS_12CallLowering17handleAssignmentsERNS6_12ValueHandlerERNS0_INS6_7ArgInfoEEERNS_7CCStateERNS0_INS_11CCValAssignEEERNS_16MachineIRBuilderENS_8ArrayRefINS_8RegisterEEEE3$_0EEERS3_DpOT_.exit" - %964 = load i8, ptr %127, align 8 - %965 = trunc i8 %964 to i1 - br i1 %965, label %.thread523, label %977 - -.thread523: ; preds = %963 - %966 = load ptr, ptr %2, align 8 - %967 = getelementptr inbounds nuw %"struct.llvm::CallLowering::ArgInfo", ptr %966, i64 %indvars.iv581 - %968 = load ptr, ptr %967, align 8 - %969 = call i8 @_ZNK4llvm10DataLayout15getABITypeAlignEPNS_4TypeE(ptr noundef nonnull align 8 dereferenceable(512) %122, ptr noundef %968) #18 +"_ZN4llvm15SmallVectorImplISt8functionIFvvEEE12emplace_backIJZNKS_12CallLowering17handleAssignmentsERNS6_12ValueHandlerERNS0_INS6_7ArgInfoEEERNS_7CCStateERNS0_INS_11CCValAssignEEERNS_16MachineIRBuilderENS_8ArrayRefINS_8RegisterEEEE3$_0EEERS3_DpOT_.exit": ; preds = %941, %"_ZN4llvm23SmallVectorTemplateBaseISt8functionIFvvEELb0EE18growAndEmplaceBackIJZNKS_12CallLowering17handleAssignmentsERNS6_12ValueHandlerERNS_15SmallVectorImplINS6_7ArgInfoEEERNS_7CCStateERNS9_INS_11CCValAssignEEERNS_16MachineIRBuilderENS_8ArrayRefINS_8RegisterEEEE3$_0EEERS3_DpOT_.exit.i", %867, %_ZNK4llvm11CCValAssign15getLocMemOffsetEv.exit336, %_ZNK4llvm11CCValAssign9getLocRegEv.exit, %888, %792, %796 + %951 = load i8, ptr %707, align 4 + %952 = and i8 %951, 126 + %953 = icmp eq i8 %952, 22 + br i1 %953, label %954, label %968 + +954: ; preds = %"_ZN4llvm15SmallVectorImplISt8functionIFvvEEE12emplace_backIJZNKS_12CallLowering17handleAssignmentsERNS6_12ValueHandlerERNS0_INS6_7ArgInfoEEERNS_7CCStateERNS0_INS_11CCValAssignEEERNS_16MachineIRBuilderENS_8ArrayRefINS_8RegisterEEEE3$_0EEERS3_DpOT_.exit" + %955 = load i8, ptr %127, align 8 + %956 = trunc i8 %955 to i1 + br i1 %956, label %.thread523, label %968 + +.thread523: ; preds = %954 + %957 = load ptr, ptr %2, align 8 + %958 = getelementptr inbounds nuw %"struct.llvm::CallLowering::ArgInfo", ptr %957, i64 %indvars.iv581 + %959 = load ptr, ptr %958, align 8 + %960 = call i8 @_ZNK4llvm10DataLayout15getABITypeAlignEPNS_4TypeE(ptr noundef nonnull align 8 dereferenceable(512) %122, ptr noundef %959) #18 call void @_ZN4llvm18MachinePointerInfo15getUnknownStackERNS_15MachineFunctionE(ptr dead_on_unwind nonnull writable sret(%"struct.llvm::MachinePointerInfo") align 8 %113, ptr noundef nonnull align 8 dereferenceable(1041) %118) #18 - %970 = load ptr, ptr %2, align 8 - %971 = getelementptr inbounds nuw %"struct.llvm::CallLowering::ArgInfo", ptr %970, i64 %indvars.iv581 - %972 = getelementptr inbounds nuw i8, ptr %971, i64 128 - %973 = load ptr, ptr %972, align 8 - %.sroa.012.0.copyload = load i32, ptr %973, align 4 + %961 = load ptr, ptr %2, align 8 + %962 = getelementptr inbounds nuw %"struct.llvm::CallLowering::ArgInfo", ptr %961, i64 %indvars.iv581 + %963 = getelementptr inbounds nuw i8, ptr %962, i64 128 + %964 = load ptr, ptr %963, align 8 + %.sroa.012.0.copyload = load i32, ptr %964, align 4 store i32 %.sroa.012.0.copyload, ptr %114, align 8 store i32 1, ptr %161, align 8 - %974 = getelementptr inbounds nuw i8, ptr %971, i64 96 - %975 = load ptr, ptr %974, align 8 - %.sroa.011.0.copyload = load i32, ptr %975, align 4 + %965 = getelementptr inbounds nuw i8, ptr %962, i64 96 + %966 = load ptr, ptr %965, align 8 + %.sroa.011.0.copyload = load i32, ptr %966, align 4 store i32 %.sroa.011.0.copyload, ptr %115, align 8 store i32 0, ptr %162, align 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %116, i8 0, i64 32, i1 false) - %976 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder9buildLoadERKNS_5DstOpERKNS_5SrcOpENS_18MachinePointerInfoENS_5AlignENS_17MachineMemOperand5FlagsERKNS_9AAMDNodesE(ptr noundef nonnull align 8 dereferenceable(88) %5, ptr noundef nonnull align 8 dereferenceable(12) %114, ptr noundef nonnull align 8 dereferenceable(20) %115, ptr noundef nonnull byval(%"struct.llvm::MachinePointerInfo") align 8 %113, i8 %969, i16 noundef zeroext 0, ptr noundef nonnull align 8 dereferenceable(32) %116) #18 + %967 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder9buildLoadERKNS_5DstOpERKNS_5SrcOpENS_18MachinePointerInfoENS_5AlignENS_17MachineMemOperand5FlagsERKNS_9AAMDNodesE(ptr noundef nonnull align 8 dereferenceable(88) %5, ptr noundef nonnull align 8 dereferenceable(12) %114, ptr noundef nonnull align 8 dereferenceable(20) %115, ptr noundef nonnull byval(%"struct.llvm::MachinePointerInfo") align 8 %113, i8 %960, i16 noundef zeroext 0, ptr noundef nonnull align 8 dereferenceable(32) %116) #18 br label %.loopexit540 -977: ; preds = %963, %"_ZN4llvm15SmallVectorImplISt8functionIFvvEEE12emplace_backIJZNKS_12CallLowering17handleAssignmentsERNS6_12ValueHandlerERNS0_INS6_7ArgInfoEEERNS_7CCStateERNS0_INS_11CCValAssignEEERNS_16MachineIRBuilderENS_8ArrayRefINS_8RegisterEEEE3$_0EEERS3_DpOT_.exit" - %978 = trunc nuw i8 %.2269 to i1 +968: ; preds = %954, %"_ZN4llvm15SmallVectorImplISt8functionIFvvEEE12emplace_backIJZNKS_12CallLowering17handleAssignmentsERNS6_12ValueHandlerERNS0_INS6_7ArgInfoEEERNS_7CCStateERNS0_INS_11CCValAssignEEERNS_16MachineIRBuilderENS_8ArrayRefINS_8RegisterEEEE3$_0EEERS3_DpOT_.exit" + %969 = trunc nuw i8 %.2269 to i1 %indvars.iv.next580 = add nuw nsw i64 %indvars.iv579, 1 - %979 = icmp samesign uge i64 %indvars.iv.next580, %697 - %or.cond567.not = or i1 %979, %978 - br i1 %or.cond567.not, label %.loopexit540.loopexit, label %699, !llvm.loop !41 + %970 = icmp samesign uge i64 %indvars.iv.next580, %688 + %or.cond567.not = or i1 %970, %969 + br i1 %or.cond567.not, label %.loopexit540.loopexit, label %690, !llvm.loop !41 -.loopexit540.loopexit: ; preds = %977 - %980 = trunc nuw i8 %.2269 to i1 +.loopexit540.loopexit: ; preds = %968 + %971 = trunc nuw i8 %.2269 to i1 br label %.loopexit540 -.loopexit540: ; preds = %.loopexit540.loopexit, %683, %.thread523 - %.1268 = phi i1 [ true, %.thread523 ], [ false, %683 ], [ %980, %.loopexit540.loopexit ] - %981 = load i8, ptr %127, align 8 - %982 = trunc i8 %981 to i1 - br i1 %982, label %983, label %_ZNK4llvm3EVTneES0_.exit.thread526 +.loopexit540: ; preds = %.loopexit540.loopexit, %674, %.thread523 + %.1268 = phi i1 [ true, %.thread523 ], [ false, %674 ], [ %971, %.loopexit540.loopexit ] + %972 = load i8, ptr %127, align 8 + %973 = trunc i8 %972 to i1 + br i1 %973, label %974, label %_ZNK4llvm3EVTneES0_.exit.thread526 -983: ; preds = %.loopexit540 +974: ; preds = %.loopexit540 %.not.i356 = icmp eq i16 %235, %.sroa.0.0.copyload.i282 - br i1 %.not.i356, label %984, label %_ZNK4llvm3EVTneES0_.exit.thread + br i1 %.not.i356, label %975, label %_ZNK4llvm3EVTneES0_.exit.thread -984: ; preds = %983 - %985 = icmp ne i16 %.sroa.0.0.copyload.i282, 0 - %986 = icmp eq ptr %236, null - %or.cond537.not597 = select i1 %985, i1 true, i1 %986 +975: ; preds = %974 + %976 = icmp ne i16 %.sroa.0.0.copyload.i282, 0 + %977 = icmp eq ptr %236, null + %or.cond537.not597 = select i1 %976, i1 true, i1 %977 %brmerge = select i1 %or.cond537.not597, i1 true, i1 %.1268 - br i1 %brmerge, label %_ZNK4llvm3EVTneES0_.exit.thread526, label %987 - -_ZNK4llvm3EVTneES0_.exit.thread: ; preds = %983 - br i1 %.1268, label %_ZNK4llvm3EVTneES0_.exit.thread526, label %987 - -987: ; preds = %984, %_ZNK4llvm3EVTneES0_.exit.thread - %988 = load ptr, ptr %2, align 8 - %989 = getelementptr inbounds nuw %"struct.llvm::CallLowering::ArgInfo", ptr %988, i64 %indvars.iv581, i32 3 - %990 = load ptr, ptr %989, align 8 - %991 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(16) %989) #18 - %992 = load ptr, ptr %2, align 8 - %993 = getelementptr inbounds nuw %"struct.llvm::CallLowering::ArgInfo", ptr %992, i64 %indvars.iv581, i32 2 - %994 = load ptr, ptr %993, align 8 - %995 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(16) %993) #18 + br i1 %brmerge, label %_ZNK4llvm3EVTneES0_.exit.thread526, label %978 + +_ZNK4llvm3EVTneES0_.exit.thread: ; preds = %974 + br i1 %.1268, label %_ZNK4llvm3EVTneES0_.exit.thread526, label %978 + +978: ; preds = %975, %_ZNK4llvm3EVTneES0_.exit.thread + %979 = load ptr, ptr %2, align 8 + %980 = getelementptr inbounds nuw %"struct.llvm::CallLowering::ArgInfo", ptr %979, i64 %indvars.iv581, i32 3 + %981 = load ptr, ptr %980, align 8 + %982 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(16) %980) #18 + %983 = load ptr, ptr %2, align 8 + %984 = getelementptr inbounds nuw %"struct.llvm::CallLowering::ArgInfo", ptr %983, i64 %indvars.iv581, i32 2 + %985 = load ptr, ptr %984, align 8 + %986 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(16) %984) #18 %.sroa.0.0.copyload = load i64, ptr %98, align 8 - %996 = load ptr, ptr %2, align 8 - %997 = getelementptr inbounds nuw %"struct.llvm::CallLowering::ArgInfo", ptr %996, i64 %indvars.iv581, i32 0, i32 1 - %998 = load ptr, ptr %997, align 8 - %.sroa.0.0.copyload451 = load i64, ptr %998, align 4 + %987 = load ptr, ptr %2, align 8 + %988 = getelementptr inbounds nuw %"struct.llvm::CallLowering::ArgInfo", ptr %987, i64 %indvars.iv581, i32 0, i32 1 + %989 = load ptr, ptr %988, align 8 + %.sroa.0.0.copyload451 = load i64, ptr %989, align 4 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %27) call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %28) call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %29) @@ -4871,945 +4854,945 @@ _ZNK4llvm3EVTneES0_.exit.thread: ; preds = %983 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %68) call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %69) store i64 %.sroa.0.0.copyload, ptr %27, align 8 - %999 = load ptr, ptr %136, align 8 + %990 = load ptr, ptr %136, align 8 %spec.select.i.i358 = icmp eq i64 %.sroa.0.0.copyload, %240 - br i1 %spec.select.i.i358, label %_ZL17buildCopyFromRegsRN4llvm16MachineIRBuilderENS_8ArrayRefINS_8RegisterEEES4_NS_3LLTES5_NS_3ISD10ArgFlagsTyE.exit, label %1000 - -1000: ; preds = %987 - %1001 = and i64 %.sroa.0.0.copyload, -7 - %spec.select.i.i.i.i359 = icmp ne i64 %1001, 0 - %1002 = and i64 %.sroa.0.0.copyload, 2 - %.not.i.not.i.i360 = icmp eq i64 %1002, 0 - %1003 = and i64 %.sroa.0.0.copyload, 6 - %1004 = icmp eq i64 %1003, 2 - %or.cond.i.i361 = and i1 %spec.select.i.i.i.i359, %1004 - %1005 = and i64 %.sroa.0.0.copyload, 1 - %1006 = icmp ne i64 %1005, 0 - %or.cond14.i.i362 = or i1 %1006, %or.cond.i.i361 - br i1 %or.cond14.i.i362, label %1007, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i363 - -1007: ; preds = %1000 - %.not.i1.i.i402 = icmp eq i64 %1005, 0 - br i1 %.not.i1.i.i402, label %1010, label %1008 - -1008: ; preds = %1007 - %1009 = lshr i64 %.sroa.0.0.copyload, 3 + br i1 %spec.select.i.i358, label %_ZL17buildCopyFromRegsRN4llvm16MachineIRBuilderENS_8ArrayRefINS_8RegisterEEES4_NS_3LLTES5_NS_3ISD10ArgFlagsTyE.exit, label %991 + +991: ; preds = %978 + %992 = and i64 %.sroa.0.0.copyload, -7 + %spec.select.i.i.i.i359 = icmp ne i64 %992, 0 + %993 = and i64 %.sroa.0.0.copyload, 2 + %.not.i.not.i.i360 = icmp eq i64 %993, 0 + %994 = and i64 %.sroa.0.0.copyload, 6 + %995 = icmp eq i64 %994, 2 + %or.cond.i.i361 = and i1 %spec.select.i.i.i.i359, %995 + %996 = and i64 %.sroa.0.0.copyload, 1 + %997 = icmp ne i64 %996, 0 + %or.cond14.i.i362 = or i1 %997, %or.cond.i.i361 + br i1 %or.cond14.i.i362, label %998, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i363 + +998: ; preds = %991 + %.not.i1.i.i402 = icmp eq i64 %996, 0 + br i1 %.not.i1.i.i402, label %1001, label %999 + +999: ; preds = %998 + %1000 = lshr i64 %.sroa.0.0.copyload, 3 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit.i369 -1010: ; preds = %1007 - %1011 = and i64 %.sroa.0.0.copyload, 4 - %.not1.i2.i.i403 = icmp eq i64 %1011, 0 - br i1 %.not1.i2.i.i403, label %1015, label %1012 +1001: ; preds = %998 + %1002 = and i64 %.sroa.0.0.copyload, 4 + %.not1.i2.i.i403 = icmp eq i64 %1002, 0 + br i1 %.not1.i2.i.i403, label %1006, label %1003 -1012: ; preds = %1010 - %1013 = lshr i64 %.sroa.0.0.copyload, 19 - %1014 = and i64 %1013, 65535 - %spec.select.i.i.i404 = select i1 %.not.i.not.i.i360, i64 %1013, i64 %1014 +1003: ; preds = %1001 + %1004 = lshr i64 %.sroa.0.0.copyload, 19 + %1005 = and i64 %1004, 65535 + %spec.select.i.i.i404 = select i1 %.not.i.not.i.i360, i64 %1004, i64 %1005 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit.i369 -1015: ; preds = %1010 - %1016 = lshr i64 %.sroa.0.0.copyload, 3 - %1017 = and i64 %1016, 65535 +1006: ; preds = %1001 + %1007 = lshr i64 %.sroa.0.0.copyload, 3 + %1008 = and i64 %1007, 65535 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit.i369 -_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i363: ; preds = %1000 - %1018 = lshr i64 %.sroa.0.0.copyload, 3 - %.sroa.0.0.insert.ext.i.i.i.i364 = and i64 %1018, 65535 - %1019 = select i1 %.not.i.not.i.i360, i64 2251799813685248, i64 576460752303423488 - %1020 = and i64 %1019, %.sroa.0.0.copyload - %.not1.i4.i.i365 = icmp ne i64 %1020, 0 - %1021 = and i64 %.sroa.0.0.copyload, 4 - %.not1.i8.i.i366 = icmp eq i64 %1021, 0 - %1022 = lshr i64 %.sroa.0.0.copyload, 19 - %1023 = and i64 %1022, 65535 - %spec.select.i10.i.i367 = select i1 %.not.i.not.i.i360, i64 %1022, i64 %1023 +_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i363: ; preds = %991 + %1009 = lshr i64 %.sroa.0.0.copyload, 3 + %.sroa.0.0.insert.ext.i.i.i.i364 = and i64 %1009, 65535 + %1010 = select i1 %.not.i.not.i.i360, i64 2251799813685248, i64 576460752303423488 + %1011 = and i64 %1010, %.sroa.0.0.copyload + %.not1.i4.i.i365 = icmp ne i64 %1011, 0 + %1012 = and i64 %.sroa.0.0.copyload, 4 + %.not1.i8.i.i366 = icmp eq i64 %1012, 0 + %1013 = lshr i64 %.sroa.0.0.copyload, 19 + %1014 = and i64 %1013, 65535 + %spec.select.i10.i.i367 = select i1 %.not.i.not.i.i360, i64 %1013, i64 %1014 %.0.in.i6.i.i368 = select i1 %.not1.i8.i.i366, i64 %.sroa.0.0.insert.ext.i.i.i.i364, i64 %spec.select.i10.i.i367 - %1024 = mul nuw nsw i64 %.0.in.i6.i.i368, %.sroa.0.0.insert.ext.i.i.i.i364 - %1025 = zext i1 %.not1.i4.i.i365 to i8 + %1015 = mul nuw nsw i64 %.0.in.i6.i.i368, %.sroa.0.0.insert.ext.i.i.i.i364 + %1016 = zext i1 %.not1.i4.i.i365 to i8 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit.i369 -_ZNK4llvm3LLT13getSizeInBitsEv.exit.i369: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i363, %1015, %1012, %1008 - %.sroa.012.0.in.i.i370 = phi i64 [ %1024, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i363 ], [ %1009, %1008 ], [ %1017, %1015 ], [ %spec.select.i.i.i404, %1012 ] - %.sroa.3.0.i.i371 = phi i8 [ %1025, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i363 ], [ 0, %1008 ], [ 0, %1015 ], [ 0, %1012 ] - %1026 = and i64 %240, -7 - %spec.select.i.i.i251.i = icmp ne i64 %1026, 0 - %1027 = and i64 %240, 2 - %.not.i.not.i252.i = icmp eq i64 %1027, 0 - %1028 = and i64 %240, 6 - %1029 = icmp eq i64 %1028, 2 - %or.cond.i253.i = and i1 %spec.select.i.i.i251.i, %1029 - %1030 = and i64 %240, 1 - %1031 = icmp ne i64 %1030, 0 - %or.cond14.i254.i = or i1 %1031, %or.cond.i253.i - br i1 %or.cond14.i254.i, label %1032, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i255.i - -1032: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit.i369 - %.not.i1.i266.i = icmp eq i64 %1030, 0 - br i1 %.not.i1.i266.i, label %1035, label %1033 - -1033: ; preds = %1032 - %1034 = lshr i64 %240, 3 +_ZNK4llvm3LLT13getSizeInBitsEv.exit.i369: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i363, %1006, %1003, %999 + %.sroa.012.0.in.i.i370 = phi i64 [ %1015, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i363 ], [ %1000, %999 ], [ %1008, %1006 ], [ %spec.select.i.i.i404, %1003 ] + %.sroa.3.0.i.i371 = phi i8 [ %1016, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i363 ], [ 0, %999 ], [ 0, %1006 ], [ 0, %1003 ] + %1017 = and i64 %240, -7 + %spec.select.i.i.i251.i = icmp ne i64 %1017, 0 + %1018 = and i64 %240, 2 + %.not.i.not.i252.i = icmp eq i64 %1018, 0 + %1019 = and i64 %240, 6 + %1020 = icmp eq i64 %1019, 2 + %or.cond.i253.i = and i1 %spec.select.i.i.i251.i, %1020 + %1021 = and i64 %240, 1 + %1022 = icmp ne i64 %1021, 0 + %or.cond14.i254.i = or i1 %1022, %or.cond.i253.i + br i1 %or.cond14.i254.i, label %1023, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i255.i + +1023: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit.i369 + %.not.i1.i266.i = icmp eq i64 %1021, 0 + br i1 %.not.i1.i266.i, label %1026, label %1024 + +1024: ; preds = %1023 + %1025 = lshr i64 %240, 3 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit269.i -1035: ; preds = %1032 - %1036 = and i64 %240, 4 - %.not1.i2.i267.i = icmp eq i64 %1036, 0 - br i1 %.not1.i2.i267.i, label %1040, label %1037 +1026: ; preds = %1023 + %1027 = and i64 %240, 4 + %.not1.i2.i267.i = icmp eq i64 %1027, 0 + br i1 %.not1.i2.i267.i, label %1031, label %1028 -1037: ; preds = %1035 - %1038 = lshr i64 %240, 19 - %1039 = and i64 %1038, 65535 - %spec.select.i.i268.i = select i1 %.not.i.not.i252.i, i64 %1038, i64 %1039 +1028: ; preds = %1026 + %1029 = lshr i64 %240, 19 + %1030 = and i64 %1029, 65535 + %spec.select.i.i268.i = select i1 %.not.i.not.i252.i, i64 %1029, i64 %1030 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit269.i -1040: ; preds = %1035 - %1041 = lshr i64 %240, 3 - %1042 = and i64 %1041, 65535 +1031: ; preds = %1026 + %1032 = lshr i64 %240, 3 + %1033 = and i64 %1032, 65535 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit269.i _ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i255.i: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit.i369 - %1043 = lshr i64 %240, 3 - %.sroa.0.0.insert.ext.i.i.i256.i = and i64 %1043, 65535 - %1044 = select i1 %.not.i.not.i252.i, i64 2251799813685248, i64 576460752303423488 - %1045 = and i64 %1044, %240 - %.not1.i4.i257.i = icmp ne i64 %1045, 0 - %1046 = and i64 %240, 4 - %.not1.i8.i258.i = icmp eq i64 %1046, 0 - %1047 = lshr i64 %240, 19 - %1048 = and i64 %1047, 65535 - %spec.select.i10.i259.i = select i1 %.not.i.not.i252.i, i64 %1047, i64 %1048 + %1034 = lshr i64 %240, 3 + %.sroa.0.0.insert.ext.i.i.i256.i = and i64 %1034, 65535 + %1035 = select i1 %.not.i.not.i252.i, i64 2251799813685248, i64 576460752303423488 + %1036 = and i64 %1035, %240 + %.not1.i4.i257.i = icmp ne i64 %1036, 0 + %1037 = and i64 %240, 4 + %.not1.i8.i258.i = icmp eq i64 %1037, 0 + %1038 = lshr i64 %240, 19 + %1039 = and i64 %1038, 65535 + %spec.select.i10.i259.i = select i1 %.not.i.not.i252.i, i64 %1038, i64 %1039 %.0.in.i6.i260.i = select i1 %.not1.i8.i258.i, i64 %.sroa.0.0.insert.ext.i.i.i256.i, i64 %spec.select.i10.i259.i - %1049 = mul nuw nsw i64 %.0.in.i6.i260.i, %.sroa.0.0.insert.ext.i.i.i256.i - %1050 = zext i1 %.not1.i4.i257.i to i8 + %1040 = mul nuw nsw i64 %.0.in.i6.i260.i, %.sroa.0.0.insert.ext.i.i.i256.i + %1041 = zext i1 %.not1.i4.i257.i to i8 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit269.i -_ZNK4llvm3LLT13getSizeInBitsEv.exit269.i: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i255.i, %1040, %1037, %1033 - %.sroa.012.0.in.i261.i = phi i64 [ %1049, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i255.i ], [ %1034, %1033 ], [ %1042, %1040 ], [ %spec.select.i.i268.i, %1037 ] - %.sroa.3.0.i262.i = phi i8 [ %1050, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i255.i ], [ 0, %1033 ], [ 0, %1040 ], [ 0, %1037 ] - %1051 = xor i64 %.sroa.012.0.in.i261.i, %.sroa.012.0.in.i.i370 - %1052 = and i64 %1051, 4294967295 - %1053 = icmp eq i64 %1052, 0 - %1054 = icmp eq i8 %.sroa.3.0.i262.i, %.sroa.3.0.i.i371 - %or.cond.i372 = select i1 %1053, i1 %1054, i1 false - %1055 = icmp eq i64 %991, 1 - %or.cond157.i = and i1 %1055, %or.cond.i372 - %1056 = icmp eq i64 %995, 1 - %or.cond158.i = and i1 %1056, %or.cond157.i - br i1 %or.cond158.i, label %1057, label %.critedge.i - -1057: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit269.i - %.sroa.0202.0.copyload.i = load i32, ptr %990, align 4 - %.sroa.0201.0.copyload.i = load i32, ptr %994, align 4 +_ZNK4llvm3LLT13getSizeInBitsEv.exit269.i: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i255.i, %1031, %1028, %1024 + %.sroa.012.0.in.i261.i = phi i64 [ %1040, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i255.i ], [ %1025, %1024 ], [ %1033, %1031 ], [ %spec.select.i.i268.i, %1028 ] + %.sroa.3.0.i262.i = phi i8 [ %1041, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i255.i ], [ 0, %1024 ], [ 0, %1031 ], [ 0, %1028 ] + %1042 = xor i64 %.sroa.012.0.in.i261.i, %.sroa.012.0.in.i.i370 + %1043 = and i64 %1042, 4294967295 + %1044 = icmp eq i64 %1043, 0 + %1045 = icmp eq i8 %.sroa.3.0.i262.i, %.sroa.3.0.i.i371 + %or.cond.i372 = select i1 %1044, i1 %1045, i1 false + %1046 = icmp eq i64 %982, 1 + %or.cond157.i = and i1 %1046, %or.cond.i372 + %1047 = icmp eq i64 %986, 1 + %or.cond158.i = and i1 %1047, %or.cond157.i + br i1 %or.cond158.i, label %1048, label %.critedge.i + +1048: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit269.i + %.sroa.0202.0.copyload.i = load i32, ptr %981, align 4 + %.sroa.0201.0.copyload.i = load i32, ptr %985, align 4 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %25) call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %26) store i32 %.sroa.0202.0.copyload.i, ptr %25, align 8 store i32 1, ptr %.sroa.295.0..sroa_idx.i, align 8 store i32 %.sroa.0201.0.copyload.i, ptr %26, align 8 store i32 0, ptr %.sroa.291.0..sroa_idx.i, align 8 - %1058 = load ptr, ptr %5, align 8 - %1059 = getelementptr inbounds nuw i8, ptr %1058, i64 32 - %1060 = load ptr, ptr %1059, align 8 - %1061 = call { ptr, ptr } %1060(ptr noundef nonnull align 8 dereferenceable(88) %5, i32 noundef 79, ptr nonnull %25, i64 1, ptr nonnull %26, i64 1, i64 0) #18 + %1049 = load ptr, ptr %5, align 8 + %1050 = getelementptr inbounds nuw i8, ptr %1049, i64 32 + %1051 = load ptr, ptr %1050, align 8 + %1052 = call { ptr, ptr } %1051(ptr noundef nonnull align 8 dereferenceable(88) %5, i32 noundef 79, ptr nonnull %25, i64 1, ptr nonnull %26, i64 1, i64 0) #18 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %25) call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %26) br label %_ZL17buildCopyFromRegsRN4llvm16MachineIRBuilderENS_8ArrayRefINS_8RegisterEEES4_NS_3LLTES5_NS_3ISD10ArgFlagsTyE.exit .critedge.i: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit269.i - %1062 = and i64 %.sroa.0.0.copyload, 4 - %1063 = icmp ne i64 %1062, 0 - %1064 = and i1 %spec.select.i.i.i.i359, %1063 - %1065 = and i64 %240, 4 - %1066 = icmp ne i64 %1065, 0 - %1067 = and i1 %spec.select.i.i.i251.i, %1066 - %1068 = xor i1 %1067, %1064 - br i1 %1068, label %.critedge2.i377, label %1069 - -1069: ; preds = %.critedge.i - %.not.i.i373 = icmp eq i64 %1005, 0 - br i1 %.not.i.i373, label %1072, label %1070 - -1070: ; preds = %1069 - %1071 = lshr i64 %.sroa.0.0.copyload, 3 + %1053 = and i64 %.sroa.0.0.copyload, 4 + %1054 = icmp ne i64 %1053, 0 + %1055 = and i1 %spec.select.i.i.i.i359, %1054 + %1056 = and i64 %240, 4 + %1057 = icmp ne i64 %1056, 0 + %1058 = and i1 %spec.select.i.i.i251.i, %1057 + %1059 = xor i1 %1058, %1055 + br i1 %1059, label %.critedge2.i377, label %1060 + +1060: ; preds = %.critedge.i + %.not.i.i373 = icmp eq i64 %996, 0 + br i1 %.not.i.i373, label %1063, label %1061 + +1061: ; preds = %1060 + %1062 = lshr i64 %.sroa.0.0.copyload, 3 br label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit.i374 -1072: ; preds = %1069 - %.not1.i.i401 = icmp eq i64 %1062, 0 - br i1 %.not1.i.i401, label %1076, label %1073 +1063: ; preds = %1060 + %.not1.i.i401 = icmp eq i64 %1053, 0 + br i1 %.not1.i.i401, label %1067, label %1064 -1073: ; preds = %1072 - %1074 = lshr i64 %.sroa.0.0.copyload, 19 - %1075 = and i64 %1074, 65535 - %spec.select.i272.i = select i1 %.not.i.not.i.i360, i64 %1074, i64 %1075 +1064: ; preds = %1063 + %1065 = lshr i64 %.sroa.0.0.copyload, 19 + %1066 = and i64 %1065, 65535 + %spec.select.i272.i = select i1 %.not.i.not.i.i360, i64 %1065, i64 %1066 br label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit.i374 -1076: ; preds = %1072 - %1077 = lshr i64 %.sroa.0.0.copyload, 3 - %1078 = and i64 %1077, 65535 +1067: ; preds = %1063 + %1068 = lshr i64 %.sroa.0.0.copyload, 3 + %1069 = and i64 %1068, 65535 br label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit.i374 -_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit.i374: ; preds = %1076, %1073, %1070 - %.0.in.i.i375 = phi i64 [ %1071, %1070 ], [ %1078, %1076 ], [ %spec.select.i272.i, %1073 ] +_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit.i374: ; preds = %1067, %1064, %1061 + %.0.in.i.i375 = phi i64 [ %1062, %1061 ], [ %1069, %1067 ], [ %spec.select.i272.i, %1064 ] %.0.i.i376 = trunc i64 %.0.in.i.i375 to i32 - %.not.i273.i = icmp eq i64 %1030, 0 - br i1 %.not.i273.i, label %1081, label %1079 + %.not.i273.i = icmp eq i64 %1021, 0 + br i1 %.not.i273.i, label %1072, label %1070 -1079: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit.i374 - %1080 = lshr i64 %240, 3 +1070: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit.i374 + %1071 = lshr i64 %240, 3 br label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit279.i -1081: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit.i374 - %.not1.i276.i = icmp eq i64 %1065, 0 - br i1 %.not1.i276.i, label %1085, label %1082 +1072: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit.i374 + %.not1.i276.i = icmp eq i64 %1056, 0 + br i1 %.not1.i276.i, label %1076, label %1073 -1082: ; preds = %1081 - %1083 = lshr i64 %240, 19 - %1084 = and i64 %1083, 65535 - %spec.select.i278.i = select i1 %.not.i.not.i252.i, i64 %1083, i64 %1084 +1073: ; preds = %1072 + %1074 = lshr i64 %240, 19 + %1075 = and i64 %1074, 65535 + %spec.select.i278.i = select i1 %.not.i.not.i252.i, i64 %1074, i64 %1075 br label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit279.i -1085: ; preds = %1081 - %1086 = lshr i64 %240, 3 - %1087 = and i64 %1086, 65535 +1076: ; preds = %1072 + %1077 = lshr i64 %240, 3 + %1078 = and i64 %1077, 65535 br label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit279.i -_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit279.i: ; preds = %1085, %1082, %1079 - %.0.in.i274.i = phi i64 [ %1080, %1079 ], [ %1087, %1085 ], [ %spec.select.i278.i, %1082 ] +_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit279.i: ; preds = %1076, %1073, %1070 + %.0.in.i274.i = phi i64 [ %1071, %1070 ], [ %1078, %1076 ], [ %spec.select.i278.i, %1073 ] %.0.i275.i = trunc i64 %.0.in.i274.i to i32 - %1088 = icmp ugt i32 %.0.i.i376, %.0.i275.i - br i1 %1088, label %1089, label %.critedge2.i377 - -1089: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit279.i - br i1 %1064, label %1090, label %1100 - -1090: ; preds = %1089 - %1091 = select i1 %.not.i.not.i.i360, i64 2251799813685248, i64 576460752303423488 - %1092 = and i64 %1091, %.sroa.0.0.copyload - %1093 = select i1 %.not.i.not.i252.i, i64 2251799813685248, i64 576460752303423488 - %1094 = and i64 %1093, %240 - %.not1.i285.i = icmp ne i64 %1094, 0 - %1095 = xor i64 %.sroa.0.0.copyload, %240 - %1096 = and i64 %1095, 524280 - %1097 = icmp eq i64 %1096, 0 - %1098 = icmp eq i64 %1092, 0 - %1099 = xor i1 %.not1.i285.i, %1098 - %or.cond160.i = and i1 %1097, %1099 - %or.cond161.i = and i1 %1055, %or.cond160.i - %or.cond163.i = and i1 %1056, %or.cond161.i - br i1 %or.cond163.i, label %1101, label %.thread.i - -1100: ; preds = %1089 - %or.cond164.i = and i1 %1055, %1056 - br i1 %or.cond164.i, label %1101, label %.critedge2.thread.i398 - -1101: ; preds = %1100, %1090 - %.sroa.0194.0.copyload.i = load i32, ptr %994, align 4 - %1102 = icmp slt i32 %.sroa.0194.0.copyload.i, 0 - br i1 %1102, label %1103, label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i399 - -1103: ; preds = %1101 - %1104 = getelementptr inbounds nuw i8, ptr %999, i64 456 - %1105 = and i32 %.sroa.0194.0.copyload.i, 2147483647 - %1106 = zext nneg i32 %1105 to i64 - %1107 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(25) %1104) #18 - %1108 = icmp ugt i64 %1107, %1106 - br i1 %1108, label %1109, label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i399 - -1109: ; preds = %1103 - %1110 = load ptr, ptr %1104, align 8 - %1111 = getelementptr inbounds nuw %"class.llvm::LLT", ptr %1110, i64 %1106 - %1112 = load i64, ptr %1111, align 8 + %1079 = icmp ugt i32 %.0.i.i376, %.0.i275.i + br i1 %1079, label %1080, label %.critedge2.i377 + +1080: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit279.i + br i1 %1055, label %1081, label %1091 + +1081: ; preds = %1080 + %1082 = select i1 %.not.i.not.i.i360, i64 2251799813685248, i64 576460752303423488 + %1083 = and i64 %1082, %.sroa.0.0.copyload + %1084 = select i1 %.not.i.not.i252.i, i64 2251799813685248, i64 576460752303423488 + %1085 = and i64 %1084, %240 + %.not1.i285.i = icmp ne i64 %1085, 0 + %1086 = xor i64 %.sroa.0.0.copyload, %240 + %1087 = and i64 %1086, 524280 + %1088 = icmp eq i64 %1087, 0 + %1089 = icmp eq i64 %1083, 0 + %1090 = xor i1 %.not1.i285.i, %1089 + %or.cond160.i = and i1 %1088, %1090 + %or.cond161.i = and i1 %1046, %or.cond160.i + %or.cond163.i = and i1 %1047, %or.cond161.i + br i1 %or.cond163.i, label %1092, label %.thread.i + +1091: ; preds = %1080 + %or.cond164.i = and i1 %1046, %1047 + br i1 %or.cond164.i, label %1092, label %.critedge2.thread.i398 + +1092: ; preds = %1091, %1081 + %.sroa.0194.0.copyload.i = load i32, ptr %985, align 4 + %1093 = icmp slt i32 %.sroa.0194.0.copyload.i, 0 + br i1 %1093, label %1094, label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i399 + +1094: ; preds = %1092 + %1095 = getelementptr inbounds nuw i8, ptr %990, i64 456 + %1096 = and i32 %.sroa.0194.0.copyload.i, 2147483647 + %1097 = zext nneg i32 %1096 to i64 + %1098 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(25) %1095) #18 + %1099 = icmp ugt i64 %1098, %1097 + br i1 %1099, label %1100, label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i399 + +1100: ; preds = %1094 + %1101 = load ptr, ptr %1095, align 8 + %1102 = getelementptr inbounds nuw %"class.llvm::LLT", ptr %1101, i64 %1097 + %1103 = load i64, ptr %1102, align 8 br label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i399 -_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i399: ; preds = %1109, %1103, %1101 - %.sroa.04.0.i.i400 = phi i64 [ %1112, %1109 ], [ 0, %1103 ], [ 0, %1101 ] - %1113 = and i64 %.sroa.0.0.copyload451, 2 - %.not176.i = icmp eq i64 %1113, 0 - br i1 %.not176.i, label %1131, label %1114 +_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i399: ; preds = %1100, %1094, %1092 + %.sroa.04.0.i.i400 = phi i64 [ %1103, %1100 ], [ 0, %1094 ], [ 0, %1092 ] + %1104 = and i64 %.sroa.0.0.copyload451, 2 + %.not176.i = icmp eq i64 %1104, 0 + br i1 %.not176.i, label %1122, label %1105 -1114: ; preds = %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i399 +1105: ; preds = %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i399 store i64 %.sroa.04.0.i.i400, ptr %28, align 8 store i32 0, ptr %163, align 8 store i32 %.sroa.0194.0.copyload.i, ptr %29, align 8 store i32 0, ptr %164, align 8 - br i1 %.not.i273.i, label %1117, label %1115 + br i1 %.not.i273.i, label %1108, label %1106 -1115: ; preds = %1114 - %1116 = lshr i64 %240, 3 +1106: ; preds = %1105 + %1107 = lshr i64 %240, 3 br label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit294.i -1117: ; preds = %1114 - %.not1.i291.i = icmp eq i64 %1065, 0 - br i1 %.not1.i291.i, label %1121, label %1118 +1108: ; preds = %1105 + %.not1.i291.i = icmp eq i64 %1056, 0 + br i1 %.not1.i291.i, label %1112, label %1109 -1118: ; preds = %1117 - %1119 = lshr i64 %240, 19 - %1120 = and i64 %1119, 65535 - %spec.select.i293.i = select i1 %.not.i.not.i252.i, i64 %1119, i64 %1120 +1109: ; preds = %1108 + %1110 = lshr i64 %240, 19 + %1111 = and i64 %1110, 65535 + %spec.select.i293.i = select i1 %.not.i.not.i252.i, i64 %1110, i64 %1111 br label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit294.i -1121: ; preds = %1117 - %1122 = lshr i64 %240, 3 - %1123 = and i64 %1122, 65535 +1112: ; preds = %1108 + %1113 = lshr i64 %240, 3 + %1114 = and i64 %1113, 65535 br label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit294.i -_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit294.i: ; preds = %1121, %1118, %1115 - %.0.in.i289.i = phi i64 [ %1116, %1115 ], [ %1123, %1121 ], [ %spec.select.i293.i, %1118 ] - %1124 = load ptr, ptr %5, align 8 - %1125 = getelementptr inbounds nuw i8, ptr %1124, i64 32 - %1126 = load ptr, ptr %1125, align 8 - %1127 = call { ptr, ptr } %1126(ptr noundef nonnull align 8 dereferenceable(88) %5, i32 noundef 49, ptr nonnull align 8 dereferenceable(12) %28, i64 1, ptr nonnull align 8 dereferenceable(20) %29, i64 1, i64 0) #18 - %1128 = extractvalue { ptr, ptr } %1127, 0 - %1129 = extractvalue { ptr, ptr } %1127, 1 - %1130 = and i64 %.0.in.i289.i, 4294967295 +_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit294.i: ; preds = %1112, %1109, %1106 + %.0.in.i289.i = phi i64 [ %1107, %1106 ], [ %1114, %1112 ], [ %spec.select.i293.i, %1109 ] + %1115 = load ptr, ptr %5, align 8 + %1116 = getelementptr inbounds nuw i8, ptr %1115, i64 32 + %1117 = load ptr, ptr %1116, align 8 + %1118 = call { ptr, ptr } %1117(ptr noundef nonnull align 8 dereferenceable(88) %5, i32 noundef 49, ptr nonnull align 8 dereferenceable(12) %28, i64 1, ptr nonnull align 8 dereferenceable(20) %29, i64 1, i64 0) #18 + %1119 = extractvalue { ptr, ptr } %1118, 0 + %1120 = extractvalue { ptr, ptr } %1118, 1 + %1121 = and i64 %.0.in.i289.i, 4294967295 call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %8) store i32 1, ptr %8, align 8, !alias.scope !42 store ptr null, ptr %165, align 8, !alias.scope !42 - store i64 %1130, ptr %166, align 8, !alias.scope !42 - call void @_ZN4llvm12MachineInstr10addOperandERNS_15MachineFunctionERKNS_14MachineOperandE(ptr noundef nonnull align 8 dereferenceable(70) %1129, ptr noundef nonnull align 8 dereferenceable(1041) %1128, ptr noundef nonnull align 8 dereferenceable(32) %8) #18 + store i64 %1121, ptr %166, align 8, !alias.scope !42 + call void @_ZN4llvm12MachineInstr10addOperandERNS_15MachineFunctionERKNS_14MachineOperandE(ptr noundef nonnull align 8 dereferenceable(70) %1120, ptr noundef nonnull align 8 dereferenceable(1041) %1119, ptr noundef nonnull align 8 dereferenceable(32) %8) #18 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %8) br label %.sink.split.i -1131: ; preds = %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i399 - %1132 = and i64 %.sroa.0.0.copyload451, 1 - %.not177.i = icmp eq i64 %1132, 0 - br i1 %.not177.i, label %1148, label %1133 +1122: ; preds = %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i399 + %1123 = and i64 %.sroa.0.0.copyload451, 1 + %.not177.i = icmp eq i64 %1123, 0 + br i1 %.not177.i, label %1139, label %1124 -1133: ; preds = %1131 +1124: ; preds = %1122 store i64 %.sroa.04.0.i.i400, ptr %30, align 8 store i32 0, ptr %167, align 8 store i32 %.sroa.0194.0.copyload.i, ptr %31, align 8 store i32 0, ptr %168, align 8 - br i1 %.not.i273.i, label %1136, label %1134 + br i1 %.not.i273.i, label %1127, label %1125 -1134: ; preds = %1133 - %1135 = lshr i64 %240, 3 +1125: ; preds = %1124 + %1126 = lshr i64 %240, 3 br label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit301.i -1136: ; preds = %1133 - %.not1.i298.i = icmp eq i64 %1065, 0 - br i1 %.not1.i298.i, label %1140, label %1137 +1127: ; preds = %1124 + %.not1.i298.i = icmp eq i64 %1056, 0 + br i1 %.not1.i298.i, label %1131, label %1128 -1137: ; preds = %1136 - %1138 = lshr i64 %240, 19 - %1139 = and i64 %1138, 65535 - %spec.select.i300.i = select i1 %.not.i.not.i252.i, i64 %1138, i64 %1139 +1128: ; preds = %1127 + %1129 = lshr i64 %240, 19 + %1130 = and i64 %1129, 65535 + %spec.select.i300.i = select i1 %.not.i.not.i252.i, i64 %1129, i64 %1130 br label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit301.i -1140: ; preds = %1136 - %1141 = lshr i64 %240, 3 - %1142 = and i64 %1141, 65535 +1131: ; preds = %1127 + %1132 = lshr i64 %240, 3 + %1133 = and i64 %1132, 65535 br label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit301.i -_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit301.i: ; preds = %1140, %1137, %1134 - %.0.in.i296.i = phi i64 [ %1135, %1134 ], [ %1142, %1140 ], [ %spec.select.i300.i, %1137 ] +_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit301.i: ; preds = %1131, %1128, %1125 + %.0.in.i296.i = phi i64 [ %1126, %1125 ], [ %1133, %1131 ], [ %spec.select.i300.i, %1128 ] %.0.i297.i = trunc i64 %.0.in.i296.i to i32 - %1143 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder15buildAssertZExtERKNS_5DstOpERKNS_5SrcOpEj(ptr noundef nonnull align 8 dereferenceable(88) %5, ptr noundef nonnull align 8 dereferenceable(12) %30, ptr noundef nonnull align 8 dereferenceable(20) %31, i32 noundef %.0.i297.i) - %.pre586 = extractvalue { ptr, ptr } %1143, 1 + %1134 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder15buildAssertZExtERKNS_5DstOpERKNS_5SrcOpEj(ptr noundef nonnull align 8 dereferenceable(88) %5, ptr noundef nonnull align 8 dereferenceable(12) %30, ptr noundef nonnull align 8 dereferenceable(20) %31, i32 noundef %.0.i297.i) + %.pre586 = extractvalue { ptr, ptr } %1134, 1 br label %.sink.split.i .sink.split.i: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit301.i, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit294.i - %.pre-phi = phi ptr [ %.pre586, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit301.i ], [ %1129, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit294.i ] - %1144 = getelementptr inbounds nuw i8, ptr %.pre-phi, i64 32 - %1145 = load ptr, ptr %1144, align 8 - %1146 = getelementptr inbounds nuw i8, ptr %1145, i64 4 - %1147 = load i32, ptr %1146, align 4 - br label %1148 - -1148: ; preds = %.sink.split.i, %1131 - %.sroa.0194.0.i = phi i32 [ %.sroa.0194.0.copyload.i, %1131 ], [ %1147, %.sink.split.i ] - %.sroa.0184.0.copyload.i = load i32, ptr %990, align 4 - %1149 = icmp slt i32 %.sroa.0184.0.copyload.i, 0 - br i1 %1149, label %1150, label %_ZNK4llvm3LLT9isPointerEv.exit.thread.i - -1150: ; preds = %1148 - %1151 = getelementptr inbounds nuw i8, ptr %999, i64 456 - %1152 = and i32 %.sroa.0184.0.copyload.i, 2147483647 - %1153 = zext nneg i32 %1152 to i64 - %1154 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(25) %1151) #18 - %1155 = icmp ugt i64 %1154, %1153 - br i1 %1155, label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit303.i, label %_ZNK4llvm3LLT9isPointerEv.exit.thread.i - -_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit303.i: ; preds = %1150 - %1156 = load ptr, ptr %1151, align 8 - %1157 = getelementptr inbounds nuw %"class.llvm::LLT", ptr %1156, i64 %1153 - %1158 = load i64, ptr %1157, align 8 - store i64 %1158, ptr %32, align 8 - %1159 = and i64 %1158, -7 - %spec.select.i.i304.i = icmp ne i64 %1159, 0 - %1160 = and i64 %1158, 6 - %1161 = icmp eq i64 %1160, 2 - %or.cond166.i = and i1 %spec.select.i.i304.i, %1161 - br i1 %or.cond166.i, label %1162, label %_ZNK4llvm3LLT9isPointerEv.exit.thread.i - -1162: ; preds = %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit303.i - %1163 = call { i64, i8 } @_ZNK4llvm3LLT13getSizeInBitsEv(ptr noundef nonnull align 8 dereferenceable(8) %32) - %.fca.0.extract179.i = extractvalue { i64, i8 } %1163, 0 - %.fca.1.extract180.i = extractvalue { i64, i8 } %1163, 1 + %.pre-phi = phi ptr [ %.pre586, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit301.i ], [ %1120, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit294.i ] + %1135 = getelementptr inbounds nuw i8, ptr %.pre-phi, i64 32 + %1136 = load ptr, ptr %1135, align 8 + %1137 = getelementptr inbounds nuw i8, ptr %1136, i64 4 + %1138 = load i32, ptr %1137, align 4 + br label %1139 + +1139: ; preds = %.sink.split.i, %1122 + %.sroa.0194.0.i = phi i32 [ %.sroa.0194.0.copyload.i, %1122 ], [ %1138, %.sink.split.i ] + %.sroa.0184.0.copyload.i = load i32, ptr %981, align 4 + %1140 = icmp slt i32 %.sroa.0184.0.copyload.i, 0 + br i1 %1140, label %1141, label %_ZNK4llvm3LLT9isPointerEv.exit.thread.i + +1141: ; preds = %1139 + %1142 = getelementptr inbounds nuw i8, ptr %990, i64 456 + %1143 = and i32 %.sroa.0184.0.copyload.i, 2147483647 + %1144 = zext nneg i32 %1143 to i64 + %1145 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(25) %1142) #18 + %1146 = icmp ugt i64 %1145, %1144 + br i1 %1146, label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit303.i, label %_ZNK4llvm3LLT9isPointerEv.exit.thread.i + +_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit303.i: ; preds = %1141 + %1147 = load ptr, ptr %1142, align 8 + %1148 = getelementptr inbounds nuw %"class.llvm::LLT", ptr %1147, i64 %1144 + %1149 = load i64, ptr %1148, align 8 + store i64 %1149, ptr %32, align 8 + %1150 = and i64 %1149, -7 + %spec.select.i.i304.i = icmp ne i64 %1150, 0 + %1151 = and i64 %1149, 6 + %1152 = icmp eq i64 %1151, 2 + %or.cond166.i = and i1 %spec.select.i.i304.i, %1152 + br i1 %or.cond166.i, label %1153, label %_ZNK4llvm3LLT9isPointerEv.exit.thread.i + +1153: ; preds = %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit303.i + %1154 = call { i64, i8 } @_ZNK4llvm3LLT13getSizeInBitsEv(ptr noundef nonnull align 8 dereferenceable(8) %32) + %.fca.0.extract179.i = extractvalue { i64, i8 } %1154, 0 + %.fca.1.extract180.i = extractvalue { i64, i8 } %1154, 1 store i64 %.fca.0.extract179.i, ptr %33, align 8 store i8 %.fca.1.extract180.i, ptr %.sroa.2182.0..sroa_idx.i, align 8 - %1164 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %33) #18 - %1165 = shl i64 %1164, 3 - %1166 = and i64 %1165, 34359738360 - %1167 = or disjoint i64 %1166, 1 - %.sroa.0178.0.copyload.i = load i32, ptr %990, align 4 - store i64 %1167, ptr %34, align 8 + %1155 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %33) #18 + %1156 = shl i64 %1155, 3 + %1157 = and i64 %1156, 34359738360 + %1158 = or disjoint i64 %1157, 1 + %.sroa.0178.0.copyload.i = load i32, ptr %981, align 4 + store i64 %1158, ptr %34, align 8 store i32 0, ptr %171, align 8 store i32 %.sroa.0194.0.i, ptr %35, align 8 store i32 0, ptr %172, align 8 - %1168 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder10buildTruncERKNS_5DstOpERKNS_5SrcOpESt8optionalIjE(ptr noundef nonnull align 8 dereferenceable(88) %5, ptr noundef nonnull align 8 dereferenceable(12) %34, ptr noundef nonnull align 8 dereferenceable(20) %35, i64 0) #18 - %1169 = extractvalue { ptr, ptr } %1168, 0 - %1170 = extractvalue { ptr, ptr } %1168, 1 + %1159 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder10buildTruncERKNS_5DstOpERKNS_5SrcOpESt8optionalIjE(ptr noundef nonnull align 8 dereferenceable(88) %5, ptr noundef nonnull align 8 dereferenceable(12) %34, ptr noundef nonnull align 8 dereferenceable(20) %35, i64 0) #18 + %1160 = extractvalue { ptr, ptr } %1159, 0 + %1161 = extractvalue { ptr, ptr } %1159, 1 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %23) call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %24) store i32 %.sroa.0178.0.copyload.i, ptr %23, align 8 store i32 1, ptr %.sroa.280.0..sroa_idx.i, align 8 - store ptr %1169, ptr %24, align 8 - store ptr %1170, ptr %.sroa.275.0..sroa_idx.i, align 8 + store ptr %1160, ptr %24, align 8 + store ptr %1161, ptr %.sroa.275.0..sroa_idx.i, align 8 store i32 1, ptr %.sroa.376.0..sroa_idx.i, align 8 - %1171 = load ptr, ptr %5, align 8 - %1172 = getelementptr inbounds nuw i8, ptr %1171, i64 32 - %1173 = load ptr, ptr %1172, align 8 - %1174 = call { ptr, ptr } %1173(ptr noundef nonnull align 8 dereferenceable(88) %5, i32 noundef 78, ptr nonnull %23, i64 1, ptr nonnull %24, i64 1, i64 0) #18 + %1162 = load ptr, ptr %5, align 8 + %1163 = getelementptr inbounds nuw i8, ptr %1162, i64 32 + %1164 = load ptr, ptr %1163, align 8 + %1165 = call { ptr, ptr } %1164(ptr noundef nonnull align 8 dereferenceable(88) %5, i32 noundef 78, ptr nonnull %23, i64 1, ptr nonnull %24, i64 1, i64 0) #18 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %23) call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %24) br label %_ZL17buildCopyFromRegsRN4llvm16MachineIRBuilderENS_8ArrayRefINS_8RegisterEEES4_NS_3LLTES5_NS_3ISD10ArgFlagsTyE.exit -_ZNK4llvm3LLT9isPointerEv.exit.thread.i: ; preds = %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit303.i, %1150, %1148 - %.sroa.0173.0.copyload.i = load i32, ptr %990, align 4 +_ZNK4llvm3LLT9isPointerEv.exit.thread.i: ; preds = %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit303.i, %1141, %1139 + %.sroa.0173.0.copyload.i = load i32, ptr %981, align 4 store i32 %.sroa.0173.0.copyload.i, ptr %36, align 8 store i32 1, ptr %169, align 8 store i32 %.sroa.0194.0.i, ptr %37, align 8 store i32 0, ptr %170, align 8 - %1175 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder10buildTruncERKNS_5DstOpERKNS_5SrcOpESt8optionalIjE(ptr noundef nonnull align 8 dereferenceable(88) %5, ptr noundef nonnull align 8 dereferenceable(12) %36, ptr noundef nonnull align 8 dereferenceable(20) %37, i64 0) #18 + %1166 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder10buildTruncERKNS_5DstOpERKNS_5SrcOpESt8optionalIjE(ptr noundef nonnull align 8 dereferenceable(88) %5, ptr noundef nonnull align 8 dereferenceable(12) %36, ptr noundef nonnull align 8 dereferenceable(20) %37, i64 0) #18 br label %_ZL17buildCopyFromRegsRN4llvm16MachineIRBuilderENS_8ArrayRefINS_8RegisterEEES4_NS_3LLTES5_NS_3ISD10ArgFlagsTyE.exit .critedge2.i377: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit279.i, %.critedge.i - br i1 %1067, label %1241, label %1176 - -.critedge2.thread.i398: ; preds = %1100 - br i1 %1067, label %.thread212.i, label %.thread208.i - -1176: ; preds = %.critedge2.i377 - br i1 %1064, label %.thread.i, label %.thread208.i - -.thread208.i: ; preds = %1176, %.critedge2.thread.i398 - %.sroa.0169.0.copyload.i = load i32, ptr %990, align 4 - %1177 = icmp slt i32 %.sroa.0169.0.copyload.i, 0 - br i1 %1177, label %1178, label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit311.i - -1178: ; preds = %.thread208.i - %1179 = getelementptr inbounds nuw i8, ptr %999, i64 456 - %1180 = and i32 %.sroa.0169.0.copyload.i, 2147483647 - %1181 = zext nneg i32 %1180 to i64 - %1182 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(25) %1179) #18 - %1183 = icmp ugt i64 %1182, %1181 - br i1 %1183, label %1184, label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit311.i - -1184: ; preds = %1178 - %1185 = load ptr, ptr %1179, align 8 - %1186 = getelementptr inbounds nuw %"class.llvm::LLT", ptr %1185, i64 %1181 - %1187 = load i64, ptr %1186, align 8 + br i1 %1058, label %1232, label %1167 + +.critedge2.thread.i398: ; preds = %1091 + br i1 %1058, label %.thread212.i, label %.thread208.i + +1167: ; preds = %.critedge2.i377 + br i1 %1055, label %.thread.i, label %.thread208.i + +.thread208.i: ; preds = %1167, %.critedge2.thread.i398 + %.sroa.0169.0.copyload.i = load i32, ptr %981, align 4 + %1168 = icmp slt i32 %.sroa.0169.0.copyload.i, 0 + br i1 %1168, label %1169, label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit311.i + +1169: ; preds = %.thread208.i + %1170 = getelementptr inbounds nuw i8, ptr %990, i64 456 + %1171 = and i32 %.sroa.0169.0.copyload.i, 2147483647 + %1172 = zext nneg i32 %1171 to i64 + %1173 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(25) %1170) #18 + %1174 = icmp ugt i64 %1173, %1172 + br i1 %1174, label %1175, label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit311.i + +1175: ; preds = %1169 + %1176 = load ptr, ptr %1170, align 8 + %1177 = getelementptr inbounds nuw %"class.llvm::LLT", ptr %1176, i64 %1172 + %1178 = load i64, ptr %1177, align 8 br label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit311.i -_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit311.i: ; preds = %1184, %1178, %.thread208.i - %.sroa.04.0.i310.i = phi i64 [ %1187, %1184 ], [ 0, %1178 ], [ 0, %.thread208.i ] - br i1 %or.cond14.i.i362, label %1188, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i316.i +_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit311.i: ; preds = %1175, %1169, %.thread208.i + %.sroa.04.0.i310.i = phi i64 [ %1178, %1175 ], [ 0, %1169 ], [ 0, %.thread208.i ] + br i1 %or.cond14.i.i362, label %1179, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i316.i -1188: ; preds = %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit311.i - %.not.i1.i327.i = icmp eq i64 %1005, 0 - br i1 %.not.i1.i327.i, label %1191, label %1189 +1179: ; preds = %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit311.i + %.not.i1.i327.i = icmp eq i64 %996, 0 + br i1 %.not.i1.i327.i, label %1182, label %1180 -1189: ; preds = %1188 - %1190 = lshr i64 %.sroa.0.0.copyload, 3 +1180: ; preds = %1179 + %1181 = lshr i64 %.sroa.0.0.copyload, 3 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit330.i -1191: ; preds = %1188 - %.not1.i2.i328.i = icmp eq i64 %1062, 0 - br i1 %.not1.i2.i328.i, label %1195, label %1192 +1182: ; preds = %1179 + %.not1.i2.i328.i = icmp eq i64 %1053, 0 + br i1 %.not1.i2.i328.i, label %1186, label %1183 -1192: ; preds = %1191 - %1193 = lshr i64 %.sroa.0.0.copyload, 19 - %1194 = and i64 %1193, 65535 - %spec.select.i.i329.i = select i1 %.not.i.not.i.i360, i64 %1193, i64 %1194 +1183: ; preds = %1182 + %1184 = lshr i64 %.sroa.0.0.copyload, 19 + %1185 = and i64 %1184, 65535 + %spec.select.i.i329.i = select i1 %.not.i.not.i.i360, i64 %1184, i64 %1185 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit330.i -1195: ; preds = %1191 - %1196 = lshr i64 %.sroa.0.0.copyload, 3 - %1197 = and i64 %1196, 65535 +1186: ; preds = %1182 + %1187 = lshr i64 %.sroa.0.0.copyload, 3 + %1188 = and i64 %1187, 65535 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit330.i _ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i316.i: ; preds = %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit311.i - %1198 = lshr i64 %.sroa.0.0.copyload, 3 - %.sroa.0.0.insert.ext.i.i.i317.i = and i64 %1198, 65535 - %.not1.i8.i319.i = icmp eq i64 %1062, 0 - %1199 = lshr i64 %.sroa.0.0.copyload, 19 - %1200 = and i64 %1199, 65535 - %spec.select.i10.i320.i = select i1 %.not.i.not.i.i360, i64 %1199, i64 %1200 + %1189 = lshr i64 %.sroa.0.0.copyload, 3 + %.sroa.0.0.insert.ext.i.i.i317.i = and i64 %1189, 65535 + %.not1.i8.i319.i = icmp eq i64 %1053, 0 + %1190 = lshr i64 %.sroa.0.0.copyload, 19 + %1191 = and i64 %1190, 65535 + %spec.select.i10.i320.i = select i1 %.not.i.not.i.i360, i64 %1190, i64 %1191 %.0.in.i6.i321.i = select i1 %.not1.i8.i319.i, i64 %.sroa.0.0.insert.ext.i.i.i317.i, i64 %spec.select.i10.i320.i - %1201 = mul nuw nsw i64 %.0.in.i6.i321.i, %.sroa.0.0.insert.ext.i.i.i317.i + %1192 = mul nuw nsw i64 %.0.in.i6.i321.i, %.sroa.0.0.insert.ext.i.i.i317.i br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit330.i -_ZNK4llvm3LLT13getSizeInBitsEv.exit330.i: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i316.i, %1195, %1192, %1189 - %.sroa.012.0.in.i322.i = phi i64 [ %1201, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i316.i ], [ %1190, %1189 ], [ %1197, %1195 ], [ %spec.select.i.i329.i, %1192 ] - %1202 = mul i64 %.sroa.012.0.in.i322.i, %995 - %1203 = and i64 %1202, 4294967295 - %1204 = and i64 %.sroa.04.0.i310.i, -7 - %spec.select.i.i.i331.i = icmp ne i64 %1204, 0 - %1205 = and i64 %.sroa.04.0.i310.i, 2 - %.not.i.not.i332.i = icmp eq i64 %1205, 0 - %1206 = and i64 %.sroa.04.0.i310.i, 6 - %1207 = icmp eq i64 %1206, 2 - %or.cond.i333.i = and i1 %spec.select.i.i.i331.i, %1207 - %1208 = and i64 %.sroa.04.0.i310.i, 1 - %1209 = icmp ne i64 %1208, 0 - %or.cond14.i334.i = or i1 %1209, %or.cond.i333.i - br i1 %or.cond14.i334.i, label %1210, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i335.i - -1210: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit330.i - %.not.i1.i346.i = icmp eq i64 %1208, 0 - br i1 %.not.i1.i346.i, label %1213, label %1211 - -1211: ; preds = %1210 - %1212 = lshr i64 %.sroa.04.0.i310.i, 3 +_ZNK4llvm3LLT13getSizeInBitsEv.exit330.i: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i316.i, %1186, %1183, %1180 + %.sroa.012.0.in.i322.i = phi i64 [ %1192, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i316.i ], [ %1181, %1180 ], [ %1188, %1186 ], [ %spec.select.i.i329.i, %1183 ] + %1193 = mul i64 %.sroa.012.0.in.i322.i, %986 + %1194 = and i64 %1193, 4294967295 + %1195 = and i64 %.sroa.04.0.i310.i, -7 + %spec.select.i.i.i331.i = icmp ne i64 %1195, 0 + %1196 = and i64 %.sroa.04.0.i310.i, 2 + %.not.i.not.i332.i = icmp eq i64 %1196, 0 + %1197 = and i64 %.sroa.04.0.i310.i, 6 + %1198 = icmp eq i64 %1197, 2 + %or.cond.i333.i = and i1 %spec.select.i.i.i331.i, %1198 + %1199 = and i64 %.sroa.04.0.i310.i, 1 + %1200 = icmp ne i64 %1199, 0 + %or.cond14.i334.i = or i1 %1200, %or.cond.i333.i + br i1 %or.cond14.i334.i, label %1201, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i335.i + +1201: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit330.i + %.not.i1.i346.i = icmp eq i64 %1199, 0 + br i1 %.not.i1.i346.i, label %1204, label %1202 + +1202: ; preds = %1201 + %1203 = lshr i64 %.sroa.04.0.i310.i, 3 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit349.i -1213: ; preds = %1210 - %1214 = and i64 %.sroa.04.0.i310.i, 4 - %.not1.i2.i347.i = icmp eq i64 %1214, 0 - br i1 %.not1.i2.i347.i, label %1218, label %1215 +1204: ; preds = %1201 + %1205 = and i64 %.sroa.04.0.i310.i, 4 + %.not1.i2.i347.i = icmp eq i64 %1205, 0 + br i1 %.not1.i2.i347.i, label %1209, label %1206 -1215: ; preds = %1213 - %1216 = lshr i64 %.sroa.04.0.i310.i, 19 - %1217 = and i64 %1216, 65535 - %spec.select.i.i348.i = select i1 %.not.i.not.i332.i, i64 %1216, i64 %1217 +1206: ; preds = %1204 + %1207 = lshr i64 %.sroa.04.0.i310.i, 19 + %1208 = and i64 %1207, 65535 + %spec.select.i.i348.i = select i1 %.not.i.not.i332.i, i64 %1207, i64 %1208 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit349.i -1218: ; preds = %1213 - %1219 = lshr i64 %.sroa.04.0.i310.i, 3 - %1220 = and i64 %1219, 65535 +1209: ; preds = %1204 + %1210 = lshr i64 %.sroa.04.0.i310.i, 3 + %1211 = and i64 %1210, 65535 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit349.i _ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i335.i: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit330.i - %1221 = lshr i64 %.sroa.04.0.i310.i, 3 - %.sroa.0.0.insert.ext.i.i.i336.i = and i64 %1221, 65535 - %1222 = select i1 %.not.i.not.i332.i, i64 2251799813685248, i64 576460752303423488 - %1223 = and i64 %1222, %.sroa.04.0.i310.i - %.not1.i4.i337.i = icmp ne i64 %1223, 0 - %1224 = and i64 %.sroa.04.0.i310.i, 4 - %.not1.i8.i338.i = icmp eq i64 %1224, 0 - %1225 = lshr i64 %.sroa.04.0.i310.i, 19 - %1226 = and i64 %1225, 65535 - %spec.select.i10.i339.i = select i1 %.not.i.not.i332.i, i64 %1225, i64 %1226 + %1212 = lshr i64 %.sroa.04.0.i310.i, 3 + %.sroa.0.0.insert.ext.i.i.i336.i = and i64 %1212, 65535 + %1213 = select i1 %.not.i.not.i332.i, i64 2251799813685248, i64 576460752303423488 + %1214 = and i64 %1213, %.sroa.04.0.i310.i + %.not1.i4.i337.i = icmp ne i64 %1214, 0 + %1215 = and i64 %.sroa.04.0.i310.i, 4 + %.not1.i8.i338.i = icmp eq i64 %1215, 0 + %1216 = lshr i64 %.sroa.04.0.i310.i, 19 + %1217 = and i64 %1216, 65535 + %spec.select.i10.i339.i = select i1 %.not.i.not.i332.i, i64 %1216, i64 %1217 %.0.in.i6.i340.i = select i1 %.not1.i8.i338.i, i64 %.sroa.0.0.insert.ext.i.i.i336.i, i64 %spec.select.i10.i339.i - %1227 = mul nuw nsw i64 %.0.in.i6.i340.i, %.sroa.0.0.insert.ext.i.i.i336.i - %1228 = zext i1 %.not1.i4.i337.i to i8 + %1218 = mul nuw nsw i64 %.0.in.i6.i340.i, %.sroa.0.0.insert.ext.i.i.i336.i + %1219 = zext i1 %.not1.i4.i337.i to i8 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit349.i -_ZNK4llvm3LLT13getSizeInBitsEv.exit349.i: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i335.i, %1218, %1215, %1211 - %.sroa.012.0.in.i341.i = phi i64 [ %1227, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i335.i ], [ %1212, %1211 ], [ %1220, %1218 ], [ %spec.select.i.i348.i, %1215 ] - %.sroa.3.0.i342.i = phi i8 [ %1228, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i335.i ], [ 0, %1211 ], [ 0, %1218 ], [ 0, %1215 ] +_ZNK4llvm3LLT13getSizeInBitsEv.exit349.i: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i335.i, %1209, %1206, %1202 + %.sroa.012.0.in.i341.i = phi i64 [ %1218, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i335.i ], [ %1203, %1202 ], [ %1211, %1209 ], [ %spec.select.i.i348.i, %1206 ] + %.sroa.3.0.i342.i = phi i8 [ %1219, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i335.i ], [ 0, %1202 ], [ 0, %1209 ], [ 0, %1206 ] %.sroa.012.0.i343.i = and i64 %.sroa.012.0.in.i341.i, 4294967295 store i64 %.sroa.012.0.i343.i, ptr %38, align 8 store i8 %.sroa.3.0.i342.i, ptr %.sroa.2162.0..sroa_idx.i, align 8 - %1229 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %38) #18 - %1230 = icmp eq i64 %1203, %1229 - br i1 %1230, label %1231, label %1233 + %1220 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %38) #18 + %1221 = icmp eq i64 %1194, %1220 + br i1 %1221, label %1222, label %1224 -1231: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit349.i - %.sroa.0158.0.copyload.i = load i32, ptr %990, align 4 +1222: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit349.i + %.sroa.0158.0.copyload.i = load i32, ptr %981, align 4 store i32 %.sroa.0158.0.copyload.i, ptr %39, align 8 store i32 1, ptr %176, align 8 - %1232 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder16buildMergeValuesERKNS_5DstOpENS_8ArrayRefINS_8RegisterEEE(ptr noundef nonnull align 8 dereferenceable(88) %5, ptr noundef nonnull align 8 dereferenceable(12) %39, ptr %994, i64 %995) #18 + %1223 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder16buildMergeValuesERKNS_5DstOpENS_8ArrayRefINS_8RegisterEEE(ptr noundef nonnull align 8 dereferenceable(88) %5, ptr noundef nonnull align 8 dereferenceable(12) %39, ptr %985, i64 %986) #18 br label %_ZL17buildCopyFromRegsRN4llvm16MachineIRBuilderENS_8ArrayRefINS_8RegisterEEES4_NS_3LLTES5_NS_3ISD10ArgFlagsTyE.exit -1233: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit349.i - %1234 = shl i64 %1202, 3 - %1235 = and i64 %1234, 34359738360 - %1236 = or disjoint i64 %1235, 1 - store i64 %1236, ptr %40, align 8 +1224: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit349.i + %1225 = shl i64 %1193, 3 + %1226 = and i64 %1225, 34359738360 + %1227 = or disjoint i64 %1226, 1 + store i64 %1227, ptr %40, align 8 store i32 0, ptr %173, align 8 - %1237 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder19buildMergeLikeInstrERKNS_5DstOpENS_8ArrayRefINS_8RegisterEEE(ptr noundef nonnull align 8 dereferenceable(88) %5, ptr noundef nonnull align 8 dereferenceable(12) %40, ptr %994, i64 %995) #18 - %1238 = extractvalue { ptr, ptr } %1237, 0 - %1239 = extractvalue { ptr, ptr } %1237, 1 - %.sroa.0150.0.copyload.i = load i32, ptr %990, align 4 + %1228 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder19buildMergeLikeInstrERKNS_5DstOpENS_8ArrayRefINS_8RegisterEEE(ptr noundef nonnull align 8 dereferenceable(88) %5, ptr noundef nonnull align 8 dereferenceable(12) %40, ptr %985, i64 %986) #18 + %1229 = extractvalue { ptr, ptr } %1228, 0 + %1230 = extractvalue { ptr, ptr } %1228, 1 + %.sroa.0150.0.copyload.i = load i32, ptr %981, align 4 store i32 %.sroa.0150.0.copyload.i, ptr %41, align 8 store i32 1, ptr %174, align 8 - store ptr %1238, ptr %42, align 8 - store ptr %1239, ptr %.sroa.262.0..sroa_idx.i, align 8 + store ptr %1229, ptr %42, align 8 + store ptr %1230, ptr %.sroa.262.0..sroa_idx.i, align 8 store i32 1, ptr %175, align 8 - %1240 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder10buildTruncERKNS_5DstOpERKNS_5SrcOpESt8optionalIjE(ptr noundef nonnull align 8 dereferenceable(88) %5, ptr noundef nonnull align 8 dereferenceable(12) %41, ptr noundef nonnull align 8 dereferenceable(20) %42, i64 0) #18 + %1231 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder10buildTruncERKNS_5DstOpERKNS_5SrcOpESt8optionalIjE(ptr noundef nonnull align 8 dereferenceable(88) %5, ptr noundef nonnull align 8 dereferenceable(12) %41, ptr noundef nonnull align 8 dereferenceable(20) %42, i64 0) #18 br label %_ZL17buildCopyFromRegsRN4llvm16MachineIRBuilderENS_8ArrayRefINS_8RegisterEEES4_NS_3LLTES5_NS_3ISD10ArgFlagsTyE.exit -1241: ; preds = %.critedge2.i377 - br i1 %1064, label %.thread.i, label %.thread212.i +1232: ; preds = %.critedge2.i377 + br i1 %1055, label %.thread.i, label %.thread212.i -.thread.i: ; preds = %1241, %1176, %1090 +.thread.i: ; preds = %1232, %1167, %1081 call void @_ZN4llvm15SmallVectorBaseIjEC2EPvm(ptr noundef nonnull align 8 dereferenceable(64) %43, ptr noundef nonnull %191, i64 noundef 12) #18 - %1242 = getelementptr inbounds %"class.llvm::Register", ptr %994, i64 %995 - call void @_ZN4llvm15SmallVectorImplINS_8RegisterEE6appendIPKS1_vEEvT_S6_(ptr noundef nonnull align 8 dereferenceable(64) %43, ptr noundef %994, ptr noundef %1242) - br i1 %or.cond14.i.i362, label %1243, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i355.i + %1233 = getelementptr inbounds %"class.llvm::Register", ptr %985, i64 %986 + call void @_ZN4llvm15SmallVectorImplINS_8RegisterEE6appendIPKS1_vEEvT_S6_(ptr noundef nonnull align 8 dereferenceable(64) %43, ptr noundef %985, ptr noundef %1233) + br i1 %or.cond14.i.i362, label %1234, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i355.i -1243: ; preds = %.thread.i - %.not.i1.i366.i = icmp eq i64 %1005, 0 - br i1 %.not.i1.i366.i, label %1246, label %1244 +1234: ; preds = %.thread.i + %.not.i1.i366.i = icmp eq i64 %996, 0 + br i1 %.not.i1.i366.i, label %1237, label %1235 -1244: ; preds = %1243 - %1245 = lshr i64 %.sroa.0.0.copyload, 3 +1235: ; preds = %1234 + %1236 = lshr i64 %.sroa.0.0.copyload, 3 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit369.i -1246: ; preds = %1243 - %1247 = lshr i64 %.sroa.0.0.copyload, 19 - %1248 = and i64 %1247, 65535 - %spec.select.i.i368.i = select i1 %.not.i.not.i.i360, i64 %1247, i64 %1248 +1237: ; preds = %1234 + %1238 = lshr i64 %.sroa.0.0.copyload, 19 + %1239 = and i64 %1238, 65535 + %spec.select.i.i368.i = select i1 %.not.i.not.i.i360, i64 %1238, i64 %1239 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit369.i _ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i355.i: ; preds = %.thread.i - %1249 = lshr i64 %.sroa.0.0.copyload, 3 - %.sroa.0.0.insert.ext.i.i.i356.i = and i64 %1249, 65535 - %1250 = select i1 %.not.i.not.i.i360, i64 2251799813685248, i64 576460752303423488 - %1251 = and i64 %1250, %.sroa.0.0.copyload - %.not1.i4.i357.i = icmp ne i64 %1251, 0 - %1252 = lshr i64 %.sroa.0.0.copyload, 19 - %1253 = and i64 %1252, 65535 - %spec.select.i10.i359.i = select i1 %.not.i.not.i.i360, i64 %1252, i64 %1253 - %1254 = mul nuw nsw i64 %spec.select.i10.i359.i, %.sroa.0.0.insert.ext.i.i.i356.i + %1240 = lshr i64 %.sroa.0.0.copyload, 3 + %.sroa.0.0.insert.ext.i.i.i356.i = and i64 %1240, 65535 + %1241 = select i1 %.not.i.not.i.i360, i64 2251799813685248, i64 576460752303423488 + %1242 = and i64 %1241, %.sroa.0.0.copyload + %.not1.i4.i357.i = icmp ne i64 %1242, 0 + %1243 = lshr i64 %.sroa.0.0.copyload, 19 + %1244 = and i64 %1243, 65535 + %spec.select.i10.i359.i = select i1 %.not.i.not.i.i360, i64 %1243, i64 %1244 + %1245 = mul nuw nsw i64 %spec.select.i10.i359.i, %.sroa.0.0.insert.ext.i.i.i356.i br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit369.i -_ZNK4llvm3LLT13getSizeInBitsEv.exit369.i: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i355.i, %1246, %1244 - %.sroa.012.0.in.i361.i = phi i64 [ %1254, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i355.i ], [ %1245, %1244 ], [ %spec.select.i.i368.i, %1246 ] - %.sroa.3.0.i362.i = phi i1 [ %.not1.i4.i357.i, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i355.i ], [ false, %1244 ], [ false, %1246 ] +_ZNK4llvm3LLT13getSizeInBitsEv.exit369.i: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i355.i, %1237, %1235 + %.sroa.012.0.in.i361.i = phi i64 [ %1245, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i355.i ], [ %1236, %1235 ], [ %spec.select.i.i368.i, %1237 ] + %.sroa.3.0.i362.i = phi i1 [ %.not1.i4.i357.i, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i355.i ], [ false, %1235 ], [ false, %1237 ] %.sroa.012.0.i363.i = and i64 %.sroa.012.0.in.i361.i, 4294967295 - br i1 %or.cond14.i254.i, label %1255, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i374.i + br i1 %or.cond14.i254.i, label %1246, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i374.i -1255: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit369.i - %.not.i1.i385.i = icmp eq i64 %1030, 0 - br i1 %.not.i1.i385.i, label %1258, label %1256 +1246: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit369.i + %.not.i1.i385.i = icmp eq i64 %1021, 0 + br i1 %.not.i1.i385.i, label %1249, label %1247 -1256: ; preds = %1255 - %1257 = lshr i64 %240, 3 +1247: ; preds = %1246 + %1248 = lshr i64 %240, 3 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit388.i -1258: ; preds = %1255 - %.not1.i2.i386.i = icmp eq i64 %1065, 0 - br i1 %.not1.i2.i386.i, label %1262, label %1259 +1249: ; preds = %1246 + %.not1.i2.i386.i = icmp eq i64 %1056, 0 + br i1 %.not1.i2.i386.i, label %1253, label %1250 -1259: ; preds = %1258 - %1260 = lshr i64 %240, 19 - %1261 = and i64 %1260, 65535 - %spec.select.i.i387.i = select i1 %.not.i.not.i252.i, i64 %1260, i64 %1261 +1250: ; preds = %1249 + %1251 = lshr i64 %240, 19 + %1252 = and i64 %1251, 65535 + %spec.select.i.i387.i = select i1 %.not.i.not.i252.i, i64 %1251, i64 %1252 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit388.i -1262: ; preds = %1258 - %1263 = lshr i64 %240, 3 - %1264 = and i64 %1263, 65535 +1253: ; preds = %1249 + %1254 = lshr i64 %240, 3 + %1255 = and i64 %1254, 65535 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit388.i _ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i374.i: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit369.i - %1265 = lshr i64 %240, 3 - %.sroa.0.0.insert.ext.i.i.i375.i = and i64 %1265, 65535 - %1266 = select i1 %.not.i.not.i252.i, i64 2251799813685248, i64 576460752303423488 - %1267 = and i64 %1266, %240 - %.not1.i4.i376.i = icmp eq i64 %1267, 0 - %.not1.i8.i377.i = icmp eq i64 %1065, 0 - %1268 = lshr i64 %240, 19 - %1269 = and i64 %1268, 65535 - %spec.select.i10.i378.i = select i1 %.not.i.not.i252.i, i64 %1268, i64 %1269 + %1256 = lshr i64 %240, 3 + %.sroa.0.0.insert.ext.i.i.i375.i = and i64 %1256, 65535 + %1257 = select i1 %.not.i.not.i252.i, i64 2251799813685248, i64 576460752303423488 + %1258 = and i64 %1257, %240 + %.not1.i4.i376.i = icmp eq i64 %1258, 0 + %.not1.i8.i377.i = icmp eq i64 %1056, 0 + %1259 = lshr i64 %240, 19 + %1260 = and i64 %1259, 65535 + %spec.select.i10.i378.i = select i1 %.not.i.not.i252.i, i64 %1259, i64 %1260 %.0.in.i6.i379.i = select i1 %.not1.i8.i377.i, i64 %.sroa.0.0.insert.ext.i.i.i375.i, i64 %spec.select.i10.i378.i - %1270 = mul nuw nsw i64 %.0.in.i6.i379.i, %.sroa.0.0.insert.ext.i.i.i375.i + %1261 = mul nuw nsw i64 %.0.in.i6.i379.i, %.sroa.0.0.insert.ext.i.i.i375.i br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit388.i -_ZNK4llvm3LLT13getSizeInBitsEv.exit388.i: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i374.i, %1262, %1259, %1256 - %.sroa.012.0.in.i380.i = phi i64 [ %1270, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i374.i ], [ %1257, %1256 ], [ %1264, %1262 ], [ %spec.select.i.i387.i, %1259 ] - %.sroa.3.0.i381.i = phi i1 [ %.not1.i4.i376.i, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i374.i ], [ true, %1256 ], [ true, %1262 ], [ true, %1259 ] +_ZNK4llvm3LLT13getSizeInBitsEv.exit388.i: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i374.i, %1253, %1250, %1247 + %.sroa.012.0.in.i380.i = phi i64 [ %1261, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i374.i ], [ %1248, %1247 ], [ %1255, %1253 ], [ %spec.select.i.i387.i, %1250 ] + %.sroa.3.0.i381.i = phi i1 [ %.not1.i4.i376.i, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i374.i ], [ true, %1247 ], [ true, %1253 ], [ true, %1250 ] %.sroa.012.0.i382.i = and i64 %.sroa.012.0.in.i380.i, 4294967295 %.old168.i = icmp samesign ugt i64 %.sroa.012.0.i363.i, %.sroa.012.0.i382.i - br i1 %.sroa.3.0.i362.i, label %_ZN4llvm7details23FixedOrScalableQuantityINS_8TypeSizeEmE9isKnownGTERKS3_S5_.exit.i388, label %1271 + br i1 %.sroa.3.0.i362.i, label %_ZN4llvm7details23FixedOrScalableQuantityINS_8TypeSizeEmE9isKnownGTERKS3_S5_.exit.i388, label %1262 -1271: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit388.i +1262: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit388.i %or.cond169.i = select i1 %.sroa.3.0.i381.i, i1 %.old168.i, i1 false br i1 %or.cond169.i, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit396.i, label %.critedge4.i378 _ZN4llvm7details23FixedOrScalableQuantityINS_8TypeSizeEmE9isKnownGTERKS3_S5_.exit.i388: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit388.i br i1 %.old168.i, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit396.i, label %.critedge4.i378 -_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit396.i: ; preds = %_ZN4llvm7details23FixedOrScalableQuantityINS_8TypeSizeEmE9isKnownGTERKS3_S5_.exit.i388, %1271 - %.not.i390.i = icmp eq i64 %1005, 0 - %1272 = lshr i64 %.sroa.0.0.copyload, 3 - %1273 = lshr i64 %.sroa.0.0.copyload, 19 - %1274 = and i64 %1273, 65535 - %spec.select.i395.i = select i1 %.not.i.not.i.i360, i64 %1273, i64 %1274 - %.0.in.i391.i = select i1 %.not.i390.i, i64 %spec.select.i395.i, i64 %1272 +_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit396.i: ; preds = %_ZN4llvm7details23FixedOrScalableQuantityINS_8TypeSizeEmE9isKnownGTERKS3_S5_.exit.i388, %1262 + %.not.i390.i = icmp eq i64 %996, 0 + %1263 = lshr i64 %.sroa.0.0.copyload, 3 + %1264 = lshr i64 %.sroa.0.0.copyload, 19 + %1265 = and i64 %1264, 65535 + %spec.select.i395.i = select i1 %.not.i.not.i.i360, i64 %1264, i64 %1265 + %.0.in.i391.i = select i1 %.not.i390.i, i64 %spec.select.i395.i, i64 %1263 %.0.i392.i = trunc i64 %.0.in.i391.i to i32 - %.not.i397.i = icmp eq i64 %1030, 0 - br i1 %.not.i397.i, label %1277, label %1275 + %.not.i397.i = icmp eq i64 %1021, 0 + br i1 %.not.i397.i, label %1268, label %1266 -1275: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit396.i - %1276 = lshr i64 %240, 3 +1266: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit396.i + %1267 = lshr i64 %240, 3 br label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit403.i -1277: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit396.i - %.not1.i400.i = icmp eq i64 %1065, 0 - br i1 %.not1.i400.i, label %1281, label %1278 +1268: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit396.i + %.not1.i400.i = icmp eq i64 %1056, 0 + br i1 %.not1.i400.i, label %1272, label %1269 -1278: ; preds = %1277 - %1279 = lshr i64 %240, 19 - %1280 = and i64 %1279, 65535 - %spec.select.i402.i = select i1 %.not.i.not.i252.i, i64 %1279, i64 %1280 +1269: ; preds = %1268 + %1270 = lshr i64 %240, 19 + %1271 = and i64 %1270, 65535 + %spec.select.i402.i = select i1 %.not.i.not.i252.i, i64 %1270, i64 %1271 br label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit403.i -1281: ; preds = %1277 - %1282 = lshr i64 %240, 3 - %1283 = and i64 %1282, 65535 +1272: ; preds = %1268 + %1273 = lshr i64 %240, 3 + %1274 = and i64 %1273, 65535 br label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit403.i -_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit403.i: ; preds = %1281, %1278, %1275 - %.0.in.i398.i = phi i64 [ %1276, %1275 ], [ %1283, %1281 ], [ %spec.select.i402.i, %1278 ] +_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit403.i: ; preds = %1272, %1269, %1266 + %.0.in.i398.i = phi i64 [ %1267, %1266 ], [ %1274, %1272 ], [ %spec.select.i402.i, %1269 ] %.0.i399.i = trunc i64 %.0.in.i398.i to i32 - %1284 = shl i32 %.0.i399.i, 1 - %1285 = icmp eq i32 %1284, %.0.i392.i - %or.cond171.i = and i1 %1056, %1285 - br i1 %or.cond171.i, label %1286, label %.critedge4.i378 + %1275 = shl i32 %.0.i399.i, 1 + %1276 = icmp eq i32 %1275, %.0.i392.i + %or.cond171.i = and i1 %1047, %1276 + br i1 %or.cond171.i, label %1277, label %.critedge4.i378 -1286: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit403.i - br i1 %.not.i.not.i252.i, label %1293, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit.i447 +1277: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit403.i + br i1 %.not.i.not.i252.i, label %1284, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit.i447 -_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit.i447: ; preds = %1286 - %.not.i.i448 = icmp eq i64 %1065, 0 +_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit.i447: ; preds = %1277 + %.not.i.i448 = icmp eq i64 %1056, 0 %.0.in.in.v.i.i = select i1 %.not.i.i448, i64 19, i64 35 %.0.in.in.i.i = lshr i64 %240, %.0.in.in.v.i.i %..i449 = select i1 %.not.i.i448, i64 3, i64 19 %.sink11.i = select i1 %.not.i397.i, i64 %..i449, i64 3 - %1287 = lshr i64 %240, %.sink11.i + %1278 = lshr i64 %240, %.sink11.i %.0.i.i450 = shl nuw i64 %.0.in.in.i.i, 19 - %1288 = and i64 %.0.i.i450, 8796092497920 - %1289 = shl nuw i64 %1287, 3 - %1290 = and i64 %1289, 524280 - %1291 = or disjoint i64 %1288, %1290 - %1292 = or disjoint i64 %1291, 2 + %1279 = and i64 %.0.i.i450, 8796092497920 + %1280 = shl nuw i64 %1278, 3 + %1281 = and i64 %1280, 524280 + %1282 = or disjoint i64 %1279, %1281 + %1283 = or disjoint i64 %1282, 2 br label %_ZNK4llvm3LLT14getElementTypeEv.exit -1293: ; preds = %1286 - br i1 %.not.i397.i, label %1296, label %1294 +1284: ; preds = %1277 + br i1 %.not.i397.i, label %1287, label %1285 -1294: ; preds = %1293 - %1295 = lshr i64 %240, 3 +1285: ; preds = %1284 + %1286 = lshr i64 %240, 3 br label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit9.i -1296: ; preds = %1293 - %.not1.i6.i = icmp eq i64 %1065, 0 - br i1 %.not1.i6.i, label %1299, label %1297 +1287: ; preds = %1284 + %.not1.i6.i = icmp eq i64 %1056, 0 + br i1 %.not1.i6.i, label %1290, label %1288 -1297: ; preds = %1296 - %1298 = lshr i64 %240, 19 +1288: ; preds = %1287 + %1289 = lshr i64 %240, 19 br label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit9.i -1299: ; preds = %1296 - %1300 = lshr exact i64 %240, 3 - %1301 = and i64 %1300, 65535 +1290: ; preds = %1287 + %1291 = lshr exact i64 %240, 3 + %1292 = and i64 %1291, 65535 br label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit9.i -_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit9.i: ; preds = %1299, %1297, %1294 - %.0.in.i4.i = phi i64 [ %1295, %1294 ], [ %1301, %1299 ], [ %1298, %1297 ] - %1302 = shl nuw i64 %.0.in.i4.i, 3 - %1303 = and i64 %1302, 34359738360 - %1304 = or disjoint i64 %1303, 1 +_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit9.i: ; preds = %1290, %1288, %1285 + %.0.in.i4.i = phi i64 [ %1286, %1285 ], [ %1292, %1290 ], [ %1289, %1288 ] + %1293 = shl nuw i64 %.0.in.i4.i, 3 + %1294 = and i64 %1293, 34359738360 + %1295 = or disjoint i64 %1294, 1 br label %_ZNK4llvm3LLT14getElementTypeEv.exit _ZNK4llvm3LLT14getElementTypeEv.exit: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit.i447, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit9.i - %.sroa.0.0.i = phi i64 [ %1292, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit.i447 ], [ %1304, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit9.i ] - %1305 = call i64 @_ZNK4llvm3LLT17changeElementTypeES0_(ptr noundef nonnull align 8 dereferenceable(8) %27, i64 %.sroa.0.0.i) - %1306 = load i64, ptr %27, align 8 - %1307 = and i64 %1306, 2 - %.not.i404.i = icmp eq i64 %1307, 0 - %1308 = select i1 %.not.i404.i, i64 2251799813685248, i64 576460752303423488 - %1309 = and i64 %1308, %1306 - %.not1.i406.i = icmp eq i64 %1309, 0 + %.sroa.0.0.i = phi i64 [ %1283, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit.i447 ], [ %1295, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit9.i ] + %1296 = call i64 @_ZNK4llvm3LLT17changeElementTypeES0_(ptr noundef nonnull align 8 dereferenceable(8) %27, i64 %.sroa.0.0.i) + %1297 = load i64, ptr %27, align 8 + %1298 = and i64 %1297, 2 + %.not.i404.i = icmp eq i64 %1298, 0 + %1299 = select i1 %.not.i404.i, i64 2251799813685248, i64 576460752303423488 + %1300 = and i64 %1299, %1297 + %.not1.i406.i = icmp eq i64 %1300, 0 %.sroa.2.0.insert.shift.i.i407.i = select i1 %.not1.i406.i, i64 0, i64 4294967296 - %1310 = lshr i64 %1306, 2 - %.sroa.0.0.insert.ext.i.i = and i64 %1310, 131070 + %1301 = lshr i64 %1297, 2 + %.sroa.0.0.insert.ext.i.i = and i64 %1301, 131070 %.sroa.0.0.insert.insert.i.i = or disjoint i64 %.sroa.2.0.insert.shift.i.i407.i, %.sroa.0.0.insert.ext.i.i - %1311 = and i64 %1305, -7 - %spec.select.i.i.i.i437 = icmp ne i64 %1311, 0 - %1312 = and i64 %1305, 4 - %1313 = icmp ne i64 %1312, 0 - %1314 = and i1 %spec.select.i.i.i.i437, %1313 - br i1 %1314, label %1315, label %_ZNK4llvm3LLT18changeElementCountENS_12ElementCountE.exit - -1315: ; preds = %_ZNK4llvm3LLT14getElementTypeEv.exit - %1316 = and i64 %1305, 2 - %.not.i.i.i440 = icmp eq i64 %1316, 0 - %1317 = and i64 %1305, 1 - %.not.i3.i.i.i441 = icmp eq i64 %1317, 0 + %1302 = and i64 %1296, -7 + %spec.select.i.i.i.i437 = icmp ne i64 %1302, 0 + %1303 = and i64 %1296, 4 + %1304 = icmp ne i64 %1303, 0 + %1305 = and i1 %spec.select.i.i.i.i437, %1304 + br i1 %1305, label %1306, label %_ZNK4llvm3LLT18changeElementCountENS_12ElementCountE.exit + +1306: ; preds = %_ZNK4llvm3LLT14getElementTypeEv.exit + %1307 = and i64 %1296, 2 + %.not.i.i.i440 = icmp eq i64 %1307, 0 + %1308 = and i64 %1296, 1 + %.not.i3.i.i.i441 = icmp eq i64 %1308, 0 %.0.in.i4.i.v.i.i442 = select i1 %.not.i3.i.i.i441, i64 19, i64 3 - %.0.in.i4.i.i.i443 = lshr i64 %1305, %.0.in.i4.i.v.i.i442 + %.0.in.i4.i.i.i443 = lshr i64 %1296, %.0.in.i4.i.v.i.i442 br i1 %.not.i.i.i440, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit9.i.i.i445, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit.i.i.i444 -_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit.i.i.i444: ; preds = %1315 - %1318 = lshr i64 %1305, 16 - %1319 = and i64 %1318, 8796092497920 - %1320 = shl nuw i64 %.0.in.i4.i.i.i443, 3 - %1321 = and i64 %1320, 524280 - %1322 = or disjoint i64 %1319, %1321 - %1323 = or disjoint i64 %1322, 2 +_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit.i.i.i444: ; preds = %1306 + %1309 = lshr i64 %1296, 16 + %1310 = and i64 %1309, 8796092497920 + %1311 = shl nuw i64 %.0.in.i4.i.i.i443, 3 + %1312 = and i64 %1311, 524280 + %1313 = or disjoint i64 %1310, %1312 + %1314 = or disjoint i64 %1313, 2 br label %_ZNK4llvm3LLT18changeElementCountENS_12ElementCountE.exit -_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit9.i.i.i445: ; preds = %1315 - %1324 = shl nuw i64 %.0.in.i4.i.i.i443, 3 - %1325 = and i64 %1324, 34359738360 - %1326 = or disjoint i64 %1325, 1 +_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit9.i.i.i445: ; preds = %1306 + %1315 = shl nuw i64 %.0.in.i4.i.i.i443, 3 + %1316 = and i64 %1315, 34359738360 + %1317 = or disjoint i64 %1316, 1 br label %_ZNK4llvm3LLT18changeElementCountENS_12ElementCountE.exit _ZNK4llvm3LLT18changeElementCountENS_12ElementCountE.exit: ; preds = %_ZNK4llvm3LLT14getElementTypeEv.exit, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit.i.i.i444, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit9.i.i.i445 - %.sroa.0.0.i.i439 = phi i64 [ %1323, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit.i.i.i444 ], [ %1326, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit9.i.i.i445 ], [ %1305, %_ZNK4llvm3LLT14getElementTypeEv.exit ] - %1327 = call i64 @_ZN4llvm3LLT14scalarOrVectorENS_12ElementCountES0_(i64 %.sroa.0.0.insert.insert.i.i, i64 %.sroa.0.0.i.i439) - %.sroa.0131.0.copyload.i = load i32, ptr %994, align 4 + %.sroa.0.0.i.i439 = phi i64 [ %1314, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit.i.i.i444 ], [ %1317, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit9.i.i.i445 ], [ %1296, %_ZNK4llvm3LLT14getElementTypeEv.exit ] + %1318 = call i64 @_ZN4llvm3LLT14scalarOrVectorENS_12ElementCountES0_(i64 %.sroa.0.0.insert.insert.i.i, i64 %.sroa.0.0.i.i439) + %.sroa.0131.0.copyload.i = load i32, ptr %985, align 4 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %21) call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %22) - store i64 %1327, ptr %21, align 8 + store i64 %1318, ptr %21, align 8 store i32 0, ptr %.sroa.249.0..sroa_idx.i, align 8 store i32 %.sroa.0131.0.copyload.i, ptr %22, align 8 store i32 0, ptr %.sroa.247.0..sroa_idx.i, align 8 - %1328 = load ptr, ptr %5, align 8 - %1329 = getelementptr inbounds nuw i8, ptr %1328, i64 32 - %1330 = load ptr, ptr %1329, align 8 - %1331 = call { ptr, ptr } %1330(ptr noundef nonnull align 8 dereferenceable(88) %5, i32 noundef 79, ptr nonnull %21, i64 1, ptr nonnull %22, i64 1, i64 0) #18 + %1319 = load ptr, ptr %5, align 8 + %1320 = getelementptr inbounds nuw i8, ptr %1319, i64 32 + %1321 = load ptr, ptr %1320, align 8 + %1322 = call { ptr, ptr } %1321(ptr noundef nonnull align 8 dereferenceable(88) %5, i32 noundef 79, ptr nonnull %21, i64 1, ptr nonnull %22, i64 1, i64 0) #18 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %21) call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %22) - %1332 = extractvalue { ptr, ptr } %1331, 1 - %1333 = getelementptr inbounds nuw i8, ptr %1332, i64 32 - %1334 = load ptr, ptr %1333, align 8 - %1335 = getelementptr inbounds nuw i8, ptr %1334, i64 4 - %1336 = load i32, ptr %1335, align 4 - %1337 = load ptr, ptr %43, align 8 - store i32 %1336, ptr %1337, align 4 - store i64 %1327, ptr %27, align 8 + %1323 = extractvalue { ptr, ptr } %1322, 1 + %1324 = getelementptr inbounds nuw i8, ptr %1323, i64 32 + %1325 = load ptr, ptr %1324, align 8 + %1326 = getelementptr inbounds nuw i8, ptr %1325, i64 4 + %1327 = load i32, ptr %1326, align 4 + %1328 = load ptr, ptr %43, align 8 + store i32 %1327, ptr %1328, align 4 + store i64 %1318, ptr %27, align 8 br label %.critedge4.i378 -.critedge4.i378: ; preds = %_ZNK4llvm3LLT18changeElementCountENS_12ElementCountE.exit, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit403.i, %_ZN4llvm7details23FixedOrScalableQuantityINS_8TypeSizeEmE9isKnownGTERKS3_S5_.exit.i388, %1271 - %1338 = phi i64 [ %.sroa.0.0.copyload, %1271 ], [ %.sroa.0.0.copyload, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit403.i ], [ %.sroa.0.0.copyload, %_ZN4llvm7details23FixedOrScalableQuantityINS_8TypeSizeEmE9isKnownGTERKS3_S5_.exit.i388 ], [ %1327, %_ZNK4llvm3LLT18changeElementCountENS_12ElementCountE.exit ] - br i1 %1067, label %1339, label %_ZNK4llvm3LLT13getScalarTypeEv.exit.i +.critedge4.i378: ; preds = %_ZNK4llvm3LLT18changeElementCountENS_12ElementCountE.exit, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit403.i, %_ZN4llvm7details23FixedOrScalableQuantityINS_8TypeSizeEmE9isKnownGTERKS3_S5_.exit.i388, %1262 + %1329 = phi i64 [ %.sroa.0.0.copyload, %1262 ], [ %.sroa.0.0.copyload, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit403.i ], [ %.sroa.0.0.copyload, %_ZN4llvm7details23FixedOrScalableQuantityINS_8TypeSizeEmE9isKnownGTERKS3_S5_.exit.i388 ], [ %1318, %_ZNK4llvm3LLT18changeElementCountENS_12ElementCountE.exit ] + br i1 %1058, label %1330, label %_ZNK4llvm3LLT13getScalarTypeEv.exit.i -1339: ; preds = %.critedge4.i378 - %.not.i3.i.i.i = icmp eq i64 %1030, 0 +1330: ; preds = %.critedge4.i378 + %.not.i3.i.i.i = icmp eq i64 %1021, 0 %.0.in.i4.i.v.i.i = select i1 %.not.i3.i.i.i, i64 19, i64 3 %.0.in.i4.i.i.i = lshr i64 %240, %.0.in.i4.i.v.i.i br i1 %.not.i.not.i252.i, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit9.i.i.i, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit.i.i.i -_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit.i.i.i: ; preds = %1339 - %1340 = lshr i64 %240, 16 - %1341 = and i64 %1340, 8796092497920 - %1342 = shl nuw i64 %.0.in.i4.i.i.i, 3 - %1343 = and i64 %1342, 524280 - %1344 = or disjoint i64 %1341, %1343 - %1345 = or disjoint i64 %1344, 2 +_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit.i.i.i: ; preds = %1330 + %1331 = lshr i64 %240, 16 + %1332 = and i64 %1331, 8796092497920 + %1333 = shl nuw i64 %.0.in.i4.i.i.i, 3 + %1334 = and i64 %1333, 524280 + %1335 = or disjoint i64 %1332, %1334 + %1336 = or disjoint i64 %1335, 2 br label %_ZNK4llvm3LLT13getScalarTypeEv.exit.i -_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit9.i.i.i: ; preds = %1339 - %1346 = shl nuw i64 %.0.in.i4.i.i.i, 3 - %1347 = and i64 %1346, 34359738360 - %1348 = or disjoint i64 %1347, 1 +_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit9.i.i.i: ; preds = %1330 + %1337 = shl nuw i64 %.0.in.i4.i.i.i, 3 + %1338 = and i64 %1337, 34359738360 + %1339 = or disjoint i64 %1338, 1 br label %_ZNK4llvm3LLT13getScalarTypeEv.exit.i _ZNK4llvm3LLT13getScalarTypeEv.exit.i: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit9.i.i.i, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit.i.i.i, %.critedge4.i378 - %.sroa.0.0.i.i380 = phi i64 [ %1345, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit.i.i.i ], [ %1348, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit9.i.i.i ], [ %240, %.critedge4.i378 ] - %1349 = and i64 %1338, 2 - %.not.i410.i = icmp eq i64 %1349, 0 - br i1 %.not.i410.i, label %1358, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit.i.i381 + %.sroa.0.0.i.i380 = phi i64 [ %1336, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit.i.i.i ], [ %1339, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit9.i.i.i ], [ %240, %.critedge4.i378 ] + %1340 = and i64 %1329, 2 + %.not.i410.i = icmp eq i64 %1340, 0 + br i1 %.not.i410.i, label %1349, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit.i.i381 _ZNK4llvm3LLT19getScalarSizeInBitsEv.exit.i.i381: ; preds = %_ZNK4llvm3LLT13getScalarTypeEv.exit.i - %1350 = and i64 %1338, 4 - %.not.i.i411.i = icmp eq i64 %1350, 0 + %1341 = and i64 %1329, 4 + %.not.i.i411.i = icmp eq i64 %1341, 0 %.0.in.in.v.i.i.i = select i1 %.not.i.i411.i, i64 19, i64 35 - %.0.in.in.i.i.i = lshr i64 %1338, %.0.in.in.v.i.i.i - %1351 = and i64 %1338, 1 - %.not.i1.i412.i = icmp eq i64 %1351, 0 + %.0.in.in.i.i.i = lshr i64 %1329, %.0.in.in.v.i.i.i + %1342 = and i64 %1329, 1 + %.not.i1.i412.i = icmp eq i64 %1342, 0 %..i.i = select i1 %.not.i.i411.i, i64 3, i64 19 %.sink11.i.i = select i1 %.not.i1.i412.i, i64 %..i.i, i64 3 - %1352 = lshr i64 %1338, %.sink11.i.i + %1343 = lshr i64 %1329, %.sink11.i.i %.0.i.i.i = shl nuw i64 %.0.in.in.i.i.i, 19 - %1353 = and i64 %.0.i.i.i, 8796092497920 - %1354 = shl nuw i64 %1352, 3 - %1355 = and i64 %1354, 524280 - %1356 = or disjoint i64 %1353, %1355 - %1357 = or disjoint i64 %1356, 2 + %1344 = and i64 %.0.i.i.i, 8796092497920 + %1345 = shl nuw i64 %1343, 3 + %1346 = and i64 %1345, 524280 + %1347 = or disjoint i64 %1344, %1346 + %1348 = or disjoint i64 %1347, 2 br label %_ZNK4llvm3LLT14getElementTypeEv.exit.i382 -1358: ; preds = %_ZNK4llvm3LLT13getScalarTypeEv.exit.i - %1359 = and i64 %1338, 1 - %.not.i3.i.i383 = icmp eq i64 %1359, 0 - br i1 %.not.i3.i.i383, label %1362, label %1360 +1349: ; preds = %_ZNK4llvm3LLT13getScalarTypeEv.exit.i + %1350 = and i64 %1329, 1 + %.not.i3.i.i383 = icmp eq i64 %1350, 0 + br i1 %.not.i3.i.i383, label %1353, label %1351 -1360: ; preds = %1358 - %1361 = lshr i64 %1338, 3 +1351: ; preds = %1349 + %1352 = lshr i64 %1329, 3 br label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit9.i.i384 -1362: ; preds = %1358 - %1363 = and i64 %1338, 4 - %.not1.i6.i.i = icmp eq i64 %1363, 0 - br i1 %.not1.i6.i.i, label %1366, label %1364 +1353: ; preds = %1349 + %1354 = and i64 %1329, 4 + %.not1.i6.i.i = icmp eq i64 %1354, 0 + br i1 %.not1.i6.i.i, label %1357, label %1355 -1364: ; preds = %1362 - %1365 = lshr i64 %1338, 19 +1355: ; preds = %1353 + %1356 = lshr i64 %1329, 19 br label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit9.i.i384 -1366: ; preds = %1362 - %1367 = lshr exact i64 %1338, 3 - %1368 = and i64 %1367, 65535 +1357: ; preds = %1353 + %1358 = lshr exact i64 %1329, 3 + %1359 = and i64 %1358, 65535 br label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit9.i.i384 -_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit9.i.i384: ; preds = %1366, %1364, %1360 - %.0.in.i4.i.i385 = phi i64 [ %1361, %1360 ], [ %1368, %1366 ], [ %1365, %1364 ] - %1369 = shl nuw i64 %.0.in.i4.i.i385, 3 - %1370 = and i64 %1369, 34359738360 - %1371 = or disjoint i64 %1370, 1 +_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit9.i.i384: ; preds = %1357, %1355, %1351 + %.0.in.i4.i.i385 = phi i64 [ %1352, %1351 ], [ %1359, %1357 ], [ %1356, %1355 ] + %1360 = shl nuw i64 %.0.in.i4.i.i385, 3 + %1361 = and i64 %1360, 34359738360 + %1362 = or disjoint i64 %1361, 1 br label %_ZNK4llvm3LLT14getElementTypeEv.exit.i382 _ZNK4llvm3LLT14getElementTypeEv.exit.i382: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit9.i.i384, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit.i.i381 - %.sroa.0.0.i413.i = phi i64 [ %1357, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit.i.i381 ], [ %1371, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit9.i.i384 ] + %.sroa.0.0.i413.i = phi i64 [ %1348, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit.i.i381 ], [ %1362, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit9.i.i384 ] %spec.select.i414.i = icmp eq i64 %.sroa.0.0.i.i380, %.sroa.0.0.i413.i - br i1 %spec.select.i414.i, label %._crit_edge198.i, label %1372 - -1372: ; preds = %_ZNK4llvm3LLT14getElementTypeEv.exit.i382 - %1373 = call i64 @_ZN4llvm10getGCDTypeENS_3LLTES0_(i64 %240, i64 %1338) #20 - %1374 = load ptr, ptr %43, align 8 - %1375 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(16) %43) #18 - %1376 = getelementptr inbounds %"class.llvm::Register", ptr %1374, i64 %1375 - %.not250193.i = icmp eq i64 %1375, 0 + br i1 %spec.select.i414.i, label %._crit_edge198.i, label %1363 + +1363: ; preds = %_ZNK4llvm3LLT14getElementTypeEv.exit.i382 + %1364 = call i64 @_ZN4llvm10getGCDTypeENS_3LLTES0_(i64 %240, i64 %1329) #20 + %1365 = load ptr, ptr %43, align 8 + %1366 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(16) %43) #18 + %1367 = getelementptr inbounds %"class.llvm::Register", ptr %1365, i64 %1366 + %.not250193.i = icmp eq i64 %1366, 0 br i1 %.not250193.i, label %._crit_edge198.i, label %.lr.ph197.i -.lr.ph197.i: ; preds = %1372, %.lr.ph197.i - %.0195.i = phi i32 [ %1386, %.lr.ph197.i ], [ 0, %1372 ] - %.0242194.i = phi ptr [ %1390, %.lr.ph197.i ], [ %1374, %1372 ] +.lr.ph197.i: ; preds = %1363, %.lr.ph197.i + %.0195.i = phi i32 [ %1377, %.lr.ph197.i ], [ 0, %1363 ] + %.0242194.i = phi ptr [ %1381, %.lr.ph197.i ], [ %1365, %1363 ] %.sroa.0116.0.copyload.i = load i32, ptr %.0242194.i, align 4 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %19) call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %20) - store i64 %1373, ptr %19, align 8 + store i64 %1364, ptr %19, align 8 store i32 0, ptr %.sroa.238.0..sroa_idx.i, align 8 store i32 %.sroa.0116.0.copyload.i, ptr %20, align 8 store i32 0, ptr %.sroa.236.0..sroa_idx.i, align 8 - %1377 = load ptr, ptr %5, align 8 - %1378 = getelementptr inbounds nuw i8, ptr %1377, i64 32 - %1379 = load ptr, ptr %1378, align 8 - %1380 = call { ptr, ptr } %1379(ptr noundef nonnull align 8 dereferenceable(88) %5, i32 noundef 79, ptr nonnull %19, i64 1, ptr nonnull %20, i64 1, i64 0) #18 + %1368 = load ptr, ptr %5, align 8 + %1369 = getelementptr inbounds nuw i8, ptr %1368, i64 32 + %1370 = load ptr, ptr %1369, align 8 + %1371 = call { ptr, ptr } %1370(ptr noundef nonnull align 8 dereferenceable(88) %5, i32 noundef 79, ptr nonnull %19, i64 1, ptr nonnull %20, i64 1, i64 0) #18 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %19) call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %20) - %1381 = extractvalue { ptr, ptr } %1380, 1 - %1382 = getelementptr inbounds nuw i8, ptr %1381, i64 32 - %1383 = load ptr, ptr %1382, align 8 - %1384 = getelementptr inbounds nuw i8, ptr %1383, i64 4 - %1385 = load i32, ptr %1384, align 4 - %1386 = add i32 %.0195.i, 1 - %1387 = zext i32 %.0195.i to i64 - %1388 = load ptr, ptr %43, align 8 - %1389 = getelementptr inbounds nuw %"class.llvm::Register", ptr %1388, i64 %1387 - store i32 %1385, ptr %1389, align 4 - %1390 = getelementptr inbounds nuw i8, ptr %.0242194.i, i64 4 - %.not250.i = icmp eq ptr %1390, %1376 + %1372 = extractvalue { ptr, ptr } %1371, 1 + %1373 = getelementptr inbounds nuw i8, ptr %1372, i64 32 + %1374 = load ptr, ptr %1373, align 8 + %1375 = getelementptr inbounds nuw i8, ptr %1374, i64 4 + %1376 = load i32, ptr %1375, align 4 + %1377 = add i32 %.0195.i, 1 + %1378 = zext i32 %.0195.i to i64 + %1379 = load ptr, ptr %43, align 8 + %1380 = getelementptr inbounds nuw %"class.llvm::Register", ptr %1379, i64 %1378 + store i32 %1376, ptr %1380, align 4 + %1381 = getelementptr inbounds nuw i8, ptr %.0242194.i, i64 4 + %.not250.i = icmp eq ptr %1381, %1367 br i1 %.not250.i, label %._crit_edge198.i, label %.lr.ph197.i -._crit_edge198.i: ; preds = %.lr.ph197.i, %1372, %_ZNK4llvm3LLT14getElementTypeEv.exit.i382 - %1391 = load ptr, ptr %43, align 8 - %1392 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(16) %43) #18 +._crit_edge198.i: ; preds = %.lr.ph197.i, %1363, %_ZNK4llvm3LLT14getElementTypeEv.exit.i382 + %1382 = load ptr, ptr %43, align 8 + %1383 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(16) %43) #18 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %9) call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %10) call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %11) @@ -5820,266 +5803,266 @@ _ZNK4llvm3LLT14getElementTypeEv.exit.i382: ; preds = %_ZNK4llvm3LLT19getS call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %16) call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %17) call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %18) - %1393 = load ptr, ptr %136, align 8 - %.sroa.024.0.copyload.i = load i32, ptr %990, align 4 - %1394 = icmp slt i32 %.sroa.024.0.copyload.i, 0 - br i1 %1394, label %1395, label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i408 - -1395: ; preds = %._crit_edge198.i - %1396 = getelementptr inbounds nuw i8, ptr %1393, i64 456 - %1397 = and i32 %.sroa.024.0.copyload.i, 2147483647 - %1398 = zext nneg i32 %1397 to i64 - %1399 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(25) %1396) #18 - %1400 = icmp ugt i64 %1399, %1398 - br i1 %1400, label %1401, label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i408 - -1401: ; preds = %1395 - %1402 = load ptr, ptr %1396, align 8 - %1403 = getelementptr inbounds nuw %"class.llvm::LLT", ptr %1402, i64 %1398 - %1404 = load i64, ptr %1403, align 8 + %1384 = load ptr, ptr %136, align 8 + %.sroa.024.0.copyload.i = load i32, ptr %981, align 4 + %1385 = icmp slt i32 %.sroa.024.0.copyload.i, 0 + br i1 %1385, label %1386, label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i408 + +1386: ; preds = %._crit_edge198.i + %1387 = getelementptr inbounds nuw i8, ptr %1384, i64 456 + %1388 = and i32 %.sroa.024.0.copyload.i, 2147483647 + %1389 = zext nneg i32 %1388 to i64 + %1390 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(25) %1387) #18 + %1391 = icmp ugt i64 %1390, %1389 + br i1 %1391, label %1392, label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i408 + +1392: ; preds = %1386 + %1393 = load ptr, ptr %1387, align 8 + %1394 = getelementptr inbounds nuw %"class.llvm::LLT", ptr %1393, i64 %1389 + %1395 = load i64, ptr %1394, align 8 br label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i408 -_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i408: ; preds = %1401, %1395, %._crit_edge198.i - %.sroa.04.0.i.i409 = phi i64 [ %1404, %1401 ], [ 0, %1395 ], [ 0, %._crit_edge198.i ] - %.sroa.023.0.copyload.i = load i32, ptr %1391, align 4 - %1405 = icmp slt i32 %.sroa.023.0.copyload.i, 0 - br i1 %1405, label %1406, label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit38.i - -1406: ; preds = %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i408 - %1407 = getelementptr inbounds nuw i8, ptr %1393, i64 456 - %1408 = and i32 %.sroa.023.0.copyload.i, 2147483647 - %1409 = zext nneg i32 %1408 to i64 - %1410 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(25) %1407) #18 - %1411 = icmp ugt i64 %1410, %1409 - br i1 %1411, label %1412, label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit38.i - -1412: ; preds = %1406 - %1413 = load ptr, ptr %1407, align 8 - %1414 = getelementptr inbounds nuw %"class.llvm::LLT", ptr %1413, i64 %1409 - %1415 = load i64, ptr %1414, align 8 +_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i408: ; preds = %1392, %1386, %._crit_edge198.i + %.sroa.04.0.i.i409 = phi i64 [ %1395, %1392 ], [ 0, %1386 ], [ 0, %._crit_edge198.i ] + %.sroa.023.0.copyload.i = load i32, ptr %1382, align 4 + %1396 = icmp slt i32 %.sroa.023.0.copyload.i, 0 + br i1 %1396, label %1397, label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit38.i + +1397: ; preds = %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i408 + %1398 = getelementptr inbounds nuw i8, ptr %1384, i64 456 + %1399 = and i32 %.sroa.023.0.copyload.i, 2147483647 + %1400 = zext nneg i32 %1399 to i64 + %1401 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(25) %1398) #18 + %1402 = icmp ugt i64 %1401, %1400 + br i1 %1402, label %1403, label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit38.i + +1403: ; preds = %1397 + %1404 = load ptr, ptr %1398, align 8 + %1405 = getelementptr inbounds nuw %"class.llvm::LLT", ptr %1404, i64 %1400 + %1406 = load i64, ptr %1405, align 8 br label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit38.i -_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit38.i: ; preds = %1412, %1406, %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i408 - %.sroa.04.0.i37.i = phi i64 [ %1415, %1412 ], [ 0, %1406 ], [ 0, %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i408 ] - %1416 = call i64 @_ZN4llvm10getCoverTyENS_3LLTES0_(i64 %.sroa.04.0.i.i409, i64 %.sroa.04.0.i37.i) #20 - %spec.select.i.i410 = icmp eq i64 %1416, %.sroa.04.0.i.i409 - br i1 %spec.select.i.i410, label %1417, label %1419 +_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit38.i: ; preds = %1403, %1397, %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i408 + %.sroa.04.0.i37.i = phi i64 [ %1406, %1403 ], [ 0, %1397 ], [ 0, %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i408 ] + %1407 = call i64 @_ZN4llvm10getCoverTyENS_3LLTES0_(i64 %.sroa.04.0.i.i409, i64 %.sroa.04.0.i37.i) #20 + %spec.select.i.i410 = icmp eq i64 %1407, %.sroa.04.0.i.i409 + br i1 %spec.select.i.i410, label %1408, label %1410 -1417: ; preds = %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit38.i - %.sroa.020.0.copyload.i = load i32, ptr %990, align 4 +1408: ; preds = %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit38.i + %.sroa.020.0.copyload.i = load i32, ptr %981, align 4 store i32 %.sroa.020.0.copyload.i, ptr %9, align 8 store i32 1, ptr %199, align 8 - %1418 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder18buildConcatVectorsERKNS_5DstOpENS_8ArrayRefINS_8RegisterEEE(ptr noundef nonnull align 8 dereferenceable(88) %5, ptr noundef nonnull align 8 dereferenceable(12) %9, ptr nonnull %1391, i64 %1392) #18 + %1409 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder18buildConcatVectorsERKNS_5DstOpENS_8ArrayRefINS_8RegisterEEE(ptr noundef nonnull align 8 dereferenceable(88) %5, ptr noundef nonnull align 8 dereferenceable(12) %9, ptr nonnull %1382, i64 %1383) #18 br label %_ZL27mergeVectorRegsToResultRegsRN4llvm16MachineIRBuilderENS_8ArrayRefINS_8RegisterEEES4_.exit -1419: ; preds = %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit38.i - %spec.select.i.i.not.i = icmp eq i64 %1416, %.sroa.04.0.i37.i - br i1 %spec.select.i.i.not.i, label %1425, label %1420 +1410: ; preds = %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit38.i + %spec.select.i.i.not.i = icmp eq i64 %1407, %.sroa.04.0.i37.i + br i1 %spec.select.i.i.not.i, label %1416, label %1411 -1420: ; preds = %1419 - %.sroa.017.0.copyload.i = load i32, ptr %990, align 4 +1411: ; preds = %1410 + %.sroa.017.0.copyload.i = load i32, ptr %981, align 4 store i32 %.sroa.017.0.copyload.i, ptr %10, align 8 store i32 1, ptr %192, align 8 - store i64 %1416, ptr %12, align 8 + store i64 %1407, ptr %12, align 8 store i32 0, ptr %193, align 8 - %1421 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder19buildMergeLikeInstrERKNS_5DstOpENS_8ArrayRefINS_8RegisterEEE(ptr noundef nonnull align 8 dereferenceable(88) %5, ptr noundef nonnull align 8 dereferenceable(12) %12, ptr nonnull %1391, i64 %1392) #18 - %1422 = extractvalue { ptr, ptr } %1421, 0 - %1423 = extractvalue { ptr, ptr } %1421, 1 - store ptr %1422, ptr %11, align 8 - store ptr %1423, ptr %.sroa.262.0..sroa_idx.i411, align 8 + %1412 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder19buildMergeLikeInstrERKNS_5DstOpENS_8ArrayRefINS_8RegisterEEE(ptr noundef nonnull align 8 dereferenceable(88) %5, ptr noundef nonnull align 8 dereferenceable(12) %12, ptr nonnull %1382, i64 %1383) #18 + %1413 = extractvalue { ptr, ptr } %1412, 0 + %1414 = extractvalue { ptr, ptr } %1412, 1 + store ptr %1413, ptr %11, align 8 + store ptr %1414, ptr %.sroa.262.0..sroa_idx.i411, align 8 store i32 1, ptr %194, align 8 - %1424 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder33buildDeleteTrailingVectorElementsERKNS_5DstOpERKNS_5SrcOpE(ptr noundef nonnull align 8 dereferenceable(88) %5, ptr noundef nonnull align 8 dereferenceable(12) %10, ptr noundef nonnull align 8 dereferenceable(20) %11) #18 + %1415 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder33buildDeleteTrailingVectorElementsERKNS_5DstOpERKNS_5SrcOpE(ptr noundef nonnull align 8 dereferenceable(88) %5, ptr noundef nonnull align 8 dereferenceable(12) %10, ptr noundef nonnull align 8 dereferenceable(20) %11) #18 br label %_ZL27mergeVectorRegsToResultRegsRN4llvm16MachineIRBuilderENS_8ArrayRefINS_8RegisterEEES4_.exit -1425: ; preds = %1419 - %1426 = load i32, ptr %1391, align 4 - %1427 = and i64 %.sroa.04.0.i37.i, -7 - %spec.select.i.i.i.i413 = icmp ne i64 %1427, 0 - %1428 = and i64 %.sroa.04.0.i37.i, 2 - %.not.i.not.i.i414 = icmp eq i64 %1428, 0 - %1429 = and i64 %.sroa.04.0.i37.i, 6 - %1430 = icmp eq i64 %1429, 2 - %or.cond.i.i415 = and i1 %spec.select.i.i.i.i413, %1430 - %1431 = and i64 %.sroa.04.0.i37.i, 1 - %1432 = icmp ne i64 %1431, 0 - %or.cond14.i.i416 = or i1 %1432, %or.cond.i.i415 - br i1 %or.cond14.i.i416, label %1433, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i417 - -1433: ; preds = %1425 - %.not.i1.i.i435 = icmp eq i64 %1431, 0 - br i1 %.not.i1.i.i435, label %1436, label %1434 - -1434: ; preds = %1433 - %1435 = lshr i64 %.sroa.04.0.i37.i, 3 +1416: ; preds = %1410 + %1417 = load i32, ptr %1382, align 4 + %1418 = and i64 %.sroa.04.0.i37.i, -7 + %spec.select.i.i.i.i413 = icmp ne i64 %1418, 0 + %1419 = and i64 %.sroa.04.0.i37.i, 2 + %.not.i.not.i.i414 = icmp eq i64 %1419, 0 + %1420 = and i64 %.sroa.04.0.i37.i, 6 + %1421 = icmp eq i64 %1420, 2 + %or.cond.i.i415 = and i1 %spec.select.i.i.i.i413, %1421 + %1422 = and i64 %.sroa.04.0.i37.i, 1 + %1423 = icmp ne i64 %1422, 0 + %or.cond14.i.i416 = or i1 %1423, %or.cond.i.i415 + br i1 %or.cond14.i.i416, label %1424, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i417 + +1424: ; preds = %1416 + %.not.i1.i.i435 = icmp eq i64 %1422, 0 + br i1 %.not.i1.i.i435, label %1427, label %1425 + +1425: ; preds = %1424 + %1426 = lshr i64 %.sroa.04.0.i37.i, 3 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit.i423 -1436: ; preds = %1433 - %1437 = and i64 %.sroa.04.0.i37.i, 4 - %.not1.i2.i.i436 = icmp eq i64 %1437, 0 - br i1 %.not1.i2.i.i436, label %1441, label %1438 +1427: ; preds = %1424 + %1428 = and i64 %.sroa.04.0.i37.i, 4 + %.not1.i2.i.i436 = icmp eq i64 %1428, 0 + br i1 %.not1.i2.i.i436, label %1432, label %1429 -1438: ; preds = %1436 - %1439 = lshr i64 %.sroa.04.0.i37.i, 19 - %1440 = and i64 %1439, 65535 - %spec.select.i.i39.i = select i1 %.not.i.not.i.i414, i64 %1439, i64 %1440 +1429: ; preds = %1427 + %1430 = lshr i64 %.sroa.04.0.i37.i, 19 + %1431 = and i64 %1430, 65535 + %spec.select.i.i39.i = select i1 %.not.i.not.i.i414, i64 %1430, i64 %1431 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit.i423 -1441: ; preds = %1436 - %1442 = lshr i64 %.sroa.04.0.i37.i, 3 - %1443 = and i64 %1442, 65535 +1432: ; preds = %1427 + %1433 = lshr i64 %.sroa.04.0.i37.i, 3 + %1434 = and i64 %1433, 65535 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit.i423 -_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i417: ; preds = %1425 - %1444 = lshr i64 %.sroa.04.0.i37.i, 3 - %.sroa.0.0.insert.ext.i.i.i.i418 = and i64 %1444, 65535 - %1445 = select i1 %.not.i.not.i.i414, i64 2251799813685248, i64 576460752303423488 - %1446 = and i64 %1445, %.sroa.04.0.i37.i - %.not1.i4.i.i419 = icmp ne i64 %1446, 0 - %1447 = and i64 %.sroa.04.0.i37.i, 4 - %.not1.i8.i.i420 = icmp eq i64 %1447, 0 - %1448 = lshr i64 %.sroa.04.0.i37.i, 19 - %1449 = and i64 %1448, 65535 - %spec.select.i10.i.i421 = select i1 %.not.i.not.i.i414, i64 %1448, i64 %1449 +_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i417: ; preds = %1416 + %1435 = lshr i64 %.sroa.04.0.i37.i, 3 + %.sroa.0.0.insert.ext.i.i.i.i418 = and i64 %1435, 65535 + %1436 = select i1 %.not.i.not.i.i414, i64 2251799813685248, i64 576460752303423488 + %1437 = and i64 %1436, %.sroa.04.0.i37.i + %.not1.i4.i.i419 = icmp ne i64 %1437, 0 + %1438 = and i64 %.sroa.04.0.i37.i, 4 + %.not1.i8.i.i420 = icmp eq i64 %1438, 0 + %1439 = lshr i64 %.sroa.04.0.i37.i, 19 + %1440 = and i64 %1439, 65535 + %spec.select.i10.i.i421 = select i1 %.not.i.not.i.i414, i64 %1439, i64 %1440 %.0.in.i6.i.i422 = select i1 %.not1.i8.i.i420, i64 %.sroa.0.0.insert.ext.i.i.i.i418, i64 %spec.select.i10.i.i421 - %1450 = mul nuw nsw i64 %.0.in.i6.i.i422, %.sroa.0.0.insert.ext.i.i.i.i418 - %1451 = zext i1 %.not1.i4.i.i419 to i8 + %1441 = mul nuw nsw i64 %.0.in.i6.i.i422, %.sroa.0.0.insert.ext.i.i.i.i418 + %1442 = zext i1 %.not1.i4.i.i419 to i8 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit.i423 -_ZNK4llvm3LLT13getSizeInBitsEv.exit.i423: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i417, %1441, %1438, %1434 - %.sroa.012.0.in.i.i424 = phi i64 [ %1450, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i417 ], [ %1435, %1434 ], [ %1443, %1441 ], [ %spec.select.i.i39.i, %1438 ] - %.sroa.3.0.i.i425 = phi i8 [ %1451, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i417 ], [ 0, %1434 ], [ 0, %1441 ], [ 0, %1438 ] +_ZNK4llvm3LLT13getSizeInBitsEv.exit.i423: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i417, %1432, %1429, %1425 + %.sroa.012.0.in.i.i424 = phi i64 [ %1441, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i417 ], [ %1426, %1425 ], [ %1434, %1432 ], [ %spec.select.i.i39.i, %1429 ] + %.sroa.3.0.i.i425 = phi i8 [ %1442, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i417 ], [ 0, %1425 ], [ 0, %1432 ], [ 0, %1429 ] %.sroa.012.0.i.i426 = and i64 %.sroa.012.0.in.i.i424, 4294967295 store i64 %.sroa.012.0.i.i426, ptr %13, align 8 store i8 %.sroa.3.0.i.i425, ptr %.sroa.211.0..sroa_idx.i, align 8 - %1452 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %13) #18 - %1453 = and i64 %.sroa.04.0.i.i409, -7 - %spec.select.i.i.i40.i = icmp ne i64 %1453, 0 - %1454 = and i64 %.sroa.04.0.i.i409, 2 - %.not.i.not.i41.i = icmp eq i64 %1454, 0 - %1455 = and i64 %.sroa.04.0.i.i409, 6 - %1456 = icmp eq i64 %1455, 2 - %or.cond.i42.i = and i1 %spec.select.i.i.i40.i, %1456 - %1457 = and i64 %.sroa.04.0.i.i409, 1 - %1458 = icmp ne i64 %1457, 0 - %or.cond14.i43.i = or i1 %1458, %or.cond.i42.i - br i1 %or.cond14.i43.i, label %1459, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i44.i - -1459: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit.i423 - %.not.i1.i55.i = icmp eq i64 %1457, 0 - br i1 %.not.i1.i55.i, label %1462, label %1460 - -1460: ; preds = %1459 - %1461 = lshr i64 %.sroa.04.0.i.i409, 3 + %1443 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %13) #18 + %1444 = and i64 %.sroa.04.0.i.i409, -7 + %spec.select.i.i.i40.i = icmp ne i64 %1444, 0 + %1445 = and i64 %.sroa.04.0.i.i409, 2 + %.not.i.not.i41.i = icmp eq i64 %1445, 0 + %1446 = and i64 %.sroa.04.0.i.i409, 6 + %1447 = icmp eq i64 %1446, 2 + %or.cond.i42.i = and i1 %spec.select.i.i.i40.i, %1447 + %1448 = and i64 %.sroa.04.0.i.i409, 1 + %1449 = icmp ne i64 %1448, 0 + %or.cond14.i43.i = or i1 %1449, %or.cond.i42.i + br i1 %or.cond14.i43.i, label %1450, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i44.i + +1450: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit.i423 + %.not.i1.i55.i = icmp eq i64 %1448, 0 + br i1 %.not.i1.i55.i, label %1453, label %1451 + +1451: ; preds = %1450 + %1452 = lshr i64 %.sroa.04.0.i.i409, 3 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit58.i -1462: ; preds = %1459 - %1463 = and i64 %.sroa.04.0.i.i409, 4 - %.not1.i2.i56.i = icmp eq i64 %1463, 0 - br i1 %.not1.i2.i56.i, label %1467, label %1464 +1453: ; preds = %1450 + %1454 = and i64 %.sroa.04.0.i.i409, 4 + %.not1.i2.i56.i = icmp eq i64 %1454, 0 + br i1 %.not1.i2.i56.i, label %1458, label %1455 -1464: ; preds = %1462 - %1465 = lshr i64 %.sroa.04.0.i.i409, 19 - %1466 = and i64 %1465, 65535 - %spec.select.i.i57.i = select i1 %.not.i.not.i41.i, i64 %1465, i64 %1466 +1455: ; preds = %1453 + %1456 = lshr i64 %.sroa.04.0.i.i409, 19 + %1457 = and i64 %1456, 65535 + %spec.select.i.i57.i = select i1 %.not.i.not.i41.i, i64 %1456, i64 %1457 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit58.i -1467: ; preds = %1462 - %1468 = lshr i64 %.sroa.04.0.i.i409, 3 - %1469 = and i64 %1468, 65535 +1458: ; preds = %1453 + %1459 = lshr i64 %.sroa.04.0.i.i409, 3 + %1460 = and i64 %1459, 65535 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit58.i _ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i44.i: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit.i423 - %1470 = lshr i64 %.sroa.04.0.i.i409, 3 - %.sroa.0.0.insert.ext.i.i.i45.i = and i64 %1470, 65535 - %1471 = select i1 %.not.i.not.i41.i, i64 2251799813685248, i64 576460752303423488 - %1472 = and i64 %1471, %.sroa.04.0.i.i409 - %.not1.i4.i46.i = icmp ne i64 %1472, 0 - %1473 = and i64 %.sroa.04.0.i.i409, 4 - %.not1.i8.i47.i = icmp eq i64 %1473, 0 - %1474 = lshr i64 %.sroa.04.0.i.i409, 19 - %1475 = and i64 %1474, 65535 - %spec.select.i10.i48.i = select i1 %.not.i.not.i41.i, i64 %1474, i64 %1475 + %1461 = lshr i64 %.sroa.04.0.i.i409, 3 + %.sroa.0.0.insert.ext.i.i.i45.i = and i64 %1461, 65535 + %1462 = select i1 %.not.i.not.i41.i, i64 2251799813685248, i64 576460752303423488 + %1463 = and i64 %1462, %.sroa.04.0.i.i409 + %.not1.i4.i46.i = icmp ne i64 %1463, 0 + %1464 = and i64 %.sroa.04.0.i.i409, 4 + %.not1.i8.i47.i = icmp eq i64 %1464, 0 + %1465 = lshr i64 %.sroa.04.0.i.i409, 19 + %1466 = and i64 %1465, 65535 + %spec.select.i10.i48.i = select i1 %.not.i.not.i41.i, i64 %1465, i64 %1466 %.0.in.i6.i49.i = select i1 %.not1.i8.i47.i, i64 %.sroa.0.0.insert.ext.i.i.i45.i, i64 %spec.select.i10.i48.i - %1476 = mul nuw nsw i64 %.0.in.i6.i49.i, %.sroa.0.0.insert.ext.i.i.i45.i - %1477 = zext i1 %.not1.i4.i46.i to i8 + %1467 = mul nuw nsw i64 %.0.in.i6.i49.i, %.sroa.0.0.insert.ext.i.i.i45.i + %1468 = zext i1 %.not1.i4.i46.i to i8 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit58.i -_ZNK4llvm3LLT13getSizeInBitsEv.exit58.i: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i44.i, %1467, %1464, %1460 - %.sroa.012.0.in.i50.i = phi i64 [ %1476, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i44.i ], [ %1461, %1460 ], [ %1469, %1467 ], [ %spec.select.i.i57.i, %1464 ] - %.sroa.3.0.i51.i = phi i8 [ %1477, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i44.i ], [ 0, %1460 ], [ 0, %1467 ], [ 0, %1464 ] +_ZNK4llvm3LLT13getSizeInBitsEv.exit58.i: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i44.i, %1458, %1455, %1451 + %.sroa.012.0.in.i50.i = phi i64 [ %1467, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i44.i ], [ %1452, %1451 ], [ %1460, %1458 ], [ %spec.select.i.i57.i, %1455 ] + %.sroa.3.0.i51.i = phi i8 [ %1468, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i44.i ], [ 0, %1451 ], [ 0, %1458 ], [ 0, %1455 ] %.sroa.012.0.i52.i = and i64 %.sroa.012.0.in.i50.i, 4294967295 store i64 %.sroa.012.0.i52.i, ptr %14, align 8 store i8 %.sroa.3.0.i51.i, ptr %.sroa.2.0..sroa_idx.i427, align 8 - %1478 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %14) #18 - %1479 = udiv i64 %1452, %1478 - %1480 = trunc i64 %1479 to i32 - %sext.i = shl i64 %1479, 32 - %1481 = ashr exact i64 %sext.i, 32 + %1469 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %14) #18 + %1470 = udiv i64 %1443, %1469 + %1471 = trunc i64 %1470 to i32 + %sext.i = shl i64 %1470, 32 + %1472 = ashr exact i64 %sext.i, 32 call void @_ZN4llvm15SmallVectorBaseIjEC2EPvm(ptr noundef nonnull align 8 dereferenceable(48) %15, ptr noundef nonnull %195, i64 noundef 8) #18 - call void @_ZN4llvm15SmallVectorImplINS_8RegisterEE10resizeImplILb0EEEvm(ptr noundef nonnull align 8 dereferenceable(48) %15, i64 noundef %1481) - %.not.i.i.i.i.i.i428 = icmp eq i64 %991, 0 - br i1 %.not.i.i.i.i.i.i428, label %_ZSt4copyIPKN4llvm8RegisterEPS1_ET0_T_S6_S5_.exit.i, label %1482 - -1482: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit58.i - %.idx.i = shl nsw i64 %991, 2 - %1483 = load ptr, ptr %15, align 8 - call void @llvm.memmove.p0.p0.i64(ptr align 4 %1483, ptr nonnull readonly align 4 %990, i64 %.idx.i, i1 false) + call void @_ZN4llvm15SmallVectorImplINS_8RegisterEE10resizeImplILb0EEEvm(ptr noundef nonnull align 8 dereferenceable(48) %15, i64 noundef %1472) + %.not.i.i.i.i.i.i428 = icmp eq i64 %982, 0 + br i1 %.not.i.i.i.i.i.i428, label %_ZSt4copyIPKN4llvm8RegisterEPS1_ET0_T_S6_S5_.exit.i, label %1473 + +1473: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit58.i + %.idx.i = shl nsw i64 %982, 2 + %1474 = load ptr, ptr %15, align 8 + call void @llvm.memmove.p0.p0.i64(ptr align 4 %1474, ptr nonnull readonly align 4 %981, i64 %.idx.i, i1 false) br label %_ZSt4copyIPKN4llvm8RegisterEPS1_ET0_T_S6_S5_.exit.i -_ZSt4copyIPKN4llvm8RegisterEPS1_ET0_T_S6_S5_.exit.i: ; preds = %1482, %_ZNK4llvm3LLT13getSizeInBitsEv.exit58.i - %1484 = trunc i64 %991 to i32 - %.not85.i = icmp eq i32 %1484, %1480 +_ZSt4copyIPKN4llvm8RegisterEPS1_ET0_T_S6_S5_.exit.i: ; preds = %1473, %_ZNK4llvm3LLT13getSizeInBitsEv.exit58.i + %1475 = trunc i64 %982 to i32 + %.not85.i = icmp eq i32 %1475, %1471 br i1 %.not85.i, label %._crit_edge.i433, label %.lr.ph.preheader.i .lr.ph.preheader.i: ; preds = %_ZSt4copyIPKN4llvm8RegisterEPS1_ET0_T_S6_S5_.exit.i - %sext88.i = shl i64 %991, 32 - %1485 = ashr exact i64 %sext88.i, 32 + %sext88.i = shl i64 %982, 32 + %1476 = ashr exact i64 %sext88.i, 32 br label %.lr.ph.i429 .lr.ph.i429: ; preds = %.lr.ph.i429, %.lr.ph.preheader.i - %indvars.iv.i430 = phi i64 [ %1485, %.lr.ph.preheader.i ], [ %indvars.iv.next.i431, %.lr.ph.i429 ] - %1486 = call i32 @_ZN4llvm19MachineRegisterInfo28createGenericVirtualRegisterENS_3LLTENS_9StringRefE(ptr noundef nonnull align 8 dereferenceable(512) %1393, i64 %.sroa.04.0.i.i409, ptr nonnull @.str.2, i64 0) #18 - %1487 = load ptr, ptr %15, align 8 - %1488 = getelementptr inbounds %"class.llvm::Register", ptr %1487, i64 %indvars.iv.i430 - store i32 %1486, ptr %1488, align 4 + %indvars.iv.i430 = phi i64 [ %1476, %.lr.ph.preheader.i ], [ %indvars.iv.next.i431, %.lr.ph.i429 ] + %1477 = call i32 @_ZN4llvm19MachineRegisterInfo28createGenericVirtualRegisterENS_3LLTENS_9StringRefE(ptr noundef nonnull align 8 dereferenceable(512) %1384, i64 %.sroa.04.0.i.i409, ptr nonnull @.str.2, i64 0) #18 + %1478 = load ptr, ptr %15, align 8 + %1479 = getelementptr inbounds %"class.llvm::Register", ptr %1478, i64 %indvars.iv.i430 + store i32 %1477, ptr %1479, align 4 %indvars.iv.next.i431 = add nsw i64 %indvars.iv.i430, 1 - %1489 = trunc nsw i64 %indvars.iv.next.i431 to i32 - %.not.i432 = icmp eq i32 %1489, %1480 + %1480 = trunc nsw i64 %indvars.iv.next.i431 to i32 + %.not.i432 = icmp eq i32 %1480, %1471 br i1 %.not.i432, label %._crit_edge.i433, label %.lr.ph.i429, !llvm.loop !45 ._crit_edge.i433: ; preds = %.lr.ph.i429, %_ZSt4copyIPKN4llvm8RegisterEPS1_ET0_T_S6_S5_.exit.i - %1490 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(16) %15) #18 - %1491 = icmp eq i64 %1490, 1 - br i1 %1491, label %1492, label %1494 + %1481 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(16) %15) #18 + %1482 = icmp eq i64 %1481, 1 + br i1 %1482, label %1483, label %1485 -1492: ; preds = %._crit_edge.i433 - %.sroa.02.0.copyload.i = load i32, ptr %990, align 4 +1483: ; preds = %._crit_edge.i433 + %.sroa.02.0.copyload.i = load i32, ptr %981, align 4 store i32 %.sroa.02.0.copyload.i, ptr %16, align 8 store i32 1, ptr %197, align 8 - store i32 %1426, ptr %17, align 8 + store i32 %1417, ptr %17, align 8 store i32 0, ptr %198, align 8 - %1493 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder33buildDeleteTrailingVectorElementsERKNS_5DstOpERKNS_5SrcOpE(ptr noundef nonnull align 8 dereferenceable(88) %5, ptr noundef nonnull align 8 dereferenceable(12) %16, ptr noundef nonnull align 8 dereferenceable(20) %17) #18 - br label %1498 + %1484 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder33buildDeleteTrailingVectorElementsERKNS_5DstOpERKNS_5SrcOpE(ptr noundef nonnull align 8 dereferenceable(88) %5, ptr noundef nonnull align 8 dereferenceable(12) %16, ptr noundef nonnull align 8 dereferenceable(20) %17) #18 + br label %1489 -1494: ; preds = %._crit_edge.i433 - %1495 = load ptr, ptr %15, align 8 - %1496 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(16) %15) #18 - store i32 %1426, ptr %18, align 8 +1485: ; preds = %._crit_edge.i433 + %1486 = load ptr, ptr %15, align 8 + %1487 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(16) %15) #18 + store i32 %1417, ptr %18, align 8 store i32 0, ptr %196, align 8 - %1497 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder12buildUnmergeENS_8ArrayRefINS_8RegisterEEERKNS_5SrcOpE(ptr noundef nonnull align 8 dereferenceable(88) %5, ptr %1495, i64 %1496, ptr noundef nonnull align 8 dereferenceable(20) %18) #18 - br label %1498 + %1488 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder12buildUnmergeENS_8ArrayRefINS_8RegisterEEERKNS_5SrcOpE(ptr noundef nonnull align 8 dereferenceable(88) %5, ptr %1486, i64 %1487, ptr noundef nonnull align 8 dereferenceable(20) %18) #18 + br label %1489 -1498: ; preds = %1494, %1492 - %1499 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(48) %15) #18 - %1500 = load ptr, ptr %15, align 8 - %1501 = icmp eq ptr %1500, %195 - br i1 %1501, label %_ZL27mergeVectorRegsToResultRegsRN4llvm16MachineIRBuilderENS_8ArrayRefINS_8RegisterEEES4_.exit, label %1502 +1489: ; preds = %1485, %1483 + %1490 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(48) %15) #18 + %1491 = load ptr, ptr %15, align 8 + %1492 = icmp eq ptr %1491, %195 + br i1 %1492, label %_ZL27mergeVectorRegsToResultRegsRN4llvm16MachineIRBuilderENS_8ArrayRefINS_8RegisterEEES4_.exit, label %1493 -1502: ; preds = %1498 - call void @free(ptr noundef %1500) #18 +1493: ; preds = %1489 + call void @free(ptr noundef %1491) #18 br label %_ZL27mergeVectorRegsToResultRegsRN4llvm16MachineIRBuilderENS_8ArrayRefINS_8RegisterEEES4_.exit -_ZL27mergeVectorRegsToResultRegsRN4llvm16MachineIRBuilderENS_8ArrayRefINS_8RegisterEEES4_.exit: ; preds = %1417, %1420, %1498, %1502 +_ZL27mergeVectorRegsToResultRegsRN4llvm16MachineIRBuilderENS_8ArrayRefINS_8RegisterEEES4_.exit: ; preds = %1408, %1411, %1489, %1493 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %9) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %10) call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %11) @@ -6090,788 +6073,788 @@ _ZL27mergeVectorRegsToResultRegsRN4llvm16MachineIRBuilderENS_8ArrayRefINS_8Regis call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %16) call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %17) call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %18) - %1503 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(64) %43) #18 - %1504 = load ptr, ptr %43, align 8 - %1505 = icmp eq ptr %1504, %191 - br i1 %1505, label %_ZL17buildCopyFromRegsRN4llvm16MachineIRBuilderENS_8ArrayRefINS_8RegisterEEES4_NS_3LLTES5_NS_3ISD10ArgFlagsTyE.exit, label %1506 + %1494 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(64) %43) #18 + %1495 = load ptr, ptr %43, align 8 + %1496 = icmp eq ptr %1495, %191 + br i1 %1496, label %_ZL17buildCopyFromRegsRN4llvm16MachineIRBuilderENS_8ArrayRefINS_8RegisterEEES4_NS_3LLTES5_NS_3ISD10ArgFlagsTyE.exit, label %1497 -1506: ; preds = %_ZL27mergeVectorRegsToResultRegsRN4llvm16MachineIRBuilderENS_8ArrayRefINS_8RegisterEEES4_.exit - call void @free(ptr noundef %1504) #18 +1497: ; preds = %_ZL27mergeVectorRegsToResultRegsRN4llvm16MachineIRBuilderENS_8ArrayRefINS_8RegisterEEES4_.exit + call void @free(ptr noundef %1495) #18 br label %_ZL17buildCopyFromRegsRN4llvm16MachineIRBuilderENS_8ArrayRefINS_8RegisterEEES4_NS_3LLTES5_NS_3ISD10ArgFlagsTyE.exit -.thread212.i: ; preds = %1241, %.critedge2.thread.i398 - %.not.i3.i425.i = icmp eq i64 %1030, 0 +.thread212.i: ; preds = %1232, %.critedge2.thread.i398 + %.not.i3.i425.i = icmp eq i64 %1021, 0 %.0.in.i4.i427.v.i = select i1 %.not.i3.i425.i, i64 19, i64 3 %.0.in.i4.i427.i = lshr i64 %240, %.0.in.i4.i427.v.i br i1 %.not.i.not.i252.i, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit9.i426.i, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit.i416.i _ZNK4llvm3LLT19getScalarSizeInBitsEv.exit.i416.i: ; preds = %.thread212.i - %1507 = lshr i64 %240, 16 - %1508 = and i64 %1507, 8796092497920 - %1509 = shl nuw i64 %.0.in.i4.i427.i, 3 - %1510 = and i64 %1509, 524280 - %1511 = or disjoint i64 %1508, %1510 - %1512 = or disjoint i64 %1511, 2 + %1498 = lshr i64 %240, 16 + %1499 = and i64 %1498, 8796092497920 + %1500 = shl nuw i64 %.0.in.i4.i427.i, 3 + %1501 = and i64 %1500, 524280 + %1502 = or disjoint i64 %1499, %1501 + %1503 = or disjoint i64 %1502, 2 br label %_ZNK4llvm3LLT14getElementTypeEv.exit429.i _ZNK4llvm3LLT19getScalarSizeInBitsEv.exit9.i426.i: ; preds = %.thread212.i - %1513 = shl nuw i64 %.0.in.i4.i427.i, 3 - %1514 = and i64 %1513, 34359738360 - %1515 = or disjoint i64 %1514, 1 + %1504 = shl nuw i64 %.0.in.i4.i427.i, 3 + %1505 = and i64 %1504, 34359738360 + %1506 = or disjoint i64 %1505, 1 br label %_ZNK4llvm3LLT14getElementTypeEv.exit429.i _ZNK4llvm3LLT14getElementTypeEv.exit429.i: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit9.i426.i, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit.i416.i - %.sroa.0.0.i424.i = phi i64 [ %1512, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit.i416.i ], [ %1515, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit9.i426.i ] - %.sroa.0108.0.copyload.i = load i32, ptr %990, align 4 - %1516 = icmp slt i32 %.sroa.0108.0.copyload.i, 0 - br i1 %1516, label %1517, label %.thread152.i - -1517: ; preds = %_ZNK4llvm3LLT14getElementTypeEv.exit429.i - %1518 = getelementptr inbounds nuw i8, ptr %999, i64 456 - %1519 = and i32 %.sroa.0108.0.copyload.i, 2147483647 - %1520 = zext nneg i32 %1519 to i64 - %1521 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(25) %1518) #18 - %1522 = icmp ugt i64 %1521, %1520 - br i1 %1522, label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit431.i, label %.thread152.i - -_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit431.i: ; preds = %1517 - %1523 = load ptr, ptr %1518, align 8 - %1524 = getelementptr inbounds nuw %"class.llvm::LLT", ptr %1523, i64 %1520 - %1525 = load i64, ptr %1524, align 8 - %1526 = and i64 %1525, 2 - %.not.i432.i = icmp eq i64 %1526, 0 - br i1 %.not.i432.i, label %1535, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit.i433.i + %.sroa.0.0.i424.i = phi i64 [ %1503, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit.i416.i ], [ %1506, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit9.i426.i ] + %.sroa.0108.0.copyload.i = load i32, ptr %981, align 4 + %1507 = icmp slt i32 %.sroa.0108.0.copyload.i, 0 + br i1 %1507, label %1508, label %.thread152.i + +1508: ; preds = %_ZNK4llvm3LLT14getElementTypeEv.exit429.i + %1509 = getelementptr inbounds nuw i8, ptr %990, i64 456 + %1510 = and i32 %.sroa.0108.0.copyload.i, 2147483647 + %1511 = zext nneg i32 %1510 to i64 + %1512 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(25) %1509) #18 + %1513 = icmp ugt i64 %1512, %1511 + br i1 %1513, label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit431.i, label %.thread152.i + +_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit431.i: ; preds = %1508 + %1514 = load ptr, ptr %1509, align 8 + %1515 = getelementptr inbounds nuw %"class.llvm::LLT", ptr %1514, i64 %1511 + %1516 = load i64, ptr %1515, align 8 + %1517 = and i64 %1516, 2 + %.not.i432.i = icmp eq i64 %1517, 0 + br i1 %.not.i432.i, label %1526, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit.i433.i _ZNK4llvm3LLT19getScalarSizeInBitsEv.exit.i433.i: ; preds = %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit431.i - %1527 = and i64 %1525, 4 - %.not.i.i434.i = icmp eq i64 %1527, 0 + %1518 = and i64 %1516, 4 + %.not.i.i434.i = icmp eq i64 %1518, 0 %.0.in.in.v.i.i435.i = select i1 %.not.i.i434.i, i64 19, i64 35 - %.0.in.in.i.i436.i = lshr i64 %1525, %.0.in.in.v.i.i435.i - %1528 = and i64 %1525, 1 - %.not.i1.i437.i = icmp eq i64 %1528, 0 + %.0.in.in.i.i436.i = lshr i64 %1516, %.0.in.in.v.i.i435.i + %1519 = and i64 %1516, 1 + %.not.i1.i437.i = icmp eq i64 %1519, 0 %..i438.i = select i1 %.not.i.i434.i, i64 3, i64 19 %.sink11.i439.i = select i1 %.not.i1.i437.i, i64 %..i438.i, i64 3 - %1529 = lshr i64 %1525, %.sink11.i439.i + %1520 = lshr i64 %1516, %.sink11.i439.i %.0.i.i440.i = shl nuw i64 %.0.in.in.i.i436.i, 19 - %1530 = and i64 %.0.i.i440.i, 8796092497920 - %1531 = shl nuw i64 %1529, 3 - %1532 = and i64 %1531, 524280 - %1533 = or disjoint i64 %1530, %1532 - %1534 = or disjoint i64 %1533, 2 + %1521 = and i64 %.0.i.i440.i, 8796092497920 + %1522 = shl nuw i64 %1520, 3 + %1523 = and i64 %1522, 524280 + %1524 = or disjoint i64 %1521, %1523 + %1525 = or disjoint i64 %1524, 2 br label %_ZNK4llvm3LLT14getElementTypeEv.exit446.i -1535: ; preds = %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit431.i - %1536 = and i64 %1525, 1 - %.not.i3.i442.i = icmp eq i64 %1536, 0 - br i1 %.not.i3.i442.i, label %1539, label %1537 +1526: ; preds = %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit431.i + %1527 = and i64 %1516, 1 + %.not.i3.i442.i = icmp eq i64 %1527, 0 + br i1 %.not.i3.i442.i, label %1530, label %1528 -1537: ; preds = %1535 - %1538 = lshr i64 %1525, 3 +1528: ; preds = %1526 + %1529 = lshr i64 %1516, 3 br label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit9.i443.i -1539: ; preds = %1535 - %1540 = and i64 %1525, 4 - %.not1.i6.i445.i = icmp eq i64 %1540, 0 - br i1 %.not1.i6.i445.i, label %.thread152.i, label %1541 +1530: ; preds = %1526 + %1531 = and i64 %1516, 4 + %.not1.i6.i445.i = icmp eq i64 %1531, 0 + br i1 %.not1.i6.i445.i, label %.thread152.i, label %1532 -1541: ; preds = %1539 - %1542 = lshr i64 %1525, 19 +1532: ; preds = %1530 + %1533 = lshr i64 %1516, 19 br label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit9.i443.i -.thread152.i: ; preds = %1539, %1517, %_ZNK4llvm3LLT14getElementTypeEv.exit429.i - %.sroa.04.0.i430147151155.i = phi i64 [ %1525, %1539 ], [ 0, %1517 ], [ 0, %_ZNK4llvm3LLT14getElementTypeEv.exit429.i ] - %1543 = lshr exact i64 %.sroa.04.0.i430147151155.i, 3 - %1544 = and i64 %1543, 65535 +.thread152.i: ; preds = %1530, %1508, %_ZNK4llvm3LLT14getElementTypeEv.exit429.i + %.sroa.04.0.i430147151155.i = phi i64 [ %1516, %1530 ], [ 0, %1508 ], [ 0, %_ZNK4llvm3LLT14getElementTypeEv.exit429.i ] + %1534 = lshr exact i64 %.sroa.04.0.i430147151155.i, 3 + %1535 = and i64 %1534, 65535 br label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit9.i443.i -_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit9.i443.i: ; preds = %.thread152.i, %1541, %1537 - %.0.in.i4.i444.i = phi i64 [ %1538, %1537 ], [ %1544, %.thread152.i ], [ %1542, %1541 ] - %1545 = shl nuw i64 %.0.in.i4.i444.i, 3 - %1546 = and i64 %1545, 34359738360 - %1547 = or disjoint i64 %1546, 1 +_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit9.i443.i: ; preds = %.thread152.i, %1532, %1528 + %.0.in.i4.i444.i = phi i64 [ %1529, %1528 ], [ %1535, %.thread152.i ], [ %1533, %1532 ] + %1536 = shl nuw i64 %.0.in.i4.i444.i, 3 + %1537 = and i64 %1536, 34359738360 + %1538 = or disjoint i64 %1537, 1 br label %_ZNK4llvm3LLT14getElementTypeEv.exit446.i _ZNK4llvm3LLT14getElementTypeEv.exit446.i: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit9.i443.i, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit.i433.i - %.sroa.0.0.i441.i = phi i64 [ %1534, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit.i433.i ], [ %1547, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit9.i443.i ] + %.sroa.0.0.i441.i = phi i64 [ %1525, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit.i433.i ], [ %1538, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit9.i443.i ] %spec.select.i447.i = icmp eq i64 %.sroa.0.0.i424.i, %.sroa.0.0.copyload - br i1 %spec.select.i447.i, label %1548, label %1556 + br i1 %spec.select.i447.i, label %1539, label %1547 -1548: ; preds = %_ZNK4llvm3LLT14getElementTypeEv.exit446.i - %1549 = and i64 %.sroa.0.0.i441.i, -7 - %spec.select.i.i448.i = icmp ne i64 %1549, 0 - %1550 = and i64 %.sroa.0.0.i441.i, 2 - %.not.i449.i = icmp ne i64 %1550, 0 +1539: ; preds = %_ZNK4llvm3LLT14getElementTypeEv.exit446.i + %1540 = and i64 %.sroa.0.0.i441.i, -7 + %spec.select.i.i448.i = icmp ne i64 %1540, 0 + %1541 = and i64 %.sroa.0.0.i441.i, 2 + %.not.i449.i = icmp ne i64 %1541, 0 %or.cond.i450.not180.i = and i1 %spec.select.i.i448.i, %.not.i449.i - %1551 = and i64 %.sroa.0.0.i441.i, 4 - %.not1.i451.i = icmp eq i64 %1551, 0 + %1542 = and i64 %.sroa.0.0.i441.i, 4 + %.not1.i451.i = icmp eq i64 %1542, 0 %or.cond173.i = select i1 %or.cond.i450.not180.i, i1 %.not1.i451.i, i1 false - br i1 %or.cond173.i, label %1552, label %_ZNK4llvm3LLT9isPointerEv.exit452.thread.i + br i1 %or.cond173.i, label %1543, label %_ZNK4llvm3LLT9isPointerEv.exit452.thread.i -1552: ; preds = %1548 - %1553 = getelementptr inbounds %"class.llvm::Register", ptr %994, i64 %995 - %.not249190.i = icmp eq i64 %995, 0 +1543: ; preds = %1539 + %1544 = getelementptr inbounds %"class.llvm::Register", ptr %985, i64 %986 + %.not249190.i = icmp eq i64 %986, 0 br i1 %.not249190.i, label %_ZNK4llvm3LLT9isPointerEv.exit452.thread.i, label %.lr.ph.i397 -.lr.ph.i397: ; preds = %1552, %.lr.ph.i397 - %.0243191.i = phi ptr [ %1554, %.lr.ph.i397 ], [ %994, %1552 ] +.lr.ph.i397: ; preds = %1543, %.lr.ph.i397 + %.0243191.i = phi ptr [ %1545, %.lr.ph.i397 ], [ %985, %1543 ] %.sroa.0101.0.copyload.i = load i32, ptr %.0243191.i, align 4 - call void @_ZN4llvm19MachineRegisterInfo7setTypeENS_8RegisterENS_3LLTE(ptr noundef nonnull align 8 dereferenceable(512) %999, i32 %.sroa.0101.0.copyload.i, i64 %.sroa.0.0.i441.i) #18 - %1554 = getelementptr inbounds nuw i8, ptr %.0243191.i, i64 4 - %.not249.i = icmp eq ptr %1554, %1553 + call void @_ZN4llvm19MachineRegisterInfo7setTypeENS_8RegisterENS_3LLTE(ptr noundef nonnull align 8 dereferenceable(512) %990, i32 %.sroa.0101.0.copyload.i, i64 %.sroa.0.0.i441.i) #18 + %1545 = getelementptr inbounds nuw i8, ptr %.0243191.i, i64 4 + %.not249.i = icmp eq ptr %1545, %1544 br i1 %.not249.i, label %_ZNK4llvm3LLT9isPointerEv.exit452.thread.i, label %.lr.ph.i397 -_ZNK4llvm3LLT9isPointerEv.exit452.thread.i: ; preds = %.lr.ph.i397, %1552, %1548 - %.sroa.098.0.copyload.i = load i32, ptr %990, align 4 +_ZNK4llvm3LLT9isPointerEv.exit452.thread.i: ; preds = %.lr.ph.i397, %1543, %1539 + %.sroa.098.0.copyload.i = load i32, ptr %981, align 4 store i32 %.sroa.098.0.copyload.i, ptr %44, align 8 store i32 1, ptr %190, align 8 - %1555 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder16buildBuildVectorERKNS_5DstOpENS_8ArrayRefINS_8RegisterEEE(ptr noundef nonnull align 8 dereferenceable(88) %5, ptr noundef nonnull align 8 dereferenceable(12) %44, ptr %994, i64 %995) #18 + %1546 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder16buildBuildVectorERKNS_5DstOpENS_8ArrayRefINS_8RegisterEEE(ptr noundef nonnull align 8 dereferenceable(88) %5, ptr noundef nonnull align 8 dereferenceable(12) %44, ptr %985, i64 %986) #18 br label %_ZL17buildCopyFromRegsRN4llvm16MachineIRBuilderENS_8ArrayRefINS_8RegisterEEES4_NS_3LLTES5_NS_3ISD10ArgFlagsTyE.exit -1556: ; preds = %_ZNK4llvm3LLT14getElementTypeEv.exit446.i - %1557 = and i64 %.sroa.0.0.i424.i, -7 - %spec.select.i.i.i453.i = icmp ne i64 %1557, 0 - %1558 = and i64 %.sroa.0.0.i424.i, 2 - %.not.i.not.i454.i = icmp eq i64 %1558, 0 - %1559 = and i64 %.sroa.0.0.i424.i, 6 - %1560 = icmp eq i64 %1559, 2 - %or.cond.i455.i = and i1 %spec.select.i.i.i453.i, %1560 - %1561 = and i64 %.sroa.0.0.i424.i, 1 - %1562 = icmp ne i64 %1561, 0 - %or.cond14.i456.i = or i1 %1562, %or.cond.i455.i - br i1 %or.cond14.i456.i, label %1563, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i457.i - -1563: ; preds = %1556 - %.not.i1.i469.i = icmp eq i64 %1561, 0 - br i1 %.not.i1.i469.i, label %1566, label %1564 - -1564: ; preds = %1563 - %1565 = lshr i64 %.sroa.0.0.i424.i, 3 +1547: ; preds = %_ZNK4llvm3LLT14getElementTypeEv.exit446.i + %1548 = and i64 %.sroa.0.0.i424.i, -7 + %spec.select.i.i.i453.i = icmp ne i64 %1548, 0 + %1549 = and i64 %.sroa.0.0.i424.i, 2 + %.not.i.not.i454.i = icmp eq i64 %1549, 0 + %1550 = and i64 %.sroa.0.0.i424.i, 6 + %1551 = icmp eq i64 %1550, 2 + %or.cond.i455.i = and i1 %spec.select.i.i.i453.i, %1551 + %1552 = and i64 %.sroa.0.0.i424.i, 1 + %1553 = icmp ne i64 %1552, 0 + %or.cond14.i456.i = or i1 %1553, %or.cond.i455.i + br i1 %or.cond14.i456.i, label %1554, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i457.i + +1554: ; preds = %1547 + %.not.i1.i469.i = icmp eq i64 %1552, 0 + br i1 %.not.i1.i469.i, label %1557, label %1555 + +1555: ; preds = %1554 + %1556 = lshr i64 %.sroa.0.0.i424.i, 3 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit472.i -1566: ; preds = %1563 - %1567 = and i64 %.sroa.0.0.i424.i, 4 - %.not1.i2.i470.i = icmp eq i64 %1567, 0 - br i1 %.not1.i2.i470.i, label %1571, label %1568 +1557: ; preds = %1554 + %1558 = and i64 %.sroa.0.0.i424.i, 4 + %.not1.i2.i470.i = icmp eq i64 %1558, 0 + br i1 %.not1.i2.i470.i, label %1562, label %1559 -1568: ; preds = %1566 - %1569 = lshr i64 %.sroa.0.0.i424.i, 19 - %1570 = and i64 %1569, 65535 - %spec.select.i.i471.i = select i1 %.not.i.not.i454.i, i64 %1569, i64 %1570 +1559: ; preds = %1557 + %1560 = lshr i64 %.sroa.0.0.i424.i, 19 + %1561 = and i64 %1560, 65535 + %spec.select.i.i471.i = select i1 %.not.i.not.i454.i, i64 %1560, i64 %1561 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit472.i -1571: ; preds = %1566 - %1572 = lshr i64 %.sroa.0.0.i424.i, 3 - %1573 = and i64 %1572, 65535 +1562: ; preds = %1557 + %1563 = lshr i64 %.sroa.0.0.i424.i, 3 + %1564 = and i64 %1563, 65535 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit472.i -_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i457.i: ; preds = %1556 - %1574 = lshr i64 %.sroa.0.0.i424.i, 3 - %.sroa.0.0.insert.ext.i.i.i458.i = and i64 %1574, 65535 - %1575 = select i1 %.not.i.not.i454.i, i64 2251799813685248, i64 576460752303423488 - %1576 = and i64 %1575, %.sroa.0.0.i424.i - %.not1.i4.i459.i = icmp ne i64 %1576, 0 - %1577 = and i64 %.sroa.0.0.i424.i, 4 - %.not1.i8.i460.i = icmp eq i64 %1577, 0 - %1578 = lshr i64 %.sroa.0.0.i424.i, 19 - %1579 = and i64 %1578, 65535 - %spec.select.i10.i461.i = select i1 %.not.i.not.i454.i, i64 %1578, i64 %1579 +_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i457.i: ; preds = %1547 + %1565 = lshr i64 %.sroa.0.0.i424.i, 3 + %.sroa.0.0.insert.ext.i.i.i458.i = and i64 %1565, 65535 + %1566 = select i1 %.not.i.not.i454.i, i64 2251799813685248, i64 576460752303423488 + %1567 = and i64 %1566, %.sroa.0.0.i424.i + %.not1.i4.i459.i = icmp ne i64 %1567, 0 + %1568 = and i64 %.sroa.0.0.i424.i, 4 + %.not1.i8.i460.i = icmp eq i64 %1568, 0 + %1569 = lshr i64 %.sroa.0.0.i424.i, 19 + %1570 = and i64 %1569, 65535 + %spec.select.i10.i461.i = select i1 %.not.i.not.i454.i, i64 %1569, i64 %1570 %.0.in.i6.i462.i = select i1 %.not1.i8.i460.i, i64 %.sroa.0.0.insert.ext.i.i.i458.i, i64 %spec.select.i10.i461.i - %1580 = mul nuw nsw i64 %.0.in.i6.i462.i, %.sroa.0.0.insert.ext.i.i.i458.i - %1581 = zext i1 %.not1.i4.i459.i to i8 + %1571 = mul nuw nsw i64 %.0.in.i6.i462.i, %.sroa.0.0.insert.ext.i.i.i458.i + %1572 = zext i1 %.not1.i4.i459.i to i8 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit472.i -_ZNK4llvm3LLT13getSizeInBitsEv.exit472.i: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i457.i, %1571, %1568, %1564 - %.sroa.012.0.in.i464.i = phi i64 [ %1580, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i457.i ], [ %1565, %1564 ], [ %1573, %1571 ], [ %spec.select.i.i471.i, %1568 ] - %.sroa.3.0.i465.i = phi i8 [ %1581, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i457.i ], [ 0, %1564 ], [ 0, %1571 ], [ 0, %1568 ] +_ZNK4llvm3LLT13getSizeInBitsEv.exit472.i: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i457.i, %1562, %1559, %1555 + %.sroa.012.0.in.i464.i = phi i64 [ %1571, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i457.i ], [ %1556, %1555 ], [ %1564, %1562 ], [ %spec.select.i.i471.i, %1559 ] + %.sroa.3.0.i465.i = phi i8 [ %1572, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i457.i ], [ 0, %1555 ], [ 0, %1562 ], [ 0, %1559 ] %.sroa.012.0.i466.i = and i64 %.sroa.012.0.in.i464.i, 4294967295 store i64 %.sroa.012.0.i466.i, ptr %45, align 8 store i8 %.sroa.3.0.i465.i, ptr %.sroa.293.0..sroa_idx.i, align 8 - %1582 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %45) #18 - br i1 %or.cond14.i.i362, label %1583, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i477.i + %1573 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %45) #18 + br i1 %or.cond14.i.i362, label %1574, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i477.i -1583: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit472.i - %.not.i1.i489.i = icmp eq i64 %1005, 0 - br i1 %.not.i1.i489.i, label %1586, label %1584 +1574: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit472.i + %.not.i1.i489.i = icmp eq i64 %996, 0 + br i1 %.not.i1.i489.i, label %1577, label %1575 -1584: ; preds = %1583 - %1585 = lshr i64 %.sroa.0.0.copyload, 3 +1575: ; preds = %1574 + %1576 = lshr i64 %.sroa.0.0.copyload, 3 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit492.i -1586: ; preds = %1583 - %.not1.i2.i490.i = icmp eq i64 %1062, 0 - br i1 %.not1.i2.i490.i, label %1590, label %1587 +1577: ; preds = %1574 + %.not1.i2.i490.i = icmp eq i64 %1053, 0 + br i1 %.not1.i2.i490.i, label %1581, label %1578 -1587: ; preds = %1586 - %1588 = lshr i64 %.sroa.0.0.copyload, 19 - %1589 = and i64 %1588, 65535 - %spec.select.i.i491.i = select i1 %.not.i.not.i.i360, i64 %1588, i64 %1589 +1578: ; preds = %1577 + %1579 = lshr i64 %.sroa.0.0.copyload, 19 + %1580 = and i64 %1579, 65535 + %spec.select.i.i491.i = select i1 %.not.i.not.i.i360, i64 %1579, i64 %1580 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit492.i -1590: ; preds = %1586 - %1591 = lshr i64 %.sroa.0.0.copyload, 3 - %1592 = and i64 %1591, 65535 +1581: ; preds = %1577 + %1582 = lshr i64 %.sroa.0.0.copyload, 3 + %1583 = and i64 %1582, 65535 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit492.i _ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i477.i: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit472.i - %1593 = lshr i64 %.sroa.0.0.copyload, 3 - %.sroa.0.0.insert.ext.i.i.i478.i = and i64 %1593, 65535 - %1594 = select i1 %.not.i.not.i.i360, i64 2251799813685248, i64 576460752303423488 - %1595 = and i64 %1594, %.sroa.0.0.copyload - %.not1.i4.i479.i = icmp ne i64 %1595, 0 - %.not1.i8.i480.i = icmp eq i64 %1062, 0 - %1596 = lshr i64 %.sroa.0.0.copyload, 19 - %1597 = and i64 %1596, 65535 - %spec.select.i10.i481.i = select i1 %.not.i.not.i.i360, i64 %1596, i64 %1597 + %1584 = lshr i64 %.sroa.0.0.copyload, 3 + %.sroa.0.0.insert.ext.i.i.i478.i = and i64 %1584, 65535 + %1585 = select i1 %.not.i.not.i.i360, i64 2251799813685248, i64 576460752303423488 + %1586 = and i64 %1585, %.sroa.0.0.copyload + %.not1.i4.i479.i = icmp ne i64 %1586, 0 + %.not1.i8.i480.i = icmp eq i64 %1053, 0 + %1587 = lshr i64 %.sroa.0.0.copyload, 19 + %1588 = and i64 %1587, 65535 + %spec.select.i10.i481.i = select i1 %.not.i.not.i.i360, i64 %1587, i64 %1588 %.0.in.i6.i482.i = select i1 %.not1.i8.i480.i, i64 %.sroa.0.0.insert.ext.i.i.i478.i, i64 %spec.select.i10.i481.i - %1598 = mul nuw nsw i64 %.0.in.i6.i482.i, %.sroa.0.0.insert.ext.i.i.i478.i - %1599 = zext i1 %.not1.i4.i479.i to i8 + %1589 = mul nuw nsw i64 %.0.in.i6.i482.i, %.sroa.0.0.insert.ext.i.i.i478.i + %1590 = zext i1 %.not1.i4.i479.i to i8 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit492.i -_ZNK4llvm3LLT13getSizeInBitsEv.exit492.i: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i477.i, %1590, %1587, %1584 - %.sroa.012.0.in.i484.i = phi i64 [ %1598, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i477.i ], [ %1585, %1584 ], [ %1592, %1590 ], [ %spec.select.i.i491.i, %1587 ] - %.sroa.3.0.i485.i = phi i8 [ %1599, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i477.i ], [ 0, %1584 ], [ 0, %1590 ], [ 0, %1587 ] +_ZNK4llvm3LLT13getSizeInBitsEv.exit492.i: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i477.i, %1581, %1578, %1575 + %.sroa.012.0.in.i484.i = phi i64 [ %1589, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i477.i ], [ %1576, %1575 ], [ %1583, %1581 ], [ %spec.select.i.i491.i, %1578 ] + %.sroa.3.0.i485.i = phi i8 [ %1590, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i477.i ], [ 0, %1575 ], [ 0, %1581 ], [ 0, %1578 ] %.sroa.012.0.i486.i = and i64 %.sroa.012.0.in.i484.i, 4294967295 store i64 %.sroa.012.0.i486.i, ptr %46, align 8 store i8 %.sroa.3.0.i485.i, ptr %.sroa.289.0..sroa_idx.i, align 8 - %1600 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %46) #18 - %1601 = icmp ugt i64 %1582, %1600 - br i1 %1601, label %1602, label %1724 + %1591 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %46) #18 + %1592 = icmp ugt i64 %1573, %1591 + br i1 %1592, label %1593, label %1715 -1602: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit492.i +1593: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit492.i call void @_ZN4llvm15SmallVectorBaseIjEC2EPvm(ptr noundef nonnull align 8 dereferenceable(48) %47, ptr noundef nonnull %185, i64 noundef 8) #18 - br i1 %or.cond14.i456.i, label %1603, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i497.i + br i1 %or.cond14.i456.i, label %1594, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i497.i -1603: ; preds = %1602 - %.not.i1.i509.i = icmp eq i64 %1561, 0 - br i1 %.not.i1.i509.i, label %1606, label %1604 +1594: ; preds = %1593 + %.not.i1.i509.i = icmp eq i64 %1552, 0 + br i1 %.not.i1.i509.i, label %1597, label %1595 -1604: ; preds = %1603 - %1605 = lshr i64 %.sroa.0.0.i424.i, 3 +1595: ; preds = %1594 + %1596 = lshr i64 %.sroa.0.0.i424.i, 3 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit512.i -1606: ; preds = %1603 - %1607 = and i64 %.sroa.0.0.i424.i, 4 - %.not1.i2.i510.i = icmp eq i64 %1607, 0 - br i1 %.not1.i2.i510.i, label %1611, label %1608 +1597: ; preds = %1594 + %1598 = and i64 %.sroa.0.0.i424.i, 4 + %.not1.i2.i510.i = icmp eq i64 %1598, 0 + br i1 %.not1.i2.i510.i, label %1602, label %1599 -1608: ; preds = %1606 - %1609 = lshr i64 %.sroa.0.0.i424.i, 19 - %1610 = and i64 %1609, 65535 - %spec.select.i.i511.i = select i1 %.not.i.not.i454.i, i64 %1609, i64 %1610 +1599: ; preds = %1597 + %1600 = lshr i64 %.sroa.0.0.i424.i, 19 + %1601 = and i64 %1600, 65535 + %spec.select.i.i511.i = select i1 %.not.i.not.i454.i, i64 %1600, i64 %1601 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit512.i -1611: ; preds = %1606 - %1612 = lshr i64 %.sroa.0.0.i424.i, 3 - %1613 = and i64 %1612, 65535 +1602: ; preds = %1597 + %1603 = lshr i64 %.sroa.0.0.i424.i, 3 + %1604 = and i64 %1603, 65535 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit512.i -_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i497.i: ; preds = %1602 - %1614 = lshr i64 %.sroa.0.0.i424.i, 3 - %.sroa.0.0.insert.ext.i.i.i498.i = and i64 %1614, 65535 - %1615 = select i1 %.not.i.not.i454.i, i64 2251799813685248, i64 576460752303423488 - %1616 = and i64 %1615, %.sroa.0.0.i424.i - %.not1.i4.i499.i = icmp ne i64 %1616, 0 - %1617 = and i64 %.sroa.0.0.i424.i, 4 - %.not1.i8.i500.i = icmp eq i64 %1617, 0 - %1618 = lshr i64 %.sroa.0.0.i424.i, 19 - %1619 = and i64 %1618, 65535 - %spec.select.i10.i501.i = select i1 %.not.i.not.i454.i, i64 %1618, i64 %1619 +_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i497.i: ; preds = %1593 + %1605 = lshr i64 %.sroa.0.0.i424.i, 3 + %.sroa.0.0.insert.ext.i.i.i498.i = and i64 %1605, 65535 + %1606 = select i1 %.not.i.not.i454.i, i64 2251799813685248, i64 576460752303423488 + %1607 = and i64 %1606, %.sroa.0.0.i424.i + %.not1.i4.i499.i = icmp ne i64 %1607, 0 + %1608 = and i64 %.sroa.0.0.i424.i, 4 + %.not1.i8.i500.i = icmp eq i64 %1608, 0 + %1609 = lshr i64 %.sroa.0.0.i424.i, 19 + %1610 = and i64 %1609, 65535 + %spec.select.i10.i501.i = select i1 %.not.i.not.i454.i, i64 %1609, i64 %1610 %.0.in.i6.i502.i = select i1 %.not1.i8.i500.i, i64 %.sroa.0.0.insert.ext.i.i.i498.i, i64 %spec.select.i10.i501.i - %1620 = mul nuw nsw i64 %.0.in.i6.i502.i, %.sroa.0.0.insert.ext.i.i.i498.i - %1621 = zext i1 %.not1.i4.i499.i to i8 + %1611 = mul nuw nsw i64 %.0.in.i6.i502.i, %.sroa.0.0.insert.ext.i.i.i498.i + %1612 = zext i1 %.not1.i4.i499.i to i8 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit512.i -_ZNK4llvm3LLT13getSizeInBitsEv.exit512.i: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i497.i, %1611, %1608, %1604 - %.sroa.012.0.in.i504.i = phi i64 [ %1620, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i497.i ], [ %1605, %1604 ], [ %1613, %1611 ], [ %spec.select.i.i511.i, %1608 ] - %.sroa.3.0.i505.i = phi i8 [ %1621, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i497.i ], [ 0, %1604 ], [ 0, %1611 ], [ 0, %1608 ] +_ZNK4llvm3LLT13getSizeInBitsEv.exit512.i: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i497.i, %1602, %1599, %1595 + %.sroa.012.0.in.i504.i = phi i64 [ %1611, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i497.i ], [ %1596, %1595 ], [ %1604, %1602 ], [ %spec.select.i.i511.i, %1599 ] + %.sroa.3.0.i505.i = phi i8 [ %1612, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i497.i ], [ 0, %1595 ], [ 0, %1602 ], [ 0, %1599 ] %.sroa.012.0.i506.i = and i64 %.sroa.012.0.in.i504.i, 4294967295 store i64 %.sroa.012.0.i506.i, ptr %48, align 8 store i8 %.sroa.3.0.i505.i, ptr %.sroa.282.0..sroa_idx.i, align 8 - %1622 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %48) #18 - br i1 %or.cond14.i.i362, label %1623, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i517.i + %1613 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %48) #18 + br i1 %or.cond14.i.i362, label %1614, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i517.i -1623: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit512.i - %.not.i1.i529.i = icmp eq i64 %1005, 0 - br i1 %.not.i1.i529.i, label %1626, label %1624 +1614: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit512.i + %.not.i1.i529.i = icmp eq i64 %996, 0 + br i1 %.not.i1.i529.i, label %1617, label %1615 -1624: ; preds = %1623 - %1625 = lshr i64 %.sroa.0.0.copyload, 3 +1615: ; preds = %1614 + %1616 = lshr i64 %.sroa.0.0.copyload, 3 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit532.i -1626: ; preds = %1623 - %.not1.i2.i530.i = icmp eq i64 %1062, 0 - br i1 %.not1.i2.i530.i, label %1630, label %1627 +1617: ; preds = %1614 + %.not1.i2.i530.i = icmp eq i64 %1053, 0 + br i1 %.not1.i2.i530.i, label %1621, label %1618 -1627: ; preds = %1626 - %1628 = lshr i64 %.sroa.0.0.copyload, 19 - %1629 = and i64 %1628, 65535 - %spec.select.i.i531.i = select i1 %.not.i.not.i.i360, i64 %1628, i64 %1629 +1618: ; preds = %1617 + %1619 = lshr i64 %.sroa.0.0.copyload, 19 + %1620 = and i64 %1619, 65535 + %spec.select.i.i531.i = select i1 %.not.i.not.i.i360, i64 %1619, i64 %1620 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit532.i -1630: ; preds = %1626 - %1631 = lshr i64 %.sroa.0.0.copyload, 3 - %1632 = and i64 %1631, 65535 +1621: ; preds = %1617 + %1622 = lshr i64 %.sroa.0.0.copyload, 3 + %1623 = and i64 %1622, 65535 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit532.i _ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i517.i: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit512.i - %1633 = lshr i64 %.sroa.0.0.copyload, 3 - %.sroa.0.0.insert.ext.i.i.i518.i = and i64 %1633, 65535 - %1634 = select i1 %.not.i.not.i.i360, i64 2251799813685248, i64 576460752303423488 - %1635 = and i64 %1634, %.sroa.0.0.copyload - %.not1.i4.i519.i = icmp ne i64 %1635, 0 - %.not1.i8.i520.i = icmp eq i64 %1062, 0 - %1636 = lshr i64 %.sroa.0.0.copyload, 19 - %1637 = and i64 %1636, 65535 - %spec.select.i10.i521.i = select i1 %.not.i.not.i.i360, i64 %1636, i64 %1637 + %1624 = lshr i64 %.sroa.0.0.copyload, 3 + %.sroa.0.0.insert.ext.i.i.i518.i = and i64 %1624, 65535 + %1625 = select i1 %.not.i.not.i.i360, i64 2251799813685248, i64 576460752303423488 + %1626 = and i64 %1625, %.sroa.0.0.copyload + %.not1.i4.i519.i = icmp ne i64 %1626, 0 + %.not1.i8.i520.i = icmp eq i64 %1053, 0 + %1627 = lshr i64 %.sroa.0.0.copyload, 19 + %1628 = and i64 %1627, 65535 + %spec.select.i10.i521.i = select i1 %.not.i.not.i.i360, i64 %1627, i64 %1628 %.0.in.i6.i522.i = select i1 %.not1.i8.i520.i, i64 %.sroa.0.0.insert.ext.i.i.i518.i, i64 %spec.select.i10.i521.i - %1638 = mul nuw nsw i64 %.0.in.i6.i522.i, %.sroa.0.0.insert.ext.i.i.i518.i - %1639 = zext i1 %.not1.i4.i519.i to i8 + %1629 = mul nuw nsw i64 %.0.in.i6.i522.i, %.sroa.0.0.insert.ext.i.i.i518.i + %1630 = zext i1 %.not1.i4.i519.i to i8 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit532.i -_ZNK4llvm3LLT13getSizeInBitsEv.exit532.i: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i517.i, %1630, %1627, %1624 - %.sroa.012.0.in.i524.i = phi i64 [ %1638, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i517.i ], [ %1625, %1624 ], [ %1632, %1630 ], [ %spec.select.i.i531.i, %1627 ] - %.sroa.3.0.i525.i = phi i8 [ %1639, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i517.i ], [ 0, %1624 ], [ 0, %1630 ], [ 0, %1627 ] +_ZNK4llvm3LLT13getSizeInBitsEv.exit532.i: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i517.i, %1621, %1618, %1615 + %.sroa.012.0.in.i524.i = phi i64 [ %1629, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i517.i ], [ %1616, %1615 ], [ %1623, %1621 ], [ %spec.select.i.i531.i, %1618 ] + %.sroa.3.0.i525.i = phi i8 [ %1630, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i517.i ], [ 0, %1615 ], [ 0, %1621 ], [ 0, %1618 ] %.sroa.012.0.i526.i = and i64 %.sroa.012.0.in.i524.i, 4294967295 store i64 %.sroa.012.0.i526.i, ptr %49, align 8 store i8 %.sroa.3.0.i525.i, ptr %.sroa.278.0..sroa_idx.i, align 8 - %1640 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %49) #18 - %1641 = icmp ne i64 %1622, 0 - %1642 = zext i1 %1641 to i64 - %1643 = sub i64 %1622, %1642 - %1644 = udiv i64 %1643, %1640 - %1645 = add i64 %1644, %1642 - br i1 %or.cond14.i.i362, label %1646, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i537.i - -1646: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit532.i - %.not.i1.i549.i = icmp eq i64 %1005, 0 - br i1 %.not.i1.i549.i, label %1649, label %1647 - -1647: ; preds = %1646 - %1648 = lshr i64 %.sroa.0.0.copyload, 3 + %1631 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %49) #18 + %1632 = icmp ne i64 %1613, 0 + %1633 = zext i1 %1632 to i64 + %1634 = sub i64 %1613, %1633 + %1635 = udiv i64 %1634, %1631 + %1636 = add i64 %1635, %1633 + br i1 %or.cond14.i.i362, label %1637, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i537.i + +1637: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit532.i + %.not.i1.i549.i = icmp eq i64 %996, 0 + br i1 %.not.i1.i549.i, label %1640, label %1638 + +1638: ; preds = %1637 + %1639 = lshr i64 %.sroa.0.0.copyload, 3 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit552.i -1649: ; preds = %1646 - %.not1.i2.i550.i = icmp eq i64 %1062, 0 - br i1 %.not1.i2.i550.i, label %1653, label %1650 +1640: ; preds = %1637 + %.not1.i2.i550.i = icmp eq i64 %1053, 0 + br i1 %.not1.i2.i550.i, label %1644, label %1641 -1650: ; preds = %1649 - %1651 = lshr i64 %.sroa.0.0.copyload, 19 - %1652 = and i64 %1651, 65535 - %spec.select.i.i551.i = select i1 %.not.i.not.i.i360, i64 %1651, i64 %1652 +1641: ; preds = %1640 + %1642 = lshr i64 %.sroa.0.0.copyload, 19 + %1643 = and i64 %1642, 65535 + %spec.select.i.i551.i = select i1 %.not.i.not.i.i360, i64 %1642, i64 %1643 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit552.i -1653: ; preds = %1649 - %1654 = lshr i64 %.sroa.0.0.copyload, 3 - %1655 = and i64 %1654, 65535 +1644: ; preds = %1640 + %1645 = lshr i64 %.sroa.0.0.copyload, 3 + %1646 = and i64 %1645, 65535 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit552.i _ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i537.i: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit532.i - %1656 = lshr i64 %.sroa.0.0.copyload, 3 - %.sroa.0.0.insert.ext.i.i.i538.i = and i64 %1656, 65535 - %1657 = select i1 %.not.i.not.i.i360, i64 2251799813685248, i64 576460752303423488 - %1658 = and i64 %1657, %.sroa.0.0.copyload - %.not1.i4.i539.i = icmp ne i64 %1658, 0 - %.not1.i8.i540.i = icmp eq i64 %1062, 0 - %1659 = lshr i64 %.sroa.0.0.copyload, 19 - %1660 = and i64 %1659, 65535 - %spec.select.i10.i541.i = select i1 %.not.i.not.i.i360, i64 %1659, i64 %1660 + %1647 = lshr i64 %.sroa.0.0.copyload, 3 + %.sroa.0.0.insert.ext.i.i.i538.i = and i64 %1647, 65535 + %1648 = select i1 %.not.i.not.i.i360, i64 2251799813685248, i64 576460752303423488 + %1649 = and i64 %1648, %.sroa.0.0.copyload + %.not1.i4.i539.i = icmp ne i64 %1649, 0 + %.not1.i8.i540.i = icmp eq i64 %1053, 0 + %1650 = lshr i64 %.sroa.0.0.copyload, 19 + %1651 = and i64 %1650, 65535 + %spec.select.i10.i541.i = select i1 %.not.i.not.i.i360, i64 %1650, i64 %1651 %.0.in.i6.i542.i = select i1 %.not1.i8.i540.i, i64 %.sroa.0.0.insert.ext.i.i.i538.i, i64 %spec.select.i10.i541.i - %1661 = mul nuw nsw i64 %.0.in.i6.i542.i, %.sroa.0.0.insert.ext.i.i.i538.i - %1662 = zext i1 %.not1.i4.i539.i to i8 + %1652 = mul nuw nsw i64 %.0.in.i6.i542.i, %.sroa.0.0.insert.ext.i.i.i538.i + %1653 = zext i1 %.not1.i4.i539.i to i8 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit552.i -_ZNK4llvm3LLT13getSizeInBitsEv.exit552.i: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i537.i, %1653, %1650, %1647 - %.sroa.012.0.in.i544.i = phi i64 [ %1661, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i537.i ], [ %1648, %1647 ], [ %1655, %1653 ], [ %spec.select.i.i551.i, %1650 ] - %.sroa.3.0.i545.i = phi i8 [ %1662, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i537.i ], [ 0, %1647 ], [ 0, %1653 ], [ 0, %1650 ] +_ZNK4llvm3LLT13getSizeInBitsEv.exit552.i: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i537.i, %1644, %1641, %1638 + %.sroa.012.0.in.i544.i = phi i64 [ %1652, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i537.i ], [ %1639, %1638 ], [ %1646, %1644 ], [ %spec.select.i.i551.i, %1641 ] + %.sroa.3.0.i545.i = phi i8 [ %1653, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i537.i ], [ 0, %1638 ], [ 0, %1644 ], [ 0, %1641 ] %.sroa.012.0.i546.i = and i64 %.sroa.012.0.in.i544.i, 4294967295 - %sext179.i = shl i64 %1645, 32 - %1663 = ashr exact i64 %sext179.i, 32 - %1664 = mul nsw i64 %.sroa.012.0.i546.i, %1663 - store i64 %1664, ptr %50, align 8 + %sext179.i = shl i64 %1636, 32 + %1654 = ashr exact i64 %sext179.i, 32 + %1655 = mul nsw i64 %.sroa.012.0.i546.i, %1654 + store i64 %1655, ptr %50, align 8 store i8 %.sroa.3.0.i545.i, ptr %.sroa.270.0..sroa_idx.i, align 8 - %1665 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %50) #18 - %1666 = and i64 %1665, 4294967295 - %1667 = shl nuw nsw i64 %1666, 3 - %1668 = or disjoint i64 %1667, 1 - %1669 = select i1 %.not.i.not.i252.i, i64 2251799813685248, i64 576460752303423488 - %1670 = and i64 %1669, %240 - %.not.i554.i = icmp eq i64 %1670, 0 - br i1 %.not.i554.i, label %_ZNK4llvm3LLT14getNumElementsEv.exit.i, label %1671 - -1671: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit552.i + %1656 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %50) #18 + %1657 = and i64 %1656, 4294967295 + %1658 = shl nuw nsw i64 %1657, 3 + %1659 = or disjoint i64 %1658, 1 + %1660 = select i1 %.not.i.not.i252.i, i64 2251799813685248, i64 576460752303423488 + %1661 = and i64 %1660, %240 + %.not.i554.i = icmp eq i64 %1661, 0 + br i1 %.not.i554.i, label %_ZNK4llvm3LLT14getNumElementsEv.exit.i, label %1662 + +1662: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit552.i call void @_ZN4llvm24reportInvalidSizeRequestEPKc(ptr noundef nonnull @.str.3) #18 br label %_ZNK4llvm3LLT14getNumElementsEv.exit.i -_ZNK4llvm3LLT14getNumElementsEv.exit.i: ; preds = %1671, %_ZNK4llvm3LLT13getSizeInBitsEv.exit552.i - %1672 = trunc i64 %240 to i32 - %1673 = lshr i32 %1672, 3 - %1674 = and i32 %1673, 65535 - %.not248186.i = icmp eq i32 %1674, 0 +_ZNK4llvm3LLT14getNumElementsEv.exit.i: ; preds = %1662, %_ZNK4llvm3LLT13getSizeInBitsEv.exit552.i + %1663 = trunc i64 %240 to i32 + %1664 = lshr i32 %1663, 3 + %1665 = and i32 %1664, 65535 + %.not248186.i = icmp eq i32 %1665, 0 br i1 %.not248186.i, label %._crit_edge.i395, label %_ZNK4llvm3LLT13getSizeInBitsEv.exit575.lr.ph.i _ZNK4llvm3LLT13getSizeInBitsEv.exit575.lr.ph.i: ; preds = %_ZNK4llvm3LLT14getNumElementsEv.exit.i - %1675 = and i64 %.sroa.0.0.i441.i, -7 - %spec.select.i.i.i576.i = icmp eq i64 %1675, 0 - %1676 = and i64 %.sroa.0.0.i441.i, 2 - %.not.i.not.i577.i = icmp eq i64 %1676, 0 - %1677 = and i64 %.sroa.0.0.i441.i, 6 - %1678 = icmp ne i64 %1677, 2 - %or.cond.i578.not202.i = or i1 %spec.select.i.i.i576.i, %1678 - %1679 = and i64 %.sroa.0.0.i441.i, 1 - %1680 = icmp eq i64 %1679, 0 - %or.cond14.i579.not.i = and i1 %1680, %or.cond.i578.not202.i - %1681 = lshr i64 %.sroa.0.0.i441.i, 3 - %.sroa.0.0.insert.ext.i.i.i581.i = and i64 %1681, 65535 - %1682 = select i1 %.not.i.not.i577.i, i64 2251799813685248, i64 576460752303423488 - %1683 = and i64 %1682, %.sroa.0.0.i441.i - %.not1.i4.i582.i = icmp ne i64 %1683, 0 - %1684 = and i64 %.sroa.0.0.i441.i, 4 - %.not1.i8.i583.i = icmp eq i64 %1684, 0 - %1685 = lshr i64 %.sroa.0.0.i441.i, 19 - %1686 = and i64 %1685, 65535 - %spec.select.i10.i584.i = select i1 %.not.i.not.i577.i, i64 %1685, i64 %1686 + %1666 = and i64 %.sroa.0.0.i441.i, -7 + %spec.select.i.i.i576.i = icmp eq i64 %1666, 0 + %1667 = and i64 %.sroa.0.0.i441.i, 2 + %.not.i.not.i577.i = icmp eq i64 %1667, 0 + %1668 = and i64 %.sroa.0.0.i441.i, 6 + %1669 = icmp ne i64 %1668, 2 + %or.cond.i578.not202.i = or i1 %spec.select.i.i.i576.i, %1669 + %1670 = and i64 %.sroa.0.0.i441.i, 1 + %1671 = icmp eq i64 %1670, 0 + %or.cond14.i579.not.i = and i1 %1671, %or.cond.i578.not202.i + %1672 = lshr i64 %.sroa.0.0.i441.i, 3 + %.sroa.0.0.insert.ext.i.i.i581.i = and i64 %1672, 65535 + %1673 = select i1 %.not.i.not.i577.i, i64 2251799813685248, i64 576460752303423488 + %1674 = and i64 %1673, %.sroa.0.0.i441.i + %.not1.i4.i582.i = icmp ne i64 %1674, 0 + %1675 = and i64 %.sroa.0.0.i441.i, 4 + %.not1.i8.i583.i = icmp eq i64 %1675, 0 + %1676 = lshr i64 %.sroa.0.0.i441.i, 19 + %1677 = and i64 %1676, 65535 + %spec.select.i10.i584.i = select i1 %.not.i.not.i577.i, i64 %1676, i64 %1677 %.0.in.i6.i585.i = select i1 %.not1.i8.i583.i, i64 %.sroa.0.0.insert.ext.i.i.i581.i, i64 %spec.select.i10.i584.i - %1687 = select i1 %or.cond.i578.not202.i, i64 %.sroa.0.0.insert.ext.i.i.i581.i, i64 1 - %spec.select.i392 = mul nuw nsw i64 %.0.in.i6.i585.i, %1687 - %.sroa.012.0.in.i587.i = select i1 %1680, i64 %spec.select.i392, i64 %1681 + %1678 = select i1 %or.cond.i578.not202.i, i64 %.sroa.0.0.insert.ext.i.i.i581.i, i64 1 + %spec.select.i392 = mul nuw nsw i64 %.0.in.i6.i585.i, %1678 + %.sroa.012.0.in.i587.i = select i1 %1671, i64 %spec.select.i392, i64 %1672 %narrow.i = select i1 %or.cond14.i579.not.i, i1 %.not1.i4.i582.i, i1 false %.sroa.3.0.i588.i = zext i1 %narrow.i to i8 %.sroa.012.0.i589.i = and i64 %.sroa.012.0.in.i587.i, 4294967295 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit575.i _ZNK4llvm3LLT13getSizeInBitsEv.exit575.i: ; preds = %_ZN4llvm23SmallVectorTemplateBaseINS_8RegisterELb1EE9push_backES1_.exit.i394, %_ZNK4llvm3LLT13getSizeInBitsEv.exit575.lr.ph.i - %.0244189.i = phi i32 [ 0, %_ZNK4llvm3LLT13getSizeInBitsEv.exit575.lr.ph.i ], [ %1716, %_ZN4llvm23SmallVectorTemplateBaseINS_8RegisterELb1EE9push_backES1_.exit.i394 ] - %.sroa.17109.0188.i = phi i64 [ %995, %_ZNK4llvm3LLT13getSizeInBitsEv.exit575.lr.ph.i ], [ %1714, %_ZN4llvm23SmallVectorTemplateBaseINS_8RegisterELb1EE9push_backES1_.exit.i394 ] - %.sroa.0100.0187.i = phi ptr [ %994, %_ZNK4llvm3LLT13getSizeInBitsEv.exit575.lr.ph.i ], [ %1715, %_ZN4llvm23SmallVectorTemplateBaseINS_8RegisterELb1EE9push_backES1_.exit.i394 ] - store i64 %1668, ptr %51, align 8 + %.0244189.i = phi i32 [ 0, %_ZNK4llvm3LLT13getSizeInBitsEv.exit575.lr.ph.i ], [ %1707, %_ZN4llvm23SmallVectorTemplateBaseINS_8RegisterELb1EE9push_backES1_.exit.i394 ] + %.sroa.17109.0188.i = phi i64 [ %986, %_ZNK4llvm3LLT13getSizeInBitsEv.exit575.lr.ph.i ], [ %1705, %_ZN4llvm23SmallVectorTemplateBaseINS_8RegisterELb1EE9push_backES1_.exit.i394 ] + %.sroa.0100.0187.i = phi ptr [ %985, %_ZNK4llvm3LLT13getSizeInBitsEv.exit575.lr.ph.i ], [ %1706, %_ZN4llvm23SmallVectorTemplateBaseINS_8RegisterELb1EE9push_backES1_.exit.i394 ] + store i64 %1659, ptr %51, align 8 store i32 0, ptr %186, align 8 - %..i555.i = call i64 @llvm.umin.i64(i64 %1663, i64 %.sroa.17109.0188.i) - %1688 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder19buildMergeLikeInstrERKNS_5DstOpENS_8ArrayRefINS_8RegisterEEE(ptr noundef nonnull align 8 dereferenceable(88) %5, ptr noundef nonnull align 8 dereferenceable(12) %51, ptr %.sroa.0100.0187.i, i64 %..i555.i) #18 - %1689 = extractvalue { ptr, ptr } %1688, 1 - store i64 %1666, ptr %52, align 8 + %..i555.i = call i64 @llvm.umin.i64(i64 %1654, i64 %.sroa.17109.0188.i) + %1679 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder19buildMergeLikeInstrERKNS_5DstOpENS_8ArrayRefINS_8RegisterEEE(ptr noundef nonnull align 8 dereferenceable(88) %5, ptr noundef nonnull align 8 dereferenceable(12) %51, ptr %.sroa.0100.0187.i, i64 %..i555.i) #18 + %1680 = extractvalue { ptr, ptr } %1679, 1 + store i64 %1657, ptr %52, align 8 store i8 0, ptr %.sroa.260.0..sroa_idx.i, align 8 - %1690 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %52) #18 + %1681 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %52) #18 store i64 %.sroa.012.0.i589.i, ptr %53, align 8 store i8 %.sroa.3.0.i588.i, ptr %.sroa.256.0..sroa_idx.i, align 8 - %1691 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %53) #18 - %1692 = icmp ugt i64 %1690, %1691 - br i1 %1692, label %1693, label %1697 + %1682 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %53) #18 + %1683 = icmp ugt i64 %1681, %1682 + br i1 %1683, label %1684, label %1688 -1693: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit575.i - %1694 = extractvalue { ptr, ptr } %1688, 0 +1684: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit575.i + %1685 = extractvalue { ptr, ptr } %1679, 0 store i64 %.sroa.0.0.i441.i, ptr %54, align 8 store i32 0, ptr %187, align 8 - store ptr %1694, ptr %55, align 8 - store ptr %1689, ptr %.sroa.3.0..sroa_idx.i, align 8 + store ptr %1685, ptr %55, align 8 + store ptr %1680, ptr %.sroa.3.0..sroa_idx.i, align 8 store i32 1, ptr %188, align 8 - %1695 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder10buildTruncERKNS_5DstOpERKNS_5SrcOpESt8optionalIjE(ptr noundef nonnull align 8 dereferenceable(88) %5, ptr noundef nonnull align 8 dereferenceable(12) %54, ptr noundef nonnull align 8 dereferenceable(20) %55, i64 0) #18 - %1696 = extractvalue { ptr, ptr } %1695, 1 - br label %1697 - -1697: ; preds = %1693, %_ZNK4llvm3LLT13getSizeInBitsEv.exit575.i - %.sroa.3.0.i = phi ptr [ %1696, %1693 ], [ %1689, %_ZNK4llvm3LLT13getSizeInBitsEv.exit575.i ] - %1698 = getelementptr inbounds nuw i8, ptr %.sroa.3.0.i, i64 32 - %1699 = load ptr, ptr %1698, align 8 - %1700 = getelementptr inbounds nuw i8, ptr %1699, i64 4 - %1701 = load i32, ptr %1700, align 4 - call void @_ZN4llvm19MachineRegisterInfo7setTypeENS_8RegisterENS_3LLTE(ptr noundef nonnull align 8 dereferenceable(512) %999, i32 %1701, i64 %.sroa.0.0.i441.i) #18 - %1702 = load ptr, ptr %1698, align 8 - %1703 = getelementptr inbounds nuw i8, ptr %1702, i64 4 - %1704 = load i32, ptr %1703, align 4 - %1705 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(16) %47) #18 - %1706 = add i64 %1705, 1 - %1707 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE8capacityEv(ptr noundef nonnull align 8 dereferenceable(16) %47) #18 - %.not.i.i.i.i393 = icmp ugt i64 %1706, %1707 - br i1 %.not.i.i.i.i393, label %1708, label %_ZN4llvm23SmallVectorTemplateBaseINS_8RegisterELb1EE9push_backES1_.exit.i394 - -1708: ; preds = %1697 - call void @_ZN4llvm15SmallVectorBaseIjE8grow_podEPvmm(ptr noundef nonnull align 8 dereferenceable(16) %47, ptr noundef nonnull %185, i64 noundef %1706, i64 noundef 4) #18 + %1686 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder10buildTruncERKNS_5DstOpERKNS_5SrcOpESt8optionalIjE(ptr noundef nonnull align 8 dereferenceable(88) %5, ptr noundef nonnull align 8 dereferenceable(12) %54, ptr noundef nonnull align 8 dereferenceable(20) %55, i64 0) #18 + %1687 = extractvalue { ptr, ptr } %1686, 1 + br label %1688 + +1688: ; preds = %1684, %_ZNK4llvm3LLT13getSizeInBitsEv.exit575.i + %.sroa.3.0.i = phi ptr [ %1687, %1684 ], [ %1680, %_ZNK4llvm3LLT13getSizeInBitsEv.exit575.i ] + %1689 = getelementptr inbounds nuw i8, ptr %.sroa.3.0.i, i64 32 + %1690 = load ptr, ptr %1689, align 8 + %1691 = getelementptr inbounds nuw i8, ptr %1690, i64 4 + %1692 = load i32, ptr %1691, align 4 + call void @_ZN4llvm19MachineRegisterInfo7setTypeENS_8RegisterENS_3LLTE(ptr noundef nonnull align 8 dereferenceable(512) %990, i32 %1692, i64 %.sroa.0.0.i441.i) #18 + %1693 = load ptr, ptr %1689, align 8 + %1694 = getelementptr inbounds nuw i8, ptr %1693, i64 4 + %1695 = load i32, ptr %1694, align 4 + %1696 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(16) %47) #18 + %1697 = add i64 %1696, 1 + %1698 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE8capacityEv(ptr noundef nonnull align 8 dereferenceable(16) %47) #18 + %.not.i.i.i.i393 = icmp ugt i64 %1697, %1698 + br i1 %.not.i.i.i.i393, label %1699, label %_ZN4llvm23SmallVectorTemplateBaseINS_8RegisterELb1EE9push_backES1_.exit.i394 + +1699: ; preds = %1688 + call void @_ZN4llvm15SmallVectorBaseIjE8grow_podEPvmm(ptr noundef nonnull align 8 dereferenceable(16) %47, ptr noundef nonnull %185, i64 noundef %1697, i64 noundef 4) #18 br label %_ZN4llvm23SmallVectorTemplateBaseINS_8RegisterELb1EE9push_backES1_.exit.i394 -_ZN4llvm23SmallVectorTemplateBaseINS_8RegisterELb1EE9push_backES1_.exit.i394: ; preds = %1708, %1697 - %1709 = load ptr, ptr %47, align 8 - %1710 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(16) %47) #18 - %1711 = getelementptr inbounds %"class.llvm::Register", ptr %1709, i64 %1710 - store i32 %1704, ptr %1711, align 1 - %1712 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(16) %47) #18 - %1713 = add i64 %1712, 1 - call void @_ZN4llvm15SmallVectorBaseIjE8set_sizeEm(ptr noundef nonnull align 8 dereferenceable(16) %47, i64 noundef %1713) #18 - %1714 = sub i64 %.sroa.17109.0188.i, %1663 - %1715 = getelementptr inbounds %"class.llvm::Register", ptr %.sroa.0100.0187.i, i64 %1663 - %1716 = add nuw nsw i32 %.0244189.i, 1 - %.not248.i = icmp eq i32 %1716, %1674 +_ZN4llvm23SmallVectorTemplateBaseINS_8RegisterELb1EE9push_backES1_.exit.i394: ; preds = %1699, %1688 + %1700 = load ptr, ptr %47, align 8 + %1701 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(16) %47) #18 + %1702 = getelementptr inbounds %"class.llvm::Register", ptr %1700, i64 %1701 + store i32 %1695, ptr %1702, align 1 + %1703 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(16) %47) #18 + %1704 = add i64 %1703, 1 + call void @_ZN4llvm15SmallVectorBaseIjE8set_sizeEm(ptr noundef nonnull align 8 dereferenceable(16) %47, i64 noundef %1704) #18 + %1705 = sub i64 %.sroa.17109.0188.i, %1654 + %1706 = getelementptr inbounds %"class.llvm::Register", ptr %.sroa.0100.0187.i, i64 %1654 + %1707 = add nuw nsw i32 %.0244189.i, 1 + %.not248.i = icmp eq i32 %1707, %1665 br i1 %.not248.i, label %._crit_edge.i395, label %_ZNK4llvm3LLT13getSizeInBitsEv.exit575.i, !llvm.loop !46 ._crit_edge.i395: ; preds = %_ZN4llvm23SmallVectorTemplateBaseINS_8RegisterELb1EE9push_backES1_.exit.i394, %_ZNK4llvm3LLT14getNumElementsEv.exit.i - %.sroa.044.0.copyload.i396 = load i32, ptr %990, align 4 + %.sroa.044.0.copyload.i396 = load i32, ptr %981, align 4 store i32 %.sroa.044.0.copyload.i396, ptr %56, align 8 store i32 1, ptr %189, align 8 - %1717 = load ptr, ptr %47, align 8 - %1718 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(16) %47) #18 - %1719 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder16buildBuildVectorERKNS_5DstOpENS_8ArrayRefINS_8RegisterEEE(ptr noundef nonnull align 8 dereferenceable(88) %5, ptr noundef nonnull align 8 dereferenceable(12) %56, ptr %1717, i64 %1718) #18 - %1720 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(48) %47) #18 - %1721 = load ptr, ptr %47, align 8 - %1722 = icmp eq ptr %1721, %185 - br i1 %1722, label %_ZL17buildCopyFromRegsRN4llvm16MachineIRBuilderENS_8ArrayRefINS_8RegisterEEES4_NS_3LLTES5_NS_3ISD10ArgFlagsTyE.exit, label %1723 - -1723: ; preds = %._crit_edge.i395 - call void @free(ptr noundef %1721) #18 + %1708 = load ptr, ptr %47, align 8 + %1709 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(16) %47) #18 + %1710 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder16buildBuildVectorERKNS_5DstOpENS_8ArrayRefINS_8RegisterEEE(ptr noundef nonnull align 8 dereferenceable(88) %5, ptr noundef nonnull align 8 dereferenceable(12) %56, ptr %1708, i64 %1709) #18 + %1711 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(48) %47) #18 + %1712 = load ptr, ptr %47, align 8 + %1713 = icmp eq ptr %1712, %185 + br i1 %1713, label %_ZL17buildCopyFromRegsRN4llvm16MachineIRBuilderENS_8ArrayRefINS_8RegisterEEES4_NS_3LLTES5_NS_3ISD10ArgFlagsTyE.exit, label %1714 + +1714: ; preds = %._crit_edge.i395 + call void @free(ptr noundef %1712) #18 br label %_ZL17buildCopyFromRegsRN4llvm16MachineIRBuilderENS_8ArrayRefINS_8RegisterEEES4_NS_3LLTES5_NS_3ISD10ArgFlagsTyE.exit -1724: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit492.i - %1725 = select i1 %.not.i.not.i252.i, i64 2251799813685248, i64 576460752303423488 - %1726 = and i64 %1725, %240 - %.not.i599.i = icmp eq i64 %1726, 0 - br i1 %.not.i599.i, label %_ZNK4llvm3LLT14getNumElementsEv.exit601.i, label %1727 +1715: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit492.i + %1716 = select i1 %.not.i.not.i252.i, i64 2251799813685248, i64 576460752303423488 + %1717 = and i64 %1716, %240 + %.not.i599.i = icmp eq i64 %1717, 0 + br i1 %.not.i599.i, label %_ZNK4llvm3LLT14getNumElementsEv.exit601.i, label %1718 -1727: ; preds = %1724 +1718: ; preds = %1715 call void @_ZN4llvm24reportInvalidSizeRequestEPKc(ptr noundef nonnull @.str.3) #18 br label %_ZNK4llvm3LLT14getNumElementsEv.exit601.i -_ZNK4llvm3LLT14getNumElementsEv.exit601.i: ; preds = %1727, %1724 - %1728 = lshr i64 %240, 3 - %1729 = and i64 %1728, 65535 - br i1 %or.cond14.i.i362, label %1730, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i.i.i +_ZNK4llvm3LLT14getNumElementsEv.exit601.i: ; preds = %1718, %1715 + %1719 = lshr i64 %240, 3 + %1720 = and i64 %1719, 65535 + br i1 %or.cond14.i.i362, label %1721, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i.i.i -1730: ; preds = %_ZNK4llvm3LLT14getNumElementsEv.exit601.i - %.not.i1.i.i.i.i = icmp eq i64 %1005, 0 - br i1 %.not.i1.i.i.i.i, label %1733, label %1731 +1721: ; preds = %_ZNK4llvm3LLT14getNumElementsEv.exit601.i + %.not.i1.i.i.i.i = icmp eq i64 %996, 0 + br i1 %.not.i1.i.i.i.i, label %1724, label %1722 -1731: ; preds = %1730 - %1732 = lshr i64 %.sroa.0.0.copyload, 3 +1722: ; preds = %1721 + %1723 = lshr i64 %.sroa.0.0.copyload, 3 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit.i.i.i -1733: ; preds = %1730 - %.not1.i2.i.i.i.i = icmp eq i64 %1062, 0 - br i1 %.not1.i2.i.i.i.i, label %1737, label %1734 +1724: ; preds = %1721 + %.not1.i2.i.i.i.i = icmp eq i64 %1053, 0 + br i1 %.not1.i2.i.i.i.i, label %1728, label %1725 -1734: ; preds = %1733 - %1735 = lshr i64 %.sroa.0.0.copyload, 19 - %1736 = and i64 %1735, 65535 - %spec.select.i.i4.i.i.i = select i1 %.not.i.not.i.i360, i64 %1735, i64 %1736 +1725: ; preds = %1724 + %1726 = lshr i64 %.sroa.0.0.copyload, 19 + %1727 = and i64 %1726, 65535 + %spec.select.i.i4.i.i.i = select i1 %.not.i.not.i.i360, i64 %1726, i64 %1727 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit.i.i.i -1737: ; preds = %1733 - %1738 = lshr i64 %.sroa.0.0.copyload, 3 - %1739 = and i64 %1738, 65535 +1728: ; preds = %1724 + %1729 = lshr i64 %.sroa.0.0.copyload, 3 + %1730 = and i64 %1729, 65535 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit.i.i.i _ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i.i.i: ; preds = %_ZNK4llvm3LLT14getNumElementsEv.exit601.i - %1740 = lshr i64 %.sroa.0.0.copyload, 3 - %.sroa.0.0.insert.ext.i.i.i.i.i.i = and i64 %1740, 65535 - %.not1.i8.i.i.i.i = icmp eq i64 %1062, 0 - %1741 = lshr i64 %.sroa.0.0.copyload, 19 - %1742 = and i64 %1741, 65535 - %spec.select.i10.i.i.i.i = select i1 %.not.i.not.i.i360, i64 %1741, i64 %1742 + %1731 = lshr i64 %.sroa.0.0.copyload, 3 + %.sroa.0.0.insert.ext.i.i.i.i.i.i = and i64 %1731, 65535 + %.not1.i8.i.i.i.i = icmp eq i64 %1053, 0 + %1732 = lshr i64 %.sroa.0.0.copyload, 19 + %1733 = and i64 %1732, 65535 + %spec.select.i10.i.i.i.i = select i1 %.not.i.not.i.i360, i64 %1732, i64 %1733 %.0.in.i6.i.i.i.i = select i1 %.not1.i8.i.i.i.i, i64 %.sroa.0.0.insert.ext.i.i.i.i.i.i, i64 %spec.select.i10.i.i.i.i - %1743 = mul nuw nsw i64 %.0.in.i6.i.i.i.i, %.sroa.0.0.insert.ext.i.i.i.i.i.i + %1734 = mul nuw nsw i64 %.0.in.i6.i.i.i.i, %.sroa.0.0.insert.ext.i.i.i.i.i.i br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit.i.i.i -_ZNK4llvm3LLT13getSizeInBitsEv.exit.i.i.i: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i.i.i, %1737, %1734, %1731 - %.sroa.012.0.in.i.i.i.i = phi i64 [ %1743, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i.i.i ], [ %1732, %1731 ], [ %1739, %1737 ], [ %spec.select.i.i4.i.i.i, %1734 ] +_ZNK4llvm3LLT13getSizeInBitsEv.exit.i.i.i: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i.i.i, %1728, %1725, %1722 + %.sroa.012.0.in.i.i.i.i = phi i64 [ %1734, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i.i.i ], [ %1723, %1722 ], [ %1730, %1728 ], [ %spec.select.i.i4.i.i.i, %1725 ] %.sroa.012.0.i.i.i.i = shl i64 %.sroa.012.0.in.i.i.i.i, 16 - br i1 %or.cond.i.i361, label %1746, label %1744 + br i1 %or.cond.i.i361, label %1737, label %1735 -1744: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit.i.i.i - %1745 = and i64 %.sroa.012.0.i.i.i.i, 281474976645120 +1735: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit.i.i.i + %1736 = and i64 %.sroa.012.0.i.i.i.i, 281474976645120 br label %_ZN4llvm3LLT12fixed_vectorEjS0_.exit.i -1746: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit.i.i.i - %1747 = shl i64 %.sroa.0.0.copyload, 13 - %1748 = and i64 %1747, 72057589742960640 - %1749 = and i64 %.sroa.012.0.i.i.i.i, 4294901760 - %1750 = or disjoint i64 %1749, %1748 +1737: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit.i.i.i + %1738 = shl i64 %.sroa.0.0.copyload, 13 + %1739 = and i64 %1738, 72057589742960640 + %1740 = and i64 %.sroa.012.0.i.i.i.i, 4294901760 + %1741 = or disjoint i64 %1740, %1739 br label %_ZN4llvm3LLT12fixed_vectorEjS0_.exit.i -_ZN4llvm3LLT12fixed_vectorEjS0_.exit.i: ; preds = %1746, %1744 - %1751 = phi i64 [ 6, %1746 ], [ 4, %1744 ] - %.pn.i.i.i = phi i64 [ %1750, %1746 ], [ %1745, %1744 ] - %.sink15.i.i.in.i.i.i = add nuw nsw i64 %.pn.i.i.i, %1729 +_ZN4llvm3LLT12fixed_vectorEjS0_.exit.i: ; preds = %1737, %1735 + %1742 = phi i64 [ 6, %1737 ], [ 4, %1735 ] + %.pn.i.i.i = phi i64 [ %1741, %1737 ], [ %1736, %1735 ] + %.sink15.i.i.in.i.i.i = add nuw nsw i64 %.pn.i.i.i, %1720 %.sink15.i.i.i.i.i = shl nuw nsw i64 %.sink15.i.i.in.i.i.i, 3 - %1752 = or disjoint i64 %.sink15.i.i.i.i.i, %1751 - %1753 = icmp eq i64 %995, %1729 - br i1 %1753, label %1754, label %1761 + %1743 = or disjoint i64 %.sink15.i.i.i.i.i, %1742 + %1744 = icmp eq i64 %986, %1720 + br i1 %1744, label %1745, label %1752 -1754: ; preds = %_ZN4llvm3LLT12fixed_vectorEjS0_.exit.i - store i64 %1752, ptr %57, align 8 +1745: ; preds = %_ZN4llvm3LLT12fixed_vectorEjS0_.exit.i + store i64 %1743, ptr %57, align 8 store i32 0, ptr %182, align 8 - %1755 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder16buildBuildVectorERKNS_5DstOpENS_8ArrayRefINS_8RegisterEEE(ptr noundef nonnull align 8 dereferenceable(88) %5, ptr noundef nonnull align 8 dereferenceable(12) %57, ptr %994, i64 %1729) #18 - %1756 = extractvalue { ptr, ptr } %1755, 1 - %1757 = getelementptr inbounds nuw i8, ptr %1756, i64 32 - %1758 = load ptr, ptr %1757, align 8 - %1759 = getelementptr inbounds nuw i8, ptr %1758, i64 4 - %1760 = load i32, ptr %1759, align 4 - br label %1832 - -1761: ; preds = %_ZN4llvm3LLT12fixed_vectorEjS0_.exit.i - %.sroa.030.0.copyload.i = load i32, ptr %994, align 4 - %1762 = icmp slt i32 %.sroa.030.0.copyload.i, 0 - br i1 %1762, label %1763, label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit604.i - -1763: ; preds = %1761 - %1764 = getelementptr inbounds nuw i8, ptr %999, i64 456 - %1765 = and i32 %.sroa.030.0.copyload.i, 2147483647 - %1766 = zext nneg i32 %1765 to i64 - %1767 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(25) %1764) #18 - %1768 = icmp ugt i64 %1767, %1766 - br i1 %1768, label %1769, label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit604.i - -1769: ; preds = %1763 - %1770 = load ptr, ptr %1764, align 8 - %1771 = getelementptr inbounds nuw %"class.llvm::LLT", ptr %1770, i64 %1766 - %1772 = load i64, ptr %1771, align 8 + %1746 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder16buildBuildVectorERKNS_5DstOpENS_8ArrayRefINS_8RegisterEEE(ptr noundef nonnull align 8 dereferenceable(88) %5, ptr noundef nonnull align 8 dereferenceable(12) %57, ptr %985, i64 %1720) #18 + %1747 = extractvalue { ptr, ptr } %1746, 1 + %1748 = getelementptr inbounds nuw i8, ptr %1747, i64 32 + %1749 = load ptr, ptr %1748, align 8 + %1750 = getelementptr inbounds nuw i8, ptr %1749, i64 4 + %1751 = load i32, ptr %1750, align 4 + br label %1823 + +1752: ; preds = %_ZN4llvm3LLT12fixed_vectorEjS0_.exit.i + %.sroa.030.0.copyload.i = load i32, ptr %985, align 4 + %1753 = icmp slt i32 %.sroa.030.0.copyload.i, 0 + br i1 %1753, label %1754, label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit604.i + +1754: ; preds = %1752 + %1755 = getelementptr inbounds nuw i8, ptr %990, i64 456 + %1756 = and i32 %.sroa.030.0.copyload.i, 2147483647 + %1757 = zext nneg i32 %1756 to i64 + %1758 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(25) %1755) #18 + %1759 = icmp ugt i64 %1758, %1757 + br i1 %1759, label %1760, label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit604.i + +1760: ; preds = %1754 + %1761 = load ptr, ptr %1755, align 8 + %1762 = getelementptr inbounds nuw %"class.llvm::LLT", ptr %1761, i64 %1757 + %1763 = load i64, ptr %1762, align 8 br label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit604.i -_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit604.i: ; preds = %1769, %1763, %1761 - %.sroa.04.0.i603.i = phi i64 [ %1772, %1769 ], [ 0, %1763 ], [ 0, %1761 ] +_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit604.i: ; preds = %1760, %1754, %1752 + %.sroa.04.0.i603.i = phi i64 [ %1763, %1760 ], [ 0, %1754 ], [ 0, %1752 ] store i64 %.sroa.04.0.i603.i, ptr %58, align 8 - %.sroa.029.0.copyload.i = load i32, ptr %990, align 4 - %1773 = icmp slt i32 %.sroa.029.0.copyload.i, 0 - br i1 %1773, label %1774, label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit606.i - -1774: ; preds = %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit604.i - %1775 = getelementptr inbounds nuw i8, ptr %999, i64 456 - %1776 = and i32 %.sroa.029.0.copyload.i, 2147483647 - %1777 = zext nneg i32 %1776 to i64 - %1778 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(25) %1775) #18 - %1779 = icmp ugt i64 %1778, %1777 - br i1 %1779, label %1780, label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit606.i - -1780: ; preds = %1774 - %1781 = load ptr, ptr %1775, align 8 - %1782 = getelementptr inbounds nuw %"class.llvm::LLT", ptr %1781, i64 %1777 - %1783 = load i64, ptr %1782, align 8 + %.sroa.029.0.copyload.i = load i32, ptr %981, align 4 + %1764 = icmp slt i32 %.sroa.029.0.copyload.i, 0 + br i1 %1764, label %1765, label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit606.i + +1765: ; preds = %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit604.i + %1766 = getelementptr inbounds nuw i8, ptr %990, i64 456 + %1767 = and i32 %.sroa.029.0.copyload.i, 2147483647 + %1768 = zext nneg i32 %1767 to i64 + %1769 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(25) %1766) #18 + %1770 = icmp ugt i64 %1769, %1768 + br i1 %1770, label %1771, label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit606.i + +1771: ; preds = %1765 + %1772 = load ptr, ptr %1766, align 8 + %1773 = getelementptr inbounds nuw %"class.llvm::LLT", ptr %1772, i64 %1768 + %1774 = load i64, ptr %1773, align 8 br label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit606.i -_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit606.i: ; preds = %1780, %1774, %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit604.i - %.sroa.04.0.i605.i = phi i64 [ %1783, %1780 ], [ 0, %1774 ], [ 0, %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit604.i ] +_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit606.i: ; preds = %1771, %1765, %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit604.i + %.sroa.04.0.i605.i = phi i64 [ %1774, %1771 ], [ 0, %1765 ], [ 0, %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit604.i ] store i64 %.sroa.04.0.i605.i, ptr %60, align 8 - %1784 = call i64 @_ZNK4llvm3LLT14getElementTypeEv(ptr noundef nonnull align 8 dereferenceable(8) %60) - store i64 %1784, ptr %59, align 8 - %1785 = call { i64, i8 } @_ZNK4llvm3LLT13getSizeInBitsEv(ptr noundef nonnull align 8 dereferenceable(8) %58) - %.fca.0.extract23.i = extractvalue { i64, i8 } %1785, 0 - %.fca.1.extract24.i = extractvalue { i64, i8 } %1785, 1 + %1775 = call i64 @_ZNK4llvm3LLT14getElementTypeEv(ptr noundef nonnull align 8 dereferenceable(8) %60) + store i64 %1775, ptr %59, align 8 + %1776 = call { i64, i8 } @_ZNK4llvm3LLT13getSizeInBitsEv(ptr noundef nonnull align 8 dereferenceable(8) %58) + %.fca.0.extract23.i = extractvalue { i64, i8 } %1776, 0 + %.fca.1.extract24.i = extractvalue { i64, i8 } %1776, 1 store i64 %.fca.0.extract23.i, ptr %61, align 8 store i8 %.fca.1.extract24.i, ptr %.sroa.226.0..sroa_idx.i, align 8 - %1786 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %61) #18 - %1787 = call { i64, i8 } @_ZNK4llvm3LLT13getSizeInBitsEv(ptr noundef nonnull align 8 dereferenceable(8) %59) - %.fca.0.extract.i = extractvalue { i64, i8 } %1787, 0 - %.fca.1.extract.i = extractvalue { i64, i8 } %1787, 1 + %1777 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %61) #18 + %1778 = call { i64, i8 } @_ZNK4llvm3LLT13getSizeInBitsEv(ptr noundef nonnull align 8 dereferenceable(8) %59) + %.fca.0.extract.i = extractvalue { i64, i8 } %1778, 0 + %.fca.1.extract.i = extractvalue { i64, i8 } %1778, 1 store i64 %.fca.0.extract.i, ptr %62, align 8 store i8 %.fca.1.extract.i, ptr %.sroa.2.0..sroa_idx.i, align 8 - %1788 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %62) #18 - %1789 = udiv i64 %1786, %1788 + %1779 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %62) #18 + %1780 = udiv i64 %1777, %1779 call void @_ZN4llvm15SmallVectorBaseIjEC2EPvm(ptr noundef nonnull align 8 dereferenceable(16) %63, ptr noundef nonnull %177, i64 noundef 0) #18 - %1790 = and i64 %1789, 4294967295 - %1791 = mul i64 %1790, %995 - call void @_ZN4llvm15SmallVectorImplINS_8RegisterEE7reserveEm(ptr noundef nonnull align 8 dereferenceable(16) %63, i64 noundef %1791) - %1792 = getelementptr inbounds %"class.llvm::Register", ptr %994, i64 %995 - %.not182.i = icmp eq i64 %995, 0 + %1781 = and i64 %1780, 4294967295 + %1782 = mul i64 %1781, %986 + call void @_ZN4llvm15SmallVectorImplINS_8RegisterEE7reserveEm(ptr noundef nonnull align 8 dereferenceable(16) %63, i64 noundef %1782) + %1783 = getelementptr inbounds %"class.llvm::Register", ptr %985, i64 %986 + %.not182.i = icmp eq i64 %986, 0 br i1 %.not182.i, label %._crit_edge185.i, label %.lr.ph184.i .lr.ph184.i: ; preds = %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit606.i - %.not199.i = icmp eq i64 %1790, 0 + %.not199.i = icmp eq i64 %1781, 0 br i1 %.not199.i, label %.lr.ph184.split.i, label %.lr.ph.us.i .lr.ph.us.i: ; preds = %.lr.ph184.i, %._crit_edge.us.i - %.0245183.us.i = phi ptr [ %1816, %._crit_edge.us.i ], [ %994, %.lr.ph184.i ] + %.0245183.us.i = phi ptr [ %1807, %._crit_edge.us.i ], [ %985, %.lr.ph184.i ] %.sroa.016.0.copyload.us.i = load i32, ptr %.0245183.us.i, align 4 %.sroa.015.0.copyload.us.i = load i64, ptr %59, align 8 store i32 %.sroa.016.0.copyload.us.i, ptr %64, align 8 store i32 0, ptr %178, align 8 - %1793 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder12buildUnmergeENS_3LLTERKNS_5SrcOpE(ptr noundef nonnull align 8 dereferenceable(88) %5, i64 %.sroa.015.0.copyload.us.i, ptr noundef nonnull align 8 dereferenceable(20) %64) #18 - %1794 = extractvalue { ptr, ptr } %1793, 1 - %1795 = getelementptr inbounds nuw i8, ptr %1794, i64 32 - br label %1796 + %1784 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder12buildUnmergeENS_3LLTERKNS_5SrcOpE(ptr noundef nonnull align 8 dereferenceable(88) %5, i64 %.sroa.015.0.copyload.us.i, ptr noundef nonnull align 8 dereferenceable(20) %64) #18 + %1785 = extractvalue { ptr, ptr } %1784, 1 + %1786 = getelementptr inbounds nuw i8, ptr %1785, i64 32 + br label %1787 -1796: ; preds = %_ZN4llvm23SmallVectorTemplateBaseINS_8RegisterELb1EE9push_backES1_.exit608.us.i, %.lr.ph.us.i +1787: ; preds = %_ZN4llvm23SmallVectorTemplateBaseINS_8RegisterELb1EE9push_backES1_.exit608.us.i, %.lr.ph.us.i %indvars.iv.i389 = phi i64 [ 0, %.lr.ph.us.i ], [ %indvars.iv.next.i390, %_ZN4llvm23SmallVectorTemplateBaseINS_8RegisterELb1EE9push_backES1_.exit608.us.i ] store i64 %.sroa.0.0.copyload, ptr %65, align 8 store i32 0, ptr %179, align 8 - %1797 = load ptr, ptr %1795, align 8 - %1798 = getelementptr inbounds nuw %"class.llvm::MachineOperand", ptr %1797, i64 %indvars.iv.i389, i32 1 - %1799 = load i32, ptr %1798, align 4 - store i32 %1799, ptr %66, align 8 + %1788 = load ptr, ptr %1786, align 8 + %1789 = getelementptr inbounds nuw %"class.llvm::MachineOperand", ptr %1788, i64 %indvars.iv.i389, i32 1 + %1790 = load i32, ptr %1789, align 4 + store i32 %1790, ptr %66, align 8 store i32 0, ptr %180, align 8 - %1800 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder11buildAnyExtERKNS_5DstOpERKNS_5SrcOpE(ptr noundef nonnull align 8 dereferenceable(88) %5, ptr noundef nonnull align 8 dereferenceable(12) %65, ptr noundef nonnull align 8 dereferenceable(20) %66) #18 - %1801 = extractvalue { ptr, ptr } %1800, 1 - %1802 = getelementptr inbounds nuw i8, ptr %1801, i64 32 - %1803 = load ptr, ptr %1802, align 8 - %1804 = getelementptr inbounds nuw i8, ptr %1803, i64 4 - %1805 = load i32, ptr %1804, align 4 - %1806 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(16) %63) #18 - %1807 = add i64 %1806, 1 - %1808 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE8capacityEv(ptr noundef nonnull align 8 dereferenceable(16) %63) #18 - %.not.i.i.i607.us.i = icmp ugt i64 %1807, %1808 - br i1 %.not.i.i.i607.us.i, label %1809, label %_ZN4llvm23SmallVectorTemplateBaseINS_8RegisterELb1EE9push_backES1_.exit608.us.i - -1809: ; preds = %1796 - call void @_ZN4llvm15SmallVectorBaseIjE8grow_podEPvmm(ptr noundef nonnull align 8 dereferenceable(16) %63, ptr noundef nonnull %177, i64 noundef %1807, i64 noundef 4) #18 + %1791 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder11buildAnyExtERKNS_5DstOpERKNS_5SrcOpE(ptr noundef nonnull align 8 dereferenceable(88) %5, ptr noundef nonnull align 8 dereferenceable(12) %65, ptr noundef nonnull align 8 dereferenceable(20) %66) #18 + %1792 = extractvalue { ptr, ptr } %1791, 1 + %1793 = getelementptr inbounds nuw i8, ptr %1792, i64 32 + %1794 = load ptr, ptr %1793, align 8 + %1795 = getelementptr inbounds nuw i8, ptr %1794, i64 4 + %1796 = load i32, ptr %1795, align 4 + %1797 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(16) %63) #18 + %1798 = add i64 %1797, 1 + %1799 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE8capacityEv(ptr noundef nonnull align 8 dereferenceable(16) %63) #18 + %.not.i.i.i607.us.i = icmp ugt i64 %1798, %1799 + br i1 %.not.i.i.i607.us.i, label %1800, label %_ZN4llvm23SmallVectorTemplateBaseINS_8RegisterELb1EE9push_backES1_.exit608.us.i + +1800: ; preds = %1787 + call void @_ZN4llvm15SmallVectorBaseIjE8grow_podEPvmm(ptr noundef nonnull align 8 dereferenceable(16) %63, ptr noundef nonnull %177, i64 noundef %1798, i64 noundef 4) #18 br label %_ZN4llvm23SmallVectorTemplateBaseINS_8RegisterELb1EE9push_backES1_.exit608.us.i -_ZN4llvm23SmallVectorTemplateBaseINS_8RegisterELb1EE9push_backES1_.exit608.us.i: ; preds = %1809, %1796 - %1810 = load ptr, ptr %63, align 8 - %1811 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(16) %63) #18 - %1812 = getelementptr inbounds %"class.llvm::Register", ptr %1810, i64 %1811 - store i32 %1805, ptr %1812, align 1 - %1813 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(16) %63) #18 - %1814 = add i64 %1813, 1 - call void @_ZN4llvm15SmallVectorBaseIjE8set_sizeEm(ptr noundef nonnull align 8 dereferenceable(16) %63, i64 noundef %1814) #18 +_ZN4llvm23SmallVectorTemplateBaseINS_8RegisterELb1EE9push_backES1_.exit608.us.i: ; preds = %1800, %1787 + %1801 = load ptr, ptr %63, align 8 + %1802 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(16) %63) #18 + %1803 = getelementptr inbounds %"class.llvm::Register", ptr %1801, i64 %1802 + store i32 %1796, ptr %1803, align 1 + %1804 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(16) %63) #18 + %1805 = add i64 %1804, 1 + call void @_ZN4llvm15SmallVectorBaseIjE8set_sizeEm(ptr noundef nonnull align 8 dereferenceable(16) %63, i64 noundef %1805) #18 %indvars.iv.next.i390 = add nuw nsw i64 %indvars.iv.i389, 1 - %1815 = icmp samesign ult i64 %indvars.iv.next.i390, %1790 - br i1 %1815, label %1796, label %._crit_edge.us.i, !llvm.loop !47 + %1806 = icmp samesign ult i64 %indvars.iv.next.i390, %1781 + br i1 %1806, label %1787, label %._crit_edge.us.i, !llvm.loop !47 ._crit_edge.us.i: ; preds = %_ZN4llvm23SmallVectorTemplateBaseINS_8RegisterELb1EE9push_backES1_.exit608.us.i - %1816 = getelementptr inbounds nuw i8, ptr %.0245183.us.i, i64 4 - %.not.us.i = icmp eq ptr %1816, %1792 + %1807 = getelementptr inbounds nuw i8, ptr %.0245183.us.i, i64 4 + %.not.us.i = icmp eq ptr %1807, %1783 br i1 %.not.us.i, label %._crit_edge185.i, label %.lr.ph.us.i .lr.ph184.split.i: ; preds = %.lr.ph184.i, %.lr.ph184.split.i - %.0245183.i = phi ptr [ %1818, %.lr.ph184.split.i ], [ %994, %.lr.ph184.i ] + %.0245183.i = phi ptr [ %1809, %.lr.ph184.split.i ], [ %985, %.lr.ph184.i ] %.sroa.016.0.copyload.i = load i32, ptr %.0245183.i, align 4 %.sroa.015.0.copyload.i = load i64, ptr %59, align 8 store i32 %.sroa.016.0.copyload.i, ptr %64, align 8 store i32 0, ptr %178, align 8 - %1817 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder12buildUnmergeENS_3LLTERKNS_5SrcOpE(ptr noundef nonnull align 8 dereferenceable(88) %5, i64 %.sroa.015.0.copyload.i, ptr noundef nonnull align 8 dereferenceable(20) %64) #18 - %1818 = getelementptr inbounds nuw i8, ptr %.0245183.i, i64 4 - %.not.i391 = icmp eq ptr %1818, %1792 + %1808 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder12buildUnmergeENS_3LLTERKNS_5SrcOpE(ptr noundef nonnull align 8 dereferenceable(88) %5, i64 %.sroa.015.0.copyload.i, ptr noundef nonnull align 8 dereferenceable(20) %64) #18 + %1809 = getelementptr inbounds nuw i8, ptr %.0245183.i, i64 4 + %.not.i391 = icmp eq ptr %1809, %1783 br i1 %.not.i391, label %._crit_edge185.i, label %.lr.ph184.split.i ._crit_edge185.i: ; preds = %._crit_edge.us.i, %.lr.ph184.split.i, %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit606.i - %1819 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(16) %63) #18 - %1820 = icmp ugt i64 %1819, %1729 - br i1 %1820, label %1821, label %1823 + %1810 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(16) %63) #18 + %1811 = icmp ugt i64 %1810, %1720 + br i1 %1811, label %1812, label %1814 -1821: ; preds = %._crit_edge185.i - %1822 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(16) %63) #18 - call void @_ZN4llvm15SmallVectorBaseIjE8set_sizeEm(ptr noundef nonnull align 8 dereferenceable(16) %63, i64 noundef %1729) #18 - br label %1823 +1812: ; preds = %._crit_edge185.i + %1813 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(16) %63) #18 + call void @_ZN4llvm15SmallVectorBaseIjE8set_sizeEm(ptr noundef nonnull align 8 dereferenceable(16) %63, i64 noundef %1720) #18 + br label %1814 -1823: ; preds = %1821, %._crit_edge185.i - store i64 %1752, ptr %67, align 8 +1814: ; preds = %1812, %._crit_edge185.i + store i64 %1743, ptr %67, align 8 store i32 0, ptr %181, align 8 - %1824 = load ptr, ptr %63, align 8 - %1825 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(16) %63) #18 - %1826 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder16buildBuildVectorERKNS_5DstOpENS_8ArrayRefINS_8RegisterEEE(ptr noundef nonnull align 8 dereferenceable(88) %5, ptr noundef nonnull align 8 dereferenceable(12) %67, ptr %1824, i64 %1825) #18 - %1827 = extractvalue { ptr, ptr } %1826, 1 - %1828 = getelementptr inbounds nuw i8, ptr %1827, i64 32 - %1829 = load ptr, ptr %1828, align 8 - %1830 = getelementptr inbounds nuw i8, ptr %1829, i64 4 - %1831 = load i32, ptr %1830, align 4 + %1815 = load ptr, ptr %63, align 8 + %1816 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(16) %63) #18 + %1817 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder16buildBuildVectorERKNS_5DstOpENS_8ArrayRefINS_8RegisterEEE(ptr noundef nonnull align 8 dereferenceable(88) %5, ptr noundef nonnull align 8 dereferenceable(12) %67, ptr %1815, i64 %1816) #18 + %1818 = extractvalue { ptr, ptr } %1817, 1 + %1819 = getelementptr inbounds nuw i8, ptr %1818, i64 32 + %1820 = load ptr, ptr %1819, align 8 + %1821 = getelementptr inbounds nuw i8, ptr %1820, i64 4 + %1822 = load i32, ptr %1821, align 4 call void @_ZN4llvm11SmallVectorINS_8RegisterELj0EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %63) #18 - br label %1832 + br label %1823 -1832: ; preds = %1823, %1754 - %.sroa.010.0.i = phi i32 [ %1760, %1754 ], [ %1831, %1823 ] - %.sroa.06.0.copyload.i = load i32, ptr %990, align 4 +1823: ; preds = %1814, %1745 + %.sroa.010.0.i = phi i32 [ %1751, %1745 ], [ %1822, %1814 ] + %.sroa.06.0.copyload.i = load i32, ptr %981, align 4 store i32 %.sroa.06.0.copyload.i, ptr %68, align 8 store i32 1, ptr %183, align 8 store i32 %.sroa.010.0.i, ptr %69, align 8 store i32 0, ptr %184, align 8 - %1833 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder10buildTruncERKNS_5DstOpERKNS_5SrcOpESt8optionalIjE(ptr noundef nonnull align 8 dereferenceable(88) %5, ptr noundef nonnull align 8 dereferenceable(12) %68, ptr noundef nonnull align 8 dereferenceable(20) %69, i64 0) #18 + %1824 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder10buildTruncERKNS_5DstOpERKNS_5SrcOpESt8optionalIjE(ptr noundef nonnull align 8 dereferenceable(88) %5, ptr noundef nonnull align 8 dereferenceable(12) %68, ptr noundef nonnull align 8 dereferenceable(20) %69, i64 0) #18 br label %_ZL17buildCopyFromRegsRN4llvm16MachineIRBuilderENS_8ArrayRefINS_8RegisterEEES4_NS_3LLTES5_NS_3ISD10ArgFlagsTyE.exit -_ZL17buildCopyFromRegsRN4llvm16MachineIRBuilderENS_8ArrayRefINS_8RegisterEEES4_NS_3LLTES5_NS_3ISD10ArgFlagsTyE.exit: ; preds = %987, %1057, %1162, %_ZNK4llvm3LLT9isPointerEv.exit.thread.i, %1231, %1233, %_ZL27mergeVectorRegsToResultRegsRN4llvm16MachineIRBuilderENS_8ArrayRefINS_8RegisterEEES4_.exit, %1506, %_ZNK4llvm3LLT9isPointerEv.exit452.thread.i, %._crit_edge.i395, %1723, %1832 +_ZL17buildCopyFromRegsRN4llvm16MachineIRBuilderENS_8ArrayRefINS_8RegisterEEES4_NS_3LLTES5_NS_3ISD10ArgFlagsTyE.exit: ; preds = %978, %1048, %1153, %_ZNK4llvm3LLT9isPointerEv.exit.thread.i, %1222, %1224, %_ZL27mergeVectorRegsToResultRegsRN4llvm16MachineIRBuilderENS_8ArrayRefINS_8RegisterEEES4_.exit, %1497, %_ZNK4llvm3LLT9isPointerEv.exit452.thread.i, %._crit_edge.i395, %1714, %1823 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %27) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %28) call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %29) @@ -6917,76 +6900,76 @@ _ZL17buildCopyFromRegsRN4llvm16MachineIRBuilderENS_8ArrayRefINS_8RegisterEEES4_N call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %69) br label %_ZNK4llvm3EVTneES0_.exit.thread526 -_ZNK4llvm3EVTneES0_.exit.thread526: ; preds = %984, %.loopexit540, %_ZNK4llvm3EVTneES0_.exit.thread, %_ZL17buildCopyFromRegsRN4llvm16MachineIRBuilderENS_8ArrayRefINS_8RegisterEEES4_NS_3LLTES5_NS_3ISD10ArgFlagsTyE.exit, %220, %.thread, %_ZNSt8functionIFvvEED2Ev.exit - %.pn.in = phi i32 [ %216, %_ZNSt8functionIFvvEED2Ev.exit ], [ %216, %.thread ], [ %216, %220 ], [ %255, %984 ], [ %255, %_ZL17buildCopyFromRegsRN4llvm16MachineIRBuilderENS_8ArrayRefINS_8RegisterEEES4_NS_3LLTES5_NS_3ISD10ArgFlagsTyE.exit ], [ %255, %_ZNK4llvm3EVTneES0_.exit.thread ], [ %255, %.loopexit540 ] +_ZNK4llvm3EVTneES0_.exit.thread526: ; preds = %975, %.loopexit540, %_ZNK4llvm3EVTneES0_.exit.thread, %_ZL17buildCopyFromRegsRN4llvm16MachineIRBuilderENS_8ArrayRefINS_8RegisterEEES4_NS_3LLTES5_NS_3ISD10ArgFlagsTyE.exit, %220, %.thread, %_ZNSt8functionIFvvEED2Ev.exit + %.pn.in = phi i32 [ %216, %_ZNSt8functionIFvvEED2Ev.exit ], [ %216, %.thread ], [ %216, %220 ], [ %255, %975 ], [ %255, %_ZL17buildCopyFromRegsRN4llvm16MachineIRBuilderENS_8ArrayRefINS_8RegisterEEES4_NS_3LLTES5_NS_3ISD10ArgFlagsTyE.exit ], [ %255, %_ZNK4llvm3EVTneES0_.exit.thread ], [ %255, %.loopexit540 ] %indvars.iv.next582 = add nuw nsw i64 %indvars.iv581, 1 - %1834 = add i32 %.pn.in, %.0262557 + %1825 = add i32 %.pn.in, %.0262557 %.not = icmp eq i64 %indvars.iv.next582, %200 br i1 %.not, label %._crit_edge, label %201, !llvm.loop !48 ._crit_edge: ; preds = %_ZNK4llvm3EVTneES0_.exit.thread526, %7 - %1835 = load ptr, ptr %96, align 8 - %1836 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(16) %96) #18 - %1837 = getelementptr inbounds %"class.std::function.307", ptr %1835, i64 %1836 - %.not274562 = icmp eq i64 %1836, 0 + %1826 = load ptr, ptr %96, align 8 + %1827 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(16) %96) #18 + %1828 = getelementptr inbounds %"class.std::function.307", ptr %1826, i64 %1827 + %.not274562 = icmp eq i64 %1827, 0 br i1 %.not274562, label %.loopexit, label %.lr.ph565 .lr.ph565: ; preds = %._crit_edge, %_ZNKSt8functionIFvvEEclEv.exit - %.0261563 = phi ptr [ %1843, %_ZNKSt8functionIFvvEEclEv.exit ], [ %1835, %._crit_edge ] - %1838 = getelementptr inbounds nuw i8, ptr %.0261563, i64 16 - %1839 = load ptr, ptr %1838, align 8 - %.not.i.i405 = icmp eq ptr %1839, null - br i1 %.not.i.i405, label %1840, label %_ZNKSt8functionIFvvEEclEv.exit + %.0261563 = phi ptr [ %1834, %_ZNKSt8functionIFvvEEclEv.exit ], [ %1826, %._crit_edge ] + %1829 = getelementptr inbounds nuw i8, ptr %.0261563, i64 16 + %1830 = load ptr, ptr %1829, align 8 + %.not.i.i405 = icmp eq ptr %1830, null + br i1 %.not.i.i405, label %1831, label %_ZNKSt8functionIFvvEEclEv.exit -1840: ; preds = %.lr.ph565 +1831: ; preds = %.lr.ph565 call void @_ZSt25__throw_bad_function_callv() #19 unreachable _ZNKSt8functionIFvvEEclEv.exit: ; preds = %.lr.ph565 - %1841 = getelementptr inbounds nuw i8, ptr %.0261563, i64 24 - %1842 = load ptr, ptr %1841, align 8 - call void %1842(ptr noundef nonnull align 8 dereferenceable(32) %.0261563) #18 - %1843 = getelementptr inbounds nuw i8, ptr %.0261563, i64 32 - %.not274 = icmp eq ptr %1843, %1837 + %1832 = getelementptr inbounds nuw i8, ptr %.0261563, i64 24 + %1833 = load ptr, ptr %1832, align 8 + call void %1833(ptr noundef nonnull align 8 dereferenceable(32) %.0261563) #18 + %1834 = getelementptr inbounds nuw i8, ptr %.0261563, i64 32 + %.not274 = icmp eq ptr %1834, %1828 br i1 %.not274, label %.loopexit, label %.lr.ph565 .loopexit: ; preds = %220, %.thread, %_ZNSt8functionIFvvEED2Ev.exit, %_ZNKSt8functionIFvvEEclEv.exit, %._crit_edge %.not549 = phi i1 [ true, %._crit_edge ], [ true, %_ZNKSt8functionIFvvEEclEv.exit ], [ false, %_ZNSt8functionIFvvEED2Ev.exit ], [ false, %.thread ], [ false, %220 ] - %1844 = load ptr, ptr %96, align 8 - %1845 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(48) %96) #18 - %.not4.i.i = icmp eq i64 %1845, 0 + %1835 = load ptr, ptr %96, align 8 + %1836 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(48) %96) #18 + %.not4.i.i = icmp eq i64 %1836, 0 br i1 %.not4.i.i, label %_ZN4llvm23SmallVectorTemplateBaseISt8functionIFvvEELb0EE13destroy_rangeEPS3_S5_.exit.i, label %.lr.ph.i.preheader.i .lr.ph.i.preheader.i: ; preds = %.loopexit - %1846 = getelementptr inbounds %"class.std::function.307", ptr %1844, i64 %1845 + %1837 = getelementptr inbounds %"class.std::function.307", ptr %1835, i64 %1836 br label %.lr.ph.i.i .lr.ph.i.i: ; preds = %_ZNSt8functionIFvvEED2Ev.exit.i.i, %.lr.ph.i.preheader.i - %.05.i.i = phi ptr [ %1847, %_ZNSt8functionIFvvEED2Ev.exit.i.i ], [ %1846, %.lr.ph.i.preheader.i ] - %1847 = getelementptr inbounds i8, ptr %.05.i.i, i64 -32 - %1848 = getelementptr inbounds i8, ptr %.05.i.i, i64 -16 - %1849 = load ptr, ptr %1848, align 8 - %.not.i.i.i.i406 = icmp eq ptr %1849, null - br i1 %.not.i.i.i.i406, label %_ZNSt8functionIFvvEED2Ev.exit.i.i, label %1850 - -1850: ; preds = %.lr.ph.i.i - %1851 = call noundef zeroext i1 %1849(ptr noundef nonnull align 8 dereferenceable(32) %1847, ptr noundef nonnull align 8 dereferenceable(32) %1847, i32 noundef 3) #18 + %.05.i.i = phi ptr [ %1838, %_ZNSt8functionIFvvEED2Ev.exit.i.i ], [ %1837, %.lr.ph.i.preheader.i ] + %1838 = getelementptr inbounds i8, ptr %.05.i.i, i64 -32 + %1839 = getelementptr inbounds i8, ptr %.05.i.i, i64 -16 + %1840 = load ptr, ptr %1839, align 8 + %.not.i.i.i.i406 = icmp eq ptr %1840, null + br i1 %.not.i.i.i.i406, label %_ZNSt8functionIFvvEED2Ev.exit.i.i, label %1841 + +1841: ; preds = %.lr.ph.i.i + %1842 = call noundef zeroext i1 %1840(ptr noundef nonnull align 8 dereferenceable(32) %1838, ptr noundef nonnull align 8 dereferenceable(32) %1838, i32 noundef 3) #18 br label %_ZNSt8functionIFvvEED2Ev.exit.i.i -_ZNSt8functionIFvvEED2Ev.exit.i.i: ; preds = %1850, %.lr.ph.i.i - %.not.i.i407 = icmp eq ptr %1844, %1847 +_ZNSt8functionIFvvEED2Ev.exit.i.i: ; preds = %1841, %.lr.ph.i.i + %.not.i.i407 = icmp eq ptr %1835, %1838 br i1 %.not.i.i407, label %_ZN4llvm23SmallVectorTemplateBaseISt8functionIFvvEELb0EE13destroy_rangeEPS3_S5_.exit.i, label %.lr.ph.i.i, !llvm.loop !40 _ZN4llvm23SmallVectorTemplateBaseISt8functionIFvvEELb0EE13destroy_rangeEPS3_S5_.exit.i: ; preds = %_ZNSt8functionIFvvEED2Ev.exit.i.i, %.loopexit - %1852 = load ptr, ptr %96, align 8 - %1853 = icmp eq ptr %1852, %124 - br i1 %1853, label %_ZN4llvm11SmallVectorISt8functionIFvvEELj1EED2Ev.exit, label %1854 + %1843 = load ptr, ptr %96, align 8 + %1844 = icmp eq ptr %1843, %124 + br i1 %1844, label %_ZN4llvm11SmallVectorISt8functionIFvvEELj1EED2Ev.exit, label %1845 -1854: ; preds = %_ZN4llvm23SmallVectorTemplateBaseISt8functionIFvvEELb0EE13destroy_rangeEPS3_S5_.exit.i - call void @free(ptr noundef %1852) #18 +1845: ; preds = %_ZN4llvm23SmallVectorTemplateBaseISt8functionIFvvEELb0EE13destroy_rangeEPS3_S5_.exit.i + call void @free(ptr noundef %1843) #18 br label %_ZN4llvm11SmallVectorISt8functionIFvvEELj1EED2Ev.exit -_ZN4llvm11SmallVectorISt8functionIFvvEELj1EED2Ev.exit: ; preds = %_ZN4llvm23SmallVectorTemplateBaseISt8functionIFvvEELb0EE13destroy_rangeEPS3_S5_.exit.i, %1854 +_ZN4llvm11SmallVectorISt8functionIFvvEELj1EED2Ev.exit: ; preds = %_ZN4llvm23SmallVectorTemplateBaseISt8functionIFvvEELb0EE13destroy_rangeEPS3_S5_.exit.i, %1845 ret i1 %.not549 } diff --git a/bench/llvm/optimized/LegalizerHelper.cpp.ll b/bench/llvm/optimized/LegalizerHelper.cpp.ll index 1a77b8eef25..a27222e90e9 100644 --- a/bench/llvm/optimized/LegalizerHelper.cpp.ll +++ b/bench/llvm/optimized/LegalizerHelper.cpp.ll @@ -40978,94 +40978,78 @@ _ZNK4llvm3LLT14getElementTypeEv.exit160: ; preds = %210 %216 = and i64 %215, %. %217 = or disjoint i64 %216, %.220 %spec.select.i = icmp eq i64 %205, %217 - br i1 %spec.select.i, label %.critedge4, label %.critedge2 - -.critedge4: ; preds = %_ZNK4llvm3LLT14getElementTypeEv.exit160 - %218 = and i64 %208, 6 - %219 = icmp eq i64 %218, 2 - br i1 %219, label %220, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i165 - -220: ; preds = %.critedge4 + br i1 %spec.select.i, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i165, label %.critedge2 + +_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i165: ; preds = %_ZNK4llvm3LLT14getElementTypeEv.exit160 + %218 = lshr i64 %208, 3 + %.sroa.0.0.insert.ext.i.i.i166 = and i64 %218, 65535 + %219 = select i1 %.not.i146, i64 2251799813685248, i64 576460752303423488 + %220 = and i64 %219, %208 + %.not1.i4.i167 = icmp ne i64 %220, 0 %221 = lshr i64 %208, 19 %222 = and i64 %221, 65535 - %spec.select.i.i179 = select i1 %.not.i146, i64 %221, i64 %222 - br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit180 - -_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i165: ; preds = %.critedge4 - %223 = lshr i64 %208, 3 - %.sroa.0.0.insert.ext.i.i.i166 = and i64 %223, 65535 - %224 = select i1 %.not.i146, i64 2251799813685248, i64 576460752303423488 - %225 = and i64 %224, %208 - %.not1.i4.i167 = icmp ne i64 %225, 0 - %226 = lshr i64 %208, 19 - %227 = and i64 %226, 65535 - %spec.select.i10.i169 = select i1 %.not.i146, i64 %226, i64 %227 - %228 = mul nuw nsw i64 %spec.select.i10.i169, %.sroa.0.0.insert.ext.i.i.i166 - %229 = zext i1 %.not1.i4.i167 to i8 - br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit180 - -_ZNK4llvm3LLT13getSizeInBitsEv.exit180: ; preds = %220, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i165 - %.sroa.012.0.in.i172 = phi i64 [ %228, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i165 ], [ %spec.select.i.i179, %220 ] - %.sroa.3.0.i173 = phi i8 [ %229, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i165 ], [ 0, %220 ] - %.sroa.012.0.i174 = and i64 %.sroa.012.0.in.i172, 4294967295 - store i64 %.sroa.012.0.i174, ptr %16, align 8 + %spec.select.i10.i169 = select i1 %.not.i146, i64 %221, i64 %222 + %223 = mul nuw nsw i64 %spec.select.i10.i169, %.sroa.0.0.insert.ext.i.i.i166 + %224 = zext i1 %.not1.i4.i167 to i8 + %225 = and i64 %223, 4294967295 + store i64 %225, ptr %16, align 8 %.sroa.2.0..sroa_idx = getelementptr inbounds nuw i8, ptr %16, i64 8 - store i8 %.sroa.3.0.i173, ptr %.sroa.2.0..sroa_idx, align 8 - %230 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %16) #18 - %231 = shl i64 %230, 3 - %232 = and i64 %231, 34359738360 - %233 = or disjoint i64 %232, 1 - %234 = load ptr, ptr %0, align 8 + store i8 %224, ptr %.sroa.2.0..sroa_idx, align 8 + %226 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %16) #18 + %227 = shl i64 %226, 3 + %228 = and i64 %227, 34359738360 + %229 = or disjoint i64 %228, 1 + %230 = load ptr, ptr %0, align 8 %.sroa.013.0.copyload = load i32, ptr %24, align 8 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %5) call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %6) - store i64 %233, ptr %5, align 8 + store i64 %229, ptr %5, align 8 %.sroa.2206.0..sroa_idx = getelementptr inbounds nuw i8, ptr %5, i64 8 store i32 0, ptr %.sroa.2206.0..sroa_idx, align 8 store i32 %.sroa.013.0.copyload, ptr %6, align 8 %.sroa.2204.0..sroa_idx = getelementptr inbounds nuw i8, ptr %6, i64 16 store i32 0, ptr %.sroa.2204.0..sroa_idx, align 8 - %235 = load ptr, ptr %234, align 8 - %236 = getelementptr inbounds nuw i8, ptr %235, i64 32 - %237 = load ptr, ptr %236, align 8 - %238 = call { ptr, ptr } %237(ptr noundef nonnull align 8 dereferenceable(88) %234, i32 noundef 79, ptr nonnull %5, i64 1, ptr nonnull %6, i64 1, i64 0) #18 + %231 = load ptr, ptr %230, align 8 + %232 = getelementptr inbounds nuw i8, ptr %231, i64 32 + %233 = load ptr, ptr %232, align 8 + %234 = call { ptr, ptr } %233(ptr noundef nonnull align 8 dereferenceable(88) %230, i32 noundef 79, ptr nonnull %5, i64 1, ptr nonnull %6, i64 1, i64 0) #18 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %5) call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %6) - %239 = extractvalue { ptr, ptr } %238, 1 - %240 = getelementptr inbounds nuw i8, ptr %239, i64 32 - %241 = load ptr, ptr %240, align 8 - %242 = getelementptr inbounds nuw i8, ptr %241, i64 4 - %243 = load i32, ptr %242, align 4 - store i32 %243, ptr %24, align 8 + %235 = extractvalue { ptr, ptr } %234, 1 + %236 = getelementptr inbounds nuw i8, ptr %235, i64 32 + %237 = load ptr, ptr %236, align 8 + %238 = getelementptr inbounds nuw i8, ptr %237, i64 4 + %239 = load i32, ptr %238, align 4 + store i32 %239, ptr %24, align 8 br label %.critedge4.thread -.critedge4.thread: ; preds = %207, %_ZNK4llvm3LLT13getSizeInBitsEv.exit180 - %.sroa.018.0 = phi i64 [ %233, %_ZNK4llvm3LLT13getSizeInBitsEv.exit180 ], [ %208, %207 ] - %244 = icmp eq i32 %29, 0 - %245 = load ptr, ptr %0, align 8 - br i1 %244, label %246, label %250 +.critedge4.thread: ; preds = %207, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i165 + %.sroa.018.0 = phi i64 [ %229, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i165 ], [ %208, %207 ] + %240 = icmp eq i32 %29, 0 + %241 = load ptr, ptr %0, align 8 + br i1 %240, label %242, label %246 -246: ; preds = %.critedge4.thread +242: ; preds = %.critedge4.thread %.sroa.012.0.copyload = load i32, ptr %22, align 8 store i32 %.sroa.012.0.copyload, ptr %17, align 8 - %247 = getelementptr inbounds nuw i8, ptr %17, i64 8 - store i32 1, ptr %247, align 8 + %243 = getelementptr inbounds nuw i8, ptr %17, i64 8 + store i32 1, ptr %243, align 8 %.sroa.011.0.copyload = load i32, ptr %24, align 8 store i32 %.sroa.011.0.copyload, ptr %18, align 8 - %248 = getelementptr inbounds nuw i8, ptr %18, i64 16 - store i32 0, ptr %248, align 8 - %249 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder10buildTruncERKNS_5DstOpERKNS_5SrcOpESt8optionalIjE(ptr noundef nonnull align 8 dereferenceable(88) %245, ptr noundef nonnull align 8 dereferenceable(12) %17, ptr noundef nonnull align 8 dereferenceable(20) %18, i64 0) #18 - br label %268 + %244 = getelementptr inbounds nuw i8, ptr %18, i64 16 + store i32 0, ptr %244, align 8 + %245 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder10buildTruncERKNS_5DstOpERKNS_5SrcOpESt8optionalIjE(ptr noundef nonnull align 8 dereferenceable(88) %241, ptr noundef nonnull align 8 dereferenceable(12) %17, ptr noundef nonnull align 8 dereferenceable(20) %18, i64 0) #18 + br label %264 -250: ; preds = %.critedge4.thread +246: ; preds = %.critedge4.thread store i64 %.sroa.018.0, ptr %19, align 8 - %251 = getelementptr inbounds nuw i8, ptr %19, i64 8 - store i32 0, ptr %251, align 8 - %252 = and i64 %28, 4294967295 - %253 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder13buildConstantERKNS_5DstOpEl(ptr noundef nonnull align 8 dereferenceable(88) %245, ptr noundef nonnull align 8 dereferenceable(12) %19, i64 noundef %252) #18 - %254 = extractvalue { ptr, ptr } %253, 0 - %255 = extractvalue { ptr, ptr } %253, 1 - %256 = load ptr, ptr %0, align 8 + %247 = getelementptr inbounds nuw i8, ptr %19, i64 8 + store i32 0, ptr %247, align 8 + %248 = and i64 %28, 4294967295 + %249 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder13buildConstantERKNS_5DstOpEl(ptr noundef nonnull align 8 dereferenceable(88) %241, ptr noundef nonnull align 8 dereferenceable(12) %19, i64 noundef %248) #18 + %250 = extractvalue { ptr, ptr } %249, 0 + %251 = extractvalue { ptr, ptr } %249, 1 + %252 = load ptr, ptr %0, align 8 %.sroa.06.0.copyload = load i32, ptr %24, align 8 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %3) call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %4) @@ -41075,39 +41059,39 @@ _ZNK4llvm3LLT13getSizeInBitsEv.exit180: ; preds = %220, %_ZNK4llvm3LLT store i32 %.sroa.06.0.copyload, ptr %4, align 8 %.sroa.2192.0..sroa_idx = getelementptr inbounds nuw i8, ptr %4, i64 16 store i32 0, ptr %.sroa.2192.0..sroa_idx, align 8 - %257 = getelementptr inbounds nuw i8, ptr %4, i64 24 - store ptr %254, ptr %257, align 8 + %253 = getelementptr inbounds nuw i8, ptr %4, i64 24 + store ptr %250, ptr %253, align 8 %.sroa.0188.sroa.2.0..sroa_idx = getelementptr inbounds nuw i8, ptr %4, i64 32 - store ptr %255, ptr %.sroa.0188.sroa.2.0..sroa_idx, align 8 + store ptr %251, ptr %.sroa.0188.sroa.2.0..sroa_idx, align 8 %.sroa.2.0..sroa_idx189 = getelementptr inbounds nuw i8, ptr %4, i64 40 store i32 1, ptr %.sroa.2.0..sroa_idx189, align 8 - %258 = load ptr, ptr %256, align 8 - %259 = getelementptr inbounds nuw i8, ptr %258, i64 32 - %260 = load ptr, ptr %259, align 8 - %261 = call { ptr, ptr } %260(ptr noundef nonnull align 8 dereferenceable(88) %256, i32 noundef 136, ptr nonnull %3, i64 1, ptr nonnull %4, i64 2, i64 0) #18 + %254 = load ptr, ptr %252, align 8 + %255 = getelementptr inbounds nuw i8, ptr %254, i64 32 + %256 = load ptr, ptr %255, align 8 + %257 = call { ptr, ptr } %256(ptr noundef nonnull align 8 dereferenceable(88) %252, i32 noundef 136, ptr nonnull %3, i64 1, ptr nonnull %4, i64 2, i64 0) #18 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %3) call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %4) - %262 = extractvalue { ptr, ptr } %261, 0 - %263 = extractvalue { ptr, ptr } %261, 1 - %264 = load ptr, ptr %0, align 8 + %258 = extractvalue { ptr, ptr } %257, 0 + %259 = extractvalue { ptr, ptr } %257, 1 + %260 = load ptr, ptr %0, align 8 %.sroa.05.0.copyload = load i32, ptr %22, align 8 store i32 %.sroa.05.0.copyload, ptr %20, align 8 - %265 = getelementptr inbounds nuw i8, ptr %20, i64 8 - store i32 1, ptr %265, align 8 - store ptr %262, ptr %21, align 8 + %261 = getelementptr inbounds nuw i8, ptr %20, i64 8 + store i32 1, ptr %261, align 8 + store ptr %258, ptr %21, align 8 %.sroa.2196.0..sroa_idx = getelementptr inbounds nuw i8, ptr %21, i64 8 - store ptr %263, ptr %.sroa.2196.0..sroa_idx, align 8 - %266 = getelementptr inbounds nuw i8, ptr %21, i64 16 - store i32 1, ptr %266, align 8 - %267 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder10buildTruncERKNS_5DstOpERKNS_5SrcOpESt8optionalIjE(ptr noundef nonnull align 8 dereferenceable(88) %264, ptr noundef nonnull align 8 dereferenceable(12) %20, ptr noundef nonnull align 8 dereferenceable(20) %21, i64 0) #18 - br label %268 + store ptr %259, ptr %.sroa.2196.0..sroa_idx, align 8 + %262 = getelementptr inbounds nuw i8, ptr %21, i64 16 + store i32 1, ptr %262, align 8 + %263 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder10buildTruncERKNS_5DstOpERKNS_5SrcOpESt8optionalIjE(ptr noundef nonnull align 8 dereferenceable(88) %260, ptr noundef nonnull align 8 dereferenceable(12) %20, ptr noundef nonnull align 8 dereferenceable(20) %21, i64 0) #18 + br label %264 -268: ; preds = %250, %246 +264: ; preds = %246, %242 call void @_ZN4llvm12MachineInstr15eraseFromParentEv(ptr noundef nonnull align 8 dereferenceable(70) %1) #18 br label %.critedge2 -.critedge2: ; preds = %204, %200, %_ZNK4llvm3LLT14getElementTypeEv.exit160, %210, %.critedge, %268 - %.0 = phi i32 [ 1, %268 ], [ 2, %.critedge ], [ 2, %210 ], [ 2, %_ZNK4llvm3LLT14getElementTypeEv.exit160 ], [ 1, %200 ], [ 1, %204 ] +.critedge2: ; preds = %204, %200, %_ZNK4llvm3LLT14getElementTypeEv.exit160, %210, %.critedge, %264 + %.0 = phi i32 [ 1, %264 ], [ 2, %.critedge ], [ 2, %210 ], [ 2, %_ZNK4llvm3LLT14getElementTypeEv.exit160 ], [ 1, %200 ], [ 1, %204 ] ret i32 %.0 } @@ -41211,7 +41195,7 @@ _ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit129: ; preds = %_ZNK4ll %76 = and i64 %68, 4 %.not1.i = icmp eq i64 %76, 0 %or.cond = select i1 %or.cond.i.not399, i1 %.not1.i, i1 false - br i1 %or.cond, label %.critedge.thread440, label %_ZNK4llvm3LLT9isPointerEv.exit.thread + br i1 %or.cond, label %.critedge.thread441, label %_ZNK4llvm3LLT9isPointerEv.exit.thread _ZNK4llvm3LLT9isPointerEv.exit.thread: ; preds = %74 %77 = and i64 %.sroa.04.0.i, 2 @@ -41368,814 +41352,797 @@ _ZNK4llvm3LLT13getSizeInBitsEv.exit155: ; preds = %119, %122, %125, %_ 145: ; preds = %140 %146 = and i64 %135, 4294967295 %147 = add i64 %146, %42 - %148 = and i64 %.sroa.04.0.i, 6 - %149 = icmp eq i64 %148, 2 - %150 = and i64 %.sroa.04.0.i, 1 - %151 = icmp ne i64 %150, 0 - %or.cond14.i159 = or i1 %151, %149 - br i1 %or.cond14.i159, label %152, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i160 - -152: ; preds = %145 - %.not.i1.i172 = icmp eq i64 %150, 0 - br i1 %.not.i1.i172, label %155, label %153 - -153: ; preds = %152 - %154 = lshr i64 %.sroa.04.0.i, 3 - br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit175 - -155: ; preds = %152 - %156 = lshr i64 %.sroa.04.0.i, 19 - %157 = and i64 %156, 65535 - %spec.select.i.i174 = select i1 %.not.i131, i64 %156, i64 %157 - br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit175 + %148 = and i64 %.sroa.04.0.i, 1 + %.not400 = icmp eq i64 %148, 0 + %149 = lshr i64 %.sroa.04.0.i, 3 + br i1 %.not400, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i160, label %_ZNK4llvm3LLT13getSizeInBitsEv.exit175 _ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i160: ; preds = %145 - %158 = lshr i64 %.sroa.04.0.i, 3 - %.sroa.0.0.insert.ext.i.i.i161 = and i64 %158, 65535 - %159 = select i1 %.not.i131, i64 2251799813685248, i64 576460752303423488 - %160 = and i64 %159, %.sroa.04.0.i - %.not1.i4.i162 = icmp ne i64 %160, 0 - %161 = lshr i64 %.sroa.04.0.i, 19 - %162 = and i64 %161, 65535 - %spec.select.i10.i164 = select i1 %.not.i131, i64 %161, i64 %162 - %163 = mul nuw nsw i64 %spec.select.i10.i164, %.sroa.0.0.insert.ext.i.i.i161 - %164 = zext i1 %.not1.i4.i162 to i8 + %.sroa.0.0.insert.ext.i.i.i161 = and i64 %149, 65535 + %150 = select i1 %.not.i131, i64 2251799813685248, i64 576460752303423488 + %151 = and i64 %150, %.sroa.04.0.i + %.not1.i4.i162 = icmp ne i64 %151, 0 + %152 = lshr i64 %.sroa.04.0.i, 19 + %153 = and i64 %152, 65535 + %spec.select.i10.i164 = select i1 %.not.i131, i64 %152, i64 %153 + %154 = mul nuw nsw i64 %spec.select.i10.i164, %.sroa.0.0.insert.ext.i.i.i161 + %155 = zext i1 %.not1.i4.i162 to i8 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit175 -_ZNK4llvm3LLT13getSizeInBitsEv.exit175: ; preds = %153, %155, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i160 - %.sroa.012.0.in.i167 = phi i64 [ %163, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i160 ], [ %154, %153 ], [ %spec.select.i.i174, %155 ] - %.sroa.3.0.i168 = phi i8 [ %164, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i160 ], [ 0, %153 ], [ 0, %155 ] +_ZNK4llvm3LLT13getSizeInBitsEv.exit175: ; preds = %145, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i160 + %.sroa.012.0.in.i167 = phi i64 [ %154, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i160 ], [ %149, %145 ] + %.sroa.3.0.i168 = phi i8 [ %155, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i160 ], [ 0, %145 ] %.sroa.012.0.i169 = and i64 %.sroa.012.0.in.i167, 4294967295 store i64 %.sroa.012.0.i169, ptr %14, align 8 %.sroa.276.0..sroa_idx = getelementptr inbounds nuw i8, ptr %14, i64 8 store i8 %.sroa.3.0.i168, ptr %.sroa.276.0..sroa_idx, align 8 - %165 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %14) #18 - %.not = icmp ugt i64 %147, %165 - br i1 %.not, label %.critedge, label %166 + %156 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %14) #18 + %.not = icmp ugt i64 %147, %156 + br i1 %.not, label %.critedge, label %157 -166: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit175 - %167 = load ptr, ptr %0, align 8 +157: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit175 + %158 = load ptr, ptr %0, align 8 store i32 %38, ptr %15, align 8 - %168 = getelementptr inbounds nuw i8, ptr %15, i64 16 - store i32 0, ptr %168, align 8 - %169 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder12buildUnmergeENS_3LLTERKNS_5SrcOpE(ptr noundef nonnull align 8 dereferenceable(88) %167, i64 %.sroa.0.0.i, ptr noundef nonnull align 8 dereferenceable(20) %15) #18 - %170 = extractvalue { ptr, ptr } %169, 1 - %171 = getelementptr inbounds nuw i8, ptr %16, i64 16 - call void @_ZN4llvm15SmallVectorBaseIjEC2EPvm(ptr noundef nonnull align 8 dereferenceable(48) %16, ptr noundef nonnull %171, i64 noundef 8) #18 - %.not427 = icmp ugt i64 %136, %42 - br i1 %.not427, label %._crit_edge, label %.lr.ph + %159 = getelementptr inbounds nuw i8, ptr %15, i64 16 + store i32 0, ptr %159, align 8 + %160 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder12buildUnmergeENS_3LLTERKNS_5SrcOpE(ptr noundef nonnull align 8 dereferenceable(88) %158, i64 %.sroa.0.0.i, ptr noundef nonnull align 8 dereferenceable(20) %15) #18 + %161 = extractvalue { ptr, ptr } %160, 1 + %162 = getelementptr inbounds nuw i8, ptr %16, i64 16 + call void @_ZN4llvm15SmallVectorBaseIjEC2EPvm(ptr noundef nonnull align 8 dereferenceable(48) %16, ptr noundef nonnull %162, i64 noundef 8) #18 + %.not428 = icmp ugt i64 %136, %42 + br i1 %.not428, label %._crit_edge, label %.lr.ph -.lr.ph: ; preds = %166 - %172 = getelementptr inbounds nuw i8, ptr %170, i64 32 - br label %173 +.lr.ph: ; preds = %157 + %163 = getelementptr inbounds nuw i8, ptr %161, i64 32 + br label %164 -173: ; preds = %.lr.ph, %_ZN4llvm23SmallVectorTemplateBaseINS_8RegisterELb1EE9push_backES1_.exit - %174 = phi i64 [ 0, %.lr.ph ], [ %188, %_ZN4llvm23SmallVectorTemplateBaseINS_8RegisterELb1EE9push_backES1_.exit ] - %.0122405 = phi i32 [ 0, %.lr.ph ], [ %187, %_ZN4llvm23SmallVectorTemplateBaseINS_8RegisterELb1EE9push_backES1_.exit ] - %175 = load ptr, ptr %172, align 8 - %176 = getelementptr inbounds nuw %"class.llvm::MachineOperand", ptr %175, i64 %174, i32 1 - %177 = load i32, ptr %176, align 4 - %178 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(16) %16) #18 - %179 = add i64 %178, 1 - %180 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE8capacityEv(ptr noundef nonnull align 8 dereferenceable(16) %16) #18 - %.not.i.i.i = icmp ugt i64 %179, %180 - br i1 %.not.i.i.i, label %181, label %_ZN4llvm23SmallVectorTemplateBaseINS_8RegisterELb1EE9push_backES1_.exit - -181: ; preds = %173 - call void @_ZN4llvm15SmallVectorBaseIjE8grow_podEPvmm(ptr noundef nonnull align 8 dereferenceable(16) %16, ptr noundef nonnull %171, i64 noundef %179, i64 noundef 4) #18 +164: ; preds = %.lr.ph, %_ZN4llvm23SmallVectorTemplateBaseINS_8RegisterELb1EE9push_backES1_.exit + %165 = phi i64 [ 0, %.lr.ph ], [ %179, %_ZN4llvm23SmallVectorTemplateBaseINS_8RegisterELb1EE9push_backES1_.exit ] + %.0122406 = phi i32 [ 0, %.lr.ph ], [ %178, %_ZN4llvm23SmallVectorTemplateBaseINS_8RegisterELb1EE9push_backES1_.exit ] + %166 = load ptr, ptr %163, align 8 + %167 = getelementptr inbounds nuw %"class.llvm::MachineOperand", ptr %166, i64 %165, i32 1 + %168 = load i32, ptr %167, align 4 + %169 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(16) %16) #18 + %170 = add i64 %169, 1 + %171 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE8capacityEv(ptr noundef nonnull align 8 dereferenceable(16) %16) #18 + %.not.i.i.i = icmp ugt i64 %170, %171 + br i1 %.not.i.i.i, label %172, label %_ZN4llvm23SmallVectorTemplateBaseINS_8RegisterELb1EE9push_backES1_.exit + +172: ; preds = %164 + call void @_ZN4llvm15SmallVectorBaseIjE8grow_podEPvmm(ptr noundef nonnull align 8 dereferenceable(16) %16, ptr noundef nonnull %162, i64 noundef %170, i64 noundef 4) #18 br label %_ZN4llvm23SmallVectorTemplateBaseINS_8RegisterELb1EE9push_backES1_.exit -_ZN4llvm23SmallVectorTemplateBaseINS_8RegisterELb1EE9push_backES1_.exit: ; preds = %173, %181 - %182 = load ptr, ptr %16, align 8 - %183 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(16) %16) #18 - %184 = getelementptr inbounds %"class.llvm::Register", ptr %182, i64 %183 - store i32 %177, ptr %184, align 1 - %185 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(16) %16) #18 - %186 = add i64 %185, 1 - call void @_ZN4llvm15SmallVectorBaseIjE8set_sizeEm(ptr noundef nonnull align 8 dereferenceable(16) %16, i64 noundef %186) #18 - %187 = add i32 %.0122405, 1 - %188 = zext i32 %187 to i64 - %189 = icmp ugt i64 %138, %188 - br i1 %189, label %173, label %._crit_edge, !llvm.loop !230 - -._crit_edge: ; preds = %_ZN4llvm23SmallVectorTemplateBaseINS_8RegisterELb1EE9push_backES1_.exit, %166 - %.0122.lcssa = phi i32 [ 0, %166 ], [ %187, %_ZN4llvm23SmallVectorTemplateBaseINS_8RegisterELb1EE9push_backES1_.exit ] - %190 = call { i64, i8 } @_ZNK4llvm3LLT13getSizeInBitsEv(ptr noundef nonnull align 8 dereferenceable(8) %11) - %.fca.0.extract57 = extractvalue { i64, i8 } %190, 0 - %.fca.1.extract58 = extractvalue { i64, i8 } %190, 1 +_ZN4llvm23SmallVectorTemplateBaseINS_8RegisterELb1EE9push_backES1_.exit: ; preds = %164, %172 + %173 = load ptr, ptr %16, align 8 + %174 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(16) %16) #18 + %175 = getelementptr inbounds %"class.llvm::Register", ptr %173, i64 %174 + store i32 %168, ptr %175, align 1 + %176 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(16) %16) #18 + %177 = add i64 %176, 1 + call void @_ZN4llvm15SmallVectorBaseIjE8set_sizeEm(ptr noundef nonnull align 8 dereferenceable(16) %16, i64 noundef %177) #18 + %178 = add i32 %.0122406, 1 + %179 = zext i32 %178 to i64 + %180 = icmp ugt i64 %138, %179 + br i1 %180, label %164, label %._crit_edge, !llvm.loop !230 + +._crit_edge: ; preds = %_ZN4llvm23SmallVectorTemplateBaseINS_8RegisterELb1EE9push_backES1_.exit, %157 + %.0122.lcssa = phi i32 [ 0, %157 ], [ %178, %_ZN4llvm23SmallVectorTemplateBaseINS_8RegisterELb1EE9push_backES1_.exit ] + %181 = call { i64, i8 } @_ZNK4llvm3LLT13getSizeInBitsEv(ptr noundef nonnull align 8 dereferenceable(8) %11) + %.fca.0.extract57 = extractvalue { i64, i8 } %181, 0 + %.fca.1.extract58 = extractvalue { i64, i8 } %181, 1 store i64 %.fca.0.extract57, ptr %17, align 8 %.sroa.260.0..sroa_idx = getelementptr inbounds nuw i8, ptr %17, i64 8 store i8 %.fca.1.extract58, ptr %.sroa.260.0..sroa_idx, align 8 - %191 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %17) #18 - %192 = icmp ugt i64 %191, %136 - br i1 %192, label %193, label %220 + %182 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %17) #18 + %183 = icmp ugt i64 %182, %136 + br i1 %183, label %184, label %211 -193: ; preds = %._crit_edge - %194 = load ptr, ptr %0, align 8 +184: ; preds = %._crit_edge + %185 = load ptr, ptr %0, align 8 store i32 %40, ptr %18, align 8 - %195 = getelementptr inbounds nuw i8, ptr %18, i64 16 - store i32 0, ptr %195, align 8 - %196 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder12buildUnmergeENS_3LLTERKNS_5SrcOpE(ptr noundef nonnull align 8 dereferenceable(88) %194, i64 %.sroa.0.0.i, ptr noundef nonnull align 8 dereferenceable(20) %18) #18 - %197 = udiv i64 %147, %136 - %198 = zext i32 %.0122.lcssa to i64 - %199 = icmp ugt i64 %197, %198 - br i1 %199, label %.lr.ph409, label %.loopexit - -.lr.ph409: ; preds = %193 - %200 = extractvalue { ptr, ptr } %196, 1 - %201 = getelementptr inbounds nuw i8, ptr %200, i64 32 - br label %202 + %186 = getelementptr inbounds nuw i8, ptr %18, i64 16 + store i32 0, ptr %186, align 8 + %187 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder12buildUnmergeENS_3LLTERKNS_5SrcOpE(ptr noundef nonnull align 8 dereferenceable(88) %185, i64 %.sroa.0.0.i, ptr noundef nonnull align 8 dereferenceable(20) %18) #18 + %188 = udiv i64 %147, %136 + %189 = zext i32 %.0122.lcssa to i64 + %190 = icmp ugt i64 %188, %189 + br i1 %190, label %.lr.ph410, label %.loopexit + +.lr.ph410: ; preds = %184 + %191 = extractvalue { ptr, ptr } %187, 1 + %192 = getelementptr inbounds nuw i8, ptr %191, i64 32 + br label %193 -202: ; preds = %.lr.ph409, %_ZN4llvm23SmallVectorTemplateBaseINS_8RegisterELb1EE9push_backES1_.exit177 - %.1407 = phi i32 [ %.0122.lcssa, %.lr.ph409 ], [ %216, %_ZN4llvm23SmallVectorTemplateBaseINS_8RegisterELb1EE9push_backES1_.exit177 ] - %.0123406 = phi i32 [ 0, %.lr.ph409 ], [ %217, %_ZN4llvm23SmallVectorTemplateBaseINS_8RegisterELb1EE9push_backES1_.exit177 ] - %203 = load ptr, ptr %201, align 8 - %204 = zext i32 %.0123406 to i64 - %205 = getelementptr inbounds nuw %"class.llvm::MachineOperand", ptr %203, i64 %204, i32 1 - %206 = load i32, ptr %205, align 4 - %207 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(16) %16) #18 - %208 = add i64 %207, 1 - %209 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE8capacityEv(ptr noundef nonnull align 8 dereferenceable(16) %16) #18 - %.not.i.i.i176 = icmp ugt i64 %208, %209 - br i1 %.not.i.i.i176, label %210, label %_ZN4llvm23SmallVectorTemplateBaseINS_8RegisterELb1EE9push_backES1_.exit177 - -210: ; preds = %202 - call void @_ZN4llvm15SmallVectorBaseIjE8grow_podEPvmm(ptr noundef nonnull align 8 dereferenceable(16) %16, ptr noundef nonnull %171, i64 noundef %208, i64 noundef 4) #18 +193: ; preds = %.lr.ph410, %_ZN4llvm23SmallVectorTemplateBaseINS_8RegisterELb1EE9push_backES1_.exit177 + %.1408 = phi i32 [ %.0122.lcssa, %.lr.ph410 ], [ %207, %_ZN4llvm23SmallVectorTemplateBaseINS_8RegisterELb1EE9push_backES1_.exit177 ] + %.0123407 = phi i32 [ 0, %.lr.ph410 ], [ %208, %_ZN4llvm23SmallVectorTemplateBaseINS_8RegisterELb1EE9push_backES1_.exit177 ] + %194 = load ptr, ptr %192, align 8 + %195 = zext i32 %.0123407 to i64 + %196 = getelementptr inbounds nuw %"class.llvm::MachineOperand", ptr %194, i64 %195, i32 1 + %197 = load i32, ptr %196, align 4 + %198 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(16) %16) #18 + %199 = add i64 %198, 1 + %200 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE8capacityEv(ptr noundef nonnull align 8 dereferenceable(16) %16) #18 + %.not.i.i.i176 = icmp ugt i64 %199, %200 + br i1 %.not.i.i.i176, label %201, label %_ZN4llvm23SmallVectorTemplateBaseINS_8RegisterELb1EE9push_backES1_.exit177 + +201: ; preds = %193 + call void @_ZN4llvm15SmallVectorBaseIjE8grow_podEPvmm(ptr noundef nonnull align 8 dereferenceable(16) %16, ptr noundef nonnull %162, i64 noundef %199, i64 noundef 4) #18 br label %_ZN4llvm23SmallVectorTemplateBaseINS_8RegisterELb1EE9push_backES1_.exit177 -_ZN4llvm23SmallVectorTemplateBaseINS_8RegisterELb1EE9push_backES1_.exit177: ; preds = %202, %210 - %211 = load ptr, ptr %16, align 8 - %212 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(16) %16) #18 - %213 = getelementptr inbounds %"class.llvm::Register", ptr %211, i64 %212 - store i32 %206, ptr %213, align 1 - %214 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(16) %16) #18 - %215 = add i64 %214, 1 - call void @_ZN4llvm15SmallVectorBaseIjE8set_sizeEm(ptr noundef nonnull align 8 dereferenceable(16) %16, i64 noundef %215) #18 - %216 = add i32 %.1407, 1 - %217 = add i32 %.0123406, 1 - %218 = zext i32 %216 to i64 - %219 = icmp ugt i64 %197, %218 - br i1 %219, label %202, label %.loopexit, !llvm.loop !231 - -220: ; preds = %._crit_edge +_ZN4llvm23SmallVectorTemplateBaseINS_8RegisterELb1EE9push_backES1_.exit177: ; preds = %193, %201 + %202 = load ptr, ptr %16, align 8 + %203 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(16) %16) #18 + %204 = getelementptr inbounds %"class.llvm::Register", ptr %202, i64 %203 + store i32 %197, ptr %204, align 1 + %205 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(16) %16) #18 + %206 = add i64 %205, 1 + call void @_ZN4llvm15SmallVectorBaseIjE8set_sizeEm(ptr noundef nonnull align 8 dereferenceable(16) %16, i64 noundef %206) #18 + %207 = add i32 %.1408, 1 + %208 = add i32 %.0123407, 1 + %209 = zext i32 %207 to i64 + %210 = icmp ugt i64 %188, %209 + br i1 %210, label %193, label %.loopexit, !llvm.loop !231 + +211: ; preds = %._crit_edge call void @_ZN4llvm23SmallVectorTemplateBaseINS_8RegisterELb1EE9push_backES1_(ptr noundef nonnull align 8 dereferenceable(16) %16, i32 %40) - %221 = add i32 %.0122.lcssa, 1 - %.pre = zext i32 %221 to i64 + %212 = add i32 %.0122.lcssa, 1 + %.pre = zext i32 %212 to i64 br label %.loopexit -.loopexit: ; preds = %_ZN4llvm23SmallVectorTemplateBaseINS_8RegisterELb1EE9push_backES1_.exit177, %193, %220 - %.pre-phi = phi i64 [ %198, %193 ], [ %.pre, %220 ], [ %218, %_ZN4llvm23SmallVectorTemplateBaseINS_8RegisterELb1EE9push_backES1_.exit177 ] - %.2 = phi i32 [ %.0122.lcssa, %193 ], [ %221, %220 ], [ %216, %_ZN4llvm23SmallVectorTemplateBaseINS_8RegisterELb1EE9push_backES1_.exit177 ] - %222 = select i1 %.not.i131, i64 2251799813685248, i64 576460752303423488 - %223 = and i64 %222, %.sroa.04.0.i - %.not.i179 = icmp eq i64 %223, 0 - %224 = trunc i64 %.sroa.04.0.i to i32 - %225 = lshr i32 %224, 3 - %226 = and i32 %225, 65535 - %227 = getelementptr inbounds nuw i8, ptr %170, i64 32 - %umax = call i32 @llvm.umax.i32(i32 %.2, i32 %226) +.loopexit: ; preds = %_ZN4llvm23SmallVectorTemplateBaseINS_8RegisterELb1EE9push_backES1_.exit177, %184, %211 + %.pre-phi = phi i64 [ %189, %184 ], [ %.pre, %211 ], [ %209, %_ZN4llvm23SmallVectorTemplateBaseINS_8RegisterELb1EE9push_backES1_.exit177 ] + %.2 = phi i32 [ %.0122.lcssa, %184 ], [ %212, %211 ], [ %207, %_ZN4llvm23SmallVectorTemplateBaseINS_8RegisterELb1EE9push_backES1_.exit177 ] + %213 = select i1 %.not.i131, i64 2251799813685248, i64 576460752303423488 + %214 = and i64 %213, %.sroa.04.0.i + %.not.i179 = icmp eq i64 %214, 0 + %215 = trunc i64 %.sroa.04.0.i to i32 + %216 = lshr i32 %215, 3 + %217 = and i32 %216, 65535 + %218 = getelementptr inbounds nuw i8, ptr %161, i64 32 + %umax = call i32 @llvm.umax.i32(i32 %.2, i32 %217) %wide.trip.count = zext i32 %umax to i64 - br label %228 + br label %219 -228: ; preds = %_ZN4llvm23SmallVectorTemplateBaseINS_8RegisterELb1EE9push_backES1_.exit181, %.loopexit +219: ; preds = %_ZN4llvm23SmallVectorTemplateBaseINS_8RegisterELb1EE9push_backES1_.exit181, %.loopexit %indvars.iv = phi i64 [ %indvars.iv.next, %_ZN4llvm23SmallVectorTemplateBaseINS_8RegisterELb1EE9push_backES1_.exit181 ], [ %.pre-phi, %.loopexit ] - br i1 %.not.i179, label %_ZNK4llvm3LLT14getNumElementsEv.exit, label %229 + br i1 %.not.i179, label %_ZNK4llvm3LLT14getNumElementsEv.exit, label %220 -229: ; preds = %228 +220: ; preds = %219 call void @_ZN4llvm24reportInvalidSizeRequestEPKc(ptr noundef nonnull @.str.2) #18 br label %_ZNK4llvm3LLT14getNumElementsEv.exit -_ZNK4llvm3LLT14getNumElementsEv.exit: ; preds = %228, %229 +_ZNK4llvm3LLT14getNumElementsEv.exit: ; preds = %219, %220 %exitcond.not = icmp eq i64 %indvars.iv, %wide.trip.count - br i1 %exitcond.not, label %243, label %230 + br i1 %exitcond.not, label %234, label %221 -230: ; preds = %_ZNK4llvm3LLT14getNumElementsEv.exit - %231 = load ptr, ptr %227, align 8 - %232 = getelementptr inbounds nuw %"class.llvm::MachineOperand", ptr %231, i64 %indvars.iv, i32 1 - %233 = load i32, ptr %232, align 4 - %234 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(16) %16) #18 - %235 = add i64 %234, 1 - %236 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE8capacityEv(ptr noundef nonnull align 8 dereferenceable(16) %16) #18 - %.not.i.i.i180 = icmp ugt i64 %235, %236 - br i1 %.not.i.i.i180, label %237, label %_ZN4llvm23SmallVectorTemplateBaseINS_8RegisterELb1EE9push_backES1_.exit181 - -237: ; preds = %230 - call void @_ZN4llvm15SmallVectorBaseIjE8grow_podEPvmm(ptr noundef nonnull align 8 dereferenceable(16) %16, ptr noundef nonnull %171, i64 noundef %235, i64 noundef 4) #18 +221: ; preds = %_ZNK4llvm3LLT14getNumElementsEv.exit + %222 = load ptr, ptr %218, align 8 + %223 = getelementptr inbounds nuw %"class.llvm::MachineOperand", ptr %222, i64 %indvars.iv, i32 1 + %224 = load i32, ptr %223, align 4 + %225 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(16) %16) #18 + %226 = add i64 %225, 1 + %227 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE8capacityEv(ptr noundef nonnull align 8 dereferenceable(16) %16) #18 + %.not.i.i.i180 = icmp ugt i64 %226, %227 + br i1 %.not.i.i.i180, label %228, label %_ZN4llvm23SmallVectorTemplateBaseINS_8RegisterELb1EE9push_backES1_.exit181 + +228: ; preds = %221 + call void @_ZN4llvm15SmallVectorBaseIjE8grow_podEPvmm(ptr noundef nonnull align 8 dereferenceable(16) %16, ptr noundef nonnull %162, i64 noundef %226, i64 noundef 4) #18 br label %_ZN4llvm23SmallVectorTemplateBaseINS_8RegisterELb1EE9push_backES1_.exit181 -_ZN4llvm23SmallVectorTemplateBaseINS_8RegisterELb1EE9push_backES1_.exit181: ; preds = %230, %237 - %238 = load ptr, ptr %16, align 8 - %239 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(16) %16) #18 - %240 = getelementptr inbounds %"class.llvm::Register", ptr %238, i64 %239 - store i32 %233, ptr %240, align 1 - %241 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(16) %16) #18 - %242 = add i64 %241, 1 - call void @_ZN4llvm15SmallVectorBaseIjE8set_sizeEm(ptr noundef nonnull align 8 dereferenceable(16) %16, i64 noundef %242) #18 +_ZN4llvm23SmallVectorTemplateBaseINS_8RegisterELb1EE9push_backES1_.exit181: ; preds = %221, %228 + %229 = load ptr, ptr %16, align 8 + %230 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(16) %16) #18 + %231 = getelementptr inbounds %"class.llvm::Register", ptr %229, i64 %230 + store i32 %224, ptr %231, align 1 + %232 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(16) %16) #18 + %233 = add i64 %232, 1 + call void @_ZN4llvm15SmallVectorBaseIjE8set_sizeEm(ptr noundef nonnull align 8 dereferenceable(16) %16, i64 noundef %233) #18 %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 - br label %228, !llvm.loop !232 + br label %219, !llvm.loop !232 -243: ; preds = %_ZNK4llvm3LLT14getNumElementsEv.exit - %244 = load ptr, ptr %0, align 8 +234: ; preds = %_ZNK4llvm3LLT14getNumElementsEv.exit + %235 = load ptr, ptr %0, align 8 store i32 %36, ptr %19, align 8 - %245 = getelementptr inbounds nuw i8, ptr %19, i64 8 - store i32 1, ptr %245, align 8 - %246 = load ptr, ptr %16, align 8 - %247 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(16) %16) #18 - %248 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder19buildMergeLikeInstrERKNS_5DstOpENS_8ArrayRefINS_8RegisterEEE(ptr noundef nonnull align 8 dereferenceable(88) %244, ptr noundef nonnull align 8 dereferenceable(12) %19, ptr %246, i64 %247) #18 + %236 = getelementptr inbounds nuw i8, ptr %19, i64 8 + store i32 1, ptr %236, align 8 + %237 = load ptr, ptr %16, align 8 + %238 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(16) %16) #18 + %239 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder19buildMergeLikeInstrERKNS_5DstOpENS_8ArrayRefINS_8RegisterEEE(ptr noundef nonnull align 8 dereferenceable(88) %235, ptr noundef nonnull align 8 dereferenceable(12) %19, ptr %237, i64 %238) #18 call void @_ZN4llvm12MachineInstr15eraseFromParentEv(ptr noundef nonnull align 8 dereferenceable(70) %1) #18 call void @_ZN4llvm11SmallVectorINS_8RegisterELj8EED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %16) #18 br label %.critedge2 .critedge: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit175, %_ZNK4llvm3LLT13getSizeInBitsEv.exit155, %140 - %249 = icmp ne i64 %76, 0 - %250 = and i1 %spec.select.i.i130, %249 - br i1 %250, label %.critedge2, label %.critedge.thread440 + %240 = icmp ne i64 %76, 0 + %241 = and i1 %spec.select.i.i130, %240 + br i1 %241, label %.critedge2, label %.critedge.thread441 .critedge.thread: ; preds = %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit129 - %251 = and i64 %68, 4 - %252 = icmp ne i64 %251, 0 - %253 = and i1 %spec.select.i.i130, %252 - br i1 %253, label %.critedge2, label %.critedge.thread..critedge4_crit_edge + %242 = and i64 %68, 4 + %243 = icmp ne i64 %242, 0 + %244 = and i1 %spec.select.i.i130, %243 + br i1 %244, label %.critedge2, label %.critedge.thread..critedge4_crit_edge .critedge.thread..critedge4_crit_edge: ; preds = %.critedge.thread - %.pre438 = and i64 %.sroa.04.0.i, 2 + %.pre439 = and i64 %.sroa.04.0.i, 2 br label %.critedge4 -.critedge.thread440: ; preds = %74, %.critedge - %254 = and i64 %.sroa.04.0.i, 2 - %.not.i184 = icmp eq i64 %254, 0 - %255 = and i64 %.sroa.04.0.i, 1 - %.not.i3.i194 = icmp eq i64 %255, 0 +.critedge.thread441: ; preds = %74, %.critedge + %245 = and i64 %.sroa.04.0.i, 2 + %.not.i184 = icmp eq i64 %245, 0 + %246 = and i64 %.sroa.04.0.i, 1 + %.not.i3.i194 = icmp eq i64 %246, 0 %.0.in.i4.i196.v = select i1 %.not.i3.i194, i64 19, i64 3 %.0.in.i4.i196 = lshr i64 %.sroa.04.0.i, %.0.in.i4.i196.v br i1 %.not.i184, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit9.i195, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit.i185 -_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit.i185: ; preds = %.critedge.thread440 - %256 = lshr i64 %.sroa.04.0.i, 16 - %257 = and i64 %256, 8796092497920 - %258 = shl nuw i64 %.0.in.i4.i196, 3 - %259 = and i64 %258, 524280 - %260 = or disjoint i64 %257, %259 - %261 = or disjoint i64 %260, 2 +_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit.i185: ; preds = %.critedge.thread441 + %247 = lshr i64 %.sroa.04.0.i, 16 + %248 = and i64 %247, 8796092497920 + %249 = shl nuw i64 %.0.in.i4.i196, 3 + %250 = and i64 %249, 524280 + %251 = or disjoint i64 %248, %250 + %252 = or disjoint i64 %251, 2 br label %_ZNK4llvm3LLT14getElementTypeEv.exit198 -_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit9.i195: ; preds = %.critedge.thread440 - %262 = shl nuw i64 %.0.in.i4.i196, 3 - %263 = and i64 %262, 34359738360 - %264 = or disjoint i64 %263, 1 +_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit9.i195: ; preds = %.critedge.thread441 + %253 = shl nuw i64 %.0.in.i4.i196, 3 + %254 = and i64 %253, 34359738360 + %255 = or disjoint i64 %254, 1 br label %_ZNK4llvm3LLT14getElementTypeEv.exit198 _ZNK4llvm3LLT14getElementTypeEv.exit198: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit.i185, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit9.i195 - %.sroa.0.0.i193 = phi i64 [ %261, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit.i185 ], [ %264, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit9.i195 ] + %.sroa.0.0.i193 = phi i64 [ %252, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit.i185 ], [ %255, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit9.i195 ] %spec.select.i.i199.not = icmp eq i64 %.sroa.0.0.i193, %68 br i1 %spec.select.i.i199.not, label %.critedge4, label %.critedge2 .critedge4: ; preds = %.critedge.thread..critedge4_crit_edge, %_ZNK4llvm3LLT14getElementTypeEv.exit198 - %.pre-phi439 = phi i64 [ %.pre438, %.critedge.thread..critedge4_crit_edge ], [ %254, %_ZNK4llvm3LLT14getElementTypeEv.exit198 ] - %265 = load ptr, ptr %0, align 8 - %266 = getelementptr inbounds nuw i8, ptr %265, i64 8 - %267 = load ptr, ptr %266, align 8 - %268 = load ptr, ptr %267, align 8 - %269 = call noundef nonnull align 8 dereferenceable(512) ptr @_ZNK4llvm8Function13getDataLayoutEv(ptr noundef nonnull align 8 dereferenceable(136) %268) #18 - %.not.i201.not = icmp eq i64 %.pre-phi439, 0 - %270 = and i64 %.sroa.04.0.i, 6 - %271 = icmp eq i64 %270, 2 - %or.cond397 = and i1 %spec.select.i.i, %271 - br i1 %or.cond397, label %272, label %_ZNK4llvm3LLT9isPointerEv.exit204.thread - -272: ; preds = %.critedge4 + %.pre-phi440 = phi i64 [ %.pre439, %.critedge.thread..critedge4_crit_edge ], [ %245, %_ZNK4llvm3LLT14getElementTypeEv.exit198 ] + %256 = load ptr, ptr %0, align 8 + %257 = getelementptr inbounds nuw i8, ptr %256, i64 8 + %258 = load ptr, ptr %257, align 8 + %259 = load ptr, ptr %258, align 8 + %260 = call noundef nonnull align 8 dereferenceable(512) ptr @_ZNK4llvm8Function13getDataLayoutEv(ptr noundef nonnull align 8 dereferenceable(136) %259) #18 + %.not.i201.not = icmp eq i64 %.pre-phi440, 0 + %261 = and i64 %.sroa.04.0.i, 6 + %262 = icmp eq i64 %261, 2 + %or.cond397 = and i1 %spec.select.i.i, %262 + br i1 %or.cond397, label %263, label %_ZNK4llvm3LLT9isPointerEv.exit204.thread + +263: ; preds = %.critedge4 %.0.in.in.i = lshr i64 %.sroa.04.0.i, 19 - %273 = trunc i64 %.0.in.in.i to i32 - %.0.i = and i32 %273, 16777215 - %274 = getelementptr inbounds nuw i8, ptr %269, i64 464 - %275 = load ptr, ptr %274, align 8 - %276 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(16) %274) #18 - %.idx4.i.i = shl nsw i64 %276, 2 - %277 = getelementptr inbounds i8, ptr %275, i64 %.idx4.i.i - %278 = ashr i64 %276, 2 - %279 = icmp sgt i64 %278, 0 - br i1 %279, label %.lr.ph.i.i.i.i.i, label %._crit_edge.i.i.i.i.i - -.lr.ph.i.i.i.i.i: ; preds = %272 - %280 = and i64 %.idx4.i.i, -16 - %scevgep.i.i.i.i.i = getelementptr i8, ptr %275, i64 %280 - br label %281 - -281: ; preds = %296, %.lr.ph.i.i.i.i.i - %.047.i.i.i.i.i = phi i64 [ %278, %.lr.ph.i.i.i.i.i ], [ %298, %296 ] - %.02946.i.i.i.i.i = phi ptr [ %275, %.lr.ph.i.i.i.i.i ], [ %297, %296 ] - %282 = load i32, ptr %.02946.i.i.i.i.i, align 4 - %283 = icmp eq i32 %282, %.0.i - br i1 %283, label %_ZNK4llvm10DataLayout25isNonIntegralAddressSpaceEj.exit, label %284 - -284: ; preds = %281 - %285 = getelementptr inbounds nuw i8, ptr %.02946.i.i.i.i.i, i64 4 - %286 = load i32, ptr %285, align 4 - %287 = icmp eq i32 %286, %.0.i - br i1 %287, label %_ZNK4llvm10DataLayout25isNonIntegralAddressSpaceEj.exit.loopexit.split.loop.exit, label %288 - -288: ; preds = %284 - %289 = getelementptr inbounds nuw i8, ptr %.02946.i.i.i.i.i, i64 8 - %290 = load i32, ptr %289, align 4 - %291 = icmp eq i32 %290, %.0.i - br i1 %291, label %_ZNK4llvm10DataLayout25isNonIntegralAddressSpaceEj.exit.loopexit.split.loop.exit443, label %292 - -292: ; preds = %288 - %293 = getelementptr inbounds nuw i8, ptr %.02946.i.i.i.i.i, i64 12 - %294 = load i32, ptr %293, align 4 - %295 = icmp eq i32 %294, %.0.i - br i1 %295, label %_ZNK4llvm10DataLayout25isNonIntegralAddressSpaceEj.exit.loopexit.split.loop.exit445, label %296 + %264 = trunc i64 %.0.in.in.i to i32 + %.0.i = and i32 %264, 16777215 + %265 = getelementptr inbounds nuw i8, ptr %260, i64 464 + %266 = load ptr, ptr %265, align 8 + %267 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(16) %265) #18 + %.idx4.i.i = shl nsw i64 %267, 2 + %268 = getelementptr inbounds i8, ptr %266, i64 %.idx4.i.i + %269 = ashr i64 %267, 2 + %270 = icmp sgt i64 %269, 0 + br i1 %270, label %.lr.ph.i.i.i.i.i, label %._crit_edge.i.i.i.i.i + +.lr.ph.i.i.i.i.i: ; preds = %263 + %271 = and i64 %.idx4.i.i, -16 + %scevgep.i.i.i.i.i = getelementptr i8, ptr %266, i64 %271 + br label %272 + +272: ; preds = %287, %.lr.ph.i.i.i.i.i + %.047.i.i.i.i.i = phi i64 [ %269, %.lr.ph.i.i.i.i.i ], [ %289, %287 ] + %.02946.i.i.i.i.i = phi ptr [ %266, %.lr.ph.i.i.i.i.i ], [ %288, %287 ] + %273 = load i32, ptr %.02946.i.i.i.i.i, align 4 + %274 = icmp eq i32 %273, %.0.i + br i1 %274, label %_ZNK4llvm10DataLayout25isNonIntegralAddressSpaceEj.exit, label %275 + +275: ; preds = %272 + %276 = getelementptr inbounds nuw i8, ptr %.02946.i.i.i.i.i, i64 4 + %277 = load i32, ptr %276, align 4 + %278 = icmp eq i32 %277, %.0.i + br i1 %278, label %_ZNK4llvm10DataLayout25isNonIntegralAddressSpaceEj.exit.loopexit.split.loop.exit, label %279 + +279: ; preds = %275 + %280 = getelementptr inbounds nuw i8, ptr %.02946.i.i.i.i.i, i64 8 + %281 = load i32, ptr %280, align 4 + %282 = icmp eq i32 %281, %.0.i + br i1 %282, label %_ZNK4llvm10DataLayout25isNonIntegralAddressSpaceEj.exit.loopexit.split.loop.exit444, label %283 + +283: ; preds = %279 + %284 = getelementptr inbounds nuw i8, ptr %.02946.i.i.i.i.i, i64 12 + %285 = load i32, ptr %284, align 4 + %286 = icmp eq i32 %285, %.0.i + br i1 %286, label %_ZNK4llvm10DataLayout25isNonIntegralAddressSpaceEj.exit.loopexit.split.loop.exit446, label %287 -296: ; preds = %292 - %297 = getelementptr inbounds nuw i8, ptr %.02946.i.i.i.i.i, i64 16 - %298 = add nsw i64 %.047.i.i.i.i.i, -1 - %299 = icmp sgt i64 %.047.i.i.i.i.i, 1 - br i1 %299, label %281, label %._crit_edge.loopexit.i.i.i.i.i, !llvm.loop !129 +287: ; preds = %283 + %288 = getelementptr inbounds nuw i8, ptr %.02946.i.i.i.i.i, i64 16 + %289 = add nsw i64 %.047.i.i.i.i.i, -1 + %290 = icmp sgt i64 %.047.i.i.i.i.i, 1 + br i1 %290, label %272, label %._crit_edge.loopexit.i.i.i.i.i, !llvm.loop !129 -._crit_edge.loopexit.i.i.i.i.i: ; preds = %296 - %300 = and i64 %276, 3 +._crit_edge.loopexit.i.i.i.i.i: ; preds = %287 + %291 = and i64 %267, 3 br label %._crit_edge.i.i.i.i.i -._crit_edge.i.i.i.i.i: ; preds = %._crit_edge.loopexit.i.i.i.i.i, %272 - %.pre-phi56.i.i.i.i.i = phi i64 [ %300, %._crit_edge.loopexit.i.i.i.i.i ], [ %276, %272 ] - %.029.lcssa.i.i.i.i.i = phi ptr [ %scevgep.i.i.i.i.i, %._crit_edge.loopexit.i.i.i.i.i ], [ %275, %272 ] +._crit_edge.i.i.i.i.i: ; preds = %._crit_edge.loopexit.i.i.i.i.i, %263 + %.pre-phi56.i.i.i.i.i = phi i64 [ %291, %._crit_edge.loopexit.i.i.i.i.i ], [ %267, %263 ] + %.029.lcssa.i.i.i.i.i = phi ptr [ %scevgep.i.i.i.i.i, %._crit_edge.loopexit.i.i.i.i.i ], [ %266, %263 ] switch i64 %.pre-phi56.i.i.i.i.i, label %_ZNK4llvm3LLT9isPointerEv.exit204.thread [ - i64 3, label %301 + i64 3, label %292 i64 2, label %._crit_edge._crit_edge.i.i.i.i.i i64 1, label %._crit_edge._crit_edge52.i.i.i.i.i ] -301: ; preds = %._crit_edge.i.i.i.i.i - %302 = load i32, ptr %.029.lcssa.i.i.i.i.i, align 4 - %303 = icmp eq i32 %302, %.0.i - br i1 %303, label %_ZNK4llvm10DataLayout25isNonIntegralAddressSpaceEj.exit, label %304 +292: ; preds = %._crit_edge.i.i.i.i.i + %293 = load i32, ptr %.029.lcssa.i.i.i.i.i, align 4 + %294 = icmp eq i32 %293, %.0.i + br i1 %294, label %_ZNK4llvm10DataLayout25isNonIntegralAddressSpaceEj.exit, label %295 -304: ; preds = %301 - %305 = getelementptr inbounds nuw i8, ptr %.029.lcssa.i.i.i.i.i, i64 4 +295: ; preds = %292 + %296 = getelementptr inbounds nuw i8, ptr %.029.lcssa.i.i.i.i.i, i64 4 br label %._crit_edge._crit_edge.i.i.i.i.i -._crit_edge._crit_edge.i.i.i.i.i: ; preds = %304, %._crit_edge.i.i.i.i.i - %.1.i.i.i.i.i = phi ptr [ %305, %304 ], [ %.029.lcssa.i.i.i.i.i, %._crit_edge.i.i.i.i.i ] - %306 = load i32, ptr %.1.i.i.i.i.i, align 4 - %307 = icmp eq i32 %306, %.0.i - br i1 %307, label %_ZNK4llvm10DataLayout25isNonIntegralAddressSpaceEj.exit, label %308 +._crit_edge._crit_edge.i.i.i.i.i: ; preds = %295, %._crit_edge.i.i.i.i.i + %.1.i.i.i.i.i = phi ptr [ %296, %295 ], [ %.029.lcssa.i.i.i.i.i, %._crit_edge.i.i.i.i.i ] + %297 = load i32, ptr %.1.i.i.i.i.i, align 4 + %298 = icmp eq i32 %297, %.0.i + br i1 %298, label %_ZNK4llvm10DataLayout25isNonIntegralAddressSpaceEj.exit, label %299 -308: ; preds = %._crit_edge._crit_edge.i.i.i.i.i - %309 = getelementptr inbounds nuw i8, ptr %.1.i.i.i.i.i, i64 4 +299: ; preds = %._crit_edge._crit_edge.i.i.i.i.i + %300 = getelementptr inbounds nuw i8, ptr %.1.i.i.i.i.i, i64 4 br label %._crit_edge._crit_edge52.i.i.i.i.i -._crit_edge._crit_edge52.i.i.i.i.i: ; preds = %308, %._crit_edge.i.i.i.i.i - %.2.i.i.i.i.i = phi ptr [ %309, %308 ], [ %.029.lcssa.i.i.i.i.i, %._crit_edge.i.i.i.i.i ] - %310 = load i32, ptr %.2.i.i.i.i.i, align 4 - %311 = icmp eq i32 %310, %.0.i - br i1 %311, label %_ZNK4llvm10DataLayout25isNonIntegralAddressSpaceEj.exit, label %_ZNK4llvm3LLT9isPointerEv.exit204.thread +._crit_edge._crit_edge52.i.i.i.i.i: ; preds = %299, %._crit_edge.i.i.i.i.i + %.2.i.i.i.i.i = phi ptr [ %300, %299 ], [ %.029.lcssa.i.i.i.i.i, %._crit_edge.i.i.i.i.i ] + %301 = load i32, ptr %.2.i.i.i.i.i, align 4 + %302 = icmp eq i32 %301, %.0.i + br i1 %302, label %_ZNK4llvm10DataLayout25isNonIntegralAddressSpaceEj.exit, label %_ZNK4llvm3LLT9isPointerEv.exit204.thread -_ZNK4llvm10DataLayout25isNonIntegralAddressSpaceEj.exit.loopexit.split.loop.exit: ; preds = %284 - %312 = getelementptr inbounds nuw i8, ptr %.02946.i.i.i.i.i, i64 4 +_ZNK4llvm10DataLayout25isNonIntegralAddressSpaceEj.exit.loopexit.split.loop.exit: ; preds = %275 + %303 = getelementptr inbounds nuw i8, ptr %.02946.i.i.i.i.i, i64 4 br label %_ZNK4llvm10DataLayout25isNonIntegralAddressSpaceEj.exit -_ZNK4llvm10DataLayout25isNonIntegralAddressSpaceEj.exit.loopexit.split.loop.exit443: ; preds = %288 - %313 = getelementptr inbounds nuw i8, ptr %.02946.i.i.i.i.i, i64 8 +_ZNK4llvm10DataLayout25isNonIntegralAddressSpaceEj.exit.loopexit.split.loop.exit444: ; preds = %279 + %304 = getelementptr inbounds nuw i8, ptr %.02946.i.i.i.i.i, i64 8 br label %_ZNK4llvm10DataLayout25isNonIntegralAddressSpaceEj.exit -_ZNK4llvm10DataLayout25isNonIntegralAddressSpaceEj.exit.loopexit.split.loop.exit445: ; preds = %292 - %314 = getelementptr inbounds nuw i8, ptr %.02946.i.i.i.i.i, i64 12 +_ZNK4llvm10DataLayout25isNonIntegralAddressSpaceEj.exit.loopexit.split.loop.exit446: ; preds = %283 + %305 = getelementptr inbounds nuw i8, ptr %.02946.i.i.i.i.i, i64 12 br label %_ZNK4llvm10DataLayout25isNonIntegralAddressSpaceEj.exit -_ZNK4llvm10DataLayout25isNonIntegralAddressSpaceEj.exit: ; preds = %281, %_ZNK4llvm10DataLayout25isNonIntegralAddressSpaceEj.exit.loopexit.split.loop.exit, %_ZNK4llvm10DataLayout25isNonIntegralAddressSpaceEj.exit.loopexit.split.loop.exit443, %_ZNK4llvm10DataLayout25isNonIntegralAddressSpaceEj.exit.loopexit.split.loop.exit445, %301, %._crit_edge._crit_edge.i.i.i.i.i, %._crit_edge._crit_edge52.i.i.i.i.i - %.028.i.i.i.i.i = phi ptr [ %.029.lcssa.i.i.i.i.i, %301 ], [ %.1.i.i.i.i.i, %._crit_edge._crit_edge.i.i.i.i.i ], [ %.2.i.i.i.i.i, %._crit_edge._crit_edge52.i.i.i.i.i ], [ %312, %_ZNK4llvm10DataLayout25isNonIntegralAddressSpaceEj.exit.loopexit.split.loop.exit ], [ %313, %_ZNK4llvm10DataLayout25isNonIntegralAddressSpaceEj.exit.loopexit.split.loop.exit443 ], [ %314, %_ZNK4llvm10DataLayout25isNonIntegralAddressSpaceEj.exit.loopexit.split.loop.exit445 ], [ %.02946.i.i.i.i.i, %281 ] - %.not401 = icmp eq ptr %.028.i.i.i.i.i, %277 - br i1 %.not401, label %_ZNK4llvm3LLT9isPointerEv.exit204.thread, label %.critedge2 +_ZNK4llvm10DataLayout25isNonIntegralAddressSpaceEj.exit: ; preds = %272, %_ZNK4llvm10DataLayout25isNonIntegralAddressSpaceEj.exit.loopexit.split.loop.exit, %_ZNK4llvm10DataLayout25isNonIntegralAddressSpaceEj.exit.loopexit.split.loop.exit444, %_ZNK4llvm10DataLayout25isNonIntegralAddressSpaceEj.exit.loopexit.split.loop.exit446, %292, %._crit_edge._crit_edge.i.i.i.i.i, %._crit_edge._crit_edge52.i.i.i.i.i + %.028.i.i.i.i.i = phi ptr [ %.029.lcssa.i.i.i.i.i, %292 ], [ %.1.i.i.i.i.i, %._crit_edge._crit_edge.i.i.i.i.i ], [ %.2.i.i.i.i.i, %._crit_edge._crit_edge52.i.i.i.i.i ], [ %303, %_ZNK4llvm10DataLayout25isNonIntegralAddressSpaceEj.exit.loopexit.split.loop.exit ], [ %304, %_ZNK4llvm10DataLayout25isNonIntegralAddressSpaceEj.exit.loopexit.split.loop.exit444 ], [ %305, %_ZNK4llvm10DataLayout25isNonIntegralAddressSpaceEj.exit.loopexit.split.loop.exit446 ], [ %.02946.i.i.i.i.i, %272 ] + %.not402 = icmp eq ptr %.028.i.i.i.i.i, %268 + br i1 %.not402, label %_ZNK4llvm3LLT9isPointerEv.exit204.thread, label %.critedge2 _ZNK4llvm3LLT9isPointerEv.exit204.thread: ; preds = %._crit_edge._crit_edge52.i.i.i.i.i, %._crit_edge.i.i.i.i.i, %.critedge4, %_ZNK4llvm10DataLayout25isNonIntegralAddressSpaceEj.exit - %315 = and i64 %68, -7 - %spec.select.i.i206 = icmp ne i64 %315, 0 - %316 = and i64 %68, 6 - %317 = icmp eq i64 %316, 2 - %or.cond398 = and i1 %spec.select.i.i206, %317 - br i1 %or.cond398, label %318, label %_ZNK4llvm3LLT9isPointerEv.exit210.thread - -318: ; preds = %_ZNK4llvm3LLT9isPointerEv.exit204.thread + %306 = and i64 %68, -7 + %spec.select.i.i206 = icmp ne i64 %306, 0 + %307 = and i64 %68, 6 + %308 = icmp eq i64 %307, 2 + %or.cond398 = and i1 %spec.select.i.i206, %308 + br i1 %or.cond398, label %309, label %_ZNK4llvm3LLT9isPointerEv.exit210.thread + +309: ; preds = %_ZNK4llvm3LLT9isPointerEv.exit204.thread %.0.in.in.i213 = lshr i64 %68, 19 - %319 = trunc i64 %.0.in.in.i213 to i32 - %.0.i214 = and i32 %319, 16777215 - %320 = getelementptr inbounds nuw i8, ptr %269, i64 464 - %321 = load ptr, ptr %320, align 8 - %322 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(16) %320) #18 - %.idx4.i.i215 = shl nsw i64 %322, 2 - %323 = getelementptr inbounds i8, ptr %321, i64 %.idx4.i.i215 - %324 = ashr i64 %322, 2 - %325 = icmp sgt i64 %324, 0 - br i1 %325, label %.lr.ph.i.i.i.i.i224, label %._crit_edge.i.i.i.i.i216 - -.lr.ph.i.i.i.i.i224: ; preds = %318 - %326 = and i64 %.idx4.i.i215, -16 - %scevgep.i.i.i.i.i225 = getelementptr i8, ptr %321, i64 %326 - br label %327 - -327: ; preds = %342, %.lr.ph.i.i.i.i.i224 - %.047.i.i.i.i.i226 = phi i64 [ %324, %.lr.ph.i.i.i.i.i224 ], [ %344, %342 ] - %.02946.i.i.i.i.i227 = phi ptr [ %321, %.lr.ph.i.i.i.i.i224 ], [ %343, %342 ] - %328 = load i32, ptr %.02946.i.i.i.i.i227, align 4 - %329 = icmp eq i32 %328, %.0.i214 - br i1 %329, label %_ZNK4llvm10DataLayout25isNonIntegralAddressSpaceEj.exit232, label %330 - -330: ; preds = %327 - %331 = getelementptr inbounds nuw i8, ptr %.02946.i.i.i.i.i227, i64 4 - %332 = load i32, ptr %331, align 4 - %333 = icmp eq i32 %332, %.0.i214 - br i1 %333, label %_ZNK4llvm10DataLayout25isNonIntegralAddressSpaceEj.exit232.loopexit.split.loop.exit, label %334 - -334: ; preds = %330 - %335 = getelementptr inbounds nuw i8, ptr %.02946.i.i.i.i.i227, i64 8 - %336 = load i32, ptr %335, align 4 - %337 = icmp eq i32 %336, %.0.i214 - br i1 %337, label %_ZNK4llvm10DataLayout25isNonIntegralAddressSpaceEj.exit232.loopexit.split.loop.exit451, label %338 - -338: ; preds = %334 - %339 = getelementptr inbounds nuw i8, ptr %.02946.i.i.i.i.i227, i64 12 - %340 = load i32, ptr %339, align 4 - %341 = icmp eq i32 %340, %.0.i214 - br i1 %341, label %_ZNK4llvm10DataLayout25isNonIntegralAddressSpaceEj.exit232.loopexit.split.loop.exit453, label %342 - -342: ; preds = %338 - %343 = getelementptr inbounds nuw i8, ptr %.02946.i.i.i.i.i227, i64 16 - %344 = add nsw i64 %.047.i.i.i.i.i226, -1 - %345 = icmp sgt i64 %.047.i.i.i.i.i226, 1 - br i1 %345, label %327, label %._crit_edge.loopexit.i.i.i.i.i228, !llvm.loop !129 - -._crit_edge.loopexit.i.i.i.i.i228: ; preds = %342 - %346 = and i64 %322, 3 + %310 = trunc i64 %.0.in.in.i213 to i32 + %.0.i214 = and i32 %310, 16777215 + %311 = getelementptr inbounds nuw i8, ptr %260, i64 464 + %312 = load ptr, ptr %311, align 8 + %313 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(16) %311) #18 + %.idx4.i.i215 = shl nsw i64 %313, 2 + %314 = getelementptr inbounds i8, ptr %312, i64 %.idx4.i.i215 + %315 = ashr i64 %313, 2 + %316 = icmp sgt i64 %315, 0 + br i1 %316, label %.lr.ph.i.i.i.i.i224, label %._crit_edge.i.i.i.i.i216 + +.lr.ph.i.i.i.i.i224: ; preds = %309 + %317 = and i64 %.idx4.i.i215, -16 + %scevgep.i.i.i.i.i225 = getelementptr i8, ptr %312, i64 %317 + br label %318 + +318: ; preds = %333, %.lr.ph.i.i.i.i.i224 + %.047.i.i.i.i.i226 = phi i64 [ %315, %.lr.ph.i.i.i.i.i224 ], [ %335, %333 ] + %.02946.i.i.i.i.i227 = phi ptr [ %312, %.lr.ph.i.i.i.i.i224 ], [ %334, %333 ] + %319 = load i32, ptr %.02946.i.i.i.i.i227, align 4 + %320 = icmp eq i32 %319, %.0.i214 + br i1 %320, label %_ZNK4llvm10DataLayout25isNonIntegralAddressSpaceEj.exit232, label %321 + +321: ; preds = %318 + %322 = getelementptr inbounds nuw i8, ptr %.02946.i.i.i.i.i227, i64 4 + %323 = load i32, ptr %322, align 4 + %324 = icmp eq i32 %323, %.0.i214 + br i1 %324, label %_ZNK4llvm10DataLayout25isNonIntegralAddressSpaceEj.exit232.loopexit.split.loop.exit, label %325 + +325: ; preds = %321 + %326 = getelementptr inbounds nuw i8, ptr %.02946.i.i.i.i.i227, i64 8 + %327 = load i32, ptr %326, align 4 + %328 = icmp eq i32 %327, %.0.i214 + br i1 %328, label %_ZNK4llvm10DataLayout25isNonIntegralAddressSpaceEj.exit232.loopexit.split.loop.exit452, label %329 + +329: ; preds = %325 + %330 = getelementptr inbounds nuw i8, ptr %.02946.i.i.i.i.i227, i64 12 + %331 = load i32, ptr %330, align 4 + %332 = icmp eq i32 %331, %.0.i214 + br i1 %332, label %_ZNK4llvm10DataLayout25isNonIntegralAddressSpaceEj.exit232.loopexit.split.loop.exit454, label %333 + +333: ; preds = %329 + %334 = getelementptr inbounds nuw i8, ptr %.02946.i.i.i.i.i227, i64 16 + %335 = add nsw i64 %.047.i.i.i.i.i226, -1 + %336 = icmp sgt i64 %.047.i.i.i.i.i226, 1 + br i1 %336, label %318, label %._crit_edge.loopexit.i.i.i.i.i228, !llvm.loop !129 + +._crit_edge.loopexit.i.i.i.i.i228: ; preds = %333 + %337 = and i64 %313, 3 br label %._crit_edge.i.i.i.i.i216 -._crit_edge.i.i.i.i.i216: ; preds = %._crit_edge.loopexit.i.i.i.i.i228, %318 - %.pre-phi56.i.i.i.i.i217 = phi i64 [ %346, %._crit_edge.loopexit.i.i.i.i.i228 ], [ %322, %318 ] - %.029.lcssa.i.i.i.i.i218 = phi ptr [ %scevgep.i.i.i.i.i225, %._crit_edge.loopexit.i.i.i.i.i228 ], [ %321, %318 ] +._crit_edge.i.i.i.i.i216: ; preds = %._crit_edge.loopexit.i.i.i.i.i228, %309 + %.pre-phi56.i.i.i.i.i217 = phi i64 [ %337, %._crit_edge.loopexit.i.i.i.i.i228 ], [ %313, %309 ] + %.029.lcssa.i.i.i.i.i218 = phi ptr [ %scevgep.i.i.i.i.i225, %._crit_edge.loopexit.i.i.i.i.i228 ], [ %312, %309 ] switch i64 %.pre-phi56.i.i.i.i.i217, label %_ZNK4llvm3LLT9isPointerEv.exit210.thread [ - i64 3, label %347 + i64 3, label %338 i64 2, label %._crit_edge._crit_edge.i.i.i.i.i222 i64 1, label %._crit_edge._crit_edge52.i.i.i.i.i219 ] -347: ; preds = %._crit_edge.i.i.i.i.i216 - %348 = load i32, ptr %.029.lcssa.i.i.i.i.i218, align 4 - %349 = icmp eq i32 %348, %.0.i214 - br i1 %349, label %_ZNK4llvm10DataLayout25isNonIntegralAddressSpaceEj.exit232, label %350 +338: ; preds = %._crit_edge.i.i.i.i.i216 + %339 = load i32, ptr %.029.lcssa.i.i.i.i.i218, align 4 + %340 = icmp eq i32 %339, %.0.i214 + br i1 %340, label %_ZNK4llvm10DataLayout25isNonIntegralAddressSpaceEj.exit232, label %341 -350: ; preds = %347 - %351 = getelementptr inbounds nuw i8, ptr %.029.lcssa.i.i.i.i.i218, i64 4 +341: ; preds = %338 + %342 = getelementptr inbounds nuw i8, ptr %.029.lcssa.i.i.i.i.i218, i64 4 br label %._crit_edge._crit_edge.i.i.i.i.i222 -._crit_edge._crit_edge.i.i.i.i.i222: ; preds = %350, %._crit_edge.i.i.i.i.i216 - %.1.i.i.i.i.i223 = phi ptr [ %351, %350 ], [ %.029.lcssa.i.i.i.i.i218, %._crit_edge.i.i.i.i.i216 ] - %352 = load i32, ptr %.1.i.i.i.i.i223, align 4 - %353 = icmp eq i32 %352, %.0.i214 - br i1 %353, label %_ZNK4llvm10DataLayout25isNonIntegralAddressSpaceEj.exit232, label %354 +._crit_edge._crit_edge.i.i.i.i.i222: ; preds = %341, %._crit_edge.i.i.i.i.i216 + %.1.i.i.i.i.i223 = phi ptr [ %342, %341 ], [ %.029.lcssa.i.i.i.i.i218, %._crit_edge.i.i.i.i.i216 ] + %343 = load i32, ptr %.1.i.i.i.i.i223, align 4 + %344 = icmp eq i32 %343, %.0.i214 + br i1 %344, label %_ZNK4llvm10DataLayout25isNonIntegralAddressSpaceEj.exit232, label %345 -354: ; preds = %._crit_edge._crit_edge.i.i.i.i.i222 - %355 = getelementptr inbounds nuw i8, ptr %.1.i.i.i.i.i223, i64 4 +345: ; preds = %._crit_edge._crit_edge.i.i.i.i.i222 + %346 = getelementptr inbounds nuw i8, ptr %.1.i.i.i.i.i223, i64 4 br label %._crit_edge._crit_edge52.i.i.i.i.i219 -._crit_edge._crit_edge52.i.i.i.i.i219: ; preds = %354, %._crit_edge.i.i.i.i.i216 - %.2.i.i.i.i.i220 = phi ptr [ %355, %354 ], [ %.029.lcssa.i.i.i.i.i218, %._crit_edge.i.i.i.i.i216 ] - %356 = load i32, ptr %.2.i.i.i.i.i220, align 4 - %357 = icmp eq i32 %356, %.0.i214 - br i1 %357, label %_ZNK4llvm10DataLayout25isNonIntegralAddressSpaceEj.exit232, label %_ZNK4llvm3LLT9isPointerEv.exit210.thread +._crit_edge._crit_edge52.i.i.i.i.i219: ; preds = %345, %._crit_edge.i.i.i.i.i216 + %.2.i.i.i.i.i220 = phi ptr [ %346, %345 ], [ %.029.lcssa.i.i.i.i.i218, %._crit_edge.i.i.i.i.i216 ] + %347 = load i32, ptr %.2.i.i.i.i.i220, align 4 + %348 = icmp eq i32 %347, %.0.i214 + br i1 %348, label %_ZNK4llvm10DataLayout25isNonIntegralAddressSpaceEj.exit232, label %_ZNK4llvm3LLT9isPointerEv.exit210.thread -_ZNK4llvm10DataLayout25isNonIntegralAddressSpaceEj.exit232.loopexit.split.loop.exit: ; preds = %330 - %358 = getelementptr inbounds nuw i8, ptr %.02946.i.i.i.i.i227, i64 4 +_ZNK4llvm10DataLayout25isNonIntegralAddressSpaceEj.exit232.loopexit.split.loop.exit: ; preds = %321 + %349 = getelementptr inbounds nuw i8, ptr %.02946.i.i.i.i.i227, i64 4 br label %_ZNK4llvm10DataLayout25isNonIntegralAddressSpaceEj.exit232 -_ZNK4llvm10DataLayout25isNonIntegralAddressSpaceEj.exit232.loopexit.split.loop.exit451: ; preds = %334 - %359 = getelementptr inbounds nuw i8, ptr %.02946.i.i.i.i.i227, i64 8 +_ZNK4llvm10DataLayout25isNonIntegralAddressSpaceEj.exit232.loopexit.split.loop.exit452: ; preds = %325 + %350 = getelementptr inbounds nuw i8, ptr %.02946.i.i.i.i.i227, i64 8 br label %_ZNK4llvm10DataLayout25isNonIntegralAddressSpaceEj.exit232 -_ZNK4llvm10DataLayout25isNonIntegralAddressSpaceEj.exit232.loopexit.split.loop.exit453: ; preds = %338 - %360 = getelementptr inbounds nuw i8, ptr %.02946.i.i.i.i.i227, i64 12 +_ZNK4llvm10DataLayout25isNonIntegralAddressSpaceEj.exit232.loopexit.split.loop.exit454: ; preds = %329 + %351 = getelementptr inbounds nuw i8, ptr %.02946.i.i.i.i.i227, i64 12 br label %_ZNK4llvm10DataLayout25isNonIntegralAddressSpaceEj.exit232 -_ZNK4llvm10DataLayout25isNonIntegralAddressSpaceEj.exit232: ; preds = %327, %_ZNK4llvm10DataLayout25isNonIntegralAddressSpaceEj.exit232.loopexit.split.loop.exit, %_ZNK4llvm10DataLayout25isNonIntegralAddressSpaceEj.exit232.loopexit.split.loop.exit451, %_ZNK4llvm10DataLayout25isNonIntegralAddressSpaceEj.exit232.loopexit.split.loop.exit453, %347, %._crit_edge._crit_edge.i.i.i.i.i222, %._crit_edge._crit_edge52.i.i.i.i.i219 - %.028.i.i.i.i.i221 = phi ptr [ %.029.lcssa.i.i.i.i.i218, %347 ], [ %.1.i.i.i.i.i223, %._crit_edge._crit_edge.i.i.i.i.i222 ], [ %.2.i.i.i.i.i220, %._crit_edge._crit_edge52.i.i.i.i.i219 ], [ %358, %_ZNK4llvm10DataLayout25isNonIntegralAddressSpaceEj.exit232.loopexit.split.loop.exit ], [ %359, %_ZNK4llvm10DataLayout25isNonIntegralAddressSpaceEj.exit232.loopexit.split.loop.exit451 ], [ %360, %_ZNK4llvm10DataLayout25isNonIntegralAddressSpaceEj.exit232.loopexit.split.loop.exit453 ], [ %.02946.i.i.i.i.i227, %327 ] - %.not403 = icmp eq ptr %.028.i.i.i.i.i221, %323 - br i1 %.not403, label %_ZNK4llvm3LLT9isPointerEv.exit210.thread, label %.critedge2 +_ZNK4llvm10DataLayout25isNonIntegralAddressSpaceEj.exit232: ; preds = %318, %_ZNK4llvm10DataLayout25isNonIntegralAddressSpaceEj.exit232.loopexit.split.loop.exit, %_ZNK4llvm10DataLayout25isNonIntegralAddressSpaceEj.exit232.loopexit.split.loop.exit452, %_ZNK4llvm10DataLayout25isNonIntegralAddressSpaceEj.exit232.loopexit.split.loop.exit454, %338, %._crit_edge._crit_edge.i.i.i.i.i222, %._crit_edge._crit_edge52.i.i.i.i.i219 + %.028.i.i.i.i.i221 = phi ptr [ %.029.lcssa.i.i.i.i.i218, %338 ], [ %.1.i.i.i.i.i223, %._crit_edge._crit_edge.i.i.i.i.i222 ], [ %.2.i.i.i.i.i220, %._crit_edge._crit_edge52.i.i.i.i.i219 ], [ %349, %_ZNK4llvm10DataLayout25isNonIntegralAddressSpaceEj.exit232.loopexit.split.loop.exit ], [ %350, %_ZNK4llvm10DataLayout25isNonIntegralAddressSpaceEj.exit232.loopexit.split.loop.exit452 ], [ %351, %_ZNK4llvm10DataLayout25isNonIntegralAddressSpaceEj.exit232.loopexit.split.loop.exit454 ], [ %.02946.i.i.i.i.i227, %318 ] + %.not404 = icmp eq ptr %.028.i.i.i.i.i221, %314 + br i1 %.not404, label %_ZNK4llvm3LLT9isPointerEv.exit210.thread, label %.critedge2 _ZNK4llvm3LLT9isPointerEv.exit210.thread: ; preds = %._crit_edge._crit_edge52.i.i.i.i.i219, %._crit_edge.i.i.i.i.i216, %_ZNK4llvm3LLT9isPointerEv.exit204.thread, %_ZNK4llvm10DataLayout25isNonIntegralAddressSpaceEj.exit232 - %361 = and i64 %.sroa.04.0.i, 1 - %362 = icmp ne i64 %361, 0 - br i1 %362, label %391, label %363 + %352 = and i64 %.sroa.04.0.i, 1 + %353 = icmp ne i64 %352, 0 + br i1 %353, label %382, label %354 -363: ; preds = %_ZNK4llvm3LLT9isPointerEv.exit210.thread - br i1 %or.cond397, label %364, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i237 +354: ; preds = %_ZNK4llvm3LLT9isPointerEv.exit210.thread + br i1 %or.cond397, label %355, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i237 -364: ; preds = %363 +355: ; preds = %354 %.not1.i2.i250 = icmp eq i64 %70, 0 - br i1 %.not1.i2.i250, label %368, label %365 + br i1 %.not1.i2.i250, label %359, label %356 -365: ; preds = %364 - %366 = lshr i64 %.sroa.04.0.i, 19 - %367 = and i64 %366, 65535 - %spec.select.i.i251 = select i1 %.not.i201.not, i64 %366, i64 %367 +356: ; preds = %355 + %357 = lshr i64 %.sroa.04.0.i, 19 + %358 = and i64 %357, 65535 + %spec.select.i.i251 = select i1 %.not.i201.not, i64 %357, i64 %358 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit252 -368: ; preds = %364 - %369 = lshr i64 %.sroa.04.0.i, 3 - %370 = and i64 %369, 65535 +359: ; preds = %355 + %360 = lshr i64 %.sroa.04.0.i, 3 + %361 = and i64 %360, 65535 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit252 -_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i237: ; preds = %363 - %371 = lshr i64 %.sroa.04.0.i, 3 - %.sroa.0.0.insert.ext.i.i.i238 = and i64 %371, 65535 - %372 = select i1 %.not.i201.not, i64 2251799813685248, i64 576460752303423488 - %373 = and i64 %372, %.sroa.04.0.i - %.not1.i4.i239 = icmp ne i64 %373, 0 +_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i237: ; preds = %354 + %362 = lshr i64 %.sroa.04.0.i, 3 + %.sroa.0.0.insert.ext.i.i.i238 = and i64 %362, 65535 + %363 = select i1 %.not.i201.not, i64 2251799813685248, i64 576460752303423488 + %364 = and i64 %363, %.sroa.04.0.i + %.not1.i4.i239 = icmp ne i64 %364, 0 %.not1.i8.i240 = icmp eq i64 %70, 0 - %374 = lshr i64 %.sroa.04.0.i, 19 - %375 = and i64 %374, 65535 - %spec.select.i10.i241 = select i1 %.not.i201.not, i64 %374, i64 %375 + %365 = lshr i64 %.sroa.04.0.i, 19 + %366 = and i64 %365, 65535 + %spec.select.i10.i241 = select i1 %.not.i201.not, i64 %365, i64 %366 %.0.in.i6.i242 = select i1 %.not1.i8.i240, i64 %.sroa.0.0.insert.ext.i.i.i238, i64 %spec.select.i10.i241 - %376 = mul nuw nsw i64 %.0.in.i6.i242, %.sroa.0.0.insert.ext.i.i.i238 - %377 = zext i1 %.not1.i4.i239 to i8 + %367 = mul nuw nsw i64 %.0.in.i6.i242, %.sroa.0.0.insert.ext.i.i.i238 + %368 = zext i1 %.not1.i4.i239 to i8 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit252 -_ZNK4llvm3LLT13getSizeInBitsEv.exit252: ; preds = %365, %368, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i237 - %.sroa.012.0.in.i244 = phi i64 [ %376, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i237 ], [ %370, %368 ], [ %spec.select.i.i251, %365 ] - %.sroa.3.0.i245 = phi i8 [ %377, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i237 ], [ 0, %368 ], [ 0, %365 ] +_ZNK4llvm3LLT13getSizeInBitsEv.exit252: ; preds = %356, %359, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i237 + %.sroa.012.0.in.i244 = phi i64 [ %367, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i237 ], [ %361, %359 ], [ %spec.select.i.i251, %356 ] + %.sroa.3.0.i245 = phi i8 [ %368, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i237 ], [ 0, %359 ], [ 0, %356 ] %.sroa.012.0.i246 = and i64 %.sroa.012.0.in.i244, 4294967295 store i64 %.sroa.012.0.i246, ptr %20, align 8 %.sroa.238.0..sroa_idx = getelementptr inbounds nuw i8, ptr %20, i64 8 store i8 %.sroa.3.0.i245, ptr %.sroa.238.0..sroa_idx, align 8 - %378 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %20) #18 - %379 = shl i64 %378, 3 - %380 = and i64 %379, 34359738360 - %381 = or disjoint i64 %380, 1 - %382 = load ptr, ptr %0, align 8 - store i64 %381, ptr %21, align 8 - %383 = getelementptr inbounds nuw i8, ptr %21, i64 8 - store i32 0, ptr %383, align 8 + %369 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %20) #18 + %370 = shl i64 %369, 3 + %371 = and i64 %370, 34359738360 + %372 = or disjoint i64 %371, 1 + %373 = load ptr, ptr %0, align 8 + store i64 %372, ptr %21, align 8 + %374 = getelementptr inbounds nuw i8, ptr %21, i64 8 + store i32 0, ptr %374, align 8 store i32 %38, ptr %22, align 8 - %384 = getelementptr inbounds nuw i8, ptr %22, i64 16 - store i32 0, ptr %384, align 8 - %385 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder9buildCastERKNS_5DstOpERKNS_5SrcOpE(ptr noundef nonnull align 8 dereferenceable(88) %382, ptr noundef nonnull align 8 dereferenceable(12) %21, ptr noundef nonnull align 8 dereferenceable(20) %22) #18 - %386 = extractvalue { ptr, ptr } %385, 1 - %387 = getelementptr inbounds nuw i8, ptr %386, i64 32 - %388 = load ptr, ptr %387, align 8 - %389 = getelementptr inbounds nuw i8, ptr %388, i64 4 - %390 = load i32, ptr %389, align 4 - br label %391 - -391: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit252, %_ZNK4llvm3LLT9isPointerEv.exit210.thread - %.sroa.7.0 = phi i32 [ %38, %_ZNK4llvm3LLT9isPointerEv.exit210.thread ], [ %390, %_ZNK4llvm3LLT13getSizeInBitsEv.exit252 ] - %.sroa.040.0 = phi i64 [ %.sroa.04.0.i, %_ZNK4llvm3LLT9isPointerEv.exit210.thread ], [ %381, %_ZNK4llvm3LLT13getSizeInBitsEv.exit252 ] - %392 = and i64 %68, 1 - %.not404 = icmp eq i64 %392, 0 - br i1 %.not404, label %393, label %421 - -393: ; preds = %391 + %375 = getelementptr inbounds nuw i8, ptr %22, i64 16 + store i32 0, ptr %375, align 8 + %376 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder9buildCastERKNS_5DstOpERKNS_5SrcOpE(ptr noundef nonnull align 8 dereferenceable(88) %373, ptr noundef nonnull align 8 dereferenceable(12) %21, ptr noundef nonnull align 8 dereferenceable(20) %22) #18 + %377 = extractvalue { ptr, ptr } %376, 1 + %378 = getelementptr inbounds nuw i8, ptr %377, i64 32 + %379 = load ptr, ptr %378, align 8 + %380 = getelementptr inbounds nuw i8, ptr %379, i64 4 + %381 = load i32, ptr %380, align 4 + br label %382 + +382: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit252, %_ZNK4llvm3LLT9isPointerEv.exit210.thread + %.sroa.7.0 = phi i32 [ %38, %_ZNK4llvm3LLT9isPointerEv.exit210.thread ], [ %381, %_ZNK4llvm3LLT13getSizeInBitsEv.exit252 ] + %.sroa.040.0 = phi i64 [ %.sroa.04.0.i, %_ZNK4llvm3LLT9isPointerEv.exit210.thread ], [ %372, %_ZNK4llvm3LLT13getSizeInBitsEv.exit252 ] + %383 = and i64 %68, 1 + %.not405 = icmp eq i64 %383, 0 + br i1 %.not405, label %384, label %412 + +384: ; preds = %382 %spec.select.i.i.i253 = icmp ugt i64 %68, 7 - %or.cond.i255 = and i1 %spec.select.i.i.i253, %317 - br i1 %or.cond.i255, label %394, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i257 + %or.cond.i255 = and i1 %spec.select.i.i.i253, %308 + br i1 %or.cond.i255, label %385, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i257 -394: ; preds = %393 - %395 = lshr i64 %68, 3 - %396 = and i64 %395, 65535 +385: ; preds = %384 + %386 = lshr i64 %68, 3 + %387 = and i64 %386, 65535 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit272 -_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i257: ; preds = %393 - %397 = and i64 %68, 2 - %.not.i.not.i254 = icmp eq i64 %397, 0 - %398 = lshr i64 %68, 3 - %.sroa.0.0.insert.ext.i.i.i258 = and i64 %398, 65535 - %399 = select i1 %.not.i.not.i254, i64 2251799813685248, i64 576460752303423488 - %400 = and i64 %399, %68 - %.not1.i4.i259 = icmp ne i64 %400, 0 - %401 = and i64 %68, 4 - %.not1.i8.i260 = icmp eq i64 %401, 0 - %402 = lshr i64 %68, 19 - %403 = and i64 %402, 65535 - %spec.select.i10.i261 = select i1 %.not.i.not.i254, i64 %402, i64 %403 +_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i257: ; preds = %384 + %388 = and i64 %68, 2 + %.not.i.not.i254 = icmp eq i64 %388, 0 + %389 = lshr i64 %68, 3 + %.sroa.0.0.insert.ext.i.i.i258 = and i64 %389, 65535 + %390 = select i1 %.not.i.not.i254, i64 2251799813685248, i64 576460752303423488 + %391 = and i64 %390, %68 + %.not1.i4.i259 = icmp ne i64 %391, 0 + %392 = and i64 %68, 4 + %.not1.i8.i260 = icmp eq i64 %392, 0 + %393 = lshr i64 %68, 19 + %394 = and i64 %393, 65535 + %spec.select.i10.i261 = select i1 %.not.i.not.i254, i64 %393, i64 %394 %.0.in.i6.i262 = select i1 %.not1.i8.i260, i64 %.sroa.0.0.insert.ext.i.i.i258, i64 %spec.select.i10.i261 - %404 = mul nuw nsw i64 %.0.in.i6.i262, %.sroa.0.0.insert.ext.i.i.i258 - %405 = zext i1 %.not1.i4.i259 to i8 - %406 = and i64 %404, 4294967295 + %395 = mul nuw nsw i64 %.0.in.i6.i262, %.sroa.0.0.insert.ext.i.i.i258 + %396 = zext i1 %.not1.i4.i259 to i8 + %397 = and i64 %395, 4294967295 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit272 -_ZNK4llvm3LLT13getSizeInBitsEv.exit272: ; preds = %394, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i257 - %.sroa.012.0.in.i264 = phi i64 [ %406, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i257 ], [ %396, %394 ] - %.sroa.3.0.i265 = phi i8 [ %405, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i257 ], [ 0, %394 ] +_ZNK4llvm3LLT13getSizeInBitsEv.exit272: ; preds = %385, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i257 + %.sroa.012.0.in.i264 = phi i64 [ %397, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i257 ], [ %387, %385 ] + %.sroa.3.0.i265 = phi i8 [ %396, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i257 ], [ 0, %385 ] store i64 %.sroa.012.0.in.i264, ptr %23, align 8 %.sroa.230.0..sroa_idx = getelementptr inbounds nuw i8, ptr %23, i64 8 store i8 %.sroa.3.0.i265, ptr %.sroa.230.0..sroa_idx, align 8 - %407 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %23) #18 - %408 = shl i64 %407, 3 - %409 = and i64 %408, 34359738360 - %410 = or disjoint i64 %409, 1 - %411 = load ptr, ptr %0, align 8 + %398 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %23) #18 + %399 = shl i64 %398, 3 + %400 = and i64 %399, 34359738360 + %401 = or disjoint i64 %400, 1 + %402 = load ptr, ptr %0, align 8 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %9) call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %10) - store i64 %410, ptr %9, align 8 + store i64 %401, ptr %9, align 8 %.sroa.2356.0..sroa_idx = getelementptr inbounds nuw i8, ptr %9, i64 8 store i32 0, ptr %.sroa.2356.0..sroa_idx, align 8 store i32 %40, ptr %10, align 8 %.sroa.2354.0..sroa_idx = getelementptr inbounds nuw i8, ptr %10, i64 16 store i32 0, ptr %.sroa.2354.0..sroa_idx, align 8 - %412 = load ptr, ptr %411, align 8 - %413 = getelementptr inbounds nuw i8, ptr %412, i64 32 - %414 = load ptr, ptr %413, align 8 - %415 = call { ptr, ptr } %414(ptr noundef nonnull align 8 dereferenceable(88) %411, i32 noundef 77, ptr nonnull %9, i64 1, ptr nonnull %10, i64 1, i64 0) #18 + %403 = load ptr, ptr %402, align 8 + %404 = getelementptr inbounds nuw i8, ptr %403, i64 32 + %405 = load ptr, ptr %404, align 8 + %406 = call { ptr, ptr } %405(ptr noundef nonnull align 8 dereferenceable(88) %402, i32 noundef 77, ptr nonnull %9, i64 1, ptr nonnull %10, i64 1, i64 0) #18 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %9) call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %10) - %416 = extractvalue { ptr, ptr } %415, 1 - %417 = getelementptr inbounds nuw i8, ptr %416, i64 32 - %418 = load ptr, ptr %417, align 8 - %419 = getelementptr inbounds nuw i8, ptr %418, i64 4 - %420 = load i32, ptr %419, align 4 - br label %421 + %407 = extractvalue { ptr, ptr } %406, 1 + %408 = getelementptr inbounds nuw i8, ptr %407, i64 32 + %409 = load ptr, ptr %408, align 8 + %410 = getelementptr inbounds nuw i8, ptr %409, i64 4 + %411 = load i32, ptr %410, align 4 + br label %412 -421: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit272, %391 - %.sroa.0385.0 = phi i32 [ %40, %391 ], [ %420, %_ZNK4llvm3LLT13getSizeInBitsEv.exit272 ] - %422 = load ptr, ptr %0, align 8 +412: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit272, %382 + %.sroa.0385.0 = phi i32 [ %40, %382 ], [ %411, %_ZNK4llvm3LLT13getSizeInBitsEv.exit272 ] + %413 = load ptr, ptr %0, align 8 store i64 %.sroa.040.0, ptr %24, align 8 - %423 = getelementptr inbounds nuw i8, ptr %24, i64 8 - store i32 0, ptr %423, align 8 + %414 = getelementptr inbounds nuw i8, ptr %24, i64 8 + store i32 0, ptr %414, align 8 store i32 %.sroa.0385.0, ptr %25, align 8 - %424 = getelementptr inbounds nuw i8, ptr %25, i64 16 - store i32 0, ptr %424, align 8 - %425 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder9buildZExtERKNS_5DstOpERKNS_5SrcOpESt8optionalIjE(ptr noundef nonnull align 8 dereferenceable(88) %422, ptr noundef nonnull align 8 dereferenceable(12) %24, ptr noundef nonnull align 8 dereferenceable(20) %25, i64 0) #18 - %426 = extractvalue { ptr, ptr } %425, 1 - %427 = getelementptr inbounds nuw i8, ptr %426, i64 32 - %428 = load ptr, ptr %427, align 8 - %429 = getelementptr inbounds nuw i8, ptr %428, i64 4 - %430 = load i32, ptr %429, align 4 + %415 = getelementptr inbounds nuw i8, ptr %25, i64 16 + store i32 0, ptr %415, align 8 + %416 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder9buildZExtERKNS_5DstOpERKNS_5SrcOpESt8optionalIjE(ptr noundef nonnull align 8 dereferenceable(88) %413, ptr noundef nonnull align 8 dereferenceable(12) %24, ptr noundef nonnull align 8 dereferenceable(20) %25, i64 0) #18 + %417 = extractvalue { ptr, ptr } %416, 1 + %418 = getelementptr inbounds nuw i8, ptr %417, i64 32 + %419 = load ptr, ptr %418, align 8 + %420 = getelementptr inbounds nuw i8, ptr %419, i64 4 + %421 = load i32, ptr %420, align 4 %.not127 = icmp eq i64 %42, 0 - br i1 %.not127, label %448, label %431 + br i1 %.not127, label %439, label %422 -431: ; preds = %421 - %432 = load ptr, ptr %0, align 8 +422: ; preds = %412 + %423 = load ptr, ptr %0, align 8 store i64 %.sroa.040.0, ptr %26, align 8 - %433 = getelementptr inbounds nuw i8, ptr %26, i64 8 - store i32 0, ptr %433, align 8 - %434 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder13buildConstantERKNS_5DstOpEl(ptr noundef nonnull align 8 dereferenceable(88) %432, ptr noundef nonnull align 8 dereferenceable(12) %26, i64 noundef %42) #18 - %435 = extractvalue { ptr, ptr } %434, 0 - %436 = extractvalue { ptr, ptr } %434, 1 - %437 = load ptr, ptr %0, align 8 + %424 = getelementptr inbounds nuw i8, ptr %26, i64 8 + store i32 0, ptr %424, align 8 + %425 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder13buildConstantERKNS_5DstOpEl(ptr noundef nonnull align 8 dereferenceable(88) %423, ptr noundef nonnull align 8 dereferenceable(12) %26, i64 noundef %42) #18 + %426 = extractvalue { ptr, ptr } %425, 0 + %427 = extractvalue { ptr, ptr } %425, 1 + %428 = load ptr, ptr %0, align 8 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %7) call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %8) store i64 %.sroa.040.0, ptr %7, align 8 %.sroa.2342.0..sroa_idx = getelementptr inbounds nuw i8, ptr %7, i64 8 store i32 0, ptr %.sroa.2342.0..sroa_idx, align 8 - store i32 %430, ptr %8, align 8 + store i32 %421, ptr %8, align 8 %.sroa.2340.0..sroa_idx = getelementptr inbounds nuw i8, ptr %8, i64 16 store i32 0, ptr %.sroa.2340.0..sroa_idx, align 8 - %438 = getelementptr inbounds nuw i8, ptr %8, i64 24 - store ptr %435, ptr %438, align 8 + %429 = getelementptr inbounds nuw i8, ptr %8, i64 24 + store ptr %426, ptr %429, align 8 %.sroa.0336.sroa.2.0..sroa_idx = getelementptr inbounds nuw i8, ptr %8, i64 32 - store ptr %436, ptr %.sroa.0336.sroa.2.0..sroa_idx, align 8 + store ptr %427, ptr %.sroa.0336.sroa.2.0..sroa_idx, align 8 %.sroa.2337.0..sroa_idx = getelementptr inbounds nuw i8, ptr %8, i64 40 store i32 1, ptr %.sroa.2337.0..sroa_idx, align 8 - %439 = load ptr, ptr %437, align 8 - %440 = getelementptr inbounds nuw i8, ptr %439, i64 32 - %441 = load ptr, ptr %440, align 8 - %442 = call { ptr, ptr } %441(ptr noundef nonnull align 8 dereferenceable(88) %437, i32 noundef 135, ptr nonnull %7, i64 1, ptr nonnull %8, i64 2, i64 0) #18 + %430 = load ptr, ptr %428, align 8 + %431 = getelementptr inbounds nuw i8, ptr %430, i64 32 + %432 = load ptr, ptr %431, align 8 + %433 = call { ptr, ptr } %432(ptr noundef nonnull align 8 dereferenceable(88) %428, i32 noundef 135, ptr nonnull %7, i64 1, ptr nonnull %8, i64 2, i64 0) #18 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %7) call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %8) - %443 = extractvalue { ptr, ptr } %442, 1 - %444 = getelementptr inbounds nuw i8, ptr %443, i64 32 - %445 = load ptr, ptr %444, align 8 - %446 = getelementptr inbounds nuw i8, ptr %445, i64 4 - %447 = load i32, ptr %446, align 4 - br label %448 + %434 = extractvalue { ptr, ptr } %433, 1 + %435 = getelementptr inbounds nuw i8, ptr %434, i64 32 + %436 = load ptr, ptr %435, align 8 + %437 = getelementptr inbounds nuw i8, ptr %436, i64 4 + %438 = load i32, ptr %437, align 4 + br label %439 -448: ; preds = %431, %421 - %.sroa.022.0 = phi i32 [ %447, %431 ], [ %430, %421 ] - %or.cond14.i276 = or i1 %362, %or.cond397 - br i1 %or.cond14.i276, label %449, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i277 +439: ; preds = %422, %412 + %.sroa.022.0 = phi i32 [ %438, %422 ], [ %421, %412 ] + %or.cond14.i276 = or i1 %353, %or.cond397 + br i1 %or.cond14.i276, label %440, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i277 -449: ; preds = %448 - %.not.i1.i289 = icmp eq i64 %361, 0 - br i1 %.not.i1.i289, label %452, label %450 +440: ; preds = %439 + %.not.i1.i289 = icmp eq i64 %352, 0 + br i1 %.not.i1.i289, label %443, label %441 -450: ; preds = %449 - %451 = lshr i64 %.sroa.04.0.i, 3 +441: ; preds = %440 + %442 = lshr i64 %.sroa.04.0.i, 3 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit292 -452: ; preds = %449 +443: ; preds = %440 %.not1.i2.i290 = icmp eq i64 %70, 0 - br i1 %.not1.i2.i290, label %456, label %453 + br i1 %.not1.i2.i290, label %447, label %444 -453: ; preds = %452 - %454 = lshr i64 %.sroa.04.0.i, 19 - %455 = and i64 %454, 65535 - %spec.select.i.i291 = select i1 %.not.i201.not, i64 %454, i64 %455 +444: ; preds = %443 + %445 = lshr i64 %.sroa.04.0.i, 19 + %446 = and i64 %445, 65535 + %spec.select.i.i291 = select i1 %.not.i201.not, i64 %445, i64 %446 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit292 -456: ; preds = %452 - %457 = lshr i64 %.sroa.04.0.i, 3 - %458 = and i64 %457, 65535 +447: ; preds = %443 + %448 = lshr i64 %.sroa.04.0.i, 3 + %449 = and i64 %448, 65535 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit292 -_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i277: ; preds = %448 - %459 = lshr i64 %.sroa.04.0.i, 3 - %.sroa.0.0.insert.ext.i.i.i278 = and i64 %459, 65535 - %460 = select i1 %.not.i201.not, i64 2251799813685248, i64 576460752303423488 - %461 = and i64 %460, %.sroa.04.0.i - %.not1.i4.i279 = icmp ne i64 %461, 0 +_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i277: ; preds = %439 + %450 = lshr i64 %.sroa.04.0.i, 3 + %.sroa.0.0.insert.ext.i.i.i278 = and i64 %450, 65535 + %451 = select i1 %.not.i201.not, i64 2251799813685248, i64 576460752303423488 + %452 = and i64 %451, %.sroa.04.0.i + %.not1.i4.i279 = icmp ne i64 %452, 0 %.not1.i8.i280 = icmp eq i64 %70, 0 - %462 = lshr i64 %.sroa.04.0.i, 19 - %463 = and i64 %462, 65535 - %spec.select.i10.i281 = select i1 %.not.i201.not, i64 %462, i64 %463 + %453 = lshr i64 %.sroa.04.0.i, 19 + %454 = and i64 %453, 65535 + %spec.select.i10.i281 = select i1 %.not.i201.not, i64 %453, i64 %454 %.0.in.i6.i282 = select i1 %.not1.i8.i280, i64 %.sroa.0.0.insert.ext.i.i.i278, i64 %spec.select.i10.i281 - %464 = mul nuw nsw i64 %.0.in.i6.i282, %.sroa.0.0.insert.ext.i.i.i278 - %465 = zext i1 %.not1.i4.i279 to i8 + %455 = mul nuw nsw i64 %.0.in.i6.i282, %.sroa.0.0.insert.ext.i.i.i278 + %456 = zext i1 %.not1.i4.i279 to i8 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit292 -_ZNK4llvm3LLT13getSizeInBitsEv.exit292: ; preds = %450, %453, %456, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i277 - %.sroa.012.0.in.i284 = phi i64 [ %464, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i277 ], [ %451, %450 ], [ %458, %456 ], [ %spec.select.i.i291, %453 ] - %.sroa.3.0.i285 = phi i8 [ %465, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i277 ], [ 0, %450 ], [ 0, %456 ], [ 0, %453 ] +_ZNK4llvm3LLT13getSizeInBitsEv.exit292: ; preds = %441, %444, %447, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i277 + %.sroa.012.0.in.i284 = phi i64 [ %455, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i277 ], [ %442, %441 ], [ %449, %447 ], [ %spec.select.i.i291, %444 ] + %.sroa.3.0.i285 = phi i8 [ %456, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i277 ], [ 0, %441 ], [ 0, %447 ], [ 0, %444 ] %.sroa.012.0.i286 = and i64 %.sroa.012.0.in.i284, 4294967295 store i64 %.sroa.012.0.i286, ptr %28, align 8 %.sroa.215.0..sroa_idx = getelementptr inbounds nuw i8, ptr %28, i64 8 store i8 %.sroa.3.0.i285, ptr %.sroa.215.0..sroa_idx, align 8 - %466 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %28) #18 - %467 = trunc i64 %466 to i32 - %468 = and i64 %68, 2 - %.not.i.not.i294 = icmp eq i64 %468, 0 - %469 = icmp ne i64 %392, 0 - %or.cond14.i296 = or i1 %469, %or.cond398 - br i1 %or.cond14.i296, label %470, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i297 - -470: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit292 - br i1 %.not404, label %473, label %471 - -471: ; preds = %470 - %472 = lshr i64 %68, 3 + %457 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %28) #18 + %458 = trunc i64 %457 to i32 + %459 = and i64 %68, 2 + %.not.i.not.i294 = icmp eq i64 %459, 0 + %460 = icmp ne i64 %383, 0 + %or.cond14.i296 = or i1 %460, %or.cond398 + br i1 %or.cond14.i296, label %461, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i297 + +461: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit292 + br i1 %.not405, label %464, label %462 + +462: ; preds = %461 + %463 = lshr i64 %68, 3 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit312 -473: ; preds = %470 - %474 = and i64 %68, 4 - %.not1.i2.i310 = icmp eq i64 %474, 0 - br i1 %.not1.i2.i310, label %478, label %475 +464: ; preds = %461 + %465 = and i64 %68, 4 + %.not1.i2.i310 = icmp eq i64 %465, 0 + br i1 %.not1.i2.i310, label %469, label %466 -475: ; preds = %473 - %476 = lshr i64 %68, 19 - %477 = and i64 %476, 65535 - %spec.select.i.i311 = select i1 %.not.i.not.i294, i64 %476, i64 %477 +466: ; preds = %464 + %467 = lshr i64 %68, 19 + %468 = and i64 %467, 65535 + %spec.select.i.i311 = select i1 %.not.i.not.i294, i64 %467, i64 %468 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit312 -478: ; preds = %473 - %479 = lshr i64 %68, 3 - %480 = and i64 %479, 65535 +469: ; preds = %464 + %470 = lshr i64 %68, 3 + %471 = and i64 %470, 65535 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit312 _ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i297: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit292 - %481 = lshr i64 %68, 3 - %.sroa.0.0.insert.ext.i.i.i298 = and i64 %481, 65535 - %482 = select i1 %.not.i.not.i294, i64 2251799813685248, i64 576460752303423488 - %483 = and i64 %482, %68 - %.not1.i4.i299 = icmp ne i64 %483, 0 - %484 = and i64 %68, 4 - %.not1.i8.i300 = icmp eq i64 %484, 0 - %485 = lshr i64 %68, 19 - %486 = and i64 %485, 65535 - %spec.select.i10.i301 = select i1 %.not.i.not.i294, i64 %485, i64 %486 + %472 = lshr i64 %68, 3 + %.sroa.0.0.insert.ext.i.i.i298 = and i64 %472, 65535 + %473 = select i1 %.not.i.not.i294, i64 2251799813685248, i64 576460752303423488 + %474 = and i64 %473, %68 + %.not1.i4.i299 = icmp ne i64 %474, 0 + %475 = and i64 %68, 4 + %.not1.i8.i300 = icmp eq i64 %475, 0 + %476 = lshr i64 %68, 19 + %477 = and i64 %476, 65535 + %spec.select.i10.i301 = select i1 %.not.i.not.i294, i64 %476, i64 %477 %.0.in.i6.i302 = select i1 %.not1.i8.i300, i64 %.sroa.0.0.insert.ext.i.i.i298, i64 %spec.select.i10.i301 - %487 = mul nuw nsw i64 %.0.in.i6.i302, %.sroa.0.0.insert.ext.i.i.i298 - %488 = zext i1 %.not1.i4.i299 to i8 + %478 = mul nuw nsw i64 %.0.in.i6.i302, %.sroa.0.0.insert.ext.i.i.i298 + %479 = zext i1 %.not1.i4.i299 to i8 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit312 -_ZNK4llvm3LLT13getSizeInBitsEv.exit312: ; preds = %471, %475, %478, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i297 - %.sroa.012.0.in.i304 = phi i64 [ %487, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i297 ], [ %472, %471 ], [ %480, %478 ], [ %spec.select.i.i311, %475 ] - %.sroa.3.0.i305 = phi i8 [ %488, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i297 ], [ 0, %471 ], [ 0, %478 ], [ 0, %475 ] +_ZNK4llvm3LLT13getSizeInBitsEv.exit312: ; preds = %462, %466, %469, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i297 + %.sroa.012.0.in.i304 = phi i64 [ %478, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i297 ], [ %463, %462 ], [ %471, %469 ], [ %spec.select.i.i311, %466 ] + %.sroa.3.0.i305 = phi i8 [ %479, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i297 ], [ 0, %462 ], [ 0, %469 ], [ 0, %466 ] %.sroa.012.0.i306 = and i64 %.sroa.012.0.in.i304, 4294967295 store i64 %.sroa.012.0.i306, ptr %29, align 8 %.sroa.2.0..sroa_idx = getelementptr inbounds nuw i8, ptr %29, i64 8 store i8 %.sroa.3.0.i305, ptr %.sroa.2.0..sroa_idx, align 8 - %489 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %29) #18 - %490 = add i64 %489, %42 - %491 = trunc i64 %490 to i32 - %492 = trunc i64 %42 to i32 - %493 = getelementptr inbounds nuw i8, ptr %27, i64 8 - store i32 %467, ptr %493, align 8, !alias.scope !233 - %494 = icmp ult i32 %467, 65 - br i1 %494, label %495, label %496 - -495: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit312 + %480 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %29) #18 + %481 = add i64 %480, %42 + %482 = trunc i64 %481 to i32 + %483 = trunc i64 %42 to i32 + %484 = getelementptr inbounds nuw i8, ptr %27, i64 8 + store i32 %458, ptr %484, align 8, !alias.scope !233 + %485 = icmp ult i32 %458, 65 + br i1 %485, label %486, label %487 + +486: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit312 store i64 0, ptr %27, align 8, !alias.scope !233 br label %_ZN4llvm5APInt18getBitsSetWithWrapEjjj.exit -496: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit312 +487: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit312 call void @_ZN4llvm5APInt12initSlowCaseEmb(ptr noundef nonnull align 8 dereferenceable(12) %27, i64 noundef 0, i1 noundef zeroext false) #18 br label %_ZN4llvm5APInt18getBitsSetWithWrapEjjj.exit -_ZN4llvm5APInt18getBitsSetWithWrapEjjj.exit: ; preds = %495, %496 - call void @_ZN4llvm5APInt15setBitsWithWrapEjj(ptr noundef nonnull align 8 dereferenceable(12) %27, i32 noundef %491, i32 noundef %492) - %497 = load ptr, ptr %0, align 8 +_ZN4llvm5APInt18getBitsSetWithWrapEjjj.exit: ; preds = %486, %487 + call void @_ZN4llvm5APInt15setBitsWithWrapEjj(ptr noundef nonnull align 8 dereferenceable(12) %27, i32 noundef %482, i32 noundef %483) + %488 = load ptr, ptr %0, align 8 store i64 %.sroa.040.0, ptr %30, align 8 - %498 = getelementptr inbounds nuw i8, ptr %30, i64 8 - store i32 0, ptr %498, align 8 - %499 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder13buildConstantERKNS_5DstOpERKNS_5APIntE(ptr noundef nonnull align 8 dereferenceable(88) %497, ptr noundef nonnull align 8 dereferenceable(12) %30, ptr noundef nonnull align 8 dereferenceable(12) %27) #18 - %500 = extractvalue { ptr, ptr } %499, 0 - %501 = extractvalue { ptr, ptr } %499, 1 - %502 = load ptr, ptr %0, align 8 + %489 = getelementptr inbounds nuw i8, ptr %30, i64 8 + store i32 0, ptr %489, align 8 + %490 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder13buildConstantERKNS_5DstOpERKNS_5APIntE(ptr noundef nonnull align 8 dereferenceable(88) %488, ptr noundef nonnull align 8 dereferenceable(12) %30, ptr noundef nonnull align 8 dereferenceable(12) %27) #18 + %491 = extractvalue { ptr, ptr } %490, 0 + %492 = extractvalue { ptr, ptr } %490, 1 + %493 = load ptr, ptr %0, align 8 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %5) call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %6) store i64 %.sroa.040.0, ptr %5, align 8 @@ -42184,69 +42151,69 @@ _ZN4llvm5APInt18getBitsSetWithWrapEjjj.exit: ; preds = %495, %496 store i32 %.sroa.7.0, ptr %6, align 8 %.sroa.2326.0..sroa_idx = getelementptr inbounds nuw i8, ptr %6, i64 16 store i32 0, ptr %.sroa.2326.0..sroa_idx, align 8 - %503 = getelementptr inbounds nuw i8, ptr %6, i64 24 - store ptr %500, ptr %503, align 8 + %494 = getelementptr inbounds nuw i8, ptr %6, i64 24 + store ptr %491, ptr %494, align 8 %.sroa.0322.sroa.2.0..sroa_idx = getelementptr inbounds nuw i8, ptr %6, i64 32 - store ptr %501, ptr %.sroa.0322.sroa.2.0..sroa_idx, align 8 + store ptr %492, ptr %.sroa.0322.sroa.2.0..sroa_idx, align 8 %.sroa.2323.0..sroa_idx = getelementptr inbounds nuw i8, ptr %6, i64 40 store i32 1, ptr %.sroa.2323.0..sroa_idx, align 8 - %504 = load ptr, ptr %502, align 8 - %505 = getelementptr inbounds nuw i8, ptr %504, i64 32 - %506 = load ptr, ptr %505, align 8 - %507 = call { ptr, ptr } %506(ptr noundef nonnull align 8 dereferenceable(88) %502, i32 noundef 61, ptr nonnull %5, i64 1, ptr nonnull %6, i64 2, i64 0) #18 + %495 = load ptr, ptr %493, align 8 + %496 = getelementptr inbounds nuw i8, ptr %495, i64 32 + %497 = load ptr, ptr %496, align 8 + %498 = call { ptr, ptr } %497(ptr noundef nonnull align 8 dereferenceable(88) %493, i32 noundef 61, ptr nonnull %5, i64 1, ptr nonnull %6, i64 2, i64 0) #18 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %5) call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %6) - %508 = extractvalue { ptr, ptr } %507, 0 - %509 = extractvalue { ptr, ptr } %507, 1 - %510 = load ptr, ptr %0, align 8 + %499 = extractvalue { ptr, ptr } %498, 0 + %500 = extractvalue { ptr, ptr } %498, 1 + %501 = load ptr, ptr %0, align 8 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %3) call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %4) store i64 %.sroa.040.0, ptr %3, align 8 %.sroa.2319.0..sroa_idx = getelementptr inbounds nuw i8, ptr %3, i64 8 store i32 0, ptr %.sroa.2319.0..sroa_idx, align 8 - store ptr %508, ptr %4, align 8 + store ptr %499, ptr %4, align 8 %.sroa.0316.sroa.2.0..sroa_idx = getelementptr inbounds nuw i8, ptr %4, i64 8 - store ptr %509, ptr %.sroa.0316.sroa.2.0..sroa_idx, align 8 + store ptr %500, ptr %.sroa.0316.sroa.2.0..sroa_idx, align 8 %.sroa.2317.0..sroa_idx = getelementptr inbounds nuw i8, ptr %4, i64 16 store i32 1, ptr %.sroa.2317.0..sroa_idx, align 8 - %511 = getelementptr inbounds nuw i8, ptr %4, i64 24 - store i32 %.sroa.022.0, ptr %511, align 8 + %502 = getelementptr inbounds nuw i8, ptr %4, i64 24 + store i32 %.sroa.022.0, ptr %502, align 8 %.sroa.2315.0..sroa_idx = getelementptr inbounds nuw i8, ptr %4, i64 40 store i32 0, ptr %.sroa.2315.0..sroa_idx, align 8 - %512 = load ptr, ptr %510, align 8 - %513 = getelementptr inbounds nuw i8, ptr %512, i64 32 - %514 = load ptr, ptr %513, align 8 - %515 = call { ptr, ptr } %514(ptr noundef nonnull align 8 dereferenceable(88) %510, i32 noundef 62, ptr nonnull %3, i64 1, ptr nonnull %4, i64 2, i64 0) #18 + %503 = load ptr, ptr %501, align 8 + %504 = getelementptr inbounds nuw i8, ptr %503, i64 32 + %505 = load ptr, ptr %504, align 8 + %506 = call { ptr, ptr } %505(ptr noundef nonnull align 8 dereferenceable(88) %501, i32 noundef 62, ptr nonnull %3, i64 1, ptr nonnull %4, i64 2, i64 0) #18 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %3) call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %4) - %516 = extractvalue { ptr, ptr } %515, 0 - %517 = extractvalue { ptr, ptr } %515, 1 - %518 = load ptr, ptr %0, align 8 + %507 = extractvalue { ptr, ptr } %506, 0 + %508 = extractvalue { ptr, ptr } %506, 1 + %509 = load ptr, ptr %0, align 8 store i32 %36, ptr %31, align 8 - %519 = getelementptr inbounds nuw i8, ptr %31, i64 8 - store i32 1, ptr %519, align 8 - store ptr %516, ptr %32, align 8 + %510 = getelementptr inbounds nuw i8, ptr %31, i64 8 + store i32 1, ptr %510, align 8 + store ptr %507, ptr %32, align 8 %.sroa.2321.0..sroa_idx = getelementptr inbounds nuw i8, ptr %32, i64 8 - store ptr %517, ptr %.sroa.2321.0..sroa_idx, align 8 - %520 = getelementptr inbounds nuw i8, ptr %32, i64 16 - store i32 1, ptr %520, align 8 - %521 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder9buildCastERKNS_5DstOpERKNS_5SrcOpE(ptr noundef nonnull align 8 dereferenceable(88) %518, ptr noundef nonnull align 8 dereferenceable(12) %31, ptr noundef nonnull align 8 dereferenceable(20) %32) #18 + store ptr %508, ptr %.sroa.2321.0..sroa_idx, align 8 + %511 = getelementptr inbounds nuw i8, ptr %32, i64 16 + store i32 1, ptr %511, align 8 + %512 = call { ptr, ptr } @_ZN4llvm16MachineIRBuilder9buildCastERKNS_5DstOpERKNS_5SrcOpE(ptr noundef nonnull align 8 dereferenceable(88) %509, ptr noundef nonnull align 8 dereferenceable(12) %31, ptr noundef nonnull align 8 dereferenceable(20) %32) #18 call void @_ZN4llvm12MachineInstr15eraseFromParentEv(ptr noundef nonnull align 8 dereferenceable(70) %1) #18 - %522 = load i32, ptr %493, align 8 - %523 = icmp ugt i32 %522, 64 - br i1 %523, label %524, label %.critedge2 + %513 = load i32, ptr %484, align 8 + %514 = icmp ugt i32 %513, 64 + br i1 %514, label %515, label %.critedge2 -524: ; preds = %_ZN4llvm5APInt18getBitsSetWithWrapEjjj.exit - %525 = load ptr, ptr %27, align 8 - %526 = icmp eq ptr %525, null - br i1 %526, label %.critedge2, label %527 +515: ; preds = %_ZN4llvm5APInt18getBitsSetWithWrapEjjj.exit + %516 = load ptr, ptr %27, align 8 + %517 = icmp eq ptr %516, null + br i1 %517, label %.critedge2, label %518 -527: ; preds = %524 - call void @_ZdaPv(ptr noundef nonnull %525) #19 +518: ; preds = %515 + call void @_ZdaPv(ptr noundef nonnull %516) #19 br label %.critedge2 -.critedge2: ; preds = %527, %524, %_ZN4llvm5APInt18getBitsSetWithWrapEjjj.exit, %.critedge.thread, %_ZNK4llvm10DataLayout25isNonIntegralAddressSpaceEj.exit, %_ZNK4llvm10DataLayout25isNonIntegralAddressSpaceEj.exit232, %_ZNK4llvm3LLT14getElementTypeEv.exit198, %.critedge, %243 - %.0 = phi i32 [ 1, %243 ], [ 2, %.critedge ], [ 2, %_ZNK4llvm3LLT14getElementTypeEv.exit198 ], [ 2, %_ZNK4llvm10DataLayout25isNonIntegralAddressSpaceEj.exit232 ], [ 2, %_ZNK4llvm10DataLayout25isNonIntegralAddressSpaceEj.exit ], [ 2, %.critedge.thread ], [ 1, %_ZN4llvm5APInt18getBitsSetWithWrapEjjj.exit ], [ 1, %524 ], [ 1, %527 ] +.critedge2: ; preds = %518, %515, %_ZN4llvm5APInt18getBitsSetWithWrapEjjj.exit, %.critedge.thread, %_ZNK4llvm10DataLayout25isNonIntegralAddressSpaceEj.exit, %_ZNK4llvm10DataLayout25isNonIntegralAddressSpaceEj.exit232, %_ZNK4llvm3LLT14getElementTypeEv.exit198, %.critedge, %234 + %.0 = phi i32 [ 1, %234 ], [ 2, %.critedge ], [ 2, %_ZNK4llvm3LLT14getElementTypeEv.exit198 ], [ 2, %_ZNK4llvm10DataLayout25isNonIntegralAddressSpaceEj.exit232 ], [ 2, %_ZNK4llvm10DataLayout25isNonIntegralAddressSpaceEj.exit ], [ 2, %.critedge.thread ], [ 1, %_ZN4llvm5APInt18getBitsSetWithWrapEjjj.exit ], [ 1, %515 ], [ 1, %518 ] ret i32 %.0 } @@ -63087,11 +63054,11 @@ define internal fastcc noundef zeroext i1 @_ZL29findGISelOptimalMemOpLoweringRSt _ZNK4llvm3LLT14getSizeInBytesEv.exit.preheader: ; preds = %30 %33 = getelementptr inbounds nuw i8, ptr %2, i64 9 %.sroa.239.0..sroa_idx = getelementptr inbounds nuw i8, ptr %7, i64 8 - %.sroa.0.0.copyload.i72173 = load i8, ptr %33, align 1 + %.sroa.0.0.copyload.i72174 = load i8, ptr %33, align 1 store i64 8, ptr %7, align 8 store i8 0, ptr %.sroa.239.0..sroa_idx, align 8 %34 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %7) #18 - %35 = zext nneg i8 %.sroa.0.0.copyload.i72173 to i64 + %35 = zext nneg i8 %.sroa.0.0.copyload.i72174 to i64 %36 = shl nuw i64 1, %35 %37 = icmp ult i64 %36, %34 br i1 %37, label %.lr.ph, label %.critedge @@ -63101,16 +63068,16 @@ _ZNK4llvm3LLT14getSizeInBytesEv.exit.preheader: ; preds = %30 br label %38 38: ; preds = %.lr.ph, %_ZNK4llvm3LLT14getSizeInBytesEv.exit92 - %.sroa.0163.1174 = phi i64 [ 513, %.lr.ph ], [ %49, %_ZNK4llvm3LLT14getSizeInBytesEv.exit92 ] + %.sroa.0163.1175 = phi i64 [ 513, %.lr.ph ], [ %49, %_ZNK4llvm3LLT14getSizeInBytesEv.exit92 ] %.sroa.0.0.copyload.i73 = load i8, ptr %33, align 1 %39 = load ptr, ptr %5, align 8 %40 = getelementptr inbounds nuw i8, ptr %39, i64 808 %41 = load ptr, ptr %40, align 8 - %42 = call noundef zeroext i1 %41(ptr noundef nonnull align 8 dereferenceable(408123) %5, i64 %.sroa.0163.1174, i32 noundef %3, i8 %.sroa.0.0.copyload.i73, i16 noundef zeroext 0, ptr noundef null) #18 + %42 = call noundef zeroext i1 %41(ptr noundef nonnull align 8 dereferenceable(408123) %5, i64 %.sroa.0163.1175, i32 noundef %3, i8 %.sroa.0.0.copyload.i73, i16 noundef zeroext 0, ptr noundef null) #18 br i1 %42, label %.critedge, label %_ZNK4llvm3LLT14getSizeInBytesEv.exit92 _ZNK4llvm3LLT14getSizeInBytesEv.exit92: ; preds = %38 - %43 = lshr i64 %.sroa.0163.1174, 3 + %43 = lshr i64 %.sroa.0163.1175, 3 %44 = add nuw nsw i64 %43, 7 %45 = lshr i64 %44, 3 store i64 %45, ptr %8, align 8 @@ -63132,12 +63099,12 @@ _ZNK4llvm3LLT14getSizeInBytesEv.exit92: ; preds = %38 br i1 %56, label %38, label %.critedge, !llvm.loop !467 .critedge: ; preds = %38, %_ZNK4llvm3LLT14getSizeInBytesEv.exit92, %_ZNK4llvm3LLT14getSizeInBytesEv.exit.preheader, %30, %25 - %.sroa.0163.0 = phi i64 [ 513, %30 ], [ %29, %25 ], [ 513, %_ZNK4llvm3LLT14getSizeInBytesEv.exit.preheader ], [ %.sroa.0163.1174, %38 ], [ %49, %_ZNK4llvm3LLT14getSizeInBytesEv.exit92 ] + %.sroa.0163.0 = phi i64 [ 513, %30 ], [ %29, %25 ], [ 513, %_ZNK4llvm3LLT14getSizeInBytesEv.exit.preheader ], [ %.sroa.0163.1175, %38 ], [ %49, %_ZNK4llvm3LLT14getSizeInBytesEv.exit92 ] %57 = load i64, ptr %2, align 8 - %.not180 = icmp eq i64 %57, 0 - br i1 %.not180, label %.loopexit, label %.lr.ph184 + %.not181 = icmp eq i64 %57, 0 + br i1 %.not181, label %.loopexit, label %.lr.ph185 -.lr.ph184: ; preds = %.critedge +.lr.ph185: ; preds = %.critedge %.sroa.219.0..sroa_idx = getelementptr inbounds nuw i8, ptr %9, i64 8 %.sroa.214.0..sroa_idx = getelementptr inbounds nuw i8, ptr %10, i64 8 %.sroa.29.0..sroa_idx = getelementptr inbounds nuw i8, ptr %11, i64 8 @@ -63148,18 +63115,18 @@ _ZNK4llvm3LLT14getSizeInBytesEv.exit92: ; preds = %38 %61 = getelementptr inbounds nuw i8, ptr %0, i64 16 br label %62 -62: ; preds = %.lr.ph184, %_ZNSt6vectorIN4llvm3LLTESaIS1_EE9push_backERKS1_.exit - %.063183 = phi i32 [ 0, %.lr.ph184 ], [ %175, %_ZNSt6vectorIN4llvm3LLTESaIS1_EE9push_backERKS1_.exit ] - %.064182 = phi i64 [ %57, %.lr.ph184 ], [ %203, %_ZNSt6vectorIN4llvm3LLTESaIS1_EE9push_backERKS1_.exit ] - %.sroa.0163.2181 = phi i64 [ %.sroa.0163.0, %.lr.ph184 ], [ %.sroa.0163.3.lcssa, %_ZNSt6vectorIN4llvm3LLTESaIS1_EE9push_backERKS1_.exit ] - %63 = and i64 %.sroa.0163.2181, -7 +62: ; preds = %.lr.ph185, %_ZNSt6vectorIN4llvm3LLTESaIS1_EE9push_backERKS1_.exit + %.063184 = phi i32 [ 0, %.lr.ph185 ], [ %168, %_ZNSt6vectorIN4llvm3LLTESaIS1_EE9push_backERKS1_.exit ] + %.064183 = phi i64 [ %57, %.lr.ph185 ], [ %196, %_ZNSt6vectorIN4llvm3LLTESaIS1_EE9push_backERKS1_.exit ] + %.sroa.0163.2182 = phi i64 [ %.sroa.0163.0, %.lr.ph185 ], [ %.sroa.0163.3.lcssa, %_ZNSt6vectorIN4llvm3LLTESaIS1_EE9push_backERKS1_.exit ] + %63 = and i64 %.sroa.0163.2182, -7 %spec.select.i.i.i.i93 = icmp ne i64 %63, 0 - %64 = and i64 %.sroa.0163.2181, 2 + %64 = and i64 %.sroa.0163.2182, 2 %.not.i.not.i.i94 = icmp eq i64 %64, 0 - %65 = and i64 %.sroa.0163.2181, 6 + %65 = and i64 %.sroa.0163.2182, 6 %66 = icmp eq i64 %65, 2 %or.cond.i.i95 = and i1 %spec.select.i.i.i.i93, %66 - %67 = and i64 %.sroa.0163.2181, 1 + %67 = and i64 %.sroa.0163.2182, 1 %68 = icmp ne i64 %67, 0 %or.cond14.i.i96 = or i1 %68, %or.cond.i.i95 br i1 %or.cond14.i.i96, label %69, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i97 @@ -63169,34 +63136,34 @@ _ZNK4llvm3LLT14getSizeInBytesEv.exit92: ; preds = %38 br i1 %.not.i1.i.i108, label %72, label %70 70: ; preds = %69 - %71 = lshr i64 %.sroa.0163.2181, 3 + %71 = lshr i64 %.sroa.0163.2182, 3 br label %_ZNK4llvm3LLT14getSizeInBytesEv.exit111 72: ; preds = %69 - %73 = and i64 %.sroa.0163.2181, 4 + %73 = and i64 %.sroa.0163.2182, 4 %.not1.i2.i.i109 = icmp eq i64 %73, 0 br i1 %.not1.i2.i.i109, label %77, label %74 74: ; preds = %72 - %75 = lshr i64 %.sroa.0163.2181, 19 + %75 = lshr i64 %.sroa.0163.2182, 19 %76 = and i64 %75, 65535 %spec.select.i.i.i110 = select i1 %.not.i.not.i.i94, i64 %75, i64 %76 br label %_ZNK4llvm3LLT14getSizeInBytesEv.exit111 77: ; preds = %72 - %78 = lshr i64 %.sroa.0163.2181, 3 + %78 = lshr i64 %.sroa.0163.2182, 3 %79 = and i64 %78, 65535 br label %_ZNK4llvm3LLT14getSizeInBytesEv.exit111 _ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i97: ; preds = %62 - %80 = lshr i64 %.sroa.0163.2181, 3 + %80 = lshr i64 %.sroa.0163.2182, 3 %.sroa.0.0.insert.ext.i.i.i.i98 = and i64 %80, 65535 %81 = select i1 %.not.i.not.i.i94, i64 2251799813685248, i64 576460752303423488 - %82 = and i64 %81, %.sroa.0163.2181 + %82 = and i64 %81, %.sroa.0163.2182 %.not1.i4.i.i99 = icmp ne i64 %82, 0 - %83 = and i64 %.sroa.0163.2181, 4 + %83 = and i64 %.sroa.0163.2182, 4 %.not1.i8.i.i100 = icmp eq i64 %83, 0 - %84 = lshr i64 %.sroa.0163.2181, 19 + %84 = lshr i64 %.sroa.0163.2182, 19 %85 = and i64 %84, 65535 %spec.select.i10.i.i101 = select i1 %.not.i.not.i.i94, i64 %84, i64 %85 %.0.in.i6.i.i102 = select i1 %.not1.i8.i.i100, i64 %.sroa.0.0.insert.ext.i.i.i.i98, i64 %spec.select.i10.i.i101 @@ -63214,264 +63181,251 @@ _ZNK4llvm3LLT14getSizeInBytesEv.exit111: ; preds = %70, %74, %77, %_ZNK store i8 %.sroa.3.0.i.i104, ptr %.sroa.219.0..sroa_idx, align 8 %90 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %9) #18 %91 = and i64 %90, 4294967295 - %92 = icmp ugt i64 %91, %.064182 - br i1 %92, label %.lr.ph177, label %._crit_edge + %92 = icmp ugt i64 %91, %.064183 + br i1 %92, label %.lr.ph178, label %._crit_edge -.lr.ph177: ; preds = %_ZNK4llvm3LLT14getSizeInBytesEv.exit111 - %.not68 = icmp eq i32 %.063183, 0 +.lr.ph178: ; preds = %_ZNK4llvm3LLT14getSizeInBytesEv.exit111 + %.not68 = icmp eq i32 %.063184, 0 br label %93 -93: ; preds = %.lr.ph177, %172 - %.sroa.0163.3176 = phi i64 [ %.sroa.0163.2181, %.lr.ph177 ], [ %.sroa.0163.4, %172 ] - %94 = and i64 %.sroa.0163.3176, -7 +93: ; preds = %.lr.ph178, %165 + %.sroa.0163.3177 = phi i64 [ %.sroa.0163.2182, %.lr.ph178 ], [ %.sroa.0163.4, %165 ] + %94 = and i64 %.sroa.0163.3177, -7 %spec.select.i.i = icmp ne i64 %94, 0 - %95 = and i64 %.sroa.0163.3176, 4 + %95 = and i64 %.sroa.0163.3177, 4 %96 = icmp ne i64 %95, 0 %97 = and i1 %spec.select.i.i, %96 - br i1 %97, label %98, label %119 + br i1 %97, label %98, label %112 98: ; preds = %93 - %99 = and i64 %.sroa.0163.3176, 2 - %.not.i.not.i = icmp eq i64 %99, 0 - %100 = and i64 %.sroa.0163.3176, 6 - %101 = icmp eq i64 %100, 2 - %102 = and i64 %.sroa.0163.3176, 1 - %103 = icmp ne i64 %102, 0 - %or.cond14.i = or i1 %103, %101 - br i1 %or.cond14.i, label %104, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i - -104: ; preds = %98 - %.not.i1.i = icmp eq i64 %102, 0 - br i1 %.not.i1.i, label %107, label %105 + %99 = and i64 %.sroa.0163.3177, 1 + %.not172 = icmp eq i64 %99, 0 + br i1 %.not172, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i, label %100 -105: ; preds = %104 - %106 = lshr i64 %.sroa.0163.3176, 3 - br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit - -107: ; preds = %104 - %108 = lshr i64 %.sroa.0163.3176, 19 - %109 = and i64 %108, 65535 - %spec.select.i.i115 = select i1 %.not.i.not.i, i64 %108, i64 %109 +100: ; preds = %98 + %101 = lshr i64 %.sroa.0163.3177, 3 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit _ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i: ; preds = %98 - %110 = lshr i64 %.sroa.0163.3176, 3 - %.sroa.0.0.insert.ext.i.i.i = and i64 %110, 65535 - %111 = select i1 %.not.i.not.i, i64 2251799813685248, i64 576460752303423488 - %112 = and i64 %111, %.sroa.0163.3176 - %.not1.i4.i = icmp ne i64 %112, 0 - %113 = lshr i64 %.sroa.0163.3176, 19 - %114 = and i64 %113, 65535 - %spec.select.i10.i = select i1 %.not.i.not.i, i64 %113, i64 %114 - %115 = mul nuw nsw i64 %spec.select.i10.i, %.sroa.0.0.insert.ext.i.i.i - %116 = zext i1 %.not1.i4.i to i8 + %102 = and i64 %.sroa.0163.3177, 2 + %.not.i.not.i = icmp eq i64 %102, 0 + %103 = lshr i64 %.sroa.0163.3177, 3 + %.sroa.0.0.insert.ext.i.i.i = and i64 %103, 65535 + %104 = select i1 %.not.i.not.i, i64 2251799813685248, i64 576460752303423488 + %105 = and i64 %104, %.sroa.0163.3177 + %.not1.i4.i = icmp ne i64 %105, 0 + %106 = lshr i64 %.sroa.0163.3177, 19 + %107 = and i64 %106, 65535 + %spec.select.i10.i = select i1 %.not.i.not.i, i64 %106, i64 %107 + %108 = mul nuw nsw i64 %spec.select.i10.i, %.sroa.0.0.insert.ext.i.i.i + %109 = zext i1 %.not1.i4.i to i8 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit -_ZNK4llvm3LLT13getSizeInBitsEv.exit: ; preds = %105, %107, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i - %.sroa.012.0.in.i = phi i64 [ %115, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i ], [ %106, %105 ], [ %spec.select.i.i115, %107 ] - %.sroa.3.0.i = phi i8 [ %116, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i ], [ 0, %105 ], [ 0, %107 ] +_ZNK4llvm3LLT13getSizeInBitsEv.exit: ; preds = %100, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i + %.sroa.012.0.in.i = phi i64 [ %108, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i ], [ %101, %100 ] + %.sroa.3.0.i = phi i8 [ %109, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i ], [ 0, %100 ] %.sroa.012.0.i = and i64 %.sroa.012.0.in.i, 4294967295 store i64 %.sroa.012.0.i, ptr %10, align 8 store i8 %.sroa.3.0.i, ptr %.sroa.214.0..sroa_idx, align 8 - %117 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %10) #18 - %118 = icmp ugt i64 %117, 64 - %spec.select = select i1 %118, i64 513, i64 257 - br label %119 + %110 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %10) #18 + %111 = icmp ugt i64 %110, 64 + %spec.select = select i1 %111, i64 513, i64 257 + br label %112 -119: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit, %93 +112: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit, %93 %.pre-phi = phi i64 [ 1, %_ZNK4llvm3LLT13getSizeInBitsEv.exit ], [ %94, %93 ] - %.sroa.0157.0 = phi i64 [ %spec.select, %_ZNK4llvm3LLT13getSizeInBitsEv.exit ], [ %.sroa.0163.3176, %93 ] + %.sroa.0157.0 = phi i64 [ %spec.select, %_ZNK4llvm3LLT13getSizeInBitsEv.exit ], [ %.sroa.0163.3177, %93 ] %spec.select.i.i.i116 = icmp ne i64 %.pre-phi, 0 - %120 = and i64 %.sroa.0157.0, 2 - %.not.i.not.i117 = icmp eq i64 %120, 0 - %121 = and i64 %.sroa.0157.0, 6 - %122 = icmp eq i64 %121, 2 - %or.cond.i118 = and i1 %spec.select.i.i.i116, %122 - %123 = and i64 %.sroa.0157.0, 1 - %124 = icmp ne i64 %123, 0 - %or.cond14.i119 = or i1 %124, %or.cond.i118 - br i1 %or.cond14.i119, label %125, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i120 - -125: ; preds = %119 - %.not.i1.i131 = icmp eq i64 %123, 0 - br i1 %.not.i1.i131, label %128, label %126 - -126: ; preds = %125 - %127 = lshr i64 %.sroa.0157.0, 3 + %113 = and i64 %.sroa.0157.0, 2 + %.not.i.not.i117 = icmp eq i64 %113, 0 + %114 = and i64 %.sroa.0157.0, 6 + %115 = icmp eq i64 %114, 2 + %or.cond.i118 = and i1 %spec.select.i.i.i116, %115 + %116 = and i64 %.sroa.0157.0, 1 + %117 = icmp ne i64 %116, 0 + %or.cond14.i119 = or i1 %117, %or.cond.i118 + br i1 %or.cond14.i119, label %118, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i120 + +118: ; preds = %112 + %.not.i1.i131 = icmp eq i64 %116, 0 + br i1 %.not.i1.i131, label %121, label %119 + +119: ; preds = %118 + %120 = lshr i64 %.sroa.0157.0, 3 br label %_ZNK4llvm3LLT14getSizeInBytesEv.exit153 -128: ; preds = %125 - %129 = and i64 %.sroa.0157.0, 4 - %.not1.i2.i132 = icmp eq i64 %129, 0 - br i1 %.not1.i2.i132, label %133, label %130 +121: ; preds = %118 + %122 = and i64 %.sroa.0157.0, 4 + %.not1.i2.i132 = icmp eq i64 %122, 0 + br i1 %.not1.i2.i132, label %126, label %123 -130: ; preds = %128 - %131 = lshr i64 %.sroa.0157.0, 19 - %132 = and i64 %131, 65535 - %spec.select.i.i133 = select i1 %.not.i.not.i117, i64 %131, i64 %132 +123: ; preds = %121 + %124 = lshr i64 %.sroa.0157.0, 19 + %125 = and i64 %124, 65535 + %spec.select.i.i133 = select i1 %.not.i.not.i117, i64 %124, i64 %125 br label %_ZNK4llvm3LLT14getSizeInBytesEv.exit153 -133: ; preds = %128 - %134 = lshr i64 %.sroa.0157.0, 3 - %135 = and i64 %134, 65535 +126: ; preds = %121 + %127 = lshr i64 %.sroa.0157.0, 3 + %128 = and i64 %127, 65535 br label %_ZNK4llvm3LLT14getSizeInBytesEv.exit153 -_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i120: ; preds = %119 - %136 = lshr i64 %.sroa.0157.0, 3 - %.sroa.0.0.insert.ext.i.i.i121 = and i64 %136, 65535 - %137 = select i1 %.not.i.not.i117, i64 2251799813685248, i64 576460752303423488 - %138 = and i64 %137, %.sroa.0157.0 - %.not1.i4.i122 = icmp ne i64 %138, 0 - %139 = and i64 %.sroa.0157.0, 4 - %.not1.i8.i123 = icmp eq i64 %139, 0 - %140 = lshr i64 %.sroa.0157.0, 19 - %141 = and i64 %140, 65535 - %spec.select.i10.i124 = select i1 %.not.i.not.i117, i64 %140, i64 %141 +_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i120: ; preds = %112 + %129 = lshr i64 %.sroa.0157.0, 3 + %.sroa.0.0.insert.ext.i.i.i121 = and i64 %129, 65535 + %130 = select i1 %.not.i.not.i117, i64 2251799813685248, i64 576460752303423488 + %131 = and i64 %130, %.sroa.0157.0 + %.not1.i4.i122 = icmp ne i64 %131, 0 + %132 = and i64 %.sroa.0157.0, 4 + %.not1.i8.i123 = icmp eq i64 %132, 0 + %133 = lshr i64 %.sroa.0157.0, 19 + %134 = and i64 %133, 65535 + %spec.select.i10.i124 = select i1 %.not.i.not.i117, i64 %133, i64 %134 %.0.in.i6.i125 = select i1 %.not1.i8.i123, i64 %.sroa.0.0.insert.ext.i.i.i121, i64 %spec.select.i10.i124 - %142 = mul nuw nsw i64 %.0.in.i6.i125, %.sroa.0.0.insert.ext.i.i.i121 - %143 = zext i1 %.not1.i4.i122 to i8 + %135 = mul nuw nsw i64 %.0.in.i6.i125, %.sroa.0.0.insert.ext.i.i.i121 + %136 = zext i1 %.not1.i4.i122 to i8 br label %_ZNK4llvm3LLT14getSizeInBytesEv.exit153 -_ZNK4llvm3LLT14getSizeInBytesEv.exit153: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i120, %133, %130, %126 - %.sroa.012.0.in.i126 = phi i64 [ %142, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i120 ], [ %127, %126 ], [ %135, %133 ], [ %spec.select.i.i133, %130 ] - %.sroa.3.0.i127 = phi i8 [ %143, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i120 ], [ 0, %126 ], [ 0, %133 ], [ 0, %130 ] +_ZNK4llvm3LLT14getSizeInBytesEv.exit153: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i120, %126, %123, %119 + %.sroa.012.0.in.i126 = phi i64 [ %135, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i120 ], [ %120, %119 ], [ %128, %126 ], [ %spec.select.i.i133, %123 ] + %.sroa.3.0.i127 = phi i8 [ %136, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i120 ], [ 0, %119 ], [ 0, %126 ], [ 0, %123 ] %.sroa.012.0.i128 = and i64 %.sroa.012.0.in.i126, 4294967295 store i64 %.sroa.012.0.i128, ptr %11, align 8 store i8 %.sroa.3.0.i127, ptr %.sroa.29.0..sroa_idx, align 8 - %144 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %11) #18 - %145 = add i64 %144, -1 - %.not.i = icmp eq i64 %145, 0 - %146 = call range(i64 0, 65) i64 @llvm.ctlz.i64(i64 %145, i1 true) - %147 = xor i64 %146, 63 - %148 = shl nuw i64 1, %147 - %149 = and i64 %148, 4294967295 - %150 = select i1 %.not.i, i64 0, i64 %149 - %151 = shl nuw nsw i64 %150, 3 - %152 = or disjoint i64 %151, 1 - %153 = add nuw nsw i64 %150, 7 - %154 = lshr i64 %153, 3 - store i64 %154, ptr %12, align 8 + %137 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %11) #18 + %138 = add i64 %137, -1 + %.not.i = icmp eq i64 %138, 0 + %139 = call range(i64 0, 65) i64 @llvm.ctlz.i64(i64 %138, i1 true) + %140 = xor i64 %139, 63 + %141 = shl nuw i64 1, %140 + %142 = and i64 %141, 4294967295 + %143 = select i1 %.not.i, i64 0, i64 %142 + %144 = shl nuw nsw i64 %143, 3 + %145 = or disjoint i64 %144, 1 + %146 = add nuw nsw i64 %143, 7 + %147 = lshr i64 %146, 3 + store i64 %147, ptr %12, align 8 store i8 0, ptr %.sroa.2.0..sroa_idx, align 8 - %155 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %12) #18 - %156 = call i16 @_ZN4llvm12getMVTForLLTENS_3LLTE(i64 %.sroa.0163.3176) #18 - br i1 %.not68, label %171, label %157 - -157: ; preds = %_ZNK4llvm3LLT14getSizeInBytesEv.exit153 - %158 = load i8, ptr %58, align 2 - %159 = trunc i8 %158 to i1 - %160 = and i64 %155, 4294967295 - %161 = icmp samesign ult i64 %160, %.064182 - %or.cond70 = and i1 %161, %159 - br i1 %or.cond70, label %162, label %171 - -162: ; preds = %157 - %163 = load i8, ptr %17, align 8 - %164 = trunc i8 %163 to i1 + %148 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %12) #18 + %149 = call i16 @_ZN4llvm12getMVTForLLTENS_3LLTE(i64 %.sroa.0163.3177) #18 + br i1 %.not68, label %164, label %150 + +150: ; preds = %_ZNK4llvm3LLT14getSizeInBytesEv.exit153 + %151 = load i8, ptr %58, align 2 + %152 = trunc i8 %151 to i1 + %153 = and i64 %148, 4294967295 + %154 = icmp samesign ult i64 %153, %.064183 + %or.cond70 = and i1 %154, %152 + br i1 %or.cond70, label %155, label %164 + +155: ; preds = %150 + %156 = load i8, ptr %17, align 8 + %157 = trunc i8 %156 to i1 %.sroa.0.0.copyload.i154 = load i8, ptr %59, align 1 - %.sroa.0.0 = select i1 %164, i8 0, i8 %.sroa.0.0.copyload.i154 - %165 = load ptr, ptr %5, align 8 - %166 = getelementptr inbounds nuw i8, ptr %165, i64 800 - %167 = load ptr, ptr %166, align 8 - %168 = call noundef zeroext i1 %167(ptr noundef nonnull align 8 dereferenceable(408123) %5, i16 %156, ptr null, i32 noundef %3, i8 %.sroa.0.0, i16 noundef zeroext 0, ptr noundef nonnull %13) #18 - %169 = load i32, ptr %13, align 4 - %170 = icmp ne i32 %169, 0 - %or.cond = select i1 %168, i1 %170, i1 false - br i1 %or.cond, label %172, label %171 - -171: ; preds = %162, %157, %_ZNK4llvm3LLT14getSizeInBytesEv.exit153 - br label %172 - -172: ; preds = %162, %171 - %.sroa.0163.4 = phi i64 [ %152, %171 ], [ %.sroa.0163.3176, %162 ] - %.1 = phi i64 [ %155, %171 ], [ %.064182, %162 ] - %173 = and i64 %.1, 4294967295 - %174 = icmp samesign ugt i64 %173, %.064182 - br i1 %174, label %93, label %._crit_edge, !llvm.loop !468 - -._crit_edge: ; preds = %172, %_ZNK4llvm3LLT14getSizeInBytesEv.exit111 - %.sroa.0163.3.lcssa = phi i64 [ %.sroa.0163.2181, %_ZNK4llvm3LLT14getSizeInBytesEv.exit111 ], [ %.sroa.0163.4, %172 ] - %.lcssa = phi i64 [ %91, %_ZNK4llvm3LLT14getSizeInBytesEv.exit111 ], [ %173, %172 ] - %175 = add i32 %.063183, 1 - %.not192.not = icmp ule i32 %175, %1 - br i1 %.not192.not, label %176, label %.loopexit - -176: ; preds = %._crit_edge - %177 = load ptr, ptr %60, align 8 - %178 = load ptr, ptr %61, align 8 - %.not.i155 = icmp eq ptr %177, %178 - br i1 %.not.i155, label %182, label %179 + %.sroa.0.0 = select i1 %157, i8 0, i8 %.sroa.0.0.copyload.i154 + %158 = load ptr, ptr %5, align 8 + %159 = getelementptr inbounds nuw i8, ptr %158, i64 800 + %160 = load ptr, ptr %159, align 8 + %161 = call noundef zeroext i1 %160(ptr noundef nonnull align 8 dereferenceable(408123) %5, i16 %149, ptr null, i32 noundef %3, i8 %.sroa.0.0, i16 noundef zeroext 0, ptr noundef nonnull %13) #18 + %162 = load i32, ptr %13, align 4 + %163 = icmp ne i32 %162, 0 + %or.cond = select i1 %161, i1 %163, i1 false + br i1 %or.cond, label %165, label %164 + +164: ; preds = %155, %150, %_ZNK4llvm3LLT14getSizeInBytesEv.exit153 + br label %165 + +165: ; preds = %155, %164 + %.sroa.0163.4 = phi i64 [ %145, %164 ], [ %.sroa.0163.3177, %155 ] + %.1 = phi i64 [ %148, %164 ], [ %.064183, %155 ] + %166 = and i64 %.1, 4294967295 + %167 = icmp samesign ugt i64 %166, %.064183 + br i1 %167, label %93, label %._crit_edge, !llvm.loop !468 + +._crit_edge: ; preds = %165, %_ZNK4llvm3LLT14getSizeInBytesEv.exit111 + %.sroa.0163.3.lcssa = phi i64 [ %.sroa.0163.2182, %_ZNK4llvm3LLT14getSizeInBytesEv.exit111 ], [ %.sroa.0163.4, %165 ] + %.lcssa = phi i64 [ %91, %_ZNK4llvm3LLT14getSizeInBytesEv.exit111 ], [ %166, %165 ] + %168 = add i32 %.063184, 1 + %.not193.not = icmp ule i32 %168, %1 + br i1 %.not193.not, label %169, label %.loopexit + +169: ; preds = %._crit_edge + %170 = load ptr, ptr %60, align 8 + %171 = load ptr, ptr %61, align 8 + %.not.i155 = icmp eq ptr %170, %171 + br i1 %.not.i155, label %175, label %172 -179: ; preds = %176 - store i64 %.sroa.0163.3.lcssa, ptr %177, align 8 - %180 = load ptr, ptr %60, align 8 - %181 = getelementptr inbounds nuw i8, ptr %180, i64 8 - store ptr %181, ptr %60, align 8 +172: ; preds = %169 + store i64 %.sroa.0163.3.lcssa, ptr %170, align 8 + %173 = load ptr, ptr %60, align 8 + %174 = getelementptr inbounds nuw i8, ptr %173, i64 8 + store ptr %174, ptr %60, align 8 br label %_ZNSt6vectorIN4llvm3LLTESaIS1_EE9push_backERKS1_.exit -182: ; preds = %176 - %183 = load ptr, ptr %0, align 8 - %184 = ptrtoint ptr %177 to i64 - %185 = ptrtoint ptr %183 to i64 - %186 = sub i64 %184, %185 - %187 = icmp eq i64 %186, 9223372036854775800 - br i1 %187, label %188, label %_ZNKSt6vectorIN4llvm3LLTESaIS1_EE12_M_check_lenEmPKc.exit.i.i +175: ; preds = %169 + %176 = load ptr, ptr %0, align 8 + %177 = ptrtoint ptr %170 to i64 + %178 = ptrtoint ptr %176 to i64 + %179 = sub i64 %177, %178 + %180 = icmp eq i64 %179, 9223372036854775800 + br i1 %180, label %181, label %_ZNKSt6vectorIN4llvm3LLTESaIS1_EE12_M_check_lenEmPKc.exit.i.i -188: ; preds = %182 +181: ; preds = %175 call void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.8) #21 unreachable -_ZNKSt6vectorIN4llvm3LLTESaIS1_EE12_M_check_lenEmPKc.exit.i.i: ; preds = %182 - %189 = ashr exact i64 %186, 3 - %.sroa.speculated.i.i.i = call i64 @llvm.umax.i64(i64 %189, i64 1) - %190 = add nsw i64 %.sroa.speculated.i.i.i, %189 - %191 = icmp ult i64 %190, %189 - %192 = call i64 @llvm.umin.i64(i64 %190, i64 1152921504606846975) - %193 = select i1 %191, i64 1152921504606846975, i64 %192 - %.not.i.i.i = icmp ne i64 %193, 0 +_ZNKSt6vectorIN4llvm3LLTESaIS1_EE12_M_check_lenEmPKc.exit.i.i: ; preds = %175 + %182 = ashr exact i64 %179, 3 + %.sroa.speculated.i.i.i = call i64 @llvm.umax.i64(i64 %182, i64 1) + %183 = add nsw i64 %.sroa.speculated.i.i.i, %182 + %184 = icmp ult i64 %183, %182 + %185 = call i64 @llvm.umin.i64(i64 %183, i64 1152921504606846975) + %186 = select i1 %184, i64 1152921504606846975, i64 %185 + %.not.i.i.i = icmp ne i64 %186, 0 call void @llvm.assume(i1 %.not.i.i.i) - %194 = shl nuw nsw i64 %193, 3 - %195 = call noalias noundef nonnull ptr @_Znwm(i64 noundef %194) #23 - %196 = getelementptr inbounds i8, ptr %195, i64 %186 - store i64 %.sroa.0163.3.lcssa, ptr %196, align 8 - %.not10.i.i.i.i.i = icmp eq ptr %183, %177 + %187 = shl nuw nsw i64 %186, 3 + %188 = call noalias noundef nonnull ptr @_Znwm(i64 noundef %187) #23 + %189 = getelementptr inbounds i8, ptr %188, i64 %179 + store i64 %.sroa.0163.3.lcssa, ptr %189, align 8 + %.not10.i.i.i.i.i = icmp eq ptr %176, %170 br i1 %.not10.i.i.i.i.i, label %_ZNSt6vectorIN4llvm3LLTESaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit22.i.i, label %.lr.ph.i.i.i.i.i .lr.ph.i.i.i.i.i: ; preds = %_ZNKSt6vectorIN4llvm3LLTESaIS1_EE12_M_check_lenEmPKc.exit.i.i, %.lr.ph.i.i.i.i.i - %.012.i.i.i.i.i = phi ptr [ %199, %.lr.ph.i.i.i.i.i ], [ %195, %_ZNKSt6vectorIN4llvm3LLTESaIS1_EE12_M_check_lenEmPKc.exit.i.i ] - %.0911.i.i.i.i.i = phi ptr [ %198, %.lr.ph.i.i.i.i.i ], [ %183, %_ZNKSt6vectorIN4llvm3LLTESaIS1_EE12_M_check_lenEmPKc.exit.i.i ] + %.012.i.i.i.i.i = phi ptr [ %192, %.lr.ph.i.i.i.i.i ], [ %188, %_ZNKSt6vectorIN4llvm3LLTESaIS1_EE12_M_check_lenEmPKc.exit.i.i ] + %.0911.i.i.i.i.i = phi ptr [ %191, %.lr.ph.i.i.i.i.i ], [ %176, %_ZNKSt6vectorIN4llvm3LLTESaIS1_EE12_M_check_lenEmPKc.exit.i.i ] call void @llvm.experimental.noalias.scope.decl(metadata !469) call void @llvm.experimental.noalias.scope.decl(metadata !472) - %197 = load i64, ptr %.0911.i.i.i.i.i, align 8, !alias.scope !472, !noalias !469 - store i64 %197, ptr %.012.i.i.i.i.i, align 8, !alias.scope !469, !noalias !472 - %198 = getelementptr inbounds nuw i8, ptr %.0911.i.i.i.i.i, i64 8 - %199 = getelementptr inbounds nuw i8, ptr %.012.i.i.i.i.i, i64 8 - %.not.i.i.i.i.i = icmp eq ptr %198, %177 + %190 = load i64, ptr %.0911.i.i.i.i.i, align 8, !alias.scope !472, !noalias !469 + store i64 %190, ptr %.012.i.i.i.i.i, align 8, !alias.scope !469, !noalias !472 + %191 = getelementptr inbounds nuw i8, ptr %.0911.i.i.i.i.i, i64 8 + %192 = getelementptr inbounds nuw i8, ptr %.012.i.i.i.i.i, i64 8 + %.not.i.i.i.i.i = icmp eq ptr %191, %170 br i1 %.not.i.i.i.i.i, label %_ZNSt6vectorIN4llvm3LLTESaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit22.i.i, label %.lr.ph.i.i.i.i.i, !llvm.loop !474 _ZNSt6vectorIN4llvm3LLTESaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit22.i.i: ; preds = %.lr.ph.i.i.i.i.i, %_ZNKSt6vectorIN4llvm3LLTESaIS1_EE12_M_check_lenEmPKc.exit.i.i - %.0.lcssa.i.i.i.i.i = phi ptr [ %195, %_ZNKSt6vectorIN4llvm3LLTESaIS1_EE12_M_check_lenEmPKc.exit.i.i ], [ %199, %.lr.ph.i.i.i.i.i ] - %200 = getelementptr inbounds nuw i8, ptr %.0.lcssa.i.i.i.i.i, i64 8 - %.not.i23.i.i = icmp eq ptr %183, null - br i1 %.not.i23.i.i, label %_ZNSt6vectorIN4llvm3LLTESaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i, label %201 + %.0.lcssa.i.i.i.i.i = phi ptr [ %188, %_ZNKSt6vectorIN4llvm3LLTESaIS1_EE12_M_check_lenEmPKc.exit.i.i ], [ %192, %.lr.ph.i.i.i.i.i ] + %193 = getelementptr inbounds nuw i8, ptr %.0.lcssa.i.i.i.i.i, i64 8 + %.not.i23.i.i = icmp eq ptr %176, null + br i1 %.not.i23.i.i, label %_ZNSt6vectorIN4llvm3LLTESaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i, label %194 -201: ; preds = %_ZNSt6vectorIN4llvm3LLTESaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit22.i.i - call void @_ZdlPvm(ptr noundef nonnull %183, i64 noundef %186) #19 +194: ; preds = %_ZNSt6vectorIN4llvm3LLTESaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit22.i.i + call void @_ZdlPvm(ptr noundef nonnull %176, i64 noundef %179) #19 br label %_ZNSt6vectorIN4llvm3LLTESaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i -_ZNSt6vectorIN4llvm3LLTESaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i: ; preds = %201, %_ZNSt6vectorIN4llvm3LLTESaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit22.i.i - store ptr %195, ptr %0, align 8 - store ptr %200, ptr %60, align 8 - %202 = getelementptr inbounds nuw %"class.llvm::LLT", ptr %195, i64 %193 - store ptr %202, ptr %61, align 8 +_ZNSt6vectorIN4llvm3LLTESaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i: ; preds = %194, %_ZNSt6vectorIN4llvm3LLTESaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit22.i.i + store ptr %188, ptr %0, align 8 + store ptr %193, ptr %60, align 8 + %195 = getelementptr inbounds nuw %"class.llvm::LLT", ptr %188, i64 %186 + store ptr %195, ptr %61, align 8 br label %_ZNSt6vectorIN4llvm3LLTESaIS1_EE9push_backERKS1_.exit -_ZNSt6vectorIN4llvm3LLTESaIS1_EE9push_backERKS1_.exit: ; preds = %179, %_ZNSt6vectorIN4llvm3LLTESaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i - %203 = sub i64 %.064182, %.lcssa - %.not = icmp eq i64 %203, 0 +_ZNSt6vectorIN4llvm3LLTESaIS1_EE9push_backERKS1_.exit: ; preds = %172, %_ZNSt6vectorIN4llvm3LLTESaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i + %196 = sub i64 %.064183, %.lcssa + %.not = icmp eq i64 %196, 0 br i1 %.not, label %.loopexit, label %62, !llvm.loop !475 .loopexit: ; preds = %._crit_edge, %_ZNSt6vectorIN4llvm3LLTESaIS1_EE9push_backERKS1_.exit, %.critedge, %21 - %.0 = phi i1 [ false, %21 ], [ true, %.critedge ], [ %.not192.not, %_ZNSt6vectorIN4llvm3LLTESaIS1_EE9push_backERKS1_.exit ], [ %.not192.not, %._crit_edge ] + %.0 = phi i1 [ false, %21 ], [ true, %.critedge ], [ %.not193.not, %_ZNSt6vectorIN4llvm3LLTESaIS1_EE9push_backERKS1_.exit ], [ %.not193.not, %._crit_edge ] ret i1 %.0 } diff --git a/bench/llvm/optimized/X86CallFrameOptimization.cpp.ll b/bench/llvm/optimized/X86CallFrameOptimization.cpp.ll index da030c76d34..d03f1ca2245 100644 --- a/bench/llvm/optimized/X86CallFrameOptimization.cpp.ll +++ b/bench/llvm/optimized/X86CallFrameOptimization.cpp.ll @@ -1585,26 +1585,26 @@ _ZN4llvm12DenseMapBaseINS_8DenseMapIjNS_6detail13DenseSetEmptyENS_12DenseMapInfo %.sroa.0118.9.ph = phi ptr [ %470, %508 ], [ %539, %577 ], [ %.sroa.0118.5, %519 ] %.0.i72.ph = phi ptr [ %509, %508 ], [ %578, %577 ], [ %.sink.i.i.i.i.i, %519 ] %.pr = load i32, ptr %.0.i72.ph, align 4, !noalias !9 + %588 = icmp ne i32 %.pr, -1 + %589 = sext i1 %588 to i32 br label %_ZN4llvm12DenseMapBaseINS_8DenseMapIjNS_6detail13DenseSetEmptyENS_12DenseMapInfoIjvEENS2_12DenseSetPairIjEEEEjS3_S5_S7_E15LookupBucketForIjEEbRKT_RPS7_.exit.i _ZN4llvm12DenseMapBaseINS_8DenseMapIjNS_6detail13DenseSetEmptyENS_12DenseMapInfoIjvEENS2_12DenseSetPairIjEEEEjS3_S5_S7_E15LookupBucketForIjEEbRKT_RPS7_.exit.i: ; preds = %510, %579, %_ZN4llvm12DenseMapBaseINS_8DenseMapIjNS_6detail13DenseSetEmptyENS_12DenseMapInfoIjvEENS2_12DenseSetPairIjEEEEjS3_S5_S7_E15LookupBucketForIjEEbRKT_RPS7_.exit.ithread-pre-split, %_ZN4llvm8DenseMapIjNS_6detail13DenseSetEmptyENS_12DenseMapInfoIjvEENS1_12DenseSetPairIjEEE4growEj.exit, %_ZN4llvm8DenseMapIjNS_6detail13DenseSetEmptyENS_12DenseMapInfoIjvEENS1_12DenseSetPairIjEEE4growEj.exit108 - %588 = phi i32 [ %.pr, %_ZN4llvm12DenseMapBaseINS_8DenseMapIjNS_6detail13DenseSetEmptyENS_12DenseMapInfoIjvEENS2_12DenseSetPairIjEEEEjS3_S5_S7_E15LookupBucketForIjEEbRKT_RPS7_.exit.ithread-pre-split ], [ %422, %_ZN4llvm8DenseMapIjNS_6detail13DenseSetEmptyENS_12DenseMapInfoIjvEENS1_12DenseSetPairIjEEE4growEj.exit ], [ %422, %_ZN4llvm8DenseMapIjNS_6detail13DenseSetEmptyENS_12DenseMapInfoIjvEENS1_12DenseSetPairIjEEE4growEj.exit108 ], [ %422, %579 ], [ %422, %510 ] + %590 = phi i32 [ %589, %_ZN4llvm12DenseMapBaseINS_8DenseMapIjNS_6detail13DenseSetEmptyENS_12DenseMapInfoIjvEENS2_12DenseSetPairIjEEEEjS3_S5_S7_E15LookupBucketForIjEEbRKT_RPS7_.exit.ithread-pre-split ], [ -1, %_ZN4llvm8DenseMapIjNS_6detail13DenseSetEmptyENS_12DenseMapInfoIjvEENS1_12DenseSetPairIjEEE4growEj.exit ], [ -1, %_ZN4llvm8DenseMapIjNS_6detail13DenseSetEmptyENS_12DenseMapInfoIjvEENS1_12DenseSetPairIjEEE4growEj.exit108 ], [ -1, %579 ], [ -1, %510 ] %.sroa.33.9 = phi i32 [ %.sroa.33.9.ph, %_ZN4llvm12DenseMapBaseINS_8DenseMapIjNS_6detail13DenseSetEmptyENS_12DenseMapInfoIjvEENS2_12DenseSetPairIjEEEEjS3_S5_S7_E15LookupBucketForIjEEbRKT_RPS7_.exit.ithread-pre-split ], [ %.sroa.speculated.i77, %_ZN4llvm8DenseMapIjNS_6detail13DenseSetEmptyENS_12DenseMapInfoIjvEENS1_12DenseSetPairIjEEE4growEj.exit ], [ %.sroa.speculated.i84, %_ZN4llvm8DenseMapIjNS_6detail13DenseSetEmptyENS_12DenseMapInfoIjvEENS1_12DenseSetPairIjEEE4growEj.exit108 ], [ %.sroa.speculated.i77, %579 ], [ %.sroa.speculated.i84, %510 ] %.sroa.26.9 = phi i32 [ %.sroa.26.9.ph, %_ZN4llvm12DenseMapBaseINS_8DenseMapIjNS_6detail13DenseSetEmptyENS_12DenseMapInfoIjvEENS2_12DenseSetPairIjEEEEjS3_S5_S7_E15LookupBucketForIjEEbRKT_RPS7_.exit.ithread-pre-split ], [ 0, %_ZN4llvm8DenseMapIjNS_6detail13DenseSetEmptyENS_12DenseMapInfoIjvEENS1_12DenseSetPairIjEEE4growEj.exit ], [ 0, %_ZN4llvm8DenseMapIjNS_6detail13DenseSetEmptyENS_12DenseMapInfoIjvEENS1_12DenseSetPairIjEEE4growEj.exit108 ], [ 0, %579 ], [ 0, %510 ] %.sroa.14.9 = phi i32 [ %.sroa.14.9.ph, %_ZN4llvm12DenseMapBaseINS_8DenseMapIjNS_6detail13DenseSetEmptyENS_12DenseMapInfoIjvEENS2_12DenseSetPairIjEEEEjS3_S5_S7_E15LookupBucketForIjEEbRKT_RPS7_.exit.ithread-pre-split ], [ %.sroa.14.13, %_ZN4llvm8DenseMapIjNS_6detail13DenseSetEmptyENS_12DenseMapInfoIjvEENS1_12DenseSetPairIjEEE4growEj.exit ], [ %.sroa.14.17, %_ZN4llvm8DenseMapIjNS_6detail13DenseSetEmptyENS_12DenseMapInfoIjvEENS1_12DenseSetPairIjEEE4growEj.exit108 ], [ %.sroa.14.13, %579 ], [ %.sroa.14.17, %510 ] %.sroa.0118.9 = phi ptr [ %.sroa.0118.9.ph, %_ZN4llvm12DenseMapBaseINS_8DenseMapIjNS_6detail13DenseSetEmptyENS_12DenseMapInfoIjvEENS2_12DenseSetPairIjEEEEjS3_S5_S7_E15LookupBucketForIjEEbRKT_RPS7_.exit.ithread-pre-split ], [ %539, %_ZN4llvm8DenseMapIjNS_6detail13DenseSetEmptyENS_12DenseMapInfoIjvEENS1_12DenseSetPairIjEEE4growEj.exit ], [ %470, %_ZN4llvm8DenseMapIjNS_6detail13DenseSetEmptyENS_12DenseMapInfoIjvEENS1_12DenseSetPairIjEEE4growEj.exit108 ], [ %539, %579 ], [ %470, %510 ] %.0.i72 = phi ptr [ %.0.i72.ph, %_ZN4llvm12DenseMapBaseINS_8DenseMapIjNS_6detail13DenseSetEmptyENS_12DenseMapInfoIjvEENS2_12DenseSetPairIjEEEEjS3_S5_S7_E15LookupBucketForIjEEbRKT_RPS7_.exit.ithread-pre-split ], [ %571, %_ZN4llvm8DenseMapIjNS_6detail13DenseSetEmptyENS_12DenseMapInfoIjvEENS1_12DenseSetPairIjEEE4growEj.exit ], [ %502, %_ZN4llvm8DenseMapIjNS_6detail13DenseSetEmptyENS_12DenseMapInfoIjvEENS1_12DenseSetPairIjEEE4growEj.exit108 ], [ %585, %579 ], [ %516, %510 ] - %589 = add i32 %.sroa.14.9, 1 - %590 = icmp ne i32 %588, -1 - %591 = sext i1 %590 to i32 - %spec.select = add i32 %.sroa.26.9, %591 + %591 = add i32 %.sroa.14.9, 1 + %spec.select = add i32 %.sroa.26.9, %590 store i32 %422, ptr %.0.i72, align 4, !noalias !9 br label %_ZN4llvm6detail12DenseSetImplIjNS_8DenseMapIjNS0_13DenseSetEmptyENS_12DenseMapInfoIjvEENS0_12DenseSetPairIjEEEES5_E6insertEOj.exit.i _ZN4llvm6detail12DenseSetImplIjNS_8DenseMapIjNS0_13DenseSetEmptyENS_12DenseMapInfoIjvEENS0_12DenseSetPairIjEEEES5_E6insertEOj.exit.i: ; preds = %439, %_ZN4llvm12DenseMapBaseINS_8DenseMapIjNS_6detail13DenseSetEmptyENS_12DenseMapInfoIjvEENS2_12DenseSetPairIjEEEEjS3_S5_S7_E15LookupBucketForIjEEbRKT_RPS7_.exit.i, %427, %420, %.lr.ph.i32 %.sroa.33.6 = phi i32 [ %.sroa.33.9, %_ZN4llvm12DenseMapBaseINS_8DenseMapIjNS_6detail13DenseSetEmptyENS_12DenseMapInfoIjvEENS2_12DenseSetPairIjEEEEjS3_S5_S7_E15LookupBucketForIjEEbRKT_RPS7_.exit.i ], [ %.sroa.33.5, %427 ], [ %.sroa.33.5, %420 ], [ %.sroa.33.5, %.lr.ph.i32 ], [ %.sroa.33.5, %439 ] %.sroa.26.6 = phi i32 [ %spec.select, %_ZN4llvm12DenseMapBaseINS_8DenseMapIjNS_6detail13DenseSetEmptyENS_12DenseMapInfoIjvEENS2_12DenseSetPairIjEEEEjS3_S5_S7_E15LookupBucketForIjEEbRKT_RPS7_.exit.i ], [ %.sroa.26.5, %427 ], [ %.sroa.26.5, %420 ], [ %.sroa.26.5, %.lr.ph.i32 ], [ %.sroa.26.5, %439 ] - %.sroa.14.6 = phi i32 [ %589, %_ZN4llvm12DenseMapBaseINS_8DenseMapIjNS_6detail13DenseSetEmptyENS_12DenseMapInfoIjvEENS2_12DenseSetPairIjEEEEjS3_S5_S7_E15LookupBucketForIjEEbRKT_RPS7_.exit.i ], [ %.sroa.14.5, %427 ], [ %.sroa.14.5, %420 ], [ %.sroa.14.5, %.lr.ph.i32 ], [ %.sroa.14.5, %439 ] + %.sroa.14.6 = phi i32 [ %591, %_ZN4llvm12DenseMapBaseINS_8DenseMapIjNS_6detail13DenseSetEmptyENS_12DenseMapInfoIjvEENS2_12DenseSetPairIjEEEEjS3_S5_S7_E15LookupBucketForIjEEbRKT_RPS7_.exit.i ], [ %.sroa.14.5, %427 ], [ %.sroa.14.5, %420 ], [ %.sroa.14.5, %.lr.ph.i32 ], [ %.sroa.14.5, %439 ] %.sroa.0118.6 = phi ptr [ %.sroa.0118.9, %_ZN4llvm12DenseMapBaseINS_8DenseMapIjNS_6detail13DenseSetEmptyENS_12DenseMapInfoIjvEENS2_12DenseSetPairIjEEEEjS3_S5_S7_E15LookupBucketForIjEEbRKT_RPS7_.exit.i ], [ %.sroa.0118.5, %427 ], [ %.sroa.0118.5, %420 ], [ %.sroa.0118.5, %.lr.ph.i32 ], [ %.sroa.0118.5, %439 ] %592 = getelementptr inbounds nuw i8, ptr %.05364.i, i64 32 %.not66.i = icmp eq ptr %592, %416 diff --git a/bench/llvm/optimized/X86InstructionSelector.cpp.ll b/bench/llvm/optimized/X86InstructionSelector.cpp.ll index 30e41894724..dfda8e98a67 100644 --- a/bench/llvm/optimized/X86InstructionSelector.cpp.ll +++ b/bench/llvm/optimized/X86InstructionSelector.cpp.ll @@ -8367,639 +8367,534 @@ _ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit51: ; preds = %_ZNK4llv %47 = and i64 %.sroa.04.0.i, 4 %48 = icmp ne i64 %47, 0 %49 = and i1 %spec.select.i.i, %48 - br i1 %49, label %50, label %326 + br i1 %49, label %50, label %277 50: ; preds = %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit51 %51 = and i64 %.sroa.04.0.i, 2 %.not.i.not.i = icmp eq i64 %51, 0 - %52 = and i64 %.sroa.04.0.i, 6 - %53 = icmp eq i64 %52, 2 - %54 = and i64 %.sroa.04.0.i, 1 - %55 = icmp ne i64 %54, 0 - %or.cond14.i = or i1 %55, %53 - br i1 %or.cond14.i, label %56, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i - -56: ; preds = %50 - %.not.i1.i = icmp eq i64 %54, 0 - br i1 %.not.i1.i, label %59, label %57 - -57: ; preds = %56 - %58 = lshr i64 %.sroa.04.0.i, 3 - br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit - -59: ; preds = %56 - %60 = lshr i64 %.sroa.04.0.i, 19 - %61 = and i64 %60, 65535 - %spec.select.i.i52 = select i1 %.not.i.not.i, i64 %60, i64 %61 - br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit + %52 = and i64 %.sroa.04.0.i, 1 + %.not13 = icmp eq i64 %52, 0 + %53 = lshr i64 %.sroa.04.0.i, 3 + br i1 %.not13, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i, label %_ZNK4llvm3LLT13getSizeInBitsEv.exit _ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i: ; preds = %50 - %62 = lshr i64 %.sroa.04.0.i, 3 - %.sroa.0.0.insert.ext.i.i.i = and i64 %62, 65535 - %63 = select i1 %.not.i.not.i, i64 2251799813685248, i64 576460752303423488 - %64 = and i64 %63, %.sroa.04.0.i - %.not1.i4.i = icmp ne i64 %64, 0 - %65 = lshr i64 %.sroa.04.0.i, 19 - %66 = and i64 %65, 65535 - %spec.select.i10.i = select i1 %.not.i.not.i, i64 %65, i64 %66 - %67 = mul nuw nsw i64 %spec.select.i10.i, %.sroa.0.0.insert.ext.i.i.i - %68 = zext i1 %.not1.i4.i to i8 + %.sroa.0.0.insert.ext.i.i.i = and i64 %53, 65535 + %54 = select i1 %.not.i.not.i, i64 2251799813685248, i64 576460752303423488 + %55 = and i64 %54, %.sroa.04.0.i + %.not1.i4.i = icmp ne i64 %55, 0 + %56 = lshr i64 %.sroa.04.0.i, 19 + %57 = and i64 %56, 65535 + %spec.select.i10.i = select i1 %.not.i.not.i, i64 %56, i64 %57 + %58 = mul nuw nsw i64 %spec.select.i10.i, %.sroa.0.0.insert.ext.i.i.i + %59 = zext i1 %.not1.i4.i to i8 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit -_ZNK4llvm3LLT13getSizeInBitsEv.exit: ; preds = %57, %59, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i - %.sroa.012.0.in.i = phi i64 [ %67, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i ], [ %58, %57 ], [ %spec.select.i.i52, %59 ] - %.sroa.3.0.i = phi i8 [ %68, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i ], [ 0, %57 ], [ 0, %59 ] +_ZNK4llvm3LLT13getSizeInBitsEv.exit: ; preds = %50, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i + %.sroa.012.0.in.i = phi i64 [ %58, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i ], [ %53, %50 ] + %.sroa.3.0.i = phi i8 [ %59, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i ], [ 0, %50 ] %.sroa.012.0.i = and i64 %.sroa.012.0.in.i, 4294967295 store i64 %.sroa.012.0.i, ptr %9, align 8 %.sroa.226.0..sroa_idx = getelementptr inbounds nuw i8, ptr %9, i64 8 store i8 %.sroa.3.0.i, ptr %.sroa.226.0..sroa_idx, align 8 - %69 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %9) #19 - %70 = urem i64 %23, %69 - %.not = icmp eq i64 %70, 0 - br i1 %.not, label %71, label %326 + %60 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %9) #19 + %61 = urem i64 %23, %60 + %.not = icmp eq i64 %61, 0 + br i1 %.not, label %62, label %277 -71: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit - %72 = icmp eq i64 %23, 0 - br i1 %72, label %73, label %188 +62: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit + %63 = icmp eq i64 %23, 0 + br i1 %63, label %64, label %163 -73: ; preds = %71 +64: ; preds = %62 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %5) call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %6) call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %7) call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %8) - br i1 %24, label %74, label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i + br i1 %24, label %65, label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i -74: ; preds = %73 - %75 = getelementptr inbounds nuw i8, ptr %2, i64 456 - %76 = and i32 %19, 2147483647 - %77 = zext nneg i32 %76 to i64 - %78 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(25) %75) #19 - %79 = icmp ugt i64 %78, %77 - br i1 %79, label %80, label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i - -80: ; preds = %74 - %81 = load ptr, ptr %75, align 8 - %82 = getelementptr inbounds nuw %"class.llvm::LLT", ptr %81, i64 %77 - %83 = load i64, ptr %82, align 8 +65: ; preds = %64 + %66 = getelementptr inbounds nuw i8, ptr %2, i64 456 + %67 = and i32 %19, 2147483647 + %68 = zext nneg i32 %67 to i64 + %69 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(25) %66) #19 + %70 = icmp ugt i64 %69, %68 + br i1 %70, label %71, label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i + +71: ; preds = %65 + %72 = load ptr, ptr %66, align 8 + %73 = getelementptr inbounds nuw %"class.llvm::LLT", ptr %72, i64 %68 + %74 = load i64, ptr %73, align 8 br label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i -_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i: ; preds = %80, %74, %73 - %.sroa.04.0.i.i = phi i64 [ %83, %80 ], [ 0, %74 ], [ 0, %73 ] - br i1 %35, label %84, label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit32.i - -84: ; preds = %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i - %85 = getelementptr inbounds nuw i8, ptr %2, i64 456 - %86 = and i32 %21, 2147483647 - %87 = zext nneg i32 %86 to i64 - %88 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(25) %85) #19 - %89 = icmp ugt i64 %88, %87 - br i1 %89, label %90, label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit32.i - -90: ; preds = %84 - %91 = load ptr, ptr %85, align 8 - %92 = getelementptr inbounds nuw %"class.llvm::LLT", ptr %91, i64 %87 - %93 = load i64, ptr %92, align 8 - br label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit32.i +_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i: ; preds = %71, %65, %64 + %.sroa.04.0.i.i = phi i64 [ %74, %71 ], [ 0, %65 ], [ 0, %64 ] + br i1 %35, label %75, label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit32.i -_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit32.i: ; preds = %90, %84, %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i - %.sroa.04.0.i31.i = phi i64 [ %93, %90 ], [ 0, %84 ], [ 0, %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i ] - %94 = and i64 %.sroa.04.0.i.i, -7 - %spec.select.i.i.i53 = icmp ne i64 %94, 0 - %95 = and i64 %.sroa.04.0.i.i, 4 - %96 = icmp ne i64 %95, 0 - %97 = and i1 %spec.select.i.i.i53, %96 - br i1 %97, label %98, label %_ZNK12_GLOBAL__N_122X86InstructionSelector17emitExtractSubregEjjRN4llvm12MachineInstrERNS1_19MachineRegisterInfoERNS1_15MachineFunctionE.exit.thread - -98: ; preds = %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit32.i - %99 = and i64 %.sroa.04.0.i31.i, -7 - %spec.select.i.i33.i = icmp ne i64 %99, 0 - %100 = and i64 %.sroa.04.0.i31.i, 4 - %101 = icmp ne i64 %100, 0 - %102 = and i1 %spec.select.i.i33.i, %101 - br i1 %102, label %103, label %_ZNK12_GLOBAL__N_122X86InstructionSelector17emitExtractSubregEjjRN4llvm12MachineInstrERNS1_19MachineRegisterInfoERNS1_15MachineFunctionE.exit.thread - -103: ; preds = %98 - %104 = and i64 %.sroa.04.0.i.i, 2 - %.not.i.not.i.i = icmp eq i64 %104, 0 - %105 = and i64 %.sroa.04.0.i.i, 6 - %106 = icmp eq i64 %105, 2 - %107 = and i64 %.sroa.04.0.i.i, 1 - %108 = icmp ne i64 %107, 0 - %or.cond14.i.i = or i1 %108, %106 - br i1 %or.cond14.i.i, label %109, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i - -109: ; preds = %103 - %.not.i1.i.i = icmp eq i64 %107, 0 - br i1 %.not.i1.i.i, label %112, label %110 - -110: ; preds = %109 - %111 = lshr i64 %.sroa.04.0.i.i, 3 - br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit.i +75: ; preds = %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i + %76 = getelementptr inbounds nuw i8, ptr %2, i64 456 + %77 = and i32 %21, 2147483647 + %78 = zext nneg i32 %77 to i64 + %79 = call noundef i64 @_ZNK4llvm15SmallVectorBaseIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(25) %76) #19 + %80 = icmp ugt i64 %79, %78 + br i1 %80, label %81, label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit32.i -112: ; preds = %109 - %113 = lshr i64 %.sroa.04.0.i.i, 19 - %114 = and i64 %113, 65535 - %spec.select.i.i34.i = select i1 %.not.i.not.i.i, i64 %113, i64 %114 - br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit.i +81: ; preds = %75 + %82 = load ptr, ptr %76, align 8 + %83 = getelementptr inbounds nuw %"class.llvm::LLT", ptr %82, i64 %78 + %84 = load i64, ptr %83, align 8 + br label %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit32.i + +_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit32.i: ; preds = %81, %75, %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i + %.sroa.04.0.i31.i = phi i64 [ %84, %81 ], [ 0, %75 ], [ 0, %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit.i ] + %85 = and i64 %.sroa.04.0.i.i, -7 + %spec.select.i.i.i53 = icmp ne i64 %85, 0 + %86 = and i64 %.sroa.04.0.i.i, 4 + %87 = icmp ne i64 %86, 0 + %88 = and i1 %spec.select.i.i.i53, %87 + br i1 %88, label %89, label %_ZNK12_GLOBAL__N_122X86InstructionSelector17emitExtractSubregEjjRN4llvm12MachineInstrERNS1_19MachineRegisterInfoERNS1_15MachineFunctionE.exit.thread + +89: ; preds = %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit32.i + %90 = and i64 %.sroa.04.0.i31.i, -7 + %spec.select.i.i33.i = icmp ne i64 %90, 0 + %91 = and i64 %.sroa.04.0.i31.i, 4 + %92 = icmp ne i64 %91, 0 + %93 = and i1 %spec.select.i.i33.i, %92 + br i1 %93, label %94, label %_ZNK12_GLOBAL__N_122X86InstructionSelector17emitExtractSubregEjjRN4llvm12MachineInstrERNS1_19MachineRegisterInfoERNS1_15MachineFunctionE.exit.thread -_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i: ; preds = %103 - %115 = lshr i64 %.sroa.04.0.i.i, 3 - %.sroa.0.0.insert.ext.i.i.i.i = and i64 %115, 65535 - %116 = select i1 %.not.i.not.i.i, i64 2251799813685248, i64 576460752303423488 - %117 = and i64 %116, %.sroa.04.0.i.i - %.not1.i4.i.i = icmp ne i64 %117, 0 - %118 = lshr i64 %.sroa.04.0.i.i, 19 - %119 = and i64 %118, 65535 - %spec.select.i10.i.i = select i1 %.not.i.not.i.i, i64 %118, i64 %119 - %120 = mul nuw nsw i64 %spec.select.i10.i.i, %.sroa.0.0.insert.ext.i.i.i.i - %121 = zext i1 %.not1.i4.i.i to i8 +94: ; preds = %89 + %95 = and i64 %.sroa.04.0.i.i, 2 + %.not.i.not.i.i = icmp eq i64 %95, 0 + %96 = and i64 %.sroa.04.0.i.i, 1 + %.not14.i = icmp eq i64 %96, 0 + %97 = lshr i64 %.sroa.04.0.i.i, 3 + br i1 %.not14.i, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i, label %_ZNK4llvm3LLT13getSizeInBitsEv.exit.i + +_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i: ; preds = %94 + %.sroa.0.0.insert.ext.i.i.i.i = and i64 %97, 65535 + %98 = select i1 %.not.i.not.i.i, i64 2251799813685248, i64 576460752303423488 + %99 = and i64 %98, %.sroa.04.0.i.i + %.not1.i4.i.i = icmp ne i64 %99, 0 + %100 = lshr i64 %.sroa.04.0.i.i, 19 + %101 = and i64 %100, 65535 + %spec.select.i10.i.i = select i1 %.not.i.not.i.i, i64 %100, i64 %101 + %102 = mul nuw nsw i64 %spec.select.i10.i.i, %.sroa.0.0.insert.ext.i.i.i.i + %103 = zext i1 %.not1.i4.i.i to i8 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit.i -_ZNK4llvm3LLT13getSizeInBitsEv.exit.i: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i, %112, %110 - %.sroa.012.0.in.i.i = phi i64 [ %120, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i ], [ %111, %110 ], [ %spec.select.i.i34.i, %112 ] - %.sroa.3.0.i.i = phi i8 [ %121, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i ], [ 0, %110 ], [ 0, %112 ] +_ZNK4llvm3LLT13getSizeInBitsEv.exit.i: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i, %94 + %.sroa.012.0.in.i.i = phi i64 [ %102, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i ], [ %97, %94 ] + %.sroa.3.0.i.i = phi i8 [ %103, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i.i ], [ 0, %94 ] %.sroa.012.0.i.i = and i64 %.sroa.012.0.in.i.i, 4294967295 store i64 %.sroa.012.0.i.i, ptr %5, align 8 %.sroa.28.0..sroa_idx.i = getelementptr inbounds nuw i8, ptr %5, i64 8 store i8 %.sroa.3.0.i.i, ptr %.sroa.28.0..sroa_idx.i, align 8 - %122 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %5) #19 - %123 = icmp eq i64 %122, 128 - br i1 %123, label %140, label %124 - -124: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit.i - br i1 %or.cond14.i.i, label %125, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i39.i - -125: ; preds = %124 - %.not.i1.i50.i = icmp eq i64 %107, 0 - br i1 %.not.i1.i50.i, label %128, label %126 - -126: ; preds = %125 - %127 = lshr i64 %.sroa.04.0.i.i, 3 - br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit53.i - -128: ; preds = %125 - %129 = lshr i64 %.sroa.04.0.i.i, 19 - %130 = and i64 %129, 65535 - %spec.select.i.i52.i = select i1 %.not.i.not.i.i, i64 %129, i64 %130 - br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit53.i - -_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i39.i: ; preds = %124 - %131 = lshr i64 %.sroa.04.0.i.i, 3 - %.sroa.0.0.insert.ext.i.i.i40.i = and i64 %131, 65535 - %132 = select i1 %.not.i.not.i.i, i64 2251799813685248, i64 576460752303423488 - %133 = and i64 %132, %.sroa.04.0.i.i - %.not1.i4.i41.i = icmp ne i64 %133, 0 - %134 = lshr i64 %.sroa.04.0.i.i, 19 - %135 = and i64 %134, 65535 - %spec.select.i10.i43.i = select i1 %.not.i.not.i.i, i64 %134, i64 %135 - %136 = mul nuw nsw i64 %spec.select.i10.i43.i, %.sroa.0.0.insert.ext.i.i.i40.i - %137 = zext i1 %.not1.i4.i41.i to i8 + %104 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %5) #19 + %105 = icmp eq i64 %104, 128 + br i1 %105, label %115, label %106 + +106: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit.i + br i1 %.not14.i, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i39.i, label %_ZNK4llvm3LLT13getSizeInBitsEv.exit53.i + +_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i39.i: ; preds = %106 + %.sroa.0.0.insert.ext.i.i.i40.i = and i64 %97, 65535 + %107 = select i1 %.not.i.not.i.i, i64 2251799813685248, i64 576460752303423488 + %108 = and i64 %107, %.sroa.04.0.i.i + %.not1.i4.i41.i = icmp ne i64 %108, 0 + %109 = lshr i64 %.sroa.04.0.i.i, 19 + %110 = and i64 %109, 65535 + %spec.select.i10.i43.i = select i1 %.not.i.not.i.i, i64 %109, i64 %110 + %111 = mul nuw nsw i64 %spec.select.i10.i43.i, %.sroa.0.0.insert.ext.i.i.i40.i + %112 = zext i1 %.not1.i4.i41.i to i8 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit53.i -_ZNK4llvm3LLT13getSizeInBitsEv.exit53.i: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i39.i, %128, %126 - %.sroa.012.0.in.i45.i = phi i64 [ %136, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i39.i ], [ %127, %126 ], [ %spec.select.i.i52.i, %128 ] - %.sroa.3.0.i46.i = phi i8 [ %137, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i39.i ], [ 0, %126 ], [ 0, %128 ] +_ZNK4llvm3LLT13getSizeInBitsEv.exit53.i: ; preds = %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i39.i, %106 + %.sroa.012.0.in.i45.i = phi i64 [ %111, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i39.i ], [ %97, %106 ] + %.sroa.3.0.i46.i = phi i8 [ %112, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i39.i ], [ 0, %106 ] %.sroa.012.0.i47.i = and i64 %.sroa.012.0.in.i45.i, 4294967295 store i64 %.sroa.012.0.i47.i, ptr %6, align 8 %.sroa.2.0..sroa_idx.i = getelementptr inbounds nuw i8, ptr %6, i64 8 store i8 %.sroa.3.0.i46.i, ptr %.sroa.2.0..sroa_idx.i, align 8 - %138 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %6) #19 - %139 = icmp eq i64 %138, 256 - br i1 %139, label %140, label %_ZNK12_GLOBAL__N_122X86InstructionSelector17emitExtractSubregEjjRN4llvm12MachineInstrERNS1_19MachineRegisterInfoERNS1_15MachineFunctionE.exit.thread + %113 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %6) #19 + %114 = icmp eq i64 %113, 256 + br i1 %114, label %115, label %_ZNK12_GLOBAL__N_122X86InstructionSelector17emitExtractSubregEjjRN4llvm12MachineInstrERNS1_19MachineRegisterInfoERNS1_15MachineFunctionE.exit.thread -140: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit53.i, %_ZNK4llvm3LLT13getSizeInBitsEv.exit.i +115: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit53.i, %_ZNK4llvm3LLT13getSizeInBitsEv.exit.i %.029.i = phi i32 [ 9, %_ZNK4llvm3LLT13getSizeInBitsEv.exit.i ], [ 10, %_ZNK4llvm3LLT13getSizeInBitsEv.exit53.i ] - %141 = getelementptr inbounds nuw i8, ptr %0, i64 112 - %142 = load ptr, ptr %141, align 8 - %143 = getelementptr inbounds nuw i8, ptr %0, i64 104 - %144 = load ptr, ptr %143, align 8 - %145 = call noundef ptr @_ZNK4llvm16RegisterBankInfo10getRegBankENS_8RegisterERKNS_19MachineRegisterInfoERKNS_18TargetRegisterInfoE(ptr noundef nonnull align 8 dereferenceable(160) %142, i32 %19, ptr noundef nonnull align 8 dereferenceable(512) %2, ptr noundef nonnull align 8 dereferenceable(308) %144) #19 - %146 = call fastcc noundef nonnull ptr @_ZNK12_GLOBAL__N_122X86InstructionSelector11getRegClassEN4llvm3LLTERKNS1_12RegisterBankE(ptr noundef nonnull readonly align 8 dereferenceable(1400) %0, i64 %.sroa.04.0.i.i, ptr noundef nonnull align 8 dereferenceable(24) %145) - %147 = load ptr, ptr %141, align 8 - %148 = load ptr, ptr %143, align 8 - %149 = call noundef ptr @_ZNK4llvm16RegisterBankInfo10getRegBankENS_8RegisterERKNS_19MachineRegisterInfoERKNS_18TargetRegisterInfoE(ptr noundef nonnull align 8 dereferenceable(160) %147, i32 %21, ptr noundef nonnull align 8 dereferenceable(512) %2, ptr noundef nonnull align 8 dereferenceable(308) %148) #19 - %150 = call fastcc noundef nonnull ptr @_ZNK12_GLOBAL__N_122X86InstructionSelector11getRegClassEN4llvm3LLTERKNS1_12RegisterBankE(ptr noundef nonnull readonly align 8 dereferenceable(1400) %0, i64 %.sroa.04.0.i31.i, ptr noundef nonnull align 8 dereferenceable(24) %149) - %151 = load ptr, ptr %143, align 8 - %152 = call noundef ptr @_ZNK4llvm15X86RegisterInfo21getSubClassWithSubRegEPKNS_19TargetRegisterClassEj(ptr noundef nonnull align 8 dereferenceable(328) %151, ptr noundef nonnull %150, i32 noundef %.029.i) #19 - %153 = call noundef ptr @_ZN4llvm16RegisterBankInfo24constrainGenericRegisterENS_8RegisterERKNS_19TargetRegisterClassERNS_19MachineRegisterInfoE(i32 %21, ptr noundef nonnull align 8 dereferenceable(56) %152, ptr noundef nonnull align 8 dereferenceable(512) %2) #19 - %.not.i = icmp eq ptr %153, null - br i1 %.not.i, label %_ZNK12_GLOBAL__N_122X86InstructionSelector17emitExtractSubregEjjRN4llvm12MachineInstrERNS1_19MachineRegisterInfoERNS1_15MachineFunctionE.exit.thread, label %154 - -154: ; preds = %140 - %155 = call noundef ptr @_ZN4llvm16RegisterBankInfo24constrainGenericRegisterENS_8RegisterERKNS_19TargetRegisterClassERNS_19MachineRegisterInfoE(i32 %19, ptr noundef nonnull align 8 dereferenceable(56) %146, ptr noundef nonnull align 8 dereferenceable(512) %2) #19 - %.not30.i = icmp eq ptr %155, null - br i1 %.not30.i, label %_ZNK12_GLOBAL__N_122X86InstructionSelector17emitExtractSubregEjjRN4llvm12MachineInstrERNS1_19MachineRegisterInfoERNS1_15MachineFunctionE.exit.thread, label %156 - -156: ; preds = %154 - %157 = getelementptr inbounds nuw i8, ptr %1, i64 24 - %158 = load ptr, ptr %157, align 8 - %159 = getelementptr inbounds nuw i8, ptr %1, i64 56 - %160 = load ptr, ptr %159, align 8 - store ptr %160, ptr %8, align 8 - %.not.i.i.i.i.i = icmp eq ptr %160, null + %116 = getelementptr inbounds nuw i8, ptr %0, i64 112 + %117 = load ptr, ptr %116, align 8 + %118 = getelementptr inbounds nuw i8, ptr %0, i64 104 + %119 = load ptr, ptr %118, align 8 + %120 = call noundef ptr @_ZNK4llvm16RegisterBankInfo10getRegBankENS_8RegisterERKNS_19MachineRegisterInfoERKNS_18TargetRegisterInfoE(ptr noundef nonnull align 8 dereferenceable(160) %117, i32 %19, ptr noundef nonnull align 8 dereferenceable(512) %2, ptr noundef nonnull align 8 dereferenceable(308) %119) #19 + %121 = call fastcc noundef nonnull ptr @_ZNK12_GLOBAL__N_122X86InstructionSelector11getRegClassEN4llvm3LLTERKNS1_12RegisterBankE(ptr noundef nonnull readonly align 8 dereferenceable(1400) %0, i64 %.sroa.04.0.i.i, ptr noundef nonnull align 8 dereferenceable(24) %120) + %122 = load ptr, ptr %116, align 8 + %123 = load ptr, ptr %118, align 8 + %124 = call noundef ptr @_ZNK4llvm16RegisterBankInfo10getRegBankENS_8RegisterERKNS_19MachineRegisterInfoERKNS_18TargetRegisterInfoE(ptr noundef nonnull align 8 dereferenceable(160) %122, i32 %21, ptr noundef nonnull align 8 dereferenceable(512) %2, ptr noundef nonnull align 8 dereferenceable(308) %123) #19 + %125 = call fastcc noundef nonnull ptr @_ZNK12_GLOBAL__N_122X86InstructionSelector11getRegClassEN4llvm3LLTERKNS1_12RegisterBankE(ptr noundef nonnull readonly align 8 dereferenceable(1400) %0, i64 %.sroa.04.0.i31.i, ptr noundef nonnull align 8 dereferenceable(24) %124) + %126 = load ptr, ptr %118, align 8 + %127 = call noundef ptr @_ZNK4llvm15X86RegisterInfo21getSubClassWithSubRegEPKNS_19TargetRegisterClassEj(ptr noundef nonnull align 8 dereferenceable(328) %126, ptr noundef nonnull %125, i32 noundef %.029.i) #19 + %128 = call noundef ptr @_ZN4llvm16RegisterBankInfo24constrainGenericRegisterENS_8RegisterERKNS_19TargetRegisterClassERNS_19MachineRegisterInfoE(i32 %21, ptr noundef nonnull align 8 dereferenceable(56) %127, ptr noundef nonnull align 8 dereferenceable(512) %2) #19 + %.not.i = icmp eq ptr %128, null + br i1 %.not.i, label %_ZNK12_GLOBAL__N_122X86InstructionSelector17emitExtractSubregEjjRN4llvm12MachineInstrERNS1_19MachineRegisterInfoERNS1_15MachineFunctionE.exit.thread, label %129 + +129: ; preds = %115 + %130 = call noundef ptr @_ZN4llvm16RegisterBankInfo24constrainGenericRegisterENS_8RegisterERKNS_19TargetRegisterClassERNS_19MachineRegisterInfoE(i32 %19, ptr noundef nonnull align 8 dereferenceable(56) %121, ptr noundef nonnull align 8 dereferenceable(512) %2) #19 + %.not30.i = icmp eq ptr %130, null + br i1 %.not30.i, label %_ZNK12_GLOBAL__N_122X86InstructionSelector17emitExtractSubregEjjRN4llvm12MachineInstrERNS1_19MachineRegisterInfoERNS1_15MachineFunctionE.exit.thread, label %131 + +131: ; preds = %129 + %132 = getelementptr inbounds nuw i8, ptr %1, i64 24 + %133 = load ptr, ptr %132, align 8 + %134 = getelementptr inbounds nuw i8, ptr %1, i64 56 + %135 = load ptr, ptr %134, align 8 + store ptr %135, ptr %8, align 8 + %.not.i.i.i.i.i = icmp eq ptr %135, null br i1 %.not.i.i.i.i.i, label %_ZN4llvm10MIMetadataC2ENS_8DebugLocEPNS_6MDNodeES3_.exit.sink.split.i, label %_ZN4llvm8DebugLocC2ERKS0_.exit.i -_ZN4llvm8DebugLocC2ERKS0_.exit.i: ; preds = %156 - %161 = call noundef zeroext i1 @_ZN4llvm16MetadataTracking5trackEPvRNS_8MetadataENS_12PointerUnionIJPNS_15MetadataAsValueEPS2_PNS_14DebugValueUserEEEE(ptr noundef nonnull align 8 dereferenceable(8) %8, ptr noundef nonnull align 4 dereferenceable(8) %160, i64 1) #19 +_ZN4llvm8DebugLocC2ERKS0_.exit.i: ; preds = %131 + %136 = call noundef zeroext i1 @_ZN4llvm16MetadataTracking5trackEPvRNS_8MetadataENS_12PointerUnionIJPNS_15MetadataAsValueEPS2_PNS_14DebugValueUserEEEE(ptr noundef nonnull align 8 dereferenceable(8) %8, ptr noundef nonnull align 4 dereferenceable(8) %135, i64 1) #19 %.pr.i = load ptr, ptr %8, align 8 store ptr %.pr.i, ptr %7, align 8 %.not.i.i.i.i.i.i = icmp eq ptr %.pr.i, null - br i1 %.not.i.i.i.i.i.i, label %_ZN4llvm10MIMetadataC2ENS_8DebugLocEPNS_6MDNodeES3_.exit.i, label %162 + br i1 %.not.i.i.i.i.i.i, label %_ZN4llvm10MIMetadataC2ENS_8DebugLocEPNS_6MDNodeES3_.exit.i, label %137 -162: ; preds = %_ZN4llvm8DebugLocC2ERKS0_.exit.i - %163 = call noundef zeroext i1 @_ZN4llvm16MetadataTracking7retrackEPvRNS_8MetadataES1_(ptr noundef nonnull align 8 dereferenceable(8) %8, ptr noundef nonnull align 4 dereferenceable(8) %.pr.i, ptr noundef nonnull align 8 dereferenceable(24) %7) #19 +137: ; preds = %_ZN4llvm8DebugLocC2ERKS0_.exit.i + %138 = call noundef zeroext i1 @_ZN4llvm16MetadataTracking7retrackEPvRNS_8MetadataES1_(ptr noundef nonnull align 8 dereferenceable(8) %8, ptr noundef nonnull align 4 dereferenceable(8) %.pr.i, ptr noundef nonnull align 8 dereferenceable(24) %7) #19 br label %_ZN4llvm10MIMetadataC2ENS_8DebugLocEPNS_6MDNodeES3_.exit.sink.split.i -_ZN4llvm10MIMetadataC2ENS_8DebugLocEPNS_6MDNodeES3_.exit.sink.split.i: ; preds = %162, %156 - %.sink.i = phi ptr [ %8, %162 ], [ %7, %156 ] +_ZN4llvm10MIMetadataC2ENS_8DebugLocEPNS_6MDNodeES3_.exit.sink.split.i: ; preds = %137, %131 + %.sink.i = phi ptr [ %8, %137 ], [ %7, %131 ] store ptr null, ptr %.sink.i, align 8 br label %_ZN4llvm10MIMetadataC2ENS_8DebugLocEPNS_6MDNodeES3_.exit.i _ZN4llvm10MIMetadataC2ENS_8DebugLocEPNS_6MDNodeES3_.exit.i: ; preds = %_ZN4llvm10MIMetadataC2ENS_8DebugLocEPNS_6MDNodeES3_.exit.sink.split.i, %_ZN4llvm8DebugLocC2ERKS0_.exit.i - %164 = getelementptr inbounds nuw i8, ptr %7, i64 8 - %165 = getelementptr inbounds nuw i8, ptr %0, i64 96 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %164, i8 0, i64 16, i1 false) - %166 = load ptr, ptr %165, align 8 - %167 = getelementptr inbounds nuw i8, ptr %166, i64 8 - %168 = load ptr, ptr %167, align 8 - %169 = getelementptr inbounds i8, ptr %168, i64 -608 - %170 = getelementptr inbounds nuw i8, ptr %1, i64 44 - %171 = load i32, ptr %170, align 4 - %172 = and i32 %171, 4 - %.not.i.i = icmp eq i32 %172, 0 - br i1 %.not.i.i, label %175, label %173 - -173: ; preds = %_ZN4llvm10MIMetadataC2ENS_8DebugLocEPNS_6MDNodeES3_.exit.i - %174 = call { ptr, ptr } @_ZN4llvm7BuildMIERNS_17MachineBasicBlockENS_14ilist_iteratorINS_12ilist_detail12node_optionsINS_12MachineInstrELb1ELb1EvLb0EvEELb0ELb0EEERKNS_10MIMetadataERKNS_11MCInstrDescENS_8RegisterE(ptr noundef nonnull align 8 dereferenceable(288) %158, ptr nonnull align 8 dereferenceable(70) %1, ptr noundef nonnull align 8 dereferenceable(24) %7, ptr noundef nonnull align 8 dereferenceable(32) %169, i32 %19) + %139 = getelementptr inbounds nuw i8, ptr %7, i64 8 + %140 = getelementptr inbounds nuw i8, ptr %0, i64 96 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %139, i8 0, i64 16, i1 false) + %141 = load ptr, ptr %140, align 8 + %142 = getelementptr inbounds nuw i8, ptr %141, i64 8 + %143 = load ptr, ptr %142, align 8 + %144 = getelementptr inbounds i8, ptr %143, i64 -608 + %145 = getelementptr inbounds nuw i8, ptr %1, i64 44 + %146 = load i32, ptr %145, align 4 + %147 = and i32 %146, 4 + %.not.i.i = icmp eq i32 %147, 0 + br i1 %.not.i.i, label %150, label %148 + +148: ; preds = %_ZN4llvm10MIMetadataC2ENS_8DebugLocEPNS_6MDNodeES3_.exit.i + %149 = call { ptr, ptr } @_ZN4llvm7BuildMIERNS_17MachineBasicBlockENS_14ilist_iteratorINS_12ilist_detail12node_optionsINS_12MachineInstrELb1ELb1EvLb0EvEELb0ELb0EEERKNS_10MIMetadataERKNS_11MCInstrDescENS_8RegisterE(ptr noundef nonnull align 8 dereferenceable(288) %133, ptr nonnull align 8 dereferenceable(70) %1, ptr noundef nonnull align 8 dereferenceable(24) %7, ptr noundef nonnull align 8 dereferenceable(32) %144, i32 %19) br label %_ZN4llvm7BuildMIERNS_17MachineBasicBlockERNS_12MachineInstrERKNS_10MIMetadataERKNS_11MCInstrDescENS_8RegisterE.exit.i -175: ; preds = %_ZN4llvm10MIMetadataC2ENS_8DebugLocEPNS_6MDNodeES3_.exit.i - %176 = call { ptr, ptr } @_ZN4llvm7BuildMIERNS_17MachineBasicBlockENS_26MachineInstrBundleIteratorINS_12MachineInstrELb0EEERKNS_10MIMetadataERKNS_11MCInstrDescENS_8RegisterE(ptr noundef nonnull align 8 dereferenceable(288) %158, ptr nonnull align 8 dereferenceable(70) %1, ptr noundef nonnull align 8 dereferenceable(24) %7, ptr noundef nonnull align 8 dereferenceable(32) %169, i32 %19) +150: ; preds = %_ZN4llvm10MIMetadataC2ENS_8DebugLocEPNS_6MDNodeES3_.exit.i + %151 = call { ptr, ptr } @_ZN4llvm7BuildMIERNS_17MachineBasicBlockENS_26MachineInstrBundleIteratorINS_12MachineInstrELb0EEERKNS_10MIMetadataERKNS_11MCInstrDescENS_8RegisterE(ptr noundef nonnull align 8 dereferenceable(288) %133, ptr nonnull align 8 dereferenceable(70) %1, ptr noundef nonnull align 8 dereferenceable(24) %7, ptr noundef nonnull align 8 dereferenceable(32) %144, i32 %19) br label %_ZN4llvm7BuildMIERNS_17MachineBasicBlockERNS_12MachineInstrERKNS_10MIMetadataERKNS_11MCInstrDescENS_8RegisterE.exit.i -_ZN4llvm7BuildMIERNS_17MachineBasicBlockERNS_12MachineInstrERKNS_10MIMetadataERKNS_11MCInstrDescENS_8RegisterE.exit.i: ; preds = %175, %173 - %.pn.i.i = phi { ptr, ptr } [ %174, %173 ], [ %176, %175 ] - %177 = extractvalue { ptr, ptr } %.pn.i.i, 0 - %178 = extractvalue { ptr, ptr } %.pn.i.i, 1 +_ZN4llvm7BuildMIERNS_17MachineBasicBlockERNS_12MachineInstrERKNS_10MIMetadataERKNS_11MCInstrDescENS_8RegisterE.exit.i: ; preds = %150, %148 + %.pn.i.i = phi { ptr, ptr } [ %149, %148 ], [ %151, %150 ] + %152 = extractvalue { ptr, ptr } %.pn.i.i, 0 + %153 = extractvalue { ptr, ptr } %.pn.i.i, 1 call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %4) - %179 = getelementptr inbounds nuw i8, ptr %4, i64 8 - store ptr null, ptr %179, align 8, !alias.scope !212 - %180 = getelementptr inbounds nuw i8, ptr %4, i64 4 - store i32 %21, ptr %180, align 4, !alias.scope !212 - %181 = getelementptr inbounds nuw i8, ptr %4, i64 16 - %182 = shl nuw nsw i32 %.029.i, 8 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %181, i8 0, i64 16, i1 false), !alias.scope !212 - store i32 %182, ptr %4, align 8, !alias.scope !212 - call void @_ZN4llvm12MachineInstr10addOperandERNS_15MachineFunctionERKNS_14MachineOperandE(ptr noundef nonnull align 8 dereferenceable(70) %178, ptr noundef nonnull align 8 dereferenceable(1041) %177, ptr noundef nonnull align 8 dereferenceable(32) %4) #19 + %154 = getelementptr inbounds nuw i8, ptr %4, i64 8 + store ptr null, ptr %154, align 8, !alias.scope !212 + %155 = getelementptr inbounds nuw i8, ptr %4, i64 4 + store i32 %21, ptr %155, align 4, !alias.scope !212 + %156 = getelementptr inbounds nuw i8, ptr %4, i64 16 + %157 = shl nuw nsw i32 %.029.i, 8 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %156, i8 0, i64 16, i1 false), !alias.scope !212 + store i32 %157, ptr %4, align 8, !alias.scope !212 + call void @_ZN4llvm12MachineInstr10addOperandERNS_15MachineFunctionERKNS_14MachineOperandE(ptr noundef nonnull align 8 dereferenceable(70) %153, ptr noundef nonnull align 8 dereferenceable(1041) %152, ptr noundef nonnull align 8 dereferenceable(32) %4) #19 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %4) - %183 = load ptr, ptr %7, align 8 - %.not.i.i.i.i.i54.i = icmp eq ptr %183, null - br i1 %.not.i.i.i.i.i54.i, label %_ZN4llvm10MIMetadataD2Ev.exit.i, label %184 + %158 = load ptr, ptr %7, align 8 + %.not.i.i.i.i.i54.i = icmp eq ptr %158, null + br i1 %.not.i.i.i.i.i54.i, label %_ZN4llvm10MIMetadataD2Ev.exit.i, label %159 -184: ; preds = %_ZN4llvm7BuildMIERNS_17MachineBasicBlockERNS_12MachineInstrERKNS_10MIMetadataERKNS_11MCInstrDescENS_8RegisterE.exit.i - call void @_ZN4llvm16MetadataTracking7untrackEPvRNS_8MetadataE(ptr noundef nonnull align 8 dereferenceable(24) %7, ptr noundef nonnull align 4 dereferenceable(8) %183) #19 +159: ; preds = %_ZN4llvm7BuildMIERNS_17MachineBasicBlockERNS_12MachineInstrERKNS_10MIMetadataERKNS_11MCInstrDescENS_8RegisterE.exit.i + call void @_ZN4llvm16MetadataTracking7untrackEPvRNS_8MetadataE(ptr noundef nonnull align 8 dereferenceable(24) %7, ptr noundef nonnull align 4 dereferenceable(8) %158) #19 br label %_ZN4llvm10MIMetadataD2Ev.exit.i -_ZN4llvm10MIMetadataD2Ev.exit.i: ; preds = %184, %_ZN4llvm7BuildMIERNS_17MachineBasicBlockERNS_12MachineInstrERKNS_10MIMetadataERKNS_11MCInstrDescENS_8RegisterE.exit.i - %185 = load ptr, ptr %8, align 8 - %.not.i.i.i.i55.i = icmp eq ptr %185, null - br i1 %.not.i.i.i.i55.i, label %187, label %186 +_ZN4llvm10MIMetadataD2Ev.exit.i: ; preds = %159, %_ZN4llvm7BuildMIERNS_17MachineBasicBlockERNS_12MachineInstrERKNS_10MIMetadataERKNS_11MCInstrDescENS_8RegisterE.exit.i + %160 = load ptr, ptr %8, align 8 + %.not.i.i.i.i55.i = icmp eq ptr %160, null + br i1 %.not.i.i.i.i55.i, label %162, label %161 -186: ; preds = %_ZN4llvm10MIMetadataD2Ev.exit.i - call void @_ZN4llvm16MetadataTracking7untrackEPvRNS_8MetadataE(ptr noundef nonnull align 8 dereferenceable(8) %8, ptr noundef nonnull align 4 dereferenceable(8) %185) #19 - br label %187 +161: ; preds = %_ZN4llvm10MIMetadataD2Ev.exit.i + call void @_ZN4llvm16MetadataTracking7untrackEPvRNS_8MetadataE(ptr noundef nonnull align 8 dereferenceable(8) %8, ptr noundef nonnull align 4 dereferenceable(8) %160) #19 + br label %162 -_ZNK12_GLOBAL__N_122X86InstructionSelector17emitExtractSubregEjjRN4llvm12MachineInstrERNS1_19MachineRegisterInfoERNS1_15MachineFunctionE.exit.thread: ; preds = %98, %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit32.i, %_ZNK4llvm3LLT13getSizeInBitsEv.exit53.i, %154, %140 +_ZNK12_GLOBAL__N_122X86InstructionSelector17emitExtractSubregEjjRN4llvm12MachineInstrERNS1_19MachineRegisterInfoERNS1_15MachineFunctionE.exit.thread: ; preds = %89, %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit32.i, %_ZNK4llvm3LLT13getSizeInBitsEv.exit53.i, %129, %115 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %5) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %6) call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %7) call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %8) - br label %326 + br label %277 -187: ; preds = %186, %_ZN4llvm10MIMetadataD2Ev.exit.i +162: ; preds = %161, %_ZN4llvm10MIMetadataD2Ev.exit.i call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %5) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %6) call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %7) call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %8) call void @_ZN4llvm12MachineInstr15eraseFromParentEv(ptr noundef nonnull align 8 dereferenceable(70) %1) #19 - br label %326 - -188: ; preds = %71 - %189 = getelementptr inbounds nuw i8, ptr %0, i64 88 - %190 = load ptr, ptr %189, align 8 - %191 = getelementptr inbounds nuw i8, ptr %190, i64 304 - %192 = load i32, ptr %191, align 8 - %193 = icmp sgt i32 %192, 6 - %194 = icmp sgt i32 %192, 8 - %195 = getelementptr inbounds nuw i8, ptr %190, i64 436 - %196 = load i8, ptr %195, align 4 - %197 = trunc i8 %196 to i1 - %198 = and i64 %.sroa.04.0.i50, -7 - %spec.select.i.i.i54 = icmp ne i64 %198, 0 - %199 = and i64 %.sroa.04.0.i50, 2 - %.not.i.not.i55 = icmp eq i64 %199, 0 - %200 = and i64 %.sroa.04.0.i50, 6 - %201 = icmp eq i64 %200, 2 - %or.cond.i56 = and i1 %spec.select.i.i.i54, %201 - %202 = and i64 %.sroa.04.0.i50, 1 - %203 = icmp ne i64 %202, 0 - %or.cond14.i57 = or i1 %203, %or.cond.i56 - br i1 %or.cond14.i57, label %204, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i58 - -204: ; preds = %188 - %.not.i1.i69 = icmp eq i64 %202, 0 - br i1 %.not.i1.i69, label %207, label %205 - -205: ; preds = %204 - %206 = lshr i64 %.sroa.04.0.i50, 3 + br label %277 + +163: ; preds = %62 + %164 = getelementptr inbounds nuw i8, ptr %0, i64 88 + %165 = load ptr, ptr %164, align 8 + %166 = getelementptr inbounds nuw i8, ptr %165, i64 304 + %167 = load i32, ptr %166, align 8 + %168 = icmp sgt i32 %167, 6 + %169 = icmp sgt i32 %167, 8 + %170 = getelementptr inbounds nuw i8, ptr %165, i64 436 + %171 = load i8, ptr %170, align 4 + %172 = trunc i8 %171 to i1 + %173 = and i64 %.sroa.04.0.i50, -7 + %spec.select.i.i.i54 = icmp ne i64 %173, 0 + %174 = and i64 %.sroa.04.0.i50, 2 + %.not.i.not.i55 = icmp eq i64 %174, 0 + %175 = and i64 %.sroa.04.0.i50, 6 + %176 = icmp eq i64 %175, 2 + %or.cond.i56 = and i1 %spec.select.i.i.i54, %176 + %177 = and i64 %.sroa.04.0.i50, 1 + %178 = icmp ne i64 %177, 0 + %or.cond14.i57 = or i1 %178, %or.cond.i56 + br i1 %or.cond14.i57, label %179, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i58 + +179: ; preds = %163 + %.not.i1.i69 = icmp eq i64 %177, 0 + br i1 %.not.i1.i69, label %182, label %180 + +180: ; preds = %179 + %181 = lshr i64 %.sroa.04.0.i50, 3 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit72 -207: ; preds = %204 - %208 = and i64 %.sroa.04.0.i50, 4 - %.not1.i2.i70 = icmp eq i64 %208, 0 - br i1 %.not1.i2.i70, label %212, label %209 +182: ; preds = %179 + %183 = and i64 %.sroa.04.0.i50, 4 + %.not1.i2.i70 = icmp eq i64 %183, 0 + br i1 %.not1.i2.i70, label %187, label %184 -209: ; preds = %207 - %210 = lshr i64 %.sroa.04.0.i50, 19 - %211 = and i64 %210, 65535 - %spec.select.i.i71 = select i1 %.not.i.not.i55, i64 %210, i64 %211 +184: ; preds = %182 + %185 = lshr i64 %.sroa.04.0.i50, 19 + %186 = and i64 %185, 65535 + %spec.select.i.i71 = select i1 %.not.i.not.i55, i64 %185, i64 %186 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit72 -212: ; preds = %207 - %213 = lshr i64 %.sroa.04.0.i50, 3 - %214 = and i64 %213, 65535 +187: ; preds = %182 + %188 = lshr i64 %.sroa.04.0.i50, 3 + %189 = and i64 %188, 65535 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit72 -_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i58: ; preds = %188 - %215 = lshr i64 %.sroa.04.0.i50, 3 - %.sroa.0.0.insert.ext.i.i.i59 = and i64 %215, 65535 - %216 = select i1 %.not.i.not.i55, i64 2251799813685248, i64 576460752303423488 - %217 = and i64 %216, %.sroa.04.0.i50 - %.not1.i4.i60 = icmp ne i64 %217, 0 - %218 = and i64 %.sroa.04.0.i50, 4 - %.not1.i8.i61 = icmp eq i64 %218, 0 - %219 = lshr i64 %.sroa.04.0.i50, 19 - %220 = and i64 %219, 65535 - %spec.select.i10.i62 = select i1 %.not.i.not.i55, i64 %219, i64 %220 +_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i58: ; preds = %163 + %190 = lshr i64 %.sroa.04.0.i50, 3 + %.sroa.0.0.insert.ext.i.i.i59 = and i64 %190, 65535 + %191 = select i1 %.not.i.not.i55, i64 2251799813685248, i64 576460752303423488 + %192 = and i64 %191, %.sroa.04.0.i50 + %.not1.i4.i60 = icmp ne i64 %192, 0 + %193 = and i64 %.sroa.04.0.i50, 4 + %.not1.i8.i61 = icmp eq i64 %193, 0 + %194 = lshr i64 %.sroa.04.0.i50, 19 + %195 = and i64 %194, 65535 + %spec.select.i10.i62 = select i1 %.not.i.not.i55, i64 %194, i64 %195 %.0.in.i6.i63 = select i1 %.not1.i8.i61, i64 %.sroa.0.0.insert.ext.i.i.i59, i64 %spec.select.i10.i62 - %221 = mul nuw nsw i64 %.0.in.i6.i63, %.sroa.0.0.insert.ext.i.i.i59 - %222 = zext i1 %.not1.i4.i60 to i8 + %196 = mul nuw nsw i64 %.0.in.i6.i63, %.sroa.0.0.insert.ext.i.i.i59 + %197 = zext i1 %.not1.i4.i60 to i8 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit72 -_ZNK4llvm3LLT13getSizeInBitsEv.exit72: ; preds = %205, %209, %212, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i58 - %.sroa.012.0.in.i64 = phi i64 [ %221, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i58 ], [ %206, %205 ], [ %214, %212 ], [ %spec.select.i.i71, %209 ] - %.sroa.3.0.i65 = phi i8 [ %222, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i58 ], [ 0, %205 ], [ 0, %212 ], [ 0, %209 ] +_ZNK4llvm3LLT13getSizeInBitsEv.exit72: ; preds = %180, %184, %187, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i58 + %.sroa.012.0.in.i64 = phi i64 [ %196, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i58 ], [ %181, %180 ], [ %189, %187 ], [ %spec.select.i.i71, %184 ] + %.sroa.3.0.i65 = phi i8 [ %197, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i58 ], [ 0, %180 ], [ 0, %187 ], [ 0, %184 ] %.sroa.012.0.i66 = and i64 %.sroa.012.0.in.i64, 4294967295 store i64 %.sroa.012.0.i66, ptr %10, align 8 %.sroa.220.0..sroa_idx = getelementptr inbounds nuw i8, ptr %10, i64 8 store i8 %.sroa.3.0.i65, ptr %.sroa.220.0..sroa_idx, align 8 - %223 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %10) #19 - %224 = icmp eq i64 %223, 256 - br i1 %224, label %225, label %.critedge - -225: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit72 - br i1 %or.cond14.i, label %226, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i77 - -226: ; preds = %225 - %.not.i1.i88 = icmp eq i64 %54, 0 - br i1 %.not.i1.i88, label %229, label %227 - -227: ; preds = %226 - %228 = lshr i64 %.sroa.04.0.i, 3 - br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit91 - -229: ; preds = %226 - %230 = lshr i64 %.sroa.04.0.i, 19 - %231 = and i64 %230, 65535 - %spec.select.i.i90 = select i1 %.not.i.not.i, i64 %230, i64 %231 - br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit91 - -_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i77: ; preds = %225 - %232 = lshr i64 %.sroa.04.0.i, 3 - %.sroa.0.0.insert.ext.i.i.i78 = and i64 %232, 65535 - %233 = select i1 %.not.i.not.i, i64 2251799813685248, i64 576460752303423488 - %234 = and i64 %233, %.sroa.04.0.i - %.not1.i4.i79 = icmp ne i64 %234, 0 - %235 = lshr i64 %.sroa.04.0.i, 19 - %236 = and i64 %235, 65535 - %spec.select.i10.i81 = select i1 %.not.i.not.i, i64 %235, i64 %236 - %237 = mul nuw nsw i64 %spec.select.i10.i81, %.sroa.0.0.insert.ext.i.i.i78 - %238 = zext i1 %.not1.i4.i79 to i8 + %198 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %10) #19 + %199 = icmp eq i64 %198, 256 + br i1 %199, label %200, label %.critedge + +200: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit72 + %201 = lshr i64 %.sroa.04.0.i, 3 + br i1 %.not13, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i77, label %_ZNK4llvm3LLT13getSizeInBitsEv.exit91 + +_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i77: ; preds = %200 + %.sroa.0.0.insert.ext.i.i.i78 = and i64 %201, 65535 + %202 = select i1 %.not.i.not.i, i64 2251799813685248, i64 576460752303423488 + %203 = and i64 %202, %.sroa.04.0.i + %.not1.i4.i79 = icmp ne i64 %203, 0 + %204 = lshr i64 %.sroa.04.0.i, 19 + %205 = and i64 %204, 65535 + %spec.select.i10.i81 = select i1 %.not.i.not.i, i64 %204, i64 %205 + %206 = mul nuw nsw i64 %spec.select.i10.i81, %.sroa.0.0.insert.ext.i.i.i78 + %207 = zext i1 %.not1.i4.i79 to i8 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit91 -_ZNK4llvm3LLT13getSizeInBitsEv.exit91: ; preds = %227, %229, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i77 - %.sroa.012.0.in.i83 = phi i64 [ %237, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i77 ], [ %228, %227 ], [ %spec.select.i.i90, %229 ] - %.sroa.3.0.i84 = phi i8 [ %238, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i77 ], [ 0, %227 ], [ 0, %229 ] +_ZNK4llvm3LLT13getSizeInBitsEv.exit91: ; preds = %200, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i77 + %.sroa.012.0.in.i83 = phi i64 [ %206, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i77 ], [ %201, %200 ] + %.sroa.3.0.i84 = phi i8 [ %207, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i77 ], [ 0, %200 ] %.sroa.012.0.i85 = and i64 %.sroa.012.0.in.i83, 4294967295 store i64 %.sroa.012.0.i85, ptr %11, align 8 %.sroa.216.0..sroa_idx = getelementptr inbounds nuw i8, ptr %11, i64 8 store i8 %.sroa.3.0.i84, ptr %.sroa.216.0..sroa_idx, align 8 - %239 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %11) #19 - %240 = icmp eq i64 %239, 128 - br i1 %240, label %241, label %.critedge + %208 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %11) #19 + %209 = icmp eq i64 %208, 128 + br i1 %209, label %210, label %.critedge -241: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit91 - %brmerge = select i1 %197, i1 true, i1 %193 - %.mux = select i1 %197, i64 -283040, i64 -282944 - br i1 %brmerge, label %296, label %326 +210: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit91 + %brmerge = select i1 %172, i1 true, i1 %168 + %.mux = select i1 %172, i64 -283040, i64 -282944 + br i1 %brmerge, label %253, label %277 .critedge: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit72, %_ZNK4llvm3LLT13getSizeInBitsEv.exit91 - br i1 %or.cond14.i57, label %242, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i96 + br i1 %or.cond14.i57, label %211, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i96 -242: ; preds = %.critedge - %.not.i1.i107 = icmp eq i64 %202, 0 - br i1 %.not.i1.i107, label %245, label %243 +211: ; preds = %.critedge + %.not.i1.i107 = icmp eq i64 %177, 0 + br i1 %.not.i1.i107, label %214, label %212 -243: ; preds = %242 - %244 = lshr i64 %.sroa.04.0.i50, 3 +212: ; preds = %211 + %213 = lshr i64 %.sroa.04.0.i50, 3 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit110 -245: ; preds = %242 - %246 = and i64 %.sroa.04.0.i50, 4 - %.not1.i2.i108 = icmp eq i64 %246, 0 - br i1 %.not1.i2.i108, label %250, label %247 +214: ; preds = %211 + %215 = and i64 %.sroa.04.0.i50, 4 + %.not1.i2.i108 = icmp eq i64 %215, 0 + br i1 %.not1.i2.i108, label %219, label %216 -247: ; preds = %245 - %248 = lshr i64 %.sroa.04.0.i50, 19 - %249 = and i64 %248, 65535 - %spec.select.i.i109 = select i1 %.not.i.not.i55, i64 %248, i64 %249 +216: ; preds = %214 + %217 = lshr i64 %.sroa.04.0.i50, 19 + %218 = and i64 %217, 65535 + %spec.select.i.i109 = select i1 %.not.i.not.i55, i64 %217, i64 %218 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit110 -250: ; preds = %245 - %251 = lshr i64 %.sroa.04.0.i50, 3 - %252 = and i64 %251, 65535 +219: ; preds = %214 + %220 = lshr i64 %.sroa.04.0.i50, 3 + %221 = and i64 %220, 65535 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit110 _ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i96: ; preds = %.critedge - %253 = lshr i64 %.sroa.04.0.i50, 3 - %.sroa.0.0.insert.ext.i.i.i97 = and i64 %253, 65535 - %254 = select i1 %.not.i.not.i55, i64 2251799813685248, i64 576460752303423488 - %255 = and i64 %254, %.sroa.04.0.i50 - %.not1.i4.i98 = icmp ne i64 %255, 0 - %256 = and i64 %.sroa.04.0.i50, 4 - %.not1.i8.i99 = icmp eq i64 %256, 0 - %257 = lshr i64 %.sroa.04.0.i50, 19 - %258 = and i64 %257, 65535 - %spec.select.i10.i100 = select i1 %.not.i.not.i55, i64 %257, i64 %258 + %222 = lshr i64 %.sroa.04.0.i50, 3 + %.sroa.0.0.insert.ext.i.i.i97 = and i64 %222, 65535 + %223 = select i1 %.not.i.not.i55, i64 2251799813685248, i64 576460752303423488 + %224 = and i64 %223, %.sroa.04.0.i50 + %.not1.i4.i98 = icmp ne i64 %224, 0 + %225 = and i64 %.sroa.04.0.i50, 4 + %.not1.i8.i99 = icmp eq i64 %225, 0 + %226 = lshr i64 %.sroa.04.0.i50, 19 + %227 = and i64 %226, 65535 + %spec.select.i10.i100 = select i1 %.not.i.not.i55, i64 %226, i64 %227 %.0.in.i6.i101 = select i1 %.not1.i8.i99, i64 %.sroa.0.0.insert.ext.i.i.i97, i64 %spec.select.i10.i100 - %259 = mul nuw nsw i64 %.0.in.i6.i101, %.sroa.0.0.insert.ext.i.i.i97 - %260 = zext i1 %.not1.i4.i98 to i8 + %228 = mul nuw nsw i64 %.0.in.i6.i101, %.sroa.0.0.insert.ext.i.i.i97 + %229 = zext i1 %.not1.i4.i98 to i8 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit110 -_ZNK4llvm3LLT13getSizeInBitsEv.exit110: ; preds = %243, %247, %250, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i96 - %.sroa.012.0.in.i102 = phi i64 [ %259, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i96 ], [ %244, %243 ], [ %252, %250 ], [ %spec.select.i.i109, %247 ] - %.sroa.3.0.i103 = phi i8 [ %260, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i96 ], [ 0, %243 ], [ 0, %250 ], [ 0, %247 ] +_ZNK4llvm3LLT13getSizeInBitsEv.exit110: ; preds = %212, %216, %219, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i96 + %.sroa.012.0.in.i102 = phi i64 [ %228, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i96 ], [ %213, %212 ], [ %221, %219 ], [ %spec.select.i.i109, %216 ] + %.sroa.3.0.i103 = phi i8 [ %229, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i96 ], [ 0, %212 ], [ 0, %219 ], [ 0, %216 ] %.sroa.012.0.i104 = and i64 %.sroa.012.0.in.i102, 4294967295 store i64 %.sroa.012.0.i104, ptr %12, align 8 %.sroa.212.0..sroa_idx = getelementptr inbounds nuw i8, ptr %12, i64 8 store i8 %.sroa.3.0.i103, ptr %.sroa.212.0..sroa_idx, align 8 - %261 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %12) #19 - %262 = icmp eq i64 %261, 512 - %263 = and i1 %194, %262 - br i1 %263, label %264, label %326 - -264: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit110 - br i1 %or.cond14.i, label %265, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i115 - -265: ; preds = %264 - %.not.i1.i126 = icmp eq i64 %54, 0 - br i1 %.not.i1.i126, label %268, label %266 - -266: ; preds = %265 - %267 = lshr i64 %.sroa.04.0.i, 3 - br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit129 - -268: ; preds = %265 - %269 = lshr i64 %.sroa.04.0.i, 19 - %270 = and i64 %269, 65535 - %spec.select.i.i128 = select i1 %.not.i.not.i, i64 %269, i64 %270 - br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit129 - -_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i115: ; preds = %264 - %271 = lshr i64 %.sroa.04.0.i, 3 - %.sroa.0.0.insert.ext.i.i.i116 = and i64 %271, 65535 - %272 = select i1 %.not.i.not.i, i64 2251799813685248, i64 576460752303423488 - %273 = and i64 %272, %.sroa.04.0.i - %.not1.i4.i117 = icmp ne i64 %273, 0 - %274 = lshr i64 %.sroa.04.0.i, 19 - %275 = and i64 %274, 65535 - %spec.select.i10.i119 = select i1 %.not.i.not.i, i64 %274, i64 %275 - %276 = mul nuw nsw i64 %spec.select.i10.i119, %.sroa.0.0.insert.ext.i.i.i116 - %277 = zext i1 %.not1.i4.i117 to i8 + %230 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %12) #19 + %231 = icmp eq i64 %230, 512 + %232 = and i1 %169, %231 + br i1 %232, label %233, label %277 + +233: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit110 + %234 = lshr i64 %.sroa.04.0.i, 3 + br i1 %.not13, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i115, label %_ZNK4llvm3LLT13getSizeInBitsEv.exit129 + +_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i115: ; preds = %233 + %.sroa.0.0.insert.ext.i.i.i116 = and i64 %234, 65535 + %235 = select i1 %.not.i.not.i, i64 2251799813685248, i64 576460752303423488 + %236 = and i64 %235, %.sroa.04.0.i + %.not1.i4.i117 = icmp ne i64 %236, 0 + %237 = lshr i64 %.sroa.04.0.i, 19 + %238 = and i64 %237, 65535 + %spec.select.i10.i119 = select i1 %.not.i.not.i, i64 %237, i64 %238 + %239 = mul nuw nsw i64 %spec.select.i10.i119, %.sroa.0.0.insert.ext.i.i.i116 + %240 = zext i1 %.not1.i4.i117 to i8 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit129 -_ZNK4llvm3LLT13getSizeInBitsEv.exit129: ; preds = %266, %268, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i115 - %.sroa.012.0.in.i121 = phi i64 [ %276, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i115 ], [ %267, %266 ], [ %spec.select.i.i128, %268 ] - %.sroa.3.0.i122 = phi i8 [ %277, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i115 ], [ 0, %266 ], [ 0, %268 ] +_ZNK4llvm3LLT13getSizeInBitsEv.exit129: ; preds = %233, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i115 + %.sroa.012.0.in.i121 = phi i64 [ %239, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i115 ], [ %234, %233 ] + %.sroa.3.0.i122 = phi i8 [ %240, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i115 ], [ 0, %233 ] %.sroa.012.0.i123 = and i64 %.sroa.012.0.in.i121, 4294967295 store i64 %.sroa.012.0.i123, ptr %13, align 8 %.sroa.28.0..sroa_idx = getelementptr inbounds nuw i8, ptr %13, i64 8 store i8 %.sroa.3.0.i122, ptr %.sroa.28.0..sroa_idx, align 8 - %278 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %13) #19 - %279 = icmp eq i64 %278, 128 - br i1 %279, label %296, label %280 - -280: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit129 - br i1 %or.cond14.i, label %281, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i134 - -281: ; preds = %280 - %.not.i1.i145 = icmp eq i64 %54, 0 - br i1 %.not.i1.i145, label %284, label %282 - -282: ; preds = %281 - %283 = lshr i64 %.sroa.04.0.i, 3 + %241 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %13) #19 + %242 = icmp eq i64 %241, 128 + br i1 %242, label %253, label %243 + +243: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit129 + %244 = lshr i64 %.sroa.04.0.i, 3 + br i1 %.not13, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i134, label %_ZNK4llvm3LLT13getSizeInBitsEv.exit148 + +_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i134: ; preds = %243 + %.sroa.0.0.insert.ext.i.i.i135 = and i64 %244, 65535 + %245 = select i1 %.not.i.not.i, i64 2251799813685248, i64 576460752303423488 + %246 = and i64 %245, %.sroa.04.0.i + %.not1.i4.i136 = icmp ne i64 %246, 0 + %247 = lshr i64 %.sroa.04.0.i, 19 + %248 = and i64 %247, 65535 + %spec.select.i10.i138 = select i1 %.not.i.not.i, i64 %247, i64 %248 + %249 = mul nuw nsw i64 %spec.select.i10.i138, %.sroa.0.0.insert.ext.i.i.i135 + %250 = zext i1 %.not1.i4.i136 to i8 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit148 -284: ; preds = %281 - %285 = lshr i64 %.sroa.04.0.i, 19 - %286 = and i64 %285, 65535 - %spec.select.i.i147 = select i1 %.not.i.not.i, i64 %285, i64 %286 - br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit148 - -_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i134: ; preds = %280 - %287 = lshr i64 %.sroa.04.0.i, 3 - %.sroa.0.0.insert.ext.i.i.i135 = and i64 %287, 65535 - %288 = select i1 %.not.i.not.i, i64 2251799813685248, i64 576460752303423488 - %289 = and i64 %288, %.sroa.04.0.i - %.not1.i4.i136 = icmp ne i64 %289, 0 - %290 = lshr i64 %.sroa.04.0.i, 19 - %291 = and i64 %290, 65535 - %spec.select.i10.i138 = select i1 %.not.i.not.i, i64 %290, i64 %291 - %292 = mul nuw nsw i64 %spec.select.i10.i138, %.sroa.0.0.insert.ext.i.i.i135 - %293 = zext i1 %.not1.i4.i136 to i8 - br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit148 - -_ZNK4llvm3LLT13getSizeInBitsEv.exit148: ; preds = %282, %284, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i134 - %.sroa.012.0.in.i140 = phi i64 [ %292, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i134 ], [ %283, %282 ], [ %spec.select.i.i147, %284 ] - %.sroa.3.0.i141 = phi i8 [ %293, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i134 ], [ 0, %282 ], [ 0, %284 ] +_ZNK4llvm3LLT13getSizeInBitsEv.exit148: ; preds = %243, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i134 + %.sroa.012.0.in.i140 = phi i64 [ %249, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i134 ], [ %244, %243 ] + %.sroa.3.0.i141 = phi i8 [ %250, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i134 ], [ 0, %243 ] %.sroa.012.0.i142 = and i64 %.sroa.012.0.in.i140, 4294967295 store i64 %.sroa.012.0.i142, ptr %14, align 8 %.sroa.24.0..sroa_idx = getelementptr inbounds nuw i8, ptr %14, i64 8 store i8 %.sroa.3.0.i141, ptr %.sroa.24.0..sroa_idx, align 8 - %294 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %14) #19 - %295 = icmp eq i64 %294, 256 - br i1 %295, label %296, label %326 - -296: ; preds = %241, %_ZNK4llvm3LLT13getSizeInBitsEv.exit148, %_ZNK4llvm3LLT13getSizeInBitsEv.exit129 - %.sink14 = phi i64 [ %.mux, %241 ], [ -283200, %_ZNK4llvm3LLT13getSizeInBitsEv.exit129 ], [ -283840, %_ZNK4llvm3LLT13getSizeInBitsEv.exit148 ] - %297 = getelementptr inbounds nuw i8, ptr %0, i64 96 - %298 = load ptr, ptr %297, align 8 - %299 = getelementptr inbounds nuw i8, ptr %298, i64 8 - %300 = load ptr, ptr %299, align 8 - %301 = getelementptr inbounds i8, ptr %300, i64 %.sink14 - call void @_ZN4llvm12MachineInstr7setDescERKNS_11MCInstrDescE(ptr noundef nonnull align 8 dereferenceable(70) %1, ptr noundef nonnull align 8 dereferenceable(32) %301) #19 - br i1 %or.cond14.i, label %302, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i153 - -302: ; preds = %296 - %.not.i1.i164 = icmp eq i64 %54, 0 - br i1 %.not.i1.i164, label %305, label %303 - -303: ; preds = %302 - %304 = lshr i64 %.sroa.04.0.i, 3 - br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit167 - -305: ; preds = %302 - %306 = lshr i64 %.sroa.04.0.i, 19 - %307 = and i64 %306, 65535 - %spec.select.i.i166 = select i1 %.not.i.not.i, i64 %306, i64 %307 - br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit167 - -_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i153: ; preds = %296 - %308 = lshr i64 %.sroa.04.0.i, 3 - %.sroa.0.0.insert.ext.i.i.i154 = and i64 %308, 65535 - %309 = select i1 %.not.i.not.i, i64 2251799813685248, i64 576460752303423488 - %310 = and i64 %309, %.sroa.04.0.i - %.not1.i4.i155 = icmp ne i64 %310, 0 - %311 = lshr i64 %.sroa.04.0.i, 19 - %312 = and i64 %311, 65535 - %spec.select.i10.i157 = select i1 %.not.i.not.i, i64 %311, i64 %312 - %313 = mul nuw nsw i64 %spec.select.i10.i157, %.sroa.0.0.insert.ext.i.i.i154 - %314 = zext i1 %.not1.i4.i155 to i8 + %251 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %14) #19 + %252 = icmp eq i64 %251, 256 + br i1 %252, label %253, label %277 + +253: ; preds = %210, %_ZNK4llvm3LLT13getSizeInBitsEv.exit148, %_ZNK4llvm3LLT13getSizeInBitsEv.exit129 + %.sink15 = phi i64 [ %.mux, %210 ], [ -283200, %_ZNK4llvm3LLT13getSizeInBitsEv.exit129 ], [ -283840, %_ZNK4llvm3LLT13getSizeInBitsEv.exit148 ] + %254 = getelementptr inbounds nuw i8, ptr %0, i64 96 + %255 = load ptr, ptr %254, align 8 + %256 = getelementptr inbounds nuw i8, ptr %255, i64 8 + %257 = load ptr, ptr %256, align 8 + %258 = getelementptr inbounds i8, ptr %257, i64 %.sink15 + call void @_ZN4llvm12MachineInstr7setDescERKNS_11MCInstrDescE(ptr noundef nonnull align 8 dereferenceable(70) %1, ptr noundef nonnull align 8 dereferenceable(32) %258) #19 + %259 = lshr i64 %.sroa.04.0.i, 3 + br i1 %.not13, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i153, label %_ZNK4llvm3LLT13getSizeInBitsEv.exit167 + +_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i153: ; preds = %253 + %.sroa.0.0.insert.ext.i.i.i154 = and i64 %259, 65535 + %260 = select i1 %.not.i.not.i, i64 2251799813685248, i64 576460752303423488 + %261 = and i64 %260, %.sroa.04.0.i + %.not1.i4.i155 = icmp ne i64 %261, 0 + %262 = lshr i64 %.sroa.04.0.i, 19 + %263 = and i64 %262, 65535 + %spec.select.i10.i157 = select i1 %.not.i.not.i, i64 %262, i64 %263 + %264 = mul nuw nsw i64 %spec.select.i10.i157, %.sroa.0.0.insert.ext.i.i.i154 + %265 = zext i1 %.not1.i4.i155 to i8 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit167 -_ZNK4llvm3LLT13getSizeInBitsEv.exit167: ; preds = %303, %305, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i153 - %.sroa.012.0.in.i159 = phi i64 [ %313, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i153 ], [ %304, %303 ], [ %spec.select.i.i166, %305 ] - %.sroa.3.0.i160 = phi i8 [ %314, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i153 ], [ 0, %303 ], [ 0, %305 ] +_ZNK4llvm3LLT13getSizeInBitsEv.exit167: ; preds = %253, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i153 + %.sroa.012.0.in.i159 = phi i64 [ %264, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i153 ], [ %259, %253 ] + %.sroa.3.0.i160 = phi i8 [ %265, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i153 ], [ 0, %253 ] %.sroa.012.0.i161 = and i64 %.sroa.012.0.in.i159, 4294967295 store i64 %.sroa.012.0.i161, ptr %15, align 8 %.sroa.2.0..sroa_idx = getelementptr inbounds nuw i8, ptr %15, i64 8 store i8 %.sroa.3.0.i160, ptr %.sroa.2.0..sroa_idx, align 8 - %315 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %15) #19 - %316 = udiv i64 %23, %315 - %317 = load ptr, ptr %16, align 8 - %318 = getelementptr inbounds nuw i8, ptr %317, i64 80 - store i64 %316, ptr %318, align 8 - %319 = getelementptr inbounds nuw i8, ptr %0, i64 96 - %320 = load ptr, ptr %319, align 8 - %321 = getelementptr inbounds nuw i8, ptr %0, i64 104 - %322 = load ptr, ptr %321, align 8 - %323 = getelementptr inbounds nuw i8, ptr %0, i64 112 - %324 = load ptr, ptr %323, align 8 - %325 = call noundef zeroext i1 @_ZN4llvm32constrainSelectedInstRegOperandsERNS_12MachineInstrERKNS_15TargetInstrInfoERKNS_18TargetRegisterInfoERKNS_16RegisterBankInfoE(ptr noundef nonnull align 8 dereferenceable(70) %1, ptr noundef nonnull align 8 dereferenceable(80) %320, ptr noundef nonnull align 8 dereferenceable(308) %322, ptr noundef nonnull align 8 dereferenceable(160) %324) #19 - br label %326 - -326: ; preds = %241, %_ZNK12_GLOBAL__N_122X86InstructionSelector17emitExtractSubregEjjRN4llvm12MachineInstrERNS1_19MachineRegisterInfoERNS1_15MachineFunctionE.exit.thread, %_ZNK4llvm3LLT13getSizeInBitsEv.exit110, %_ZNK4llvm3LLT13getSizeInBitsEv.exit148, %_ZNK4llvm3LLT13getSizeInBitsEv.exit, %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit51, %_ZNK4llvm3LLT13getSizeInBitsEv.exit167, %187 - %.0 = phi i1 [ true, %187 ], [ %325, %_ZNK4llvm3LLT13getSizeInBitsEv.exit167 ], [ false, %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit51 ], [ false, %_ZNK4llvm3LLT13getSizeInBitsEv.exit ], [ false, %_ZNK4llvm3LLT13getSizeInBitsEv.exit148 ], [ false, %_ZNK4llvm3LLT13getSizeInBitsEv.exit110 ], [ false, %_ZNK12_GLOBAL__N_122X86InstructionSelector17emitExtractSubregEjjRN4llvm12MachineInstrERNS1_19MachineRegisterInfoERNS1_15MachineFunctionE.exit.thread ], [ false, %241 ] + %266 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %15) #19 + %267 = udiv i64 %23, %266 + %268 = load ptr, ptr %16, align 8 + %269 = getelementptr inbounds nuw i8, ptr %268, i64 80 + store i64 %267, ptr %269, align 8 + %270 = getelementptr inbounds nuw i8, ptr %0, i64 96 + %271 = load ptr, ptr %270, align 8 + %272 = getelementptr inbounds nuw i8, ptr %0, i64 104 + %273 = load ptr, ptr %272, align 8 + %274 = getelementptr inbounds nuw i8, ptr %0, i64 112 + %275 = load ptr, ptr %274, align 8 + %276 = call noundef zeroext i1 @_ZN4llvm32constrainSelectedInstRegOperandsERNS_12MachineInstrERKNS_15TargetInstrInfoERKNS_18TargetRegisterInfoERKNS_16RegisterBankInfoE(ptr noundef nonnull align 8 dereferenceable(70) %1, ptr noundef nonnull align 8 dereferenceable(80) %271, ptr noundef nonnull align 8 dereferenceable(308) %273, ptr noundef nonnull align 8 dereferenceable(160) %275) #19 + br label %277 + +277: ; preds = %210, %_ZNK12_GLOBAL__N_122X86InstructionSelector17emitExtractSubregEjjRN4llvm12MachineInstrERNS1_19MachineRegisterInfoERNS1_15MachineFunctionE.exit.thread, %_ZNK4llvm3LLT13getSizeInBitsEv.exit110, %_ZNK4llvm3LLT13getSizeInBitsEv.exit148, %_ZNK4llvm3LLT13getSizeInBitsEv.exit, %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit51, %_ZNK4llvm3LLT13getSizeInBitsEv.exit167, %162 + %.0 = phi i1 [ true, %162 ], [ %276, %_ZNK4llvm3LLT13getSizeInBitsEv.exit167 ], [ false, %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit51 ], [ false, %_ZNK4llvm3LLT13getSizeInBitsEv.exit ], [ false, %_ZNK4llvm3LLT13getSizeInBitsEv.exit148 ], [ false, %_ZNK4llvm3LLT13getSizeInBitsEv.exit110 ], [ false, %_ZNK12_GLOBAL__N_122X86InstructionSelector17emitExtractSubregEjjRN4llvm12MachineInstrERNS1_19MachineRegisterInfoERNS1_15MachineFunctionE.exit.thread ], [ false, %210 ] ret i1 %.0 } @@ -9065,7 +8960,7 @@ _ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit54: ; preds = %_ZNK4llv %44 = and i64 %.sroa.04.0.i, 4 %45 = icmp ne i64 %44, 0 %46 = and i1 %spec.select.i.i, %45 - br i1 %46, label %47, label %234 + br i1 %46, label %47, label %219 47: ; preds = %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit54 %48 = and i64 %.sroa.04.0.i53, -7 @@ -9130,7 +9025,7 @@ _ZNK4llvm3LLT13getSizeInBitsEv.exit: ; preds = %55, %59, %62, %_ZNK %73 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %4) #19 %74 = urem i64 %20, %73 %.not = icmp eq i64 %74, 0 - br i1 %.not, label %75, label %234 + br i1 %.not, label %75, label %219 75: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit %76 = icmp eq i64 %20, 0 @@ -9145,11 +9040,11 @@ _ZNK4llvm3LLT13getSizeInBitsEv.exit: ; preds = %55, %59, %62, %_ZNK 82: ; preds = %77 %83 = call fastcc noundef zeroext i1 @_ZNK12_GLOBAL__N_122X86InstructionSelector16emitInsertSubregEjjRN4llvm12MachineInstrERNS1_19MachineRegisterInfoERNS1_15MachineFunctionE(ptr noundef nonnull align 8 dereferenceable(1400) %0, i32 noundef %14, i32 noundef %18, ptr noundef nonnull align 8 dereferenceable(70) %1, ptr noundef nonnull align 8 dereferenceable(512) %2) - br i1 %83, label %84, label %234 + br i1 %83, label %84, label %219 84: ; preds = %82 call void @_ZN4llvm12MachineInstr15eraseFromParentEv(ptr noundef nonnull align 8 dereferenceable(70) %1) #19 - br label %234 + br label %219 85: ; preds = %77, %75 %86 = getelementptr inbounds nuw i8, ptr %0, i64 88 @@ -9163,333 +9058,302 @@ _ZNK4llvm3LLT13getSizeInBitsEv.exit: ; preds = %55, %59, %62, %_ZNK %94 = trunc i8 %93 to i1 %95 = and i64 %.sroa.04.0.i, 2 %.not.i.not.i57 = icmp eq i64 %95, 0 - %96 = and i64 %.sroa.04.0.i, 6 - %97 = icmp eq i64 %96, 2 - %98 = and i64 %.sroa.04.0.i, 1 - %99 = icmp ne i64 %98, 0 - %or.cond14.i59 = or i1 %99, %97 - br i1 %or.cond14.i59, label %100, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i60 - -100: ; preds = %85 - %.not.i1.i71 = icmp eq i64 %98, 0 - br i1 %.not.i1.i71, label %103, label %101 - -101: ; preds = %100 - %102 = lshr i64 %.sroa.04.0.i, 3 - br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit74 - -103: ; preds = %100 - %104 = lshr i64 %.sroa.04.0.i, 19 - %105 = and i64 %104, 65535 - %spec.select.i.i73 = select i1 %.not.i.not.i57, i64 %104, i64 %105 - br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit74 + %96 = and i64 %.sroa.04.0.i, 1 + %.not12 = icmp eq i64 %96, 0 + %97 = lshr i64 %.sroa.04.0.i, 3 + br i1 %.not12, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i60, label %_ZNK4llvm3LLT13getSizeInBitsEv.exit74 _ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i60: ; preds = %85 - %106 = lshr i64 %.sroa.04.0.i, 3 - %.sroa.0.0.insert.ext.i.i.i61 = and i64 %106, 65535 - %107 = select i1 %.not.i.not.i57, i64 2251799813685248, i64 576460752303423488 - %108 = and i64 %107, %.sroa.04.0.i - %.not1.i4.i62 = icmp ne i64 %108, 0 - %109 = lshr i64 %.sroa.04.0.i, 19 - %110 = and i64 %109, 65535 - %spec.select.i10.i64 = select i1 %.not.i.not.i57, i64 %109, i64 %110 - %111 = mul nuw nsw i64 %spec.select.i10.i64, %.sroa.0.0.insert.ext.i.i.i61 - %112 = zext i1 %.not1.i4.i62 to i8 + %.sroa.0.0.insert.ext.i.i.i61 = and i64 %97, 65535 + %98 = select i1 %.not.i.not.i57, i64 2251799813685248, i64 576460752303423488 + %99 = and i64 %98, %.sroa.04.0.i + %.not1.i4.i62 = icmp ne i64 %99, 0 + %100 = lshr i64 %.sroa.04.0.i, 19 + %101 = and i64 %100, 65535 + %spec.select.i10.i64 = select i1 %.not.i.not.i57, i64 %100, i64 %101 + %102 = mul nuw nsw i64 %spec.select.i10.i64, %.sroa.0.0.insert.ext.i.i.i61 + %103 = zext i1 %.not1.i4.i62 to i8 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit74 -_ZNK4llvm3LLT13getSizeInBitsEv.exit74: ; preds = %101, %103, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i60 - %.sroa.012.0.in.i66 = phi i64 [ %111, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i60 ], [ %102, %101 ], [ %spec.select.i.i73, %103 ] - %.sroa.3.0.i67 = phi i8 [ %112, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i60 ], [ 0, %101 ], [ 0, %103 ] +_ZNK4llvm3LLT13getSizeInBitsEv.exit74: ; preds = %85, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i60 + %.sroa.012.0.in.i66 = phi i64 [ %102, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i60 ], [ %97, %85 ] + %.sroa.3.0.i67 = phi i8 [ %103, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i60 ], [ 0, %85 ] %.sroa.012.0.i68 = and i64 %.sroa.012.0.in.i66, 4294967295 store i64 %.sroa.012.0.i68, ptr %5, align 8 %.sroa.220.0..sroa_idx = getelementptr inbounds nuw i8, ptr %5, i64 8 store i8 %.sroa.3.0.i67, ptr %.sroa.220.0..sroa_idx, align 8 - %113 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %5) #19 - %114 = icmp eq i64 %113, 256 - br i1 %114, label %115, label %.critedge + %104 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %5) #19 + %105 = icmp eq i64 %104, 256 + br i1 %105, label %106, label %.critedge -115: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit74 - br i1 %or.cond14.i, label %116, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i79 +106: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit74 + br i1 %or.cond14.i, label %107, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i79 -116: ; preds = %115 +107: ; preds = %106 %.not.i1.i90 = icmp eq i64 %52, 0 - br i1 %.not.i1.i90, label %119, label %117 + br i1 %.not.i1.i90, label %110, label %108 -117: ; preds = %116 - %118 = lshr i64 %.sroa.04.0.i53, 3 +108: ; preds = %107 + %109 = lshr i64 %.sroa.04.0.i53, 3 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit93 -119: ; preds = %116 - %120 = and i64 %.sroa.04.0.i53, 4 - %.not1.i2.i91 = icmp eq i64 %120, 0 - br i1 %.not1.i2.i91, label %124, label %121 +110: ; preds = %107 + %111 = and i64 %.sroa.04.0.i53, 4 + %.not1.i2.i91 = icmp eq i64 %111, 0 + br i1 %.not1.i2.i91, label %115, label %112 -121: ; preds = %119 - %122 = lshr i64 %.sroa.04.0.i53, 19 - %123 = and i64 %122, 65535 - %spec.select.i.i92 = select i1 %.not.i.not.i, i64 %122, i64 %123 +112: ; preds = %110 + %113 = lshr i64 %.sroa.04.0.i53, 19 + %114 = and i64 %113, 65535 + %spec.select.i.i92 = select i1 %.not.i.not.i, i64 %113, i64 %114 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit93 -124: ; preds = %119 - %125 = lshr i64 %.sroa.04.0.i53, 3 - %126 = and i64 %125, 65535 +115: ; preds = %110 + %116 = lshr i64 %.sroa.04.0.i53, 3 + %117 = and i64 %116, 65535 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit93 -_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i79: ; preds = %115 - %127 = lshr i64 %.sroa.04.0.i53, 3 - %.sroa.0.0.insert.ext.i.i.i80 = and i64 %127, 65535 - %128 = select i1 %.not.i.not.i, i64 2251799813685248, i64 576460752303423488 - %129 = and i64 %128, %.sroa.04.0.i53 - %.not1.i4.i81 = icmp ne i64 %129, 0 - %130 = and i64 %.sroa.04.0.i53, 4 - %.not1.i8.i82 = icmp eq i64 %130, 0 - %131 = lshr i64 %.sroa.04.0.i53, 19 - %132 = and i64 %131, 65535 - %spec.select.i10.i83 = select i1 %.not.i.not.i, i64 %131, i64 %132 +_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i79: ; preds = %106 + %118 = lshr i64 %.sroa.04.0.i53, 3 + %.sroa.0.0.insert.ext.i.i.i80 = and i64 %118, 65535 + %119 = select i1 %.not.i.not.i, i64 2251799813685248, i64 576460752303423488 + %120 = and i64 %119, %.sroa.04.0.i53 + %.not1.i4.i81 = icmp ne i64 %120, 0 + %121 = and i64 %.sroa.04.0.i53, 4 + %.not1.i8.i82 = icmp eq i64 %121, 0 + %122 = lshr i64 %.sroa.04.0.i53, 19 + %123 = and i64 %122, 65535 + %spec.select.i10.i83 = select i1 %.not.i.not.i, i64 %122, i64 %123 %.0.in.i6.i84 = select i1 %.not1.i8.i82, i64 %.sroa.0.0.insert.ext.i.i.i80, i64 %spec.select.i10.i83 - %133 = mul nuw nsw i64 %.0.in.i6.i84, %.sroa.0.0.insert.ext.i.i.i80 - %134 = zext i1 %.not1.i4.i81 to i8 + %124 = mul nuw nsw i64 %.0.in.i6.i84, %.sroa.0.0.insert.ext.i.i.i80 + %125 = zext i1 %.not1.i4.i81 to i8 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit93 -_ZNK4llvm3LLT13getSizeInBitsEv.exit93: ; preds = %117, %121, %124, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i79 - %.sroa.012.0.in.i85 = phi i64 [ %133, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i79 ], [ %118, %117 ], [ %126, %124 ], [ %spec.select.i.i92, %121 ] - %.sroa.3.0.i86 = phi i8 [ %134, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i79 ], [ 0, %117 ], [ 0, %124 ], [ 0, %121 ] +_ZNK4llvm3LLT13getSizeInBitsEv.exit93: ; preds = %108, %112, %115, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i79 + %.sroa.012.0.in.i85 = phi i64 [ %124, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i79 ], [ %109, %108 ], [ %117, %115 ], [ %spec.select.i.i92, %112 ] + %.sroa.3.0.i86 = phi i8 [ %125, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i79 ], [ 0, %108 ], [ 0, %115 ], [ 0, %112 ] %.sroa.012.0.i87 = and i64 %.sroa.012.0.in.i85, 4294967295 store i64 %.sroa.012.0.i87, ptr %6, align 8 %.sroa.216.0..sroa_idx = getelementptr inbounds nuw i8, ptr %6, i64 8 store i8 %.sroa.3.0.i86, ptr %.sroa.216.0..sroa_idx, align 8 - %135 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %6) #19 - %136 = icmp eq i64 %135, 128 - br i1 %136, label %137, label %.critedge + %126 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %6) #19 + %127 = icmp eq i64 %126, 128 + br i1 %127, label %128, label %.critedge -137: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit93 +128: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit93 %brmerge = select i1 %94, i1 true, i1 %90 %.mux = select i1 %94, i64 -404288, i64 -404160 - br i1 %brmerge, label %198, label %234 + br i1 %brmerge, label %183, label %219 .critedge: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit74, %_ZNK4llvm3LLT13getSizeInBitsEv.exit93 - br i1 %or.cond14.i59, label %138, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i98 - -138: ; preds = %.critedge - %.not.i1.i109 = icmp eq i64 %98, 0 - br i1 %.not.i1.i109, label %141, label %139 - -139: ; preds = %138 - %140 = lshr i64 %.sroa.04.0.i, 3 - br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit112 - -141: ; preds = %138 - %142 = lshr i64 %.sroa.04.0.i, 19 - %143 = and i64 %142, 65535 - %spec.select.i.i111 = select i1 %.not.i.not.i57, i64 %142, i64 %143 - br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit112 + %129 = lshr i64 %.sroa.04.0.i, 3 + br i1 %.not12, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i98, label %_ZNK4llvm3LLT13getSizeInBitsEv.exit112 _ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i98: ; preds = %.critedge - %144 = lshr i64 %.sroa.04.0.i, 3 - %.sroa.0.0.insert.ext.i.i.i99 = and i64 %144, 65535 - %145 = select i1 %.not.i.not.i57, i64 2251799813685248, i64 576460752303423488 - %146 = and i64 %145, %.sroa.04.0.i - %.not1.i4.i100 = icmp ne i64 %146, 0 - %147 = lshr i64 %.sroa.04.0.i, 19 - %148 = and i64 %147, 65535 - %spec.select.i10.i102 = select i1 %.not.i.not.i57, i64 %147, i64 %148 - %149 = mul nuw nsw i64 %spec.select.i10.i102, %.sroa.0.0.insert.ext.i.i.i99 - %150 = zext i1 %.not1.i4.i100 to i8 + %.sroa.0.0.insert.ext.i.i.i99 = and i64 %129, 65535 + %130 = select i1 %.not.i.not.i57, i64 2251799813685248, i64 576460752303423488 + %131 = and i64 %130, %.sroa.04.0.i + %.not1.i4.i100 = icmp ne i64 %131, 0 + %132 = lshr i64 %.sroa.04.0.i, 19 + %133 = and i64 %132, 65535 + %spec.select.i10.i102 = select i1 %.not.i.not.i57, i64 %132, i64 %133 + %134 = mul nuw nsw i64 %spec.select.i10.i102, %.sroa.0.0.insert.ext.i.i.i99 + %135 = zext i1 %.not1.i4.i100 to i8 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit112 -_ZNK4llvm3LLT13getSizeInBitsEv.exit112: ; preds = %139, %141, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i98 - %.sroa.012.0.in.i104 = phi i64 [ %149, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i98 ], [ %140, %139 ], [ %spec.select.i.i111, %141 ] - %.sroa.3.0.i105 = phi i8 [ %150, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i98 ], [ 0, %139 ], [ 0, %141 ] +_ZNK4llvm3LLT13getSizeInBitsEv.exit112: ; preds = %.critedge, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i98 + %.sroa.012.0.in.i104 = phi i64 [ %134, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i98 ], [ %129, %.critedge ] + %.sroa.3.0.i105 = phi i8 [ %135, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i98 ], [ 0, %.critedge ] %.sroa.012.0.i106 = and i64 %.sroa.012.0.in.i104, 4294967295 store i64 %.sroa.012.0.i106, ptr %7, align 8 %.sroa.212.0..sroa_idx = getelementptr inbounds nuw i8, ptr %7, i64 8 store i8 %.sroa.3.0.i105, ptr %.sroa.212.0..sroa_idx, align 8 - %151 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %7) #19 - %152 = icmp eq i64 %151, 512 - %153 = and i1 %91, %152 - br i1 %153, label %154, label %234 + %136 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %7) #19 + %137 = icmp eq i64 %136, 512 + %138 = and i1 %91, %137 + br i1 %138, label %139, label %219 -154: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit112 - br i1 %or.cond14.i, label %155, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i117 +139: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit112 + br i1 %or.cond14.i, label %140, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i117 -155: ; preds = %154 +140: ; preds = %139 %.not.i1.i128 = icmp eq i64 %52, 0 - br i1 %.not.i1.i128, label %158, label %156 + br i1 %.not.i1.i128, label %143, label %141 -156: ; preds = %155 - %157 = lshr i64 %.sroa.04.0.i53, 3 +141: ; preds = %140 + %142 = lshr i64 %.sroa.04.0.i53, 3 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit131 -158: ; preds = %155 - %159 = and i64 %.sroa.04.0.i53, 4 - %.not1.i2.i129 = icmp eq i64 %159, 0 - br i1 %.not1.i2.i129, label %163, label %160 +143: ; preds = %140 + %144 = and i64 %.sroa.04.0.i53, 4 + %.not1.i2.i129 = icmp eq i64 %144, 0 + br i1 %.not1.i2.i129, label %148, label %145 -160: ; preds = %158 - %161 = lshr i64 %.sroa.04.0.i53, 19 - %162 = and i64 %161, 65535 - %spec.select.i.i130 = select i1 %.not.i.not.i, i64 %161, i64 %162 +145: ; preds = %143 + %146 = lshr i64 %.sroa.04.0.i53, 19 + %147 = and i64 %146, 65535 + %spec.select.i.i130 = select i1 %.not.i.not.i, i64 %146, i64 %147 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit131 -163: ; preds = %158 - %164 = lshr i64 %.sroa.04.0.i53, 3 - %165 = and i64 %164, 65535 +148: ; preds = %143 + %149 = lshr i64 %.sroa.04.0.i53, 3 + %150 = and i64 %149, 65535 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit131 -_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i117: ; preds = %154 - %166 = lshr i64 %.sroa.04.0.i53, 3 - %.sroa.0.0.insert.ext.i.i.i118 = and i64 %166, 65535 - %167 = select i1 %.not.i.not.i, i64 2251799813685248, i64 576460752303423488 - %168 = and i64 %167, %.sroa.04.0.i53 - %.not1.i4.i119 = icmp ne i64 %168, 0 - %169 = and i64 %.sroa.04.0.i53, 4 - %.not1.i8.i120 = icmp eq i64 %169, 0 - %170 = lshr i64 %.sroa.04.0.i53, 19 - %171 = and i64 %170, 65535 - %spec.select.i10.i121 = select i1 %.not.i.not.i, i64 %170, i64 %171 +_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i117: ; preds = %139 + %151 = lshr i64 %.sroa.04.0.i53, 3 + %.sroa.0.0.insert.ext.i.i.i118 = and i64 %151, 65535 + %152 = select i1 %.not.i.not.i, i64 2251799813685248, i64 576460752303423488 + %153 = and i64 %152, %.sroa.04.0.i53 + %.not1.i4.i119 = icmp ne i64 %153, 0 + %154 = and i64 %.sroa.04.0.i53, 4 + %.not1.i8.i120 = icmp eq i64 %154, 0 + %155 = lshr i64 %.sroa.04.0.i53, 19 + %156 = and i64 %155, 65535 + %spec.select.i10.i121 = select i1 %.not.i.not.i, i64 %155, i64 %156 %.0.in.i6.i122 = select i1 %.not1.i8.i120, i64 %.sroa.0.0.insert.ext.i.i.i118, i64 %spec.select.i10.i121 - %172 = mul nuw nsw i64 %.0.in.i6.i122, %.sroa.0.0.insert.ext.i.i.i118 - %173 = zext i1 %.not1.i4.i119 to i8 + %157 = mul nuw nsw i64 %.0.in.i6.i122, %.sroa.0.0.insert.ext.i.i.i118 + %158 = zext i1 %.not1.i4.i119 to i8 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit131 -_ZNK4llvm3LLT13getSizeInBitsEv.exit131: ; preds = %156, %160, %163, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i117 - %.sroa.012.0.in.i123 = phi i64 [ %172, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i117 ], [ %157, %156 ], [ %165, %163 ], [ %spec.select.i.i130, %160 ] - %.sroa.3.0.i124 = phi i8 [ %173, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i117 ], [ 0, %156 ], [ 0, %163 ], [ 0, %160 ] +_ZNK4llvm3LLT13getSizeInBitsEv.exit131: ; preds = %141, %145, %148, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i117 + %.sroa.012.0.in.i123 = phi i64 [ %157, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i117 ], [ %142, %141 ], [ %150, %148 ], [ %spec.select.i.i130, %145 ] + %.sroa.3.0.i124 = phi i8 [ %158, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i117 ], [ 0, %141 ], [ 0, %148 ], [ 0, %145 ] %.sroa.012.0.i125 = and i64 %.sroa.012.0.in.i123, 4294967295 store i64 %.sroa.012.0.i125, ptr %8, align 8 %.sroa.28.0..sroa_idx = getelementptr inbounds nuw i8, ptr %8, i64 8 store i8 %.sroa.3.0.i124, ptr %.sroa.28.0..sroa_idx, align 8 - %174 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %8) #19 - %175 = icmp eq i64 %174, 128 - br i1 %175, label %198, label %176 + %159 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %8) #19 + %160 = icmp eq i64 %159, 128 + br i1 %160, label %183, label %161 -176: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit131 - br i1 %or.cond14.i, label %177, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i136 +161: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit131 + br i1 %or.cond14.i, label %162, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i136 -177: ; preds = %176 +162: ; preds = %161 %.not.i1.i147 = icmp eq i64 %52, 0 - br i1 %.not.i1.i147, label %180, label %178 + br i1 %.not.i1.i147, label %165, label %163 -178: ; preds = %177 - %179 = lshr i64 %.sroa.04.0.i53, 3 +163: ; preds = %162 + %164 = lshr i64 %.sroa.04.0.i53, 3 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit150 -180: ; preds = %177 - %181 = and i64 %.sroa.04.0.i53, 4 - %.not1.i2.i148 = icmp eq i64 %181, 0 - br i1 %.not1.i2.i148, label %185, label %182 +165: ; preds = %162 + %166 = and i64 %.sroa.04.0.i53, 4 + %.not1.i2.i148 = icmp eq i64 %166, 0 + br i1 %.not1.i2.i148, label %170, label %167 -182: ; preds = %180 - %183 = lshr i64 %.sroa.04.0.i53, 19 - %184 = and i64 %183, 65535 - %spec.select.i.i149 = select i1 %.not.i.not.i, i64 %183, i64 %184 +167: ; preds = %165 + %168 = lshr i64 %.sroa.04.0.i53, 19 + %169 = and i64 %168, 65535 + %spec.select.i.i149 = select i1 %.not.i.not.i, i64 %168, i64 %169 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit150 -185: ; preds = %180 - %186 = lshr i64 %.sroa.04.0.i53, 3 - %187 = and i64 %186, 65535 +170: ; preds = %165 + %171 = lshr i64 %.sroa.04.0.i53, 3 + %172 = and i64 %171, 65535 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit150 -_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i136: ; preds = %176 - %188 = lshr i64 %.sroa.04.0.i53, 3 - %.sroa.0.0.insert.ext.i.i.i137 = and i64 %188, 65535 - %189 = select i1 %.not.i.not.i, i64 2251799813685248, i64 576460752303423488 - %190 = and i64 %189, %.sroa.04.0.i53 - %.not1.i4.i138 = icmp ne i64 %190, 0 - %191 = and i64 %.sroa.04.0.i53, 4 - %.not1.i8.i139 = icmp eq i64 %191, 0 - %192 = lshr i64 %.sroa.04.0.i53, 19 - %193 = and i64 %192, 65535 - %spec.select.i10.i140 = select i1 %.not.i.not.i, i64 %192, i64 %193 +_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i136: ; preds = %161 + %173 = lshr i64 %.sroa.04.0.i53, 3 + %.sroa.0.0.insert.ext.i.i.i137 = and i64 %173, 65535 + %174 = select i1 %.not.i.not.i, i64 2251799813685248, i64 576460752303423488 + %175 = and i64 %174, %.sroa.04.0.i53 + %.not1.i4.i138 = icmp ne i64 %175, 0 + %176 = and i64 %.sroa.04.0.i53, 4 + %.not1.i8.i139 = icmp eq i64 %176, 0 + %177 = lshr i64 %.sroa.04.0.i53, 19 + %178 = and i64 %177, 65535 + %spec.select.i10.i140 = select i1 %.not.i.not.i, i64 %177, i64 %178 %.0.in.i6.i141 = select i1 %.not1.i8.i139, i64 %.sroa.0.0.insert.ext.i.i.i137, i64 %spec.select.i10.i140 - %194 = mul nuw nsw i64 %.0.in.i6.i141, %.sroa.0.0.insert.ext.i.i.i137 - %195 = zext i1 %.not1.i4.i138 to i8 + %179 = mul nuw nsw i64 %.0.in.i6.i141, %.sroa.0.0.insert.ext.i.i.i137 + %180 = zext i1 %.not1.i4.i138 to i8 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit150 -_ZNK4llvm3LLT13getSizeInBitsEv.exit150: ; preds = %178, %182, %185, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i136 - %.sroa.012.0.in.i142 = phi i64 [ %194, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i136 ], [ %179, %178 ], [ %187, %185 ], [ %spec.select.i.i149, %182 ] - %.sroa.3.0.i143 = phi i8 [ %195, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i136 ], [ 0, %178 ], [ 0, %185 ], [ 0, %182 ] +_ZNK4llvm3LLT13getSizeInBitsEv.exit150: ; preds = %163, %167, %170, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i136 + %.sroa.012.0.in.i142 = phi i64 [ %179, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i136 ], [ %164, %163 ], [ %172, %170 ], [ %spec.select.i.i149, %167 ] + %.sroa.3.0.i143 = phi i8 [ %180, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i136 ], [ 0, %163 ], [ 0, %170 ], [ 0, %167 ] %.sroa.012.0.i144 = and i64 %.sroa.012.0.in.i142, 4294967295 store i64 %.sroa.012.0.i144, ptr %9, align 8 %.sroa.24.0..sroa_idx = getelementptr inbounds nuw i8, ptr %9, i64 8 store i8 %.sroa.3.0.i143, ptr %.sroa.24.0..sroa_idx, align 8 - %196 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %9) #19 - %197 = icmp eq i64 %196, 256 - br i1 %197, label %198, label %234 - -198: ; preds = %137, %_ZNK4llvm3LLT13getSizeInBitsEv.exit150, %_ZNK4llvm3LLT13getSizeInBitsEv.exit131 - %.sink13 = phi i64 [ %.mux, %137 ], [ -404480, %_ZNK4llvm3LLT13getSizeInBitsEv.exit131 ], [ -405248, %_ZNK4llvm3LLT13getSizeInBitsEv.exit150 ] - %199 = getelementptr inbounds nuw i8, ptr %0, i64 96 - %200 = load ptr, ptr %199, align 8 - %201 = getelementptr inbounds nuw i8, ptr %200, i64 8 - %202 = load ptr, ptr %201, align 8 - %203 = getelementptr inbounds i8, ptr %202, i64 %.sink13 - call void @_ZN4llvm12MachineInstr7setDescERKNS_11MCInstrDescE(ptr noundef nonnull align 8 dereferenceable(70) %1, ptr noundef nonnull align 8 dereferenceable(32) %203) #19 - br i1 %or.cond14.i, label %204, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i155 - -204: ; preds = %198 + %181 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %9) #19 + %182 = icmp eq i64 %181, 256 + br i1 %182, label %183, label %219 + +183: ; preds = %128, %_ZNK4llvm3LLT13getSizeInBitsEv.exit150, %_ZNK4llvm3LLT13getSizeInBitsEv.exit131 + %.sink14 = phi i64 [ %.mux, %128 ], [ -404480, %_ZNK4llvm3LLT13getSizeInBitsEv.exit131 ], [ -405248, %_ZNK4llvm3LLT13getSizeInBitsEv.exit150 ] + %184 = getelementptr inbounds nuw i8, ptr %0, i64 96 + %185 = load ptr, ptr %184, align 8 + %186 = getelementptr inbounds nuw i8, ptr %185, i64 8 + %187 = load ptr, ptr %186, align 8 + %188 = getelementptr inbounds i8, ptr %187, i64 %.sink14 + call void @_ZN4llvm12MachineInstr7setDescERKNS_11MCInstrDescE(ptr noundef nonnull align 8 dereferenceable(70) %1, ptr noundef nonnull align 8 dereferenceable(32) %188) #19 + br i1 %or.cond14.i, label %189, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i155 + +189: ; preds = %183 %.not.i1.i166 = icmp eq i64 %52, 0 - br i1 %.not.i1.i166, label %207, label %205 + br i1 %.not.i1.i166, label %192, label %190 -205: ; preds = %204 - %206 = lshr i64 %.sroa.04.0.i53, 3 +190: ; preds = %189 + %191 = lshr i64 %.sroa.04.0.i53, 3 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit169 -207: ; preds = %204 - %208 = and i64 %.sroa.04.0.i53, 4 - %.not1.i2.i167 = icmp eq i64 %208, 0 - br i1 %.not1.i2.i167, label %212, label %209 +192: ; preds = %189 + %193 = and i64 %.sroa.04.0.i53, 4 + %.not1.i2.i167 = icmp eq i64 %193, 0 + br i1 %.not1.i2.i167, label %197, label %194 -209: ; preds = %207 - %210 = lshr i64 %.sroa.04.0.i53, 19 - %211 = and i64 %210, 65535 - %spec.select.i.i168 = select i1 %.not.i.not.i, i64 %210, i64 %211 +194: ; preds = %192 + %195 = lshr i64 %.sroa.04.0.i53, 19 + %196 = and i64 %195, 65535 + %spec.select.i.i168 = select i1 %.not.i.not.i, i64 %195, i64 %196 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit169 -212: ; preds = %207 - %213 = lshr i64 %.sroa.04.0.i53, 3 - %214 = and i64 %213, 65535 +197: ; preds = %192 + %198 = lshr i64 %.sroa.04.0.i53, 3 + %199 = and i64 %198, 65535 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit169 -_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i155: ; preds = %198 - %215 = lshr i64 %.sroa.04.0.i53, 3 - %.sroa.0.0.insert.ext.i.i.i156 = and i64 %215, 65535 - %216 = select i1 %.not.i.not.i, i64 2251799813685248, i64 576460752303423488 - %217 = and i64 %216, %.sroa.04.0.i53 - %.not1.i4.i157 = icmp ne i64 %217, 0 - %218 = and i64 %.sroa.04.0.i53, 4 - %.not1.i8.i158 = icmp eq i64 %218, 0 - %219 = lshr i64 %.sroa.04.0.i53, 19 - %220 = and i64 %219, 65535 - %spec.select.i10.i159 = select i1 %.not.i.not.i, i64 %219, i64 %220 +_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i155: ; preds = %183 + %200 = lshr i64 %.sroa.04.0.i53, 3 + %.sroa.0.0.insert.ext.i.i.i156 = and i64 %200, 65535 + %201 = select i1 %.not.i.not.i, i64 2251799813685248, i64 576460752303423488 + %202 = and i64 %201, %.sroa.04.0.i53 + %.not1.i4.i157 = icmp ne i64 %202, 0 + %203 = and i64 %.sroa.04.0.i53, 4 + %.not1.i8.i158 = icmp eq i64 %203, 0 + %204 = lshr i64 %.sroa.04.0.i53, 19 + %205 = and i64 %204, 65535 + %spec.select.i10.i159 = select i1 %.not.i.not.i, i64 %204, i64 %205 %.0.in.i6.i160 = select i1 %.not1.i8.i158, i64 %.sroa.0.0.insert.ext.i.i.i156, i64 %spec.select.i10.i159 - %221 = mul nuw nsw i64 %.0.in.i6.i160, %.sroa.0.0.insert.ext.i.i.i156 - %222 = zext i1 %.not1.i4.i157 to i8 + %206 = mul nuw nsw i64 %.0.in.i6.i160, %.sroa.0.0.insert.ext.i.i.i156 + %207 = zext i1 %.not1.i4.i157 to i8 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit169 -_ZNK4llvm3LLT13getSizeInBitsEv.exit169: ; preds = %205, %209, %212, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i155 - %.sroa.012.0.in.i161 = phi i64 [ %221, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i155 ], [ %206, %205 ], [ %214, %212 ], [ %spec.select.i.i168, %209 ] - %.sroa.3.0.i162 = phi i8 [ %222, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i155 ], [ 0, %205 ], [ 0, %212 ], [ 0, %209 ] +_ZNK4llvm3LLT13getSizeInBitsEv.exit169: ; preds = %190, %194, %197, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i155 + %.sroa.012.0.in.i161 = phi i64 [ %206, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i155 ], [ %191, %190 ], [ %199, %197 ], [ %spec.select.i.i168, %194 ] + %.sroa.3.0.i162 = phi i8 [ %207, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i155 ], [ 0, %190 ], [ 0, %197 ], [ 0, %194 ] %.sroa.012.0.i163 = and i64 %.sroa.012.0.in.i161, 4294967295 store i64 %.sroa.012.0.i163, ptr %10, align 8 %.sroa.2.0..sroa_idx = getelementptr inbounds nuw i8, ptr %10, i64 8 store i8 %.sroa.3.0.i162, ptr %.sroa.2.0..sroa_idx, align 8 - %223 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %10) #19 - %224 = udiv i64 %20, %223 - %225 = load ptr, ptr %11, align 8 - %226 = getelementptr inbounds nuw i8, ptr %225, i64 112 - store i64 %224, ptr %226, align 8 - %227 = getelementptr inbounds nuw i8, ptr %0, i64 96 - %228 = load ptr, ptr %227, align 8 - %229 = getelementptr inbounds nuw i8, ptr %0, i64 104 - %230 = load ptr, ptr %229, align 8 - %231 = getelementptr inbounds nuw i8, ptr %0, i64 112 - %232 = load ptr, ptr %231, align 8 - %233 = call noundef zeroext i1 @_ZN4llvm32constrainSelectedInstRegOperandsERNS_12MachineInstrERKNS_15TargetInstrInfoERKNS_18TargetRegisterInfoERKNS_16RegisterBankInfoE(ptr noundef nonnull align 8 dereferenceable(70) %1, ptr noundef nonnull align 8 dereferenceable(80) %228, ptr noundef nonnull align 8 dereferenceable(308) %230, ptr noundef nonnull align 8 dereferenceable(160) %232) #19 - br label %234 - -234: ; preds = %137, %_ZNK4llvm3LLT13getSizeInBitsEv.exit112, %_ZNK4llvm3LLT13getSizeInBitsEv.exit150, %82, %_ZNK4llvm3LLT13getSizeInBitsEv.exit, %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit54, %_ZNK4llvm3LLT13getSizeInBitsEv.exit169, %84 - %.0 = phi i1 [ true, %84 ], [ %233, %_ZNK4llvm3LLT13getSizeInBitsEv.exit169 ], [ false, %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit54 ], [ false, %_ZNK4llvm3LLT13getSizeInBitsEv.exit ], [ false, %82 ], [ false, %_ZNK4llvm3LLT13getSizeInBitsEv.exit150 ], [ false, %_ZNK4llvm3LLT13getSizeInBitsEv.exit112 ], [ false, %137 ] + %208 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %10) #19 + %209 = udiv i64 %20, %208 + %210 = load ptr, ptr %11, align 8 + %211 = getelementptr inbounds nuw i8, ptr %210, i64 112 + store i64 %209, ptr %211, align 8 + %212 = getelementptr inbounds nuw i8, ptr %0, i64 96 + %213 = load ptr, ptr %212, align 8 + %214 = getelementptr inbounds nuw i8, ptr %0, i64 104 + %215 = load ptr, ptr %214, align 8 + %216 = getelementptr inbounds nuw i8, ptr %0, i64 112 + %217 = load ptr, ptr %216, align 8 + %218 = call noundef zeroext i1 @_ZN4llvm32constrainSelectedInstRegOperandsERNS_12MachineInstrERKNS_15TargetInstrInfoERKNS_18TargetRegisterInfoERKNS_16RegisterBankInfoE(ptr noundef nonnull align 8 dereferenceable(70) %1, ptr noundef nonnull align 8 dereferenceable(80) %213, ptr noundef nonnull align 8 dereferenceable(308) %215, ptr noundef nonnull align 8 dereferenceable(160) %217) #19 + br label %219 + +219: ; preds = %128, %_ZNK4llvm3LLT13getSizeInBitsEv.exit112, %_ZNK4llvm3LLT13getSizeInBitsEv.exit150, %82, %_ZNK4llvm3LLT13getSizeInBitsEv.exit, %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit54, %_ZNK4llvm3LLT13getSizeInBitsEv.exit169, %84 + %.0 = phi i1 [ true, %84 ], [ %218, %_ZNK4llvm3LLT13getSizeInBitsEv.exit169 ], [ false, %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit54 ], [ false, %_ZNK4llvm3LLT13getSizeInBitsEv.exit ], [ false, %82 ], [ false, %_ZNK4llvm3LLT13getSizeInBitsEv.exit150 ], [ false, %_ZNK4llvm3LLT13getSizeInBitsEv.exit112 ], [ false, %128 ] ret i1 %.0 } @@ -21207,203 +21071,172 @@ _ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit30: ; preds = %_ZNK4llv 43: ; preds = %38 %44 = and i64 %.sroa.04.0.i29, 2 %.not.i.not.i = icmp eq i64 %44, 0 - %45 = and i64 %.sroa.04.0.i29, 6 - %46 = icmp eq i64 %45, 2 - %47 = and i64 %.sroa.04.0.i29, 1 - %48 = icmp ne i64 %47, 0 - %or.cond14.i = or i1 %48, %46 - br i1 %or.cond14.i, label %49, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i - -49: ; preds = %43 - %.not.i1.i = icmp eq i64 %47, 0 - br i1 %.not.i1.i, label %52, label %50 - -50: ; preds = %49 - %51 = lshr i64 %.sroa.04.0.i29, 3 - br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit - -52: ; preds = %49 - %53 = lshr i64 %.sroa.04.0.i29, 19 - %54 = and i64 %53, 65535 - %spec.select.i.i32 = select i1 %.not.i.not.i, i64 %53, i64 %54 - br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit + %45 = and i64 %.sroa.04.0.i29, 1 + %.not16 = icmp eq i64 %45, 0 + %46 = lshr i64 %.sroa.04.0.i29, 3 + br i1 %.not16, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i, label %_ZNK4llvm3LLT13getSizeInBitsEv.exit _ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i: ; preds = %43 - %55 = lshr i64 %.sroa.04.0.i29, 3 - %.sroa.0.0.insert.ext.i.i.i = and i64 %55, 65535 - %56 = select i1 %.not.i.not.i, i64 2251799813685248, i64 576460752303423488 - %57 = and i64 %56, %.sroa.04.0.i29 - %.not1.i4.i = icmp ne i64 %57, 0 - %58 = lshr i64 %.sroa.04.0.i29, 19 - %59 = and i64 %58, 65535 - %spec.select.i10.i = select i1 %.not.i.not.i, i64 %58, i64 %59 - %60 = mul nuw nsw i64 %spec.select.i10.i, %.sroa.0.0.insert.ext.i.i.i - %61 = zext i1 %.not1.i4.i to i8 + %.sroa.0.0.insert.ext.i.i.i = and i64 %46, 65535 + %47 = select i1 %.not.i.not.i, i64 2251799813685248, i64 576460752303423488 + %48 = and i64 %47, %.sroa.04.0.i29 + %.not1.i4.i = icmp ne i64 %48, 0 + %49 = lshr i64 %.sroa.04.0.i29, 19 + %50 = and i64 %49, 65535 + %spec.select.i10.i = select i1 %.not.i.not.i, i64 %49, i64 %50 + %51 = mul nuw nsw i64 %spec.select.i10.i, %.sroa.0.0.insert.ext.i.i.i + %52 = zext i1 %.not1.i4.i to i8 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit -_ZNK4llvm3LLT13getSizeInBitsEv.exit: ; preds = %50, %52, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i - %.sroa.012.0.in.i = phi i64 [ %60, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i ], [ %51, %50 ], [ %spec.select.i.i32, %52 ] - %.sroa.3.0.i = phi i8 [ %61, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i ], [ 0, %50 ], [ 0, %52 ] +_ZNK4llvm3LLT13getSizeInBitsEv.exit: ; preds = %43, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i + %.sroa.012.0.in.i = phi i64 [ %51, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i ], [ %46, %43 ] + %.sroa.3.0.i = phi i8 [ %52, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i ], [ 0, %43 ] %.sroa.012.0.i = and i64 %.sroa.012.0.in.i, 4294967295 store i64 %.sroa.012.0.i, ptr %8, align 8 %.sroa.27.0..sroa_idx = getelementptr inbounds nuw i8, ptr %8, i64 8 store i8 %.sroa.3.0.i, ptr %.sroa.27.0..sroa_idx, align 8 - %62 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %8) #19 - %63 = icmp eq i64 %62, 128 - br i1 %63, label %80, label %64 - -64: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit - br i1 %or.cond14.i, label %65, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i37 - -65: ; preds = %64 - %.not.i1.i48 = icmp eq i64 %47, 0 - br i1 %.not.i1.i48, label %68, label %66 - -66: ; preds = %65 - %67 = lshr i64 %.sroa.04.0.i29, 3 - br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit51 - -68: ; preds = %65 - %69 = lshr i64 %.sroa.04.0.i29, 19 - %70 = and i64 %69, 65535 - %spec.select.i.i50 = select i1 %.not.i.not.i, i64 %69, i64 %70 - br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit51 - -_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i37: ; preds = %64 - %71 = lshr i64 %.sroa.04.0.i29, 3 - %.sroa.0.0.insert.ext.i.i.i38 = and i64 %71, 65535 - %72 = select i1 %.not.i.not.i, i64 2251799813685248, i64 576460752303423488 - %73 = and i64 %72, %.sroa.04.0.i29 - %.not1.i4.i39 = icmp ne i64 %73, 0 - %74 = lshr i64 %.sroa.04.0.i29, 19 - %75 = and i64 %74, 65535 - %spec.select.i10.i41 = select i1 %.not.i.not.i, i64 %74, i64 %75 - %76 = mul nuw nsw i64 %spec.select.i10.i41, %.sroa.0.0.insert.ext.i.i.i38 - %77 = zext i1 %.not1.i4.i39 to i8 + %53 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %8) #19 + %54 = icmp eq i64 %53, 128 + br i1 %54, label %65, label %55 + +55: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit + %56 = lshr i64 %.sroa.04.0.i29, 3 + br i1 %.not16, label %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i37, label %_ZNK4llvm3LLT13getSizeInBitsEv.exit51 + +_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i37: ; preds = %55 + %.sroa.0.0.insert.ext.i.i.i38 = and i64 %56, 65535 + %57 = select i1 %.not.i.not.i, i64 2251799813685248, i64 576460752303423488 + %58 = and i64 %57, %.sroa.04.0.i29 + %.not1.i4.i39 = icmp ne i64 %58, 0 + %59 = lshr i64 %.sroa.04.0.i29, 19 + %60 = and i64 %59, 65535 + %spec.select.i10.i41 = select i1 %.not.i.not.i, i64 %59, i64 %60 + %61 = mul nuw nsw i64 %spec.select.i10.i41, %.sroa.0.0.insert.ext.i.i.i38 + %62 = zext i1 %.not1.i4.i39 to i8 br label %_ZNK4llvm3LLT13getSizeInBitsEv.exit51 -_ZNK4llvm3LLT13getSizeInBitsEv.exit51: ; preds = %66, %68, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i37 - %.sroa.012.0.in.i43 = phi i64 [ %76, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i37 ], [ %67, %66 ], [ %spec.select.i.i50, %68 ] - %.sroa.3.0.i44 = phi i8 [ %77, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i37 ], [ 0, %66 ], [ 0, %68 ] +_ZNK4llvm3LLT13getSizeInBitsEv.exit51: ; preds = %55, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i37 + %.sroa.012.0.in.i43 = phi i64 [ %61, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i37 ], [ %56, %55 ] + %.sroa.3.0.i44 = phi i8 [ %62, %_ZNK4llvm3LLT19getScalarSizeInBitsEv.exit11.i37 ], [ 0, %55 ] %.sroa.012.0.i45 = and i64 %.sroa.012.0.in.i43, 4294967295 store i64 %.sroa.012.0.i45, ptr %9, align 8 %.sroa.2.0..sroa_idx = getelementptr inbounds nuw i8, ptr %9, i64 8 store i8 %.sroa.3.0.i44, ptr %.sroa.2.0..sroa_idx, align 8 - %78 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %9) #19 - %79 = icmp eq i64 %78, 256 - br i1 %79, label %80, label %_ZN4llvm8DebugLocD2Ev.exit + %63 = call noundef i64 @_ZNK4llvm8TypeSizecvmEv(ptr noundef nonnull align 8 dereferenceable(9) %9) #19 + %64 = icmp eq i64 %63, 256 + br i1 %64, label %65, label %_ZN4llvm8DebugLocD2Ev.exit -80: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit51, %_ZNK4llvm3LLT13getSizeInBitsEv.exit +65: ; preds = %_ZNK4llvm3LLT13getSizeInBitsEv.exit51, %_ZNK4llvm3LLT13getSizeInBitsEv.exit %.027 = phi i32 [ 285214976, %_ZNK4llvm3LLT13getSizeInBitsEv.exit ], [ 285215232, %_ZNK4llvm3LLT13getSizeInBitsEv.exit51 ] - %81 = getelementptr inbounds nuw i8, ptr %0, i64 112 - %82 = load ptr, ptr %81, align 8 - %83 = getelementptr inbounds nuw i8, ptr %0, i64 104 - %84 = load ptr, ptr %83, align 8 - %85 = call noundef ptr @_ZNK4llvm16RegisterBankInfo10getRegBankENS_8RegisterERKNS_19MachineRegisterInfoERKNS_18TargetRegisterInfoE(ptr noundef nonnull align 8 dereferenceable(160) %82, i32 %2, ptr noundef nonnull align 8 dereferenceable(512) %4, ptr noundef nonnull align 8 dereferenceable(308) %84) #19 - %86 = call fastcc noundef nonnull ptr @_ZNK12_GLOBAL__N_122X86InstructionSelector11getRegClassEN4llvm3LLTERKNS1_12RegisterBankE(ptr noundef nonnull readonly align 8 dereferenceable(1400) %0, i64 %.sroa.04.0.i29, ptr noundef nonnull align 8 dereferenceable(24) %85) - %87 = load ptr, ptr %81, align 8 - %88 = load ptr, ptr %83, align 8 - %89 = call noundef ptr @_ZNK4llvm16RegisterBankInfo10getRegBankENS_8RegisterERKNS_19MachineRegisterInfoERKNS_18TargetRegisterInfoE(ptr noundef nonnull align 8 dereferenceable(160) %87, i32 %1, ptr noundef nonnull align 8 dereferenceable(512) %4, ptr noundef nonnull align 8 dereferenceable(308) %88) #19 - %90 = call fastcc noundef nonnull ptr @_ZNK12_GLOBAL__N_122X86InstructionSelector11getRegClassEN4llvm3LLTERKNS1_12RegisterBankE(ptr noundef nonnull readonly align 8 dereferenceable(1400) %0, i64 %.sroa.04.0.i, ptr noundef nonnull align 8 dereferenceable(24) %89) - %91 = call noundef ptr @_ZN4llvm16RegisterBankInfo24constrainGenericRegisterENS_8RegisterERKNS_19TargetRegisterClassERNS_19MachineRegisterInfoE(i32 %2, ptr noundef nonnull align 8 dereferenceable(56) %86, ptr noundef nonnull align 8 dereferenceable(512) %4) #19 - %.not = icmp eq ptr %91, null - br i1 %.not, label %_ZN4llvm8DebugLocD2Ev.exit, label %92 - -92: ; preds = %80 - %93 = call noundef ptr @_ZN4llvm16RegisterBankInfo24constrainGenericRegisterENS_8RegisterERKNS_19TargetRegisterClassERNS_19MachineRegisterInfoE(i32 %1, ptr noundef nonnull align 8 dereferenceable(56) %90, ptr noundef nonnull align 8 dereferenceable(512) %4) #19 - %.not28 = icmp eq ptr %93, null - br i1 %.not28, label %_ZN4llvm8DebugLocD2Ev.exit, label %94 - -94: ; preds = %92 - %95 = getelementptr inbounds nuw i8, ptr %3, i64 24 - %96 = load ptr, ptr %95, align 8 - %97 = getelementptr inbounds nuw i8, ptr %3, i64 56 - %98 = load ptr, ptr %97, align 8 - store ptr %98, ptr %11, align 8 - %.not.i.i.i.i = icmp eq ptr %98, null + %66 = getelementptr inbounds nuw i8, ptr %0, i64 112 + %67 = load ptr, ptr %66, align 8 + %68 = getelementptr inbounds nuw i8, ptr %0, i64 104 + %69 = load ptr, ptr %68, align 8 + %70 = call noundef ptr @_ZNK4llvm16RegisterBankInfo10getRegBankENS_8RegisterERKNS_19MachineRegisterInfoERKNS_18TargetRegisterInfoE(ptr noundef nonnull align 8 dereferenceable(160) %67, i32 %2, ptr noundef nonnull align 8 dereferenceable(512) %4, ptr noundef nonnull align 8 dereferenceable(308) %69) #19 + %71 = call fastcc noundef nonnull ptr @_ZNK12_GLOBAL__N_122X86InstructionSelector11getRegClassEN4llvm3LLTERKNS1_12RegisterBankE(ptr noundef nonnull readonly align 8 dereferenceable(1400) %0, i64 %.sroa.04.0.i29, ptr noundef nonnull align 8 dereferenceable(24) %70) + %72 = load ptr, ptr %66, align 8 + %73 = load ptr, ptr %68, align 8 + %74 = call noundef ptr @_ZNK4llvm16RegisterBankInfo10getRegBankENS_8RegisterERKNS_19MachineRegisterInfoERKNS_18TargetRegisterInfoE(ptr noundef nonnull align 8 dereferenceable(160) %72, i32 %1, ptr noundef nonnull align 8 dereferenceable(512) %4, ptr noundef nonnull align 8 dereferenceable(308) %73) #19 + %75 = call fastcc noundef nonnull ptr @_ZNK12_GLOBAL__N_122X86InstructionSelector11getRegClassEN4llvm3LLTERKNS1_12RegisterBankE(ptr noundef nonnull readonly align 8 dereferenceable(1400) %0, i64 %.sroa.04.0.i, ptr noundef nonnull align 8 dereferenceable(24) %74) + %76 = call noundef ptr @_ZN4llvm16RegisterBankInfo24constrainGenericRegisterENS_8RegisterERKNS_19TargetRegisterClassERNS_19MachineRegisterInfoE(i32 %2, ptr noundef nonnull align 8 dereferenceable(56) %71, ptr noundef nonnull align 8 dereferenceable(512) %4) #19 + %.not = icmp eq ptr %76, null + br i1 %.not, label %_ZN4llvm8DebugLocD2Ev.exit, label %77 + +77: ; preds = %65 + %78 = call noundef ptr @_ZN4llvm16RegisterBankInfo24constrainGenericRegisterENS_8RegisterERKNS_19TargetRegisterClassERNS_19MachineRegisterInfoE(i32 %1, ptr noundef nonnull align 8 dereferenceable(56) %75, ptr noundef nonnull align 8 dereferenceable(512) %4) #19 + %.not28 = icmp eq ptr %78, null + br i1 %.not28, label %_ZN4llvm8DebugLocD2Ev.exit, label %79 + +79: ; preds = %77 + %80 = getelementptr inbounds nuw i8, ptr %3, i64 24 + %81 = load ptr, ptr %80, align 8 + %82 = getelementptr inbounds nuw i8, ptr %3, i64 56 + %83 = load ptr, ptr %82, align 8 + store ptr %83, ptr %11, align 8 + %.not.i.i.i.i = icmp eq ptr %83, null br i1 %.not.i.i.i.i, label %_ZN4llvm10MIMetadataC2ENS_8DebugLocEPNS_6MDNodeES3_.exit.sink.split, label %_ZN4llvm8DebugLocC2ERKS0_.exit -_ZN4llvm8DebugLocC2ERKS0_.exit: ; preds = %94 - %99 = call noundef zeroext i1 @_ZN4llvm16MetadataTracking5trackEPvRNS_8MetadataENS_12PointerUnionIJPNS_15MetadataAsValueEPS2_PNS_14DebugValueUserEEEE(ptr noundef nonnull align 8 dereferenceable(8) %11, ptr noundef nonnull align 4 dereferenceable(8) %98, i64 1) #19 +_ZN4llvm8DebugLocC2ERKS0_.exit: ; preds = %79 + %84 = call noundef zeroext i1 @_ZN4llvm16MetadataTracking5trackEPvRNS_8MetadataENS_12PointerUnionIJPNS_15MetadataAsValueEPS2_PNS_14DebugValueUserEEEE(ptr noundef nonnull align 8 dereferenceable(8) %11, ptr noundef nonnull align 4 dereferenceable(8) %83, i64 1) #19 %.pr = load ptr, ptr %11, align 8 store ptr %.pr, ptr %10, align 8 %.not.i.i.i.i.i = icmp eq ptr %.pr, null - br i1 %.not.i.i.i.i.i, label %_ZN4llvm10MIMetadataC2ENS_8DebugLocEPNS_6MDNodeES3_.exit, label %100 + br i1 %.not.i.i.i.i.i, label %_ZN4llvm10MIMetadataC2ENS_8DebugLocEPNS_6MDNodeES3_.exit, label %85 -100: ; preds = %_ZN4llvm8DebugLocC2ERKS0_.exit - %101 = call noundef zeroext i1 @_ZN4llvm16MetadataTracking7retrackEPvRNS_8MetadataES1_(ptr noundef nonnull align 8 dereferenceable(8) %11, ptr noundef nonnull align 4 dereferenceable(8) %.pr, ptr noundef nonnull align 8 dereferenceable(24) %10) #19 +85: ; preds = %_ZN4llvm8DebugLocC2ERKS0_.exit + %86 = call noundef zeroext i1 @_ZN4llvm16MetadataTracking7retrackEPvRNS_8MetadataES1_(ptr noundef nonnull align 8 dereferenceable(8) %11, ptr noundef nonnull align 4 dereferenceable(8) %.pr, ptr noundef nonnull align 8 dereferenceable(24) %10) #19 br label %_ZN4llvm10MIMetadataC2ENS_8DebugLocEPNS_6MDNodeES3_.exit.sink.split -_ZN4llvm10MIMetadataC2ENS_8DebugLocEPNS_6MDNodeES3_.exit.sink.split: ; preds = %94, %100 - %.sink = phi ptr [ %11, %100 ], [ %10, %94 ] +_ZN4llvm10MIMetadataC2ENS_8DebugLocEPNS_6MDNodeES3_.exit.sink.split: ; preds = %79, %85 + %.sink = phi ptr [ %11, %85 ], [ %10, %79 ] store ptr null, ptr %.sink, align 8 br label %_ZN4llvm10MIMetadataC2ENS_8DebugLocEPNS_6MDNodeES3_.exit _ZN4llvm10MIMetadataC2ENS_8DebugLocEPNS_6MDNodeES3_.exit: ; preds = %_ZN4llvm10MIMetadataC2ENS_8DebugLocEPNS_6MDNodeES3_.exit.sink.split, %_ZN4llvm8DebugLocC2ERKS0_.exit - %102 = getelementptr inbounds nuw i8, ptr %10, i64 8 - %103 = getelementptr inbounds nuw i8, ptr %0, i64 96 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %102, i8 0, i64 16, i1 false) - %104 = load ptr, ptr %103, align 8 - %105 = getelementptr inbounds nuw i8, ptr %104, i64 8 - %106 = load ptr, ptr %105, align 8 - %107 = getelementptr inbounds i8, ptr %106, i64 -608 - %108 = getelementptr inbounds nuw i8, ptr %3, i64 44 - %109 = load i32, ptr %108, align 4 - %110 = and i32 %109, 4 - %.not.i = icmp eq i32 %110, 0 - br i1 %.not.i, label %113, label %111 - -111: ; preds = %_ZN4llvm10MIMetadataC2ENS_8DebugLocEPNS_6MDNodeES3_.exit - %112 = call { ptr, ptr } @_ZN4llvm7BuildMIERNS_17MachineBasicBlockENS_14ilist_iteratorINS_12ilist_detail12node_optionsINS_12MachineInstrELb1ELb1EvLb0EvEELb0ELb0EEERKNS_10MIMetadataERKNS_11MCInstrDescE(ptr noundef nonnull align 8 dereferenceable(288) %96, ptr nonnull align 8 dereferenceable(70) %3, ptr noundef nonnull align 8 dereferenceable(24) %10, ptr noundef nonnull align 8 dereferenceable(32) %107) + %87 = getelementptr inbounds nuw i8, ptr %10, i64 8 + %88 = getelementptr inbounds nuw i8, ptr %0, i64 96 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %87, i8 0, i64 16, i1 false) + %89 = load ptr, ptr %88, align 8 + %90 = getelementptr inbounds nuw i8, ptr %89, i64 8 + %91 = load ptr, ptr %90, align 8 + %92 = getelementptr inbounds i8, ptr %91, i64 -608 + %93 = getelementptr inbounds nuw i8, ptr %3, i64 44 + %94 = load i32, ptr %93, align 4 + %95 = and i32 %94, 4 + %.not.i = icmp eq i32 %95, 0 + br i1 %.not.i, label %98, label %96 + +96: ; preds = %_ZN4llvm10MIMetadataC2ENS_8DebugLocEPNS_6MDNodeES3_.exit + %97 = call { ptr, ptr } @_ZN4llvm7BuildMIERNS_17MachineBasicBlockENS_14ilist_iteratorINS_12ilist_detail12node_optionsINS_12MachineInstrELb1ELb1EvLb0EvEELb0ELb0EEERKNS_10MIMetadataERKNS_11MCInstrDescE(ptr noundef nonnull align 8 dereferenceable(288) %81, ptr nonnull align 8 dereferenceable(70) %3, ptr noundef nonnull align 8 dereferenceable(24) %10, ptr noundef nonnull align 8 dereferenceable(32) %92) br label %_ZN4llvm7BuildMIERNS_17MachineBasicBlockERNS_12MachineInstrERKNS_10MIMetadataERKNS_11MCInstrDescE.exit -113: ; preds = %_ZN4llvm10MIMetadataC2ENS_8DebugLocEPNS_6MDNodeES3_.exit - %114 = call { ptr, ptr } @_ZN4llvm7BuildMIERNS_17MachineBasicBlockENS_26MachineInstrBundleIteratorINS_12MachineInstrELb0EEERKNS_10MIMetadataERKNS_11MCInstrDescE(ptr noundef nonnull align 8 dereferenceable(288) %96, ptr nonnull align 8 dereferenceable(70) %3, ptr noundef nonnull align 8 dereferenceable(24) %10, ptr noundef nonnull align 8 dereferenceable(32) %107) +98: ; preds = %_ZN4llvm10MIMetadataC2ENS_8DebugLocEPNS_6MDNodeES3_.exit + %99 = call { ptr, ptr } @_ZN4llvm7BuildMIERNS_17MachineBasicBlockENS_26MachineInstrBundleIteratorINS_12MachineInstrELb0EEERKNS_10MIMetadataERKNS_11MCInstrDescE(ptr noundef nonnull align 8 dereferenceable(288) %81, ptr nonnull align 8 dereferenceable(70) %3, ptr noundef nonnull align 8 dereferenceable(24) %10, ptr noundef nonnull align 8 dereferenceable(32) %92) br label %_ZN4llvm7BuildMIERNS_17MachineBasicBlockERNS_12MachineInstrERKNS_10MIMetadataERKNS_11MCInstrDescE.exit -_ZN4llvm7BuildMIERNS_17MachineBasicBlockERNS_12MachineInstrERKNS_10MIMetadataERKNS_11MCInstrDescE.exit: ; preds = %111, %113 - %.pn.i = phi { ptr, ptr } [ %112, %111 ], [ %114, %113 ] - %115 = extractvalue { ptr, ptr } %.pn.i, 0 - %116 = extractvalue { ptr, ptr } %.pn.i, 1 +_ZN4llvm7BuildMIERNS_17MachineBasicBlockERNS_12MachineInstrERKNS_10MIMetadataERKNS_11MCInstrDescE.exit: ; preds = %96, %98 + %.pn.i = phi { ptr, ptr } [ %97, %96 ], [ %99, %98 ] + %100 = extractvalue { ptr, ptr } %.pn.i, 0 + %101 = extractvalue { ptr, ptr } %.pn.i, 1 call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %7) - %117 = getelementptr inbounds nuw i8, ptr %7, i64 8 - store ptr null, ptr %117, align 8, !alias.scope !319 - %118 = getelementptr inbounds nuw i8, ptr %7, i64 4 - store i32 %1, ptr %118, align 4, !alias.scope !319 - %119 = getelementptr inbounds nuw i8, ptr %7, i64 16 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %119, i8 0, i64 16, i1 false), !alias.scope !319 + %102 = getelementptr inbounds nuw i8, ptr %7, i64 8 + store ptr null, ptr %102, align 8, !alias.scope !319 + %103 = getelementptr inbounds nuw i8, ptr %7, i64 4 + store i32 %1, ptr %103, align 4, !alias.scope !319 + %104 = getelementptr inbounds nuw i8, ptr %7, i64 16 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %104, i8 0, i64 16, i1 false), !alias.scope !319 store i32 %.027, ptr %7, align 8, !alias.scope !319 - call void @_ZN4llvm12MachineInstr10addOperandERNS_15MachineFunctionERKNS_14MachineOperandE(ptr noundef nonnull align 8 dereferenceable(70) %116, ptr noundef nonnull align 8 dereferenceable(1041) %115, ptr noundef nonnull align 8 dereferenceable(32) %7) #19 + call void @_ZN4llvm12MachineInstr10addOperandERNS_15MachineFunctionERKNS_14MachineOperandE(ptr noundef nonnull align 8 dereferenceable(70) %101, ptr noundef nonnull align 8 dereferenceable(1041) %100, ptr noundef nonnull align 8 dereferenceable(32) %7) #19 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %6) - %120 = getelementptr inbounds nuw i8, ptr %6, i64 8 - store ptr null, ptr %120, align 8, !alias.scope !322 - %121 = getelementptr inbounds nuw i8, ptr %6, i64 4 - store i32 %2, ptr %121, align 4, !alias.scope !322 - %122 = getelementptr inbounds nuw i8, ptr %6, i64 16 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %122, i8 0, i64 16, i1 false), !alias.scope !322 + %105 = getelementptr inbounds nuw i8, ptr %6, i64 8 + store ptr null, ptr %105, align 8, !alias.scope !322 + %106 = getelementptr inbounds nuw i8, ptr %6, i64 4 + store i32 %2, ptr %106, align 4, !alias.scope !322 + %107 = getelementptr inbounds nuw i8, ptr %6, i64 16 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %107, i8 0, i64 16, i1 false), !alias.scope !322 store i32 0, ptr %6, align 8, !alias.scope !322 - call void @_ZN4llvm12MachineInstr10addOperandERNS_15MachineFunctionERKNS_14MachineOperandE(ptr noundef nonnull align 8 dereferenceable(70) %116, ptr noundef nonnull align 8 dereferenceable(1041) %115, ptr noundef nonnull align 8 dereferenceable(32) %6) #19 + call void @_ZN4llvm12MachineInstr10addOperandERNS_15MachineFunctionERKNS_14MachineOperandE(ptr noundef nonnull align 8 dereferenceable(70) %101, ptr noundef nonnull align 8 dereferenceable(1041) %100, ptr noundef nonnull align 8 dereferenceable(32) %6) #19 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %6) - %123 = load ptr, ptr %10, align 8 - %.not.i.i.i.i.i52 = icmp eq ptr %123, null - br i1 %.not.i.i.i.i.i52, label %_ZN4llvm10MIMetadataD2Ev.exit, label %124 + %108 = load ptr, ptr %10, align 8 + %.not.i.i.i.i.i52 = icmp eq ptr %108, null + br i1 %.not.i.i.i.i.i52, label %_ZN4llvm10MIMetadataD2Ev.exit, label %109 -124: ; preds = %_ZN4llvm7BuildMIERNS_17MachineBasicBlockERNS_12MachineInstrERKNS_10MIMetadataERKNS_11MCInstrDescE.exit - call void @_ZN4llvm16MetadataTracking7untrackEPvRNS_8MetadataE(ptr noundef nonnull align 8 dereferenceable(24) %10, ptr noundef nonnull align 4 dereferenceable(8) %123) #19 +109: ; preds = %_ZN4llvm7BuildMIERNS_17MachineBasicBlockERNS_12MachineInstrERKNS_10MIMetadataERKNS_11MCInstrDescE.exit + call void @_ZN4llvm16MetadataTracking7untrackEPvRNS_8MetadataE(ptr noundef nonnull align 8 dereferenceable(24) %10, ptr noundef nonnull align 4 dereferenceable(8) %108) #19 br label %_ZN4llvm10MIMetadataD2Ev.exit -_ZN4llvm10MIMetadataD2Ev.exit: ; preds = %_ZN4llvm7BuildMIERNS_17MachineBasicBlockERNS_12MachineInstrERKNS_10MIMetadataERKNS_11MCInstrDescE.exit, %124 - %125 = load ptr, ptr %11, align 8 - %.not.i.i.i.i53 = icmp eq ptr %125, null - br i1 %.not.i.i.i.i53, label %_ZN4llvm8DebugLocD2Ev.exit, label %126 +_ZN4llvm10MIMetadataD2Ev.exit: ; preds = %_ZN4llvm7BuildMIERNS_17MachineBasicBlockERNS_12MachineInstrERKNS_10MIMetadataERKNS_11MCInstrDescE.exit, %109 + %110 = load ptr, ptr %11, align 8 + %.not.i.i.i.i53 = icmp eq ptr %110, null + br i1 %.not.i.i.i.i53, label %_ZN4llvm8DebugLocD2Ev.exit, label %111 -126: ; preds = %_ZN4llvm10MIMetadataD2Ev.exit - call void @_ZN4llvm16MetadataTracking7untrackEPvRNS_8MetadataE(ptr noundef nonnull align 8 dereferenceable(8) %11, ptr noundef nonnull align 4 dereferenceable(8) %125) #19 +111: ; preds = %_ZN4llvm10MIMetadataD2Ev.exit + call void @_ZN4llvm16MetadataTracking7untrackEPvRNS_8MetadataE(ptr noundef nonnull align 8 dereferenceable(8) %11, ptr noundef nonnull align 4 dereferenceable(8) %110) #19 br label %_ZN4llvm8DebugLocD2Ev.exit -_ZN4llvm8DebugLocD2Ev.exit: ; preds = %126, %_ZN4llvm10MIMetadataD2Ev.exit, %80, %92, %_ZNK4llvm3LLT13getSizeInBitsEv.exit51, %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit30, %38 - %.0 = phi i1 [ false, %38 ], [ false, %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit30 ], [ false, %_ZNK4llvm3LLT13getSizeInBitsEv.exit51 ], [ false, %92 ], [ false, %80 ], [ true, %_ZN4llvm10MIMetadataD2Ev.exit ], [ true, %126 ] +_ZN4llvm8DebugLocD2Ev.exit: ; preds = %111, %_ZN4llvm10MIMetadataD2Ev.exit, %65, %77, %_ZNK4llvm3LLT13getSizeInBitsEv.exit51, %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit30, %38 + %.0 = phi i1 [ false, %38 ], [ false, %_ZNK4llvm19MachineRegisterInfo7getTypeENS_8RegisterE.exit30 ], [ false, %_ZNK4llvm3LLT13getSizeInBitsEv.exit51 ], [ false, %77 ], [ false, %65 ], [ true, %_ZN4llvm10MIMetadataD2Ev.exit ], [ true, %111 ] ret i1 %.0 } diff --git a/bench/luajit/optimized/lj_str_dyn.ll b/bench/luajit/optimized/lj_str_dyn.ll index 82e95428ab1..91f9091add2 100644 --- a/bench/luajit/optimized/lj_str_dyn.ll +++ b/bench/luajit/optimized/lj_str_dyn.ll @@ -203,11 +203,7 @@ for.body.lr.ph: ; preds = %if.then9 %7 = zext i32 %6 to i64 br label %for.body -for.cond28.preheader: ; preds = %for.inc - %cmp29.not148 = icmp eq i32 %newmask, -1 - br i1 %cmp29.not148, label %for.end43, label %for.body31.preheader - -for.body31.preheader: ; preds = %if.then9, %for.cond28.preheader +for.body31.preheader: ; preds = %for.inc, %if.then9 %8 = zext nneg i32 %newmask to i64 br label %for.body31 @@ -314,7 +310,7 @@ cond.end: ; preds = %cond.false, %hash_s for.inc: ; preds = %cond.end, %for.body %indvars.iv.next = add nsw i64 %indvars.iv, -1 %cmp11.not = icmp eq i64 %indvars.iv, 0 - br i1 %cmp11.not, label %for.cond28.preheader, label %for.body, !llvm.loop !8 + br i1 %cmp11.not, label %for.body31.preheader, label %for.body, !llvm.loop !8 for.body31: ; preds = %for.body31.preheader, %for.body31 %indvars.iv159 = phi i64 [ %8, %for.body31.preheader ], [ %indvars.iv.next160, %for.body31 ] @@ -330,9 +326,8 @@ for.body31: ; preds = %for.body31.preheade %indvars.iv.next160 = add nsw i64 %indvars.iv159, -1 br i1 %cmp29.not, label %for.end43, label %for.body31, !llvm.loop !9 -for.end43: ; preds = %for.body31, %for.cond28.preheader - %newsecond.0.lcssa = phi i8 [ 0, %for.cond28.preheader ], [ %or, %for.body31 ] - store i8 %newsecond.0.lcssa, ptr %second, align 1 +for.end43: ; preds = %for.body31 + store i8 %or, ptr %second, align 1 br label %if.end47 if.end47: ; preds = %for.end43, %if.end diff --git a/bench/lvgl/optimized/lv_obj.ll b/bench/lvgl/optimized/lv_obj.ll index 160524bb723..c3d1e2f9f40 100644 --- a/bench/lvgl/optimized/lv_obj.ll +++ b/bench/lvgl/optimized/lv_obj.ll @@ -126,23 +126,23 @@ define internal void @lv_obj_event(ptr readnone captures(none) %0, ptr noundef % switch i32 %13, label %.critedge [ i32 1, label %15 i32 11, label %20 - i32 3, label %40 - i32 50, label %45 - i32 17, label %53 - i32 19, label %116 - i32 12, label %147 - i32 14, label %152 - i32 20, label %160 - i32 49, label %165 - i32 42, label %183 - i32 44, label %201 - i32 27, label %205 - i32 32, label %207 - i32 29, label %207 - i32 26, label %207 - i32 23, label %396 - i32 24, label %404 - i32 25, label %409 + i32 3, label %39 + i32 50, label %44 + i32 17, label %52 + i32 19, label %115 + i32 12, label %146 + i32 14, label %151 + i32 20, label %159 + i32 49, label %164 + i32 42, label %182 + i32 44, label %200 + i32 27, label %204 + i32 32, label %206 + i32 29, label %206 + i32 26, label %206 + i32 23, label %395 + i32 24, label %403 + i32 25, label %408 ] 15: ; preds = %2 @@ -192,281 +192,277 @@ lv_obj_remove_state.exit: ; preds = %20, %24 36: ; preds = %32 %37 = and i16 %33, -2 - %.not.i188 = icmp eq i16 %33, %37 - br i1 %.not.i188, label %lv_obj_remove_state.exit189, label %38 - -38: ; preds = %36 tail call fastcc void @update_obj_state(ptr noundef nonnull %14, i16 noundef zeroext %37) br label %lv_obj_remove_state.exit189 -lv_obj_remove_state.exit189: ; preds = %38, %36, %35 - %39 = tail call i32 @lv_obj_send_event(ptr noundef nonnull %14, i32 noundef 35, ptr noundef null) #8 +lv_obj_remove_state.exit189: ; preds = %36, %35 + %38 = tail call i32 @lv_obj_send_event(ptr noundef nonnull %14, i32 noundef 35, ptr noundef null) #8 br label %.critedge -40: ; preds = %2 - %41 = getelementptr inbounds nuw i8, ptr %14, i64 60 - %42 = load i16, ptr %41, align 4, !tbaa !24 - %43 = and i16 %42, -33 - %.not.i190 = icmp eq i16 %42, %43 - br i1 %.not.i190, label %.critedge, label %44 +39: ; preds = %2 + %40 = getelementptr inbounds nuw i8, ptr %14, i64 60 + %41 = load i16, ptr %40, align 4, !tbaa !24 + %42 = and i16 %41, -33 + %.not.i190 = icmp eq i16 %41, %42 + br i1 %.not.i190, label %.critedge, label %43 -44: ; preds = %40 - tail call fastcc void @update_obj_state(ptr noundef nonnull %14, i16 noundef zeroext %43) +43: ; preds = %39 + tail call fastcc void @update_obj_state(ptr noundef nonnull %14, i16 noundef zeroext %42) br label %.critedge -45: ; preds = %2 - %46 = tail call i32 @lv_obj_get_child_count(ptr noundef %14) #8 - %.not231 = icmp eq i32 %46, 0 +44: ; preds = %2 + %45 = tail call i32 @lv_obj_get_child_count(ptr noundef %14) #8 + %.not231 = icmp eq i32 %45, 0 br i1 %.not231, label %.critedge, label %.lr.ph229 -.lr.ph229: ; preds = %45 - %47 = getelementptr inbounds nuw i8, ptr %14, i64 16 - %wide.trip.count237 = zext i32 %46 to i64 - br label %48 - -48: ; preds = %.lr.ph229, %48 - %indvars.iv234 = phi i64 [ 0, %.lr.ph229 ], [ %indvars.iv.next235, %48 ] - %49 = load ptr, ptr %47, align 8, !tbaa !16 - %50 = load ptr, ptr %49, align 8, !tbaa !23 - %51 = getelementptr inbounds nuw ptr, ptr %50, i64 %indvars.iv234 - %52 = load ptr, ptr %51, align 8, !tbaa !25 - tail call void @lv_obj_mark_layout_as_dirty(ptr noundef %52) #8 +.lr.ph229: ; preds = %44 + %46 = getelementptr inbounds nuw i8, ptr %14, i64 16 + %wide.trip.count237 = zext i32 %45 to i64 + br label %47 + +47: ; preds = %.lr.ph229, %47 + %indvars.iv234 = phi i64 [ 0, %.lr.ph229 ], [ %indvars.iv.next235, %47 ] + %48 = load ptr, ptr %46, align 8, !tbaa !16 + %49 = load ptr, ptr %48, align 8, !tbaa !23 + %50 = getelementptr inbounds nuw ptr, ptr %49, i64 %indvars.iv234 + %51 = load ptr, ptr %50, align 8, !tbaa !25 + tail call void @lv_obj_mark_layout_as_dirty(ptr noundef %51) #8 %indvars.iv.next235 = add nuw nsw i64 %indvars.iv234, 1 %exitcond238.not = icmp eq i64 %indvars.iv.next235, %wide.trip.count237 - br i1 %exitcond238.not, label %.critedge, label %48, !llvm.loop !26 - -53: ; preds = %2 - %54 = getelementptr inbounds nuw i8, ptr %14, i64 56 - %55 = load i32, ptr %54, align 8, !tbaa !15 - %56 = and i32 %55, 8 - %.not224 = icmp eq i32 %56, 0 - br i1 %.not224, label %68, label %57 - -57: ; preds = %53 - %58 = tail call i32 @lv_event_get_key(ptr noundef %1) #8 - %59 = and i32 %58, -3 - %or.cond = icmp eq i32 %59, 17 - br i1 %or.cond, label %60, label %61 - -60: ; preds = %57 + br i1 %exitcond238.not, label %.critedge, label %47, !llvm.loop !26 + +52: ; preds = %2 + %53 = getelementptr inbounds nuw i8, ptr %14, i64 56 + %54 = load i32, ptr %53, align 8, !tbaa !15 + %55 = and i32 %54, 8 + %.not224 = icmp eq i32 %55, 0 + br i1 %.not224, label %67, label %56 + +56: ; preds = %52 + %57 = tail call i32 @lv_event_get_key(ptr noundef %1) #8 + %58 = and i32 %57, -3 + %or.cond = icmp eq i32 %58, 17 + br i1 %or.cond, label %59, label %60 + +59: ; preds = %56 tail call void @lv_obj_add_state(ptr noundef nonnull %14, i16 noundef zeroext 1) br label %lv_obj_remove_state.exit193 -61: ; preds = %57 - switch i32 %58, label %lv_obj_remove_state.exit193 [ - i32 20, label %62 - i32 18, label %62 +60: ; preds = %56 + switch i32 %57, label %lv_obj_remove_state.exit193 [ + i32 20, label %61 + i32 18, label %61 i32 10, label %.critedge ] -62: ; preds = %61, %61 - %63 = getelementptr inbounds nuw i8, ptr %14, i64 60 - %64 = load i16, ptr %63, align 4, !tbaa !24 - %65 = and i16 %64, -2 - %.not.i192 = icmp eq i16 %64, %65 - br i1 %.not.i192, label %lv_obj_remove_state.exit193, label %66 +61: ; preds = %60, %60 + %62 = getelementptr inbounds nuw i8, ptr %14, i64 60 + %63 = load i16, ptr %62, align 4, !tbaa !24 + %64 = and i16 %63, -2 + %.not.i192 = icmp eq i16 %63, %64 + br i1 %.not.i192, label %lv_obj_remove_state.exit193, label %65 -66: ; preds = %62 - tail call fastcc void @update_obj_state(ptr noundef nonnull %14, i16 noundef zeroext %65) +65: ; preds = %61 + tail call fastcc void @update_obj_state(ptr noundef nonnull %14, i16 noundef zeroext %64) br label %lv_obj_remove_state.exit193 -lv_obj_remove_state.exit193: ; preds = %60, %62, %66, %61 - %67 = tail call i32 @lv_obj_send_event(ptr noundef nonnull %14, i32 noundef 35, ptr noundef null) #8 +lv_obj_remove_state.exit193: ; preds = %59, %61, %65, %60 + %66 = tail call i32 @lv_obj_send_event(ptr noundef nonnull %14, i32 noundef 35, ptr noundef null) #8 br label %.critedge -68: ; preds = %53 - %69 = and i32 %55, 2064 - %70 = icmp eq i32 %69, 2064 - br i1 %70, label %71, label %.critedge - -71: ; preds = %68 - %72 = tail call zeroext i1 @lv_obj_is_editable(ptr noundef nonnull %14) #8 - br i1 %72, label %.critedge, label %73 - -73: ; preds = %71 - %74 = tail call i32 @lv_obj_get_scroll_left(ptr noundef nonnull %14) #8 - %75 = tail call i32 @lv_obj_get_scroll_right(ptr noundef nonnull %14) #8 - %76 = tail call i32 @lv_event_get_key(ptr noundef %1) #8 - switch i32 %76, label %.critedge [ - i32 18, label %77 - i32 17, label %82 - i32 19, label %86 - i32 20, label %102 +67: ; preds = %52 + %68 = and i32 %54, 2064 + %69 = icmp eq i32 %68, 2064 + br i1 %69, label %70, label %.critedge + +70: ; preds = %67 + %71 = tail call zeroext i1 @lv_obj_is_editable(ptr noundef nonnull %14) #8 + br i1 %71, label %.critedge, label %72 + +72: ; preds = %70 + %73 = tail call i32 @lv_obj_get_scroll_left(ptr noundef nonnull %14) #8 + %74 = tail call i32 @lv_obj_get_scroll_right(ptr noundef nonnull %14) #8 + %75 = tail call i32 @lv_event_get_key(ptr noundef %1) #8 + switch i32 %75, label %.critedge [ + i32 18, label %76 + i32 17, label %81 + i32 19, label %85 + i32 20, label %101 ] -77: ; preds = %73 - %78 = tail call i32 @lv_obj_get_scroll_y(ptr noundef nonnull %14) #8 - %79 = tail call i32 @lv_obj_get_height(ptr noundef nonnull %14) #8 - %80 = sdiv i32 %79, 4 - %81 = add nsw i32 %80, %78 - tail call void @lv_obj_scroll_to_y(ptr noundef nonnull %14, i32 noundef %81, i32 noundef 0) #8 +76: ; preds = %72 + %77 = tail call i32 @lv_obj_get_scroll_y(ptr noundef nonnull %14) #8 + %78 = tail call i32 @lv_obj_get_height(ptr noundef nonnull %14) #8 + %79 = sdiv i32 %78, 4 + %80 = add nsw i32 %79, %77 + tail call void @lv_obj_scroll_to_y(ptr noundef nonnull %14, i32 noundef %80, i32 noundef 0) #8 br label %.critedge -82: ; preds = %73 - %83 = tail call i32 @lv_obj_get_scroll_y(ptr noundef nonnull %14) #8 - %84 = tail call i32 @lv_obj_get_height(ptr noundef nonnull %14) #8 - %.neg180 = sdiv i32 %84, -4 - %85 = add i32 %.neg180, %83 - tail call void @lv_obj_scroll_to_y(ptr noundef nonnull %14, i32 noundef %85, i32 noundef 0) #8 +81: ; preds = %72 + %82 = tail call i32 @lv_obj_get_scroll_y(ptr noundef nonnull %14) #8 + %83 = tail call i32 @lv_obj_get_height(ptr noundef nonnull %14) #8 + %.neg180 = sdiv i32 %83, -4 + %84 = add i32 %.neg180, %82 + tail call void @lv_obj_scroll_to_y(ptr noundef nonnull %14, i32 noundef %84, i32 noundef 0) #8 br label %.critedge -86: ; preds = %73 - %87 = tail call i32 @lv_obj_get_scroll_dir(ptr noundef nonnull %14) #8 - %88 = and i32 %87, 3 - %.not179 = icmp eq i32 %88, 0 - br i1 %.not179, label %92, label %89 +85: ; preds = %72 + %86 = tail call i32 @lv_obj_get_scroll_dir(ptr noundef nonnull %14) #8 + %87 = and i32 %86, 3 + %.not179 = icmp eq i32 %87, 0 + br i1 %.not179, label %91, label %88 -89: ; preds = %86 +88: ; preds = %85 + %89 = icmp sgt i32 %73, 0 %90 = icmp sgt i32 %74, 0 - %91 = icmp sgt i32 %75, 0 - %or.cond8 = select i1 %90, i1 true, i1 %91 - br i1 %or.cond8, label %97, label %92 - -92: ; preds = %89, %86 - %93 = tail call i32 @lv_obj_get_scroll_y(ptr noundef nonnull %14) #8 - %94 = tail call i32 @lv_obj_get_height(ptr noundef nonnull %14) #8 - %95 = sdiv i32 %94, 4 - %96 = add nsw i32 %95, %93 - tail call void @lv_obj_scroll_to_y(ptr noundef nonnull %14, i32 noundef %96, i32 noundef 0) #8 + %or.cond8 = select i1 %89, i1 true, i1 %90 + br i1 %or.cond8, label %96, label %91 + +91: ; preds = %88, %85 + %92 = tail call i32 @lv_obj_get_scroll_y(ptr noundef nonnull %14) #8 + %93 = tail call i32 @lv_obj_get_height(ptr noundef nonnull %14) #8 + %94 = sdiv i32 %93, 4 + %95 = add nsw i32 %94, %92 + tail call void @lv_obj_scroll_to_y(ptr noundef nonnull %14, i32 noundef %95, i32 noundef 0) #8 br label %.critedge -97: ; preds = %89 - %98 = tail call i32 @lv_obj_get_scroll_x(ptr noundef nonnull %14) #8 - %99 = tail call i32 @lv_obj_get_width(ptr noundef nonnull %14) #8 - %100 = sdiv i32 %99, 4 - %101 = add nsw i32 %100, %98 - tail call void @lv_obj_scroll_to_x(ptr noundef nonnull %14, i32 noundef %101, i32 noundef 0) #8 +96: ; preds = %88 + %97 = tail call i32 @lv_obj_get_scroll_x(ptr noundef nonnull %14) #8 + %98 = tail call i32 @lv_obj_get_width(ptr noundef nonnull %14) #8 + %99 = sdiv i32 %98, 4 + %100 = add nsw i32 %99, %97 + tail call void @lv_obj_scroll_to_x(ptr noundef nonnull %14, i32 noundef %100, i32 noundef 0) #8 br label %.critedge -102: ; preds = %73 - %103 = tail call i32 @lv_obj_get_scroll_dir(ptr noundef nonnull %14) #8 - %104 = and i32 %103, 3 - %.not = icmp eq i32 %104, 0 - br i1 %.not, label %108, label %105 +101: ; preds = %72 + %102 = tail call i32 @lv_obj_get_scroll_dir(ptr noundef nonnull %14) #8 + %103 = and i32 %102, 3 + %.not = icmp eq i32 %103, 0 + br i1 %.not, label %107, label %104 -105: ; preds = %102 +104: ; preds = %101 + %105 = icmp sgt i32 %73, 0 %106 = icmp sgt i32 %74, 0 - %107 = icmp sgt i32 %75, 0 - %or.cond10 = select i1 %106, i1 true, i1 %107 - br i1 %or.cond10, label %112, label %108 - -108: ; preds = %105, %102 - %109 = tail call i32 @lv_obj_get_scroll_y(ptr noundef nonnull %14) #8 - %110 = tail call i32 @lv_obj_get_height(ptr noundef nonnull %14) #8 - %.neg = sdiv i32 %110, -4 - %111 = add i32 %.neg, %109 - tail call void @lv_obj_scroll_to_y(ptr noundef nonnull %14, i32 noundef %111, i32 noundef 0) #8 + %or.cond10 = select i1 %105, i1 true, i1 %106 + br i1 %or.cond10, label %111, label %107 + +107: ; preds = %104, %101 + %108 = tail call i32 @lv_obj_get_scroll_y(ptr noundef nonnull %14) #8 + %109 = tail call i32 @lv_obj_get_height(ptr noundef nonnull %14) #8 + %.neg = sdiv i32 %109, -4 + %110 = add i32 %.neg, %108 + tail call void @lv_obj_scroll_to_y(ptr noundef nonnull %14, i32 noundef %110, i32 noundef 0) #8 br label %.critedge -112: ; preds = %105 - %113 = tail call i32 @lv_obj_get_scroll_x(ptr noundef nonnull %14) #8 - %114 = tail call i32 @lv_obj_get_width(ptr noundef nonnull %14) #8 - %.neg178 = sdiv i32 %114, -4 - %115 = add i32 %.neg178, %113 - tail call void @lv_obj_scroll_to_x(ptr noundef nonnull %14, i32 noundef %115, i32 noundef 0) #8 +111: ; preds = %104 + %112 = tail call i32 @lv_obj_get_scroll_x(ptr noundef nonnull %14) #8 + %113 = tail call i32 @lv_obj_get_width(ptr noundef nonnull %14) #8 + %.neg178 = sdiv i32 %113, -4 + %114 = add i32 %.neg178, %112 + tail call void @lv_obj_scroll_to_x(ptr noundef nonnull %14, i32 noundef %114, i32 noundef 0) #8 br label %.critedge -116: ; preds = %2 - %117 = getelementptr inbounds nuw i8, ptr %14, i64 56 - %118 = load i32, ptr %117, align 8, !tbaa !15 - %119 = and i32 %118, 1024 - %.not223 = icmp eq i32 %119, 0 - br i1 %.not223, label %121, label %120 +115: ; preds = %2 + %116 = getelementptr inbounds nuw i8, ptr %14, i64 56 + %117 = load i32, ptr %116, align 8, !tbaa !15 + %118 = and i32 %117, 1024 + %.not223 = icmp eq i32 %118, 0 + br i1 %.not223, label %120, label %119 -120: ; preds = %116 +119: ; preds = %115 tail call void @lv_obj_scroll_to_view_recursive(ptr noundef nonnull %14, i32 noundef 1) #8 - br label %121 + br label %120 -121: ; preds = %120, %116 - %122 = getelementptr inbounds nuw i8, ptr %14, i64 16 - %123 = load ptr, ptr %122, align 8, !tbaa !16 - %.not.i194 = icmp eq ptr %123, null - br i1 %.not.i194, label %lv_obj_get_group.exit, label %124 +120: ; preds = %119, %115 + %121 = getelementptr inbounds nuw i8, ptr %14, i64 16 + %122 = load ptr, ptr %121, align 8, !tbaa !16 + %.not.i194 = icmp eq ptr %122, null + br i1 %.not.i194, label %lv_obj_get_group.exit, label %123 -124: ; preds = %121 - %125 = getelementptr inbounds nuw i8, ptr %123, i64 8 - %126 = load ptr, ptr %125, align 8, !tbaa !17 +123: ; preds = %120 + %124 = getelementptr inbounds nuw i8, ptr %122, i64 8 + %125 = load ptr, ptr %124, align 8, !tbaa !17 br label %lv_obj_get_group.exit -lv_obj_get_group.exit: ; preds = %121, %124 - %.0.i = phi ptr [ %126, %124 ], [ null, %121 ] - %127 = tail call zeroext i1 @lv_group_get_editing(ptr noundef %.0.i) #8 - %128 = tail call ptr @lv_indev_active() #8 - %129 = icmp eq ptr %128, null - br i1 %129, label %130, label %132 - -130: ; preds = %lv_obj_get_group.exit - %131 = tail call ptr @lv_event_get_indev(ptr noundef %1) #8 - br label %132 - -132: ; preds = %130, %lv_obj_get_group.exit - %.0172 = phi ptr [ %131, %130 ], [ %128, %lv_obj_get_group.exit ] - %133 = tail call i32 @lv_indev_get_type(ptr noundef %.0172) #8 - %134 = add i32 %133, -2 - %switch.and = and i32 %134, -3 +lv_obj_get_group.exit: ; preds = %120, %123 + %.0.i = phi ptr [ %125, %123 ], [ null, %120 ] + %126 = tail call zeroext i1 @lv_group_get_editing(ptr noundef %.0.i) #8 + %127 = tail call ptr @lv_indev_active() #8 + %128 = icmp eq ptr %127, null + br i1 %128, label %129, label %131 + +129: ; preds = %lv_obj_get_group.exit + %130 = tail call ptr @lv_event_get_indev(ptr noundef %1) #8 + br label %131 + +131: ; preds = %129, %lv_obj_get_group.exit + %.0172 = phi ptr [ %130, %129 ], [ %127, %lv_obj_get_group.exit ] + %132 = tail call i32 @lv_indev_get_type(ptr noundef %.0172) #8 + %133 = add i32 %132, -2 + %switch.and = and i32 %133, -3 %switch.selectcmp = icmp eq i32 %switch.and, 0 - %135 = select i1 %switch.selectcmp, i16 6, i16 2 - %136 = getelementptr inbounds nuw i8, ptr %14, i64 60 - %137 = load i16, ptr %136, align 4, !tbaa !24 - %138 = or i16 %135, %137 - br i1 %127, label %139, label %142 - -139: ; preds = %132 - %140 = or i16 %138, 8 - %.not.i195 = icmp eq i16 %137, %140 - br i1 %.not.i195, label %.critedge, label %141 - -141: ; preds = %139 - tail call fastcc void @update_obj_state(ptr noundef nonnull %14, i16 noundef zeroext %140) + %134 = select i1 %switch.selectcmp, i16 6, i16 2 + %135 = getelementptr inbounds nuw i8, ptr %14, i64 60 + %136 = load i16, ptr %135, align 4, !tbaa !24 + %137 = or i16 %134, %136 + br i1 %126, label %138, label %141 + +138: ; preds = %131 + %139 = or i16 %137, 8 + %.not.i195 = icmp eq i16 %136, %139 + br i1 %.not.i195, label %.critedge, label %140 + +140: ; preds = %138 + tail call fastcc void @update_obj_state(ptr noundef nonnull %14, i16 noundef zeroext %139) br label %.critedge -142: ; preds = %132 - %.not.i198 = icmp eq i16 %137, %138 - br i1 %.not.i198, label %lv_obj_add_state.exit200, label %143 +141: ; preds = %131 + %.not.i198 = icmp eq i16 %136, %137 + br i1 %.not.i198, label %lv_obj_add_state.exit200, label %142 -143: ; preds = %142 - tail call fastcc void @update_obj_state(ptr noundef nonnull %14, i16 noundef zeroext %138) - %.pre239 = load i16, ptr %136, align 4, !tbaa !24 +142: ; preds = %141 + tail call fastcc void @update_obj_state(ptr noundef nonnull %14, i16 noundef zeroext %137) + %.pre239 = load i16, ptr %135, align 4, !tbaa !24 br label %lv_obj_add_state.exit200 -lv_obj_add_state.exit200: ; preds = %142, %143 - %144 = phi i16 [ %137, %142 ], [ %.pre239, %143 ] - %145 = and i16 %144, -9 - %.not.i201 = icmp eq i16 %144, %145 - br i1 %.not.i201, label %.critedge, label %146 +lv_obj_add_state.exit200: ; preds = %141, %142 + %143 = phi i16 [ %136, %141 ], [ %.pre239, %142 ] + %144 = and i16 %143, -9 + %.not.i201 = icmp eq i16 %143, %144 + br i1 %.not.i201, label %.critedge, label %145 -146: ; preds = %lv_obj_add_state.exit200 - tail call fastcc void @update_obj_state(ptr noundef nonnull %14, i16 noundef zeroext %145) +145: ; preds = %lv_obj_add_state.exit200 + tail call fastcc void @update_obj_state(ptr noundef nonnull %14, i16 noundef zeroext %144) br label %.critedge -147: ; preds = %2 - %148 = getelementptr inbounds nuw i8, ptr %14, i64 60 - %149 = load i16, ptr %148, align 4, !tbaa !24 - %150 = or i16 %149, 64 - %.not.i203 = icmp eq i16 %149, %150 - br i1 %.not.i203, label %.critedge, label %151 +146: ; preds = %2 + %147 = getelementptr inbounds nuw i8, ptr %14, i64 60 + %148 = load i16, ptr %147, align 4, !tbaa !24 + %149 = or i16 %148, 64 + %.not.i203 = icmp eq i16 %148, %149 + br i1 %.not.i203, label %.critedge, label %150 -151: ; preds = %147 - tail call fastcc void @update_obj_state(ptr noundef nonnull %14, i16 noundef zeroext %150) +150: ; preds = %146 + tail call fastcc void @update_obj_state(ptr noundef nonnull %14, i16 noundef zeroext %149) br label %.critedge -152: ; preds = %2 - %153 = getelementptr inbounds nuw i8, ptr %14, i64 60 - %154 = load i16, ptr %153, align 4, !tbaa !24 - %155 = and i16 %154, -65 - %.not.i206 = icmp eq i16 %154, %155 - br i1 %.not.i206, label %lv_obj_remove_state.exit207, label %156 +151: ; preds = %2 + %152 = getelementptr inbounds nuw i8, ptr %14, i64 60 + %153 = load i16, ptr %152, align 4, !tbaa !24 + %154 = and i16 %153, -65 + %.not.i206 = icmp eq i16 %153, %154 + br i1 %.not.i206, label %lv_obj_remove_state.exit207, label %155 -156: ; preds = %152 - tail call fastcc void @update_obj_state(ptr noundef nonnull %14, i16 noundef zeroext %155) +155: ; preds = %151 + tail call fastcc void @update_obj_state(ptr noundef nonnull %14, i16 noundef zeroext %154) br label %lv_obj_remove_state.exit207 -lv_obj_remove_state.exit207: ; preds = %152, %156 - %157 = tail call i32 @lv_obj_get_scrollbar_mode(ptr noundef nonnull %14) #8 - %158 = icmp eq i32 %157, 2 - br i1 %158, label %159, label %.critedge +lv_obj_remove_state.exit207: ; preds = %151, %155 + %156 = tail call i32 @lv_obj_get_scrollbar_mode(ptr noundef nonnull %14) #8 + %157 = icmp eq i32 %156, 2 + br i1 %157, label %158, label %.critedge -159: ; preds = %lv_obj_remove_state.exit207 +158: ; preds = %lv_obj_remove_state.exit207 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %11) #8 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %12) #8 call void @lv_obj_get_scrollbar_area(ptr noundef nonnull %14, ptr noundef nonnull %11, ptr noundef nonnull %12) #8 @@ -476,523 +472,523 @@ lv_obj_remove_state.exit207: ; preds = %152, %156 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %11) #8 br label %.critedge -160: ; preds = %2 - %161 = getelementptr inbounds nuw i8, ptr %14, i64 60 - %162 = load i16, ptr %161, align 4, !tbaa !24 - %163 = and i16 %162, -15 - %.not.i208 = icmp eq i16 %162, %163 - br i1 %.not.i208, label %.critedge, label %164 +159: ; preds = %2 + %160 = getelementptr inbounds nuw i8, ptr %14, i64 60 + %161 = load i16, ptr %160, align 4, !tbaa !24 + %162 = and i16 %161, -15 + %.not.i208 = icmp eq i16 %161, %162 + br i1 %.not.i208, label %.critedge, label %163 -164: ; preds = %160 - tail call fastcc void @update_obj_state(ptr noundef nonnull %14, i16 noundef zeroext %163) +163: ; preds = %159 + tail call fastcc void @update_obj_state(ptr noundef nonnull %14, i16 noundef zeroext %162) br label %.critedge -165: ; preds = %2 - %166 = tail call ptr @lv_obj_get_style_prop(ptr noundef %14, i32 noundef 0, i8 noundef zeroext 10) #8 - %167 = ptrtoint ptr %166 to i64 - %168 = tail call ptr @lv_obj_get_style_prop(ptr noundef %14, i32 noundef 0, i8 noundef zeroext 22) #8 - %169 = ptrtoint ptr %168 to i64 - %170 = and i64 %169, 65535 - %171 = icmp ne i64 %170, 0 - %172 = and i64 %167, 4294967295 - %173 = icmp ne i64 %172, 0 - %or.cond14 = select i1 %171, i1 true, i1 %173 - br i1 %or.cond14, label %174, label %175 - -174: ; preds = %165 +164: ; preds = %2 + %165 = tail call ptr @lv_obj_get_style_prop(ptr noundef %14, i32 noundef 0, i8 noundef zeroext 10) #8 + %166 = ptrtoint ptr %165 to i64 + %167 = tail call ptr @lv_obj_get_style_prop(ptr noundef %14, i32 noundef 0, i8 noundef zeroext 22) #8 + %168 = ptrtoint ptr %167 to i64 + %169 = and i64 %168, 65535 + %170 = icmp ne i64 %169, 0 + %171 = and i64 %166, 4294967295 + %172 = icmp ne i64 %171, 0 + %or.cond14 = select i1 %170, i1 true, i1 %172 + br i1 %or.cond14, label %173, label %174 + +173: ; preds = %164 tail call void @lv_obj_mark_layout_as_dirty(ptr noundef %14) #8 - br label %175 + br label %174 -175: ; preds = %165, %174 - %176 = tail call i32 @lv_obj_get_child_count(ptr noundef %14) #8 - %.not230 = icmp eq i32 %176, 0 +174: ; preds = %164, %173 + %175 = tail call i32 @lv_obj_get_child_count(ptr noundef %14) #8 + %.not230 = icmp eq i32 %175, 0 br i1 %.not230, label %.critedge, label %.lr.ph -.lr.ph: ; preds = %175 - %177 = getelementptr inbounds nuw i8, ptr %14, i64 16 - %wide.trip.count = zext i32 %176 to i64 - br label %178 - -178: ; preds = %.lr.ph, %178 - %indvars.iv = phi i64 [ 0, %.lr.ph ], [ %indvars.iv.next, %178 ] - %179 = load ptr, ptr %177, align 8, !tbaa !16 - %180 = load ptr, ptr %179, align 8, !tbaa !23 - %181 = getelementptr inbounds nuw ptr, ptr %180, i64 %indvars.iv - %182 = load ptr, ptr %181, align 8, !tbaa !25 - tail call void @lv_obj_mark_layout_as_dirty(ptr noundef %182) #8 +.lr.ph: ; preds = %174 + %176 = getelementptr inbounds nuw i8, ptr %14, i64 16 + %wide.trip.count = zext i32 %175 to i64 + br label %177 + +177: ; preds = %.lr.ph, %177 + %indvars.iv = phi i64 [ 0, %.lr.ph ], [ %indvars.iv.next, %177 ] + %178 = load ptr, ptr %176, align 8, !tbaa !16 + %179 = load ptr, ptr %178, align 8, !tbaa !23 + %180 = getelementptr inbounds nuw ptr, ptr %179, i64 %indvars.iv + %181 = load ptr, ptr %180, align 8, !tbaa !25 + tail call void @lv_obj_mark_layout_as_dirty(ptr noundef %181) #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 %.critedge, label %178, !llvm.loop !28 - -183: ; preds = %2 - %184 = tail call ptr @lv_obj_get_style_prop(ptr noundef %14, i32 noundef 0, i8 noundef zeroext 1) #8 - %185 = ptrtoint ptr %184 to i64 - %186 = tail call ptr @lv_obj_get_style_prop(ptr noundef %14, i32 noundef 0, i8 noundef zeroext 2) #8 - %187 = ptrtoint ptr %186 to i64 - %188 = tail call ptr @lv_obj_get_style_prop(ptr noundef %14, i32 noundef 0, i8 noundef zeroext 10) #8 - %189 = ptrtoint ptr %188 to i64 - %190 = tail call ptr @lv_obj_get_style_prop(ptr noundef %14, i32 noundef 0, i8 noundef zeroext 22) #8 - %191 = ptrtoint ptr %190 to i64 - %192 = and i64 %191, 65535 - %193 = icmp ne i64 %192, 0 - %194 = and i64 %189, 4294967295 - %195 = icmp ne i64 %194, 0 - %or.cond16 = select i1 %193, i1 true, i1 %195 - %196 = and i64 %185, 4294967295 - %197 = icmp eq i64 %196, 1073741823 - %or.cond18 = select i1 %or.cond16, i1 true, i1 %197 - %198 = and i64 %187, 4294967295 - %199 = icmp eq i64 %198, 1073741823 - %or.cond20 = select i1 %or.cond18, i1 true, i1 %199 - br i1 %or.cond20, label %200, label %.critedge - -200: ; preds = %183 + br i1 %exitcond.not, label %.critedge, label %177, !llvm.loop !28 + +182: ; preds = %2 + %183 = tail call ptr @lv_obj_get_style_prop(ptr noundef %14, i32 noundef 0, i8 noundef zeroext 1) #8 + %184 = ptrtoint ptr %183 to i64 + %185 = tail call ptr @lv_obj_get_style_prop(ptr noundef %14, i32 noundef 0, i8 noundef zeroext 2) #8 + %186 = ptrtoint ptr %185 to i64 + %187 = tail call ptr @lv_obj_get_style_prop(ptr noundef %14, i32 noundef 0, i8 noundef zeroext 10) #8 + %188 = ptrtoint ptr %187 to i64 + %189 = tail call ptr @lv_obj_get_style_prop(ptr noundef %14, i32 noundef 0, i8 noundef zeroext 22) #8 + %190 = ptrtoint ptr %189 to i64 + %191 = and i64 %190, 65535 + %192 = icmp ne i64 %191, 0 + %193 = and i64 %188, 4294967295 + %194 = icmp ne i64 %193, 0 + %or.cond16 = select i1 %192, i1 true, i1 %194 + %195 = and i64 %184, 4294967295 + %196 = icmp eq i64 %195, 1073741823 + %or.cond18 = select i1 %or.cond16, i1 true, i1 %196 + %197 = and i64 %186, 4294967295 + %198 = icmp eq i64 %197, 1073741823 + %or.cond20 = select i1 %or.cond18, i1 true, i1 %198 + br i1 %or.cond20, label %199, label %.critedge + +199: ; preds = %182 tail call void @lv_obj_mark_layout_as_dirty(ptr noundef %14) #8 br label %.critedge -201: ; preds = %2 - %202 = getelementptr inbounds nuw i8, ptr %14, i64 62 - %203 = load i16, ptr %202, align 2 - %204 = or i16 %203, 2 - store i16 %204, ptr %202, align 2 +200: ; preds = %2 + %201 = getelementptr inbounds nuw i8, ptr %14, i64 62 + %202 = load i16, ptr %201, align 2 + %203 = or i16 %202, 2 + store i16 %203, ptr %201, align 2 tail call void @lv_obj_mark_layout_as_dirty(ptr noundef %14) #8 br label %.critedge -205: ; preds = %2 - %206 = tail call i32 @lv_obj_calculate_ext_draw_size(ptr noundef %14, i32 noundef 0) #8 - tail call void @lv_event_set_ext_draw_size(ptr noundef %1, i32 noundef %206) #8 +204: ; preds = %2 + %205 = tail call i32 @lv_obj_calculate_ext_draw_size(ptr noundef %14, i32 noundef 0) #8 + tail call void @lv_event_set_ext_draw_size(ptr noundef %1, i32 noundef %205) #8 br label %.critedge -207: ; preds = %2, %2, %2 - %208 = tail call i32 @lv_event_get_code(ptr noundef %1) #8 - %209 = tail call ptr @lv_event_get_current_target(ptr noundef %1) #8 - switch i32 %208, label %.critedge [ - i32 26, label %210 - i32 29, label %267 - i32 32, label %292 +206: ; preds = %2, %2, %2 + %207 = tail call i32 @lv_event_get_code(ptr noundef %1) #8 + %208 = tail call ptr @lv_event_get_current_target(ptr noundef %1) #8 + switch i32 %207, label %.critedge [ + i32 26, label %209 + i32 29, label %266 + i32 32, label %291 ] -210: ; preds = %207 - %211 = tail call ptr @lv_event_get_param(ptr noundef %1) #8 - %212 = load i32, ptr %211, align 8, !tbaa !29 - %213 = icmp eq i32 %212, 2 - br i1 %213, label %.critedge, label %214 - -214: ; preds = %210 - %215 = tail call ptr @lv_obj_get_style_prop(ptr noundef %209, i32 noundef 0, i8 noundef zeroext 45) #8 - %216 = ptrtoint ptr %215 to i64 - %217 = and i64 %216, 4294967295 - %.not75.i = icmp eq i64 %217, 0 - br i1 %.not75.i, label %219, label %218 - -218: ; preds = %214 - store i32 2, ptr %211, align 8, !tbaa !29 +209: ; preds = %206 + %210 = tail call ptr @lv_event_get_param(ptr noundef %1) #8 + %211 = load i32, ptr %210, align 8, !tbaa !29 + %212 = icmp eq i32 %211, 2 + br i1 %212, label %.critedge, label %213 + +213: ; preds = %209 + %214 = tail call ptr @lv_obj_get_style_prop(ptr noundef %208, i32 noundef 0, i8 noundef zeroext 45) #8 + %215 = ptrtoint ptr %214 to i64 + %216 = and i64 %215, 4294967295 + %.not75.i = icmp eq i64 %216, 0 + br i1 %.not75.i, label %218, label %217 + +217: ; preds = %213 + store i32 2, ptr %210, align 8, !tbaa !29 br label %.critedge -219: ; preds = %214 - %220 = tail call ptr @lv_obj_get_style_prop(ptr noundef %209, i32 noundef 0, i8 noundef zeroext 12) #8 - %221 = ptrtoint ptr %220 to i64 - %.sroa.0.0.extract.trunc.i.i = trunc i64 %221 to i32 - %222 = tail call ptr @lv_obj_get_style_prop(ptr noundef %209, i32 noundef 0, i8 noundef zeroext 104) #8 - %223 = ptrtoint ptr %222 to i64 - %.sroa.0.0.extract.trunc.i65.i = trunc i64 %223 to i32 - %224 = tail call ptr @lv_obj_get_style_prop(ptr noundef %209, i32 noundef 0, i8 noundef zeroext 105) #8 - %225 = ptrtoint ptr %224 to i64 - %.sroa.0.0.extract.trunc.i66.i = trunc i64 %225 to i32 +218: ; preds = %213 + %219 = tail call ptr @lv_obj_get_style_prop(ptr noundef %208, i32 noundef 0, i8 noundef zeroext 12) #8 + %220 = ptrtoint ptr %219 to i64 + %.sroa.0.0.extract.trunc.i.i = trunc i64 %220 to i32 + %221 = tail call ptr @lv_obj_get_style_prop(ptr noundef %208, i32 noundef 0, i8 noundef zeroext 104) #8 + %222 = ptrtoint ptr %221 to i64 + %.sroa.0.0.extract.trunc.i65.i = trunc i64 %222 to i32 + %223 = tail call ptr @lv_obj_get_style_prop(ptr noundef %208, i32 noundef 0, i8 noundef zeroext 105) #8 + %224 = ptrtoint ptr %223 to i64 + %.sroa.0.0.extract.trunc.i66.i = trunc i64 %224 to i32 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %6) #8 - %226 = getelementptr inbounds nuw i8, ptr %209, i64 40 - %227 = load i32, ptr %226, align 4, !tbaa !31 - store i32 %227, ptr %6, align 4, !tbaa !31 - %228 = getelementptr inbounds nuw i8, ptr %209, i64 44 - %229 = load i32, ptr %228, align 4, !tbaa !32 - %230 = getelementptr inbounds nuw i8, ptr %6, i64 4 - store i32 %229, ptr %230, align 4, !tbaa !32 - %231 = getelementptr inbounds nuw i8, ptr %209, i64 48 - %232 = load i32, ptr %231, align 4, !tbaa !33 - %233 = getelementptr inbounds nuw i8, ptr %6, i64 8 - store i32 %232, ptr %233, align 4, !tbaa !33 - %234 = getelementptr inbounds nuw i8, ptr %209, i64 52 - %235 = load i32, ptr %234, align 4, !tbaa !34 - %236 = getelementptr inbounds nuw i8, ptr %6, i64 12 - store i32 %235, ptr %236, align 4, !tbaa !34 + %225 = getelementptr inbounds nuw i8, ptr %208, i64 40 + %226 = load i32, ptr %225, align 4, !tbaa !31 + store i32 %226, ptr %6, align 4, !tbaa !31 + %227 = getelementptr inbounds nuw i8, ptr %208, i64 44 + %228 = load i32, ptr %227, align 4, !tbaa !32 + %229 = getelementptr inbounds nuw i8, ptr %6, i64 4 + store i32 %228, ptr %229, align 4, !tbaa !32 + %230 = getelementptr inbounds nuw i8, ptr %208, i64 48 + %231 = load i32, ptr %230, align 4, !tbaa !33 + %232 = getelementptr inbounds nuw i8, ptr %6, i64 8 + store i32 %231, ptr %232, align 4, !tbaa !33 + %233 = getelementptr inbounds nuw i8, ptr %208, i64 52 + %234 = load i32, ptr %233, align 4, !tbaa !34 + %235 = getelementptr inbounds nuw i8, ptr %6, i64 12 + store i32 %234, ptr %235, align 4, !tbaa !34 call void @lv_area_increase(ptr noundef nonnull %6, i32 noundef %.sroa.0.0.extract.trunc.i65.i, i32 noundef %.sroa.0.0.extract.trunc.i66.i) #8 - %237 = getelementptr inbounds nuw i8, ptr %211, i64 8 - %238 = load ptr, ptr %237, align 8, !tbaa !35 - %239 = call zeroext i1 @lv_area_is_in(ptr noundef %238, ptr noundef nonnull %6, i32 noundef %.sroa.0.0.extract.trunc.i.i) #8 - br i1 %239, label %240, label %.critedge.i - -240: ; preds = %219 - %241 = call ptr @lv_obj_get_style_prop(ptr noundef nonnull %209, i32 noundef 0, i8 noundef zeroext 29) #8 - %242 = ptrtoint ptr %241 to i64 - %243 = trunc i64 %242 to i8 - %244 = icmp ult i8 %243, -3 - br i1 %244, label %.critedge.i, label %245 - -245: ; preds = %240 - %246 = call ptr @lv_obj_get_style_prop(ptr noundef nonnull %209, i32 noundef 0, i8 noundef zeroext 95) #8 - %247 = ptrtoint ptr %246 to i64 - %248 = trunc i64 %247 to i8 - %249 = icmp ult i8 %248, -3 - br i1 %249, label %.critedge.i, label %250 - -250: ; preds = %245 - %251 = call ptr @lv_obj_get_style_prop(ptr noundef nonnull %209, i32 noundef 0, i8 noundef zeroext 32) #8 - %252 = ptrtoint ptr %251 to i64 - %253 = and i64 %252, 4294967295 - %.not60.i = icmp eq i64 %253, 0 - br i1 %.not60.i, label %259, label %254 - -254: ; preds = %250 - %255 = call ptr @lv_obj_get_style_prop(ptr noundef nonnull %209, i32 noundef 0, i8 noundef zeroext 37) #8 - %256 = ptrtoint ptr %255 to i64 - %257 = trunc i64 %256 to i8 - %258 = icmp ult i8 %257, -3 - br i1 %258, label %.critedge.i, label %259 - -259: ; preds = %254, %250 - %260 = call ptr @lv_obj_get_style_prop(ptr noundef nonnull %209, i32 noundef 0, i8 noundef zeroext 38) #8 - %.not61.i = icmp eq ptr %260, null + %236 = getelementptr inbounds nuw i8, ptr %210, i64 8 + %237 = load ptr, ptr %236, align 8, !tbaa !35 + %238 = call zeroext i1 @lv_area_is_in(ptr noundef %237, ptr noundef nonnull %6, i32 noundef %.sroa.0.0.extract.trunc.i.i) #8 + br i1 %238, label %239, label %.critedge.i + +239: ; preds = %218 + %240 = call ptr @lv_obj_get_style_prop(ptr noundef nonnull %208, i32 noundef 0, i8 noundef zeroext 29) #8 + %241 = ptrtoint ptr %240 to i64 + %242 = trunc i64 %241 to i8 + %243 = icmp ult i8 %242, -3 + br i1 %243, label %.critedge.i, label %244 + +244: ; preds = %239 + %245 = call ptr @lv_obj_get_style_prop(ptr noundef nonnull %208, i32 noundef 0, i8 noundef zeroext 95) #8 + %246 = ptrtoint ptr %245 to i64 + %247 = trunc i64 %246 to i8 + %248 = icmp ult i8 %247, -3 + br i1 %248, label %.critedge.i, label %249 + +249: ; preds = %244 + %250 = call ptr @lv_obj_get_style_prop(ptr noundef nonnull %208, i32 noundef 0, i8 noundef zeroext 32) #8 + %251 = ptrtoint ptr %250 to i64 + %252 = and i64 %251, 4294967295 + %.not60.i = icmp eq i64 %252, 0 + br i1 %.not60.i, label %258, label %253 + +253: ; preds = %249 + %254 = call ptr @lv_obj_get_style_prop(ptr noundef nonnull %208, i32 noundef 0, i8 noundef zeroext 37) #8 + %255 = ptrtoint ptr %254 to i64 + %256 = trunc i64 %255 to i8 + %257 = icmp ult i8 %256, -3 + br i1 %257, label %.critedge.i, label %258 + +258: ; preds = %253, %249 + %259 = call ptr @lv_obj_get_style_prop(ptr noundef nonnull %208, i32 noundef 0, i8 noundef zeroext 38) #8 + %.not61.i = icmp eq ptr %259, null br i1 %.not61.i, label %.critedge.i, label %.preheader.i -.preheader.i: ; preds = %259 - %261 = getelementptr inbounds nuw i8, ptr %260, i64 10 - %262 = load i8, ptr %261, align 2, !tbaa !36 - %.not6276.not.i = icmp eq i8 %262, 0 +.preheader.i: ; preds = %258 + %260 = getelementptr inbounds nuw i8, ptr %259, i64 10 + %261 = load i8, ptr %260, align 2, !tbaa !36 + %.not6276.not.i = icmp eq i8 %261, 0 br i1 %.not6276.not.i, label %.critedge.i, label %.lr.ph.preheader.i .lr.ph.preheader.i: ; preds = %.preheader.i - %wide.trip.count.i = zext i8 %262 to i64 + %wide.trip.count.i = zext i8 %261 to i64 br label %.lr.ph.i -263: ; preds = %.lr.ph.i +262: ; preds = %.lr.ph.i %indvars.iv.next.i = add nuw nsw i64 %indvars.iv.i, 1 %exitcond.not.i = icmp eq i64 %indvars.iv.next.i, %wide.trip.count.i br i1 %exitcond.not.i, label %.critedge.i, label %.lr.ph.i, !llvm.loop !38 -.lr.ph.i: ; preds = %263, %.lr.ph.preheader.i - %indvars.iv.i = phi i64 [ 0, %.lr.ph.preheader.i ], [ %indvars.iv.next.i, %263 ] - %264 = getelementptr inbounds nuw [2 x %struct.lv_gradient_stop_t], ptr %260, i64 0, i64 %indvars.iv.i, i32 1 - %265 = load i8, ptr %264, align 1, !tbaa !39 - %266 = icmp ult i8 %265, -3 - br i1 %266, label %.critedge.i, label %263 +.lr.ph.i: ; preds = %262, %.lr.ph.preheader.i + %indvars.iv.i = phi i64 [ 0, %.lr.ph.preheader.i ], [ %indvars.iv.next.i, %262 ] + %263 = getelementptr inbounds nuw [2 x %struct.lv_gradient_stop_t], ptr %259, i64 0, i64 %indvars.iv.i, i32 1 + %264 = load i8, ptr %263, align 1, !tbaa !39 + %265 = icmp ult i8 %264, -3 + br i1 %265, label %.critedge.i, label %262 -.critedge.i: ; preds = %.lr.ph.i, %263, %.preheader.i, %259, %254, %245, %240, %219 - %.sink.i = phi i32 [ 1, %219 ], [ 1, %240 ], [ 1, %245 ], [ 1, %254 ], [ 0, %.preheader.i ], [ 0, %259 ], [ 0, %263 ], [ 1, %.lr.ph.i ] - store i32 %.sink.i, ptr %211, align 8, !tbaa !29 +.critedge.i: ; preds = %.lr.ph.i, %262, %.preheader.i, %258, %253, %244, %239, %218 + %.sink.i = phi i32 [ 1, %218 ], [ 1, %239 ], [ 1, %244 ], [ 1, %253 ], [ 0, %.preheader.i ], [ 0, %258 ], [ 0, %262 ], [ 1, %.lr.ph.i ] + store i32 %.sink.i, ptr %210, align 8, !tbaa !29 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %6) #8 br label %.critedge -267: ; preds = %207 - %268 = tail call ptr @lv_event_get_layer(ptr noundef %1) #8 +266: ; preds = %206 + %267 = tail call ptr @lv_event_get_layer(ptr noundef %1) #8 call void @llvm.lifetime.start.p0(i64 144, ptr nonnull %7) #8 call void @lv_draw_rect_dsc_init(ptr noundef nonnull %7) #8 - call void @lv_obj_init_draw_rect_dsc(ptr noundef %209, i32 noundef 0, ptr noundef nonnull %7) #8 - %269 = call ptr @lv_obj_get_style_prop(ptr noundef %209, i32 noundef 0, i8 noundef zeroext 53) #8 - %270 = ptrtoint ptr %269 to i64 - %271 = and i64 %270, 4294967295 - %.not74.i = icmp eq i64 %271, 0 - br i1 %.not74.i, label %276, label %272 - -272: ; preds = %267 - %273 = getelementptr inbounds nuw i8, ptr %7, i64 105 - %274 = load i8, ptr %273, align 1 - %275 = or i8 %274, 32 - store i8 %275, ptr %273, align 1 - br label %276 - -276: ; preds = %272, %267 - %277 = call ptr @lv_obj_get_style_prop(ptr noundef %209, i32 noundef 0, i8 noundef zeroext 104) #8 - %278 = ptrtoint ptr %277 to i64 - %.sroa.0.0.extract.trunc.i68.i = trunc i64 %278 to i32 - %279 = call ptr @lv_obj_get_style_prop(ptr noundef %209, i32 noundef 0, i8 noundef zeroext 105) #8 - %280 = ptrtoint ptr %279 to i64 - %.sroa.0.0.extract.trunc.i69.i = trunc i64 %280 to i32 + call void @lv_obj_init_draw_rect_dsc(ptr noundef %208, i32 noundef 0, ptr noundef nonnull %7) #8 + %268 = call ptr @lv_obj_get_style_prop(ptr noundef %208, i32 noundef 0, i8 noundef zeroext 53) #8 + %269 = ptrtoint ptr %268 to i64 + %270 = and i64 %269, 4294967295 + %.not74.i = icmp eq i64 %270, 0 + br i1 %.not74.i, label %275, label %271 + +271: ; preds = %266 + %272 = getelementptr inbounds nuw i8, ptr %7, i64 105 + %273 = load i8, ptr %272, align 1 + %274 = or i8 %273, 32 + store i8 %274, ptr %272, align 1 + br label %275 + +275: ; preds = %271, %266 + %276 = call ptr @lv_obj_get_style_prop(ptr noundef %208, i32 noundef 0, i8 noundef zeroext 104) #8 + %277 = ptrtoint ptr %276 to i64 + %.sroa.0.0.extract.trunc.i68.i = trunc i64 %277 to i32 + %278 = call ptr @lv_obj_get_style_prop(ptr noundef %208, i32 noundef 0, i8 noundef zeroext 105) #8 + %279 = ptrtoint ptr %278 to i64 + %.sroa.0.0.extract.trunc.i69.i = trunc i64 %279 to i32 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %8) #8 - %281 = getelementptr inbounds nuw i8, ptr %209, i64 40 - %282 = load i32, ptr %281, align 4, !tbaa !31 - store i32 %282, ptr %8, align 4, !tbaa !31 - %283 = getelementptr inbounds nuw i8, ptr %209, i64 44 - %284 = load i32, ptr %283, align 4, !tbaa !32 - %285 = getelementptr inbounds nuw i8, ptr %8, i64 4 - store i32 %284, ptr %285, align 4, !tbaa !32 - %286 = getelementptr inbounds nuw i8, ptr %209, i64 48 - %287 = load i32, ptr %286, align 4, !tbaa !33 - %288 = getelementptr inbounds nuw i8, ptr %8, i64 8 - store i32 %287, ptr %288, align 4, !tbaa !33 - %289 = getelementptr inbounds nuw i8, ptr %209, i64 52 - %290 = load i32, ptr %289, align 4, !tbaa !34 - %291 = getelementptr inbounds nuw i8, ptr %8, i64 12 - store i32 %290, ptr %291, align 4, !tbaa !34 + %280 = getelementptr inbounds nuw i8, ptr %208, i64 40 + %281 = load i32, ptr %280, align 4, !tbaa !31 + store i32 %281, ptr %8, align 4, !tbaa !31 + %282 = getelementptr inbounds nuw i8, ptr %208, i64 44 + %283 = load i32, ptr %282, align 4, !tbaa !32 + %284 = getelementptr inbounds nuw i8, ptr %8, i64 4 + store i32 %283, ptr %284, align 4, !tbaa !32 + %285 = getelementptr inbounds nuw i8, ptr %208, i64 48 + %286 = load i32, ptr %285, align 4, !tbaa !33 + %287 = getelementptr inbounds nuw i8, ptr %8, i64 8 + store i32 %286, ptr %287, align 4, !tbaa !33 + %288 = getelementptr inbounds nuw i8, ptr %208, i64 52 + %289 = load i32, ptr %288, align 4, !tbaa !34 + %290 = getelementptr inbounds nuw i8, ptr %8, i64 12 + store i32 %289, ptr %290, align 4, !tbaa !34 call void @lv_area_increase(ptr noundef nonnull %8, i32 noundef %.sroa.0.0.extract.trunc.i68.i, i32 noundef %.sroa.0.0.extract.trunc.i69.i) #8 - call void @lv_draw_rect(ptr noundef %268, ptr noundef nonnull %7, ptr noundef nonnull %8) #8 + call void @lv_draw_rect(ptr noundef %267, ptr noundef nonnull %7, ptr noundef nonnull %8) #8 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %8) #8 call void @llvm.lifetime.end.p0(i64 144, ptr nonnull %7) #8 br label %.critedge -292: ; preds = %207 - %293 = tail call ptr @lv_event_get_layer(ptr noundef %1) #8 +291: ; preds = %206 + %292 = tail call ptr @lv_event_get_layer(ptr noundef %1) #8 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %3) #8 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %4) #8 - call void @lv_obj_get_scrollbar_area(ptr noundef %209, ptr noundef nonnull %3, ptr noundef nonnull %4) #8 - %294 = call i32 @lv_area_get_size(ptr noundef nonnull %3) #8 - %295 = icmp eq i32 %294, 0 - br i1 %295, label %296, label %299 + call void @lv_obj_get_scrollbar_area(ptr noundef %208, ptr noundef nonnull %3, ptr noundef nonnull %4) #8 + %293 = call i32 @lv_area_get_size(ptr noundef nonnull %3) #8 + %294 = icmp eq i32 %293, 0 + br i1 %294, label %295, label %298 -296: ; preds = %292 - %297 = call i32 @lv_area_get_size(ptr noundef nonnull %4) #8 - %298 = icmp eq i32 %297, 0 - br i1 %298, label %draw_scrollbar.exit.i, label %299 +295: ; preds = %291 + %296 = call i32 @lv_area_get_size(ptr noundef nonnull %4) #8 + %297 = icmp eq i32 %296, 0 + br i1 %297, label %draw_scrollbar.exit.i, label %298 -299: ; preds = %296, %292 +298: ; preds = %295, %291 call void @llvm.lifetime.start.p0(i64 144, ptr nonnull %5) #8 call void @lv_draw_rect_dsc_init(ptr noundef nonnull %5) #8 - %300 = call ptr @lv_obj_get_style_prop(ptr noundef %209, i32 noundef 65536, i8 noundef zeroext 29) #8 - %301 = ptrtoint ptr %300 to i64 - %302 = trunc i64 %301 to i8 - %303 = getelementptr inbounds nuw i8, ptr %5, i64 52 - store i8 %302, ptr %303, align 4, !tbaa !42 - %304 = icmp ugt i8 %302, 2 - br i1 %304, label %305, label %309 - -305: ; preds = %299 - %306 = getelementptr inbounds nuw i8, ptr %5, i64 53 - %307 = call ptr @lv_obj_get_style_prop(ptr noundef %209, i32 noundef 65536, i8 noundef zeroext 28) #8 - %308 = ptrtoint ptr %307 to i64 - %.sroa.0.0.extract.trunc.i.i.i.i = trunc i64 %308 to i24 - store i24 %.sroa.0.0.extract.trunc.i.i.i.i, ptr %306, align 1 - br label %309 - -309: ; preds = %305, %299 - %310 = call ptr @lv_obj_get_style_prop(ptr noundef %209, i32 noundef 65536, i8 noundef zeroext 50) #8 - %311 = ptrtoint ptr %310 to i64 - %312 = trunc i64 %311 to i8 - %313 = getelementptr inbounds nuw i8, ptr %5, i64 104 - store i8 %312, ptr %313, align 8, !tbaa !46 - %314 = icmp ugt i8 %312, 2 - br i1 %314, label %315, label %325 - -315: ; preds = %309 - %316 = call ptr @lv_obj_get_style_prop(ptr noundef %209, i32 noundef 65536, i8 noundef zeroext 48) #8 - %317 = ptrtoint ptr %316 to i64 - %.sroa.0.0.extract.trunc.i46.i.i.i = trunc i64 %317 to i32 - %318 = getelementptr inbounds nuw i8, ptr %5, i64 100 - store i32 %.sroa.0.0.extract.trunc.i46.i.i.i, ptr %318, align 4, !tbaa !47 - %319 = icmp sgt i32 %.sroa.0.0.extract.trunc.i46.i.i.i, 0 - br i1 %319, label %320, label %324 - -320: ; preds = %315 - %321 = getelementptr inbounds nuw i8, ptr %5, i64 94 - %322 = call ptr @lv_obj_get_style_prop(ptr noundef %209, i32 noundef 65536, i8 noundef zeroext 49) #8 - %323 = ptrtoint ptr %322 to i64 - %.sroa.0.0.extract.trunc.i47.i.i.i = trunc i64 %323 to i24 - store i24 %.sroa.0.0.extract.trunc.i47.i.i.i, ptr %321, align 2 - br label %325 - -324: ; preds = %315 - store i8 0, ptr %313, align 8, !tbaa !46 - br label %325 - -325: ; preds = %324, %320, %309 - %326 = call ptr @lv_obj_get_style_prop(ptr noundef %209, i32 noundef 65536, i8 noundef zeroext 62) #8 - %327 = ptrtoint ptr %326 to i64 - %328 = trunc i64 %327 to i8 - %329 = getelementptr inbounds nuw i8, ptr %5, i64 140 - store i8 %328, ptr %329, align 4, !tbaa !48 - %330 = icmp ugt i8 %328, 2 - br i1 %330, label %331, label %344 - -331: ; preds = %325 - %332 = call ptr @lv_obj_get_style_prop(ptr noundef %209, i32 noundef 65536, i8 noundef zeroext 60) #8 - %333 = ptrtoint ptr %332 to i64 - %.sroa.0.0.extract.trunc.i48.i.i.i = trunc i64 %333 to i32 - %334 = getelementptr inbounds nuw i8, ptr %5, i64 124 - store i32 %.sroa.0.0.extract.trunc.i48.i.i.i, ptr %334, align 4, !tbaa !49 - %335 = icmp sgt i32 %.sroa.0.0.extract.trunc.i48.i.i.i, 0 - br i1 %335, label %336, label %343 - -336: ; preds = %331 - %337 = call ptr @lv_obj_get_style_prop(ptr noundef %209, i32 noundef 65536, i8 noundef zeroext 66) #8 - %338 = ptrtoint ptr %337 to i64 - %.sroa.0.0.extract.trunc.i49.i.i.i = trunc i64 %338 to i32 - %339 = getelementptr inbounds nuw i8, ptr %5, i64 136 - store i32 %.sroa.0.0.extract.trunc.i49.i.i.i, ptr %339, align 8, !tbaa !50 - %340 = getelementptr inbounds nuw i8, ptr %5, i64 121 - %341 = call ptr @lv_obj_get_style_prop(ptr noundef %209, i32 noundef 65536, i8 noundef zeroext 61) #8 - %342 = ptrtoint ptr %341 to i64 - %.sroa.0.0.extract.trunc.i50.i.i.i = trunc i64 %342 to i24 - store i24 %.sroa.0.0.extract.trunc.i50.i.i.i, ptr %340, align 1 - br label %344 - -343: ; preds = %331 - store i8 0, ptr %329, align 4, !tbaa !48 - br label %344 - -344: ; preds = %343, %336, %325 - %345 = call zeroext i8 @lv_obj_get_style_opa_recursive(ptr noundef %209, i32 noundef 65536) #8 - %346 = icmp ult i8 %345, -3 - br i1 %346, label %347, label %thread-pre-split.i.i.i - -347: ; preds = %344 - %348 = zext i8 %345 to i16 - %349 = load i8, ptr %303, align 4, !tbaa !42 - %350 = zext i8 %349 to i16 - %351 = mul nuw i16 %350, %348 - %352 = lshr i16 %351, 8 - %353 = trunc nuw i16 %352 to i8 - store i8 %353, ptr %303, align 4, !tbaa !42 - store i8 %353, ptr %313, align 8, !tbaa !46 - store i8 %353, ptr %329, align 4, !tbaa !48 - br label %354 - -thread-pre-split.i.i.i: ; preds = %344 - %.pr.i.i.i = load i8, ptr %303, align 4, !tbaa !42 - %.pre.i.i = load i8, ptr %313, align 8 - %.pre8.i.i = load i8, ptr %329, align 4 - br label %354 - -354: ; preds = %thread-pre-split.i.i.i, %347 - %355 = phi i8 [ %.pre8.i.i, %thread-pre-split.i.i.i ], [ %353, %347 ] - %356 = phi i8 [ %.pre.i.i, %thread-pre-split.i.i.i ], [ %353, %347 ] - %357 = phi i8 [ %.pr.i.i.i, %thread-pre-split.i.i.i ], [ %353, %347 ] - %.not.i.i.i = icmp eq i8 %357, 0 - %.not44.i.i.i = icmp eq i8 %356, 0 + %299 = call ptr @lv_obj_get_style_prop(ptr noundef %208, i32 noundef 65536, i8 noundef zeroext 29) #8 + %300 = ptrtoint ptr %299 to i64 + %301 = trunc i64 %300 to i8 + %302 = getelementptr inbounds nuw i8, ptr %5, i64 52 + store i8 %301, ptr %302, align 4, !tbaa !42 + %303 = icmp ugt i8 %301, 2 + br i1 %303, label %304, label %308 + +304: ; preds = %298 + %305 = getelementptr inbounds nuw i8, ptr %5, i64 53 + %306 = call ptr @lv_obj_get_style_prop(ptr noundef %208, i32 noundef 65536, i8 noundef zeroext 28) #8 + %307 = ptrtoint ptr %306 to i64 + %.sroa.0.0.extract.trunc.i.i.i.i = trunc i64 %307 to i24 + store i24 %.sroa.0.0.extract.trunc.i.i.i.i, ptr %305, align 1 + br label %308 + +308: ; preds = %304, %298 + %309 = call ptr @lv_obj_get_style_prop(ptr noundef %208, i32 noundef 65536, i8 noundef zeroext 50) #8 + %310 = ptrtoint ptr %309 to i64 + %311 = trunc i64 %310 to i8 + %312 = getelementptr inbounds nuw i8, ptr %5, i64 104 + store i8 %311, ptr %312, align 8, !tbaa !46 + %313 = icmp ugt i8 %311, 2 + br i1 %313, label %314, label %324 + +314: ; preds = %308 + %315 = call ptr @lv_obj_get_style_prop(ptr noundef %208, i32 noundef 65536, i8 noundef zeroext 48) #8 + %316 = ptrtoint ptr %315 to i64 + %.sroa.0.0.extract.trunc.i46.i.i.i = trunc i64 %316 to i32 + %317 = getelementptr inbounds nuw i8, ptr %5, i64 100 + store i32 %.sroa.0.0.extract.trunc.i46.i.i.i, ptr %317, align 4, !tbaa !47 + %318 = icmp sgt i32 %.sroa.0.0.extract.trunc.i46.i.i.i, 0 + br i1 %318, label %319, label %323 + +319: ; preds = %314 + %320 = getelementptr inbounds nuw i8, ptr %5, i64 94 + %321 = call ptr @lv_obj_get_style_prop(ptr noundef %208, i32 noundef 65536, i8 noundef zeroext 49) #8 + %322 = ptrtoint ptr %321 to i64 + %.sroa.0.0.extract.trunc.i47.i.i.i = trunc i64 %322 to i24 + store i24 %.sroa.0.0.extract.trunc.i47.i.i.i, ptr %320, align 2 + br label %324 + +323: ; preds = %314 + store i8 0, ptr %312, align 8, !tbaa !46 + br label %324 + +324: ; preds = %323, %319, %308 + %325 = call ptr @lv_obj_get_style_prop(ptr noundef %208, i32 noundef 65536, i8 noundef zeroext 62) #8 + %326 = ptrtoint ptr %325 to i64 + %327 = trunc i64 %326 to i8 + %328 = getelementptr inbounds nuw i8, ptr %5, i64 140 + store i8 %327, ptr %328, align 4, !tbaa !48 + %329 = icmp ugt i8 %327, 2 + br i1 %329, label %330, label %343 + +330: ; preds = %324 + %331 = call ptr @lv_obj_get_style_prop(ptr noundef %208, i32 noundef 65536, i8 noundef zeroext 60) #8 + %332 = ptrtoint ptr %331 to i64 + %.sroa.0.0.extract.trunc.i48.i.i.i = trunc i64 %332 to i32 + %333 = getelementptr inbounds nuw i8, ptr %5, i64 124 + store i32 %.sroa.0.0.extract.trunc.i48.i.i.i, ptr %333, align 4, !tbaa !49 + %334 = icmp sgt i32 %.sroa.0.0.extract.trunc.i48.i.i.i, 0 + br i1 %334, label %335, label %342 + +335: ; preds = %330 + %336 = call ptr @lv_obj_get_style_prop(ptr noundef %208, i32 noundef 65536, i8 noundef zeroext 66) #8 + %337 = ptrtoint ptr %336 to i64 + %.sroa.0.0.extract.trunc.i49.i.i.i = trunc i64 %337 to i32 + %338 = getelementptr inbounds nuw i8, ptr %5, i64 136 + store i32 %.sroa.0.0.extract.trunc.i49.i.i.i, ptr %338, align 8, !tbaa !50 + %339 = getelementptr inbounds nuw i8, ptr %5, i64 121 + %340 = call ptr @lv_obj_get_style_prop(ptr noundef %208, i32 noundef 65536, i8 noundef zeroext 61) #8 + %341 = ptrtoint ptr %340 to i64 + %.sroa.0.0.extract.trunc.i50.i.i.i = trunc i64 %341 to i24 + store i24 %.sroa.0.0.extract.trunc.i50.i.i.i, ptr %339, align 1 + br label %343 + +342: ; preds = %330 + store i8 0, ptr %328, align 4, !tbaa !48 + br label %343 + +343: ; preds = %342, %335, %324 + %344 = call zeroext i8 @lv_obj_get_style_opa_recursive(ptr noundef %208, i32 noundef 65536) #8 + %345 = icmp ult i8 %344, -3 + br i1 %345, label %346, label %thread-pre-split.i.i.i + +346: ; preds = %343 + %347 = zext i8 %344 to i16 + %348 = load i8, ptr %302, align 4, !tbaa !42 + %349 = zext i8 %348 to i16 + %350 = mul nuw i16 %349, %347 + %351 = lshr i16 %350, 8 + %352 = trunc nuw i16 %351 to i8 + store i8 %352, ptr %302, align 4, !tbaa !42 + store i8 %352, ptr %312, align 8, !tbaa !46 + store i8 %352, ptr %328, align 4, !tbaa !48 + br label %353 + +thread-pre-split.i.i.i: ; preds = %343 + %.pr.i.i.i = load i8, ptr %302, align 4, !tbaa !42 + %.pre.i.i = load i8, ptr %312, align 8 + %.pre8.i.i = load i8, ptr %328, align 4 + br label %353 + +353: ; preds = %thread-pre-split.i.i.i, %346 + %354 = phi i8 [ %.pre8.i.i, %thread-pre-split.i.i.i ], [ %352, %346 ] + %355 = phi i8 [ %.pre.i.i, %thread-pre-split.i.i.i ], [ %352, %346 ] + %356 = phi i8 [ %.pr.i.i.i, %thread-pre-split.i.i.i ], [ %352, %346 ] + %.not.i.i.i = icmp eq i8 %356, 0 + %.not44.i.i.i = icmp eq i8 %355, 0 %or.cond.i.i = select i1 %.not.i.i.i, i1 %.not44.i.i.i, i1 false - %.not45.i.i.i = icmp eq i8 %355, 0 + %.not45.i.i.i = icmp eq i8 %354, 0 %or.cond7.i.i = select i1 %or.cond.i.i, i1 %.not45.i.i.i, i1 false - br i1 %or.cond7.i.i, label %scrollbar_init_draw_dsc.exit.thread.i.i, label %358 - -358: ; preds = %354 - %359 = call ptr @lv_obj_get_style_prop(ptr noundef %209, i32 noundef 65536, i8 noundef zeroext 12) #8 - %360 = ptrtoint ptr %359 to i64 - %.sroa.0.0.extract.trunc.i51.i.i.i = trunc i64 %360 to i32 - %361 = getelementptr inbounds nuw i8, ptr %5, i64 48 - store i32 %.sroa.0.0.extract.trunc.i51.i.i.i, ptr %361, align 8, !tbaa !51 - %362 = call i32 @lv_area_get_size(ptr noundef nonnull %3) #8 - %.not.i.i = icmp eq i32 %362, 0 - br i1 %.not.i.i, label %365, label %363 - -363: ; preds = %358 - %364 = getelementptr inbounds nuw i8, ptr %5, i64 12 - store i32 0, ptr %364, align 4, !tbaa !52 - call void @lv_draw_rect(ptr noundef %293, ptr noundef nonnull %5, ptr noundef nonnull %3) #8 - br label %365 - -365: ; preds = %363, %358 - %366 = call i32 @lv_area_get_size(ptr noundef nonnull %4) #8 - %.not4.i.i = icmp eq i32 %366, 0 - br i1 %.not4.i.i, label %scrollbar_init_draw_dsc.exit.thread.i.i, label %367 - -367: ; preds = %365 - %368 = getelementptr inbounds nuw i8, ptr %5, i64 12 - store i32 1, ptr %368, align 4, !tbaa !52 - call void @lv_draw_rect(ptr noundef %293, ptr noundef nonnull %5, ptr noundef nonnull %4) #8 + br i1 %or.cond7.i.i, label %scrollbar_init_draw_dsc.exit.thread.i.i, label %357 + +357: ; preds = %353 + %358 = call ptr @lv_obj_get_style_prop(ptr noundef %208, i32 noundef 65536, i8 noundef zeroext 12) #8 + %359 = ptrtoint ptr %358 to i64 + %.sroa.0.0.extract.trunc.i51.i.i.i = trunc i64 %359 to i32 + %360 = getelementptr inbounds nuw i8, ptr %5, i64 48 + store i32 %.sroa.0.0.extract.trunc.i51.i.i.i, ptr %360, align 8, !tbaa !51 + %361 = call i32 @lv_area_get_size(ptr noundef nonnull %3) #8 + %.not.i.i = icmp eq i32 %361, 0 + br i1 %.not.i.i, label %364, label %362 + +362: ; preds = %357 + %363 = getelementptr inbounds nuw i8, ptr %5, i64 12 + store i32 0, ptr %363, align 4, !tbaa !52 + call void @lv_draw_rect(ptr noundef %292, ptr noundef nonnull %5, ptr noundef nonnull %3) #8 + br label %364 + +364: ; preds = %362, %357 + %365 = call i32 @lv_area_get_size(ptr noundef nonnull %4) #8 + %.not4.i.i = icmp eq i32 %365, 0 + br i1 %.not4.i.i, label %scrollbar_init_draw_dsc.exit.thread.i.i, label %366 + +366: ; preds = %364 + %367 = getelementptr inbounds nuw i8, ptr %5, i64 12 + store i32 1, ptr %367, align 4, !tbaa !52 + call void @lv_draw_rect(ptr noundef %292, ptr noundef nonnull %5, ptr noundef nonnull %4) #8 br label %scrollbar_init_draw_dsc.exit.thread.i.i -scrollbar_init_draw_dsc.exit.thread.i.i: ; preds = %367, %365, %354 +scrollbar_init_draw_dsc.exit.thread.i.i: ; preds = %366, %364, %353 call void @llvm.lifetime.end.p0(i64 144, ptr nonnull %5) #8 br label %draw_scrollbar.exit.i -draw_scrollbar.exit.i: ; preds = %scrollbar_init_draw_dsc.exit.thread.i.i, %296 +draw_scrollbar.exit.i: ; preds = %scrollbar_init_draw_dsc.exit.thread.i.i, %295 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %4) #8 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %3) #8 - %369 = call ptr @lv_obj_get_style_prop(ptr noundef %209, i32 noundef 0, i8 noundef zeroext 48) #8 - %370 = ptrtoint ptr %369 to i64 - %371 = and i64 %370, 4294967295 - %.not.i213 = icmp eq i64 %371, 0 - br i1 %.not.i213, label %.critedge, label %372 - -372: ; preds = %draw_scrollbar.exit.i - %373 = call ptr @lv_obj_get_style_prop(ptr noundef %209, i32 noundef 0, i8 noundef zeroext 53) #8 - %374 = ptrtoint ptr %373 to i64 - %375 = and i64 %374, 4294967295 - %.not73.i = icmp eq i64 %375, 0 - br i1 %.not73.i, label %.critedge, label %376 - -376: ; preds = %372 + %368 = call ptr @lv_obj_get_style_prop(ptr noundef %208, i32 noundef 0, i8 noundef zeroext 48) #8 + %369 = ptrtoint ptr %368 to i64 + %370 = and i64 %369, 4294967295 + %.not.i213 = icmp eq i64 %370, 0 + br i1 %.not.i213, label %.critedge, label %371 + +371: ; preds = %draw_scrollbar.exit.i + %372 = call ptr @lv_obj_get_style_prop(ptr noundef %208, i32 noundef 0, i8 noundef zeroext 53) #8 + %373 = ptrtoint ptr %372 to i64 + %374 = and i64 %373, 4294967295 + %.not73.i = icmp eq i64 %374, 0 + br i1 %.not73.i, label %.critedge, label %375 + +375: ; preds = %371 call void @llvm.lifetime.start.p0(i64 144, ptr nonnull %9) #8 call void @lv_draw_rect_dsc_init(ptr noundef nonnull %9) #8 - %377 = getelementptr inbounds nuw i8, ptr %9, i64 52 - store i8 0, ptr %377, align 4, !tbaa !42 - %378 = getelementptr inbounds nuw i8, ptr %9, i64 91 - store i8 0, ptr %378, align 1, !tbaa !53 - %379 = getelementptr inbounds nuw i8, ptr %9, i64 120 - store i8 0, ptr %379, align 8, !tbaa !54 - %380 = getelementptr inbounds nuw i8, ptr %9, i64 140 - store i8 0, ptr %380, align 4, !tbaa !48 - call void @lv_obj_init_draw_rect_dsc(ptr noundef %209, i32 noundef 0, ptr noundef nonnull %9) #8 - %381 = call ptr @lv_obj_get_style_prop(ptr noundef %209, i32 noundef 0, i8 noundef zeroext 104) #8 - %382 = ptrtoint ptr %381 to i64 - %.sroa.0.0.extract.trunc.i71.i = trunc i64 %382 to i32 - %383 = call ptr @lv_obj_get_style_prop(ptr noundef %209, i32 noundef 0, i8 noundef zeroext 105) #8 - %384 = ptrtoint ptr %383 to i64 - %.sroa.0.0.extract.trunc.i72.i = trunc i64 %384 to i32 + %376 = getelementptr inbounds nuw i8, ptr %9, i64 52 + store i8 0, ptr %376, align 4, !tbaa !42 + %377 = getelementptr inbounds nuw i8, ptr %9, i64 91 + store i8 0, ptr %377, align 1, !tbaa !53 + %378 = getelementptr inbounds nuw i8, ptr %9, i64 120 + store i8 0, ptr %378, align 8, !tbaa !54 + %379 = getelementptr inbounds nuw i8, ptr %9, i64 140 + store i8 0, ptr %379, align 4, !tbaa !48 + call void @lv_obj_init_draw_rect_dsc(ptr noundef %208, i32 noundef 0, ptr noundef nonnull %9) #8 + %380 = call ptr @lv_obj_get_style_prop(ptr noundef %208, i32 noundef 0, i8 noundef zeroext 104) #8 + %381 = ptrtoint ptr %380 to i64 + %.sroa.0.0.extract.trunc.i71.i = trunc i64 %381 to i32 + %382 = call ptr @lv_obj_get_style_prop(ptr noundef %208, i32 noundef 0, i8 noundef zeroext 105) #8 + %383 = ptrtoint ptr %382 to i64 + %.sroa.0.0.extract.trunc.i72.i = trunc i64 %383 to i32 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %10) #8 - %385 = getelementptr inbounds nuw i8, ptr %209, i64 40 - %386 = load i32, ptr %385, align 4, !tbaa !31 - store i32 %386, ptr %10, align 4, !tbaa !31 - %387 = getelementptr inbounds nuw i8, ptr %209, i64 44 - %388 = load i32, ptr %387, align 4, !tbaa !32 - %389 = getelementptr inbounds nuw i8, ptr %10, i64 4 - store i32 %388, ptr %389, align 4, !tbaa !32 - %390 = getelementptr inbounds nuw i8, ptr %209, i64 48 - %391 = load i32, ptr %390, align 4, !tbaa !33 - %392 = getelementptr inbounds nuw i8, ptr %10, i64 8 - store i32 %391, ptr %392, align 4, !tbaa !33 - %393 = getelementptr inbounds nuw i8, ptr %209, i64 52 - %394 = load i32, ptr %393, align 4, !tbaa !34 - %395 = getelementptr inbounds nuw i8, ptr %10, i64 12 - store i32 %394, ptr %395, align 4, !tbaa !34 + %384 = getelementptr inbounds nuw i8, ptr %208, i64 40 + %385 = load i32, ptr %384, align 4, !tbaa !31 + store i32 %385, ptr %10, align 4, !tbaa !31 + %386 = getelementptr inbounds nuw i8, ptr %208, i64 44 + %387 = load i32, ptr %386, align 4, !tbaa !32 + %388 = getelementptr inbounds nuw i8, ptr %10, i64 4 + store i32 %387, ptr %388, align 4, !tbaa !32 + %389 = getelementptr inbounds nuw i8, ptr %208, i64 48 + %390 = load i32, ptr %389, align 4, !tbaa !33 + %391 = getelementptr inbounds nuw i8, ptr %10, i64 8 + store i32 %390, ptr %391, align 4, !tbaa !33 + %392 = getelementptr inbounds nuw i8, ptr %208, i64 52 + %393 = load i32, ptr %392, align 4, !tbaa !34 + %394 = getelementptr inbounds nuw i8, ptr %10, i64 12 + store i32 %393, ptr %394, align 4, !tbaa !34 call void @lv_area_increase(ptr noundef nonnull %10, i32 noundef %.sroa.0.0.extract.trunc.i71.i, i32 noundef %.sroa.0.0.extract.trunc.i72.i) #8 - call void @lv_draw_rect(ptr noundef %293, ptr noundef nonnull %9, ptr noundef nonnull %10) #8 + call void @lv_draw_rect(ptr noundef %292, ptr noundef nonnull %9, ptr noundef nonnull %10) #8 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %10) #8 call void @llvm.lifetime.end.p0(i64 144, ptr nonnull %9) #8 br label %.critedge -396: ; preds = %2 - %397 = getelementptr inbounds nuw i8, ptr %14, i64 60 - %398 = load i16, ptr %397, align 4, !tbaa !24 - %399 = and i16 %398, -33 - %.not.i214 = icmp eq i16 %398, %399 - br i1 %.not.i214, label %lv_obj_remove_state.exit215, label %400 +395: ; preds = %2 + %396 = getelementptr inbounds nuw i8, ptr %14, i64 60 + %397 = load i16, ptr %396, align 4, !tbaa !24 + %398 = and i16 %397, -33 + %.not.i214 = icmp eq i16 %397, %398 + br i1 %.not.i214, label %lv_obj_remove_state.exit215, label %399 -400: ; preds = %396 - tail call fastcc void @update_obj_state(ptr noundef nonnull %14, i16 noundef zeroext %399) - %.pre = load i16, ptr %397, align 4, !tbaa !24 +399: ; preds = %395 + tail call fastcc void @update_obj_state(ptr noundef nonnull %14, i16 noundef zeroext %398) + %.pre = load i16, ptr %396, align 4, !tbaa !24 br label %lv_obj_remove_state.exit215 -lv_obj_remove_state.exit215: ; preds = %396, %400 - %401 = phi i16 [ %398, %396 ], [ %.pre, %400 ] - %402 = and i16 %401, -65 - %.not.i216 = icmp eq i16 %401, %402 - br i1 %.not.i216, label %.critedge, label %403 +lv_obj_remove_state.exit215: ; preds = %395, %399 + %400 = phi i16 [ %397, %395 ], [ %.pre, %399 ] + %401 = and i16 %400, -65 + %.not.i216 = icmp eq i16 %400, %401 + br i1 %.not.i216, label %.critedge, label %402 -403: ; preds = %lv_obj_remove_state.exit215 - tail call fastcc void @update_obj_state(ptr noundef nonnull %14, i16 noundef zeroext %402) +402: ; preds = %lv_obj_remove_state.exit215 + tail call fastcc void @update_obj_state(ptr noundef nonnull %14, i16 noundef zeroext %401) br label %.critedge -404: ; preds = %2 - %405 = getelementptr inbounds nuw i8, ptr %14, i64 60 - %406 = load i16, ptr %405, align 4, !tbaa !24 - %407 = or i16 %406, 16 - %.not.i218 = icmp eq i16 %406, %407 - br i1 %.not.i218, label %.critedge, label %408 +403: ; preds = %2 + %404 = getelementptr inbounds nuw i8, ptr %14, i64 60 + %405 = load i16, ptr %404, align 4, !tbaa !24 + %406 = or i16 %405, 16 + %.not.i218 = icmp eq i16 %405, %406 + br i1 %.not.i218, label %.critedge, label %407 -408: ; preds = %404 - tail call fastcc void @update_obj_state(ptr noundef nonnull %14, i16 noundef zeroext %407) +407: ; preds = %403 + tail call fastcc void @update_obj_state(ptr noundef nonnull %14, i16 noundef zeroext %406) br label %.critedge -409: ; preds = %2 - %410 = getelementptr inbounds nuw i8, ptr %14, i64 60 - %411 = load i16, ptr %410, align 4, !tbaa !24 - %412 = and i16 %411, -17 - %.not.i221 = icmp eq i16 %411, %412 - br i1 %.not.i221, label %.critedge, label %413 +408: ; preds = %2 + %409 = getelementptr inbounds nuw i8, ptr %14, i64 60 + %410 = load i16, ptr %409, align 4, !tbaa !24 + %411 = and i16 %410, -17 + %.not.i221 = icmp eq i16 %410, %411 + br i1 %.not.i221, label %.critedge, label %412 -413: ; preds = %409 - tail call fastcc void @update_obj_state(ptr noundef nonnull %14, i16 noundef zeroext %412) +412: ; preds = %408 + tail call fastcc void @update_obj_state(ptr noundef nonnull %14, i16 noundef zeroext %411) br label %.critedge -.critedge: ; preds = %178, %48, %175, %45, %413, %409, %408, %404, %403, %lv_obj_remove_state.exit215, %376, %372, %draw_scrollbar.exit.i, %276, %.critedge.i, %218, %210, %207, %164, %160, %151, %147, %146, %lv_obj_add_state.exit200, %141, %139, %44, %40, %19, %15, %lv_obj_remove_state.exit193, %lv_obj_remove_state.exit189, %2, %61, %lv_obj_remove_state.exit, %28, %68, %71, %205, %201, %lv_obj_remove_state.exit207, %159, %73, %82, %112, %108, %92, %97, %77, %183, %200 +.critedge: ; preds = %177, %47, %174, %44, %412, %408, %407, %403, %402, %lv_obj_remove_state.exit215, %375, %371, %draw_scrollbar.exit.i, %275, %.critedge.i, %217, %209, %206, %163, %159, %150, %146, %145, %lv_obj_add_state.exit200, %140, %138, %43, %39, %19, %15, %lv_obj_remove_state.exit193, %lv_obj_remove_state.exit189, %2, %60, %lv_obj_remove_state.exit, %28, %67, %70, %204, %200, %lv_obj_remove_state.exit207, %158, %72, %81, %111, %107, %91, %96, %76, %182, %199 ret void } diff --git a/bench/opencv/optimized/aff_trans.cpp.ll b/bench/opencv/optimized/aff_trans.cpp.ll index 84417bd9671..221558b6cfe 100644 --- a/bench/opencv/optimized/aff_trans.cpp.ll +++ b/bench/opencv/optimized/aff_trans.cpp.ll @@ -443,12 +443,12 @@ _ZNK2cv11_InputArray6getMatEi.exit65: ; preds = %79, %82 96: ; preds = %76, %73, %4 %97 = landingpad { ptr, i32 } cleanup - br label %609 + br label %607 98: ; preds = %82, %79, %_ZNK2cv11_InputArray6getMatEi.exit %99 = landingpad { ptr, i32 } cleanup - br label %608 + br label %606 100: ; preds = %89, %_ZNK2cv11_InputArray6getMatEi.exit65 call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %54) #19 @@ -517,141 +517,132 @@ _ZNK2cv11_InputArray6getMatEi.exit65: ; preds = %79, %82 br label %_ZNSt6vectorIN2cv6DMatchESaIS1_EED2Ev.exit107 124: ; preds = %108 - %125 = and i32 %83, 15 - %.not = icmp eq i32 %125, 5 - br i1 %.not, label %131, label %126 - -126: ; preds = %124 - %127 = getelementptr inbounds nuw i8, ptr %57, i64 8 - %128 = getelementptr inbounds nuw i8, ptr %57, i64 16 - store i64 0, ptr %128, align 8 + %125 = getelementptr inbounds nuw i8, ptr %57, i64 8 + %126 = getelementptr inbounds nuw i8, ptr %57, i64 16 + store i64 0, ptr %126, align 8 store i32 33619968, ptr %57, align 8 - store ptr %51, ptr %127, align 8 + store ptr %51, ptr %125, align 8 invoke void @_ZNK2cv3Mat9convertToERKNS_12_OutputArrayEidd(ptr noundef nonnull align 8 dereferenceable(96) %51, ptr noundef nonnull align 8 dereferenceable(24) %57, i32 noundef 5, double noundef 1.000000e+00, double noundef 0.000000e+00) - to label %._crit_edge157 unwind label %129 + to label %129 unwind label %127 -._crit_edge157: ; preds = %126 - %.pre = load i32, ptr %52, align 8 - br label %131 - -129: ; preds = %126 - %130 = landingpad { ptr, i32 } +127: ; preds = %124 + %128 = landingpad { ptr, i32 } cleanup br label %_ZNSt6vectorIN2cv6DMatchESaIS1_EED2Ev.exit107 -131: ; preds = %._crit_edge157, %124 - %132 = phi i32 [ %.pre, %._crit_edge157 ], [ %90, %124 ] - %133 = and i32 %132, 4095 - %.not42 = icmp eq i32 %133, 5 - br i1 %.not42, label %139, label %134 +129: ; preds = %124 + %130 = load i32, ptr %52, align 8 + %131 = and i32 %130, 4095 + %.not42 = icmp eq i32 %131, 5 + br i1 %.not42, label %137, label %132 -134: ; preds = %131 - %135 = getelementptr inbounds nuw i8, ptr %58, i64 8 - %136 = getelementptr inbounds nuw i8, ptr %58, i64 16 - store i64 0, ptr %136, align 8 +132: ; preds = %129 + %133 = getelementptr inbounds nuw i8, ptr %58, i64 8 + %134 = getelementptr inbounds nuw i8, ptr %58, i64 16 + store i64 0, ptr %134, align 8 store i32 33619968, ptr %58, align 8 - store ptr %52, ptr %135, align 8 + store ptr %52, ptr %133, align 8 invoke void @_ZNK2cv3Mat9convertToERKNS_12_OutputArrayEidd(ptr noundef nonnull align 8 dereferenceable(96) %52, ptr noundef nonnull align 8 dereferenceable(24) %58, i32 noundef 5, double noundef 1.000000e+00, double noundef 0.000000e+00) - to label %139 unwind label %137 + to label %137 unwind label %135 -137: ; preds = %134 - %138 = landingpad { ptr, i32 } +135: ; preds = %132 + %136 = landingpad { ptr, i32 } cleanup br label %_ZNSt6vectorIN2cv6DMatchESaIS1_EED2Ev.exit107 -139: ; preds = %134, %131 - %140 = load ptr, ptr %109, align 8 - %141 = load ptr, ptr %3, align 8 - %.not151 = icmp eq ptr %140, %141 - br i1 %.not151, label %._crit_edge.thread, label %.lr.ph +137: ; preds = %132, %129 + %138 = load ptr, ptr %109, align 8 + %139 = load ptr, ptr %3, align 8 + %.not = icmp eq ptr %138, %139 + br i1 %.not, label %._crit_edge.thread, label %.lr.ph -._crit_edge.thread: ; preds = %139 +._crit_edge.thread: ; preds = %137 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %59, i8 0, i64 24, i1 false) call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %60, i8 0, i64 24, i1 false) br label %._crit_edge150 -.lr.ph: ; preds = %139, %_ZNSt6vectorIN2cv6DMatchESaIS1_EE9push_backERKS1_.exit - %142 = phi ptr [ %176, %_ZNSt6vectorIN2cv6DMatchESaIS1_EE9push_backERKS1_.exit ], [ %141, %139 ] - %.023145 = phi i64 [ %174, %_ZNSt6vectorIN2cv6DMatchESaIS1_EE9push_backERKS1_.exit ], [ 0, %139 ] - %.sroa.0111.0144 = phi ptr [ %.sroa.0111.1, %_ZNSt6vectorIN2cv6DMatchESaIS1_EE9push_backERKS1_.exit ], [ null, %139 ] - %.sroa.8.0143 = phi ptr [ %.sroa.8.1, %_ZNSt6vectorIN2cv6DMatchESaIS1_EE9push_backERKS1_.exit ], [ null, %139 ] - %.sroa.13.0142 = phi ptr [ %.sroa.13.1, %_ZNSt6vectorIN2cv6DMatchESaIS1_EE9push_backERKS1_.exit ], [ null, %139 ] - %143 = getelementptr inbounds %"class.cv::DMatch", ptr %142, i64 %.023145 - %144 = load i32, ptr %143, align 4 - %145 = load i32, ptr %86, align 4 - %146 = icmp slt i32 %144, %145 - br i1 %146, label %147, label %_ZNSt6vectorIN2cv6DMatchESaIS1_EE9push_backERKS1_.exit - -147: ; preds = %.lr.ph - %148 = getelementptr inbounds nuw i8, ptr %143, i64 4 - %149 = load i32, ptr %148, align 4 - %150 = load i32, ptr %93, align 4 - %151 = icmp slt i32 %149, %150 - br i1 %151, label %152, label %_ZNSt6vectorIN2cv6DMatchESaIS1_EE9push_backERKS1_.exit - -152: ; preds = %147 +.lr.ph: ; preds = %137, %_ZNSt6vectorIN2cv6DMatchESaIS1_EE9push_backERKS1_.exit + %140 = phi ptr [ %174, %_ZNSt6vectorIN2cv6DMatchESaIS1_EE9push_backERKS1_.exit ], [ %139, %137 ] + %.023145 = phi i64 [ %172, %_ZNSt6vectorIN2cv6DMatchESaIS1_EE9push_backERKS1_.exit ], [ 0, %137 ] + %.sroa.0111.0144 = phi ptr [ %.sroa.0111.1, %_ZNSt6vectorIN2cv6DMatchESaIS1_EE9push_backERKS1_.exit ], [ null, %137 ] + %.sroa.8.0143 = phi ptr [ %.sroa.8.1, %_ZNSt6vectorIN2cv6DMatchESaIS1_EE9push_backERKS1_.exit ], [ null, %137 ] + %.sroa.13.0142 = phi ptr [ %.sroa.13.1, %_ZNSt6vectorIN2cv6DMatchESaIS1_EE9push_backERKS1_.exit ], [ null, %137 ] + %141 = getelementptr inbounds %"class.cv::DMatch", ptr %140, i64 %.023145 + %142 = load i32, ptr %141, align 4 + %143 = load i32, ptr %86, align 4 + %144 = icmp slt i32 %142, %143 + br i1 %144, label %145, label %_ZNSt6vectorIN2cv6DMatchESaIS1_EE9push_backERKS1_.exit + +145: ; preds = %.lr.ph + %146 = getelementptr inbounds nuw i8, ptr %141, i64 4 + %147 = load i32, ptr %146, align 4 + %148 = load i32, ptr %93, align 4 + %149 = icmp slt i32 %147, %148 + br i1 %149, label %150, label %_ZNSt6vectorIN2cv6DMatchESaIS1_EE9push_backERKS1_.exit + +150: ; preds = %145 %.not.i = icmp eq ptr %.sroa.8.0143, %.sroa.13.0142 - br i1 %.not.i, label %155, label %153 + br i1 %.not.i, label %153, label %151 -153: ; preds = %152 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(16) %.sroa.8.0143, ptr noundef nonnull align 4 dereferenceable(16) %143, i64 16, i1 false) - %154 = getelementptr inbounds nuw i8, ptr %.sroa.8.0143, i64 16 +151: ; preds = %150 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(16) %.sroa.8.0143, ptr noundef nonnull align 4 dereferenceable(16) %141, i64 16, i1 false) + %152 = getelementptr inbounds nuw i8, ptr %.sroa.8.0143, i64 16 br label %_ZNSt6vectorIN2cv6DMatchESaIS1_EE9push_backERKS1_.exit -155: ; preds = %152 - %156 = ptrtoint ptr %.sroa.8.0143 to i64 - %157 = ptrtoint ptr %.sroa.0111.0144 to i64 - %158 = sub i64 %156, %157 - %159 = icmp eq i64 %158, 9223372036854775792 - br i1 %159, label %160, label %_ZNKSt6vectorIN2cv6DMatchESaIS1_EE12_M_check_lenEmPKc.exit.i.i +153: ; preds = %150 + %154 = ptrtoint ptr %.sroa.8.0143 to i64 + %155 = ptrtoint ptr %.sroa.0111.0144 to i64 + %156 = sub i64 %154, %155 + %157 = icmp eq i64 %156, 9223372036854775792 + br i1 %157, label %158, label %_ZNKSt6vectorIN2cv6DMatchESaIS1_EE12_M_check_lenEmPKc.exit.i.i -160: ; preds = %155 +158: ; preds = %153 invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.14) #20 to label %.noexc66 unwind label %.loopexit.split-lp120 -.noexc66: ; preds = %160 +.noexc66: ; preds = %158 unreachable -_ZNKSt6vectorIN2cv6DMatchESaIS1_EE12_M_check_lenEmPKc.exit.i.i: ; preds = %155 - %161 = ashr exact i64 %158, 4 - %.sroa.speculated.i.i.i = call i64 @llvm.umax.i64(i64 %161, i64 1) - %162 = add nsw i64 %.sroa.speculated.i.i.i, %161 - %163 = icmp ult i64 %162, %161 - %164 = call i64 @llvm.umin.i64(i64 %162, i64 576460752303423487) - %165 = select i1 %163, i64 576460752303423487, i64 %164 - %.not.i.i.i = icmp ne i64 %165, 0 +_ZNKSt6vectorIN2cv6DMatchESaIS1_EE12_M_check_lenEmPKc.exit.i.i: ; preds = %153 + %159 = ashr exact i64 %156, 4 + %.sroa.speculated.i.i.i = call i64 @llvm.umax.i64(i64 %159, i64 1) + %160 = add nsw i64 %.sroa.speculated.i.i.i, %159 + %161 = icmp ult i64 %160, %159 + %162 = call i64 @llvm.umin.i64(i64 %160, i64 576460752303423487) + %163 = select i1 %161, i64 576460752303423487, i64 %162 + %.not.i.i.i = icmp ne i64 %163, 0 call void @llvm.assume(i1 %.not.i.i.i) - %166 = shl nuw nsw i64 %165, 4 - %167 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %166) #22 + %164 = shl nuw nsw i64 %163, 4 + %165 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %164) #22 to label %.noexc67 unwind label %.loopexit119 .noexc67: ; preds = %_ZNKSt6vectorIN2cv6DMatchESaIS1_EE12_M_check_lenEmPKc.exit.i.i - %168 = getelementptr inbounds i8, ptr %167, i64 %158 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(16) %168, ptr noundef nonnull align 4 dereferenceable(16) %143, i64 16, i1 false) + %166 = getelementptr inbounds i8, ptr %165, i64 %156 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(16) %166, ptr noundef nonnull align 4 dereferenceable(16) %141, i64 16, i1 false) %.not10.i.i.i.i.i.i = icmp eq ptr %.sroa.0111.0144, %.sroa.8.0143 br i1 %.not10.i.i.i.i.i.i, label %_ZNSt6vectorIN2cv6DMatchESaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit22.i.i, label %.lr.ph.i.i.i.i.i.i .lr.ph.i.i.i.i.i.i: ; preds = %.noexc67, %.lr.ph.i.i.i.i.i.i - %.012.i.i.i.i.i.i = phi ptr [ %170, %.lr.ph.i.i.i.i.i.i ], [ %167, %.noexc67 ] - %.0911.i.i.i.i.i.i = phi ptr [ %169, %.lr.ph.i.i.i.i.i.i ], [ %.sroa.0111.0144, %.noexc67 ] + %.012.i.i.i.i.i.i = phi ptr [ %168, %.lr.ph.i.i.i.i.i.i ], [ %165, %.noexc67 ] + %.0911.i.i.i.i.i.i = phi ptr [ %167, %.lr.ph.i.i.i.i.i.i ], [ %.sroa.0111.0144, %.noexc67 ] call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(16) %.012.i.i.i.i.i.i, ptr noundef nonnull align 4 dereferenceable(16) %.0911.i.i.i.i.i.i, i64 16, i1 false), !alias.scope !13 - %169 = getelementptr inbounds nuw i8, ptr %.0911.i.i.i.i.i.i, i64 16 - %170 = getelementptr inbounds nuw i8, ptr %.012.i.i.i.i.i.i, i64 16 - %.not.i.i.i.i.i.i = icmp eq ptr %169, %.sroa.8.0143 + %167 = getelementptr inbounds nuw i8, ptr %.0911.i.i.i.i.i.i, i64 16 + %168 = getelementptr inbounds nuw i8, ptr %.012.i.i.i.i.i.i, i64 16 + %.not.i.i.i.i.i.i = icmp eq ptr %167, %.sroa.8.0143 br i1 %.not.i.i.i.i.i.i, label %_ZNSt6vectorIN2cv6DMatchESaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit22.i.i, label %.lr.ph.i.i.i.i.i.i, !llvm.loop !17 _ZNSt6vectorIN2cv6DMatchESaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit22.i.i: ; preds = %.lr.ph.i.i.i.i.i.i, %.noexc67 - %.0.lcssa.i.i.i.i.i.i = phi ptr [ %167, %.noexc67 ], [ %170, %.lr.ph.i.i.i.i.i.i ] - %171 = getelementptr inbounds nuw i8, ptr %.0.lcssa.i.i.i.i.i.i, i64 16 + %.0.lcssa.i.i.i.i.i.i = phi ptr [ %165, %.noexc67 ], [ %168, %.lr.ph.i.i.i.i.i.i ] + %169 = getelementptr inbounds nuw i8, ptr %.0.lcssa.i.i.i.i.i.i, i64 16 %.not.i23.i.i = icmp eq ptr %.sroa.0111.0144, null - br i1 %.not.i23.i.i, label %_ZNSt6vectorIN2cv6DMatchESaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i, label %172 + br i1 %.not.i23.i.i, label %_ZNSt6vectorIN2cv6DMatchESaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i, label %170 -172: ; preds = %_ZNSt6vectorIN2cv6DMatchESaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit22.i.i +170: ; preds = %_ZNSt6vectorIN2cv6DMatchESaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit22.i.i call void @_ZdlPv(ptr noundef nonnull %.sroa.0111.0144) #23 br label %_ZNSt6vectorIN2cv6DMatchESaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i -_ZNSt6vectorIN2cv6DMatchESaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i: ; preds = %172, %_ZNSt6vectorIN2cv6DMatchESaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit22.i.i - %173 = getelementptr inbounds nuw %"class.cv::DMatch", ptr %167, i64 %165 +_ZNSt6vectorIN2cv6DMatchESaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i: ; preds = %170, %_ZNSt6vectorIN2cv6DMatchESaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit22.i.i + %171 = getelementptr inbounds nuw %"class.cv::DMatch", ptr %165, i64 %163 br label %_ZNSt6vectorIN2cv6DMatchESaIS1_EE9push_backERKS1_.exit .loopexit119: ; preds = %_ZNKSt6vectorIN2cv6DMatchESaIS1_EE12_M_check_lenEmPKc.exit.i.i @@ -659,326 +650,326 @@ _ZNSt6vectorIN2cv6DMatchESaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__no cleanup br label %_ZNSt6vectorIN2cv6Point_IfEESaIS2_EED2Ev.exit105 -.loopexit.split-lp120: ; preds = %160 +.loopexit.split-lp120: ; preds = %158 %lpad.loopexit.split-lp122 = landingpad { ptr, i32 } cleanup br label %_ZNSt6vectorIN2cv6Point_IfEESaIS2_EED2Ev.exit105 -_ZNSt6vectorIN2cv6DMatchESaIS1_EE9push_backERKS1_.exit: ; preds = %_ZNSt6vectorIN2cv6DMatchESaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i, %153, %.lr.ph, %147 - %.sroa.13.1 = phi ptr [ %.sroa.13.0142, %147 ], [ %.sroa.13.0142, %.lr.ph ], [ %173, %_ZNSt6vectorIN2cv6DMatchESaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i ], [ %.sroa.13.0142, %153 ] - %.sroa.8.1 = phi ptr [ %.sroa.8.0143, %147 ], [ %.sroa.8.0143, %.lr.ph ], [ %171, %_ZNSt6vectorIN2cv6DMatchESaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i ], [ %154, %153 ] - %.sroa.0111.1 = phi ptr [ %.sroa.0111.0144, %147 ], [ %.sroa.0111.0144, %.lr.ph ], [ %167, %_ZNSt6vectorIN2cv6DMatchESaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i ], [ %.sroa.0111.0144, %153 ] - %174 = add nuw i64 %.023145, 1 - %175 = load ptr, ptr %109, align 8 - %176 = load ptr, ptr %3, align 8 - %177 = ptrtoint ptr %175 to i64 - %178 = ptrtoint ptr %176 to i64 - %179 = sub i64 %177, %178 - %180 = ashr exact i64 %179, 4 - %181 = icmp ult i64 %174, %180 - br i1 %181, label %.lr.ph, label %._crit_edge, !llvm.loop !19 +_ZNSt6vectorIN2cv6DMatchESaIS1_EE9push_backERKS1_.exit: ; preds = %_ZNSt6vectorIN2cv6DMatchESaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i, %151, %.lr.ph, %145 + %.sroa.13.1 = phi ptr [ %.sroa.13.0142, %145 ], [ %.sroa.13.0142, %.lr.ph ], [ %171, %_ZNSt6vectorIN2cv6DMatchESaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i ], [ %.sroa.13.0142, %151 ] + %.sroa.8.1 = phi ptr [ %.sroa.8.0143, %145 ], [ %.sroa.8.0143, %.lr.ph ], [ %169, %_ZNSt6vectorIN2cv6DMatchESaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i ], [ %152, %151 ] + %.sroa.0111.1 = phi ptr [ %.sroa.0111.0144, %145 ], [ %.sroa.0111.0144, %.lr.ph ], [ %165, %_ZNSt6vectorIN2cv6DMatchESaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i ], [ %.sroa.0111.0144, %151 ] + %172 = add nuw i64 %.023145, 1 + %173 = load ptr, ptr %109, align 8 + %174 = load ptr, ptr %3, align 8 + %175 = ptrtoint ptr %173 to i64 + %176 = ptrtoint ptr %174 to i64 + %177 = sub i64 %175, %176 + %178 = ashr exact i64 %177, 4 + %179 = icmp ult i64 %172, %178 + br i1 %179, label %.lr.ph, label %._crit_edge, !llvm.loop !19 ._crit_edge: ; preds = %_ZNSt6vectorIN2cv6DMatchESaIS1_EE9push_backERKS1_.exit call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %59, i8 0, i64 24, i1 false) call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %60, i8 0, i64 24, i1 false) - %.not152 = icmp eq ptr %.sroa.8.1, %.sroa.0111.1 - br i1 %.not152, label %._crit_edge150, label %.lr.ph149 + %.not151 = icmp eq ptr %.sroa.8.1, %.sroa.0111.1 + br i1 %.not151, label %._crit_edge150, label %.lr.ph149 .lr.ph149: ; preds = %._crit_edge - %182 = ptrtoint ptr %.sroa.8.1 to i64 - %183 = ptrtoint ptr %.sroa.0111.1 to i64 - %184 = sub i64 %182, %183 - %185 = ashr exact i64 %184, 4 - %186 = getelementptr inbounds nuw i8, ptr %51, i64 16 - %187 = getelementptr inbounds nuw i8, ptr %59, i64 8 - %188 = getelementptr inbounds nuw i8, ptr %59, i64 16 - %189 = getelementptr inbounds nuw i8, ptr %52, i64 16 - %190 = getelementptr inbounds nuw i8, ptr %60, i64 8 - %191 = getelementptr inbounds nuw i8, ptr %60, i64 16 - %umax = call i64 @llvm.umax.i64(i64 %185, i64 1) - br label %192 - -192: ; preds = %.lr.ph149, %_ZNSt6vectorIN2cv6Point_IfEESaIS2_EE9push_backERKS2_.exit95 - %.0147 = phi i64 [ 0, %.lr.ph149 ], [ %255, %_ZNSt6vectorIN2cv6Point_IfEESaIS2_EE9push_backERKS2_.exit95 ] - %193 = getelementptr inbounds %"class.cv::DMatch", ptr %.sroa.0111.1, i64 %.0147 - %194 = load i32, ptr %193, align 4 - %195 = load ptr, ptr %186, align 8 - %196 = sext i32 %194 to i64 - %197 = getelementptr inbounds %"class.cv::Point_", ptr %195, i64 %196 - %198 = load i64, ptr %197, align 4 - %199 = load ptr, ptr %187, align 8 - %200 = load ptr, ptr %188, align 8 - %.not.i68 = icmp eq ptr %199, %200 - br i1 %.not.i68, label %204, label %201 - -201: ; preds = %192 - store i64 %198, ptr %199, align 4 - %202 = load ptr, ptr %187, align 8 - %203 = getelementptr inbounds nuw i8, ptr %202, i64 8 - store ptr %203, ptr %187, align 8 + %180 = ptrtoint ptr %.sroa.8.1 to i64 + %181 = ptrtoint ptr %.sroa.0111.1 to i64 + %182 = sub i64 %180, %181 + %183 = ashr exact i64 %182, 4 + %184 = getelementptr inbounds nuw i8, ptr %51, i64 16 + %185 = getelementptr inbounds nuw i8, ptr %59, i64 8 + %186 = getelementptr inbounds nuw i8, ptr %59, i64 16 + %187 = getelementptr inbounds nuw i8, ptr %52, i64 16 + %188 = getelementptr inbounds nuw i8, ptr %60, i64 8 + %189 = getelementptr inbounds nuw i8, ptr %60, i64 16 + %umax = call i64 @llvm.umax.i64(i64 %183, i64 1) + br label %190 + +190: ; preds = %.lr.ph149, %_ZNSt6vectorIN2cv6Point_IfEESaIS2_EE9push_backERKS2_.exit95 + %.0147 = phi i64 [ 0, %.lr.ph149 ], [ %253, %_ZNSt6vectorIN2cv6Point_IfEESaIS2_EE9push_backERKS2_.exit95 ] + %191 = getelementptr inbounds %"class.cv::DMatch", ptr %.sroa.0111.1, i64 %.0147 + %192 = load i32, ptr %191, align 4 + %193 = load ptr, ptr %184, align 8 + %194 = sext i32 %192 to i64 + %195 = getelementptr inbounds %"class.cv::Point_", ptr %193, i64 %194 + %196 = load i64, ptr %195, align 4 + %197 = load ptr, ptr %185, align 8 + %198 = load ptr, ptr %186, align 8 + %.not.i68 = icmp eq ptr %197, %198 + br i1 %.not.i68, label %202, label %199 + +199: ; preds = %190 + store i64 %196, ptr %197, align 4 + %200 = load ptr, ptr %185, align 8 + %201 = getelementptr inbounds nuw i8, ptr %200, i64 8 + store ptr %201, ptr %185, align 8 br label %_ZNSt6vectorIN2cv6Point_IfEESaIS2_EE9push_backERKS2_.exit -204: ; preds = %192 - %205 = load ptr, ptr %59, align 8 - %206 = ptrtoint ptr %199 to i64 - %207 = ptrtoint ptr %205 to i64 - %208 = sub i64 %206, %207 - %209 = icmp eq i64 %208, 9223372036854775800 - br i1 %209, label %.invoke, label %_ZNKSt6vectorIN2cv6Point_IfEESaIS2_EE12_M_check_lenEmPKc.exit.i.i +202: ; preds = %190 + %203 = load ptr, ptr %59, align 8 + %204 = ptrtoint ptr %197 to i64 + %205 = ptrtoint ptr %203 to i64 + %206 = sub i64 %204, %205 + %207 = icmp eq i64 %206, 9223372036854775800 + br i1 %207, label %.invoke, label %_ZNKSt6vectorIN2cv6Point_IfEESaIS2_EE12_M_check_lenEmPKc.exit.i.i -.invoke: ; preds = %235, %204 +.invoke: ; preds = %233, %202 invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.14) #20 to label %.cont unwind label %.loopexit.split-lp .cont: ; preds = %.invoke unreachable -_ZNKSt6vectorIN2cv6Point_IfEESaIS2_EE12_M_check_lenEmPKc.exit.i.i: ; preds = %204 - %210 = ashr exact i64 %208, 3 - %.sroa.speculated.i.i.i69 = call i64 @llvm.umax.i64(i64 %210, i64 1) - %211 = add nsw i64 %.sroa.speculated.i.i.i69, %210 - %212 = icmp ult i64 %211, %210 - %213 = call i64 @llvm.umin.i64(i64 %211, i64 1152921504606846975) - %214 = select i1 %212, i64 1152921504606846975, i64 %213 - %.not.i.i.i70 = icmp ne i64 %214, 0 +_ZNKSt6vectorIN2cv6Point_IfEESaIS2_EE12_M_check_lenEmPKc.exit.i.i: ; preds = %202 + %208 = ashr exact i64 %206, 3 + %.sroa.speculated.i.i.i69 = call i64 @llvm.umax.i64(i64 %208, i64 1) + %209 = add nsw i64 %.sroa.speculated.i.i.i69, %208 + %210 = icmp ult i64 %209, %208 + %211 = call i64 @llvm.umin.i64(i64 %209, i64 1152921504606846975) + %212 = select i1 %210, i64 1152921504606846975, i64 %211 + %.not.i.i.i70 = icmp ne i64 %212, 0 call void @llvm.assume(i1 %.not.i.i.i70) - %215 = shl nuw nsw i64 %214, 3 - %216 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %215) #22 + %213 = shl nuw nsw i64 %212, 3 + %214 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %213) #22 to label %.noexc79 unwind label %.loopexit .noexc79: ; preds = %_ZNKSt6vectorIN2cv6Point_IfEESaIS2_EE12_M_check_lenEmPKc.exit.i.i - %217 = getelementptr inbounds i8, ptr %216, i64 %208 - store i64 %198, ptr %217, align 4 - %.not10.i.i.i.i.i.i71 = icmp eq ptr %205, %199 + %215 = getelementptr inbounds i8, ptr %214, i64 %206 + store i64 %196, ptr %215, align 4 + %.not10.i.i.i.i.i.i71 = icmp eq ptr %203, %197 br i1 %.not10.i.i.i.i.i.i71, label %_ZNSt6vectorIN2cv6Point_IfEESaIS2_EE11_S_relocateEPS2_S5_S5_RS3_.exit22.i.i, label %.lr.ph.i.i.i.i.i.i72 .lr.ph.i.i.i.i.i.i72: ; preds = %.noexc79, %.lr.ph.i.i.i.i.i.i72 - %.012.i.i.i.i.i.i73 = phi ptr [ %220, %.lr.ph.i.i.i.i.i.i72 ], [ %216, %.noexc79 ] - %.0911.i.i.i.i.i.i74 = phi ptr [ %219, %.lr.ph.i.i.i.i.i.i72 ], [ %205, %.noexc79 ] + %.012.i.i.i.i.i.i73 = phi ptr [ %218, %.lr.ph.i.i.i.i.i.i72 ], [ %214, %.noexc79 ] + %.0911.i.i.i.i.i.i74 = phi ptr [ %217, %.lr.ph.i.i.i.i.i.i72 ], [ %203, %.noexc79 ] call void @llvm.experimental.noalias.scope.decl(metadata !20) call void @llvm.experimental.noalias.scope.decl(metadata !23) - %218 = load i64, ptr %.0911.i.i.i.i.i.i74, align 4, !alias.scope !23, !noalias !20 - store i64 %218, ptr %.012.i.i.i.i.i.i73, align 4, !alias.scope !20, !noalias !23 - %219 = getelementptr inbounds nuw i8, ptr %.0911.i.i.i.i.i.i74, i64 8 - %220 = getelementptr inbounds nuw i8, ptr %.012.i.i.i.i.i.i73, i64 8 - %.not.i.i.i.i.i.i75 = icmp eq ptr %219, %199 + %216 = load i64, ptr %.0911.i.i.i.i.i.i74, align 4, !alias.scope !23, !noalias !20 + store i64 %216, ptr %.012.i.i.i.i.i.i73, align 4, !alias.scope !20, !noalias !23 + %217 = getelementptr inbounds nuw i8, ptr %.0911.i.i.i.i.i.i74, i64 8 + %218 = getelementptr inbounds nuw i8, ptr %.012.i.i.i.i.i.i73, i64 8 + %.not.i.i.i.i.i.i75 = icmp eq ptr %217, %197 br i1 %.not.i.i.i.i.i.i75, label %_ZNSt6vectorIN2cv6Point_IfEESaIS2_EE11_S_relocateEPS2_S5_S5_RS3_.exit22.i.i, label %.lr.ph.i.i.i.i.i.i72, !llvm.loop !25 _ZNSt6vectorIN2cv6Point_IfEESaIS2_EE11_S_relocateEPS2_S5_S5_RS3_.exit22.i.i: ; preds = %.lr.ph.i.i.i.i.i.i72, %.noexc79 - %.0.lcssa.i.i.i.i.i.i76 = phi ptr [ %216, %.noexc79 ], [ %220, %.lr.ph.i.i.i.i.i.i72 ] - %221 = getelementptr inbounds nuw i8, ptr %.0.lcssa.i.i.i.i.i.i76, i64 8 - %.not.i23.i.i77 = icmp eq ptr %205, null - br i1 %.not.i23.i.i77, label %_ZNSt6vectorIN2cv6Point_IfEESaIS2_EE17_M_realloc_insertIJRKS2_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT_.exit.i, label %222 + %.0.lcssa.i.i.i.i.i.i76 = phi ptr [ %214, %.noexc79 ], [ %218, %.lr.ph.i.i.i.i.i.i72 ] + %219 = getelementptr inbounds nuw i8, ptr %.0.lcssa.i.i.i.i.i.i76, i64 8 + %.not.i23.i.i77 = icmp eq ptr %203, null + br i1 %.not.i23.i.i77, label %_ZNSt6vectorIN2cv6Point_IfEESaIS2_EE17_M_realloc_insertIJRKS2_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT_.exit.i, label %220 -222: ; preds = %_ZNSt6vectorIN2cv6Point_IfEESaIS2_EE11_S_relocateEPS2_S5_S5_RS3_.exit22.i.i - call void @_ZdlPv(ptr noundef nonnull %205) #23 +220: ; preds = %_ZNSt6vectorIN2cv6Point_IfEESaIS2_EE11_S_relocateEPS2_S5_S5_RS3_.exit22.i.i + call void @_ZdlPv(ptr noundef nonnull %203) #23 br label %_ZNSt6vectorIN2cv6Point_IfEESaIS2_EE17_M_realloc_insertIJRKS2_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT_.exit.i -_ZNSt6vectorIN2cv6Point_IfEESaIS2_EE17_M_realloc_insertIJRKS2_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT_.exit.i: ; preds = %222, %_ZNSt6vectorIN2cv6Point_IfEESaIS2_EE11_S_relocateEPS2_S5_S5_RS3_.exit22.i.i - store ptr %216, ptr %59, align 8 - store ptr %221, ptr %187, align 8 - %223 = getelementptr inbounds nuw %"class.cv::Point_", ptr %216, i64 %214 - store ptr %223, ptr %188, align 8 +_ZNSt6vectorIN2cv6Point_IfEESaIS2_EE17_M_realloc_insertIJRKS2_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT_.exit.i: ; preds = %220, %_ZNSt6vectorIN2cv6Point_IfEESaIS2_EE11_S_relocateEPS2_S5_S5_RS3_.exit22.i.i + store ptr %214, ptr %59, align 8 + store ptr %219, ptr %185, align 8 + %221 = getelementptr inbounds nuw %"class.cv::Point_", ptr %214, i64 %212 + store ptr %221, ptr %186, align 8 br label %_ZNSt6vectorIN2cv6Point_IfEESaIS2_EE9push_backERKS2_.exit -_ZNSt6vectorIN2cv6Point_IfEESaIS2_EE9push_backERKS2_.exit: ; preds = %_ZNSt6vectorIN2cv6Point_IfEESaIS2_EE17_M_realloc_insertIJRKS2_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT_.exit.i, %201 - %224 = getelementptr inbounds nuw i8, ptr %193, i64 4 - %225 = load i32, ptr %224, align 4 - %226 = load ptr, ptr %189, align 8 - %227 = sext i32 %225 to i64 - %228 = getelementptr inbounds %"class.cv::Point_", ptr %226, i64 %227 - %229 = load i64, ptr %228, align 4 - %230 = load ptr, ptr %190, align 8 - %231 = load ptr, ptr %191, align 8 - %.not.i80 = icmp eq ptr %230, %231 - br i1 %.not.i80, label %235, label %232 - -232: ; preds = %_ZNSt6vectorIN2cv6Point_IfEESaIS2_EE9push_backERKS2_.exit - store i64 %229, ptr %230, align 4 - %233 = load ptr, ptr %190, align 8 - %234 = getelementptr inbounds nuw i8, ptr %233, i64 8 - store ptr %234, ptr %190, align 8 +_ZNSt6vectorIN2cv6Point_IfEESaIS2_EE9push_backERKS2_.exit: ; preds = %_ZNSt6vectorIN2cv6Point_IfEESaIS2_EE17_M_realloc_insertIJRKS2_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT_.exit.i, %199 + %222 = getelementptr inbounds nuw i8, ptr %191, i64 4 + %223 = load i32, ptr %222, align 4 + %224 = load ptr, ptr %187, align 8 + %225 = sext i32 %223 to i64 + %226 = getelementptr inbounds %"class.cv::Point_", ptr %224, i64 %225 + %227 = load i64, ptr %226, align 4 + %228 = load ptr, ptr %188, align 8 + %229 = load ptr, ptr %189, align 8 + %.not.i80 = icmp eq ptr %228, %229 + br i1 %.not.i80, label %233, label %230 + +230: ; preds = %_ZNSt6vectorIN2cv6Point_IfEESaIS2_EE9push_backERKS2_.exit + store i64 %227, ptr %228, align 4 + %231 = load ptr, ptr %188, align 8 + %232 = getelementptr inbounds nuw i8, ptr %231, i64 8 + store ptr %232, ptr %188, align 8 br label %_ZNSt6vectorIN2cv6Point_IfEESaIS2_EE9push_backERKS2_.exit95 -235: ; preds = %_ZNSt6vectorIN2cv6Point_IfEESaIS2_EE9push_backERKS2_.exit - %236 = load ptr, ptr %60, align 8 - %237 = ptrtoint ptr %230 to i64 - %238 = ptrtoint ptr %236 to i64 - %239 = sub i64 %237, %238 - %240 = icmp eq i64 %239, 9223372036854775800 - br i1 %240, label %.invoke, label %_ZNKSt6vectorIN2cv6Point_IfEESaIS2_EE12_M_check_lenEmPKc.exit.i.i81 - -_ZNKSt6vectorIN2cv6Point_IfEESaIS2_EE12_M_check_lenEmPKc.exit.i.i81: ; preds = %235 - %241 = ashr exact i64 %239, 3 - %.sroa.speculated.i.i.i82 = call i64 @llvm.umax.i64(i64 %241, i64 1) - %242 = add nsw i64 %.sroa.speculated.i.i.i82, %241 - %243 = icmp ult i64 %242, %241 - %244 = call i64 @llvm.umin.i64(i64 %242, i64 1152921504606846975) - %245 = select i1 %243, i64 1152921504606846975, i64 %244 - %.not.i.i.i83 = icmp ne i64 %245, 0 +233: ; preds = %_ZNSt6vectorIN2cv6Point_IfEESaIS2_EE9push_backERKS2_.exit + %234 = load ptr, ptr %60, align 8 + %235 = ptrtoint ptr %228 to i64 + %236 = ptrtoint ptr %234 to i64 + %237 = sub i64 %235, %236 + %238 = icmp eq i64 %237, 9223372036854775800 + br i1 %238, label %.invoke, label %_ZNKSt6vectorIN2cv6Point_IfEESaIS2_EE12_M_check_lenEmPKc.exit.i.i81 + +_ZNKSt6vectorIN2cv6Point_IfEESaIS2_EE12_M_check_lenEmPKc.exit.i.i81: ; preds = %233 + %239 = ashr exact i64 %237, 3 + %.sroa.speculated.i.i.i82 = call i64 @llvm.umax.i64(i64 %239, i64 1) + %240 = add nsw i64 %.sroa.speculated.i.i.i82, %239 + %241 = icmp ult i64 %240, %239 + %242 = call i64 @llvm.umin.i64(i64 %240, i64 1152921504606846975) + %243 = select i1 %241, i64 1152921504606846975, i64 %242 + %.not.i.i.i83 = icmp ne i64 %243, 0 call void @llvm.assume(i1 %.not.i.i.i83) - %246 = shl nuw nsw i64 %245, 3 - %247 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %246) #22 + %244 = shl nuw nsw i64 %243, 3 + %245 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %244) #22 to label %.noexc94 unwind label %.loopexit .noexc94: ; preds = %_ZNKSt6vectorIN2cv6Point_IfEESaIS2_EE12_M_check_lenEmPKc.exit.i.i81 - %248 = getelementptr inbounds i8, ptr %247, i64 %239 - store i64 %229, ptr %248, align 4 - %.not10.i.i.i.i.i.i84 = icmp eq ptr %236, %230 + %246 = getelementptr inbounds i8, ptr %245, i64 %237 + store i64 %227, ptr %246, align 4 + %.not10.i.i.i.i.i.i84 = icmp eq ptr %234, %228 br i1 %.not10.i.i.i.i.i.i84, label %_ZNSt6vectorIN2cv6Point_IfEESaIS2_EE11_S_relocateEPS2_S5_S5_RS3_.exit22.i.i89, label %.lr.ph.i.i.i.i.i.i85 .lr.ph.i.i.i.i.i.i85: ; preds = %.noexc94, %.lr.ph.i.i.i.i.i.i85 - %.012.i.i.i.i.i.i86 = phi ptr [ %251, %.lr.ph.i.i.i.i.i.i85 ], [ %247, %.noexc94 ] - %.0911.i.i.i.i.i.i87 = phi ptr [ %250, %.lr.ph.i.i.i.i.i.i85 ], [ %236, %.noexc94 ] + %.012.i.i.i.i.i.i86 = phi ptr [ %249, %.lr.ph.i.i.i.i.i.i85 ], [ %245, %.noexc94 ] + %.0911.i.i.i.i.i.i87 = phi ptr [ %248, %.lr.ph.i.i.i.i.i.i85 ], [ %234, %.noexc94 ] call void @llvm.experimental.noalias.scope.decl(metadata !26) call void @llvm.experimental.noalias.scope.decl(metadata !29) - %249 = load i64, ptr %.0911.i.i.i.i.i.i87, align 4, !alias.scope !29, !noalias !26 - store i64 %249, ptr %.012.i.i.i.i.i.i86, align 4, !alias.scope !26, !noalias !29 - %250 = getelementptr inbounds nuw i8, ptr %.0911.i.i.i.i.i.i87, i64 8 - %251 = getelementptr inbounds nuw i8, ptr %.012.i.i.i.i.i.i86, i64 8 - %.not.i.i.i.i.i.i88 = icmp eq ptr %250, %230 + %247 = load i64, ptr %.0911.i.i.i.i.i.i87, align 4, !alias.scope !29, !noalias !26 + store i64 %247, ptr %.012.i.i.i.i.i.i86, align 4, !alias.scope !26, !noalias !29 + %248 = getelementptr inbounds nuw i8, ptr %.0911.i.i.i.i.i.i87, i64 8 + %249 = getelementptr inbounds nuw i8, ptr %.012.i.i.i.i.i.i86, i64 8 + %.not.i.i.i.i.i.i88 = icmp eq ptr %248, %228 br i1 %.not.i.i.i.i.i.i88, label %_ZNSt6vectorIN2cv6Point_IfEESaIS2_EE11_S_relocateEPS2_S5_S5_RS3_.exit22.i.i89, label %.lr.ph.i.i.i.i.i.i85, !llvm.loop !25 _ZNSt6vectorIN2cv6Point_IfEESaIS2_EE11_S_relocateEPS2_S5_S5_RS3_.exit22.i.i89: ; preds = %.lr.ph.i.i.i.i.i.i85, %.noexc94 - %.0.lcssa.i.i.i.i.i.i90 = phi ptr [ %247, %.noexc94 ], [ %251, %.lr.ph.i.i.i.i.i.i85 ] - %252 = getelementptr inbounds nuw i8, ptr %.0.lcssa.i.i.i.i.i.i90, i64 8 - %.not.i23.i.i91 = icmp eq ptr %236, null - br i1 %.not.i23.i.i91, label %_ZNSt6vectorIN2cv6Point_IfEESaIS2_EE17_M_realloc_insertIJRKS2_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT_.exit.i92, label %253 + %.0.lcssa.i.i.i.i.i.i90 = phi ptr [ %245, %.noexc94 ], [ %249, %.lr.ph.i.i.i.i.i.i85 ] + %250 = getelementptr inbounds nuw i8, ptr %.0.lcssa.i.i.i.i.i.i90, i64 8 + %.not.i23.i.i91 = icmp eq ptr %234, null + br i1 %.not.i23.i.i91, label %_ZNSt6vectorIN2cv6Point_IfEESaIS2_EE17_M_realloc_insertIJRKS2_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT_.exit.i92, label %251 -253: ; preds = %_ZNSt6vectorIN2cv6Point_IfEESaIS2_EE11_S_relocateEPS2_S5_S5_RS3_.exit22.i.i89 - call void @_ZdlPv(ptr noundef nonnull %236) #23 +251: ; preds = %_ZNSt6vectorIN2cv6Point_IfEESaIS2_EE11_S_relocateEPS2_S5_S5_RS3_.exit22.i.i89 + call void @_ZdlPv(ptr noundef nonnull %234) #23 br label %_ZNSt6vectorIN2cv6Point_IfEESaIS2_EE17_M_realloc_insertIJRKS2_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT_.exit.i92 -_ZNSt6vectorIN2cv6Point_IfEESaIS2_EE17_M_realloc_insertIJRKS2_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT_.exit.i92: ; preds = %253, %_ZNSt6vectorIN2cv6Point_IfEESaIS2_EE11_S_relocateEPS2_S5_S5_RS3_.exit22.i.i89 - store ptr %247, ptr %60, align 8 - store ptr %252, ptr %190, align 8 - %254 = getelementptr inbounds nuw %"class.cv::Point_", ptr %247, i64 %245 - store ptr %254, ptr %191, align 8 +_ZNSt6vectorIN2cv6Point_IfEESaIS2_EE17_M_realloc_insertIJRKS2_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT_.exit.i92: ; preds = %251, %_ZNSt6vectorIN2cv6Point_IfEESaIS2_EE11_S_relocateEPS2_S5_S5_RS3_.exit22.i.i89 + store ptr %245, ptr %60, align 8 + store ptr %250, ptr %188, align 8 + %252 = getelementptr inbounds nuw %"class.cv::Point_", ptr %245, i64 %243 + store ptr %252, ptr %189, align 8 br label %_ZNSt6vectorIN2cv6Point_IfEESaIS2_EE9push_backERKS2_.exit95 -_ZNSt6vectorIN2cv6Point_IfEESaIS2_EE9push_backERKS2_.exit95: ; preds = %_ZNSt6vectorIN2cv6Point_IfEESaIS2_EE17_M_realloc_insertIJRKS2_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT_.exit.i92, %232 - %255 = add nuw i64 %.0147, 1 - %exitcond.not = icmp eq i64 %255, %umax - br i1 %exitcond.not, label %._crit_edge150, label %192, !llvm.loop !31 +_ZNSt6vectorIN2cv6Point_IfEESaIS2_EE9push_backERKS2_.exit95: ; preds = %_ZNSt6vectorIN2cv6Point_IfEESaIS2_EE17_M_realloc_insertIJRKS2_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT_.exit.i92, %230 + %253 = add nuw i64 %.0147, 1 + %exitcond.not = icmp eq i64 %253, %umax + br i1 %exitcond.not, label %._crit_edge150, label %190, !llvm.loop !31 .loopexit: ; preds = %_ZNKSt6vectorIN2cv6Point_IfEESaIS2_EE12_M_check_lenEmPKc.exit.i.i, %_ZNKSt6vectorIN2cv6Point_IfEESaIS2_EE12_M_check_lenEmPKc.exit.i.i81 %lpad.loopexit = landingpad { ptr, i32 } cleanup - br label %602 + br label %600 .loopexit.split-lp: ; preds = %.invoke %lpad.loopexit.split-lp = landingpad { ptr, i32 } cleanup - br label %602 + br label %600 ._crit_edge150: ; preds = %_ZNSt6vectorIN2cv6Point_IfEESaIS2_EE9push_backERKS2_.exit95, %._crit_edge.thread, %._crit_edge - %.sroa.0111.0.lcssa161 = phi ptr [ null, %._crit_edge.thread ], [ %.sroa.0111.1, %._crit_edge ], [ %.sroa.0111.1, %_ZNSt6vectorIN2cv6Point_IfEESaIS2_EE9push_backERKS2_.exit95 ] + %.sroa.0111.0.lcssa159 = phi ptr [ null, %._crit_edge.thread ], [ %.sroa.0111.1, %._crit_edge ], [ %.sroa.0111.1, %_ZNSt6vectorIN2cv6Point_IfEESaIS2_EE9push_backERKS2_.exit95 ] call void @_ZN2cv3MatC1Ev(ptr noundef nonnull align 8 dereferenceable(96) %61) #19 - %256 = getelementptr inbounds nuw i8, ptr %0, i64 8 - %257 = load i8, ptr %256, align 8 - %258 = trunc i8 %257 to i1 - br i1 %258, label %259, label %277 - -259: ; preds = %._crit_edge150 - %260 = getelementptr inbounds nuw i8, ptr %63, i64 16 - store i32 0, ptr %260, align 8 - %261 = getelementptr inbounds nuw i8, ptr %63, i64 20 - store i32 0, ptr %261, align 4 + %254 = getelementptr inbounds nuw i8, ptr %0, i64 8 + %255 = load i8, ptr %254, align 8 + %256 = trunc i8 %255 to i1 + br i1 %256, label %257, label %275 + +257: ; preds = %._crit_edge150 + %258 = getelementptr inbounds nuw i8, ptr %63, i64 16 + store i32 0, ptr %258, align 8 + %259 = getelementptr inbounds nuw i8, ptr %63, i64 20 + store i32 0, ptr %259, align 4 store i32 -2130509811, ptr %63, align 8 - %262 = getelementptr inbounds nuw i8, ptr %63, i64 8 - store ptr %59, ptr %262, align 8 - %263 = getelementptr inbounds nuw i8, ptr %64, i64 16 - store i32 0, ptr %263, align 8 - %264 = getelementptr inbounds nuw i8, ptr %64, i64 20 - store i32 0, ptr %264, align 4 + %260 = getelementptr inbounds nuw i8, ptr %63, i64 8 + store ptr %59, ptr %260, align 8 + %261 = getelementptr inbounds nuw i8, ptr %64, i64 16 + store i32 0, ptr %261, align 8 + %262 = getelementptr inbounds nuw i8, ptr %64, i64 20 + store i32 0, ptr %262, align 4 store i32 -2130509811, ptr %64, align 8 - %265 = getelementptr inbounds nuw i8, ptr %64, i64 8 - store ptr %60, ptr %265, align 8 - %266 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN2cv7noArrayEv() - to label %267 unwind label %273 - -267: ; preds = %259 - invoke void @_ZN2cv16estimateAffine2DERKNS_11_InputArrayES2_RKNS_12_OutputArrayEidmdm(ptr dead_on_unwind nonnull writable sret(%"class.cv::Mat") align 8 %62, ptr noundef nonnull align 8 dereferenceable(24) %63, ptr noundef nonnull align 8 dereferenceable(24) %64, ptr noundef nonnull align 8 dereferenceable(24) %266, i32 noundef 8, double noundef 3.000000e+00, i64 noundef 2000, double noundef 0x3FEFAE147AE147AE, i64 noundef 10) - to label %268 unwind label %273 - -268: ; preds = %267 - %269 = getelementptr inbounds nuw i8, ptr %65, i64 8 - %270 = getelementptr inbounds nuw i8, ptr %65, i64 16 - store i64 0, ptr %270, align 8 + %263 = getelementptr inbounds nuw i8, ptr %64, i64 8 + store ptr %60, ptr %263, align 8 + %264 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN2cv7noArrayEv() + to label %265 unwind label %271 + +265: ; preds = %257 + invoke void @_ZN2cv16estimateAffine2DERKNS_11_InputArrayES2_RKNS_12_OutputArrayEidmdm(ptr dead_on_unwind nonnull writable sret(%"class.cv::Mat") align 8 %62, ptr noundef nonnull align 8 dereferenceable(24) %63, ptr noundef nonnull align 8 dereferenceable(24) %64, ptr noundef nonnull align 8 dereferenceable(24) %264, i32 noundef 8, double noundef 3.000000e+00, i64 noundef 2000, double noundef 0x3FEFAE147AE147AE, i64 noundef 10) + to label %266 unwind label %271 + +266: ; preds = %265 + %267 = getelementptr inbounds nuw i8, ptr %65, i64 8 + %268 = getelementptr inbounds nuw i8, ptr %65, i64 16 + store i64 0, ptr %268, align 8 store i32 33619968, ptr %65, align 8 - store ptr %61, ptr %269, align 8 + store ptr %61, ptr %267, align 8 invoke void @_ZNK2cv3Mat9convertToERKNS_12_OutputArrayEidd(ptr noundef nonnull align 8 dereferenceable(96) %62, ptr noundef nonnull align 8 dereferenceable(24) %65, i32 noundef 5, double noundef 1.000000e+00, double noundef 0.000000e+00) - to label %293 unwind label %275 + to label %291 unwind label %273 -271: ; preds = %296, %587, %293 - %272 = landingpad { ptr, i32 } +269: ; preds = %294, %585, %291 + %270 = landingpad { ptr, i32 } cleanup br label %.body -273: ; preds = %267, %259 - %274 = landingpad { ptr, i32 } +271: ; preds = %265, %257 + %272 = landingpad { ptr, i32 } cleanup br label %.body -275: ; preds = %268 - %276 = landingpad { ptr, i32 } +273: ; preds = %266 + %274 = landingpad { ptr, i32 } cleanup call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %62) #19 br label %.body -277: ; preds = %._crit_edge150 - %278 = getelementptr inbounds nuw i8, ptr %67, i64 16 - store i32 0, ptr %278, align 8 - %279 = getelementptr inbounds nuw i8, ptr %67, i64 20 - store i32 0, ptr %279, align 4 +275: ; preds = %._crit_edge150 + %276 = getelementptr inbounds nuw i8, ptr %67, i64 16 + store i32 0, ptr %276, align 8 + %277 = getelementptr inbounds nuw i8, ptr %67, i64 20 + store i32 0, ptr %277, align 4 store i32 -2130509811, ptr %67, align 8 - %280 = getelementptr inbounds nuw i8, ptr %67, i64 8 - store ptr %59, ptr %280, align 8 - %281 = getelementptr inbounds nuw i8, ptr %68, i64 16 - store i32 0, ptr %281, align 8 - %282 = getelementptr inbounds nuw i8, ptr %68, i64 20 - store i32 0, ptr %282, align 4 + %278 = getelementptr inbounds nuw i8, ptr %67, i64 8 + store ptr %59, ptr %278, align 8 + %279 = getelementptr inbounds nuw i8, ptr %68, i64 16 + store i32 0, ptr %279, align 8 + %280 = getelementptr inbounds nuw i8, ptr %68, i64 20 + store i32 0, ptr %280, align 4 store i32 -2130509811, ptr %68, align 8 - %283 = getelementptr inbounds nuw i8, ptr %68, i64 8 - store ptr %60, ptr %283, align 8 - %284 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN2cv7noArrayEv() - to label %285 unwind label %289 - -285: ; preds = %277 - invoke void @_ZN2cv23estimateAffinePartial2DERKNS_11_InputArrayES2_RKNS_12_OutputArrayEidmdm(ptr dead_on_unwind nonnull writable sret(%"class.cv::Mat") align 8 %66, ptr noundef nonnull align 8 dereferenceable(24) %67, ptr noundef nonnull align 8 dereferenceable(24) %68, ptr noundef nonnull align 8 dereferenceable(24) %284, i32 noundef 8, double noundef 3.000000e+00, i64 noundef 2000, double noundef 0x3FEFAE147AE147AE, i64 noundef 10) - to label %286 unwind label %289 - -286: ; preds = %285 - %287 = getelementptr inbounds nuw i8, ptr %69, i64 8 - %288 = getelementptr inbounds nuw i8, ptr %69, i64 16 - store i64 0, ptr %288, align 8 + %281 = getelementptr inbounds nuw i8, ptr %68, i64 8 + store ptr %60, ptr %281, align 8 + %282 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN2cv7noArrayEv() + to label %283 unwind label %287 + +283: ; preds = %275 + invoke void @_ZN2cv23estimateAffinePartial2DERKNS_11_InputArrayES2_RKNS_12_OutputArrayEidmdm(ptr dead_on_unwind nonnull writable sret(%"class.cv::Mat") align 8 %66, ptr noundef nonnull align 8 dereferenceable(24) %67, ptr noundef nonnull align 8 dereferenceable(24) %68, ptr noundef nonnull align 8 dereferenceable(24) %282, i32 noundef 8, double noundef 3.000000e+00, i64 noundef 2000, double noundef 0x3FEFAE147AE147AE, i64 noundef 10) + to label %284 unwind label %287 + +284: ; preds = %283 + %285 = getelementptr inbounds nuw i8, ptr %69, i64 8 + %286 = getelementptr inbounds nuw i8, ptr %69, i64 16 + store i64 0, ptr %286, align 8 store i32 33619968, ptr %69, align 8 - store ptr %61, ptr %287, align 8 + store ptr %61, ptr %285, align 8 invoke void @_ZNK2cv3Mat9convertToERKNS_12_OutputArrayEidd(ptr noundef nonnull align 8 dereferenceable(96) %66, ptr noundef nonnull align 8 dereferenceable(24) %69, i32 noundef 5, double noundef 1.000000e+00, double noundef 0.000000e+00) - to label %293 unwind label %291 + to label %291 unwind label %289 -289: ; preds = %285, %277 - %290 = landingpad { ptr, i32 } +287: ; preds = %283, %275 + %288 = landingpad { ptr, i32 } cleanup br label %.body -291: ; preds = %286 - %292 = landingpad { ptr, i32 } +289: ; preds = %284 + %290 = landingpad { ptr, i32 } cleanup call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %66) #19 br label %.body -293: ; preds = %286, %268 - %.sink = phi ptr [ %62, %268 ], [ %66, %286 ] +291: ; preds = %284, %266 + %.sink = phi ptr [ %62, %266 ], [ %66, %284 ] call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %.sink) #19 - %294 = invoke noundef zeroext i1 @_ZNK2cv3Mat5emptyEv(ptr noundef nonnull align 8 dereferenceable(96) %61) - to label %295 unwind label %271 + %292 = invoke noundef zeroext i1 @_ZNK2cv3Mat5emptyEv(ptr noundef nonnull align 8 dereferenceable(96) %61) + to label %293 unwind label %269 -295: ; preds = %293 - br i1 %294, label %296, label %587 +293: ; preds = %291 + br i1 %292, label %294, label %585 -296: ; preds = %295 - %297 = load i8, ptr %256, align 8 +294: ; preds = %293 + %295 = load i8, ptr %254, align 8 call void @llvm.experimental.noalias.scope.decl(metadata !32) call void @llvm.lifetime.start.p0(i64 96, ptr nonnull %21) call void @llvm.lifetime.start.p0(i64 96, ptr nonnull %22) @@ -1010,678 +1001,678 @@ _ZNSt6vectorIN2cv6Point_IfEESaIS2_EE9push_backERKS2_.exit95: ; preds = %_ZNSt6ve call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %48) call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %49) invoke void @_ZN2cv3MatC1Eiii(ptr noundef nonnull align 8 dereferenceable(96) %70, i32 noundef 2, i32 noundef 3, i32 noundef 5) - to label %.noexc96 unwind label %271 - -.noexc96: ; preds = %296 - %298 = trunc i8 %297 to i1 - %299 = getelementptr inbounds nuw i8, ptr %59, i64 8 - %300 = load ptr, ptr %299, align 8, !noalias !32 - %301 = load ptr, ptr %59, align 8, !noalias !32 - %302 = ptrtoint ptr %300 to i64 - %303 = ptrtoint ptr %301 to i64 - %304 = sub i64 %302, %303 - %sh.diff.i = lshr i64 %304, 2 + to label %.noexc96 unwind label %269 + +.noexc96: ; preds = %294 + %296 = trunc i8 %295 to i1 + %297 = getelementptr inbounds nuw i8, ptr %59, i64 8 + %298 = load ptr, ptr %297, align 8, !noalias !32 + %299 = load ptr, ptr %59, align 8, !noalias !32 + %300 = ptrtoint ptr %298 to i64 + %301 = ptrtoint ptr %299 to i64 + %302 = sub i64 %300, %301 + %sh.diff.i = lshr i64 %302, 2 %tr.sh.diff.i = trunc i64 %sh.diff.i to i32 - %305 = and i32 %tr.sh.diff.i, -2 - br i1 %298, label %306, label %422 + %303 = and i32 %tr.sh.diff.i, -2 + br i1 %296, label %304, label %420 -306: ; preds = %.noexc96 - invoke void @_ZN2cv3MatC1Eiii(ptr noundef nonnull align 8 dereferenceable(96) %21, i32 noundef %305, i32 noundef 6, i32 noundef 5) - to label %307 unwind label %358 +304: ; preds = %.noexc96 + invoke void @_ZN2cv3MatC1Eiii(ptr noundef nonnull align 8 dereferenceable(96) %21, i32 noundef %303, i32 noundef 6, i32 noundef 5) + to label %305 unwind label %356 -307: ; preds = %306 - invoke void @_ZN2cv3MatC1Eiii(ptr noundef nonnull align 8 dereferenceable(96) %22, i32 noundef %305, i32 noundef 1, i32 noundef 5) - to label %.preheader.i unwind label %360 +305: ; preds = %304 + invoke void @_ZN2cv3MatC1Eiii(ptr noundef nonnull align 8 dereferenceable(96) %22, i32 noundef %303, i32 noundef 1, i32 noundef 5) + to label %.preheader.i unwind label %358 -.preheader.i: ; preds = %307 - %308 = icmp sgt i32 %tr.sh.diff.i, 1 - br i1 %308, label %.lr.ph119.i, label %._crit_edge120.i +.preheader.i: ; preds = %305 + %306 = icmp sgt i32 %tr.sh.diff.i, 1 + br i1 %306, label %.lr.ph119.i, label %._crit_edge120.i .lr.ph119.i: ; preds = %.preheader.i - %309 = getelementptr inbounds nuw i8, ptr %24, i64 208 - %310 = getelementptr inbounds nuw i8, ptr %24, i64 112 - %311 = getelementptr inbounds nuw i8, ptr %24, i64 16 - %312 = getelementptr inbounds nuw i8, ptr %23, i64 16 - %313 = getelementptr inbounds nuw i8, ptr %15, i64 4 - %314 = getelementptr inbounds nuw i8, ptr %13, i64 4 - %315 = getelementptr inbounds nuw i8, ptr %29, i64 8 - %316 = getelementptr inbounds nuw i8, ptr %29, i64 16 - %317 = getelementptr inbounds nuw i8, ptr %22, i64 16 - %318 = getelementptr inbounds nuw i8, ptr %22, i64 72 - %319 = getelementptr inbounds nuw i8, ptr %19, i64 4 - %320 = getelementptr inbounds nuw i8, ptr %17, i64 4 - %321 = getelementptr inbounds nuw i8, ptr %26, i64 8 - %322 = getelementptr inbounds nuw i8, ptr %26, i64 16 - %smax125.i = call i32 @llvm.smax.i32(i32 %305, i32 1) + %307 = getelementptr inbounds nuw i8, ptr %24, i64 208 + %308 = getelementptr inbounds nuw i8, ptr %24, i64 112 + %309 = getelementptr inbounds nuw i8, ptr %24, i64 16 + %310 = getelementptr inbounds nuw i8, ptr %23, i64 16 + %311 = getelementptr inbounds nuw i8, ptr %15, i64 4 + %312 = getelementptr inbounds nuw i8, ptr %13, i64 4 + %313 = getelementptr inbounds nuw i8, ptr %29, i64 8 + %314 = getelementptr inbounds nuw i8, ptr %29, i64 16 + %315 = getelementptr inbounds nuw i8, ptr %22, i64 16 + %316 = getelementptr inbounds nuw i8, ptr %22, i64 72 + %317 = getelementptr inbounds nuw i8, ptr %19, i64 4 + %318 = getelementptr inbounds nuw i8, ptr %17, i64 4 + %319 = getelementptr inbounds nuw i8, ptr %26, i64 8 + %320 = getelementptr inbounds nuw i8, ptr %26, i64 16 + %smax125.i = call i32 @llvm.smax.i32(i32 %303, i32 1) %wide.trip.count126.i = zext nneg i32 %smax125.i to i64 - br label %323 + br label %321 -323: ; preds = %398, %.lr.ph119.i - %indvars.iv122.i = phi i64 [ 0, %.lr.ph119.i ], [ %indvars.iv.next123.pre-phi.i, %398 ] - %.052117.i = phi i32 [ 0, %.lr.ph119.i ], [ %.153.i, %398 ] +321: ; preds = %396, %.lr.ph119.i + %indvars.iv122.i = phi i64 [ 0, %.lr.ph119.i ], [ %indvars.iv.next123.pre-phi.i, %396 ] + %.052117.i = phi i32 [ 0, %.lr.ph119.i ], [ %.153.i, %396 ] invoke void @_ZN2cv3Mat5zerosEiii(ptr dead_on_unwind nonnull writable sret(%"class.cv::MatExpr") align 8 %24, i32 noundef 1, i32 noundef 6, i32 noundef 5) - to label %324 unwind label %362 + to label %322 unwind label %360 -324: ; preds = %323 +322: ; preds = %321 call void @_ZN2cv3MatC1Ev(ptr noundef nonnull align 8 dereferenceable(96) %23) #19 - %325 = load ptr, ptr %24, align 8, !noalias !35 + %323 = load ptr, ptr %24, align 8, !noalias !35 + %324 = load ptr, ptr %323, align 8 + %325 = getelementptr inbounds nuw i8, ptr %324, i64 24 %326 = load ptr, ptr %325, align 8 - %327 = getelementptr inbounds nuw i8, ptr %326, i64 24 - %328 = load ptr, ptr %327, align 8 - invoke void %328(ptr noundef nonnull align 8 dereferenceable(8) %325, ptr noundef nonnull align 8 dereferenceable(352) %24, ptr noundef nonnull align 8 dereferenceable(96) %23, i32 noundef -1) + invoke void %326(ptr noundef nonnull align 8 dereferenceable(8) %323, ptr noundef nonnull align 8 dereferenceable(352) %24, ptr noundef nonnull align 8 dereferenceable(96) %23, i32 noundef -1) to label %_ZNK2cv7MatExprcvNS_3MatEEv.exit.i unwind label %.body.i -.body.i: ; preds = %324 - %329 = landingpad { ptr, i32 } +.body.i: ; preds = %322 + %327 = landingpad { ptr, i32 } cleanup call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %23) #19 call void @_ZN2cv7MatExprD2Ev(ptr noundef nonnull align 8 dereferenceable(352) %24) #19 - br label %420 + br label %418 -_ZNK2cv7MatExprcvNS_3MatEEv.exit.i: ; preds = %324 +_ZNK2cv7MatExprcvNS_3MatEEv.exit.i: ; preds = %322 + call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %307) #19 + call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %308) #19 call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %309) #19 - call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %310) #19 - call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %311) #19 - %330 = trunc nuw nsw i64 %indvars.iv122.i to i32 - %331 = and i32 %330, 1 - %332 = icmp eq i32 %331, 0 - %333 = sext i32 %.052117.i to i64 - %334 = load ptr, ptr %59, align 8, !noalias !32 - %335 = getelementptr inbounds %"class.cv::Point_", ptr %334, i64 %333 - %336 = load float, ptr %335, align 4 - %337 = load ptr, ptr %312, align 8, !noalias !32 - br i1 %332, label %338, label %371 - -338: ; preds = %_ZNK2cv7MatExprcvNS_3MatEEv.exit.i - store float %336, ptr %337, align 4 - %339 = load ptr, ptr %59, align 8, !noalias !32 - %340 = getelementptr inbounds %"class.cv::Point_", ptr %339, i64 %333, i32 1 - %341 = load float, ptr %340, align 4 - %342 = load ptr, ptr %312, align 8, !noalias !32 - %343 = getelementptr inbounds nuw i8, ptr %342, i64 4 - store float %341, ptr %343, align 4 - %344 = load ptr, ptr %312, align 8, !noalias !32 - %345 = getelementptr inbounds nuw i8, ptr %344, i64 8 - store float 1.000000e+00, ptr %345, align 4 + %328 = trunc nuw nsw i64 %indvars.iv122.i to i32 + %329 = and i32 %328, 1 + %330 = icmp eq i32 %329, 0 + %331 = sext i32 %.052117.i to i64 + %332 = load ptr, ptr %59, align 8, !noalias !32 + %333 = getelementptr inbounds %"class.cv::Point_", ptr %332, i64 %331 + %334 = load float, ptr %333, align 4 + %335 = load ptr, ptr %310, align 8, !noalias !32 + br i1 %330, label %336, label %369 + +336: ; preds = %_ZNK2cv7MatExprcvNS_3MatEEv.exit.i + store float %334, ptr %335, align 4 + %337 = load ptr, ptr %59, align 8, !noalias !32 + %338 = getelementptr inbounds %"class.cv::Point_", ptr %337, i64 %331, i32 1 + %339 = load float, ptr %338, align 4 + %340 = load ptr, ptr %310, align 8, !noalias !32 + %341 = getelementptr inbounds nuw i8, ptr %340, i64 4 + store float %339, ptr %341, align 4 + %342 = load ptr, ptr %310, align 8, !noalias !32 + %343 = getelementptr inbounds nuw i8, ptr %342, i64 8 + store float 1.000000e+00, ptr %343, align 4 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %19), !noalias !32 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %20), !noalias !32 store i32 0, ptr %19, align 4, !noalias !38 - store i32 1, ptr %319, align 4, !noalias !38 + store i32 1, ptr %317, align 4, !noalias !38 store i64 9223372034707292160, ptr %20, align 8, !noalias !38 invoke void @_ZN2cv3MatC1ERKS0_RKNS_5RangeES5_(ptr noundef nonnull align 8 dereferenceable(96) %25, ptr noundef nonnull align 8 dereferenceable(96) %23, ptr noundef nonnull align 4 dereferenceable(8) %19, ptr noundef nonnull align 4 dereferenceable(8) %20) - to label %346 unwind label %364 + to label %344 unwind label %362 -346: ; preds = %338 +344: ; preds = %336 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %19), !noalias !32 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %20), !noalias !32 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %17), !noalias !32 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %18), !noalias !32 - store i32 %330, ptr %17, align 4, !noalias !41 - %347 = or disjoint i32 %330, 1 - store i32 %347, ptr %320, align 4, !noalias !41 + store i32 %328, ptr %17, align 4, !noalias !41 + %345 = or disjoint i32 %328, 1 + store i32 %345, ptr %318, align 4, !noalias !41 store i64 9223372034707292160, ptr %18, align 8, !noalias !41 invoke void @_ZN2cv3MatC1ERKS0_RKNS_5RangeES5_(ptr noundef nonnull align 8 dereferenceable(96) %27, ptr noundef nonnull align 8 dereferenceable(96) %21, ptr noundef nonnull align 4 dereferenceable(8) %17, ptr noundef nonnull align 4 dereferenceable(8) %18) - to label %348 unwind label %366 + to label %346 unwind label %364 -348: ; preds = %346 +346: ; preds = %344 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %17), !noalias !32 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %18), !noalias !32 - store i64 0, ptr %322, align 8, !noalias !32 + store i64 0, ptr %320, align 8, !noalias !32 store i32 -1040121856, ptr %26, align 8, !noalias !32 - store ptr %27, ptr %321, align 8, !noalias !32 + store ptr %27, ptr %319, align 8, !noalias !32 invoke void @_ZNK2cv3Mat6copyToERKNS_12_OutputArrayE(ptr noundef nonnull align 8 dereferenceable(96) %25, ptr noundef nonnull align 8 dereferenceable(24) %26) - to label %349 unwind label %368 + to label %347 unwind label %366 -349: ; preds = %348 +347: ; preds = %346 call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %27) #19 call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %25) #19 - %350 = load ptr, ptr %60, align 8, !noalias !32 - %351 = getelementptr inbounds %"class.cv::Point_", ptr %350, i64 %333 - %352 = load float, ptr %351, align 4 - %353 = load ptr, ptr %317, align 8, !noalias !32 - %354 = load ptr, ptr %318, align 8, !noalias !32 - %355 = load i64, ptr %354, align 8 - %356 = mul i64 %355, %indvars.iv122.i - %357 = getelementptr inbounds i8, ptr %353, i64 %356 - store float %352, ptr %357, align 4 + %348 = load ptr, ptr %60, align 8, !noalias !32 + %349 = getelementptr inbounds %"class.cv::Point_", ptr %348, i64 %331 + %350 = load float, ptr %349, align 4 + %351 = load ptr, ptr %315, align 8, !noalias !32 + %352 = load ptr, ptr %316, align 8, !noalias !32 + %353 = load i64, ptr %352, align 8 + %354 = mul i64 %353, %indvars.iv122.i + %355 = getelementptr inbounds i8, ptr %351, i64 %354 + store float %350, ptr %355, align 4 %.pre.i = add nuw nsw i64 %indvars.iv122.i, 1 - br label %398 + br label %396 + +356: ; preds = %420, %304 + %357 = landingpad { ptr, i32 } + cleanup + br label %579 -358: ; preds = %422, %306 +358: ; preds = %305 %359 = landingpad { ptr, i32 } cleanup - br label %581 + br label %419 -360: ; preds = %307 +360: ; preds = %321 %361 = landingpad { ptr, i32 } cleanup - br label %421 + br label %418 -362: ; preds = %323 +362: ; preds = %369, %336 %363 = landingpad { ptr, i32 } cleanup - br label %420 + br label %397 -364: ; preds = %371, %338 +364: ; preds = %344 %365 = landingpad { ptr, i32 } cleanup - br label %399 + br label %368 366: ; preds = %346 %367 = landingpad { ptr, i32 } cleanup - br label %370 - -368: ; preds = %348 - %369 = landingpad { ptr, i32 } - cleanup call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %27) #19 - br label %370 + br label %368 -370: ; preds = %368, %366 - %.pn97.pn.i = phi { ptr, i32 } [ %369, %368 ], [ %367, %366 ] +368: ; preds = %366, %364 + %.pn97.pn.i = phi { ptr, i32 } [ %367, %366 ], [ %365, %364 ] call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %25) #19 - br label %399 - -371: ; preds = %_ZNK2cv7MatExprcvNS_3MatEEv.exit.i - %372 = getelementptr inbounds nuw i8, ptr %337, i64 12 - store float %336, ptr %372, align 4 - %373 = getelementptr inbounds %"class.cv::Point_", ptr %334, i64 %333, i32 1 - %374 = load float, ptr %373, align 4 - %375 = load ptr, ptr %312, align 8, !noalias !32 - %376 = getelementptr inbounds nuw i8, ptr %375, i64 16 - store float %374, ptr %376, align 4 - %377 = load ptr, ptr %312, align 8, !noalias !32 - %378 = getelementptr inbounds nuw i8, ptr %377, i64 20 - store float 1.000000e+00, ptr %378, align 4 + br label %397 + +369: ; preds = %_ZNK2cv7MatExprcvNS_3MatEEv.exit.i + %370 = getelementptr inbounds nuw i8, ptr %335, i64 12 + store float %334, ptr %370, align 4 + %371 = getelementptr inbounds %"class.cv::Point_", ptr %332, i64 %331, i32 1 + %372 = load float, ptr %371, align 4 + %373 = load ptr, ptr %310, align 8, !noalias !32 + %374 = getelementptr inbounds nuw i8, ptr %373, i64 16 + store float %372, ptr %374, align 4 + %375 = load ptr, ptr %310, align 8, !noalias !32 + %376 = getelementptr inbounds nuw i8, ptr %375, i64 20 + store float 1.000000e+00, ptr %376, align 4 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %15), !noalias !32 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %16), !noalias !32 store i32 0, ptr %15, align 4, !noalias !44 - store i32 1, ptr %313, align 4, !noalias !44 + store i32 1, ptr %311, align 4, !noalias !44 store i64 9223372034707292160, ptr %16, align 8, !noalias !44 invoke void @_ZN2cv3MatC1ERKS0_RKNS_5RangeES5_(ptr noundef nonnull align 8 dereferenceable(96) %28, ptr noundef nonnull align 8 dereferenceable(96) %23, ptr noundef nonnull align 4 dereferenceable(8) %15, ptr noundef nonnull align 4 dereferenceable(8) %16) - to label %379 unwind label %364 + to label %377 unwind label %362 -379: ; preds = %371 +377: ; preds = %369 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %15), !noalias !32 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %16), !noalias !32 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %13), !noalias !32 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %14), !noalias !32 - %380 = add nuw nsw i64 %indvars.iv122.i, 1 - store i32 %330, ptr %13, align 4, !noalias !47 - %381 = trunc nuw nsw i64 %380 to i32 - store i32 %381, ptr %314, align 4, !noalias !47 + %378 = add nuw nsw i64 %indvars.iv122.i, 1 + store i32 %328, ptr %13, align 4, !noalias !47 + %379 = trunc nuw nsw i64 %378 to i32 + store i32 %379, ptr %312, align 4, !noalias !47 store i64 9223372034707292160, ptr %14, align 8, !noalias !47 invoke void @_ZN2cv3MatC1ERKS0_RKNS_5RangeES5_(ptr noundef nonnull align 8 dereferenceable(96) %30, ptr noundef nonnull align 8 dereferenceable(96) %21, ptr noundef nonnull align 4 dereferenceable(8) %13, ptr noundef nonnull align 4 dereferenceable(8) %14) - to label %382 unwind label %393 + to label %380 unwind label %391 -382: ; preds = %379 +380: ; preds = %377 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %13), !noalias !32 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %14), !noalias !32 - store i64 0, ptr %316, align 8, !noalias !32 + store i64 0, ptr %314, align 8, !noalias !32 store i32 -1040121856, ptr %29, align 8, !noalias !32 - store ptr %30, ptr %315, align 8, !noalias !32 + store ptr %30, ptr %313, align 8, !noalias !32 invoke void @_ZNK2cv3Mat6copyToERKNS_12_OutputArrayE(ptr noundef nonnull align 8 dereferenceable(96) %28, ptr noundef nonnull align 8 dereferenceable(24) %29) - to label %383 unwind label %395 + to label %381 unwind label %393 -383: ; preds = %382 +381: ; preds = %380 call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %30) #19 call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %28) #19 - %384 = load ptr, ptr %60, align 8, !noalias !32 - %385 = getelementptr inbounds %"class.cv::Point_", ptr %384, i64 %333, i32 1 - %386 = load float, ptr %385, align 4 - %387 = load ptr, ptr %317, align 8, !noalias !32 - %388 = load ptr, ptr %318, align 8, !noalias !32 - %389 = load i64, ptr %388, align 8 - %390 = mul i64 %389, %indvars.iv122.i - %391 = getelementptr inbounds i8, ptr %387, i64 %390 - store float %386, ptr %391, align 4 - %392 = add nsw i32 %.052117.i, 1 - br label %398 - -393: ; preds = %379 - %394 = landingpad { ptr, i32 } + %382 = load ptr, ptr %60, align 8, !noalias !32 + %383 = getelementptr inbounds %"class.cv::Point_", ptr %382, i64 %331, i32 1 + %384 = load float, ptr %383, align 4 + %385 = load ptr, ptr %315, align 8, !noalias !32 + %386 = load ptr, ptr %316, align 8, !noalias !32 + %387 = load i64, ptr %386, align 8 + %388 = mul i64 %387, %indvars.iv122.i + %389 = getelementptr inbounds i8, ptr %385, i64 %388 + store float %384, ptr %389, align 4 + %390 = add nsw i32 %.052117.i, 1 + br label %396 + +391: ; preds = %377 + %392 = landingpad { ptr, i32 } cleanup - br label %397 + br label %395 -395: ; preds = %382 - %396 = landingpad { ptr, i32 } +393: ; preds = %380 + %394 = landingpad { ptr, i32 } cleanup call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %30) #19 - br label %397 + br label %395 -397: ; preds = %395, %393 - %.pn94.pn.i = phi { ptr, i32 } [ %396, %395 ], [ %394, %393 ] +395: ; preds = %393, %391 + %.pn94.pn.i = phi { ptr, i32 } [ %394, %393 ], [ %392, %391 ] call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %28) #19 - br label %399 + br label %397 -398: ; preds = %383, %349 - %indvars.iv.next123.pre-phi.i = phi i64 [ %380, %383 ], [ %.pre.i, %349 ] - %.153.i = phi i32 [ %392, %383 ], [ %.052117.i, %349 ] +396: ; preds = %381, %347 + %indvars.iv.next123.pre-phi.i = phi i64 [ %378, %381 ], [ %.pre.i, %347 ] + %.153.i = phi i32 [ %390, %381 ], [ %.052117.i, %347 ] call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %23) #19 %exitcond127.not.i = icmp eq i64 %indvars.iv.next123.pre-phi.i, %wide.trip.count126.i - br i1 %exitcond127.not.i, label %._crit_edge120.i, label %323, !llvm.loop !50 + br i1 %exitcond127.not.i, label %._crit_edge120.i, label %321, !llvm.loop !50 -399: ; preds = %397, %370, %364 - %.pn97.pn.pn.i = phi { ptr, i32 } [ %.pn97.pn.i, %370 ], [ %365, %364 ], [ %.pn94.pn.i, %397 ] +397: ; preds = %395, %368, %362 + %.pn97.pn.pn.i = phi { ptr, i32 } [ %.pn97.pn.i, %368 ], [ %363, %362 ], [ %.pn94.pn.i, %395 ] call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %23) #19 - br label %420 + br label %418 -._crit_edge120.i: ; preds = %398, %.preheader.i +._crit_edge120.i: ; preds = %396, %.preheader.i call void @_ZN2cv3MatC1Ev(ptr noundef nonnull align 8 dereferenceable(96) %31) #19 - %400 = getelementptr inbounds nuw i8, ptr %32, i64 16 - store i32 0, ptr %400, align 8, !noalias !32 - %401 = getelementptr inbounds nuw i8, ptr %32, i64 20 - store i32 0, ptr %401, align 4, !noalias !32 + %398 = getelementptr inbounds nuw i8, ptr %32, i64 16 + store i32 0, ptr %398, align 8, !noalias !32 + %399 = getelementptr inbounds nuw i8, ptr %32, i64 20 + store i32 0, ptr %399, align 4, !noalias !32 store i32 16842752, ptr %32, align 8, !noalias !32 - %402 = getelementptr inbounds nuw i8, ptr %32, i64 8 - store ptr %21, ptr %402, align 8, !noalias !32 - %403 = getelementptr inbounds nuw i8, ptr %33, i64 16 - store i32 0, ptr %403, align 8, !noalias !32 - %404 = getelementptr inbounds nuw i8, ptr %33, i64 20 - store i32 0, ptr %404, align 4, !noalias !32 + %400 = getelementptr inbounds nuw i8, ptr %32, i64 8 + store ptr %21, ptr %400, align 8, !noalias !32 + %401 = getelementptr inbounds nuw i8, ptr %33, i64 16 + store i32 0, ptr %401, align 8, !noalias !32 + %402 = getelementptr inbounds nuw i8, ptr %33, i64 20 + store i32 0, ptr %402, align 4, !noalias !32 store i32 16842752, ptr %33, align 8, !noalias !32 - %405 = getelementptr inbounds nuw i8, ptr %33, i64 8 - store ptr %22, ptr %405, align 8, !noalias !32 - %406 = getelementptr inbounds nuw i8, ptr %34, i64 8 - %407 = getelementptr inbounds nuw i8, ptr %34, i64 16 - store i64 0, ptr %407, align 8, !noalias !32 + %403 = getelementptr inbounds nuw i8, ptr %33, i64 8 + store ptr %22, ptr %403, align 8, !noalias !32 + %404 = getelementptr inbounds nuw i8, ptr %34, i64 8 + %405 = getelementptr inbounds nuw i8, ptr %34, i64 16 + store i64 0, ptr %405, align 8, !noalias !32 store i32 33619968, ptr %34, align 8, !noalias !32 - store ptr %31, ptr %406, align 8, !noalias !32 - %408 = invoke noundef zeroext i1 @_ZN2cv5solveERKNS_11_InputArrayES2_RKNS_12_OutputArrayEi(ptr noundef nonnull align 8 dereferenceable(24) %32, ptr noundef nonnull align 8 dereferenceable(24) %33, ptr noundef nonnull align 8 dereferenceable(24) %34, i32 noundef 1) - to label %409 unwind label %415 + store ptr %31, ptr %404, align 8, !noalias !32 + %406 = invoke noundef zeroext i1 @_ZN2cv5solveERKNS_11_InputArrayES2_RKNS_12_OutputArrayEi(ptr noundef nonnull align 8 dereferenceable(24) %32, ptr noundef nonnull align 8 dereferenceable(24) %33, ptr noundef nonnull align 8 dereferenceable(24) %34, i32 noundef 1) + to label %407 unwind label %413 -409: ; preds = %._crit_edge120.i +407: ; preds = %._crit_edge120.i invoke void @_ZNK2cv3Mat7reshapeEii(ptr dead_on_unwind nonnull writable sret(%"class.cv::Mat") align 8 %35, ptr noundef nonnull align 8 dereferenceable(96) %31, i32 noundef 0, i32 noundef 2) - to label %410 unwind label %413 + to label %408 unwind label %411 -410: ; preds = %409 - %411 = invoke noundef nonnull align 8 dereferenceable(96) ptr @_ZN2cv3MataSEOS0_(ptr noundef nonnull align 8 dereferenceable(96) %70, ptr noundef nonnull align 8 dereferenceable(96) %35) - to label %412 unwind label %417 +408: ; preds = %407 + %409 = invoke noundef nonnull align 8 dereferenceable(96) ptr @_ZN2cv3MataSEOS0_(ptr noundef nonnull align 8 dereferenceable(96) %70, ptr noundef nonnull align 8 dereferenceable(96) %35) + to label %410 unwind label %415 -412: ; preds = %410 +410: ; preds = %408 call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %35) #19 - br label %582 + br label %580 -413: ; preds = %409 - %414 = landingpad { ptr, i32 } +411: ; preds = %407 + %412 = landingpad { ptr, i32 } cleanup - br label %419 + br label %417 -415: ; preds = %._crit_edge120.i - %416 = landingpad { ptr, i32 } +413: ; preds = %._crit_edge120.i + %414 = landingpad { ptr, i32 } cleanup - br label %419 + br label %417 -417: ; preds = %410 - %418 = landingpad { ptr, i32 } +415: ; preds = %408 + %416 = landingpad { ptr, i32 } cleanup call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %35) #19 - br label %419 + br label %417 -419: ; preds = %417, %415, %413 - %.pn92.i = phi { ptr, i32 } [ %418, %417 ], [ %414, %413 ], [ %416, %415 ] +417: ; preds = %415, %413, %411 + %.pn92.i = phi { ptr, i32 } [ %416, %415 ], [ %412, %411 ], [ %414, %413 ] call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %31) #19 - br label %420 + br label %418 -420: ; preds = %419, %399, %362, %.body.i - %.pn97.pn.pn.pn.i = phi { ptr, i32 } [ %.pn97.pn.pn.i, %399 ], [ %329, %.body.i ], [ %363, %362 ], [ %.pn92.i, %419 ] +418: ; preds = %417, %397, %360, %.body.i + %.pn97.pn.pn.pn.i = phi { ptr, i32 } [ %.pn97.pn.pn.i, %397 ], [ %327, %.body.i ], [ %361, %360 ], [ %.pn92.i, %417 ] call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %22) #19 - br label %421 + br label %419 -421: ; preds = %420, %360 - %.pn97.pn.pn.pn.pn.i = phi { ptr, i32 } [ %.pn97.pn.pn.pn.i, %420 ], [ %361, %360 ] +419: ; preds = %418, %358 + %.pn97.pn.pn.pn.pn.i = phi { ptr, i32 } [ %.pn97.pn.pn.pn.i, %418 ], [ %359, %358 ] call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %21) #19 - br label %581 + br label %579 -422: ; preds = %.noexc96 - invoke void @_ZN2cv3MatC1Eiii(ptr noundef nonnull align 8 dereferenceable(96) %36, i32 noundef %305, i32 noundef 4, i32 noundef 5) - to label %423 unwind label %358 +420: ; preds = %.noexc96 + invoke void @_ZN2cv3MatC1Eiii(ptr noundef nonnull align 8 dereferenceable(96) %36, i32 noundef %303, i32 noundef 4, i32 noundef 5) + to label %421 unwind label %356 -423: ; preds = %422 - invoke void @_ZN2cv3MatC1Eiii(ptr noundef nonnull align 8 dereferenceable(96) %37, i32 noundef %305, i32 noundef 1, i32 noundef 5) - to label %.preheader114.i unwind label %474 +421: ; preds = %420 + invoke void @_ZN2cv3MatC1Eiii(ptr noundef nonnull align 8 dereferenceable(96) %37, i32 noundef %303, i32 noundef 1, i32 noundef 5) + to label %.preheader114.i unwind label %472 -.preheader114.i: ; preds = %423 - %424 = icmp sgt i32 %tr.sh.diff.i, 1 - br i1 %424, label %.lr.ph.i, label %._crit_edge.i +.preheader114.i: ; preds = %421 + %422 = icmp sgt i32 %tr.sh.diff.i, 1 + br i1 %422, label %.lr.ph.i, label %._crit_edge.i .lr.ph.i: ; preds = %.preheader114.i - %425 = getelementptr inbounds nuw i8, ptr %39, i64 208 - %426 = getelementptr inbounds nuw i8, ptr %39, i64 112 - %427 = getelementptr inbounds nuw i8, ptr %39, i64 16 - %428 = getelementptr inbounds nuw i8, ptr %38, i64 16 - %429 = getelementptr inbounds nuw i8, ptr %7, i64 4 - %430 = getelementptr inbounds nuw i8, ptr %5, i64 4 - %431 = getelementptr inbounds nuw i8, ptr %44, i64 8 - %432 = getelementptr inbounds nuw i8, ptr %44, i64 16 - %433 = getelementptr inbounds nuw i8, ptr %37, i64 16 - %434 = getelementptr inbounds nuw i8, ptr %37, i64 72 - %435 = getelementptr inbounds nuw i8, ptr %11, i64 4 - %436 = getelementptr inbounds nuw i8, ptr %9, i64 4 - %437 = getelementptr inbounds nuw i8, ptr %41, i64 8 - %438 = getelementptr inbounds nuw i8, ptr %41, i64 16 - %smax.i = call i32 @llvm.smax.i32(i32 %305, i32 1) + %423 = getelementptr inbounds nuw i8, ptr %39, i64 208 + %424 = getelementptr inbounds nuw i8, ptr %39, i64 112 + %425 = getelementptr inbounds nuw i8, ptr %39, i64 16 + %426 = getelementptr inbounds nuw i8, ptr %38, i64 16 + %427 = getelementptr inbounds nuw i8, ptr %7, i64 4 + %428 = getelementptr inbounds nuw i8, ptr %5, i64 4 + %429 = getelementptr inbounds nuw i8, ptr %44, i64 8 + %430 = getelementptr inbounds nuw i8, ptr %44, i64 16 + %431 = getelementptr inbounds nuw i8, ptr %37, i64 16 + %432 = getelementptr inbounds nuw i8, ptr %37, i64 72 + %433 = getelementptr inbounds nuw i8, ptr %11, i64 4 + %434 = getelementptr inbounds nuw i8, ptr %9, i64 4 + %435 = getelementptr inbounds nuw i8, ptr %41, i64 8 + %436 = getelementptr inbounds nuw i8, ptr %41, i64 16 + %smax.i = call i32 @llvm.smax.i32(i32 %303, i32 1) %wide.trip.count.i = zext nneg i32 %smax.i to i64 - br label %439 + br label %437 -439: ; preds = %515, %.lr.ph.i - %indvars.iv.i = phi i64 [ 0, %.lr.ph.i ], [ %indvars.iv.next.pre-phi.i, %515 ] - %.050115.i = phi i32 [ 0, %.lr.ph.i ], [ %.1.i, %515 ] +437: ; preds = %513, %.lr.ph.i + %indvars.iv.i = phi i64 [ 0, %.lr.ph.i ], [ %indvars.iv.next.pre-phi.i, %513 ] + %.050115.i = phi i32 [ 0, %.lr.ph.i ], [ %.1.i, %513 ] invoke void @_ZN2cv3Mat5zerosEiii(ptr dead_on_unwind nonnull writable sret(%"class.cv::MatExpr") align 8 %39, i32 noundef 1, i32 noundef 4, i32 noundef 5) - to label %440 unwind label %476 + to label %438 unwind label %474 -440: ; preds = %439 +438: ; preds = %437 call void @_ZN2cv3MatC1Ev(ptr noundef nonnull align 8 dereferenceable(96) %38) #19 - %441 = load ptr, ptr %39, align 8, !noalias !51 + %439 = load ptr, ptr %39, align 8, !noalias !51 + %440 = load ptr, ptr %439, align 8 + %441 = getelementptr inbounds nuw i8, ptr %440, i64 24 %442 = load ptr, ptr %441, align 8 - %443 = getelementptr inbounds nuw i8, ptr %442, i64 24 - %444 = load ptr, ptr %443, align 8 - invoke void %444(ptr noundef nonnull align 8 dereferenceable(8) %441, ptr noundef nonnull align 8 dereferenceable(352) %39, ptr noundef nonnull align 8 dereferenceable(96) %38, i32 noundef -1) + invoke void %442(ptr noundef nonnull align 8 dereferenceable(8) %439, ptr noundef nonnull align 8 dereferenceable(352) %39, ptr noundef nonnull align 8 dereferenceable(96) %38, i32 noundef -1) to label %_ZNK2cv7MatExprcvNS_3MatEEv.exit109.i unwind label %.body107.i -.body107.i: ; preds = %440 - %445 = landingpad { ptr, i32 } +.body107.i: ; preds = %438 + %443 = landingpad { ptr, i32 } cleanup call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %38) #19 call void @_ZN2cv7MatExprD2Ev(ptr noundef nonnull align 8 dereferenceable(352) %39) #19 - br label %579 + br label %577 -_ZNK2cv7MatExprcvNS_3MatEEv.exit109.i: ; preds = %440 +_ZNK2cv7MatExprcvNS_3MatEEv.exit109.i: ; preds = %438 + call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %423) #19 + call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %424) #19 call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %425) #19 - call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %426) #19 - call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %427) #19 - %446 = trunc nuw nsw i64 %indvars.iv.i to i32 - %447 = and i32 %446, 1 - %448 = icmp eq i32 %447, 0 - %449 = sext i32 %.050115.i to i64 - %450 = load ptr, ptr %59, align 8, !noalias !32 - %451 = load ptr, ptr %428, align 8, !noalias !32 - br i1 %448, label %452, label %485 - -452: ; preds = %_ZNK2cv7MatExprcvNS_3MatEEv.exit109.i - %453 = getelementptr inbounds %"class.cv::Point_", ptr %450, i64 %449 - %454 = load float, ptr %453, align 4 - store float %454, ptr %451, align 4 - %455 = load ptr, ptr %59, align 8, !noalias !32 - %456 = getelementptr inbounds %"class.cv::Point_", ptr %455, i64 %449, i32 1 - %457 = load float, ptr %456, align 4 - %458 = load ptr, ptr %428, align 8, !noalias !32 - %459 = getelementptr inbounds nuw i8, ptr %458, i64 4 - store float %457, ptr %459, align 4 - %460 = load ptr, ptr %428, align 8, !noalias !32 - %461 = getelementptr inbounds nuw i8, ptr %460, i64 8 - store float 1.000000e+00, ptr %461, align 4 + %444 = trunc nuw nsw i64 %indvars.iv.i to i32 + %445 = and i32 %444, 1 + %446 = icmp eq i32 %445, 0 + %447 = sext i32 %.050115.i to i64 + %448 = load ptr, ptr %59, align 8, !noalias !32 + %449 = load ptr, ptr %426, align 8, !noalias !32 + br i1 %446, label %450, label %483 + +450: ; preds = %_ZNK2cv7MatExprcvNS_3MatEEv.exit109.i + %451 = getelementptr inbounds %"class.cv::Point_", ptr %448, i64 %447 + %452 = load float, ptr %451, align 4 + store float %452, ptr %449, align 4 + %453 = load ptr, ptr %59, align 8, !noalias !32 + %454 = getelementptr inbounds %"class.cv::Point_", ptr %453, i64 %447, i32 1 + %455 = load float, ptr %454, align 4 + %456 = load ptr, ptr %426, align 8, !noalias !32 + %457 = getelementptr inbounds nuw i8, ptr %456, i64 4 + store float %455, ptr %457, align 4 + %458 = load ptr, ptr %426, align 8, !noalias !32 + %459 = getelementptr inbounds nuw i8, ptr %458, i64 8 + store float 1.000000e+00, ptr %459, align 4 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %11), !noalias !32 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %12), !noalias !32 store i32 0, ptr %11, align 4, !noalias !54 - store i32 1, ptr %435, align 4, !noalias !54 + store i32 1, ptr %433, align 4, !noalias !54 store i64 9223372034707292160, ptr %12, align 8, !noalias !54 invoke void @_ZN2cv3MatC1ERKS0_RKNS_5RangeES5_(ptr noundef nonnull align 8 dereferenceable(96) %40, ptr noundef nonnull align 8 dereferenceable(96) %38, ptr noundef nonnull align 4 dereferenceable(8) %11, ptr noundef nonnull align 4 dereferenceable(8) %12) - to label %462 unwind label %478 + to label %460 unwind label %476 -462: ; preds = %452 +460: ; preds = %450 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %11), !noalias !32 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %12), !noalias !32 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %9), !noalias !32 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %10), !noalias !32 - store i32 %446, ptr %9, align 4, !noalias !57 - %463 = or disjoint i32 %446, 1 - store i32 %463, ptr %436, align 4, !noalias !57 + store i32 %444, ptr %9, align 4, !noalias !57 + %461 = or disjoint i32 %444, 1 + store i32 %461, ptr %434, align 4, !noalias !57 store i64 9223372034707292160, ptr %10, align 8, !noalias !57 invoke void @_ZN2cv3MatC1ERKS0_RKNS_5RangeES5_(ptr noundef nonnull align 8 dereferenceable(96) %42, ptr noundef nonnull align 8 dereferenceable(96) %36, ptr noundef nonnull align 4 dereferenceable(8) %9, ptr noundef nonnull align 4 dereferenceable(8) %10) - to label %464 unwind label %480 + to label %462 unwind label %478 -464: ; preds = %462 +462: ; preds = %460 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %9), !noalias !32 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %10), !noalias !32 - store i64 0, ptr %438, align 8, !noalias !32 + store i64 0, ptr %436, align 8, !noalias !32 store i32 -1040121856, ptr %41, align 8, !noalias !32 - store ptr %42, ptr %437, align 8, !noalias !32 + store ptr %42, ptr %435, align 8, !noalias !32 invoke void @_ZNK2cv3Mat6copyToERKNS_12_OutputArrayE(ptr noundef nonnull align 8 dereferenceable(96) %40, ptr noundef nonnull align 8 dereferenceable(24) %41) - to label %465 unwind label %482 + to label %463 unwind label %480 -465: ; preds = %464 +463: ; preds = %462 call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %42) #19 call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %40) #19 - %466 = load ptr, ptr %60, align 8, !noalias !32 - %467 = getelementptr inbounds %"class.cv::Point_", ptr %466, i64 %449 - %468 = load float, ptr %467, align 4 - %469 = load ptr, ptr %433, align 8, !noalias !32 - %470 = load ptr, ptr %434, align 8, !noalias !32 - %471 = load i64, ptr %470, align 8 - %472 = mul i64 %471, %indvars.iv.i - %473 = getelementptr inbounds i8, ptr %469, i64 %472 - store float %468, ptr %473, align 4 + %464 = load ptr, ptr %60, align 8, !noalias !32 + %465 = getelementptr inbounds %"class.cv::Point_", ptr %464, i64 %447 + %466 = load float, ptr %465, align 4 + %467 = load ptr, ptr %431, align 8, !noalias !32 + %468 = load ptr, ptr %432, align 8, !noalias !32 + %469 = load i64, ptr %468, align 8 + %470 = mul i64 %469, %indvars.iv.i + %471 = getelementptr inbounds i8, ptr %467, i64 %470 + store float %466, ptr %471, align 4 %.pre128.i = add nuw nsw i64 %indvars.iv.i, 1 - br label %515 + br label %513 + +472: ; preds = %421 + %473 = landingpad { ptr, i32 } + cleanup + br label %578 -474: ; preds = %423 +474: ; preds = %437 %475 = landingpad { ptr, i32 } cleanup - br label %580 + br label %577 -476: ; preds = %439 +476: ; preds = %483, %450 %477 = landingpad { ptr, i32 } cleanup - br label %579 + br label %514 -478: ; preds = %485, %452 +478: ; preds = %460 %479 = landingpad { ptr, i32 } cleanup - br label %516 + br label %482 480: ; preds = %462 %481 = landingpad { ptr, i32 } cleanup - br label %484 - -482: ; preds = %464 - %483 = landingpad { ptr, i32 } - cleanup call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %42) #19 - br label %484 + br label %482 -484: ; preds = %482, %480 - %.pn83.pn.i = phi { ptr, i32 } [ %483, %482 ], [ %481, %480 ] +482: ; preds = %480, %478 + %.pn83.pn.i = phi { ptr, i32 } [ %481, %480 ], [ %479, %478 ] call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %40) #19 - br label %516 - -485: ; preds = %_ZNK2cv7MatExprcvNS_3MatEEv.exit109.i - %486 = getelementptr inbounds %"class.cv::Point_", ptr %450, i64 %449, i32 1 - %487 = load float, ptr %486, align 4 - store float %487, ptr %451, align 4 - %488 = load ptr, ptr %59, align 8, !noalias !32 - %489 = getelementptr inbounds %"class.cv::Point_", ptr %488, i64 %449 - %490 = load float, ptr %489, align 4 - %491 = fneg float %490 - %492 = load ptr, ptr %428, align 8, !noalias !32 - %493 = getelementptr inbounds nuw i8, ptr %492, i64 4 - store float %491, ptr %493, align 4 - %494 = load ptr, ptr %428, align 8, !noalias !32 - %495 = getelementptr inbounds nuw i8, ptr %494, i64 12 - store float 1.000000e+00, ptr %495, align 4 + br label %514 + +483: ; preds = %_ZNK2cv7MatExprcvNS_3MatEEv.exit109.i + %484 = getelementptr inbounds %"class.cv::Point_", ptr %448, i64 %447, i32 1 + %485 = load float, ptr %484, align 4 + store float %485, ptr %449, align 4 + %486 = load ptr, ptr %59, align 8, !noalias !32 + %487 = getelementptr inbounds %"class.cv::Point_", ptr %486, i64 %447 + %488 = load float, ptr %487, align 4 + %489 = fneg float %488 + %490 = load ptr, ptr %426, align 8, !noalias !32 + %491 = getelementptr inbounds nuw i8, ptr %490, i64 4 + store float %489, ptr %491, align 4 + %492 = load ptr, ptr %426, align 8, !noalias !32 + %493 = getelementptr inbounds nuw i8, ptr %492, i64 12 + store float 1.000000e+00, ptr %493, align 4 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %7), !noalias !32 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %8), !noalias !32 store i32 0, ptr %7, align 4, !noalias !60 - store i32 1, ptr %429, align 4, !noalias !60 + store i32 1, ptr %427, align 4, !noalias !60 store i64 9223372034707292160, ptr %8, align 8, !noalias !60 invoke void @_ZN2cv3MatC1ERKS0_RKNS_5RangeES5_(ptr noundef nonnull align 8 dereferenceable(96) %43, ptr noundef nonnull align 8 dereferenceable(96) %38, ptr noundef nonnull align 4 dereferenceable(8) %7, ptr noundef nonnull align 4 dereferenceable(8) %8) - to label %496 unwind label %478 + to label %494 unwind label %476 -496: ; preds = %485 +494: ; preds = %483 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %7), !noalias !32 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %8), !noalias !32 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %5), !noalias !32 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %6), !noalias !32 - %497 = add nuw nsw i64 %indvars.iv.i, 1 - store i32 %446, ptr %5, align 4, !noalias !63 - %498 = trunc nuw nsw i64 %497 to i32 - store i32 %498, ptr %430, align 4, !noalias !63 + %495 = add nuw nsw i64 %indvars.iv.i, 1 + store i32 %444, ptr %5, align 4, !noalias !63 + %496 = trunc nuw nsw i64 %495 to i32 + store i32 %496, ptr %428, align 4, !noalias !63 store i64 9223372034707292160, ptr %6, align 8, !noalias !63 invoke void @_ZN2cv3MatC1ERKS0_RKNS_5RangeES5_(ptr noundef nonnull align 8 dereferenceable(96) %45, ptr noundef nonnull align 8 dereferenceable(96) %36, ptr noundef nonnull align 4 dereferenceable(8) %5, ptr noundef nonnull align 4 dereferenceable(8) %6) - to label %499 unwind label %510 + to label %497 unwind label %508 -499: ; preds = %496 +497: ; preds = %494 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %5), !noalias !32 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %6), !noalias !32 - store i64 0, ptr %432, align 8, !noalias !32 + store i64 0, ptr %430, align 8, !noalias !32 store i32 -1040121856, ptr %44, align 8, !noalias !32 - store ptr %45, ptr %431, align 8, !noalias !32 + store ptr %45, ptr %429, align 8, !noalias !32 invoke void @_ZNK2cv3Mat6copyToERKNS_12_OutputArrayE(ptr noundef nonnull align 8 dereferenceable(96) %43, ptr noundef nonnull align 8 dereferenceable(24) %44) - to label %500 unwind label %512 + to label %498 unwind label %510 -500: ; preds = %499 +498: ; preds = %497 call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %45) #19 call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %43) #19 - %501 = load ptr, ptr %60, align 8, !noalias !32 - %502 = getelementptr inbounds %"class.cv::Point_", ptr %501, i64 %449, i32 1 - %503 = load float, ptr %502, align 4 - %504 = load ptr, ptr %433, align 8, !noalias !32 - %505 = load ptr, ptr %434, align 8, !noalias !32 - %506 = load i64, ptr %505, align 8 - %507 = mul i64 %506, %indvars.iv.i - %508 = getelementptr inbounds i8, ptr %504, i64 %507 - store float %503, ptr %508, align 4 - %509 = add nsw i32 %.050115.i, 1 - br label %515 - -510: ; preds = %496 - %511 = landingpad { ptr, i32 } + %499 = load ptr, ptr %60, align 8, !noalias !32 + %500 = getelementptr inbounds %"class.cv::Point_", ptr %499, i64 %447, i32 1 + %501 = load float, ptr %500, align 4 + %502 = load ptr, ptr %431, align 8, !noalias !32 + %503 = load ptr, ptr %432, align 8, !noalias !32 + %504 = load i64, ptr %503, align 8 + %505 = mul i64 %504, %indvars.iv.i + %506 = getelementptr inbounds i8, ptr %502, i64 %505 + store float %501, ptr %506, align 4 + %507 = add nsw i32 %.050115.i, 1 + br label %513 + +508: ; preds = %494 + %509 = landingpad { ptr, i32 } cleanup - br label %514 + br label %512 -512: ; preds = %499 - %513 = landingpad { ptr, i32 } +510: ; preds = %497 + %511 = landingpad { ptr, i32 } cleanup call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %45) #19 - br label %514 + br label %512 -514: ; preds = %512, %510 - %.pn80.pn.i = phi { ptr, i32 } [ %513, %512 ], [ %511, %510 ] +512: ; preds = %510, %508 + %.pn80.pn.i = phi { ptr, i32 } [ %511, %510 ], [ %509, %508 ] call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %43) #19 - br label %516 + br label %514 -515: ; preds = %500, %465 - %indvars.iv.next.pre-phi.i = phi i64 [ %497, %500 ], [ %.pre128.i, %465 ] - %.1.i = phi i32 [ %509, %500 ], [ %.050115.i, %465 ] +513: ; preds = %498, %463 + %indvars.iv.next.pre-phi.i = phi i64 [ %495, %498 ], [ %.pre128.i, %463 ] + %.1.i = phi i32 [ %507, %498 ], [ %.050115.i, %463 ] call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %38) #19 %exitcond.not.i = icmp eq i64 %indvars.iv.next.pre-phi.i, %wide.trip.count.i - br i1 %exitcond.not.i, label %._crit_edge.i, label %439, !llvm.loop !66 + br i1 %exitcond.not.i, label %._crit_edge.i, label %437, !llvm.loop !66 -516: ; preds = %514, %484, %478 - %.pn83.pn.pn.i = phi { ptr, i32 } [ %.pn83.pn.i, %484 ], [ %479, %478 ], [ %.pn80.pn.i, %514 ] +514: ; preds = %512, %482, %476 + %.pn83.pn.pn.i = phi { ptr, i32 } [ %.pn83.pn.i, %482 ], [ %477, %476 ], [ %.pn80.pn.i, %512 ] call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %38) #19 - br label %579 + br label %577 -._crit_edge.i: ; preds = %515, %.preheader114.i +._crit_edge.i: ; preds = %513, %.preheader114.i call void @_ZN2cv3MatC1Ev(ptr noundef nonnull align 8 dereferenceable(96) %46) #19 - %517 = getelementptr inbounds nuw i8, ptr %47, i64 16 - store i32 0, ptr %517, align 8, !noalias !32 - %518 = getelementptr inbounds nuw i8, ptr %47, i64 20 - store i32 0, ptr %518, align 4, !noalias !32 + %515 = getelementptr inbounds nuw i8, ptr %47, i64 16 + store i32 0, ptr %515, align 8, !noalias !32 + %516 = getelementptr inbounds nuw i8, ptr %47, i64 20 + store i32 0, ptr %516, align 4, !noalias !32 store i32 16842752, ptr %47, align 8, !noalias !32 - %519 = getelementptr inbounds nuw i8, ptr %47, i64 8 - store ptr %36, ptr %519, align 8, !noalias !32 - %520 = getelementptr inbounds nuw i8, ptr %48, i64 16 - store i32 0, ptr %520, align 8, !noalias !32 - %521 = getelementptr inbounds nuw i8, ptr %48, i64 20 - store i32 0, ptr %521, align 4, !noalias !32 + %517 = getelementptr inbounds nuw i8, ptr %47, i64 8 + store ptr %36, ptr %517, align 8, !noalias !32 + %518 = getelementptr inbounds nuw i8, ptr %48, i64 16 + store i32 0, ptr %518, align 8, !noalias !32 + %519 = getelementptr inbounds nuw i8, ptr %48, i64 20 + store i32 0, ptr %519, align 4, !noalias !32 store i32 16842752, ptr %48, align 8, !noalias !32 - %522 = getelementptr inbounds nuw i8, ptr %48, i64 8 - store ptr %37, ptr %522, align 8, !noalias !32 - %523 = getelementptr inbounds nuw i8, ptr %49, i64 8 - %524 = getelementptr inbounds nuw i8, ptr %49, i64 16 - store i64 0, ptr %524, align 8, !noalias !32 + %520 = getelementptr inbounds nuw i8, ptr %48, i64 8 + store ptr %37, ptr %520, align 8, !noalias !32 + %521 = getelementptr inbounds nuw i8, ptr %49, i64 8 + %522 = getelementptr inbounds nuw i8, ptr %49, i64 16 + store i64 0, ptr %522, align 8, !noalias !32 store i32 33619968, ptr %49, align 8, !noalias !32 - store ptr %46, ptr %523, align 8, !noalias !32 - %525 = invoke noundef zeroext i1 @_ZN2cv5solveERKNS_11_InputArrayES2_RKNS_12_OutputArrayEi(ptr noundef nonnull align 8 dereferenceable(24) %47, ptr noundef nonnull align 8 dereferenceable(24) %48, ptr noundef nonnull align 8 dereferenceable(24) %49, i32 noundef 1) - to label %526 unwind label %577 - -526: ; preds = %._crit_edge.i - %527 = getelementptr inbounds nuw i8, ptr %46, i64 16 - %528 = load ptr, ptr %527, align 8, !noalias !32 - %529 = getelementptr inbounds nuw i8, ptr %46, i64 72 - %530 = load float, ptr %528, align 4 - %531 = getelementptr inbounds nuw i8, ptr %70, i64 16 - %532 = load ptr, ptr %531, align 8, !alias.scope !32 - %533 = getelementptr inbounds nuw i8, ptr %70, i64 72 - store float %530, ptr %532, align 4 - %534 = load ptr, ptr %527, align 8, !noalias !32 - %535 = load ptr, ptr %529, align 8, !noalias !32 - %536 = load i64, ptr %535, align 8 - %537 = getelementptr inbounds i8, ptr %534, i64 %536 - %538 = load float, ptr %537, align 4 - %539 = load ptr, ptr %531, align 8, !alias.scope !32 - %540 = getelementptr inbounds nuw i8, ptr %539, i64 4 - store float %538, ptr %540, align 4 - %541 = load ptr, ptr %527, align 8, !noalias !32 - %542 = load ptr, ptr %529, align 8, !noalias !32 - %543 = load i64, ptr %542, align 8 - %544 = shl i64 %543, 1 - %545 = getelementptr inbounds i8, ptr %541, i64 %544 - %546 = load float, ptr %545, align 4 - %547 = load ptr, ptr %531, align 8, !alias.scope !32 - %548 = getelementptr inbounds nuw i8, ptr %547, i64 8 - store float %546, ptr %548, align 4 - %549 = load ptr, ptr %527, align 8, !noalias !32 - %550 = load ptr, ptr %529, align 8, !noalias !32 - %551 = load i64, ptr %550, align 8 - %552 = getelementptr inbounds i8, ptr %549, i64 %551 - %553 = load float, ptr %552, align 4 - %554 = fneg float %553 - %555 = load ptr, ptr %531, align 8, !alias.scope !32 - %556 = load ptr, ptr %533, align 8, !alias.scope !32 - %557 = load i64, ptr %556, align 8 - %558 = getelementptr inbounds i8, ptr %555, i64 %557 - store float %554, ptr %558, align 4 - %559 = load ptr, ptr %527, align 8, !noalias !32 - %560 = load float, ptr %559, align 4 - %561 = load ptr, ptr %531, align 8, !alias.scope !32 - %562 = load ptr, ptr %533, align 8, !alias.scope !32 - %563 = load i64, ptr %562, align 8 - %564 = getelementptr inbounds i8, ptr %561, i64 %563 - %565 = getelementptr inbounds nuw i8, ptr %564, i64 4 - store float %560, ptr %565, align 4 - %566 = load ptr, ptr %527, align 8, !noalias !32 - %567 = load ptr, ptr %529, align 8, !noalias !32 - %568 = load i64, ptr %567, align 8 - %569 = mul i64 %568, 3 - %570 = getelementptr inbounds i8, ptr %566, i64 %569 - %571 = load float, ptr %570, align 4 - %572 = load ptr, ptr %531, align 8, !alias.scope !32 - %573 = load ptr, ptr %533, align 8, !alias.scope !32 - %574 = load i64, ptr %573, align 8 - %575 = getelementptr inbounds i8, ptr %572, i64 %574 - %576 = getelementptr inbounds nuw i8, ptr %575, i64 8 - store float %571, ptr %576, align 4 - br label %582 - -577: ; preds = %._crit_edge.i - %578 = landingpad { ptr, i32 } + store ptr %46, ptr %521, align 8, !noalias !32 + %523 = invoke noundef zeroext i1 @_ZN2cv5solveERKNS_11_InputArrayES2_RKNS_12_OutputArrayEi(ptr noundef nonnull align 8 dereferenceable(24) %47, ptr noundef nonnull align 8 dereferenceable(24) %48, ptr noundef nonnull align 8 dereferenceable(24) %49, i32 noundef 1) + to label %524 unwind label %575 + +524: ; preds = %._crit_edge.i + %525 = getelementptr inbounds nuw i8, ptr %46, i64 16 + %526 = load ptr, ptr %525, align 8, !noalias !32 + %527 = getelementptr inbounds nuw i8, ptr %46, i64 72 + %528 = load float, ptr %526, align 4 + %529 = getelementptr inbounds nuw i8, ptr %70, i64 16 + %530 = load ptr, ptr %529, align 8, !alias.scope !32 + %531 = getelementptr inbounds nuw i8, ptr %70, i64 72 + store float %528, ptr %530, align 4 + %532 = load ptr, ptr %525, align 8, !noalias !32 + %533 = load ptr, ptr %527, align 8, !noalias !32 + %534 = load i64, ptr %533, align 8 + %535 = getelementptr inbounds i8, ptr %532, i64 %534 + %536 = load float, ptr %535, align 4 + %537 = load ptr, ptr %529, align 8, !alias.scope !32 + %538 = getelementptr inbounds nuw i8, ptr %537, i64 4 + store float %536, ptr %538, align 4 + %539 = load ptr, ptr %525, align 8, !noalias !32 + %540 = load ptr, ptr %527, align 8, !noalias !32 + %541 = load i64, ptr %540, align 8 + %542 = shl i64 %541, 1 + %543 = getelementptr inbounds i8, ptr %539, i64 %542 + %544 = load float, ptr %543, align 4 + %545 = load ptr, ptr %529, align 8, !alias.scope !32 + %546 = getelementptr inbounds nuw i8, ptr %545, i64 8 + store float %544, ptr %546, align 4 + %547 = load ptr, ptr %525, align 8, !noalias !32 + %548 = load ptr, ptr %527, align 8, !noalias !32 + %549 = load i64, ptr %548, align 8 + %550 = getelementptr inbounds i8, ptr %547, i64 %549 + %551 = load float, ptr %550, align 4 + %552 = fneg float %551 + %553 = load ptr, ptr %529, align 8, !alias.scope !32 + %554 = load ptr, ptr %531, align 8, !alias.scope !32 + %555 = load i64, ptr %554, align 8 + %556 = getelementptr inbounds i8, ptr %553, i64 %555 + store float %552, ptr %556, align 4 + %557 = load ptr, ptr %525, align 8, !noalias !32 + %558 = load float, ptr %557, align 4 + %559 = load ptr, ptr %529, align 8, !alias.scope !32 + %560 = load ptr, ptr %531, align 8, !alias.scope !32 + %561 = load i64, ptr %560, align 8 + %562 = getelementptr inbounds i8, ptr %559, i64 %561 + %563 = getelementptr inbounds nuw i8, ptr %562, i64 4 + store float %558, ptr %563, align 4 + %564 = load ptr, ptr %525, align 8, !noalias !32 + %565 = load ptr, ptr %527, align 8, !noalias !32 + %566 = load i64, ptr %565, align 8 + %567 = mul i64 %566, 3 + %568 = getelementptr inbounds i8, ptr %564, i64 %567 + %569 = load float, ptr %568, align 4 + %570 = load ptr, ptr %529, align 8, !alias.scope !32 + %571 = load ptr, ptr %531, align 8, !alias.scope !32 + %572 = load i64, ptr %571, align 8 + %573 = getelementptr inbounds i8, ptr %570, i64 %572 + %574 = getelementptr inbounds nuw i8, ptr %573, i64 8 + store float %569, ptr %574, align 4 + br label %580 + +575: ; preds = %._crit_edge.i + %576 = landingpad { ptr, i32 } cleanup call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %46) #19 - br label %579 + br label %577 -579: ; preds = %577, %516, %476, %.body107.i - %.pn83.pn.pn.pn.i = phi { ptr, i32 } [ %.pn83.pn.pn.i, %516 ], [ %445, %.body107.i ], [ %477, %476 ], [ %578, %577 ] +577: ; preds = %575, %514, %474, %.body107.i + %.pn83.pn.pn.pn.i = phi { ptr, i32 } [ %.pn83.pn.pn.i, %514 ], [ %443, %.body107.i ], [ %475, %474 ], [ %576, %575 ] call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %37) #19 - br label %580 + br label %578 -580: ; preds = %579, %474 - %.pn83.pn.pn.pn.pn.i = phi { ptr, i32 } [ %.pn83.pn.pn.pn.i, %579 ], [ %475, %474 ] +578: ; preds = %577, %472 + %.pn83.pn.pn.pn.pn.i = phi { ptr, i32 } [ %.pn83.pn.pn.pn.i, %577 ], [ %473, %472 ] call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %36) #19 - br label %581 + br label %579 -581: ; preds = %580, %421, %358 - %.pn97.pn.pn.pn.pn.pn.i = phi { ptr, i32 } [ %.pn97.pn.pn.pn.pn.i, %421 ], [ %359, %358 ], [ %.pn83.pn.pn.pn.pn.i, %580 ] +579: ; preds = %578, %419, %356 + %.pn97.pn.pn.pn.pn.pn.i = phi { ptr, i32 } [ %.pn97.pn.pn.pn.pn.i, %419 ], [ %357, %356 ], [ %.pn83.pn.pn.pn.pn.i, %578 ] call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %70) #19 br label %.body -582: ; preds = %526, %412 - %.sink130.i = phi ptr [ %31, %412 ], [ %46, %526 ] - %.sink129.i = phi ptr [ %22, %412 ], [ %37, %526 ] - %.sink.i = phi ptr [ %21, %412 ], [ %36, %526 ] +580: ; preds = %524, %410 + %.sink130.i = phi ptr [ %31, %410 ], [ %46, %524 ] + %.sink129.i = phi ptr [ %22, %410 ], [ %37, %524 ] + %.sink.i = phi ptr [ %21, %410 ], [ %36, %524 ] call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %.sink130.i) #19 call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %.sink129.i) #19 call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %.sink.i) #19 @@ -1714,120 +1705,120 @@ _ZNK2cv7MatExprcvNS_3MatEEv.exit109.i: ; preds = %440 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %47) call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %48) call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %49) - %583 = invoke noundef nonnull align 8 dereferenceable(96) ptr @_ZN2cv3MataSEOS0_(ptr noundef nonnull align 8 dereferenceable(96) %61, ptr noundef nonnull align 8 dereferenceable(96) %70) - to label %584 unwind label %585 + %581 = invoke noundef nonnull align 8 dereferenceable(96) ptr @_ZN2cv3MataSEOS0_(ptr noundef nonnull align 8 dereferenceable(96) %61, ptr noundef nonnull align 8 dereferenceable(96) %70) + to label %582 unwind label %583 -584: ; preds = %582 +582: ; preds = %580 call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %70) #19 - br label %587 + br label %585 -585: ; preds = %582 - %586 = landingpad { ptr, i32 } +583: ; preds = %580 + %584 = landingpad { ptr, i32 } cleanup call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %70) #19 br label %.body -587: ; preds = %584, %295 - %588 = getelementptr inbounds nuw i8, ptr %0, i64 16 - %589 = invoke noundef nonnull align 8 dereferenceable(96) ptr @_ZN2cv3MataSERKS0_(ptr noundef nonnull align 8 dereferenceable(96) %588, ptr noundef nonnull align 8 dereferenceable(96) %61) - to label %590 unwind label %271 +585: ; preds = %582, %293 + %586 = getelementptr inbounds nuw i8, ptr %0, i64 16 + %587 = invoke noundef nonnull align 8 dereferenceable(96) ptr @_ZN2cv3MataSERKS0_(ptr noundef nonnull align 8 dereferenceable(96) %586, ptr noundef nonnull align 8 dereferenceable(96) %61) + to label %588 unwind label %269 -590: ; preds = %587 +588: ; preds = %585 call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %61) #19 - %591 = load ptr, ptr %60, align 8 - %.not.i.i.i97 = icmp eq ptr %591, null - br i1 %.not.i.i.i97, label %_ZNSt6vectorIN2cv6Point_IfEESaIS2_EED2Ev.exit, label %592 + %589 = load ptr, ptr %60, align 8 + %.not.i.i.i97 = icmp eq ptr %589, null + br i1 %.not.i.i.i97, label %_ZNSt6vectorIN2cv6Point_IfEESaIS2_EED2Ev.exit, label %590 -592: ; preds = %590 - call void @_ZdlPv(ptr noundef nonnull %591) #23 +590: ; preds = %588 + call void @_ZdlPv(ptr noundef nonnull %589) #23 br label %_ZNSt6vectorIN2cv6Point_IfEESaIS2_EED2Ev.exit -_ZNSt6vectorIN2cv6Point_IfEESaIS2_EED2Ev.exit: ; preds = %590, %592 - %593 = load ptr, ptr %59, align 8 - %.not.i.i.i98 = icmp eq ptr %593, null - br i1 %.not.i.i.i98, label %_ZNSt6vectorIN2cv6Point_IfEESaIS2_EED2Ev.exit99, label %594 +_ZNSt6vectorIN2cv6Point_IfEESaIS2_EED2Ev.exit: ; preds = %588, %590 + %591 = load ptr, ptr %59, align 8 + %.not.i.i.i98 = icmp eq ptr %591, null + br i1 %.not.i.i.i98, label %_ZNSt6vectorIN2cv6Point_IfEESaIS2_EED2Ev.exit99, label %592 -594: ; preds = %_ZNSt6vectorIN2cv6Point_IfEESaIS2_EED2Ev.exit - call void @_ZdlPv(ptr noundef nonnull %593) #23 +592: ; preds = %_ZNSt6vectorIN2cv6Point_IfEESaIS2_EED2Ev.exit + call void @_ZdlPv(ptr noundef nonnull %591) #23 br label %_ZNSt6vectorIN2cv6Point_IfEESaIS2_EED2Ev.exit99 -_ZNSt6vectorIN2cv6Point_IfEESaIS2_EED2Ev.exit99: ; preds = %_ZNSt6vectorIN2cv6Point_IfEESaIS2_EED2Ev.exit, %594 - %.not.i.i.i100 = icmp eq ptr %.sroa.0111.0.lcssa161, null - br i1 %.not.i.i.i100, label %_ZNSt6vectorIN2cv6DMatchESaIS1_EED2Ev.exit, label %595 +_ZNSt6vectorIN2cv6Point_IfEESaIS2_EED2Ev.exit99: ; preds = %_ZNSt6vectorIN2cv6Point_IfEESaIS2_EED2Ev.exit, %592 + %.not.i.i.i100 = icmp eq ptr %.sroa.0111.0.lcssa159, null + br i1 %.not.i.i.i100, label %_ZNSt6vectorIN2cv6DMatchESaIS1_EED2Ev.exit, label %593 -595: ; preds = %_ZNSt6vectorIN2cv6Point_IfEESaIS2_EED2Ev.exit99 - call void @_ZdlPv(ptr noundef nonnull %.sroa.0111.0.lcssa161) #23 +593: ; preds = %_ZNSt6vectorIN2cv6Point_IfEESaIS2_EED2Ev.exit99 + call void @_ZdlPv(ptr noundef nonnull %.sroa.0111.0.lcssa159) #23 br label %_ZNSt6vectorIN2cv6DMatchESaIS1_EED2Ev.exit -_ZNSt6vectorIN2cv6DMatchESaIS1_EED2Ev.exit: ; preds = %_ZNSt6vectorIN2cv6Point_IfEESaIS2_EED2Ev.exit99, %595 +_ZNSt6vectorIN2cv6DMatchESaIS1_EED2Ev.exit: ; preds = %_ZNSt6vectorIN2cv6Point_IfEESaIS2_EED2Ev.exit99, %593 call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %52) #19 call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %51) #19 - %596 = getelementptr inbounds nuw i8, ptr %50, i64 8 - %597 = load i32, ptr %596, align 8 - %.not.i101 = icmp eq i32 %597, 0 - br i1 %.not.i101, label %_ZN2cv5utils5trace7details6RegionD2Ev.exit, label %598 + %594 = getelementptr inbounds nuw i8, ptr %50, i64 8 + %595 = load i32, ptr %594, align 8 + %.not.i101 = icmp eq i32 %595, 0 + br i1 %.not.i101, label %_ZN2cv5utils5trace7details6RegionD2Ev.exit, label %596 -598: ; preds = %_ZNSt6vectorIN2cv6DMatchESaIS1_EED2Ev.exit +596: ; preds = %_ZNSt6vectorIN2cv6DMatchESaIS1_EED2Ev.exit invoke void @_ZN2cv5utils5trace7details6Region7destroyEv(ptr noundef nonnull align 8 dereferenceable(12) %50) - to label %_ZN2cv5utils5trace7details6RegionD2Ev.exit unwind label %599 + to label %_ZN2cv5utils5trace7details6RegionD2Ev.exit unwind label %597 -599: ; preds = %598 - %600 = landingpad { ptr, i32 } +597: ; preds = %596 + %598 = landingpad { ptr, i32 } catch ptr null - %601 = extractvalue { ptr, i32 } %600, 0 - call void @__clang_call_terminate(ptr %601) #21 + %599 = extractvalue { ptr, i32 } %598, 0 + call void @__clang_call_terminate(ptr %599) #21 unreachable -_ZN2cv5utils5trace7details6RegionD2Ev.exit: ; preds = %_ZNSt6vectorIN2cv6DMatchESaIS1_EED2Ev.exit, %598 +_ZN2cv5utils5trace7details6RegionD2Ev.exit: ; preds = %_ZNSt6vectorIN2cv6DMatchESaIS1_EED2Ev.exit, %596 ret void -.body: ; preds = %291, %289, %275, %273, %271, %581, %585 - %.pn51 = phi { ptr, i32 } [ %586, %585 ], [ %272, %271 ], [ %.pn97.pn.pn.pn.pn.pn.i, %581 ], [ %276, %275 ], [ %274, %273 ], [ %292, %291 ], [ %290, %289 ] +.body: ; preds = %289, %287, %273, %271, %269, %579, %583 + %.pn51 = phi { ptr, i32 } [ %584, %583 ], [ %270, %269 ], [ %.pn97.pn.pn.pn.pn.pn.i, %579 ], [ %274, %273 ], [ %272, %271 ], [ %290, %289 ], [ %288, %287 ] call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %61) #19 - br label %602 + br label %600 -602: ; preds = %.loopexit, %.loopexit.split-lp, %.body - %.sroa.0111.0.lcssa162 = phi ptr [ %.sroa.0111.0.lcssa161, %.body ], [ %.sroa.0111.1, %.loopexit ], [ %.sroa.0111.1, %.loopexit.split-lp ] +600: ; preds = %.loopexit, %.loopexit.split-lp, %.body + %.sroa.0111.0.lcssa160 = phi ptr [ %.sroa.0111.0.lcssa159, %.body ], [ %.sroa.0111.1, %.loopexit ], [ %.sroa.0111.1, %.loopexit.split-lp ] %.pn53 = phi { ptr, i32 } [ %.pn51, %.body ], [ %lpad.loopexit, %.loopexit ], [ %lpad.loopexit.split-lp, %.loopexit.split-lp ] - %603 = load ptr, ptr %60, align 8 - %.not.i.i.i102 = icmp eq ptr %603, null - br i1 %.not.i.i.i102, label %_ZNSt6vectorIN2cv6Point_IfEESaIS2_EED2Ev.exit103, label %604 + %601 = load ptr, ptr %60, align 8 + %.not.i.i.i102 = icmp eq ptr %601, null + br i1 %.not.i.i.i102, label %_ZNSt6vectorIN2cv6Point_IfEESaIS2_EED2Ev.exit103, label %602 -604: ; preds = %602 - call void @_ZdlPv(ptr noundef nonnull %603) #23 +602: ; preds = %600 + call void @_ZdlPv(ptr noundef nonnull %601) #23 br label %_ZNSt6vectorIN2cv6Point_IfEESaIS2_EED2Ev.exit103 -_ZNSt6vectorIN2cv6Point_IfEESaIS2_EED2Ev.exit103: ; preds = %602, %604 - %605 = load ptr, ptr %59, align 8 - %.not.i.i.i104 = icmp eq ptr %605, null - br i1 %.not.i.i.i104, label %_ZNSt6vectorIN2cv6Point_IfEESaIS2_EED2Ev.exit105, label %606 +_ZNSt6vectorIN2cv6Point_IfEESaIS2_EED2Ev.exit103: ; preds = %600, %602 + %603 = load ptr, ptr %59, align 8 + %.not.i.i.i104 = icmp eq ptr %603, null + br i1 %.not.i.i.i104, label %_ZNSt6vectorIN2cv6Point_IfEESaIS2_EED2Ev.exit105, label %604 -606: ; preds = %_ZNSt6vectorIN2cv6Point_IfEESaIS2_EED2Ev.exit103 - call void @_ZdlPv(ptr noundef nonnull %605) #23 +604: ; preds = %_ZNSt6vectorIN2cv6Point_IfEESaIS2_EED2Ev.exit103 + call void @_ZdlPv(ptr noundef nonnull %603) #23 br label %_ZNSt6vectorIN2cv6Point_IfEESaIS2_EED2Ev.exit105 -_ZNSt6vectorIN2cv6Point_IfEESaIS2_EED2Ev.exit105: ; preds = %.loopexit119, %.loopexit.split-lp120, %606, %_ZNSt6vectorIN2cv6Point_IfEESaIS2_EED2Ev.exit103 - %.sroa.0111.0128 = phi ptr [ %.sroa.0111.0.lcssa162, %_ZNSt6vectorIN2cv6Point_IfEESaIS2_EED2Ev.exit103 ], [ %.sroa.0111.0.lcssa162, %606 ], [ %.sroa.0111.0144, %.loopexit119 ], [ %.sroa.0111.0144, %.loopexit.split-lp120 ] - %.pn55 = phi { ptr, i32 } [ %.pn53, %_ZNSt6vectorIN2cv6Point_IfEESaIS2_EED2Ev.exit103 ], [ %.pn53, %606 ], [ %lpad.loopexit121, %.loopexit119 ], [ %lpad.loopexit.split-lp122, %.loopexit.split-lp120 ] +_ZNSt6vectorIN2cv6Point_IfEESaIS2_EED2Ev.exit105: ; preds = %.loopexit119, %.loopexit.split-lp120, %604, %_ZNSt6vectorIN2cv6Point_IfEESaIS2_EED2Ev.exit103 + %.sroa.0111.0128 = phi ptr [ %.sroa.0111.0.lcssa160, %_ZNSt6vectorIN2cv6Point_IfEESaIS2_EED2Ev.exit103 ], [ %.sroa.0111.0.lcssa160, %604 ], [ %.sroa.0111.0144, %.loopexit119 ], [ %.sroa.0111.0144, %.loopexit.split-lp120 ] + %.pn55 = phi { ptr, i32 } [ %.pn53, %_ZNSt6vectorIN2cv6Point_IfEESaIS2_EED2Ev.exit103 ], [ %.pn53, %604 ], [ %lpad.loopexit121, %.loopexit119 ], [ %lpad.loopexit.split-lp122, %.loopexit.split-lp120 ] %.not.i.i.i106 = icmp eq ptr %.sroa.0111.0128, null - br i1 %.not.i.i.i106, label %_ZNSt6vectorIN2cv6DMatchESaIS1_EED2Ev.exit107, label %607 + br i1 %.not.i.i.i106, label %_ZNSt6vectorIN2cv6DMatchESaIS1_EED2Ev.exit107, label %605 -607: ; preds = %_ZNSt6vectorIN2cv6Point_IfEESaIS2_EED2Ev.exit105 +605: ; preds = %_ZNSt6vectorIN2cv6Point_IfEESaIS2_EED2Ev.exit105 call void @_ZdlPv(ptr noundef nonnull %.sroa.0111.0128) #23 br label %_ZNSt6vectorIN2cv6DMatchESaIS1_EED2Ev.exit107 -_ZNSt6vectorIN2cv6DMatchESaIS1_EED2Ev.exit107: ; preds = %607, %_ZNSt6vectorIN2cv6Point_IfEESaIS2_EED2Ev.exit105, %137, %129, %123, %107 - %.pn55.pn = phi { ptr, i32 } [ %138, %137 ], [ %130, %129 ], [ %.pn40, %123 ], [ %.pn, %107 ], [ %.pn55, %_ZNSt6vectorIN2cv6Point_IfEESaIS2_EED2Ev.exit105 ], [ %.pn55, %607 ] +_ZNSt6vectorIN2cv6DMatchESaIS1_EED2Ev.exit107: ; preds = %605, %_ZNSt6vectorIN2cv6Point_IfEESaIS2_EED2Ev.exit105, %135, %127, %123, %107 + %.pn55.pn = phi { ptr, i32 } [ %136, %135 ], [ %128, %127 ], [ %.pn40, %123 ], [ %.pn, %107 ], [ %.pn55, %_ZNSt6vectorIN2cv6Point_IfEESaIS2_EED2Ev.exit105 ], [ %.pn55, %605 ] call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %52) #19 - br label %608 + br label %606 -608: ; preds = %_ZNSt6vectorIN2cv6DMatchESaIS1_EED2Ev.exit107, %98 +606: ; preds = %_ZNSt6vectorIN2cv6DMatchESaIS1_EED2Ev.exit107, %98 %.pn55.pn.pn = phi { ptr, i32 } [ %.pn55.pn, %_ZNSt6vectorIN2cv6DMatchESaIS1_EED2Ev.exit107 ], [ %99, %98 ] call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %51) #19 - br label %609 + br label %607 -609: ; preds = %608, %96 - %.pn55.pn.pn.pn = phi { ptr, i32 } [ %.pn55.pn.pn, %608 ], [ %97, %96 ] +607: ; preds = %606, %96 + %.pn55.pn.pn.pn = phi { ptr, i32 } [ %.pn55.pn.pn, %606 ], [ %97, %96 ] call void @_ZN2cv5utils5trace7details6RegionD2Ev(ptr noundef nonnull align 8 dereferenceable(12) %50) #19 resume { ptr, i32 } %.pn55.pn.pn.pn } diff --git a/bench/opencv/optimized/tps_trans.cpp.ll b/bench/opencv/optimized/tps_trans.cpp.ll index 4662c5e0fff..d1f1af9db58 100644 --- a/bench/opencv/optimized/tps_trans.cpp.ll +++ b/bench/opencv/optimized/tps_trans.cpp.ll @@ -952,12 +952,12 @@ _ZNK2cv11_InputArray6getMatEi.exit116: ; preds = %52, %55 69: ; preds = %49, %46, %4 %70 = landingpad { ptr, i32 } cleanup - br label %462 + br label %460 71: ; preds = %55, %52, %_ZNK2cv11_InputArray6getMatEi.exit %72 = landingpad { ptr, i32 } cleanup - br label %461 + br label %459 73: ; preds = %62, %_ZNK2cv11_InputArray6getMatEi.exit116 call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %9) #19 @@ -1026,724 +1026,715 @@ _ZNK2cv11_InputArray6getMatEi.exit116: ; preds = %52, %55 br label %_ZNSt6vectorIN2cv6DMatchESaIS1_EED2Ev.exit128 97: ; preds = %81 - %98 = and i32 %56, 15 - %.not = icmp eq i32 %98, 5 - br i1 %.not, label %104, label %99 - -99: ; preds = %97 - %100 = getelementptr inbounds nuw i8, ptr %12, i64 8 - %101 = getelementptr inbounds nuw i8, ptr %12, i64 16 - store i64 0, ptr %101, align 8 + %98 = getelementptr inbounds nuw i8, ptr %12, i64 8 + %99 = getelementptr inbounds nuw i8, ptr %12, i64 16 + store i64 0, ptr %99, align 8 store i32 33619968, ptr %12, align 8 - store ptr %6, ptr %100, align 8 + store ptr %6, ptr %98, align 8 invoke void @_ZNK2cv3Mat9convertToERKNS_12_OutputArrayEidd(ptr noundef nonnull align 8 dereferenceable(96) %6, ptr noundef nonnull align 8 dereferenceable(24) %12, i32 noundef 5, double noundef 1.000000e+00, double noundef 0.000000e+00) - to label %._crit_edge226 unwind label %102 - -._crit_edge226: ; preds = %99 - %.pre = load i32, ptr %7, align 8 - br label %104 + to label %102 unwind label %100 -102: ; preds = %99 - %103 = landingpad { ptr, i32 } +100: ; preds = %97 + %101 = landingpad { ptr, i32 } cleanup br label %_ZNSt6vectorIN2cv6DMatchESaIS1_EED2Ev.exit128 -104: ; preds = %._crit_edge226, %97 - %105 = phi i32 [ %.pre, %._crit_edge226 ], [ %63, %97 ] - %106 = and i32 %105, 4095 - %.not87 = icmp eq i32 %106, 5 - br i1 %.not87, label %112, label %107 +102: ; preds = %97 + %103 = load i32, ptr %7, align 8 + %104 = and i32 %103, 4095 + %.not87 = icmp eq i32 %104, 5 + br i1 %.not87, label %110, label %105 -107: ; preds = %104 - %108 = getelementptr inbounds nuw i8, ptr %13, i64 8 - %109 = getelementptr inbounds nuw i8, ptr %13, i64 16 - store i64 0, ptr %109, align 8 +105: ; preds = %102 + %106 = getelementptr inbounds nuw i8, ptr %13, i64 8 + %107 = getelementptr inbounds nuw i8, ptr %13, i64 16 + store i64 0, ptr %107, align 8 store i32 33619968, ptr %13, align 8 - store ptr %7, ptr %108, align 8 + store ptr %7, ptr %106, align 8 invoke void @_ZNK2cv3Mat9convertToERKNS_12_OutputArrayEidd(ptr noundef nonnull align 8 dereferenceable(96) %7, ptr noundef nonnull align 8 dereferenceable(24) %13, i32 noundef 5, double noundef 1.000000e+00, double noundef 0.000000e+00) - to label %112 unwind label %110 + to label %110 unwind label %108 -110: ; preds = %107 - %111 = landingpad { ptr, i32 } +108: ; preds = %105 + %109 = landingpad { ptr, i32 } cleanup br label %_ZNSt6vectorIN2cv6DMatchESaIS1_EED2Ev.exit128 -112: ; preds = %107, %104 - %113 = load ptr, ptr %82, align 8 - %114 = load ptr, ptr %3, align 8 - %.not207 = icmp eq ptr %113, %114 - br i1 %.not207, label %._crit_edge, label %.lr.ph - -.lr.ph: ; preds = %112, %_ZNSt6vectorIN2cv6DMatchESaIS1_EE9push_backERKS1_.exit - %115 = phi ptr [ %149, %_ZNSt6vectorIN2cv6DMatchESaIS1_EE9push_backERKS1_.exit ], [ %114, %112 ] - %.081194 = phi i64 [ %147, %_ZNSt6vectorIN2cv6DMatchESaIS1_EE9push_backERKS1_.exit ], [ 0, %112 ] - %.sroa.45.0193 = phi ptr [ %.sroa.45.1, %_ZNSt6vectorIN2cv6DMatchESaIS1_EE9push_backERKS1_.exit ], [ null, %112 ] - %.sroa.24.0192 = phi ptr [ %.sroa.24.1, %_ZNSt6vectorIN2cv6DMatchESaIS1_EE9push_backERKS1_.exit ], [ null, %112 ] - %.sroa.0132.0191 = phi ptr [ %.sroa.0132.1, %_ZNSt6vectorIN2cv6DMatchESaIS1_EE9push_backERKS1_.exit ], [ null, %112 ] - %116 = getelementptr inbounds %"class.cv::DMatch", ptr %115, i64 %.081194 - %117 = load i32, ptr %116, align 4 - %118 = load i32, ptr %59, align 4 - %119 = icmp slt i32 %117, %118 - br i1 %119, label %120, label %_ZNSt6vectorIN2cv6DMatchESaIS1_EE9push_backERKS1_.exit - -120: ; preds = %.lr.ph - %121 = getelementptr inbounds nuw i8, ptr %116, i64 4 - %122 = load i32, ptr %121, align 4 - %123 = load i32, ptr %66, align 4 - %124 = icmp slt i32 %122, %123 - br i1 %124, label %125, label %_ZNSt6vectorIN2cv6DMatchESaIS1_EE9push_backERKS1_.exit - -125: ; preds = %120 +110: ; preds = %105, %102 + %111 = load ptr, ptr %82, align 8 + %112 = load ptr, ptr %3, align 8 + %.not = icmp eq ptr %111, %112 + br i1 %.not, label %._crit_edge, label %.lr.ph + +.lr.ph: ; preds = %110, %_ZNSt6vectorIN2cv6DMatchESaIS1_EE9push_backERKS1_.exit + %113 = phi ptr [ %147, %_ZNSt6vectorIN2cv6DMatchESaIS1_EE9push_backERKS1_.exit ], [ %112, %110 ] + %.081194 = phi i64 [ %145, %_ZNSt6vectorIN2cv6DMatchESaIS1_EE9push_backERKS1_.exit ], [ 0, %110 ] + %.sroa.45.0193 = phi ptr [ %.sroa.45.1, %_ZNSt6vectorIN2cv6DMatchESaIS1_EE9push_backERKS1_.exit ], [ null, %110 ] + %.sroa.24.0192 = phi ptr [ %.sroa.24.1, %_ZNSt6vectorIN2cv6DMatchESaIS1_EE9push_backERKS1_.exit ], [ null, %110 ] + %.sroa.0132.0191 = phi ptr [ %.sroa.0132.1, %_ZNSt6vectorIN2cv6DMatchESaIS1_EE9push_backERKS1_.exit ], [ null, %110 ] + %114 = getelementptr inbounds %"class.cv::DMatch", ptr %113, i64 %.081194 + %115 = load i32, ptr %114, align 4 + %116 = load i32, ptr %59, align 4 + %117 = icmp slt i32 %115, %116 + br i1 %117, label %118, label %_ZNSt6vectorIN2cv6DMatchESaIS1_EE9push_backERKS1_.exit + +118: ; preds = %.lr.ph + %119 = getelementptr inbounds nuw i8, ptr %114, i64 4 + %120 = load i32, ptr %119, align 4 + %121 = load i32, ptr %66, align 4 + %122 = icmp slt i32 %120, %121 + br i1 %122, label %123, label %_ZNSt6vectorIN2cv6DMatchESaIS1_EE9push_backERKS1_.exit + +123: ; preds = %118 %.not.i = icmp eq ptr %.sroa.24.0192, %.sroa.45.0193 - br i1 %.not.i, label %128, label %126 + br i1 %.not.i, label %126, label %124 -126: ; preds = %125 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(16) %.sroa.24.0192, ptr noundef nonnull align 4 dereferenceable(16) %116, i64 16, i1 false) - %127 = getelementptr inbounds nuw i8, ptr %.sroa.24.0192, i64 16 +124: ; preds = %123 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(16) %.sroa.24.0192, ptr noundef nonnull align 4 dereferenceable(16) %114, i64 16, i1 false) + %125 = getelementptr inbounds nuw i8, ptr %.sroa.24.0192, i64 16 br label %_ZNSt6vectorIN2cv6DMatchESaIS1_EE9push_backERKS1_.exit -128: ; preds = %125 - %129 = ptrtoint ptr %.sroa.45.0193 to i64 - %130 = ptrtoint ptr %.sroa.0132.0191 to i64 - %131 = sub i64 %129, %130 - %132 = icmp eq i64 %131, 9223372036854775792 - br i1 %132, label %133, label %_ZNKSt6vectorIN2cv6DMatchESaIS1_EE12_M_check_lenEmPKc.exit.i.i +126: ; preds = %123 + %127 = ptrtoint ptr %.sroa.45.0193 to i64 + %128 = ptrtoint ptr %.sroa.0132.0191 to i64 + %129 = sub i64 %127, %128 + %130 = icmp eq i64 %129, 9223372036854775792 + br i1 %130, label %131, label %_ZNKSt6vectorIN2cv6DMatchESaIS1_EE12_M_check_lenEmPKc.exit.i.i -133: ; preds = %128 +131: ; preds = %126 invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.15) #20 to label %.noexc117 unwind label %.loopexit.split-lp -.noexc117: ; preds = %133 +.noexc117: ; preds = %131 unreachable -_ZNKSt6vectorIN2cv6DMatchESaIS1_EE12_M_check_lenEmPKc.exit.i.i: ; preds = %128 - %134 = ashr exact i64 %131, 4 - %.sroa.speculated.i.i.i = call i64 @llvm.umax.i64(i64 %134, i64 1) - %135 = add nsw i64 %.sroa.speculated.i.i.i, %134 - %136 = icmp ult i64 %135, %134 - %137 = call i64 @llvm.umin.i64(i64 %135, i64 576460752303423487) - %138 = select i1 %136, i64 576460752303423487, i64 %137 - %.not.i.i.i = icmp ne i64 %138, 0 +_ZNKSt6vectorIN2cv6DMatchESaIS1_EE12_M_check_lenEmPKc.exit.i.i: ; preds = %126 + %132 = ashr exact i64 %129, 4 + %.sroa.speculated.i.i.i = call i64 @llvm.umax.i64(i64 %132, i64 1) + %133 = add nsw i64 %.sroa.speculated.i.i.i, %132 + %134 = icmp ult i64 %133, %132 + %135 = call i64 @llvm.umin.i64(i64 %133, i64 576460752303423487) + %136 = select i1 %134, i64 576460752303423487, i64 %135 + %.not.i.i.i = icmp ne i64 %136, 0 call void @llvm.assume(i1 %.not.i.i.i) - %139 = shl nuw nsw i64 %138, 4 - %140 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %139) #22 + %137 = shl nuw nsw i64 %136, 4 + %138 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %137) #22 to label %.noexc118 unwind label %.loopexit .noexc118: ; preds = %_ZNKSt6vectorIN2cv6DMatchESaIS1_EE12_M_check_lenEmPKc.exit.i.i - %141 = getelementptr inbounds i8, ptr %140, i64 %131 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(16) %141, ptr noundef nonnull align 4 dereferenceable(16) %116, i64 16, i1 false) + %139 = getelementptr inbounds i8, ptr %138, i64 %129 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(16) %139, ptr noundef nonnull align 4 dereferenceable(16) %114, i64 16, i1 false) %.not10.i.i.i.i.i.i = icmp eq ptr %.sroa.0132.0191, %.sroa.45.0193 br i1 %.not10.i.i.i.i.i.i, label %_ZNSt6vectorIN2cv6DMatchESaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit22.i.i, label %.lr.ph.i.i.i.i.i.i .lr.ph.i.i.i.i.i.i: ; preds = %.noexc118, %.lr.ph.i.i.i.i.i.i - %.012.i.i.i.i.i.i = phi ptr [ %143, %.lr.ph.i.i.i.i.i.i ], [ %140, %.noexc118 ] - %.0911.i.i.i.i.i.i = phi ptr [ %142, %.lr.ph.i.i.i.i.i.i ], [ %.sroa.0132.0191, %.noexc118 ] + %.012.i.i.i.i.i.i = phi ptr [ %141, %.lr.ph.i.i.i.i.i.i ], [ %138, %.noexc118 ] + %.0911.i.i.i.i.i.i = phi ptr [ %140, %.lr.ph.i.i.i.i.i.i ], [ %.sroa.0132.0191, %.noexc118 ] call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(16) %.012.i.i.i.i.i.i, ptr noundef nonnull align 4 dereferenceable(16) %.0911.i.i.i.i.i.i, i64 16, i1 false), !alias.scope !27 - %142 = getelementptr inbounds nuw i8, ptr %.0911.i.i.i.i.i.i, i64 16 - %143 = getelementptr inbounds nuw i8, ptr %.012.i.i.i.i.i.i, i64 16 - %.not.i.i.i.i.i.i = icmp eq ptr %142, %.sroa.45.0193 + %140 = getelementptr inbounds nuw i8, ptr %.0911.i.i.i.i.i.i, i64 16 + %141 = getelementptr inbounds nuw i8, ptr %.012.i.i.i.i.i.i, i64 16 + %.not.i.i.i.i.i.i = icmp eq ptr %140, %.sroa.45.0193 br i1 %.not.i.i.i.i.i.i, label %_ZNSt6vectorIN2cv6DMatchESaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit22.i.i, label %.lr.ph.i.i.i.i.i.i, !llvm.loop !31 _ZNSt6vectorIN2cv6DMatchESaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit22.i.i: ; preds = %.lr.ph.i.i.i.i.i.i, %.noexc118 - %.0.lcssa.i.i.i.i.i.i = phi ptr [ %140, %.noexc118 ], [ %143, %.lr.ph.i.i.i.i.i.i ] - %144 = getelementptr inbounds nuw i8, ptr %.0.lcssa.i.i.i.i.i.i, i64 16 + %.0.lcssa.i.i.i.i.i.i = phi ptr [ %138, %.noexc118 ], [ %141, %.lr.ph.i.i.i.i.i.i ] + %142 = getelementptr inbounds nuw i8, ptr %.0.lcssa.i.i.i.i.i.i, i64 16 %.not.i23.i.i = icmp eq ptr %.sroa.0132.0191, null - br i1 %.not.i23.i.i, label %_ZNSt6vectorIN2cv6DMatchESaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i, label %145 + br i1 %.not.i23.i.i, label %_ZNSt6vectorIN2cv6DMatchESaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i, label %143 -145: ; preds = %_ZNSt6vectorIN2cv6DMatchESaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit22.i.i +143: ; preds = %_ZNSt6vectorIN2cv6DMatchESaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit22.i.i call void @_ZdlPv(ptr noundef nonnull %.sroa.0132.0191) #23 br label %_ZNSt6vectorIN2cv6DMatchESaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i -_ZNSt6vectorIN2cv6DMatchESaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i: ; preds = %145, %_ZNSt6vectorIN2cv6DMatchESaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit22.i.i - %146 = getelementptr inbounds nuw %"class.cv::DMatch", ptr %140, i64 %138 +_ZNSt6vectorIN2cv6DMatchESaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i: ; preds = %143, %_ZNSt6vectorIN2cv6DMatchESaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit22.i.i + %144 = getelementptr inbounds nuw %"class.cv::DMatch", ptr %138, i64 %136 br label %_ZNSt6vectorIN2cv6DMatchESaIS1_EE9push_backERKS1_.exit .loopexit: ; preds = %_ZNKSt6vectorIN2cv6DMatchESaIS1_EE12_M_check_lenEmPKc.exit.i.i %lpad.loopexit = landingpad { ptr, i32 } cleanup - br label %459 + br label %457 -.loopexit.split-lp: ; preds = %._crit_edge, %133 - %.sroa.0132.0190 = phi ptr [ %.sroa.0132.0.lcssa, %._crit_edge ], [ %.sroa.0132.0191, %133 ] +.loopexit.split-lp: ; preds = %._crit_edge, %131 + %.sroa.0132.0190 = phi ptr [ %.sroa.0132.0.lcssa, %._crit_edge ], [ %.sroa.0132.0191, %131 ] %lpad.loopexit.split-lp = landingpad { ptr, i32 } cleanup - br label %459 + br label %457 -_ZNSt6vectorIN2cv6DMatchESaIS1_EE9push_backERKS1_.exit: ; preds = %_ZNSt6vectorIN2cv6DMatchESaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i, %126, %.lr.ph, %120 - %.sroa.0132.1 = phi ptr [ %.sroa.0132.0191, %120 ], [ %.sroa.0132.0191, %.lr.ph ], [ %140, %_ZNSt6vectorIN2cv6DMatchESaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i ], [ %.sroa.0132.0191, %126 ] - %.sroa.24.1 = phi ptr [ %.sroa.24.0192, %120 ], [ %.sroa.24.0192, %.lr.ph ], [ %144, %_ZNSt6vectorIN2cv6DMatchESaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i ], [ %127, %126 ] - %.sroa.45.1 = phi ptr [ %.sroa.45.0193, %120 ], [ %.sroa.45.0193, %.lr.ph ], [ %146, %_ZNSt6vectorIN2cv6DMatchESaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i ], [ %.sroa.45.0193, %126 ] - %147 = add nuw i64 %.081194, 1 - %148 = load ptr, ptr %82, align 8 - %149 = load ptr, ptr %3, align 8 - %150 = ptrtoint ptr %148 to i64 - %151 = ptrtoint ptr %149 to i64 - %152 = sub i64 %150, %151 - %153 = ashr exact i64 %152, 4 - %154 = icmp ult i64 %147, %153 - br i1 %154, label %.lr.ph, label %._crit_edge.loopexit, !llvm.loop !32 +_ZNSt6vectorIN2cv6DMatchESaIS1_EE9push_backERKS1_.exit: ; preds = %_ZNSt6vectorIN2cv6DMatchESaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i, %124, %.lr.ph, %118 + %.sroa.0132.1 = phi ptr [ %.sroa.0132.0191, %118 ], [ %.sroa.0132.0191, %.lr.ph ], [ %138, %_ZNSt6vectorIN2cv6DMatchESaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i ], [ %.sroa.0132.0191, %124 ] + %.sroa.24.1 = phi ptr [ %.sroa.24.0192, %118 ], [ %.sroa.24.0192, %.lr.ph ], [ %142, %_ZNSt6vectorIN2cv6DMatchESaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i ], [ %125, %124 ] + %.sroa.45.1 = phi ptr [ %.sroa.45.0193, %118 ], [ %.sroa.45.0193, %.lr.ph ], [ %144, %_ZNSt6vectorIN2cv6DMatchESaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i ], [ %.sroa.45.0193, %124 ] + %145 = add nuw i64 %.081194, 1 + %146 = load ptr, ptr %82, align 8 + %147 = load ptr, ptr %3, align 8 + %148 = ptrtoint ptr %146 to i64 + %149 = ptrtoint ptr %147 to i64 + %150 = sub i64 %148, %149 + %151 = ashr exact i64 %150, 4 + %152 = icmp ult i64 %145, %151 + br i1 %152, label %.lr.ph, label %._crit_edge.loopexit, !llvm.loop !32 ._crit_edge.loopexit: ; preds = %_ZNSt6vectorIN2cv6DMatchESaIS1_EE9push_backERKS1_.exit - %155 = ptrtoint ptr %.sroa.24.1 to i64 + %153 = ptrtoint ptr %.sroa.24.1 to i64 br label %._crit_edge -._crit_edge: ; preds = %._crit_edge.loopexit, %112 - %.sroa.0132.0.lcssa = phi ptr [ null, %112 ], [ %.sroa.0132.1, %._crit_edge.loopexit ] - %.sroa.24.0.lcssa = phi i64 [ 0, %112 ], [ %155, %._crit_edge.loopexit ] - %156 = ptrtoint ptr %.sroa.0132.0.lcssa to i64 - %157 = sub i64 %.sroa.24.0.lcssa, %156 - %158 = lshr exact i64 %157, 4 - %159 = trunc i64 %158 to i32 - invoke void @_ZN2cv3MatC1Eiii(ptr noundef nonnull align 8 dereferenceable(96) %14, i32 noundef %159, i32 noundef 2, i32 noundef 5) - to label %160 unwind label %.loopexit.split-lp +._crit_edge: ; preds = %._crit_edge.loopexit, %110 + %.sroa.0132.0.lcssa = phi ptr [ null, %110 ], [ %.sroa.0132.1, %._crit_edge.loopexit ] + %.sroa.24.0.lcssa = phi i64 [ 0, %110 ], [ %153, %._crit_edge.loopexit ] + %154 = ptrtoint ptr %.sroa.0132.0.lcssa to i64 + %155 = sub i64 %.sroa.24.0.lcssa, %154 + %156 = lshr exact i64 %155, 4 + %157 = trunc i64 %156 to i32 + invoke void @_ZN2cv3MatC1Eiii(ptr noundef nonnull align 8 dereferenceable(96) %14, i32 noundef %157, i32 noundef 2, i32 noundef 5) + to label %158 unwind label %.loopexit.split-lp -160: ; preds = %._crit_edge - invoke void @_ZN2cv3MatC1Eiii(ptr noundef nonnull align 8 dereferenceable(96) %15, i32 noundef %159, i32 noundef 2, i32 noundef 5) - to label %.preheader173 unwind label %201 +158: ; preds = %._crit_edge + invoke void @_ZN2cv3MatC1Eiii(ptr noundef nonnull align 8 dereferenceable(96) %15, i32 noundef %157, i32 noundef 2, i32 noundef 5) + to label %.preheader173 unwind label %199 -.preheader173: ; preds = %160 - %161 = icmp sgt i32 %159, 0 - br i1 %161, label %.lr.ph197, label %._crit_edge198 +.preheader173: ; preds = %158 + %159 = icmp sgt i32 %157, 0 + br i1 %159, label %.lr.ph197, label %._crit_edge198 .lr.ph197: ; preds = %.preheader173 - %162 = getelementptr inbounds nuw i8, ptr %6, i64 16 - %163 = getelementptr inbounds nuw i8, ptr %14, i64 16 - %164 = getelementptr inbounds nuw i8, ptr %14, i64 72 - %165 = getelementptr inbounds nuw i8, ptr %7, i64 16 - %166 = getelementptr inbounds nuw i8, ptr %15, i64 16 - %167 = getelementptr inbounds nuw i8, ptr %15, i64 72 - %wide.trip.count = and i64 %158, 2147483647 - br label %168 - -168: ; preds = %.lr.ph197, %168 - %indvars.iv = phi i64 [ 0, %.lr.ph197 ], [ %indvars.iv.next, %168 ] - %169 = getelementptr inbounds nuw %"class.cv::DMatch", ptr %.sroa.0132.0.lcssa, i64 %indvars.iv - %170 = load i32, ptr %169, align 4 - %171 = load ptr, ptr %162, align 8 - %172 = sext i32 %170 to i64 - %173 = getelementptr inbounds %"class.cv::Point_", ptr %171, i64 %172 - %.sroa.033.0.copyload = load float, ptr %173, align 4 - %.sroa.234.0..sroa_idx = getelementptr inbounds nuw i8, ptr %173, i64 4 + %160 = getelementptr inbounds nuw i8, ptr %6, i64 16 + %161 = getelementptr inbounds nuw i8, ptr %14, i64 16 + %162 = getelementptr inbounds nuw i8, ptr %14, i64 72 + %163 = getelementptr inbounds nuw i8, ptr %7, i64 16 + %164 = getelementptr inbounds nuw i8, ptr %15, i64 16 + %165 = getelementptr inbounds nuw i8, ptr %15, i64 72 + %wide.trip.count = and i64 %156, 2147483647 + br label %166 + +166: ; preds = %.lr.ph197, %166 + %indvars.iv = phi i64 [ 0, %.lr.ph197 ], [ %indvars.iv.next, %166 ] + %167 = getelementptr inbounds nuw %"class.cv::DMatch", ptr %.sroa.0132.0.lcssa, i64 %indvars.iv + %168 = load i32, ptr %167, align 4 + %169 = load ptr, ptr %160, align 8 + %170 = sext i32 %168 to i64 + %171 = getelementptr inbounds %"class.cv::Point_", ptr %169, i64 %170 + %.sroa.033.0.copyload = load float, ptr %171, align 4 + %.sroa.234.0..sroa_idx = getelementptr inbounds nuw i8, ptr %171, i64 4 %.sroa.234.0.copyload = load float, ptr %.sroa.234.0..sroa_idx, align 4 - %174 = load ptr, ptr %163, align 8 - %175 = load ptr, ptr %164, align 8 - %176 = load i64, ptr %175, align 8 - %177 = mul i64 %176, %indvars.iv - %178 = getelementptr inbounds i8, ptr %174, i64 %177 - store float %.sroa.033.0.copyload, ptr %178, align 4 - %179 = load ptr, ptr %163, align 8 - %180 = load ptr, ptr %164, align 8 - %181 = load i64, ptr %180, align 8 - %182 = mul i64 %181, %indvars.iv - %183 = getelementptr inbounds i8, ptr %179, i64 %182 - %184 = getelementptr inbounds nuw i8, ptr %183, i64 4 - store float %.sroa.234.0.copyload, ptr %184, align 4 - %185 = getelementptr inbounds nuw i8, ptr %169, i64 4 - %186 = load i32, ptr %185, align 4 - %187 = load ptr, ptr %165, align 8 - %188 = sext i32 %186 to i64 - %189 = getelementptr inbounds %"class.cv::Point_", ptr %187, i64 %188 - %.sroa.0.0.copyload = load float, ptr %189, align 4 - %.sroa.2.0..sroa_idx = getelementptr inbounds nuw i8, ptr %189, i64 4 + %172 = load ptr, ptr %161, align 8 + %173 = load ptr, ptr %162, align 8 + %174 = load i64, ptr %173, align 8 + %175 = mul i64 %174, %indvars.iv + %176 = getelementptr inbounds i8, ptr %172, i64 %175 + store float %.sroa.033.0.copyload, ptr %176, align 4 + %177 = load ptr, ptr %161, align 8 + %178 = load ptr, ptr %162, align 8 + %179 = load i64, ptr %178, align 8 + %180 = mul i64 %179, %indvars.iv + %181 = getelementptr inbounds i8, ptr %177, i64 %180 + %182 = getelementptr inbounds nuw i8, ptr %181, i64 4 + store float %.sroa.234.0.copyload, ptr %182, align 4 + %183 = getelementptr inbounds nuw i8, ptr %167, i64 4 + %184 = load i32, ptr %183, align 4 + %185 = load ptr, ptr %163, align 8 + %186 = sext i32 %184 to i64 + %187 = getelementptr inbounds %"class.cv::Point_", ptr %185, i64 %186 + %.sroa.0.0.copyload = load float, ptr %187, align 4 + %.sroa.2.0..sroa_idx = getelementptr inbounds nuw i8, ptr %187, i64 4 %.sroa.2.0.copyload = load float, ptr %.sroa.2.0..sroa_idx, align 4 - %190 = load ptr, ptr %166, align 8 - %191 = load ptr, ptr %167, align 8 - %192 = load i64, ptr %191, align 8 - %193 = mul i64 %192, %indvars.iv - %194 = getelementptr inbounds i8, ptr %190, i64 %193 - store float %.sroa.0.0.copyload, ptr %194, align 4 - %195 = load ptr, ptr %166, align 8 - %196 = load ptr, ptr %167, align 8 - %197 = load i64, ptr %196, align 8 - %198 = mul i64 %197, %indvars.iv - %199 = getelementptr inbounds i8, ptr %195, i64 %198 - %200 = getelementptr inbounds nuw i8, ptr %199, i64 4 - store float %.sroa.2.0.copyload, ptr %200, align 4 + %188 = load ptr, ptr %164, align 8 + %189 = load ptr, ptr %165, align 8 + %190 = load i64, ptr %189, align 8 + %191 = mul i64 %190, %indvars.iv + %192 = getelementptr inbounds i8, ptr %188, i64 %191 + store float %.sroa.0.0.copyload, ptr %192, align 4 + %193 = load ptr, ptr %164, align 8 + %194 = load ptr, ptr %165, align 8 + %195 = load i64, ptr %194, align 8 + %196 = mul i64 %195, %indvars.iv + %197 = getelementptr inbounds i8, ptr %193, i64 %196 + %198 = getelementptr inbounds nuw i8, ptr %197, i64 4 + store float %.sroa.2.0.copyload, ptr %198, align 4 %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 %exitcond.not = icmp eq i64 %indvars.iv.next, %wide.trip.count - br i1 %exitcond.not, label %._crit_edge198, label %168, !llvm.loop !33 + br i1 %exitcond.not, label %._crit_edge198, label %166, !llvm.loop !33 -201: ; preds = %160 - %202 = landingpad { ptr, i32 } +199: ; preds = %158 + %200 = landingpad { ptr, i32 } cleanup - br label %458 + br label %456 -203: ; preds = %208 - %204 = landingpad { ptr, i32 } +201: ; preds = %206 + %202 = landingpad { ptr, i32 } cleanup - br label %457 + br label %455 -._crit_edge198: ; preds = %168, %.preheader173 - %205 = getelementptr inbounds nuw i8, ptr %0, i64 128 - %206 = getelementptr inbounds nuw i8, ptr %16, i64 8 - %207 = getelementptr inbounds nuw i8, ptr %16, i64 16 - store i64 0, ptr %207, align 8 +._crit_edge198: ; preds = %166, %.preheader173 + %203 = getelementptr inbounds nuw i8, ptr %0, i64 128 + %204 = getelementptr inbounds nuw i8, ptr %16, i64 8 + %205 = getelementptr inbounds nuw i8, ptr %16, i64 16 + store i64 0, ptr %205, align 8 store i32 33619968, ptr %16, align 8 - store ptr %205, ptr %206, align 8 + store ptr %203, ptr %204, align 8 invoke void @_ZNK2cv3Mat6copyToERKNS_12_OutputArrayE(ptr noundef nonnull align 8 dereferenceable(96) %14, ptr noundef nonnull align 8 dereferenceable(24) %16) - to label %208 unwind label %222 + to label %206 unwind label %220 -208: ; preds = %._crit_edge198 - invoke void @_ZN2cv3MatC1Eiii(ptr noundef nonnull align 8 dereferenceable(96) %17, i32 noundef %159, i32 noundef %159, i32 noundef 5) - to label %209 unwind label %203 +206: ; preds = %._crit_edge198 + invoke void @_ZN2cv3MatC1Eiii(ptr noundef nonnull align 8 dereferenceable(96) %17, i32 noundef %157, i32 noundef %157, i32 noundef 5) + to label %207 unwind label %201 -209: ; preds = %208 - invoke void @_ZN2cv3MatC1Eiii(ptr noundef nonnull align 8 dereferenceable(96) %18, i32 noundef %159, i32 noundef 3, i32 noundef 5) - to label %.preheader172 unwind label %224 +207: ; preds = %206 + invoke void @_ZN2cv3MatC1Eiii(ptr noundef nonnull align 8 dereferenceable(96) %18, i32 noundef %157, i32 noundef 3, i32 noundef 5) + to label %.preheader172 unwind label %222 -.preheader172: ; preds = %209 - br i1 %161, label %.preheader.lr.ph, label %._crit_edge203 +.preheader172: ; preds = %207 + br i1 %159, label %.preheader.lr.ph, label %._crit_edge203 .preheader.lr.ph: ; preds = %.preheader172 - %210 = getelementptr inbounds nuw i8, ptr %14, i64 16 - %211 = getelementptr inbounds nuw i8, ptr %14, i64 72 - %212 = getelementptr inbounds nuw i8, ptr %17, i64 16 - %213 = getelementptr inbounds nuw i8, ptr %17, i64 72 - %214 = getelementptr inbounds nuw i8, ptr %0, i64 16 - %215 = getelementptr inbounds nuw i8, ptr %18, i64 16 - %216 = getelementptr inbounds nuw i8, ptr %18, i64 72 - %wide.trip.count219 = and i64 %158, 2147483647 + %208 = getelementptr inbounds nuw i8, ptr %14, i64 16 + %209 = getelementptr inbounds nuw i8, ptr %14, i64 72 + %210 = getelementptr inbounds nuw i8, ptr %17, i64 16 + %211 = getelementptr inbounds nuw i8, ptr %17, i64 72 + %212 = getelementptr inbounds nuw i8, ptr %0, i64 16 + %213 = getelementptr inbounds nuw i8, ptr %18, i64 16 + %214 = getelementptr inbounds nuw i8, ptr %18, i64 72 + %wide.trip.count218 = and i64 %156, 2147483647 br label %.lr.ph200 .lr.ph200: ; preds = %._crit_edge201, %.preheader.lr.ph - %indvars.iv216 = phi i64 [ 0, %.preheader.lr.ph ], [ %indvars.iv.next217, %._crit_edge201 ] - br label %217 + %indvars.iv215 = phi i64 [ 0, %.preheader.lr.ph ], [ %indvars.iv.next216, %._crit_edge201 ] + br label %215 -217: ; preds = %.lr.ph200, %249 - %indvars.iv211 = phi i64 [ 0, %.lr.ph200 ], [ %indvars.iv.next212, %249 ] - %218 = icmp eq i64 %indvars.iv216, %indvars.iv211 - br i1 %218, label %219, label %228 +215: ; preds = %.lr.ph200, %247 + %indvars.iv210 = phi i64 [ 0, %.lr.ph200 ], [ %indvars.iv.next211, %247 ] + %216 = icmp eq i64 %indvars.iv215, %indvars.iv210 + br i1 %216, label %217, label %226 -219: ; preds = %217 - %220 = load double, ptr %214, align 8 - %221 = fptrunc double %220 to float - br label %249 +217: ; preds = %215 + %218 = load double, ptr %212, align 8 + %219 = fptrunc double %218 to float + br label %247 -222: ; preds = %._crit_edge198 - %223 = landingpad { ptr, i32 } +220: ; preds = %._crit_edge198 + %221 = landingpad { ptr, i32 } cleanup - br label %457 + br label %455 -224: ; preds = %209 - %225 = landingpad { ptr, i32 } +222: ; preds = %207 + %223 = landingpad { ptr, i32 } cleanup - br label %456 + br label %454 -226: ; preds = %._crit_edge203 - %227 = landingpad { ptr, i32 } +224: ; preds = %._crit_edge203 + %225 = landingpad { ptr, i32 } cleanup - br label %455 + br label %453 -228: ; preds = %217 - %229 = load ptr, ptr %210, align 8 - %230 = load ptr, ptr %211, align 8 - %231 = load i64, ptr %230, align 8 - %232 = mul i64 %231, %indvars.iv216 - %233 = getelementptr inbounds i8, ptr %229, i64 %232 +226: ; preds = %215 + %227 = load ptr, ptr %208, align 8 + %228 = load ptr, ptr %209, align 8 + %229 = load i64, ptr %228, align 8 + %230 = mul i64 %229, %indvars.iv215 + %231 = getelementptr inbounds i8, ptr %227, i64 %230 + %232 = load float, ptr %231, align 4 + %233 = getelementptr inbounds nuw i8, ptr %231, i64 4 %234 = load float, ptr %233, align 4 - %235 = getelementptr inbounds nuw i8, ptr %233, i64 4 - %236 = load float, ptr %235, align 4 - %237 = mul i64 %231, %indvars.iv211 - %238 = getelementptr inbounds i8, ptr %229, i64 %237 + %235 = mul i64 %229, %indvars.iv210 + %236 = getelementptr inbounds i8, ptr %227, i64 %235 + %237 = load float, ptr %236, align 4 + %238 = getelementptr inbounds nuw i8, ptr %236, i64 4 %239 = load float, ptr %238, align 4 - %240 = getelementptr inbounds nuw i8, ptr %238, i64 4 - %241 = load float, ptr %240, align 4 - %242 = fsub float %234, %239 - %243 = fsub float %236, %241 - %244 = fmul float %243, %243 - %245 = call float @llvm.fmuladd.f32(float %242, float %242, float %244) - %246 = fadd float %245, 0x3E80000000000000 - %247 = call noundef float @logf(float noundef %246) #19 - %248 = fmul float %247, %245 - br label %249 - -249: ; preds = %219, %228 - %indvars.iv216.sink = phi i64 [ %indvars.iv216, %219 ], [ %indvars.iv211, %228 ] - %.sink = phi float [ %221, %219 ], [ %248, %228 ] - %250 = load ptr, ptr %212, align 8 - %251 = load ptr, ptr %213, align 8 - %252 = load i64, ptr %251, align 8 - %253 = mul i64 %252, %indvars.iv216 - %254 = getelementptr inbounds i8, ptr %250, i64 %253 - %255 = getelementptr inbounds nuw float, ptr %254, i64 %indvars.iv216.sink - store float %.sink, ptr %255, align 4 - %indvars.iv.next212 = add nuw nsw i64 %indvars.iv211, 1 - %exitcond215.not = icmp eq i64 %indvars.iv.next212, %wide.trip.count219 - br i1 %exitcond215.not, label %._crit_edge201, label %217, !llvm.loop !34 - -._crit_edge201: ; preds = %249 - %256 = load ptr, ptr %215, align 8 - %257 = load ptr, ptr %216, align 8 - %258 = load i64, ptr %257, align 8 - %259 = mul i64 %258, %indvars.iv216 - %260 = getelementptr inbounds i8, ptr %256, i64 %259 - store float 1.000000e+00, ptr %260, align 4 - %261 = load ptr, ptr %210, align 8 - %262 = load ptr, ptr %211, align 8 - %263 = load i64, ptr %262, align 8 - %264 = mul i64 %263, %indvars.iv216 - %265 = getelementptr inbounds i8, ptr %261, i64 %264 - %266 = load float, ptr %265, align 4 - %267 = load ptr, ptr %215, align 8 - %268 = load ptr, ptr %216, align 8 - %269 = load i64, ptr %268, align 8 - %270 = mul i64 %269, %indvars.iv216 - %271 = getelementptr inbounds i8, ptr %267, i64 %270 - %272 = getelementptr inbounds nuw i8, ptr %271, i64 4 - store float %266, ptr %272, align 4 - %273 = load ptr, ptr %210, align 8 - %274 = load ptr, ptr %211, align 8 - %275 = load i64, ptr %274, align 8 - %276 = mul i64 %275, %indvars.iv216 - %277 = getelementptr inbounds i8, ptr %273, i64 %276 - %278 = getelementptr inbounds nuw i8, ptr %277, i64 4 - %279 = load float, ptr %278, align 4 - %280 = load ptr, ptr %215, align 8 - %281 = load ptr, ptr %216, align 8 - %282 = load i64, ptr %281, align 8 - %283 = mul i64 %282, %indvars.iv216 - %284 = getelementptr inbounds i8, ptr %280, i64 %283 - %285 = getelementptr inbounds nuw i8, ptr %284, i64 8 - store float %279, ptr %285, align 4 - %indvars.iv.next217 = add nuw nsw i64 %indvars.iv216, 1 - %exitcond220.not = icmp eq i64 %indvars.iv.next217, %wide.trip.count219 - br i1 %exitcond220.not, label %._crit_edge203, label %.lr.ph200, !llvm.loop !35 + %240 = fsub float %232, %237 + %241 = fsub float %234, %239 + %242 = fmul float %241, %241 + %243 = call float @llvm.fmuladd.f32(float %240, float %240, float %242) + %244 = fadd float %243, 0x3E80000000000000 + %245 = call noundef float @logf(float noundef %244) #19 + %246 = fmul float %245, %243 + br label %247 + +247: ; preds = %217, %226 + %indvars.iv215.sink = phi i64 [ %indvars.iv215, %217 ], [ %indvars.iv210, %226 ] + %.sink = phi float [ %219, %217 ], [ %246, %226 ] + %248 = load ptr, ptr %210, align 8 + %249 = load ptr, ptr %211, align 8 + %250 = load i64, ptr %249, align 8 + %251 = mul i64 %250, %indvars.iv215 + %252 = getelementptr inbounds i8, ptr %248, i64 %251 + %253 = getelementptr inbounds nuw float, ptr %252, i64 %indvars.iv215.sink + store float %.sink, ptr %253, align 4 + %indvars.iv.next211 = add nuw nsw i64 %indvars.iv210, 1 + %exitcond214.not = icmp eq i64 %indvars.iv.next211, %wide.trip.count218 + br i1 %exitcond214.not, label %._crit_edge201, label %215, !llvm.loop !34 + +._crit_edge201: ; preds = %247 + %254 = load ptr, ptr %213, align 8 + %255 = load ptr, ptr %214, align 8 + %256 = load i64, ptr %255, align 8 + %257 = mul i64 %256, %indvars.iv215 + %258 = getelementptr inbounds i8, ptr %254, i64 %257 + store float 1.000000e+00, ptr %258, align 4 + %259 = load ptr, ptr %208, align 8 + %260 = load ptr, ptr %209, align 8 + %261 = load i64, ptr %260, align 8 + %262 = mul i64 %261, %indvars.iv215 + %263 = getelementptr inbounds i8, ptr %259, i64 %262 + %264 = load float, ptr %263, align 4 + %265 = load ptr, ptr %213, align 8 + %266 = load ptr, ptr %214, align 8 + %267 = load i64, ptr %266, align 8 + %268 = mul i64 %267, %indvars.iv215 + %269 = getelementptr inbounds i8, ptr %265, i64 %268 + %270 = getelementptr inbounds nuw i8, ptr %269, i64 4 + store float %264, ptr %270, align 4 + %271 = load ptr, ptr %208, align 8 + %272 = load ptr, ptr %209, align 8 + %273 = load i64, ptr %272, align 8 + %274 = mul i64 %273, %indvars.iv215 + %275 = getelementptr inbounds i8, ptr %271, i64 %274 + %276 = getelementptr inbounds nuw i8, ptr %275, i64 4 + %277 = load float, ptr %276, align 4 + %278 = load ptr, ptr %213, align 8 + %279 = load ptr, ptr %214, align 8 + %280 = load i64, ptr %279, align 8 + %281 = mul i64 %280, %indvars.iv215 + %282 = getelementptr inbounds i8, ptr %278, i64 %281 + %283 = getelementptr inbounds nuw i8, ptr %282, i64 8 + store float %277, ptr %283, align 4 + %indvars.iv.next216 = add nuw nsw i64 %indvars.iv215, 1 + %exitcond219.not = icmp eq i64 %indvars.iv.next216, %wide.trip.count218 + br i1 %exitcond219.not, label %._crit_edge203, label %.lr.ph200, !llvm.loop !35 ._crit_edge203: ; preds = %._crit_edge201, %.preheader172 - %286 = add nsw i32 %159, 3 - invoke void @_ZN2cv3Mat5zerosEiii(ptr dead_on_unwind nonnull writable sret(%"class.cv::MatExpr") align 8 %20, i32 noundef %286, i32 noundef %286, i32 noundef 5) - to label %287 unwind label %226 + %284 = add nsw i32 %157, 3 + invoke void @_ZN2cv3Mat5zerosEiii(ptr dead_on_unwind nonnull writable sret(%"class.cv::MatExpr") align 8 %20, i32 noundef %284, i32 noundef %284, i32 noundef 5) + to label %285 unwind label %224 -287: ; preds = %._crit_edge203 +285: ; preds = %._crit_edge203 call void @_ZN2cv3MatC1Ev(ptr noundef nonnull align 8 dereferenceable(96) %19) #19 - %288 = load ptr, ptr %20, align 8, !noalias !36 + %286 = load ptr, ptr %20, align 8, !noalias !36 + %287 = load ptr, ptr %286, align 8 + %288 = getelementptr inbounds nuw i8, ptr %287, i64 24 %289 = load ptr, ptr %288, align 8 - %290 = getelementptr inbounds nuw i8, ptr %289, i64 24 - %291 = load ptr, ptr %290, align 8 - invoke void %291(ptr noundef nonnull align 8 dereferenceable(8) %288, ptr noundef nonnull align 8 dereferenceable(352) %20, ptr noundef nonnull align 8 dereferenceable(96) %19, i32 noundef -1) + invoke void %289(ptr noundef nonnull align 8 dereferenceable(8) %286, ptr noundef nonnull align 8 dereferenceable(352) %20, ptr noundef nonnull align 8 dereferenceable(96) %19, i32 noundef -1) to label %_ZNK2cv7MatExprcvNS_3MatEEv.exit unwind label %.body -.body: ; preds = %287 - %292 = landingpad { ptr, i32 } +.body: ; preds = %285 + %290 = landingpad { ptr, i32 } cleanup call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %19) #19 call void @_ZN2cv7MatExprD2Ev(ptr noundef nonnull align 8 dereferenceable(352) %20) #19 - br label %455 + br label %453 -_ZNK2cv7MatExprcvNS_3MatEEv.exit: ; preds = %287 - %293 = getelementptr inbounds nuw i8, ptr %20, i64 208 +_ZNK2cv7MatExprcvNS_3MatEEv.exit: ; preds = %285 + %291 = getelementptr inbounds nuw i8, ptr %20, i64 208 + call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %291) #19 + %292 = getelementptr inbounds nuw i8, ptr %20, i64 112 + call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %292) #19 + %293 = getelementptr inbounds nuw i8, ptr %20, i64 16 call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %293) #19 - %294 = getelementptr inbounds nuw i8, ptr %20, i64 112 - call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %294) #19 - %295 = getelementptr inbounds nuw i8, ptr %20, i64 16 - call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %295) #19 store i32 0, ptr %22, align 4 - %296 = getelementptr inbounds nuw i8, ptr %22, i64 4 - store i32 0, ptr %296, align 4 - %297 = getelementptr inbounds nuw i8, ptr %22, i64 8 - store i32 %159, ptr %297, align 4 - %298 = getelementptr inbounds nuw i8, ptr %22, i64 12 - store i32 %159, ptr %298, align 4 + %294 = getelementptr inbounds nuw i8, ptr %22, i64 4 + store i32 0, ptr %294, align 4 + %295 = getelementptr inbounds nuw i8, ptr %22, i64 8 + store i32 %157, ptr %295, align 4 + %296 = getelementptr inbounds nuw i8, ptr %22, i64 12 + store i32 %157, ptr %296, align 4 invoke void @_ZN2cv3MatC1ERKS0_RKNS_5Rect_IiEE(ptr noundef nonnull align 8 dereferenceable(96) %21, ptr noundef nonnull align 8 dereferenceable(96) %19, ptr noundef nonnull align 4 dereferenceable(16) %22) - to label %299 unwind label %365 + to label %297 unwind label %363 -299: ; preds = %_ZNK2cv7MatExprcvNS_3MatEEv.exit - %300 = getelementptr inbounds nuw i8, ptr %23, i64 8 - %301 = getelementptr inbounds nuw i8, ptr %23, i64 16 - store i64 0, ptr %301, align 8 +297: ; preds = %_ZNK2cv7MatExprcvNS_3MatEEv.exit + %298 = getelementptr inbounds nuw i8, ptr %23, i64 8 + %299 = getelementptr inbounds nuw i8, ptr %23, i64 16 + store i64 0, ptr %299, align 8 store i32 33619968, ptr %23, align 8 - store ptr %21, ptr %300, align 8 + store ptr %21, ptr %298, align 8 invoke void @_ZNK2cv3Mat6copyToERKNS_12_OutputArrayE(ptr noundef nonnull align 8 dereferenceable(96) %17, ptr noundef nonnull align 8 dereferenceable(24) %23) - to label %302 unwind label %369 - -302: ; preds = %299 - store i32 %159, ptr %25, align 4 - %303 = getelementptr inbounds nuw i8, ptr %25, i64 4 - store i32 0, ptr %303, align 4 - %304 = getelementptr inbounds nuw i8, ptr %25, i64 8 - store i32 3, ptr %304, align 4 - %305 = getelementptr inbounds nuw i8, ptr %25, i64 12 - store i32 %159, ptr %305, align 4 + to label %300 unwind label %367 + +300: ; preds = %297 + store i32 %157, ptr %25, align 4 + %301 = getelementptr inbounds nuw i8, ptr %25, i64 4 + store i32 0, ptr %301, align 4 + %302 = getelementptr inbounds nuw i8, ptr %25, i64 8 + store i32 3, ptr %302, align 4 + %303 = getelementptr inbounds nuw i8, ptr %25, i64 12 + store i32 %157, ptr %303, align 4 invoke void @_ZN2cv3MatC1ERKS0_RKNS_5Rect_IiEE(ptr noundef nonnull align 8 dereferenceable(96) %24, ptr noundef nonnull align 8 dereferenceable(96) %19, ptr noundef nonnull align 4 dereferenceable(16) %25) - to label %306 unwind label %367 + to label %304 unwind label %365 -306: ; preds = %302 - %307 = invoke noundef nonnull align 8 dereferenceable(96) ptr @_ZN2cv3MataSEOS0_(ptr noundef nonnull align 8 dereferenceable(96) %21, ptr noundef nonnull align 8 dereferenceable(96) %24) - to label %308 unwind label %371 +304: ; preds = %300 + %305 = invoke noundef nonnull align 8 dereferenceable(96) ptr @_ZN2cv3MataSEOS0_(ptr noundef nonnull align 8 dereferenceable(96) %21, ptr noundef nonnull align 8 dereferenceable(96) %24) + to label %306 unwind label %369 -308: ; preds = %306 +306: ; preds = %304 call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %24) #19 - %309 = getelementptr inbounds nuw i8, ptr %26, i64 8 - %310 = getelementptr inbounds nuw i8, ptr %26, i64 16 - store i64 0, ptr %310, align 8 + %307 = getelementptr inbounds nuw i8, ptr %26, i64 8 + %308 = getelementptr inbounds nuw i8, ptr %26, i64 16 + store i64 0, ptr %308, align 8 store i32 33619968, ptr %26, align 8 - store ptr %21, ptr %309, align 8 + store ptr %21, ptr %307, align 8 invoke void @_ZNK2cv3Mat6copyToERKNS_12_OutputArrayE(ptr noundef nonnull align 8 dereferenceable(96) %18, ptr noundef nonnull align 8 dereferenceable(24) %26) - to label %311 unwind label %373 + to label %309 unwind label %371 -311: ; preds = %308 +309: ; preds = %306 call void @_ZN2cv3MatC1Ev(ptr noundef nonnull align 8 dereferenceable(96) %27) #19 - %312 = getelementptr inbounds nuw i8, ptr %28, i64 16 - store i32 0, ptr %312, align 8 - %313 = getelementptr inbounds nuw i8, ptr %28, i64 20 - store i32 0, ptr %313, align 4 + %310 = getelementptr inbounds nuw i8, ptr %28, i64 16 + store i32 0, ptr %310, align 8 + %311 = getelementptr inbounds nuw i8, ptr %28, i64 20 + store i32 0, ptr %311, align 4 store i32 16842752, ptr %28, align 8 - %314 = getelementptr inbounds nuw i8, ptr %28, i64 8 - store ptr %18, ptr %314, align 8 - %315 = getelementptr inbounds nuw i8, ptr %29, i64 8 - %316 = getelementptr inbounds nuw i8, ptr %29, i64 16 - store i64 0, ptr %316, align 8 + %312 = getelementptr inbounds nuw i8, ptr %28, i64 8 + store ptr %18, ptr %312, align 8 + %313 = getelementptr inbounds nuw i8, ptr %29, i64 8 + %314 = getelementptr inbounds nuw i8, ptr %29, i64 16 + store i64 0, ptr %314, align 8 store i32 33619968, ptr %29, align 8 - store ptr %27, ptr %315, align 8 + store ptr %27, ptr %313, align 8 invoke void @_ZN2cv9transposeERKNS_11_InputArrayERKNS_12_OutputArrayE(ptr noundef nonnull align 8 dereferenceable(24) %28, ptr noundef nonnull align 8 dereferenceable(24) %29) - to label %317 unwind label %377 + to label %315 unwind label %375 -317: ; preds = %311 +315: ; preds = %309 store i32 0, ptr %31, align 4 - %318 = getelementptr inbounds nuw i8, ptr %31, i64 4 - store i32 %159, ptr %318, align 4 - %319 = getelementptr inbounds nuw i8, ptr %31, i64 8 - store i32 %159, ptr %319, align 4 - %320 = getelementptr inbounds nuw i8, ptr %31, i64 12 - store i32 3, ptr %320, align 4 + %316 = getelementptr inbounds nuw i8, ptr %31, i64 4 + store i32 %157, ptr %316, align 4 + %317 = getelementptr inbounds nuw i8, ptr %31, i64 8 + store i32 %157, ptr %317, align 4 + %318 = getelementptr inbounds nuw i8, ptr %31, i64 12 + store i32 3, ptr %318, align 4 invoke void @_ZN2cv3MatC1ERKS0_RKNS_5Rect_IiEE(ptr noundef nonnull align 8 dereferenceable(96) %30, ptr noundef nonnull align 8 dereferenceable(96) %19, ptr noundef nonnull align 4 dereferenceable(16) %31) - to label %321 unwind label %375 + to label %319 unwind label %373 -321: ; preds = %317 - %322 = invoke noundef nonnull align 8 dereferenceable(96) ptr @_ZN2cv3MataSEOS0_(ptr noundef nonnull align 8 dereferenceable(96) %21, ptr noundef nonnull align 8 dereferenceable(96) %30) - to label %323 unwind label %379 +319: ; preds = %315 + %320 = invoke noundef nonnull align 8 dereferenceable(96) ptr @_ZN2cv3MataSEOS0_(ptr noundef nonnull align 8 dereferenceable(96) %21, ptr noundef nonnull align 8 dereferenceable(96) %30) + to label %321 unwind label %377 -323: ; preds = %321 +321: ; preds = %319 call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %30) #19 - %324 = getelementptr inbounds nuw i8, ptr %32, i64 8 - %325 = getelementptr inbounds nuw i8, ptr %32, i64 16 - store i64 0, ptr %325, align 8 + %322 = getelementptr inbounds nuw i8, ptr %32, i64 8 + %323 = getelementptr inbounds nuw i8, ptr %32, i64 16 + store i64 0, ptr %323, align 8 store i32 33619968, ptr %32, align 8 - store ptr %21, ptr %324, align 8 + store ptr %21, ptr %322, align 8 invoke void @_ZNK2cv3Mat6copyToERKNS_12_OutputArrayE(ptr noundef nonnull align 8 dereferenceable(96) %27, ptr noundef nonnull align 8 dereferenceable(24) %32) - to label %326 unwind label %381 + to label %324 unwind label %379 -326: ; preds = %323 - invoke void @_ZN2cv3Mat5zerosEiii(ptr dead_on_unwind nonnull writable sret(%"class.cv::MatExpr") align 8 %34, i32 noundef %286, i32 noundef 2, i32 noundef 5) - to label %327 unwind label %375 +324: ; preds = %321 + invoke void @_ZN2cv3Mat5zerosEiii(ptr dead_on_unwind nonnull writable sret(%"class.cv::MatExpr") align 8 %34, i32 noundef %284, i32 noundef 2, i32 noundef 5) + to label %325 unwind label %373 -327: ; preds = %326 +325: ; preds = %324 call void @_ZN2cv3MatC1Ev(ptr noundef nonnull align 8 dereferenceable(96) %33) #19 - %328 = load ptr, ptr %34, align 8, !noalias !39 + %326 = load ptr, ptr %34, align 8, !noalias !39 + %327 = load ptr, ptr %326, align 8 + %328 = getelementptr inbounds nuw i8, ptr %327, i64 24 %329 = load ptr, ptr %328, align 8 - %330 = getelementptr inbounds nuw i8, ptr %329, i64 24 - %331 = load ptr, ptr %330, align 8 - invoke void %331(ptr noundef nonnull align 8 dereferenceable(8) %328, ptr noundef nonnull align 8 dereferenceable(352) %34, ptr noundef nonnull align 8 dereferenceable(96) %33, i32 noundef -1) + invoke void %329(ptr noundef nonnull align 8 dereferenceable(8) %326, ptr noundef nonnull align 8 dereferenceable(352) %34, ptr noundef nonnull align 8 dereferenceable(96) %33, i32 noundef -1) to label %_ZNK2cv7MatExprcvNS_3MatEEv.exit121 unwind label %.body119 -.body119: ; preds = %327 - %332 = landingpad { ptr, i32 } +.body119: ; preds = %325 + %330 = landingpad { ptr, i32 } cleanup call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %33) #19 call void @_ZN2cv7MatExprD2Ev(ptr noundef nonnull align 8 dereferenceable(352) %34) #19 - br label %452 + br label %450 -_ZNK2cv7MatExprcvNS_3MatEEv.exit121: ; preds = %327 - %333 = getelementptr inbounds nuw i8, ptr %34, i64 208 +_ZNK2cv7MatExprcvNS_3MatEEv.exit121: ; preds = %325 + %331 = getelementptr inbounds nuw i8, ptr %34, i64 208 + call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %331) #19 + %332 = getelementptr inbounds nuw i8, ptr %34, i64 112 + call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %332) #19 + %333 = getelementptr inbounds nuw i8, ptr %34, i64 16 call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %333) #19 - %334 = getelementptr inbounds nuw i8, ptr %34, i64 112 - call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %334) #19 - %335 = getelementptr inbounds nuw i8, ptr %34, i64 16 - call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %335) #19 - br i1 %161, label %.lr.ph205, label %._crit_edge206 + br i1 %159, label %.lr.ph205, label %._crit_edge206 .lr.ph205: ; preds = %_ZNK2cv7MatExprcvNS_3MatEEv.exit121 - %336 = getelementptr inbounds nuw i8, ptr %15, i64 16 - %337 = getelementptr inbounds nuw i8, ptr %15, i64 72 - %338 = getelementptr inbounds nuw i8, ptr %33, i64 16 - %339 = getelementptr inbounds nuw i8, ptr %33, i64 72 - %wide.trip.count224 = and i64 %158, 2147483647 - br label %340 - -340: ; preds = %.lr.ph205, %340 - %indvars.iv221 = phi i64 [ 0, %.lr.ph205 ], [ %indvars.iv.next222, %340 ] - %341 = load ptr, ptr %336, align 8 - %342 = load ptr, ptr %337, align 8 - %343 = load i64, ptr %342, align 8 - %344 = mul i64 %343, %indvars.iv221 - %345 = getelementptr inbounds i8, ptr %341, i64 %344 - %346 = load float, ptr %345, align 4 - %347 = load ptr, ptr %338, align 8 - %348 = load ptr, ptr %339, align 8 - %349 = load i64, ptr %348, align 8 - %350 = mul i64 %349, %indvars.iv221 - %351 = getelementptr inbounds i8, ptr %347, i64 %350 - store float %346, ptr %351, align 4 - %352 = load ptr, ptr %336, align 8 - %353 = load ptr, ptr %337, align 8 - %354 = load i64, ptr %353, align 8 - %355 = mul i64 %354, %indvars.iv221 - %356 = getelementptr inbounds i8, ptr %352, i64 %355 - %357 = getelementptr inbounds nuw i8, ptr %356, i64 4 - %358 = load float, ptr %357, align 4 - %359 = load ptr, ptr %338, align 8 - %360 = load ptr, ptr %339, align 8 - %361 = load i64, ptr %360, align 8 - %362 = mul i64 %361, %indvars.iv221 - %363 = getelementptr inbounds i8, ptr %359, i64 %362 - %364 = getelementptr inbounds nuw i8, ptr %363, i64 4 - store float %358, ptr %364, align 4 - %indvars.iv.next222 = add nuw nsw i64 %indvars.iv221, 1 - %exitcond225.not = icmp eq i64 %indvars.iv.next222, %wide.trip.count224 - br i1 %exitcond225.not, label %._crit_edge206, label %340, !llvm.loop !42 - -365: ; preds = %_ZNK2cv7MatExprcvNS_3MatEEv.exit + %334 = getelementptr inbounds nuw i8, ptr %15, i64 16 + %335 = getelementptr inbounds nuw i8, ptr %15, i64 72 + %336 = getelementptr inbounds nuw i8, ptr %33, i64 16 + %337 = getelementptr inbounds nuw i8, ptr %33, i64 72 + %wide.trip.count223 = and i64 %156, 2147483647 + br label %338 + +338: ; preds = %.lr.ph205, %338 + %indvars.iv220 = phi i64 [ 0, %.lr.ph205 ], [ %indvars.iv.next221, %338 ] + %339 = load ptr, ptr %334, align 8 + %340 = load ptr, ptr %335, align 8 + %341 = load i64, ptr %340, align 8 + %342 = mul i64 %341, %indvars.iv220 + %343 = getelementptr inbounds i8, ptr %339, i64 %342 + %344 = load float, ptr %343, align 4 + %345 = load ptr, ptr %336, align 8 + %346 = load ptr, ptr %337, align 8 + %347 = load i64, ptr %346, align 8 + %348 = mul i64 %347, %indvars.iv220 + %349 = getelementptr inbounds i8, ptr %345, i64 %348 + store float %344, ptr %349, align 4 + %350 = load ptr, ptr %334, align 8 + %351 = load ptr, ptr %335, align 8 + %352 = load i64, ptr %351, align 8 + %353 = mul i64 %352, %indvars.iv220 + %354 = getelementptr inbounds i8, ptr %350, i64 %353 + %355 = getelementptr inbounds nuw i8, ptr %354, i64 4 + %356 = load float, ptr %355, align 4 + %357 = load ptr, ptr %336, align 8 + %358 = load ptr, ptr %337, align 8 + %359 = load i64, ptr %358, align 8 + %360 = mul i64 %359, %indvars.iv220 + %361 = getelementptr inbounds i8, ptr %357, i64 %360 + %362 = getelementptr inbounds nuw i8, ptr %361, i64 4 + store float %356, ptr %362, align 4 + %indvars.iv.next221 = add nuw nsw i64 %indvars.iv220, 1 + %exitcond224.not = icmp eq i64 %indvars.iv.next221, %wide.trip.count223 + br i1 %exitcond224.not, label %._crit_edge206, label %338, !llvm.loop !42 + +363: ; preds = %_ZNK2cv7MatExprcvNS_3MatEEv.exit + %364 = landingpad { ptr, i32 } + cleanup + br label %452 + +365: ; preds = %300 %366 = landingpad { ptr, i32 } cleanup - br label %454 + br label %451 -367: ; preds = %302 +367: ; preds = %297 %368 = landingpad { ptr, i32 } cleanup - br label %453 + br label %451 -369: ; preds = %299 +369: ; preds = %304 %370 = landingpad { ptr, i32 } cleanup - br label %453 + call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %24) #19 + br label %451 371: ; preds = %306 %372 = landingpad { ptr, i32 } cleanup - call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %24) #19 - br label %453 + br label %451 -373: ; preds = %308 +373: ; preds = %324, %315 %374 = landingpad { ptr, i32 } cleanup - br label %453 + br label %450 -375: ; preds = %326, %317 +375: ; preds = %309 %376 = landingpad { ptr, i32 } cleanup - br label %452 + br label %450 -377: ; preds = %311 +377: ; preds = %319 %378 = landingpad { ptr, i32 } cleanup - br label %452 + call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %30) #19 + br label %450 379: ; preds = %321 %380 = landingpad { ptr, i32 } cleanup - call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %30) #19 - br label %452 + br label %450 -381: ; preds = %323 +381: ; preds = %393 %382 = landingpad { ptr, i32 } cleanup - br label %452 - -383: ; preds = %395 - %384 = landingpad { ptr, i32 } - cleanup - br label %451 + br label %449 -._crit_edge206: ; preds = %340, %_ZNK2cv7MatExprcvNS_3MatEEv.exit121 - %385 = getelementptr inbounds nuw i8, ptr %35, i64 16 - store i32 0, ptr %385, align 8 - %386 = getelementptr inbounds nuw i8, ptr %35, i64 20 - store i32 0, ptr %386, align 4 +._crit_edge206: ; preds = %338, %_ZNK2cv7MatExprcvNS_3MatEEv.exit121 + %383 = getelementptr inbounds nuw i8, ptr %35, i64 16 + store i32 0, ptr %383, align 8 + %384 = getelementptr inbounds nuw i8, ptr %35, i64 20 + store i32 0, ptr %384, align 4 store i32 16842752, ptr %35, align 8 - %387 = getelementptr inbounds nuw i8, ptr %35, i64 8 - store ptr %19, ptr %387, align 8 - %388 = getelementptr inbounds nuw i8, ptr %36, i64 16 - store i32 0, ptr %388, align 8 - %389 = getelementptr inbounds nuw i8, ptr %36, i64 20 - store i32 0, ptr %389, align 4 + %385 = getelementptr inbounds nuw i8, ptr %35, i64 8 + store ptr %19, ptr %385, align 8 + %386 = getelementptr inbounds nuw i8, ptr %36, i64 16 + store i32 0, ptr %386, align 8 + %387 = getelementptr inbounds nuw i8, ptr %36, i64 20 + store i32 0, ptr %387, align 4 store i32 16842752, ptr %36, align 8 - %390 = getelementptr inbounds nuw i8, ptr %36, i64 8 - store ptr %33, ptr %390, align 8 - %391 = getelementptr inbounds nuw i8, ptr %0, i64 32 - %392 = getelementptr inbounds nuw i8, ptr %37, i64 8 - %393 = getelementptr inbounds nuw i8, ptr %37, i64 16 - store i64 0, ptr %393, align 8 + %388 = getelementptr inbounds nuw i8, ptr %36, i64 8 + store ptr %33, ptr %388, align 8 + %389 = getelementptr inbounds nuw i8, ptr %0, i64 32 + %390 = getelementptr inbounds nuw i8, ptr %37, i64 8 + %391 = getelementptr inbounds nuw i8, ptr %37, i64 16 + store i64 0, ptr %391, align 8 store i32 33619968, ptr %37, align 8 - store ptr %391, ptr %392, align 8 - %394 = invoke noundef zeroext i1 @_ZN2cv5solveERKNS_11_InputArrayES2_RKNS_12_OutputArrayEi(ptr noundef nonnull align 8 dereferenceable(24) %35, ptr noundef nonnull align 8 dereferenceable(24) %36, ptr noundef nonnull align 8 dereferenceable(24) %37, i32 noundef 0) - to label %395 unwind label %440 - -395: ; preds = %._crit_edge206 - %396 = getelementptr inbounds nuw i8, ptr %0, i64 40 - %397 = load i32, ptr %396, align 8 - %398 = add nsw i32 %397, -3 + store ptr %389, ptr %390, align 8 + %392 = invoke noundef zeroext i1 @_ZN2cv5solveERKNS_11_InputArrayES2_RKNS_12_OutputArrayEi(ptr noundef nonnull align 8 dereferenceable(24) %35, ptr noundef nonnull align 8 dereferenceable(24) %36, ptr noundef nonnull align 8 dereferenceable(24) %37, i32 noundef 0) + to label %393 unwind label %438 + +393: ; preds = %._crit_edge206 + %394 = getelementptr inbounds nuw i8, ptr %0, i64 40 + %395 = load i32, ptr %394, align 8 + %396 = add nsw i32 %395, -3 store i32 0, ptr %39, align 4 - %399 = getelementptr inbounds nuw i8, ptr %39, i64 4 - store i32 0, ptr %399, align 4 - %400 = getelementptr inbounds nuw i8, ptr %39, i64 8 - store i32 2, ptr %400, align 4 - %401 = getelementptr inbounds nuw i8, ptr %39, i64 12 - store i32 %398, ptr %401, align 4 - invoke void @_ZN2cv3MatC1ERKS0_RKNS_5Rect_IiEE(ptr noundef nonnull align 8 dereferenceable(96) %38, ptr noundef nonnull align 8 dereferenceable(96) %391, ptr noundef nonnull align 4 dereferenceable(16) %39) - to label %402 unwind label %383 - -402: ; preds = %395 + %397 = getelementptr inbounds nuw i8, ptr %39, i64 4 + store i32 0, ptr %397, align 4 + %398 = getelementptr inbounds nuw i8, ptr %39, i64 8 + store i32 2, ptr %398, align 4 + %399 = getelementptr inbounds nuw i8, ptr %39, i64 12 + store i32 %396, ptr %399, align 4 + invoke void @_ZN2cv3MatC1ERKS0_RKNS_5Rect_IiEE(ptr noundef nonnull align 8 dereferenceable(96) %38, ptr noundef nonnull align 8 dereferenceable(96) %389, ptr noundef nonnull align 4 dereferenceable(16) %39) + to label %400 unwind label %381 + +400: ; preds = %393 invoke void @_ZNK2cv3Mat1tEv(ptr dead_on_unwind nonnull writable sret(%"class.cv::MatExpr") align 8 %43, ptr noundef nonnull align 8 dereferenceable(96) %38) - to label %403 unwind label %442 + to label %401 unwind label %440 -403: ; preds = %402 +401: ; preds = %400 invoke void @_ZN2cvmlERKNS_7MatExprERKNS_3MatE(ptr dead_on_unwind nonnull writable sret(%"class.cv::MatExpr") align 8 %42, ptr noundef nonnull align 8 dereferenceable(352) %43, ptr noundef nonnull align 8 dereferenceable(96) %17) - to label %404 unwind label %444 + to label %402 unwind label %442 -404: ; preds = %403 +402: ; preds = %401 invoke void @_ZN2cvmlERKNS_7MatExprERKNS_3MatE(ptr dead_on_unwind nonnull writable sret(%"class.cv::MatExpr") align 8 %41, ptr noundef nonnull align 8 dereferenceable(352) %42, ptr noundef nonnull align 8 dereferenceable(96) %38) - to label %405 unwind label %446 + to label %403 unwind label %444 -405: ; preds = %404 +403: ; preds = %402 call void @_ZN2cv3MatC1Ev(ptr noundef nonnull align 8 dereferenceable(96) %40) #19 - %406 = load ptr, ptr %41, align 8, !noalias !43 + %404 = load ptr, ptr %41, align 8, !noalias !43 + %405 = load ptr, ptr %404, align 8 + %406 = getelementptr inbounds nuw i8, ptr %405, i64 24 %407 = load ptr, ptr %406, align 8 - %408 = getelementptr inbounds nuw i8, ptr %407, i64 24 - %409 = load ptr, ptr %408, align 8 - invoke void %409(ptr noundef nonnull align 8 dereferenceable(8) %406, ptr noundef nonnull align 8 dereferenceable(352) %41, ptr noundef nonnull align 8 dereferenceable(96) %40, i32 noundef -1) + invoke void %407(ptr noundef nonnull align 8 dereferenceable(8) %404, ptr noundef nonnull align 8 dereferenceable(352) %41, ptr noundef nonnull align 8 dereferenceable(96) %40, i32 noundef -1) to label %_ZNK2cv7MatExprcvNS_3MatEEv.exit124 unwind label %.body122 -.body122: ; preds = %405 - %410 = landingpad { ptr, i32 } +.body122: ; preds = %403 + %408 = landingpad { ptr, i32 } cleanup call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %40) #19 call void @_ZN2cv7MatExprD2Ev(ptr noundef nonnull align 8 dereferenceable(352) %41) #19 - br label %448 - -_ZNK2cv7MatExprcvNS_3MatEEv.exit124: ; preds = %405 - %411 = getelementptr inbounds nuw i8, ptr %41, i64 208 + br label %446 + +_ZNK2cv7MatExprcvNS_3MatEEv.exit124: ; preds = %403 + %409 = getelementptr inbounds nuw i8, ptr %41, i64 208 + call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %409) #19 + %410 = getelementptr inbounds nuw i8, ptr %41, i64 112 + call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %410) #19 + %411 = getelementptr inbounds nuw i8, ptr %41, i64 16 call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %411) #19 - %412 = getelementptr inbounds nuw i8, ptr %41, i64 112 + %412 = getelementptr inbounds nuw i8, ptr %42, i64 208 call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %412) #19 - %413 = getelementptr inbounds nuw i8, ptr %41, i64 16 + %413 = getelementptr inbounds nuw i8, ptr %42, i64 112 call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %413) #19 - %414 = getelementptr inbounds nuw i8, ptr %42, i64 208 + %414 = getelementptr inbounds nuw i8, ptr %42, i64 16 call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %414) #19 - %415 = getelementptr inbounds nuw i8, ptr %42, i64 112 + %415 = getelementptr inbounds nuw i8, ptr %43, i64 208 call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %415) #19 - %416 = getelementptr inbounds nuw i8, ptr %42, i64 16 + %416 = getelementptr inbounds nuw i8, ptr %43, i64 112 call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %416) #19 - %417 = getelementptr inbounds nuw i8, ptr %43, i64 208 + %417 = getelementptr inbounds nuw i8, ptr %43, i64 16 call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %417) #19 - %418 = getelementptr inbounds nuw i8, ptr %43, i64 112 - call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %418) #19 - %419 = getelementptr inbounds nuw i8, ptr %43, i64 16 - call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %419) #19 - %420 = getelementptr inbounds nuw i8, ptr %40, i64 16 + %418 = getelementptr inbounds nuw i8, ptr %40, i64 16 + %419 = load ptr, ptr %418, align 8 + %420 = getelementptr inbounds nuw i8, ptr %40, i64 72 %421 = load ptr, ptr %420, align 8 - %422 = getelementptr inbounds nuw i8, ptr %40, i64 72 - %423 = load ptr, ptr %422, align 8 - %424 = load float, ptr %421, align 4 - %425 = load i64, ptr %423, align 8 - %426 = getelementptr inbounds i8, ptr %421, i64 %425 - %427 = getelementptr inbounds nuw i8, ptr %426, i64 4 - %428 = load float, ptr %427, align 4 - %429 = fmul float %424, %428 - %430 = call float @llvm.fabs.f32(float %429) - %431 = getelementptr inbounds nuw i8, ptr %0, i64 24 - store float %430, ptr %431, align 8 - %432 = getelementptr inbounds nuw i8, ptr %0, i64 8 - store i8 1, ptr %432, align 8 + %422 = load float, ptr %419, align 4 + %423 = load i64, ptr %421, align 8 + %424 = getelementptr inbounds i8, ptr %419, i64 %423 + %425 = getelementptr inbounds nuw i8, ptr %424, i64 4 + %426 = load float, ptr %425, align 4 + %427 = fmul float %422, %426 + %428 = call float @llvm.fabs.f32(float %427) + %429 = getelementptr inbounds nuw i8, ptr %0, i64 24 + store float %428, ptr %429, align 8 + %430 = getelementptr inbounds nuw i8, ptr %0, i64 8 + store i8 1, ptr %430, align 8 call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %40) #19 call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %38) #19 call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %33) #19 @@ -1755,131 +1746,131 @@ _ZNK2cv7MatExprcvNS_3MatEEv.exit124: ; preds = %405 call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %15) #19 call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %14) #19 %.not.i.i.i125 = icmp eq ptr %.sroa.0132.0.lcssa, null - br i1 %.not.i.i.i125, label %_ZNSt6vectorIN2cv6DMatchESaIS1_EED2Ev.exit, label %433 + br i1 %.not.i.i.i125, label %_ZNSt6vectorIN2cv6DMatchESaIS1_EED2Ev.exit, label %431 -433: ; preds = %_ZNK2cv7MatExprcvNS_3MatEEv.exit124 +431: ; preds = %_ZNK2cv7MatExprcvNS_3MatEEv.exit124 call void @_ZdlPv(ptr noundef nonnull %.sroa.0132.0.lcssa) #23 br label %_ZNSt6vectorIN2cv6DMatchESaIS1_EED2Ev.exit -_ZNSt6vectorIN2cv6DMatchESaIS1_EED2Ev.exit: ; preds = %_ZNK2cv7MatExprcvNS_3MatEEv.exit124, %433 +_ZNSt6vectorIN2cv6DMatchESaIS1_EED2Ev.exit: ; preds = %_ZNK2cv7MatExprcvNS_3MatEEv.exit124, %431 call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %7) #19 call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %6) #19 - %434 = getelementptr inbounds nuw i8, ptr %5, i64 8 - %435 = load i32, ptr %434, align 8 - %.not.i126 = icmp eq i32 %435, 0 - br i1 %.not.i126, label %_ZN2cv5utils5trace7details6RegionD2Ev.exit, label %436 + %432 = getelementptr inbounds nuw i8, ptr %5, i64 8 + %433 = load i32, ptr %432, align 8 + %.not.i126 = icmp eq i32 %433, 0 + br i1 %.not.i126, label %_ZN2cv5utils5trace7details6RegionD2Ev.exit, label %434 -436: ; preds = %_ZNSt6vectorIN2cv6DMatchESaIS1_EED2Ev.exit +434: ; preds = %_ZNSt6vectorIN2cv6DMatchESaIS1_EED2Ev.exit invoke void @_ZN2cv5utils5trace7details6Region7destroyEv(ptr noundef nonnull align 8 dereferenceable(12) %5) - to label %_ZN2cv5utils5trace7details6RegionD2Ev.exit unwind label %437 + to label %_ZN2cv5utils5trace7details6RegionD2Ev.exit unwind label %435 -437: ; preds = %436 - %438 = landingpad { ptr, i32 } +435: ; preds = %434 + %436 = landingpad { ptr, i32 } catch ptr null - %439 = extractvalue { ptr, i32 } %438, 0 - call void @__clang_call_terminate(ptr %439) #21 + %437 = extractvalue { ptr, i32 } %436, 0 + call void @__clang_call_terminate(ptr %437) #21 unreachable -_ZN2cv5utils5trace7details6RegionD2Ev.exit: ; preds = %_ZNSt6vectorIN2cv6DMatchESaIS1_EED2Ev.exit, %436 +_ZN2cv5utils5trace7details6RegionD2Ev.exit: ; preds = %_ZNSt6vectorIN2cv6DMatchESaIS1_EED2Ev.exit, %434 ret void -440: ; preds = %._crit_edge206 +438: ; preds = %._crit_edge206 + %439 = landingpad { ptr, i32 } + cleanup + br label %449 + +440: ; preds = %400 %441 = landingpad { ptr, i32 } cleanup - br label %451 + br label %448 -442: ; preds = %402 +442: ; preds = %401 %443 = landingpad { ptr, i32 } cleanup - br label %450 + br label %447 -444: ; preds = %403 +444: ; preds = %402 %445 = landingpad { ptr, i32 } cleanup - br label %449 - -446: ; preds = %404 - %447 = landingpad { ptr, i32 } - cleanup - br label %448 + br label %446 -448: ; preds = %.body122, %446 - %.pn93 = phi { ptr, i32 } [ %410, %.body122 ], [ %447, %446 ] +446: ; preds = %.body122, %444 + %.pn93 = phi { ptr, i32 } [ %408, %.body122 ], [ %445, %444 ] call void @_ZN2cv7MatExprD2Ev(ptr noundef nonnull align 8 dereferenceable(352) %42) #19 - br label %449 + br label %447 -449: ; preds = %448, %444 - %.pn93.pn = phi { ptr, i32 } [ %.pn93, %448 ], [ %445, %444 ] +447: ; preds = %446, %442 + %.pn93.pn = phi { ptr, i32 } [ %.pn93, %446 ], [ %443, %442 ] call void @_ZN2cv7MatExprD2Ev(ptr noundef nonnull align 8 dereferenceable(352) %43) #19 - br label %450 + br label %448 -450: ; preds = %449, %442 - %.pn93.pn.pn = phi { ptr, i32 } [ %.pn93.pn, %449 ], [ %443, %442 ] +448: ; preds = %447, %440 + %.pn93.pn.pn = phi { ptr, i32 } [ %.pn93.pn, %447 ], [ %441, %440 ] call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %38) #19 - br label %451 + br label %449 -451: ; preds = %440, %450, %383 - %.pn93.pn.pn.pn = phi { ptr, i32 } [ %.pn93.pn.pn, %450 ], [ %384, %383 ], [ %441, %440 ] +449: ; preds = %438, %448, %381 + %.pn93.pn.pn.pn = phi { ptr, i32 } [ %.pn93.pn.pn, %448 ], [ %382, %381 ], [ %439, %438 ] call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %33) #19 - br label %452 + br label %450 -452: ; preds = %377, %451, %.body119, %381, %379, %375 - %.pn93.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn93.pn.pn.pn, %451 ], [ %332, %.body119 ], [ %376, %375 ], [ %382, %381 ], [ %380, %379 ], [ %378, %377 ] +450: ; preds = %375, %449, %.body119, %379, %377, %373 + %.pn93.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn93.pn.pn.pn, %449 ], [ %330, %.body119 ], [ %374, %373 ], [ %380, %379 ], [ %378, %377 ], [ %376, %375 ] call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %27) #19 - br label %453 + br label %451 -453: ; preds = %452, %373, %371, %369, %367 - %.pn93.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn93.pn.pn.pn.pn, %452 ], [ %374, %373 ], [ %368, %367 ], [ %372, %371 ], [ %370, %369 ] +451: ; preds = %450, %371, %369, %367, %365 + %.pn93.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn93.pn.pn.pn.pn, %450 ], [ %372, %371 ], [ %366, %365 ], [ %370, %369 ], [ %368, %367 ] call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %21) #19 - br label %454 + br label %452 -454: ; preds = %453, %365 - %.pn93.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn93.pn.pn.pn.pn.pn, %453 ], [ %366, %365 ] +452: ; preds = %451, %363 + %.pn93.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn93.pn.pn.pn.pn.pn, %451 ], [ %364, %363 ] call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %19) #19 - br label %455 + br label %453 -455: ; preds = %454, %.body, %226 - %.pn101 = phi { ptr, i32 } [ %227, %226 ], [ %.pn93.pn.pn.pn.pn.pn.pn, %454 ], [ %292, %.body ] +453: ; preds = %452, %.body, %224 + %.pn101 = phi { ptr, i32 } [ %225, %224 ], [ %.pn93.pn.pn.pn.pn.pn.pn, %452 ], [ %290, %.body ] call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %18) #19 - br label %456 + br label %454 -456: ; preds = %455, %224 - %.pn101.pn = phi { ptr, i32 } [ %.pn101, %455 ], [ %225, %224 ] +454: ; preds = %453, %222 + %.pn101.pn = phi { ptr, i32 } [ %.pn101, %453 ], [ %223, %222 ] call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %17) #19 - br label %457 + br label %455 -457: ; preds = %456, %222, %203 - %.pn101.pn.pn = phi { ptr, i32 } [ %.pn101.pn, %456 ], [ %204, %203 ], [ %223, %222 ] +455: ; preds = %454, %220, %201 + %.pn101.pn.pn = phi { ptr, i32 } [ %.pn101.pn, %454 ], [ %202, %201 ], [ %221, %220 ] call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %15) #19 - br label %458 + br label %456 -458: ; preds = %457, %201 - %.pn101.pn.pn.pn = phi { ptr, i32 } [ %.pn101.pn.pn, %457 ], [ %202, %201 ] +456: ; preds = %455, %199 + %.pn101.pn.pn.pn = phi { ptr, i32 } [ %.pn101.pn.pn, %455 ], [ %200, %199 ] call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %14) #19 - br label %459 + br label %457 -459: ; preds = %.loopexit, %.loopexit.split-lp, %458 - %.sroa.0132.0178 = phi ptr [ %.sroa.0132.0.lcssa, %458 ], [ %.sroa.0132.0191, %.loopexit ], [ %.sroa.0132.0190, %.loopexit.split-lp ] - %.pn106 = phi { ptr, i32 } [ %.pn101.pn.pn.pn, %458 ], [ %lpad.loopexit, %.loopexit ], [ %lpad.loopexit.split-lp, %.loopexit.split-lp ] +457: ; preds = %.loopexit, %.loopexit.split-lp, %456 + %.sroa.0132.0178 = phi ptr [ %.sroa.0132.0.lcssa, %456 ], [ %.sroa.0132.0191, %.loopexit ], [ %.sroa.0132.0190, %.loopexit.split-lp ] + %.pn106 = phi { ptr, i32 } [ %.pn101.pn.pn.pn, %456 ], [ %lpad.loopexit, %.loopexit ], [ %lpad.loopexit.split-lp, %.loopexit.split-lp ] %.not.i.i.i127 = icmp eq ptr %.sroa.0132.0178, null - br i1 %.not.i.i.i127, label %_ZNSt6vectorIN2cv6DMatchESaIS1_EED2Ev.exit128, label %460 + br i1 %.not.i.i.i127, label %_ZNSt6vectorIN2cv6DMatchESaIS1_EED2Ev.exit128, label %458 -460: ; preds = %459 +458: ; preds = %457 call void @_ZdlPv(ptr noundef nonnull %.sroa.0132.0178) #23 br label %_ZNSt6vectorIN2cv6DMatchESaIS1_EED2Ev.exit128 -_ZNSt6vectorIN2cv6DMatchESaIS1_EED2Ev.exit128: ; preds = %460, %459, %110, %102, %96, %80 - %.pn106.pn = phi { ptr, i32 } [ %111, %110 ], [ %103, %102 ], [ %.pn85, %96 ], [ %.pn, %80 ], [ %.pn106, %459 ], [ %.pn106, %460 ] +_ZNSt6vectorIN2cv6DMatchESaIS1_EED2Ev.exit128: ; preds = %458, %457, %108, %100, %96, %80 + %.pn106.pn = phi { ptr, i32 } [ %109, %108 ], [ %101, %100 ], [ %.pn85, %96 ], [ %.pn, %80 ], [ %.pn106, %457 ], [ %.pn106, %458 ] call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %7) #19 - br label %461 + br label %459 -461: ; preds = %_ZNSt6vectorIN2cv6DMatchESaIS1_EED2Ev.exit128, %71 +459: ; preds = %_ZNSt6vectorIN2cv6DMatchESaIS1_EED2Ev.exit128, %71 %.pn106.pn.pn = phi { ptr, i32 } [ %.pn106.pn, %_ZNSt6vectorIN2cv6DMatchESaIS1_EED2Ev.exit128 ], [ %72, %71 ] call void @_ZN2cv3MatD1Ev(ptr noundef nonnull align 8 dereferenceable(96) %6) #19 - br label %462 + br label %460 -462: ; preds = %461, %69 - %.pn106.pn.pn.pn = phi { ptr, i32 } [ %.pn106.pn.pn, %461 ], [ %70, %69 ] +460: ; preds = %459, %69 + %.pn106.pn.pn.pn = phi { ptr, i32 } [ %.pn106.pn.pn, %459 ], [ %70, %69 ] call void @_ZN2cv5utils5trace7details6RegionD2Ev(ptr noundef nonnull align 8 dereferenceable(12) %5) #19 resume { ptr, i32 } %.pn106.pn.pn.pn } diff --git a/bench/openjdk/optimized/escape.ll b/bench/openjdk/optimized/escape.ll index 0b3082cc7a5..441cb88e6ce 100644 --- a/bench/openjdk/optimized/escape.ll +++ b/bench/openjdk/optimized/escape.ll @@ -20367,15 +20367,15 @@ define hidden noundef ptr @_ZN15ConnectionGraph13find_inst_memEP4NodeiR13Growabl %33 = getelementptr inbounds nuw i8, ptr %11, i64 40 %34 = getelementptr inbounds nuw i8, ptr %3, i64 8 %35 = getelementptr inbounds nuw i8, ptr %3, i64 4 - %36 = getelementptr inbounds nuw i8, ptr %22, i64 76 - %37 = getelementptr inbounds nuw i8, ptr %22, i64 16 - %38 = getelementptr inbounds nuw i8, ptr %22, i64 36 - %39 = getelementptr inbounds nuw i8, ptr %9, i64 352 - %40 = getelementptr inbounds nuw i8, ptr %9, i64 376 + %36 = getelementptr inbounds nuw i8, ptr %22, i64 16 + %37 = getelementptr inbounds nuw i8, ptr %22, i64 36 + %38 = getelementptr inbounds nuw i8, ptr %9, i64 352 + %39 = getelementptr inbounds nuw i8, ptr %9, i64 376 + %40 = getelementptr inbounds nuw i8, ptr %22, i64 76 br i1 %29, label %.lr.ph.split.us.split, label %.lr.ph.split .lr.ph.split.us.split: ; preds = %.lr.ph, %.backedge.us - %41 = phi ptr [ %303, %.backedge.us ], [ %1, %.lr.ph ] + %41 = phi ptr [ %301, %.backedge.us ], [ %1, %.lr.ph ] %42 = getelementptr inbounds nuw i8, ptr %41, i64 44 %43 = load i32, ptr %42, align 4 %44 = and i32 %43, 31 @@ -20421,12 +20421,12 @@ define hidden noundef ptr @_ZN15ConnectionGraph13find_inst_memEP4NodeiR13Growabl %73 = phi ptr [ %70, %65 ], [ %41, %.lr.ph.split.us.split ] %74 = and i32 %72, 15 %75 = icmp eq i32 %74, 8 - br i1 %75, label %116, label %76 + br i1 %75, label %155, label %76 76: ; preds = %71 %77 = and i32 %72, 255 %78 = icmp eq i32 %77, 128 - br i1 %78, label %191, label %79 + br i1 %78, label %116, label %79 79: ; preds = %76 %80 = icmp eq i32 %74, 12 @@ -20515,450 +20515,445 @@ _ZN26GrowableArrayWithAllocatorIP7PhiNode13GrowableArrayIS1_EE17append_if_missin store ptr %.0.i110131.us, ptr %5, align 8 br label %.backedge.us -116: ; preds = %71 - %117 = getelementptr inbounds nuw i8, ptr %73, i64 52 - %118 = load i32, ptr %117, align 4 - %119 = icmp eq i32 %118, 2 - br i1 %119, label %230, label %.thread127.us - -.thread127.us: ; preds = %116 - %120 = and i32 %72, 248 - %121 = icmp eq i32 %120, 128 - br i1 %121, label %191, label %.thread128.us - -.thread128.us: ; preds = %..thread128.us_crit_edge, %.thread127.us, %79 - %122 = phi i32 [ %72, %.thread127.us ], [ %.pre146, %..thread128.us_crit_edge ], [ %72, %79 ] - %123 = phi ptr [ %73, %.thread127.us ], [ %.pre144, %..thread128.us_crit_edge ], [ %73, %79 ] - %124 = and i32 %122, 32767 - %125 = icmp eq i32 %124, 16384 - br i1 %125, label %188, label %126 - -126: ; preds = %.thread128.us - %127 = load ptr, ptr %123, align 8 - %128 = load ptr, ptr %127, align 8 - %129 = call noundef i32 %128(ptr noundef nonnull align 8 dereferenceable(52) %123) #12 - %130 = icmp eq i32 %129, 311 - %131 = load ptr, ptr %5, align 8 - br i1 %130, label %160, label %132 +116: ; preds = %76 + %117 = load i32, ptr %36, align 8 + switch i32 %117, label %130 [ + i32 18, label %_ZN15ConnectionGraph21step_through_mergememEP12MergeMemNodeiPK10TypeOopPtr.exit.us + i32 21, label %118 + ] -132: ; preds = %126 - %133 = load ptr, ptr %131, align 8 - %134 = load ptr, ptr %133, align 8 - %135 = call noundef i32 %134(ptr noundef nonnull align 8 dereferenceable(52) %131) #12 - %136 = icmp eq i32 %135, 339 +118: ; preds = %116 + %119 = load ptr, ptr %22, align 8 + %120 = getelementptr inbounds nuw i8, ptr %119, i64 232 + %121 = load ptr, ptr %120, align 8 + %122 = call noundef ptr %121(ptr noundef nonnull align 8 dereferenceable(80) %22) #12 + %123 = load ptr, ptr %122, align 8 + %124 = getelementptr inbounds nuw i8, ptr %123, i64 176 + %125 = load ptr, ptr %124, align 8 + %126 = call noundef zeroext i1 %125(ptr noundef nonnull align 8 dereferenceable(144) %122) #12 + br i1 %126, label %127, label %130 + +127: ; preds = %118 + %128 = load i32, ptr %37, align 4 + %129 = icmp eq i32 %128, -2000000001 + br i1 %129, label %_ZN15ConnectionGraph21step_through_mergememEP12MergeMemNodeiPK10TypeOopPtr.exit.us, label %130 + +130: ; preds = %127, %118, %116 + %131 = call noundef ptr @_ZNK12MergeMemNode9memory_atEj(ptr noundef nonnull align 8 dereferenceable(52) %73, i32 noundef %2) #12 + br label %_ZN15ConnectionGraph21step_through_mergememEP12MergeMemNodeiPK10TypeOopPtr.exit.us + +_ZN15ConnectionGraph21step_through_mergememEP12MergeMemNodeiPK10TypeOopPtr.exit.us: ; preds = %130, %127, %116 + %.0.i.us = phi ptr [ %73, %127 ], [ %131, %130 ], [ %73, %116 ] + store ptr %.0.i.us, ptr %5, align 8 + %132 = getelementptr inbounds nuw i8, ptr %73, i64 8 + %133 = load ptr, ptr %132, align 8 + %134 = getelementptr inbounds nuw i8, ptr %133, i64 16 + %135 = load ptr, ptr %134, align 8 + %136 = icmp eq ptr %.0.i.us, %135 br i1 %136, label %137, label %.backedge.us -137: ; preds = %132 - %138 = load ptr, ptr %5, align 8 - %139 = getelementptr inbounds nuw i8, ptr %138, i64 8 +137: ; preds = %_ZN15ConnectionGraph21step_through_mergememEP12MergeMemNodeiPK10TypeOopPtr.exit.us + %138 = load ptr, ptr %12, align 8 + %139 = getelementptr inbounds ptr, ptr %138, i64 %14 %140 = load ptr, ptr %139, align 8 - %141 = getelementptr inbounds nuw i8, ptr %140, i64 24 - %142 = load ptr, ptr %141, align 8 - %143 = load ptr, ptr %33, align 8 - %144 = getelementptr inbounds nuw i8, ptr %142, i64 40 - %145 = load i32, ptr %144, align 8 - %146 = getelementptr inbounds nuw i8, ptr %143, i64 16 - %147 = load ptr, ptr %146, align 8 - %148 = zext i32 %145 to i64 - %149 = getelementptr inbounds nuw ptr, ptr %147, i64 %148 - %150 = load ptr, ptr %149, align 8 - %151 = load ptr, ptr @_ZN4Type3TOPE, align 8 - %.not104.us = icmp eq ptr %150, %151 - br i1 %.not104.us, label %156, label %152 - -152: ; preds = %137 - %153 = call noundef ptr @_ZN7Compile15find_alias_typeEPK7TypePtrbP7ciField(ptr noundef nonnull align 8 dereferenceable(2316) %9, ptr noundef %150, i1 noundef zeroext false, ptr noundef null) #12 - %154 = load i32, ptr %153, align 8 - %155 = icmp eq i32 %154, %2 - br i1 %155, label %._crit_edge, label %._crit_edge147 - -._crit_edge147: ; preds = %152 - %.pre148 = load ptr, ptr %5, align 8 - %.phi.trans.insert149 = getelementptr inbounds nuw i8, ptr %.pre148, i64 8 - %.pre150 = load ptr, ptr %.phi.trans.insert149, align 8 - br label %156 - -156: ; preds = %._crit_edge147, %137 - %157 = phi ptr [ %.pre150, %._crit_edge147 ], [ %140, %137 ] - %158 = getelementptr inbounds nuw i8, ptr %157, i64 8 - %159 = load ptr, ptr %158, align 8 - store ptr %159, ptr %5, align 8 + %141 = getelementptr inbounds nuw i8, ptr %140, i64 36 + %142 = load i32, ptr %141, align 4 + %.not.i.i.us = icmp eq i32 %142, 0 + %143 = load i32, ptr %140, align 8 + %144 = select i1 %.not.i.i.us, i32 %143, i32 %142 + %145 = call noundef ptr @_ZNK12MergeMemNode9memory_atEj(ptr noundef nonnull align 8 dereferenceable(52) %73, i32 noundef %144) #12 + store ptr %145, ptr %5, align 8 + %146 = call noundef ptr @_ZN15ConnectionGraph13find_inst_memEP4NodeiR13GrowableArrayIP7PhiNodeE(ptr noundef nonnull align 8 dereferenceable(232) %0, ptr noundef %145, i32 noundef %2, ptr noundef nonnull align 8 dereferenceable(24) %3) + store ptr %146, ptr %5, align 8 + %147 = load ptr, ptr %38, align 8 + %148 = getelementptr inbounds nuw i8, ptr %147, i64 88 + %149 = load ptr, ptr %148, align 8 + %150 = icmp ne ptr %149, null + %151 = load ptr, ptr %39, align 8 + %152 = icmp ne ptr %151, null + %153 = select i1 %150, i1 true, i1 %152 + br i1 %153, label %.loopexit, label %154 + +154: ; preds = %137 + call void @_ZN12MergeMemNode13set_memory_atEjP4Node(ptr noundef nonnull align 8 dereferenceable(52) %73, i32 noundef %2, ptr noundef %146) #12 br label %.backedge.us -160: ; preds = %126 - %161 = getelementptr inbounds nuw i8, ptr %131, i64 8 - %162 = load ptr, ptr %161, align 8 - %163 = load ptr, ptr %162, align 8 - %164 = getelementptr inbounds nuw i8, ptr %163, i64 44 - %165 = load i32, ptr %164, align 4 - %166 = and i32 %165, 255 - %167 = icmp eq i32 %166, 144 - %168 = getelementptr inbounds nuw i8, ptr %163, i64 8 - %169 = load ptr, ptr %168, align 8 - %. = select i1 %167, i64 16, i64 24 - %170 = getelementptr inbounds nuw i8, ptr %169, i64 %. - %.092.us = load ptr, ptr %170, align 8 - %171 = load ptr, ptr %33, align 8 - %172 = getelementptr inbounds nuw i8, ptr %.092.us, i64 40 - %173 = load i32, ptr %172, align 8 - %174 = getelementptr inbounds nuw i8, ptr %171, i64 16 - %175 = load ptr, ptr %174, align 8 - %176 = zext i32 %173 to i64 - %177 = getelementptr inbounds nuw ptr, ptr %175, i64 %176 - %178 = load ptr, ptr %177, align 8 - %179 = load ptr, ptr @_ZN4Type3TOPE, align 8 - %.not105.us = icmp eq ptr %178, %179 - br i1 %.not105.us, label %184, label %180 - -180: ; preds = %160 - %181 = call noundef ptr @_ZN7Compile15find_alias_typeEPK7TypePtrbP7ciField(ptr noundef nonnull align 8 dereferenceable(2316) %9, ptr noundef %178, i1 noundef zeroext false, ptr noundef null) #12 - %182 = load i32, ptr %181, align 8 - %183 = icmp eq i32 %182, %2 - br i1 %183, label %._crit_edge, label %._crit_edge151 +155: ; preds = %71 + %156 = getelementptr inbounds nuw i8, ptr %73, i64 52 + %157 = load i32, ptr %156, align 4 + %158 = icmp eq i32 %157, 2 + br i1 %158, label %228, label %.thread128.us + +.thread128.us: ; preds = %..thread128.us_crit_edge, %155, %79 + %159 = phi i32 [ %72, %155 ], [ %.pre146, %..thread128.us_crit_edge ], [ %72, %79 ] + %160 = phi ptr [ %73, %155 ], [ %.pre144, %..thread128.us_crit_edge ], [ %73, %79 ] + %161 = and i32 %159, 32767 + %162 = icmp eq i32 %161, 16384 + br i1 %162, label %225, label %163 + +163: ; preds = %.thread128.us + %164 = load ptr, ptr %160, align 8 + %165 = load ptr, ptr %164, align 8 + %166 = call noundef i32 %165(ptr noundef nonnull align 8 dereferenceable(52) %160) #12 + %167 = icmp eq i32 %166, 311 + %168 = load ptr, ptr %5, align 8 + br i1 %167, label %197, label %169 -._crit_edge151: ; preds = %180 - %.phi.trans.insert152 = getelementptr inbounds nuw i8, ptr %163, i64 8 - %.pre153 = load ptr, ptr %.phi.trans.insert152, align 8 - br label %184 +169: ; preds = %163 + %170 = load ptr, ptr %168, align 8 + %171 = load ptr, ptr %170, align 8 + %172 = call noundef i32 %171(ptr noundef nonnull align 8 dereferenceable(52) %168) #12 + %173 = icmp eq i32 %172, 339 + br i1 %173, label %174, label %.backedge.us -184: ; preds = %._crit_edge151, %160 - %185 = phi ptr [ %.pre153, %._crit_edge151 ], [ %169, %160 ] - %186 = getelementptr inbounds nuw i8, ptr %185, i64 8 +174: ; preds = %169 + %175 = load ptr, ptr %5, align 8 + %176 = getelementptr inbounds nuw i8, ptr %175, i64 8 + %177 = load ptr, ptr %176, align 8 + %178 = getelementptr inbounds nuw i8, ptr %177, i64 24 + %179 = load ptr, ptr %178, align 8 + %180 = load ptr, ptr %33, align 8 + %181 = getelementptr inbounds nuw i8, ptr %179, i64 40 + %182 = load i32, ptr %181, align 8 + %183 = getelementptr inbounds nuw i8, ptr %180, i64 16 + %184 = load ptr, ptr %183, align 8 + %185 = zext i32 %182 to i64 + %186 = getelementptr inbounds nuw ptr, ptr %184, i64 %185 %187 = load ptr, ptr %186, align 8 - store ptr %187, ptr %5, align 8 - br label %.backedge.us + %188 = load ptr, ptr @_ZN4Type3TOPE, align 8 + %.not104.us = icmp eq ptr %187, %188 + br i1 %.not104.us, label %193, label %189 -188: ; preds = %.thread128.us - %189 = load i32, ptr %36, align 4 - %190 = call noundef zeroext i1 @_ZN14ClearArrayNode12step_throughEPP4NodejP11PhaseValues(ptr noundef nonnull %5, i32 noundef %189, ptr noundef %11) #12 - br i1 %190, label %.backedge.us, label %._crit_edge +189: ; preds = %174 + %190 = call noundef ptr @_ZN7Compile15find_alias_typeEPK7TypePtrbP7ciField(ptr noundef nonnull align 8 dereferenceable(2316) %9, ptr noundef %187, i1 noundef zeroext false, ptr noundef null) #12 + %191 = load i32, ptr %190, align 8 + %192 = icmp eq i32 %191, %2 + br i1 %192, label %._crit_edge, label %._crit_edge147 -191: ; preds = %.thread127.us, %76 - %192 = load i32, ptr %37, align 8 - switch i32 %192, label %205 [ - i32 18, label %_ZN15ConnectionGraph21step_through_mergememEP12MergeMemNodeiPK10TypeOopPtr.exit.us - i32 21, label %193 - ] +._crit_edge147: ; preds = %189 + %.pre148 = load ptr, ptr %5, align 8 + %.phi.trans.insert149 = getelementptr inbounds nuw i8, ptr %.pre148, i64 8 + %.pre150 = load ptr, ptr %.phi.trans.insert149, align 8 + br label %193 -193: ; preds = %191 - %194 = load ptr, ptr %22, align 8 - %195 = getelementptr inbounds nuw i8, ptr %194, i64 232 +193: ; preds = %._crit_edge147, %174 + %194 = phi ptr [ %.pre150, %._crit_edge147 ], [ %177, %174 ] + %195 = getelementptr inbounds nuw i8, ptr %194, i64 8 %196 = load ptr, ptr %195, align 8 - %197 = call noundef ptr %196(ptr noundef nonnull align 8 dereferenceable(80) %22) #12 - %198 = load ptr, ptr %197, align 8 - %199 = getelementptr inbounds nuw i8, ptr %198, i64 176 + store ptr %196, ptr %5, align 8 + br label %.backedge.us + +197: ; preds = %163 + %198 = getelementptr inbounds nuw i8, ptr %168, i64 8 + %199 = load ptr, ptr %198, align 8 %200 = load ptr, ptr %199, align 8 - %201 = call noundef zeroext i1 %200(ptr noundef nonnull align 8 dereferenceable(144) %197) #12 - br i1 %201, label %202, label %205 + %201 = getelementptr inbounds nuw i8, ptr %200, i64 44 + %202 = load i32, ptr %201, align 4 + %203 = and i32 %202, 255 + %204 = icmp eq i32 %203, 144 + %205 = getelementptr inbounds nuw i8, ptr %200, i64 8 + %206 = load ptr, ptr %205, align 8 + %. = select i1 %204, i64 16, i64 24 + %207 = getelementptr inbounds nuw i8, ptr %206, i64 %. + %.092.us = load ptr, ptr %207, align 8 + %208 = load ptr, ptr %33, align 8 + %209 = getelementptr inbounds nuw i8, ptr %.092.us, i64 40 + %210 = load i32, ptr %209, align 8 + %211 = getelementptr inbounds nuw i8, ptr %208, i64 16 + %212 = load ptr, ptr %211, align 8 + %213 = zext i32 %210 to i64 + %214 = getelementptr inbounds nuw ptr, ptr %212, i64 %213 + %215 = load ptr, ptr %214, align 8 + %216 = load ptr, ptr @_ZN4Type3TOPE, align 8 + %.not105.us = icmp eq ptr %215, %216 + br i1 %.not105.us, label %221, label %217 + +217: ; preds = %197 + %218 = call noundef ptr @_ZN7Compile15find_alias_typeEPK7TypePtrbP7ciField(ptr noundef nonnull align 8 dereferenceable(2316) %9, ptr noundef %215, i1 noundef zeroext false, ptr noundef null) #12 + %219 = load i32, ptr %218, align 8 + %220 = icmp eq i32 %219, %2 + br i1 %220, label %._crit_edge, label %._crit_edge151 + +._crit_edge151: ; preds = %217 + %.phi.trans.insert152 = getelementptr inbounds nuw i8, ptr %200, i64 8 + %.pre153 = load ptr, ptr %.phi.trans.insert152, align 8 + br label %221 -202: ; preds = %193 - %203 = load i32, ptr %38, align 4 - %204 = icmp eq i32 %203, -2000000001 - br i1 %204, label %_ZN15ConnectionGraph21step_through_mergememEP12MergeMemNodeiPK10TypeOopPtr.exit.us, label %205 +221: ; preds = %._crit_edge151, %197 + %222 = phi ptr [ %.pre153, %._crit_edge151 ], [ %206, %197 ] + %223 = getelementptr inbounds nuw i8, ptr %222, i64 8 + %224 = load ptr, ptr %223, align 8 + store ptr %224, ptr %5, align 8 + br label %.backedge.us -205: ; preds = %202, %193, %191 - %206 = call noundef ptr @_ZNK12MergeMemNode9memory_atEj(ptr noundef nonnull align 8 dereferenceable(52) %73, i32 noundef %2) #12 - br label %_ZN15ConnectionGraph21step_through_mergememEP12MergeMemNodeiPK10TypeOopPtr.exit.us +225: ; preds = %.thread128.us + %226 = load i32, ptr %40, align 4 + %227 = call noundef zeroext i1 @_ZN14ClearArrayNode12step_throughEPP4NodejP11PhaseValues(ptr noundef nonnull %5, i32 noundef %226, ptr noundef %11) #12 + br i1 %227, label %.backedge.us, label %._crit_edge -_ZN15ConnectionGraph21step_through_mergememEP12MergeMemNodeiPK10TypeOopPtr.exit.us: ; preds = %205, %202, %191 - %.0.i.us = phi ptr [ %73, %202 ], [ %206, %205 ], [ %73, %191 ] - store ptr %.0.i.us, ptr %5, align 8 - %207 = getelementptr inbounds nuw i8, ptr %73, i64 8 - %208 = load ptr, ptr %207, align 8 - %209 = getelementptr inbounds nuw i8, ptr %208, i64 16 - %210 = load ptr, ptr %209, align 8 - %211 = icmp eq ptr %.0.i.us, %210 - br i1 %211, label %212, label %.backedge.us +228: ; preds = %155 + %229 = getelementptr inbounds nuw i8, ptr %73, i64 8 + %230 = load ptr, ptr %229, align 8 + %231 = load ptr, ptr %230, align 8 + %232 = getelementptr inbounds nuw i8, ptr %231, i64 44 + %233 = load i32, ptr %232, align 4 + %234 = and i32 %233, 63 + %235 = icmp eq i32 %234, 39 + br i1 %235, label %287, label %236 -212: ; preds = %_ZN15ConnectionGraph21step_through_mergememEP12MergeMemNodeiPK10TypeOopPtr.exit.us - %213 = load ptr, ptr %12, align 8 - %214 = getelementptr inbounds ptr, ptr %213, i64 %14 - %215 = load ptr, ptr %214, align 8 - %216 = getelementptr inbounds nuw i8, ptr %215, i64 36 - %217 = load i32, ptr %216, align 4 - %.not.i.i.us = icmp eq i32 %217, 0 - %218 = load i32, ptr %215, align 8 - %219 = select i1 %.not.i.i.us, i32 %218, i32 %217 - %220 = call noundef ptr @_ZNK12MergeMemNode9memory_atEj(ptr noundef nonnull align 8 dereferenceable(52) %73, i32 noundef %219) #12 - store ptr %220, ptr %5, align 8 - %221 = call noundef ptr @_ZN15ConnectionGraph13find_inst_memEP4NodeiR13GrowableArrayIP7PhiNodeE(ptr noundef nonnull align 8 dereferenceable(232) %0, ptr noundef %220, i32 noundef %2, ptr noundef nonnull align 8 dereferenceable(24) %3) - store ptr %221, ptr %5, align 8 - %222 = load ptr, ptr %39, align 8 - %223 = getelementptr inbounds nuw i8, ptr %222, i64 88 - %224 = load ptr, ptr %223, align 8 - %225 = icmp ne ptr %224, null - %226 = load ptr, ptr %40, align 8 - %227 = icmp ne ptr %226, null - %228 = select i1 %225, i1 true, i1 %227 - br i1 %228, label %.loopexit, label %229 - -229: ; preds = %212 - call void @_ZN12MergeMemNode13set_memory_atEjP4Node(ptr noundef nonnull align 8 dereferenceable(52) %73, i32 noundef %2, ptr noundef %221) #12 - br label %.backedge.us +236: ; preds = %228 + %237 = and i32 %233, 7 + %238 = icmp eq i32 %237, 7 + br i1 %238, label %.thread.us, label %239 -230: ; preds = %116 - %231 = getelementptr inbounds nuw i8, ptr %73, i64 8 - %232 = load ptr, ptr %231, align 8 - %233 = load ptr, ptr %232, align 8 - %234 = getelementptr inbounds nuw i8, ptr %233, i64 44 - %235 = load i32, ptr %234, align 4 - %236 = and i32 %235, 63 - %237 = icmp eq i32 %236, 39 - br i1 %237, label %289, label %238 - -238: ; preds = %230 - %239 = and i32 %235, 7 - %240 = icmp eq i32 %239, 7 - br i1 %240, label %.thread.us, label %241 - -241: ; preds = %238 - %242 = icmp eq i32 %236, 49 - br i1 %242, label %277, label %.thread126.us - -.thread126.us: ; preds = %241 - %243 = and i32 %235, 31 - %244 = icmp eq i32 %243, 17 - br i1 %244, label %245, label %.backedge.us - -245: ; preds = %.thread126.us - %246 = load ptr, ptr @_ZN10BarrierSet12_barrier_setE, align 8 - %247 = getelementptr inbounds nuw i8, ptr %246, i64 40 - %248 = load ptr, ptr %247, align 8 - %249 = getelementptr inbounds nuw i8, ptr %233, i64 8 - %250 = load ptr, ptr %249, align 8 - %251 = load ptr, ptr %250, align 8 - %252 = load ptr, ptr %248, align 8 - %253 = getelementptr inbounds nuw i8, ptr %252, i64 168 - %254 = load ptr, ptr %253, align 8 - %255 = call noundef ptr %254(ptr noundef nonnull align 8 dereferenceable(8) %248, ptr noundef %251) #12 - %256 = getelementptr inbounds nuw i8, ptr %255, i64 44 - %257 = load i32, ptr %256, align 4 - %258 = and i32 %257, 15 - %259 = icmp eq i32 %258, 8 - br i1 %259, label %260, label %273 +239: ; preds = %236 + %240 = icmp eq i32 %234, 49 + br i1 %240, label %275, label %.thread126.us -260: ; preds = %245 - %261 = getelementptr inbounds nuw i8, ptr %255, i64 8 - %262 = load ptr, ptr %261, align 8 - %263 = load ptr, ptr %262, align 8 - %264 = getelementptr inbounds nuw i8, ptr %263, i64 44 - %265 = load i32, ptr %264, align 4 - %266 = and i32 %265, 255 - %267 = icmp eq i32 %266, 135 - br i1 %267, label %268, label %273 - -268: ; preds = %260 - %269 = load ptr, ptr %263, align 8 - %270 = getelementptr inbounds nuw i8, ptr %269, i64 224 - %271 = load ptr, ptr %270, align 8 - %272 = call noundef zeroext i1 %271(ptr noundef nonnull align 8 dereferenceable(152) %263, ptr noundef %22, ptr noundef %11) #12 - br i1 %272, label %._crit_edge, label %273 - -273: ; preds = %268, %260, %245 - %274 = load ptr, ptr %249, align 8 - %275 = getelementptr inbounds nuw i8, ptr %274, i64 16 - %276 = load ptr, ptr %275, align 8 - store ptr %276, ptr %5, align 8 +.thread126.us: ; preds = %239 + %241 = and i32 %233, 31 + %242 = icmp eq i32 %241, 17 + br i1 %242, label %243, label %.backedge.us + +243: ; preds = %.thread126.us + %244 = load ptr, ptr @_ZN10BarrierSet12_barrier_setE, align 8 + %245 = getelementptr inbounds nuw i8, ptr %244, i64 40 + %246 = load ptr, ptr %245, align 8 + %247 = getelementptr inbounds nuw i8, ptr %231, i64 8 + %248 = load ptr, ptr %247, align 8 + %249 = load ptr, ptr %248, align 8 + %250 = load ptr, ptr %246, align 8 + %251 = getelementptr inbounds nuw i8, ptr %250, i64 168 + %252 = load ptr, ptr %251, align 8 + %253 = call noundef ptr %252(ptr noundef nonnull align 8 dereferenceable(8) %246, ptr noundef %249) #12 + %254 = getelementptr inbounds nuw i8, ptr %253, i64 44 + %255 = load i32, ptr %254, align 4 + %256 = and i32 %255, 15 + %257 = icmp eq i32 %256, 8 + br i1 %257, label %258, label %271 + +258: ; preds = %243 + %259 = getelementptr inbounds nuw i8, ptr %253, i64 8 + %260 = load ptr, ptr %259, align 8 + %261 = load ptr, ptr %260, align 8 + %262 = getelementptr inbounds nuw i8, ptr %261, i64 44 + %263 = load i32, ptr %262, align 4 + %264 = and i32 %263, 255 + %265 = icmp eq i32 %264, 135 + br i1 %265, label %266, label %271 + +266: ; preds = %258 + %267 = load ptr, ptr %261, align 8 + %268 = getelementptr inbounds nuw i8, ptr %267, i64 224 + %269 = load ptr, ptr %268, align 8 + %270 = call noundef zeroext i1 %269(ptr noundef nonnull align 8 dereferenceable(152) %261, ptr noundef %22, ptr noundef %11) #12 + br i1 %270, label %._crit_edge, label %271 + +271: ; preds = %266, %258, %243 + %272 = load ptr, ptr %247, align 8 + %273 = getelementptr inbounds nuw i8, ptr %272, i64 16 + %274 = load ptr, ptr %273, align 8 + store ptr %274, ptr %5, align 8 br label %.backedge.us -277: ; preds = %241 - %278 = call noundef ptr @_ZN14InitializeNode10allocationEv(ptr noundef nonnull align 8 dereferenceable(73) %233) #12 - %279 = icmp eq ptr %278, null - br i1 %279, label %284, label %280 +275: ; preds = %239 + %276 = call noundef ptr @_ZN14InitializeNode10allocationEv(ptr noundef nonnull align 8 dereferenceable(73) %231) #12 + %277 = icmp eq ptr %276, null + br i1 %277, label %282, label %278 -280: ; preds = %277 - %281 = getelementptr inbounds nuw i8, ptr %278, i64 40 - %282 = load i32, ptr %281, align 8 - %283 = load i32, ptr %36, align 4 - %.not107.us = icmp eq i32 %282, %283 - br i1 %.not107.us, label %.backedge.us, label %284 +278: ; preds = %275 + %279 = getelementptr inbounds nuw i8, ptr %276, i64 40 + %280 = load i32, ptr %279, align 8 + %281 = load i32, ptr %40, align 4 + %.not107.us = icmp eq i32 %280, %281 + br i1 %.not107.us, label %.backedge.us, label %282 -284: ; preds = %280, %277 - %285 = getelementptr inbounds nuw i8, ptr %233, i64 8 +282: ; preds = %278, %275 + %283 = getelementptr inbounds nuw i8, ptr %231, i64 8 + %284 = load ptr, ptr %283, align 8 + %285 = getelementptr inbounds nuw i8, ptr %284, i64 16 %286 = load ptr, ptr %285, align 8 - %287 = getelementptr inbounds nuw i8, ptr %286, i64 16 - %288 = load ptr, ptr %287, align 8 - store ptr %288, ptr %5, align 8 + store ptr %286, ptr %5, align 8 br label %.backedge.us -289: ; preds = %230 - %290 = getelementptr inbounds nuw i8, ptr %233, i64 40 - %291 = load i32, ptr %290, align 8 - %292 = load i32, ptr %36, align 4 - %293 = icmp eq i32 %291, %292 - br i1 %293, label %._crit_edge, label %.thread.us - -.thread.us: ; preds = %289, %238 - %294 = load ptr, ptr %233, align 8 - %295 = getelementptr inbounds nuw i8, ptr %294, i64 224 - %296 = load ptr, ptr %295, align 8 - %297 = call noundef zeroext i1 %296(ptr noundef nonnull align 8 dereferenceable(128) %233, ptr noundef %22, ptr noundef %11) #12 - br i1 %297, label %.backedge.us, label %298 - -298: ; preds = %.thread.us - %299 = getelementptr inbounds nuw i8, ptr %233, i64 8 +287: ; preds = %228 + %288 = getelementptr inbounds nuw i8, ptr %231, i64 40 + %289 = load i32, ptr %288, align 8 + %290 = load i32, ptr %40, align 4 + %291 = icmp eq i32 %289, %290 + br i1 %291, label %._crit_edge, label %.thread.us + +.thread.us: ; preds = %287, %236 + %292 = load ptr, ptr %231, align 8 + %293 = getelementptr inbounds nuw i8, ptr %292, i64 224 + %294 = load ptr, ptr %293, align 8 + %295 = call noundef zeroext i1 %294(ptr noundef nonnull align 8 dereferenceable(128) %231, ptr noundef %22, ptr noundef %11) #12 + br i1 %295, label %.backedge.us, label %296 + +296: ; preds = %.thread.us + %297 = getelementptr inbounds nuw i8, ptr %231, i64 8 + %298 = load ptr, ptr %297, align 8 + %299 = getelementptr inbounds nuw i8, ptr %298, i64 16 %300 = load ptr, ptr %299, align 8 - %301 = getelementptr inbounds nuw i8, ptr %300, i64 16 - %302 = load ptr, ptr %301, align 8 - store ptr %302, ptr %5, align 8 + store ptr %300, ptr %5, align 8 br label %.backedge.us -.backedge.us: ; preds = %298, %.thread.us, %284, %280, %273, %.thread126.us, %229, %_ZN15ConnectionGraph21step_through_mergememEP12MergeMemNodeiPK10TypeOopPtr.exit.us, %188, %184, %156, %132, %_ZN26GrowableArrayWithAllocatorIP7PhiNode13GrowableArrayIS1_EE17append_if_missingERKS1_.exit.us - %303 = load ptr, ptr %5, align 8 - %.not102.us = icmp eq ptr %41, %303 - %304 = icmp eq ptr %303, %31 - %or.cond.us = or i1 %.not102.us, %304 +.backedge.us: ; preds = %296, %.thread.us, %282, %278, %271, %.thread126.us, %225, %221, %193, %169, %154, %_ZN15ConnectionGraph21step_through_mergememEP12MergeMemNodeiPK10TypeOopPtr.exit.us, %_ZN26GrowableArrayWithAllocatorIP7PhiNode13GrowableArrayIS1_EE17append_if_missingERKS1_.exit.us + %301 = load ptr, ptr %5, align 8 + %.not102.us = icmp eq ptr %41, %301 + %302 = icmp eq ptr %301, %31 + %or.cond.us = or i1 %.not102.us, %302 br i1 %or.cond.us, label %._crit_edge, label %.lr.ph.split.us.split, !llvm.loop !142 .lr.ph.split: ; preds = %.lr.ph, %.backedge - %305 = phi ptr [ %346, %.backedge ], [ %1, %.lr.ph ] - %306 = getelementptr inbounds nuw i8, ptr %305, i64 44 - %307 = load i32, ptr %306, align 4 - %308 = and i32 %307, 31 - %309 = icmp eq i32 %308, 16 - br i1 %309, label %310, label %.backedge - -310: ; preds = %.lr.ph.split - %311 = getelementptr inbounds nuw i8, ptr %305, i64 8 - %312 = load ptr, ptr %311, align 8 - %313 = getelementptr inbounds nuw i8, ptr %312, i64 16 - %314 = load ptr, ptr %313, align 8 - %315 = load ptr, ptr %33, align 8 - %316 = getelementptr inbounds nuw i8, ptr %314, i64 40 - %317 = load i32, ptr %316, align 8 - %318 = getelementptr inbounds nuw i8, ptr %315, i64 16 - %319 = load ptr, ptr %318, align 8 - %320 = zext i32 %317 to i64 - %321 = getelementptr inbounds nuw ptr, ptr %319, i64 %320 - %322 = load ptr, ptr %321, align 8 - %323 = load ptr, ptr @_ZN4Type3TOPE, align 8 - %324 = icmp eq ptr %322, %323 - br i1 %324, label %._crit_edge, label %325 - -325: ; preds = %310 - %326 = tail call noundef ptr @_ZN7Compile15find_alias_typeEPK7TypePtrbP7ciField(ptr noundef nonnull align 8 dereferenceable(2316) %9, ptr noundef %322, i1 noundef zeroext false, ptr noundef null) #12 - %327 = load i32, ptr %326, align 8 - %328 = icmp eq i32 %327, %2 - br i1 %328, label %._crit_edge, label %329 - -329: ; preds = %325 - %330 = getelementptr inbounds nuw i8, ptr %322, i64 16 - %331 = load i32, ptr %330, align 8 - %332 = add i32 %331, -23 - %or.cond.i109 = icmp ult i32 %332, -3 - %333 = icmp eq ptr %322, null - %334 = or i1 %333, %or.cond.i109 - br i1 %334, label %._crit_edge, label %335 - -335: ; preds = %329 - %336 = load ptr, ptr %322, align 8 - %337 = getelementptr inbounds nuw i8, ptr %336, i64 168 - %338 = load ptr, ptr %337, align 8 - %339 = tail call noundef zeroext i1 %338(ptr noundef nonnull align 8 dereferenceable(80) %322) #12 - br i1 %339, label %340, label %._crit_edge + %303 = phi ptr [ %344, %.backedge ], [ %1, %.lr.ph ] + %304 = getelementptr inbounds nuw i8, ptr %303, i64 44 + %305 = load i32, ptr %304, align 4 + %306 = and i32 %305, 31 + %307 = icmp eq i32 %306, 16 + br i1 %307, label %308, label %.backedge -340: ; preds = %335 - %341 = load ptr, ptr %5, align 8 +308: ; preds = %.lr.ph.split + %309 = getelementptr inbounds nuw i8, ptr %303, i64 8 + %310 = load ptr, ptr %309, align 8 + %311 = getelementptr inbounds nuw i8, ptr %310, i64 16 + %312 = load ptr, ptr %311, align 8 + %313 = load ptr, ptr %33, align 8 + %314 = getelementptr inbounds nuw i8, ptr %312, i64 40 + %315 = load i32, ptr %314, align 8 + %316 = getelementptr inbounds nuw i8, ptr %313, i64 16 + %317 = load ptr, ptr %316, align 8 + %318 = zext i32 %315 to i64 + %319 = getelementptr inbounds nuw ptr, ptr %317, i64 %318 + %320 = load ptr, ptr %319, align 8 + %321 = load ptr, ptr @_ZN4Type3TOPE, align 8 + %322 = icmp eq ptr %320, %321 + br i1 %322, label %._crit_edge, label %323 + +323: ; preds = %308 + %324 = tail call noundef ptr @_ZN7Compile15find_alias_typeEPK7TypePtrbP7ciField(ptr noundef nonnull align 8 dereferenceable(2316) %9, ptr noundef %320, i1 noundef zeroext false, ptr noundef null) #12 + %325 = load i32, ptr %324, align 8 + %326 = icmp eq i32 %325, %2 + br i1 %326, label %._crit_edge, label %327 + +327: ; preds = %323 + %328 = getelementptr inbounds nuw i8, ptr %320, i64 16 + %329 = load i32, ptr %328, align 8 + %330 = add i32 %329, -23 + %or.cond.i109 = icmp ult i32 %330, -3 + %331 = icmp eq ptr %320, null + %332 = or i1 %331, %or.cond.i109 + br i1 %332, label %._crit_edge, label %333 + +333: ; preds = %327 + %334 = load ptr, ptr %320, align 8 + %335 = getelementptr inbounds nuw i8, ptr %334, i64 168 + %336 = load ptr, ptr %335, align 8 + %337 = tail call noundef zeroext i1 %336(ptr noundef nonnull align 8 dereferenceable(80) %320) #12 + br i1 %337, label %338, label %._crit_edge + +338: ; preds = %333 + %339 = load ptr, ptr %5, align 8 + %340 = getelementptr inbounds nuw i8, ptr %339, i64 8 + %341 = load ptr, ptr %340, align 8 %342 = getelementptr inbounds nuw i8, ptr %341, i64 8 %343 = load ptr, ptr %342, align 8 - %344 = getelementptr inbounds nuw i8, ptr %343, i64 8 - %345 = load ptr, ptr %344, align 8 - store ptr %345, ptr %5, align 8 + store ptr %343, ptr %5, align 8 br label %.backedge -.backedge: ; preds = %340, %.lr.ph.split - %346 = phi ptr [ %345, %340 ], [ %305, %.lr.ph.split ] - %.not102 = icmp eq ptr %305, %346 - %347 = icmp eq ptr %346, %31 - %or.cond = or i1 %.not102, %347 +.backedge: ; preds = %338, %.lr.ph.split + %344 = phi ptr [ %343, %338 ], [ %303, %.lr.ph.split ] + %.not102 = icmp eq ptr %303, %344 + %345 = icmp eq ptr %344, %31 + %or.cond = or i1 %.not102, %345 br i1 %or.cond, label %._crit_edge, label %.lr.ph.split, !llvm.loop !142 -._crit_edge: ; preds = %.backedge, %310, %325, %335, %329, %.backedge.us, %46, %61, %289, %268, %_ZN7PhiNode12unique_inputEP11PhaseValues.exit.us, %188, %180, %152, %28 - %348 = load ptr, ptr %5, align 8 - %349 = getelementptr inbounds nuw i8, ptr %348, i64 44 - %350 = load i32, ptr %349, align 4 - %351 = and i32 %350, 15 - %352 = icmp eq i32 %351, 12 - br i1 %352, label %353, label %_ZN26GrowableArrayWithAllocatorIP7PhiNode13GrowableArrayIS1_EE17append_if_missingERKS1_.exit121 - -353: ; preds = %._crit_edge - %354 = load ptr, ptr %348, align 8 - %355 = getelementptr inbounds nuw i8, ptr %354, i64 48 - %356 = load ptr, ptr %355, align 8 - %357 = call noundef ptr %356(ptr noundef nonnull align 8 dereferenceable(88) %348) #12 - br i1 %29, label %385, label %358 - -358: ; preds = %353 - %359 = load i32, ptr %3, align 8 - %360 = icmp sgt i32 %359, 0 - br i1 %360, label %.lr.ph.i.i116, label %.loopexit.i111 - -.lr.ph.i.i116: ; preds = %358 - %361 = getelementptr inbounds nuw i8, ptr %3, i64 8 - %362 = load ptr, ptr %361, align 8 - %wide.trip.count.i.i117 = zext nneg i32 %359 to i64 - br label %364 - -363: ; preds = %364 +._crit_edge: ; preds = %.backedge, %308, %323, %333, %327, %.backedge.us, %46, %61, %287, %266, %_ZN7PhiNode12unique_inputEP11PhaseValues.exit.us, %225, %217, %189, %28 + %346 = load ptr, ptr %5, align 8 + %347 = getelementptr inbounds nuw i8, ptr %346, i64 44 + %348 = load i32, ptr %347, align 4 + %349 = and i32 %348, 15 + %350 = icmp eq i32 %349, 12 + br i1 %350, label %351, label %_ZN26GrowableArrayWithAllocatorIP7PhiNode13GrowableArrayIS1_EE17append_if_missingERKS1_.exit121 + +351: ; preds = %._crit_edge + %352 = load ptr, ptr %346, align 8 + %353 = getelementptr inbounds nuw i8, ptr %352, i64 48 + %354 = load ptr, ptr %353, align 8 + %355 = call noundef ptr %354(ptr noundef nonnull align 8 dereferenceable(88) %346) #12 + br i1 %29, label %383, label %356 + +356: ; preds = %351 + %357 = load i32, ptr %3, align 8 + %358 = icmp sgt i32 %357, 0 + br i1 %358, label %.lr.ph.i.i116, label %.loopexit.i111 + +.lr.ph.i.i116: ; preds = %356 + %359 = getelementptr inbounds nuw i8, ptr %3, i64 8 + %360 = load ptr, ptr %359, align 8 + %wide.trip.count.i.i117 = zext nneg i32 %357 to i64 + br label %362 + +361: ; preds = %362 %indvars.iv.next.i.i119 = add nuw nsw i64 %indvars.iv.i.i118, 1 %exitcond.not.i.i120 = icmp eq i64 %indvars.iv.next.i.i119, %wide.trip.count.i.i117 - br i1 %exitcond.not.i.i120, label %.loopexit.i111, label %364, !llvm.loop !137 - -364: ; preds = %363, %.lr.ph.i.i116 - %indvars.iv.i.i118 = phi i64 [ 0, %.lr.ph.i.i116 ], [ %indvars.iv.next.i.i119, %363 ] - %365 = getelementptr inbounds nuw ptr, ptr %362, i64 %indvars.iv.i.i118 - %366 = load ptr, ptr %365, align 8 - %367 = icmp eq ptr %366, %348 - br i1 %367, label %_ZN26GrowableArrayWithAllocatorIP7PhiNode13GrowableArrayIS1_EE17append_if_missingERKS1_.exit121, label %363 - -.loopexit.i111: ; preds = %363, %358 - %368 = getelementptr inbounds nuw i8, ptr %3, i64 4 - %369 = load i32, ptr %368, align 4 - %370 = icmp eq i32 %359, %369 - br i1 %370, label %371, label %_ZN26GrowableArrayWithAllocatorIP7PhiNode13GrowableArrayIS1_EE6appendERKS1_.exit.i112 - -371: ; preds = %.loopexit.i111 - %372 = add nsw i32 %359, 1 - %373 = icmp sgt i32 %359, -1 - %374 = call range(i32 1, 32) i32 @llvm.ctpop.i32(i32 %372) - %375 = icmp samesign ult i32 %374, 2 - %or.cond.i.i.i.i.i113 = select i1 %373, i1 %375, i1 false - %376 = call range(i32 0, 33) i32 @llvm.ctlz.i32(i32 %372, i1 true) - %377 = sub nuw nsw i32 32, %376 - %378 = shl nuw i32 1, %377 - %.0.i.i.i.i.i114 = select i1 %or.cond.i.i.i.i.i113, i32 %372, i32 %378 + br i1 %exitcond.not.i.i120, label %.loopexit.i111, label %362, !llvm.loop !137 + +362: ; preds = %361, %.lr.ph.i.i116 + %indvars.iv.i.i118 = phi i64 [ 0, %.lr.ph.i.i116 ], [ %indvars.iv.next.i.i119, %361 ] + %363 = getelementptr inbounds nuw ptr, ptr %360, i64 %indvars.iv.i.i118 + %364 = load ptr, ptr %363, align 8 + %365 = icmp eq ptr %364, %346 + br i1 %365, label %_ZN26GrowableArrayWithAllocatorIP7PhiNode13GrowableArrayIS1_EE17append_if_missingERKS1_.exit121, label %361 + +.loopexit.i111: ; preds = %361, %356 + %366 = getelementptr inbounds nuw i8, ptr %3, i64 4 + %367 = load i32, ptr %366, align 4 + %368 = icmp eq i32 %357, %367 + br i1 %368, label %369, label %_ZN26GrowableArrayWithAllocatorIP7PhiNode13GrowableArrayIS1_EE6appendERKS1_.exit.i112 + +369: ; preds = %.loopexit.i111 + %370 = add nsw i32 %357, 1 + %371 = icmp sgt i32 %357, -1 + %372 = call range(i32 1, 32) i32 @llvm.ctpop.i32(i32 %370) + %373 = icmp samesign ult i32 %372, 2 + %or.cond.i.i.i.i.i113 = select i1 %371, i1 %373, i1 false + %374 = call range(i32 0, 33) i32 @llvm.ctlz.i32(i32 %370, i1 true) + %375 = sub nuw nsw i32 32, %374 + %376 = shl nuw i32 1, %375 + %.0.i.i.i.i.i114 = select i1 %or.cond.i.i.i.i.i113, i32 %370, i32 %376 call void @_ZN26GrowableArrayWithAllocatorIP7PhiNode13GrowableArrayIS1_EE9expand_toEi(ptr noundef nonnull align 8 dereferenceable(16) %3, i32 noundef %.0.i.i.i.i.i114) %.pre.i.i115 = load i32, ptr %3, align 8 br label %_ZN26GrowableArrayWithAllocatorIP7PhiNode13GrowableArrayIS1_EE6appendERKS1_.exit.i112 -_ZN26GrowableArrayWithAllocatorIP7PhiNode13GrowableArrayIS1_EE6appendERKS1_.exit.i112: ; preds = %371, %.loopexit.i111 - %379 = phi i32 [ %.pre.i.i115, %371 ], [ %359, %.loopexit.i111 ] - %380 = add nsw i32 %379, 1 - store i32 %380, ptr %3, align 8 - %381 = getelementptr inbounds nuw i8, ptr %3, i64 8 - %382 = load ptr, ptr %381, align 8 - %383 = sext i32 %379 to i64 - %384 = getelementptr inbounds ptr, ptr %382, i64 %383 - store ptr %348, ptr %384, align 8 +_ZN26GrowableArrayWithAllocatorIP7PhiNode13GrowableArrayIS1_EE6appendERKS1_.exit.i112: ; preds = %369, %.loopexit.i111 + %377 = phi i32 [ %.pre.i.i115, %369 ], [ %357, %.loopexit.i111 ] + %378 = add nsw i32 %377, 1 + store i32 %378, ptr %3, align 8 + %379 = getelementptr inbounds nuw i8, ptr %3, i64 8 + %380 = load ptr, ptr %379, align 8 + %381 = sext i32 %377 to i64 + %382 = getelementptr inbounds ptr, ptr %380, i64 %381 + store ptr %346, ptr %382, align 8 br label %_ZN26GrowableArrayWithAllocatorIP7PhiNode13GrowableArrayIS1_EE17append_if_missingERKS1_.exit121 -385: ; preds = %353 - %386 = call noundef ptr @_ZN7Compile15find_alias_typeEPK7TypePtrbP7ciField(ptr noundef nonnull align 8 dereferenceable(2316) %9, ptr noundef %357, i1 noundef zeroext false, ptr noundef null) #12 - %387 = load i32, ptr %386, align 8 - %.not108 = icmp eq i32 %387, %2 - br i1 %.not108, label %_ZN26GrowableArrayWithAllocatorIP7PhiNode13GrowableArrayIS1_EE17append_if_missingERKS1_.exit121, label %388 +383: ; preds = %351 + %384 = call noundef ptr @_ZN7Compile15find_alias_typeEPK7TypePtrbP7ciField(ptr noundef nonnull align 8 dereferenceable(2316) %9, ptr noundef %355, i1 noundef zeroext false, ptr noundef null) #12 + %385 = load i32, ptr %384, align 8 + %.not108 = icmp eq i32 %385, %2 + br i1 %.not108, label %_ZN26GrowableArrayWithAllocatorIP7PhiNode13GrowableArrayIS1_EE17append_if_missingERKS1_.exit121, label %386 -388: ; preds = %385 - %389 = call noundef ptr @_ZN15ConnectionGraph16split_memory_phiEP7PhiNodeiR13GrowableArrayIS1_E(ptr noundef nonnull align 8 dereferenceable(232) %0, ptr noundef nonnull %348, i32 noundef %2, ptr noundef nonnull align 8 dereferenceable(24) %3) - store ptr %389, ptr %5, align 8 +386: ; preds = %383 + %387 = call noundef ptr @_ZN15ConnectionGraph16split_memory_phiEP7PhiNodeiR13GrowableArrayIS1_E(ptr noundef nonnull align 8 dereferenceable(232) %0, ptr noundef nonnull %346, i32 noundef %2, ptr noundef nonnull align 8 dereferenceable(24) %3) + store ptr %387, ptr %5, align 8 br label %_ZN26GrowableArrayWithAllocatorIP7PhiNode13GrowableArrayIS1_EE17append_if_missingERKS1_.exit121 -_ZN26GrowableArrayWithAllocatorIP7PhiNode13GrowableArrayIS1_EE17append_if_missingERKS1_.exit121: ; preds = %364, %_ZN26GrowableArrayWithAllocatorIP7PhiNode13GrowableArrayIS1_EE6appendERKS1_.exit.i112, %388, %385, %._crit_edge - %390 = load ptr, ptr %5, align 8 +_ZN26GrowableArrayWithAllocatorIP7PhiNode13GrowableArrayIS1_EE17append_if_missingERKS1_.exit121: ; preds = %362, %_ZN26GrowableArrayWithAllocatorIP7PhiNode13GrowableArrayIS1_EE6appendERKS1_.exit.i112, %386, %383, %._crit_edge + %388 = load ptr, ptr %5, align 8 br label %.loopexit -.loopexit: ; preds = %212, %4, %_ZN26GrowableArrayWithAllocatorIP7PhiNode13GrowableArrayIS1_EE17append_if_missingERKS1_.exit121 - %.0 = phi ptr [ %390, %_ZN26GrowableArrayWithAllocatorIP7PhiNode13GrowableArrayIS1_EE17append_if_missingERKS1_.exit121 ], [ null, %4 ], [ null, %212 ] +.loopexit: ; preds = %137, %4, %_ZN26GrowableArrayWithAllocatorIP7PhiNode13GrowableArrayIS1_EE17append_if_missingERKS1_.exit121 + %.0 = phi ptr [ %388, %_ZN26GrowableArrayWithAllocatorIP7PhiNode13GrowableArrayIS1_EE17append_if_missingERKS1_.exit121 ], [ null, %4 ], [ null, %137 ] ret ptr %.0 } diff --git a/bench/openspiel/optimized/tabular_best_response_mdp.cc.ll b/bench/openspiel/optimized/tabular_best_response_mdp.cc.ll index 3152441f5d2..2b18fe09ffe 100644 --- a/bench/openspiel/optimized/tabular_best_response_mdp.cc.ll +++ b/bench/openspiel/optimized/tabular_best_response_mdp.cc.ll @@ -2284,10 +2284,10 @@ define void @_ZN10open_spiel10algorithms22TabularBestResponseMDP9BuildMDPsERKNS_ %90 = load ptr, ptr %89, align 8 %91 = tail call noundef zeroext i1 %90(ptr noundef nonnull align 8 dereferenceable(60) %1) %92 = load ptr, ptr %1, align 8 - %.sink1055.sroa.gep = getelementptr inbounds nuw i8, ptr %19, i64 16 - %.sink1055.sroa.gep1309 = getelementptr inbounds nuw i8, ptr %31, i64 16 - %.sink1055.sroa.gep1310 = getelementptr inbounds nuw i8, ptr %34, i64 16 - %.sink1055.sroa.gep1311 = getelementptr inbounds nuw i8, ptr %62, i64 16 + %.sink1051.sroa.gep = getelementptr inbounds nuw i8, ptr %19, i64 16 + %.sink1051.sroa.gep1305 = getelementptr inbounds nuw i8, ptr %31, i64 16 + %.sink1051.sroa.gep1306 = getelementptr inbounds nuw i8, ptr %34, i64 16 + %.sink1051.sroa.gep1307 = getelementptr inbounds nuw i8, ptr %62, i64 16 br i1 %91, label %93, label %195 93: ; preds = %6 @@ -2722,11 +2722,11 @@ _ZNSt10unique_ptrIN10open_spiel5StateESt14default_deleteIS1_EED2Ev.exit252: ; pr br label %271 ._crit_edge730.loopexit: ; preds = %_ZNSt10unique_ptrIN10open_spiel5StateESt14default_deleteIS1_EED2Ev.exit - %.pre859 = load ptr, ptr %31, align 8 + %.pre857 = load ptr, ptr %31, align 8 br label %._crit_edge730 ._crit_edge730: ; preds = %._crit_edge730.loopexit, %200 - %270 = phi ptr [ %.pre859, %._crit_edge730.loopexit ], [ %203, %200 ] + %270 = phi ptr [ %.pre857, %._crit_edge730.loopexit ], [ %203, %200 ] %.not.i.i.i253 = icmp eq ptr %270, null br i1 %.not.i.i.i253, label %_ZNSt6vectorIdSaIdEED2Ev.exit, label %_ZNSt6vectorIdSaIdEED2Ev.exit.sink.split @@ -2750,7 +2750,7 @@ _ZNSt10unique_ptrIN10open_spiel5StateESt14default_deleteIS1_EED2Ev.exit252: ; pr %281 = load ptr, ptr %280, align 8 %282 = tail call noundef i32 %281(ptr noundef nonnull align 8 dereferenceable(60) %1) %283 = icmp eq i32 %282, -2 - br i1 %283, label %284, label %688 + br i1 %283, label %284, label %686 284: ; preds = %279 %285 = getelementptr inbounds nuw i8, ptr %0, i64 40 @@ -2769,7 +2769,7 @@ _ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_S_ch _ZNSt6vectorIPN10open_spiel10algorithms7MDPNodeESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.thread: ; preds = %_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_S_check_init_lenEmRKS6_.exit.i call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %34, i8 0, i64 24, i1 false) - br label %.thread865 + br label %.thread861 _ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2EmRKS6_.exit.i: ; preds = %_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_S_check_init_lenEmRKS6_.exit.i %289 = shl nuw nsw i64 %287, 5 @@ -2806,7 +2806,7 @@ _ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE _ZNSt6vectorIPN10open_spiel10algorithms7MDPNodeESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i: ; preds = %.loopexit592 %.not.i.i.i.i259 = icmp eq i32 %.pre, 0 - br i1 %.not.i.i.i.i259, label %.thread865, label %299 + br i1 %.not.i.i.i.i259, label %.thread861, label %299 299: ; preds = %_ZNSt6vectorIPN10open_spiel10algorithms7MDPNodeESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i %300 = shl nuw nsw i64 %296, 3 @@ -2830,7 +2830,7 @@ _ZNSt6vectorIPN10open_spiel10algorithms7MDPNodeESaIS3_EE17_S_check_init_lenEmRKS %.not.i.i.i.i.i.i.i.i.i266 = icmp eq ptr %305, %304 br i1 %.not.i.i.i.i.i.i.i.i.i266, label %_ZNSt6vectorIS_ISt4pairIldESaIS1_EESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i, label %.lr.ph.i.i.i.i.i.i.i.i.i264, !llvm.loop !54 -.thread865: ; preds = %_ZNSt6vectorIPN10open_spiel10algorithms7MDPNodeESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i, %_ZNSt6vectorIPN10open_spiel10algorithms7MDPNodeESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.thread +.thread861: ; preds = %_ZNSt6vectorIPN10open_spiel10algorithms7MDPNodeESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i, %_ZNSt6vectorIPN10open_spiel10algorithms7MDPNodeESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.thread %306 = phi ptr [ null, %_ZNSt6vectorIPN10open_spiel10algorithms7MDPNodeESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.thread ], [ %290, %_ZNSt6vectorIPN10open_spiel10algorithms7MDPNodeESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i ] %307 = getelementptr inbounds nuw i8, ptr %35, i64 8 %308 = getelementptr inbounds nuw i8, ptr %35, i64 16 @@ -2904,7 +2904,7 @@ _ZNSt6vectorIS_ISt4pairIldESaIS1_EESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i: ; 337: ; preds = %335, %333 %.pn.i = phi { ptr, i32 } [ %336, %335 ], [ %334, %333 ] call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %16) #23, !noalias !55 - br label %.thread915 + br label %.thread911 switch.lookup: ; preds = %325 %338 = zext nneg i32 %328 to i64 @@ -3018,26 +3018,26 @@ _ZNK10open_spiel10algorithms22TabularBestResponseMDP13OpponentReachERKSt6vectorI _ZNSt6vectorIdSaIdEED2Ev.exit356.thread: ; preds = %.noexc262 %380 = landingpad { ptr, i32 } cleanup - br label %684 + br label %682 .thread520: ; preds = %_ZNSt6vectorIS_ISt4pairIldESaIS1_EESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i %381 = landingpad { ptr, i32 } cleanup - br label %680 + br label %678 .loopexit587: ; preds = %353, %422, %switch.lookup, %414, %.noexc296 %lpad.loopexit589 = landingpad { ptr, i32 } cleanup - br label %.thread915 + br label %.thread911 .loopexit.split-lp588: ; preds = %375, %386, %399, %._crit_edge697, %352, %410 - %.sroa.13.0500505905 = phi ptr [ %304, %375 ], [ %304, %386 ], [ %304, %399 ], [ %.sroa.13.0500505903, %._crit_edge697 ], [ %304, %352 ], [ %304, %410 ] - %.sroa.0445.0497507895 = phi ptr [ %303, %375 ], [ %303, %386 ], [ %303, %399 ], [ %.sroa.0445.0497507893, %._crit_edge697 ], [ %303, %352 ], [ %303, %410 ] - %.sroa.12.0480494509885 = phi ptr [ %302, %375 ], [ %302, %386 ], [ %302, %399 ], [ %.sroa.12.0480494509883, %._crit_edge697 ], [ %302, %352 ], [ %302, %410 ] - %.sroa.0457.0483491511875 = phi ptr [ %301, %375 ], [ %301, %386 ], [ %301, %399 ], [ %.sroa.0457.0483491511873, %._crit_edge697 ], [ %301, %352 ], [ %301, %410 ] + %.sroa.13.0500505901 = phi ptr [ %304, %375 ], [ %304, %386 ], [ %304, %399 ], [ %.sroa.13.0500505899, %._crit_edge697 ], [ %304, %352 ], [ %304, %410 ] + %.sroa.0445.0497507891 = phi ptr [ %303, %375 ], [ %303, %386 ], [ %303, %399 ], [ %.sroa.0445.0497507889, %._crit_edge697 ], [ %303, %352 ], [ %303, %410 ] + %.sroa.12.0480494509881 = phi ptr [ %302, %375 ], [ %302, %386 ], [ %302, %399 ], [ %.sroa.12.0480494509879, %._crit_edge697 ], [ %302, %352 ], [ %302, %410 ] + %.sroa.0457.0483491511871 = phi ptr [ %301, %375 ], [ %301, %386 ], [ %301, %399 ], [ %.sroa.0457.0483491511869, %._crit_edge697 ], [ %301, %352 ], [ %301, %410 ] %lpad.loopexit.split-lp590 = landingpad { ptr, i32 } cleanup - br label %679 + br label %677 382: ; preds = %376 %383 = landingpad { ptr, i32 } @@ -3128,7 +3128,7 @@ _ZNSt6vectorIdSaIdEED2Ev.exit356.thread: ; preds = %.noexc262 %413 = landingpad { ptr, i32 } cleanup call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #23 - br label %.thread915 + br label %.thread911 414: ; preds = %404 %415 = getelementptr inbounds nuw i8, ptr %398, i64 16 @@ -3203,14 +3203,14 @@ _ZNSt6vectorISt4pairIldESaIS1_EED2Ev.exit301: ; preds = %428, %441, %_ZNSt6v %448 = icmp slt i64 %indvars.iv.next, %447 br i1 %448, label %322, label %._crit_edge697, !llvm.loop !58 -._crit_edge697: ; preds = %_ZNSt6vectorISt4pairIldESaIS1_EED2Ev.exit301, %.thread865 - %449 = phi ptr [ %308, %.thread865 ], [ %313, %_ZNSt6vectorISt4pairIldESaIS1_EED2Ev.exit301 ] - %450 = phi ptr [ %307, %.thread865 ], [ %312, %_ZNSt6vectorISt4pairIldESaIS1_EED2Ev.exit301 ] - %.sroa.13.0500505903 = phi ptr [ null, %.thread865 ], [ %304, %_ZNSt6vectorISt4pairIldESaIS1_EED2Ev.exit301 ] - %.sroa.0445.0497507893 = phi ptr [ null, %.thread865 ], [ %303, %_ZNSt6vectorISt4pairIldESaIS1_EED2Ev.exit301 ] - %.sroa.12.0480494509883 = phi ptr [ null, %.thread865 ], [ %302, %_ZNSt6vectorISt4pairIldESaIS1_EED2Ev.exit301 ] - %.sroa.0457.0483491511873 = phi ptr [ null, %.thread865 ], [ %301, %_ZNSt6vectorISt4pairIldESaIS1_EED2Ev.exit301 ] - %451 = phi ptr [ %306, %.thread865 ], [ %421, %_ZNSt6vectorISt4pairIldESaIS1_EED2Ev.exit301 ] +._crit_edge697: ; preds = %_ZNSt6vectorISt4pairIldESaIS1_EED2Ev.exit301, %.thread861 + %449 = phi ptr [ %308, %.thread861 ], [ %313, %_ZNSt6vectorISt4pairIldESaIS1_EED2Ev.exit301 ] + %450 = phi ptr [ %307, %.thread861 ], [ %312, %_ZNSt6vectorISt4pairIldESaIS1_EED2Ev.exit301 ] + %.sroa.13.0500505899 = phi ptr [ null, %.thread861 ], [ %304, %_ZNSt6vectorISt4pairIldESaIS1_EED2Ev.exit301 ] + %.sroa.0445.0497507889 = phi ptr [ null, %.thread861 ], [ %303, %_ZNSt6vectorISt4pairIldESaIS1_EED2Ev.exit301 ] + %.sroa.12.0480494509879 = phi ptr [ null, %.thread861 ], [ %302, %_ZNSt6vectorISt4pairIldESaIS1_EED2Ev.exit301 ] + %.sroa.0457.0483491511869 = phi ptr [ null, %.thread861 ], [ %301, %_ZNSt6vectorISt4pairIldESaIS1_EED2Ev.exit301 ] + %451 = phi ptr [ %306, %.thread861 ], [ %421, %_ZNSt6vectorISt4pairIldESaIS1_EED2Ev.exit301 ] %452 = load ptr, ptr %1, align 8 %453 = getelementptr inbounds nuw i8, ptr %452, i64 48 %454 = load ptr, ptr %453, align 8 @@ -3237,15 +3237,15 @@ _ZNSt6vectorISt4pairIldESaIS1_EED2Ev.exit301: ; preds = %428, %441, %_ZNSt6v %468 = icmp eq i32 %5, -3 %469 = getelementptr inbounds nuw i8, ptr %49, i64 16 %470 = zext i32 %5 to i64 - %471 = getelementptr inbounds nuw ptr, ptr %.sroa.0457.0483491511873, i64 %470 + %471 = getelementptr inbounds nuw ptr, ptr %.sroa.0457.0483491511869, i64 %470 br label %507 ._crit_edge725.loopexit: ; preds = %_ZNSt6vectorIlSaIlEED2Ev.exit341 - %.pre858 = load ptr, ptr %48, align 8 + %.pre856 = load ptr, ptr %48, align 8 br label %._crit_edge725 ._crit_edge725: ; preds = %._crit_edge725.loopexit, %455 - %472 = phi ptr [ %.pre858, %._crit_edge725.loopexit ], [ %456, %455 ] + %472 = phi ptr [ %.pre856, %._crit_edge725.loopexit ], [ %456, %455 ] %.not.i.i.i302 = icmp eq ptr %472, null br i1 %.not.i.i.i302, label %_ZNSt6vectorIlSaIlEED2Ev.exit, label %473 @@ -3302,25 +3302,25 @@ _ZSt8_DestroyIPSt6vectorISt4pairIldESaIS2_EES4_EvT_S6_RSaIT0_E.exit.i: ; preds = br label %_ZNSt6vectorIS_ISt4pairIldESaIS1_EESaIS3_EED2Ev.exit _ZNSt6vectorIS_ISt4pairIldESaIS1_EESaIS3_EED2Ev.exit: ; preds = %_ZSt8_DestroyIPSt6vectorISt4pairIldESaIS2_EES4_EvT_S6_RSaIT0_E.exit.i, %490 - %.not.i.i.i305 = icmp eq ptr %.sroa.0445.0497507893, null + %.not.i.i.i305 = icmp eq ptr %.sroa.0445.0497507889, null br i1 %.not.i.i.i305, label %_ZNSt6vectorIdSaIdEED2Ev.exit306, label %495 495: ; preds = %_ZNSt6vectorIS_ISt4pairIldESaIS1_EESaIS3_EED2Ev.exit - %496 = ptrtoint ptr %.sroa.13.0500505903 to i64 - %497 = ptrtoint ptr %.sroa.0445.0497507893 to i64 + %496 = ptrtoint ptr %.sroa.13.0500505899 to i64 + %497 = ptrtoint ptr %.sroa.0445.0497507889 to i64 %498 = sub i64 %496, %497 - call void @_ZdlPvm(ptr noundef nonnull %.sroa.0445.0497507893, i64 noundef %498) #24 + call void @_ZdlPvm(ptr noundef nonnull %.sroa.0445.0497507889, i64 noundef %498) #24 br label %_ZNSt6vectorIdSaIdEED2Ev.exit306 _ZNSt6vectorIdSaIdEED2Ev.exit306: ; preds = %_ZNSt6vectorIS_ISt4pairIldESaIS1_EESaIS3_EED2Ev.exit, %495 - %.not.i.i.i307 = icmp eq ptr %.sroa.0457.0483491511873, null + %.not.i.i.i307 = icmp eq ptr %.sroa.0457.0483491511869, null br i1 %.not.i.i.i307, label %_ZNSt6vectorIPN10open_spiel10algorithms7MDPNodeESaIS3_EED2Ev.exit, label %499 499: ; preds = %_ZNSt6vectorIdSaIdEED2Ev.exit306 - %500 = ptrtoint ptr %.sroa.12.0480494509883 to i64 - %501 = ptrtoint ptr %.sroa.0457.0483491511873 to i64 + %500 = ptrtoint ptr %.sroa.12.0480494509879 to i64 + %501 = ptrtoint ptr %.sroa.0457.0483491511869 to i64 %502 = sub i64 %500, %501 - call void @_ZdlPvm(ptr noundef nonnull %.sroa.0457.0483491511873, i64 noundef %502) #24 + call void @_ZdlPvm(ptr noundef nonnull %.sroa.0457.0483491511869, i64 noundef %502) #24 br label %_ZNSt6vectorIPN10open_spiel10algorithms7MDPNodeESaIS3_EED2Ev.exit _ZNSt6vectorIPN10open_spiel10algorithms7MDPNodeESaIS3_EED2Ev.exit: ; preds = %_ZNSt6vectorIdSaIdEED2Ev.exit306, %499 @@ -3346,17 +3346,17 @@ _ZSt8_DestroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EvT_S7_RSa br i1 %.not.i.i.i313, label %_ZNSt6vectorIdSaIdEED2Ev.exit, label %_ZNSt6vectorIdSaIdEED2Ev.exit.sink.split 507: ; preds = %.lr.ph724, %_ZNSt6vectorIlSaIlEED2Ev.exit341 - %.sroa.0442.0722 = phi ptr [ %456, %.lr.ph724 ], [ %648, %_ZNSt6vectorIlSaIlEED2Ev.exit341 ] + %.sroa.0442.0722 = phi ptr [ %456, %.lr.ph724 ], [ %646, %_ZNSt6vectorIlSaIlEED2Ev.exit341 ] %508 = load i64, ptr %.sroa.0442.0722, align 8 invoke void @_ZNK10open_spiel12SimMoveState24FlatJointActionToActionsEl(ptr dead_on_unwind nonnull writable sret(%"class.std::vector.79") align 8 %49, ptr noundef nonnull align 8 dereferenceable(60) %1, i64 noundef %508) - to label %509 unwind label %599 + to label %509 unwind label %597 509: ; preds = %507 %510 = load ptr, ptr %1, align 8 %511 = getelementptr inbounds nuw i8, ptr %510, i64 192 %512 = load ptr, ptr %511, align 8 invoke void %512(ptr dead_on_unwind nonnull writable sret(%"class.std::unique_ptr.86") align 8 %50, ptr noundef nonnull align 8 dereferenceable(60) %1) - to label %513 unwind label %601 + to label %513 unwind label %599 513: ; preds = %509 %514 = load ptr, ptr %50, align 8 @@ -3501,109 +3501,95 @@ _ZNSt6vectorIlSaIlEEC2ERKS1_.exit: ; preds = %.noexc330.thread, % %562 = getelementptr inbounds nuw ptr, ptr %546, i64 %470 br label %.lr.ph699.split -.lr.ph699.split.us.preheader: ; preds = %.lr.ph699 - %.pre856.pre = load ptr, ptr %49, align 8 - br label %.lr.ph699.split.us - -.lr.ph699.split.us: ; preds = %.lr.ph699.split.us.preheader, %.thread518.us - %.pre856 = phi ptr [ %.pre856.pre, %.lr.ph699.split.us.preheader ], [ %.pre856860, %.thread518.us ] - %563 = phi i32 [ %560, %.lr.ph699.split.us.preheader ], [ %578, %.thread518.us ] - %indvars.iv848 = phi i64 [ 0, %.lr.ph699.split.us.preheader ], [ %indvars.iv.next849, %.thread518.us ] - %.not201.us = icmp eq i64 %indvars.iv848, %470 - br i1 %.not201.us, label %.thread518.us, label %564 - -564: ; preds = %.lr.ph699.split.us - %565 = load ptr, ptr %35, align 8 - %566 = getelementptr inbounds nuw %"class.std::vector", ptr %565, i64 %indvars.iv848 - %567 = getelementptr inbounds nuw i64, ptr %.pre856, i64 %indvars.iv848 - %568 = load i64, ptr %567, align 8 - %569 = invoke noundef double @_ZN10open_spiel7GetProbERKSt6vectorISt4pairIldESaIS2_EEl(ptr noundef nonnull align 8 dereferenceable(24) %566, i64 noundef %568) - to label %570 unwind label %.loopexit564.split.us - -570: ; preds = %564 - store double %569, ptr %54, align 8 +.lr.ph699.split.us.preheader: ; preds = %.lr.ph699, %.thread518.us + %indvars.iv848 = phi i64 [ %indvars.iv.next849, %.thread518.us ], [ 0, %.lr.ph699 ] + %563 = load ptr, ptr %35, align 8 + %564 = getelementptr inbounds nuw %"class.std::vector", ptr %563, i64 %indvars.iv848 + %565 = load ptr, ptr %49, align 8 + %566 = getelementptr inbounds nuw i64, ptr %565, i64 %indvars.iv848 + %567 = load i64, ptr %566, align 8 + %568 = invoke noundef double @_ZN10open_spiel7GetProbERKSt6vectorISt4pairIldESaIS2_EEl(ptr noundef nonnull align 8 dereferenceable(24) %564, i64 noundef %567) + to label %569 unwind label %.loopexit564.split.us + +569: ; preds = %.lr.ph699.split.us.preheader + store double %568, ptr %54, align 8 store i32 0, ptr %55, align 4 - %571 = fcmp ult double %569, 0.000000e+00 - br i1 %571, label %.split.us, label %572 + %570 = fcmp ult double %568, 0.000000e+00 + br i1 %570, label %.split.us, label %571 -572: ; preds = %570 - store double %569, ptr %58, align 8 +571: ; preds = %569 + store double %568, ptr %58, align 8 store i32 1, ptr %59, align 4 - %573 = fcmp ugt double %569, 1.000000e+00 - br i1 %573, label %.split714.us, label %574 - -574: ; preds = %572 - %575 = getelementptr inbounds nuw double, ptr %532, i64 %indvars.iv848 - %576 = load double, ptr %575, align 8 - %577 = fmul double %569, %576 - store double %577, ptr %575, align 8 - %.pre855 = load ptr, ptr %49, align 8 - %.pre857 = load i32, ptr %285, align 8 - br label %.thread518.us - -.thread518.us: ; preds = %574, %.lr.ph699.split.us - %.pre856860 = phi ptr [ %.pre855, %574 ], [ %.pre856, %.lr.ph699.split.us ] - %578 = phi i32 [ %.pre857, %574 ], [ %563, %.lr.ph699.split.us ] - %579 = getelementptr inbounds nuw ptr, ptr %.sroa.0457.0483491511873, i64 %indvars.iv848 - %580 = load ptr, ptr %579, align 8 - %581 = getelementptr inbounds nuw ptr, ptr %546, i64 %indvars.iv848 - store ptr %580, ptr %581, align 8 - %582 = getelementptr inbounds nuw i64, ptr %.pre856860, i64 %indvars.iv848 - %583 = load i64, ptr %582, align 8 - %584 = getelementptr inbounds nuw i64, ptr %559, i64 %indvars.iv848 - store i64 %583, ptr %584, align 8 + %572 = fcmp ugt double %568, 1.000000e+00 + br i1 %572, label %.split714.us, label %.thread518.us + +.thread518.us: ; preds = %571 + %573 = getelementptr inbounds nuw double, ptr %532, i64 %indvars.iv848 + %574 = load double, ptr %573, align 8 + %575 = fmul double %568, %574 + store double %575, ptr %573, align 8 + %.pre855 = load i32, ptr %285, align 8 + %576 = getelementptr inbounds nuw ptr, ptr %.sroa.0457.0483491511869, i64 %indvars.iv848 + %577 = load ptr, ptr %576, align 8 + %578 = getelementptr inbounds nuw ptr, ptr %546, i64 %indvars.iv848 + store ptr %577, ptr %578, align 8 + %579 = load ptr, ptr %49, align 8 + %580 = getelementptr inbounds nuw i64, ptr %579, i64 %indvars.iv848 + %581 = load i64, ptr %580, align 8 + %582 = getelementptr inbounds nuw i64, ptr %559, i64 %indvars.iv848 + store i64 %581, ptr %582, align 8 %indvars.iv.next849 = add nuw nsw i64 %indvars.iv848, 1 - %585 = sext i32 %578 to i64 - %586 = icmp slt i64 %indvars.iv.next849, %585 - br i1 %586, label %.lr.ph699.split.us, label %._crit_edge700, !llvm.loop !61 + %583 = sext i32 %.pre855 to i64 + %584 = icmp slt i64 %indvars.iv.next849, %583 + br i1 %584, label %.lr.ph699.split.us.preheader, label %._crit_edge700, !llvm.loop !61 -.loopexit564.split.us: ; preds = %564 +.loopexit564.split.us: ; preds = %.lr.ph699.split.us.preheader %lpad.loopexit566.us = landingpad { ptr, i32 } cleanup br label %.loopexit564 -.lr.ph699.split: ; preds = %.lr.ph699.split.preheader, %616 - %587 = phi i32 [ %560, %.lr.ph699.split.preheader ], [ %617, %616 ] - %indvars.iv845 = phi i64 [ 0, %.lr.ph699.split.preheader ], [ %indvars.iv.next846, %616 ] +.lr.ph699.split: ; preds = %.lr.ph699.split.preheader, %614 + %585 = phi i32 [ %560, %.lr.ph699.split.preheader ], [ %615, %614 ] + %indvars.iv845 = phi i64 [ 0, %.lr.ph699.split.preheader ], [ %indvars.iv.next846, %614 ] %.not201 = icmp eq i64 %indvars.iv845, %470 - br i1 %.not201, label %.thread518, label %588 - -588: ; preds = %.lr.ph699.split - %589 = load ptr, ptr %35, align 8 - %590 = getelementptr inbounds nuw %"class.std::vector", ptr %589, i64 %indvars.iv845 - %591 = load ptr, ptr %49, align 8 - %592 = getelementptr inbounds nuw i64, ptr %591, i64 %indvars.iv845 - %593 = load i64, ptr %592, align 8 - %594 = invoke noundef double @_ZN10open_spiel7GetProbERKSt6vectorISt4pairIldESaIS2_EEl(ptr noundef nonnull align 8 dereferenceable(24) %590, i64 noundef %593) - to label %595 unwind label %.loopexit564.split - -595: ; preds = %588 - store double %594, ptr %54, align 8 + br i1 %.not201, label %.thread518, label %586 + +586: ; preds = %.lr.ph699.split + %587 = load ptr, ptr %35, align 8 + %588 = getelementptr inbounds nuw %"class.std::vector", ptr %587, i64 %indvars.iv845 + %589 = load ptr, ptr %49, align 8 + %590 = getelementptr inbounds nuw i64, ptr %589, i64 %indvars.iv845 + %591 = load i64, ptr %590, align 8 + %592 = invoke noundef double @_ZN10open_spiel7GetProbERKSt6vectorISt4pairIldESaIS2_EEl(ptr noundef nonnull align 8 dereferenceable(24) %588, i64 noundef %591) + to label %593 unwind label %.loopexit564.split + +593: ; preds = %586 + store double %592, ptr %54, align 8 store i32 0, ptr %55, align 4 - %596 = fcmp ult double %594, 0.000000e+00 - br i1 %596, label %.split.us, label %605 + %594 = fcmp ult double %592, 0.000000e+00 + br i1 %594, label %.split.us, label %603 -.split.us: ; preds = %595, %570 +.split.us: ; preds = %593, %569 store i32 226, ptr %57, align 4 invoke void @_ZN10open_spiel8internal11SpielStrCatIJRA149_KcRA2_S2_iS6_RA17_S2_RA13_S2_RA4_S2_RdRA7_S2_RiEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %56, ptr noundef nonnull align 1 dereferenceable(149) @.str, ptr noundef nonnull align 1 dereferenceable(2) @.str.1, ptr noundef nonnull align 4 dereferenceable(4) %57, ptr noundef nonnull align 1 dereferenceable(2) @.str.6, ptr noundef nonnull align 1 dereferenceable(17) @.str.29, ptr noundef nonnull align 1 dereferenceable(13) @.str.30, ptr noundef nonnull align 1 dereferenceable(4) @.str.9, ptr noundef nonnull align 8 dereferenceable(8) %54, ptr noundef nonnull align 1 dereferenceable(7) @.str.13, ptr noundef nonnull align 4 dereferenceable(4) %55) - to label %597 unwind label %.loopexit.split-lp565.loopexit.split-lp + to label %595 unwind label %.loopexit.split-lp565.loopexit.split-lp -597: ; preds = %.split.us +595: ; preds = %.split.us invoke void @_ZN10open_spiel15SpielFatalErrorERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(32) %56) #25 - to label %598 unwind label %603 + to label %596 unwind label %601 -598: ; preds = %597 +596: ; preds = %595 unreachable -599: ; preds = %507 - %600 = landingpad { ptr, i32 } +597: ; preds = %507 + %598 = landingpad { ptr, i32 } cleanup br label %_ZNSt6vectorIlSaIlEED2Ev.exit352 -601: ; preds = %509 - %602 = landingpad { ptr, i32 } +599: ; preds = %509 + %600 = landingpad { ptr, i32 } cleanup - br label %665 + br label %663 .loopexit569: ; preds = %513, %_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i315 %lpad.loopexit571 = landingpad { ptr, i32 } @@ -3635,7 +3621,7 @@ _ZNSt6vectorIlSaIlEEC2ERKS1_.exit: ; preds = %.noexc330.thread, % cleanup br label %_ZNSt6vectorIlSaIlEED2Ev.exit343 -.loopexit564.split: ; preds = %588 +.loopexit564.split: ; preds = %586 %lpad.loopexit566 = landingpad { ptr, i32 } cleanup br label %.loopexit564 @@ -3650,724 +3636,724 @@ _ZNSt6vectorIlSaIlEEC2ERKS1_.exit: ; preds = %.noexc330.thread, % cleanup br label %.loopexit564 -603: ; preds = %597 - %604 = landingpad { ptr, i32 } +601: ; preds = %595 + %602 = landingpad { ptr, i32 } cleanup call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %56) #23 br label %.loopexit564 -605: ; preds = %595 - store double %594, ptr %58, align 8 +603: ; preds = %593 + store double %592, ptr %58, align 8 store i32 1, ptr %59, align 4 - %606 = fcmp ugt double %594, 1.000000e+00 - br i1 %606, label %.split714.us, label %611 + %604 = fcmp ugt double %592, 1.000000e+00 + br i1 %604, label %.split714.us, label %609 -.split714.us: ; preds = %605, %572 +.split714.us: ; preds = %603, %571 store i32 226, ptr %61, align 4 invoke void @_ZN10open_spiel8internal11SpielStrCatIJRA149_KcRA2_S2_iS6_RA17_S2_RA13_S2_RA4_S2_RdRA7_S2_RiEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %60, ptr noundef nonnull align 1 dereferenceable(149) @.str, ptr noundef nonnull align 1 dereferenceable(2) @.str.1, ptr noundef nonnull align 4 dereferenceable(4) %61, ptr noundef nonnull align 1 dereferenceable(2) @.str.6, ptr noundef nonnull align 1 dereferenceable(17) @.str.31, ptr noundef nonnull align 1 dereferenceable(13) @.str.30, ptr noundef nonnull align 1 dereferenceable(4) @.str.9, ptr noundef nonnull align 8 dereferenceable(8) %58, ptr noundef nonnull align 1 dereferenceable(7) @.str.15, ptr noundef nonnull align 4 dereferenceable(4) %59) - to label %607 unwind label %.loopexit.split-lp565.loopexit.split-lp + to label %605 unwind label %.loopexit.split-lp565.loopexit.split-lp -607: ; preds = %.split714.us +605: ; preds = %.split714.us invoke void @_ZN10open_spiel15SpielFatalErrorERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(32) %60) #25 - to label %608 unwind label %609 + to label %606 unwind label %607 -608: ; preds = %607 +606: ; preds = %605 unreachable -609: ; preds = %607 - %610 = landingpad { ptr, i32 } +607: ; preds = %605 + %608 = landingpad { ptr, i32 } cleanup call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %60) #23 br label %.loopexit564 -611: ; preds = %605 - %612 = getelementptr inbounds nuw double, ptr %532, i64 %indvars.iv845 - %613 = load double, ptr %612, align 8 - %614 = fmul double %594, %613 - store double %614, ptr %612, align 8 +609: ; preds = %603 + %610 = getelementptr inbounds nuw double, ptr %532, i64 %indvars.iv845 + %611 = load double, ptr %610, align 8 + %612 = fmul double %592, %611 + store double %612, ptr %610, align 8 %.pre854 = load i32, ptr %285, align 8 - br label %616 + br label %614 .thread518: ; preds = %.lr.ph699.split - %615 = load ptr, ptr %471, align 8 - store ptr %615, ptr %562, align 8 - br label %616 - -616: ; preds = %611, %.thread518 - %617 = phi i32 [ %.pre854, %611 ], [ %587, %.thread518 ] - %618 = load ptr, ptr %49, align 8 - %619 = getelementptr inbounds nuw i64, ptr %618, i64 %indvars.iv845 - %620 = load i64, ptr %619, align 8 - %621 = getelementptr inbounds nuw i64, ptr %559, i64 %indvars.iv845 - store i64 %620, ptr %621, align 8 + %613 = load ptr, ptr %471, align 8 + store ptr %613, ptr %562, align 8 + br label %614 + +614: ; preds = %609, %.thread518 + %615 = phi i32 [ %.pre854, %609 ], [ %585, %.thread518 ] + %616 = load ptr, ptr %49, align 8 + %617 = getelementptr inbounds nuw i64, ptr %616, i64 %indvars.iv845 + %618 = load i64, ptr %617, align 8 + %619 = getelementptr inbounds nuw i64, ptr %559, i64 %indvars.iv845 + store i64 %618, ptr %619, align 8 %indvars.iv.next846 = add nuw nsw i64 %indvars.iv845, 1 - %622 = sext i32 %617 to i64 - %623 = icmp slt i64 %indvars.iv.next846, %622 - br i1 %623, label %.lr.ph699.split, label %._crit_edge700, !llvm.loop !61 + %620 = sext i32 %615 to i64 + %621 = icmp slt i64 %indvars.iv.next846, %620 + br i1 %621, label %.lr.ph699.split, label %._crit_edge700, !llvm.loop !61 -._crit_edge700: ; preds = %616, %.thread518.us, %_ZNSt6vectorIlSaIlEEC2ERKS1_.exit - %624 = load ptr, ptr %50, align 8 - invoke void @_ZN10open_spiel10algorithms22TabularBestResponseMDP9BuildMDPsERKNS_5StateERKSt6vectorIdSaIdEERKS5_IPNS0_7MDPNodeESaISB_EERKS5_IlSaIlEEi(ptr noundef nonnull align 8 dereferenceable(44) %0, ptr noundef nonnull align 8 dereferenceable(60) %624, ptr noundef nonnull align 8 dereferenceable(24) %51, ptr noundef nonnull align 8 dereferenceable(24) %52, ptr noundef nonnull align 8 dereferenceable(24) %53, i32 noundef %5) - to label %625 unwind label %.loopexit.split-lp565.loopexit +._crit_edge700: ; preds = %614, %.thread518.us, %_ZNSt6vectorIlSaIlEEC2ERKS1_.exit + %622 = load ptr, ptr %50, align 8 + invoke void @_ZN10open_spiel10algorithms22TabularBestResponseMDP9BuildMDPsERKNS_5StateERKSt6vectorIdSaIdEERKS5_IPNS0_7MDPNodeESaISB_EERKS5_IlSaIlEEi(ptr noundef nonnull align 8 dereferenceable(44) %0, ptr noundef nonnull align 8 dereferenceable(60) %622, ptr noundef nonnull align 8 dereferenceable(24) %51, ptr noundef nonnull align 8 dereferenceable(24) %52, ptr noundef nonnull align 8 dereferenceable(24) %53, i32 noundef %5) + to label %623 unwind label %.loopexit.split-lp565.loopexit -625: ; preds = %._crit_edge700 +623: ; preds = %._crit_edge700 %.not.i.i.i331 = icmp eq ptr %559, null - br i1 %.not.i.i.i331, label %_ZNSt6vectorIlSaIlEED2Ev.exit332, label %626 + br i1 %.not.i.i.i331, label %_ZNSt6vectorIlSaIlEED2Ev.exit332, label %624 -626: ; preds = %625 - %627 = ptrtoint ptr %558 to i64 - %628 = ptrtoint ptr %559 to i64 - %629 = sub i64 %627, %628 - call void @_ZdlPvm(ptr noundef nonnull %559, i64 noundef %629) #24 +624: ; preds = %623 + %625 = ptrtoint ptr %558 to i64 + %626 = ptrtoint ptr %559 to i64 + %627 = sub i64 %625, %626 + call void @_ZdlPvm(ptr noundef nonnull %559, i64 noundef %627) #24 br label %_ZNSt6vectorIlSaIlEED2Ev.exit332 -_ZNSt6vectorIlSaIlEED2Ev.exit332: ; preds = %625, %626 +_ZNSt6vectorIlSaIlEED2Ev.exit332: ; preds = %623, %624 %.not.i.i.i333 = icmp eq ptr %546, null - br i1 %.not.i.i.i333, label %_ZNSt6vectorIPN10open_spiel10algorithms7MDPNodeESaIS3_EED2Ev.exit334, label %630 + br i1 %.not.i.i.i333, label %_ZNSt6vectorIPN10open_spiel10algorithms7MDPNodeESaIS3_EED2Ev.exit334, label %628 -630: ; preds = %_ZNSt6vectorIlSaIlEED2Ev.exit332 - %631 = ptrtoint ptr %545 to i64 - %632 = ptrtoint ptr %546 to i64 - %633 = sub i64 %631, %632 - call void @_ZdlPvm(ptr noundef nonnull %546, i64 noundef %633) #24 +628: ; preds = %_ZNSt6vectorIlSaIlEED2Ev.exit332 + %629 = ptrtoint ptr %545 to i64 + %630 = ptrtoint ptr %546 to i64 + %631 = sub i64 %629, %630 + call void @_ZdlPvm(ptr noundef nonnull %546, i64 noundef %631) #24 br label %_ZNSt6vectorIPN10open_spiel10algorithms7MDPNodeESaIS3_EED2Ev.exit334 -_ZNSt6vectorIPN10open_spiel10algorithms7MDPNodeESaIS3_EED2Ev.exit334: ; preds = %_ZNSt6vectorIlSaIlEED2Ev.exit332, %630 +_ZNSt6vectorIPN10open_spiel10algorithms7MDPNodeESaIS3_EED2Ev.exit334: ; preds = %_ZNSt6vectorIlSaIlEED2Ev.exit332, %628 %.not.i.i.i335 = icmp eq ptr %532, null - br i1 %.not.i.i.i335, label %_ZNSt6vectorIdSaIdEED2Ev.exit336, label %634 + br i1 %.not.i.i.i335, label %_ZNSt6vectorIdSaIdEED2Ev.exit336, label %632 -634: ; preds = %_ZNSt6vectorIPN10open_spiel10algorithms7MDPNodeESaIS3_EED2Ev.exit334 - %635 = ptrtoint ptr %531 to i64 - %636 = ptrtoint ptr %532 to i64 - %637 = sub i64 %635, %636 - call void @_ZdlPvm(ptr noundef nonnull %532, i64 noundef %637) #24 +632: ; preds = %_ZNSt6vectorIPN10open_spiel10algorithms7MDPNodeESaIS3_EED2Ev.exit334 + %633 = ptrtoint ptr %531 to i64 + %634 = ptrtoint ptr %532 to i64 + %635 = sub i64 %633, %634 + call void @_ZdlPvm(ptr noundef nonnull %532, i64 noundef %635) #24 br label %_ZNSt6vectorIdSaIdEED2Ev.exit336 -_ZNSt6vectorIdSaIdEED2Ev.exit336: ; preds = %_ZNSt6vectorIPN10open_spiel10algorithms7MDPNodeESaIS3_EED2Ev.exit334, %634 - %638 = load ptr, ptr %50, align 8 - %.not.i337 = icmp eq ptr %638, null +_ZNSt6vectorIdSaIdEED2Ev.exit336: ; preds = %_ZNSt6vectorIPN10open_spiel10algorithms7MDPNodeESaIS3_EED2Ev.exit334, %632 + %636 = load ptr, ptr %50, align 8 + %.not.i337 = icmp eq ptr %636, null br i1 %.not.i337, label %_ZNSt10unique_ptrIN10open_spiel5StateESt14default_deleteIS1_EED2Ev.exit339, label %_ZNKSt14default_deleteIN10open_spiel5StateEEclEPS1_.exit.i338 _ZNKSt14default_deleteIN10open_spiel5StateEEclEPS1_.exit.i338: ; preds = %_ZNSt6vectorIdSaIdEED2Ev.exit336 + %637 = load ptr, ptr %636, align 8 + %638 = getelementptr inbounds nuw i8, ptr %637, i64 8 %639 = load ptr, ptr %638, align 8 - %640 = getelementptr inbounds nuw i8, ptr %639, i64 8 - %641 = load ptr, ptr %640, align 8 - call void %641(ptr noundef nonnull align 8 dereferenceable(60) %638) #23 + call void %639(ptr noundef nonnull align 8 dereferenceable(60) %636) #23 br label %_ZNSt10unique_ptrIN10open_spiel5StateESt14default_deleteIS1_EED2Ev.exit339 _ZNSt10unique_ptrIN10open_spiel5StateESt14default_deleteIS1_EED2Ev.exit339: ; preds = %_ZNSt6vectorIdSaIdEED2Ev.exit336, %_ZNKSt14default_deleteIN10open_spiel5StateEEclEPS1_.exit.i338 store ptr null, ptr %50, align 8 - %642 = load ptr, ptr %49, align 8 - %.not.i.i.i340 = icmp eq ptr %642, null - br i1 %.not.i.i.i340, label %_ZNSt6vectorIlSaIlEED2Ev.exit341, label %643 - -643: ; preds = %_ZNSt10unique_ptrIN10open_spiel5StateESt14default_deleteIS1_EED2Ev.exit339 - %644 = load ptr, ptr %469, align 8 - %645 = ptrtoint ptr %644 to i64 - %646 = ptrtoint ptr %642 to i64 - %647 = sub i64 %645, %646 - call void @_ZdlPvm(ptr noundef nonnull %642, i64 noundef %647) #24 + %640 = load ptr, ptr %49, align 8 + %.not.i.i.i340 = icmp eq ptr %640, null + br i1 %.not.i.i.i340, label %_ZNSt6vectorIlSaIlEED2Ev.exit341, label %641 + +641: ; preds = %_ZNSt10unique_ptrIN10open_spiel5StateESt14default_deleteIS1_EED2Ev.exit339 + %642 = load ptr, ptr %469, align 8 + %643 = ptrtoint ptr %642 to i64 + %644 = ptrtoint ptr %640 to i64 + %645 = sub i64 %643, %644 + call void @_ZdlPvm(ptr noundef nonnull %640, i64 noundef %645) #24 br label %_ZNSt6vectorIlSaIlEED2Ev.exit341 -_ZNSt6vectorIlSaIlEED2Ev.exit341: ; preds = %_ZNSt10unique_ptrIN10open_spiel5StateESt14default_deleteIS1_EED2Ev.exit339, %643 - %648 = getelementptr inbounds nuw i8, ptr %.sroa.0442.0722, i64 8 - %.not557 = icmp eq ptr %648, %458 +_ZNSt6vectorIlSaIlEED2Ev.exit341: ; preds = %_ZNSt10unique_ptrIN10open_spiel5StateESt14default_deleteIS1_EED2Ev.exit339, %641 + %646 = getelementptr inbounds nuw i8, ptr %.sroa.0442.0722, i64 8 + %.not557 = icmp eq ptr %646, %458 br i1 %.not557, label %._crit_edge725.loopexit, label %507 -.loopexit564: ; preds = %.loopexit564.split.us, %.loopexit564.split, %.loopexit.split-lp565.loopexit.split-lp, %.loopexit.split-lp565.loopexit, %609, %603 - %.pn202 = phi { ptr, i32 } [ %610, %609 ], [ %604, %603 ], [ %lpad.loopexit566, %.loopexit564.split ], [ %lpad.loopexit566.us, %.loopexit564.split.us ], [ %lpad.loopexit584, %.loopexit.split-lp565.loopexit ], [ %lpad.loopexit.split-lp585, %.loopexit.split-lp565.loopexit.split-lp ] +.loopexit564: ; preds = %.loopexit564.split.us, %.loopexit564.split, %.loopexit.split-lp565.loopexit.split-lp, %.loopexit.split-lp565.loopexit, %607, %601 + %.pn202 = phi { ptr, i32 } [ %608, %607 ], [ %602, %601 ], [ %lpad.loopexit566, %.loopexit564.split ], [ %lpad.loopexit566.us, %.loopexit564.split.us ], [ %lpad.loopexit584, %.loopexit.split-lp565.loopexit ], [ %lpad.loopexit.split-lp585, %.loopexit.split-lp565.loopexit.split-lp ] %.not.i.i.i342 = icmp eq ptr %559, null - br i1 %.not.i.i.i342, label %_ZNSt6vectorIlSaIlEED2Ev.exit343, label %649 + br i1 %.not.i.i.i342, label %_ZNSt6vectorIlSaIlEED2Ev.exit343, label %647 -649: ; preds = %.loopexit564 - %650 = ptrtoint ptr %558 to i64 - %651 = ptrtoint ptr %559 to i64 - %652 = sub i64 %650, %651 - call void @_ZdlPvm(ptr noundef nonnull %559, i64 noundef %652) #24 +647: ; preds = %.loopexit564 + %648 = ptrtoint ptr %558 to i64 + %649 = ptrtoint ptr %559 to i64 + %650 = sub i64 %648, %649 + call void @_ZdlPvm(ptr noundef nonnull %559, i64 noundef %650) #24 br label %_ZNSt6vectorIlSaIlEED2Ev.exit343 -_ZNSt6vectorIlSaIlEED2Ev.exit343: ; preds = %.loopexit579, %.loopexit.split-lp580, %649, %.loopexit564 - %.pn202.pn = phi { ptr, i32 } [ %.pn202, %.loopexit564 ], [ %.pn202, %649 ], [ %lpad.loopexit581, %.loopexit579 ], [ %lpad.loopexit.split-lp582, %.loopexit.split-lp580 ] +_ZNSt6vectorIlSaIlEED2Ev.exit343: ; preds = %.loopexit579, %.loopexit.split-lp580, %647, %.loopexit564 + %.pn202.pn = phi { ptr, i32 } [ %.pn202, %.loopexit564 ], [ %.pn202, %647 ], [ %lpad.loopexit581, %.loopexit579 ], [ %lpad.loopexit.split-lp582, %.loopexit.split-lp580 ] %.not.i.i.i344 = icmp eq ptr %546, null - br i1 %.not.i.i.i344, label %_ZNSt6vectorIPN10open_spiel10algorithms7MDPNodeESaIS3_EED2Ev.exit345, label %653 + br i1 %.not.i.i.i344, label %_ZNSt6vectorIPN10open_spiel10algorithms7MDPNodeESaIS3_EED2Ev.exit345, label %651 -653: ; preds = %_ZNSt6vectorIlSaIlEED2Ev.exit343 - %654 = ptrtoint ptr %545 to i64 - %655 = ptrtoint ptr %546 to i64 - %656 = sub i64 %654, %655 - call void @_ZdlPvm(ptr noundef nonnull %546, i64 noundef %656) #24 +651: ; preds = %_ZNSt6vectorIlSaIlEED2Ev.exit343 + %652 = ptrtoint ptr %545 to i64 + %653 = ptrtoint ptr %546 to i64 + %654 = sub i64 %652, %653 + call void @_ZdlPvm(ptr noundef nonnull %546, i64 noundef %654) #24 br label %_ZNSt6vectorIPN10open_spiel10algorithms7MDPNodeESaIS3_EED2Ev.exit345 -_ZNSt6vectorIPN10open_spiel10algorithms7MDPNodeESaIS3_EED2Ev.exit345: ; preds = %.loopexit574, %.loopexit.split-lp575, %653, %_ZNSt6vectorIlSaIlEED2Ev.exit343 - %.pn202.pn.pn = phi { ptr, i32 } [ %.pn202.pn, %_ZNSt6vectorIlSaIlEED2Ev.exit343 ], [ %.pn202.pn, %653 ], [ %lpad.loopexit576, %.loopexit574 ], [ %lpad.loopexit.split-lp577, %.loopexit.split-lp575 ] +_ZNSt6vectorIPN10open_spiel10algorithms7MDPNodeESaIS3_EED2Ev.exit345: ; preds = %.loopexit574, %.loopexit.split-lp575, %651, %_ZNSt6vectorIlSaIlEED2Ev.exit343 + %.pn202.pn.pn = phi { ptr, i32 } [ %.pn202.pn, %_ZNSt6vectorIlSaIlEED2Ev.exit343 ], [ %.pn202.pn, %651 ], [ %lpad.loopexit576, %.loopexit574 ], [ %lpad.loopexit.split-lp577, %.loopexit.split-lp575 ] %.not.i.i.i346 = icmp eq ptr %532, null - br i1 %.not.i.i.i346, label %_ZNSt6vectorIdSaIdEED2Ev.exit347, label %657 + br i1 %.not.i.i.i346, label %_ZNSt6vectorIdSaIdEED2Ev.exit347, label %655 -657: ; preds = %_ZNSt6vectorIPN10open_spiel10algorithms7MDPNodeESaIS3_EED2Ev.exit345 - %658 = ptrtoint ptr %531 to i64 - %659 = ptrtoint ptr %532 to i64 - %660 = sub i64 %658, %659 - call void @_ZdlPvm(ptr noundef nonnull %532, i64 noundef %660) #24 +655: ; preds = %_ZNSt6vectorIPN10open_spiel10algorithms7MDPNodeESaIS3_EED2Ev.exit345 + %656 = ptrtoint ptr %531 to i64 + %657 = ptrtoint ptr %532 to i64 + %658 = sub i64 %656, %657 + call void @_ZdlPvm(ptr noundef nonnull %532, i64 noundef %658) #24 br label %_ZNSt6vectorIdSaIdEED2Ev.exit347 -_ZNSt6vectorIdSaIdEED2Ev.exit347: ; preds = %.loopexit569, %.loopexit.split-lp570, %657, %_ZNSt6vectorIPN10open_spiel10algorithms7MDPNodeESaIS3_EED2Ev.exit345 - %.pn202.pn.pn.pn = phi { ptr, i32 } [ %.pn202.pn.pn, %_ZNSt6vectorIPN10open_spiel10algorithms7MDPNodeESaIS3_EED2Ev.exit345 ], [ %.pn202.pn.pn, %657 ], [ %lpad.loopexit571, %.loopexit569 ], [ %lpad.loopexit.split-lp572, %.loopexit.split-lp570 ] - %661 = load ptr, ptr %50, align 8 - %.not.i348 = icmp eq ptr %661, null +_ZNSt6vectorIdSaIdEED2Ev.exit347: ; preds = %.loopexit569, %.loopexit.split-lp570, %655, %_ZNSt6vectorIPN10open_spiel10algorithms7MDPNodeESaIS3_EED2Ev.exit345 + %.pn202.pn.pn.pn = phi { ptr, i32 } [ %.pn202.pn.pn, %_ZNSt6vectorIPN10open_spiel10algorithms7MDPNodeESaIS3_EED2Ev.exit345 ], [ %.pn202.pn.pn, %655 ], [ %lpad.loopexit571, %.loopexit569 ], [ %lpad.loopexit.split-lp572, %.loopexit.split-lp570 ] + %659 = load ptr, ptr %50, align 8 + %.not.i348 = icmp eq ptr %659, null br i1 %.not.i348, label %_ZNSt10unique_ptrIN10open_spiel5StateESt14default_deleteIS1_EED2Ev.exit350, label %_ZNKSt14default_deleteIN10open_spiel5StateEEclEPS1_.exit.i349 _ZNKSt14default_deleteIN10open_spiel5StateEEclEPS1_.exit.i349: ; preds = %_ZNSt6vectorIdSaIdEED2Ev.exit347 + %660 = load ptr, ptr %659, align 8 + %661 = getelementptr inbounds nuw i8, ptr %660, i64 8 %662 = load ptr, ptr %661, align 8 - %663 = getelementptr inbounds nuw i8, ptr %662, i64 8 - %664 = load ptr, ptr %663, align 8 - call void %664(ptr noundef nonnull align 8 dereferenceable(60) %661) #23 + call void %662(ptr noundef nonnull align 8 dereferenceable(60) %659) #23 br label %_ZNSt10unique_ptrIN10open_spiel5StateESt14default_deleteIS1_EED2Ev.exit350 _ZNSt10unique_ptrIN10open_spiel5StateESt14default_deleteIS1_EED2Ev.exit350: ; preds = %_ZNSt6vectorIdSaIdEED2Ev.exit347, %_ZNKSt14default_deleteIN10open_spiel5StateEEclEPS1_.exit.i349 store ptr null, ptr %50, align 8 - br label %665 - -665: ; preds = %_ZNSt10unique_ptrIN10open_spiel5StateESt14default_deleteIS1_EED2Ev.exit350, %601 - %.pn202.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn202.pn.pn.pn, %_ZNSt10unique_ptrIN10open_spiel5StateESt14default_deleteIS1_EED2Ev.exit350 ], [ %602, %601 ] - %666 = load ptr, ptr %49, align 8 - %.not.i.i.i351 = icmp eq ptr %666, null - br i1 %.not.i.i.i351, label %_ZNSt6vectorIlSaIlEED2Ev.exit352, label %667 - -667: ; preds = %665 - %668 = load ptr, ptr %469, align 8 - %669 = ptrtoint ptr %668 to i64 - %670 = ptrtoint ptr %666 to i64 - %671 = sub i64 %669, %670 - call void @_ZdlPvm(ptr noundef nonnull %666, i64 noundef %671) #24 + br label %663 + +663: ; preds = %_ZNSt10unique_ptrIN10open_spiel5StateESt14default_deleteIS1_EED2Ev.exit350, %599 + %.pn202.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn202.pn.pn.pn, %_ZNSt10unique_ptrIN10open_spiel5StateESt14default_deleteIS1_EED2Ev.exit350 ], [ %600, %599 ] + %664 = load ptr, ptr %49, align 8 + %.not.i.i.i351 = icmp eq ptr %664, null + br i1 %.not.i.i.i351, label %_ZNSt6vectorIlSaIlEED2Ev.exit352, label %665 + +665: ; preds = %663 + %666 = load ptr, ptr %469, align 8 + %667 = ptrtoint ptr %666 to i64 + %668 = ptrtoint ptr %664 to i64 + %669 = sub i64 %667, %668 + call void @_ZdlPvm(ptr noundef nonnull %664, i64 noundef %669) #24 br label %_ZNSt6vectorIlSaIlEED2Ev.exit352 -_ZNSt6vectorIlSaIlEED2Ev.exit352: ; preds = %667, %665, %599 - %.pn202.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %600, %599 ], [ %.pn202.pn.pn.pn.pn, %665 ], [ %.pn202.pn.pn.pn.pn, %667 ] - %672 = load ptr, ptr %48, align 8 - %.not.i.i.i353 = icmp eq ptr %672, null - br i1 %.not.i.i.i353, label %679, label %673 - -673: ; preds = %_ZNSt6vectorIlSaIlEED2Ev.exit352 - %674 = getelementptr inbounds nuw i8, ptr %48, i64 16 - %675 = load ptr, ptr %674, align 8 - %676 = ptrtoint ptr %675 to i64 - %677 = ptrtoint ptr %672 to i64 - %678 = sub i64 %676, %677 - call void @_ZdlPvm(ptr noundef nonnull %672, i64 noundef %678) #24 - br label %679 +_ZNSt6vectorIlSaIlEED2Ev.exit352: ; preds = %665, %663, %597 + %.pn202.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %598, %597 ], [ %.pn202.pn.pn.pn.pn, %663 ], [ %.pn202.pn.pn.pn.pn, %665 ] + %670 = load ptr, ptr %48, align 8 + %.not.i.i.i353 = icmp eq ptr %670, null + br i1 %.not.i.i.i353, label %677, label %671 + +671: ; preds = %_ZNSt6vectorIlSaIlEED2Ev.exit352 + %672 = getelementptr inbounds nuw i8, ptr %48, i64 16 + %673 = load ptr, ptr %672, align 8 + %674 = ptrtoint ptr %673 to i64 + %675 = ptrtoint ptr %670 to i64 + %676 = sub i64 %674, %675 + call void @_ZdlPvm(ptr noundef nonnull %670, i64 noundef %676) #24 + br label %677 .thread535: ; preds = %382, %389, %402 %.sink = phi ptr [ %39, %382 ], [ %43, %389 ], [ %45, %402 ] %.pn211.ph = phi { ptr, i32 } [ %383, %382 ], [ %390, %389 ], [ %403, %402 ] call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink) #23 call void @_ZNSt6vectorIS_ISt4pairIldESaIS1_EESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %35) #23 - br label %680 + br label %678 -.thread915: ; preds = %337, %412, %.loopexit587 - %.pn211.ph914 = phi { ptr, i32 } [ %lpad.loopexit589, %.loopexit587 ], [ %413, %412 ], [ %.pn.i, %337 ] +.thread911: ; preds = %337, %412, %.loopexit587 + %.pn211.ph910 = phi { ptr, i32 } [ %lpad.loopexit589, %.loopexit587 ], [ %413, %412 ], [ %.pn.i, %337 ] call void @_ZNSt6vectorIS_ISt4pairIldESaIS1_EESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %35) #23 - br label %680 - -679: ; preds = %.loopexit.split-lp588, %_ZNSt6vectorIlSaIlEED2Ev.exit352, %673 - %.sroa.13.0500505904 = phi ptr [ %.sroa.13.0500505903, %_ZNSt6vectorIlSaIlEED2Ev.exit352 ], [ %.sroa.13.0500505903, %673 ], [ %.sroa.13.0500505905, %.loopexit.split-lp588 ] - %.sroa.0445.0497507894 = phi ptr [ %.sroa.0445.0497507893, %_ZNSt6vectorIlSaIlEED2Ev.exit352 ], [ %.sroa.0445.0497507893, %673 ], [ %.sroa.0445.0497507895, %.loopexit.split-lp588 ] - %.sroa.12.0480494509884 = phi ptr [ %.sroa.12.0480494509883, %_ZNSt6vectorIlSaIlEED2Ev.exit352 ], [ %.sroa.12.0480494509883, %673 ], [ %.sroa.12.0480494509885, %.loopexit.split-lp588 ] - %.sroa.0457.0483491511874 = phi ptr [ %.sroa.0457.0483491511873, %_ZNSt6vectorIlSaIlEED2Ev.exit352 ], [ %.sroa.0457.0483491511873, %673 ], [ %.sroa.0457.0483491511875, %.loopexit.split-lp588 ] - %.pn211 = phi { ptr, i32 } [ %.pn202.pn.pn.pn.pn.pn, %_ZNSt6vectorIlSaIlEED2Ev.exit352 ], [ %.pn202.pn.pn.pn.pn.pn, %673 ], [ %lpad.loopexit.split-lp590, %.loopexit.split-lp588 ] + br label %678 + +677: ; preds = %.loopexit.split-lp588, %_ZNSt6vectorIlSaIlEED2Ev.exit352, %671 + %.sroa.13.0500505900 = phi ptr [ %.sroa.13.0500505899, %_ZNSt6vectorIlSaIlEED2Ev.exit352 ], [ %.sroa.13.0500505899, %671 ], [ %.sroa.13.0500505901, %.loopexit.split-lp588 ] + %.sroa.0445.0497507890 = phi ptr [ %.sroa.0445.0497507889, %_ZNSt6vectorIlSaIlEED2Ev.exit352 ], [ %.sroa.0445.0497507889, %671 ], [ %.sroa.0445.0497507891, %.loopexit.split-lp588 ] + %.sroa.12.0480494509880 = phi ptr [ %.sroa.12.0480494509879, %_ZNSt6vectorIlSaIlEED2Ev.exit352 ], [ %.sroa.12.0480494509879, %671 ], [ %.sroa.12.0480494509881, %.loopexit.split-lp588 ] + %.sroa.0457.0483491511870 = phi ptr [ %.sroa.0457.0483491511869, %_ZNSt6vectorIlSaIlEED2Ev.exit352 ], [ %.sroa.0457.0483491511869, %671 ], [ %.sroa.0457.0483491511871, %.loopexit.split-lp588 ] + %.pn211 = phi { ptr, i32 } [ %.pn202.pn.pn.pn.pn.pn, %_ZNSt6vectorIlSaIlEED2Ev.exit352 ], [ %.pn202.pn.pn.pn.pn.pn, %671 ], [ %lpad.loopexit.split-lp590, %.loopexit.split-lp588 ] call void @_ZNSt6vectorIS_ISt4pairIldESaIS1_EESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %35) #23 - %.not.i.i.i355 = icmp eq ptr %.sroa.0445.0497507894, null - br i1 %.not.i.i.i355, label %_ZNSt6vectorIdSaIdEED2Ev.exit356, label %680 - -680: ; preds = %.thread915, %.thread535, %.thread520, %679 - %.pn211.pn533 = phi { ptr, i32 } [ %381, %.thread520 ], [ %.pn211, %679 ], [ %.pn211.ph, %.thread535 ], [ %.pn211.ph914, %.thread915 ] - %.sroa.0457.0483489531 = phi ptr [ %301, %.thread520 ], [ %.sroa.0457.0483491511874, %679 ], [ %301, %.thread535 ], [ %301, %.thread915 ] - %.sroa.12.0480492529 = phi ptr [ %302, %.thread520 ], [ %.sroa.12.0480494509884, %679 ], [ %302, %.thread535 ], [ %302, %.thread915 ] - %.sroa.0445.0495528 = phi ptr [ %303, %.thread520 ], [ %.sroa.0445.0497507894, %679 ], [ %303, %.thread535 ], [ %303, %.thread915 ] - %.sroa.13.0498527 = phi ptr [ %304, %.thread520 ], [ %.sroa.13.0500505904, %679 ], [ %304, %.thread535 ], [ %304, %.thread915 ] - %681 = ptrtoint ptr %.sroa.13.0498527 to i64 - %682 = ptrtoint ptr %.sroa.0445.0495528 to i64 - %683 = sub i64 %681, %682 - call void @_ZdlPvm(ptr noundef nonnull %.sroa.0445.0495528, i64 noundef %683) #24 + %.not.i.i.i355 = icmp eq ptr %.sroa.0445.0497507890, null + br i1 %.not.i.i.i355, label %_ZNSt6vectorIdSaIdEED2Ev.exit356, label %678 + +678: ; preds = %.thread911, %.thread535, %.thread520, %677 + %.pn211.pn533 = phi { ptr, i32 } [ %381, %.thread520 ], [ %.pn211, %677 ], [ %.pn211.ph, %.thread535 ], [ %.pn211.ph910, %.thread911 ] + %.sroa.0457.0483489531 = phi ptr [ %301, %.thread520 ], [ %.sroa.0457.0483491511870, %677 ], [ %301, %.thread535 ], [ %301, %.thread911 ] + %.sroa.12.0480492529 = phi ptr [ %302, %.thread520 ], [ %.sroa.12.0480494509880, %677 ], [ %302, %.thread535 ], [ %302, %.thread911 ] + %.sroa.0445.0495528 = phi ptr [ %303, %.thread520 ], [ %.sroa.0445.0497507890, %677 ], [ %303, %.thread535 ], [ %303, %.thread911 ] + %.sroa.13.0498527 = phi ptr [ %304, %.thread520 ], [ %.sroa.13.0500505900, %677 ], [ %304, %.thread535 ], [ %304, %.thread911 ] + %679 = ptrtoint ptr %.sroa.13.0498527 to i64 + %680 = ptrtoint ptr %.sroa.0445.0495528 to i64 + %681 = sub i64 %679, %680 + call void @_ZdlPvm(ptr noundef nonnull %.sroa.0445.0495528, i64 noundef %681) #24 br label %_ZNSt6vectorIdSaIdEED2Ev.exit356 -_ZNSt6vectorIdSaIdEED2Ev.exit356: ; preds = %680, %679 - %.sroa.0457.0482 = phi ptr [ %.sroa.0457.0483491511874, %679 ], [ %.sroa.0457.0483489531, %680 ] - %.sroa.12.0479 = phi ptr [ %.sroa.12.0480494509884, %679 ], [ %.sroa.12.0480492529, %680 ] - %.pn211.pn.pn = phi { ptr, i32 } [ %.pn211, %679 ], [ %.pn211.pn533, %680 ] +_ZNSt6vectorIdSaIdEED2Ev.exit356: ; preds = %678, %677 + %.sroa.0457.0482 = phi ptr [ %.sroa.0457.0483491511870, %677 ], [ %.sroa.0457.0483489531, %678 ] + %.sroa.12.0479 = phi ptr [ %.sroa.12.0480494509880, %677 ], [ %.sroa.12.0480492529, %678 ] + %.pn211.pn.pn = phi { ptr, i32 } [ %.pn211, %677 ], [ %.pn211.pn533, %678 ] %.not.i.i.i357 = icmp eq ptr %.sroa.0457.0482, null - br i1 %.not.i.i.i357, label %_ZNSt6vectorIPN10open_spiel10algorithms7MDPNodeESaIS3_EED2Ev.exit358, label %684 + br i1 %.not.i.i.i357, label %_ZNSt6vectorIPN10open_spiel10algorithms7MDPNodeESaIS3_EED2Ev.exit358, label %682 -684: ; preds = %_ZNSt6vectorIdSaIdEED2Ev.exit356.thread, %_ZNSt6vectorIdSaIdEED2Ev.exit356 +682: ; preds = %_ZNSt6vectorIdSaIdEED2Ev.exit356.thread, %_ZNSt6vectorIdSaIdEED2Ev.exit356 %.pn211.pn.pn544 = phi { ptr, i32 } [ %380, %_ZNSt6vectorIdSaIdEED2Ev.exit356.thread ], [ %.pn211.pn.pn, %_ZNSt6vectorIdSaIdEED2Ev.exit356 ] %.sroa.12.0479543 = phi ptr [ %302, %_ZNSt6vectorIdSaIdEED2Ev.exit356.thread ], [ %.sroa.12.0479, %_ZNSt6vectorIdSaIdEED2Ev.exit356 ] %.sroa.0457.0482542 = phi ptr [ %301, %_ZNSt6vectorIdSaIdEED2Ev.exit356.thread ], [ %.sroa.0457.0482, %_ZNSt6vectorIdSaIdEED2Ev.exit356 ] - %685 = ptrtoint ptr %.sroa.12.0479543 to i64 - %686 = ptrtoint ptr %.sroa.0457.0482542 to i64 - %687 = sub i64 %685, %686 - call void @_ZdlPvm(ptr noundef nonnull %.sroa.0457.0482542, i64 noundef %687) #24 + %683 = ptrtoint ptr %.sroa.12.0479543 to i64 + %684 = ptrtoint ptr %.sroa.0457.0482542 to i64 + %685 = sub i64 %683, %684 + call void @_ZdlPvm(ptr noundef nonnull %.sroa.0457.0482542, i64 noundef %685) #24 br label %_ZNSt6vectorIPN10open_spiel10algorithms7MDPNodeESaIS3_EED2Ev.exit358 -_ZNSt6vectorIPN10open_spiel10algorithms7MDPNodeESaIS3_EED2Ev.exit358: ; preds = %684, %_ZNSt6vectorIdSaIdEED2Ev.exit356, %378 - %.pn211.pn.pn.pn = phi { ptr, i32 } [ %379, %378 ], [ %.pn211.pn.pn, %_ZNSt6vectorIdSaIdEED2Ev.exit356 ], [ %.pn211.pn.pn544, %684 ] +_ZNSt6vectorIPN10open_spiel10algorithms7MDPNodeESaIS3_EED2Ev.exit358: ; preds = %682, %_ZNSt6vectorIdSaIdEED2Ev.exit356, %378 + %.pn211.pn.pn.pn = phi { ptr, i32 } [ %379, %378 ], [ %.pn211.pn.pn, %_ZNSt6vectorIdSaIdEED2Ev.exit356 ], [ %.pn211.pn.pn544, %682 ] call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %34) #23 br label %_ZNSt6vectorIdSaIdEED2Ev.exit242 -688: ; preds = %279 - %689 = load ptr, ptr %1, align 8 - %690 = getelementptr inbounds nuw i8, ptr %689, i64 48 - %691 = load ptr, ptr %690, align 8 - call void %691(ptr dead_on_unwind nonnull writable sret(%"class.std::vector.79") align 8 %62, ptr noundef nonnull align 8 dereferenceable(60) %1) - %692 = load ptr, ptr %1, align 8 - %693 = getelementptr inbounds nuw i8, ptr %692, i64 16 - %694 = load ptr, ptr %693, align 8 - %695 = invoke noundef i32 %694(ptr noundef nonnull align 8 dereferenceable(60) %1) - to label %696 unwind label %749 - -696: ; preds = %688 +686: ; preds = %279 + %687 = load ptr, ptr %1, align 8 + %688 = getelementptr inbounds nuw i8, ptr %687, i64 48 + %689 = load ptr, ptr %688, align 8 + call void %689(ptr dead_on_unwind nonnull writable sret(%"class.std::vector.79") align 8 %62, ptr noundef nonnull align 8 dereferenceable(60) %1) + %690 = load ptr, ptr %1, align 8 + %691 = getelementptr inbounds nuw i8, ptr %690, i64 16 + %692 = load ptr, ptr %691, align 8 + %693 = invoke noundef i32 %692(ptr noundef nonnull align 8 dereferenceable(60) %1) + to label %694 unwind label %747 + +694: ; preds = %686 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %63, i8 0, i64 24, i1 false) - %697 = icmp eq i32 %5, -3 - %698 = icmp eq i32 %5, %695 - %or.cond230 = or i1 %697, %698 - br i1 %or.cond230, label %699, label %784 + %695 = icmp eq i32 %5, -3 + %696 = icmp eq i32 %5, %693 + %or.cond230 = or i1 %695, %696 + br i1 %or.cond230, label %697, label %782 -699: ; preds = %696 +697: ; preds = %694 call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %9) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %10) - %700 = getelementptr inbounds nuw i8, ptr %0, i64 24 - %701 = load ptr, ptr %700, align 8, !noalias !62 - %702 = getelementptr inbounds nuw i8, ptr %701, i64 96 - %703 = load i32, ptr %702, align 8, !noalias !62 - %704 = icmp ult i32 %703, 3 - br i1 %704, label %switch.lookup1181, label %705 - -705: ; preds = %699 + %698 = getelementptr inbounds nuw i8, ptr %0, i64 24 + %699 = load ptr, ptr %698, align 8, !noalias !62 + %700 = getelementptr inbounds nuw i8, ptr %699, i64 96 + %701 = load i32, ptr %700, align 8, !noalias !62 + %702 = icmp ult i32 %701, 3 + br i1 %702, label %switch.lookup1177, label %703 + +703: ; preds = %697 call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %10) #23, !noalias !62 invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef nonnull @.str.33, ptr noundef nonnull align 1 dereferenceable(1) %10) - to label %706 unwind label %708, !noalias !62 + to label %704 unwind label %706, !noalias !62 -706: ; preds = %705 +704: ; preds = %703 invoke void @_ZN10open_spiel15SpielFatalErrorERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(32) %9) #25 - to label %707 unwind label %710, !noalias !62 + to label %705 unwind label %708, !noalias !62 -707: ; preds = %706 +705: ; preds = %704 unreachable -708: ; preds = %705 - %709 = landingpad { ptr, i32 } +706: ; preds = %703 + %707 = landingpad { ptr, i32 } cleanup - br label %712 + br label %710 -710: ; preds = %706 - %711 = landingpad { ptr, i32 } +708: ; preds = %704 + %709 = landingpad { ptr, i32 } cleanup call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %9) #23, !noalias !62 - br label %712 + br label %710 -712: ; preds = %710, %708 - %.pn.i360 = phi { ptr, i32 } [ %711, %710 ], [ %709, %708 ] +710: ; preds = %708, %706 + %.pn.i360 = phi { ptr, i32 } [ %709, %708 ], [ %707, %706 ] call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %10) #23, !noalias !62 br label %.body361 -switch.lookup1181: ; preds = %699 - %713 = zext nneg i32 %703 to i64 - %switch.gep1182 = getelementptr inbounds nuw [3 x i64], ptr @switch.table._ZNK10open_spiel10algorithms22TabularBestResponseMDP10GetNodeKeyB5cxx11ERKNS_5StateEi, i64 0, i64 %713 - %switch.load1183 = load i64, ptr %switch.gep1182, align 8 - %714 = load ptr, ptr %1, align 8, !noalias !62 - %715 = getelementptr inbounds nuw i8, ptr %714, i64 %switch.load1183 - %716 = load ptr, ptr %715, align 8, !noalias !62 - invoke void %716(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %64, ptr noundef nonnull align 8 dereferenceable(60) %1, i32 noundef %695) - to label %717 unwind label %.loopexit.split-lp594 - -717: ; preds = %switch.lookup1181 +switch.lookup1177: ; preds = %697 + %711 = zext nneg i32 %701 to i64 + %switch.gep1178 = getelementptr inbounds nuw [3 x i64], ptr @switch.table._ZNK10open_spiel10algorithms22TabularBestResponseMDP10GetNodeKeyB5cxx11ERKNS_5StateEi, i64 0, i64 %711 + %switch.load1179 = load i64, ptr %switch.gep1178, align 8 + %712 = load ptr, ptr %1, align 8, !noalias !62 + %713 = getelementptr inbounds nuw i8, ptr %712, i64 %switch.load1179 + %714 = load ptr, ptr %713, align 8, !noalias !62 + invoke void %714(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %64, ptr noundef nonnull align 8 dereferenceable(60) %1, i32 noundef %693) + to label %715 unwind label %.loopexit.split-lp594 + +715: ; preds = %switch.lookup1177 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %9) call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %10) - %718 = sext i32 %695 to i64 - %719 = getelementptr inbounds nuw i8, ptr %0, i64 8 - %720 = load ptr, ptr %719, align 8 - %721 = load ptr, ptr %0, align 8 - %722 = ptrtoint ptr %720 to i64 - %723 = ptrtoint ptr %721 to i64 - %724 = sub i64 %722, %723 - %725 = ashr exact i64 %724, 3 - %.not.i.i365 = icmp ugt i64 %725, %718 - br i1 %.not.i.i365, label %727, label %726 - -726: ; preds = %717 - invoke void (ptr, ...) @_ZSt24__throw_out_of_range_fmtPKcz(ptr noundef nonnull @.str.53, i64 noundef %718, i64 noundef %725) #25 - to label %.noexc366 unwind label %751 - -.noexc366: ; preds = %726 + %716 = sext i32 %693 to i64 + %717 = getelementptr inbounds nuw i8, ptr %0, i64 8 + %718 = load ptr, ptr %717, align 8 + %719 = load ptr, ptr %0, align 8 + %720 = ptrtoint ptr %718 to i64 + %721 = ptrtoint ptr %719 to i64 + %722 = sub i64 %720, %721 + %723 = ashr exact i64 %722, 3 + %.not.i.i365 = icmp ugt i64 %723, %716 + br i1 %.not.i.i365, label %725, label %724 + +724: ; preds = %715 + invoke void (ptr, ...) @_ZSt24__throw_out_of_range_fmtPKcz(ptr noundef nonnull @.str.53, i64 noundef %716, i64 noundef %723) #25 + to label %.noexc366 unwind label %749 + +.noexc366: ; preds = %724 unreachable -727: ; preds = %717 - %728 = getelementptr inbounds %"class.std::unique_ptr.66", ptr %721, i64 %718 - %729 = load ptr, ptr %728, align 8 - %730 = invoke noundef ptr @_ZN10open_spiel10algorithms3MDP18LookupOrCreateNodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEb(ptr noundef nonnull align 8 dereferenceable(52) %729, ptr noundef nonnull align 8 dereferenceable(32) %64, i1 noundef zeroext false) - to label %731 unwind label %751 - -731: ; preds = %727 - %732 = getelementptr inbounds nuw i8, ptr %2, i64 8 - %733 = load ptr, ptr %732, align 8 - %734 = load ptr, ptr %2, align 8 - %.not12.i368 = icmp eq ptr %733, %734 +725: ; preds = %715 + %726 = getelementptr inbounds %"class.std::unique_ptr.66", ptr %719, i64 %716 + %727 = load ptr, ptr %726, align 8 + %728 = invoke noundef ptr @_ZN10open_spiel10algorithms3MDP18LookupOrCreateNodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEb(ptr noundef nonnull align 8 dereferenceable(52) %727, ptr noundef nonnull align 8 dereferenceable(32) %64, i1 noundef zeroext false) + to label %729 unwind label %749 + +729: ; preds = %725 + %730 = getelementptr inbounds nuw i8, ptr %2, i64 8 + %731 = load ptr, ptr %730, align 8 + %732 = load ptr, ptr %2, align 8 + %.not12.i368 = icmp eq ptr %731, %732 br i1 %.not12.i368, label %.thread548, label %.lr.ph.preheader.i369 -.thread548: ; preds = %731 +.thread548: ; preds = %729 store double 1.000000e+00, ptr %65, align 8 store double 0.000000e+00, ptr %66, align 8 store double 1.000000e+00, ptr %69, align 8 store double 1.000000e+00, ptr %70, align 8 - br label %762 - -.lr.ph.preheader.i369: ; preds = %731 - %735 = ptrtoint ptr %733 to i64 - %736 = ptrtoint ptr %734 to i64 - %737 = sub i64 %735, %736 - %738 = ashr exact i64 %737, 3 - %739 = zext i32 %695 to i64 - %umax.i370 = call i64 @llvm.umax.i64(i64 %738, i64 1) + br label %760 + +.lr.ph.preheader.i369: ; preds = %729 + %733 = ptrtoint ptr %731 to i64 + %734 = ptrtoint ptr %732 to i64 + %735 = sub i64 %733, %734 + %736 = ashr exact i64 %735, 3 + %737 = zext i32 %693 to i64 + %umax.i370 = call i64 @llvm.umax.i64(i64 %736, i64 1) br label %.lr.ph.i371 -.lr.ph.i371: ; preds = %744, %.lr.ph.preheader.i369 - %indvars.iv.i372 = phi i64 [ 0, %.lr.ph.preheader.i369 ], [ %indvars.iv.next.i376, %744 ] - %.0810.i373 = phi double [ 1.000000e+00, %.lr.ph.preheader.i369 ], [ %.1.i375, %744 ] - %.not.i374 = icmp eq i64 %indvars.iv.i372, %739 - br i1 %.not.i374, label %744, label %740 +.lr.ph.i371: ; preds = %742, %.lr.ph.preheader.i369 + %indvars.iv.i372 = phi i64 [ 0, %.lr.ph.preheader.i369 ], [ %indvars.iv.next.i376, %742 ] + %.0810.i373 = phi double [ 1.000000e+00, %.lr.ph.preheader.i369 ], [ %.1.i375, %742 ] + %.not.i374 = icmp eq i64 %indvars.iv.i372, %737 + br i1 %.not.i374, label %742, label %738 -740: ; preds = %.lr.ph.i371 - %741 = getelementptr inbounds nuw double, ptr %734, i64 %indvars.iv.i372 - %742 = load double, ptr %741, align 8 - %743 = fmul double %.0810.i373, %742 - br label %744 +738: ; preds = %.lr.ph.i371 + %739 = getelementptr inbounds nuw double, ptr %732, i64 %indvars.iv.i372 + %740 = load double, ptr %739, align 8 + %741 = fmul double %.0810.i373, %740 + br label %742 -744: ; preds = %740, %.lr.ph.i371 - %.1.i375 = phi double [ %743, %740 ], [ %.0810.i373, %.lr.ph.i371 ] +742: ; preds = %738, %.lr.ph.i371 + %.1.i375 = phi double [ %741, %738 ], [ %.0810.i373, %.lr.ph.i371 ] %indvars.iv.next.i376 = add nuw nsw i64 %indvars.iv.i372, 1 %exitcond.not.i377 = icmp eq i64 %indvars.iv.next.i376, %umax.i370 br i1 %exitcond.not.i377, label %_ZNK10open_spiel10algorithms22TabularBestResponseMDP13OpponentReachERKSt6vectorIdSaIdEEi.exit379, label %.lr.ph.i371, !llvm.loop !51 -_ZNK10open_spiel10algorithms22TabularBestResponseMDP13OpponentReachERKSt6vectorIdSaIdEEi.exit379: ; preds = %744 +_ZNK10open_spiel10algorithms22TabularBestResponseMDP13OpponentReachERKSt6vectorIdSaIdEEi.exit379: ; preds = %742 store double %.1.i375, ptr %65, align 8 store double 0.000000e+00, ptr %66, align 8 - %745 = fcmp ult double %.1.i375, 0.000000e+00 - br i1 %745, label %746, label %755 + %743 = fcmp ult double %.1.i375, 0.000000e+00 + br i1 %743, label %744, label %753 -746: ; preds = %_ZNK10open_spiel10algorithms22TabularBestResponseMDP13OpponentReachERKSt6vectorIdSaIdEEi.exit379 +744: ; preds = %_ZNK10open_spiel10algorithms22TabularBestResponseMDP13OpponentReachERKSt6vectorIdSaIdEEi.exit379 store i32 254, ptr %68, align 4 invoke void @_ZN10open_spiel8internal11SpielStrCatIJRA149_KcRA2_S2_iS6_RA22_S2_RA16_S2_RA4_S2_RdRA9_S2_SD_EEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %67, ptr noundef nonnull align 1 dereferenceable(149) @.str, ptr noundef nonnull align 1 dereferenceable(2) @.str.1, ptr noundef nonnull align 4 dereferenceable(4) %68, ptr noundef nonnull align 1 dereferenceable(2) @.str.6, ptr noundef nonnull align 1 dereferenceable(22) @.str.21, ptr noundef nonnull align 1 dereferenceable(16) @.str.22, ptr noundef nonnull align 1 dereferenceable(4) @.str.9, ptr noundef nonnull align 8 dereferenceable(8) %65, ptr noundef nonnull align 1 dereferenceable(9) @.str.10, ptr noundef nonnull align 8 dereferenceable(8) %66) - to label %747 unwind label %751 + to label %745 unwind label %749 -747: ; preds = %746 +745: ; preds = %744 invoke void @_ZN10open_spiel15SpielFatalErrorERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(32) %67) #25 - to label %748 unwind label %753 + to label %746 unwind label %751 -748: ; preds = %747 +746: ; preds = %745 unreachable -749: ; preds = %688 - %750 = landingpad { ptr, i32 } +747: ; preds = %686 + %748 = landingpad { ptr, i32 } cleanup br label %_ZNSt6vectorISt4pairIldESaIS1_EED2Ev.exit435 -.loopexit593: ; preds = %822 +.loopexit593: ; preds = %820 %lpad.loopexit595 = landingpad { ptr, i32 } cleanup br label %.body361 -.loopexit.split-lp594: ; preds = %785, %switch.lookup1181 +.loopexit.split-lp594: ; preds = %783, %switch.lookup1177 %lpad.loopexit.split-lp596 = landingpad { ptr, i32 } cleanup br label %.body361 -751: ; preds = %.noexc384, %774, %726, %769, %757, %746, %727 - %752 = landingpad { ptr, i32 } +749: ; preds = %.noexc384, %772, %724, %767, %755, %744, %725 + %750 = landingpad { ptr, i32 } cleanup br label %.body382 -753: ; preds = %747 - %754 = landingpad { ptr, i32 } +751: ; preds = %745 + %752 = landingpad { ptr, i32 } cleanup call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %67) #23 br label %.body382 -755: ; preds = %_ZNK10open_spiel10algorithms22TabularBestResponseMDP13OpponentReachERKSt6vectorIdSaIdEEi.exit379 +753: ; preds = %_ZNK10open_spiel10algorithms22TabularBestResponseMDP13OpponentReachERKSt6vectorIdSaIdEEi.exit379 store double %.1.i375, ptr %69, align 8 store double 1.000000e+00, ptr %70, align 8 - %756 = fcmp ugt double %.1.i375, 1.000000e+00 - br i1 %756, label %757, label %762 + %754 = fcmp ugt double %.1.i375, 1.000000e+00 + br i1 %754, label %755, label %760 -757: ; preds = %755 +755: ; preds = %753 store i32 255, ptr %72, align 4 invoke void @_ZN10open_spiel8internal11SpielStrCatIJRA149_KcRA2_S2_iS6_RA22_S2_RA16_S2_RA4_S2_RdRA9_S2_SD_EEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %71, ptr noundef nonnull align 1 dereferenceable(149) @.str, ptr noundef nonnull align 1 dereferenceable(2) @.str.1, ptr noundef nonnull align 4 dereferenceable(4) %72, ptr noundef nonnull align 1 dereferenceable(2) @.str.6, ptr noundef nonnull align 1 dereferenceable(22) @.str.23, ptr noundef nonnull align 1 dereferenceable(16) @.str.22, ptr noundef nonnull align 1 dereferenceable(4) @.str.9, ptr noundef nonnull align 8 dereferenceable(8) %69, ptr noundef nonnull align 1 dereferenceable(9) @.str.24, ptr noundef nonnull align 8 dereferenceable(8) %70) - to label %758 unwind label %751 + to label %756 unwind label %749 -758: ; preds = %757 +756: ; preds = %755 invoke void @_ZN10open_spiel15SpielFatalErrorERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(32) %71) #25 - to label %759 unwind label %760 + to label %757 unwind label %758 -759: ; preds = %758 +757: ; preds = %756 unreachable -760: ; preds = %758 - %761 = landingpad { ptr, i32 } +758: ; preds = %756 + %759 = landingpad { ptr, i32 } cleanup call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %71) #23 br label %.body382 -762: ; preds = %.thread548, %755 - %.08.lcssa.i378547550 = phi double [ 1.000000e+00, %.thread548 ], [ %.1.i375, %755 ] - %763 = getelementptr inbounds nuw i8, ptr %730, i64 8 - %764 = load double, ptr %763, align 8 - %765 = fadd double %.08.lcssa.i378547550, %764 - store double %765, ptr %763, align 8 - %766 = load ptr, ptr %3, align 8 - %767 = getelementptr inbounds ptr, ptr %766, i64 %718 - %768 = load ptr, ptr %767, align 8 - %.not = icmp eq ptr %768, null - br i1 %.not, label %769, label %774 - -769: ; preds = %762 +760: ; preds = %.thread548, %753 + %.08.lcssa.i378547550 = phi double [ 1.000000e+00, %.thread548 ], [ %.1.i375, %753 ] + %761 = getelementptr inbounds nuw i8, ptr %728, i64 8 + %762 = load double, ptr %761, align 8 + %763 = fadd double %.08.lcssa.i378547550, %762 + store double %763, ptr %761, align 8 + %764 = load ptr, ptr %3, align 8 + %765 = getelementptr inbounds ptr, ptr %764, i64 %716 + %766 = load ptr, ptr %765, align 8 + %.not = icmp eq ptr %766, null + br i1 %.not, label %767, label %772 + +767: ; preds = %760 store i32 258, ptr %74, align 4 invoke void @_ZN10open_spiel8internal11SpielStrCatIJRA149_KcRA2_S2_iRA13_S2_RA23_S2_S6_EEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %73, ptr noundef nonnull align 1 dereferenceable(149) @.str, ptr noundef nonnull align 1 dereferenceable(2) @.str.1, ptr noundef nonnull align 4 dereferenceable(4) %74, ptr noundef nonnull align 1 dereferenceable(13) @.str.2, ptr noundef nonnull align 1 dereferenceable(23) @.str.25, ptr noundef nonnull align 1 dereferenceable(2) @.str.4) - to label %770 unwind label %751 + to label %768 unwind label %749 -770: ; preds = %769 +768: ; preds = %767 invoke void @_ZN10open_spiel15SpielFatalErrorERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(32) %73) #25 - to label %771 unwind label %772 + to label %769 unwind label %770 -771: ; preds = %770 +769: ; preds = %768 unreachable -772: ; preds = %770 - %773 = landingpad { ptr, i32 } +770: ; preds = %768 + %771 = landingpad { ptr, i32 } cleanup call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %73) #23 br label %.body382 -774: ; preds = %762 - %775 = load ptr, ptr %4, align 8 - %776 = getelementptr inbounds i64, ptr %775, i64 %718 - %777 = load i64, ptr %776, align 8 +772: ; preds = %760 + %773 = load ptr, ptr %4, align 8 + %774 = getelementptr inbounds i64, ptr %773, i64 %716 + %775 = load i64, ptr %774, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %7) call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %8) - store i64 %777, ptr %7, align 8 - store ptr %730, ptr %8, align 8 - %778 = getelementptr inbounds nuw i8, ptr %768, i64 16 - %779 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4absl7debian218container_internal12raw_hash_mapINS1_17FlatHashMapPolicyIlNS0_13flat_hash_mapIPN10open_spiel10algorithms7MDPNodeEdNS1_6HashEqIS8_vE4HashENSA_2EqESaISt4pairIKS8_dEEEEEENS0_13hash_internal4HashIlEESt8equal_toIlESaISD_IKlSH_EEEixIlSI_EEDTclsrT0_5valueclL_ZSt9addressofISP_EPT_RSV_EclL_ZSt7declvalIRSP_EDTcl9__declvalISV_ELi0EEEvEEEEERSO_(ptr noundef nonnull align 8 dereferenceable(40) %778, ptr noundef nonnull align 8 dereferenceable(8) %7) - to label %.noexc384 unwind label %751 - -.noexc384: ; preds = %774 - %780 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN4absl7debian218container_internal12raw_hash_mapINS1_17FlatHashMapPolicyIPN10open_spiel10algorithms7MDPNodeEdEENS1_6HashEqIS7_vE4HashENSA_2EqESaISt4pairIKS7_dEEEixIS7_S8_EEDTclsrT0_5valueclL_ZSt9addressofISF_EPT_RSL_EclL_ZSt7declvalIRSF_EDTcl9__declvalISL_ELi0EEEvEEEEERKSL_(ptr noundef nonnull align 8 dereferenceable(40) %779, ptr noundef nonnull align 8 dereferenceable(8) %8) - to label %781 unwind label %751 - -781: ; preds = %.noexc384 - %782 = load double, ptr %780, align 8 - %783 = fadd double %.08.lcssa.i378547550, %782 - store double %783, ptr %780, align 8 + store i64 %775, ptr %7, align 8 + store ptr %728, ptr %8, align 8 + %776 = getelementptr inbounds nuw i8, ptr %766, i64 16 + %777 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4absl7debian218container_internal12raw_hash_mapINS1_17FlatHashMapPolicyIlNS0_13flat_hash_mapIPN10open_spiel10algorithms7MDPNodeEdNS1_6HashEqIS8_vE4HashENSA_2EqESaISt4pairIKS8_dEEEEEENS0_13hash_internal4HashIlEESt8equal_toIlESaISD_IKlSH_EEEixIlSI_EEDTclsrT0_5valueclL_ZSt9addressofISP_EPT_RSV_EclL_ZSt7declvalIRSP_EDTcl9__declvalISV_ELi0EEEvEEEEERSO_(ptr noundef nonnull align 8 dereferenceable(40) %776, ptr noundef nonnull align 8 dereferenceable(8) %7) + to label %.noexc384 unwind label %749 + +.noexc384: ; preds = %772 + %778 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN4absl7debian218container_internal12raw_hash_mapINS1_17FlatHashMapPolicyIPN10open_spiel10algorithms7MDPNodeEdEENS1_6HashEqIS7_vE4HashENSA_2EqESaISt4pairIKS7_dEEEixIS7_S8_EEDTclsrT0_5valueclL_ZSt9addressofISF_EPT_RSL_EclL_ZSt7declvalIRSF_EDTcl9__declvalISL_ELi0EEEvEEEEERKSL_(ptr noundef nonnull align 8 dereferenceable(40) %777, ptr noundef nonnull align 8 dereferenceable(8) %8) + to label %779 unwind label %749 + +779: ; preds = %.noexc384 + %780 = load double, ptr %778, align 8 + %781 = fadd double %.08.lcssa.i378547550, %780 + store double %781, ptr %778, align 8 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %7) call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %8) call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %64) #23 - br label %784 + br label %782 -.body382: ; preds = %751, %772, %760, %753 - %.pn197 = phi { ptr, i32 } [ %773, %772 ], [ %761, %760 ], [ %754, %753 ], [ %752, %751 ] +.body382: ; preds = %749, %770, %758, %751 + %.pn197 = phi { ptr, i32 } [ %771, %770 ], [ %759, %758 ], [ %752, %751 ], [ %750, %749 ] call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %64) #23 br label %.body361 -784: ; preds = %696, %781 - %.0182 = phi ptr [ %730, %781 ], [ null, %696 ] - %.not231 = xor i1 %697, true - %or.cond232 = and i1 %698, %.not231 - br i1 %or.cond232, label %_ZNSt6vectorISt4pairIldESaIS1_EED2Ev.exit390, label %785 - -785: ; preds = %784 - %786 = getelementptr inbounds nuw i8, ptr %0, i64 32 - %787 = load ptr, ptr %786, align 8 +782: ; preds = %694, %779 + %.0182 = phi ptr [ %728, %779 ], [ null, %694 ] + %.not231 = xor i1 %695, true + %or.cond232 = and i1 %696, %.not231 + br i1 %or.cond232, label %_ZNSt6vectorISt4pairIldESaIS1_EED2Ev.exit390, label %783 + +783: ; preds = %782 + %784 = getelementptr inbounds nuw i8, ptr %0, i64 32 + %785 = load ptr, ptr %784, align 8 + %786 = load ptr, ptr %785, align 8 + %787 = getelementptr inbounds nuw i8, ptr %786, i64 48 %788 = load ptr, ptr %787, align 8 - %789 = getelementptr inbounds nuw i8, ptr %788, i64 48 - %790 = load ptr, ptr %789, align 8 - invoke void %790(ptr dead_on_unwind nonnull writable sret(%"class.std::vector") align 8 %75, ptr noundef nonnull align 8 dereferenceable(8) %787, ptr noundef nonnull align 8 dereferenceable(60) %1) - to label %791 unwind label %.loopexit.split-lp594 - -791: ; preds = %785 - %792 = load ptr, ptr %63, align 8 - %793 = getelementptr inbounds nuw i8, ptr %63, i64 8 - %794 = getelementptr inbounds nuw i8, ptr %63, i64 16 - %795 = load ptr, ptr %794, align 8 - %796 = load ptr, ptr %75, align 8 - store ptr %796, ptr %63, align 8 - %797 = getelementptr inbounds nuw i8, ptr %75, i64 8 + invoke void %788(ptr dead_on_unwind nonnull writable sret(%"class.std::vector") align 8 %75, ptr noundef nonnull align 8 dereferenceable(8) %785, ptr noundef nonnull align 8 dereferenceable(60) %1) + to label %789 unwind label %.loopexit.split-lp594 + +789: ; preds = %783 + %790 = load ptr, ptr %63, align 8 + %791 = getelementptr inbounds nuw i8, ptr %63, i64 8 + %792 = getelementptr inbounds nuw i8, ptr %63, i64 16 + %793 = load ptr, ptr %792, align 8 + %794 = load ptr, ptr %75, align 8 + store ptr %794, ptr %63, align 8 + %795 = getelementptr inbounds nuw i8, ptr %75, i64 8 + %796 = load ptr, ptr %795, align 8 + store ptr %796, ptr %791, align 8 + %797 = getelementptr inbounds nuw i8, ptr %75, i64 16 %798 = load ptr, ptr %797, align 8 - store ptr %798, ptr %793, align 8 - %799 = getelementptr inbounds nuw i8, ptr %75, i64 16 - %800 = load ptr, ptr %799, align 8 - store ptr %800, ptr %794, align 8 - %.not.i.i.i.i.i387 = icmp eq ptr %792, null + store ptr %798, ptr %792, align 8 + %.not.i.i.i.i.i387 = icmp eq ptr %790, null call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %75, i8 0, i64 24, i1 false) br i1 %.not.i.i.i.i.i387, label %_ZNSt6vectorISt4pairIldESaIS1_EED2Ev.exit390, label %_ZNSt6vectorISt4pairIldESaIS1_EEaSEOS3_.exit388 -_ZNSt6vectorISt4pairIldESaIS1_EEaSEOS3_.exit388: ; preds = %791 - %801 = ptrtoint ptr %795 to i64 - %802 = ptrtoint ptr %792 to i64 - %803 = sub i64 %801, %802 - call void @_ZdlPvm(ptr noundef nonnull %792, i64 noundef %803) #24 +_ZNSt6vectorISt4pairIldESaIS1_EEaSEOS3_.exit388: ; preds = %789 + %799 = ptrtoint ptr %793 to i64 + %800 = ptrtoint ptr %790 to i64 + %801 = sub i64 %799, %800 + call void @_ZdlPvm(ptr noundef nonnull %790, i64 noundef %801) #24 %.pr551 = load ptr, ptr %75, align 8 %.not.i.i.i389 = icmp eq ptr %.pr551, null - br i1 %.not.i.i.i389, label %_ZNSt6vectorISt4pairIldESaIS1_EED2Ev.exit390, label %804 - -804: ; preds = %_ZNSt6vectorISt4pairIldESaIS1_EEaSEOS3_.exit388 - %805 = load ptr, ptr %799, align 8 - %806 = ptrtoint ptr %805 to i64 - %807 = ptrtoint ptr %.pr551 to i64 - %808 = sub i64 %806, %807 - call void @_ZdlPvm(ptr noundef nonnull %.pr551, i64 noundef %808) #24 + br i1 %.not.i.i.i389, label %_ZNSt6vectorISt4pairIldESaIS1_EED2Ev.exit390, label %802 + +802: ; preds = %_ZNSt6vectorISt4pairIldESaIS1_EEaSEOS3_.exit388 + %803 = load ptr, ptr %797, align 8 + %804 = ptrtoint ptr %803 to i64 + %805 = ptrtoint ptr %.pr551 to i64 + %806 = sub i64 %804, %805 + call void @_ZdlPvm(ptr noundef nonnull %.pr551, i64 noundef %806) #24 br label %_ZNSt6vectorISt4pairIldESaIS1_EED2Ev.exit390 -_ZNSt6vectorISt4pairIldESaIS1_EED2Ev.exit390: ; preds = %791, %804, %_ZNSt6vectorISt4pairIldESaIS1_EEaSEOS3_.exit388, %784 - %809 = load ptr, ptr %62, align 8 - %810 = getelementptr inbounds nuw i8, ptr %62, i64 8 - %811 = load ptr, ptr %810, align 8 - %.not556692 = icmp eq ptr %809, %811 +_ZNSt6vectorISt4pairIldESaIS1_EED2Ev.exit390: ; preds = %789, %802, %_ZNSt6vectorISt4pairIldESaIS1_EEaSEOS3_.exit388, %782 + %807 = load ptr, ptr %62, align 8 + %808 = getelementptr inbounds nuw i8, ptr %62, i64 8 + %809 = load ptr, ptr %808, align 8 + %.not556692 = icmp eq ptr %807, %809 br i1 %.not556692, label %._crit_edge, label %.lr.ph .lr.ph: ; preds = %_ZNSt6vectorISt4pairIldESaIS1_EED2Ev.exit390 - %812 = getelementptr inbounds nuw i8, ptr %2, i64 8 - %813 = getelementptr inbounds nuw i8, ptr %77, i64 8 - %814 = getelementptr inbounds nuw i8, ptr %77, i64 16 - %815 = getelementptr inbounds nuw i8, ptr %3, i64 8 - %816 = getelementptr inbounds nuw i8, ptr %78, i64 8 - %817 = getelementptr inbounds nuw i8, ptr %78, i64 16 - %818 = sext i32 %695 to i64 - %819 = getelementptr inbounds nuw i8, ptr %4, i64 8 - %820 = getelementptr inbounds nuw i8, ptr %87, i64 8 - %821 = getelementptr inbounds nuw i8, ptr %87, i64 16 - br label %822 - -822: ; preds = %.lr.ph, %_ZNSt10unique_ptrIN10open_spiel5StateESt14default_deleteIS1_EED2Ev.exit420 - %.sroa.0438.0693 = phi ptr [ %809, %.lr.ph ], [ %916, %_ZNSt10unique_ptrIN10open_spiel5StateESt14default_deleteIS1_EED2Ev.exit420 ] - %823 = load i64, ptr %.sroa.0438.0693, align 8 - %824 = load ptr, ptr %1, align 8 - %825 = getelementptr inbounds nuw i8, ptr %824, i64 192 - %826 = load ptr, ptr %825, align 8 - invoke void %826(ptr dead_on_unwind nonnull writable sret(%"class.std::unique_ptr.86") align 8 %76, ptr noundef nonnull align 8 dereferenceable(60) %1) - to label %827 unwind label %.loopexit593 - -827: ; preds = %822 - %828 = load ptr, ptr %76, align 8 + %810 = getelementptr inbounds nuw i8, ptr %2, i64 8 + %811 = getelementptr inbounds nuw i8, ptr %77, i64 8 + %812 = getelementptr inbounds nuw i8, ptr %77, i64 16 + %813 = getelementptr inbounds nuw i8, ptr %3, i64 8 + %814 = getelementptr inbounds nuw i8, ptr %78, i64 8 + %815 = getelementptr inbounds nuw i8, ptr %78, i64 16 + %816 = sext i32 %693 to i64 + %817 = getelementptr inbounds nuw i8, ptr %4, i64 8 + %818 = getelementptr inbounds nuw i8, ptr %87, i64 8 + %819 = getelementptr inbounds nuw i8, ptr %87, i64 16 + br label %820 + +820: ; preds = %.lr.ph, %_ZNSt10unique_ptrIN10open_spiel5StateESt14default_deleteIS1_EED2Ev.exit420 + %.sroa.0438.0693 = phi ptr [ %807, %.lr.ph ], [ %914, %_ZNSt10unique_ptrIN10open_spiel5StateESt14default_deleteIS1_EED2Ev.exit420 ] + %821 = load i64, ptr %.sroa.0438.0693, align 8 + %822 = load ptr, ptr %1, align 8 + %823 = getelementptr inbounds nuw i8, ptr %822, i64 192 + %824 = load ptr, ptr %823, align 8 + invoke void %824(ptr dead_on_unwind nonnull writable sret(%"class.std::unique_ptr.86") align 8 %76, ptr noundef nonnull align 8 dereferenceable(60) %1) + to label %825 unwind label %.loopexit593 + +825: ; preds = %820 + %826 = load ptr, ptr %76, align 8 + %827 = load ptr, ptr %826, align 8 + %828 = getelementptr inbounds nuw i8, ptr %827, i64 24 %829 = load ptr, ptr %828, align 8 - %830 = getelementptr inbounds nuw i8, ptr %829, i64 24 - %831 = load ptr, ptr %830, align 8 - invoke void %831(ptr noundef nonnull align 8 dereferenceable(60) %828, i64 noundef %823) - to label %832 unwind label %.loopexit598 - -832: ; preds = %827 - %833 = load ptr, ptr %812, align 8 - %834 = load ptr, ptr %2, align 8 - %835 = ptrtoint ptr %833 to i64 - %836 = ptrtoint ptr %834 to i64 - %837 = sub i64 %835, %836 + invoke void %829(ptr noundef nonnull align 8 dereferenceable(60) %826, i64 noundef %821) + to label %830 unwind label %.loopexit598 + +830: ; preds = %825 + %831 = load ptr, ptr %810, align 8 + %832 = load ptr, ptr %2, align 8 + %833 = ptrtoint ptr %831 to i64 + %834 = ptrtoint ptr %832 to i64 + %835 = sub i64 %833, %834 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %77, i8 0, i64 24, i1 false) - %.not.i.i.i.i391 = icmp eq ptr %833, %834 - br i1 %.not.i.i.i.i391, label %.noexc396.thread, label %839 + %.not.i.i.i.i391 = icmp eq ptr %831, %832 + br i1 %.not.i.i.i.i391, label %.noexc396.thread, label %837 -.noexc396.thread: ; preds = %832 - %838 = getelementptr inbounds i8, ptr null, i64 %837 +.noexc396.thread: ; preds = %830 + %836 = getelementptr inbounds i8, ptr null, i64 %835 store i64 0, ptr %77, align 8 - store ptr %838, ptr %814, align 8 - br label %844 + store ptr %836, ptr %812, align 8 + br label %842 -839: ; preds = %832 - %840 = icmp ugt i64 %837, 9223372036854775800 - br i1 %840, label %.noexc.i.i394, label %_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i392 +837: ; preds = %830 + %838 = icmp ugt i64 %835, 9223372036854775800 + br i1 %838, label %.noexc.i.i394, label %_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i392 -.noexc.i.i394: ; preds = %839 +.noexc.i.i394: ; preds = %837 invoke void @_ZSt28__throw_bad_array_new_lengthv() #25 to label %.noexc395 unwind label %.loopexit.split-lp599 .noexc395: ; preds = %.noexc.i.i394 unreachable -_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i392: ; preds = %839 - %841 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %837) #26 - to label %842 unwind label %.loopexit598 - -842: ; preds = %_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i392 - store ptr %841, ptr %77, align 8 - %843 = getelementptr inbounds nuw i8, ptr %841, i64 %837 - store ptr %843, ptr %814, align 8 - call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %841, ptr align 8 %834, i64 %837, i1 false) - br label %844 - -844: ; preds = %842, %.noexc396.thread - %845 = phi ptr [ %838, %.noexc396.thread ], [ %843, %842 ] - %846 = phi ptr [ null, %.noexc396.thread ], [ %841, %842 ] - store ptr %845, ptr %813, align 8 - %847 = load ptr, ptr %815, align 8 - %848 = load ptr, ptr %3, align 8 - %849 = ptrtoint ptr %847 to i64 - %850 = ptrtoint ptr %848 to i64 - %851 = sub i64 %849, %850 +_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i392: ; preds = %837 + %839 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %835) #26 + to label %840 unwind label %.loopexit598 + +840: ; preds = %_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i392 + store ptr %839, ptr %77, align 8 + %841 = getelementptr inbounds nuw i8, ptr %839, i64 %835 + store ptr %841, ptr %812, align 8 + call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %839, ptr align 8 %832, i64 %835, i1 false) + br label %842 + +842: ; preds = %840, %.noexc396.thread + %843 = phi ptr [ %836, %.noexc396.thread ], [ %841, %840 ] + %844 = phi ptr [ null, %.noexc396.thread ], [ %839, %840 ] + store ptr %843, ptr %811, align 8 + %845 = load ptr, ptr %813, align 8 + %846 = load ptr, ptr %3, align 8 + %847 = ptrtoint ptr %845 to i64 + %848 = ptrtoint ptr %846 to i64 + %849 = sub i64 %847, %848 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %78, i8 0, i64 24, i1 false) - %.not.i.i.i.i398 = icmp eq ptr %847, %848 - br i1 %.not.i.i.i.i398, label %.noexc403.thread, label %853 + %.not.i.i.i.i398 = icmp eq ptr %845, %846 + br i1 %.not.i.i.i.i398, label %.noexc403.thread, label %851 -.noexc403.thread: ; preds = %844 - %852 = getelementptr inbounds i8, ptr null, i64 %851 +.noexc403.thread: ; preds = %842 + %850 = getelementptr inbounds i8, ptr null, i64 %849 store i64 0, ptr %78, align 8 - store ptr %852, ptr %817, align 8 - br label %858 + store ptr %850, ptr %815, align 8 + br label %856 -853: ; preds = %844 - %854 = icmp ugt i64 %851, 9223372036854775800 - br i1 %854, label %.noexc.i.i401, label %_ZNSt16allocator_traitsISaIPN10open_spiel10algorithms7MDPNodeEEE8allocateERS4_m.exit.i.i.i.i399 +851: ; preds = %842 + %852 = icmp ugt i64 %849, 9223372036854775800 + br i1 %852, label %.noexc.i.i401, label %_ZNSt16allocator_traitsISaIPN10open_spiel10algorithms7MDPNodeEEE8allocateERS4_m.exit.i.i.i.i399 -.noexc.i.i401: ; preds = %853 +.noexc.i.i401: ; preds = %851 invoke void @_ZSt28__throw_bad_array_new_lengthv() #25 to label %.noexc402 unwind label %.loopexit.split-lp604 .noexc402: ; preds = %.noexc.i.i401 unreachable -_ZNSt16allocator_traitsISaIPN10open_spiel10algorithms7MDPNodeEEE8allocateERS4_m.exit.i.i.i.i399: ; preds = %853 - %855 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %851) #26 - to label %856 unwind label %.loopexit603 - -856: ; preds = %_ZNSt16allocator_traitsISaIPN10open_spiel10algorithms7MDPNodeEEE8allocateERS4_m.exit.i.i.i.i399 - store ptr %855, ptr %78, align 8 - %857 = getelementptr inbounds nuw i8, ptr %855, i64 %851 - store ptr %857, ptr %817, align 8 - call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %855, ptr align 8 %848, i64 %851, i1 false) - br label %858 - -858: ; preds = %856, %.noexc403.thread - %859 = phi ptr [ %852, %.noexc403.thread ], [ %857, %856 ] - %860 = phi ptr [ null, %.noexc403.thread ], [ %855, %856 ] - store ptr %859, ptr %816, align 8 - br i1 %or.cond232, label %881, label %861 - -861: ; preds = %858 - %862 = invoke noundef double @_ZN10open_spiel7GetProbERKSt6vectorISt4pairIldESaIS2_EEl(ptr noundef nonnull align 8 dereferenceable(24) %63, i64 noundef %823) - to label %863 unwind label %.loopexit608 - -863: ; preds = %861 - store double %862, ptr %79, align 8 +_ZNSt16allocator_traitsISaIPN10open_spiel10algorithms7MDPNodeEEE8allocateERS4_m.exit.i.i.i.i399: ; preds = %851 + %853 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %849) #26 + to label %854 unwind label %.loopexit603 + +854: ; preds = %_ZNSt16allocator_traitsISaIPN10open_spiel10algorithms7MDPNodeEEE8allocateERS4_m.exit.i.i.i.i399 + store ptr %853, ptr %78, align 8 + %855 = getelementptr inbounds nuw i8, ptr %853, i64 %849 + store ptr %855, ptr %815, align 8 + call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %853, ptr align 8 %846, i64 %849, i1 false) + br label %856 + +856: ; preds = %854, %.noexc403.thread + %857 = phi ptr [ %850, %.noexc403.thread ], [ %855, %854 ] + %858 = phi ptr [ null, %.noexc403.thread ], [ %853, %854 ] + store ptr %857, ptr %814, align 8 + br i1 %or.cond232, label %879, label %859 + +859: ; preds = %856 + %860 = invoke noundef double @_ZN10open_spiel7GetProbERKSt6vectorISt4pairIldESaIS2_EEl(ptr noundef nonnull align 8 dereferenceable(24) %63, i64 noundef %821) + to label %861 unwind label %.loopexit608 + +861: ; preds = %859 + store double %860, ptr %79, align 8 store i32 0, ptr %80, align 4 - %864 = fcmp ult double %862, 0.000000e+00 - br i1 %864, label %865, label %870 + %862 = fcmp ult double %860, 0.000000e+00 + br i1 %862, label %863, label %868 -865: ; preds = %863 +863: ; preds = %861 store i32 280, ptr %82, align 4 invoke void @_ZN10open_spiel8internal11SpielStrCatIJRA149_KcRA2_S2_iS6_RA17_S2_RA13_S2_RA4_S2_RdRA7_S2_RiEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %81, ptr noundef nonnull align 1 dereferenceable(149) @.str, ptr noundef nonnull align 1 dereferenceable(2) @.str.1, ptr noundef nonnull align 4 dereferenceable(4) %82, ptr noundef nonnull align 1 dereferenceable(2) @.str.6, ptr noundef nonnull align 1 dereferenceable(17) @.str.29, ptr noundef nonnull align 1 dereferenceable(13) @.str.30, ptr noundef nonnull align 1 dereferenceable(4) @.str.9, ptr noundef nonnull align 8 dereferenceable(8) %79, ptr noundef nonnull align 1 dereferenceable(7) @.str.13, ptr noundef nonnull align 4 dereferenceable(4) %80) - to label %866 unwind label %.loopexit.split-lp609 + to label %864 unwind label %.loopexit.split-lp609 -866: ; preds = %865 +864: ; preds = %863 invoke void @_ZN10open_spiel15SpielFatalErrorERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(32) %81) #25 - to label %867 unwind label %868 + to label %865 unwind label %866 -867: ; preds = %866 +865: ; preds = %864 unreachable -.loopexit598: ; preds = %827, %_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i392 +.loopexit598: ; preds = %825, %_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i392 %lpad.loopexit600 = landingpad { ptr, i32 } cleanup br label %_ZNSt6vectorIdSaIdEED2Ev.exit426 @@ -4387,197 +4373,197 @@ _ZNSt16allocator_traitsISaIPN10open_spiel10algorithms7MDPNodeEEE8allocateERS4_m. cleanup br label %_ZNSt6vectorIPN10open_spiel10algorithms7MDPNodeESaIS3_EED2Ev.exit424 -.loopexit608: ; preds = %861, %_ZNSt16allocator_traitsISaIlEE8allocateERS0_m.exit.i.i.i.i406 +.loopexit608: ; preds = %859, %_ZNSt16allocator_traitsISaIlEE8allocateERS0_m.exit.i.i.i.i406 %lpad.loopexit610 = landingpad { ptr, i32 } cleanup - br label %921 + br label %919 -.loopexit.split-lp609: ; preds = %865, %872, %.noexc.i.i408 +.loopexit.split-lp609: ; preds = %863, %870, %.noexc.i.i408 %lpad.loopexit.split-lp611 = landingpad { ptr, i32 } cleanup - br label %921 + br label %919 -868: ; preds = %866 - %869 = landingpad { ptr, i32 } +866: ; preds = %864 + %867 = landingpad { ptr, i32 } cleanup call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %81) #23 - br label %921 + br label %919 -870: ; preds = %863 - store double %862, ptr %83, align 8 +868: ; preds = %861 + store double %860, ptr %83, align 8 store i32 1, ptr %84, align 4 - %871 = fcmp ugt double %862, 1.000000e+00 - br i1 %871, label %872, label %877 + %869 = fcmp ugt double %860, 1.000000e+00 + br i1 %869, label %870, label %875 -872: ; preds = %870 +870: ; preds = %868 store i32 280, ptr %86, align 4 invoke void @_ZN10open_spiel8internal11SpielStrCatIJRA149_KcRA2_S2_iS6_RA17_S2_RA13_S2_RA4_S2_RdRA7_S2_RiEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %85, ptr noundef nonnull align 1 dereferenceable(149) @.str, ptr noundef nonnull align 1 dereferenceable(2) @.str.1, ptr noundef nonnull align 4 dereferenceable(4) %86, ptr noundef nonnull align 1 dereferenceable(2) @.str.6, ptr noundef nonnull align 1 dereferenceable(17) @.str.31, ptr noundef nonnull align 1 dereferenceable(13) @.str.30, ptr noundef nonnull align 1 dereferenceable(4) @.str.9, ptr noundef nonnull align 8 dereferenceable(8) %83, ptr noundef nonnull align 1 dereferenceable(7) @.str.15, ptr noundef nonnull align 4 dereferenceable(4) %84) - to label %873 unwind label %.loopexit.split-lp609 + to label %871 unwind label %.loopexit.split-lp609 -873: ; preds = %872 +871: ; preds = %870 invoke void @_ZN10open_spiel15SpielFatalErrorERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(32) %85) #25 - to label %874 unwind label %875 + to label %872 unwind label %873 -874: ; preds = %873 +872: ; preds = %871 unreachable -875: ; preds = %873 - %876 = landingpad { ptr, i32 } +873: ; preds = %871 + %874 = landingpad { ptr, i32 } cleanup call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %85) #23 - br label %921 - -877: ; preds = %870 - %878 = getelementptr inbounds double, ptr %846, i64 %818 - %879 = load double, ptr %878, align 8 - %880 = fmul double %862, %879 - store double %880, ptr %878, align 8 - br label %881 - -881: ; preds = %858, %877 - br i1 %or.cond230, label %882, label %884 - -882: ; preds = %881 - %883 = getelementptr inbounds ptr, ptr %860, i64 %818 - store ptr %.0182, ptr %883, align 8 - br label %884 - -884: ; preds = %881, %882 - %885 = load ptr, ptr %819, align 8 - %886 = load ptr, ptr %4, align 8 - %887 = ptrtoint ptr %885 to i64 - %888 = ptrtoint ptr %886 to i64 - %889 = sub i64 %887, %888 + br label %919 + +875: ; preds = %868 + %876 = getelementptr inbounds double, ptr %844, i64 %816 + %877 = load double, ptr %876, align 8 + %878 = fmul double %860, %877 + store double %878, ptr %876, align 8 + br label %879 + +879: ; preds = %856, %875 + br i1 %or.cond230, label %880, label %882 + +880: ; preds = %879 + %881 = getelementptr inbounds ptr, ptr %858, i64 %816 + store ptr %.0182, ptr %881, align 8 + br label %882 + +882: ; preds = %879, %880 + %883 = load ptr, ptr %817, align 8 + %884 = load ptr, ptr %4, align 8 + %885 = ptrtoint ptr %883 to i64 + %886 = ptrtoint ptr %884 to i64 + %887 = sub i64 %885, %886 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %87, i8 0, i64 24, i1 false) - %.not.i.i.i.i405 = icmp eq ptr %885, %886 - br i1 %.not.i.i.i.i405, label %.noexc410.thread, label %891 + %.not.i.i.i.i405 = icmp eq ptr %883, %884 + br i1 %.not.i.i.i.i405, label %.noexc410.thread, label %889 -.noexc410.thread: ; preds = %884 - %890 = getelementptr inbounds i8, ptr null, i64 %889 +.noexc410.thread: ; preds = %882 + %888 = getelementptr inbounds i8, ptr null, i64 %887 store i64 0, ptr %87, align 8 - store ptr %890, ptr %821, align 8 - br label %896 + store ptr %888, ptr %819, align 8 + br label %894 -891: ; preds = %884 - %892 = icmp ugt i64 %889, 9223372036854775800 - br i1 %892, label %.noexc.i.i408, label %_ZNSt16allocator_traitsISaIlEE8allocateERS0_m.exit.i.i.i.i406 +889: ; preds = %882 + %890 = icmp ugt i64 %887, 9223372036854775800 + br i1 %890, label %.noexc.i.i408, label %_ZNSt16allocator_traitsISaIlEE8allocateERS0_m.exit.i.i.i.i406 -.noexc.i.i408: ; preds = %891 +.noexc.i.i408: ; preds = %889 invoke void @_ZSt28__throw_bad_array_new_lengthv() #25 to label %.noexc409 unwind label %.loopexit.split-lp609 .noexc409: ; preds = %.noexc.i.i408 unreachable -_ZNSt16allocator_traitsISaIlEE8allocateERS0_m.exit.i.i.i.i406: ; preds = %891 - %893 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %889) #26 - to label %894 unwind label %.loopexit608 - -894: ; preds = %_ZNSt16allocator_traitsISaIlEE8allocateERS0_m.exit.i.i.i.i406 - store ptr %893, ptr %87, align 8 - %895 = getelementptr inbounds nuw i8, ptr %893, i64 %889 - store ptr %895, ptr %821, align 8 - call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %893, ptr align 8 %886, i64 %889, i1 false) - br label %896 - -896: ; preds = %894, %.noexc410.thread - %897 = phi ptr [ %890, %.noexc410.thread ], [ %895, %894 ] - %898 = phi ptr [ null, %.noexc410.thread ], [ %893, %894 ] - store ptr %897, ptr %820, align 8 - %899 = getelementptr inbounds i64, ptr %898, i64 %818 - store i64 %823, ptr %899, align 8 - %900 = load ptr, ptr %76, align 8 - invoke void @_ZN10open_spiel10algorithms22TabularBestResponseMDP9BuildMDPsERKNS_5StateERKSt6vectorIdSaIdEERKS5_IPNS0_7MDPNodeESaISB_EERKS5_IlSaIlEEi(ptr noundef nonnull align 8 dereferenceable(44) %0, ptr noundef nonnull align 8 dereferenceable(60) %900, ptr noundef nonnull align 8 dereferenceable(24) %77, ptr noundef nonnull align 8 dereferenceable(24) %78, ptr noundef nonnull align 8 dereferenceable(24) %87, i32 noundef %5) +_ZNSt16allocator_traitsISaIlEE8allocateERS0_m.exit.i.i.i.i406: ; preds = %889 + %891 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %887) #26 + to label %892 unwind label %.loopexit608 + +892: ; preds = %_ZNSt16allocator_traitsISaIlEE8allocateERS0_m.exit.i.i.i.i406 + store ptr %891, ptr %87, align 8 + %893 = getelementptr inbounds nuw i8, ptr %891, i64 %887 + store ptr %893, ptr %819, align 8 + call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %891, ptr align 8 %884, i64 %887, i1 false) + br label %894 + +894: ; preds = %892, %.noexc410.thread + %895 = phi ptr [ %888, %.noexc410.thread ], [ %893, %892 ] + %896 = phi ptr [ null, %.noexc410.thread ], [ %891, %892 ] + store ptr %895, ptr %818, align 8 + %897 = getelementptr inbounds i64, ptr %896, i64 %816 + store i64 %821, ptr %897, align 8 + %898 = load ptr, ptr %76, align 8 + invoke void @_ZN10open_spiel10algorithms22TabularBestResponseMDP9BuildMDPsERKNS_5StateERKSt6vectorIdSaIdEERKS5_IPNS0_7MDPNodeESaISB_EERKS5_IlSaIlEEi(ptr noundef nonnull align 8 dereferenceable(44) %0, ptr noundef nonnull align 8 dereferenceable(60) %898, ptr noundef nonnull align 8 dereferenceable(24) %77, ptr noundef nonnull align 8 dereferenceable(24) %78, ptr noundef nonnull align 8 dereferenceable(24) %87, i32 noundef %5) to label %_ZNSt6vectorIlSaIlEED2Ev.exit413 unwind label %_ZNSt6vectorIlSaIlEED2Ev.exit422 -_ZNSt6vectorIlSaIlEED2Ev.exit413: ; preds = %896 - %901 = ptrtoint ptr %897 to i64 - %902 = ptrtoint ptr %898 to i64 - %903 = sub i64 %901, %902 - call void @_ZdlPvm(ptr noundef nonnull %898, i64 noundef %903) #24 - %.not.i.i.i414 = icmp eq ptr %860, null - br i1 %.not.i.i.i414, label %_ZNSt6vectorIPN10open_spiel10algorithms7MDPNodeESaIS3_EED2Ev.exit415, label %904 - -904: ; preds = %_ZNSt6vectorIlSaIlEED2Ev.exit413 - %905 = ptrtoint ptr %859 to i64 - %906 = ptrtoint ptr %860 to i64 - %907 = sub i64 %905, %906 - call void @_ZdlPvm(ptr noundef nonnull %860, i64 noundef %907) #24 +_ZNSt6vectorIlSaIlEED2Ev.exit413: ; preds = %894 + %899 = ptrtoint ptr %895 to i64 + %900 = ptrtoint ptr %896 to i64 + %901 = sub i64 %899, %900 + call void @_ZdlPvm(ptr noundef nonnull %896, i64 noundef %901) #24 + %.not.i.i.i414 = icmp eq ptr %858, null + br i1 %.not.i.i.i414, label %_ZNSt6vectorIPN10open_spiel10algorithms7MDPNodeESaIS3_EED2Ev.exit415, label %902 + +902: ; preds = %_ZNSt6vectorIlSaIlEED2Ev.exit413 + %903 = ptrtoint ptr %857 to i64 + %904 = ptrtoint ptr %858 to i64 + %905 = sub i64 %903, %904 + call void @_ZdlPvm(ptr noundef nonnull %858, i64 noundef %905) #24 br label %_ZNSt6vectorIPN10open_spiel10algorithms7MDPNodeESaIS3_EED2Ev.exit415 -_ZNSt6vectorIPN10open_spiel10algorithms7MDPNodeESaIS3_EED2Ev.exit415: ; preds = %_ZNSt6vectorIlSaIlEED2Ev.exit413, %904 - %.not.i.i.i416 = icmp eq ptr %846, null - br i1 %.not.i.i.i416, label %_ZNSt6vectorIdSaIdEED2Ev.exit417, label %908 +_ZNSt6vectorIPN10open_spiel10algorithms7MDPNodeESaIS3_EED2Ev.exit415: ; preds = %_ZNSt6vectorIlSaIlEED2Ev.exit413, %902 + %.not.i.i.i416 = icmp eq ptr %844, null + br i1 %.not.i.i.i416, label %_ZNSt6vectorIdSaIdEED2Ev.exit417, label %906 -908: ; preds = %_ZNSt6vectorIPN10open_spiel10algorithms7MDPNodeESaIS3_EED2Ev.exit415 - %909 = ptrtoint ptr %845 to i64 - %910 = ptrtoint ptr %846 to i64 - %911 = sub i64 %909, %910 - call void @_ZdlPvm(ptr noundef nonnull %846, i64 noundef %911) #24 +906: ; preds = %_ZNSt6vectorIPN10open_spiel10algorithms7MDPNodeESaIS3_EED2Ev.exit415 + %907 = ptrtoint ptr %843 to i64 + %908 = ptrtoint ptr %844 to i64 + %909 = sub i64 %907, %908 + call void @_ZdlPvm(ptr noundef nonnull %844, i64 noundef %909) #24 br label %_ZNSt6vectorIdSaIdEED2Ev.exit417 -_ZNSt6vectorIdSaIdEED2Ev.exit417: ; preds = %_ZNSt6vectorIPN10open_spiel10algorithms7MDPNodeESaIS3_EED2Ev.exit415, %908 - %912 = load ptr, ptr %76, align 8 - %.not.i418 = icmp eq ptr %912, null +_ZNSt6vectorIdSaIdEED2Ev.exit417: ; preds = %_ZNSt6vectorIPN10open_spiel10algorithms7MDPNodeESaIS3_EED2Ev.exit415, %906 + %910 = load ptr, ptr %76, align 8 + %.not.i418 = icmp eq ptr %910, null br i1 %.not.i418, label %_ZNSt10unique_ptrIN10open_spiel5StateESt14default_deleteIS1_EED2Ev.exit420, label %_ZNKSt14default_deleteIN10open_spiel5StateEEclEPS1_.exit.i419 _ZNKSt14default_deleteIN10open_spiel5StateEEclEPS1_.exit.i419: ; preds = %_ZNSt6vectorIdSaIdEED2Ev.exit417 + %911 = load ptr, ptr %910, align 8 + %912 = getelementptr inbounds nuw i8, ptr %911, i64 8 %913 = load ptr, ptr %912, align 8 - %914 = getelementptr inbounds nuw i8, ptr %913, i64 8 - %915 = load ptr, ptr %914, align 8 - call void %915(ptr noundef nonnull align 8 dereferenceable(60) %912) #23 + call void %913(ptr noundef nonnull align 8 dereferenceable(60) %910) #23 br label %_ZNSt10unique_ptrIN10open_spiel5StateESt14default_deleteIS1_EED2Ev.exit420 _ZNSt10unique_ptrIN10open_spiel5StateESt14default_deleteIS1_EED2Ev.exit420: ; preds = %_ZNSt6vectorIdSaIdEED2Ev.exit417, %_ZNKSt14default_deleteIN10open_spiel5StateEEclEPS1_.exit.i419 store ptr null, ptr %76, align 8 - %916 = getelementptr inbounds nuw i8, ptr %.sroa.0438.0693, i64 8 - %.not556 = icmp eq ptr %916, %811 - br i1 %.not556, label %._crit_edge, label %822 - -_ZNSt6vectorIlSaIlEED2Ev.exit422: ; preds = %896 - %917 = landingpad { ptr, i32 } - cleanup - %918 = ptrtoint ptr %897 to i64 - %919 = ptrtoint ptr %898 to i64 - %920 = sub i64 %918, %919 - call void @_ZdlPvm(ptr noundef nonnull %898, i64 noundef %920) #24 - br label %921 - -921: ; preds = %.loopexit608, %.loopexit.split-lp609, %_ZNSt6vectorIlSaIlEED2Ev.exit422, %875, %868 - %.pn = phi { ptr, i32 } [ %917, %_ZNSt6vectorIlSaIlEED2Ev.exit422 ], [ %876, %875 ], [ %869, %868 ], [ %lpad.loopexit610, %.loopexit608 ], [ %lpad.loopexit.split-lp611, %.loopexit.split-lp609 ] - %.not.i.i.i423 = icmp eq ptr %860, null - br i1 %.not.i.i.i423, label %_ZNSt6vectorIPN10open_spiel10algorithms7MDPNodeESaIS3_EED2Ev.exit424, label %922 - -922: ; preds = %921 - %923 = ptrtoint ptr %859 to i64 - %924 = ptrtoint ptr %860 to i64 - %925 = sub i64 %923, %924 - call void @_ZdlPvm(ptr noundef nonnull %860, i64 noundef %925) #24 + %914 = getelementptr inbounds nuw i8, ptr %.sroa.0438.0693, i64 8 + %.not556 = icmp eq ptr %914, %809 + br i1 %.not556, label %._crit_edge, label %820 + +_ZNSt6vectorIlSaIlEED2Ev.exit422: ; preds = %894 + %915 = landingpad { ptr, i32 } + cleanup + %916 = ptrtoint ptr %895 to i64 + %917 = ptrtoint ptr %896 to i64 + %918 = sub i64 %916, %917 + call void @_ZdlPvm(ptr noundef nonnull %896, i64 noundef %918) #24 + br label %919 + +919: ; preds = %.loopexit608, %.loopexit.split-lp609, %_ZNSt6vectorIlSaIlEED2Ev.exit422, %873, %866 + %.pn = phi { ptr, i32 } [ %915, %_ZNSt6vectorIlSaIlEED2Ev.exit422 ], [ %874, %873 ], [ %867, %866 ], [ %lpad.loopexit610, %.loopexit608 ], [ %lpad.loopexit.split-lp611, %.loopexit.split-lp609 ] + %.not.i.i.i423 = icmp eq ptr %858, null + br i1 %.not.i.i.i423, label %_ZNSt6vectorIPN10open_spiel10algorithms7MDPNodeESaIS3_EED2Ev.exit424, label %920 + +920: ; preds = %919 + %921 = ptrtoint ptr %857 to i64 + %922 = ptrtoint ptr %858 to i64 + %923 = sub i64 %921, %922 + call void @_ZdlPvm(ptr noundef nonnull %858, i64 noundef %923) #24 br label %_ZNSt6vectorIPN10open_spiel10algorithms7MDPNodeESaIS3_EED2Ev.exit424 -_ZNSt6vectorIPN10open_spiel10algorithms7MDPNodeESaIS3_EED2Ev.exit424: ; preds = %.loopexit603, %.loopexit.split-lp604, %922, %921 - %.pn.pn = phi { ptr, i32 } [ %.pn, %921 ], [ %.pn, %922 ], [ %lpad.loopexit605, %.loopexit603 ], [ %lpad.loopexit.split-lp606, %.loopexit.split-lp604 ] - %.not.i.i.i425 = icmp eq ptr %846, null - br i1 %.not.i.i.i425, label %_ZNSt6vectorIdSaIdEED2Ev.exit426, label %926 +_ZNSt6vectorIPN10open_spiel10algorithms7MDPNodeESaIS3_EED2Ev.exit424: ; preds = %.loopexit603, %.loopexit.split-lp604, %920, %919 + %.pn.pn = phi { ptr, i32 } [ %.pn, %919 ], [ %.pn, %920 ], [ %lpad.loopexit605, %.loopexit603 ], [ %lpad.loopexit.split-lp606, %.loopexit.split-lp604 ] + %.not.i.i.i425 = icmp eq ptr %844, null + br i1 %.not.i.i.i425, label %_ZNSt6vectorIdSaIdEED2Ev.exit426, label %924 -926: ; preds = %_ZNSt6vectorIPN10open_spiel10algorithms7MDPNodeESaIS3_EED2Ev.exit424 - %927 = ptrtoint ptr %845 to i64 - %928 = ptrtoint ptr %846 to i64 - %929 = sub i64 %927, %928 - call void @_ZdlPvm(ptr noundef nonnull %846, i64 noundef %929) #24 +924: ; preds = %_ZNSt6vectorIPN10open_spiel10algorithms7MDPNodeESaIS3_EED2Ev.exit424 + %925 = ptrtoint ptr %843 to i64 + %926 = ptrtoint ptr %844 to i64 + %927 = sub i64 %925, %926 + call void @_ZdlPvm(ptr noundef nonnull %844, i64 noundef %927) #24 br label %_ZNSt6vectorIdSaIdEED2Ev.exit426 -_ZNSt6vectorIdSaIdEED2Ev.exit426: ; preds = %.loopexit598, %.loopexit.split-lp599, %926, %_ZNSt6vectorIPN10open_spiel10algorithms7MDPNodeESaIS3_EED2Ev.exit424 - %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %_ZNSt6vectorIPN10open_spiel10algorithms7MDPNodeESaIS3_EED2Ev.exit424 ], [ %.pn.pn, %926 ], [ %lpad.loopexit600, %.loopexit598 ], [ %lpad.loopexit.split-lp601, %.loopexit.split-lp599 ] - %930 = load ptr, ptr %76, align 8 - %.not.i427 = icmp eq ptr %930, null +_ZNSt6vectorIdSaIdEED2Ev.exit426: ; preds = %.loopexit598, %.loopexit.split-lp599, %924, %_ZNSt6vectorIPN10open_spiel10algorithms7MDPNodeESaIS3_EED2Ev.exit424 + %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %_ZNSt6vectorIPN10open_spiel10algorithms7MDPNodeESaIS3_EED2Ev.exit424 ], [ %.pn.pn, %924 ], [ %lpad.loopexit600, %.loopexit598 ], [ %lpad.loopexit.split-lp601, %.loopexit.split-lp599 ] + %928 = load ptr, ptr %76, align 8 + %.not.i427 = icmp eq ptr %928, null br i1 %.not.i427, label %_ZNSt10unique_ptrIN10open_spiel5StateESt14default_deleteIS1_EED2Ev.exit429, label %_ZNKSt14default_deleteIN10open_spiel5StateEEclEPS1_.exit.i428 _ZNKSt14default_deleteIN10open_spiel5StateEEclEPS1_.exit.i428: ; preds = %_ZNSt6vectorIdSaIdEED2Ev.exit426 + %929 = load ptr, ptr %928, align 8 + %930 = getelementptr inbounds nuw i8, ptr %929, i64 8 %931 = load ptr, ptr %930, align 8 - %932 = getelementptr inbounds nuw i8, ptr %931, i64 8 - %933 = load ptr, ptr %932, align 8 - call void %933(ptr noundef nonnull align 8 dereferenceable(60) %930) #23 + call void %931(ptr noundef nonnull align 8 dereferenceable(60) %928) #23 br label %_ZNSt10unique_ptrIN10open_spiel5StateESt14default_deleteIS1_EED2Ev.exit429 _ZNSt10unique_ptrIN10open_spiel5StateESt14default_deleteIS1_EED2Ev.exit429: ; preds = %_ZNSt6vectorIdSaIdEED2Ev.exit426, %_ZNKSt14default_deleteIN10open_spiel5StateEEclEPS1_.exit.i428 @@ -4585,69 +4571,69 @@ _ZNSt10unique_ptrIN10open_spiel5StateESt14default_deleteIS1_EED2Ev.exit429: ; pr br label %.body361 ._crit_edge: ; preds = %_ZNSt10unique_ptrIN10open_spiel5StateESt14default_deleteIS1_EED2Ev.exit420, %_ZNSt6vectorISt4pairIldESaIS1_EED2Ev.exit390 - %934 = load ptr, ptr %63, align 8 - %.not.i.i.i430 = icmp eq ptr %934, null - br i1 %.not.i.i.i430, label %_ZNSt6vectorISt4pairIldESaIS1_EED2Ev.exit431, label %935 - -935: ; preds = %._crit_edge - %936 = getelementptr inbounds nuw i8, ptr %63, i64 16 - %937 = load ptr, ptr %936, align 8 - %938 = ptrtoint ptr %937 to i64 - %939 = ptrtoint ptr %934 to i64 - %940 = sub i64 %938, %939 - call void @_ZdlPvm(ptr noundef nonnull %934, i64 noundef %940) #24 + %932 = load ptr, ptr %63, align 8 + %.not.i.i.i430 = icmp eq ptr %932, null + br i1 %.not.i.i.i430, label %_ZNSt6vectorISt4pairIldESaIS1_EED2Ev.exit431, label %933 + +933: ; preds = %._crit_edge + %934 = getelementptr inbounds nuw i8, ptr %63, i64 16 + %935 = load ptr, ptr %934, align 8 + %936 = ptrtoint ptr %935 to i64 + %937 = ptrtoint ptr %932 to i64 + %938 = sub i64 %936, %937 + call void @_ZdlPvm(ptr noundef nonnull %932, i64 noundef %938) #24 br label %_ZNSt6vectorISt4pairIldESaIS1_EED2Ev.exit431 -_ZNSt6vectorISt4pairIldESaIS1_EED2Ev.exit431: ; preds = %._crit_edge, %935 - %941 = load ptr, ptr %62, align 8 - %.not.i.i.i432 = icmp eq ptr %941, null +_ZNSt6vectorISt4pairIldESaIS1_EED2Ev.exit431: ; preds = %._crit_edge, %933 + %939 = load ptr, ptr %62, align 8 + %.not.i.i.i432 = icmp eq ptr %939, null br i1 %.not.i.i.i432, label %_ZNSt6vectorIdSaIdEED2Ev.exit, label %_ZNSt6vectorIdSaIdEED2Ev.exit.sink.split -.body361: ; preds = %.loopexit593, %.loopexit.split-lp594, %712, %_ZNSt10unique_ptrIN10open_spiel5StateESt14default_deleteIS1_EED2Ev.exit429, %.body382 - %.pn197.pn = phi { ptr, i32 } [ %.pn197, %.body382 ], [ %.pn.pn.pn, %_ZNSt10unique_ptrIN10open_spiel5StateESt14default_deleteIS1_EED2Ev.exit429 ], [ %.pn.i360, %712 ], [ %lpad.loopexit595, %.loopexit593 ], [ %lpad.loopexit.split-lp596, %.loopexit.split-lp594 ] - %942 = load ptr, ptr %63, align 8 - %.not.i.i.i434 = icmp eq ptr %942, null - br i1 %.not.i.i.i434, label %_ZNSt6vectorISt4pairIldESaIS1_EED2Ev.exit435, label %943 - -943: ; preds = %.body361 - %944 = getelementptr inbounds nuw i8, ptr %63, i64 16 - %945 = load ptr, ptr %944, align 8 - %946 = ptrtoint ptr %945 to i64 - %947 = ptrtoint ptr %942 to i64 - %948 = sub i64 %946, %947 - call void @_ZdlPvm(ptr noundef nonnull %942, i64 noundef %948) #24 +.body361: ; preds = %.loopexit593, %.loopexit.split-lp594, %710, %_ZNSt10unique_ptrIN10open_spiel5StateESt14default_deleteIS1_EED2Ev.exit429, %.body382 + %.pn197.pn = phi { ptr, i32 } [ %.pn197, %.body382 ], [ %.pn.pn.pn, %_ZNSt10unique_ptrIN10open_spiel5StateESt14default_deleteIS1_EED2Ev.exit429 ], [ %.pn.i360, %710 ], [ %lpad.loopexit595, %.loopexit593 ], [ %lpad.loopexit.split-lp596, %.loopexit.split-lp594 ] + %940 = load ptr, ptr %63, align 8 + %.not.i.i.i434 = icmp eq ptr %940, null + br i1 %.not.i.i.i434, label %_ZNSt6vectorISt4pairIldESaIS1_EED2Ev.exit435, label %941 + +941: ; preds = %.body361 + %942 = getelementptr inbounds nuw i8, ptr %63, i64 16 + %943 = load ptr, ptr %942, align 8 + %944 = ptrtoint ptr %943 to i64 + %945 = ptrtoint ptr %940 to i64 + %946 = sub i64 %944, %945 + call void @_ZdlPvm(ptr noundef nonnull %940, i64 noundef %946) #24 br label %_ZNSt6vectorISt4pairIldESaIS1_EED2Ev.exit435 -_ZNSt6vectorISt4pairIldESaIS1_EED2Ev.exit435: ; preds = %943, %.body361, %749 - %.pn197.pn.pn = phi { ptr, i32 } [ %750, %749 ], [ %.pn197.pn, %.body361 ], [ %.pn197.pn, %943 ] - %949 = load ptr, ptr %62, align 8 - %.not.i.i.i436 = icmp eq ptr %949, null - br i1 %.not.i.i.i436, label %_ZNSt6vectorIdSaIdEED2Ev.exit242, label %950 - -950: ; preds = %_ZNSt6vectorISt4pairIldESaIS1_EED2Ev.exit435 - %951 = getelementptr inbounds nuw i8, ptr %62, i64 16 - %952 = load ptr, ptr %951, align 8 - %953 = ptrtoint ptr %952 to i64 - %954 = ptrtoint ptr %949 to i64 - %955 = sub i64 %953, %954 - call void @_ZdlPvm(ptr noundef nonnull %949, i64 noundef %955) #24 +_ZNSt6vectorISt4pairIldESaIS1_EED2Ev.exit435: ; preds = %941, %.body361, %747 + %.pn197.pn.pn = phi { ptr, i32 } [ %748, %747 ], [ %.pn197.pn, %.body361 ], [ %.pn197.pn, %941 ] + %947 = load ptr, ptr %62, align 8 + %.not.i.i.i436 = icmp eq ptr %947, null + br i1 %.not.i.i.i436, label %_ZNSt6vectorIdSaIdEED2Ev.exit242, label %948 + +948: ; preds = %_ZNSt6vectorISt4pairIldESaIS1_EED2Ev.exit435 + %949 = getelementptr inbounds nuw i8, ptr %62, i64 16 + %950 = load ptr, ptr %949, align 8 + %951 = ptrtoint ptr %950 to i64 + %952 = ptrtoint ptr %947 to i64 + %953 = sub i64 %951, %952 + call void @_ZdlPvm(ptr noundef nonnull %947, i64 noundef %953) #24 br label %_ZNSt6vectorIdSaIdEED2Ev.exit242 _ZNSt6vectorIdSaIdEED2Ev.exit.sink.split: ; preds = %_ZNSt6vectorISt4pairIldESaIS1_EED2Ev.exit431, %_ZSt8_DestroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EvT_S7_RSaIT0_E.exit.i, %._crit_edge730, %185 - %.sink1055.sroa.phi = phi ptr [ %.sink1055.sroa.gep, %185 ], [ %.sink1055.sroa.gep1309, %._crit_edge730 ], [ %.sink1055.sroa.gep1310, %_ZSt8_DestroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EvT_S7_RSaIT0_E.exit.i ], [ %.sink1055.sroa.gep1311, %_ZNSt6vectorISt4pairIldESaIS1_EED2Ev.exit431 ] - %.sink1052 = phi ptr [ %186, %185 ], [ %270, %._crit_edge730 ], [ %506, %_ZSt8_DestroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EvT_S7_RSaIT0_E.exit.i ], [ %941, %_ZNSt6vectorISt4pairIldESaIS1_EED2Ev.exit431 ] - %956 = load ptr, ptr %.sink1055.sroa.phi, align 8 - %957 = ptrtoint ptr %956 to i64 - %958 = ptrtoint ptr %.sink1052 to i64 - %959 = sub i64 %957, %958 - call void @_ZdlPvm(ptr noundef nonnull %.sink1052, i64 noundef %959) #24 + %.sink1051.sroa.phi = phi ptr [ %.sink1051.sroa.gep, %185 ], [ %.sink1051.sroa.gep1305, %._crit_edge730 ], [ %.sink1051.sroa.gep1306, %_ZSt8_DestroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EvT_S7_RSaIT0_E.exit.i ], [ %.sink1051.sroa.gep1307, %_ZNSt6vectorISt4pairIldESaIS1_EED2Ev.exit431 ] + %.sink1048 = phi ptr [ %186, %185 ], [ %270, %._crit_edge730 ], [ %506, %_ZSt8_DestroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EvT_S7_RSaIT0_E.exit.i ], [ %939, %_ZNSt6vectorISt4pairIldESaIS1_EED2Ev.exit431 ] + %954 = load ptr, ptr %.sink1051.sroa.phi, align 8 + %955 = ptrtoint ptr %954 to i64 + %956 = ptrtoint ptr %.sink1048 to i64 + %957 = sub i64 %955, %956 + call void @_ZdlPvm(ptr noundef nonnull %.sink1048, i64 noundef %957) #24 br label %_ZNSt6vectorIdSaIdEED2Ev.exit _ZNSt6vectorIdSaIdEED2Ev.exit: ; preds = %_ZNSt6vectorIdSaIdEED2Ev.exit.sink.split, %_ZNSt6vectorISt4pairIldESaIS1_EED2Ev.exit431, %_ZSt8_DestroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EvT_S7_RSaIT0_E.exit.i, %._crit_edge730, %185 ret void -_ZNSt6vectorIdSaIdEED2Ev.exit242: ; preds = %950, %_ZNSt6vectorISt4pairIldESaIS1_EED2Ev.exit435, %273, %271, %189, %187, %_ZNSt6vectorIPN10open_spiel10algorithms7MDPNodeESaIS3_EED2Ev.exit358 - %.pn220.pn.pn = phi { ptr, i32 } [ %.pn211.pn.pn.pn, %_ZNSt6vectorIPN10open_spiel10algorithms7MDPNodeESaIS3_EED2Ev.exit358 ], [ %.pn220.pn, %187 ], [ %.pn220.pn, %189 ], [ %.pn216.pn, %271 ], [ %.pn216.pn, %273 ], [ %.pn197.pn.pn, %_ZNSt6vectorISt4pairIldESaIS1_EED2Ev.exit435 ], [ %.pn197.pn.pn, %950 ] +_ZNSt6vectorIdSaIdEED2Ev.exit242: ; preds = %948, %_ZNSt6vectorISt4pairIldESaIS1_EED2Ev.exit435, %273, %271, %189, %187, %_ZNSt6vectorIPN10open_spiel10algorithms7MDPNodeESaIS3_EED2Ev.exit358 + %.pn220.pn.pn = phi { ptr, i32 } [ %.pn211.pn.pn.pn, %_ZNSt6vectorIPN10open_spiel10algorithms7MDPNodeESaIS3_EED2Ev.exit358 ], [ %.pn220.pn, %187 ], [ %.pn220.pn, %189 ], [ %.pn216.pn, %271 ], [ %.pn216.pn, %273 ], [ %.pn197.pn.pn, %_ZNSt6vectorISt4pairIldESaIS1_EED2Ev.exit435 ], [ %.pn197.pn.pn, %948 ] resume { ptr, i32 } %.pn220.pn.pn } diff --git a/bench/openssl/optimized/libcrypto-shlib-conf_def.ll b/bench/openssl/optimized/libcrypto-shlib-conf_def.ll index 6d3af328892..027562df5af 100644 --- a/bench/openssl/optimized/libcrypto-shlib-conf_def.ll +++ b/bench/openssl/optimized/libcrypto-shlib-conf_def.ll @@ -189,34 +189,34 @@ if.then11: ; preds = %if.end8 br label %err if.then14: ; preds = %for.cond.outer, %if.end328, %for.cond.backedge - %biosk.1.ph361.lcssa464 = phi ptr [ %biosk.1.ph361500, %for.cond.backedge ], [ %biosk.2, %if.end328 ], [ %biosk.1.ph, %for.cond.outer ] + %biosk.1.ph361.lcssa465 = phi ptr [ %biosk.1.ph361501, %for.cond.backedge ], [ %biosk.2, %if.end328 ], [ %biosk.1.ph, %for.cond.outer ] %eline.1.lcssa = phi i64 [ %eline.2, %for.cond.backedge ], [ %eline.2, %if.end328 ], [ %eline.1.ph, %for.cond.outer ] - %in.addr.1.lcssa = phi ptr [ %.us-phi479695, %for.cond.backedge ], [ %in.addr.3, %if.end328 ], [ %in.addr.1.ph, %for.cond.outer ] + %in.addr.1.lcssa = phi ptr [ %.us-phi480697, %for.cond.backedge ], [ %in.addr.3, %if.end328 ], [ %in.addr.1.ph, %for.cond.outer ] call void @ERR_new() #13 call void @ERR_set_debug(ptr noundef nonnull @.str.1, i32 noundef 257, ptr noundef nonnull @__func__.def_load_bio) #13 call void (i32, i32, ptr, ...) @ERR_set_error(i32 noundef 14, i32 noundef 524295, ptr noundef null) #13 br label %err if.end15: ; preds = %if.end15.lr.ph, %for.cond.backedge - %in.addr.1489 = phi ptr [ %in.addr.1.ph362501, %if.end15.lr.ph ], [ %.us-phi479695, %for.cond.backedge ] - %bufnum.0488 = phi i32 [ 0, %if.end15.lr.ph ], [ %bufnum.0.be, %for.cond.backedge ] - %eline.1486 = phi i64 [ %eline.1.ph360499, %if.end15.lr.ph ], [ %eline.2, %for.cond.backedge ] - %1 = phi i1 [ %.ph359498, %if.end15.lr.ph ], [ false, %for.cond.backedge ] - %tobool47485 = phi i1 [ false, %if.end15.lr.ph ], [ %tobool113.not701, %for.cond.backedge ] + %in.addr.1490 = phi ptr [ %in.addr.1.ph362502, %if.end15.lr.ph ], [ %.us-phi480697, %for.cond.backedge ] + %bufnum.0489 = phi i32 [ 0, %if.end15.lr.ph ], [ %bufnum.0.be, %for.cond.backedge ] + %eline.1487 = phi i64 [ %eline.1.ph360500, %if.end15.lr.ph ], [ %eline.2, %for.cond.backedge ] + %1 = phi i1 [ %.ph359499, %if.end15.lr.ph ], [ false, %for.cond.backedge ] + %tobool47486 = phi i1 [ false, %if.end15.lr.ph ], [ %tobool113.not703, %for.cond.backedge ] %2 = load ptr, ptr %data16, align 8 - %idxprom = sext i32 %bufnum.0488 to i64 + %idxprom = sext i32 %bufnum.0489 to i64 %arrayidx = getelementptr inbounds i8, ptr %2, i64 %idxprom store i8 0, ptr %arrayidx, align 1 %arrayidx24 = getelementptr inbounds nuw i8, ptr %arrayidx, i64 511 %add.ptr = getelementptr inbounds nuw i8, ptr %arrayidx, i64 3 - br i1 %tobool47485, label %if.end15.split.us, label %read_retry + br i1 %tobool47486, label %if.end15.split.us, label %read_retry if.end15.split.us: ; preds = %if.end15 - %cmp17.not.us = icmp eq ptr %in.addr.1489, null + %cmp17.not.us = icmp eq ptr %in.addr.1490, null br i1 %cmp17.not.us, label %if.end23.us, label %land.lhs.true.us land.lhs.true.us: ; preds = %if.end15.split.us - %call19.us = call i32 @BIO_gets(ptr noundef nonnull %in.addr.1489, ptr noundef nonnull %arrayidx, i32 noundef 511) #13 + %call19.us = call i32 @BIO_gets(ptr noundef nonnull %in.addr.1490, ptr noundef nonnull %arrayidx, i32 noundef 511) #13 %cmp20.us = icmp slt i32 %call19.us, 0 br i1 %cmp20.us, label %err, label %if.end23.us @@ -248,7 +248,7 @@ if.end43.us: ; preds = %if.then35.us, %land read_retry: ; preds = %if.end15, %read_retry.backedge %first_call.1 = phi i1 [ false, %read_retry.backedge ], [ %1, %if.end15 ] - %in.addr.2 = phi ptr [ %in.addr.2.be, %read_retry.backedge ], [ %in.addr.1489, %if.end15 ] + %in.addr.2 = phi ptr [ %in.addr.2.be, %read_retry.backedge ], [ %in.addr.1490, %if.end15 ] %cmp17.not = icmp eq ptr %in.addr.2, null br i1 %cmp17.not, label %if.end23, label %land.lhs.true @@ -284,18 +284,18 @@ if.end43: ; preds = %if.then35, %if.end2 br i1 %cmp44.not, label %if.then48, label %while.cond.preheader while.cond.preheader: ; preds = %if.end43, %if.end43.us - %.us-phi477 = phi i32 [ %i.0.us, %if.end43.us ], [ %i.0, %if.end43 ] - %.us-phi478 = phi i1 [ %cmp44.us, %if.end43.us ], [ true, %if.end43 ] - %.us-phi479 = phi ptr [ %in.addr.1489, %if.end43.us ], [ %in.addr.2, %if.end43 ] - %cmp65480 = icmp sgt i32 %.us-phi477, 0 - br i1 %cmp65480, label %while.body.preheader, label %while.end + %.us-phi478 = phi i32 [ %i.0.us, %if.end43.us ], [ %i.0, %if.end43 ] + %.us-phi479 = phi i1 [ %cmp44.us, %if.end43.us ], [ true, %if.end43 ] + %.us-phi480 = phi ptr [ %in.addr.1490, %if.end43.us ], [ %in.addr.2, %if.end43 ] + %cmp65481 = icmp sgt i32 %.us-phi478, 0 + br i1 %cmp65481, label %while.body.preheader, label %while.end while.body.preheader: ; preds = %land.lhs.true31, %while.cond.preheader - %.us-phi479696 = phi ptr [ %.us-phi479, %while.cond.preheader ], [ %in.addr.2, %land.lhs.true31 ] - %.us-phi478694 = phi i1 [ %.us-phi478, %while.cond.preheader ], [ true, %land.lhs.true31 ] - %.us-phi477692 = phi i32 [ %.us-phi477, %while.cond.preheader ], [ %conv26, %land.lhs.true31 ] - %invariant.gep697 = getelementptr i8, ptr %arrayidx, i64 -1 - %3 = zext nneg i32 %.us-phi477692 to i64 + %.us-phi480698 = phi ptr [ %.us-phi480, %while.cond.preheader ], [ %in.addr.2, %land.lhs.true31 ] + %.us-phi479696 = phi i1 [ %.us-phi479, %while.cond.preheader ], [ true, %land.lhs.true31 ] + %.us-phi478694 = phi i32 [ %.us-phi478, %while.cond.preheader ], [ %conv26, %land.lhs.true31 ] + %invariant.gep699 = getelementptr i8, ptr %arrayidx, i64 -1 + %3 = zext nneg i32 %.us-phi478694 to i64 br label %while.body if.then48: ; preds = %if.end43 @@ -320,13 +320,13 @@ if.else: ; preds = %if.then51 br label %if.end57 if.end57: ; preds = %if.else, %if.then48 - %call59 = call ptr @OPENSSL_sk_pop(ptr noundef %biosk.1.ph361500) #13 + %call59 = call ptr @OPENSSL_sk_pop(ptr noundef %biosk.1.ph361501) #13 %cmp60 = icmp eq ptr %call59, null br i1 %cmp60, label %for.end, label %read_retry.backedge while.body: ; preds = %while.body.preheader, %if.else81 %indvars.iv = phi i64 [ %3, %while.body.preheader ], [ %indvars.iv.next, %if.else81 ] - %gep = getelementptr i8, ptr %invariant.gep697, i64 %indvars.iv + %gep = getelementptr i8, ptr %invariant.gep699, i64 %indvars.iv %6 = load i8, ptr %gep, align 1 switch i8 %6, label %while.end.loopexit.split.loop.exit [ i8 13, label %if.else81 @@ -343,24 +343,24 @@ while.end.loopexit.split.loop.exit: ; preds = %while.body br label %while.end while.end: ; preds = %if.else81, %while.end.loopexit.split.loop.exit, %while.cond.preheader - %.us-phi479695 = phi ptr [ %.us-phi479, %while.cond.preheader ], [ %.us-phi479696, %while.end.loopexit.split.loop.exit ], [ %.us-phi479696, %if.else81 ] - %.us-phi478693 = phi i1 [ %.us-phi478, %while.cond.preheader ], [ %.us-phi478694, %while.end.loopexit.split.loop.exit ], [ %.us-phi478694, %if.else81 ] - %.us-phi477691 = phi i32 [ %.us-phi477, %while.cond.preheader ], [ %.us-phi477692, %while.end.loopexit.split.loop.exit ], [ %.us-phi477692, %if.else81 ] - %i.2.lcssa = phi i32 [ %.us-phi477, %while.cond.preheader ], [ %7, %while.end.loopexit.split.loop.exit ], [ 0, %if.else81 ] - %cmp85 = icmp eq i32 %i.2.lcssa, %.us-phi477691 - %or.cond183 = and i1 %.us-phi478693, %cmp85 + %.us-phi480697 = phi ptr [ %.us-phi480, %while.cond.preheader ], [ %.us-phi480698, %while.end.loopexit.split.loop.exit ], [ %.us-phi480698, %if.else81 ] + %.us-phi479695 = phi i1 [ %.us-phi479, %while.cond.preheader ], [ %.us-phi479696, %while.end.loopexit.split.loop.exit ], [ %.us-phi479696, %if.else81 ] + %.us-phi478693 = phi i32 [ %.us-phi478, %while.cond.preheader ], [ %.us-phi478694, %while.end.loopexit.split.loop.exit ], [ %.us-phi478694, %if.else81 ] + %i.2.lcssa = phi i32 [ %.us-phi478, %while.cond.preheader ], [ %7, %while.end.loopexit.split.loop.exit ], [ 0, %if.else81 ] + %cmp85 = icmp eq i32 %i.2.lcssa, %.us-phi478693 + %or.cond183 = and i1 %.us-phi479695, %cmp85 br i1 %or.cond183, label %if.end91, label %if.else88 if.else88: ; preds = %while.end %idxprom89 = sext i32 %i.2.lcssa to i64 %arrayidx90 = getelementptr inbounds i8, ptr %arrayidx, i64 %idxprom89 store i8 0, ptr %arrayidx90, align 1 - %inc = add nsw i64 %eline.1486, 1 + %inc = add nsw i64 %eline.1487, 1 br label %if.end91 if.end91: ; preds = %while.end, %if.else88 - %eline.2 = phi i64 [ %inc, %if.else88 ], [ %eline.1486, %while.end ] - %add92 = add nsw i32 %i.2.lcssa, %bufnum.0488 + %eline.2 = phi i64 [ %inc, %if.else88 ], [ %eline.1487, %while.end ] + %add92 = add nsw i32 %i.2.lcssa, %bufnum.0489 %cmp93 = icmp sgt i32 %add92, 0 br i1 %cmp93, label %if.then95, label %if.end112 @@ -410,8 +410,8 @@ if.end112: ; preds = %if.then95, %is_keyt if.end115: ; preds = %if.end112 %18 = load ptr, ptr %data16, align 8 %19 = load i8, ptr %18, align 1 - %cmp.i133.i = icmp slt i8 %19, 0 - br i1 %cmp.i133.i, label %for.cond5.i.preheader, label %is_keytype.exit.lr.ph.i + %cmp.i134.i = icmp slt i8 %19, 0 + br i1 %cmp.i134.i, label %for.cond5.i.preheader, label %is_keytype.exit.lr.ph.i is_keytype.exit.lr.ph.i: ; preds = %if.end115 %20 = load ptr, ptr %meth_data.i, align 8 @@ -419,7 +419,7 @@ is_keytype.exit.lr.ph.i: ; preds = %if.end115 is_keytype.exit.i: ; preds = %if.end4.i, %is_keytype.exit.lr.ph.i %21 = phi i8 [ %19, %is_keytype.exit.lr.ph.i ], [ %26, %if.end4.i ] - %p.addr.0134.i = phi ptr [ %18, %is_keytype.exit.lr.ph.i ], [ %incdec.ptr.i, %if.end4.i ] + %p.addr.0135.i = phi ptr [ %18, %is_keytype.exit.lr.ph.i ], [ %incdec.ptr.i, %if.end4.i ] %idxprom.i.i = zext nneg i8 %21 to i64 %arrayidx.i.i = getelementptr inbounds nuw i16, ptr %20, i64 %idxprom.i.i %22 = load i16, ptr %arrayidx.i.i, align 2 @@ -433,14 +433,14 @@ if.end.i26.i: ; preds = %is_keytype.exit.i br i1 %25, label %for.cond5.i.preheader, label %if.end4.i if.end4.i: ; preds = %if.end.i26.i - %incdec.ptr.i = getelementptr inbounds nuw i8, ptr %p.addr.0134.i, i64 1 + %incdec.ptr.i = getelementptr inbounds nuw i8, ptr %p.addr.0135.i, i64 1 %26 = load i8, ptr %incdec.ptr.i, align 1 %cmp.i.i = icmp slt i8 %26, 0 br i1 %cmp.i.i, label %for.cond5.i.preheader, label %is_keytype.exit.i for.cond5.i.preheader: ; preds = %if.end4.i, %if.end.i26.i, %if.end115 %.ph = phi i8 [ %19, %if.end115 ], [ %21, %if.end.i26.i ], [ %26, %if.end4.i ] - %p.addr.1.i.ph = phi ptr [ %18, %if.end115 ], [ %p.addr.0134.i, %if.end.i26.i ], [ %incdec.ptr.i, %if.end4.i ] + %p.addr.1.i.ph = phi ptr [ %18, %if.end115 ], [ %p.addr.0135.i, %if.end.i26.i ], [ %incdec.ptr.i, %if.end4.i ] br label %for.cond5.i for.cond5.i: ; preds = %for.cond5.i.preheader, %for.cond5.backedge.i @@ -514,7 +514,7 @@ while.cond.i68.i: ; preds = %is_keytype.exit66.i %p.addr.0.i70.i = getelementptr inbounds nuw i8, ptr %p.pn.i69.i, i64 1 %37 = load i8, ptr %p.addr.0.i70.i, align 1 %cmp.i.i71.i = icmp slt i8 %37, 0 - br i1 %cmp.i.i71.i, label %land.rhs.i.i, label %is_keytype.exit.i72.i + br i1 %cmp.i.i71.i, label %while.cond.i68.i.backedge, label %is_keytype.exit.i72.i is_keytype.exit.i72.i: ; preds = %while.cond.i68.i %idxprom.i.i73.i = zext nneg i8 %37 to i64 @@ -526,10 +526,6 @@ is_keytype.exit.i72.i: ; preds = %while.cond.i68.i %or.cond.i.i = or i1 %cmp.not37.i.i, %tobool.not.i75.i br i1 %or.cond.i.i, label %while.end.i.i, label %is_keytype.exit24.i.i -land.rhs.i.i: ; preds = %while.cond.i68.i - %cmp.not.i.i = icmp eq i8 %37, %27 - br i1 %cmp.not.i.i, label %while.end.i.i, label %while.cond.i68.i.backedge - is_keytype.exit24.i.i: ; preds = %is_keytype.exit.i72.i %40 = and i16 %38, 32 %tobool4.not.i.i = icmp eq i16 %40, 0 @@ -549,15 +545,13 @@ is_keytype.exit34.i.i: ; preds = %if.then.i76.i %tobool7.not.i.i = icmp eq i16 %43, 0 br i1 %tobool7.not.i.i, label %while.cond.i68.i.backedge, label %for.cond5.backedge.i -while.cond.i68.i.backedge: ; preds = %is_keytype.exit34.i.i, %if.then.i76.i, %is_keytype.exit24.i.i, %land.rhs.i.i - %p.pn.i69.i.be = phi ptr [ %incdec.ptr5.i.i, %is_keytype.exit34.i.i ], [ %p.addr.0.i70.i, %is_keytype.exit24.i.i ], [ %p.addr.0.i70.i, %land.rhs.i.i ], [ %incdec.ptr5.i.i, %if.then.i76.i ] +while.cond.i68.i.backedge: ; preds = %is_keytype.exit34.i.i, %if.then.i76.i, %is_keytype.exit24.i.i, %while.cond.i68.i + %p.pn.i69.i.be = phi ptr [ %incdec.ptr5.i.i, %is_keytype.exit34.i.i ], [ %p.addr.0.i70.i, %is_keytype.exit24.i.i ], [ %incdec.ptr5.i.i, %if.then.i76.i ], [ %p.addr.0.i70.i, %while.cond.i68.i ] br label %while.cond.i68.i, !llvm.loop !7 -while.end.i.i: ; preds = %land.rhs.i.i, %is_keytype.exit.i72.i - %.lcssa.i79.i = phi i8 [ %37, %is_keytype.exit.i72.i ], [ %27, %land.rhs.i.i ] - %cmp12.i.i = icmp eq i8 %.lcssa.i79.i, %27 +while.end.i.i: ; preds = %is_keytype.exit.i72.i %incdec.ptr15.i.i = getelementptr inbounds nuw i8, ptr %p.pn.i69.i, i64 2 - %spec.select.i80.i = select i1 %cmp12.i.i, ptr %incdec.ptr15.i.i, ptr %p.addr.0.i70.i + %spec.select.i80.i = select i1 %cmp.not37.i.i, ptr %incdec.ptr15.i.i, ptr %p.addr.0.i70.i br label %for.cond5.backedge.i is_keytype.exit90.i: ; preds = %is_keytype.exit66.i @@ -596,7 +590,7 @@ if.else.i: ; preds = %is_keytype.exit110. br label %for.cond5.backedge.i return.sink.split.i: ; preds = %is_keytype.exit.i, %is_keytype.exit44.i - %p.addr.1.lcssa.sink.i = phi ptr [ %p.addr.1.i, %is_keytype.exit44.i ], [ %p.addr.0134.i, %is_keytype.exit.i ] + %p.addr.1.lcssa.sink.i = phi ptr [ %p.addr.1.i, %is_keytype.exit44.i ], [ %p.addr.0135.i, %is_keytype.exit.i ] store i8 0, ptr %p.addr.1.lcssa.sink.i, align 1 %.pre = load i8, ptr %18, align 1 br label %clear_comments.exit @@ -663,17 +657,17 @@ eat_ws.exit227: ; preds = %is_keytype.exit.i21 br label %again127 again127: ; preds = %land.lhs.true137, %eat_ws.exit227 - %.pr344676 = phi i8 [ %.pr344677, %land.lhs.true137 ], [ %.pr339, %eat_ws.exit227 ] - %.pr340670 = phi i8 [ %.pr340671, %land.lhs.true137 ], [ %.pr339, %eat_ws.exit227 ] + %.pr344678 = phi i8 [ %.pr344679, %land.lhs.true137 ], [ %.pr339, %eat_ws.exit227 ] + %.pr340672 = phi i8 [ %.pr340673, %land.lhs.true137 ], [ %.pr339, %eat_ws.exit227 ] %ss.0 = phi ptr [ %p.addr.0.lcssa.i248, %land.lhs.true137 ], [ %p.addr.0.lcssa.i223, %eat_ws.exit227 ] - %cmp.i56.i228 = icmp slt i8 %.pr340670, 0 + %cmp.i56.i228 = icmp slt i8 %.pr340672, 0 br i1 %cmp.i56.i228, label %eat_ws.exit252, label %is_keytype.exit.i230 is_keytype.exit.i230: ; preds = %again127, %for.cond.backedge.i - %.pr344674 = phi i8 [ %65, %for.cond.backedge.i ], [ %.pr344676, %again127 ] - %.pr340673 = phi i8 [ %65, %for.cond.backedge.i ], [ %.pr340670, %again127 ] + %.pr344676 = phi i8 [ %65, %for.cond.backedge.i ], [ %.pr344678, %again127 ] + %.pr340675 = phi i8 [ %65, %for.cond.backedge.i ], [ %.pr340672, %again127 ] %p.addr.057.i = phi ptr [ %p.addr.0.be.i, %for.cond.backedge.i ], [ %ss.0, %again127 ] - %idxprom.i.i231 = zext nneg i8 %.pr340673 to i64 + %idxprom.i.i231 = zext nneg i8 %.pr340675 to i64 %arrayidx.i.i232 = getelementptr inbounds nuw i16, ptr %50, i64 %idxprom.i.i231 %60 = load i16, ptr %arrayidx.i.i232, align 2 %61 = and i16 %60, 32 @@ -725,12 +719,12 @@ if.end10.i: ; preds = %lor.lhs.false.threa br label %for.cond.backedge.i is_keytype.exit.lr.ph.i241: ; preds = %lor.lhs.false.thread.i - %idxprom.i.i2451074 = zext nneg i8 %.pr340673 to i64 - %arrayidx.i.i2461075 = getelementptr inbounds nuw i16, ptr %50, i64 %idxprom.i.i2451074 - %68 = load i16, ptr %arrayidx.i.i2461075, align 2 + %idxprom.i.i2451078 = zext nneg i8 %.pr340675 to i64 + %arrayidx.i.i2461079 = getelementptr inbounds nuw i16, ptr %50, i64 %idxprom.i.i2451078 + %68 = load i16, ptr %arrayidx.i.i2461079, align 2 %69 = and i16 %68, 24 - %or.cond.i2471076 = icmp eq i16 %69, 16 - br i1 %or.cond.i2471076, label %while.body.i249, label %eat_ws.exit252 + %or.cond.i2471080 = icmp eq i16 %69, 16 + br i1 %or.cond.i2471080, label %while.body.i249, label %eat_ws.exit252 is_keytype.exit.i243: ; preds = %while.body.i249 %idxprom.i.i245 = zext nneg i8 %72 to i64 @@ -741,18 +735,18 @@ is_keytype.exit.i243: ; preds = %while.body.i249 br i1 %or.cond.i247, label %while.body.i249, label %eat_ws.exit252, !llvm.loop !8 while.body.i249: ; preds = %is_keytype.exit.lr.ph.i241, %is_keytype.exit.i243 - %p.addr.018.i2441077 = phi ptr [ %incdec.ptr.i250, %is_keytype.exit.i243 ], [ %p.addr.057.i, %is_keytype.exit.lr.ph.i241 ] - %incdec.ptr.i250 = getelementptr inbounds nuw i8, ptr %p.addr.018.i2441077, i64 1 + %p.addr.018.i2441081 = phi ptr [ %incdec.ptr.i250, %is_keytype.exit.i243 ], [ %p.addr.057.i, %is_keytype.exit.lr.ph.i241 ] + %incdec.ptr.i250 = getelementptr inbounds nuw i8, ptr %p.addr.018.i2441081, i64 1 %72 = load i8, ptr %incdec.ptr.i250, align 1 %cmp.i.i251 = icmp slt i8 %72, 0 br i1 %cmp.i.i251, label %eat_ws.exit252, label %is_keytype.exit.i243, !llvm.loop !8 eat_ws.exit252: ; preds = %for.cond.backedge.i, %is_keytype.exit.i243, %while.body.i249, %is_keytype.exit.lr.ph.i241, %again127 - %.pr344677 = phi i8 [ %.pr344676, %again127 ], [ %.pr344674, %is_keytype.exit.lr.ph.i241 ], [ %72, %while.body.i249 ], [ %72, %is_keytype.exit.i243 ], [ %65, %for.cond.backedge.i ] - %.pr340671 = phi i8 [ %.pr340670, %again127 ], [ %.pr344674, %is_keytype.exit.lr.ph.i241 ], [ %72, %while.body.i249 ], [ %72, %is_keytype.exit.i243 ], [ %65, %for.cond.backedge.i ] + %.pr344679 = phi i8 [ %.pr344678, %again127 ], [ %.pr344676, %is_keytype.exit.lr.ph.i241 ], [ %72, %while.body.i249 ], [ %72, %is_keytype.exit.i243 ], [ %65, %for.cond.backedge.i ] + %.pr340673 = phi i8 [ %.pr340672, %again127 ], [ %.pr344676, %is_keytype.exit.lr.ph.i241 ], [ %72, %while.body.i249 ], [ %72, %is_keytype.exit.i243 ], [ %65, %for.cond.backedge.i ] %p.addr.0.lcssa.i237343 = phi ptr [ %ss.0, %again127 ], [ %p.addr.057.i, %is_keytype.exit.lr.ph.i241 ], [ %p.addr.057.i, %while.body.i249 ], [ %p.addr.057.i, %is_keytype.exit.i243 ], [ %p.addr.0.be.i, %for.cond.backedge.i ] %p.addr.0.lcssa.i248 = phi ptr [ %ss.0, %again127 ], [ %p.addr.057.i, %is_keytype.exit.lr.ph.i241 ], [ %incdec.ptr.i250, %while.body.i249 ], [ %incdec.ptr.i250, %is_keytype.exit.i243 ], [ %p.addr.0.be.i, %for.cond.backedge.i ] - switch i8 %.pr340671, label %land.lhs.true137 [ + switch i8 %.pr340673, label %land.lhs.true137 [ i8 93, label %if.end142 i8 0, label %if.end141 ] @@ -792,11 +786,11 @@ for.cond.outer: ; preds = %for.cond.preheader, %.ph357 = phi i1 [ true, %for.cond.preheader ], [ false, %if.end152 ] %eline.1.ph = phi i64 [ 0, %for.cond.preheader ], [ %eline.2, %if.end152 ] %sv.0.ph = phi ptr [ %call9, %for.cond.preheader ], [ %sv.1, %if.end152 ] - %biosk.1.ph = phi ptr [ null, %for.cond.preheader ], [ %biosk.1.ph361500, %if.end152 ] - %in.addr.1.ph = phi ptr [ %in, %for.cond.preheader ], [ %.us-phi479695, %if.end152 ] - %call13483496 = call i64 @BUF_MEM_grow(ptr noundef nonnull %call, i64 noundef 512) #13 - %tobool.not484497 = icmp eq i64 %call13483496, 0 - br i1 %tobool.not484497, label %if.then14, label %if.end15.lr.ph + %biosk.1.ph = phi ptr [ null, %for.cond.preheader ], [ %biosk.1.ph361501, %if.end152 ] + %in.addr.1.ph = phi ptr [ %in, %for.cond.preheader ], [ %.us-phi480697, %if.end152 ] + %call13484497 = call i64 @BUF_MEM_grow(ptr noundef nonnull %call, i64 noundef 512) #13 + %tobool.not485498 = icmp eq i64 %call13484497, 0 + br i1 %tobool.not485498, label %if.then14, label %if.end15.lr.ph if.then155: ; preds = %if.end152 call void @ERR_new() #13 @@ -821,7 +815,7 @@ if.then168: ; preds = %land.lhs.true163 store i8 0, ptr %call158, align 1 %add.ptr169 = getelementptr inbounds nuw i8, ptr %call158, i64 2 %call170 = call fastcc ptr @eat_alpha_numeric(ptr noundef nonnull %conf, ptr noundef nonnull %add.ptr169) - %.pre679 = load i8, ptr %call170, align 1 + %.pre681 = load i8, ptr %call170, align 1 br label %if.end172 if.else171: ; preds = %land.lhs.true163, %if.else157 @@ -829,7 +823,7 @@ if.else171: ; preds = %land.lhs.true163, % br label %if.end172 if.end172: ; preds = %if.else171, %if.then168 - %77 = phi i8 [ %.pre679, %if.then168 ], [ %74, %if.else171 ] + %77 = phi i8 [ %.pre681, %if.then168 ], [ %74, %if.else171 ] %end.0 = phi ptr [ %call170, %if.then168 ], [ %call158, %if.else171 ] %psection.0 = phi ptr [ %p.addr.0.lcssa.i202330335338, %if.then168 ], [ %76, %if.else171 ] %pname.0 = phi ptr [ %add.ptr169, %if.then168 ], [ %p.addr.0.lcssa.i202330335338, %if.else171 ] @@ -857,9 +851,9 @@ while.body.i262: ; preds = %is_keytype.exit.i25 br i1 %cmp.i.i264, label %eat_ws.exit265.loopexit, label %is_keytype.exit.i256, !llvm.loop !8 eat_ws.exit265.loopexit: ; preds = %while.body.i262, %is_keytype.exit.i256 - %.pr345681 = phi i8 [ %82, %while.body.i262 ], [ %79, %is_keytype.exit.i256 ] + %.pr345683 = phi i8 [ %82, %while.body.i262 ], [ %79, %is_keytype.exit.i256 ] %p.addr.0.lcssa.i261.ph = phi ptr [ %incdec.ptr.i263, %while.body.i262 ], [ %p.addr.018.i257, %is_keytype.exit.i256 ] - %83 = icmp eq i8 %.pr345681, 61 + %83 = icmp eq i8 %.pr345683, 61 br label %eat_ws.exit265 eat_ws.exit265: ; preds = %eat_ws.exit265.loopexit, %if.end172 @@ -989,7 +983,7 @@ if.then229: ; preds = %if.else225 br i1 %cmp232, label %err, label %for.cond.backedge for.cond.backedge: ; preds = %if.end112.thread, %if.then211, %if.else225, %if.then229, %if.then220, %if.end112, %is_keytype.exit214, %if.end370 - %tobool113.not701 = phi i1 [ true, %if.end112 ], [ false, %is_keytype.exit214 ], [ false, %if.end370 ], [ false, %if.then220 ], [ false, %if.then229 ], [ false, %if.else225 ], [ false, %if.then211 ], [ true, %if.end112.thread ] + %tobool113.not703 = phi i1 [ true, %if.end112 ], [ false, %is_keytype.exit214 ], [ false, %if.end370 ], [ false, %if.then220 ], [ false, %if.then229 ], [ false, %if.else225 ], [ false, %if.then211 ], [ true, %if.end112.thread ] %bufnum.0.be = phi i32 [ %add92, %if.end112 ], [ 0, %is_keytype.exit214 ], [ 0, %if.end370 ], [ 0, %if.then220 ], [ 0, %if.then229 ], [ 0, %if.else225 ], [ 0, %if.then211 ], [ %dec110, %if.end112.thread ] %add = add nsw i32 %bufnum.0.be, 512 %conv = sext i32 %add to i64 @@ -1003,11 +997,11 @@ if.else239: ; preds = %eat_ws.exit265 br i1 %cmp241, label %cond.true243, label %if.else329 if.else239.thread: ; preds = %lor.lhs.false181 - %call240707 = call i32 @strncmp(ptr noundef nonnull dereferenceable(1) %add.ptr177, ptr noundef nonnull dereferenceable(9) @.str.7, i64 noundef 8) #14 - %cmp241708 = icmp ne i32 %call240707, 0 - %add.ptr244713 = getelementptr inbounds nuw i8, ptr %pname.0, i64 15 - %cmp247.not714 = icmp eq ptr %p.addr.0.lcssa.i261, %add.ptr244713 - %or.cond = select i1 %cmp241708, i1 true, i1 %cmp247.not714 + %call240709 = call i32 @strncmp(ptr noundef nonnull dereferenceable(1) %add.ptr177, ptr noundef nonnull dereferenceable(9) @.str.7, i64 noundef 8) #14 + %cmp241710 = icmp ne i32 %call240709, 0 + %add.ptr244715 = getelementptr inbounds nuw i8, ptr %pname.0, i64 15 + %cmp247.not716 = icmp eq ptr %p.addr.0.lcssa.i261, %add.ptr244715 + %or.cond = select i1 %cmp241710, i1 true, i1 %cmp247.not716 br i1 %or.cond, label %if.then333, label %if.then253 cond.true243: ; preds = %if.else239 @@ -1067,17 +1061,17 @@ if.end267: ; preds = %while.body.i301, %i if.end271: ; preds = %if.end267 %cmp272.not = icmp eq ptr %include_dir.0, null - %.pre682 = load ptr, ptr %include, align 8 + %.pre684 = load ptr, ptr %include, align 8 br i1 %cmp272.not, label %if.end295, label %land.lhs.true274 land.lhs.true274: ; preds = %if.end271 - %.val = load i8, ptr %.pre682, align 1 + %.val = load i8, ptr %.pre684, align 1 %cmp.i305.not = icmp eq i8 %.val, 47 br i1 %cmp.i305.not, label %if.end295, label %if.then277 if.then277: ; preds = %land.lhs.true274 %call278 = call i64 @strlen(ptr noundef nonnull dereferenceable(1) %include_dir.0) #14 - %call279 = call i64 @strlen(ptr noundef nonnull dereferenceable(1) %.pre682) #14 + %call279 = call i64 @strlen(ptr noundef nonnull dereferenceable(1) %.pre684) #14 %add280 = add i64 %call278, 2 %add281 = add i64 %add280, %call279 %call282 = call noalias ptr @CRYPTO_malloc(i64 noundef %add281, ptr noundef nonnull @.str.1, i32 noundef 472) #13 @@ -1085,7 +1079,7 @@ if.then277: ; preds = %land.lhs.true274 br i1 %cmp283, label %if.then285, label %if.end286 if.then285: ; preds = %if.then277 - call void @CRYPTO_free(ptr noundef nonnull %.pre682, ptr noundef nonnull @.str.1, i32 noundef 474) #13 + call void @CRYPTO_free(ptr noundef nonnull %.pre684, ptr noundef nonnull @.str.1, i32 noundef 474) #13 br label %err if.end286: ; preds = %if.then277 @@ -1107,12 +1101,12 @@ if.then290: ; preds = %if.end286, %ossl_en br label %if.end292 if.end292: ; preds = %if.then290, %ossl_ends_with_dirsep.exit - %call293 = call i64 @OPENSSL_strlcat(ptr noundef nonnull %call282, ptr noundef nonnull %.pre682, i64 noundef %add281) #13 - call void @CRYPTO_free(ptr noundef nonnull %.pre682, ptr noundef nonnull @.str.1, i32 noundef 482) #13 + %call293 = call i64 @OPENSSL_strlcat(ptr noundef nonnull %call282, ptr noundef nonnull %.pre684, i64 noundef %add281) #13 + call void @CRYPTO_free(ptr noundef nonnull %.pre684, ptr noundef nonnull @.str.1, i32 noundef 482) #13 br label %if.end295 if.end295: ; preds = %if.end271, %land.lhs.true274, %if.end292 - %include_path.0 = phi ptr [ %call282, %if.end292 ], [ %.pre682, %land.lhs.true274 ], [ %.pre682, %if.end271 ] + %include_path.0 = phi ptr [ %call282, %if.end292 ], [ %.pre684, %land.lhs.true274 ], [ %.pre684, %if.end271 ] %108 = load i32, ptr %flag_abspath, align 4 %tobool297.not = icmp eq i32 %108, 0 br i1 %tobool297.not, label %if.end302, label %land.lhs.true298 @@ -1144,7 +1138,7 @@ if.end307: ; preds = %if.then306, %if.end br i1 %cmp308.not, label %if.end328, label %if.then310 if.then310: ; preds = %if.end307 - %cmp311 = icmp eq ptr %biosk.1.ph361500, null + %cmp311 = icmp eq ptr %biosk.1.ph361501, null br i1 %cmp311, label %if.then313, label %if.end320 if.then313: ; preds = %if.then310 @@ -1160,8 +1154,8 @@ if.then317: ; preds = %if.then313 br label %err if.end320: ; preds = %if.then313, %if.then310 - %biosk.3 = phi ptr [ %call314, %if.then313 ], [ %biosk.1.ph361500, %if.then310 ] - %call323 = call i32 @OPENSSL_sk_push(ptr noundef nonnull %biosk.3, ptr noundef %.us-phi479695) #13 + %biosk.3 = phi ptr [ %call314, %if.then313 ], [ %biosk.1.ph361501, %if.then310 ] + %call323 = call i32 @OPENSSL_sk_push(ptr noundef nonnull %biosk.3, ptr noundef %.us-phi480697) #13 %tobool324.not = icmp eq i32 %call323, 0 br i1 %tobool324.not, label %if.then325, label %if.end328 @@ -1173,17 +1167,17 @@ if.then325: ; preds = %if.end320 br label %err if.end328: ; preds = %if.end320, %if.end307 - %biosk.2 = phi ptr [ %biosk.1.ph361500, %if.end307 ], [ %biosk.3, %if.end320 ] - %in.addr.3 = phi ptr [ %.us-phi479695, %if.end307 ], [ %call303, %if.end320 ] - %call13483 = call i64 @BUF_MEM_grow(ptr noundef nonnull %call, i64 noundef 512) #13 - %tobool.not484 = icmp eq i64 %call13483, 0 - br i1 %tobool.not484, label %if.then14, label %if.end15.lr.ph + %biosk.2 = phi ptr [ %biosk.1.ph361501, %if.end307 ], [ %biosk.3, %if.end320 ] + %in.addr.3 = phi ptr [ %.us-phi480697, %if.end307 ], [ %call303, %if.end320 ] + %call13484 = call i64 @BUF_MEM_grow(ptr noundef nonnull %call, i64 noundef 512) #13 + %tobool.not485 = icmp eq i64 %call13484, 0 + br i1 %tobool.not485, label %if.then14, label %if.end15.lr.ph if.end15.lr.ph: ; preds = %for.cond.outer, %if.end328 - %in.addr.1.ph362501 = phi ptr [ %in.addr.3, %if.end328 ], [ %in.addr.1.ph, %for.cond.outer ] - %biosk.1.ph361500 = phi ptr [ %biosk.2, %if.end328 ], [ %biosk.1.ph, %for.cond.outer ] - %eline.1.ph360499 = phi i64 [ %eline.2, %if.end328 ], [ %eline.1.ph, %for.cond.outer ] - %.ph359498 = phi i1 [ false, %if.end328 ], [ %.ph357, %for.cond.outer ] + %in.addr.1.ph362502 = phi ptr [ %in.addr.3, %if.end328 ], [ %in.addr.1.ph, %for.cond.outer ] + %biosk.1.ph361501 = phi ptr [ %biosk.2, %if.end328 ], [ %biosk.1.ph, %for.cond.outer ] + %eline.1.ph360500 = phi i64 [ %eline.2, %if.end328 ], [ %eline.1.ph, %for.cond.outer ] + %.ph359499 = phi i1 [ false, %if.end328 ], [ %.ph357, %for.cond.outer ] br label %if.end15 if.else329: ; preds = %if.else239 @@ -1281,25 +1275,25 @@ for.end: ; preds = %if.end57 call void @BUF_MEM_free(ptr noundef nonnull %call) #13 %117 = load ptr, ptr %section, align 8 call void @CRYPTO_free(ptr noundef %117, ptr noundef nonnull @.str.1, i32 noundef 562) #13 - call void @OPENSSL_sk_free(ptr noundef %biosk.1.ph361500) #13 + call void @OPENSSL_sk_free(ptr noundef %biosk.1.ph361501) #13 br label %return err: ; preds = %if.end142, %if.end267, %if.end349, %if.end343, %eat_ws.exit323, %if.then229, %if.then220, %if.then211, %land.lhs.true.us, %land.lhs.true, %if.end, %if.then374, %if.then367, %if.then333, %if.then325, %if.then317, %if.then301, %if.then285, %if.then204, %if.then155, %if.end141, %if.then14, %if.then11, %if.then7, %if.then - %eline.0 = phi i64 [ 0, %if.then ], [ 0, %if.end ], [ 0, %if.then7 ], [ 0, %if.then11 ], [ %eline.2, %if.end141 ], [ %eline.2, %if.then155 ], [ %eline.2, %if.then204 ], [ %eline.2, %if.then317 ], [ %eline.2, %if.then325 ], [ %eline.2, %if.then301 ], [ %eline.2, %if.then285 ], [ %eline.2, %if.then333 ], [ %eline.2, %if.then367 ], [ %eline.2, %if.then374 ], [ %eline.1.lcssa, %if.then14 ], [ %eline.1486, %land.lhs.true ], [ %eline.1486, %land.lhs.true.us ], [ %eline.2, %if.then211 ], [ %eline.2, %if.then220 ], [ %eline.2, %if.then229 ], [ %eline.2, %eat_ws.exit323 ], [ %eline.2, %if.end343 ], [ %eline.2, %if.end349 ], [ %eline.2, %if.end267 ], [ %eline.2, %if.end142 ] + %eline.0 = phi i64 [ 0, %if.then ], [ 0, %if.end ], [ 0, %if.then7 ], [ 0, %if.then11 ], [ %eline.2, %if.end141 ], [ %eline.2, %if.then155 ], [ %eline.2, %if.then204 ], [ %eline.2, %if.then317 ], [ %eline.2, %if.then325 ], [ %eline.2, %if.then301 ], [ %eline.2, %if.then285 ], [ %eline.2, %if.then333 ], [ %eline.2, %if.then367 ], [ %eline.2, %if.then374 ], [ %eline.1.lcssa, %if.then14 ], [ %eline.1487, %land.lhs.true ], [ %eline.1487, %land.lhs.true.us ], [ %eline.2, %if.then211 ], [ %eline.2, %if.then220 ], [ %eline.2, %if.then229 ], [ %eline.2, %eat_ws.exit323 ], [ %eline.2, %if.end343 ], [ %eline.2, %if.end349 ], [ %eline.2, %if.end267 ], [ %eline.2, %if.end142 ] %v.0 = phi ptr [ null, %if.then ], [ null, %if.end ], [ null, %if.then7 ], [ null, %if.then11 ], [ null, %if.end141 ], [ null, %if.then155 ], [ null, %if.then204 ], [ null, %if.then317 ], [ null, %if.then325 ], [ null, %if.then301 ], [ null, %if.then285 ], [ null, %if.then333 ], [ %call339, %if.then367 ], [ %call339, %if.then374 ], [ null, %if.then14 ], [ null, %land.lhs.true ], [ null, %land.lhs.true.us ], [ null, %if.then211 ], [ null, %if.then220 ], [ null, %if.then229 ], [ null, %eat_ws.exit323 ], [ %call339, %if.end343 ], [ %call339, %if.end349 ], [ null, %if.end267 ], [ null, %if.end142 ] - %biosk.0 = phi ptr [ null, %if.then ], [ null, %if.end ], [ null, %if.then7 ], [ null, %if.then11 ], [ %biosk.1.ph361500, %if.end141 ], [ %biosk.1.ph361500, %if.then155 ], [ %biosk.1.ph361500, %if.then204 ], [ null, %if.then317 ], [ %biosk.3, %if.then325 ], [ %biosk.1.ph361500, %if.then301 ], [ %biosk.1.ph361500, %if.then285 ], [ %biosk.1.ph361500, %if.then333 ], [ %biosk.1.ph361500, %if.then367 ], [ %biosk.1.ph361500, %if.then374 ], [ %biosk.1.ph361.lcssa464, %if.then14 ], [ %biosk.1.ph361500, %land.lhs.true ], [ %biosk.1.ph361500, %land.lhs.true.us ], [ %biosk.1.ph361500, %if.then211 ], [ %biosk.1.ph361500, %if.then220 ], [ %biosk.1.ph361500, %if.then229 ], [ %biosk.1.ph361500, %eat_ws.exit323 ], [ %biosk.1.ph361500, %if.end343 ], [ %biosk.1.ph361500, %if.end349 ], [ %biosk.1.ph361500, %if.end267 ], [ %biosk.1.ph361500, %if.end142 ] - %in.addr.0 = phi ptr [ %in, %if.then ], [ %in, %if.end ], [ %in, %if.then7 ], [ %in, %if.then11 ], [ %.us-phi479695, %if.end141 ], [ %.us-phi479695, %if.then155 ], [ %.us-phi479695, %if.then204 ], [ %.us-phi479695, %if.then317 ], [ %.us-phi479695, %if.then325 ], [ %.us-phi479695, %if.then301 ], [ %.us-phi479695, %if.then285 ], [ %.us-phi479695, %if.then333 ], [ %.us-phi479695, %if.then367 ], [ %.us-phi479695, %if.then374 ], [ %in.addr.1.lcssa, %if.then14 ], [ %in.addr.2, %land.lhs.true ], [ %in.addr.1489, %land.lhs.true.us ], [ %.us-phi479695, %if.then211 ], [ %.us-phi479695, %if.then220 ], [ %.us-phi479695, %if.then229 ], [ %.us-phi479695, %eat_ws.exit323 ], [ %.us-phi479695, %if.end343 ], [ %.us-phi479695, %if.end349 ], [ %.us-phi479695, %if.end267 ], [ %.us-phi479695, %if.end142 ] + %biosk.0 = phi ptr [ null, %if.then ], [ null, %if.end ], [ null, %if.then7 ], [ null, %if.then11 ], [ %biosk.1.ph361501, %if.end141 ], [ %biosk.1.ph361501, %if.then155 ], [ %biosk.1.ph361501, %if.then204 ], [ null, %if.then317 ], [ %biosk.3, %if.then325 ], [ %biosk.1.ph361501, %if.then301 ], [ %biosk.1.ph361501, %if.then285 ], [ %biosk.1.ph361501, %if.then333 ], [ %biosk.1.ph361501, %if.then367 ], [ %biosk.1.ph361501, %if.then374 ], [ %biosk.1.ph361.lcssa465, %if.then14 ], [ %biosk.1.ph361501, %land.lhs.true ], [ %biosk.1.ph361501, %land.lhs.true.us ], [ %biosk.1.ph361501, %if.then211 ], [ %biosk.1.ph361501, %if.then220 ], [ %biosk.1.ph361501, %if.then229 ], [ %biosk.1.ph361501, %eat_ws.exit323 ], [ %biosk.1.ph361501, %if.end343 ], [ %biosk.1.ph361501, %if.end349 ], [ %biosk.1.ph361501, %if.end267 ], [ %biosk.1.ph361501, %if.end142 ] + %in.addr.0 = phi ptr [ %in, %if.then ], [ %in, %if.end ], [ %in, %if.then7 ], [ %in, %if.then11 ], [ %.us-phi480697, %if.end141 ], [ %.us-phi480697, %if.then155 ], [ %.us-phi480697, %if.then204 ], [ %.us-phi480697, %if.then317 ], [ %.us-phi480697, %if.then325 ], [ %.us-phi480697, %if.then301 ], [ %.us-phi480697, %if.then285 ], [ %.us-phi480697, %if.then333 ], [ %.us-phi480697, %if.then367 ], [ %.us-phi480697, %if.then374 ], [ %in.addr.1.lcssa, %if.then14 ], [ %in.addr.2, %land.lhs.true ], [ %in.addr.1490, %land.lhs.true.us ], [ %.us-phi480697, %if.then211 ], [ %.us-phi480697, %if.then220 ], [ %.us-phi480697, %if.then229 ], [ %.us-phi480697, %eat_ws.exit323 ], [ %.us-phi480697, %if.end343 ], [ %.us-phi480697, %if.end349 ], [ %.us-phi480697, %if.end267 ], [ %.us-phi480697, %if.end142 ] call void @BUF_MEM_free(ptr noundef %call) #13 %118 = load ptr, ptr %section, align 8 call void @CRYPTO_free(ptr noundef %118, ptr noundef nonnull @.str.1, i32 noundef 572) #13 - %call380508 = call i32 @OPENSSL_sk_num(ptr noundef %biosk.0) #13 - %cmp381509 = icmp sgt i32 %call380508, 0 - br i1 %cmp381509, label %while.body383, label %while.end386 + %call380509 = call i32 @OPENSSL_sk_num(ptr noundef %biosk.0) #13 + %cmp381510 = icmp sgt i32 %call380509, 0 + br i1 %cmp381510, label %while.body383, label %while.end386 while.body383: ; preds = %err, %while.body383 - %in.addr.4510 = phi ptr [ %call385, %while.body383 ], [ %in.addr.0, %err ] + %in.addr.4511 = phi ptr [ %call385, %while.body383 ], [ %in.addr.0, %err ] %call385 = call ptr @OPENSSL_sk_pop(ptr noundef %biosk.0) #13 - call void @BIO_vfree(ptr noundef %in.addr.4510) #13 + call void @BIO_vfree(ptr noundef %in.addr.4511) #13 %call380 = call i32 @OPENSSL_sk_num(ptr noundef %biosk.0) #13 %cmp381 = icmp sgt i32 %call380, 0 br i1 %cmp381, label %while.body383, label %while.end386, !llvm.loop !9 @@ -1670,7 +1664,7 @@ while.cond: ; preds = %while.cond.preheade %from.addr.1 = getelementptr inbounds nuw i8, ptr %from.addr.0.pn110, i64 1 %5 = load i8, ptr %from.addr.1, align 1 %cmp.i113 = icmp slt i8 %5, 0 - br i1 %cmp.i113, label %land.rhs, label %is_keytype.exit122 + br i1 %cmp.i113, label %if.end23, label %is_keytype.exit122 is_keytype.exit122: ; preds = %while.cond %6 = load ptr, ptr %meth_data.i, align 8 @@ -1683,10 +1677,6 @@ is_keytype.exit122: ; preds = %while.cond %or.cond = or i1 %cmp13.not237, %tobool11.not br i1 %or.cond, label %while.end, label %is_keytype.exit132 -land.rhs: ; preds = %while.cond - %cmp13.not = icmp eq i8 %5, %0 - br i1 %cmp13.not, label %while.end, label %if.end23 - is_keytype.exit132: ; preds = %is_keytype.exit122 %9 = and i16 %7, 32 %tobool16.not = icmp eq i16 %9, 0 @@ -1706,18 +1696,18 @@ is_keytype.exit142: ; preds = %if.then17 %tobool20.not = icmp eq i16 %12, 0 br i1 %tobool20.not, label %if.end23, label %while.end -if.end23: ; preds = %if.then17, %land.rhs, %is_keytype.exit142, %is_keytype.exit132 - %13 = phi i8 [ %10, %is_keytype.exit142 ], [ %5, %is_keytype.exit132 ], [ %5, %land.rhs ], [ %10, %if.then17 ] - %from.addr.3 = phi ptr [ %incdec.ptr18, %is_keytype.exit142 ], [ %from.addr.1, %is_keytype.exit132 ], [ %from.addr.1, %land.rhs ], [ %incdec.ptr18, %if.then17 ] +if.end23: ; preds = %while.cond, %if.then17, %is_keytype.exit142, %is_keytype.exit132 + %13 = phi i8 [ %10, %is_keytype.exit142 ], [ %5, %is_keytype.exit132 ], [ %10, %if.then17 ], [ %5, %while.cond ] + %from.addr.3 = phi ptr [ %incdec.ptr18, %is_keytype.exit142 ], [ %from.addr.1, %is_keytype.exit132 ], [ %incdec.ptr18, %if.then17 ], [ %from.addr.1, %while.cond ] %14 = load ptr, ptr %data, align 8 %indvars.iv.next = add nsw i64 %indvars.iv, 1 %arrayidx = getelementptr inbounds i8, ptr %14, i64 %indvars.iv store i8 %13, ptr %arrayidx, align 1 br label %while.cond, !llvm.loop !11 -while.end: ; preds = %is_keytype.exit122, %is_keytype.exit142, %land.rhs - %15 = phi i8 [ %5, %is_keytype.exit122 ], [ %10, %is_keytype.exit142 ], [ %0, %land.rhs ] - %16 = phi i64 [ 1, %is_keytype.exit122 ], [ 2, %is_keytype.exit142 ], [ 1, %land.rhs ] +while.end: ; preds = %is_keytype.exit122, %is_keytype.exit142 + %15 = phi i8 [ %5, %is_keytype.exit122 ], [ %10, %is_keytype.exit142 ] + %16 = phi i64 [ 1, %is_keytype.exit122 ], [ 2, %is_keytype.exit142 ] %17 = trunc nsw i64 %indvars.iv to i32 %18 = getelementptr inbounds nuw i8, ptr %from.addr.0.pn110, i64 %16 %cmp26 = icmp eq i8 %15, %0 diff --git a/bench/openssl/optimized/libssl-shlib-extensions_srvr.ll b/bench/openssl/optimized/libssl-shlib-extensions_srvr.ll index 10dbe3818c7..21044a6658b 100644 --- a/bench/openssl/optimized/libssl-shlib-extensions_srvr.ll +++ b/bench/openssl/optimized/libssl-shlib-extensions_srvr.ll @@ -1037,28 +1037,23 @@ if.end8: ; preds = %lor.lhs.false4 %srtp_profile = getelementptr inbounds nuw i8, ptr %s, i64 2808 store ptr null, ptr %srtp_profile, align 8 %call11 = tail call i32 @OPENSSL_sk_num(ptr noundef %call9) #10 - br label %while.cond - -while.cond: ; preds = %for.end, %if.end8 - %subpkt.sroa.5.0 = phi i64 [ %conv, %if.end8 ], [ %sub.i.i32, %for.end ] - %subpkt.sroa.0.0 = phi ptr [ %add.ptr.i2.i, %if.end8 ], [ %add.ptr.i2.i31, %for.end ] - %srtp_pref.0 = phi i32 [ %call11, %if.end8 ], [ %srtp_pref.1, %for.end ] - switch i64 %subpkt.sroa.5.0, label %PACKET_get_net_2.exit34 [ - i64 0, label %while.end - i64 1, label %return.sink.split - ] - -PACKET_get_net_2.exit34: ; preds = %while.cond - %4 = load i8, ptr %subpkt.sroa.0.0, align 1 + %tobool13.not68 = icmp eq i32 %or.i.i, 0 + br i1 %tobool13.not68, label %while.end, label %PACKET_get_net_2.exit34 + +PACKET_get_net_2.exit34: ; preds = %if.end8, %for.end + %srtp_pref.071 = phi i32 [ %srtp_pref.1, %for.end ], [ %call11, %if.end8 ] + %subpkt.sroa.0.070 = phi ptr [ %add.ptr.i2.i31, %for.end ], [ %add.ptr.i2.i, %if.end8 ] + %subpkt.sroa.5.069 = phi i64 [ %sub.i.i32, %for.end ], [ %conv, %if.end8 ] + %4 = load i8, ptr %subpkt.sroa.0.070, align 1 %conv.i.i26 = zext i8 %4 to i64 %shl.i.i27 = shl nuw nsw i64 %conv.i.i26, 8 - %add.ptr.i.i28 = getelementptr inbounds nuw i8, ptr %subpkt.sroa.0.0, i64 1 + %add.ptr.i.i28 = getelementptr inbounds nuw i8, ptr %subpkt.sroa.0.070, i64 1 %5 = load i8, ptr %add.ptr.i.i28, align 1 %conv2.i.i29 = zext i8 %5 to i64 %or.i.i30 = or disjoint i64 %shl.i.i27, %conv2.i.i29 - %add.ptr.i2.i31 = getelementptr inbounds nuw i8, ptr %subpkt.sroa.0.0, i64 2 - %sub.i.i32 = add i64 %subpkt.sroa.5.0, -2 - %cmp1866 = icmp sgt i32 %srtp_pref.0, 0 + %add.ptr.i2.i31 = getelementptr inbounds nuw i8, ptr %subpkt.sroa.0.070, i64 2 + %sub.i.i32 = add i64 %subpkt.sroa.5.069, -2 + %cmp1866 = icmp sgt i32 %srtp_pref.071, 0 br i1 %cmp1866, label %for.body, label %for.end for.body: ; preds = %PACKET_get_net_2.exit34, %for.inc @@ -1075,14 +1070,15 @@ if.then26: ; preds = %for.body for.inc: ; preds = %for.body %inc = add nuw nsw i32 %i.067, 1 - %exitcond.not = icmp eq i32 %inc, %srtp_pref.0 + %exitcond.not = icmp eq i32 %inc, %srtp_pref.071 br i1 %exitcond.not, label %for.end, label %for.body, !llvm.loop !7 for.end: ; preds = %for.inc, %PACKET_get_net_2.exit34, %if.then26 - %srtp_pref.1 = phi i32 [ %i.067, %if.then26 ], [ %srtp_pref.0, %PACKET_get_net_2.exit34 ], [ %srtp_pref.0, %for.inc ] - br label %while.cond, !llvm.loop !8 + %srtp_pref.1 = phi i32 [ %i.067, %if.then26 ], [ %srtp_pref.071, %PACKET_get_net_2.exit34 ], [ %srtp_pref.071, %for.inc ] + %tobool13.not = icmp eq i64 %sub.i.i32, 0 + br i1 %tobool13.not, label %while.end, label %PACKET_get_net_2.exit34, !llvm.loop !8 -while.end: ; preds = %while.cond +while.end: ; preds = %for.end, %if.end8 %pkt.val.i.i35 = load i64, ptr %0, align 8 %tobool.not.i.i = icmp eq i64 %pkt.val.i.i35, 0 br i1 %tobool.not.i.i, label %return.sink.split, label %if.end32 @@ -1106,11 +1102,11 @@ lor.lhs.false36: ; preds = %if.end32 %tobool38.not = icmp eq i64 %sub.i.i39, %conv33 br i1 %tobool38.not, label %return, label %return.sink.split -return.sink.split: ; preds = %while.cond, %lor.lhs.false36, %if.end32, %while.end, %lor.lhs.false, %if.end, %lor.lhs.false4 - %.sink72 = phi i32 [ 491, %lor.lhs.false4 ], [ 491, %if.end ], [ 491, %lor.lhs.false ], [ 528, %while.end ], [ 534, %if.end32 ], [ 534, %lor.lhs.false36 ], [ 503, %while.cond ] - %.sink = phi i32 [ 353, %lor.lhs.false4 ], [ 353, %if.end ], [ 353, %lor.lhs.false ], [ 353, %while.end ], [ 352, %if.end32 ], [ 352, %lor.lhs.false36 ], [ 353, %while.cond ] +return.sink.split: ; preds = %lor.lhs.false36, %if.end32, %while.end, %lor.lhs.false, %if.end, %lor.lhs.false4 + %.sink76 = phi i32 [ 491, %lor.lhs.false4 ], [ 491, %if.end ], [ 491, %lor.lhs.false ], [ 528, %while.end ], [ 534, %if.end32 ], [ 534, %lor.lhs.false36 ] + %.sink = phi i32 [ 353, %lor.lhs.false4 ], [ 353, %if.end ], [ 353, %lor.lhs.false ], [ 353, %while.end ], [ 352, %if.end32 ], [ 352, %lor.lhs.false36 ] tail call void @ERR_new() #10 - tail call void @ERR_set_debug(ptr noundef nonnull @.str, i32 noundef %.sink72, ptr noundef nonnull @__func__.tls_parse_ctos_use_srtp) #10 + tail call void @ERR_set_debug(ptr noundef nonnull @.str, i32 noundef %.sink76, ptr noundef nonnull @__func__.tls_parse_ctos_use_srtp) #10 tail call void (ptr, i32, i32, ptr, ...) @ossl_statem_fatal(ptr noundef %s, i32 noundef 50, i32 noundef %.sink, ptr noundef null) #10 br label %return diff --git a/bench/openssl/optimized/libssl-shlib-quic_wire_pkt.ll b/bench/openssl/optimized/libssl-shlib-quic_wire_pkt.ll index 9ba0851eb4d..99838f4a994 100644 --- a/bench/openssl/optimized/libssl-shlib-quic_wire_pkt.ll +++ b/bench/openssl/optimized/libssl-shlib-quic_wire_pkt.ll @@ -1336,7 +1336,7 @@ if.end49: ; preds = %lor.lhs.false43 %conv59 = zext nneg i8 %narrow32 to i64 %6 = and i32 %bf.load, 253 %switch.selectcmp.i.i.not = icmp eq i32 %6, 4 - br i1 %switch.selectcmp.i.i.not, label %if.end83, label %if.then64 + br i1 %switch.selectcmp.i.i.not, label %if.end113, label %if.then64 if.then64: ; preds = %if.end49 %bf.lshr66 = lshr i32 %bf.load, 10 @@ -1345,18 +1345,13 @@ if.then64: ; preds = %if.end49 %or.cond34 = icmp ult i32 %7, -4 br i1 %or.cond34, label %return, label %if.end83.thread -if.end83: ; preds = %if.end49 - %cmp86 = icmp eq i32 %bf.clear2, 1 - br i1 %cmp86, label %if.then88, label %if.end113 - if.end83.thread: ; preds = %if.then64 %conv81 = zext nneg i32 %bf.clear67 to i64 %add82 = add nuw nsw i64 %conv59, %conv81 %cmp8659 = icmp eq i32 %bf.clear2, 1 br i1 %cmp8659, label %if.then88, label %if.then101 -if.then88: ; preds = %if.end83.thread, %if.end83 - %len.061 = phi i64 [ %add82, %if.end83.thread ], [ %conv59, %if.end83 ] +if.then88: ; preds = %if.end83.thread %token_len = getelementptr inbounds nuw i8, ptr %hdr, i64 64 %8 = load i64, ptr %token_len, align 8 %cmp.i = icmp ult i64 %8, 64 @@ -1376,7 +1371,7 @@ if.end6.i: ; preds = %if.end3.i if.end96.thread: ; preds = %if.end3.i, %if.end.i, %if.then88, %if.end6.i %retval.0.i.ph = phi i64 [ 4, %if.end3.i ], [ 2, %if.end.i ], [ 1, %if.then88 ], [ 8, %if.end6.i ] - %add94 = add nuw nsw i64 %8, %len.061 + %add94 = add nuw nsw i64 %8, %add82 %add95 = add nuw nsw i64 %add94, %retval.0.i.ph br label %if.then101 @@ -1408,8 +1403,8 @@ if.end111: ; preds = %if.end6.i41, %if.th %add112 = add nuw nsw i64 %retval.0.i44.ph, %len.153 br label %if.end113 -if.end113: ; preds = %if.end83, %if.end111 - %len.2 = phi i64 [ %add112, %if.end111 ], [ %conv59, %if.end83 ] +if.end113: ; preds = %if.end49, %if.end111 + %len.2 = phi i64 [ %add112, %if.end111 ], [ %conv59, %if.end49 ] %conv114 = trunc i64 %len.2 to i32 br label %return diff --git a/bench/php/optimized/filestat.ll b/bench/php/optimized/filestat.ll index 803cc4c6918..435f927dec1 100644 --- a/bench/php/optimized/filestat.ll +++ b/bench/php/optimized/filestat.ll @@ -1624,210 +1624,210 @@ define void @php_stat(ptr noundef %0, i32 noundef %1, ptr noundef captures(none) %27 = getelementptr inbounds nuw i8, ptr %0, i64 24 %28 = tail call i64 @strlen(ptr noundef nonnull dereferenceable(1) %27) #17 %.not802 = icmp eq i64 %25, %28 - br i1 %.not802, label %35, label %29 + br i1 %.not802, label %34, label %29 29: ; preds = %26 %30 = icmp samesign ult i32 %22, 5 %31 = and i32 %1, 14 %32 = icmp eq i32 %31, 14 - %33 = or i1 %30, %32 - br i1 %33, label %.loopexit.sink.split, label %34 + %or.cond19 = or i1 %30, %32 + br i1 %or.cond19, label %.loopexit.sink.split, label %33 -34: ; preds = %29 +33: ; preds = %29 tail call void (ptr, i32, ptr, ...) @php_error_docref(ptr noundef null, i32 noundef 2, ptr noundef nonnull @.str.9) #16 br label %.loopexit.sink.split -35: ; preds = %26 - %36 = call ptr @php_stream_locate_url_wrapper(ptr noundef nonnull %27, ptr noundef nonnull %5, i32 noundef 0) #16 - %37 = icmp eq ptr %36, @php_plain_files_wrapper - br i1 %37, label %38, label %.critedge827 - -38: ; preds = %35 - %39 = load ptr, ptr %5, align 8 - %40 = call i32 @php_check_open_basedir(ptr noundef %39) #16 - %.not803 = icmp eq i32 %40, 0 - br i1 %.not803, label %41, label %.loopexit.sink.split - -41: ; preds = %38 - %42 = load ptr, ptr %5, align 8 - %43 = call fastcc zeroext i1 @php_is_stream_path(ptr noundef %42) - br i1 %43, label %44, label %.critedge829 - -44: ; preds = %41 - %45 = call ptr @expand_filepath(ptr noundef %42, ptr noundef nonnull %6) #16 - %46 = icmp eq ptr %45, null +34: ; preds = %26 + %35 = call ptr @php_stream_locate_url_wrapper(ptr noundef nonnull %27, ptr noundef nonnull %5, i32 noundef 0) #16 + %36 = icmp eq ptr %35, @php_plain_files_wrapper + br i1 %36, label %37, label %.critedge827 + +37: ; preds = %34 + %38 = load ptr, ptr %5, align 8 + %39 = call i32 @php_check_open_basedir(ptr noundef %38) #16 + %.not803 = icmp eq i32 %39, 0 + br i1 %.not803, label %40, label %.loopexit.sink.split + +40: ; preds = %37 + %41 = load ptr, ptr %5, align 8 + %42 = call fastcc zeroext i1 @php_is_stream_path(ptr noundef %41) + br i1 %42, label %43, label %.critedge829 + +43: ; preds = %40 + %44 = call ptr @expand_filepath(ptr noundef %41, ptr noundef nonnull %6) #16 + %45 = icmp eq ptr %44, null %.pre = load ptr, ptr %5, align 8 - %spec.select = select i1 %46, ptr %.pre, ptr %6 + %spec.select = select i1 %45, ptr %.pre, ptr %6 br label %.critedge829 -.critedge829: ; preds = %44, %41 - %.0776 = phi ptr [ %42, %41 ], [ %spec.select, %44 ] +.critedge829: ; preds = %43, %40 + %.0776 = phi ptr [ %41, %40 ], [ %spec.select, %43 ] switch i32 %1, label %.critedge827 [ - i32 15, label %47 - i32 9, label %51 - i32 10, label %55 - i32 11, label %59 + i32 15, label %46 + i32 9, label %50 + i32 10, label %54 + i32 11, label %58 ] -47: ; preds = %.critedge829 - %48 = call i32 @access(ptr noundef %.0776, i32 noundef 0) #16 - %49 = icmp eq i32 %48, 0 - %50 = select i1 %49, i32 3, i32 2 +46: ; preds = %.critedge829 + %47 = call i32 @access(ptr noundef %.0776, i32 noundef 0) #16 + %48 = icmp eq i32 %47, 0 + %49 = select i1 %48, i32 3, i32 2 br label %.loopexit.sink.split -51: ; preds = %.critedge829 - %52 = call i32 @access(ptr noundef %.0776, i32 noundef 2) #16 - %53 = icmp eq i32 %52, 0 - %54 = select i1 %53, i32 3, i32 2 +50: ; preds = %.critedge829 + %51 = call i32 @access(ptr noundef %.0776, i32 noundef 2) #16 + %52 = icmp eq i32 %51, 0 + %53 = select i1 %52, i32 3, i32 2 br label %.loopexit.sink.split -55: ; preds = %.critedge829 - %56 = call i32 @access(ptr noundef %.0776, i32 noundef 4) #16 - %57 = icmp eq i32 %56, 0 - %58 = select i1 %57, i32 3, i32 2 +54: ; preds = %.critedge829 + %55 = call i32 @access(ptr noundef %.0776, i32 noundef 4) #16 + %56 = icmp eq i32 %55, 0 + %57 = select i1 %56, i32 3, i32 2 br label %.loopexit.sink.split -59: ; preds = %.critedge829 - %60 = call i32 @access(ptr noundef %.0776, i32 noundef 1) #16 - %61 = icmp eq i32 %60, 0 - %62 = select i1 %61, i32 3, i32 2 +58: ; preds = %.critedge829 + %59 = call i32 @access(ptr noundef %.0776, i32 noundef 1) #16 + %60 = icmp eq i32 %59, 0 + %61 = select i1 %60, i32 3, i32 2 br label %.loopexit.sink.split -.critedge827: ; preds = %35, %3, %.critedge829 - %.0773 = phi ptr [ @php_plain_files_wrapper, %.critedge829 ], [ null, %3 ], [ %36, %35 ] - %63 = add i32 %1, -8 - %64 = call i32 @llvm.fshl.i32(i32 %63, i32 %63, i32 31) - %65 = icmp ult i32 %64, 6 - br i1 %65, label %switch.lookup, label %67 +.critedge827: ; preds = %34, %3, %.critedge829 + %.0773 = phi ptr [ @php_plain_files_wrapper, %.critedge829 ], [ null, %3 ], [ %35, %34 ] + %62 = add i32 %1, -8 + %63 = call i32 @llvm.fshl.i32(i32 %62, i32 %62, i32 31) + %64 = icmp ult i32 %63, 6 + br i1 %64, label %switch.lookup, label %66 switch.lookup: ; preds = %.critedge827 - %66 = zext nneg i32 %64 to i64 - %switch.gep = getelementptr inbounds nuw [6 x i32], ptr @switch.table.php_stat, i64 0, i64 %66 + %65 = zext nneg i32 %63 to i64 + %switch.gep = getelementptr inbounds nuw [6 x i32], ptr @switch.table.php_stat, i64 0, i64 %65 %switch.load = load i32, ptr %switch.gep, align 4 - br label %67 + br label %66 -67: ; preds = %switch.lookup, %.critedge827 +66: ; preds = %switch.lookup, %.critedge827 %.0766 = phi i32 [ 0, %.critedge827 ], [ %switch.load, %switch.lookup ] - switch i32 %1, label %70 [ - i32 18, label %68 - i32 15, label %68 - i32 14, label %68 - i32 13, label %68 - i32 12, label %68 - i32 11, label %68 - i32 10, label %68 - i32 9, label %68 + switch i32 %1, label %69 [ + i32 18, label %67 + i32 15, label %67 + i32 14, label %67 + i32 13, label %67 + i32 12, label %67 + i32 11, label %67 + i32 10, label %67 + i32 9, label %67 ] -68: ; preds = %67, %67, %67, %67, %67, %67, %67, %67 - %69 = or disjoint i32 %.0766, 2 - br label %70 - -70: ; preds = %67, %68 - %.1 = phi i32 [ %69, %68 ], [ %.0766, %67 ] - %71 = and i32 %.1, 1 - %.not804 = icmp eq i32 %71, 0 - br i1 %.not804, label %84, label %72 - -72: ; preds = %70 - %73 = load ptr, ptr getelementptr inbounds nuw (i8, ptr @basic_globals, i64 544), align 8 - %74 = icmp eq ptr %0, %73 - br i1 %74, label %173, label %75 - -75: ; preds = %72 - %.not806 = icmp eq ptr %73, null - br i1 %.not806, label %.critedge, label %76 - -76: ; preds = %75 - %77 = getelementptr inbounds nuw i8, ptr %0, i64 16 - %78 = load i64, ptr %77, align 8 - %79 = getelementptr inbounds nuw i8, ptr %73, i64 16 - %80 = load i64, ptr %79, align 8 - %81 = icmp eq i64 %78, %80 - br i1 %81, label %82, label %.critedge - -82: ; preds = %76 - %83 = call zeroext i1 @zend_string_equal_val(ptr noundef nonnull %0, ptr noundef nonnull %73) #16 - br i1 %83, label %173, label %.critedge - -84: ; preds = %70 - %85 = load ptr, ptr getelementptr inbounds nuw (i8, ptr @basic_globals, i64 536), align 8 - %86 = icmp eq ptr %0, %85 - br i1 %86, label %173, label %87 - -87: ; preds = %84 - %.not805 = icmp eq ptr %85, null - br i1 %.not805, label %.critedge, label %88 - -88: ; preds = %87 - %89 = getelementptr inbounds nuw i8, ptr %0, i64 16 - %90 = load i64, ptr %89, align 8 - %91 = getelementptr inbounds nuw i8, ptr %85, i64 16 - %92 = load i64, ptr %91, align 8 - %93 = icmp eq i64 %90, %92 - br i1 %93, label %94, label %.critedge - -94: ; preds = %88 - %95 = call zeroext i1 @zend_string_equal_val(ptr noundef nonnull %0, ptr noundef nonnull %85) #16 - br i1 %95, label %173, label %.critedge - -.critedge: ; preds = %87, %94, %88, %75, %82, %76 +67: ; preds = %66, %66, %66, %66, %66, %66, %66, %66 + %68 = or disjoint i32 %.0766, 2 + br label %69 + +69: ; preds = %66, %67 + %.1 = phi i32 [ %68, %67 ], [ %.0766, %66 ] + %70 = and i32 %.1, 1 + %.not804 = icmp eq i32 %70, 0 + br i1 %.not804, label %83, label %71 + +71: ; preds = %69 + %72 = load ptr, ptr getelementptr inbounds nuw (i8, ptr @basic_globals, i64 544), align 8 + %73 = icmp eq ptr %0, %72 + br i1 %73, label %172, label %74 + +74: ; preds = %71 + %.not806 = icmp eq ptr %72, null + br i1 %.not806, label %.critedge, label %75 + +75: ; preds = %74 + %76 = getelementptr inbounds nuw i8, ptr %0, i64 16 + %77 = load i64, ptr %76, align 8 + %78 = getelementptr inbounds nuw i8, ptr %72, i64 16 + %79 = load i64, ptr %78, align 8 + %80 = icmp eq i64 %77, %79 + br i1 %80, label %81, label %.critedge + +81: ; preds = %75 + %82 = call zeroext i1 @zend_string_equal_val(ptr noundef nonnull %0, ptr noundef nonnull %72) #16 + br i1 %82, label %172, label %.critedge + +83: ; preds = %69 + %84 = load ptr, ptr getelementptr inbounds nuw (i8, ptr @basic_globals, i64 536), align 8 + %85 = icmp eq ptr %0, %84 + br i1 %85, label %172, label %86 + +86: ; preds = %83 + %.not805 = icmp eq ptr %84, null + br i1 %.not805, label %.critedge, label %87 + +87: ; preds = %86 + %88 = getelementptr inbounds nuw i8, ptr %0, i64 16 + %89 = load i64, ptr %88, align 8 + %90 = getelementptr inbounds nuw i8, ptr %84, i64 16 + %91 = load i64, ptr %90, align 8 + %92 = icmp eq i64 %89, %91 + br i1 %92, label %93, label %.critedge + +93: ; preds = %87 + %94 = call zeroext i1 @zend_string_equal_val(ptr noundef nonnull %0, ptr noundef nonnull %84) #16 + br i1 %94, label %172, label %.critedge + +.critedge: ; preds = %86, %93, %87, %74, %81, %75 %.not807 = icmp eq ptr %.0773, null - br i1 %.not807, label %96, label %.thread919 + br i1 %.not807, label %95, label %.thread921 -96: ; preds = %.critedge - %97 = getelementptr inbounds nuw i8, ptr %0, i64 16 - %98 = load i64, ptr %97, align 8 - %.not808 = icmp eq i64 %98, 0 - br i1 %.not808, label %.loopexit.sink.split, label %99 +95: ; preds = %.critedge + %96 = getelementptr inbounds nuw i8, ptr %0, i64 16 + %97 = load i64, ptr %96, align 8 + %.not808 = icmp eq i64 %97, 0 + br i1 %.not808, label %.loopexit.sink.split, label %98 -99: ; preds = %96 - %100 = getelementptr inbounds nuw i8, ptr %0, i64 24 - %101 = call i64 @strlen(ptr noundef nonnull dereferenceable(1) %100) #17 - %.not809 = icmp eq i64 %98, %101 - br i1 %.not809, label %105, label %102 +98: ; preds = %95 + %99 = getelementptr inbounds nuw i8, ptr %0, i64 24 + %100 = call i64 @strlen(ptr noundef nonnull dereferenceable(1) %99) #17 + %.not809 = icmp eq i64 %97, %100 + br i1 %.not809, label %104, label %101 -102: ; preds = %99 +101: ; preds = %98 %switch.tableidx = add i32 %1, -9 - %103 = icmp ult i32 %switch.tableidx, 10 - br i1 %103, label %switch.hole_check, label %104 + %102 = icmp ult i32 %switch.tableidx, 10 + br i1 %102, label %switch.hole_check, label %103 -104: ; preds = %switch.hole_check, %102 +103: ; preds = %switch.hole_check, %101 call void (ptr, i32, ptr, ...) @php_error_docref(ptr noundef null, i32 noundef 2, ptr noundef nonnull @.str.9) #16 br label %.loopexit.sink.split -105: ; preds = %99 - %106 = call ptr @php_stream_locate_url_wrapper(ptr noundef nonnull %100, ptr noundef nonnull %5, i32 noundef 0) #16 - %107 = icmp eq ptr %106, @php_plain_files_wrapper - br i1 %107, label %108, label %111 - -108: ; preds = %105 - %109 = load ptr, ptr %5, align 8 - %110 = call i32 @php_check_open_basedir(ptr noundef %109) #16 - %.not810 = icmp eq i32 %110, 0 - br i1 %.not810, label %.thread919, label %.loopexit.sink.split - -111: ; preds = %105 - %.not811 = icmp eq ptr %106, null - br i1 %.not811, label %119, label %.thread919 - -.thread919: ; preds = %108, %.critedge, %111 - %.2775922 = phi ptr [ %106, %111 ], [ @php_plain_files_wrapper, %108 ], [ %.0773, %.critedge ] - %112 = load ptr, ptr %.2775922, align 8 - %113 = getelementptr inbounds nuw i8, ptr %112, i64 24 - %114 = load ptr, ptr %113, align 8 - %.not812 = icmp eq ptr %114, null - br i1 %.not812, label %119, label %115 - -115: ; preds = %.thread919 - %116 = load ptr, ptr %5, align 8 - %117 = or i32 %.1, 4 - %118 = call i32 %114(ptr noundef nonnull %.2775922, ptr noundef %116, i32 noundef %117, ptr noundef nonnull %4, ptr noundef null) #16 - %.not813 = icmp eq i32 %118, 0 - br i1 %.not813, label %124, label %119 - -119: ; preds = %115, %.thread919, %111 - switch i32 %1, label %120 [ +104: ; preds = %98 + %105 = call ptr @php_stream_locate_url_wrapper(ptr noundef nonnull %99, ptr noundef nonnull %5, i32 noundef 0) #16 + %106 = icmp eq ptr %105, @php_plain_files_wrapper + br i1 %106, label %107, label %110 + +107: ; preds = %104 + %108 = load ptr, ptr %5, align 8 + %109 = call i32 @php_check_open_basedir(ptr noundef %108) #16 + %.not810 = icmp eq i32 %109, 0 + br i1 %.not810, label %.thread921, label %.loopexit.sink.split + +110: ; preds = %104 + %.not811 = icmp eq ptr %105, null + br i1 %.not811, label %118, label %.thread921 + +.thread921: ; preds = %107, %.critedge, %110 + %.2775924 = phi ptr [ %105, %110 ], [ @php_plain_files_wrapper, %107 ], [ %.0773, %.critedge ] + %111 = load ptr, ptr %.2775924, align 8 + %112 = getelementptr inbounds nuw i8, ptr %111, i64 24 + %113 = load ptr, ptr %112, align 8 + %.not812 = icmp eq ptr %113, null + br i1 %.not812, label %118, label %114 + +114: ; preds = %.thread921 + %115 = load ptr, ptr %5, align 8 + %116 = or i32 %.1, 4 + %117 = call i32 %113(ptr noundef nonnull %.2775924, ptr noundef %115, i32 noundef %116, ptr noundef nonnull %4, ptr noundef null) #16 + %.not813 = icmp eq i32 %117, 0 + br i1 %.not813, label %123, label %118 + +118: ; preds = %114, %.thread921, %110 + switch i32 %1, label %119 [ i32 18, label %.loopexit.sink.split i32 15, label %.loopexit.sink.split i32 14, label %.loopexit.sink.split @@ -1836,583 +1836,583 @@ switch.lookup: ; preds = %.critedge827 i32 11, label %.loopexit.sink.split i32 10, label %.loopexit.sink.split i32 9, label %.loopexit.sink.split - i32 16, label %121 - i32 8, label %121 + i32 16, label %120 + i32 8, label %120 ] -120: ; preds = %119 - br label %121 +119: ; preds = %118 + br label %120 -121: ; preds = %119, %119, %120 - %122 = phi ptr [ @.str.12, %120 ], [ @.str.11, %119 ], [ @.str.11, %119 ] - %123 = getelementptr inbounds nuw i8, ptr %0, i64 24 - call void (ptr, i32, ptr, ...) @php_error_docref(ptr noundef null, i32 noundef 2, ptr noundef nonnull @.str.10, ptr noundef nonnull %122, ptr noundef nonnull %123) #16 +120: ; preds = %118, %118, %119 + %121 = phi ptr [ @.str.12, %119 ], [ @.str.11, %118 ], [ @.str.11, %118 ] + %122 = getelementptr inbounds nuw i8, ptr %0, i64 24 + call void (ptr, i32, ptr, ...) @php_error_docref(ptr noundef null, i32 noundef 2, ptr noundef nonnull @.str.10, ptr noundef nonnull %121, ptr noundef nonnull %122) #16 br label %.loopexit.sink.split -124: ; preds = %115 - br i1 %.not804, label %.critedge831, label %125 - -125: ; preds = %124 - %126 = load ptr, ptr getelementptr inbounds nuw (i8, ptr @basic_globals, i64 544), align 8 - %.not814 = icmp eq ptr %126, null - br i1 %.not814, label %140, label %127 - -127: ; preds = %125 - %128 = getelementptr inbounds nuw i8, ptr %126, i64 4 - %129 = load i32, ptr %128, align 4 - %130 = and i32 %129, 64 - %.not815 = icmp eq i32 %130, 0 - br i1 %.not815, label %131, label %140 - -131: ; preds = %127 - %132 = load i32, ptr %126, align 4 - %133 = icmp ne i32 %132, 0 - call void @llvm.assume(i1 %133) - %134 = add i32 %132, -1 - store i32 %134, ptr %126, align 4 - %135 = icmp eq i32 %134, 0 - br i1 %135, label %136, label %140 - -136: ; preds = %131 - %137 = and i32 %129, 128 - %.not816 = icmp eq i32 %137, 0 - br i1 %.not816, label %139, label %138 - -138: ; preds = %136 - call void @free(ptr noundef nonnull %126) #16 - br label %140 - -139: ; preds = %136 - call void @_efree(ptr noundef nonnull %126) #16 - br label %140 - -140: ; preds = %127, %138, %139, %131, %125 - %141 = getelementptr inbounds nuw i8, ptr %0, i64 4 - %142 = load i32, ptr %141, align 4 - %143 = and i32 %142, 64 - %.not817 = icmp eq i32 %143, 0 - br i1 %.not817, label %144, label %147 - -144: ; preds = %140 - %145 = load i32, ptr %0, align 4 - %146 = add i32 %145, 1 - store i32 %146, ptr %0, align 4 - br label %147 - -147: ; preds = %140, %144 +123: ; preds = %114 + br i1 %.not804, label %.critedge831, label %124 + +124: ; preds = %123 + %125 = load ptr, ptr getelementptr inbounds nuw (i8, ptr @basic_globals, i64 544), align 8 + %.not814 = icmp eq ptr %125, null + br i1 %.not814, label %139, label %126 + +126: ; preds = %124 + %127 = getelementptr inbounds nuw i8, ptr %125, i64 4 + %128 = load i32, ptr %127, align 4 + %129 = and i32 %128, 64 + %.not815 = icmp eq i32 %129, 0 + br i1 %.not815, label %130, label %139 + +130: ; preds = %126 + %131 = load i32, ptr %125, align 4 + %132 = icmp ne i32 %131, 0 + call void @llvm.assume(i1 %132) + %133 = add i32 %131, -1 + store i32 %133, ptr %125, align 4 + %134 = icmp eq i32 %133, 0 + br i1 %134, label %135, label %139 + +135: ; preds = %130 + %136 = and i32 %128, 128 + %.not816 = icmp eq i32 %136, 0 + br i1 %.not816, label %138, label %137 + +137: ; preds = %135 + call void @free(ptr noundef nonnull %125) #16 + br label %139 + +138: ; preds = %135 + call void @_efree(ptr noundef nonnull %125) #16 + br label %139 + +139: ; preds = %126, %137, %138, %130, %124 + %140 = getelementptr inbounds nuw i8, ptr %0, i64 4 + %141 = load i32, ptr %140, align 4 + %142 = and i32 %141, 64 + %.not817 = icmp eq i32 %142, 0 + br i1 %.not817, label %143, label %146 + +143: ; preds = %139 + %144 = load i32, ptr %0, align 4 + %145 = add i32 %144, 1 + store i32 %145, ptr %0, align 4 + br label %146 + +146: ; preds = %139, %143 store ptr %0, ptr getelementptr inbounds nuw (i8, ptr @basic_globals, i64 544), align 8 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(144) getelementptr inbounds nuw (i8, ptr @basic_globals, i64 696), ptr noundef nonnull align 8 dereferenceable(144) %4, i64 144, i1 false) - %148 = load i32, ptr %.0.sroa.gep840, align 8 - %149 = and i32 %148, 61440 - %150 = icmp eq i32 %149, 40960 - br i1 %150, label %173, label %.critedge831 - -.critedge831: ; preds = %124, %147 - %151 = load ptr, ptr getelementptr inbounds nuw (i8, ptr @basic_globals, i64 536), align 8 - %.not818 = icmp eq ptr %151, null - br i1 %.not818, label %165, label %152 - -152: ; preds = %.critedge831 - %153 = getelementptr inbounds nuw i8, ptr %151, i64 4 - %154 = load i32, ptr %153, align 4 - %155 = and i32 %154, 64 - %.not819 = icmp eq i32 %155, 0 - br i1 %.not819, label %156, label %165 - -156: ; preds = %152 - %157 = load i32, ptr %151, align 4 - %158 = icmp ne i32 %157, 0 - call void @llvm.assume(i1 %158) - %159 = add i32 %157, -1 - store i32 %159, ptr %151, align 4 - %160 = icmp eq i32 %159, 0 - br i1 %160, label %161, label %165 - -161: ; preds = %156 - %162 = and i32 %154, 128 - %.not820 = icmp eq i32 %162, 0 - br i1 %.not820, label %164, label %163 - -163: ; preds = %161 - call void @free(ptr noundef nonnull %151) #16 - br label %165 - -164: ; preds = %161 - call void @_efree(ptr noundef nonnull %151) #16 - br label %165 - -165: ; preds = %152, %163, %164, %156, %.critedge831 - %166 = getelementptr inbounds nuw i8, ptr %0, i64 4 - %167 = load i32, ptr %166, align 4 - %168 = and i32 %167, 64 - %.not821 = icmp eq i32 %168, 0 - br i1 %.not821, label %169, label %172 - -169: ; preds = %165 - %170 = load i32, ptr %0, align 4 - %171 = add i32 %170, 1 - store i32 %171, ptr %0, align 4 - br label %172 - -172: ; preds = %169, %165 + %147 = load i32, ptr %.0.sroa.gep840, align 8 + %148 = and i32 %147, 61440 + %149 = icmp eq i32 %148, 40960 + br i1 %149, label %172, label %.critedge831 + +.critedge831: ; preds = %123, %146 + %150 = load ptr, ptr getelementptr inbounds nuw (i8, ptr @basic_globals, i64 536), align 8 + %.not818 = icmp eq ptr %150, null + br i1 %.not818, label %164, label %151 + +151: ; preds = %.critedge831 + %152 = getelementptr inbounds nuw i8, ptr %150, i64 4 + %153 = load i32, ptr %152, align 4 + %154 = and i32 %153, 64 + %.not819 = icmp eq i32 %154, 0 + br i1 %.not819, label %155, label %164 + +155: ; preds = %151 + %156 = load i32, ptr %150, align 4 + %157 = icmp ne i32 %156, 0 + call void @llvm.assume(i1 %157) + %158 = add i32 %156, -1 + store i32 %158, ptr %150, align 4 + %159 = icmp eq i32 %158, 0 + br i1 %159, label %160, label %164 + +160: ; preds = %155 + %161 = and i32 %153, 128 + %.not820 = icmp eq i32 %161, 0 + br i1 %.not820, label %163, label %162 + +162: ; preds = %160 + call void @free(ptr noundef nonnull %150) #16 + br label %164 + +163: ; preds = %160 + call void @_efree(ptr noundef nonnull %150) #16 + br label %164 + +164: ; preds = %151, %162, %163, %155, %.critedge831 + %165 = getelementptr inbounds nuw i8, ptr %0, i64 4 + %166 = load i32, ptr %165, align 4 + %167 = and i32 %166, 64 + %.not821 = icmp eq i32 %167, 0 + br i1 %.not821, label %168, label %171 + +168: ; preds = %164 + %169 = load i32, ptr %0, align 4 + %170 = add i32 %169, 1 + store i32 %170, ptr %0, align 4 + br label %171 + +171: ; preds = %168, %164 store ptr %0, ptr getelementptr inbounds nuw (i8, ptr @basic_globals, i64 536), align 8 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(144) getelementptr inbounds nuw (i8, ptr @basic_globals, i64 552), ptr noundef nonnull align 8 dereferenceable(144) %4, i64 144, i1 false) - br label %173 - -173: ; preds = %84, %94, %72, %82, %147, %172 - %.1774 = phi ptr [ %.2775922, %147 ], [ %.2775922, %172 ], [ %.0773, %82 ], [ %.0773, %72 ], [ %.0773, %94 ], [ %.0773, %84 ] - %.0.sroa.phi = phi ptr [ %.0.sroa.gep, %147 ], [ %.0.sroa.gep, %172 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 724), %82 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 724), %72 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 580), %94 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 580), %84 ] - %.0.sroa.phi833 = phi ptr [ %.0.sroa.gep834, %147 ], [ %.0.sroa.gep834, %172 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 728), %82 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 728), %72 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 584), %94 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 584), %84 ] - %.0.sroa.phi836 = phi ptr [ %.0.sroa.gep837, %147 ], [ %.0.sroa.gep837, %172 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 704), %82 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 704), %72 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 560), %94 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 560), %84 ] - %.0.sroa.phi839 = phi ptr [ %.0.sroa.gep840, %147 ], [ %.0.sroa.gep840, %172 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 720), %82 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 720), %72 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 576), %94 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 576), %84 ] - %.0.sroa.phi842 = phi ptr [ %.0.sroa.gep843, %147 ], [ %.0.sroa.gep843, %172 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 712), %82 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 712), %72 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 568), %94 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 568), %84 ] - %.0.sroa.phi851 = phi ptr [ %.0.sroa.gep852, %147 ], [ %.0.sroa.gep852, %172 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 736), %82 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 736), %72 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 592), %94 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 592), %84 ] - %.0.sroa.phi854 = phi ptr [ %.0.sroa.gep855, %147 ], [ %.0.sroa.gep855, %172 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 744), %82 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 744), %72 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 600), %94 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 600), %84 ] - %.0.sroa.phi857 = phi ptr [ %.0.sroa.gep858, %147 ], [ %.0.sroa.gep858, %172 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 768), %82 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 768), %72 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 624), %94 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 624), %84 ] - %.0.sroa.phi860 = phi ptr [ %.0.sroa.gep861, %147 ], [ %.0.sroa.gep861, %172 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 784), %82 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 784), %72 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 640), %94 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 640), %84 ] - %.0.sroa.phi863 = phi ptr [ %.0.sroa.gep864, %147 ], [ %.0.sroa.gep864, %172 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 800), %82 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 800), %72 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 656), %94 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 656), %84 ] - %.0.sroa.phi866 = phi ptr [ %.0.sroa.gep867, %147 ], [ %.0.sroa.gep867, %172 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 752), %82 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 752), %72 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 608), %94 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 608), %84 ] - %.0.sroa.phi869 = phi ptr [ %.0.sroa.gep870, %147 ], [ %.0.sroa.gep870, %172 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 760), %82 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 760), %72 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 616), %94 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 616), %84 ] - %.0 = phi ptr [ %4, %147 ], [ %4, %172 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 696), %82 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 696), %72 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 552), %94 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 552), %84 ] - br i1 %or.cond3, label %174, label %.thread933 - -174: ; preds = %173 - %175 = load i32, ptr %.0.sroa.phi, align 4 - %176 = call i32 @getuid() #16 - %177 = icmp eq i32 %175, %176 - br i1 %177, label %.thread924, label %178 - -178: ; preds = %174 - %179 = load i32, ptr %.0.sroa.phi833, align 8 - %180 = call i32 @getgid() #16 - %181 = icmp eq i32 %179, %180 - br i1 %181, label %.thread924, label %182 - -182: ; preds = %178 - %183 = call i32 @getgroups(i32 noundef 0, ptr noundef null) #16 - %184 = icmp sgt i32 %183, 0 - br i1 %184, label %185, label %.thread924 - -185: ; preds = %182 - %186 = zext nneg i32 %183 to i64 - %187 = call noalias ptr @_safe_emalloc(i64 noundef %186, i64 noundef 4, i64 noundef 0) #16 - %188 = call i32 @getgroups(i32 noundef %183, ptr noundef %187) #16 - %189 = icmp sgt i32 %188, 0 - br i1 %189, label %.lr.ph, label %._crit_edge - -.lr.ph: ; preds = %185 - %190 = load i32, ptr %.0.sroa.phi833, align 8 - %wide.trip.count = zext nneg i32 %188 to i64 - br label %192 - -191: ; preds = %192 + br label %172 + +172: ; preds = %83, %93, %71, %81, %146, %171 + %.1774 = phi ptr [ %.2775924, %146 ], [ %.2775924, %171 ], [ %.0773, %81 ], [ %.0773, %71 ], [ %.0773, %93 ], [ %.0773, %83 ] + %.0.sroa.phi = phi ptr [ %.0.sroa.gep, %146 ], [ %.0.sroa.gep, %171 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 724), %81 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 724), %71 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 580), %93 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 580), %83 ] + %.0.sroa.phi833 = phi ptr [ %.0.sroa.gep834, %146 ], [ %.0.sroa.gep834, %171 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 728), %81 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 728), %71 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 584), %93 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 584), %83 ] + %.0.sroa.phi836 = phi ptr [ %.0.sroa.gep837, %146 ], [ %.0.sroa.gep837, %171 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 704), %81 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 704), %71 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 560), %93 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 560), %83 ] + %.0.sroa.phi839 = phi ptr [ %.0.sroa.gep840, %146 ], [ %.0.sroa.gep840, %171 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 720), %81 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 720), %71 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 576), %93 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 576), %83 ] + %.0.sroa.phi842 = phi ptr [ %.0.sroa.gep843, %146 ], [ %.0.sroa.gep843, %171 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 712), %81 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 712), %71 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 568), %93 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 568), %83 ] + %.0.sroa.phi851 = phi ptr [ %.0.sroa.gep852, %146 ], [ %.0.sroa.gep852, %171 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 736), %81 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 736), %71 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 592), %93 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 592), %83 ] + %.0.sroa.phi854 = phi ptr [ %.0.sroa.gep855, %146 ], [ %.0.sroa.gep855, %171 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 744), %81 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 744), %71 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 600), %93 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 600), %83 ] + %.0.sroa.phi857 = phi ptr [ %.0.sroa.gep858, %146 ], [ %.0.sroa.gep858, %171 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 768), %81 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 768), %71 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 624), %93 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 624), %83 ] + %.0.sroa.phi860 = phi ptr [ %.0.sroa.gep861, %146 ], [ %.0.sroa.gep861, %171 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 784), %81 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 784), %71 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 640), %93 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 640), %83 ] + %.0.sroa.phi863 = phi ptr [ %.0.sroa.gep864, %146 ], [ %.0.sroa.gep864, %171 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 800), %81 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 800), %71 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 656), %93 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 656), %83 ] + %.0.sroa.phi866 = phi ptr [ %.0.sroa.gep867, %146 ], [ %.0.sroa.gep867, %171 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 752), %81 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 752), %71 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 608), %93 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 608), %83 ] + %.0.sroa.phi869 = phi ptr [ %.0.sroa.gep870, %146 ], [ %.0.sroa.gep870, %171 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 760), %81 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 760), %71 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 616), %93 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 616), %83 ] + %.0 = phi ptr [ %4, %146 ], [ %4, %171 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 696), %81 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 696), %71 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 552), %93 ], [ getelementptr inbounds nuw (i8, ptr @basic_globals, i64 552), %83 ] + br i1 %or.cond3, label %173, label %.thread935 + +173: ; preds = %172 + %174 = load i32, ptr %.0.sroa.phi, align 4 + %175 = call i32 @getuid() #16 + %176 = icmp eq i32 %174, %175 + br i1 %176, label %.thread926, label %177 + +177: ; preds = %173 + %178 = load i32, ptr %.0.sroa.phi833, align 8 + %179 = call i32 @getgid() #16 + %180 = icmp eq i32 %178, %179 + br i1 %180, label %.thread926, label %181 + +181: ; preds = %177 + %182 = call i32 @getgroups(i32 noundef 0, ptr noundef null) #16 + %183 = icmp sgt i32 %182, 0 + br i1 %183, label %184, label %.thread926 + +184: ; preds = %181 + %185 = zext nneg i32 %182 to i64 + %186 = call noalias ptr @_safe_emalloc(i64 noundef %185, i64 noundef 4, i64 noundef 0) #16 + %187 = call i32 @getgroups(i32 noundef %182, ptr noundef %186) #16 + %188 = icmp sgt i32 %187, 0 + br i1 %188, label %.lr.ph, label %._crit_edge + +.lr.ph: ; preds = %184 + %189 = load i32, ptr %.0.sroa.phi833, align 8 + %wide.trip.count = zext nneg i32 %187 to i64 + br label %191 + +190: ; preds = %191 %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 %192 - -192: ; preds = %.lr.ph, %191 - %indvars.iv = phi i64 [ 0, %.lr.ph ], [ %indvars.iv.next, %191 ] - %193 = getelementptr inbounds nuw i32, ptr %187, i64 %indvars.iv - %194 = load i32, ptr %193, align 4 - %195 = icmp eq i32 %190, %194 - br i1 %195, label %._crit_edge, label %191 - -._crit_edge: ; preds = %192, %191, %185 - %.1772 = phi i32 [ 1, %185 ], [ 1, %191 ], [ 8, %192 ] - %.1770 = phi i32 [ 2, %185 ], [ 2, %191 ], [ 16, %192 ] - %.1768 = phi i32 [ 4, %185 ], [ 4, %191 ], [ 32, %192 ] - call void @_efree(ptr noundef %187) #16 - br label %.thread924 - -.thread924: ; preds = %._crit_edge, %182, %174, %178 - %.0767932 = phi i32 [ %.1768, %._crit_edge ], [ 32, %178 ], [ 256, %174 ], [ 4, %182 ] - %.0769930 = phi i32 [ %.1770, %._crit_edge ], [ 16, %178 ], [ 128, %174 ], [ 2, %182 ] - %.0771928 = phi i32 [ %.1772, %._crit_edge ], [ 8, %178 ], [ 64, %174 ], [ 1, %182 ] - %196 = call i32 @getuid() #16 - %197 = icmp ne i32 %196, 0 - %198 = icmp ne ptr %.1774, @php_plain_files_wrapper - %or.cond85.not939 = or i1 %198, %197 - %brmerge = or i1 %21, %or.cond85.not939 - %.0771.mux = select i1 %or.cond85.not939, i32 %.0771928, i32 73 - br i1 %brmerge, label %.thread933, label %.loopexit.sink.split - -.thread933: ; preds = %173, %.thread924 - %.0767931 = phi i32 [ %.0767932, %.thread924 ], [ 4, %173 ] - %.0769929 = phi i32 [ %.0769930, %.thread924 ], [ 2, %173 ] - %.2 = phi i32 [ %.0771.mux, %.thread924 ], [ 1, %173 ] - switch i32 %1, label %366 [ - i32 0, label %199 - i32 18, label %199 - i32 1, label %202 - i32 2, label %204 - i32 3, label %206 - i32 4, label %209 - i32 5, label %212 - i32 6, label %214 - i32 7, label %216 - i32 8, label %218 - i32 9, label %281 - i32 10, label %285 - i32 11, label %289 - i32 12, label %293 - i32 13, label %298 - i32 14, label %303 + br i1 %exitcond.not, label %._crit_edge, label %191 + +191: ; preds = %.lr.ph, %190 + %indvars.iv = phi i64 [ 0, %.lr.ph ], [ %indvars.iv.next, %190 ] + %192 = getelementptr inbounds nuw i32, ptr %186, i64 %indvars.iv + %193 = load i32, ptr %192, align 4 + %194 = icmp eq i32 %189, %193 + br i1 %194, label %._crit_edge, label %190 + +._crit_edge: ; preds = %191, %190, %184 + %.1772 = phi i32 [ 1, %184 ], [ 1, %190 ], [ 8, %191 ] + %.1770 = phi i32 [ 2, %184 ], [ 2, %190 ], [ 16, %191 ] + %.1768 = phi i32 [ 4, %184 ], [ 4, %190 ], [ 32, %191 ] + call void @_efree(ptr noundef %186) #16 + br label %.thread926 + +.thread926: ; preds = %._crit_edge, %181, %173, %177 + %.0767934 = phi i32 [ %.1768, %._crit_edge ], [ 32, %177 ], [ 256, %173 ], [ 4, %181 ] + %.0769932 = phi i32 [ %.1770, %._crit_edge ], [ 16, %177 ], [ 128, %173 ], [ 2, %181 ] + %.0771930 = phi i32 [ %.1772, %._crit_edge ], [ 8, %177 ], [ 64, %173 ], [ 1, %181 ] + %195 = call i32 @getuid() #16 + %196 = icmp ne i32 %195, 0 + %197 = icmp ne ptr %.1774, @php_plain_files_wrapper + %or.cond85.not941 = or i1 %197, %196 + %brmerge = or i1 %21, %or.cond85.not941 + %.0771.mux = select i1 %or.cond85.not941, i32 %.0771930, i32 73 + br i1 %brmerge, label %.thread935, label %.loopexit.sink.split + +.thread935: ; preds = %172, %.thread926 + %.0767933 = phi i32 [ %.0767934, %.thread926 ], [ 4, %172 ] + %.0769931 = phi i32 [ %.0769932, %.thread926 ], [ 2, %172 ] + %.2 = phi i32 [ %.0771.mux, %.thread926 ], [ 1, %172 ] + switch i32 %1, label %365 [ + i32 0, label %198 + i32 18, label %198 + i32 1, label %201 + i32 2, label %203 + i32 3, label %205 + i32 4, label %208 + i32 5, label %211 + i32 6, label %213 + i32 7, label %215 + i32 8, label %217 + i32 9, label %280 + i32 10, label %284 + i32 11, label %288 + i32 12, label %292 + i32 13, label %297 + i32 14, label %302 i32 15, label %.loopexit.sink.split - i32 16, label %308 - i32 17, label %308 + i32 16, label %307 + i32 17, label %307 ] -199: ; preds = %.thread933, %.thread933 - %200 = load i32, ptr %.0.sroa.phi839, align 8 - %201 = zext i32 %200 to i64 - store i64 %201, ptr %2, align 8 +198: ; preds = %.thread935, %.thread935 + %199 = load i32, ptr %.0.sroa.phi839, align 8 + %200 = zext i32 %199 to i64 + store i64 %200, ptr %2, align 8 br label %.loopexit.sink.split -202: ; preds = %.thread933 - %203 = load i64, ptr %.0.sroa.phi836, align 8 - store i64 %203, ptr %2, align 8 +201: ; preds = %.thread935 + %202 = load i64, ptr %.0.sroa.phi836, align 8 + store i64 %202, ptr %2, align 8 br label %.loopexit.sink.split -204: ; preds = %.thread933 - %205 = load i64, ptr %.0.sroa.phi854, align 8 - store i64 %205, ptr %2, align 8 +203: ; preds = %.thread935 + %204 = load i64, ptr %.0.sroa.phi854, align 8 + store i64 %204, ptr %2, align 8 br label %.loopexit.sink.split -206: ; preds = %.thread933 - %207 = load i32, ptr %.0.sroa.phi, align 4 - %208 = zext i32 %207 to i64 - store i64 %208, ptr %2, align 8 +205: ; preds = %.thread935 + %206 = load i32, ptr %.0.sroa.phi, align 4 + %207 = zext i32 %206 to i64 + store i64 %207, ptr %2, align 8 br label %.loopexit.sink.split -209: ; preds = %.thread933 - %210 = load i32, ptr %.0.sroa.phi833, align 8 - %211 = zext i32 %210 to i64 - store i64 %211, ptr %2, align 8 +208: ; preds = %.thread935 + %209 = load i32, ptr %.0.sroa.phi833, align 8 + %210 = zext i32 %209 to i64 + store i64 %210, ptr %2, align 8 br label %.loopexit.sink.split -212: ; preds = %.thread933 - %213 = load i64, ptr %.0.sroa.phi857, align 8 - store i64 %213, ptr %2, align 8 +211: ; preds = %.thread935 + %212 = load i64, ptr %.0.sroa.phi857, align 8 + store i64 %212, ptr %2, align 8 br label %.loopexit.sink.split -214: ; preds = %.thread933 - %215 = load i64, ptr %.0.sroa.phi860, align 8 - store i64 %215, ptr %2, align 8 +213: ; preds = %.thread935 + %214 = load i64, ptr %.0.sroa.phi860, align 8 + store i64 %214, ptr %2, align 8 br label %.loopexit.sink.split -216: ; preds = %.thread933 - %217 = load i64, ptr %.0.sroa.phi863, align 8 - store i64 %217, ptr %2, align 8 +215: ; preds = %.thread935 + %216 = load i64, ptr %.0.sroa.phi863, align 8 + store i64 %216, ptr %2, align 8 br label %.loopexit.sink.split -218: ; preds = %.thread933 - %219 = load i32, ptr %.0.sroa.phi839, align 8 - %220 = and i32 %219, 61440 - %221 = icmp eq i32 %220, 40960 - br i1 %221, label %222, label %229 - -222: ; preds = %218 - %223 = call noalias ptr @_emalloc_32() #16 - store i32 1, ptr %223, align 4 - %224 = getelementptr inbounds nuw i8, ptr %223, i64 4 - store i32 22, ptr %224, align 4 - %225 = getelementptr inbounds nuw i8, ptr %223, i64 8 - store i64 0, ptr %225, align 8 - %226 = getelementptr inbounds nuw i8, ptr %223, i64 16 - store i64 4, ptr %226, align 8 - %227 = getelementptr inbounds nuw i8, ptr %223, i64 24 - store i32 1802398060, ptr %227, align 8 - %228 = getelementptr inbounds nuw i8, ptr %223, i64 28 - store i8 0, ptr %228, align 1 - store ptr %223, ptr %2, align 8 +217: ; preds = %.thread935 + %218 = load i32, ptr %.0.sroa.phi839, align 8 + %219 = and i32 %218, 61440 + %220 = icmp eq i32 %219, 40960 + br i1 %220, label %221, label %228 + +221: ; preds = %217 + %222 = call noalias ptr @_emalloc_32() #16 + store i32 1, ptr %222, align 4 + %223 = getelementptr inbounds nuw i8, ptr %222, i64 4 + store i32 22, ptr %223, align 4 + %224 = getelementptr inbounds nuw i8, ptr %222, i64 8 + store i64 0, ptr %224, align 8 + %225 = getelementptr inbounds nuw i8, ptr %222, i64 16 + store i64 4, ptr %225, align 8 + %226 = getelementptr inbounds nuw i8, ptr %222, i64 24 + store i32 1802398060, ptr %226, align 8 + %227 = getelementptr inbounds nuw i8, ptr %222, i64 28 + store i8 0, ptr %227, align 1 + store ptr %222, ptr %2, align 8 br label %.loopexit.sink.split -229: ; preds = %218 - %230 = add nsw i32 %220, -4096 - %231 = lshr exact i32 %230, 12 - switch i32 %231, label %274 [ - i32 0, label %232 - i32 1, label %239 - i32 3, label %246 - i32 5, label %253 - i32 7, label %260 - i32 11, label %267 +228: ; preds = %217 + %229 = add nsw i32 %219, -4096 + %230 = lshr exact i32 %229, 12 + switch i32 %230, label %273 [ + i32 0, label %231 + i32 1, label %238 + i32 3, label %245 + i32 5, label %252 + i32 7, label %259 + i32 11, label %266 ] -232: ; preds = %229 - %233 = call noalias ptr @_emalloc_32() #16 - store i32 1, ptr %233, align 4 - %234 = getelementptr inbounds nuw i8, ptr %233, i64 4 - store i32 22, ptr %234, align 4 - %235 = getelementptr inbounds nuw i8, ptr %233, i64 8 - store i64 0, ptr %235, align 8 - %236 = getelementptr inbounds nuw i8, ptr %233, i64 16 - store i64 4, ptr %236, align 8 - %237 = getelementptr inbounds nuw i8, ptr %233, i64 24 - store i32 1868982630, ptr %237, align 8 - %238 = getelementptr inbounds nuw i8, ptr %233, i64 28 - store i8 0, ptr %238, align 1 - store ptr %233, ptr %2, align 8 +231: ; preds = %228 + %232 = call noalias ptr @_emalloc_32() #16 + store i32 1, ptr %232, align 4 + %233 = getelementptr inbounds nuw i8, ptr %232, i64 4 + store i32 22, ptr %233, align 4 + %234 = getelementptr inbounds nuw i8, ptr %232, i64 8 + store i64 0, ptr %234, align 8 + %235 = getelementptr inbounds nuw i8, ptr %232, i64 16 + store i64 4, ptr %235, align 8 + %236 = getelementptr inbounds nuw i8, ptr %232, i64 24 + store i32 1868982630, ptr %236, align 8 + %237 = getelementptr inbounds nuw i8, ptr %232, i64 28 + store i8 0, ptr %237, align 1 + store ptr %232, ptr %2, align 8 br label %.loopexit.sink.split -239: ; preds = %229 - %240 = call noalias ptr @_emalloc_32() #16 - store i32 1, ptr %240, align 4 - %241 = getelementptr inbounds nuw i8, ptr %240, i64 4 - store i32 22, ptr %241, align 4 - %242 = getelementptr inbounds nuw i8, ptr %240, i64 8 - store i64 0, ptr %242, align 8 - %243 = getelementptr inbounds nuw i8, ptr %240, i64 16 - store i64 4, ptr %243, align 8 - %244 = getelementptr inbounds nuw i8, ptr %240, i64 24 - store i32 1918986339, ptr %244, align 8 - %245 = getelementptr inbounds nuw i8, ptr %240, i64 28 - store i8 0, ptr %245, align 1 - store ptr %240, ptr %2, align 8 +238: ; preds = %228 + %239 = call noalias ptr @_emalloc_32() #16 + store i32 1, ptr %239, align 4 + %240 = getelementptr inbounds nuw i8, ptr %239, i64 4 + store i32 22, ptr %240, align 4 + %241 = getelementptr inbounds nuw i8, ptr %239, i64 8 + store i64 0, ptr %241, align 8 + %242 = getelementptr inbounds nuw i8, ptr %239, i64 16 + store i64 4, ptr %242, align 8 + %243 = getelementptr inbounds nuw i8, ptr %239, i64 24 + store i32 1918986339, ptr %243, align 8 + %244 = getelementptr inbounds nuw i8, ptr %239, i64 28 + store i8 0, ptr %244, align 1 + store ptr %239, ptr %2, align 8 br label %.loopexit.sink.split -246: ; preds = %229 - %247 = call noalias ptr @_emalloc_32() #16 - store i32 1, ptr %247, align 4 - %248 = getelementptr inbounds nuw i8, ptr %247, i64 4 - store i32 22, ptr %248, align 4 - %249 = getelementptr inbounds nuw i8, ptr %247, i64 8 - store i64 0, ptr %249, align 8 - %250 = getelementptr inbounds nuw i8, ptr %247, i64 16 - store i64 3, ptr %250, align 8 - %251 = getelementptr inbounds nuw i8, ptr %247, i64 24 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(3) %251, ptr noundef nonnull align 1 dereferenceable(3) @.str.16, i64 3, i1 false) - %252 = getelementptr inbounds nuw i8, ptr %247, i64 27 - store i8 0, ptr %252, align 1 - store ptr %247, ptr %2, align 8 +245: ; preds = %228 + %246 = call noalias ptr @_emalloc_32() #16 + store i32 1, ptr %246, align 4 + %247 = getelementptr inbounds nuw i8, ptr %246, i64 4 + store i32 22, ptr %247, align 4 + %248 = getelementptr inbounds nuw i8, ptr %246, i64 8 + store i64 0, ptr %248, align 8 + %249 = getelementptr inbounds nuw i8, ptr %246, i64 16 + store i64 3, ptr %249, align 8 + %250 = getelementptr inbounds nuw i8, ptr %246, i64 24 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(3) %250, ptr noundef nonnull align 1 dereferenceable(3) @.str.16, i64 3, i1 false) + %251 = getelementptr inbounds nuw i8, ptr %246, i64 27 + store i8 0, ptr %251, align 1 + store ptr %246, ptr %2, align 8 br label %.loopexit.sink.split -253: ; preds = %229 - %254 = call noalias ptr @_emalloc_32() #16 - store i32 1, ptr %254, align 4 - %255 = getelementptr inbounds nuw i8, ptr %254, i64 4 - store i32 22, ptr %255, align 4 - %256 = getelementptr inbounds nuw i8, ptr %254, i64 8 - store i64 0, ptr %256, align 8 - %257 = getelementptr inbounds nuw i8, ptr %254, i64 16 - store i64 5, ptr %257, align 8 - %258 = getelementptr inbounds nuw i8, ptr %254, i64 24 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(5) %258, ptr noundef nonnull align 1 dereferenceable(5) @.str.17, i64 5, i1 false) - %259 = getelementptr inbounds nuw i8, ptr %254, i64 29 - store i8 0, ptr %259, align 1 - store ptr %254, ptr %2, align 8 +252: ; preds = %228 + %253 = call noalias ptr @_emalloc_32() #16 + store i32 1, ptr %253, align 4 + %254 = getelementptr inbounds nuw i8, ptr %253, i64 4 + store i32 22, ptr %254, align 4 + %255 = getelementptr inbounds nuw i8, ptr %253, i64 8 + store i64 0, ptr %255, align 8 + %256 = getelementptr inbounds nuw i8, ptr %253, i64 16 + store i64 5, ptr %256, align 8 + %257 = getelementptr inbounds nuw i8, ptr %253, i64 24 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(5) %257, ptr noundef nonnull align 1 dereferenceable(5) @.str.17, i64 5, i1 false) + %258 = getelementptr inbounds nuw i8, ptr %253, i64 29 + store i8 0, ptr %258, align 1 + store ptr %253, ptr %2, align 8 br label %.loopexit.sink.split -260: ; preds = %229 - %261 = load ptr, ptr @zend_known_strings, align 8 - %262 = load ptr, ptr %261, align 8 - store ptr %262, ptr %2, align 8 - %263 = getelementptr inbounds nuw i8, ptr %262, i64 4 - %264 = load i32, ptr %263, align 4 - %265 = and i32 %264, 64 - %.not825 = icmp eq i32 %265, 0 - %266 = select i1 %.not825, i32 262, i32 6 +259: ; preds = %228 + %260 = load ptr, ptr @zend_known_strings, align 8 + %261 = load ptr, ptr %260, align 8 + store ptr %261, ptr %2, align 8 + %262 = getelementptr inbounds nuw i8, ptr %261, i64 4 + %263 = load i32, ptr %262, align 4 + %264 = and i32 %263, 64 + %.not825 = icmp eq i32 %264, 0 + %265 = select i1 %.not825, i32 262, i32 6 br label %.loopexit.sink.split -267: ; preds = %229 - %268 = call noalias ptr @_emalloc_32() #16 - store i32 1, ptr %268, align 4 - %269 = getelementptr inbounds nuw i8, ptr %268, i64 4 - store i32 22, ptr %269, align 4 - %270 = getelementptr inbounds nuw i8, ptr %268, i64 8 - store i64 0, ptr %270, align 8 - %271 = getelementptr inbounds nuw i8, ptr %268, i64 16 - store i64 6, ptr %271, align 8 - %272 = getelementptr inbounds nuw i8, ptr %268, i64 24 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(6) %272, ptr noundef nonnull align 1 dereferenceable(6) @.str.18, i64 6, i1 false) - %273 = getelementptr inbounds nuw i8, ptr %268, i64 30 - store i8 0, ptr %273, align 1 - store ptr %268, ptr %2, align 8 +266: ; preds = %228 + %267 = call noalias ptr @_emalloc_32() #16 + store i32 1, ptr %267, align 4 + %268 = getelementptr inbounds nuw i8, ptr %267, i64 4 + store i32 22, ptr %268, align 4 + %269 = getelementptr inbounds nuw i8, ptr %267, i64 8 + store i64 0, ptr %269, align 8 + %270 = getelementptr inbounds nuw i8, ptr %267, i64 16 + store i64 6, ptr %270, align 8 + %271 = getelementptr inbounds nuw i8, ptr %267, i64 24 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(6) %271, ptr noundef nonnull align 1 dereferenceable(6) @.str.18, i64 6, i1 false) + %272 = getelementptr inbounds nuw i8, ptr %267, i64 30 + store i8 0, ptr %272, align 1 + store ptr %267, ptr %2, align 8 br label %.loopexit.sink.split -274: ; preds = %229 - call void (ptr, i32, ptr, ...) @php_error_docref(ptr noundef null, i32 noundef 8, ptr noundef nonnull @.str.19, i32 noundef %220) #16 - %275 = call noalias ptr @_emalloc_32() #16 - store i32 1, ptr %275, align 4 - %276 = getelementptr inbounds nuw i8, ptr %275, i64 4 - store i32 22, ptr %276, align 4 - %277 = getelementptr inbounds nuw i8, ptr %275, i64 8 - store i64 0, ptr %277, align 8 - %278 = getelementptr inbounds nuw i8, ptr %275, i64 16 - store i64 7, ptr %278, align 8 - %279 = getelementptr inbounds nuw i8, ptr %275, i64 24 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(7) %279, ptr noundef nonnull align 1 dereferenceable(7) @.str.20, i64 7, i1 false) - %280 = getelementptr inbounds nuw i8, ptr %275, i64 31 - store i8 0, ptr %280, align 1 - store ptr %275, ptr %2, align 8 +273: ; preds = %228 + call void (ptr, i32, ptr, ...) @php_error_docref(ptr noundef null, i32 noundef 8, ptr noundef nonnull @.str.19, i32 noundef %219) #16 + %274 = call noalias ptr @_emalloc_32() #16 + store i32 1, ptr %274, align 4 + %275 = getelementptr inbounds nuw i8, ptr %274, i64 4 + store i32 22, ptr %275, align 4 + %276 = getelementptr inbounds nuw i8, ptr %274, i64 8 + store i64 0, ptr %276, align 8 + %277 = getelementptr inbounds nuw i8, ptr %274, i64 16 + store i64 7, ptr %277, align 8 + %278 = getelementptr inbounds nuw i8, ptr %274, i64 24 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(7) %278, ptr noundef nonnull align 1 dereferenceable(7) @.str.20, i64 7, i1 false) + %279 = getelementptr inbounds nuw i8, ptr %274, i64 31 + store i8 0, ptr %279, align 1 + store ptr %274, ptr %2, align 8 br label %.loopexit.sink.split -281: ; preds = %.thread933 - %282 = load i32, ptr %.0.sroa.phi839, align 8 - %283 = and i32 %282, %.0769929 - %.not824 = icmp eq i32 %283, 0 - %284 = select i1 %.not824, i32 2, i32 3 +280: ; preds = %.thread935 + %281 = load i32, ptr %.0.sroa.phi839, align 8 + %282 = and i32 %281, %.0769931 + %.not824 = icmp eq i32 %282, 0 + %283 = select i1 %.not824, i32 2, i32 3 br label %.loopexit.sink.split -285: ; preds = %.thread933 - %286 = load i32, ptr %.0.sroa.phi839, align 8 - %287 = and i32 %286, %.0767931 - %.not823 = icmp eq i32 %287, 0 - %288 = select i1 %.not823, i32 2, i32 3 +284: ; preds = %.thread935 + %285 = load i32, ptr %.0.sroa.phi839, align 8 + %286 = and i32 %285, %.0767933 + %.not823 = icmp eq i32 %286, 0 + %287 = select i1 %.not823, i32 2, i32 3 br label %.loopexit.sink.split -289: ; preds = %.thread933 - %290 = load i32, ptr %.0.sroa.phi839, align 8 - %291 = and i32 %290, %.2 - %.not822 = icmp eq i32 %291, 0 - %292 = select i1 %.not822, i32 2, i32 3 +288: ; preds = %.thread935 + %289 = load i32, ptr %.0.sroa.phi839, align 8 + %290 = and i32 %289, %.2 + %.not822 = icmp eq i32 %290, 0 + %291 = select i1 %.not822, i32 2, i32 3 br label %.loopexit.sink.split -293: ; preds = %.thread933 - %294 = load i32, ptr %.0.sroa.phi839, align 8 - %295 = and i32 %294, 61440 - %296 = icmp eq i32 %295, 32768 - %297 = select i1 %296, i32 3, i32 2 +292: ; preds = %.thread935 + %293 = load i32, ptr %.0.sroa.phi839, align 8 + %294 = and i32 %293, 61440 + %295 = icmp eq i32 %294, 32768 + %296 = select i1 %295, i32 3, i32 2 br label %.loopexit.sink.split -298: ; preds = %.thread933 - %299 = load i32, ptr %.0.sroa.phi839, align 8 - %300 = and i32 %299, 61440 - %301 = icmp eq i32 %300, 16384 - %302 = select i1 %301, i32 3, i32 2 +297: ; preds = %.thread935 + %298 = load i32, ptr %.0.sroa.phi839, align 8 + %299 = and i32 %298, 61440 + %300 = icmp eq i32 %299, 16384 + %301 = select i1 %300, i32 3, i32 2 br label %.loopexit.sink.split -303: ; preds = %.thread933 - %304 = load i32, ptr %.0.sroa.phi839, align 8 - %305 = and i32 %304, 61440 - %306 = icmp eq i32 %305, 40960 - %307 = select i1 %306, i32 3, i32 2 +302: ; preds = %.thread935 + %303 = load i32, ptr %.0.sroa.phi839, align 8 + %304 = and i32 %303, 61440 + %305 = icmp eq i32 %304, 40960 + %306 = select i1 %305, i32 3, i32 2 br label %.loopexit.sink.split -308: ; preds = %.thread933, %.thread933 +307: ; preds = %.thread935, %.thread935 store ptr %7, ptr %20, align 16 - %309 = getelementptr inbounds nuw i8, ptr %20, i64 8 - store ptr %8, ptr %309, align 8 - %310 = getelementptr inbounds nuw i8, ptr %20, i64 16 - store ptr %9, ptr %310, align 16 - %311 = getelementptr inbounds nuw i8, ptr %20, i64 24 - store ptr %10, ptr %311, align 8 - %312 = getelementptr inbounds nuw i8, ptr %20, i64 32 - store ptr %11, ptr %312, align 16 - %313 = getelementptr inbounds nuw i8, ptr %20, i64 40 - store ptr %12, ptr %313, align 8 - %314 = getelementptr inbounds nuw i8, ptr %20, i64 48 - store ptr %13, ptr %314, align 16 - %315 = getelementptr inbounds nuw i8, ptr %20, i64 56 - store ptr %14, ptr %315, align 8 - %316 = getelementptr inbounds nuw i8, ptr %20, i64 64 - store ptr %15, ptr %316, align 16 - %317 = getelementptr inbounds nuw i8, ptr %20, i64 72 - store ptr %16, ptr %317, align 8 - %318 = getelementptr inbounds nuw i8, ptr %20, i64 80 - store ptr %17, ptr %318, align 16 - %319 = getelementptr inbounds nuw i8, ptr %20, i64 88 - store ptr %18, ptr %319, align 8 - %320 = getelementptr inbounds nuw i8, ptr %20, i64 96 - store ptr %19, ptr %320, align 16 - %321 = call ptr @_zend_new_array_0() #16 - store ptr %321, ptr %2, align 8 - %322 = getelementptr inbounds nuw i8, ptr %2, i64 8 - store i32 775, ptr %322, align 8 - %323 = load i64, ptr %.0, align 8 - store i64 %323, ptr %7, align 8 - %324 = getelementptr inbounds nuw i8, ptr %7, i64 8 - store i32 4, ptr %324, align 8 - %325 = load i64, ptr %.0.sroa.phi836, align 8 - store i64 %325, ptr %8, align 8 - %326 = getelementptr inbounds nuw i8, ptr %8, i64 8 - store i32 4, ptr %326, align 8 - %327 = load i32, ptr %.0.sroa.phi839, align 8 - %328 = zext i32 %327 to i64 - store i64 %328, ptr %9, align 8 - %329 = getelementptr inbounds nuw i8, ptr %9, i64 8 - store i32 4, ptr %329, align 8 - %330 = load i64, ptr %.0.sroa.phi842, align 8 - store i64 %330, ptr %10, align 8 - %331 = getelementptr inbounds nuw i8, ptr %10, i64 8 - store i32 4, ptr %331, align 8 - %332 = load i32, ptr %.0.sroa.phi, align 4 - %333 = zext i32 %332 to i64 - store i64 %333, ptr %11, align 8 - %334 = getelementptr inbounds nuw i8, ptr %11, i64 8 - store i32 4, ptr %334, align 8 - %335 = load i32, ptr %.0.sroa.phi833, align 8 - %336 = zext i32 %335 to i64 - store i64 %336, ptr %12, align 8 - %337 = getelementptr inbounds nuw i8, ptr %12, i64 8 - store i32 4, ptr %337, align 8 - %338 = load i64, ptr %.0.sroa.phi851, align 8 - store i64 %338, ptr %13, align 8 - %339 = getelementptr inbounds nuw i8, ptr %13, i64 8 - store i32 4, ptr %339, align 8 - %340 = load i64, ptr %.0.sroa.phi854, align 8 - store i64 %340, ptr %14, align 8 - %341 = getelementptr inbounds nuw i8, ptr %14, i64 8 - store i32 4, ptr %341, align 8 - %342 = load i64, ptr %.0.sroa.phi857, align 8 - store i64 %342, ptr %15, align 8 - %343 = getelementptr inbounds nuw i8, ptr %15, i64 8 - store i32 4, ptr %343, align 8 - %344 = load i64, ptr %.0.sroa.phi860, align 8 - store i64 %344, ptr %16, align 8 - %345 = getelementptr inbounds nuw i8, ptr %16, i64 8 - store i32 4, ptr %345, align 8 - %346 = load i64, ptr %.0.sroa.phi863, align 8 - store i64 %346, ptr %17, align 8 - %347 = getelementptr inbounds nuw i8, ptr %17, i64 8 - store i32 4, ptr %347, align 8 - %348 = load i64, ptr %.0.sroa.phi866, align 8 - store i64 %348, ptr %18, align 8 - %349 = getelementptr inbounds nuw i8, ptr %18, i64 8 - store i32 4, ptr %349, align 8 - %350 = load i64, ptr %.0.sroa.phi869, align 8 - store i64 %350, ptr %19, align 8 - %351 = getelementptr inbounds nuw i8, ptr %19, i64 8 - store i32 4, ptr %351, align 8 - br label %352 - -352: ; preds = %308, %352 - %.0778947 = phi i64 [ 0, %308 ], [ %357, %352 ] - %353 = load ptr, ptr %2, align 8 - %354 = getelementptr inbounds nuw [13 x ptr], ptr %20, i64 0, i64 %.0778947 - %355 = load ptr, ptr %354, align 8 - %356 = call ptr @zend_hash_next_index_insert(ptr noundef %353, ptr noundef %355) #16 - %357 = add nuw nsw i64 %.0778947, 1 - %exitcond950.not = icmp eq i64 %357, 13 - br i1 %exitcond950.not, label %.preheader, label %352 - -.preheader: ; preds = %352, %.preheader - %.1779948 = phi i64 [ %365, %.preheader ], [ 0, %352 ] - %358 = load ptr, ptr %2, align 8 - %359 = getelementptr inbounds nuw [13 x ptr], ptr @__const.php_stat.stat_sb_names, i64 0, i64 %.1779948 - %360 = load ptr, ptr %359, align 8 - %361 = call i64 @strlen(ptr noundef nonnull dereferenceable(1) %360) #17 - %362 = getelementptr inbounds nuw [13 x ptr], ptr %20, i64 0, i64 %.1779948 - %363 = load ptr, ptr %362, align 8 - %364 = call ptr @zend_hash_str_add_new(ptr noundef %358, ptr noundef nonnull %360, i64 noundef %361, ptr noundef %363) #16 - %365 = add nuw nsw i64 %.1779948, 1 - %exitcond951.not = icmp eq i64 %365, 13 - br i1 %exitcond951.not, label %.loopexit, label %.preheader - -366: ; preds = %.thread933 + %308 = getelementptr inbounds nuw i8, ptr %20, i64 8 + store ptr %8, ptr %308, align 8 + %309 = getelementptr inbounds nuw i8, ptr %20, i64 16 + store ptr %9, ptr %309, align 16 + %310 = getelementptr inbounds nuw i8, ptr %20, i64 24 + store ptr %10, ptr %310, align 8 + %311 = getelementptr inbounds nuw i8, ptr %20, i64 32 + store ptr %11, ptr %311, align 16 + %312 = getelementptr inbounds nuw i8, ptr %20, i64 40 + store ptr %12, ptr %312, align 8 + %313 = getelementptr inbounds nuw i8, ptr %20, i64 48 + store ptr %13, ptr %313, align 16 + %314 = getelementptr inbounds nuw i8, ptr %20, i64 56 + store ptr %14, ptr %314, align 8 + %315 = getelementptr inbounds nuw i8, ptr %20, i64 64 + store ptr %15, ptr %315, align 16 + %316 = getelementptr inbounds nuw i8, ptr %20, i64 72 + store ptr %16, ptr %316, align 8 + %317 = getelementptr inbounds nuw i8, ptr %20, i64 80 + store ptr %17, ptr %317, align 16 + %318 = getelementptr inbounds nuw i8, ptr %20, i64 88 + store ptr %18, ptr %318, align 8 + %319 = getelementptr inbounds nuw i8, ptr %20, i64 96 + store ptr %19, ptr %319, align 16 + %320 = call ptr @_zend_new_array_0() #16 + store ptr %320, ptr %2, align 8 + %321 = getelementptr inbounds nuw i8, ptr %2, i64 8 + store i32 775, ptr %321, align 8 + %322 = load i64, ptr %.0, align 8 + store i64 %322, ptr %7, align 8 + %323 = getelementptr inbounds nuw i8, ptr %7, i64 8 + store i32 4, ptr %323, align 8 + %324 = load i64, ptr %.0.sroa.phi836, align 8 + store i64 %324, ptr %8, align 8 + %325 = getelementptr inbounds nuw i8, ptr %8, i64 8 + store i32 4, ptr %325, align 8 + %326 = load i32, ptr %.0.sroa.phi839, align 8 + %327 = zext i32 %326 to i64 + store i64 %327, ptr %9, align 8 + %328 = getelementptr inbounds nuw i8, ptr %9, i64 8 + store i32 4, ptr %328, align 8 + %329 = load i64, ptr %.0.sroa.phi842, align 8 + store i64 %329, ptr %10, align 8 + %330 = getelementptr inbounds nuw i8, ptr %10, i64 8 + store i32 4, ptr %330, align 8 + %331 = load i32, ptr %.0.sroa.phi, align 4 + %332 = zext i32 %331 to i64 + store i64 %332, ptr %11, align 8 + %333 = getelementptr inbounds nuw i8, ptr %11, i64 8 + store i32 4, ptr %333, align 8 + %334 = load i32, ptr %.0.sroa.phi833, align 8 + %335 = zext i32 %334 to i64 + store i64 %335, ptr %12, align 8 + %336 = getelementptr inbounds nuw i8, ptr %12, i64 8 + store i32 4, ptr %336, align 8 + %337 = load i64, ptr %.0.sroa.phi851, align 8 + store i64 %337, ptr %13, align 8 + %338 = getelementptr inbounds nuw i8, ptr %13, i64 8 + store i32 4, ptr %338, align 8 + %339 = load i64, ptr %.0.sroa.phi854, align 8 + store i64 %339, ptr %14, align 8 + %340 = getelementptr inbounds nuw i8, ptr %14, i64 8 + store i32 4, ptr %340, align 8 + %341 = load i64, ptr %.0.sroa.phi857, align 8 + store i64 %341, ptr %15, align 8 + %342 = getelementptr inbounds nuw i8, ptr %15, i64 8 + store i32 4, ptr %342, align 8 + %343 = load i64, ptr %.0.sroa.phi860, align 8 + store i64 %343, ptr %16, align 8 + %344 = getelementptr inbounds nuw i8, ptr %16, i64 8 + store i32 4, ptr %344, align 8 + %345 = load i64, ptr %.0.sroa.phi863, align 8 + store i64 %345, ptr %17, align 8 + %346 = getelementptr inbounds nuw i8, ptr %17, i64 8 + store i32 4, ptr %346, align 8 + %347 = load i64, ptr %.0.sroa.phi866, align 8 + store i64 %347, ptr %18, align 8 + %348 = getelementptr inbounds nuw i8, ptr %18, i64 8 + store i32 4, ptr %348, align 8 + %349 = load i64, ptr %.0.sroa.phi869, align 8 + store i64 %349, ptr %19, align 8 + %350 = getelementptr inbounds nuw i8, ptr %19, i64 8 + store i32 4, ptr %350, align 8 + br label %351 + +351: ; preds = %307, %351 + %.0778949 = phi i64 [ 0, %307 ], [ %356, %351 ] + %352 = load ptr, ptr %2, align 8 + %353 = getelementptr inbounds nuw [13 x ptr], ptr %20, i64 0, i64 %.0778949 + %354 = load ptr, ptr %353, align 8 + %355 = call ptr @zend_hash_next_index_insert(ptr noundef %352, ptr noundef %354) #16 + %356 = add nuw nsw i64 %.0778949, 1 + %exitcond952.not = icmp eq i64 %356, 13 + br i1 %exitcond952.not, label %.preheader, label %351 + +.preheader: ; preds = %351, %.preheader + %.1779950 = phi i64 [ %364, %.preheader ], [ 0, %351 ] + %357 = load ptr, ptr %2, align 8 + %358 = getelementptr inbounds nuw [13 x ptr], ptr @__const.php_stat.stat_sb_names, i64 0, i64 %.1779950 + %359 = load ptr, ptr %358, align 8 + %360 = call i64 @strlen(ptr noundef nonnull dereferenceable(1) %359) #17 + %361 = getelementptr inbounds nuw [13 x ptr], ptr %20, i64 0, i64 %.1779950 + %362 = load ptr, ptr %361, align 8 + %363 = call ptr @zend_hash_str_add_new(ptr noundef %357, ptr noundef nonnull %359, i64 noundef %360, ptr noundef %362) #16 + %364 = add nuw nsw i64 %.1779950, 1 + %exitcond953.not = icmp eq i64 %364, 13 + br i1 %exitcond953.not, label %.loopexit, label %.preheader + +365: ; preds = %.thread935 call void (ptr, i32, ptr, ...) @php_error_docref(ptr noundef null, i32 noundef 2, ptr noundef nonnull @.str.34) #16 br label %.loopexit.sink.split -switch.hole_check: ; preds = %102 +switch.hole_check: ; preds = %101 %switch.maskindex = trunc nuw i32 %switch.tableidx to i16 %switch.shifted = lshr i16 639, %switch.maskindex %switch.lobit = trunc i16 %switch.shifted to i1 - br i1 %switch.lobit, label %.loopexit.sink.split, label %104 + br i1 %switch.lobit, label %.loopexit.sink.split, label %103 -.loopexit.sink.split: ; preds = %switch.hole_check, %.thread933, %.thread924, %121, %119, %119, %119, %119, %119, %119, %119, %119, %108, %104, %96, %38, %29, %34, %23, %47, %51, %55, %59, %199, %202, %204, %206, %209, %212, %214, %216, %222, %232, %239, %246, %253, %260, %267, %274, %281, %285, %289, %293, %298, %303, %366 - %.sink = phi i32 [ 2, %366 ], [ %307, %303 ], [ %302, %298 ], [ %297, %293 ], [ %292, %289 ], [ %288, %285 ], [ %284, %281 ], [ 262, %274 ], [ 262, %267 ], [ %266, %260 ], [ 262, %253 ], [ 262, %246 ], [ 262, %239 ], [ 262, %232 ], [ 262, %222 ], [ 4, %216 ], [ 4, %214 ], [ 4, %212 ], [ 4, %209 ], [ 4, %206 ], [ 4, %204 ], [ 4, %202 ], [ 4, %199 ], [ %62, %59 ], [ %58, %55 ], [ %54, %51 ], [ %50, %47 ], [ 2, %23 ], [ 2, %34 ], [ 2, %29 ], [ 2, %38 ], [ 2, %96 ], [ 2, %104 ], [ 2, %108 ], [ 2, %119 ], [ 2, %119 ], [ 2, %119 ], [ 2, %119 ], [ 2, %119 ], [ 2, %119 ], [ 2, %119 ], [ 2, %119 ], [ 2, %121 ], [ 3, %.thread924 ], [ 3, %.thread933 ], [ 2, %switch.hole_check ] - %367 = getelementptr inbounds nuw i8, ptr %2, i64 8 - store i32 %.sink, ptr %367, align 8 +.loopexit.sink.split: ; preds = %switch.hole_check, %.thread935, %.thread926, %120, %118, %118, %118, %118, %118, %118, %118, %118, %107, %103, %95, %37, %29, %33, %23, %46, %50, %54, %58, %198, %201, %203, %205, %208, %211, %213, %215, %221, %231, %238, %245, %252, %259, %266, %273, %280, %284, %288, %292, %297, %302, %365 + %.sink = phi i32 [ 2, %365 ], [ %306, %302 ], [ %301, %297 ], [ %296, %292 ], [ %291, %288 ], [ %287, %284 ], [ %283, %280 ], [ 262, %273 ], [ 262, %266 ], [ %265, %259 ], [ 262, %252 ], [ 262, %245 ], [ 262, %238 ], [ 262, %231 ], [ 262, %221 ], [ 4, %215 ], [ 4, %213 ], [ 4, %211 ], [ 4, %208 ], [ 4, %205 ], [ 4, %203 ], [ 4, %201 ], [ 4, %198 ], [ %61, %58 ], [ %57, %54 ], [ %53, %50 ], [ %49, %46 ], [ 2, %23 ], [ 2, %33 ], [ 2, %29 ], [ 2, %37 ], [ 2, %95 ], [ 2, %103 ], [ 2, %107 ], [ 2, %118 ], [ 2, %118 ], [ 2, %118 ], [ 2, %118 ], [ 2, %118 ], [ 2, %118 ], [ 2, %118 ], [ 2, %118 ], [ 2, %120 ], [ 3, %.thread926 ], [ 3, %.thread935 ], [ 2, %switch.hole_check ] + %366 = getelementptr inbounds nuw i8, ptr %2, i64 8 + store i32 %.sink, ptr %366, align 8 br label %.loopexit .loopexit: ; preds = %.preheader, %.loopexit.sink.split diff --git a/bench/php/optimized/ir_emit.ll b/bench/php/optimized/ir_emit.ll index a4f63ee15b0..b5fc983aef3 100644 --- a/bench/php/optimized/ir_emit.ll +++ b/bench/php/optimized/ir_emit.ll @@ -43106,7 +43106,7 @@ define internal fastcc range(i32 0, 1073741952) i32 @ir_match_insn(ptr noundef % %4 = sext i32 %1 to i64 %5 = getelementptr inbounds %struct._ir_insn, ptr %3, i64 %4 %6 = load i8, ptr %5, align 8 - switch i8 %6, label %1866 [ + switch i8 %6, label %1867 [ i8 14, label %7 i8 15, label %7 i8 16, label %7 @@ -43147,37 +43147,37 @@ define internal fastcc range(i32 0, 1073741952) i32 @ir_match_insn(ptr noundef % i8 63, label %637 i8 71, label %644 i8 75, label %653 - i8 78, label %1044 - i8 79, label %1050 - i8 76, label %1061 - i8 77, label %1070 - i8 89, label %1158 - i8 91, label %1158 - i8 92, label %1158 - i8 93, label %1158 - i8 94, label %1158 - i8 95, label %1158 - i8 96, label %1158 - i8 97, label %1158 - i8 104, label %1158 - i8 102, label %1161 - i8 100, label %1170 - i8 86, label %1403 - i8 87, label %1403 - i8 35, label %1640 - i8 31, label %1657 - i8 32, label %1657 - i8 36, label %1657 - i8 37, label %1657 - i8 33, label %1694 - i8 38, label %1694 - i8 34, label %1732 - i8 54, label %1753 - i8 55, label %1753 - i8 53, label %1788 - i8 82, label %1795 - i8 83, label %1843 - i8 73, label %1844 + i8 78, label %1045 + i8 79, label %1051 + i8 76, label %1062 + i8 77, label %1071 + i8 89, label %1159 + i8 91, label %1159 + i8 92, label %1159 + i8 93, label %1159 + i8 94, label %1159 + i8 95, label %1159 + i8 96, label %1159 + i8 97, label %1159 + i8 104, label %1159 + i8 102, label %1162 + i8 100, label %1171 + i8 86, label %1404 + i8 87, label %1404 + i8 35, label %1641 + i8 31, label %1658 + i8 32, label %1658 + i8 36, label %1658 + i8 37, label %1658 + i8 33, label %1695 + i8 38, label %1695 + i8 34, label %1733 + i8 54, label %1754 + i8 55, label %1754 + i8 53, label %1789 + i8 82, label %1796 + i8 83, label %1844 + i8 73, label %1845 ] 7: ; preds = %2, %2, %2, %2, %2, %2, %2, %2, %2, %2 @@ -43210,8 +43210,8 @@ define internal fastcc range(i32 0, 1073741952) i32 @ir_match_insn(ptr noundef % %26 = icmp eq i64 %25, 0 %27 = add nsw i32 %1, -1 %28 = icmp eq i32 %9, %27 - %or.cond1146 = select i1 %26, i1 %28, i1 false - br i1 %or.cond1146, label %29, label %63 + %or.cond = select i1 %26, i1 %28, i1 false + br i1 %or.cond, label %29, label %63 29: ; preds = %23 %30 = load i8, ptr %11, align 8 @@ -43251,8 +43251,8 @@ define internal fastcc range(i32 0, 1073741952) i32 @ir_match_insn(ptr noundef % %46 = getelementptr inbounds nuw [106 x i32], ptr @ir_op_flags, i64 0, i64 %45 %47 = load i32, ptr %46, align 4 %48 = and i32 %47, 2048 - %.not1144 = icmp eq i32 %48, 0 - br i1 %.not1144, label %55, label %49 + %.not1145 = icmp eq i32 %48, 0 + br i1 %.not1145, label %55, label %49 49: ; preds = %.thread tail call fastcc void @ir_match_fuse_load_commutative_int(ptr noundef nonnull %0, ptr noundef nonnull %11, i32 noundef %1) @@ -43281,16 +43281,16 @@ define internal fastcc range(i32 0, 1073741952) i32 @ir_match_insn(ptr noundef % br label %ir_match_fuse_load_cmp_fp.exit 64: ; preds = %7 - switch i8 %6, label %._crit_edge1259 [ + switch i8 %6, label %._crit_edge1262 [ i8 14, label %71 i8 15, label %71 i8 16, label %65 i8 18, label %65 ] -._crit_edge1259: ; preds = %64 - %.phi.trans.insert1260 = getelementptr inbounds nuw i8, ptr %5, i64 8 - %.pre1261 = load i32, ptr %.phi.trans.insert1260, align 8 +._crit_edge1262: ; preds = %64 + %.phi.trans.insert1263 = getelementptr inbounds nuw i8, ptr %5, i64 8 + %.pre1264 = load i32, ptr %.phi.trans.insert1263, align 8 br label %69 65: ; preds = %64, %64 @@ -43302,8 +43302,8 @@ define internal fastcc range(i32 0, 1073741952) i32 @ir_match_insn(ptr noundef % store i8 %68, ptr %5, align 8 br label %69 -69: ; preds = %._crit_edge1259, %65 - %70 = phi i32 [ %.pre1261, %._crit_edge1259 ], [ %9, %65 ] +69: ; preds = %._crit_edge1262, %65 + %70 = phi i32 [ %.pre1264, %._crit_edge1262 ], [ %9, %65 ] tail call fastcc void @ir_match_fuse_load(ptr noundef nonnull %0, i32 noundef %70, i32 noundef %1) br label %ir_match_fuse_load_cmp_fp.exit @@ -43363,14 +43363,14 @@ define internal fastcc range(i32 0, 1073741952) i32 @ir_match_insn(ptr noundef % 107: ; preds = %104, %101, %90 %108 = tail call fastcc zeroext i1 @ir_match_try_fuse_load(ptr noundef nonnull %0, i32 noundef %91, i32 noundef %1) - br i1 %108, label %._crit_edge1257, label %ir_match_fuse_load_cmp_fp.exit + br i1 %108, label %._crit_edge1260, label %ir_match_fuse_load_cmp_fp.exit -._crit_edge1257: ; preds = %107 - %.pre1258 = load i32, ptr %8, align 4 +._crit_edge1260: ; preds = %107 + %.pre1261 = load i32, ptr %8, align 4 br label %109 -109: ; preds = %._crit_edge1257, %104, %101 - %110 = phi i32 [ %.pre1258, %._crit_edge1257 ], [ %91, %104 ], [ %91, %101 ] +109: ; preds = %._crit_edge1260, %104, %101 + %110 = phi i32 [ %.pre1261, %._crit_edge1260 ], [ %91, %104 ], [ %91, %101 ] %111 = load i32, ptr %72, align 8 store i32 %111, ptr %8, align 4 store i32 %110, ptr %72, align 8 @@ -43394,8 +43394,8 @@ define internal fastcc range(i32 0, 1073741952) i32 @ir_match_insn(ptr noundef % %121 = getelementptr inbounds nuw i8, ptr %0, i64 24 %122 = load i32, ptr %121, align 8 %123 = and i32 %122, 524288 - %.not1135 = icmp eq i32 %123, 0 - br i1 %.not1135, label %.thread1218, label %124 + %.not1136 = icmp eq i32 %123, 0 + br i1 %.not1136, label %.thread1218, label %124 124: ; preds = %120 %125 = getelementptr inbounds nuw i8, ptr %5, i64 8 @@ -43423,14 +43423,14 @@ define internal fastcc range(i32 0, 1073741952) i32 @ir_match_insn(ptr noundef % 138: ; preds = %136 %139 = tail call fastcc zeroext i1 @ir_may_fuse_addr(ptr noundef nonnull %0, ptr noundef nonnull %130) - br i1 %139, label %._crit_edge1252, label %..thread1218_crit_edge + br i1 %139, label %._crit_edge1255, label %..thread1218_crit_edge ..thread1218_crit_edge: ; preds = %138 - %.pre1254 = load i8, ptr %5, align 8 + %.pre1257 = load i8, ptr %5, align 8 br label %.thread1218 -._crit_edge1252: ; preds = %138 - %.pre1253 = load i32, ptr %131, align 4 +._crit_edge1255: ; preds = %138 + %.pre1256 = load i32, ptr %131, align 4 br label %156 140: ; preds = %134 @@ -43457,11 +43457,11 @@ define internal fastcc range(i32 0, 1073741952) i32 @ir_match_insn(ptr noundef % %154 = icmp eq i8 %6, 25 %155 = add i64 %142, 2147483647 %or.cond1149 = icmp ult i64 %155, 4294967295 - %or.cond = and i1 %154, %or.cond1149 - br i1 %or.cond, label %156, label %195 + %or.cond1236 = and i1 %154, %or.cond1149 + br i1 %or.cond1236, label %156, label %195 -156: ; preds = %._crit_edge1252, %153, %149 - %157 = phi i32 [ %.pre1253, %._crit_edge1252 ], [ %132, %153 ], [ %132, %149 ] +156: ; preds = %._crit_edge1255, %153, %149 + %157 = phi i32 [ %.pre1256, %._crit_edge1255 ], [ %132, %153 ], [ %132, %149 ] %158 = getelementptr inbounds nuw i8, ptr %0, i64 248 %159 = load i32, ptr %158, align 8 %160 = icmp sgt i32 %157, %159 @@ -43481,8 +43481,8 @@ define internal fastcc range(i32 0, 1073741952) i32 @ir_match_insn(ptr noundef % %170 = load ptr, ptr %169, align 8 %171 = getelementptr inbounds i32, ptr %170, i64 %164 %172 = load i32, ptr %171, align 4 - %.not1142 = icmp eq i32 %172, 0 - br i1 %.not1142, label %173, label %179 + %.not1143 = icmp eq i32 %172, 0 + br i1 %.not1143, label %173, label %179 173: ; preds = %168 %174 = tail call fastcc i32 @ir_match_insn(ptr noundef nonnull %0, i32 noundef %157) @@ -43558,8 +43558,8 @@ define internal fastcc range(i32 0, 1073741952) i32 @ir_match_insn(ptr noundef % 208: ; preds = %203 %209 = getelementptr inbounds nuw i8, ptr %5, i64 4 %210 = load i32, ptr %209, align 4 - %.not1137 = icmp eq i32 %210, %126 - br i1 %.not1137, label %ir_match_fuse_load_cmp_fp.exit, label %211 + %.not1138 = icmp eq i32 %210, %126 + br i1 %.not1138, label %ir_match_fuse_load_cmp_fp.exit, label %211 211: ; preds = %208 %212 = getelementptr inbounds nuw i8, ptr %0, i64 248 @@ -43581,8 +43581,8 @@ define internal fastcc range(i32 0, 1073741952) i32 @ir_match_insn(ptr noundef % %224 = load ptr, ptr %223, align 8 %225 = getelementptr inbounds i32, ptr %224, i64 %218 %226 = load i32, ptr %225, align 4 - %.not1138 = icmp eq i32 %226, 0 - br i1 %.not1138, label %227, label %233 + %.not1139 = icmp eq i32 %226, 0 + br i1 %.not1139, label %227, label %233 227: ; preds = %222 %228 = tail call fastcc i32 @ir_match_insn(ptr noundef nonnull %0, i32 noundef %210) @@ -43595,14 +43595,14 @@ define internal fastcc range(i32 0, 1073741952) i32 @ir_match_insn(ptr noundef % 233: ; preds = %227, %222 %.0999 = phi i32 [ %226, %222 ], [ %228, %227 ] - switch i32 %.0999, label %._crit_edge1249 [ + switch i32 %.0999, label %._crit_edge1252 [ i32 115, label %234 i32 116, label %265 ] -._crit_edge1249: ; preds = %233 - %.pre1250 = load i32, ptr %125, align 8 - %.pre1251 = load i32, ptr %212, align 8 +._crit_edge1252: ; preds = %233 + %.pre1253 = load i32, ptr %125, align 8 + %.pre1254 = load i32, ptr %212, align 8 br label %296 234: ; preds = %233 @@ -43628,8 +43628,8 @@ define internal fastcc range(i32 0, 1073741952) i32 @ir_match_insn(ptr noundef % %249 = load ptr, ptr %223, align 8 %250 = getelementptr inbounds i32, ptr %249, i64 %244 %251 = load i32, ptr %250, align 4 - %.not1141 = icmp eq i32 %251, 0 - br i1 %.not1141, label %252, label %258 + %.not1142 = icmp eq i32 %251, 0 + br i1 %.not1142, label %252, label %258 252: ; preds = %248 %253 = tail call fastcc i32 @ir_match_insn(ptr noundef nonnull %0, i32 noundef %239) @@ -43676,8 +43676,8 @@ define internal fastcc range(i32 0, 1073741952) i32 @ir_match_insn(ptr noundef % %280 = load ptr, ptr %223, align 8 %281 = getelementptr inbounds i32, ptr %280, i64 %275 %282 = load i32, ptr %281, align 4 - %.not1140 = icmp eq i32 %282, 0 - br i1 %.not1140, label %283, label %289 + %.not1141 = icmp eq i32 %282, 0 + br i1 %.not1141, label %283, label %289 283: ; preds = %279 %284 = tail call fastcc i32 @ir_match_insn(ptr noundef nonnull %0, i32 noundef %270) @@ -43701,9 +43701,9 @@ define internal fastcc range(i32 0, 1073741952) i32 @ir_match_insn(ptr noundef % store i32 -1610612621, ptr %295, align 4 br label %ir_match_fuse_load_cmp_fp.exit -296: ; preds = %._crit_edge1249, %215, %211 - %297 = phi i32 [ %.pre1251, %._crit_edge1249 ], [ %213, %215 ], [ %213, %211 ] - %298 = phi i32 [ %.pre1250, %._crit_edge1249 ], [ %126, %215 ], [ %126, %211 ] +296: ; preds = %._crit_edge1252, %215, %211 + %297 = phi i32 [ %.pre1254, %._crit_edge1252 ], [ %213, %215 ], [ %213, %211 ] + %298 = phi i32 [ %.pre1253, %._crit_edge1252 ], [ %126, %215 ], [ %126, %211 ] %299 = icmp sgt i32 %298, %297 br i1 %299, label %300, label %ir_match_fuse_load_cmp_fp.exit @@ -43721,8 +43721,8 @@ define internal fastcc range(i32 0, 1073741952) i32 @ir_match_insn(ptr noundef % %309 = load ptr, ptr %308, align 8 %310 = getelementptr inbounds i32, ptr %309, i64 %303 %311 = load i32, ptr %310, align 4 - %.not1139 = icmp eq i32 %311, 0 - br i1 %.not1139, label %312, label %318 + %.not1140 = icmp eq i32 %311, 0 + br i1 %.not1140, label %312, label %318 312: ; preds = %307 %313 = tail call fastcc i32 @ir_match_insn(ptr noundef nonnull %0, i32 noundef %298) @@ -43757,15 +43757,15 @@ define internal fastcc range(i32 0, 1073741952) i32 @ir_match_insn(ptr noundef % br label %ir_match_fuse_load_cmp_fp.exit .thread1218: ; preds = %..thread1218_crit_edge, %120, %2, %2, %2, %507, %195, %499, %503, %515, %511, %2, %2, %484, %136, %140, %128, %203, %201 - %329 = phi i8 [ %.pre1254, %..thread1218_crit_edge ], [ %6, %120 ], [ %6, %2 ], [ %6, %2 ], [ %6, %2 ], [ 41, %507 ], [ %6, %195 ], [ 41, %499 ], [ 41, %503 ], [ 41, %515 ], [ 41, %511 ], [ %6, %2 ], [ %6, %2 ], [ 26, %484 ], [ 25, %136 ], [ %6, %140 ], [ %6, %128 ], [ 24, %203 ], [ 25, %201 ] + %329 = phi i8 [ %.pre1257, %..thread1218_crit_edge ], [ %6, %120 ], [ %6, %2 ], [ %6, %2 ], [ %6, %2 ], [ 41, %507 ], [ %6, %195 ], [ 41, %499 ], [ 41, %503 ], [ 41, %515 ], [ 41, %511 ], [ %6, %2 ], [ %6, %2 ], [ 26, %484 ], [ 25, %136 ], [ %6, %140 ], [ %6, %128 ], [ 24, %203 ], [ 25, %201 ] %330 = zext i8 %329 to i64 %331 = getelementptr inbounds nuw [106 x i32], ptr @ir_op_flags, i64 0, i64 %330 %332 = load i32, ptr %331, align 4 %333 = and i32 %332, 2048 - %.not1143 = icmp eq i32 %333, 0 + %.not1144 = icmp eq i32 %333, 0 %334 = getelementptr inbounds nuw i8, ptr %5, i64 8 %335 = load i32, ptr %334, align 8 - br i1 %.not1143, label %353, label %336 + br i1 %.not1144, label %353, label %336 336: ; preds = %.thread1218 %337 = icmp slt i32 %335, 0 @@ -43776,14 +43776,14 @@ define internal fastcc range(i32 0, 1073741952) i32 @ir_match_insn(ptr noundef % %340 = sext i32 %335 to i64 %341 = getelementptr inbounds %struct._ir_insn, ptr %339, i64 %340 %342 = tail call fastcc zeroext i1 @ir_may_fuse_imm(ptr noundef nonnull %0, ptr noundef nonnull %341) - br i1 %342, label %ir_match_fuse_load_cmp_fp.exit, label %._crit_edge1255 + br i1 %342, label %ir_match_fuse_load_cmp_fp.exit, label %._crit_edge1258 -._crit_edge1255: ; preds = %338 - %.pre1256 = load i32, ptr %334, align 8 +._crit_edge1258: ; preds = %338 + %.pre1259 = load i32, ptr %334, align 8 br label %343 -343: ; preds = %._crit_edge1255, %336 - %344 = phi i32 [ %.pre1256, %._crit_edge1255 ], [ %335, %336 ] +343: ; preds = %._crit_edge1258, %336 + %344 = phi i32 [ %.pre1259, %._crit_edge1258 ], [ %335, %336 ] %345 = tail call fastcc zeroext i1 @ir_match_try_fuse_load(ptr noundef nonnull %0, i32 noundef %344, i32 noundef %1) br i1 %345, label %ir_match_fuse_load_cmp_fp.exit, label %346 @@ -43858,10 +43858,10 @@ define internal fastcc range(i32 0, 1073741952) i32 @ir_match_insn(ptr noundef % %389 = getelementptr inbounds nuw [106 x i32], ptr @ir_op_flags, i64 0, i64 %388 %390 = load i32, ptr %389, align 4 %391 = and i32 %390, 2048 - %.not1132 = icmp eq i32 %391, 0 + %.not1133 = icmp eq i32 %391, 0 %392 = getelementptr inbounds nuw i8, ptr %5, i64 8 %393 = load i32, ptr %392, align 8 - br i1 %.not1132, label %410, label %394 + br i1 %.not1133, label %410, label %394 394: ; preds = %387 %395 = icmp slt i32 %393, 0 @@ -43879,14 +43879,14 @@ define internal fastcc range(i32 0, 1073741952) i32 @ir_match_insn(ptr noundef % 402: ; preds = %398 %403 = tail call fastcc zeroext i1 @ir_match_try_fuse_load(ptr noundef nonnull %0, i32 noundef %400, i32 noundef %1) - br i1 %403, label %._crit_edge1247, label %ir_match_fuse_load_commutative_fp.exit + br i1 %403, label %._crit_edge1250, label %ir_match_fuse_load_commutative_fp.exit -._crit_edge1247: ; preds = %402 - %.pre1248 = load i32, ptr %399, align 4 +._crit_edge1250: ; preds = %402 + %.pre1251 = load i32, ptr %399, align 4 br label %404 -404: ; preds = %._crit_edge1247, %398 - %405 = phi i32 [ %.pre1248, %._crit_edge1247 ], [ %400, %398 ] +404: ; preds = %._crit_edge1250, %398 + %405 = phi i32 [ %.pre1251, %._crit_edge1250 ], [ %400, %398 ] %406 = load i32, ptr %392, align 8 store i32 %406, ptr %399, align 4 store i32 %405, ptr %392, align 8 @@ -43896,8 +43896,8 @@ ir_match_fuse_load_commutative_fp.exit: ; preds = %394, %396, %402, %4 %407 = getelementptr inbounds nuw i8, ptr %0, i64 36 %408 = load i32, ptr %407, align 4 %409 = and i32 %408, 32 - %.not1134 = icmp eq i32 %409, 0 - %.1151 = select i1 %.not1134, i32 134217869, i32 142 + %.not1135 = icmp eq i32 %409, 0 + %.1151 = select i1 %.not1135, i32 134217869, i32 142 br label %ir_match_fuse_load_cmp_fp.exit 410: ; preds = %387 @@ -43956,8 +43956,8 @@ ir_match_fuse_load.exit1211: ; preds = %410, %414, %419, %4 %443 = getelementptr inbounds nuw i8, ptr %0, i64 36 %444 = load i32, ptr %443, align 4 %445 = and i32 %444, 32 - %.not1133 = icmp eq i32 %445, 0 - %.1152 = select i1 %.not1133, i32 141, i32 142 + %.not1134 = icmp eq i32 %445, 0 + %.1152 = select i1 %.not1134, i32 141, i32 142 br label %ir_match_fuse_load_cmp_fp.exit 446: ; preds = %2 @@ -43970,8 +43970,8 @@ ir_match_fuse_load.exit1211: ; preds = %410, %414, %419, %4 %451 = getelementptr inbounds nuw i8, ptr %0, i64 24 %452 = load i32, ptr %451, align 8 %453 = and i32 %452, 524288 - %.not1128 = icmp eq i32 %453, 0 - br i1 %.not1128, label %484, label %454 + %.not1129 = icmp eq i32 %453, 0 + br i1 %.not1129, label %484, label %454 454: ; preds = %450 %455 = getelementptr inbounds nuw i8, ptr %5, i64 8 @@ -44013,18 +44013,18 @@ ir_match_fuse_load.exit1211: ; preds = %410, %414, %419, %4 476: ; preds = %switch.hole_check, %474, %469 %477 = tail call range(i64 1, 65) i64 @llvm.ctpop.i64(i64 %468) - %.not1129 = icmp samesign ult i64 %477, 2 - br i1 %.not1129, label %ir_match_fuse_load_cmp_fp.exit, label %478 + %.not1130 = icmp samesign ult i64 %477, 2 + br i1 %.not1130, label %ir_match_fuse_load_cmp_fp.exit, label %478 478: ; preds = %476 %479 = icmp samesign ugt i8 %448, 6 br i1 %479, label %480, label %484 480: ; preds = %478 - %.not1130 = icmp ne i8 %472, 1 + %.not1131 = icmp ne i8 %472, 1 %481 = add i64 %468, 2147483648 %482 = icmp ult i64 %481, 4294967296 - %or.cond1155 = and i1 %482, %.not1130 + %or.cond1155 = and i1 %482, %.not1131 br i1 %or.cond1155, label %483, label %484 483: ; preds = %480 @@ -44035,8 +44035,8 @@ ir_match_fuse_load.exit1211: ; preds = %410, %414, %419, %4 %485 = zext nneg i8 %448 to i64 %486 = getelementptr inbounds nuw [14 x i8], ptr @ir_type_size, i64 0, i64 %485 %487 = load i8, ptr %486, align 1 - %.not1131 = icmp eq i8 %487, 1 - br i1 %.not1131, label %488, label %.thread1218 + %.not1132 = icmp eq i8 %487, 1 + br i1 %.not1132, label %488, label %.thread1218 488: ; preds = %484 %489 = getelementptr inbounds nuw i8, ptr %5, i64 8 @@ -44055,15 +44055,15 @@ ir_match_fuse_load.exit1211: ; preds = %410, %414, %419, %4 %496 = zext nneg i8 %493 to i64 %497 = getelementptr inbounds nuw [14 x i8], ptr @ir_type_size, i64 0, i64 %496 %498 = load i8, ptr %497, align 1 - %.not1126 = icmp eq i8 %498, 1 - br i1 %.not1126, label %520, label %499 + %.not1127 = icmp eq i8 %498, 1 + br i1 %.not1127, label %520, label %499 499: ; preds = %495 %500 = getelementptr inbounds nuw i8, ptr %0, i64 24 %501 = load i32, ptr %500, align 8 %502 = and i32 %501, 524288 - %.not1127 = icmp eq i32 %502, 0 - br i1 %.not1127, label %.thread1218, label %503 + %.not1128 = icmp eq i32 %502, 0 + br i1 %.not1128, label %.thread1218, label %503 503: ; preds = %499 %504 = getelementptr inbounds nuw i8, ptr %5, i64 8 @@ -44112,76 +44112,76 @@ ir_match_fuse_load.exit1211: ; preds = %410, %414, %419, %4 %528 = getelementptr inbounds nuw i8, ptr %0, i64 24 %529 = load i32, ptr %528, align 8 %530 = and i32 %529, 524288 - %.not1124 = icmp ne i32 %530, 0 - %.phi.trans.insert1245 = getelementptr inbounds nuw i8, ptr %5, i64 8 - %.pre1246 = load i32, ptr %.phi.trans.insert1245, align 8 - %531 = icmp slt i32 %.pre1246, 0 - %or.cond1267 = select i1 %.not1124, i1 %531, i1 false - br i1 %or.cond1267, label %532, label %._crit_edge1244 + %.not1125 = icmp ne i32 %530, 0 + %.phi.trans.insert1248 = getelementptr inbounds nuw i8, ptr %5, i64 8 + %.pre1249 = load i32, ptr %.phi.trans.insert1248, align 8 + %531 = icmp slt i32 %.pre1249, 0 + %or.cond1270 = select i1 %.not1125, i1 %531, i1 false + br i1 %or.cond1270, label %532, label %._crit_edge1247 532: ; preds = %527 - %533 = sext i32 %.pre1246 to i64 + %533 = sext i32 %.pre1249 to i64 %534 = getelementptr inbounds %struct._ir_insn, ptr %3, i64 %533 %535 = load i8, ptr %534, align 8 %.off1186 = add i8 %535, -66 %switch1187 = icmp ult i8 %.off1186, 3 - br i1 %switch1187, label %._crit_edge1244, label %536 + br i1 %switch1187, label %._crit_edge1247, label %536 536: ; preds = %532 %537 = getelementptr inbounds nuw i8, ptr %5, i64 4 %538 = load i32, ptr %537, align 4 %539 = icmp slt i32 %538, 0 - br i1 %539, label %._crit_edge1244, label %540 + br i1 %539, label %._crit_edge1247, label %540 540: ; preds = %536 %541 = getelementptr inbounds nuw i8, ptr %534, i64 8 %542 = load i64, ptr %541, align 8 %543 = icmp ne i64 %542, 1 %544 = tail call range(i64 0, 65) i64 @llvm.ctpop.i64(i64 %542) - %.not1125 = icmp samesign ult i64 %544, 2 - %or.cond1158 = select i1 %543, i1 %.not1125, i1 false - br i1 %or.cond1158, label %545, label %._crit_edge1244 + %.not1126 = icmp samesign ult i64 %544, 2 + %or.cond1158 = select i1 %543, i1 %.not1126, i1 false + br i1 %or.cond1158, label %545, label %._crit_edge1247 545: ; preds = %540 %546 = icmp samesign ult i8 %525, 7 %.1159 = select i1 %546, i32 131, i32 133 br label %ir_match_fuse_load_cmp_fp.exit -._crit_edge1244: ; preds = %527, %532, %540, %536 - tail call fastcc void @ir_match_fuse_load(ptr noundef nonnull %0, i32 noundef %.pre1246, i32 noundef %1) +._crit_edge1247: ; preds = %527, %532, %540, %536 + tail call fastcc void @ir_match_fuse_load(ptr noundef nonnull %0, i32 noundef %.pre1249, i32 noundef %1) br label %ir_match_fuse_load_cmp_fp.exit 547: ; preds = %2 %548 = getelementptr inbounds nuw i8, ptr %0, i64 24 %549 = load i32, ptr %548, align 8 %550 = and i32 %549, 524288 - %.not1122 = icmp ne i32 %550, 0 - %.phi.trans.insert1242 = getelementptr inbounds nuw i8, ptr %5, i64 8 - %.pre1243 = load i32, ptr %.phi.trans.insert1242, align 8 - %551 = icmp slt i32 %.pre1243, 0 - %or.cond1268 = select i1 %.not1122, i1 %551, i1 false - br i1 %or.cond1268, label %552, label %._crit_edge1241 + %.not1123 = icmp ne i32 %550, 0 + %.phi.trans.insert1245 = getelementptr inbounds nuw i8, ptr %5, i64 8 + %.pre1246 = load i32, ptr %.phi.trans.insert1245, align 8 + %551 = icmp slt i32 %.pre1246, 0 + %or.cond1271 = select i1 %.not1123, i1 %551, i1 false + br i1 %or.cond1271, label %552, label %._crit_edge1244 552: ; preds = %547 - %553 = sext i32 %.pre1243 to i64 + %553 = sext i32 %.pre1246 to i64 %554 = getelementptr inbounds %struct._ir_insn, ptr %3, i64 %553 %555 = load i8, ptr %554, align 8 %.off1188 = add i8 %555, -66 %switch1189 = icmp ult i8 %.off1188, 3 - br i1 %switch1189, label %._crit_edge1241, label %556 + br i1 %switch1189, label %._crit_edge1244, label %556 556: ; preds = %552 %557 = getelementptr inbounds nuw i8, ptr %5, i64 4 %558 = load i32, ptr %557, align 4 %559 = icmp slt i32 %558, 0 - br i1 %559, label %._crit_edge1241, label %560 + br i1 %559, label %._crit_edge1244, label %560 560: ; preds = %556 %561 = getelementptr inbounds nuw i8, ptr %554, i64 8 %562 = load i64, ptr %561, align 8 %563 = tail call range(i64 0, 65) i64 @llvm.ctpop.i64(i64 %562) - %.not1123 = icmp samesign ult i64 %563, 2 - br i1 %.not1123, label %564, label %._crit_edge1241 + %.not1124 = icmp samesign ult i64 %563, 2 + br i1 %.not1124, label %564, label %._crit_edge1244 564: ; preds = %560 %565 = getelementptr inbounds nuw i8, ptr %5, i64 1 @@ -44190,8 +44190,8 @@ ir_match_fuse_load.exit1211: ; preds = %410, %414, %419, %4 %.1160 = select i1 %567, i32 132, i32 134 br label %ir_match_fuse_load_cmp_fp.exit -._crit_edge1241: ; preds = %547, %552, %560, %556 - tail call fastcc void @ir_match_fuse_load(ptr noundef nonnull %0, i32 noundef %.pre1243, i32 noundef %1) +._crit_edge1244: ; preds = %547, %552, %560, %556 + tail call fastcc void @ir_match_fuse_load(ptr noundef nonnull %0, i32 noundef %.pre1246, i32 noundef %1) br label %ir_match_fuse_load_cmp_fp.exit 568: ; preds = %2, %2 @@ -44321,8 +44321,8 @@ ir_match_fuse_load.exit1212: ; preds = %600, %606, %611, %6 %645 = getelementptr inbounds nuw i8, ptr %0, i64 24 %646 = load i32, ptr %645, align 8 %647 = and i32 %646, 1 - %.not1116 = icmp eq i32 %647, 0 - br i1 %.not1116, label %ir_match_fuse_load_cmp_fp.exit, label %648 + %.not1117 = icmp eq i32 %647, 0 + br i1 %.not1117, label %ir_match_fuse_load_cmp_fp.exit, label %648 648: ; preds = %644 %649 = or i32 %646, 512 @@ -44343,11 +44343,11 @@ ir_match_fuse_load.exit1212: ; preds = %600, %606, %611, %6 %660 = icmp ult i8 %659, 12 br i1 %660, label %661, label %ir_match_fuse_load_cmp_fp.exit -661: ; preds = %1050, %653 - %662 = phi ptr [ %3, %653 ], [ %1053, %1050 ] - %663 = phi i32 [ %655, %653 ], [ %1055, %1050 ] - %.0997 = phi i32 [ 74, %653 ], [ 78, %1050 ] - %.0996 = phi i32 [ 168, %653 ], [ 172, %1050 ] +661: ; preds = %1051, %653 + %662 = phi ptr [ %3, %653 ], [ %1054, %1051 ] + %663 = phi i32 [ %655, %653 ], [ %1056, %1051 ] + %.0997 = phi i32 [ 74, %653 ], [ 78, %1051 ] + %.0996 = phi i32 [ 168, %653 ], [ 172, %1051 ] %664 = getelementptr inbounds nuw i8, ptr %0, i64 24 %665 = load i32, ptr %664, align 8 %666 = and i32 %665, 524288 @@ -44406,31 +44406,24 @@ ir_match_fuse_load.exit1212: ; preds = %600, %606, %611, %6 697: ; preds = %694 %698 = load i8, ptr %683, align 8 - %.fr = freeze i8 %698 - %.not1233 = icmp eq i8 %.fr, 26 - br i1 %.not1233, label %switch.early.test, label %700 - -switch.early.test: ; preds = %697 - switch i32 %.01001, label %ir_match_fuse_load_cmp_fp.exit [ - i32 144, label %978 - i32 143, label %945 - ] + %.not1114.not = icmp eq i8 %698, 26 + br i1 %.not1114.not, label %780, label %700 699: ; preds = %694 switch i32 %.01001, label %ir_match_fuse_load_cmp_fp.exit [ i32 115, label %700 i32 118, label %700 - i32 128, label %780 - i32 129, label %813 - i32 130, label %846 - i32 131, label %879 - i32 132, label %912 - i32 143, label %945 - i32 144, label %978 - i32 137, label %thread-pre-split + i32 128, label %781 + i32 129, label %814 + i32 130, label %847 + i32 131, label %880 + i32 132, label %913 + i32 143, label %946 + i32 144, label %979 + i32 137, label %1012 ] -700: ; preds = %697, %699, %699 +700: ; preds = %699, %699, %697 %701 = getelementptr inbounds nuw i8, ptr %5, i64 4 %702 = load i32, ptr %701, align 4 %703 = getelementptr inbounds nuw i8, ptr %683, i64 4 @@ -44496,8 +44489,8 @@ switch.early.test: ; preds = %697 %746 = getelementptr inbounds nuw [106 x i32], ptr @ir_op_flags, i64 0, i64 %745 %747 = load i32, ptr %746, align 4 %748 = and i32 %747, 2048 - %.not1115 = icmp eq i32 %748, 0 - br i1 %.not1115, label %ir_match_fuse_load_cmp_fp.exit, label %749 + %.not1116 = icmp eq i32 %748, 0 + br i1 %.not1116, label %ir_match_fuse_load_cmp_fp.exit, label %749 749: ; preds = %743 %750 = getelementptr inbounds nuw i8, ptr %683, i64 8 @@ -44544,1704 +44537,1710 @@ switch.early.test: ; preds = %697 store i32 %775, ptr %779, align 4 br label %ir_match_fuse_load_cmp_fp.exit -780: ; preds = %699 - %781 = getelementptr inbounds nuw i8, ptr %5, i64 4 - %782 = load i32, ptr %781, align 4 - %783 = getelementptr inbounds nuw i8, ptr %683, i64 4 - %784 = load i32, ptr %783, align 4 - %785 = icmp eq i32 %782, %784 - br i1 %785, label %786, label %ir_match_fuse_load_cmp_fp.exit - -786: ; preds = %780 - %787 = load ptr, ptr %0, align 8 - %788 = sext i32 %782 to i64 - %789 = getelementptr inbounds %struct._ir_insn, ptr %787, i64 %788 - %790 = load i8, ptr %789, align 8 - %791 = zext i8 %790 to i32 - %792 = icmp eq i32 %.0997, %791 - br i1 %792, label %793, label %ir_match_fuse_load_cmp_fp.exit - -793: ; preds = %786 - %794 = getelementptr inbounds nuw i8, ptr %789, i64 8 - %795 = load i32, ptr %794, align 8 - %796 = load i32, ptr %668, align 8 - %797 = icmp eq i32 %795, %796 - br i1 %797, label %798, label %ir_match_fuse_load_cmp_fp.exit - -798: ; preds = %793 - %799 = load ptr, ptr %674, align 8 - %800 = getelementptr inbounds %struct._ir_use_list, ptr %799, i64 %788, i32 1 - %801 = load i32, ptr %800, align 4 - %802 = icmp eq i32 %801, 2 - br i1 %802, label %803, label %ir_match_fuse_load_cmp_fp.exit - -803: ; preds = %798 - %804 = load ptr, ptr %684, align 8 - %805 = load i32, ptr %669, align 4 - %806 = sext i32 %805 to i64 - %807 = getelementptr inbounds i32, ptr %804, i64 %806 - store i32 1073741952, ptr %807, align 4 - %808 = or disjoint i32 %.0997, 1073741824 - %809 = load ptr, ptr %684, align 8 - %810 = load i32, ptr %783, align 4 - %811 = sext i32 %810 to i64 - %812 = getelementptr inbounds i32, ptr %809, i64 %811 - store i32 %808, ptr %812, align 4 +780: ; preds = %697 + switch i32 %.01001, label %ir_match_fuse_load_cmp_fp.exit [ + i32 144, label %979 + i32 143, label %946 + ] + +781: ; preds = %699 + %782 = getelementptr inbounds nuw i8, ptr %5, i64 4 + %783 = load i32, ptr %782, align 4 + %784 = getelementptr inbounds nuw i8, ptr %683, i64 4 + %785 = load i32, ptr %784, align 4 + %786 = icmp eq i32 %783, %785 + br i1 %786, label %787, label %ir_match_fuse_load_cmp_fp.exit + +787: ; preds = %781 + %788 = load ptr, ptr %0, align 8 + %789 = sext i32 %783 to i64 + %790 = getelementptr inbounds %struct._ir_insn, ptr %788, i64 %789 + %791 = load i8, ptr %790, align 8 + %792 = zext i8 %791 to i32 + %793 = icmp eq i32 %.0997, %792 + br i1 %793, label %794, label %ir_match_fuse_load_cmp_fp.exit + +794: ; preds = %787 + %795 = getelementptr inbounds nuw i8, ptr %790, i64 8 + %796 = load i32, ptr %795, align 8 + %797 = load i32, ptr %668, align 8 + %798 = icmp eq i32 %796, %797 + br i1 %798, label %799, label %ir_match_fuse_load_cmp_fp.exit + +799: ; preds = %794 + %800 = load ptr, ptr %674, align 8 + %801 = getelementptr inbounds %struct._ir_use_list, ptr %800, i64 %789, i32 1 + %802 = load i32, ptr %801, align 4 + %803 = icmp eq i32 %802, 2 + br i1 %803, label %804, label %ir_match_fuse_load_cmp_fp.exit + +804: ; preds = %799 + %805 = load ptr, ptr %684, align 8 + %806 = load i32, ptr %669, align 4 + %807 = sext i32 %806 to i64 + %808 = getelementptr inbounds i32, ptr %805, i64 %807 + store i32 1073741952, ptr %808, align 4 + %809 = or disjoint i32 %.0997, 1073741824 + %810 = load ptr, ptr %684, align 8 + %811 = load i32, ptr %784, align 4 + %812 = sext i32 %811 to i64 + %813 = getelementptr inbounds i32, ptr %810, i64 %812 + store i32 %809, ptr %813, align 4 br label %ir_match_fuse_load_cmp_fp.exit -813: ; preds = %699 - %814 = getelementptr inbounds nuw i8, ptr %5, i64 4 - %815 = load i32, ptr %814, align 4 - %816 = getelementptr inbounds nuw i8, ptr %683, i64 4 - %817 = load i32, ptr %816, align 4 - %818 = icmp eq i32 %815, %817 - br i1 %818, label %819, label %ir_match_fuse_load_cmp_fp.exit - -819: ; preds = %813 - %820 = load ptr, ptr %0, align 8 - %821 = sext i32 %815 to i64 - %822 = getelementptr inbounds %struct._ir_insn, ptr %820, i64 %821 - %823 = load i8, ptr %822, align 8 - %824 = zext i8 %823 to i32 - %825 = icmp eq i32 %.0997, %824 - br i1 %825, label %826, label %ir_match_fuse_load_cmp_fp.exit - -826: ; preds = %819 - %827 = getelementptr inbounds nuw i8, ptr %822, i64 8 - %828 = load i32, ptr %827, align 8 - %829 = load i32, ptr %668, align 8 - %830 = icmp eq i32 %828, %829 - br i1 %830, label %831, label %ir_match_fuse_load_cmp_fp.exit - -831: ; preds = %826 - %832 = load ptr, ptr %674, align 8 - %833 = getelementptr inbounds %struct._ir_use_list, ptr %832, i64 %821, i32 1 - %834 = load i32, ptr %833, align 4 - %835 = icmp eq i32 %834, 2 - br i1 %835, label %836, label %ir_match_fuse_load_cmp_fp.exit - -836: ; preds = %831 - %837 = load ptr, ptr %684, align 8 - %838 = load i32, ptr %669, align 4 - %839 = sext i32 %838 to i64 - %840 = getelementptr inbounds i32, ptr %837, i64 %839 - store i32 1073741953, ptr %840, align 4 - %841 = or disjoint i32 %.0997, 1073741824 - %842 = load ptr, ptr %684, align 8 - %843 = load i32, ptr %816, align 4 - %844 = sext i32 %843 to i64 - %845 = getelementptr inbounds i32, ptr %842, i64 %844 - store i32 %841, ptr %845, align 4 +814: ; preds = %699 + %815 = getelementptr inbounds nuw i8, ptr %5, i64 4 + %816 = load i32, ptr %815, align 4 + %817 = getelementptr inbounds nuw i8, ptr %683, i64 4 + %818 = load i32, ptr %817, align 4 + %819 = icmp eq i32 %816, %818 + br i1 %819, label %820, label %ir_match_fuse_load_cmp_fp.exit + +820: ; preds = %814 + %821 = load ptr, ptr %0, align 8 + %822 = sext i32 %816 to i64 + %823 = getelementptr inbounds %struct._ir_insn, ptr %821, i64 %822 + %824 = load i8, ptr %823, align 8 + %825 = zext i8 %824 to i32 + %826 = icmp eq i32 %.0997, %825 + br i1 %826, label %827, label %ir_match_fuse_load_cmp_fp.exit + +827: ; preds = %820 + %828 = getelementptr inbounds nuw i8, ptr %823, i64 8 + %829 = load i32, ptr %828, align 8 + %830 = load i32, ptr %668, align 8 + %831 = icmp eq i32 %829, %830 + br i1 %831, label %832, label %ir_match_fuse_load_cmp_fp.exit + +832: ; preds = %827 + %833 = load ptr, ptr %674, align 8 + %834 = getelementptr inbounds %struct._ir_use_list, ptr %833, i64 %822, i32 1 + %835 = load i32, ptr %834, align 4 + %836 = icmp eq i32 %835, 2 + br i1 %836, label %837, label %ir_match_fuse_load_cmp_fp.exit + +837: ; preds = %832 + %838 = load ptr, ptr %684, align 8 + %839 = load i32, ptr %669, align 4 + %840 = sext i32 %839 to i64 + %841 = getelementptr inbounds i32, ptr %838, i64 %840 + store i32 1073741953, ptr %841, align 4 + %842 = or disjoint i32 %.0997, 1073741824 + %843 = load ptr, ptr %684, align 8 + %844 = load i32, ptr %817, align 4 + %845 = sext i32 %844 to i64 + %846 = getelementptr inbounds i32, ptr %843, i64 %845 + store i32 %842, ptr %846, align 4 br label %ir_match_fuse_load_cmp_fp.exit -846: ; preds = %699 - %847 = getelementptr inbounds nuw i8, ptr %5, i64 4 - %848 = load i32, ptr %847, align 4 - %849 = getelementptr inbounds nuw i8, ptr %683, i64 4 - %850 = load i32, ptr %849, align 4 - %851 = icmp eq i32 %848, %850 - br i1 %851, label %852, label %ir_match_fuse_load_cmp_fp.exit - -852: ; preds = %846 - %853 = load ptr, ptr %0, align 8 - %854 = sext i32 %848 to i64 - %855 = getelementptr inbounds %struct._ir_insn, ptr %853, i64 %854 - %856 = load i8, ptr %855, align 8 - %857 = zext i8 %856 to i32 - %858 = icmp eq i32 %.0997, %857 - br i1 %858, label %859, label %ir_match_fuse_load_cmp_fp.exit - -859: ; preds = %852 - %860 = getelementptr inbounds nuw i8, ptr %855, i64 8 - %861 = load i32, ptr %860, align 8 - %862 = load i32, ptr %668, align 8 - %863 = icmp eq i32 %861, %862 - br i1 %863, label %864, label %ir_match_fuse_load_cmp_fp.exit - -864: ; preds = %859 - %865 = load ptr, ptr %674, align 8 - %866 = getelementptr inbounds %struct._ir_use_list, ptr %865, i64 %854, i32 1 - %867 = load i32, ptr %866, align 4 - %868 = icmp eq i32 %867, 2 - br i1 %868, label %869, label %ir_match_fuse_load_cmp_fp.exit - -869: ; preds = %864 - %870 = load ptr, ptr %684, align 8 - %871 = load i32, ptr %669, align 4 - %872 = sext i32 %871 to i64 - %873 = getelementptr inbounds i32, ptr %870, i64 %872 - store i32 1073741954, ptr %873, align 4 - %874 = or disjoint i32 %.0997, 1073741824 - %875 = load ptr, ptr %684, align 8 - %876 = load i32, ptr %849, align 4 - %877 = sext i32 %876 to i64 - %878 = getelementptr inbounds i32, ptr %875, i64 %877 - store i32 %874, ptr %878, align 4 +847: ; preds = %699 + %848 = getelementptr inbounds nuw i8, ptr %5, i64 4 + %849 = load i32, ptr %848, align 4 + %850 = getelementptr inbounds nuw i8, ptr %683, i64 4 + %851 = load i32, ptr %850, align 4 + %852 = icmp eq i32 %849, %851 + br i1 %852, label %853, label %ir_match_fuse_load_cmp_fp.exit + +853: ; preds = %847 + %854 = load ptr, ptr %0, align 8 + %855 = sext i32 %849 to i64 + %856 = getelementptr inbounds %struct._ir_insn, ptr %854, i64 %855 + %857 = load i8, ptr %856, align 8 + %858 = zext i8 %857 to i32 + %859 = icmp eq i32 %.0997, %858 + br i1 %859, label %860, label %ir_match_fuse_load_cmp_fp.exit + +860: ; preds = %853 + %861 = getelementptr inbounds nuw i8, ptr %856, i64 8 + %862 = load i32, ptr %861, align 8 + %863 = load i32, ptr %668, align 8 + %864 = icmp eq i32 %862, %863 + br i1 %864, label %865, label %ir_match_fuse_load_cmp_fp.exit + +865: ; preds = %860 + %866 = load ptr, ptr %674, align 8 + %867 = getelementptr inbounds %struct._ir_use_list, ptr %866, i64 %855, i32 1 + %868 = load i32, ptr %867, align 4 + %869 = icmp eq i32 %868, 2 + br i1 %869, label %870, label %ir_match_fuse_load_cmp_fp.exit + +870: ; preds = %865 + %871 = load ptr, ptr %684, align 8 + %872 = load i32, ptr %669, align 4 + %873 = sext i32 %872 to i64 + %874 = getelementptr inbounds i32, ptr %871, i64 %873 + store i32 1073741954, ptr %874, align 4 + %875 = or disjoint i32 %.0997, 1073741824 + %876 = load ptr, ptr %684, align 8 + %877 = load i32, ptr %850, align 4 + %878 = sext i32 %877 to i64 + %879 = getelementptr inbounds i32, ptr %876, i64 %878 + store i32 %875, ptr %879, align 4 br label %ir_match_fuse_load_cmp_fp.exit -879: ; preds = %699 - %880 = getelementptr inbounds nuw i8, ptr %5, i64 4 - %881 = load i32, ptr %880, align 4 - %882 = getelementptr inbounds nuw i8, ptr %683, i64 4 - %883 = load i32, ptr %882, align 4 - %884 = icmp eq i32 %881, %883 - br i1 %884, label %885, label %ir_match_fuse_load_cmp_fp.exit - -885: ; preds = %879 - %886 = load ptr, ptr %0, align 8 - %887 = sext i32 %881 to i64 - %888 = getelementptr inbounds %struct._ir_insn, ptr %886, i64 %887 - %889 = load i8, ptr %888, align 8 - %890 = zext i8 %889 to i32 - %891 = icmp eq i32 %.0997, %890 - br i1 %891, label %892, label %ir_match_fuse_load_cmp_fp.exit - -892: ; preds = %885 - %893 = getelementptr inbounds nuw i8, ptr %888, i64 8 - %894 = load i32, ptr %893, align 8 - %895 = load i32, ptr %668, align 8 - %896 = icmp eq i32 %894, %895 - br i1 %896, label %897, label %ir_match_fuse_load_cmp_fp.exit - -897: ; preds = %892 - %898 = load ptr, ptr %674, align 8 - %899 = getelementptr inbounds %struct._ir_use_list, ptr %898, i64 %887, i32 1 - %900 = load i32, ptr %899, align 4 - %901 = icmp eq i32 %900, 2 - br i1 %901, label %902, label %ir_match_fuse_load_cmp_fp.exit - -902: ; preds = %897 - %903 = load ptr, ptr %684, align 8 - %904 = load i32, ptr %669, align 4 - %905 = sext i32 %904 to i64 - %906 = getelementptr inbounds i32, ptr %903, i64 %905 - store i32 1073741955, ptr %906, align 4 - %907 = or disjoint i32 %.0997, 1073741824 - %908 = load ptr, ptr %684, align 8 - %909 = load i32, ptr %882, align 4 - %910 = sext i32 %909 to i64 - %911 = getelementptr inbounds i32, ptr %908, i64 %910 - store i32 %907, ptr %911, align 4 +880: ; preds = %699 + %881 = getelementptr inbounds nuw i8, ptr %5, i64 4 + %882 = load i32, ptr %881, align 4 + %883 = getelementptr inbounds nuw i8, ptr %683, i64 4 + %884 = load i32, ptr %883, align 4 + %885 = icmp eq i32 %882, %884 + br i1 %885, label %886, label %ir_match_fuse_load_cmp_fp.exit + +886: ; preds = %880 + %887 = load ptr, ptr %0, align 8 + %888 = sext i32 %882 to i64 + %889 = getelementptr inbounds %struct._ir_insn, ptr %887, i64 %888 + %890 = load i8, ptr %889, align 8 + %891 = zext i8 %890 to i32 + %892 = icmp eq i32 %.0997, %891 + br i1 %892, label %893, label %ir_match_fuse_load_cmp_fp.exit + +893: ; preds = %886 + %894 = getelementptr inbounds nuw i8, ptr %889, i64 8 + %895 = load i32, ptr %894, align 8 + %896 = load i32, ptr %668, align 8 + %897 = icmp eq i32 %895, %896 + br i1 %897, label %898, label %ir_match_fuse_load_cmp_fp.exit + +898: ; preds = %893 + %899 = load ptr, ptr %674, align 8 + %900 = getelementptr inbounds %struct._ir_use_list, ptr %899, i64 %888, i32 1 + %901 = load i32, ptr %900, align 4 + %902 = icmp eq i32 %901, 2 + br i1 %902, label %903, label %ir_match_fuse_load_cmp_fp.exit + +903: ; preds = %898 + %904 = load ptr, ptr %684, align 8 + %905 = load i32, ptr %669, align 4 + %906 = sext i32 %905 to i64 + %907 = getelementptr inbounds i32, ptr %904, i64 %906 + store i32 1073741955, ptr %907, align 4 + %908 = or disjoint i32 %.0997, 1073741824 + %909 = load ptr, ptr %684, align 8 + %910 = load i32, ptr %883, align 4 + %911 = sext i32 %910 to i64 + %912 = getelementptr inbounds i32, ptr %909, i64 %911 + store i32 %908, ptr %912, align 4 br label %ir_match_fuse_load_cmp_fp.exit -912: ; preds = %699 - %913 = getelementptr inbounds nuw i8, ptr %5, i64 4 - %914 = load i32, ptr %913, align 4 - %915 = getelementptr inbounds nuw i8, ptr %683, i64 4 - %916 = load i32, ptr %915, align 4 - %917 = icmp eq i32 %914, %916 - br i1 %917, label %918, label %ir_match_fuse_load_cmp_fp.exit - -918: ; preds = %912 - %919 = load ptr, ptr %0, align 8 - %920 = sext i32 %914 to i64 - %921 = getelementptr inbounds %struct._ir_insn, ptr %919, i64 %920 - %922 = load i8, ptr %921, align 8 - %923 = zext i8 %922 to i32 - %924 = icmp eq i32 %.0997, %923 - br i1 %924, label %925, label %ir_match_fuse_load_cmp_fp.exit - -925: ; preds = %918 - %926 = getelementptr inbounds nuw i8, ptr %921, i64 8 - %927 = load i32, ptr %926, align 8 - %928 = load i32, ptr %668, align 8 - %929 = icmp eq i32 %927, %928 - br i1 %929, label %930, label %ir_match_fuse_load_cmp_fp.exit - -930: ; preds = %925 - %931 = load ptr, ptr %674, align 8 - %932 = getelementptr inbounds %struct._ir_use_list, ptr %931, i64 %920, i32 1 - %933 = load i32, ptr %932, align 4 - %934 = icmp eq i32 %933, 2 - br i1 %934, label %935, label %ir_match_fuse_load_cmp_fp.exit - -935: ; preds = %930 - %936 = load ptr, ptr %684, align 8 - %937 = load i32, ptr %669, align 4 - %938 = sext i32 %937 to i64 - %939 = getelementptr inbounds i32, ptr %936, i64 %938 - store i32 1073741956, ptr %939, align 4 - %940 = or disjoint i32 %.0997, 1073741824 - %941 = load ptr, ptr %684, align 8 - %942 = load i32, ptr %915, align 4 - %943 = sext i32 %942 to i64 - %944 = getelementptr inbounds i32, ptr %941, i64 %943 - store i32 %940, ptr %944, align 4 +913: ; preds = %699 + %914 = getelementptr inbounds nuw i8, ptr %5, i64 4 + %915 = load i32, ptr %914, align 4 + %916 = getelementptr inbounds nuw i8, ptr %683, i64 4 + %917 = load i32, ptr %916, align 4 + %918 = icmp eq i32 %915, %917 + br i1 %918, label %919, label %ir_match_fuse_load_cmp_fp.exit + +919: ; preds = %913 + %920 = load ptr, ptr %0, align 8 + %921 = sext i32 %915 to i64 + %922 = getelementptr inbounds %struct._ir_insn, ptr %920, i64 %921 + %923 = load i8, ptr %922, align 8 + %924 = zext i8 %923 to i32 + %925 = icmp eq i32 %.0997, %924 + br i1 %925, label %926, label %ir_match_fuse_load_cmp_fp.exit + +926: ; preds = %919 + %927 = getelementptr inbounds nuw i8, ptr %922, i64 8 + %928 = load i32, ptr %927, align 8 + %929 = load i32, ptr %668, align 8 + %930 = icmp eq i32 %928, %929 + br i1 %930, label %931, label %ir_match_fuse_load_cmp_fp.exit + +931: ; preds = %926 + %932 = load ptr, ptr %674, align 8 + %933 = getelementptr inbounds %struct._ir_use_list, ptr %932, i64 %921, i32 1 + %934 = load i32, ptr %933, align 4 + %935 = icmp eq i32 %934, 2 + br i1 %935, label %936, label %ir_match_fuse_load_cmp_fp.exit + +936: ; preds = %931 + %937 = load ptr, ptr %684, align 8 + %938 = load i32, ptr %669, align 4 + %939 = sext i32 %938 to i64 + %940 = getelementptr inbounds i32, ptr %937, i64 %939 + store i32 1073741956, ptr %940, align 4 + %941 = or disjoint i32 %.0997, 1073741824 + %942 = load ptr, ptr %684, align 8 + %943 = load i32, ptr %916, align 4 + %944 = sext i32 %943 to i64 + %945 = getelementptr inbounds i32, ptr %942, i64 %944 + store i32 %941, ptr %945, align 4 br label %ir_match_fuse_load_cmp_fp.exit -945: ; preds = %switch.early.test, %699 - %946 = getelementptr inbounds nuw i8, ptr %5, i64 4 - %947 = load i32, ptr %946, align 4 - %948 = getelementptr inbounds nuw i8, ptr %683, i64 4 - %949 = load i32, ptr %948, align 4 - %950 = icmp eq i32 %947, %949 - br i1 %950, label %951, label %ir_match_fuse_load_cmp_fp.exit - -951: ; preds = %945 - %952 = load ptr, ptr %0, align 8 - %953 = sext i32 %947 to i64 - %954 = getelementptr inbounds %struct._ir_insn, ptr %952, i64 %953 - %955 = load i8, ptr %954, align 8 - %956 = zext i8 %955 to i32 - %957 = icmp eq i32 %.0997, %956 - br i1 %957, label %958, label %ir_match_fuse_load_cmp_fp.exit - -958: ; preds = %951 - %959 = getelementptr inbounds nuw i8, ptr %954, i64 8 - %960 = load i32, ptr %959, align 8 - %961 = load i32, ptr %668, align 8 - %962 = icmp eq i32 %960, %961 - br i1 %962, label %963, label %ir_match_fuse_load_cmp_fp.exit - -963: ; preds = %958 - %964 = load ptr, ptr %674, align 8 - %965 = getelementptr inbounds %struct._ir_use_list, ptr %964, i64 %953, i32 1 - %966 = load i32, ptr %965, align 4 - %967 = icmp eq i32 %966, 2 - br i1 %967, label %968, label %ir_match_fuse_load_cmp_fp.exit - -968: ; preds = %963 - %969 = load ptr, ptr %684, align 8 - %970 = load i32, ptr %669, align 4 - %971 = sext i32 %970 to i64 - %972 = getelementptr inbounds i32, ptr %969, i64 %971 - store i32 -2147483505, ptr %972, align 4 - %973 = or disjoint i32 %.0997, 1073741824 - %974 = load ptr, ptr %684, align 8 - %975 = load i32, ptr %948, align 4 - %976 = sext i32 %975 to i64 - %977 = getelementptr inbounds i32, ptr %974, i64 %976 - store i32 %973, ptr %977, align 4 +946: ; preds = %780, %699 + %947 = getelementptr inbounds nuw i8, ptr %5, i64 4 + %948 = load i32, ptr %947, align 4 + %949 = getelementptr inbounds nuw i8, ptr %683, i64 4 + %950 = load i32, ptr %949, align 4 + %951 = icmp eq i32 %948, %950 + br i1 %951, label %952, label %ir_match_fuse_load_cmp_fp.exit + +952: ; preds = %946 + %953 = load ptr, ptr %0, align 8 + %954 = sext i32 %948 to i64 + %955 = getelementptr inbounds %struct._ir_insn, ptr %953, i64 %954 + %956 = load i8, ptr %955, align 8 + %957 = zext i8 %956 to i32 + %958 = icmp eq i32 %.0997, %957 + br i1 %958, label %959, label %ir_match_fuse_load_cmp_fp.exit + +959: ; preds = %952 + %960 = getelementptr inbounds nuw i8, ptr %955, i64 8 + %961 = load i32, ptr %960, align 8 + %962 = load i32, ptr %668, align 8 + %963 = icmp eq i32 %961, %962 + br i1 %963, label %964, label %ir_match_fuse_load_cmp_fp.exit + +964: ; preds = %959 + %965 = load ptr, ptr %674, align 8 + %966 = getelementptr inbounds %struct._ir_use_list, ptr %965, i64 %954, i32 1 + %967 = load i32, ptr %966, align 4 + %968 = icmp eq i32 %967, 2 + br i1 %968, label %969, label %ir_match_fuse_load_cmp_fp.exit + +969: ; preds = %964 + %970 = load ptr, ptr %684, align 8 + %971 = load i32, ptr %669, align 4 + %972 = sext i32 %971 to i64 + %973 = getelementptr inbounds i32, ptr %970, i64 %972 + store i32 -2147483505, ptr %973, align 4 + %974 = or disjoint i32 %.0997, 1073741824 + %975 = load ptr, ptr %684, align 8 + %976 = load i32, ptr %949, align 4 + %977 = sext i32 %976 to i64 + %978 = getelementptr inbounds i32, ptr %975, i64 %977 + store i32 %974, ptr %978, align 4 br label %ir_match_fuse_load_cmp_fp.exit -978: ; preds = %switch.early.test, %699 - %979 = getelementptr inbounds nuw i8, ptr %5, i64 4 - %980 = load i32, ptr %979, align 4 - %981 = getelementptr inbounds nuw i8, ptr %683, i64 4 - %982 = load i32, ptr %981, align 4 - %983 = icmp eq i32 %980, %982 - br i1 %983, label %984, label %ir_match_fuse_load_cmp_fp.exit - -984: ; preds = %978 - %985 = load ptr, ptr %0, align 8 - %986 = sext i32 %980 to i64 - %987 = getelementptr inbounds %struct._ir_insn, ptr %985, i64 %986 - %988 = load i8, ptr %987, align 8 - %989 = zext i8 %988 to i32 - %990 = icmp eq i32 %.0997, %989 - br i1 %990, label %991, label %ir_match_fuse_load_cmp_fp.exit - -991: ; preds = %984 - %992 = getelementptr inbounds nuw i8, ptr %987, i64 8 - %993 = load i32, ptr %992, align 8 - %994 = load i32, ptr %668, align 8 - %995 = icmp eq i32 %993, %994 - br i1 %995, label %996, label %ir_match_fuse_load_cmp_fp.exit - -996: ; preds = %991 - %997 = load ptr, ptr %674, align 8 - %998 = getelementptr inbounds %struct._ir_use_list, ptr %997, i64 %986, i32 1 - %999 = load i32, ptr %998, align 4 - %1000 = icmp eq i32 %999, 2 - br i1 %1000, label %1001, label %ir_match_fuse_load_cmp_fp.exit - -1001: ; preds = %996 - %1002 = load ptr, ptr %684, align 8 - %1003 = load i32, ptr %669, align 4 - %1004 = sext i32 %1003 to i64 - %1005 = getelementptr inbounds i32, ptr %1002, i64 %1004 - store i32 1073741968, ptr %1005, align 4 - %1006 = or disjoint i32 %.0997, 1073741824 - %1007 = load ptr, ptr %684, align 8 - %1008 = load i32, ptr %981, align 4 - %1009 = sext i32 %1008 to i64 - %1010 = getelementptr inbounds i32, ptr %1007, i64 %1009 - store i32 %1006, ptr %1010, align 4 +979: ; preds = %780, %699 + %980 = getelementptr inbounds nuw i8, ptr %5, i64 4 + %981 = load i32, ptr %980, align 4 + %982 = getelementptr inbounds nuw i8, ptr %683, i64 4 + %983 = load i32, ptr %982, align 4 + %984 = icmp eq i32 %981, %983 + br i1 %984, label %985, label %ir_match_fuse_load_cmp_fp.exit + +985: ; preds = %979 + %986 = load ptr, ptr %0, align 8 + %987 = sext i32 %981 to i64 + %988 = getelementptr inbounds %struct._ir_insn, ptr %986, i64 %987 + %989 = load i8, ptr %988, align 8 + %990 = zext i8 %989 to i32 + %991 = icmp eq i32 %.0997, %990 + br i1 %991, label %992, label %ir_match_fuse_load_cmp_fp.exit + +992: ; preds = %985 + %993 = getelementptr inbounds nuw i8, ptr %988, i64 8 + %994 = load i32, ptr %993, align 8 + %995 = load i32, ptr %668, align 8 + %996 = icmp eq i32 %994, %995 + br i1 %996, label %997, label %ir_match_fuse_load_cmp_fp.exit + +997: ; preds = %992 + %998 = load ptr, ptr %674, align 8 + %999 = getelementptr inbounds %struct._ir_use_list, ptr %998, i64 %987, i32 1 + %1000 = load i32, ptr %999, align 4 + %1001 = icmp eq i32 %1000, 2 + br i1 %1001, label %1002, label %ir_match_fuse_load_cmp_fp.exit + +1002: ; preds = %997 + %1003 = load ptr, ptr %684, align 8 + %1004 = load i32, ptr %669, align 4 + %1005 = sext i32 %1004 to i64 + %1006 = getelementptr inbounds i32, ptr %1003, i64 %1005 + store i32 1073741968, ptr %1006, align 4 + %1007 = or disjoint i32 %.0997, 1073741824 + %1008 = load ptr, ptr %684, align 8 + %1009 = load i32, ptr %982, align 4 + %1010 = sext i32 %1009 to i64 + %1011 = getelementptr inbounds i32, ptr %1008, i64 %1010 + store i32 %1007, ptr %1011, align 4 br label %ir_match_fuse_load_cmp_fp.exit -thread-pre-split: ; preds = %699 +1012: ; preds = %699 %.pr = load i8, ptr %683, align 8 - %.not1114 = icmp eq i8 %.pr, 52 - br i1 %.not1114, label %ir_match_fuse_load_cmp_fp.exit, label %1011 - -1011: ; preds = %thread-pre-split - %1012 = getelementptr inbounds nuw i8, ptr %5, i64 4 - %1013 = load i32, ptr %1012, align 4 - %1014 = getelementptr inbounds nuw i8, ptr %683, i64 4 - %1015 = load i32, ptr %1014, align 4 - %1016 = icmp eq i32 %1013, %1015 - br i1 %1016, label %1017, label %ir_match_fuse_load_cmp_fp.exit - -1017: ; preds = %1011 - %1018 = load ptr, ptr %0, align 8 - %1019 = sext i32 %1013 to i64 - %1020 = getelementptr inbounds %struct._ir_insn, ptr %1018, i64 %1019 - %1021 = load i8, ptr %1020, align 8 - %1022 = zext i8 %1021 to i32 - %1023 = icmp eq i32 %.0997, %1022 - br i1 %1023, label %1024, label %ir_match_fuse_load_cmp_fp.exit - -1024: ; preds = %1017 - %1025 = getelementptr inbounds nuw i8, ptr %1020, i64 8 - %1026 = load i32, ptr %1025, align 8 - %1027 = load i32, ptr %668, align 8 - %1028 = icmp eq i32 %1026, %1027 - br i1 %1028, label %1029, label %ir_match_fuse_load_cmp_fp.exit - -1029: ; preds = %1024 - %1030 = load ptr, ptr %674, align 8 - %1031 = getelementptr inbounds %struct._ir_use_list, ptr %1030, i64 %1019, i32 1 - %1032 = load i32, ptr %1031, align 4 - %1033 = icmp eq i32 %1032, 2 - br i1 %1033, label %1034, label %ir_match_fuse_load_cmp_fp.exit - -1034: ; preds = %1029 - %1035 = load ptr, ptr %684, align 8 - %1036 = load i32, ptr %669, align 4 - %1037 = sext i32 %1036 to i64 - %1038 = getelementptr inbounds i32, ptr %1035, i64 %1037 - store i32 1073741961, ptr %1038, align 4 - %1039 = or disjoint i32 %.0997, 1073741824 - %1040 = load ptr, ptr %684, align 8 - %1041 = load i32, ptr %1014, align 4 - %1042 = sext i32 %1041 to i64 - %1043 = getelementptr inbounds i32, ptr %1040, i64 %1042 - store i32 %1039, ptr %1043, align 4 + %.not1115 = icmp eq i8 %.pr, 52 + br i1 %.not1115, label %ir_match_fuse_load_cmp_fp.exit, label %.thread1220 + +.thread1220: ; preds = %1012 + %1013 = getelementptr inbounds nuw i8, ptr %5, i64 4 + %1014 = load i32, ptr %1013, align 4 + %1015 = getelementptr inbounds nuw i8, ptr %683, i64 4 + %1016 = load i32, ptr %1015, align 4 + %1017 = icmp eq i32 %1014, %1016 + br i1 %1017, label %1018, label %ir_match_fuse_load_cmp_fp.exit + +1018: ; preds = %.thread1220 + %1019 = load ptr, ptr %0, align 8 + %1020 = sext i32 %1014 to i64 + %1021 = getelementptr inbounds %struct._ir_insn, ptr %1019, i64 %1020 + %1022 = load i8, ptr %1021, align 8 + %1023 = zext i8 %1022 to i32 + %1024 = icmp eq i32 %.0997, %1023 + br i1 %1024, label %1025, label %ir_match_fuse_load_cmp_fp.exit + +1025: ; preds = %1018 + %1026 = getelementptr inbounds nuw i8, ptr %1021, i64 8 + %1027 = load i32, ptr %1026, align 8 + %1028 = load i32, ptr %668, align 8 + %1029 = icmp eq i32 %1027, %1028 + br i1 %1029, label %1030, label %ir_match_fuse_load_cmp_fp.exit + +1030: ; preds = %1025 + %1031 = load ptr, ptr %674, align 8 + %1032 = getelementptr inbounds %struct._ir_use_list, ptr %1031, i64 %1020, i32 1 + %1033 = load i32, ptr %1032, align 4 + %1034 = icmp eq i32 %1033, 2 + br i1 %1034, label %1035, label %ir_match_fuse_load_cmp_fp.exit + +1035: ; preds = %1030 + %1036 = load ptr, ptr %684, align 8 + %1037 = load i32, ptr %669, align 4 + %1038 = sext i32 %1037 to i64 + %1039 = getelementptr inbounds i32, ptr %1036, i64 %1038 + store i32 1073741961, ptr %1039, align 4 + %1040 = or disjoint i32 %.0997, 1073741824 + %1041 = load ptr, ptr %684, align 8 + %1042 = load i32, ptr %1015, align 4 + %1043 = sext i32 %1042 to i64 + %1044 = getelementptr inbounds i32, ptr %1041, i64 %1043 + store i32 %1040, ptr %1044, align 4 br label %ir_match_fuse_load_cmp_fp.exit -1044: ; preds = %2 - %1045 = getelementptr inbounds nuw i8, ptr %5, i64 8 - %1046 = load i32, ptr %1045, align 8 - tail call fastcc void @ir_match_fuse_addr(ptr noundef nonnull %0, i32 noundef %1046) - %1047 = getelementptr inbounds nuw i8, ptr %5, i64 1 - %1048 = load i8, ptr %1047, align 1 - %1049 = icmp ult i8 %1048, 12 - %.1168 = select i1 %1049, i32 170, i32 171 +1045: ; preds = %2 + %1046 = getelementptr inbounds nuw i8, ptr %5, i64 8 + %1047 = load i32, ptr %1046, align 8 + tail call fastcc void @ir_match_fuse_addr(ptr noundef nonnull %0, i32 noundef %1047) + %1048 = getelementptr inbounds nuw i8, ptr %5, i64 1 + %1049 = load i8, ptr %1048, align 1 + %1050 = icmp ult i8 %1049, 12 + %.1168 = select i1 %1050, i32 170, i32 171 br label %ir_match_fuse_load_cmp_fp.exit -1050: ; preds = %2 - %1051 = getelementptr inbounds nuw i8, ptr %5, i64 8 - %1052 = load i32, ptr %1051, align 8 - tail call fastcc void @ir_match_fuse_addr(ptr noundef nonnull %0, i32 noundef %1052) - %1053 = load ptr, ptr %0, align 8 - %1054 = getelementptr inbounds nuw i8, ptr %5, i64 12 - %1055 = load i32, ptr %1054, align 4 - %1056 = sext i32 %1055 to i64 - %1057 = getelementptr inbounds %struct._ir_insn, ptr %1053, i64 %1056 - %1058 = getelementptr inbounds nuw i8, ptr %1057, i64 1 - %1059 = load i8, ptr %1058, align 1 - %1060 = icmp ult i8 %1059, 12 - br i1 %1060, label %661, label %ir_match_fuse_load_cmp_fp.exit - -1061: ; preds = %2 - %1062 = getelementptr inbounds nuw i8, ptr %0, i64 152 - %1063 = load i64, ptr %1062, align 8 - %1064 = trunc i64 %1063 to i32 - %1065 = or i32 %1064, 16 - %1066 = getelementptr inbounds nuw i8, ptr %5, i64 8 - %1067 = load i32, ptr %1066, align 8 - %1068 = shl nuw i32 1, %1067 - %1069 = and i32 %1065, %1068 - %.not1111 = icmp eq i32 %1069, 0 +1051: ; preds = %2 + %1052 = getelementptr inbounds nuw i8, ptr %5, i64 8 + %1053 = load i32, ptr %1052, align 8 + tail call fastcc void @ir_match_fuse_addr(ptr noundef nonnull %0, i32 noundef %1053) + %1054 = load ptr, ptr %0, align 8 + %1055 = getelementptr inbounds nuw i8, ptr %5, i64 12 + %1056 = load i32, ptr %1055, align 4 + %1057 = sext i32 %1056 to i64 + %1058 = getelementptr inbounds %struct._ir_insn, ptr %1054, i64 %1057 + %1059 = getelementptr inbounds nuw i8, ptr %1058, i64 1 + %1060 = load i8, ptr %1059, align 1 + %1061 = icmp ult i8 %1060, 12 + br i1 %1061, label %661, label %ir_match_fuse_load_cmp_fp.exit + +1062: ; preds = %2 + %1063 = getelementptr inbounds nuw i8, ptr %0, i64 152 + %1064 = load i64, ptr %1063, align 8 + %1065 = trunc i64 %1064 to i32 + %1066 = or i32 %1065, 16 + %1067 = getelementptr inbounds nuw i8, ptr %5, i64 8 + %1068 = load i32, ptr %1067, align 8 + %1069 = shl nuw i32 1, %1068 + %1070 = and i32 %1066, %1069 + %.not1111 = icmp eq i32 %1070, 0 %.1169 = select i1 %.not1111, i32 76, i32 1073741900 br label %ir_match_fuse_load_cmp_fp.exit -1070: ; preds = %2 - %1071 = getelementptr inbounds nuw i8, ptr %5, i64 8 - %1072 = load i32, ptr %1071, align 8 - %1073 = sext i32 %1072 to i64 - %1074 = getelementptr inbounds %struct._ir_insn, ptr %3, i64 %1073 - %1075 = getelementptr inbounds nuw i8, ptr %1074, i64 1 - %1076 = load i8, ptr %1075, align 1 - %1077 = icmp ult i8 %1076, 12 - br i1 %1077, label %1078, label %1157 - -1078: ; preds = %1070 - %1079 = getelementptr inbounds nuw i8, ptr %0, i64 24 - %1080 = load i32, ptr %1079, align 8 - %1081 = and i32 %1080, 524288 - %.not1109 = icmp eq i32 %1081, 0 - br i1 %.not1109, label %1157, label %1082 - -1082: ; preds = %1078 - %1083 = getelementptr inbounds nuw i8, ptr %0, i64 248 - %1084 = load i32, ptr %1083, align 8 - %1085 = icmp sgt i32 %1072, %1084 - br i1 %1085, label %1086, label %1157 - -1086: ; preds = %1082 - %1087 = getelementptr inbounds nuw i8, ptr %0, i64 72 - %1088 = load ptr, ptr %1087, align 8 - %1089 = getelementptr inbounds %struct._ir_use_list, ptr %1088, i64 %1073, i32 1 - %1090 = load i32, ptr %1089, align 4 - %1091 = icmp eq i32 %1090, 1 - br i1 %1091, label %1092, label %1157 - -1092: ; preds = %1086 - %1093 = load i8, ptr %1074, align 8 - switch i8 %1093, label %1157 [ - i8 24, label %1094 - i8 25, label %1094 - i8 44, label %1094 - i8 45, label %1094 - i8 46, label %1094 - ] - -1094: ; preds = %1092, %1092, %1092, %1092, %1092 - %1095 = getelementptr inbounds nuw i8, ptr %5, i64 4 - %1096 = load i32, ptr %1095, align 4 - %1097 = getelementptr inbounds nuw i8, ptr %1074, i64 4 - %1098 = load i32, ptr %1097, align 4 - %1099 = icmp eq i32 %1096, %1098 - br i1 %1099, label %1100, label %1123 - -1100: ; preds = %1094 - %1101 = sext i32 %1096 to i64 - %1102 = getelementptr inbounds %struct._ir_insn, ptr %3, i64 %1101 - %1103 = load i8, ptr %1102, align 8 - %1104 = icmp eq i8 %1103, 76 - br i1 %1104, label %1105, label %1123 - -1105: ; preds = %1100 - %1106 = getelementptr inbounds nuw i8, ptr %1102, i64 8 - %1107 = load i32, ptr %1106, align 8 - %1108 = getelementptr inbounds nuw i8, ptr %5, i64 12 - %1109 = load i32, ptr %1108, align 4 - %1110 = icmp eq i32 %1107, %1109 - br i1 %1110, label %1111, label %1123 - -1111: ; preds = %1105 - %1112 = getelementptr inbounds %struct._ir_use_list, ptr %1088, i64 %1101, i32 1 - %1113 = load i32, ptr %1112, align 4 - %1114 = icmp eq i32 %1113, 2 - br i1 %1114, label %1115, label %1123 - -1115: ; preds = %1111 - %1116 = getelementptr inbounds nuw i8, ptr %0, i64 128 - %1117 = load ptr, ptr %1116, align 8 - %1118 = getelementptr inbounds i32, ptr %1117, i64 %1073 - store i32 -2147483508, ptr %1118, align 4 - %1119 = load ptr, ptr %1116, align 8 - %1120 = load i32, ptr %1097, align 4 - %1121 = sext i32 %1120 to i64 - %1122 = getelementptr inbounds i32, ptr %1119, i64 %1121 - store i32 1073741900, ptr %1122, align 4 +1071: ; preds = %2 + %1072 = getelementptr inbounds nuw i8, ptr %5, i64 8 + %1073 = load i32, ptr %1072, align 8 + %1074 = sext i32 %1073 to i64 + %1075 = getelementptr inbounds %struct._ir_insn, ptr %3, i64 %1074 + %1076 = getelementptr inbounds nuw i8, ptr %1075, i64 1 + %1077 = load i8, ptr %1076, align 1 + %1078 = icmp ult i8 %1077, 12 + br i1 %1078, label %1079, label %1158 + +1079: ; preds = %1071 + %1080 = getelementptr inbounds nuw i8, ptr %0, i64 24 + %1081 = load i32, ptr %1080, align 8 + %1082 = and i32 %1081, 524288 + %.not1109 = icmp eq i32 %1082, 0 + br i1 %.not1109, label %1158, label %1083 + +1083: ; preds = %1079 + %1084 = getelementptr inbounds nuw i8, ptr %0, i64 248 + %1085 = load i32, ptr %1084, align 8 + %1086 = icmp sgt i32 %1073, %1085 + br i1 %1086, label %1087, label %1158 + +1087: ; preds = %1083 + %1088 = getelementptr inbounds nuw i8, ptr %0, i64 72 + %1089 = load ptr, ptr %1088, align 8 + %1090 = getelementptr inbounds %struct._ir_use_list, ptr %1089, i64 %1074, i32 1 + %1091 = load i32, ptr %1090, align 4 + %1092 = icmp eq i32 %1091, 1 + br i1 %1092, label %1093, label %1158 + +1093: ; preds = %1087 + %1094 = load i8, ptr %1075, align 8 + switch i8 %1094, label %1158 [ + i8 24, label %1095 + i8 25, label %1095 + i8 44, label %1095 + i8 45, label %1095 + i8 46, label %1095 + ] + +1095: ; preds = %1093, %1093, %1093, %1093, %1093 + %1096 = getelementptr inbounds nuw i8, ptr %5, i64 4 + %1097 = load i32, ptr %1096, align 4 + %1098 = getelementptr inbounds nuw i8, ptr %1075, i64 4 + %1099 = load i32, ptr %1098, align 4 + %1100 = icmp eq i32 %1097, %1099 + br i1 %1100, label %1101, label %1124 + +1101: ; preds = %1095 + %1102 = sext i32 %1097 to i64 + %1103 = getelementptr inbounds %struct._ir_insn, ptr %3, i64 %1102 + %1104 = load i8, ptr %1103, align 8 + %1105 = icmp eq i8 %1104, 76 + br i1 %1105, label %1106, label %1124 + +1106: ; preds = %1101 + %1107 = getelementptr inbounds nuw i8, ptr %1103, i64 8 + %1108 = load i32, ptr %1107, align 8 + %1109 = getelementptr inbounds nuw i8, ptr %5, i64 12 + %1110 = load i32, ptr %1109, align 4 + %1111 = icmp eq i32 %1108, %1110 + br i1 %1111, label %1112, label %1124 + +1112: ; preds = %1106 + %1113 = getelementptr inbounds %struct._ir_use_list, ptr %1089, i64 %1102, i32 1 + %1114 = load i32, ptr %1113, align 4 + %1115 = icmp eq i32 %1114, 2 + br i1 %1115, label %1116, label %1124 + +1116: ; preds = %1112 + %1117 = getelementptr inbounds nuw i8, ptr %0, i64 128 + %1118 = load ptr, ptr %1117, align 8 + %1119 = getelementptr inbounds i32, ptr %1118, i64 %1074 + store i32 -2147483508, ptr %1119, align 4 + %1120 = load ptr, ptr %1117, align 8 + %1121 = load i32, ptr %1098, align 4 + %1122 = sext i32 %1121 to i64 + %1123 = getelementptr inbounds i32, ptr %1120, i64 %1122 + store i32 1073741900, ptr %1123, align 4 br label %ir_match_fuse_load_cmp_fp.exit -1123: ; preds = %1111, %1105, %1100, %1094 - %1124 = zext nneg i8 %1093 to i64 - %1125 = getelementptr inbounds nuw [106 x i32], ptr @ir_op_flags, i64 0, i64 %1124 - %1126 = load i32, ptr %1125, align 4 - %1127 = and i32 %1126, 2048 - %.not1110 = icmp eq i32 %1127, 0 - br i1 %.not1110, label %1157, label %1128 - -1128: ; preds = %1123 - %1129 = getelementptr inbounds nuw i8, ptr %1074, i64 8 - %1130 = load i32, ptr %1129, align 8 - %1131 = icmp eq i32 %1096, %1130 - br i1 %1131, label %1132, label %1157 - -1132: ; preds = %1128 - %1133 = sext i32 %1096 to i64 - %1134 = getelementptr inbounds %struct._ir_insn, ptr %3, i64 %1133 - %1135 = load i8, ptr %1134, align 8 - %1136 = icmp eq i8 %1135, 76 - br i1 %1136, label %1137, label %1157 - -1137: ; preds = %1132 - %1138 = getelementptr inbounds nuw i8, ptr %1134, i64 8 - %1139 = load i32, ptr %1138, align 8 - %1140 = getelementptr inbounds nuw i8, ptr %5, i64 12 - %1141 = load i32, ptr %1140, align 4 - %1142 = icmp eq i32 %1139, %1141 - br i1 %1142, label %1143, label %1157 - -1143: ; preds = %1137 - %1144 = getelementptr inbounds %struct._ir_use_list, ptr %1088, i64 %1133, i32 1 - %1145 = load i32, ptr %1144, align 4 - %1146 = icmp eq i32 %1145, 2 - br i1 %1146, label %1147, label %1157 - -1147: ; preds = %1143 - store i32 %1096, ptr %1097, align 4 - store i32 %1098, ptr %1129, align 8 - %1148 = getelementptr inbounds nuw i8, ptr %0, i64 128 - %1149 = load ptr, ptr %1148, align 8 - %1150 = load i32, ptr %1071, align 8 - %1151 = sext i32 %1150 to i64 - %1152 = getelementptr inbounds i32, ptr %1149, i64 %1151 - store i32 -2147483508, ptr %1152, align 4 - %1153 = load ptr, ptr %1148, align 8 - %1154 = load i32, ptr %1097, align 4 - %1155 = sext i32 %1154 to i64 - %1156 = getelementptr inbounds i32, ptr %1153, i64 %1155 - store i32 1073741900, ptr %1156, align 4 +1124: ; preds = %1112, %1106, %1101, %1095 + %1125 = zext nneg i8 %1094 to i64 + %1126 = getelementptr inbounds nuw [106 x i32], ptr @ir_op_flags, i64 0, i64 %1125 + %1127 = load i32, ptr %1126, align 4 + %1128 = and i32 %1127, 2048 + %.not1110 = icmp eq i32 %1128, 0 + br i1 %.not1110, label %1158, label %1129 + +1129: ; preds = %1124 + %1130 = getelementptr inbounds nuw i8, ptr %1075, i64 8 + %1131 = load i32, ptr %1130, align 8 + %1132 = icmp eq i32 %1097, %1131 + br i1 %1132, label %1133, label %1158 + +1133: ; preds = %1129 + %1134 = sext i32 %1097 to i64 + %1135 = getelementptr inbounds %struct._ir_insn, ptr %3, i64 %1134 + %1136 = load i8, ptr %1135, align 8 + %1137 = icmp eq i8 %1136, 76 + br i1 %1137, label %1138, label %1158 + +1138: ; preds = %1133 + %1139 = getelementptr inbounds nuw i8, ptr %1135, i64 8 + %1140 = load i32, ptr %1139, align 8 + %1141 = getelementptr inbounds nuw i8, ptr %5, i64 12 + %1142 = load i32, ptr %1141, align 4 + %1143 = icmp eq i32 %1140, %1142 + br i1 %1143, label %1144, label %1158 + +1144: ; preds = %1138 + %1145 = getelementptr inbounds %struct._ir_use_list, ptr %1089, i64 %1134, i32 1 + %1146 = load i32, ptr %1145, align 4 + %1147 = icmp eq i32 %1146, 2 + br i1 %1147, label %1148, label %1158 + +1148: ; preds = %1144 + store i32 %1097, ptr %1098, align 4 + store i32 %1099, ptr %1130, align 8 + %1149 = getelementptr inbounds nuw i8, ptr %0, i64 128 + %1150 = load ptr, ptr %1149, align 8 + %1151 = load i32, ptr %1072, align 8 + %1152 = sext i32 %1151 to i64 + %1153 = getelementptr inbounds i32, ptr %1150, i64 %1152 + store i32 -2147483508, ptr %1153, align 4 + %1154 = load ptr, ptr %1149, align 8 + %1155 = load i32, ptr %1098, align 4 + %1156 = sext i32 %1155 to i64 + %1157 = getelementptr inbounds i32, ptr %1154, i64 %1156 + store i32 1073741900, ptr %1157, align 4 br label %ir_match_fuse_load_cmp_fp.exit -1157: ; preds = %1092, %1078, %1082, %1086, %1143, %1137, %1132, %1128, %1123, %1070 - tail call fastcc void @ir_match_fuse_load(ptr noundef nonnull %0, i32 noundef %1072, i32 noundef %1) +1158: ; preds = %1093, %1079, %1083, %1087, %1144, %1138, %1133, %1129, %1124, %1071 + tail call fastcc void @ir_match_fuse_load(ptr noundef nonnull %0, i32 noundef %1073, i32 noundef %1) br label %ir_match_fuse_load_cmp_fp.exit -1158: ; preds = %2, %2, %2, %2, %2, %2, %2, %2, %2 - %1159 = zext nneg i8 %6 to i32 - %1160 = or disjoint i32 %1159, 1073741824 +1159: ; preds = %2, %2, %2, %2, %2, %2, %2, %2, %2 + %1160 = zext nneg i8 %6 to i32 + %1161 = or disjoint i32 %1160, 1073741824 br label %ir_match_fuse_load_cmp_fp.exit -1161: ; preds = %2 - %1162 = getelementptr inbounds nuw i8, ptr %5, i64 8 - %1163 = load i32, ptr %1162, align 8 - %.not1108 = icmp eq i32 %1163, 0 - br i1 %.not1108, label %ir_match_fuse_load_cmp_fp.exit, label %1164 - -1164: ; preds = %1161 - %1165 = sext i32 %1163 to i64 - %1166 = getelementptr inbounds %struct._ir_insn, ptr %3, i64 %1165 - %1167 = getelementptr inbounds nuw i8, ptr %1166, i64 1 - %1168 = load i8, ptr %1167, align 1 - %1169 = icmp ult i8 %1168, 12 - %.1170 = select i1 %1169, i32 176, i32 177 +1162: ; preds = %2 + %1163 = getelementptr inbounds nuw i8, ptr %5, i64 8 + %1164 = load i32, ptr %1163, align 8 + %.not1108 = icmp eq i32 %1164, 0 + br i1 %.not1108, label %ir_match_fuse_load_cmp_fp.exit, label %1165 + +1165: ; preds = %1162 + %1166 = sext i32 %1164 to i64 + %1167 = getelementptr inbounds %struct._ir_insn, ptr %3, i64 %1166 + %1168 = getelementptr inbounds nuw i8, ptr %1167, i64 1 + %1169 = load i8, ptr %1168, align 1 + %1170 = icmp ult i8 %1169, 12 + %.1170 = select i1 %1170, i32 176, i32 177 br label %ir_match_fuse_load_cmp_fp.exit -1170: ; preds = %2 - %1171 = getelementptr inbounds nuw i8, ptr %5, i64 8 - %1172 = load i32, ptr %1171, align 8 - %1173 = getelementptr inbounds nuw i8, ptr %0, i64 248 - %1174 = load i32, ptr %1173, align 8 - %1175 = icmp sle i32 %1172, %1174 - br i1 %1175, label %._crit_edge1262, label %1176 - -._crit_edge1262: ; preds = %1170 - %.pre1263 = sext i32 %1172 to i64 - br label %1269 - -1176: ; preds = %1170 - %1177 = getelementptr inbounds nuw i8, ptr %0, i64 72 - %1178 = load ptr, ptr %1177, align 8 - %1179 = sext i32 %1172 to i64 - %1180 = getelementptr inbounds %struct._ir_use_list, ptr %1178, i64 %1179, i32 1 - %1181 = load i32, ptr %1180, align 4 - %1182 = icmp eq i32 %1181, 1 - br i1 %1182, label %1183, label %1269 - -1183: ; preds = %1176 - %1184 = getelementptr inbounds %struct._ir_insn, ptr %3, i64 %1179 - %1185 = load i8, ptr %1184, align 8 - %1186 = add i8 %1185, -14 - %or.cond1171 = icmp ult i8 %1186, 10 - br i1 %or.cond1171, label %1187, label %1258 - -1187: ; preds = %1183 - %1188 = getelementptr inbounds nuw i8, ptr %1184, i64 4 - %1189 = load i32, ptr %1188, align 4 - %1190 = sext i32 %1189 to i64 - %1191 = getelementptr inbounds %struct._ir_insn, ptr %3, i64 %1190 - %1192 = getelementptr inbounds nuw i8, ptr %1191, i64 1 - %1193 = load i8, ptr %1192, align 1 - %1194 = icmp ult i8 %1193, 12 - br i1 %1194, label %1195, label %1252 - -1195: ; preds = %1187 - %1196 = getelementptr inbounds nuw i8, ptr %1184, i64 8 - %1197 = load i32, ptr %1196, align 8 - %1198 = icmp slt i32 %1197, 0 - br i1 %1198, label %1199, label %1246 - -1199: ; preds = %1195 - %1200 = sext i32 %1197 to i64 - %1201 = getelementptr inbounds %struct._ir_insn, ptr %3, i64 %1200 - %1202 = load i8, ptr %1201, align 8 - %.off1200 = add i8 %1202, -66 +1171: ; preds = %2 + %1172 = getelementptr inbounds nuw i8, ptr %5, i64 8 + %1173 = load i32, ptr %1172, align 8 + %1174 = getelementptr inbounds nuw i8, ptr %0, i64 248 + %1175 = load i32, ptr %1174, align 8 + %1176 = icmp sle i32 %1173, %1175 + br i1 %1176, label %._crit_edge1265, label %1177 + +._crit_edge1265: ; preds = %1171 + %.pre1266 = sext i32 %1173 to i64 + br label %1270 + +1177: ; preds = %1171 + %1178 = getelementptr inbounds nuw i8, ptr %0, i64 72 + %1179 = load ptr, ptr %1178, align 8 + %1180 = sext i32 %1173 to i64 + %1181 = getelementptr inbounds %struct._ir_use_list, ptr %1179, i64 %1180, i32 1 + %1182 = load i32, ptr %1181, align 4 + %1183 = icmp eq i32 %1182, 1 + br i1 %1183, label %1184, label %1270 + +1184: ; preds = %1177 + %1185 = getelementptr inbounds %struct._ir_insn, ptr %3, i64 %1180 + %1186 = load i8, ptr %1185, align 8 + %1187 = add i8 %1186, -14 + %or.cond1171 = icmp ult i8 %1187, 10 + br i1 %or.cond1171, label %1188, label %1259 + +1188: ; preds = %1184 + %1189 = getelementptr inbounds nuw i8, ptr %1185, i64 4 + %1190 = load i32, ptr %1189, align 4 + %1191 = sext i32 %1190 to i64 + %1192 = getelementptr inbounds %struct._ir_insn, ptr %3, i64 %1191 + %1193 = getelementptr inbounds nuw i8, ptr %1192, i64 1 + %1194 = load i8, ptr %1193, align 1 + %1195 = icmp ult i8 %1194, 12 + br i1 %1195, label %1196, label %1253 + +1196: ; preds = %1188 + %1197 = getelementptr inbounds nuw i8, ptr %1185, i64 8 + %1198 = load i32, ptr %1197, align 8 + %1199 = icmp slt i32 %1198, 0 + br i1 %1199, label %1200, label %1247 + +1200: ; preds = %1196 + %1201 = sext i32 %1198 to i64 + %1202 = getelementptr inbounds %struct._ir_insn, ptr %3, i64 %1201 + %1203 = load i8, ptr %1202, align 8 + %.off1200 = add i8 %1203, -66 %switch1201 = icmp ult i8 %.off1200, 3 - br i1 %switch1201, label %1246, label %1203 - -1203: ; preds = %1199 - %1204 = getelementptr inbounds nuw i8, ptr %1201, i64 8 - %1205 = load i64, ptr %1204, align 8 - %1206 = icmp eq i64 %1205, 0 - %1207 = add nsw i32 %1172, -1 - %1208 = icmp eq i32 %1189, %1207 - %or.cond1173 = select i1 %1206, i1 %1208, i1 false - br i1 %or.cond1173, label %1209, label %1246 - -1209: ; preds = %1203 - %1210 = load i8, ptr %1191, align 8 - switch i8 %1210, label %1246 [ - i8 45, label %1211 - i8 44, label %.thread1220 - i8 25, label %1225 - i8 46, label %.thread1220 - i8 24, label %1225 - ] - -1211: ; preds = %1209 - %1212 = getelementptr inbounds %struct._ir_use_list, ptr %1178, i64 %1190, i32 1 - %1213 = load i32, ptr %1212, align 4 - %1214 = icmp eq i32 %1213, 1 - br i1 %1214, label %1215, label %.thread1220 - -1215: ; preds = %1211 - tail call fastcc void @ir_match_fuse_load_test_int(ptr noundef nonnull %0, ptr noundef nonnull %1191, i32 noundef %1) - %1216 = getelementptr inbounds nuw i8, ptr %0, i64 128 - %1217 = load ptr, ptr %1216, align 8 - %1218 = load i32, ptr %1188, align 4 - %1219 = sext i32 %1218 to i64 - %1220 = getelementptr inbounds i32, ptr %1217, i64 %1219 - store i32 -2147483536, ptr %1220, align 4 - %1221 = load ptr, ptr %1216, align 8 - %1222 = load i32, ptr %1171, align 8 - %1223 = sext i32 %1222 to i64 - %1224 = getelementptr inbounds i32, ptr %1221, i64 %1223 - store i32 -1610612736, ptr %1224, align 4 + br i1 %switch1201, label %1247, label %1204 + +1204: ; preds = %1200 + %1205 = getelementptr inbounds nuw i8, ptr %1202, i64 8 + %1206 = load i64, ptr %1205, align 8 + %1207 = icmp eq i64 %1206, 0 + %1208 = add nsw i32 %1173, -1 + %1209 = icmp eq i32 %1190, %1208 + %or.cond1173 = select i1 %1207, i1 %1209, i1 false + br i1 %or.cond1173, label %1210, label %1247 + +1210: ; preds = %1204 + %1211 = load i8, ptr %1192, align 8 + switch i8 %1211, label %1247 [ + i8 45, label %1212 + i8 44, label %.thread1222 + i8 25, label %1226 + i8 46, label %.thread1222 + i8 24, label %1226 + ] + +1212: ; preds = %1210 + %1213 = getelementptr inbounds %struct._ir_use_list, ptr %1179, i64 %1191, i32 1 + %1214 = load i32, ptr %1213, align 4 + %1215 = icmp eq i32 %1214, 1 + br i1 %1215, label %1216, label %.thread1222 + +1216: ; preds = %1212 + tail call fastcc void @ir_match_fuse_load_test_int(ptr noundef nonnull %0, ptr noundef nonnull %1192, i32 noundef %1) + %1217 = getelementptr inbounds nuw i8, ptr %0, i64 128 + %1218 = load ptr, ptr %1217, align 8 + %1219 = load i32, ptr %1189, align 4 + %1220 = sext i32 %1219 to i64 + %1221 = getelementptr inbounds i32, ptr %1218, i64 %1220 + store i32 -2147483536, ptr %1221, align 4 + %1222 = load ptr, ptr %1217, align 8 + %1223 = load i32, ptr %1172, align 8 + %1224 = sext i32 %1223 to i64 + %1225 = getelementptr inbounds i32, ptr %1222, i64 %1224 + store i32 -1610612736, ptr %1225, align 4 br label %ir_match_fuse_load_cmp_fp.exit -1225: ; preds = %1209, %1209 - %1226 = and i8 %1185, 30 - %switch1203 = icmp eq i8 %1226, 14 - br i1 %switch1203, label %.thread1220, label %1246 - -.thread1220: ; preds = %1209, %1209, %1211, %1225 - %1227 = zext nneg i8 %1210 to i64 - %1228 = getelementptr inbounds nuw [106 x i32], ptr @ir_op_flags, i64 0, i64 %1227 - %1229 = load i32, ptr %1228, align 4 - %1230 = and i32 %1229, 2048 - %.not1107 = icmp eq i32 %1230, 0 - br i1 %.not1107, label %1232, label %1231 - -1231: ; preds = %.thread1220 - tail call fastcc void @ir_match_fuse_load_commutative_int(ptr noundef nonnull %0, ptr noundef nonnull %1191, i32 noundef %1) - br label %1235 - -1232: ; preds = %.thread1220 - %1233 = getelementptr inbounds nuw i8, ptr %1191, i64 8 - %1234 = load i32, ptr %1233, align 8 - tail call fastcc void @ir_match_fuse_load(ptr noundef nonnull %0, i32 noundef %1234, i32 noundef %1) - br label %1235 - -1235: ; preds = %1232, %1231 - %.sink = phi i32 [ 140, %1232 ], [ 134217868, %1231 ] - %1236 = getelementptr inbounds nuw i8, ptr %0, i64 128 - %1237 = load ptr, ptr %1236, align 8 - %1238 = load i32, ptr %1188, align 4 - %1239 = sext i32 %1238 to i64 - %1240 = getelementptr inbounds i32, ptr %1237, i64 %1239 - store i32 %.sink, ptr %1240, align 4 - %1241 = getelementptr inbounds nuw i8, ptr %0, i64 128 - %1242 = load ptr, ptr %1241, align 8 - %1243 = load i32, ptr %1171, align 8 - %1244 = sext i32 %1243 to i64 - %1245 = getelementptr inbounds i32, ptr %1242, i64 %1244 - store i32 -2147483541, ptr %1245, align 4 +1226: ; preds = %1210, %1210 + %1227 = and i8 %1186, 30 + %switch1203 = icmp eq i8 %1227, 14 + br i1 %switch1203, label %.thread1222, label %1247 + +.thread1222: ; preds = %1210, %1210, %1212, %1226 + %1228 = zext nneg i8 %1211 to i64 + %1229 = getelementptr inbounds nuw [106 x i32], ptr @ir_op_flags, i64 0, i64 %1228 + %1230 = load i32, ptr %1229, align 4 + %1231 = and i32 %1230, 2048 + %.not1107 = icmp eq i32 %1231, 0 + br i1 %.not1107, label %1233, label %1232 + +1232: ; preds = %.thread1222 + tail call fastcc void @ir_match_fuse_load_commutative_int(ptr noundef nonnull %0, ptr noundef nonnull %1192, i32 noundef %1) + br label %1236 + +1233: ; preds = %.thread1222 + %1234 = getelementptr inbounds nuw i8, ptr %1192, i64 8 + %1235 = load i32, ptr %1234, align 8 + tail call fastcc void @ir_match_fuse_load(ptr noundef nonnull %0, i32 noundef %1235, i32 noundef %1) + br label %1236 + +1236: ; preds = %1233, %1232 + %.sink = phi i32 [ 140, %1233 ], [ 134217868, %1232 ] + %1237 = getelementptr inbounds nuw i8, ptr %0, i64 128 + %1238 = load ptr, ptr %1237, align 8 + %1239 = load i32, ptr %1189, align 4 + %1240 = sext i32 %1239 to i64 + %1241 = getelementptr inbounds i32, ptr %1238, i64 %1240 + store i32 %.sink, ptr %1241, align 4 + %1242 = getelementptr inbounds nuw i8, ptr %0, i64 128 + %1243 = load ptr, ptr %1242, align 8 + %1244 = load i32, ptr %1172, align 8 + %1245 = sext i32 %1244 to i64 + %1246 = getelementptr inbounds i32, ptr %1243, i64 %1245 + store i32 -2147483541, ptr %1246, align 4 br label %ir_match_fuse_load_cmp_fp.exit -1246: ; preds = %1209, %1225, %1199, %1203, %1195 - tail call fastcc void @ir_match_fuse_load_cmp_int(ptr noundef nonnull %0, ptr noundef nonnull %1184, i32 noundef %1) - %1247 = getelementptr inbounds nuw i8, ptr %0, i64 128 - %1248 = load ptr, ptr %1247, align 8 - %1249 = load i32, ptr %1171, align 8 - %1250 = sext i32 %1249 to i64 - %1251 = getelementptr inbounds i32, ptr %1248, i64 %1250 - store i32 -2147483541, ptr %1251, align 4 +1247: ; preds = %1210, %1226, %1200, %1204, %1196 + tail call fastcc void @ir_match_fuse_load_cmp_int(ptr noundef nonnull %0, ptr noundef nonnull %1185, i32 noundef %1) + %1248 = getelementptr inbounds nuw i8, ptr %0, i64 128 + %1249 = load ptr, ptr %1248, align 8 + %1250 = load i32, ptr %1172, align 8 + %1251 = sext i32 %1250 to i64 + %1252 = getelementptr inbounds i32, ptr %1249, i64 %1251 + store i32 -2147483541, ptr %1252, align 4 br label %ir_match_fuse_load_cmp_fp.exit -1252: ; preds = %1187 - tail call fastcc void @ir_match_fuse_load_cmp_fp_br(ptr noundef nonnull %0, ptr noundef nonnull %1184, i32 noundef %1, i1 noundef zeroext true) - %1253 = getelementptr inbounds nuw i8, ptr %0, i64 128 - %1254 = load ptr, ptr %1253, align 8 - %1255 = load i32, ptr %1171, align 8 - %1256 = sext i32 %1255 to i64 - %1257 = getelementptr inbounds i32, ptr %1254, i64 %1256 - store i32 -2147483540, ptr %1257, align 4 +1253: ; preds = %1188 + tail call fastcc void @ir_match_fuse_load_cmp_fp_br(ptr noundef nonnull %0, ptr noundef nonnull %1185, i32 noundef %1, i1 noundef zeroext true) + %1254 = getelementptr inbounds nuw i8, ptr %0, i64 128 + %1255 = load ptr, ptr %1254, align 8 + %1256 = load i32, ptr %1172, align 8 + %1257 = sext i32 %1256 to i64 + %1258 = getelementptr inbounds i32, ptr %1255, i64 %1257 + store i32 -2147483540, ptr %1258, align 4 br label %ir_match_fuse_load_cmp_fp.exit -1258: ; preds = %1183 - switch i8 %1185, label %1269 [ - i8 45, label %1259 - i8 42, label %1265 +1259: ; preds = %1184 + switch i8 %1186, label %1270 [ + i8 45, label %1260 + i8 42, label %1266 ] -1259: ; preds = %1258 - tail call fastcc void @ir_match_fuse_load_test_int(ptr noundef nonnull %0, ptr noundef nonnull %1184, i32 noundef %1) - %1260 = getelementptr inbounds nuw i8, ptr %0, i64 128 - %1261 = load ptr, ptr %1260, align 8 - %1262 = load i32, ptr %1171, align 8 - %1263 = sext i32 %1262 to i64 - %1264 = getelementptr inbounds i32, ptr %1261, i64 %1263 - store i32 -2147483536, ptr %1264, align 4 +1260: ; preds = %1259 + tail call fastcc void @ir_match_fuse_load_test_int(ptr noundef nonnull %0, ptr noundef nonnull %1185, i32 noundef %1) + %1261 = getelementptr inbounds nuw i8, ptr %0, i64 128 + %1262 = load ptr, ptr %1261, align 8 + %1263 = load i32, ptr %1172, align 8 + %1264 = sext i32 %1263 to i64 + %1265 = getelementptr inbounds i32, ptr %1262, i64 %1264 + store i32 -2147483536, ptr %1265, align 4 br label %ir_match_fuse_load_cmp_fp.exit -1265: ; preds = %1258 - %1266 = getelementptr inbounds nuw i8, ptr %0, i64 128 - %1267 = load ptr, ptr %1266, align 8 - %1268 = getelementptr inbounds i32, ptr %1267, i64 %1179 - store i32 -1610612694, ptr %1268, align 4 +1266: ; preds = %1259 + %1267 = getelementptr inbounds nuw i8, ptr %0, i64 128 + %1268 = load ptr, ptr %1267, align 8 + %1269 = getelementptr inbounds i32, ptr %1268, i64 %1180 + store i32 -1610612694, ptr %1269, align 4 br label %ir_match_fuse_load_cmp_fp.exit -1269: ; preds = %._crit_edge1262, %1258, %1176 - %.pre-phi = phi i64 [ %.pre1263, %._crit_edge1262 ], [ %1179, %1258 ], [ %1179, %1176 ] - %1270 = getelementptr inbounds %struct._ir_insn, ptr %3, i64 %.pre-phi - %1271 = getelementptr inbounds nuw i8, ptr %1270, i64 1 - %1272 = load i8, ptr %1271, align 1 - %1273 = icmp ult i8 %1272, 12 - br i1 %1273, label %1274, label %1866 - -1274: ; preds = %1269 - %1275 = add nsw i32 %1, -1 - %1276 = icmp ne i32 %1172, %1275 - %brmerge = or i1 %1276, %1175 - br i1 %brmerge, label %1298, label %1277 - -1277: ; preds = %1274 - %1278 = load i8, ptr %1270, align 8 - switch i8 %1278, label %1402 [ - i8 24, label %1279 - i8 25, label %1279 - i8 44, label %1279 - i8 45, label %1279 - i8 46, label %1279 - ] - -1279: ; preds = %1277, %1277, %1277, %1277, %1277 - %1280 = zext nneg i8 %1278 to i64 - %1281 = getelementptr inbounds nuw [106 x i32], ptr @ir_op_flags, i64 0, i64 %1280 - %1282 = load i32, ptr %1281, align 4 - %1283 = and i32 %1282, 2048 - %.not1106 = icmp eq i32 %1283, 0 - br i1 %.not1106, label %1290, label %1284 - -1284: ; preds = %1279 - tail call fastcc void @ir_match_fuse_load_commutative_int(ptr noundef nonnull %0, ptr noundef nonnull %1270, i32 noundef %1) - %1285 = getelementptr inbounds nuw i8, ptr %0, i64 128 - %1286 = load ptr, ptr %1285, align 8 - %1287 = load i32, ptr %1171, align 8 - %1288 = sext i32 %1287 to i64 - %1289 = getelementptr inbounds i32, ptr %1286, i64 %1288 - store i32 134217868, ptr %1289, align 4 +1270: ; preds = %._crit_edge1265, %1259, %1177 + %.pre-phi = phi i64 [ %.pre1266, %._crit_edge1265 ], [ %1180, %1259 ], [ %1180, %1177 ] + %1271 = getelementptr inbounds %struct._ir_insn, ptr %3, i64 %.pre-phi + %1272 = getelementptr inbounds nuw i8, ptr %1271, i64 1 + %1273 = load i8, ptr %1272, align 1 + %1274 = icmp ult i8 %1273, 12 + br i1 %1274, label %1275, label %1867 + +1275: ; preds = %1270 + %1276 = add nsw i32 %1, -1 + %1277 = icmp ne i32 %1173, %1276 + %brmerge = or i1 %1277, %1176 + br i1 %brmerge, label %1299, label %1278 + +1278: ; preds = %1275 + %1279 = load i8, ptr %1271, align 8 + switch i8 %1279, label %1403 [ + i8 24, label %1280 + i8 25, label %1280 + i8 44, label %1280 + i8 45, label %1280 + i8 46, label %1280 + ] + +1280: ; preds = %1278, %1278, %1278, %1278, %1278 + %1281 = zext nneg i8 %1279 to i64 + %1282 = getelementptr inbounds nuw [106 x i32], ptr @ir_op_flags, i64 0, i64 %1281 + %1283 = load i32, ptr %1282, align 4 + %1284 = and i32 %1283, 2048 + %.not1106 = icmp eq i32 %1284, 0 + br i1 %.not1106, label %1291, label %1285 + +1285: ; preds = %1280 + tail call fastcc void @ir_match_fuse_load_commutative_int(ptr noundef nonnull %0, ptr noundef nonnull %1271, i32 noundef %1) + %1286 = getelementptr inbounds nuw i8, ptr %0, i64 128 + %1287 = load ptr, ptr %1286, align 8 + %1288 = load i32, ptr %1172, align 8 + %1289 = sext i32 %1288 to i64 + %1290 = getelementptr inbounds i32, ptr %1287, i64 %1289 + store i32 134217868, ptr %1290, align 4 br label %ir_match_fuse_load_cmp_fp.exit -1290: ; preds = %1279 - %1291 = getelementptr inbounds nuw i8, ptr %1270, i64 8 - %1292 = load i32, ptr %1291, align 8 - tail call fastcc void @ir_match_fuse_load(ptr noundef nonnull %0, i32 noundef %1292, i32 noundef %1) - %1293 = getelementptr inbounds nuw i8, ptr %0, i64 128 - %1294 = load ptr, ptr %1293, align 8 - %1295 = load i32, ptr %1171, align 8 - %1296 = sext i32 %1295 to i64 - %1297 = getelementptr inbounds i32, ptr %1294, i64 %1296 - store i32 140, ptr %1297, align 4 +1291: ; preds = %1280 + %1292 = getelementptr inbounds nuw i8, ptr %1271, i64 8 + %1293 = load i32, ptr %1292, align 8 + tail call fastcc void @ir_match_fuse_load(ptr noundef nonnull %0, i32 noundef %1293, i32 noundef %1) + %1294 = getelementptr inbounds nuw i8, ptr %0, i64 128 + %1295 = load ptr, ptr %1294, align 8 + %1296 = load i32, ptr %1172, align 8 + %1297 = sext i32 %1296 to i64 + %1298 = getelementptr inbounds i32, ptr %1295, i64 %1297 + store i32 140, ptr %1298, align 4 br label %ir_match_fuse_load_cmp_fp.exit -1298: ; preds = %1274 - %1299 = getelementptr inbounds nuw i8, ptr %0, i64 24 - %1300 = load i32, ptr %1299, align 8 - %1301 = and i32 %1300, 524288 - %.not1104 = icmp eq i32 %1301, 0 - br i1 %.not1104, label %1402, label %1302 - -1302: ; preds = %1298 - %1303 = getelementptr inbounds nuw i8, ptr %5, i64 4 - %1304 = load i32, ptr %1303, align 4 - %1305 = icmp ne i32 %1304, %1275 - %1306 = add nsw i32 %1, -2 - %1307 = icmp ne i32 %1172, %1306 - %or.cond.not1232 = select i1 %1305, i1 true, i1 %1307 - %brmerge1226 = or i1 %1175, %or.cond.not1232 - br i1 %brmerge1226, label %1402, label %1308 - -1308: ; preds = %1302 - %1309 = getelementptr inbounds nuw i8, ptr %0, i64 72 - %1310 = load ptr, ptr %1309, align 8 - %1311 = getelementptr inbounds %struct._ir_use_list, ptr %1310, i64 %.pre-phi, i32 1 - %1312 = load i32, ptr %1311, align 4 - %1313 = icmp eq i32 %1312, 2 - br i1 %1313, label %1314, label %1402 - -1314: ; preds = %1308 - %1315 = sext i32 %1275 to i64 - %1316 = getelementptr inbounds %struct._ir_insn, ptr %3, i64 %1315 - %1317 = load i8, ptr %1316, align 8 - %1318 = icmp eq i8 %1317, 79 - br i1 %1318, label %1319, label %1402 - -1319: ; preds = %1314 - %1320 = getelementptr inbounds nuw i8, ptr %1316, i64 8 - %1321 = getelementptr inbounds nuw i8, ptr %1316, i64 12 - %1322 = load i32, ptr %1321, align 4 - %1323 = icmp eq i32 %1322, %1172 - br i1 %1323, label %1324, label %1402 - -1324: ; preds = %1319 - %1325 = load i8, ptr %1270, align 8 - switch i8 %1325, label %1402 [ - i8 24, label %1326 - i8 25, label %1326 - i8 44, label %1326 - i8 45, label %1326 - i8 46, label %1326 - ] - -1326: ; preds = %1324, %1324, %1324, %1324, %1324 - %1327 = getelementptr inbounds nuw i8, ptr %1270, i64 4 - %1328 = load i32, ptr %1327, align 4 - %1329 = sext i32 %1328 to i64 - %1330 = getelementptr inbounds %struct._ir_insn, ptr %3, i64 %1329 - %1331 = load i8, ptr %1330, align 8 - %1332 = icmp eq i8 %1331, 78 - br i1 %1332, label %1333, label %1361 - -1333: ; preds = %1326 - %1334 = getelementptr inbounds nuw i8, ptr %1330, i64 8 - %1335 = load i32, ptr %1334, align 8 - %1336 = load i32, ptr %1320, align 8 - %1337 = icmp eq i32 %1335, %1336 - br i1 %1337, label %1338, label %1361 - -1338: ; preds = %1333 - %1339 = icmp sgt i32 %1328, %1174 - br i1 %1339, label %1340, label %1402 - -1340: ; preds = %1338 - %1341 = getelementptr inbounds %struct._ir_use_list, ptr %1310, i64 %1329, i32 1 - %1342 = load i32, ptr %1341, align 4 - %1343 = icmp eq i32 %1342, 2 - br i1 %1343, label %1344, label %1402 - -1344: ; preds = %1340 - %1345 = getelementptr inbounds nuw i8, ptr %1316, i64 4 - %1346 = load i32, ptr %1345, align 4 - %1347 = icmp eq i32 %1346, %1328 - br i1 %1347, label %1348, label %1402 - -1348: ; preds = %1344 - %1349 = getelementptr inbounds nuw i8, ptr %0, i64 128 - %1350 = load ptr, ptr %1349, align 8 - %1351 = getelementptr inbounds i32, ptr %1350, i64 %.pre-phi - store i32 -2147483508, ptr %1351, align 4 - %1352 = load ptr, ptr %1349, align 8 - %1353 = load i32, ptr %1327, align 4 - %1354 = sext i32 %1353 to i64 - %1355 = getelementptr inbounds i32, ptr %1352, i64 %1354 - store i32 1073741902, ptr %1355, align 4 - %1356 = load i32, ptr %1320, align 8 - tail call fastcc void @ir_match_fuse_addr(ptr noundef nonnull %0, i32 noundef %1356) - %1357 = load ptr, ptr %1349, align 8 - %1358 = load i32, ptr %1303, align 4 - %1359 = sext i32 %1358 to i64 - %1360 = getelementptr inbounds i32, ptr %1357, i64 %1359 - store i32 164, ptr %1360, align 4 +1299: ; preds = %1275 + %1300 = getelementptr inbounds nuw i8, ptr %0, i64 24 + %1301 = load i32, ptr %1300, align 8 + %1302 = and i32 %1301, 524288 + %.not1104 = icmp eq i32 %1302, 0 + br i1 %.not1104, label %1403, label %1303 + +1303: ; preds = %1299 + %1304 = getelementptr inbounds nuw i8, ptr %5, i64 4 + %1305 = load i32, ptr %1304, align 4 + %1306 = icmp ne i32 %1305, %1276 + %1307 = add nsw i32 %1, -2 + %1308 = icmp ne i32 %1173, %1307 + %or.cond1227.not1235 = select i1 %1306, i1 true, i1 %1308 + %brmerge1229 = or i1 %1176, %or.cond1227.not1235 + br i1 %brmerge1229, label %1403, label %1309 + +1309: ; preds = %1303 + %1310 = getelementptr inbounds nuw i8, ptr %0, i64 72 + %1311 = load ptr, ptr %1310, align 8 + %1312 = getelementptr inbounds %struct._ir_use_list, ptr %1311, i64 %.pre-phi, i32 1 + %1313 = load i32, ptr %1312, align 4 + %1314 = icmp eq i32 %1313, 2 + br i1 %1314, label %1315, label %1403 + +1315: ; preds = %1309 + %1316 = sext i32 %1276 to i64 + %1317 = getelementptr inbounds %struct._ir_insn, ptr %3, i64 %1316 + %1318 = load i8, ptr %1317, align 8 + %1319 = icmp eq i8 %1318, 79 + br i1 %1319, label %1320, label %1403 + +1320: ; preds = %1315 + %1321 = getelementptr inbounds nuw i8, ptr %1317, i64 8 + %1322 = getelementptr inbounds nuw i8, ptr %1317, i64 12 + %1323 = load i32, ptr %1322, align 4 + %1324 = icmp eq i32 %1323, %1173 + br i1 %1324, label %1325, label %1403 + +1325: ; preds = %1320 + %1326 = load i8, ptr %1271, align 8 + switch i8 %1326, label %1403 [ + i8 24, label %1327 + i8 25, label %1327 + i8 44, label %1327 + i8 45, label %1327 + i8 46, label %1327 + ] + +1327: ; preds = %1325, %1325, %1325, %1325, %1325 + %1328 = getelementptr inbounds nuw i8, ptr %1271, i64 4 + %1329 = load i32, ptr %1328, align 4 + %1330 = sext i32 %1329 to i64 + %1331 = getelementptr inbounds %struct._ir_insn, ptr %3, i64 %1330 + %1332 = load i8, ptr %1331, align 8 + %1333 = icmp eq i8 %1332, 78 + br i1 %1333, label %1334, label %1362 + +1334: ; preds = %1327 + %1335 = getelementptr inbounds nuw i8, ptr %1331, i64 8 + %1336 = load i32, ptr %1335, align 8 + %1337 = load i32, ptr %1321, align 8 + %1338 = icmp eq i32 %1336, %1337 + br i1 %1338, label %1339, label %1362 + +1339: ; preds = %1334 + %1340 = icmp sgt i32 %1329, %1175 + br i1 %1340, label %1341, label %1403 + +1341: ; preds = %1339 + %1342 = getelementptr inbounds %struct._ir_use_list, ptr %1311, i64 %1330, i32 1 + %1343 = load i32, ptr %1342, align 4 + %1344 = icmp eq i32 %1343, 2 + br i1 %1344, label %1345, label %1403 + +1345: ; preds = %1341 + %1346 = getelementptr inbounds nuw i8, ptr %1317, i64 4 + %1347 = load i32, ptr %1346, align 4 + %1348 = icmp eq i32 %1347, %1329 + br i1 %1348, label %1349, label %1403 + +1349: ; preds = %1345 + %1350 = getelementptr inbounds nuw i8, ptr %0, i64 128 + %1351 = load ptr, ptr %1350, align 8 + %1352 = getelementptr inbounds i32, ptr %1351, i64 %.pre-phi + store i32 -2147483508, ptr %1352, align 4 + %1353 = load ptr, ptr %1350, align 8 + %1354 = load i32, ptr %1328, align 4 + %1355 = sext i32 %1354 to i64 + %1356 = getelementptr inbounds i32, ptr %1353, i64 %1355 + store i32 1073741902, ptr %1356, align 4 + %1357 = load i32, ptr %1321, align 8 + tail call fastcc void @ir_match_fuse_addr(ptr noundef nonnull %0, i32 noundef %1357) + %1358 = load ptr, ptr %1350, align 8 + %1359 = load i32, ptr %1304, align 4 + %1360 = sext i32 %1359 to i64 + %1361 = getelementptr inbounds i32, ptr %1358, i64 %1360 + store i32 164, ptr %1361, align 4 br label %ir_match_fuse_load_cmp_fp.exit -1361: ; preds = %1333, %1326 - %1362 = zext nneg i8 %1325 to i64 - %1363 = getelementptr inbounds nuw [106 x i32], ptr @ir_op_flags, i64 0, i64 %1362 - %1364 = load i32, ptr %1363, align 4 - %1365 = and i32 %1364, 2048 - %.not1105 = icmp eq i32 %1365, 0 - br i1 %.not1105, label %1402, label %1366 - -1366: ; preds = %1361 - %1367 = getelementptr inbounds nuw i8, ptr %1270, i64 8 - %1368 = load i32, ptr %1367, align 8 - %1369 = sext i32 %1368 to i64 - %1370 = getelementptr inbounds %struct._ir_insn, ptr %3, i64 %1369 - %1371 = load i8, ptr %1370, align 8 - %1372 = icmp eq i8 %1371, 78 - br i1 %1372, label %1373, label %1402 - -1373: ; preds = %1366 - %1374 = getelementptr inbounds nuw i8, ptr %1370, i64 8 - %1375 = load i32, ptr %1374, align 8 - %1376 = load i32, ptr %1320, align 8 - %1377 = icmp eq i32 %1375, %1376 - %1378 = icmp sgt i32 %1368, %1174 - %or.cond1227 = and i1 %1378, %1377 - br i1 %or.cond1227, label %1379, label %1402 - -1379: ; preds = %1373 - %1380 = getelementptr inbounds %struct._ir_use_list, ptr %1310, i64 %1369, i32 1 - %1381 = load i32, ptr %1380, align 4 - %1382 = icmp eq i32 %1381, 2 - br i1 %1382, label %1383, label %1402 - -1383: ; preds = %1379 - %1384 = getelementptr inbounds nuw i8, ptr %1316, i64 4 - %1385 = load i32, ptr %1384, align 4 - %1386 = icmp eq i32 %1385, %1368 - br i1 %1386, label %1387, label %1402 - -1387: ; preds = %1383 - store i32 %1368, ptr %1327, align 4 - store i32 %1328, ptr %1367, align 8 - %1388 = getelementptr inbounds nuw i8, ptr %0, i64 128 - %1389 = load ptr, ptr %1388, align 8 - %1390 = load i32, ptr %1171, align 8 - %1391 = sext i32 %1390 to i64 - %1392 = getelementptr inbounds i32, ptr %1389, i64 %1391 - store i32 -2147483508, ptr %1392, align 4 - %1393 = load ptr, ptr %1388, align 8 - %1394 = load i32, ptr %1327, align 4 - %1395 = sext i32 %1394 to i64 - %1396 = getelementptr inbounds i32, ptr %1393, i64 %1395 - store i32 1073741902, ptr %1396, align 4 - %1397 = load i32, ptr %1320, align 8 - tail call fastcc void @ir_match_fuse_addr(ptr noundef nonnull %0, i32 noundef %1397) - %1398 = load ptr, ptr %1388, align 8 - %1399 = load i32, ptr %1303, align 4 - %1400 = sext i32 %1399 to i64 - %1401 = getelementptr inbounds i32, ptr %1398, i64 %1400 - store i32 164, ptr %1401, align 4 +1362: ; preds = %1334, %1327 + %1363 = zext nneg i8 %1326 to i64 + %1364 = getelementptr inbounds nuw [106 x i32], ptr @ir_op_flags, i64 0, i64 %1363 + %1365 = load i32, ptr %1364, align 4 + %1366 = and i32 %1365, 2048 + %.not1105 = icmp eq i32 %1366, 0 + br i1 %.not1105, label %1403, label %1367 + +1367: ; preds = %1362 + %1368 = getelementptr inbounds nuw i8, ptr %1271, i64 8 + %1369 = load i32, ptr %1368, align 8 + %1370 = sext i32 %1369 to i64 + %1371 = getelementptr inbounds %struct._ir_insn, ptr %3, i64 %1370 + %1372 = load i8, ptr %1371, align 8 + %1373 = icmp eq i8 %1372, 78 + br i1 %1373, label %1374, label %1403 + +1374: ; preds = %1367 + %1375 = getelementptr inbounds nuw i8, ptr %1371, i64 8 + %1376 = load i32, ptr %1375, align 8 + %1377 = load i32, ptr %1321, align 8 + %1378 = icmp eq i32 %1376, %1377 + %1379 = icmp sgt i32 %1369, %1175 + %or.cond1230 = and i1 %1379, %1378 + br i1 %or.cond1230, label %1380, label %1403 + +1380: ; preds = %1374 + %1381 = getelementptr inbounds %struct._ir_use_list, ptr %1311, i64 %1370, i32 1 + %1382 = load i32, ptr %1381, align 4 + %1383 = icmp eq i32 %1382, 2 + br i1 %1383, label %1384, label %1403 + +1384: ; preds = %1380 + %1385 = getelementptr inbounds nuw i8, ptr %1317, i64 4 + %1386 = load i32, ptr %1385, align 4 + %1387 = icmp eq i32 %1386, %1369 + br i1 %1387, label %1388, label %1403 + +1388: ; preds = %1384 + store i32 %1369, ptr %1328, align 4 + store i32 %1329, ptr %1368, align 8 + %1389 = getelementptr inbounds nuw i8, ptr %0, i64 128 + %1390 = load ptr, ptr %1389, align 8 + %1391 = load i32, ptr %1172, align 8 + %1392 = sext i32 %1391 to i64 + %1393 = getelementptr inbounds i32, ptr %1390, i64 %1392 + store i32 -2147483508, ptr %1393, align 4 + %1394 = load ptr, ptr %1389, align 8 + %1395 = load i32, ptr %1328, align 4 + %1396 = sext i32 %1395 to i64 + %1397 = getelementptr inbounds i32, ptr %1394, i64 %1396 + store i32 1073741902, ptr %1397, align 4 + %1398 = load i32, ptr %1321, align 8 + tail call fastcc void @ir_match_fuse_addr(ptr noundef nonnull %0, i32 noundef %1398) + %1399 = load ptr, ptr %1389, align 8 + %1400 = load i32, ptr %1304, align 4 + %1401 = sext i32 %1400 to i64 + %1402 = getelementptr inbounds i32, ptr %1399, i64 %1401 + store i32 164, ptr %1402, align 4 br label %ir_match_fuse_load_cmp_fp.exit -1402: ; preds = %1302, %1324, %1277, %1298, %1308, %1361, %1366, %1373, %1383, %1379, %1338, %1340, %1344, %1319, %1314 - tail call fastcc void @ir_match_fuse_load(ptr noundef nonnull %0, i32 noundef %1172, i32 noundef %1) +1403: ; preds = %1303, %1325, %1278, %1299, %1309, %1362, %1367, %1374, %1384, %1380, %1339, %1341, %1345, %1320, %1315 + tail call fastcc void @ir_match_fuse_load(ptr noundef nonnull %0, i32 noundef %1173, i32 noundef %1) br label %ir_match_fuse_load_cmp_fp.exit -1403: ; preds = %2, %2 - %1404 = getelementptr inbounds nuw i8, ptr %5, i64 8 - %1405 = load i32, ptr %1404, align 8 - %1406 = getelementptr inbounds nuw i8, ptr %0, i64 248 - %1407 = load i32, ptr %1406, align 8 - %1408 = icmp sgt i32 %1405, %1407 - br i1 %1408, label %1409, label %ir_match_fuse_load.exit1213 - -1409: ; preds = %1403 - %1410 = getelementptr inbounds nuw i8, ptr %0, i64 72 - %1411 = load ptr, ptr %1410, align 8 - %1412 = sext i32 %1405 to i64 - %1413 = getelementptr inbounds %struct._ir_use_list, ptr %1411, i64 %1412, i32 1 - %1414 = load i32, ptr %1413, align 4 - %1415 = icmp eq i32 %1414, 1 - %1416 = getelementptr inbounds %struct._ir_insn, ptr %3, i64 %1412 - %1417 = load i8, ptr %1416, align 8 - br i1 %1415, label %1418, label %1617 - -1418: ; preds = %1409 - %1419 = add i8 %1417, -14 - %or.cond1174 = icmp ult i8 %1419, 10 - br i1 %or.cond1174, label %1420, label %1606 - -1420: ; preds = %1418 - %1421 = add nsw i32 %1, -1 - %1422 = icmp eq i32 %1405, %1421 - br i1 %1422, label %1435, label %1423 - -1423: ; preds = %1420 - %1424 = getelementptr inbounds nuw i8, ptr %0, i64 240 - %1425 = load ptr, ptr %1424, align 8 - %1426 = getelementptr inbounds i32, ptr %1425, i64 %4 - %1427 = load i32, ptr %1426, align 4 - %1428 = add nsw i32 %1427, -1 - %1429 = icmp eq i32 %1405, %1428 - br i1 %1429, label %1430, label %1606 - -1430: ; preds = %1423 - %1431 = sext i32 %1427 to i64 - %1432 = getelementptr inbounds %struct._ir_insn, ptr %3, i64 %1431 - %1433 = load i8, ptr %1432, align 8 - %1434 = icmp eq i8 %1433, 88 - br i1 %1434, label %1435, label %1606 - -1435: ; preds = %1430, %1420 - %1436 = getelementptr inbounds nuw i8, ptr %1416, i64 4 - %1437 = load i32, ptr %1436, align 4 - %1438 = sext i32 %1437 to i64 - %1439 = getelementptr inbounds %struct._ir_insn, ptr %3, i64 %1438 - %1440 = getelementptr inbounds nuw i8, ptr %1439, i64 1 - %1441 = load i8, ptr %1440, align 1 - %1442 = icmp ult i8 %1441, 12 - br i1 %1442, label %1443, label %1599 - -1443: ; preds = %1435 - %1444 = getelementptr inbounds nuw i8, ptr %1416, i64 8 - %1445 = load i32, ptr %1444, align 8 - %1446 = icmp slt i32 %1445, 0 - br i1 %1446, label %1447, label %1593 - -1447: ; preds = %1443 - %1448 = sext i32 %1445 to i64 - %1449 = getelementptr inbounds %struct._ir_insn, ptr %3, i64 %1448 - %1450 = load i8, ptr %1449, align 8 - %.off1204 = add i8 %1450, -66 +1404: ; preds = %2, %2 + %1405 = getelementptr inbounds nuw i8, ptr %5, i64 8 + %1406 = load i32, ptr %1405, align 8 + %1407 = getelementptr inbounds nuw i8, ptr %0, i64 248 + %1408 = load i32, ptr %1407, align 8 + %1409 = icmp sgt i32 %1406, %1408 + br i1 %1409, label %1410, label %ir_match_fuse_load.exit1213 + +1410: ; preds = %1404 + %1411 = getelementptr inbounds nuw i8, ptr %0, i64 72 + %1412 = load ptr, ptr %1411, align 8 + %1413 = sext i32 %1406 to i64 + %1414 = getelementptr inbounds %struct._ir_use_list, ptr %1412, i64 %1413, i32 1 + %1415 = load i32, ptr %1414, align 4 + %1416 = icmp eq i32 %1415, 1 + %1417 = getelementptr inbounds %struct._ir_insn, ptr %3, i64 %1413 + %1418 = load i8, ptr %1417, align 8 + br i1 %1416, label %1419, label %1618 + +1419: ; preds = %1410 + %1420 = add i8 %1418, -14 + %or.cond1174 = icmp ult i8 %1420, 10 + br i1 %or.cond1174, label %1421, label %1607 + +1421: ; preds = %1419 + %1422 = add nsw i32 %1, -1 + %1423 = icmp eq i32 %1406, %1422 + br i1 %1423, label %1436, label %1424 + +1424: ; preds = %1421 + %1425 = getelementptr inbounds nuw i8, ptr %0, i64 240 + %1426 = load ptr, ptr %1425, align 8 + %1427 = getelementptr inbounds i32, ptr %1426, i64 %4 + %1428 = load i32, ptr %1427, align 4 + %1429 = add nsw i32 %1428, -1 + %1430 = icmp eq i32 %1406, %1429 + br i1 %1430, label %1431, label %1607 + +1431: ; preds = %1424 + %1432 = sext i32 %1428 to i64 + %1433 = getelementptr inbounds %struct._ir_insn, ptr %3, i64 %1432 + %1434 = load i8, ptr %1433, align 8 + %1435 = icmp eq i8 %1434, 88 + br i1 %1435, label %1436, label %1607 + +1436: ; preds = %1431, %1421 + %1437 = getelementptr inbounds nuw i8, ptr %1417, i64 4 + %1438 = load i32, ptr %1437, align 4 + %1439 = sext i32 %1438 to i64 + %1440 = getelementptr inbounds %struct._ir_insn, ptr %3, i64 %1439 + %1441 = getelementptr inbounds nuw i8, ptr %1440, i64 1 + %1442 = load i8, ptr %1441, align 1 + %1443 = icmp ult i8 %1442, 12 + br i1 %1443, label %1444, label %1600 + +1444: ; preds = %1436 + %1445 = getelementptr inbounds nuw i8, ptr %1417, i64 8 + %1446 = load i32, ptr %1445, align 8 + %1447 = icmp slt i32 %1446, 0 + br i1 %1447, label %1448, label %1594 + +1448: ; preds = %1444 + %1449 = sext i32 %1446 to i64 + %1450 = getelementptr inbounds %struct._ir_insn, ptr %3, i64 %1449 + %1451 = load i8, ptr %1450, align 8 + %.off1204 = add i8 %1451, -66 %switch1205 = icmp ult i8 %.off1204, 3 - br i1 %switch1205, label %1593, label %1451 - -1451: ; preds = %1447 - %1452 = getelementptr inbounds nuw i8, ptr %1449, i64 8 - %1453 = load i64, ptr %1452, align 8 - %1454 = icmp eq i64 %1453, 0 - br i1 %1454, label %1455, label %1593 - -1455: ; preds = %1451 - %1456 = add nsw i32 %1405, -1 - %1457 = icmp eq i32 %1437, %1456 - br i1 %1457, label %1458, label %1482 - -1458: ; preds = %1455 - %1459 = load i8, ptr %1439, align 8 - switch i8 %1459, label %1593 [ - i8 44, label %1462 - i8 45, label %1462 - i8 46, label %1462 - i8 24, label %1460 - i8 25, label %1460 - ] - -1460: ; preds = %1458, %1458 - %1461 = and i8 %1417, 30 - %switch1207 = icmp eq i8 %1461, 14 - br i1 %switch1207, label %1462, label %1593 - -1462: ; preds = %1460, %1458, %1458, %1458 - %1463 = zext nneg i8 %1459 to i64 - %1464 = getelementptr inbounds nuw [106 x i32], ptr @ir_op_flags, i64 0, i64 %1463 - %1465 = load i32, ptr %1464, align 4 - %1466 = and i32 %1465, 2048 - %.not1103 = icmp eq i32 %1466, 0 - br i1 %.not1103, label %1468, label %1467 - -1467: ; preds = %1462 - tail call fastcc void @ir_match_fuse_load_commutative_int(ptr noundef nonnull %0, ptr noundef nonnull %1439, i32 noundef %1) - br label %1471 - -1468: ; preds = %1462 - %1469 = getelementptr inbounds nuw i8, ptr %1439, i64 8 - %1470 = load i32, ptr %1469, align 8 - tail call fastcc void @ir_match_fuse_load(ptr noundef nonnull %0, i32 noundef %1470, i32 noundef %1) - br label %1471 - -1471: ; preds = %1468, %1467 - %.sink1274 = phi i32 [ 140, %1468 ], [ 134217868, %1467 ] - %1472 = getelementptr inbounds nuw i8, ptr %0, i64 128 - %1473 = load ptr, ptr %1472, align 8 - %1474 = load i32, ptr %1436, align 4 - %1475 = sext i32 %1474 to i64 - %1476 = getelementptr inbounds i32, ptr %1473, i64 %1475 - store i32 %.sink1274, ptr %1476, align 4 - %1477 = getelementptr inbounds nuw i8, ptr %0, i64 128 - %1478 = load ptr, ptr %1477, align 8 - %1479 = load i32, ptr %1404, align 8 - %1480 = sext i32 %1479 to i64 - %1481 = getelementptr inbounds i32, ptr %1478, i64 %1480 - store i32 -2147483541, ptr %1481, align 4 + br i1 %switch1205, label %1594, label %1452 + +1452: ; preds = %1448 + %1453 = getelementptr inbounds nuw i8, ptr %1450, i64 8 + %1454 = load i64, ptr %1453, align 8 + %1455 = icmp eq i64 %1454, 0 + br i1 %1455, label %1456, label %1594 + +1456: ; preds = %1452 + %1457 = add nsw i32 %1406, -1 + %1458 = icmp eq i32 %1438, %1457 + br i1 %1458, label %1459, label %1483 + +1459: ; preds = %1456 + %1460 = load i8, ptr %1440, align 8 + switch i8 %1460, label %1594 [ + i8 44, label %1463 + i8 45, label %1463 + i8 46, label %1463 + i8 24, label %1461 + i8 25, label %1461 + ] + +1461: ; preds = %1459, %1459 + %1462 = and i8 %1418, 30 + %switch1207 = icmp eq i8 %1462, 14 + br i1 %switch1207, label %1463, label %1594 + +1463: ; preds = %1461, %1459, %1459, %1459 + %1464 = zext nneg i8 %1460 to i64 + %1465 = getelementptr inbounds nuw [106 x i32], ptr @ir_op_flags, i64 0, i64 %1464 + %1466 = load i32, ptr %1465, align 4 + %1467 = and i32 %1466, 2048 + %.not1103 = icmp eq i32 %1467, 0 + br i1 %.not1103, label %1469, label %1468 + +1468: ; preds = %1463 + tail call fastcc void @ir_match_fuse_load_commutative_int(ptr noundef nonnull %0, ptr noundef nonnull %1440, i32 noundef %1) + br label %1472 + +1469: ; preds = %1463 + %1470 = getelementptr inbounds nuw i8, ptr %1440, i64 8 + %1471 = load i32, ptr %1470, align 8 + tail call fastcc void @ir_match_fuse_load(ptr noundef nonnull %0, i32 noundef %1471, i32 noundef %1) + br label %1472 + +1472: ; preds = %1469, %1468 + %.sink1277 = phi i32 [ 140, %1469 ], [ 134217868, %1468 ] + %1473 = getelementptr inbounds nuw i8, ptr %0, i64 128 + %1474 = load ptr, ptr %1473, align 8 + %1475 = load i32, ptr %1437, align 4 + %1476 = sext i32 %1475 to i64 + %1477 = getelementptr inbounds i32, ptr %1474, i64 %1476 + store i32 %.sink1277, ptr %1477, align 4 + %1478 = getelementptr inbounds nuw i8, ptr %0, i64 128 + %1479 = load ptr, ptr %1478, align 8 + %1480 = load i32, ptr %1405, align 8 + %1481 = sext i32 %1480 to i64 + %1482 = getelementptr inbounds i32, ptr %1479, i64 %1481 + store i32 -2147483541, ptr %1482, align 4 br label %ir_match_fuse_load_cmp_fp.exit -1482: ; preds = %1455 - %1483 = getelementptr inbounds nuw i8, ptr %0, i64 24 - %1484 = load i32, ptr %1483, align 8 - %1485 = and i32 %1484, 524288 - %.not1101 = icmp ne i32 %1485, 0 - %1486 = add nsw i32 %1405, -2 - %1487 = icmp eq i32 %1437, %1486 - %or.cond1176 = select i1 %.not1101, i1 %1487, i1 false - %1488 = icmp sgt i32 %1437, %1407 - %or.cond1228 = and i1 %1488, %or.cond1176 - br i1 %or.cond1228, label %1489, label %1593 - -1489: ; preds = %1482 - %1490 = getelementptr inbounds %struct._ir_use_list, ptr %1411, i64 %1438, i32 1 - %1491 = load i32, ptr %1490, align 4 - %1492 = icmp eq i32 %1491, 2 - br i1 %1492, label %1493, label %1593 - -1493: ; preds = %1489 - %1494 = sext i32 %1456 to i64 - %1495 = getelementptr inbounds %struct._ir_insn, ptr %3, i64 %1494 - %1496 = load i8, ptr %1495, align 8 - %1497 = icmp eq i8 %1496, 79 - br i1 %1497, label %1498, label %1593 - -1498: ; preds = %1493 - %1499 = getelementptr inbounds nuw i8, ptr %1495, i64 8 - %1500 = getelementptr inbounds nuw i8, ptr %1495, i64 12 - %1501 = load i32, ptr %1500, align 4 - %1502 = icmp eq i32 %1501, %1437 - br i1 %1502, label %1503, label %1593 - -1503: ; preds = %1498 - %1504 = load i8, ptr %1439, align 8 - switch i8 %1504, label %1593 [ - i8 44, label %1507 - i8 45, label %1507 - i8 46, label %1507 - i8 24, label %1505 - i8 25, label %1505 - ] - -1505: ; preds = %1503, %1503 - %1506 = and i8 %1417, 30 - %switch1209 = icmp eq i8 %1506, 14 - br i1 %switch1209, label %1507, label %1593 - -1507: ; preds = %1505, %1503, %1503, %1503 - %1508 = getelementptr inbounds nuw i8, ptr %1439, i64 4 - %1509 = load i32, ptr %1508, align 4 - %1510 = sext i32 %1509 to i64 - %1511 = getelementptr inbounds %struct._ir_insn, ptr %3, i64 %1510 - %1512 = load i8, ptr %1511, align 8 - %1513 = icmp eq i8 %1512, 78 - br i1 %1513, label %1514, label %1547 - -1514: ; preds = %1507 - %1515 = getelementptr inbounds nuw i8, ptr %1511, i64 8 - %1516 = load i32, ptr %1515, align 8 - %1517 = load i32, ptr %1499, align 8 - %1518 = icmp eq i32 %1516, %1517 - br i1 %1518, label %1519, label %1547 - -1519: ; preds = %1514 - %1520 = icmp sgt i32 %1509, %1407 - br i1 %1520, label %1521, label %1593 - -1521: ; preds = %1519 - %1522 = getelementptr inbounds %struct._ir_use_list, ptr %1411, i64 %1510, i32 1 - %1523 = load i32, ptr %1522, align 4 - %1524 = icmp eq i32 %1523, 2 - br i1 %1524, label %1525, label %1593 - -1525: ; preds = %1521 - %1526 = getelementptr inbounds nuw i8, ptr %1495, i64 4 - %1527 = load i32, ptr %1526, align 4 - %1528 = icmp eq i32 %1527, %1509 - br i1 %1528, label %1529, label %1593 - -1529: ; preds = %1525 - %1530 = getelementptr inbounds nuw i8, ptr %0, i64 128 - %1531 = load ptr, ptr %1530, align 8 - %1532 = getelementptr inbounds i32, ptr %1531, i64 %1438 - store i32 -2147483508, ptr %1532, align 4 - %1533 = load ptr, ptr %1530, align 8 - %1534 = load i32, ptr %1508, align 4 - %1535 = sext i32 %1534 to i64 - %1536 = getelementptr inbounds i32, ptr %1533, i64 %1535 - store i32 1073741902, ptr %1536, align 4 - %1537 = load i32, ptr %1499, align 8 - tail call fastcc void @ir_match_fuse_addr(ptr noundef nonnull %0, i32 noundef %1537) - %1538 = load ptr, ptr %1530, align 8 - %1539 = load i32, ptr %1404, align 8 - %1540 = sext i32 %1539 to i64 - %1541 = getelementptr i32, ptr %1538, i64 %1540 - %1542 = getelementptr i8, ptr %1541, i64 -4 - store i32 164, ptr %1542, align 4 - %1543 = load ptr, ptr %1530, align 8 - %1544 = load i32, ptr %1404, align 8 - %1545 = sext i32 %1544 to i64 - %1546 = getelementptr inbounds i32, ptr %1543, i64 %1545 - store i32 1073741824, ptr %1546, align 4 +1483: ; preds = %1456 + %1484 = getelementptr inbounds nuw i8, ptr %0, i64 24 + %1485 = load i32, ptr %1484, align 8 + %1486 = and i32 %1485, 524288 + %.not1101 = icmp ne i32 %1486, 0 + %1487 = add nsw i32 %1406, -2 + %1488 = icmp eq i32 %1438, %1487 + %or.cond1176 = select i1 %.not1101, i1 %1488, i1 false + %1489 = icmp sgt i32 %1438, %1408 + %or.cond1231 = and i1 %1489, %or.cond1176 + br i1 %or.cond1231, label %1490, label %1594 + +1490: ; preds = %1483 + %1491 = getelementptr inbounds %struct._ir_use_list, ptr %1412, i64 %1439, i32 1 + %1492 = load i32, ptr %1491, align 4 + %1493 = icmp eq i32 %1492, 2 + br i1 %1493, label %1494, label %1594 + +1494: ; preds = %1490 + %1495 = sext i32 %1457 to i64 + %1496 = getelementptr inbounds %struct._ir_insn, ptr %3, i64 %1495 + %1497 = load i8, ptr %1496, align 8 + %1498 = icmp eq i8 %1497, 79 + br i1 %1498, label %1499, label %1594 + +1499: ; preds = %1494 + %1500 = getelementptr inbounds nuw i8, ptr %1496, i64 8 + %1501 = getelementptr inbounds nuw i8, ptr %1496, i64 12 + %1502 = load i32, ptr %1501, align 4 + %1503 = icmp eq i32 %1502, %1438 + br i1 %1503, label %1504, label %1594 + +1504: ; preds = %1499 + %1505 = load i8, ptr %1440, align 8 + switch i8 %1505, label %1594 [ + i8 44, label %1508 + i8 45, label %1508 + i8 46, label %1508 + i8 24, label %1506 + i8 25, label %1506 + ] + +1506: ; preds = %1504, %1504 + %1507 = and i8 %1418, 30 + %switch1209 = icmp eq i8 %1507, 14 + br i1 %switch1209, label %1508, label %1594 + +1508: ; preds = %1506, %1504, %1504, %1504 + %1509 = getelementptr inbounds nuw i8, ptr %1440, i64 4 + %1510 = load i32, ptr %1509, align 4 + %1511 = sext i32 %1510 to i64 + %1512 = getelementptr inbounds %struct._ir_insn, ptr %3, i64 %1511 + %1513 = load i8, ptr %1512, align 8 + %1514 = icmp eq i8 %1513, 78 + br i1 %1514, label %1515, label %1548 + +1515: ; preds = %1508 + %1516 = getelementptr inbounds nuw i8, ptr %1512, i64 8 + %1517 = load i32, ptr %1516, align 8 + %1518 = load i32, ptr %1500, align 8 + %1519 = icmp eq i32 %1517, %1518 + br i1 %1519, label %1520, label %1548 + +1520: ; preds = %1515 + %1521 = icmp sgt i32 %1510, %1408 + br i1 %1521, label %1522, label %1594 + +1522: ; preds = %1520 + %1523 = getelementptr inbounds %struct._ir_use_list, ptr %1412, i64 %1511, i32 1 + %1524 = load i32, ptr %1523, align 4 + %1525 = icmp eq i32 %1524, 2 + br i1 %1525, label %1526, label %1594 + +1526: ; preds = %1522 + %1527 = getelementptr inbounds nuw i8, ptr %1496, i64 4 + %1528 = load i32, ptr %1527, align 4 + %1529 = icmp eq i32 %1528, %1510 + br i1 %1529, label %1530, label %1594 + +1530: ; preds = %1526 + %1531 = getelementptr inbounds nuw i8, ptr %0, i64 128 + %1532 = load ptr, ptr %1531, align 8 + %1533 = getelementptr inbounds i32, ptr %1532, i64 %1439 + store i32 -2147483508, ptr %1533, align 4 + %1534 = load ptr, ptr %1531, align 8 + %1535 = load i32, ptr %1509, align 4 + %1536 = sext i32 %1535 to i64 + %1537 = getelementptr inbounds i32, ptr %1534, i64 %1536 + store i32 1073741902, ptr %1537, align 4 + %1538 = load i32, ptr %1500, align 8 + tail call fastcc void @ir_match_fuse_addr(ptr noundef nonnull %0, i32 noundef %1538) + %1539 = load ptr, ptr %1531, align 8 + %1540 = load i32, ptr %1405, align 8 + %1541 = sext i32 %1540 to i64 + %1542 = getelementptr i32, ptr %1539, i64 %1541 + %1543 = getelementptr i8, ptr %1542, i64 -4 + store i32 164, ptr %1543, align 4 + %1544 = load ptr, ptr %1531, align 8 + %1545 = load i32, ptr %1405, align 8 + %1546 = sext i32 %1545 to i64 + %1547 = getelementptr inbounds i32, ptr %1544, i64 %1546 + store i32 1073741824, ptr %1547, align 4 br label %ir_match_fuse_load_cmp_fp.exit -1547: ; preds = %1514, %1507 - %1548 = zext nneg i8 %1504 to i64 - %1549 = getelementptr inbounds nuw [106 x i32], ptr @ir_op_flags, i64 0, i64 %1548 - %1550 = load i32, ptr %1549, align 4 - %1551 = and i32 %1550, 2048 - %.not1102 = icmp eq i32 %1551, 0 - br i1 %.not1102, label %1593, label %1552 - -1552: ; preds = %1547 - %1553 = getelementptr inbounds nuw i8, ptr %1439, i64 8 - %1554 = load i32, ptr %1553, align 8 - %1555 = sext i32 %1554 to i64 - %1556 = getelementptr inbounds %struct._ir_insn, ptr %3, i64 %1555 - %1557 = load i8, ptr %1556, align 8 - %1558 = icmp eq i8 %1557, 78 - br i1 %1558, label %1559, label %1593 - -1559: ; preds = %1552 - %1560 = getelementptr inbounds nuw i8, ptr %1556, i64 8 - %1561 = load i32, ptr %1560, align 8 - %1562 = load i32, ptr %1499, align 8 - %1563 = icmp eq i32 %1561, %1562 - %1564 = icmp sgt i32 %1554, %1407 - %or.cond1229 = and i1 %1564, %1563 - br i1 %or.cond1229, label %1565, label %1593 - -1565: ; preds = %1559 - %1566 = getelementptr inbounds %struct._ir_use_list, ptr %1411, i64 %1555, i32 1 - %1567 = load i32, ptr %1566, align 4 - %1568 = icmp eq i32 %1567, 2 - br i1 %1568, label %1569, label %1593 - -1569: ; preds = %1565 - %1570 = getelementptr inbounds nuw i8, ptr %1495, i64 4 - %1571 = load i32, ptr %1570, align 4 - %1572 = icmp eq i32 %1571, %1554 - br i1 %1572, label %1573, label %1593 - -1573: ; preds = %1569 - store i32 %1554, ptr %1508, align 4 - store i32 %1509, ptr %1553, align 8 - %1574 = getelementptr inbounds nuw i8, ptr %0, i64 128 - %1575 = load ptr, ptr %1574, align 8 - %1576 = load i32, ptr %1436, align 4 - %1577 = sext i32 %1576 to i64 - %1578 = getelementptr inbounds i32, ptr %1575, i64 %1577 - store i32 -2147483508, ptr %1578, align 4 - %1579 = load ptr, ptr %1574, align 8 - %1580 = load i32, ptr %1508, align 4 - %1581 = sext i32 %1580 to i64 - %1582 = getelementptr inbounds i32, ptr %1579, i64 %1581 - store i32 1073741902, ptr %1582, align 4 - %1583 = load i32, ptr %1499, align 8 - tail call fastcc void @ir_match_fuse_addr(ptr noundef nonnull %0, i32 noundef %1583) - %1584 = load ptr, ptr %1574, align 8 - %1585 = load i32, ptr %1404, align 8 - %1586 = sext i32 %1585 to i64 - %1587 = getelementptr i32, ptr %1584, i64 %1586 - %1588 = getelementptr i8, ptr %1587, i64 -4 - store i32 164, ptr %1588, align 4 - %1589 = load ptr, ptr %1574, align 8 - %1590 = load i32, ptr %1404, align 8 - %1591 = sext i32 %1590 to i64 - %1592 = getelementptr inbounds i32, ptr %1589, i64 %1591 - store i32 1073741824, ptr %1592, align 4 +1548: ; preds = %1515, %1508 + %1549 = zext nneg i8 %1505 to i64 + %1550 = getelementptr inbounds nuw [106 x i32], ptr @ir_op_flags, i64 0, i64 %1549 + %1551 = load i32, ptr %1550, align 4 + %1552 = and i32 %1551, 2048 + %.not1102 = icmp eq i32 %1552, 0 + br i1 %.not1102, label %1594, label %1553 + +1553: ; preds = %1548 + %1554 = getelementptr inbounds nuw i8, ptr %1440, i64 8 + %1555 = load i32, ptr %1554, align 8 + %1556 = sext i32 %1555 to i64 + %1557 = getelementptr inbounds %struct._ir_insn, ptr %3, i64 %1556 + %1558 = load i8, ptr %1557, align 8 + %1559 = icmp eq i8 %1558, 78 + br i1 %1559, label %1560, label %1594 + +1560: ; preds = %1553 + %1561 = getelementptr inbounds nuw i8, ptr %1557, i64 8 + %1562 = load i32, ptr %1561, align 8 + %1563 = load i32, ptr %1500, align 8 + %1564 = icmp eq i32 %1562, %1563 + %1565 = icmp sgt i32 %1555, %1408 + %or.cond1232 = and i1 %1565, %1564 + br i1 %or.cond1232, label %1566, label %1594 + +1566: ; preds = %1560 + %1567 = getelementptr inbounds %struct._ir_use_list, ptr %1412, i64 %1556, i32 1 + %1568 = load i32, ptr %1567, align 4 + %1569 = icmp eq i32 %1568, 2 + br i1 %1569, label %1570, label %1594 + +1570: ; preds = %1566 + %1571 = getelementptr inbounds nuw i8, ptr %1496, i64 4 + %1572 = load i32, ptr %1571, align 4 + %1573 = icmp eq i32 %1572, %1555 + br i1 %1573, label %1574, label %1594 + +1574: ; preds = %1570 + store i32 %1555, ptr %1509, align 4 + store i32 %1510, ptr %1554, align 8 + %1575 = getelementptr inbounds nuw i8, ptr %0, i64 128 + %1576 = load ptr, ptr %1575, align 8 + %1577 = load i32, ptr %1437, align 4 + %1578 = sext i32 %1577 to i64 + %1579 = getelementptr inbounds i32, ptr %1576, i64 %1578 + store i32 -2147483508, ptr %1579, align 4 + %1580 = load ptr, ptr %1575, align 8 + %1581 = load i32, ptr %1509, align 4 + %1582 = sext i32 %1581 to i64 + %1583 = getelementptr inbounds i32, ptr %1580, i64 %1582 + store i32 1073741902, ptr %1583, align 4 + %1584 = load i32, ptr %1500, align 8 + tail call fastcc void @ir_match_fuse_addr(ptr noundef nonnull %0, i32 noundef %1584) + %1585 = load ptr, ptr %1575, align 8 + %1586 = load i32, ptr %1405, align 8 + %1587 = sext i32 %1586 to i64 + %1588 = getelementptr i32, ptr %1585, i64 %1587 + %1589 = getelementptr i8, ptr %1588, i64 -4 + store i32 164, ptr %1589, align 4 + %1590 = load ptr, ptr %1575, align 8 + %1591 = load i32, ptr %1405, align 8 + %1592 = sext i32 %1591 to i64 + %1593 = getelementptr inbounds i32, ptr %1590, i64 %1592 + store i32 1073741824, ptr %1593, align 4 br label %ir_match_fuse_load_cmp_fp.exit -1593: ; preds = %1505, %1460, %1447, %1503, %1458, %1493, %1498, %1525, %1521, %1519, %1565, %1569, %1559, %1552, %1547, %1489, %1482, %1451, %1443 - tail call fastcc void @ir_match_fuse_load_cmp_int(ptr noundef nonnull %0, ptr noundef nonnull %1416, i32 noundef %1) - %1594 = getelementptr inbounds nuw i8, ptr %0, i64 128 - %1595 = load ptr, ptr %1594, align 8 - %1596 = load i32, ptr %1404, align 8 - %1597 = sext i32 %1596 to i64 - %1598 = getelementptr inbounds i32, ptr %1595, i64 %1597 - store i32 -2147483541, ptr %1598, align 4 +1594: ; preds = %1506, %1461, %1448, %1504, %1459, %1494, %1499, %1526, %1522, %1520, %1566, %1570, %1560, %1553, %1548, %1490, %1483, %1452, %1444 + tail call fastcc void @ir_match_fuse_load_cmp_int(ptr noundef nonnull %0, ptr noundef nonnull %1417, i32 noundef %1) + %1595 = getelementptr inbounds nuw i8, ptr %0, i64 128 + %1596 = load ptr, ptr %1595, align 8 + %1597 = load i32, ptr %1405, align 8 + %1598 = sext i32 %1597 to i64 + %1599 = getelementptr inbounds i32, ptr %1596, i64 %1598 + store i32 -2147483541, ptr %1599, align 4 br label %ir_match_fuse_load_cmp_fp.exit -1599: ; preds = %1435 - %1600 = icmp eq i8 %6, 87 - tail call fastcc void @ir_match_fuse_load_cmp_fp_br(ptr noundef nonnull %0, ptr noundef nonnull %1416, i32 noundef %1, i1 noundef zeroext %1600) - %1601 = getelementptr inbounds nuw i8, ptr %0, i64 128 - %1602 = load ptr, ptr %1601, align 8 - %1603 = load i32, ptr %1404, align 8 - %1604 = sext i32 %1603 to i64 - %1605 = getelementptr inbounds i32, ptr %1602, i64 %1604 - store i32 -2147483540, ptr %1605, align 4 +1600: ; preds = %1436 + %1601 = icmp eq i8 %6, 87 + tail call fastcc void @ir_match_fuse_load_cmp_fp_br(ptr noundef nonnull %0, ptr noundef nonnull %1417, i32 noundef %1, i1 noundef zeroext %1601) + %1602 = getelementptr inbounds nuw i8, ptr %0, i64 128 + %1603 = load ptr, ptr %1602, align 8 + %1604 = load i32, ptr %1405, align 8 + %1605 = sext i32 %1604 to i64 + %1606 = getelementptr inbounds i32, ptr %1603, i64 %1605 + store i32 -2147483540, ptr %1606, align 4 br label %ir_match_fuse_load_cmp_fp.exit -1606: ; preds = %1430, %1423, %1418 - switch i8 %1417, label %ir_match_fuse_load.exit1213 [ - i8 45, label %1607 - i8 42, label %1613 +1607: ; preds = %1431, %1424, %1419 + switch i8 %1418, label %ir_match_fuse_load.exit1213 [ + i8 45, label %1608 + i8 42, label %1614 ] -1607: ; preds = %1606 - tail call fastcc void @ir_match_fuse_load_test_int(ptr noundef nonnull %0, ptr noundef nonnull %1416, i32 noundef %1) - %1608 = getelementptr inbounds nuw i8, ptr %0, i64 128 - %1609 = load ptr, ptr %1608, align 8 - %1610 = load i32, ptr %1404, align 8 - %1611 = sext i32 %1610 to i64 - %1612 = getelementptr inbounds i32, ptr %1609, i64 %1611 - store i32 -2147483536, ptr %1612, align 4 +1608: ; preds = %1607 + tail call fastcc void @ir_match_fuse_load_test_int(ptr noundef nonnull %0, ptr noundef nonnull %1417, i32 noundef %1) + %1609 = getelementptr inbounds nuw i8, ptr %0, i64 128 + %1610 = load ptr, ptr %1609, align 8 + %1611 = load i32, ptr %1405, align 8 + %1612 = sext i32 %1611 to i64 + %1613 = getelementptr inbounds i32, ptr %1610, i64 %1612 + store i32 -2147483536, ptr %1613, align 4 br label %ir_match_fuse_load_cmp_fp.exit -1613: ; preds = %1606 - %1614 = getelementptr inbounds nuw i8, ptr %0, i64 128 - %1615 = load ptr, ptr %1614, align 8 - %1616 = getelementptr inbounds i32, ptr %1615, i64 %1412 - store i32 -1610612694, ptr %1616, align 4 +1614: ; preds = %1607 + %1615 = getelementptr inbounds nuw i8, ptr %0, i64 128 + %1616 = load ptr, ptr %1615, align 8 + %1617 = getelementptr inbounds i32, ptr %1616, i64 %1413 + store i32 -1610612694, ptr %1617, align 4 br label %ir_match_fuse_load_cmp_fp.exit -1617: ; preds = %1409 - %1618 = icmp eq i8 %1417, 78 - %1619 = icmp eq i32 %1414, 2 - %or.cond1280 = and i1 %1618, %1619 - br i1 %or.cond1280, label %1620, label %ir_match_fuse_load.exit1213 - -1620: ; preds = %1617 - %1621 = tail call fastcc zeroext i1 @ir_match_has_mem_deps(ptr noundef nonnull %0, i32 noundef %1405, i32 noundef %1) - br i1 %1621, label %ir_match_fuse_load.exit1213, label %1622 - -1622: ; preds = %1620 - %1623 = getelementptr inbounds %struct._ir_insn, ptr %3, i64 %1412, i32 1 - %1624 = load i32, ptr %1623, align 8 - %1625 = icmp slt i32 %1624, 0 - br i1 %1625, label %1626, label %1634 - -1626: ; preds = %1622 - %1627 = sext i32 %1624 to i64 - %1628 = getelementptr inbounds %struct._ir_insn, ptr %3, i64 %1627 - %1629 = tail call fastcc zeroext i1 @ir_may_fuse_addr(ptr noundef nonnull %0, ptr noundef nonnull %1628) - br i1 %1629, label %1630, label %ir_match_fuse_load.exit1213 - -1630: ; preds = %1626 - %1631 = getelementptr inbounds nuw i8, ptr %0, i64 128 - %1632 = load ptr, ptr %1631, align 8 - %1633 = getelementptr inbounds i32, ptr %1632, i64 %1412 - store i32 -1610612658, ptr %1633, align 4 +1618: ; preds = %1410 + %1619 = icmp eq i8 %1418, 78 + %1620 = icmp eq i32 %1415, 2 + %or.cond1283 = and i1 %1619, %1620 + br i1 %or.cond1283, label %1621, label %ir_match_fuse_load.exit1213 + +1621: ; preds = %1618 + %1622 = tail call fastcc zeroext i1 @ir_match_has_mem_deps(ptr noundef nonnull %0, i32 noundef %1406, i32 noundef %1) + br i1 %1622, label %ir_match_fuse_load.exit1213, label %1623 + +1623: ; preds = %1621 + %1624 = getelementptr inbounds %struct._ir_insn, ptr %3, i64 %1413, i32 1 + %1625 = load i32, ptr %1624, align 8 + %1626 = icmp slt i32 %1625, 0 + br i1 %1626, label %1627, label %1635 + +1627: ; preds = %1623 + %1628 = sext i32 %1625 to i64 + %1629 = getelementptr inbounds %struct._ir_insn, ptr %3, i64 %1628 + %1630 = tail call fastcc zeroext i1 @ir_may_fuse_addr(ptr noundef nonnull %0, ptr noundef nonnull %1629) + br i1 %1630, label %1631, label %ir_match_fuse_load.exit1213 + +1631: ; preds = %1627 + %1632 = getelementptr inbounds nuw i8, ptr %0, i64 128 + %1633 = load ptr, ptr %1632, align 8 + %1634 = getelementptr inbounds i32, ptr %1633, i64 %1413 + store i32 -1610612658, ptr %1634, align 4 br label %ir_match_fuse_load.exit1213 -1634: ; preds = %1622 - %1635 = getelementptr inbounds nuw i8, ptr %0, i64 128 - %1636 = load ptr, ptr %1635, align 8 - %1637 = getelementptr inbounds i32, ptr %1636, i64 %1412 - store i32 -1610612658, ptr %1637, align 4 - tail call fastcc void @ir_match_fuse_addr(ptr noundef nonnull %0, i32 noundef %1624) +1635: ; preds = %1623 + %1636 = getelementptr inbounds nuw i8, ptr %0, i64 128 + %1637 = load ptr, ptr %1636, align 8 + %1638 = getelementptr inbounds i32, ptr %1637, i64 %1413 + store i32 -1610612658, ptr %1638, align 4 + tail call fastcc void @ir_match_fuse_addr(ptr noundef nonnull %0, i32 noundef %1625) br label %ir_match_fuse_load.exit1213 -ir_match_fuse_load.exit1213: ; preds = %1606, %1403, %1617, %1620, %1626, %1630, %1634 - %1638 = load i8, ptr %5, align 8 - %1639 = zext i8 %1638 to i32 +ir_match_fuse_load.exit1213: ; preds = %1607, %1404, %1618, %1621, %1627, %1631, %1635 + %1639 = load i8, ptr %5, align 8 + %1640 = zext i8 %1639 to i32 br label %ir_match_fuse_load_cmp_fp.exit -1640: ; preds = %2 - %1641 = getelementptr inbounds nuw i8, ptr %5, i64 4 - %1642 = load i32, ptr %1641, align 4 - %1643 = sext i32 %1642 to i64 - %1644 = getelementptr inbounds %struct._ir_insn, ptr %3, i64 %1643 - %1645 = getelementptr inbounds nuw i8, ptr %1644, i64 1 - %1646 = load i8, ptr %1645, align 1 - %1647 = zext i8 %1646 to i64 - %1648 = getelementptr inbounds nuw [14 x i8], ptr @ir_type_size, i64 0, i64 %1647 - %1649 = load i8, ptr %1648, align 1 - %1650 = zext i8 %1649 to i32 - %1651 = add i8 %1646, -7 - %1652 = icmp ult i8 %1651, 5 - %1653 = select i1 %1652, i32 2, i32 4 - %1654 = icmp samesign ult i32 %1653, %1650 - br i1 %1654, label %1655, label %ir_match_fuse_load_cmp_fp.exit - -1655: ; preds = %1640 - tail call fastcc void @ir_match_fuse_load(ptr noundef nonnull %0, i32 noundef %1642, i32 noundef %1) +1641: ; preds = %2 + %1642 = getelementptr inbounds nuw i8, ptr %5, i64 4 + %1643 = load i32, ptr %1642, align 4 + %1644 = sext i32 %1643 to i64 + %1645 = getelementptr inbounds %struct._ir_insn, ptr %3, i64 %1644 + %1646 = getelementptr inbounds nuw i8, ptr %1645, i64 1 + %1647 = load i8, ptr %1646, align 1 + %1648 = zext i8 %1647 to i64 + %1649 = getelementptr inbounds nuw [14 x i8], ptr @ir_type_size, i64 0, i64 %1648 + %1650 = load i8, ptr %1649, align 1 + %1651 = zext i8 %1650 to i32 + %1652 = add i8 %1647, -7 + %1653 = icmp ult i8 %1652, 5 + %1654 = select i1 %1653, i32 2, i32 4 + %1655 = icmp samesign ult i32 %1654, %1651 + br i1 %1655, label %1656, label %ir_match_fuse_load_cmp_fp.exit + +1656: ; preds = %1641 + tail call fastcc void @ir_match_fuse_load(ptr noundef nonnull %0, i32 noundef %1643, i32 noundef %1) %.pre = load i8, ptr %5, align 8 - %1656 = zext i8 %.pre to i32 + %1657 = zext i8 %.pre to i32 br label %ir_match_fuse_load_cmp_fp.exit -1657: ; preds = %2, %2, %2, %2 - %1658 = getelementptr inbounds nuw i8, ptr %5, i64 4 - %1659 = load i32, ptr %1658, align 4 - %1660 = getelementptr inbounds nuw i8, ptr %0, i64 248 - %1661 = load i32, ptr %1660, align 8 - %1662 = icmp sgt i32 %1659, %1661 - br i1 %1662, label %1663, label %ir_match_fuse_load.exit1214 - -1663: ; preds = %1657 - %1664 = sext i32 %1659 to i64 - %1665 = getelementptr inbounds %struct._ir_insn, ptr %3, i64 %1664 - %1666 = load i8, ptr %1665, align 8 - %1667 = icmp eq i8 %1666, 78 - br i1 %1667, label %1668, label %ir_match_fuse_load.exit1214 - -1668: ; preds = %1663 - %1669 = getelementptr inbounds nuw i8, ptr %0, i64 72 - %1670 = load ptr, ptr %1669, align 8 - %1671 = getelementptr inbounds %struct._ir_use_list, ptr %1670, i64 %1664, i32 1 - %1672 = load i32, ptr %1671, align 4 - %1673 = icmp eq i32 %1672, 2 - br i1 %1673, label %1674, label %ir_match_fuse_load.exit1214 - -1674: ; preds = %1668 - %1675 = tail call fastcc zeroext i1 @ir_match_has_mem_deps(ptr noundef nonnull %0, i32 noundef %1659, i32 noundef %1) - br i1 %1675, label %ir_match_fuse_load.exit1214, label %1676 - -1676: ; preds = %1674 - %1677 = getelementptr inbounds %struct._ir_insn, ptr %3, i64 %1664, i32 1 - %1678 = load i32, ptr %1677, align 8 - %1679 = icmp slt i32 %1678, 0 - br i1 %1679, label %1680, label %1688 - -1680: ; preds = %1676 - %1681 = sext i32 %1678 to i64 - %1682 = getelementptr inbounds %struct._ir_insn, ptr %3, i64 %1681 - %1683 = tail call fastcc zeroext i1 @ir_may_fuse_addr(ptr noundef nonnull %0, ptr noundef nonnull %1682) - br i1 %1683, label %1684, label %ir_match_fuse_load.exit1214 - -1684: ; preds = %1680 - %1685 = getelementptr inbounds nuw i8, ptr %0, i64 128 - %1686 = load ptr, ptr %1685, align 8 - %1687 = getelementptr inbounds i32, ptr %1686, i64 %1664 - store i32 -1610612658, ptr %1687, align 4 +1658: ; preds = %2, %2, %2, %2 + %1659 = getelementptr inbounds nuw i8, ptr %5, i64 4 + %1660 = load i32, ptr %1659, align 4 + %1661 = getelementptr inbounds nuw i8, ptr %0, i64 248 + %1662 = load i32, ptr %1661, align 8 + %1663 = icmp sgt i32 %1660, %1662 + br i1 %1663, label %1664, label %ir_match_fuse_load.exit1214 + +1664: ; preds = %1658 + %1665 = sext i32 %1660 to i64 + %1666 = getelementptr inbounds %struct._ir_insn, ptr %3, i64 %1665 + %1667 = load i8, ptr %1666, align 8 + %1668 = icmp eq i8 %1667, 78 + br i1 %1668, label %1669, label %ir_match_fuse_load.exit1214 + +1669: ; preds = %1664 + %1670 = getelementptr inbounds nuw i8, ptr %0, i64 72 + %1671 = load ptr, ptr %1670, align 8 + %1672 = getelementptr inbounds %struct._ir_use_list, ptr %1671, i64 %1665, i32 1 + %1673 = load i32, ptr %1672, align 4 + %1674 = icmp eq i32 %1673, 2 + br i1 %1674, label %1675, label %ir_match_fuse_load.exit1214 + +1675: ; preds = %1669 + %1676 = tail call fastcc zeroext i1 @ir_match_has_mem_deps(ptr noundef nonnull %0, i32 noundef %1660, i32 noundef %1) + br i1 %1676, label %ir_match_fuse_load.exit1214, label %1677 + +1677: ; preds = %1675 + %1678 = getelementptr inbounds %struct._ir_insn, ptr %3, i64 %1665, i32 1 + %1679 = load i32, ptr %1678, align 8 + %1680 = icmp slt i32 %1679, 0 + br i1 %1680, label %1681, label %1689 + +1681: ; preds = %1677 + %1682 = sext i32 %1679 to i64 + %1683 = getelementptr inbounds %struct._ir_insn, ptr %3, i64 %1682 + %1684 = tail call fastcc zeroext i1 @ir_may_fuse_addr(ptr noundef nonnull %0, ptr noundef nonnull %1683) + br i1 %1684, label %1685, label %ir_match_fuse_load.exit1214 + +1685: ; preds = %1681 + %1686 = getelementptr inbounds nuw i8, ptr %0, i64 128 + %1687 = load ptr, ptr %1686, align 8 + %1688 = getelementptr inbounds i32, ptr %1687, i64 %1665 + store i32 -1610612658, ptr %1688, align 4 br label %ir_match_fuse_load.exit1214 -1688: ; preds = %1676 - %1689 = getelementptr inbounds nuw i8, ptr %0, i64 128 - %1690 = load ptr, ptr %1689, align 8 - %1691 = getelementptr inbounds i32, ptr %1690, i64 %1664 - store i32 -1610612658, ptr %1691, align 4 - tail call fastcc void @ir_match_fuse_addr(ptr noundef nonnull %0, i32 noundef %1678) +1689: ; preds = %1677 + %1690 = getelementptr inbounds nuw i8, ptr %0, i64 128 + %1691 = load ptr, ptr %1690, align 8 + %1692 = getelementptr inbounds i32, ptr %1691, i64 %1665 + store i32 -1610612658, ptr %1692, align 4 + tail call fastcc void @ir_match_fuse_addr(ptr noundef nonnull %0, i32 noundef %1679) br label %ir_match_fuse_load.exit1214 -ir_match_fuse_load.exit1214: ; preds = %1657, %1663, %1668, %1674, %1680, %1684, %1688 - %1692 = load i8, ptr %5, align 8 - %1693 = zext i8 %1692 to i32 +ir_match_fuse_load.exit1214: ; preds = %1658, %1664, %1669, %1675, %1681, %1685, %1689 + %1693 = load i8, ptr %5, align 8 + %1694 = zext i8 %1693 to i32 br label %ir_match_fuse_load_cmp_fp.exit -1694: ; preds = %2, %2 - %1695 = getelementptr inbounds nuw i8, ptr %5, i64 4 - %1696 = load i32, ptr %1695, align 4 - %1697 = getelementptr inbounds nuw i8, ptr %0, i64 248 - %1698 = load i32, ptr %1697, align 8 - %1699 = icmp sgt i32 %1696, %1698 - br i1 %1699, label %1700, label %ir_match_fuse_load.exit1215 - -1700: ; preds = %1694 - %1701 = sext i32 %1696 to i64 - %1702 = getelementptr inbounds %struct._ir_insn, ptr %3, i64 %1701 - %1703 = load i8, ptr %1702, align 8 - %1704 = icmp eq i8 %1703, 78 - br i1 %1704, label %1705, label %ir_match_fuse_load.exit1215 - -1705: ; preds = %1700 - %1706 = getelementptr inbounds nuw i8, ptr %0, i64 72 - %1707 = load ptr, ptr %1706, align 8 - %1708 = getelementptr inbounds %struct._ir_use_list, ptr %1707, i64 %1701, i32 1 - %1709 = load i32, ptr %1708, align 4 - %1710 = icmp eq i32 %1709, 2 - br i1 %1710, label %1711, label %ir_match_fuse_load.exit1215 - -1711: ; preds = %1705 - %1712 = tail call fastcc zeroext i1 @ir_match_has_mem_deps(ptr noundef nonnull %0, i32 noundef %1696, i32 noundef %1) - br i1 %1712, label %ir_match_fuse_load.exit1215, label %1713 - -1713: ; preds = %1711 - %1714 = getelementptr inbounds %struct._ir_insn, ptr %3, i64 %1701, i32 1 - %1715 = load i32, ptr %1714, align 8 - %1716 = icmp slt i32 %1715, 0 - br i1 %1716, label %1717, label %1725 - -1717: ; preds = %1713 - %1718 = sext i32 %1715 to i64 - %1719 = getelementptr inbounds %struct._ir_insn, ptr %3, i64 %1718 - %1720 = tail call fastcc zeroext i1 @ir_may_fuse_addr(ptr noundef nonnull %0, ptr noundef nonnull %1719) - br i1 %1720, label %1721, label %ir_match_fuse_load.exit1215 - -1721: ; preds = %1717 - %1722 = getelementptr inbounds nuw i8, ptr %0, i64 128 - %1723 = load ptr, ptr %1722, align 8 - %1724 = getelementptr inbounds i32, ptr %1723, i64 %1701 - store i32 -1610612658, ptr %1724, align 4 +1695: ; preds = %2, %2 + %1696 = getelementptr inbounds nuw i8, ptr %5, i64 4 + %1697 = load i32, ptr %1696, align 4 + %1698 = getelementptr inbounds nuw i8, ptr %0, i64 248 + %1699 = load i32, ptr %1698, align 8 + %1700 = icmp sgt i32 %1697, %1699 + br i1 %1700, label %1701, label %ir_match_fuse_load.exit1215 + +1701: ; preds = %1695 + %1702 = sext i32 %1697 to i64 + %1703 = getelementptr inbounds %struct._ir_insn, ptr %3, i64 %1702 + %1704 = load i8, ptr %1703, align 8 + %1705 = icmp eq i8 %1704, 78 + br i1 %1705, label %1706, label %ir_match_fuse_load.exit1215 + +1706: ; preds = %1701 + %1707 = getelementptr inbounds nuw i8, ptr %0, i64 72 + %1708 = load ptr, ptr %1707, align 8 + %1709 = getelementptr inbounds %struct._ir_use_list, ptr %1708, i64 %1702, i32 1 + %1710 = load i32, ptr %1709, align 4 + %1711 = icmp eq i32 %1710, 2 + br i1 %1711, label %1712, label %ir_match_fuse_load.exit1215 + +1712: ; preds = %1706 + %1713 = tail call fastcc zeroext i1 @ir_match_has_mem_deps(ptr noundef nonnull %0, i32 noundef %1697, i32 noundef %1) + br i1 %1713, label %ir_match_fuse_load.exit1215, label %1714 + +1714: ; preds = %1712 + %1715 = getelementptr inbounds %struct._ir_insn, ptr %3, i64 %1702, i32 1 + %1716 = load i32, ptr %1715, align 8 + %1717 = icmp slt i32 %1716, 0 + br i1 %1717, label %1718, label %1726 + +1718: ; preds = %1714 + %1719 = sext i32 %1716 to i64 + %1720 = getelementptr inbounds %struct._ir_insn, ptr %3, i64 %1719 + %1721 = tail call fastcc zeroext i1 @ir_may_fuse_addr(ptr noundef nonnull %0, ptr noundef nonnull %1720) + br i1 %1721, label %1722, label %ir_match_fuse_load.exit1215 + +1722: ; preds = %1718 + %1723 = getelementptr inbounds nuw i8, ptr %0, i64 128 + %1724 = load ptr, ptr %1723, align 8 + %1725 = getelementptr inbounds i32, ptr %1724, i64 %1702 + store i32 -1610612658, ptr %1725, align 4 br label %ir_match_fuse_load.exit1215 -1725: ; preds = %1713 - %1726 = getelementptr inbounds nuw i8, ptr %0, i64 128 - %1727 = load ptr, ptr %1726, align 8 - %1728 = getelementptr inbounds i32, ptr %1727, i64 %1701 - store i32 -1610612658, ptr %1728, align 4 - tail call fastcc void @ir_match_fuse_addr(ptr noundef nonnull %0, i32 noundef %1715) +1726: ; preds = %1714 + %1727 = getelementptr inbounds nuw i8, ptr %0, i64 128 + %1728 = load ptr, ptr %1727, align 8 + %1729 = getelementptr inbounds i32, ptr %1728, i64 %1702 + store i32 -1610612658, ptr %1729, align 4 + tail call fastcc void @ir_match_fuse_addr(ptr noundef nonnull %0, i32 noundef %1716) br label %ir_match_fuse_load.exit1215 -ir_match_fuse_load.exit1215: ; preds = %1694, %1700, %1705, %1711, %1717, %1721, %1725 - %1729 = load i8, ptr %5, align 8 - %1730 = zext i8 %1729 to i32 - %1731 = or disjoint i32 %1730, 67108864 +ir_match_fuse_load.exit1215: ; preds = %1695, %1701, %1706, %1712, %1718, %1722, %1726 + %1730 = load i8, ptr %5, align 8 + %1731 = zext i8 %1730 to i32 + %1732 = or disjoint i32 %1731, 67108864 br label %ir_match_fuse_load_cmp_fp.exit -1732: ; preds = %2 - %1733 = getelementptr inbounds nuw i8, ptr %5, i64 4 - %1734 = load i32, ptr %1733, align 4 - tail call fastcc void @ir_match_fuse_load(ptr noundef nonnull %0, i32 noundef %1734, i32 noundef %1) - %1735 = getelementptr inbounds nuw i8, ptr %5, i64 1 - %1736 = load i8, ptr %1735, align 1 - %1737 = icmp ult i8 %1736, 12 - br i1 %1737, label %1738, label %1750 - -1738: ; preds = %1732 - %1739 = load ptr, ptr %0, align 8 - %1740 = load i32, ptr %1733, align 4 - %1741 = sext i32 %1740 to i64 - %1742 = getelementptr inbounds %struct._ir_insn, ptr %1739, i64 %1741 - %1743 = getelementptr inbounds nuw i8, ptr %1742, i64 1 - %1744 = load i8, ptr %1743, align 1 - %1745 = icmp ult i8 %1744, 12 - br i1 %1745, label %1746, label %1750 - -1746: ; preds = %1738 - %1747 = load i8, ptr %5, align 8 - %1748 = zext i8 %1747 to i32 - %1749 = or disjoint i32 %1748, 67108864 +1733: ; preds = %2 + %1734 = getelementptr inbounds nuw i8, ptr %5, i64 4 + %1735 = load i32, ptr %1734, align 4 + tail call fastcc void @ir_match_fuse_load(ptr noundef nonnull %0, i32 noundef %1735, i32 noundef %1) + %1736 = getelementptr inbounds nuw i8, ptr %5, i64 1 + %1737 = load i8, ptr %1736, align 1 + %1738 = icmp ult i8 %1737, 12 + br i1 %1738, label %1739, label %1751 + +1739: ; preds = %1733 + %1740 = load ptr, ptr %0, align 8 + %1741 = load i32, ptr %1734, align 4 + %1742 = sext i32 %1741 to i64 + %1743 = getelementptr inbounds %struct._ir_insn, ptr %1740, i64 %1742 + %1744 = getelementptr inbounds nuw i8, ptr %1743, i64 1 + %1745 = load i8, ptr %1744, align 1 + %1746 = icmp ult i8 %1745, 12 + br i1 %1746, label %1747, label %1751 + +1747: ; preds = %1739 + %1748 = load i8, ptr %5, align 8 + %1749 = zext i8 %1748 to i32 + %1750 = or disjoint i32 %1749, 67108864 br label %ir_match_fuse_load_cmp_fp.exit -1750: ; preds = %1738, %1732 - %1751 = load i8, ptr %5, align 8 - %1752 = zext i8 %1751 to i32 +1751: ; preds = %1739, %1733 + %1752 = load i8, ptr %5, align 8 + %1753 = zext i8 %1752 to i32 br label %ir_match_fuse_load_cmp_fp.exit -1753: ; preds = %2, %2 - %1754 = getelementptr inbounds nuw i8, ptr %5, i64 4 - %1755 = load i32, ptr %1754, align 4 - %1756 = getelementptr inbounds nuw i8, ptr %0, i64 248 - %1757 = load i32, ptr %1756, align 8 - %1758 = icmp sgt i32 %1755, %1757 - br i1 %1758, label %1759, label %ir_match_fuse_load_cmp_fp.exit - -1759: ; preds = %1753 - %1760 = sext i32 %1755 to i64 - %1761 = getelementptr inbounds %struct._ir_insn, ptr %3, i64 %1760 - %1762 = load i8, ptr %1761, align 8 - %1763 = icmp eq i8 %1762, 78 - br i1 %1763, label %1764, label %ir_match_fuse_load_cmp_fp.exit - -1764: ; preds = %1759 - %1765 = getelementptr inbounds nuw i8, ptr %0, i64 72 - %1766 = load ptr, ptr %1765, align 8 - %1767 = getelementptr inbounds %struct._ir_use_list, ptr %1766, i64 %1760, i32 1 - %1768 = load i32, ptr %1767, align 4 - %1769 = icmp eq i32 %1768, 2 - br i1 %1769, label %1770, label %ir_match_fuse_load_cmp_fp.exit - -1770: ; preds = %1764 - %1771 = tail call fastcc zeroext i1 @ir_match_has_mem_deps(ptr noundef nonnull %0, i32 noundef %1755, i32 noundef %1) - br i1 %1771, label %ir_match_fuse_load_cmp_fp.exit, label %1772 - -1772: ; preds = %1770 - %1773 = getelementptr inbounds %struct._ir_insn, ptr %3, i64 %1760, i32 1 - %1774 = load i32, ptr %1773, align 8 - %1775 = icmp slt i32 %1774, 0 - br i1 %1775, label %1776, label %1784 - -1776: ; preds = %1772 - %1777 = sext i32 %1774 to i64 - %1778 = getelementptr inbounds %struct._ir_insn, ptr %3, i64 %1777 - %1779 = tail call fastcc zeroext i1 @ir_may_fuse_addr(ptr noundef nonnull %0, ptr noundef nonnull %1778) - br i1 %1779, label %1780, label %ir_match_fuse_load_cmp_fp.exit - -1780: ; preds = %1776 - %1781 = getelementptr inbounds nuw i8, ptr %0, i64 128 - %1782 = load ptr, ptr %1781, align 8 - %1783 = getelementptr inbounds i32, ptr %1782, i64 %1760 - store i32 -1610612658, ptr %1783, align 4 +1754: ; preds = %2, %2 + %1755 = getelementptr inbounds nuw i8, ptr %5, i64 4 + %1756 = load i32, ptr %1755, align 4 + %1757 = getelementptr inbounds nuw i8, ptr %0, i64 248 + %1758 = load i32, ptr %1757, align 8 + %1759 = icmp sgt i32 %1756, %1758 + br i1 %1759, label %1760, label %ir_match_fuse_load_cmp_fp.exit + +1760: ; preds = %1754 + %1761 = sext i32 %1756 to i64 + %1762 = getelementptr inbounds %struct._ir_insn, ptr %3, i64 %1761 + %1763 = load i8, ptr %1762, align 8 + %1764 = icmp eq i8 %1763, 78 + br i1 %1764, label %1765, label %ir_match_fuse_load_cmp_fp.exit + +1765: ; preds = %1760 + %1766 = getelementptr inbounds nuw i8, ptr %0, i64 72 + %1767 = load ptr, ptr %1766, align 8 + %1768 = getelementptr inbounds %struct._ir_use_list, ptr %1767, i64 %1761, i32 1 + %1769 = load i32, ptr %1768, align 4 + %1770 = icmp eq i32 %1769, 2 + br i1 %1770, label %1771, label %ir_match_fuse_load_cmp_fp.exit + +1771: ; preds = %1765 + %1772 = tail call fastcc zeroext i1 @ir_match_has_mem_deps(ptr noundef nonnull %0, i32 noundef %1756, i32 noundef %1) + br i1 %1772, label %ir_match_fuse_load_cmp_fp.exit, label %1773 + +1773: ; preds = %1771 + %1774 = getelementptr inbounds %struct._ir_insn, ptr %3, i64 %1761, i32 1 + %1775 = load i32, ptr %1774, align 8 + %1776 = icmp slt i32 %1775, 0 + br i1 %1776, label %1777, label %1785 + +1777: ; preds = %1773 + %1778 = sext i32 %1775 to i64 + %1779 = getelementptr inbounds %struct._ir_insn, ptr %3, i64 %1778 + %1780 = tail call fastcc zeroext i1 @ir_may_fuse_addr(ptr noundef nonnull %0, ptr noundef nonnull %1779) + br i1 %1780, label %1781, label %ir_match_fuse_load_cmp_fp.exit + +1781: ; preds = %1777 + %1782 = getelementptr inbounds nuw i8, ptr %0, i64 128 + %1783 = load ptr, ptr %1782, align 8 + %1784 = getelementptr inbounds i32, ptr %1783, i64 %1761 + store i32 -1610612658, ptr %1784, align 4 br label %ir_match_fuse_load_cmp_fp.exit -1784: ; preds = %1772 - %1785 = getelementptr inbounds nuw i8, ptr %0, i64 128 - %1786 = load ptr, ptr %1785, align 8 - %1787 = getelementptr inbounds i32, ptr %1786, i64 %1760 - store i32 -1610612658, ptr %1787, align 4 - tail call fastcc void @ir_match_fuse_addr(ptr noundef nonnull %0, i32 noundef %1774) +1785: ; preds = %1773 + %1786 = getelementptr inbounds nuw i8, ptr %0, i64 128 + %1787 = load ptr, ptr %1786, align 8 + %1788 = getelementptr inbounds i32, ptr %1787, i64 %1761 + store i32 -1610612658, ptr %1788, align 4 + tail call fastcc void @ir_match_fuse_addr(ptr noundef nonnull %0, i32 noundef %1775) br label %ir_match_fuse_load_cmp_fp.exit -1788: ; preds = %2 - %1789 = getelementptr inbounds nuw i8, ptr %5, i64 4 - %1790 = load i32, ptr %1789, align 4 - tail call fastcc void @ir_match_fuse_load(ptr noundef nonnull %0, i32 noundef %1790, i32 noundef %1) - %1791 = getelementptr inbounds nuw i8, ptr %0, i64 36 - %1792 = load i32, ptr %1791, align 4 - %1793 = and i32 %1792, 128 - %.not1100 = icmp eq i32 %1793, 0 - %1794 = select i1 %.not1100, i32 53, i32 178 +1789: ; preds = %2 + %1790 = getelementptr inbounds nuw i8, ptr %5, i64 4 + %1791 = load i32, ptr %1790, align 4 + tail call fastcc void @ir_match_fuse_load(ptr noundef nonnull %0, i32 noundef %1791, i32 noundef %1) + %1792 = getelementptr inbounds nuw i8, ptr %0, i64 36 + %1793 = load i32, ptr %1792, align 4 + %1794 = and i32 %1793, 128 + %.not1100 = icmp eq i32 %1794, 0 + %1795 = select i1 %.not1100, i32 53, i32 178 br label %ir_match_fuse_load_cmp_fp.exit -1795: ; preds = %2 - %1796 = getelementptr inbounds nuw i8, ptr %0, i64 28 - %1797 = load i32, ptr %1796, align 4 - %1798 = or i32 %1797, 64 - store i32 %1798, ptr %1796, align 4 - %1799 = getelementptr inbounds nuw i8, ptr %5, i64 8 - %1800 = load i32, ptr %1799, align 8 - %1801 = sext i32 %1800 to i64 - %1802 = getelementptr inbounds %struct._ir_insn, ptr %3, i64 %1801 - %1803 = load i8, ptr %1802, align 8 - switch i8 %1803, label %ir_match_fuse_load_cmp_fp.exit [ - i8 71, label %1804 - i8 73, label %1804 - ] - -1804: ; preds = %1795, %1795 - %1805 = getelementptr inbounds nuw i8, ptr %0, i64 72 - %1806 = load ptr, ptr %1805, align 8 - %1807 = getelementptr inbounds %struct._ir_use_list, ptr %1806, i64 %1801 - %1808 = getelementptr inbounds nuw i8, ptr %1807, i64 4 - %1809 = load i32, ptr %1808, align 4 - %1810 = icmp sgt i32 %1809, 0 - br i1 %1810, label %.lr.ph.preheader, label %ir_match_fuse_load_cmp_fp.exit - -.lr.ph.preheader: ; preds = %1804 - %1811 = getelementptr inbounds nuw i8, ptr %0, i64 80 - %1812 = load ptr, ptr %1811, align 8 - %1813 = load i32, ptr %1807, align 4 - %1814 = sext i32 %1813 to i64 - %1815 = getelementptr inbounds i32, ptr %1812, i64 %1814 +1796: ; preds = %2 + %1797 = getelementptr inbounds nuw i8, ptr %0, i64 28 + %1798 = load i32, ptr %1797, align 4 + %1799 = or i32 %1798, 64 + store i32 %1799, ptr %1797, align 4 + %1800 = getelementptr inbounds nuw i8, ptr %5, i64 8 + %1801 = load i32, ptr %1800, align 8 + %1802 = sext i32 %1801 to i64 + %1803 = getelementptr inbounds %struct._ir_insn, ptr %3, i64 %1802 + %1804 = load i8, ptr %1803, align 8 + switch i8 %1804, label %ir_match_fuse_load_cmp_fp.exit [ + i8 71, label %1805 + i8 73, label %1805 + ] + +1805: ; preds = %1796, %1796 + %1806 = getelementptr inbounds nuw i8, ptr %0, i64 72 + %1807 = load ptr, ptr %1806, align 8 + %1808 = getelementptr inbounds %struct._ir_use_list, ptr %1807, i64 %1802 + %1809 = getelementptr inbounds nuw i8, ptr %1808, i64 4 + %1810 = load i32, ptr %1809, align 4 + %1811 = icmp sgt i32 %1810, 0 + br i1 %1811, label %.lr.ph.preheader, label %ir_match_fuse_load_cmp_fp.exit + +.lr.ph.preheader: ; preds = %1805 + %1812 = getelementptr inbounds nuw i8, ptr %0, i64 80 + %1813 = load ptr, ptr %1812, align 8 + %1814 = load i32, ptr %1808, align 4 + %1815 = sext i32 %1814 to i64 + %1816 = getelementptr inbounds i32, ptr %1813, i64 %1815 br label %.lr.ph -.lr.ph: ; preds = %.lr.ph.preheader, %1838 - %1816 = phi i32 [ %1839, %1838 ], [ %1798, %.lr.ph.preheader ] - %.09941238 = phi i32 [ %1841, %1838 ], [ %1809, %.lr.ph.preheader ] - %.09951237 = phi ptr [ %1840, %1838 ], [ %1815, %.lr.ph.preheader ] - %1817 = load i32, ptr %.09951237, align 4 - %1818 = sext i32 %1817 to i64 - %1819 = getelementptr inbounds %struct._ir_insn, ptr %3, i64 %1818 - %1820 = load i8, ptr %1819, align 8 - switch i8 %1820, label %1835 [ - i8 82, label %1838 - i8 83, label %1838 - i8 84, label %1821 - i8 85, label %1826 - ] - -1821: ; preds = %.lr.ph - %1822 = getelementptr inbounds nuw i8, ptr %1819, i64 12 - %1823 = load i32, ptr %1822, align 4 - %1824 = load i32, ptr %1799, align 8 - %1825 = icmp eq i32 %1823, %1824 - br i1 %1825, label %.sink.split, label %1838 - -1826: ; preds = %.lr.ph - %1827 = getelementptr inbounds nuw i8, ptr %1819, i64 8 - %1828 = load i32, ptr %1827, align 8 - %1829 = load i32, ptr %1799, align 8 - %1830 = icmp eq i32 %1828, %1829 - br i1 %1830, label %1831, label %1838 - -1831: ; preds = %1826 - %1832 = getelementptr inbounds nuw i8, ptr %1819, i64 1 - %1833 = load i8, ptr %1832, align 1 - %1834 = icmp ult i8 %1833, 12 - %.1283 = select i1 %1834, i32 256, i32 512 +.lr.ph: ; preds = %.lr.ph.preheader, %1839 + %1817 = phi i32 [ %1840, %1839 ], [ %1799, %.lr.ph.preheader ] + %.09941241 = phi i32 [ %1842, %1839 ], [ %1810, %.lr.ph.preheader ] + %.09951240 = phi ptr [ %1841, %1839 ], [ %1816, %.lr.ph.preheader ] + %1818 = load i32, ptr %.09951240, align 4 + %1819 = sext i32 %1818 to i64 + %1820 = getelementptr inbounds %struct._ir_insn, ptr %3, i64 %1819 + %1821 = load i8, ptr %1820, align 8 + switch i8 %1821, label %1836 [ + i8 82, label %1839 + i8 83, label %1839 + i8 84, label %1822 + i8 85, label %1827 + ] + +1822: ; preds = %.lr.ph + %1823 = getelementptr inbounds nuw i8, ptr %1820, i64 12 + %1824 = load i32, ptr %1823, align 4 + %1825 = load i32, ptr %1800, align 8 + %1826 = icmp eq i32 %1824, %1825 + br i1 %1826, label %.sink.split, label %1839 + +1827: ; preds = %.lr.ph + %1828 = getelementptr inbounds nuw i8, ptr %1820, i64 8 + %1829 = load i32, ptr %1828, align 8 + %1830 = load i32, ptr %1800, align 8 + %1831 = icmp eq i32 %1829, %1830 + br i1 %1831, label %1832, label %1839 + +1832: ; preds = %1827 + %1833 = getelementptr inbounds nuw i8, ptr %1820, i64 1 + %1834 = load i8, ptr %1833, align 1 + %1835 = icmp ult i8 %1834, 12 + %.1286 = select i1 %1835, i32 256, i32 512 br label %.sink.split -1835: ; preds = %.lr.ph - %1836 = icmp sgt i32 %1817, %1 - br i1 %1836, label %.sink.split, label %1838 +1836: ; preds = %.lr.ph + %1837 = icmp sgt i32 %1818, %1 + br i1 %1837, label %.sink.split, label %1839 -.sink.split: ; preds = %1835, %1831, %1821 - %.sink1282 = phi i32 [ 128, %1821 ], [ %.1283, %1831 ], [ 768, %1835 ] - %1837 = or i32 %1816, %.sink1282 - store i32 %1837, ptr %1796, align 4 - br label %1838 +.sink.split: ; preds = %1836, %1832, %1822 + %.sink1285 = phi i32 [ 128, %1822 ], [ %.1286, %1832 ], [ 768, %1836 ] + %1838 = or i32 %1817, %.sink1285 + store i32 %1838, ptr %1797, align 4 + br label %1839 -1838: ; preds = %.sink.split, %.lr.ph, %.lr.ph, %1826, %1835, %1821 - %1839 = phi i32 [ %1816, %.lr.ph ], [ %1816, %.lr.ph ], [ %1816, %1826 ], [ %1816, %1835 ], [ %1816, %1821 ], [ %1837, %.sink.split ] - %1840 = getelementptr inbounds nuw i8, ptr %.09951237, i64 4 - %1841 = add nsw i32 %.09941238, -1 - %1842 = icmp sgt i32 %.09941238, 1 - br i1 %1842, label %.lr.ph, label %ir_match_fuse_load_cmp_fp.exit +1839: ; preds = %.sink.split, %.lr.ph, %.lr.ph, %1827, %1836, %1822 + %1840 = phi i32 [ %1817, %.lr.ph ], [ %1817, %.lr.ph ], [ %1817, %1827 ], [ %1817, %1836 ], [ %1817, %1822 ], [ %1838, %.sink.split ] + %1841 = getelementptr inbounds nuw i8, ptr %.09951240, i64 4 + %1842 = add nsw i32 %.09941241, -1 + %1843 = icmp sgt i32 %.09941241, 1 + br i1 %1843, label %.lr.ph, label %ir_match_fuse_load_cmp_fp.exit -1843: ; preds = %2 +1844: ; preds = %2 br label %ir_match_fuse_load_cmp_fp.exit -1844: ; preds = %2 - %1845 = getelementptr inbounds nuw i8, ptr %0, i64 72 - %1846 = load ptr, ptr %1845, align 8 - %1847 = getelementptr inbounds %struct._ir_use_list, ptr %1846, i64 %4 - %1848 = getelementptr inbounds nuw i8, ptr %1847, i64 4 - %1849 = load i32, ptr %1848, align 4 - %1850 = icmp sgt i32 %1849, 0 - br i1 %1850, label %1851, label %ir_match_fuse_load_cmp_fp.exit - -1851: ; preds = %1844 - %1852 = getelementptr inbounds nuw i8, ptr %0, i64 80 - %1853 = load ptr, ptr %1852, align 8 - %1854 = load i32, ptr %1847, align 4 - %1855 = sext i32 %1854 to i64 - %1856 = getelementptr inbounds i32, ptr %1853, i64 %1855 - br label %1857 - -1857: ; preds = %1851, %1862 - %.01236 = phi i32 [ %1849, %1851 ], [ %1864, %1862 ] - %.09921235 = phi ptr [ %1856, %1851 ], [ %1863, %1862 ] - %1858 = load i32, ptr %.09921235, align 4 - %1859 = sext i32 %1858 to i64 - %1860 = getelementptr inbounds %struct._ir_insn, ptr %3, i64 %1859 - %1861 = load i8, ptr %1860, align 8 - %.not = icmp eq i8 %1861, 83 - br i1 %.not, label %1862, label %ir_match_fuse_load_cmp_fp.exit - -1862: ; preds = %1857 - %1863 = getelementptr inbounds nuw i8, ptr %.09921235, i64 4 - %1864 = add nsw i32 %.01236, -1 - %1865 = icmp sgt i32 %.01236, 1 - br i1 %1865, label %1857, label %ir_match_fuse_load_cmp_fp.exit - -1866: ; preds = %2, %1269 - %1867 = zext i8 %6 to i32 +1845: ; preds = %2 + %1846 = getelementptr inbounds nuw i8, ptr %0, i64 72 + %1847 = load ptr, ptr %1846, align 8 + %1848 = getelementptr inbounds %struct._ir_use_list, ptr %1847, i64 %4 + %1849 = getelementptr inbounds nuw i8, ptr %1848, i64 4 + %1850 = load i32, ptr %1849, align 4 + %1851 = icmp sgt i32 %1850, 0 + br i1 %1851, label %1852, label %ir_match_fuse_load_cmp_fp.exit + +1852: ; preds = %1845 + %1853 = getelementptr inbounds nuw i8, ptr %0, i64 80 + %1854 = load ptr, ptr %1853, align 8 + %1855 = load i32, ptr %1848, align 4 + %1856 = sext i32 %1855 to i64 + %1857 = getelementptr inbounds i32, ptr %1854, i64 %1856 + br label %1858 + +1858: ; preds = %1852, %1863 + %.01239 = phi i32 [ %1850, %1852 ], [ %1865, %1863 ] + %.09921238 = phi ptr [ %1857, %1852 ], [ %1864, %1863 ] + %1859 = load i32, ptr %.09921238, align 4 + %1860 = sext i32 %1859 to i64 + %1861 = getelementptr inbounds %struct._ir_insn, ptr %3, i64 %1860 + %1862 = load i8, ptr %1861, align 8 + %.not = icmp eq i8 %1862, 83 + br i1 %.not, label %1863, label %ir_match_fuse_load_cmp_fp.exit + +1863: ; preds = %1858 + %1864 = getelementptr inbounds nuw i8, ptr %.09921238, i64 4 + %1865 = add nsw i32 %.01239, -1 + %1866 = icmp sgt i32 %.01239, 1 + br i1 %1866, label %1858, label %ir_match_fuse_load_cmp_fp.exit + +1867: ; preds = %2, %1270 + %1868 = zext i8 %6 to i32 br label %ir_match_fuse_load_cmp_fp.exit switch.hole_check: ; preds = %474 @@ -46255,8 +46254,8 @@ switch.lookup: ; preds = %switch.hole_check %switch.load = load i32, ptr %switch.gep, align 4 br label %ir_match_fuse_load_cmp_fp.exit -ir_match_fuse_load_cmp_fp.exit: ; preds = %1862, %1857, %1838, %switch.lookup, %1640, %1655, %1804, %1784, %1780, %1776, %1770, %1764, %1759, %1753, %383, %379, %375, %369, %363, %357, %353, %350, %346, %343, %338, %114, %109, %107, %88, %85, %82, %69, %580, %584, %switch.early.test, %679, %1844, %1795, %1284, %1290, %1164, %1161, %1061, %1050, %1044, %653, %661, %667, %798, %793, %786, %780, %864, %859, %852, %846, %930, %925, %918, %912, %996, %991, %984, %978, %1011, %1017, %1024, %1029, %thread-pre-split, %945, %951, %958, %963, %879, %885, %892, %897, %813, %819, %826, %831, %765, %760, %753, %749, %743, %673, %699, %723, %736, %742, %644, %648, %2, %592, %588, %576, %572, %568, %564, %545, %476, %ir_match_fuse_load.exit1211, %ir_match_fuse_load_commutative_fp.exit, %208, %300, %296, %318, %265, %273, %289, %234, %242, %258, %200, %199, %156, %161, %179, %49, %55, %1866, %1843, %1788, %1750, %1746, %ir_match_fuse_load.exit1215, %ir_match_fuse_load.exit1214, %ir_match_fuse_load.exit1213, %1613, %1607, %1599, %1593, %1573, %1529, %1471, %1402, %1387, %1348, %1265, %1259, %1252, %1246, %1235, %1215, %1158, %1157, %1147, %1115, %1034, %1001, %968, %935, %902, %869, %836, %803, %770, %637, %ir_match_fuse_load.exit1212, %._crit_edge1241, %._crit_edge1244, %520, %519, %488, %483, %324, %319, %291, %260, %190, %185, %180, %63, %37 - %.0993 = phi i32 [ %1867, %1866 ], [ 1073741824, %1843 ], [ %1794, %1788 ], [ %1749, %1746 ], [ %1752, %1750 ], [ %1731, %ir_match_fuse_load.exit1215 ], [ %1693, %ir_match_fuse_load.exit1214 ], [ 151, %1593 ], [ 154, %1471 ], [ 154, %1529 ], [ 154, %1573 ], [ 152, %1599 ], [ 153, %1607 ], [ 155, %1613 ], [ %1639, %ir_match_fuse_load.exit1213 ], [ 147, %1246 ], [ 149, %1215 ], [ 150, %1235 ], [ 148, %1252 ], [ 149, %1259 ], [ 156, %1265 ], [ 174, %1402 ], [ 150, %1348 ], [ 150, %1387 ], [ %1160, %1158 ], [ 167, %1115 ], [ 167, %1147 ], [ 77, %1157 ], [ 164, %770 ], [ 159, %803 ], [ 160, %836 ], [ 161, %869 ], [ 162, %902 ], [ 163, %935 ], [ 165, %968 ], [ 166, %1001 ], [ 158, %1034 ], [ %643, %637 ], [ %636, %ir_match_fuse_load.exit1212 ], [ 111, %._crit_edge1241 ], [ 110, %._crit_edge1244 ], [ 139, %519 ], [ 109, %520 ], [ 109, %488 ], [ 139, %483 ], [ 119, %180 ], [ 120, %185 ], [ 121, %190 ], [ 124, %260 ], [ 125, %291 ], [ 122, %319 ], [ 126, %324 ], [ 107, %63 ], [ 114, %37 ], [ 113, %55 ], [ 113, %49 ], [ 115, %179 ], [ 115, %161 ], [ 115, %156 ], [ %., %199 ], [ %.1150, %200 ], [ 123, %258 ], [ 123, %242 ], [ 123, %234 ], [ 127, %289 ], [ 127, %273 ], [ 127, %265 ], [ 118, %318 ], [ 118, %296 ], [ 118, %300 ], [ 118, %208 ], [ %.1151, %ir_match_fuse_load_commutative_fp.exit ], [ %.1152, %ir_match_fuse_load.exit1211 ], [ 130, %476 ], [ %.1159, %545 ], [ %.1160, %564 ], [ %.1161, %568 ], [ %.1162, %572 ], [ %.1163, %576 ], [ 134217885, %588 ], [ %.1166, %592 ], [ 1073741888, %2 ], [ 71, %648 ], [ 71, %644 ], [ 164, %742 ], [ 164, %736 ], [ 164, %723 ], [ %.0996, %699 ], [ %.0996, %679 ], [ %.0996, %673 ], [ %.0996, %743 ], [ %.0996, %749 ], [ %.0996, %753 ], [ %.0996, %760 ], [ %.0996, %765 ], [ %.0996, %831 ], [ %.0996, %826 ], [ %.0996, %819 ], [ %.0996, %813 ], [ %.0996, %897 ], [ %.0996, %892 ], [ %.0996, %885 ], [ %.0996, %879 ], [ %.0996, %963 ], [ %.0996, %958 ], [ %.0996, %951 ], [ %.0996, %945 ], [ %.0996, %thread-pre-split ], [ %.0996, %1029 ], [ %.0996, %1024 ], [ %.0996, %1017 ], [ %.0996, %1011 ], [ %.0996, %978 ], [ %.0996, %984 ], [ %.0996, %991 ], [ %.0996, %996 ], [ %.0996, %912 ], [ %.0996, %918 ], [ %.0996, %925 ], [ %.0996, %930 ], [ %.0996, %846 ], [ %.0996, %852 ], [ %.0996, %859 ], [ %.0996, %864 ], [ %.0996, %780 ], [ %.0996, %786 ], [ %.0996, %793 ], [ %.0996, %798 ], [ %.0996, %667 ], [ %.0996, %661 ], [ 169, %653 ], [ %.1168, %1044 ], [ 173, %1050 ], [ %.1169, %1061 ], [ 175, %1161 ], [ %.1170, %1164 ], [ 150, %1290 ], [ 150, %1284 ], [ 82, %1795 ], [ 1073741824, %1844 ], [ %.0996, %switch.early.test ], [ %spec.select, %584 ], [ %spec.select1210, %580 ], [ 108, %69 ], [ 108, %82 ], [ 108, %85 ], [ 108, %88 ], [ 108, %107 ], [ 108, %109 ], [ 108, %114 ], [ 134217868, %338 ], [ 134217868, %343 ], [ 134217868, %346 ], [ 134217868, %350 ], [ 140, %353 ], [ 140, %357 ], [ 140, %363 ], [ 140, %369 ], [ 140, %375 ], [ 140, %379 ], [ 140, %383 ], [ 178, %1753 ], [ 178, %1759 ], [ 178, %1764 ], [ 178, %1770 ], [ 178, %1776 ], [ 178, %1780 ], [ 178, %1784 ], [ 82, %1804 ], [ %1656, %1655 ], [ 35, %1640 ], [ %switch.load, %switch.lookup ], [ 82, %1838 ], [ 1073741824, %1862 ], [ 73, %1857 ] +ir_match_fuse_load_cmp_fp.exit: ; preds = %1863, %1858, %1839, %switch.lookup, %1641, %1656, %1805, %1785, %1781, %1777, %1771, %1765, %1760, %1754, %383, %379, %375, %369, %363, %357, %353, %350, %346, %343, %338, %114, %109, %107, %88, %85, %82, %69, %580, %584, %679, %1845, %1796, %1285, %1291, %1165, %1162, %1062, %1051, %1045, %653, %661, %667, %799, %794, %787, %781, %865, %860, %853, %847, %931, %926, %919, %913, %997, %992, %985, %979, %.thread1220, %1018, %1025, %1030, %1012, %946, %952, %959, %964, %880, %886, %893, %898, %814, %820, %827, %832, %765, %760, %753, %749, %743, %673, %780, %699, %723, %736, %742, %644, %648, %2, %592, %588, %576, %572, %568, %564, %545, %476, %ir_match_fuse_load.exit1211, %ir_match_fuse_load_commutative_fp.exit, %208, %300, %296, %318, %265, %273, %289, %234, %242, %258, %200, %199, %156, %161, %179, %49, %55, %1867, %1844, %1789, %1751, %1747, %ir_match_fuse_load.exit1215, %ir_match_fuse_load.exit1214, %ir_match_fuse_load.exit1213, %1614, %1608, %1600, %1594, %1574, %1530, %1472, %1403, %1388, %1349, %1266, %1260, %1253, %1247, %1236, %1216, %1159, %1158, %1148, %1116, %1035, %1002, %969, %936, %903, %870, %837, %804, %770, %637, %ir_match_fuse_load.exit1212, %._crit_edge1244, %._crit_edge1247, %520, %519, %488, %483, %324, %319, %291, %260, %190, %185, %180, %63, %37 + %.0993 = phi i32 [ %1868, %1867 ], [ 1073741824, %1844 ], [ %1795, %1789 ], [ %1750, %1747 ], [ %1753, %1751 ], [ %1732, %ir_match_fuse_load.exit1215 ], [ %1694, %ir_match_fuse_load.exit1214 ], [ 151, %1594 ], [ 154, %1472 ], [ 154, %1530 ], [ 154, %1574 ], [ 152, %1600 ], [ 153, %1608 ], [ 155, %1614 ], [ %1640, %ir_match_fuse_load.exit1213 ], [ 147, %1247 ], [ 149, %1216 ], [ 150, %1236 ], [ 148, %1253 ], [ 149, %1260 ], [ 156, %1266 ], [ 174, %1403 ], [ 150, %1349 ], [ 150, %1388 ], [ %1161, %1159 ], [ 167, %1116 ], [ 167, %1148 ], [ 77, %1158 ], [ 164, %770 ], [ 159, %804 ], [ 160, %837 ], [ 161, %870 ], [ 162, %903 ], [ 163, %936 ], [ 165, %969 ], [ 166, %1002 ], [ 158, %1035 ], [ %643, %637 ], [ %636, %ir_match_fuse_load.exit1212 ], [ 111, %._crit_edge1244 ], [ 110, %._crit_edge1247 ], [ 139, %519 ], [ 109, %520 ], [ 109, %488 ], [ 139, %483 ], [ 119, %180 ], [ 120, %185 ], [ 121, %190 ], [ 124, %260 ], [ 125, %291 ], [ 122, %319 ], [ 126, %324 ], [ 107, %63 ], [ 114, %37 ], [ 113, %55 ], [ 113, %49 ], [ 115, %179 ], [ 115, %161 ], [ 115, %156 ], [ %., %199 ], [ %.1150, %200 ], [ 123, %258 ], [ 123, %242 ], [ 123, %234 ], [ 127, %289 ], [ 127, %273 ], [ 127, %265 ], [ 118, %318 ], [ 118, %296 ], [ 118, %300 ], [ 118, %208 ], [ %.1151, %ir_match_fuse_load_commutative_fp.exit ], [ %.1152, %ir_match_fuse_load.exit1211 ], [ 130, %476 ], [ %.1159, %545 ], [ %.1160, %564 ], [ %.1161, %568 ], [ %.1162, %572 ], [ %.1163, %576 ], [ 134217885, %588 ], [ %.1166, %592 ], [ 1073741888, %2 ], [ 71, %648 ], [ 71, %644 ], [ 164, %742 ], [ 164, %736 ], [ 164, %723 ], [ %.0996, %699 ], [ %.0996, %780 ], [ %.0996, %679 ], [ %.0996, %673 ], [ %.0996, %743 ], [ %.0996, %749 ], [ %.0996, %753 ], [ %.0996, %760 ], [ %.0996, %765 ], [ %.0996, %832 ], [ %.0996, %827 ], [ %.0996, %820 ], [ %.0996, %814 ], [ %.0996, %898 ], [ %.0996, %893 ], [ %.0996, %886 ], [ %.0996, %880 ], [ %.0996, %964 ], [ %.0996, %959 ], [ %.0996, %952 ], [ %.0996, %946 ], [ %.0996, %1012 ], [ %.0996, %1030 ], [ %.0996, %1025 ], [ %.0996, %1018 ], [ %.0996, %.thread1220 ], [ %.0996, %979 ], [ %.0996, %985 ], [ %.0996, %992 ], [ %.0996, %997 ], [ %.0996, %913 ], [ %.0996, %919 ], [ %.0996, %926 ], [ %.0996, %931 ], [ %.0996, %847 ], [ %.0996, %853 ], [ %.0996, %860 ], [ %.0996, %865 ], [ %.0996, %781 ], [ %.0996, %787 ], [ %.0996, %794 ], [ %.0996, %799 ], [ %.0996, %667 ], [ %.0996, %661 ], [ 169, %653 ], [ %.1168, %1045 ], [ 173, %1051 ], [ %.1169, %1062 ], [ 175, %1162 ], [ %.1170, %1165 ], [ 150, %1291 ], [ 150, %1285 ], [ 82, %1796 ], [ 1073741824, %1845 ], [ %spec.select, %584 ], [ %spec.select1210, %580 ], [ 108, %69 ], [ 108, %82 ], [ 108, %85 ], [ 108, %88 ], [ 108, %107 ], [ 108, %109 ], [ 108, %114 ], [ 134217868, %338 ], [ 134217868, %343 ], [ 134217868, %346 ], [ 134217868, %350 ], [ 140, %353 ], [ 140, %357 ], [ 140, %363 ], [ 140, %369 ], [ 140, %375 ], [ 140, %379 ], [ 140, %383 ], [ 178, %1754 ], [ 178, %1760 ], [ 178, %1765 ], [ 178, %1771 ], [ 178, %1777 ], [ 178, %1781 ], [ 178, %1785 ], [ 82, %1805 ], [ %1657, %1656 ], [ 35, %1641 ], [ %switch.load, %switch.lookup ], [ 82, %1839 ], [ 1073741824, %1863 ], [ 73, %1858 ] ret i32 %.0993 } diff --git a/bench/php/optimized/pcre2_compile.ll b/bench/php/optimized/pcre2_compile.ll index 2c4996a2054..1f423429d58 100644 --- a/bench/php/optimized/pcre2_compile.ll +++ b/bench/php/optimized/pcre2_compile.ll @@ -1942,7 +1942,7 @@ define ptr @php_pcre2_compile(ptr noundef %0, i64 noundef %1, i32 noundef %2, pt %23 = icmp eq ptr %3, null %24 = icmp eq ptr %4, null %or.cond = or i1 %23, %24 - br i1 %or.cond, label %606, label %25 + br i1 %or.cond, label %607, label %25 25: ; preds = %6 store i32 100, ptr %3, align 4 @@ -1956,7 +1956,7 @@ define ptr @php_pcre2_compile(ptr noundef %0, i64 noundef %1, i32 noundef %2, pt 29: ; preds = %27 store i32 116, ptr %3, align 4 - br label %606 + br label %607 30: ; preds = %27, %25 %.0313 = phi ptr [ %0, %25 ], [ @.str, %27 ] @@ -1977,7 +1977,7 @@ define ptr @php_pcre2_compile(ptr noundef %0, i64 noundef %1, i32 noundef %2, pt 38: ; preds = %35, %30 store i32 117, ptr %3, align 4 - br label %606 + br label %607 39: ; preds = %35 %40 = and i32 %2, 33554432 @@ -1993,7 +1993,7 @@ define ptr @php_pcre2_compile(ptr noundef %0, i64 noundef %1, i32 noundef %2, pt 45: ; preds = %41 store i32 192, ptr %3, align 4 - br label %606 + br label %607 46: ; preds = %41, %39 %47 = icmp eq i64 %1, -1 @@ -2012,7 +2012,7 @@ define ptr @php_pcre2_compile(ptr noundef %0, i64 noundef %1, i32 noundef %2, pt 54: ; preds = %50 store i32 188, ptr %3, align 4 - br label %606 + br label %607 55: ; preds = %50 %56 = getelementptr inbounds nuw i8, ptr %spec.store.select, i64 40 @@ -2092,16 +2092,16 @@ define ptr @php_pcre2_compile(ptr noundef %0, i64 noundef %1, i32 noundef %2, pt %or.cond567 = and i1 %.not390, %95 br i1 %or.cond567, label %.lr.ph529, label %.critedge -.lr.ph529: ; preds = %55, %170 - %96 = phi i64 [ %172, %170 ], [ %.0323, %55 ] - %97 = phi i64 [ %171, %170 ], [ 0, %55 ] - %.1335528 = phi i32 [ %.2336, %170 ], [ 0, %55 ] - %.1339527 = phi i32 [ %.2340, %170 ], [ 0, %55 ] - %.1343526 = phi i32 [ %.2344, %170 ], [ -1, %55 ] - %.1347525 = phi i32 [ %.2348, %170 ], [ -1, %55 ] - %.1351524 = phi i32 [ %.2352, %170 ], [ -1, %55 ] - %.1355523 = phi i32 [ %.2356, %170 ], [ 0, %55 ] - %.1358522 = phi i32 [ %.2359, %170 ], [ 0, %55 ] +.lr.ph529: ; preds = %55, %171 + %96 = phi i64 [ %173, %171 ], [ %.0323, %55 ] + %97 = phi i64 [ %172, %171 ], [ 0, %55 ] + %.1335528 = phi i32 [ %.2336, %171 ], [ 0, %55 ] + %.1339527 = phi i32 [ %.2340, %171 ], [ 0, %55 ] + %.1343526 = phi i32 [ %.2344, %171 ], [ -1, %55 ] + %.1347525 = phi i32 [ %.2348, %171 ], [ -1, %55 ] + %.1351524 = phi i32 [ %.2352, %171 ], [ -1, %55 ] + %.1355523 = phi i32 [ %.2356, %171 ], [ 0, %55 ] + %.1358522 = phi i32 [ %.2359, %171 ], [ 0, %55 ] %98 = getelementptr inbounds nuw i8, ptr %.0313, i64 %97 %99 = load i8, ptr %98, align 1 %100 = icmp eq i8 %99, 40 @@ -2120,20 +2120,20 @@ define ptr @php_pcre2_compile(ptr noundef %0, i64 noundef %1, i32 noundef %2, pt %108 = getelementptr inbounds nuw i8, ptr %98, i64 2 br label %109 -109: ; preds = %.preheader471, %169 - %indvars.iv = phi i64 [ 0, %.preheader471 ], [ %indvars.iv.next, %169 ] +109: ; preds = %.preheader471, %170 + %indvars.iv = phi i64 [ 0, %.preheader471 ], [ %indvars.iv.next, %170 ] %110 = getelementptr inbounds nuw %struct.pso, ptr @pso_list, i64 %indvars.iv %111 = getelementptr inbounds nuw i8, ptr %110, i64 8 %112 = load i16, ptr %111, align 8 %113 = zext i16 %112 to i64 %.not394 = icmp ult i64 %107, %113 - br i1 %.not394, label %169, label %114 + br i1 %.not394, label %170, label %114 114: ; preds = %109 %115 = load ptr, ptr %110, align 16 %116 = call i32 @_pcre2_strncmp_c8_8(ptr noundef nonnull %108, ptr noundef %115, i64 noundef %113) #17 %117 = icmp eq i32 %116, 0 - br i1 %117, label %118, label %169 + br i1 %117, label %118, label %170 118: ; preds = %114 %119 = zext i16 %112 to i32 @@ -2141,7 +2141,7 @@ define ptr @php_pcre2_compile(ptr noundef %0, i64 noundef %1, i32 noundef %2, pt %121 = add i32 %120, %119 %122 = getelementptr inbounds nuw i8, ptr %110, i64 10 %123 = load i16, ptr %122, align 2 - switch i16 %123, label %170 [ + switch i16 %123, label %171 [ i16 0, label %124 i16 1, label %129 i16 2, label %133 @@ -2157,25 +2157,25 @@ define ptr @php_pcre2_compile(ptr noundef %0, i64 noundef %1, i32 noundef %2, pt %127 = load i32, ptr %72, align 4 %128 = or i32 %127, %126 store i32 %128, ptr %72, align 4 - br label %170 + br label %171 129: ; preds = %118 %130 = getelementptr inbounds nuw i8, ptr %110, i64 12 %131 = load i32, ptr %130, align 4 %132 = or i32 %131, %.1358522 - br label %170 + br label %171 133: ; preds = %118 %134 = getelementptr inbounds nuw i8, ptr %110, i64 12 %135 = load i32, ptr %134, align 4 %136 = or i32 %.1358522, 32768 - br label %170 + br label %171 137: ; preds = %118 %138 = getelementptr inbounds nuw i8, ptr %110, i64 12 %139 = load i32, ptr %138, align 4 %140 = or i32 %.1358522, 16384 - br label %170 + br label %171 141: ; preds = %118, %118, %118 %142 = zext i32 %121 to i64 @@ -2215,914 +2215,914 @@ define ptr @php_pcre2_compile(ptr noundef %0, i64 noundef %1, i32 noundef %2, pt br i1 %161, label %.lr.ph, label %.critedge3 .critedge3: ; preds = %152 - %162 = add i32 %.0325518, 2 - %.not395 = icmp eq i8 %160, 41 - br i1 %.not395, label %166, label %.loopexit474 + %162 = icmp eq i8 %160, 41 + %163 = add i32 %.0325518, 2 + br i1 %162, label %167, label %.loopexit474 .loopexit474: ; preds = %.critedge3, %.critedge3.thread - %163 = phi i32 [ %151, %.critedge3.thread ], [ %162, %.critedge3 ] - %164 = zext i32 %163 to i64 - %165 = getelementptr inbounds nuw i8, ptr %.0313, i64 %164 + %164 = phi i32 [ %151, %.critedge3.thread ], [ %163, %.critedge3 ] + %165 = zext i32 %164 to i64 + %166 = getelementptr inbounds nuw i8, ptr %.0313, i64 %165 br label %.thread454 -166: ; preds = %.critedge3 - switch i16 %123, label %168 [ - i16 4, label %170 - i16 5, label %167 +167: ; preds = %.critedge3 + switch i16 %123, label %169 [ + i16 4, label %171 + i16 5, label %168 ] -167: ; preds = %166 - br label %170 +168: ; preds = %167 + br label %171 -168: ; preds = %166 - br label %170 +169: ; preds = %167 + br label %171 -169: ; preds = %109, %114 +170: ; preds = %109, %114 %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 %exitcond.not = icmp eq i64 %indvars.iv.next, 21 br i1 %exitcond.not, label %.critedge, label %109 -170: ; preds = %168, %167, %166, %118, %124, %129, %133, %137 - %.2359 = phi i32 [ %.1358522, %118 ], [ %140, %137 ], [ %136, %133 ], [ %132, %129 ], [ %.1358522, %124 ], [ %.1358522, %166 ], [ %.1358522, %167 ], [ %.1358522, %168 ] - %.2356 = phi i32 [ %121, %118 ], [ %121, %137 ], [ %121, %133 ], [ %121, %129 ], [ %121, %124 ], [ %162, %166 ], [ %162, %167 ], [ %162, %168 ] - %.2352 = phi i32 [ %.1351524, %118 ], [ %.1351524, %137 ], [ %.1351524, %133 ], [ %.1351524, %129 ], [ %.1351524, %124 ], [ %157, %166 ], [ %.1351524, %167 ], [ %.1351524, %168 ] - %.2348 = phi i32 [ %.1347525, %118 ], [ %.1347525, %137 ], [ %.1347525, %133 ], [ %.1347525, %129 ], [ %.1347525, %124 ], [ %.1347525, %166 ], [ %157, %167 ], [ %.1347525, %168 ] - %.2344 = phi i32 [ %.1343526, %118 ], [ %.1343526, %137 ], [ %.1343526, %133 ], [ %.1343526, %129 ], [ %.1343526, %124 ], [ %.1343526, %166 ], [ %.1343526, %167 ], [ %157, %168 ] - %.2340 = phi i32 [ %.1339527, %118 ], [ %.1339527, %137 ], [ %135, %133 ], [ %.1339527, %129 ], [ %.1339527, %124 ], [ %.1339527, %166 ], [ %.1339527, %167 ], [ %.1339527, %168 ] - %.2336 = phi i32 [ %.1335528, %118 ], [ %139, %137 ], [ %.1335528, %133 ], [ %.1335528, %129 ], [ %.1335528, %124 ], [ %.1335528, %166 ], [ %.1335528, %167 ], [ %.1335528, %168 ] - %171 = zext i32 %.2356 to i64 - %172 = sub i64 %.0323, %171 - %173 = icmp ugt i64 %172, 1 - br i1 %173, label %.lr.ph529, label %.critedge - -.critedge: ; preds = %.lr.ph529, %170, %101, %169, %55 - %.0357 = phi i32 [ 0, %55 ], [ %.1358522, %169 ], [ %.1358522, %.lr.ph529 ], [ %.2359, %170 ], [ %.1358522, %101 ] - %.0354 = phi i32 [ 0, %55 ], [ %.1355523, %169 ], [ %.1355523, %.lr.ph529 ], [ %.2356, %170 ], [ %.1355523, %101 ] - %.0350 = phi i32 [ -1, %55 ], [ %.1351524, %169 ], [ %.1351524, %.lr.ph529 ], [ %.2352, %170 ], [ %.1351524, %101 ] - %.0346 = phi i32 [ -1, %55 ], [ %.1347525, %169 ], [ %.1347525, %.lr.ph529 ], [ %.2348, %170 ], [ %.1347525, %101 ] - %.0342 = phi i32 [ -1, %55 ], [ %.1343526, %169 ], [ %.1343526, %.lr.ph529 ], [ %.2344, %170 ], [ %.1343526, %101 ] - %.0338 = phi i32 [ 0, %55 ], [ %.1339527, %169 ], [ %.1339527, %.lr.ph529 ], [ %.2340, %170 ], [ %.1339527, %101 ] - %.0334 = phi i32 [ 0, %55 ], [ %.1335528, %169 ], [ %.1335528, %.lr.ph529 ], [ %.2336, %170 ], [ %.1335528, %101 ] - %174 = zext i32 %.0354 to i64 - %175 = getelementptr inbounds nuw i8, ptr %.0313, i64 %174 - %176 = load i32, ptr %72, align 4 - %177 = and i32 %176, 524288 - %178 = icmp ne i32 %177, 0 - %.lobit = lshr exact i32 %177, 19 - br i1 %178, label %179, label %186 - -179: ; preds = %.critedge - %180 = and i32 %2, 4096 - %.not396 = icmp eq i32 %180, 0 - br i1 %.not396, label %181, label %.thread454 - -181: ; preds = %179 - %182 = and i32 %2, 1073741824 - %183 = icmp eq i32 %182, 0 - br i1 %183, label %184, label %186 - -184: ; preds = %181 - %185 = call i32 @_pcre2_valid_utf_8(ptr noundef nonnull %.0313, i64 noundef %.0323, ptr noundef nonnull %4) #17 - store i32 %185, ptr %16, align 4 - %.not397 = icmp eq i32 %185, 0 +171: ; preds = %169, %168, %167, %118, %124, %129, %133, %137 + %.2359 = phi i32 [ %.1358522, %118 ], [ %140, %137 ], [ %136, %133 ], [ %132, %129 ], [ %.1358522, %124 ], [ %.1358522, %167 ], [ %.1358522, %168 ], [ %.1358522, %169 ] + %.2356 = phi i32 [ %121, %118 ], [ %121, %137 ], [ %121, %133 ], [ %121, %129 ], [ %121, %124 ], [ %163, %167 ], [ %163, %168 ], [ %163, %169 ] + %.2352 = phi i32 [ %.1351524, %118 ], [ %.1351524, %137 ], [ %.1351524, %133 ], [ %.1351524, %129 ], [ %.1351524, %124 ], [ %157, %167 ], [ %.1351524, %168 ], [ %.1351524, %169 ] + %.2348 = phi i32 [ %.1347525, %118 ], [ %.1347525, %137 ], [ %.1347525, %133 ], [ %.1347525, %129 ], [ %.1347525, %124 ], [ %.1347525, %167 ], [ %157, %168 ], [ %.1347525, %169 ] + %.2344 = phi i32 [ %.1343526, %118 ], [ %.1343526, %137 ], [ %.1343526, %133 ], [ %.1343526, %129 ], [ %.1343526, %124 ], [ %.1343526, %167 ], [ %.1343526, %168 ], [ %157, %169 ] + %.2340 = phi i32 [ %.1339527, %118 ], [ %.1339527, %137 ], [ %135, %133 ], [ %.1339527, %129 ], [ %.1339527, %124 ], [ %.1339527, %167 ], [ %.1339527, %168 ], [ %.1339527, %169 ] + %.2336 = phi i32 [ %.1335528, %118 ], [ %139, %137 ], [ %.1335528, %133 ], [ %.1335528, %129 ], [ %.1335528, %124 ], [ %.1335528, %167 ], [ %.1335528, %168 ], [ %.1335528, %169 ] + %172 = zext i32 %.2356 to i64 + %173 = sub i64 %.0323, %172 + %174 = icmp ugt i64 %173, 1 + br i1 %174, label %.lr.ph529, label %.critedge + +.critedge: ; preds = %.lr.ph529, %171, %101, %170, %55 + %.0357 = phi i32 [ 0, %55 ], [ %.1358522, %170 ], [ %.1358522, %.lr.ph529 ], [ %.2359, %171 ], [ %.1358522, %101 ] + %.0354 = phi i32 [ 0, %55 ], [ %.1355523, %170 ], [ %.1355523, %.lr.ph529 ], [ %.2356, %171 ], [ %.1355523, %101 ] + %.0350 = phi i32 [ -1, %55 ], [ %.1351524, %170 ], [ %.1351524, %.lr.ph529 ], [ %.2352, %171 ], [ %.1351524, %101 ] + %.0346 = phi i32 [ -1, %55 ], [ %.1347525, %170 ], [ %.1347525, %.lr.ph529 ], [ %.2348, %171 ], [ %.1347525, %101 ] + %.0342 = phi i32 [ -1, %55 ], [ %.1343526, %170 ], [ %.1343526, %.lr.ph529 ], [ %.2344, %171 ], [ %.1343526, %101 ] + %.0338 = phi i32 [ 0, %55 ], [ %.1339527, %170 ], [ %.1339527, %.lr.ph529 ], [ %.2340, %171 ], [ %.1339527, %101 ] + %.0334 = phi i32 [ 0, %55 ], [ %.1335528, %170 ], [ %.1335528, %.lr.ph529 ], [ %.2336, %171 ], [ %.1335528, %101 ] + %175 = zext i32 %.0354 to i64 + %176 = getelementptr inbounds nuw i8, ptr %.0313, i64 %175 + %177 = load i32, ptr %72, align 4 + %178 = and i32 %177, 524288 + %179 = icmp ne i32 %178, 0 + %.lobit = lshr exact i32 %178, 19 + br i1 %179, label %180, label %187 + +180: ; preds = %.critedge + %181 = and i32 %2, 4096 + %.not396 = icmp eq i32 %181, 0 + br i1 %.not396, label %182, label %.thread454 + +182: ; preds = %180 + %183 = and i32 %2, 1073741824 + %184 = icmp eq i32 %183, 0 + br i1 %184, label %185, label %187 + +185: ; preds = %182 + %186 = call i32 @_pcre2_valid_utf_8(ptr noundef nonnull %.0313, i64 noundef %.0323, ptr noundef nonnull %4) #17 + store i32 %186, ptr %16, align 4 + %.not397 = icmp eq i32 %186, 0 br i1 %.not397, label %._crit_edge, label %.thread450 -._crit_edge: ; preds = %184 +._crit_edge: ; preds = %185 %.pre = load i32, ptr %72, align 4 - br label %186 + br label %187 -.thread450: ; preds = %184 - store i32 %185, ptr %3, align 4 +.thread450: ; preds = %185 + store i32 %186, ptr %3, align 4 br label %php_pcre2_code_free.exit -186: ; preds = %._crit_edge, %181, %.critedge - %187 = phi i32 [ %.pre, %._crit_edge ], [ %176, %181 ], [ %176, %.critedge ] - %188 = and i32 %187, 131072 - %.not420 = icmp eq i32 %188, 0 - %189 = and i32 %187, 133120 - %or.cond429.not = icmp eq i32 %189, 133120 - br i1 %or.cond429.not, label %.thread454, label %190 - -190: ; preds = %186 - %191 = icmp eq i32 %.0334, 0 - br i1 %191, label %192, label %196 - -192: ; preds = %190 - %193 = getelementptr inbounds nuw i8, ptr %spec.store.select, i64 56 - %194 = load i16, ptr %193, align 8 - %195 = zext i16 %194 to i32 - br label %196 - -196: ; preds = %192, %190 - %.3337 = phi i32 [ %195, %192 ], [ %.0334, %190 ] - %197 = icmp eq i32 %.0338, 0 - br i1 %197, label %198, label %202 - -198: ; preds = %196 - %199 = getelementptr inbounds nuw i8, ptr %spec.store.select, i64 58 - %200 = load i16, ptr %199, align 2 - %201 = zext i16 %200 to i32 - br label %202 - -202: ; preds = %198, %196 - %.3341 = phi i32 [ %201, %198 ], [ %.0338, %196 ] - %203 = getelementptr inbounds nuw i8, ptr %8, i64 248 - store i32 0, ptr %203, align 8 +187: ; preds = %._crit_edge, %182, %.critedge + %188 = phi i32 [ %.pre, %._crit_edge ], [ %177, %182 ], [ %177, %.critedge ] + %189 = and i32 %188, 131072 + %.not420 = icmp eq i32 %189, 0 + %190 = and i32 %188, 133120 + %or.cond429.not = icmp eq i32 %190, 133120 + br i1 %or.cond429.not, label %.thread454, label %191 + +191: ; preds = %187 + %192 = icmp eq i32 %.0334, 0 + br i1 %192, label %193, label %197 + +193: ; preds = %191 + %194 = getelementptr inbounds nuw i8, ptr %spec.store.select, i64 56 + %195 = load i16, ptr %194, align 8 + %196 = zext i16 %195 to i32 + br label %197 + +197: ; preds = %193, %191 + %.3337 = phi i32 [ %196, %193 ], [ %.0334, %191 ] + %198 = icmp eq i32 %.0338, 0 + br i1 %198, label %199, label %203 + +199: ; preds = %197 + %200 = getelementptr inbounds nuw i8, ptr %spec.store.select, i64 58 + %201 = load i16, ptr %200, align 2 + %202 = zext i16 %201 to i32 + br label %203 + +203: ; preds = %199, %197 + %.3341 = phi i32 [ %202, %199 ], [ %.0338, %197 ] + %204 = getelementptr inbounds nuw i8, ptr %8, i64 248 + store i32 0, ptr %204, align 8 switch i32 %.3341, label %.thread454 [ - i32 1, label %204 - i32 2, label %207 - i32 6, label %210 - i32 3, label %213 - i32 4, label %217 - i32 5, label %218 + i32 1, label %205 + i32 2, label %208 + i32 6, label %211 + i32 3, label %214 + i32 4, label %218 + i32 5, label %219 ] -204: ; preds = %202 - %205 = getelementptr inbounds nuw i8, ptr %8, i64 252 - store i32 1, ptr %205, align 4 - %206 = getelementptr inbounds nuw i8, ptr %8, i64 264 - store i8 13, ptr %206, align 8 - br label %219 - -207: ; preds = %202 - %208 = getelementptr inbounds nuw i8, ptr %8, i64 252 - store i32 1, ptr %208, align 4 - %209 = getelementptr inbounds nuw i8, ptr %8, i64 264 - store i8 10, ptr %209, align 8 - br label %219 - -210: ; preds = %202 - %211 = getelementptr inbounds nuw i8, ptr %8, i64 252 - store i32 1, ptr %211, align 4 - %212 = getelementptr inbounds nuw i8, ptr %8, i64 264 - store i8 0, ptr %212, align 8 - br label %219 - -213: ; preds = %202 - %214 = getelementptr inbounds nuw i8, ptr %8, i64 252 - store i32 2, ptr %214, align 4 - %215 = getelementptr inbounds nuw i8, ptr %8, i64 264 - store i8 13, ptr %215, align 8 - %216 = getelementptr inbounds nuw i8, ptr %8, i64 265 - store i8 10, ptr %216, align 1 - br label %219 - -217: ; preds = %202 - store i32 1, ptr %203, align 8 - br label %219 - -218: ; preds = %202 - store i32 2, ptr %203, align 8 - br label %219 - -219: ; preds = %218, %217, %213, %210, %207, %204 - %220 = sub i64 %.0323, %174 - %221 = load i32, ptr %36, align 8 - %222 = and i32 %221, 12 - %.not400 = icmp eq i32 %222, 0 - %223 = add i64 %220, 4 - %spec.select430 = select i1 %.not400, i64 %220, i64 %223 - %224 = and i32 %2, 4 - %.not401 = icmp eq i32 %224, 0 - %225 = mul i64 %spec.select430, 5 - %226 = add i64 %225, 5 - %.1361 = select i1 %.not401, i64 %spec.select430, i64 %226 - %227 = icmp ugt i64 %.1361, 1023 - br i1 %227, label %228, label %._crit_edge615 - -._crit_edge615: ; preds = %219 +205: ; preds = %203 + %206 = getelementptr inbounds nuw i8, ptr %8, i64 252 + store i32 1, ptr %206, align 4 + %207 = getelementptr inbounds nuw i8, ptr %8, i64 264 + store i8 13, ptr %207, align 8 + br label %220 + +208: ; preds = %203 + %209 = getelementptr inbounds nuw i8, ptr %8, i64 252 + store i32 1, ptr %209, align 4 + %210 = getelementptr inbounds nuw i8, ptr %8, i64 264 + store i8 10, ptr %210, align 8 + br label %220 + +211: ; preds = %203 + %212 = getelementptr inbounds nuw i8, ptr %8, i64 252 + store i32 1, ptr %212, align 4 + %213 = getelementptr inbounds nuw i8, ptr %8, i64 264 + store i8 0, ptr %213, align 8 + br label %220 + +214: ; preds = %203 + %215 = getelementptr inbounds nuw i8, ptr %8, i64 252 + store i32 2, ptr %215, align 4 + %216 = getelementptr inbounds nuw i8, ptr %8, i64 264 + store i8 13, ptr %216, align 8 + %217 = getelementptr inbounds nuw i8, ptr %8, i64 265 + store i8 10, ptr %217, align 1 + br label %220 + +218: ; preds = %203 + store i32 1, ptr %204, align 8 + br label %220 + +219: ; preds = %203 + store i32 2, ptr %204, align 8 + br label %220 + +220: ; preds = %219, %218, %214, %211, %208, %205 + %221 = sub i64 %.0323, %175 + %222 = load i32, ptr %36, align 8 + %223 = and i32 %222, 12 + %.not400 = icmp eq i32 %223, 0 + %224 = add i64 %221, 4 + %spec.select430 = select i1 %.not400, i64 %221, i64 %224 + %225 = and i32 %2, 4 + %.not401 = icmp eq i32 %225, 0 + %226 = mul i64 %spec.select430, 5 + %227 = add i64 %226, 5 + %.1361 = select i1 %.not401, i64 %spec.select430, i64 %227 + %228 = icmp ugt i64 %.1361, 1023 + br i1 %228, label %229, label %._crit_edge615 + +._crit_edge615: ; preds = %220 %.pre616 = load ptr, ptr %86, align 8 - br label %238 - -228: ; preds = %219 - %229 = load ptr, ptr %spec.store.select, align 8 - %230 = shl i64 %.1361, 2 - %231 = add i64 %230, 4 - %232 = getelementptr inbounds nuw i8, ptr %spec.store.select, i64 16 - %233 = load ptr, ptr %232, align 8 - %234 = call ptr %229(i64 noundef %231, ptr noundef %233) #17 - %235 = icmp eq ptr %234, null - br i1 %235, label %236, label %237 - -236: ; preds = %228 + br label %239 + +229: ; preds = %220 + %230 = load ptr, ptr %spec.store.select, align 8 + %231 = shl i64 %.1361, 2 + %232 = add i64 %231, 4 + %233 = getelementptr inbounds nuw i8, ptr %spec.store.select, i64 16 + %234 = load ptr, ptr %233, align 8 + %235 = call ptr %230(i64 noundef %232, ptr noundef %234) #17 + %236 = icmp eq ptr %235, null + br i1 %236, label %237, label %238 + +237: ; preds = %229 store i32 121, ptr %3, align 4 br label %php_pcre2_code_free.exit -237: ; preds = %228 - store ptr %234, ptr %86, align 8 +238: ; preds = %229 + store ptr %235, ptr %86, align 8 %.pre617 = load i32, ptr %72, align 4 - br label %238 - -238: ; preds = %._crit_edge615, %237 - %239 = phi i32 [ %187, %._crit_edge615 ], [ %.pre617, %237 ] - %240 = phi ptr [ %.pre616, %._crit_edge615 ], [ %234, %237 ] - %241 = getelementptr inbounds i32, ptr %240, i64 %.1361 - %242 = getelementptr inbounds nuw i8, ptr %241, i64 4 - %243 = getelementptr inbounds nuw i8, ptr %8, i64 224 - store ptr %242, ptr %243, align 8 - %244 = call fastcc i32 @parse_regex(ptr noundef nonnull %175, i32 noundef %239, ptr noundef %7, ptr noundef %8) - store i32 %244, ptr %16, align 4 - %.not402 = icmp eq i32 %244, 0 - br i1 %.not402, label %245, label %.thread459 - -245: ; preds = %238 - %246 = load i32, ptr %7, align 4 - %.not403 = icmp eq i32 %246, 0 - br i1 %.not403, label %270, label %247 - -247: ; preds = %245 + br label %239 + +239: ; preds = %._crit_edge615, %238 + %240 = phi i32 [ %188, %._crit_edge615 ], [ %.pre617, %238 ] + %241 = phi ptr [ %.pre616, %._crit_edge615 ], [ %235, %238 ] + %242 = getelementptr inbounds i32, ptr %241, i64 %.1361 + %243 = getelementptr inbounds nuw i8, ptr %242, i64 4 + %244 = getelementptr inbounds nuw i8, ptr %8, i64 224 + store ptr %243, ptr %244, align 8 + %245 = call fastcc i32 @parse_regex(ptr noundef nonnull %176, i32 noundef %240, ptr noundef %7, ptr noundef %8) + store i32 %245, ptr %16, align 4 + %.not402 = icmp eq i32 %245, 0 + br i1 %.not402, label %246, label %.thread459 + +246: ; preds = %239 + %247 = load i32, ptr %7, align 4 + %.not403 = icmp eq i32 %247, 0 + br i1 %.not403, label %271, label %248 + +248: ; preds = %246 store i32 0, ptr %21, align 4 - %248 = load i32, ptr %66, align 4 - %249 = icmp ugt i32 %248, 127 - br i1 %249, label %250, label %._crit_edge618 + %249 = load i32, ptr %66, align 4 + %250 = icmp ugt i32 %249, 127 + br i1 %250, label %251, label %._crit_edge618 -._crit_edge618: ; preds = %247 +._crit_edge618: ; preds = %248 %.pre619 = load ptr, ptr %73, align 8 - br label %261 - -250: ; preds = %247 - %251 = load ptr, ptr %spec.store.select, align 8 - %252 = shl i32 %248, 1 - %253 = add i32 %252, 2 - %254 = zext i32 %253 to i64 - %255 = shl nuw nsw i64 %254, 2 - %256 = getelementptr inbounds nuw i8, ptr %spec.store.select, i64 16 - %257 = load ptr, ptr %256, align 8 - %258 = call ptr %251(i64 noundef %255, ptr noundef %257) #17 - store ptr %258, ptr %73, align 8 - %259 = icmp eq ptr %258, null - br i1 %259, label %260, label %._crit_edge620 - -._crit_edge620: ; preds = %250 + br label %262 + +251: ; preds = %248 + %252 = load ptr, ptr %spec.store.select, align 8 + %253 = shl i32 %249, 1 + %254 = add i32 %253, 2 + %255 = zext i32 %254 to i64 + %256 = shl nuw nsw i64 %255, 2 + %257 = getelementptr inbounds nuw i8, ptr %spec.store.select, i64 16 + %258 = load ptr, ptr %257, align 8 + %259 = call ptr %252(i64 noundef %256, ptr noundef %258) #17 + store ptr %259, ptr %73, align 8 + %260 = icmp eq ptr %259, null + br i1 %260, label %261, label %._crit_edge620 + +._crit_edge620: ; preds = %251 %.pre621 = load i32, ptr %66, align 4 - br label %261 + br label %262 -260: ; preds = %250 +261: ; preds = %251 store i64 0, ptr %70, align 8 br label %.thread459 -261: ; preds = %._crit_edge620, %._crit_edge618 - %262 = phi i32 [ %248, %._crit_edge618 ], [ %.pre621, %._crit_edge620 ] - %263 = phi ptr [ %.pre619, %._crit_edge618 ], [ %258, %._crit_edge620 ] - %264 = shl i32 %262, 1 - %265 = or disjoint i32 %264, 1 - %266 = zext i32 %265 to i64 - %267 = shl nuw nsw i64 %266, 2 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 4 dereferenceable(1) %263, i8 0, i64 %267, i1 false) - %268 = load ptr, ptr %86, align 8 - %269 = call fastcc i32 @check_lookbehinds(ptr noundef %268, ptr noundef null, ptr noundef null, ptr noundef %8, ptr noundef %21) - store i32 %269, ptr %16, align 4 - %.not404 = icmp eq i32 %269, 0 - br i1 %.not404, label %270, label %.thread459 - -270: ; preds = %261, %245 +262: ; preds = %._crit_edge620, %._crit_edge618 + %263 = phi i32 [ %249, %._crit_edge618 ], [ %.pre621, %._crit_edge620 ] + %264 = phi ptr [ %.pre619, %._crit_edge618 ], [ %259, %._crit_edge620 ] + %265 = shl i32 %263, 1 + %266 = or disjoint i32 %265, 1 + %267 = zext i32 %266 to i64 + %268 = shl nuw nsw i64 %267, 2 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 4 dereferenceable(1) %264, i8 0, i64 %268, i1 false) + %269 = load ptr, ptr %86, align 8 + %270 = call fastcc i32 @check_lookbehinds(ptr noundef %269, ptr noundef null, ptr noundef null, ptr noundef %8, ptr noundef %21) + store i32 %270, ptr %16, align 4 + %.not404 = icmp eq i32 %270, 0 + br i1 %.not404, label %271, label %.thread459 + +271: ; preds = %262, %246 store i64 %.0323, ptr %70, align 8 - %271 = load ptr, ptr %86, align 8 - store ptr %271, ptr %10, align 8 + %272 = load ptr, ptr %86, align 8 + store ptr %272, ptr %10, align 8 store ptr %20, ptr %9, align 8 store i8 -121, ptr %20, align 16 - %272 = load i32, ptr %72, align 4 - %273 = load i32, ptr %36, align 8 - %274 = call fastcc i32 @compile_regex(i32 noundef %272, i32 noundef %273, ptr noundef %9, ptr noundef %10, ptr noundef %16, i32 noundef 0, ptr noundef %14, ptr noundef %12, ptr noundef %15, ptr noundef %13, ptr noundef null, ptr noundef null, ptr noundef %8, ptr noundef nonnull %11) - %275 = load i32, ptr %16, align 4 - %.not405 = icmp eq i32 %275, 0 - br i1 %.not405, label %276, label %.thread459 - -276: ; preds = %270 - %277 = load i64, ptr %11, align 8 - %278 = icmp ugt i64 %277, 65536 - br i1 %278, label %.thread459, label %279 + %273 = load i32, ptr %72, align 4 + %274 = load i32, ptr %36, align 8 + %275 = call fastcc i32 @compile_regex(i32 noundef %273, i32 noundef %274, ptr noundef %9, ptr noundef %10, ptr noundef %16, i32 noundef 0, ptr noundef %14, ptr noundef %12, ptr noundef %15, ptr noundef %13, ptr noundef null, ptr noundef null, ptr noundef %8, ptr noundef nonnull %11) + %276 = load i32, ptr %16, align 4 + %.not405 = icmp eq i32 %276, 0 + br i1 %.not405, label %277, label %.thread459 -279: ; preds = %276 - %280 = load i16, ptr %84, align 8 - %281 = zext i16 %280 to i64 - %282 = load i16, ptr %80, align 2 - %283 = zext i16 %282 to i64 - %284 = mul nuw nsw i64 %283, %281 - %285 = add nuw nsw i64 %277, 136 - %286 = add nuw nsw i64 %285, %284 - %287 = load ptr, ptr %spec.store.select, align 8 - %288 = getelementptr inbounds nuw i8, ptr %spec.store.select, i64 16 - %289 = load ptr, ptr %288, align 8 - %290 = call ptr %287(i64 noundef %286, ptr noundef %289) #17 - %291 = icmp eq ptr %290, null - br i1 %291, label %.thread459, label %292 - -292: ; preds = %279 - %293 = getelementptr inbounds nuw i8, ptr %290, i64 136 - %294 = getelementptr inbounds nuw i8, ptr %290, i64 128 - store i64 0, ptr %294, align 1 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %290, ptr noundef nonnull align 8 dereferenceable(24) %spec.store.select, i64 24, i1 false) - %295 = getelementptr inbounds nuw i8, ptr %290, i64 24 - store ptr %spec.select427, ptr %295, align 8 - %296 = getelementptr inbounds nuw i8, ptr %290, i64 32 - %297 = getelementptr inbounds nuw i8, ptr %290, i64 72 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %296, i8 0, i64 40, i1 false) - store i64 %286, ptr %297, align 8 - %298 = getelementptr inbounds nuw i8, ptr %290, i64 80 - store i32 1346589253, ptr %298, align 8 - %299 = getelementptr inbounds nuw i8, ptr %290, i64 84 - store i32 %spec.select, ptr %299, align 4 - %300 = load i32, ptr %72, align 4 - %301 = getelementptr inbounds nuw i8, ptr %290, i64 88 - store i32 %300, ptr %301, align 8 - %302 = load i32, ptr %36, align 8 - %303 = getelementptr inbounds nuw i8, ptr %290, i64 92 - store i32 %302, ptr %303, align 4 - %304 = load i32, ptr %71, align 8 - %305 = or i32 %.0357, %304 - %306 = or i32 %305, 1 - %307 = getelementptr inbounds nuw i8, ptr %290, i64 96 - store i32 %306, ptr %307, align 8 - %308 = getelementptr inbounds nuw i8, ptr %290, i64 100 - store i32 %.0350, ptr %308, align 4 - %309 = getelementptr inbounds nuw i8, ptr %290, i64 104 - store i32 %.0346, ptr %309, align 8 - %310 = getelementptr inbounds nuw i8, ptr %290, i64 108 - store i32 %.0342, ptr %310, align 4 - %311 = getelementptr inbounds nuw i8, ptr %290, i64 112 - store i32 0, ptr %311, align 8 - %312 = getelementptr inbounds nuw i8, ptr %290, i64 116 - store i32 0, ptr %312, align 4 - %313 = trunc i32 %.3337 to i16 - %314 = getelementptr inbounds nuw i8, ptr %290, i64 120 - store i16 %313, ptr %314, align 8 - %315 = trunc i32 %.3341 to i16 - %316 = getelementptr inbounds nuw i8, ptr %290, i64 122 - store i16 %315, ptr %316, align 2 - %317 = getelementptr inbounds nuw i8, ptr %290, i64 124 - %318 = getelementptr inbounds nuw i8, ptr %290, i64 126 - %319 = getelementptr inbounds nuw i8, ptr %290, i64 130 - store i64 0, ptr %317, align 4 - %320 = load i16, ptr %80, align 2 - %321 = getelementptr inbounds nuw i8, ptr %290, i64 132 - store i16 %320, ptr %321, align 4 - %322 = load i16, ptr %84, align 8 - %323 = getelementptr inbounds nuw i8, ptr %290, i64 134 - store i16 %322, ptr %323, align 2 - %324 = zext i16 %320 to i64 - %325 = zext i16 %322 to i64 - %326 = mul nuw nsw i64 %325, %324 - %327 = getelementptr inbounds nuw i8, ptr %293, i64 %326 +277: ; preds = %271 + %278 = load i64, ptr %11, align 8 + %279 = icmp ugt i64 %278, 65536 + br i1 %279, label %.thread459, label %280 + +280: ; preds = %277 + %281 = load i16, ptr %84, align 8 + %282 = zext i16 %281 to i64 + %283 = load i16, ptr %80, align 2 + %284 = zext i16 %283 to i64 + %285 = mul nuw nsw i64 %284, %282 + %286 = add nuw nsw i64 %278, 136 + %287 = add nuw nsw i64 %286, %285 + %288 = load ptr, ptr %spec.store.select, align 8 + %289 = getelementptr inbounds nuw i8, ptr %spec.store.select, i64 16 + %290 = load ptr, ptr %289, align 8 + %291 = call ptr %288(i64 noundef %287, ptr noundef %290) #17 + %292 = icmp eq ptr %291, null + br i1 %292, label %.thread459, label %293 + +293: ; preds = %280 + %294 = getelementptr inbounds nuw i8, ptr %291, i64 136 + %295 = getelementptr inbounds nuw i8, ptr %291, i64 128 + store i64 0, ptr %295, align 1 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %291, ptr noundef nonnull align 8 dereferenceable(24) %spec.store.select, i64 24, i1 false) + %296 = getelementptr inbounds nuw i8, ptr %291, i64 24 + store ptr %spec.select427, ptr %296, align 8 + %297 = getelementptr inbounds nuw i8, ptr %291, i64 32 + %298 = getelementptr inbounds nuw i8, ptr %291, i64 72 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %297, i8 0, i64 40, i1 false) + store i64 %287, ptr %298, align 8 + %299 = getelementptr inbounds nuw i8, ptr %291, i64 80 + store i32 1346589253, ptr %299, align 8 + %300 = getelementptr inbounds nuw i8, ptr %291, i64 84 + store i32 %spec.select, ptr %300, align 4 + %301 = load i32, ptr %72, align 4 + %302 = getelementptr inbounds nuw i8, ptr %291, i64 88 + store i32 %301, ptr %302, align 8 + %303 = load i32, ptr %36, align 8 + %304 = getelementptr inbounds nuw i8, ptr %291, i64 92 + store i32 %303, ptr %304, align 4 + %305 = load i32, ptr %71, align 8 + %306 = or i32 %.0357, %305 + %307 = or i32 %306, 1 + %308 = getelementptr inbounds nuw i8, ptr %291, i64 96 + store i32 %307, ptr %308, align 8 + %309 = getelementptr inbounds nuw i8, ptr %291, i64 100 + store i32 %.0350, ptr %309, align 4 + %310 = getelementptr inbounds nuw i8, ptr %291, i64 104 + store i32 %.0346, ptr %310, align 8 + %311 = getelementptr inbounds nuw i8, ptr %291, i64 108 + store i32 %.0342, ptr %311, align 4 + %312 = getelementptr inbounds nuw i8, ptr %291, i64 112 + store i32 0, ptr %312, align 8 + %313 = getelementptr inbounds nuw i8, ptr %291, i64 116 + store i32 0, ptr %313, align 4 + %314 = trunc i32 %.3337 to i16 + %315 = getelementptr inbounds nuw i8, ptr %291, i64 120 + store i16 %314, ptr %315, align 8 + %316 = trunc i32 %.3341 to i16 + %317 = getelementptr inbounds nuw i8, ptr %291, i64 122 + store i16 %316, ptr %317, align 2 + %318 = getelementptr inbounds nuw i8, ptr %291, i64 124 + %319 = getelementptr inbounds nuw i8, ptr %291, i64 126 + %320 = getelementptr inbounds nuw i8, ptr %291, i64 130 + store i64 0, ptr %318, align 4 + %321 = load i16, ptr %80, align 2 + %322 = getelementptr inbounds nuw i8, ptr %291, i64 132 + store i16 %321, ptr %322, align 4 + %323 = load i16, ptr %84, align 8 + %324 = getelementptr inbounds nuw i8, ptr %291, i64 134 + store i16 %323, ptr %324, align 2 + %325 = zext i16 %321 to i64 + %326 = zext i16 %323 to i64 + %327 = mul nuw nsw i64 %326, %325 + %328 = getelementptr inbounds nuw i8, ptr %294, i64 %327 store i16 0, ptr %85, align 4 store i16 0, ptr %65, align 2 store i32 0, ptr %75, align 8 - store ptr %293, ptr %81, align 8 - store ptr %327, ptr %88, align 8 + store ptr %294, ptr %81, align 8 + store ptr %328, ptr %88, align 8 store i32 0, ptr %87, align 4 - %328 = getelementptr inbounds nuw i8, ptr %8, i64 280 - store i32 0, ptr %328, align 8 - %329 = getelementptr inbounds nuw i8, ptr %8, i64 284 - store i32 0, ptr %329, align 4 - %.not406 = icmp eq i16 %322, 0 + %329 = getelementptr inbounds nuw i8, ptr %8, i64 280 + store i32 0, ptr %329, align 8 + %330 = getelementptr inbounds nuw i8, ptr %8, i64 284 + store i32 0, ptr %330, align 4 + %.not406 = icmp eq i16 %323, 0 br i1 %.not406, label %.loopexit, label %.lr.ph555.preheader -.lr.ph555.preheader: ; preds = %292 - %330 = load ptr, ptr %82, align 8 +.lr.ph555.preheader: ; preds = %293 + %331 = load ptr, ptr %82, align 8 br label %.lr.ph555 .lr.ph555: ; preds = %.lr.ph555.preheader, %.lr.ph555 - %.0322554 = phi ptr [ %338, %.lr.ph555 ], [ %330, %.lr.ph555.preheader ] - %.2329553 = phi i32 [ %337, %.lr.ph555 ], [ 0, %.lr.ph555.preheader ] - %331 = load ptr, ptr %.0322554, align 8 - %332 = getelementptr inbounds nuw i8, ptr %.0322554, i64 12 - %333 = load i16, ptr %332, align 4 - %334 = zext i16 %333 to i32 - %335 = getelementptr inbounds nuw i8, ptr %.0322554, i64 8 - %336 = load i32, ptr %335, align 8 - call fastcc void @add_name_to_table(ptr noundef %8, ptr noundef %331, i32 noundef %334, i32 noundef %336, i32 noundef %.2329553) - %337 = add nuw nsw i32 %.2329553, 1 - %338 = getelementptr inbounds nuw i8, ptr %.0322554, i64 16 - %339 = load i16, ptr %84, align 8 - %340 = zext i16 %339 to i32 - %341 = icmp samesign ult i32 %337, %340 - br i1 %341, label %.lr.ph555, label %.loopexit - -.loopexit: ; preds = %.lr.ph555, %292 - %342 = load ptr, ptr %86, align 8 - store ptr %342, ptr %10, align 8 - store ptr %327, ptr %9, align 8 - store i8 -121, ptr %327, align 1 - %343 = load i32, ptr %301, align 8 - %344 = load i32, ptr %36, align 8 - %345 = call fastcc i32 @compile_regex(i32 noundef %343, i32 noundef %344, ptr noundef %9, ptr noundef %10, ptr noundef %16, i32 noundef 0, ptr noundef %14, ptr noundef %12, ptr noundef %15, ptr noundef %13, ptr noundef null, ptr noundef null, ptr noundef %8, ptr noundef null) - %346 = icmp slt i32 %345, 0 - br i1 %346, label %347, label %350 - -347: ; preds = %.loopexit - %348 = load i32, ptr %307, align 8 - %349 = or i32 %348, 8192 - store i32 %349, ptr %307, align 8 - br label %350 + %.0322554 = phi ptr [ %339, %.lr.ph555 ], [ %331, %.lr.ph555.preheader ] + %.2329553 = phi i32 [ %338, %.lr.ph555 ], [ 0, %.lr.ph555.preheader ] + %332 = load ptr, ptr %.0322554, align 8 + %333 = getelementptr inbounds nuw i8, ptr %.0322554, i64 12 + %334 = load i16, ptr %333, align 4 + %335 = zext i16 %334 to i32 + %336 = getelementptr inbounds nuw i8, ptr %.0322554, i64 8 + %337 = load i32, ptr %336, align 8 + call fastcc void @add_name_to_table(ptr noundef %8, ptr noundef %332, i32 noundef %335, i32 noundef %337, i32 noundef %.2329553) + %338 = add nuw nsw i32 %.2329553, 1 + %339 = getelementptr inbounds nuw i8, ptr %.0322554, i64 16 + %340 = load i16, ptr %84, align 8 + %341 = zext i16 %340 to i32 + %342 = icmp samesign ult i32 %338, %341 + br i1 %342, label %.lr.ph555, label %.loopexit + +.loopexit: ; preds = %.lr.ph555, %293 + %343 = load ptr, ptr %86, align 8 + store ptr %343, ptr %10, align 8 + store ptr %328, ptr %9, align 8 + store i8 -121, ptr %328, align 1 + %344 = load i32, ptr %302, align 8 + %345 = load i32, ptr %36, align 8 + %346 = call fastcc i32 @compile_regex(i32 noundef %344, i32 noundef %345, ptr noundef %9, ptr noundef %10, ptr noundef %16, i32 noundef 0, ptr noundef %14, ptr noundef %12, ptr noundef %15, ptr noundef %13, ptr noundef null, ptr noundef null, ptr noundef %8, ptr noundef null) + %347 = icmp slt i32 %346, 0 + br i1 %347, label %348, label %351 -350: ; preds = %347, %.loopexit - %351 = load i32, ptr %66, align 4 - %352 = trunc i32 %351 to i16 - store i16 %352, ptr %294, align 8 - %353 = load i32, ptr %92, align 8 - %354 = trunc i32 %353 to i16 - store i16 %354, ptr %319, align 2 - %355 = load i32, ptr %76, align 4 - %356 = trunc i32 %355 to i16 - store i16 %356, ptr %317, align 4 - %357 = load i32, ptr %328, align 8 - %.not407 = icmp eq i32 %357, 0 - br i1 %.not407, label %361, label %358 - -358: ; preds = %350 +348: ; preds = %.loopexit + %349 = load i32, ptr %308, align 8 + %350 = or i32 %349, 8192 + store i32 %350, ptr %308, align 8 + br label %351 + +351: ; preds = %348, %.loopexit + %352 = load i32, ptr %66, align 4 + %353 = trunc i32 %352 to i16 + store i16 %353, ptr %295, align 8 + %354 = load i32, ptr %92, align 8 + %355 = trunc i32 %354 to i16 + store i16 %355, ptr %320, align 2 + %356 = load i32, ptr %76, align 4 + %357 = trunc i32 %356 to i16 + store i16 %357, ptr %318, align 4 + %358 = load i32, ptr %329, align 8 + %.not407 = icmp eq i32 %358, 0 + br i1 %.not407, label %362, label %359 + +359: ; preds = %351 store i32 0, ptr %15, align 4 store i32 -2, ptr %13, align 4 - %359 = load i32, ptr %307, align 8 - %360 = or i32 %359, 8388608 - store i32 %360, ptr %307, align 8 - br label %361 - -361: ; preds = %358, %350 - %362 = load ptr, ptr %9, align 8 - %363 = getelementptr inbounds nuw i8, ptr %362, i64 1 - store ptr %363, ptr %9, align 8 - store i8 0, ptr %362, align 1 - %364 = ptrtoint ptr %363 to i64 - %365 = ptrtoint ptr %327 to i64 - %366 = sub i64 %364, %365 - %367 = load i64, ptr %11, align 8 - %368 = icmp ugt i64 %366, %367 - br i1 %368, label %.thread445.thread, label %369 - -369: ; preds = %361 - %.neg = sub i64 %366, %367 - %370 = load i64, ptr %297, align 8 - %371 = add i64 %.neg, %370 - store i64 %371, ptr %297, align 8 + %360 = load i32, ptr %308, align 8 + %361 = or i32 %360, 8388608 + store i32 %361, ptr %308, align 8 + br label %362 + +362: ; preds = %359, %351 + %363 = load ptr, ptr %9, align 8 + %364 = getelementptr inbounds nuw i8, ptr %363, i64 1 + store ptr %364, ptr %9, align 8 + store i8 0, ptr %363, align 1 + %365 = ptrtoint ptr %364 to i64 + %366 = ptrtoint ptr %328 to i64 + %367 = sub i64 %365, %366 + %368 = load i64, ptr %11, align 8 + %369 = icmp ugt i64 %367, %368 + br i1 %369, label %.thread445.thread, label %370 + +370: ; preds = %362 + %.neg = sub i64 %367, %368 + %371 = load i64, ptr %298, align 8 + %372 = add i64 %.neg, %371 + store i64 %372, ptr %298, align 8 %.pre622 = load i32, ptr %16, align 4 - %372 = icmp eq i32 %.pre622, 0 - %373 = load i32, ptr %74, align 8 - %374 = icmp ne i32 %373, 0 - %or.cond6 = select i1 %372, i1 %374, i1 false - br i1 %or.cond6, label %375, label %thread-pre-split - -375: ; preds = %369 - %376 = call fastcc ptr @find_recurse(ptr noundef %327, i32 noundef %.lobit) - %.not408561 = icmp eq ptr %376, null + %373 = icmp eq i32 %.pre622, 0 + %374 = load i32, ptr %74, align 8 + %375 = icmp ne i32 %374, 0 + %or.cond6 = select i1 %373, i1 %375, i1 false + br i1 %or.cond6, label %376, label %thread-pre-split + +376: ; preds = %370 + %377 = call fastcc ptr @find_recurse(ptr noundef %328, i32 noundef %.lobit) + %.not408561 = icmp eq ptr %377, null br i1 %.not408561, label %thread-pre-split.thread, label %.lr.ph566 -.lr.ph566: ; preds = %375, %412 - %.0315564 = phi i32 [ %.1316, %412 ], [ 8, %375 ] - %.0317563 = phi i32 [ %.1318, %412 ], [ 0, %375 ] - %.0321562 = phi ptr [ %419, %412 ], [ %376, %375 ] - %377 = getelementptr inbounds nuw i8, ptr %.0321562, i64 1 - %378 = load i8, ptr %377, align 1 - %379 = zext i8 %378 to i32 - %380 = shl nuw nsw i32 %379, 8 - %381 = getelementptr inbounds nuw i8, ptr %.0321562, i64 2 - %382 = load i8, ptr %381, align 1 - %383 = zext i8 %382 to i32 - %384 = or disjoint i32 %380, %383 - %385 = icmp eq i32 %384, 0 - br i1 %385, label %412, label %.preheader +.lr.ph566: ; preds = %376, %413 + %.0315564 = phi i32 [ %.1316, %413 ], [ 8, %376 ] + %.0317563 = phi i32 [ %.1318, %413 ], [ 0, %376 ] + %.0321562 = phi ptr [ %420, %413 ], [ %377, %376 ] + %378 = getelementptr inbounds nuw i8, ptr %.0321562, i64 1 + %379 = load i8, ptr %378, align 1 + %380 = zext i8 %379 to i32 + %381 = shl nuw nsw i32 %380, 8 + %382 = getelementptr inbounds nuw i8, ptr %.0321562, i64 2 + %383 = load i8, ptr %382, align 1 + %384 = zext i8 %383 to i32 + %385 = or disjoint i32 %381, %384 + %386 = icmp eq i32 %385, 0 + br i1 %386, label %413, label %.preheader .preheader: ; preds = %.lr.ph566 %.not568 = icmp eq i32 %.0317563, 0 br i1 %.not568, label %.thread440, label %.lr.ph559 -.lr.ph559: ; preds = %.preheader, %395 - %.0311558 = phi ptr [ %.1312, %395 ], [ %327, %.preheader ] - %.0314557 = phi i32 [ %398, %395 ], [ %.0315564, %.preheader ] - %.3556 = phi i32 [ %396, %395 ], [ 0, %.preheader ] - %386 = sext i32 %.0314557 to i64 - %387 = getelementptr inbounds [8 x %struct.recurse_cache], ptr %22, i64 0, i64 %386 - %388 = getelementptr inbounds nuw i8, ptr %387, i64 8 - %389 = load i32, ptr %388, align 8 - %390 = icmp eq i32 %384, %389 - br i1 %390, label %399, label %391 - -391: ; preds = %.lr.ph559 - %392 = icmp sgt i32 %384, %389 - br i1 %392, label %393, label %395 - -393: ; preds = %391 - %394 = load ptr, ptr %387, align 16 - br label %395 - -395: ; preds = %391, %393 - %.1312 = phi ptr [ %394, %393 ], [ %.0311558, %391 ] - %396 = add nuw i32 %.3556, 1 - %397 = add nsw i32 %.0314557, 1 - %398 = and i32 %397, 7 - %exitcond614.not = icmp eq i32 %396, %.0317563 +.lr.ph559: ; preds = %.preheader, %396 + %.0311558 = phi ptr [ %.1312, %396 ], [ %328, %.preheader ] + %.0314557 = phi i32 [ %399, %396 ], [ %.0315564, %.preheader ] + %.3556 = phi i32 [ %397, %396 ], [ 0, %.preheader ] + %387 = sext i32 %.0314557 to i64 + %388 = getelementptr inbounds [8 x %struct.recurse_cache], ptr %22, i64 0, i64 %387 + %389 = getelementptr inbounds nuw i8, ptr %388, i64 8 + %390 = load i32, ptr %389, align 8 + %391 = icmp eq i32 %385, %390 + br i1 %391, label %400, label %392 + +392: ; preds = %.lr.ph559 + %393 = icmp sgt i32 %385, %390 + br i1 %393, label %394, label %396 + +394: ; preds = %392 + %395 = load ptr, ptr %388, align 16 + br label %396 + +396: ; preds = %392, %394 + %.1312 = phi ptr [ %395, %394 ], [ %.0311558, %392 ] + %397 = add nuw i32 %.3556, 1 + %398 = add nsw i32 %.0314557, 1 + %399 = and i32 %398, 7 + %exitcond614.not = icmp eq i32 %397, %.0317563 br i1 %exitcond614.not, label %.thread440, label %.lr.ph559 -399: ; preds = %.lr.ph559 - %400 = load ptr, ptr %387, align 16 - %401 = icmp eq ptr %400, null - br i1 %401, label %.thread440, label %412 - -.thread440: ; preds = %395, %.preheader, %399 - %.0311476 = phi ptr [ %.0311558, %399 ], [ %327, %.preheader ], [ %.1312, %395 ] - %402 = call ptr @_pcre2_find_bracket_8(ptr noundef %.0311476, i32 noundef %.lobit, i32 noundef %384) #17 - %403 = icmp eq ptr %402, null - br i1 %403, label %.thread445.thread, label %404 - -404: ; preds = %.thread440 - %405 = add nsw i32 %.0315564, -1 - %406 = icmp slt i32 %.0315564, 1 - %spec.store.select7 = select i1 %406, i32 7, i32 %405 - %407 = sext i32 %spec.store.select7 to i64 - %408 = getelementptr inbounds [8 x %struct.recurse_cache], ptr %22, i64 0, i64 %407 - %409 = getelementptr inbounds nuw i8, ptr %408, i64 8 - store i32 %384, ptr %409, align 8 - store ptr %402, ptr %408, align 16 - %410 = icmp ult i32 %.0317563, 8 - %411 = zext i1 %410 to i32 - %spec.select431 = add nuw nsw i32 %.0317563, %411 - br label %412 - -412: ; preds = %404, %.lr.ph566, %399 - %.0319 = phi ptr [ %400, %399 ], [ %327, %.lr.ph566 ], [ %402, %404 ] - %.1318 = phi i32 [ %.0317563, %399 ], [ %.0317563, %.lr.ph566 ], [ %spec.select431, %404 ] - %.1316 = phi i32 [ %.0315564, %399 ], [ %.0315564, %.lr.ph566 ], [ %spec.store.select7, %404 ] - %413 = ptrtoint ptr %.0319 to i64 - %414 = sub i64 %413, %365 - %415 = lshr i64 %414, 8 - %416 = trunc i64 %415 to i8 - store i8 %416, ptr %377, align 1 - %417 = trunc i64 %414 to i8 - store i8 %417, ptr %381, align 1 - %418 = getelementptr inbounds nuw i8, ptr %.0321562, i64 3 - %419 = call fastcc ptr @find_recurse(ptr noundef %418, i32 noundef %.lobit) - %.not408 = icmp eq ptr %419, null +400: ; preds = %.lr.ph559 + %401 = load ptr, ptr %388, align 16 + %402 = icmp eq ptr %401, null + br i1 %402, label %.thread440, label %413 + +.thread440: ; preds = %396, %.preheader, %400 + %.0311476 = phi ptr [ %.0311558, %400 ], [ %328, %.preheader ], [ %.1312, %396 ] + %403 = call ptr @_pcre2_find_bracket_8(ptr noundef %.0311476, i32 noundef %.lobit, i32 noundef %385) #17 + %404 = icmp eq ptr %403, null + br i1 %404, label %.thread445.thread, label %405 + +405: ; preds = %.thread440 + %406 = add nsw i32 %.0315564, -1 + %407 = icmp slt i32 %.0315564, 1 + %spec.store.select7 = select i1 %407, i32 7, i32 %406 + %408 = sext i32 %spec.store.select7 to i64 + %409 = getelementptr inbounds [8 x %struct.recurse_cache], ptr %22, i64 0, i64 %408 + %410 = getelementptr inbounds nuw i8, ptr %409, i64 8 + store i32 %385, ptr %410, align 8 + store ptr %403, ptr %409, align 16 + %411 = icmp ult i32 %.0317563, 8 + %412 = zext i1 %411 to i32 + %spec.select431 = add nuw nsw i32 %.0317563, %412 + br label %413 + +413: ; preds = %405, %.lr.ph566, %400 + %.0319 = phi ptr [ %401, %400 ], [ %328, %.lr.ph566 ], [ %403, %405 ] + %.1318 = phi i32 [ %.0317563, %400 ], [ %.0317563, %.lr.ph566 ], [ %spec.select431, %405 ] + %.1316 = phi i32 [ %.0315564, %400 ], [ %.0315564, %.lr.ph566 ], [ %spec.store.select7, %405 ] + %414 = ptrtoint ptr %.0319 to i64 + %415 = sub i64 %414, %366 + %416 = lshr i64 %415, 8 + %417 = trunc i64 %416 to i8 + store i8 %417, ptr %378, align 1 + %418 = trunc i64 %415 to i8 + store i8 %418, ptr %382, align 1 + %419 = getelementptr inbounds nuw i8, ptr %.0321562, i64 3 + %420 = call fastcc ptr @find_recurse(ptr noundef %419, i32 noundef %.lobit) + %.not408 = icmp eq ptr %420, null br i1 %.not408, label %thread-pre-split.loopexit, label %.lr.ph566 -thread-pre-split.loopexit: ; preds = %412 +thread-pre-split.loopexit: ; preds = %413 %.pr.pre = load i32, ptr %16, align 4 br label %thread-pre-split -thread-pre-split: ; preds = %thread-pre-split.loopexit, %369 - %.pr444 = phi i32 [ %.pre622, %369 ], [ %.pr.pre, %thread-pre-split.loopexit ] - %420 = icmp eq i32 %.pr444, 0 - br i1 %420, label %thread-pre-split.thread, label %.thread445.thread +thread-pre-split: ; preds = %thread-pre-split.loopexit, %370 + %.pr444 = phi i32 [ %.pre622, %370 ], [ %.pr.pre, %thread-pre-split.loopexit ] + %421 = icmp eq i32 %.pr444, 0 + br i1 %421, label %thread-pre-split.thread, label %.thread445.thread -thread-pre-split.thread: ; preds = %375, %thread-pre-split - %421 = load i32, ptr %301, align 8 - %422 = and i32 %421, 16384 - %423 = icmp eq i32 %422, 0 - br i1 %423, label %424, label %426 +thread-pre-split.thread: ; preds = %376, %thread-pre-split + %422 = load i32, ptr %302, align 8 + %423 = and i32 %422, 16384 + %424 = icmp eq i32 %423, 0 + br i1 %424, label %425, label %427 -424: ; preds = %thread-pre-split.thread - %425 = call i32 @_pcre2_auto_possessify_8(ptr noundef nonnull %327, ptr noundef nonnull %8) #17 - %.not409 = icmp eq i32 %425, 0 +425: ; preds = %thread-pre-split.thread + %426 = call i32 @_pcre2_auto_possessify_8(ptr noundef nonnull %328, ptr noundef nonnull %8) #17 + %.not409 = icmp eq i32 %426, 0 br i1 %.not409, label %thread-pre-split632, label %.thread445.thread -thread-pre-split632: ; preds = %424 - %.pr = load i32, ptr %301, align 8 - br label %426 - -426: ; preds = %thread-pre-split632, %thread-pre-split.thread - %427 = phi i32 [ %.pr, %thread-pre-split632 ], [ %421, %thread-pre-split.thread ] - %428 = icmp sgt i32 %427, -1 - br i1 %428, label %429, label %433 - -429: ; preds = %426 - %430 = call fastcc i32 @is_anchored(ptr noundef %327, i32 noundef 0, ptr noundef %8, i32 noundef 0, i32 noundef 0) - %.not411 = icmp eq i32 %430, 0 - br i1 %.not411, label %433, label %431 - -431: ; preds = %429 - %432 = or disjoint i32 %427, -2147483648 - store i32 %432, ptr %301, align 8 - br label %433 - -433: ; preds = %431, %429, %426 - %434 = phi i32 [ %432, %431 ], [ %427, %429 ], [ %427, %426 ] - %435 = and i32 %434, 65536 - %436 = icmp eq i32 %435, 0 - br i1 %436, label %437, label %php_pcre2_code_free.exit - -437: ; preds = %433 - %438 = load i32, ptr %12, align 4 - %439 = icmp ugt i32 %438, -3 - br i1 %439, label %440, label %.thread448 - -.thread448: ; preds = %437 +thread-pre-split632: ; preds = %425 + %.pr = load i32, ptr %302, align 8 + br label %427 + +427: ; preds = %thread-pre-split632, %thread-pre-split.thread + %428 = phi i32 [ %.pr, %thread-pre-split632 ], [ %422, %thread-pre-split.thread ] + %429 = icmp sgt i32 %428, -1 + br i1 %429, label %430, label %434 + +430: ; preds = %427 + %431 = call fastcc i32 @is_anchored(ptr noundef %328, i32 noundef 0, ptr noundef %8, i32 noundef 0, i32 noundef 0) + %.not411 = icmp eq i32 %431, 0 + br i1 %.not411, label %434, label %432 + +432: ; preds = %430 + %433 = or disjoint i32 %428, -2147483648 + store i32 %433, ptr %302, align 8 + br label %434 + +434: ; preds = %432, %430, %427 + %435 = phi i32 [ %433, %432 ], [ %428, %430 ], [ %428, %427 ] + %436 = and i32 %435, 65536 + %437 = icmp eq i32 %436, 0 + br i1 %437, label %438, label %php_pcre2_code_free.exit + +438: ; preds = %434 + %439 = load i32, ptr %12, align 4 + %440 = icmp ugt i32 %439, -3 + br i1 %440, label %441, label %.thread448 + +.thread448: ; preds = %438 %.pr449 = load i32, ptr %14, align 4 - br label %443 + br label %444 -440: ; preds = %437 - %441 = call fastcc i32 @find_firstassertedcu(ptr noundef %327, ptr noundef %12, i32 noundef 0) +441: ; preds = %438 + %442 = call fastcc i32 @find_firstassertedcu(ptr noundef %328, ptr noundef %12, i32 noundef 0) %.pr447 = load i32, ptr %12, align 4 - %442 = icmp ult i32 %.pr447, -2 - br i1 %442, label %443, label %480 - -443: ; preds = %.thread448, %440 - %444 = phi i32 [ %.pr449, %.thread448 ], [ %441, %440 ] - %445 = phi i32 [ %438, %.thread448 ], [ %.pr447, %440 ] - store i32 %444, ptr %311, align 8 - %446 = load i32, ptr %307, align 8 - %447 = or i32 %446, 16 - store i32 %447, ptr %307, align 8 - %448 = and i32 %445, 1 - %.not413 = icmp eq i32 %448, 0 - br i1 %.not413, label %488, label %449 - -449: ; preds = %443 - %450 = icmp ult i32 %444, 128 - br i1 %450, label %454, label %451 - -451: ; preds = %449 - %452 = or disjoint i32 %188, %177 - %or.cond9.not414 = icmp eq i32 %452, 0 - %453 = icmp ult i32 %444, 255 - %or.cond11 = and i1 %or.cond9.not414, %453 - br i1 %or.cond11, label %454, label %462 - -454: ; preds = %451, %449 - %455 = load ptr, ptr %60, align 8 - %456 = zext nneg i32 %444 to i64 - %457 = getelementptr inbounds nuw i8, ptr %455, i64 %456 - %458 = load i8, ptr %457, align 1 - %459 = zext i8 %458 to i32 - %.not416 = icmp eq i32 %444, %459 - br i1 %.not416, label %488, label %460 + %443 = icmp ult i32 %.pr447, -2 + br i1 %443, label %444, label %481 + +444: ; preds = %.thread448, %441 + %445 = phi i32 [ %.pr449, %.thread448 ], [ %442, %441 ] + %446 = phi i32 [ %439, %.thread448 ], [ %.pr447, %441 ] + store i32 %445, ptr %312, align 8 + %447 = load i32, ptr %308, align 8 + %448 = or i32 %447, 16 + store i32 %448, ptr %308, align 8 + %449 = and i32 %446, 1 + %.not413 = icmp eq i32 %449, 0 + br i1 %.not413, label %489, label %450 + +450: ; preds = %444 + %451 = icmp ult i32 %445, 128 + br i1 %451, label %455, label %452 -460: ; preds = %454 - %461 = or i32 %446, 48 +452: ; preds = %450 + %453 = or disjoint i32 %189, %178 + %or.cond9.not414 = icmp eq i32 %453, 0 + %454 = icmp ult i32 %445, 255 + %or.cond11 = and i1 %or.cond9.not414, %454 + br i1 %or.cond11, label %455, label %463 + +455: ; preds = %452, %450 + %456 = load ptr, ptr %60, align 8 + %457 = zext nneg i32 %445 to i64 + %458 = getelementptr inbounds nuw i8, ptr %456, i64 %457 + %459 = load i8, ptr %458, align 1 + %460 = zext i8 %459 to i32 + %.not416 = icmp eq i32 %445, %460 + br i1 %.not416, label %489, label %461 + +461: ; preds = %455 + %462 = or i32 %447, 48 br label %.sink.split -462: ; preds = %451 - %or.cond13 = or i1 %178, %.not420 - br i1 %or.cond13, label %488, label %463 - -463: ; preds = %462 - %464 = sdiv i32 %444, 128 - %465 = sext i32 %464 to i64 - %466 = getelementptr inbounds [0 x i16], ptr @_pcre2_ucd_stage1_8, i64 0, i64 %465 - %467 = load i16, ptr %466, align 2 - %468 = zext i16 %467 to i32 - %469 = shl nuw nsw i32 %468, 7 - %470 = srem i32 %444, 128 - %471 = add nsw i32 %469, %470 - %472 = sext i32 %471 to i64 - %473 = getelementptr inbounds [0 x i16], ptr @_pcre2_ucd_stage2_8, i64 0, i64 %472 - %474 = load i16, ptr %473, align 2 - %475 = zext i16 %474 to i64 - %476 = getelementptr inbounds nuw %struct.ucd_record, ptr @_pcre2_ucd_records_8, i64 %475, i32 4 - %477 = load i32, ptr %476, align 4 - %.not415 = icmp eq i32 %477, 0 - br i1 %.not415, label %488, label %478 - -478: ; preds = %463 - %479 = or i32 %446, 48 +463: ; preds = %452 + %or.cond13 = or i1 %179, %.not420 + br i1 %or.cond13, label %489, label %464 + +464: ; preds = %463 + %465 = sdiv i32 %445, 128 + %466 = sext i32 %465 to i64 + %467 = getelementptr inbounds [0 x i16], ptr @_pcre2_ucd_stage1_8, i64 0, i64 %466 + %468 = load i16, ptr %467, align 2 + %469 = zext i16 %468 to i32 + %470 = shl nuw nsw i32 %469, 7 + %471 = srem i32 %445, 128 + %472 = add nsw i32 %470, %471 + %473 = sext i32 %472 to i64 + %474 = getelementptr inbounds [0 x i16], ptr @_pcre2_ucd_stage2_8, i64 0, i64 %473 + %475 = load i16, ptr %474, align 2 + %476 = zext i16 %475 to i64 + %477 = getelementptr inbounds nuw %struct.ucd_record, ptr @_pcre2_ucd_records_8, i64 %476, i32 4 + %478 = load i32, ptr %477, align 4 + %.not415 = icmp eq i32 %478, 0 + br i1 %.not415, label %489, label %479 + +479: ; preds = %464 + %480 = or i32 %447, 48 br label %.sink.split -480: ; preds = %440 - %481 = load i32, ptr %301, align 8 - %482 = icmp sgt i32 %481, -1 - br i1 %482, label %483, label %488 +481: ; preds = %441 + %482 = load i32, ptr %302, align 8 + %483 = icmp sgt i32 %482, -1 + br i1 %483, label %484, label %489 -483: ; preds = %480 - %484 = call fastcc i32 @is_startline(ptr noundef %327, i32 noundef 0, ptr noundef %8, i32 noundef 0, i32 noundef 0) - %.not412 = icmp eq i32 %484, 0 - br i1 %.not412, label %488, label %485 +484: ; preds = %481 + %485 = call fastcc i32 @is_startline(ptr noundef %328, i32 noundef 0, ptr noundef %8, i32 noundef 0, i32 noundef 0) + %.not412 = icmp eq i32 %485, 0 + br i1 %.not412, label %489, label %486 -485: ; preds = %483 - %486 = load i32, ptr %307, align 8 - %487 = or i32 %486, 512 +486: ; preds = %484 + %487 = load i32, ptr %308, align 8 + %488 = or i32 %487, 512 br label %.sink.split -.sink.split: ; preds = %460, %478, %485 - %.sink = phi i32 [ %487, %485 ], [ %479, %478 ], [ %461, %460 ] - %.ph = phi i32 [ %441, %485 ], [ %444, %478 ], [ %444, %460 ] - %.ph677 = phi i32 [ %.pr447, %485 ], [ %445, %478 ], [ %445, %460 ] - %.0.ph = phi i32 [ 0, %485 ], [ 1, %478 ], [ 1, %460 ] - store i32 %.sink, ptr %307, align 8 - br label %488 - -488: ; preds = %.sink.split, %480, %483, %443, %462, %463, %454 - %489 = phi i32 [ %444, %454 ], [ %444, %462 ], [ %444, %463 ], [ %444, %443 ], [ %441, %483 ], [ %441, %480 ], [ %.ph, %.sink.split ] - %490 = phi i32 [ %445, %454 ], [ %445, %462 ], [ %445, %463 ], [ %445, %443 ], [ %.pr447, %483 ], [ %.pr447, %480 ], [ %.ph677, %.sink.split ] - %.0 = phi i32 [ 1, %454 ], [ 1, %462 ], [ 1, %463 ], [ 1, %443 ], [ 0, %483 ], [ 0, %480 ], [ %.0.ph, %.sink.split ] - %491 = load i32, ptr %13, align 4 - %492 = icmp ult i32 %491, -2 - br i1 %492, label %493, label %542 - -493: ; preds = %488 - %494 = load i32, ptr %301, align 8 - %495 = and i32 %494, 524288 - %496 = icmp eq i32 %495, 0 - %497 = icmp ugt i32 %490, -3 - %or.cond15 = or i1 %497, %496 - %498 = and i32 %489, 128 - %499 = icmp eq i32 %498, 0 - %or.cond679 = select i1 %or.cond15, i1 true, i1 %499 - br i1 %or.cond679, label %504, label %500 - -500: ; preds = %493 - %501 = load i32, ptr %15, align 4 - %502 = and i32 %501, 128 - %503 = icmp eq i32 %502, 0 - br i1 %503, label %504, label %506 - -504: ; preds = %500, %493 - %505 = add nuw nsw i32 %.0, 1 - br label %506 - -506: ; preds = %504, %500 - %.2 = phi i32 [ %505, %504 ], [ %.0, %500 ] - %507 = icmp slt i32 %494, 0 - %508 = and i32 %491, 2 - %.not417 = icmp eq i32 %508, 0 - %or.cond468 = and i1 %.not417, %507 - br i1 %or.cond468, label %542, label %509 - -509: ; preds = %506 - %510 = load i32, ptr %15, align 4 - store i32 %510, ptr %312, align 4 - %511 = load i32, ptr %307, align 8 - %512 = or i32 %511, 128 - store i32 %512, ptr %307, align 8 - %513 = and i32 %491, 1 - %.not418 = icmp eq i32 %513, 0 - br i1 %.not418, label %542, label %514 - -514: ; preds = %509 - %515 = icmp ult i32 %510, 128 - br i1 %515, label %519, label %516 - -516: ; preds = %514 - %517 = or disjoint i32 %188, %177 - %or.cond17.not419 = icmp eq i32 %517, 0 - %518 = icmp ult i32 %510, 255 - %or.cond19 = and i1 %or.cond17.not419, %518 - br i1 %or.cond19, label %519, label %525 - -519: ; preds = %516, %514 - %520 = load ptr, ptr %60, align 8 - %521 = zext nneg i32 %510 to i64 - %522 = getelementptr inbounds nuw i8, ptr %520, i64 %521 - %523 = load i8, ptr %522, align 1 - %524 = zext i8 %523 to i32 - %.not422 = icmp eq i32 %510, %524 - br i1 %.not422, label %542, label %.sink.split680 - -525: ; preds = %516 - %or.cond21 = or i1 %178, %.not420 - br i1 %or.cond21, label %542, label %526 - -526: ; preds = %525 - %527 = sdiv i32 %510, 128 - %528 = sext i32 %527 to i64 - %529 = getelementptr inbounds [0 x i16], ptr @_pcre2_ucd_stage1_8, i64 0, i64 %528 - %530 = load i16, ptr %529, align 2 - %531 = zext i16 %530 to i32 - %532 = shl nuw nsw i32 %531, 7 - %533 = srem i32 %510, 128 - %534 = add nsw i32 %532, %533 - %535 = sext i32 %534 to i64 - %536 = getelementptr inbounds [0 x i16], ptr @_pcre2_ucd_stage2_8, i64 0, i64 %535 - %537 = load i16, ptr %536, align 2 - %538 = zext i16 %537 to i64 - %539 = getelementptr inbounds nuw %struct.ucd_record, ptr @_pcre2_ucd_records_8, i64 %538, i32 4 - %540 = load i32, ptr %539, align 4 - %.not421 = icmp eq i32 %540, 0 - br i1 %.not421, label %542, label %.sink.split680 - -.sink.split680: ; preds = %526, %519 - %541 = or i32 %511, 384 - store i32 %541, ptr %307, align 8 - br label %542 - -542: ; preds = %.sink.split680, %506, %519, %526, %525, %509, %488 - %.1 = phi i32 [ %.2, %519 ], [ %.2, %525 ], [ %.2, %526 ], [ %.2, %509 ], [ %.0, %488 ], [ %.2, %506 ], [ %.2, %.sink.split680 ] - %543 = call i32 @_pcre2_study_8(ptr noundef nonnull %290) #17 - %.not423 = icmp eq i32 %543, 0 - br i1 %.not423, label %544, label %.thread445.thread - -544: ; preds = %542 - %545 = load i32, ptr %307, align 8 - %546 = and i32 %545, 64 - %547 = icmp ne i32 %546, 0 - %548 = icmp eq i32 %.1, 0 - %or.cond23 = select i1 %547, i1 %548, i1 false +.sink.split: ; preds = %461, %479, %486 + %.sink = phi i32 [ %488, %486 ], [ %480, %479 ], [ %462, %461 ] + %.ph = phi i32 [ %442, %486 ], [ %445, %479 ], [ %445, %461 ] + %.ph677 = phi i32 [ %.pr447, %486 ], [ %446, %479 ], [ %446, %461 ] + %.0.ph = phi i32 [ 0, %486 ], [ 1, %479 ], [ 1, %461 ] + store i32 %.sink, ptr %308, align 8 + br label %489 + +489: ; preds = %.sink.split, %481, %484, %444, %463, %464, %455 + %490 = phi i32 [ %445, %455 ], [ %445, %463 ], [ %445, %464 ], [ %445, %444 ], [ %442, %484 ], [ %442, %481 ], [ %.ph, %.sink.split ] + %491 = phi i32 [ %446, %455 ], [ %446, %463 ], [ %446, %464 ], [ %446, %444 ], [ %.pr447, %484 ], [ %.pr447, %481 ], [ %.ph677, %.sink.split ] + %.0 = phi i32 [ 1, %455 ], [ 1, %463 ], [ 1, %464 ], [ 1, %444 ], [ 0, %484 ], [ 0, %481 ], [ %.0.ph, %.sink.split ] + %492 = load i32, ptr %13, align 4 + %493 = icmp ult i32 %492, -2 + br i1 %493, label %494, label %543 + +494: ; preds = %489 + %495 = load i32, ptr %302, align 8 + %496 = and i32 %495, 524288 + %497 = icmp eq i32 %496, 0 + %498 = icmp ugt i32 %491, -3 + %or.cond15 = or i1 %498, %497 + %499 = and i32 %490, 128 + %500 = icmp eq i32 %499, 0 + %or.cond679 = select i1 %or.cond15, i1 true, i1 %500 + br i1 %or.cond679, label %505, label %501 + +501: ; preds = %494 + %502 = load i32, ptr %15, align 4 + %503 = and i32 %502, 128 + %504 = icmp eq i32 %503, 0 + br i1 %504, label %505, label %507 + +505: ; preds = %501, %494 + %506 = add nuw nsw i32 %.0, 1 + br label %507 + +507: ; preds = %505, %501 + %.2 = phi i32 [ %506, %505 ], [ %.0, %501 ] + %508 = icmp slt i32 %495, 0 + %509 = and i32 %492, 2 + %.not417 = icmp eq i32 %509, 0 + %or.cond468 = and i1 %.not417, %508 + br i1 %or.cond468, label %543, label %510 + +510: ; preds = %507 + %511 = load i32, ptr %15, align 4 + store i32 %511, ptr %313, align 4 + %512 = load i32, ptr %308, align 8 + %513 = or i32 %512, 128 + store i32 %513, ptr %308, align 8 + %514 = and i32 %492, 1 + %.not418 = icmp eq i32 %514, 0 + br i1 %.not418, label %543, label %515 + +515: ; preds = %510 + %516 = icmp ult i32 %511, 128 + br i1 %516, label %520, label %517 + +517: ; preds = %515 + %518 = or disjoint i32 %189, %178 + %or.cond17.not419 = icmp eq i32 %518, 0 + %519 = icmp ult i32 %511, 255 + %or.cond19 = and i1 %or.cond17.not419, %519 + br i1 %or.cond19, label %520, label %526 + +520: ; preds = %517, %515 + %521 = load ptr, ptr %60, align 8 + %522 = zext nneg i32 %511 to i64 + %523 = getelementptr inbounds nuw i8, ptr %521, i64 %522 + %524 = load i8, ptr %523, align 1 + %525 = zext i8 %524 to i32 + %.not422 = icmp eq i32 %511, %525 + br i1 %.not422, label %543, label %.sink.split680 + +526: ; preds = %517 + %or.cond21 = or i1 %179, %.not420 + br i1 %or.cond21, label %543, label %527 + +527: ; preds = %526 + %528 = sdiv i32 %511, 128 + %529 = sext i32 %528 to i64 + %530 = getelementptr inbounds [0 x i16], ptr @_pcre2_ucd_stage1_8, i64 0, i64 %529 + %531 = load i16, ptr %530, align 2 + %532 = zext i16 %531 to i32 + %533 = shl nuw nsw i32 %532, 7 + %534 = srem i32 %511, 128 + %535 = add nsw i32 %533, %534 + %536 = sext i32 %535 to i64 + %537 = getelementptr inbounds [0 x i16], ptr @_pcre2_ucd_stage2_8, i64 0, i64 %536 + %538 = load i16, ptr %537, align 2 + %539 = zext i16 %538 to i64 + %540 = getelementptr inbounds nuw %struct.ucd_record, ptr @_pcre2_ucd_records_8, i64 %539, i32 4 + %541 = load i32, ptr %540, align 4 + %.not421 = icmp eq i32 %541, 0 + br i1 %.not421, label %543, label %.sink.split680 + +.sink.split680: ; preds = %527, %520 + %542 = or i32 %512, 384 + store i32 %542, ptr %308, align 8 + br label %543 + +543: ; preds = %.sink.split680, %507, %520, %527, %526, %510, %489 + %.1 = phi i32 [ %.2, %520 ], [ %.2, %526 ], [ %.2, %527 ], [ %.2, %510 ], [ %.0, %489 ], [ %.2, %507 ], [ %.2, %.sink.split680 ] + %544 = call i32 @_pcre2_study_8(ptr noundef nonnull %291) #17 + %.not423 = icmp eq i32 %544, 0 + br i1 %.not423, label %545, label %.thread445.thread + +545: ; preds = %543 + %546 = load i32, ptr %308, align 8 + %547 = and i32 %546, 64 + %548 = icmp ne i32 %547, 0 + %549 = icmp eq i32 %.1, 0 + %or.cond23 = select i1 %548, i1 %549, i1 false %spec.store.select26 = select i1 %or.cond23, i32 1, i32 %.1 - %549 = load i16, ptr %318, align 2 - %550 = zext i16 %549 to i32 - %551 = icmp samesign ugt i32 %spec.store.select26, %550 - br i1 %551, label %552, label %php_pcre2_code_free.exit - -552: ; preds = %544 - %553 = trunc i32 %spec.store.select26 to i16 - store i16 %553, ptr %318, align 2 + %550 = load i16, ptr %319, align 2 + %551 = zext i16 %550 to i32 + %552 = icmp samesign ugt i32 %spec.store.select26, %551 + br i1 %552, label %553, label %php_pcre2_code_free.exit + +553: ; preds = %545 + %554 = trunc i32 %spec.store.select26 to i16 + store i16 %554, ptr %319, align 2 br label %php_pcre2_code_free.exit -php_pcre2_code_free.exit: ; preds = %601, %.thread450, %.thread454, %.thread459, %433, %552, %544, %236 - %.2332 = phi ptr [ null, %236 ], [ %290, %552 ], [ %290, %544 ], [ %290, %433 ], [ null, %.thread459 ], [ null, %.thread454 ], [ null, %.thread450 ], [ null, %601 ] - %554 = load ptr, ptr %86, align 8 - %.not424 = icmp eq ptr %554, %18 - br i1 %.not424, label %560, label %555 - -555: ; preds = %php_pcre2_code_free.exit - %556 = getelementptr inbounds nuw i8, ptr %spec.store.select, i64 8 - %557 = load ptr, ptr %556, align 8 - %558 = getelementptr inbounds nuw i8, ptr %spec.store.select, i64 16 - %559 = load ptr, ptr %558, align 8 - call void %557(ptr noundef %554, ptr noundef %559) #17 - br label %560 - -560: ; preds = %555, %php_pcre2_code_free.exit - %561 = load i32, ptr %83, align 8 - %562 = icmp ugt i32 %561, 20 - br i1 %562, label %563, label %569 - -563: ; preds = %560 - %564 = getelementptr inbounds nuw i8, ptr %spec.store.select, i64 8 - %565 = load ptr, ptr %564, align 8 - %566 = load ptr, ptr %82, align 8 - %567 = getelementptr inbounds nuw i8, ptr %spec.store.select, i64 16 - %568 = load ptr, ptr %567, align 8 - call void %565(ptr noundef %566, ptr noundef %568) #17 - br label %569 - -569: ; preds = %563, %560 - %570 = load ptr, ptr %73, align 8 - %.not425 = icmp eq ptr %570, %17 - br i1 %.not425, label %606, label %571 - -571: ; preds = %569 - %572 = getelementptr inbounds nuw i8, ptr %spec.store.select, i64 8 - %573 = load ptr, ptr %572, align 8 - %574 = getelementptr inbounds nuw i8, ptr %spec.store.select, i64 16 - %575 = load ptr, ptr %574, align 8 - call void %573(ptr noundef %570, ptr noundef %575) #17 - br label %606 - -.thread454: ; preds = %202, %186, %179, %.loopexit474, %146 - %576 = phi i32 [ 160, %146 ], [ 160, %.loopexit474 ], [ 174, %179 ], [ 175, %186 ], [ 156, %202 ] - %.0362.ph = phi ptr [ %147, %146 ], [ %165, %.loopexit474 ], [ %175, %179 ], [ %175, %186 ], [ %175, %202 ] - %577 = ptrtoint ptr %.0362.ph to i64 - %578 = ptrtoint ptr %.0313 to i64 - %579 = sub i64 %577, %578 - store i64 %579, ptr %4, align 8 - store i32 %576, ptr %3, align 4 - br label %php_pcre2_code_free.exit +php_pcre2_code_free.exit: ; preds = %602, %.thread450, %.thread454, %.thread459, %434, %553, %545, %237 + %.2332 = phi ptr [ null, %237 ], [ %291, %553 ], [ %291, %545 ], [ %291, %434 ], [ null, %.thread459 ], [ null, %.thread454 ], [ null, %.thread450 ], [ null, %602 ] + %555 = load ptr, ptr %86, align 8 + %.not424 = icmp eq ptr %555, %18 + br i1 %.not424, label %561, label %556 + +556: ; preds = %php_pcre2_code_free.exit + %557 = getelementptr inbounds nuw i8, ptr %spec.store.select, i64 8 + %558 = load ptr, ptr %557, align 8 + %559 = getelementptr inbounds nuw i8, ptr %spec.store.select, i64 16 + %560 = load ptr, ptr %559, align 8 + call void %558(ptr noundef %555, ptr noundef %560) #17 + br label %561 + +561: ; preds = %556, %php_pcre2_code_free.exit + %562 = load i32, ptr %83, align 8 + %563 = icmp ugt i32 %562, 20 + br i1 %563, label %564, label %570 + +564: ; preds = %561 + %565 = getelementptr inbounds nuw i8, ptr %spec.store.select, i64 8 + %566 = load ptr, ptr %565, align 8 + %567 = load ptr, ptr %82, align 8 + %568 = getelementptr inbounds nuw i8, ptr %spec.store.select, i64 16 + %569 = load ptr, ptr %568, align 8 + call void %566(ptr noundef %567, ptr noundef %569) #17 + br label %570 + +570: ; preds = %564, %561 + %571 = load ptr, ptr %73, align 8 + %.not425 = icmp eq ptr %571, %17 + br i1 %.not425, label %607, label %572 -.thread459: ; preds = %279, %276, %238, %260, %261, %270 - %580 = phi i32 [ %244, %238 ], [ 121, %260 ], [ %269, %261 ], [ %275, %270 ], [ 120, %276 ], [ 121, %279 ] - %581 = load i64, ptr %70, align 8 - store i64 %581, ptr %4, align 8 - store i32 %580, ptr %3, align 4 +572: ; preds = %570 + %573 = getelementptr inbounds nuw i8, ptr %spec.store.select, i64 8 + %574 = load ptr, ptr %573, align 8 + %575 = getelementptr inbounds nuw i8, ptr %spec.store.select, i64 16 + %576 = load ptr, ptr %575, align 8 + call void %574(ptr noundef %571, ptr noundef %576) #17 + br label %607 + +.thread454: ; preds = %203, %187, %180, %.loopexit474, %146 + %577 = phi i32 [ 160, %146 ], [ 160, %.loopexit474 ], [ 174, %180 ], [ 175, %187 ], [ 156, %203 ] + %.0362.ph = phi ptr [ %147, %146 ], [ %166, %.loopexit474 ], [ %176, %180 ], [ %176, %187 ], [ %176, %203 ] + %578 = ptrtoint ptr %.0362.ph to i64 + %579 = ptrtoint ptr %.0313 to i64 + %580 = sub i64 %578, %579 + store i64 %580, ptr %4, align 8 + store i32 %577, ptr %3, align 4 br label %php_pcre2_code_free.exit -.thread445.thread: ; preds = %.thread440, %thread-pre-split, %361, %542, %424 - %.sink682 = phi i32 [ 180, %424 ], [ 131, %542 ], [ %.pr444, %thread-pre-split ], [ 123, %361 ], [ 153, %.thread440 ] +.thread459: ; preds = %280, %277, %239, %261, %262, %271 + %581 = phi i32 [ %245, %239 ], [ 121, %261 ], [ %270, %262 ], [ %276, %271 ], [ 120, %277 ], [ 121, %280 ] %582 = load i64, ptr %70, align 8 store i64 %582, ptr %4, align 8 + store i32 %581, ptr %3, align 4 + br label %php_pcre2_code_free.exit + +.thread445.thread: ; preds = %.thread440, %thread-pre-split, %362, %543, %425 + %.sink682 = phi i32 [ 180, %425 ], [ 131, %543 ], [ %.pr444, %thread-pre-split ], [ 123, %362 ], [ 153, %.thread440 ] + %583 = load i64, ptr %70, align 8 + store i64 %583, ptr %4, align 8 store i32 %.sink682, ptr %3, align 4 - %583 = load ptr, ptr %296, align 8 - %.not17.i = icmp eq ptr %583, null - br i1 %.not17.i, label %585, label %584 - -584: ; preds = %.thread445.thread - call void @_pcre2_jit_free_8(ptr noundef nonnull %583, ptr noundef nonnull %290) #17 - br label %585 - -585: ; preds = %584, %.thread445.thread - %586 = load i32, ptr %307, align 8 - %587 = and i32 %586, 262144 - %.not18.i = icmp eq i32 %587, 0 - br i1 %.not18.i, label %601, label %588 - -588: ; preds = %585 - %589 = load ptr, ptr %295, align 8 - %590 = getelementptr inbounds nuw i8, ptr %589, i64 1088 - %591 = load i64, ptr %590, align 8 - %.not19.i = icmp eq i64 %591, 0 - br i1 %.not19.i, label %601, label %592 - -592: ; preds = %588 - %593 = add i64 %591, -1 - store i64 %593, ptr %590, align 8 - %594 = icmp eq i64 %593, 0 - br i1 %594, label %595, label %601 - -595: ; preds = %592 - %596 = getelementptr inbounds nuw i8, ptr %290, i64 8 - %597 = load ptr, ptr %596, align 8 - %598 = load ptr, ptr %295, align 8 - %599 = getelementptr inbounds nuw i8, ptr %290, i64 16 - %600 = load ptr, ptr %599, align 8 - call void %597(ptr noundef %598, ptr noundef %600) #17 - br label %601 - -601: ; preds = %595, %592, %588, %585 - %602 = getelementptr inbounds nuw i8, ptr %290, i64 8 - %603 = load ptr, ptr %602, align 8 - %604 = getelementptr inbounds nuw i8, ptr %290, i64 16 - %605 = load ptr, ptr %604, align 8 - call void %603(ptr noundef nonnull %290, ptr noundef %605) #17 + %584 = load ptr, ptr %297, align 8 + %.not17.i = icmp eq ptr %584, null + br i1 %.not17.i, label %586, label %585 + +585: ; preds = %.thread445.thread + call void @_pcre2_jit_free_8(ptr noundef nonnull %584, ptr noundef nonnull %291) #17 + br label %586 + +586: ; preds = %585, %.thread445.thread + %587 = load i32, ptr %308, align 8 + %588 = and i32 %587, 262144 + %.not18.i = icmp eq i32 %588, 0 + br i1 %.not18.i, label %602, label %589 + +589: ; preds = %586 + %590 = load ptr, ptr %296, align 8 + %591 = getelementptr inbounds nuw i8, ptr %590, i64 1088 + %592 = load i64, ptr %591, align 8 + %.not19.i = icmp eq i64 %592, 0 + br i1 %.not19.i, label %602, label %593 + +593: ; preds = %589 + %594 = add i64 %592, -1 + store i64 %594, ptr %591, align 8 + %595 = icmp eq i64 %594, 0 + br i1 %595, label %596, label %602 + +596: ; preds = %593 + %597 = getelementptr inbounds nuw i8, ptr %291, i64 8 + %598 = load ptr, ptr %597, align 8 + %599 = load ptr, ptr %296, align 8 + %600 = getelementptr inbounds nuw i8, ptr %291, i64 16 + %601 = load ptr, ptr %600, align 8 + call void %598(ptr noundef %599, ptr noundef %601) #17 + br label %602 + +602: ; preds = %596, %593, %589, %586 + %603 = getelementptr inbounds nuw i8, ptr %291, i64 8 + %604 = load ptr, ptr %603, align 8 + %605 = getelementptr inbounds nuw i8, ptr %291, i64 16 + %606 = load ptr, ptr %605, align 8 + call void %604(ptr noundef nonnull %291, ptr noundef %606) #17 br label %php_pcre2_code_free.exit -606: ; preds = %569, %571, %6, %54, %45, %38, %29 - %.0310 = phi ptr [ null, %38 ], [ null, %45 ], [ null, %54 ], [ null, %29 ], [ null, %6 ], [ %.2332, %571 ], [ %.2332, %569 ] +607: ; preds = %570, %572, %6, %54, %45, %38, %29 + %.0310 = phi ptr [ null, %38 ], [ null, %45 ], [ null, %54 ], [ null, %29 ], [ null, %6 ], [ %.2332, %572 ], [ %.2332, %570 ] ret ptr %.0310 } diff --git a/bench/php/optimized/zend_jit.ll b/bench/php/optimized/zend_jit.ll index 0a3a67f66fa..2e6ec70fabb 100644 --- a/bench/php/optimized/zend_jit.ll +++ b/bench/php/optimized/zend_jit.ll @@ -21011,7 +21011,7 @@ define internal fastcc ptr @zend_jit_trace(ptr noundef nonnull %0, i32 noundef % %39 = load ptr, ptr %38, align 8 %40 = call fastcc ptr @zend_jit_trace_build_tssa(ptr noundef %0, i32 noundef %.sink, i32 noundef %2, ptr noundef %19, ptr noundef %18) %.not10643 = icmp eq ptr %40, null - br i1 %.not10643, label %17411, label %41 + br i1 %.not10643, label %17410, label %41 41: ; preds = %.split %42 = getelementptr inbounds nuw i8, ptr %40, i64 80 @@ -21345,8 +21345,8 @@ zend_jit_trace_name.exit: ; preds = %188, %191 %212 = getelementptr inbounds nuw i8, ptr %200, i64 4 %213 = load i32, ptr %212, align 4 %214 = and i32 %213, 64 - %.not.i12077 = icmp eq i32 %214, 0 - br i1 %.not.i12077, label %215, label %218 + %.not.i12074 = icmp eq i32 %214, 0 + br i1 %.not.i12074, label %215, label %218 215: ; preds = %zend_jit_trace_name.exit %216 = load i32, ptr %200, align 4 @@ -21448,11 +21448,11 @@ zend_jit_trace_name.exit: ; preds = %188, %191 br i1 %exitcond.not.i, label %.critedge81.loopexit.i, label %243 .critedge81.loopexit.i: ; preds = %269 - %.pre.i12078 = load ptr, ptr %229, align 8 + %.pre.i12075 = load ptr, ptr %229, align 8 br label %.critedge81.i .critedge81.i: ; preds = %.critedge81.loopexit.i, %.critedge.i - %270 = phi ptr [ %.pre.i12078, %.critedge81.loopexit.i ], [ %230, %.critedge.i ] + %270 = phi ptr [ %.pre.i12075, %.critedge81.loopexit.i ], [ %230, %.critedge.i ] %271 = getelementptr inbounds nuw %struct._zend_jit_trace_exit_info, ptr %270, i64 %231 %272 = getelementptr inbounds nuw i8, ptr %271, i64 16 %273 = load i32, ptr %272, align 8 @@ -21525,7 +21525,7 @@ zend_jit_trace_start.exit: ; preds = %294, %302 316: ; preds = %zend_jit_trace_start.exit %317 = load ptr, ptr %42, align 8 - br i1 %.not10642, label %.thread.i12080, label %318 + br i1 %.not10642, label %.thread.i12077, label %318 318: ; preds = %316 %319 = getelementptr inbounds nuw %struct._zend_jit_trace_info, ptr %306, i64 %203, i32 15 @@ -21540,9 +21540,9 @@ zend_jit_trace_start.exit: ; preds = %294, %302 %328 = zext i32 %327 to i64 %329 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %325, i64 %328 %330 = zext i32 %323 to i64 - br label %.thread.i12080 + br label %.thread.i12077 -.thread.i12080: ; preds = %318, %316 +.thread.i12077: ; preds = %318, %316 %331 = phi i64 [ %330, %318 ], [ 0, %316 ] %332 = phi ptr [ %329, %318 ], [ null, %316 ] %333 = load ptr, ptr getelementptr inbounds nuw (i8, ptr @compiler_globals, i64 336), align 8 @@ -21556,11 +21556,11 @@ zend_jit_trace_start.exit: ; preds = %294, %302 %.not1059.not.i = icmp eq i64 %340, 0 br i1 %.not1059.not.i, label %342, label %341 -341: ; preds = %.thread.i12080 +341: ; preds = %.thread.i12077 call void (i32, ptr, ...) @zend_error_noreturn(i32 noundef 1, ptr noundef nonnull @.str.44, i64 noundef 8, i64 noundef %337) #35 unreachable -342: ; preds = %.thread.i12080 +342: ; preds = %.thread.i12077 %343 = add i64 %339, 7 %344 = and i64 %343, -8 %345 = getelementptr inbounds nuw i8, ptr %333, i64 8 @@ -21679,26 +21679,26 @@ zend_jit_trace_start.exit: ; preds = %294, %302 414: ; preds = %410, %391 %.0967.i = phi i32 [ %413, %410 ], [ %407, %391 ] %415 = icmp sgt i32 %.0967.i, 0 - br i1 %415, label %.lr.ph.i12081, label %._crit_edge.i + br i1 %415, label %.lr.ph.i12078, label %._crit_edge.i -.lr.ph.i12081: ; preds = %414 +.lr.ph.i12078: ; preds = %414 %416 = getelementptr inbounds nuw i8, ptr %40, i64 64 %417 = getelementptr inbounds nuw i8, ptr %40, i64 56 %418 = getelementptr inbounds nuw i8, ptr %40, i64 8 %419 = getelementptr inbounds nuw i8, ptr %40, i64 72 - %wide.trip.count.i12082 = zext nneg i32 %.0967.i to i64 + %wide.trip.count.i12079 = zext nneg i32 %.0967.i to i64 br label %420 -420: ; preds = %zend_jit_var_supports_reg.exit.thread.i, %.lr.ph.i12081 - %indvars.iv.i12083 = phi i64 [ 0, %.lr.ph.i12081 ], [ %indvars.iv.next.i12084, %zend_jit_var_supports_reg.exit.thread.i ] - %.09611389.i = phi i32 [ 0, %.lr.ph.i12081 ], [ %.1962.i, %zend_jit_var_supports_reg.exit.thread.i ] - %421 = getelementptr inbounds nuw i32, ptr %405, i64 %indvars.iv.i12083 - %422 = trunc nuw nsw i64 %indvars.iv.i12083 to i32 +420: ; preds = %zend_jit_var_supports_reg.exit.thread.i, %.lr.ph.i12078 + %indvars.iv.i12080 = phi i64 [ 0, %.lr.ph.i12078 ], [ %indvars.iv.next.i12081, %zend_jit_var_supports_reg.exit.thread.i ] + %.09611389.i = phi i32 [ 0, %.lr.ph.i12078 ], [ %.1962.i, %zend_jit_var_supports_reg.exit.thread.i ] + %421 = getelementptr inbounds nuw i32, ptr %405, i64 %indvars.iv.i12080 + %422 = trunc nuw nsw i64 %indvars.iv.i12080 to i32 store i32 %422, ptr %421, align 4 - %423 = getelementptr inbounds nuw ptr, ptr %.0994.i, i64 %indvars.iv.i12083 + %423 = getelementptr inbounds nuw ptr, ptr %.0994.i, i64 %indvars.iv.i12080 store ptr %395, ptr %423, align 8 %424 = load ptr, ptr %416, align 8 - %425 = getelementptr inbounds nuw %struct._zend_ssa_var, ptr %424, i64 %indvars.iv.i12083, i32 3 + %425 = getelementptr inbounds nuw %struct._zend_ssa_var, ptr %424, i64 %indvars.iv.i12080, i32 3 %426 = load i32, ptr %425, align 4 %427 = icmp sgt i32 %426, -1 br i1 %427, label %428, label %zend_jit_var_supports_reg.exit.thread.i @@ -21723,65 +21723,65 @@ zend_jit_trace_start.exit: ; preds = %294, %302 436: ; preds = %428, %428, %428, %428 %437 = load i32, ptr %433, align 4 %438 = zext i32 %437 to i64 - %439 = icmp eq i64 %indvars.iv.i12083, %438 - br i1 %439, label %440, label %.critedge.i12087 + %439 = icmp eq i64 %indvars.iv.i12080, %438 + br i1 %439, label %440, label %.critedge.i12084 440: ; preds = %436 %441 = getelementptr inbounds nuw i8, ptr %433, i64 4 %442 = load i32, ptr %441, align 4 %443 = zext i32 %442 to i64 - %.not1348.i = icmp eq i64 %indvars.iv.i12083, %443 - br i1 %.not1348.i, label %.critedge.i12087, label %zend_jit_var_supports_reg.exit.thread.i + %.not1348.i = icmp eq i64 %indvars.iv.i12080, %443 + br i1 %.not1348.i, label %.critedge.i12084, label %zend_jit_var_supports_reg.exit.thread.i 444: ; preds = %428, %428 %445 = getelementptr inbounds nuw i8, ptr %433, i64 4 %446 = load i32, ptr %445, align 4 %447 = zext i32 %446 to i64 - %448 = icmp eq i64 %indvars.iv.i12083, %447 - br i1 %448, label %449, label %.critedge.i12087 + %448 = icmp eq i64 %indvars.iv.i12080, %447 + br i1 %448, label %449, label %.critedge.i12084 449: ; preds = %444 %450 = load i32, ptr %433, align 4 %451 = zext i32 %450 to i64 - %.not1347.i = icmp eq i64 %indvars.iv.i12083, %451 - br i1 %.not1347.i, label %.critedge.i12087, label %zend_jit_var_supports_reg.exit.thread.i + %.not1347.i = icmp eq i64 %indvars.iv.i12080, %451 + br i1 %.not1347.i, label %.critedge.i12084, label %zend_jit_var_supports_reg.exit.thread.i 452: ; preds = %428 %453 = getelementptr inbounds nuw i8, ptr %433, i64 8 %454 = load i32, ptr %453, align 4 %455 = zext i32 %454 to i64 - %456 = icmp ne i64 %indvars.iv.i12083, %455 + %456 = icmp ne i64 %indvars.iv.i12080, %455 %457 = freeze i1 %456 - br i1 %457, label %.critedge.i12087, label %switch.early.test.i + br i1 %457, label %.critedge.i12084, label %switch.early.test.i switch.early.test.i: ; preds = %452 switch i8 %435, label %458 [ - i8 -109, label %.critedge.i12087 - i8 72, label %.critedge.i12087 + i8 -109, label %.critedge.i12084 + i8 72, label %.critedge.i12084 ] 458: ; preds = %switch.early.test.i %459 = load i32, ptr %433, align 4 %460 = zext i32 %459 to i64 - %.not1133.i = icmp eq i64 %indvars.iv.i12083, %460 - br i1 %.not1133.i, label %.critedge.i12087, label %461 + %.not1133.i = icmp eq i64 %indvars.iv.i12080, %460 + br i1 %.not1133.i, label %.critedge.i12084, label %461 461: ; preds = %458 %462 = getelementptr inbounds nuw i8, ptr %433, i64 4 %463 = load i32, ptr %462, align 4 %464 = zext i32 %463 to i64 - %.not1349.i = icmp eq i64 %indvars.iv.i12083, %464 - br i1 %.not1349.i, label %.critedge.i12087, label %zend_jit_var_supports_reg.exit.thread.i + %.not1349.i = icmp eq i64 %indvars.iv.i12080, %464 + br i1 %.not1349.i, label %.critedge.i12084, label %zend_jit_var_supports_reg.exit.thread.i -.critedge.i12087: ; preds = %461, %458, %switch.early.test.i, %switch.early.test.i, %452, %449, %444, %440, %436 - %465 = getelementptr inbounds nuw %struct._zend_ssa_var, ptr %424, i64 %indvars.iv.i12083, i32 7 +.critedge.i12084: ; preds = %461, %458, %switch.early.test.i, %switch.early.test.i, %452, %449, %444, %440, %436 + %465 = getelementptr inbounds nuw %struct._zend_ssa_var, ptr %424, i64 %indvars.iv.i12080, i32 7 %466 = load i8, ptr %465, align 8 %467 = and i8 %466, 12 %468 = icmp eq i8 %467, 0 br i1 %468, label %469, label %zend_jit_var_supports_reg.exit.thread.i -469: ; preds = %.critedge.i12087 - %470 = getelementptr inbounds nuw %struct._zend_ssa_var, ptr %424, i64 %indvars.iv.i12083 +469: ; preds = %.critedge.i12084 + %470 = getelementptr inbounds nuw %struct._zend_ssa_var, ptr %424, i64 %indvars.iv.i12080 %471 = trunc i8 %466 to i1 br i1 %471, label %zend_jit_var_supports_reg.exit.thread.i, label %472 @@ -21804,8 +21804,8 @@ switch.early.test.i: ; preds = %452 br i1 %.not36.i.i, label %zend_jit_var_supports_reg.exit.i, label %.preheader42.i.i .preheader42.i.i: ; preds = %478, %513 - %.0.i.i12090 = phi ptr [ %.030.i.i, %513 ], [ %480, %478 ] - %481 = getelementptr inbounds nuw i8, ptr %.0.i.i12090, i64 68 + %.0.i.i12087 = phi ptr [ %.030.i.i, %513 ], [ %480, %478 ] + %481 = getelementptr inbounds nuw i8, ptr %.0.i.i12087, i64 68 %482 = load i32, ptr %481, align 4 %483 = sext i32 %482 to i64 %484 = getelementptr inbounds %struct._zend_ssa_var, ptr %424, i64 %483, i32 7 @@ -21814,14 +21814,14 @@ switch.early.test.i: ; preds = %452 br i1 %486, label %487, label %zend_jit_var_supports_reg.exit.thread.i 487: ; preds = %.preheader42.i.i - %488 = getelementptr inbounds nuw i8, ptr %.0.i.i12090, i64 8 + %488 = getelementptr inbounds nuw i8, ptr %.0.i.i12087, i64 8 %489 = load i32, ptr %488, align 8 %490 = icmp sgt i32 %489, -1 br i1 %490, label %500, label %.preheader.i.i .preheader.i.i: ; preds = %487 %491 = load ptr, ptr %418, align 8 - %492 = getelementptr inbounds nuw i8, ptr %.0.i.i12090, i64 72 + %492 = getelementptr inbounds nuw i8, ptr %.0.i.i12087, i64 72 %493 = load i32, ptr %492, align 8 %494 = sext i32 %493 to i64 %495 = getelementptr inbounds %struct._zend_basic_block, ptr %491, i64 %494, i32 5 @@ -21830,13 +21830,13 @@ switch.early.test.i: ; preds = %452 br i1 %497, label %.lr.ph.i.i, label %zend_jit_var_supports_reg.exit.i .lr.ph.i.i: ; preds = %.preheader.i.i - %498 = getelementptr inbounds nuw i8, ptr %.0.i.i12090, i64 96 + %498 = getelementptr inbounds nuw i8, ptr %.0.i.i12087, i64 96 %499 = load ptr, ptr %498, align 8 %wide.trip.count.i.i = zext nneg i32 %496 to i64 br label %504 500: ; preds = %487 - %501 = getelementptr inbounds nuw i8, ptr %.0.i.i12090, i64 80 + %501 = getelementptr inbounds nuw i8, ptr %.0.i.i12087, i64 80 %502 = load ptr, ptr %501, align 8 br label %513 @@ -21850,11 +21850,11 @@ switch.early.test.i: ; preds = %452 %505 = getelementptr inbounds nuw i32, ptr %499, i64 %indvars.iv.i.i %506 = load i32, ptr %505, align 4 %507 = zext i32 %506 to i64 - %508 = icmp eq i64 %indvars.iv.i12083, %507 + %508 = icmp eq i64 %indvars.iv.i12080, %507 br i1 %508, label %509, label %503 509: ; preds = %504 - %510 = getelementptr inbounds nuw i8, ptr %.0.i.i12090, i64 80 + %510 = getelementptr inbounds nuw i8, ptr %.0.i.i12087, i64 80 %511 = load ptr, ptr %510, align 8 %512 = getelementptr inbounds nuw ptr, ptr %511, i64 %indvars.iv.i.i br label %513 @@ -21867,7 +21867,7 @@ switch.early.test.i: ; preds = %452 zend_jit_var_supports_reg.exit.i: ; preds = %513, %.preheader.i.i, %503, %478, %472 %514 = load ptr, ptr %419, align 8 - %515 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %514, i64 %indvars.iv.i12083 + %515 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %514, i64 %indvars.iv.i12080 %516 = load i32, ptr %515, align 8 %517 = and i32 %516, 2047 %518 = add nsw i32 %517, -16 @@ -21876,13 +21876,13 @@ zend_jit_var_supports_reg.exit.i: ; preds = %513, %.preheader.i. br i1 %switch.selectcmp.i.i, label %519, label %zend_jit_var_supports_reg.exit.thread.i 519: ; preds = %zend_jit_var_supports_reg.exit.i - %520 = getelementptr inbounds nuw %struct._zend_jit_reg_var, ptr %.0996.i, i64 %indvars.iv.i12083 + %520 = getelementptr inbounds nuw %struct._zend_jit_reg_var, ptr %.0996.i, i64 %indvars.iv.i12080 store i32 -1, ptr %520, align 4 - %521 = icmp samesign ult i64 %indvars.iv.i12083, %331 + %521 = icmp samesign ult i64 %indvars.iv.i12080, %331 br i1 %521, label %522, label %zend_jit_var_supports_reg.exit.thread.sink.split.i 522: ; preds = %519 - %523 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %332, i64 %indvars.iv.i12083 + %523 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %332, i64 %indvars.iv.i12080 %524 = getelementptr inbounds nuw i8, ptr %523, i64 2 %525 = load i8, ptr %524, align 2 %.not1134.i = icmp eq i8 %525, -1 @@ -21893,30 +21893,30 @@ zend_jit_var_supports_reg.exit.i: ; preds = %513, %.preheader.i. %528 = load i8, ptr %527, align 1 %.not1135.i = icmp eq i8 %528, 32 %narrow.i = select i1 %.not1135.i, i8 1, i8 %528 - %spec.select.i12089 = zext i8 %narrow.i to i32 + %spec.select.i12086 = zext i8 %narrow.i to i32 %spec.select1613.i = select i1 %.not1135.i, i32 1, i32 2 br label %zend_jit_var_supports_reg.exit.thread.sink.split.i zend_jit_var_supports_reg.exit.thread.sink.split.i: ; preds = %526, %522, %519 - %.sink1606.i = phi i32 [ 1, %522 ], [ 1, %519 ], [ %spec.select.i12089, %526 ] - %.sink.i12088 = phi i32 [ 1, %522 ], [ 1, %519 ], [ %spec.select1613.i, %526 ] + %.sink1606.i = phi i32 [ 1, %522 ], [ 1, %519 ], [ %spec.select.i12086, %526 ] + %.sink.i12085 = phi i32 [ 1, %522 ], [ 1, %519 ], [ %spec.select1613.i, %526 ] %529 = getelementptr inbounds nuw i8, ptr %520, i64 4 store i32 %.sink1606.i, ptr %529, align 4 - %530 = add nsw i32 %.sink.i12088, %.09611389.i + %530 = add nsw i32 %.sink.i12085, %.09611389.i br label %zend_jit_var_supports_reg.exit.thread.i -zend_jit_var_supports_reg.exit.thread.i: ; preds = %.preheader42.i.i, %zend_jit_var_supports_reg.exit.thread.sink.split.i, %zend_jit_var_supports_reg.exit.i, %475, %469, %.critedge.i12087, %461, %449, %440, %420 - %.1962.i = phi i32 [ %.09611389.i, %461 ], [ %.09611389.i, %zend_jit_var_supports_reg.exit.i ], [ %.09611389.i, %.critedge.i12087 ], [ %.09611389.i, %420 ], [ %.09611389.i, %440 ], [ %.09611389.i, %449 ], [ %.09611389.i, %469 ], [ %.09611389.i, %475 ], [ %530, %zend_jit_var_supports_reg.exit.thread.sink.split.i ], [ %.09611389.i, %.preheader42.i.i ] - %indvars.iv.next.i12084 = add nuw nsw i64 %indvars.iv.i12083, 1 - %exitcond.not.i12085 = icmp eq i64 %indvars.iv.next.i12084, %wide.trip.count.i12082 - br i1 %exitcond.not.i12085, label %._crit_edge.loopexit.i, label %420 +zend_jit_var_supports_reg.exit.thread.i: ; preds = %.preheader42.i.i, %zend_jit_var_supports_reg.exit.thread.sink.split.i, %zend_jit_var_supports_reg.exit.i, %475, %469, %.critedge.i12084, %461, %449, %440, %420 + %.1962.i = phi i32 [ %.09611389.i, %461 ], [ %.09611389.i, %zend_jit_var_supports_reg.exit.i ], [ %.09611389.i, %.critedge.i12084 ], [ %.09611389.i, %420 ], [ %.09611389.i, %440 ], [ %.09611389.i, %449 ], [ %.09611389.i, %469 ], [ %.09611389.i, %475 ], [ %530, %zend_jit_var_supports_reg.exit.thread.sink.split.i ], [ %.09611389.i, %.preheader42.i.i ] + %indvars.iv.next.i12081 = add nuw nsw i64 %indvars.iv.i12080, 1 + %exitcond.not.i12082 = icmp eq i64 %indvars.iv.next.i12081, %wide.trip.count.i12079 + br i1 %exitcond.not.i12082, label %._crit_edge.loopexit.i, label %420 ._crit_edge.loopexit.i: ; preds = %zend_jit_var_supports_reg.exit.thread.i - %.pre.i12086 = load i8, ptr %408, align 1 + %.pre.i12083 = load i8, ptr %408, align 1 br label %._crit_edge.i ._crit_edge.i: ; preds = %._crit_edge.loopexit.i, %414 - %531 = phi i8 [ %409, %414 ], [ %.pre.i12086, %._crit_edge.loopexit.i ] + %531 = phi i8 [ %409, %414 ], [ %.pre.i12083, %._crit_edge.loopexit.i ] %.0970.lcssa.i = phi i32 [ 0, %414 ], [ %.0967.i, %._crit_edge.loopexit.i ] %.0961.lcssa.i = phi i32 [ 0, %414 ], [ %.1962.i, %._crit_edge.loopexit.i ] %532 = icmp eq i8 %531, 2 @@ -22889,8 +22889,8 @@ zend_jit_var_supports_reg.exit1239.thread.i: ; preds = %.preheader42.i1228. br i1 %1028, label %.lr.ph1432.i, label %.preheader1358.i.thread .preheader1358.i.thread: ; preds = %.preheader1362.i - %.29831439.i13301 = getelementptr inbounds nuw i8, ptr %.0981.i, i64 36 - %.29651440.i13302 = add nsw i32 %.0963.i, 1 + %.29831439.i13298 = getelementptr inbounds nuw i8, ptr %.0981.i, i64 36 + %.29651440.i13299 = add nsw i32 %.0963.i, 1 br label %.loopexit1357.i .preheader1360.i: ; preds = %zend_jit_var_supports_reg.exit1239.thread.i @@ -22900,8 +22900,8 @@ zend_jit_var_supports_reg.exit1239.thread.i: ; preds = %.preheader42.i1228. br i1 %1031, label %.lr.ph1436.i, label %.preheader1356.i.thread .preheader1356.i.thread: ; preds = %.preheader1360.i - %.19821450.i13303 = getelementptr inbounds nuw i8, ptr %.0981.i, i64 36 - %.19641451.i13304 = add nsw i32 %.0963.i, 1 + %.19821450.i13300 = getelementptr inbounds nuw i8, ptr %.0981.i, i64 36 + %.19641451.i13301 = add nsw i32 %.0963.i, 1 br label %.loopexit1357.i .lr.ph1436.i: ; preds = %.preheader1360.i, %.lr.ph1436.i @@ -22949,17 +22949,17 @@ zend_jit_var_supports_reg.exit1239.thread.i: ; preds = %.preheader42.i1228. ] .preheader1358.i: ; preds = %.loopexit1361.i - %.phi.trans.insert13287 = getelementptr inbounds nuw i8, ptr %653, i64 60 - %.pre13288 = load i8, ptr %.phi.trans.insert13287, align 4 - %1044 = icmp eq i8 %.pre13288, -88 + %.phi.trans.insert13284 = getelementptr inbounds nuw i8, ptr %653, i64 60 + %.pre13285 = load i8, ptr %.phi.trans.insert13284, align 4 + %1044 = icmp eq i8 %.pre13285, -88 %.29831439.i = getelementptr inbounds nuw i8, ptr %.0981.i, i64 36 %.29651440.i = add nsw i32 %.0963.i, 1 br i1 %1044, label %.lr.ph1446.i, label %.loopexit1357.i .preheader1356.i: ; preds = %.loopexit1361.i - %.phi.trans.insert13289 = getelementptr inbounds nuw i8, ptr %653, i64 60 - %.pre13290 = load i8, ptr %.phi.trans.insert13289, align 4 - %1045 = icmp eq i8 %.pre13290, 64 + %.phi.trans.insert13286 = getelementptr inbounds nuw i8, ptr %653, i64 60 + %.pre13287 = load i8, ptr %.phi.trans.insert13286, align 4 + %1045 = icmp eq i8 %.pre13287, 64 %.19821450.i = getelementptr inbounds nuw i8, ptr %.0981.i, i64 36 %.19641451.i = add nsw i32 %.0963.i, 1 br i1 %1045, label %.lr.ph1458.i, label %.loopexit1357.i @@ -23702,8 +23702,8 @@ zend_jit_var_supports_reg.exit1300.thread.i: ; preds = %.preheader42.i1289. .loopexit1357.i: ; preds = %zend_jit_var_supports_reg.exit1300.thread.i, %1200, %1186, %.preheader1356.i.thread, %.preheader1358.i.thread, %1431, %1347, %._crit_edge1429.i, %1204, %zend_jit_var_supports_reg.exit1258.thread.i, %.preheader1356.i, %.preheader1358.i, %634 %.1988.i = phi ptr [ %.0987.i, %1204 ], [ %.0987.i, %zend_jit_var_supports_reg.exit1258.thread.i ], [ %1237, %._crit_edge1429.i ], [ %637, %1431 ], [ %.0987.i, %634 ], [ %.0987.i, %.preheader1356.i ], [ %.0987.i, %.preheader1358.i ], [ %637, %1347 ], [ %.0987.i, %.preheader1358.i.thread ], [ %.0987.i, %.preheader1356.i.thread ], [ %.0987.i, %1186 ], [ %.0987.i, %1200 ], [ %637, %zend_jit_var_supports_reg.exit1300.thread.i ] %.1986.i = phi ptr [ %.0985.i, %1204 ], [ %.0985.i, %zend_jit_var_supports_reg.exit1258.thread.i ], [ %1245, %._crit_edge1429.i ], [ %643, %1431 ], [ %.0985.i, %634 ], [ %.0985.i, %.preheader1356.i ], [ %.0985.i, %.preheader1358.i ], [ %643, %1347 ], [ %.0985.i, %.preheader1358.i.thread ], [ %.0985.i, %.preheader1356.i.thread ], [ %.0985.i, %1186 ], [ %.0985.i, %1200 ], [ %643, %zend_jit_var_supports_reg.exit1300.thread.i ] - %.3984.i = phi ptr [ %1206, %1204 ], [ %1164, %zend_jit_var_supports_reg.exit1258.thread.i ], [ %.0981.i, %._crit_edge1429.i ], [ %.0981.i, %1431 ], [ %.0981.i, %634 ], [ %.19821450.i, %.preheader1356.i ], [ %.29831439.i, %.preheader1358.i ], [ %.0981.i, %1347 ], [ %.29831439.i13301, %.preheader1358.i.thread ], [ %.19821450.i13303, %.preheader1356.i.thread ], [ %.1982.i, %1186 ], [ %.2983.i, %1200 ], [ %.0981.i, %zend_jit_var_supports_reg.exit1300.thread.i ] - %.3966.i = phi i32 [ %1207, %1204 ], [ %1165, %zend_jit_var_supports_reg.exit1258.thread.i ], [ %.0963.i, %._crit_edge1429.i ], [ %.0963.i, %1431 ], [ %.0963.i, %634 ], [ %.19641451.i, %.preheader1356.i ], [ %.29651440.i, %.preheader1358.i ], [ %.0963.i, %1347 ], [ %.29651440.i13302, %.preheader1358.i.thread ], [ %.19641451.i13304, %.preheader1356.i.thread ], [ %.1964.i, %1186 ], [ %.2965.i, %1200 ], [ %.0963.i, %zend_jit_var_supports_reg.exit1300.thread.i ] + %.3984.i = phi ptr [ %1206, %1204 ], [ %1164, %zend_jit_var_supports_reg.exit1258.thread.i ], [ %.0981.i, %._crit_edge1429.i ], [ %.0981.i, %1431 ], [ %.0981.i, %634 ], [ %.19821450.i, %.preheader1356.i ], [ %.29831439.i, %.preheader1358.i ], [ %.0981.i, %1347 ], [ %.29831439.i13298, %.preheader1358.i.thread ], [ %.19821450.i13300, %.preheader1356.i.thread ], [ %.1982.i, %1186 ], [ %.2983.i, %1200 ], [ %.0981.i, %zend_jit_var_supports_reg.exit1300.thread.i ] + %.3966.i = phi i32 [ %1207, %1204 ], [ %1165, %zend_jit_var_supports_reg.exit1258.thread.i ], [ %.0963.i, %._crit_edge1429.i ], [ %.0963.i, %1431 ], [ %.0963.i, %634 ], [ %.19641451.i, %.preheader1356.i ], [ %.29651440.i, %.preheader1358.i ], [ %.0963.i, %1347 ], [ %.29651440.i13299, %.preheader1358.i.thread ], [ %.19641451.i13301, %.preheader1356.i.thread ], [ %.1964.i, %1186 ], [ %.2965.i, %1200 ], [ %.0963.i, %zend_jit_var_supports_reg.exit1300.thread.i ] %.22.i = phi i32 [ %.9.i, %1204 ], [ %.13.i, %zend_jit_var_supports_reg.exit1258.thread.i ], [ %.18.lcssa.i, %._crit_edge1429.i ], [ %.5.i, %1431 ], [ %.5.i, %634 ], [ %.9.i, %.preheader1356.i ], [ %.9.i, %.preheader1358.i ], [ %.5.i, %1347 ], [ %.9.i, %.preheader1358.i.thread ], [ %.9.i, %.preheader1356.i.thread ], [ %.15.i, %1186 ], [ %.9.i, %1200 ], [ %.21.i, %zend_jit_var_supports_reg.exit1300.thread.i ] %.1960.i = phi i32 [ %.0959.i, %1204 ], [ %.0959.i, %zend_jit_var_supports_reg.exit1258.thread.i ], [ %1333, %._crit_edge1429.i ], [ %1432, %1431 ], [ %.0959.i, %634 ], [ %.0959.i, %.preheader1356.i ], [ %.0959.i, %.preheader1358.i ], [ 0, %1347 ], [ %.0959.i, %.preheader1358.i.thread ], [ %.0959.i, %.preheader1356.i.thread ], [ %.0959.i, %1186 ], [ %.0959.i, %1200 ], [ 0, %zend_jit_var_supports_reg.exit1300.thread.i ] %.1955.i = phi ptr [ %.0954.i, %1204 ], [ %.0954.i, %zend_jit_var_supports_reg.exit1258.thread.i ], [ %1234, %._crit_edge1429.i ], [ %1344, %1431 ], [ %.0954.i, %634 ], [ %.0954.i, %.preheader1356.i ], [ %.0954.i, %.preheader1358.i ], [ %1344, %1347 ], [ %.0954.i, %.preheader1358.i.thread ], [ %.0954.i, %.preheader1356.i.thread ], [ %.0954.i, %1186 ], [ %.0954.i, %1200 ], [ %1344, %zend_jit_var_supports_reg.exit1300.thread.i ] @@ -24363,8 +24363,8 @@ zend_jit_trace_allocate_registers.exit: ; preds = %._crit_edge1493.i, call void @llvm.assume(i1 %1771) %1772 = load ptr, ptr %44, align 8 %1773 = load ptr, ptr getelementptr inbounds nuw (i8, ptr @jit_globals, i64 184), align 8 - %.not.i12091 = icmp eq ptr %1772, null - br i1 %.not.i12091, label %zend_jit_trace_call_frame.exit, label %1774 + %.not.i12088 = icmp eq ptr %1772, null + br i1 %.not.i12088, label %zend_jit_trace_call_frame.exit, label %1774 1774: ; preds = %1769 %1775 = load i8, ptr %1772, align 8 @@ -24393,8 +24393,8 @@ zend_jit_trace_allocate_registers.exit: ; preds = %._crit_edge1493.i, br label %zend_jit_trace_call_frame.exit zend_jit_trace_call_frame.exit: ; preds = %1769, %1777, %1787 - %.0.i12093 = phi i64 [ %1786, %1777 ], [ %1793, %1787 ], [ 64, %1769 ] - %1794 = getelementptr inbounds nuw i8, ptr %1773, i64 %.0.i12093 + %.0.i12090 = phi i64 [ %1786, %1777 ], [ %1793, %1787 ], [ 64, %1769 ] + %1794 = getelementptr inbounds nuw i8, ptr %1773, i64 %.0.i12090 %1795 = getelementptr inbounds nuw i8, ptr %1773, i64 16 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %1773, i8 0, i64 16, i1 false) store ptr %1772, ptr %1795, align 8 @@ -24412,8 +24412,8 @@ zend_jit_trace_call_frame.exit: ; preds = %1769, %1777, %1787 %1803 = load i32, ptr %1801, align 8 %1804 = load i32, ptr %1802, align 8 %1805 = sub i32 0, %1803 - %.not13036 = icmp eq i32 %1804, %1805 - br i1 %.not13036, label %._crit_edge, label %.lr.ph + %.not13033 = icmp eq i32 %1804, %1805 + br i1 %.not13033, label %._crit_edge, label %.lr.ph .lr.ph: ; preds = %zend_jit_trace_call_frame.exit, %.lr.ph %indvars.iv = phi i64 [ %indvars.iv.next, %.lr.ph ], [ 0, %zend_jit_trace_call_frame.exit ] @@ -24488,7 +24488,7 @@ zend_jit_set_last_valid_opline.exit: ; preds = %1824, %1828 1845: ; preds = %1840, %1842, %zend_jit_set_last_valid_opline.exit %1846 = load i8, ptr getelementptr inbounds nuw (i8, ptr @jit_globals, i64 3), align 1 %1847 = icmp ugt i8 %1846, 1 - br i1 %1847, label %1848, label %.loopexit12770 + br i1 %1847, label %1848, label %.loopexit12767 1848: ; preds = %1845 %1849 = getelementptr inbounds nuw i8, ptr %40, i64 88 @@ -24501,8 +24501,8 @@ zend_jit_set_last_valid_opline.exit: ; preds = %1824, %1828 %1854 = load ptr, ptr @zend_jit_traces, align 8 %1855 = getelementptr inbounds nuw i8, ptr %1854, i64 16 %1856 = load i32, ptr %1855, align 8 - %.not.i.i12094 = icmp ult i32 %1853, %1856 - br i1 %.not.i.i12094, label %zend_jit_trace_get_exit_addr.exit.i, label %1857 + %.not.i.i12091 = icmp ult i32 %1853, %1856 + br i1 %.not.i.i12091, label %zend_jit_trace_get_exit_addr.exit.i, label %1857 1857: ; preds = %1852 %1858 = icmp ugt i32 %1853, 511 @@ -24567,8 +24567,8 @@ zend_jit_trace_get_exit_addr.exit.i: ; preds = %1852 %1891 = and i32 %1890, 124 %1892 = zext nneg i32 %1891 to i64 %1893 = getelementptr inbounds nuw i8, ptr %1889, i64 %1892 - %.not.i12095 = icmp eq ptr %1889, null - br i1 %.not.i12095, label %zend_jit_stack_check.exit.thread, label %1894 + %.not.i12092 = icmp eq ptr %1889, null + br i1 %.not.i12092, label %zend_jit_stack_check.exit.thread, label %1894 1894: ; preds = %zend_jit_trace_get_exit_addr.exit.i.thread, %zend_jit_trace_get_exit_addr.exit.i %1895 = phi ptr [ %1884, %zend_jit_trace_get_exit_addr.exit.i.thread ], [ %1893, %zend_jit_trace_get_exit_addr.exit.i ] @@ -24582,8 +24582,8 @@ zend_jit_trace_get_exit_addr.exit.i: ; preds = %1852 %1901 = load i64, ptr %1896, align 8 %1902 = trunc i64 %1901 to i32 %1903 = load ptr, ptr %17, align 8 - %sext.i.i12097 = shl i64 %1901, 32 - %1904 = ashr exact i64 %sext.i.i12097, 28 + %sext.i.i12094 = shl i64 %1901, 32 + %1904 = ashr exact i64 %sext.i.i12094, 28 %1905 = getelementptr inbounds i8, ptr %1903, i64 %1904 %1906 = load i16, ptr %1905, align 8 %1907 = icmp eq i16 %1906, 1542 @@ -24731,10 +24731,10 @@ zend_jit_stack_check.exit: ; preds = %1952, %1960 1986: ; preds = %1983, %1980 %.09607 = phi i32 [ %1985, %1983 ], [ %.pre, %1980 ] - %.not13037 = icmp eq i32 %.09607, 0 - br i1 %.not13037, label %._crit_edge12859, label %.lr.ph12858 + %.not13034 = icmp eq i32 %.09607, 0 + br i1 %.not13034, label %._crit_edge12856, label %.lr.ph12855 -.lr.ph12858: ; preds = %1986 +.lr.ph12855: ; preds = %1986 %1987 = getelementptr inbounds nuw i8, ptr %40, i64 72 %1988 = getelementptr inbounds nuw i8, ptr %40, i64 64 %1989 = getelementptr inbounds nuw i8, ptr %0, i64 2 @@ -24744,17 +24744,17 @@ zend_jit_stack_check.exit: ; preds = %1952, %1960 %1993 = getelementptr inbounds nuw i8, ptr %1772, i64 32 %1994 = zext i32 %.09606 to i64 %wide.trip.count = zext i32 %.09607 to i64 - %invariant.gep13495 = getelementptr inbounds nuw i8, ptr %1773, i64 61 + %invariant.gep13492 = getelementptr inbounds nuw i8, ptr %1773, i64 61 br label %1995 -1995: ; preds = %.lr.ph12858, %2171 - %indvars.iv13172 = phi i64 [ 0, %.lr.ph12858 ], [ %indvars.iv.next13173, %2171 ] +1995: ; preds = %.lr.ph12855, %2171 + %indvars.iv13169 = phi i64 [ 0, %.lr.ph12855 ], [ %indvars.iv.next13170, %2171 ] %1996 = load ptr, ptr %1987, align 8 - %1997 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %1996, i64 %indvars.iv13172 + %1997 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %1996, i64 %indvars.iv13169 %1998 = load i32, ptr %1997, align 8 %1999 = and i32 %1998, 268435456 - %.not11776 = icmp eq i32 %1999, 0 - br i1 %.not11776, label %2000, label %2051 + %.not11774 = icmp eq i32 %1999, 0 + br i1 %.not11774, label %2000, label %2051 2000: ; preds = %1995 %2001 = and i32 %1998, 1023 @@ -24790,11 +24790,11 @@ zend_jit_stack_check.exit: ; preds = %1952, %1960 %2028 = trunc i32 %2027 to i8 %2029 = and i8 %2028, 63 %2030 = add nsw i8 %2029, -1 - %2031 = icmp samesign ult i64 %indvars.iv13172, %1994 + %2031 = icmp samesign ult i64 %indvars.iv13169, %1994 br i1 %2031, label %2032, label %2045 2032: ; preds = %2005 - %2033 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09605, i64 %indvars.iv13172 + %2033 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09605, i64 %indvars.iv13169 %2034 = load i8, ptr %2033, align 4 %2035 = icmp eq i8 %2034, %2030 br i1 %2035, label %2036, label %2045 @@ -24802,16 +24802,16 @@ zend_jit_stack_check.exit: ; preds = %1952, %1960 2036: ; preds = %2032 %2037 = getelementptr inbounds nuw i8, ptr %2033, i64 1 %2038 = load i8, ptr %2037, align 1 - %.not11778 = icmp eq i8 %2038, -1 - br i1 %.not11778, label %2040, label %2039 + %.not11776 = icmp eq i8 %2038, -1 + br i1 %.not11776, label %2040, label %2039 2039: ; preds = %2036 - %gep13496 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %invariant.gep13495, i64 %indvars.iv13172 - store i8 %2038, ptr %gep13496, align 1 + %gep13493 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %invariant.gep13492, i64 %indvars.iv13169 + store i8 %2038, ptr %gep13493, align 1 br label %2040 2040: ; preds = %2036, %2039 - %2041 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %1800, i64 %indvars.iv13172 + %2041 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %1800, i64 %indvars.iv13169 store i8 %2030, ptr %2041, align 4 %2042 = getelementptr inbounds nuw i8, ptr %2041, i64 2 store i8 -1, ptr %2042, align 2 @@ -24822,7 +24822,7 @@ zend_jit_stack_check.exit: ; preds = %1952, %1960 br label %2142 2045: ; preds = %2005, %2032 - %2046 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %1800, i64 %indvars.iv13172 + %2046 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %1800, i64 %indvars.iv13169 store i8 %2030, ptr %2046, align 4 %2047 = getelementptr inbounds nuw i8, ptr %2046, i64 1 store i8 %2030, ptr %2047, align 1 @@ -24836,14 +24836,14 @@ zend_jit_stack_check.exit: ; preds = %1952, %1960 2051: ; preds = %2000, %1995 %2052 = load ptr, ptr %1988, align 8 - %2053 = getelementptr inbounds nuw %struct._zend_ssa_var, ptr %2052, i64 %indvars.iv13172, i32 7 + %2053 = getelementptr inbounds nuw %struct._zend_ssa_var, ptr %2052, i64 %indvars.iv13169, i32 7 %2054 = load i8, ptr %2053, align 8 %2055 = and i8 %2054, 12 - %.not11779 = icmp eq i8 %2055, 0 - br i1 %.not11779, label %2062, label %2056 + %.not11777 = icmp eq i8 %2055, 0 + br i1 %.not11777, label %2062, label %2056 2056: ; preds = %2051 - %2057 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %1800, i64 %indvars.iv13172 + %2057 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %1800, i64 %indvars.iv13169 store i8 -1, ptr %2057, align 4 %2058 = getelementptr inbounds nuw i8, ptr %2057, i64 1 store i8 -1, ptr %2058, align 1 @@ -24856,18 +24856,18 @@ zend_jit_stack_check.exit: ; preds = %1952, %1960 br label %2142 2062: ; preds = %2051 - %2063 = icmp samesign ult i64 %indvars.iv13172, %1994 + %2063 = icmp samesign ult i64 %indvars.iv13169, %1994 br i1 %2063, label %2064, label %2067 2064: ; preds = %2062 - %2065 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09605, i64 %indvars.iv13172 + %2065 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09605, i64 %indvars.iv13169 %2066 = load i8, ptr %2065, align 4 - %.not11780 = icmp eq i8 %2066, -1 - call void @llvm.assume(i1 %.not11780) + %.not11778 = icmp eq i8 %2066, -1 + call void @llvm.assume(i1 %.not11778) br label %2067 2067: ; preds = %2064, %2062 - br i1 %.not11776, label %2134, label %2068 + br i1 %.not11774, label %2134, label %2068 2068: ; preds = %2067 %2069 = load i8, ptr %1989, align 1 @@ -24887,21 +24887,21 @@ zend_jit_stack_check.exit: ; preds = %1952, %1960 %2075 = lshr i32 %2074, 4 %2076 = add nsw i32 %2075, -5 %2077 = zext i32 %2076 to i64 - %2078 = icmp eq i64 %indvars.iv13172, %2077 + %2078 = icmp eq i64 %indvars.iv13169, %2077 br i1 %2078, label %2079, label %2134 2079: ; preds = %2068, %2068, %2073 - %2080 = getelementptr inbounds nuw %struct._zend_ssa_var, ptr %2052, i64 %indvars.iv13172 + %2080 = getelementptr inbounds nuw %struct._zend_ssa_var, ptr %2052, i64 %indvars.iv13169 %2081 = getelementptr inbounds nuw i8, ptr %2080, i64 12 %2082 = load i32, ptr %2081, align 4 - %.not11781 = icmp eq i32 %2082, -1 - br i1 %.not11781, label %2083, label %2093 + %.not11779 = icmp eq i32 %2082, -1 + br i1 %.not11779, label %2083, label %2093 2083: ; preds = %2079 %2084 = getelementptr inbounds nuw i8, ptr %2080, i64 24 %2085 = load ptr, ptr %2084, align 8 - %.not11782 = icmp eq ptr %2085, null - br i1 %.not11782, label %2134, label %2086 + %.not11780 = icmp eq ptr %2085, null + br i1 %.not11780, label %2134, label %2086 2086: ; preds = %2083 %2087 = getelementptr inbounds nuw i8, ptr %2085, i64 68 @@ -24910,11 +24910,11 @@ zend_jit_stack_check.exit: ; preds = %1952, %1960 %2090 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %1996, i64 %2089 %2091 = load i32, ptr %2090, align 8 %2092 = and i32 %2091, 268435456 - %.not11783 = icmp eq i32 %2092, 0 - br i1 %.not11783, label %2093, label %2134 + %.not11781 = icmp eq i32 %2092, 0 + br i1 %.not11781, label %2093, label %2134 2093: ; preds = %2086, %2079 - %2094 = trunc nuw i64 %indvars.iv13172 to i32 + %2094 = trunc nuw i64 %indvars.iv13169 to i32 %2095 = shl i32 %2094, 4 %2096 = add i32 %2095, 80 %2097 = and i32 %1998, 1023 @@ -24946,15 +24946,15 @@ zend_jit_stack_check.exit: ; preds = %1952, %1960 %2122 = and i8 %2121, 63 %2123 = add nsw i8 %2122, -1 %2124 = call fastcc i32 @zend_jit_type_guard(ptr noundef %17, ptr noundef %1816, i32 noundef %2096, i8 noundef zeroext %2123) - %.not11786 = icmp eq i32 %2124, 0 - br i1 %.not11786, label %zend_jit_stack_check.exit.thread, label %2125 + %.not11784 = icmp eq i32 %2124, 0 + br i1 %.not11784, label %zend_jit_stack_check.exit.thread, label %2125 2125: ; preds = %2093 %2126 = and i32 %1998, -268435457 %2127 = load ptr, ptr %1987, align 8 - %2128 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %2127, i64 %indvars.iv13172 + %2128 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %2127, i64 %indvars.iv13169 store i32 %2126, ptr %2128, align 8 - %2129 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %1800, i64 %indvars.iv13172 + %2129 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %1800, i64 %indvars.iv13169 store i8 %2123, ptr %2129, align 4 %2130 = getelementptr inbounds nuw i8, ptr %2129, i64 1 store i8 %2123, ptr %2130, align 1 @@ -24973,21 +24973,21 @@ zend_jit_stack_check.exit: ; preds = %1952, %1960 2137: ; preds = %2134 %2138 = load ptr, ptr %1992, align 8 - %.not11784 = icmp eq ptr %2138, null - br i1 %.not11784, label %2142, label %2139 + %.not11782 = icmp eq ptr %2138, null + br i1 %.not11782, label %2142, label %2139 2139: ; preds = %2137 %2140 = load i32, ptr %1993, align 8 %2141 = zext i32 %2140 to i64 - %.not11785 = icmp samesign ult i64 %indvars.iv13172, %2141 - call void @llvm.assume(i1 %.not11785) + %.not11783 = icmp samesign ult i64 %indvars.iv13169, %2141 + call void @llvm.assume(i1 %.not11783) br label %2142 2142: ; preds = %2056, %2125, %2139, %2137, %2134, %2040, %2045 %.09603 = phi i32 [ %1998, %2056 ], [ %2126, %2125 ], [ %1998, %2139 ], [ %1998, %2137 ], [ %1998, %2134 ], [ %1998, %2040 ], [ %1998, %2045 ] %2143 = and i32 %.09603, 134217728 - %.not11787 = icmp eq i32 %2143, 0 - br i1 %.not11787, label %2171, label %2144 + %.not11785 = icmp eq i32 %2143, 0 + br i1 %.not11785, label %2171, label %2144 2144: ; preds = %2142 %2145 = load i8, ptr %1989, align 1 @@ -24996,17 +24996,17 @@ zend_jit_stack_check.exit: ; preds = %1952, %1960 2146: ; preds = %2144 %2147 = load ptr, ptr %1988, align 8 - %2148 = getelementptr inbounds nuw %struct._zend_ssa_var, ptr %2147, i64 %indvars.iv13172 + %2148 = getelementptr inbounds nuw %struct._zend_ssa_var, ptr %2147, i64 %indvars.iv13169 %2149 = getelementptr inbounds nuw i8, ptr %2148, i64 12 %2150 = load i32, ptr %2149, align 4 - %.not11788 = icmp eq i32 %2150, -1 - br i1 %.not11788, label %2151, label %2162 + %.not11786 = icmp eq i32 %2150, -1 + br i1 %.not11786, label %2151, label %2162 2151: ; preds = %2146 %2152 = getelementptr inbounds nuw i8, ptr %2148, i64 24 %2153 = load ptr, ptr %2152, align 8 - %.not11789 = icmp eq ptr %2153, null - br i1 %.not11789, label %2171, label %2154 + %.not11787 = icmp eq ptr %2153, null + br i1 %.not11787, label %2171, label %2154 2154: ; preds = %2151 %2155 = load ptr, ptr %1987, align 8 @@ -25016,33 +25016,33 @@ zend_jit_stack_check.exit: ; preds = %1952, %1960 %2159 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %2155, i64 %2158 %2160 = load i32, ptr %2159, align 8 %2161 = and i32 %2160, 134217728 - %.not11790 = icmp eq i32 %2161, 0 - br i1 %.not11790, label %2162, label %2171 + %.not11788 = icmp eq i32 %2161, 0 + br i1 %.not11788, label %2162, label %2171 2162: ; preds = %2154, %2146 - %2163 = trunc nuw i64 %indvars.iv13172 to i32 + %2163 = trunc nuw i64 %indvars.iv13169 to i32 %2164 = shl i32 %2163, 4 %2165 = add i32 %2164, 80 %2166 = call fastcc i32 @zend_jit_packed_guard(ptr noundef %17, ptr noundef %1816, i32 noundef %2165, i32 noundef %.09603) - %.not11791 = icmp eq i32 %2166, 0 - br i1 %.not11791, label %zend_jit_stack_check.exit.thread, label %2167 + %.not11789 = icmp eq i32 %2166, 0 + br i1 %.not11789, label %zend_jit_stack_check.exit.thread, label %2167 2167: ; preds = %2162 %2168 = and i32 %.09603, -134217729 %2169 = load ptr, ptr %1987, align 8 - %2170 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %2169, i64 %indvars.iv13172 + %2170 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %2169, i64 %indvars.iv13169 store i32 %2168, ptr %2170, align 8 br label %2171 2171: ; preds = %2144, %2142, %2151, %2154, %2167 - %indvars.iv.next13173 = add nuw nsw i64 %indvars.iv13172, 1 - %exitcond.not = icmp eq i64 %indvars.iv.next13173, %wide.trip.count - br i1 %exitcond.not, label %._crit_edge12859, label %1995 + %indvars.iv.next13170 = add nuw nsw i64 %indvars.iv13169, 1 + %exitcond.not = icmp eq i64 %indvars.iv.next13170, %wide.trip.count + br i1 %exitcond.not, label %._crit_edge12856, label %1995 -._crit_edge12859: ; preds = %2171, %1986 +._crit_edge12856: ; preds = %2171, %1986 br i1 %.not10642, label %2186, label %2172 -2172: ; preds = %._crit_edge12859 +2172: ; preds = %._crit_edge12856 %2173 = load ptr, ptr @zend_jit_traces, align 8 %2174 = getelementptr inbounds nuw %struct._zend_jit_trace_info, ptr %2173, i64 %203 %2175 = getelementptr inbounds nuw i8, ptr %2174, i64 72 @@ -25059,52 +25059,52 @@ zend_jit_stack_check.exit: ; preds = %1952, %1960 call fastcc void @zend_jit_trace_deoptimization(ptr noundef %17, i32 noundef %2180, ptr noundef %2181, ptr noundef %.09605, i32 noundef %.09606, ptr noundef nonnull %40, ptr noundef nonnull %1800, ptr noundef %2183, i8 noundef signext %2185, i1 noundef zeroext %37) br label %2186 -2186: ; preds = %2172, %._crit_edge12859 +2186: ; preds = %2172, %._crit_edge12856 %.not10647 = icmp eq ptr %.09775, null - br i1 %.not10647, label %.loopexit12770, label %2187 + br i1 %.not10647, label %.loopexit12767, label %2187 2187: ; preds = %2186 %2188 = getelementptr inbounds nuw i8, ptr %0, i64 2 %2189 = load i8, ptr %2188, align 1 %2190 = add i8 %2189, -3 - %switch12005 = icmp ult i8 %2190, -2 + %switch12003 = icmp ult i8 %2190, -2 %2191 = icmp ne i32 %.09607, 0 - %or.cond13035 = and i1 %switch12005, %2191 - br i1 %or.cond13035, label %.lr.ph12861, label %.loopexit12770 + %or.cond13032 = and i1 %switch12003, %2191 + br i1 %or.cond13032, label %.lr.ph12858, label %.loopexit12767 -.lr.ph12861: ; preds = %2187 +.lr.ph12858: ; preds = %2187 %2192 = getelementptr inbounds nuw i8, ptr %40, i64 72 br label %2193 -2193: ; preds = %.lr.ph12861, %2273 - %.2965212860 = phi i32 [ 0, %.lr.ph12861 ], [ %2274, %2273 ] - %2194 = zext i32 %.2965212860 to i64 +2193: ; preds = %.lr.ph12858, %2273 + %.2965212857 = phi i32 [ 0, %.lr.ph12858 ], [ %2274, %2273 ] + %2194 = zext i32 %.2965212857 to i64 %2195 = getelementptr inbounds nuw %struct._zend_jit_reg_var, ptr %.09775, i64 %2194 %2196 = load i32, ptr %2195, align 4 - %.not11771 = icmp eq i32 %2196, 0 - br i1 %.not11771, label %2273, label %2197 + %.not11769 = icmp eq i32 %2196, 0 + br i1 %.not11769, label %2273, label %2197 2197: ; preds = %2193 %2198 = getelementptr inbounds nuw i8, ptr %2195, i64 4 %2199 = load i32, ptr %2198, align 4 %2200 = and i32 %2199, 1 - %.not11772 = icmp eq i32 %2200, 0 - br i1 %.not11772, label %2273, label %2201 + %.not11770 = icmp eq i32 %2200, 0 + br i1 %.not11770, label %2273, label %2201 2201: ; preds = %2197 %2202 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %1800, i64 %2194 %2203 = getelementptr inbounds nuw i8, ptr %2202, i64 4 %2204 = load i32, ptr %2203, align 4 - %.not11773 = icmp eq i32 %2196, %2204 - br i1 %.not11773, label %2273, label %2205 + %.not11771 = icmp eq i32 %2196, %2204 + br i1 %.not11771, label %2273, label %2205 2205: ; preds = %2201 %2206 = load ptr, ptr %2192, align 8 %2207 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %2206, i64 %2194 %2208 = load i32, ptr %2207, align 8 %2209 = and i32 %2208, 268435456 - %.not11774 = icmp eq i32 %2209, 0 - br i1 %.not11774, label %2249, label %2210 + %.not11772 = icmp eq i32 %2209, 0 + br i1 %.not11772, label %2249, label %2210 2210: ; preds = %2205 %2211 = and i32 %2208, -268435457 @@ -25140,11 +25140,11 @@ zend_jit_stack_check.exit: ; preds = %1952, %1960 %2239 = trunc i32 %2238 to i8 %2240 = and i8 %2239, 63 %2241 = add nsw i8 %2240, -1 - %2242 = shl i32 %.2965212860, 4 + %2242 = shl i32 %.2965212857, 4 %2243 = add i32 %2242, 80 %2244 = call fastcc i32 @zend_jit_type_guard(ptr noundef %17, ptr noundef %1816, i32 noundef %2243, i8 noundef zeroext %2241) - %.not11775 = icmp eq i32 %2244, 0 - br i1 %.not11775, label %zend_jit_stack_check.exit.thread, label %2245 + %.not11773 = icmp eq i32 %2244, 0 + br i1 %.not11773, label %zend_jit_stack_check.exit.thread, label %2245 2245: ; preds = %2210 store i8 %2241, ptr %2202, align 4 @@ -25166,7 +25166,7 @@ zend_jit_stack_check.exit: ; preds = %1952, %1960 %2253 = load ptr, ptr %2192, align 8 %2254 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %2253, i64 %2194 %2255 = load i32, ptr %2254, align 8 - %2256 = shl i32 %.2965212860, 4 + %2256 = shl i32 %.2965212857, 4 %2257 = add i32 %2256, 80 %2258 = zext i32 %2257 to i64 %2259 = shl nuw nsw i64 %2258, 8 @@ -25187,7 +25187,7 @@ zend_jit_stack_check.exit: ; preds = %1952, %1960 zend_jit_load_var.exit: ; preds = %2263, %2265 %.sink.i.i = phi i32 [ %2267, %2265 ], [ %2264, %2263 ] - %2268 = sext i32 %.2965212860 to i64 + %2268 = sext i32 %.2965212857 to i64 %2269 = shl nsw i64 %2268, 2 %2270 = or disjoint i64 %2269, 2 call fastcc void @zend_jit_def_reg(ptr noundef nonnull %17, i64 noundef %2270, i32 noundef %.sink.i.i) @@ -25195,72 +25195,72 @@ zend_jit_load_var.exit: ; preds = %2263, %2265 br label %.sink.split .sink.split: ; preds = %2249, %zend_jit_load_var.exit - %.sink13507 = phi i32 [ %2271, %zend_jit_load_var.exit ], [ -1, %2249 ] - store i32 %.sink13507, ptr %2203, align 4 + %.sink13504 = phi i32 [ %2271, %zend_jit_load_var.exit ], [ -1, %2249 ] + store i32 %.sink13504, ptr %2203, align 4 %2272 = getelementptr inbounds nuw i8, ptr %2202, i64 3 store i8 1, ptr %2272, align 1 br label %2273 2273: ; preds = %.sink.split, %2193, %2197, %2201 - %2274 = add nuw i32 %.2965212860, 1 - %exitcond13175.not = icmp eq i32 %2274, %.09607 - br i1 %exitcond13175.not, label %.loopexit12770, label %2193 + %2274 = add nuw i32 %.2965212857, 1 + %exitcond13172.not = icmp eq i32 %2274, %.09607 + br i1 %exitcond13172.not, label %.loopexit12767, label %2193 -.loopexit12770: ; preds = %2273, %2187, %2186, %1845 +.loopexit12767: ; preds = %2273, %2187, %2186, %1845 %.09613 = phi i32 [ %.19614, %2186 ], [ 0, %1845 ], [ %.19614, %2187 ], [ %.19614, %2273 ] %2275 = getelementptr inbounds nuw i8, ptr %0, i64 2 %2276 = load i8, ptr %2275, align 1 - %switch12006 = icmp ult i8 %2276, 3 - br i1 %switch12006, label %2277, label %.loopexit12767 + %switch12004 = icmp ult i8 %2276, 3 + br i1 %switch12004, label %2277, label %.loopexit12764 -2277: ; preds = %.loopexit12770 +2277: ; preds = %.loopexit12767 %2278 = call i32 @_ir_END(ptr noundef nonnull %17) #33 %2279 = call i32 @_ir_LOOP_BEGIN(ptr noundef nonnull %17, i32 noundef %2278) #33 %2280 = getelementptr inbounds nuw i8, ptr %17, i64 704 store i32 %2279, ptr %2280, align 8 %.not10650 = icmp eq ptr %.09775, null - br i1 %.not10650, label %.loopexit12767, label %2281 + br i1 %.not10650, label %.loopexit12764, label %2281 2281: ; preds = %2277 %2282 = getelementptr inbounds nuw i8, ptr %40, i64 48 %2283 = load ptr, ptr %2282, align 8 %2284 = getelementptr inbounds nuw i8, ptr %2283, i64 8 %invariant.gep = getelementptr i8, ptr %1773, i64 63 - %.0959212862 = load ptr, ptr %2284, align 8 - %.not1065112863 = icmp eq ptr %.0959212862, null - br i1 %.not1065112863, label %.loopexit12767, label %.lr.ph12866 + %.0959212859 = load ptr, ptr %2284, align 8 + %.not1065112860 = icmp eq ptr %.0959212859, null + br i1 %.not1065112860, label %.loopexit12764, label %.lr.ph12863 -.lr.ph12866: ; preds = %2281 +.lr.ph12863: ; preds = %2281 %2285 = getelementptr inbounds nuw i8, ptr %17, i64 776 br label %2286 -2286: ; preds = %.lr.ph12866, %2343 - %.0959212864 = phi ptr [ %.0959212862, %.lr.ph12866 ], [ %.09592, %2343 ] - %2287 = getelementptr inbounds nuw i8, ptr %.0959212864, i64 68 +2286: ; preds = %.lr.ph12863, %2343 + %.0959212861 = phi ptr [ %.0959212859, %.lr.ph12863 ], [ %.09592, %2343 ] + %2287 = getelementptr inbounds nuw i8, ptr %.0959212861, i64 68 %2288 = load i32, ptr %2287, align 4 %2289 = sext i32 %2288 to i64 %2290 = getelementptr inbounds %struct._zend_jit_reg_var, ptr %.09775, i64 %2289 %2291 = load i32, ptr %2290, align 4 - %.not11767 = icmp eq i32 %2291, 0 - br i1 %.not11767, label %2343, label %2292 + %.not11765 = icmp eq i32 %2291, 0 + br i1 %.not11765, label %2343, label %2292 2292: ; preds = %2286 %2293 = getelementptr inbounds nuw i8, ptr %2290, i64 4 %2294 = load i32, ptr %2293, align 4 %2295 = and i32 %2294, 1 - %.not11768 = icmp eq i32 %2295, 0 - br i1 %.not11768, label %2296, label %2343 + %.not11766 = icmp eq i32 %2295, 0 + br i1 %.not11766, label %2296, label %2343 2296: ; preds = %2292 - %2297 = getelementptr inbounds nuw i8, ptr %.0959212864, i64 96 + %2297 = getelementptr inbounds nuw i8, ptr %.0959212861, i64 96 %2298 = load ptr, ptr %2297, align 8 %2299 = load i32, ptr %2298, align 4 %2300 = load ptr, ptr %2285, align 8 %2301 = getelementptr inbounds %struct._zend_jit_reg_var, ptr %2300, i64 %2289, i32 1 %2302 = load i32, ptr %2301, align 4 %2303 = and i32 %2302, 1 - %.not.i12098 = icmp eq i32 %2303, 0 - call void @llvm.assume(i1 %.not.i12098) + %.not.i12095 = icmp eq i32 %2303, 0 + call void @llvm.assume(i1 %.not.i12095) %2304 = sext i32 %2299 to i64 %2305 = getelementptr inbounds %struct._zend_jit_reg_var, ptr %2300, i64 %2304 %2306 = load i32, ptr %2305, align 4 @@ -25300,12 +25300,12 @@ zend_jit_load_var.exit: ; preds = %2263, %2265 %2334 = sext i32 %2333 to i64 %2335 = getelementptr inbounds %struct._zend_jit_reg_var, ptr %.09775, i64 %2334 %2336 = load i32, ptr %2335, align 4 - %2337 = getelementptr inbounds nuw i8, ptr %.0959212864, i64 64 + %2337 = getelementptr inbounds nuw i8, ptr %.0959212861, i64 64 %2338 = load i32, ptr %2337, align 8 %2339 = sext i32 %2338 to i64 - %.idx11769 = shl nsw i64 %2339, 3 - %.offs11770 = or disjoint i64 %.idx11769, 4 - %2340 = getelementptr inbounds i8, ptr %1800, i64 %.offs11770 + %.idx11767 = shl nsw i64 %2339, 3 + %.offs11768 = or disjoint i64 %.idx11767, 4 + %2340 = getelementptr inbounds i8, ptr %1800, i64 %.offs11768 store i32 %2336, ptr %2340, align 4 %2341 = load i32, ptr %2337, align 8 %2342 = sext i32 %2341 to i64 @@ -25314,51 +25314,51 @@ zend_jit_load_var.exit: ; preds = %2263, %2265 br label %2343 2343: ; preds = %2296, %2292, %2286 - %.09592 = load ptr, ptr %.0959212864, align 8 + %.09592 = load ptr, ptr %.0959212861, align 8 %.not10651 = icmp eq ptr %.09592, null - br i1 %.not10651, label %._crit_edge12867, label %2286 - -._crit_edge12867: ; preds = %2343 - %.pre13217 = load ptr, ptr %2282, align 8 - %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %.pre13217, i64 8 - %.1959312884.pre = load ptr, ptr %.phi.trans.insert, align 8 - %invariant.gep12868 = getelementptr i8, ptr %1773, i64 61 - %invariant.gep12870 = getelementptr i8, ptr %1773, i64 62 - %.not1065212885 = icmp eq ptr %.1959312884.pre, null - br i1 %.not1065212885, label %.loopexit12767, label %.lr.ph12888 - -.lr.ph12888: ; preds = %._crit_edge12867 + br i1 %.not10651, label %._crit_edge12864, label %2286 + +._crit_edge12864: ; preds = %2343 + %.pre13214 = load ptr, ptr %2282, align 8 + %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %.pre13214, i64 8 + %.1959312881.pre = load ptr, ptr %.phi.trans.insert, align 8 + %invariant.gep12865 = getelementptr i8, ptr %1773, i64 61 + %invariant.gep12867 = getelementptr i8, ptr %1773, i64 62 + %.not1065212882 = icmp eq ptr %.1959312881.pre, null + br i1 %.not1065212882, label %.loopexit12764, label %.lr.ph12885 + +.lr.ph12885: ; preds = %._crit_edge12864 %2344 = getelementptr inbounds nuw i8, ptr %40, i64 72 %2345 = getelementptr inbounds nuw i8, ptr %40, i64 64 br label %2346 -2346: ; preds = %.lr.ph12888, %2469 - %.1959312886 = phi ptr [ %.1959312884.pre, %.lr.ph12888 ], [ %.19593, %2469 ] - %2347 = getelementptr inbounds nuw i8, ptr %.1959312886, i64 68 +2346: ; preds = %.lr.ph12885, %2469 + %.1959312883 = phi ptr [ %.1959312881.pre, %.lr.ph12885 ], [ %.19593, %2469 ] + %2347 = getelementptr inbounds nuw i8, ptr %.1959312883, i64 68 %2348 = load i32, ptr %2347, align 4 %2349 = sext i32 %2348 to i64 %2350 = getelementptr inbounds %struct._zend_jit_reg_var, ptr %.09775, i64 %2349 %2351 = load i32, ptr %2350, align 4 - %.not11754 = icmp eq i32 %2351, 0 - br i1 %.not11754, label %2469, label %2352 + %.not11752 = icmp eq i32 %2351, 0 + br i1 %.not11752, label %2469, label %2352 2352: ; preds = %2346 %2353 = getelementptr inbounds nuw i8, ptr %2350, i64 4 %2354 = load i32, ptr %2353, align 4 %2355 = and i32 %2354, 1 - %.not11755 = icmp eq i32 %2355, 0 - br i1 %.not11755, label %2438, label %2356 + %.not11753 = icmp eq i32 %2355, 0 + br i1 %.not11753, label %2438, label %2356 2356: ; preds = %2352 %2357 = load ptr, ptr %2344, align 8 %2358 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %2357, i64 %2349 %2359 = load i32, ptr %2358, align 8 %2360 = and i32 %2359, 268435456 - %.not11761 = icmp eq i32 %2360, 0 - br i1 %.not11761, label %2414, label %2361 + %.not11759 = icmp eq i32 %2360, 0 + br i1 %.not11759, label %2414, label %2361 2361: ; preds = %2356 - %2362 = getelementptr inbounds nuw i8, ptr %.1959312886, i64 64 + %2362 = getelementptr inbounds nuw i8, ptr %.1959312883, i64 64 %2363 = load i32, ptr %2362, align 8 %2364 = shl i32 %2363, 4 %2365 = add i32 %2364, 80 @@ -25391,8 +25391,8 @@ zend_jit_load_var.exit: ; preds = %2263, %2265 %2391 = and i8 %2390, 63 %2392 = add nsw i8 %2391, -1 %2393 = call fastcc i32 @zend_jit_type_guard(ptr noundef %17, ptr noundef %1816, i32 noundef %2365, i8 noundef zeroext %2392) - %.not11762 = icmp eq i32 %2393, 0 - br i1 %.not11762, label %zend_jit_stack_check.exit.thread, label %2394 + %.not11760 = icmp eq i32 %2393, 0 + br i1 %.not11760, label %zend_jit_stack_check.exit.thread, label %2394 2394: ; preds = %2361 %2395 = and i32 %2359, -268435457 @@ -25407,36 +25407,36 @@ zend_jit_load_var.exit: ; preds = %2263, %2265 store i8 %2392, ptr %2402, align 4 %2403 = load i32, ptr %2362, align 8 %2404 = sext i32 %2403 to i64 - %gep12869 = getelementptr %struct._zend_jit_trace_stack, ptr %invariant.gep12868, i64 %2404 - store i8 %2392, ptr %gep12869, align 1 + %gep12866 = getelementptr %struct._zend_jit_trace_stack, ptr %invariant.gep12865, i64 %2404 + store i8 %2392, ptr %gep12866, align 1 %2405 = load i32, ptr %2362, align 8 %2406 = sext i32 %2405 to i64 - %gep12871 = getelementptr %struct._zend_jit_trace_stack, ptr %invariant.gep12870, i64 %2406 - store i8 -1, ptr %gep12871, align 2 + %gep12868 = getelementptr %struct._zend_jit_trace_stack, ptr %invariant.gep12867, i64 %2406 + store i8 -1, ptr %gep12868, align 2 %2407 = load i32, ptr %2362, align 8 %2408 = sext i32 %2407 to i64 - %gep12873 = getelementptr %struct._zend_jit_trace_stack, ptr %invariant.gep, i64 %2408 - store i8 0, ptr %gep12873, align 1 + %gep12870 = getelementptr %struct._zend_jit_trace_stack, ptr %invariant.gep, i64 %2408 + store i8 0, ptr %gep12870, align 1 %2409 = load i32, ptr %2362, align 8 %2410 = sext i32 %2409 to i64 - %.idx11763 = shl nsw i64 %2410, 3 - %.offs11764 = or disjoint i64 %.idx11763, 4 - %2411 = getelementptr inbounds i8, ptr %1800, i64 %.offs11764 + %.idx11761 = shl nsw i64 %2410, 3 + %.offs11762 = or disjoint i64 %.idx11761, 4 + %2411 = getelementptr inbounds i8, ptr %1800, i64 %.offs11762 store i32 0, ptr %2411, align 4 %2412 = load i32, ptr %2362, align 8 %2413 = sext i32 %2412 to i64 - %gep12875 = getelementptr %struct._zend_jit_trace_stack, ptr %invariant.gep, i64 %2413 - store i8 0, ptr %gep12875, align 1 - %.pre13219 = load ptr, ptr %2344, align 8 - %.pre13220 = load i32, ptr %2347, align 4 - %.phi.trans.insert13221 = sext i32 %.pre13220 to i64 - %.phi.trans.insert13222 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %.pre13219, i64 %.phi.trans.insert13221 - %.pre13223 = load i32, ptr %.phi.trans.insert13222, align 8 + %gep12872 = getelementptr %struct._zend_jit_trace_stack, ptr %invariant.gep, i64 %2413 + store i8 0, ptr %gep12872, align 1 + %.pre13216 = load ptr, ptr %2344, align 8 + %.pre13217 = load i32, ptr %2347, align 4 + %.phi.trans.insert13218 = sext i32 %.pre13217 to i64 + %.phi.trans.insert13219 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %.pre13216, i64 %.phi.trans.insert13218 + %.pre13220 = load i32, ptr %.phi.trans.insert13219, align 8 br label %2414 2414: ; preds = %2394, %2356 - %.pre-phi = phi i64 [ %.phi.trans.insert13221, %2394 ], [ %2349, %2356 ] - %2415 = phi i32 [ %.pre13223, %2394 ], [ %2359, %2356 ] + %.pre-phi = phi i64 [ %.phi.trans.insert13218, %2394 ], [ %2349, %2356 ] + %2415 = phi i32 [ %.pre13220, %2394 ], [ %2359, %2356 ] %2416 = load ptr, ptr %2345, align 8 %2417 = getelementptr inbounds %struct._zend_ssa_var, ptr %2416, i64 %.pre-phi %2418 = load i32, ptr %2417, align 8 @@ -25451,30 +25451,30 @@ zend_jit_load_var.exit: ; preds = %2263, %2265 2426: ; preds = %2414 %2427 = call fastcc i32 @jit_Z_LVAL(ptr noundef nonnull %17, i64 noundef %2423) - br label %zend_jit_load_var.exit12100 + br label %zend_jit_load_var.exit12097 2428: ; preds = %2414 %2429 = icmp eq i32 %2424, 32 call void @llvm.assume(i1 %2429) %2430 = call fastcc i32 @jit_Z_DVAL(ptr noundef nonnull %17, i64 noundef %2423) - br label %zend_jit_load_var.exit12100 + br label %zend_jit_load_var.exit12097 -zend_jit_load_var.exit12100: ; preds = %2426, %2428 - %.sink.i.i12099 = phi i32 [ %2430, %2428 ], [ %2427, %2426 ] +zend_jit_load_var.exit12097: ; preds = %2426, %2428 + %.sink.i.i12096 = phi i32 [ %2430, %2428 ], [ %2427, %2426 ] %2431 = shl nsw i64 %.pre-phi, 2 %2432 = or disjoint i64 %2431, 2 - call fastcc void @zend_jit_def_reg(ptr noundef nonnull %17, i64 noundef %2432, i32 noundef %.sink.i.i12099) + call fastcc void @zend_jit_def_reg(ptr noundef nonnull %17, i64 noundef %2432, i32 noundef %.sink.i.i12096) %2433 = load i32, ptr %2347, align 4 %2434 = sext i32 %2433 to i64 %2435 = getelementptr inbounds %struct._zend_jit_reg_var, ptr %.09775, i64 %2434 %2436 = load i32, ptr %2435, align 4 - %2437 = getelementptr inbounds nuw i8, ptr %.1959312886, i64 64 - br label %.sink.split13508 + %2437 = getelementptr inbounds nuw i8, ptr %.1959312883, i64 64 + br label %.sink.split13505 2438: ; preds = %2352 %2439 = and i32 %2354, 2 - %.not11756 = icmp eq i32 %2439, 0 - br i1 %.not11756, label %2464, label %2440 + %.not11754 = icmp eq i32 %2439, 0 + br i1 %.not11754, label %2464, label %2440 2440: ; preds = %2438 %2441 = load ptr, ptr %2344, align 8 @@ -25483,11 +25483,11 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %2444 = load ptr, ptr %2345, align 8 %2445 = getelementptr inbounds %struct._zend_ssa_var, ptr %2444, i64 %2349 %2446 = load i32, ptr %2445, align 8 - %2447 = getelementptr inbounds nuw i8, ptr %.1959312886, i64 64 + %2447 = getelementptr inbounds nuw i8, ptr %.1959312883, i64 64 %2448 = load i32, ptr %2447, align 8 %2449 = sext i32 %2448 to i64 - %gep12879 = getelementptr %struct._zend_jit_trace_stack, ptr %invariant.gep12868, i64 %2449 - %2450 = load i8, ptr %gep12879, align 1 + %gep12876 = getelementptr %struct._zend_jit_trace_stack, ptr %invariant.gep12865, i64 %2449 + %2450 = load i8, ptr %gep12876, align 1 %2451 = zext i8 %2450 to i32 %2452 = icmp ne i32 %2443, %2451 %2453 = shl nsw i64 %2349, 2 @@ -25502,45 +25502,45 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %2461 = sext i32 %2460 to i64 %2462 = getelementptr inbounds %struct._zend_jit_reg_var, ptr %.09775, i64 %2461 %2463 = load i32, ptr %2462, align 4 - br label %.sink.split13508 + br label %.sink.split13505 2464: ; preds = %2438 - %2465 = getelementptr inbounds nuw i8, ptr %.1959312886, i64 64 - br label %.sink.split13508 - -.sink.split13508: ; preds = %2440, %2464, %zend_jit_load_var.exit12100 - %.sink13741.in = phi ptr [ %2447, %2440 ], [ %2465, %2464 ], [ %2437, %zend_jit_load_var.exit12100 ] - %.sink13738 = phi i32 [ %2463, %2440 ], [ %2351, %2464 ], [ %2436, %zend_jit_load_var.exit12100 ] - %.sink13509 = phi i8 [ 2, %2440 ], [ 0, %2464 ], [ 1, %zend_jit_load_var.exit12100 ] - %.sink13741 = load i32, ptr %.sink13741.in, align 8 - %2466 = sext i32 %.sink13741 to i64 - %.idx11759 = shl nsw i64 %2466, 3 - %.offs11760 = or disjoint i64 %.idx11759, 4 - %2467 = getelementptr inbounds i8, ptr %1800, i64 %.offs11760 - store i32 %.sink13738, ptr %2467, align 4 - %.sink13511 = load i32, ptr %.sink13741.in, align 8 - %2468 = sext i32 %.sink13511 to i64 - %gep12877 = getelementptr %struct._zend_jit_trace_stack, ptr %invariant.gep, i64 %2468 - store i8 %.sink13509, ptr %gep12877, align 1 + %2465 = getelementptr inbounds nuw i8, ptr %.1959312883, i64 64 + br label %.sink.split13505 + +.sink.split13505: ; preds = %2440, %2464, %zend_jit_load_var.exit12097 + %.sink13738.in = phi ptr [ %2447, %2440 ], [ %2465, %2464 ], [ %2437, %zend_jit_load_var.exit12097 ] + %.sink13735 = phi i32 [ %2463, %2440 ], [ %2351, %2464 ], [ %2436, %zend_jit_load_var.exit12097 ] + %.sink13506 = phi i8 [ 2, %2440 ], [ 0, %2464 ], [ 1, %zend_jit_load_var.exit12097 ] + %.sink13738 = load i32, ptr %.sink13738.in, align 8 + %2466 = sext i32 %.sink13738 to i64 + %.idx11757 = shl nsw i64 %2466, 3 + %.offs11758 = or disjoint i64 %.idx11757, 4 + %2467 = getelementptr inbounds i8, ptr %1800, i64 %.offs11758 + store i32 %.sink13735, ptr %2467, align 4 + %.sink13508 = load i32, ptr %.sink13738.in, align 8 + %2468 = sext i32 %.sink13508 to i64 + %gep12874 = getelementptr %struct._zend_jit_trace_stack, ptr %invariant.gep, i64 %2468 + store i8 %.sink13506, ptr %gep12874, align 1 br label %2469 -2469: ; preds = %.sink.split13508, %2346 - %.19593 = load ptr, ptr %.1959312886, align 8 +2469: ; preds = %.sink.split13505, %2346 + %.19593 = load ptr, ptr %.1959312883, align 8 %.not10652 = icmp eq ptr %.19593, null - br i1 %.not10652, label %.loopexit12767, label %2346 + br i1 %.not10652, label %.loopexit12764, label %2346 -.loopexit12767: ; preds = %2469, %2281, %._crit_edge12867, %.loopexit12770, %2277 +.loopexit12764: ; preds = %2469, %2281, %._crit_edge12864, %.loopexit12767, %2277 %2470 = load i8, ptr getelementptr inbounds nuw (i8, ptr @jit_globals, i64 3), align 1 %2471 = icmp ugt i8 %2470, 1 br i1 %2471, label %2472, label %2475 -2472: ; preds = %.loopexit12767 +2472: ; preds = %.loopexit12764 %2473 = getelementptr inbounds nuw i8, ptr %40, i64 56 %2474 = load ptr, ptr %2473, align 8 br label %2475 -2475: ; preds = %.loopexit12767, %2472 - %2476 = phi ptr [ %2474, %2472 ], [ null, %.loopexit12767 ] +2475: ; preds = %.loopexit12764, %2472 + %2476 = phi ptr [ %2474, %2472 ], [ null, %.loopexit12764 ] %2477 = getelementptr inbounds nuw i8, ptr %40, i64 72 %.not10695 = icmp eq ptr %.09775, null %2478 = getelementptr inbounds nuw i8, ptr %40, i64 64 @@ -25555,34 +25555,34 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %2487 = getelementptr inbounds nuw i8, ptr %9, i64 16 %2488 = getelementptr inbounds nuw i8, ptr %11, i64 8 %2489 = getelementptr inbounds nuw i8, ptr %11, i64 16 - %.not11593 = icmp ne ptr %.09775, null + %.not11591 = icmp ne ptr %.09775, null %2490 = getelementptr inbounds nuw i8, ptr %25, i64 8 br label %2491 -2491: ; preds = %.loopexit12751, %2475 - %.09771 = phi ptr [ %1772, %2475 ], [ %.19772, %.loopexit12751 ] - %.09768 = phi ptr [ %1823, %2475 ], [ %.19769, %.loopexit12751 ] - %.09759 = phi ptr [ %1817, %2475 ], [ %16953, %.loopexit12751 ] - %.09755 = phi ptr [ %1822, %2475 ], [ %.19756, %.loopexit12751 ] - %.09716 = phi i8 [ 0, %2475 ], [ %.89724, %.loopexit12751 ] - %.09667 = phi i8 [ 0, %2475 ], [ %.14, %.loopexit12751 ] - %.09663 = phi i8 [ %36, %2475 ], [ %.19664, %.loopexit12751 ] - %.09646 = phi ptr [ %1773, %2475 ], [ %.29648, %.loopexit12751 ] - %.09644 = phi ptr [ %1794, %2475 ], [ %.19645, %.loopexit12751 ] - %.09641 = phi ptr [ %1800, %2475 ], [ %.29643, %.loopexit12751 ] - %.09637 = phi i8 [ -1, %2475 ], [ %.39640, %.loopexit12751 ] - %.09629 = phi ptr [ %1816, %2475 ], [ %.10, %.loopexit12751 ] - %.09621 = phi ptr [ %2476, %2475 ], [ %.79628, %.loopexit12751 ] - %.09618 = phi i32 [ 0, %2475 ], [ %.29620, %.loopexit12751 ] - %.29615 = phi i32 [ %.09613, %2475 ], [ %.49617, %.loopexit12751 ] - %.09610 = phi i32 [ 0, %2475 ], [ %.29612, %.loopexit12751 ] +2491: ; preds = %.loopexit12748, %2475 + %.09771 = phi ptr [ %1772, %2475 ], [ %.19772, %.loopexit12748 ] + %.09768 = phi ptr [ %1823, %2475 ], [ %.19769, %.loopexit12748 ] + %.09759 = phi ptr [ %1817, %2475 ], [ %16952, %.loopexit12748 ] + %.09755 = phi ptr [ %1822, %2475 ], [ %.19756, %.loopexit12748 ] + %.09716 = phi i8 [ 0, %2475 ], [ %.89724, %.loopexit12748 ] + %.09667 = phi i8 [ 0, %2475 ], [ %.14, %.loopexit12748 ] + %.09663 = phi i8 [ %36, %2475 ], [ %.19664, %.loopexit12748 ] + %.09646 = phi ptr [ %1773, %2475 ], [ %.29648, %.loopexit12748 ] + %.09644 = phi ptr [ %1794, %2475 ], [ %.19645, %.loopexit12748 ] + %.09641 = phi ptr [ %1800, %2475 ], [ %.29643, %.loopexit12748 ] + %.09637 = phi i8 [ -1, %2475 ], [ %.39640, %.loopexit12748 ] + %.09629 = phi ptr [ %1816, %2475 ], [ %.10, %.loopexit12748 ] + %.09621 = phi ptr [ %2476, %2475 ], [ %.79628, %.loopexit12748 ] + %.09618 = phi i32 [ 0, %2475 ], [ %.29620, %.loopexit12748 ] + %.29615 = phi i32 [ %.09613, %2475 ], [ %.49617, %.loopexit12748 ] + %.09610 = phi i32 [ 0, %2475 ], [ %.29612, %.loopexit12748 ] %2492 = load i8, ptr %.09759, align 8 - switch i8 %2492, label %16943 [ + switch i8 %2492, label %16942 [ i8 0, label %2493 - i8 6, label %16239 - i8 7, label %16396 + i8 6, label %16238 + i8 7, label %16395 i8 8, label %.split.loop.exit - i8 4, label %16592 + i8 4, label %16591 ] 2493: ; preds = %2491 @@ -25603,8 +25603,8 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %.19588 = select i1 %.not10749, i8 -1, i8 %2504 %2505 = zext i8 %2497 to i32 %2506 = and i32 %2505, 96 - %.not10750 = icmp eq i32 %2506, 0 - %spec.store.select = select i1 %.not10750, i8 %2497, i8 -1 + %.not10750 = icmp ne i32 %2506, 0 + %spec.store.select = select i1 %.not10750, i8 -1, i8 %2497 %2507 = and i8 %2499, 96 %.not10751 = icmp eq i8 %2507, 0 %spec.store.select209 = select i1 %.not10751, i8 %2499, i8 -1 @@ -25616,12 +25616,12 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 2511: ; preds = %2493 %2512 = getelementptr inbounds nuw i8, ptr %.09759, i64 24 %2513 = load ptr, ptr %2512, align 8 - %.phi.trans.insert13237 = getelementptr inbounds nuw i8, ptr %.09759, i64 32 - %.pre13238 = load i8, ptr %.phi.trans.insert13237, align 8 + %.phi.trans.insert13234 = getelementptr inbounds nuw i8, ptr %.09759, i64 32 + %.pre13235 = load i8, ptr %.phi.trans.insert13234, align 8 br label %2514 2514: ; preds = %2511, %2493 - %2515 = phi i8 [ %.pre13238, %2511 ], [ %2509, %2493 ] + %2515 = phi i8 [ %.pre13235, %2511 ], [ %2509, %2493 ] %.19760 = phi ptr [ %2508, %2511 ], [ %.09759, %2493 ] %.09578 = phi ptr [ %2513, %2511 ], [ null, %2493 ] %2516 = icmp eq i8 %2515, 2 @@ -25631,12 +25631,12 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %2518 = getelementptr inbounds nuw i8, ptr %.19760, i64 16 %2519 = getelementptr inbounds nuw i8, ptr %.19760, i64 24 %2520 = load ptr, ptr %2519, align 8 - %.phi.trans.insert13239 = getelementptr inbounds nuw i8, ptr %.19760, i64 32 - %.pre13240 = load i8, ptr %.phi.trans.insert13239, align 8 + %.phi.trans.insert13236 = getelementptr inbounds nuw i8, ptr %.19760, i64 32 + %.pre13237 = load i8, ptr %.phi.trans.insert13236, align 8 br label %2521 2521: ; preds = %2517, %2514 - %2522 = phi i8 [ %.pre13240, %2517 ], [ %2515, %2514 ] + %2522 = phi i8 [ %.pre13237, %2517 ], [ %2515, %2514 ] %.29761 = phi ptr [ %2518, %2517 ], [ %.19760, %2514 ] %.09577 = phi ptr [ %2520, %2517 ], [ null, %2514 ] %2523 = icmp eq i8 %2522, 3 @@ -25674,11 +25674,11 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 2535: ; preds = %2531, %2528 %2536 = load i8, ptr getelementptr inbounds nuw (i8, ptr @jit_globals, i64 3), align 1 %2537 = icmp ugt i8 %2536, 1 - br i1 %2537, label %2538, label %thread-pre-split12605 + br i1 %2537, label %2538, label %thread-pre-split12602 2538: ; preds = %2535 %2539 = load i8, ptr %2529, align 4 - switch i8 %2539, label %14746 [ + switch i8 %2539, label %14745 [ i8 34, label %2547 i8 35, label %2547 i8 36, label %2547 @@ -25755,9 +25755,9 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 i8 82, label %12385 i8 91, label %12385 i8 85, label %12385 - i8 -88, label %.preheader12748 + i8 -88, label %.preheader12745 i8 63, label %12755 - i8 64, label %.preheader12749.preheader + i8 64, label %.preheader12746.preheader i8 70, label %12764 i8 127, label %12764 i8 -120, label %12810 @@ -25773,27 +25773,27 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 i8 99, label %13860 i8 112, label %13890 i8 -128, label %14173 - i8 119, label %14330 - i8 -91, label %14330 - i8 54, label %14338 - i8 55, label %14338 - i8 56, label %14338 - i8 -52, label %14478 - i8 -51, label %14479 - i8 -50, label %14523 - i8 -49, label %14612 + i8 119, label %14329 + i8 -91, label %14329 + i8 54, label %14337 + i8 55, label %14337 + i8 56, label %14337 + i8 -52, label %14477 + i8 -51, label %14478 + i8 -50, label %14522 + i8 -49, label %14611 ] -.preheader12749.preheader: ; preds = %2538 +.preheader12746.preheader: ; preds = %2538 %2540 = getelementptr inbounds nuw i8, ptr %2501, i64 60 %2541 = call zeroext i1 @zend_may_throw(ptr noundef nonnull %2501, ptr noundef %.09621, ptr noundef %.09771, ptr noundef nonnull %40) #33 %2542 = zext i1 %2541 to i32 call fastcc void @zend_jit_recv_init(ptr noundef %17, ptr noundef nonnull %2501, ptr noundef %.09771, i32 noundef %2542) %2543 = load i8, ptr %2540, align 4 %2544 = icmp eq i8 %2543, 64 - br i1 %2544, label %.preheader12749, label %thread-pre-split12618 + br i1 %2544, label %.preheader12746, label %thread-pre-split12615 -.preheader12748: ; preds = %2538 +.preheader12745: ; preds = %2538 %2545 = getelementptr inbounds nuw i8, ptr %.09771, i64 4 %2546 = getelementptr inbounds nuw i8, ptr %.09771, i64 176 br label %12689 @@ -25801,13 +25801,13 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 2547: ; preds = %2538, %2538, %2538, %2538 %2548 = getelementptr inbounds nuw i8, ptr %2501, i64 29 %2549 = load i8, ptr %2548, align 1 - %.not11631 = icmp eq i8 %2549, 8 - br i1 %.not11631, label %2550, label %thread-pre-split12605 + %.not11629 = icmp eq i8 %2549, 8 + br i1 %.not11629, label %2550, label %thread-pre-split12602 2550: ; preds = %2547 %2551 = load ptr, ptr %2477, align 8 - %.not11632 = icmp eq ptr %2551, null - br i1 %.not11632, label %.thread, label %2552 + %.not11630 = icmp eq ptr %2551, null + br i1 %.not11630, label %.thread, label %2552 2552: ; preds = %2550 %2553 = load i32, ptr %.09621, align 4 @@ -25825,16 +25825,16 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 store i32 %2558, ptr %20, align 4 %2559 = zext nneg i8 %.19588 to i32 %2560 = and i32 %2558, 268435456 - %.not11634 = icmp eq i32 %2560, 0 - %or.cond11795 = select i1 %.not10749, i1 true, i1 %.not11634 - br i1 %or.cond11795, label %2648, label %2561 + %.not11632 = icmp eq i32 %2560, 0 + %or.cond11793 = select i1 %.not10749, i1 true, i1 %.not11632 + br i1 %or.cond11793, label %2648, label %2561 2561: ; preds = %2555 %2562 = getelementptr inbounds nuw i8, ptr %2501, i64 8 %2563 = load i32, ptr %2562, align 8 %2564 = call fastcc i32 @zend_jit_type_guard(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %2563, i8 noundef zeroext %2504) - %.not11635 = icmp eq i32 %2564, 0 - br i1 %.not11635, label %zend_jit_stack_check.exit.thread, label %2565 + %.not11633 = icmp eq i32 %2564, 0 + br i1 %.not11633, label %zend_jit_stack_check.exit.thread, label %2565 2565: ; preds = %2561 %2566 = load ptr, ptr %2478, align 8 @@ -25843,13 +25843,13 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %2569 = getelementptr inbounds %struct._zend_ssa_var, ptr %2566, i64 %2568, i32 7 %2570 = load i8, ptr %2569, align 8 %2571 = and i8 %2570, 12 - %.not11636 = icmp eq i8 %2571, 0 + %.not11634 = icmp eq i8 %2571, 0 %2572 = load i32, ptr %2562, align 8 %2573 = lshr i32 %2572, 4 %2574 = add nsw i32 %2573, -5 %2575 = zext i32 %2574 to i64 %2576 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %2575 - br i1 %.not11636, label %2610, label %2577 + br i1 %.not11634, label %2610, label %2577 2577: ; preds = %2565 store i8 -1, ptr %2576, align 4 @@ -25889,10 +25889,10 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 store i8 0, ptr %2606, align 1 %2607 = shl nuw i32 1, %2559 %2608 = icmp ult i8 %2504, 6 - %.not11637 = icmp eq i8 %2504, 7 + %.not11635 = icmp eq i8 %2504, 7 %2609 = or i32 %2607, -1073741824 - %spec.select12007 = select i1 %.not11637, i32 -520095616, i32 %2609 - %.09885 = select i1 %2608, i32 %2607, i32 %spec.select12007 + %spec.select12005 = select i1 %.not11635, i32 -520095616, i32 %2609 + %.09885 = select i1 %2608, i32 %2607, i32 %spec.select12005 store i32 %.09885, ptr %20, align 4 br label %2648 @@ -25942,24 +25942,24 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %2646 = load i32, ptr %2645, align 8 %2647 = and i32 %2646, %2641 store i32 %2647, ptr %2645, align 8 - %.pre13282 = load i32, ptr %20, align 4 + %.pre13279 = load i32, ptr %20, align 4 br label %2648 2648: ; preds = %2555, %2577, %2610 - %2649 = phi i32 [ %2558, %2555 ], [ %.09885, %2577 ], [ %.pre13282, %2610 ] + %2649 = phi i32 [ %2558, %2555 ], [ %.09885, %2577 ], [ %.pre13279, %2610 ] %2650 = and i32 %2649, 16 - %.not11638 = icmp eq i32 %2650, 0 - br i1 %.not11638, label %thread-pre-split12605, label %2651 + %.not11636 = icmp eq i32 %2650, 0 + br i1 %.not11636, label %thread-pre-split12602, label %2651 2651: ; preds = %.thread, %2648 %2652 = phi i32 [ -486539265, %.thread ], [ %2649, %2648 ] %2653 = getelementptr inbounds nuw i8, ptr %2501, i64 31 %2654 = load i8, ptr %2653, align 1 - %.not11639 = icmp eq i8 %2654, 0 - br i1 %.not11639, label %._crit_edge13283, label %2655 + %.not11637 = icmp eq i8 %2654, 0 + br i1 %.not11637, label %._crit_edge13280, label %2655 -._crit_edge13283: ; preds = %2651 - %.pre13284 = load ptr, ptr %2477, align 8 +._crit_edge13280: ; preds = %2651 + %.pre13281 = load ptr, ptr %2477, align 8 br label %2705 2655: ; preds = %2651 @@ -25981,39 +25981,39 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 br i1 %2668, label %2671, label %2669 2669: ; preds = %2665 - %.not11640 = icmp eq i8 %2663, 7 + %.not11638 = icmp eq i8 %2663, 7 %2670 = or i32 %2667, -1073741824 - %spec.select12008 = select i1 %.not11640, i32 -520095616, i32 %2670 + %spec.select12006 = select i1 %.not11638, i32 -520095616, i32 %2670 br label %2671 2671: ; preds = %2669, %2665, %2655 - %.09883 = phi i32 [ -1, %2655 ], [ %2667, %2665 ], [ %spec.select12008, %2669 ] + %.09883 = phi i32 [ -1, %2655 ], [ %2667, %2665 ], [ %spec.select12006, %2669 ] %2672 = icmp eq i8 %2654, 8 %2673 = and i32 %.09883, 63 - %spec.select11796 = select i1 %2672, i32 %2673, i32 %.09883 + %spec.select11794 = select i1 %2672, i32 %2673, i32 %.09883 %2674 = load ptr, ptr %2477, align 8 - %.not11641 = icmp eq ptr %2674, null - br i1 %.not11641, label %.thread12197, label %2675 + %.not11639 = icmp eq ptr %2674, null + br i1 %.not11639, label %.thread12194, label %2675 2675: ; preds = %2671 %2676 = getelementptr inbounds nuw i8, ptr %.09621, i64 20 %2677 = load i32, ptr %2676, align 4 %2678 = icmp sgt i32 %2677, -1 - br i1 %2678, label %2679, label %.thread12197 + br i1 %2678, label %2679, label %.thread12194 2679: ; preds = %2675 %2680 = zext nneg i32 %2677 to i64 %2681 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %2674, i64 %2680 %2682 = load i32, ptr %2681, align 8 - br label %.thread12197 + br label %.thread12194 -.thread12197: ; preds = %2671, %2675, %2679 +.thread12194: ; preds = %2671, %2675, %2679 %.09445 = phi i32 [ %2682, %2679 ], [ -486539265, %2675 ], [ -486539265, %2671 ] %2683 = load ptr, ptr %2479, align 8 - %.not11642 = icmp eq ptr %2683, null - br i1 %.not11642, label %2695, label %2684 + %.not11640 = icmp eq ptr %2683, null + br i1 %.not11640, label %2695, label %2684 -2684: ; preds = %.thread12197 +2684: ; preds = %.thread12194 %2685 = getelementptr inbounds nuw i8, ptr %.09621, i64 20 %2686 = load i32, ptr %2685, align 4 %2687 = icmp sgt i32 %2686, -1 @@ -26023,15 +26023,15 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %2689 = zext nneg i32 %2686 to i64 %2690 = getelementptr inbounds nuw %struct._zend_jit_reg_var, ptr %2683, i64 %2689 %2691 = load i32, ptr %2690, align 4 - %.not11643 = icmp eq i32 %2691, 0 - br i1 %.not11643, label %2695, label %2692 + %.not11641 = icmp eq i32 %2691, 0 + br i1 %.not11641, label %2695, label %2692 2692: ; preds = %2688 %2693 = shl nuw nsw i64 %2689, 2 %2694 = or disjoint i64 %2693, 2 br label %2705 -2695: ; preds = %2688, %2684, %.thread12197 +2695: ; preds = %2688, %2684, %.thread12194 %2696 = icmp eq i8 %2654, 1 br i1 %2696, label %2697, label %2701 @@ -26047,43 +26047,43 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %2704 = or disjoint i64 %2703, 57 br label %2705 -2705: ; preds = %._crit_edge13283, %2692, %2701, %2697 - %2706 = phi ptr [ %2674, %2697 ], [ %2674, %2701 ], [ %2674, %2692 ], [ %.pre13284, %._crit_edge13283 ] - %.09735 = phi i32 [ %.09445, %2697 ], [ %.09445, %2701 ], [ %.09445, %2692 ], [ -1, %._crit_edge13283 ] - %.19730 = phi i32 [ %spec.select11796, %2697 ], [ %spec.select11796, %2701 ], [ %spec.select11796, %2692 ], [ -1, %._crit_edge13283 ] - %.09706 = phi i64 [ %2700, %2697 ], [ %2704, %2701 ], [ %2694, %2692 ], [ 0, %._crit_edge13283 ] - %.not11644 = icmp eq ptr %2706, null - br i1 %.not11644, label %.thread12202, label %2707 +2705: ; preds = %._crit_edge13280, %2692, %2701, %2697 + %2706 = phi ptr [ %2674, %2697 ], [ %2674, %2701 ], [ %2674, %2692 ], [ %.pre13281, %._crit_edge13280 ] + %.09735 = phi i32 [ %.09445, %2697 ], [ %.09445, %2701 ], [ %.09445, %2692 ], [ -1, %._crit_edge13280 ] + %.19730 = phi i32 [ %spec.select11794, %2697 ], [ %spec.select11794, %2701 ], [ %spec.select11794, %2692 ], [ -1, %._crit_edge13280 ] + %.09706 = phi i64 [ %2700, %2697 ], [ %2704, %2701 ], [ %2694, %2692 ], [ 0, %._crit_edge13280 ] + %.not11642 = icmp eq ptr %2706, null + br i1 %.not11642, label %.thread12199, label %2707 2707: ; preds = %2705 %2708 = getelementptr inbounds nuw i8, ptr %.09621, i64 12 %2709 = load i32, ptr %2708, align 4 %2710 = icmp sgt i32 %2709, -1 - br i1 %2710, label %2711, label %.thread12202 + br i1 %2710, label %2711, label %.thread12199 2711: ; preds = %2707 %2712 = zext nneg i32 %2709 to i64 %2713 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %2706, i64 %2712 %2714 = load i32, ptr %2713, align 8 %2715 = and i32 %2714, 268435456 - %.not11645 = icmp eq i32 %2715, 0 - br i1 %.not11645, label %.thread12202, label %2716 + %.not11643 = icmp eq i32 %2715, 0 + br i1 %.not11643, label %.thread12199, label %2716 2716: ; preds = %2711 %2717 = and i32 %2714, 1023 %2718 = call range(i32 0, 11) i32 @llvm.ctpop.i32(i32 %2717) %2719 = icmp eq i32 %2718, 1 %2720 = and i32 %2714, -268435457 - %spec.select11797 = select i1 %2719, i32 %2714, i32 %2720 - br label %.thread12202 + %spec.select11795 = select i1 %2719, i32 %2714, i32 %2720 + br label %.thread12199 -.thread12202: ; preds = %2705, %2707, %2716, %2711 - %.09737 = phi i32 [ %2714, %2711 ], [ %spec.select11797, %2716 ], [ -486539265, %2707 ], [ -486539265, %2705 ] +.thread12199: ; preds = %2705, %2707, %2716, %2711 + %.09737 = phi i32 [ %2714, %2711 ], [ %spec.select11795, %2716 ], [ -486539265, %2707 ], [ -486539265, %2705 ] %2721 = load ptr, ptr %2479, align 8 - %.not11647 = icmp eq ptr %2721, null - br i1 %.not11647, label %2731, label %2722 + %.not11645 = icmp eq ptr %2721, null + br i1 %.not11645, label %2731, label %2722 -2722: ; preds = %.thread12202 +2722: ; preds = %.thread12199 %2723 = load i32, ptr %.09621, align 4 %2724 = icmp sgt i32 %2723, -1 br i1 %2724, label %2725, label %2731 @@ -26092,15 +26092,15 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %2726 = zext nneg i32 %2723 to i64 %2727 = getelementptr inbounds nuw %struct._zend_jit_reg_var, ptr %2721, i64 %2726 %2728 = load i32, ptr %2727, align 4 - %.not11648 = icmp eq i32 %2728, 0 - br i1 %.not11648, label %2731, label %.thread12205 + %.not11646 = icmp eq i32 %2728, 0 + br i1 %.not11646, label %2731, label %.thread12202 -.thread12205: ; preds = %2725 +.thread12202: ; preds = %2725 %2729 = shl nuw nsw i64 %2726, 2 %2730 = or disjoint i64 %2729, 2 br label %2743 -2731: ; preds = %2725, %2722, %.thread12202 +2731: ; preds = %2725, %2722, %.thread12199 %2732 = load i8, ptr %2548, align 1 %2733 = icmp eq i8 %2732, 1 %2734 = getelementptr inbounds nuw i8, ptr %2501, i64 8 @@ -26112,10 +26112,10 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %2740 = shl nuw nsw i64 %2739, 8 %2741 = or disjoint i64 %2740, 57 %2742 = select i1 %2733, i64 %2738, i64 %2741 - br i1 %.not11647, label %2755, label %2743 + br i1 %.not11645, label %2755, label %2743 -2743: ; preds = %.thread12205, %2731 - %2744 = phi i64 [ %2730, %.thread12205 ], [ %2742, %2731 ] +2743: ; preds = %.thread12202, %2731 + %2744 = phi i64 [ %2730, %.thread12202 ], [ %2742, %2731 ] %2745 = getelementptr inbounds nuw i8, ptr %.09621, i64 12 %2746 = load i32, ptr %2745, align 4 %2747 = icmp sgt i32 %2746, -1 @@ -26125,8 +26125,8 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %2749 = zext nneg i32 %2746 to i64 %2750 = getelementptr inbounds nuw %struct._zend_jit_reg_var, ptr %2721, i64 %2749 %2751 = load i32, ptr %2750, align 4 - %.not11650 = icmp eq i32 %2751, 0 - br i1 %.not11650, label %2755, label %2752 + %.not11648 = icmp eq i32 %2751, 0 + br i1 %.not11648, label %2755, label %2752 2752: ; preds = %2748 %2753 = shl nuw nsw i64 %2749, 2 @@ -26157,8 +26157,8 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %2770 = phi i64 [ %2744, %2752 ], [ %2756, %2761 ], [ %2756, %2765 ] %2771 = phi i64 [ %2754, %2752 ], [ %2764, %2761 ], [ %2768, %2765 ] %2772 = and i32 %.09737, 268435488 - %.not11651 = icmp eq i32 %2772, 0 - br i1 %.not11651, label %2775, label %2773 + %.not11649 = icmp eq i32 %2772, 0 + br i1 %.not11649, label %2775, label %2773 2773: ; preds = %2769 %2774 = call fastcc i32 @zend_may_overflow(ptr noundef nonnull %2501, ptr noundef %.09621, ptr noundef %.09771, ptr noundef %40) @@ -26178,8 +26178,8 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 2780: ; preds = %2775 %2781 = load i32, ptr %20, align 4 %2782 = and i32 %2781, 64 - %.not11652 = icmp eq i32 %2782, 0 - br i1 %.not11652, label %2783, label %2811 + %.not11650 = icmp eq i32 %2782, 0 + br i1 %.not11650, label %2783, label %2811 2783: ; preds = %2780 %2784 = load ptr, ptr %2477, align 8 @@ -26191,14 +26191,14 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %2790 = and i32 %2789, -268435457 store i32 %2790, ptr %2788, align 8 %2791 = load i8, ptr %2653, align 1 - %.not11653 = icmp eq i8 %2791, 0 - br i1 %.not11653, label %2811, label %.sink.split13512 + %.not11651 = icmp eq i8 %2791, 0 + br i1 %.not11651, label %2811, label %.sink.split13509 2792: ; preds = %2775 %2793 = load i32, ptr %20, align 4 %2794 = and i32 %2793, 64 - %.not11654 = icmp eq i32 %2794, 0 - br i1 %.not11654, label %2795, label %2811 + %.not11652 = icmp eq i32 %2794, 0 + br i1 %.not11652, label %2795, label %2811 2795: ; preds = %2792 %2796 = load ptr, ptr %2477, align 8 @@ -26210,10 +26210,10 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %2802 = and i32 %2801, -268435457 store i32 %2802, ptr %2800, align 8 %2803 = load i8, ptr %2653, align 1 - %.not11655 = icmp eq i8 %2803, 0 - br i1 %.not11655, label %2811, label %.sink.split13512 + %.not11653 = icmp eq i8 %2803, 0 + br i1 %.not11653, label %2811, label %.sink.split13509 -.sink.split13512: ; preds = %2795, %2783 +.sink.split13509: ; preds = %2795, %2783 %2804 = load ptr, ptr %2477, align 8 %2805 = getelementptr inbounds nuw i8, ptr %.09621, i64 20 %2806 = load i32, ptr %2805, align 4 @@ -26224,19 +26224,19 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 store i32 %2810, ptr %2808, align 8 br label %2811 -2811: ; preds = %.sink.split13512, %2780, %2775, %2792, %2795, %2783 +2811: ; preds = %.sink.split13509, %2780, %2775, %2792, %2795, %2783 %2812 = load i8, ptr %2653, align 1 - %.not11656 = icmp ne i8 %2812, 0 + %.not11654 = icmp ne i8 %2812, 0 %2813 = and i32 %.09735, 268436478 %2814 = icmp eq i32 %2813, 268435472 - %or.cond11799 = select i1 %.not11656, i1 %2814, i1 false - br i1 %or.cond11799, label %2815, label %2826 + %or.cond11797 = select i1 %.not11654, i1 %2814, i1 false + br i1 %or.cond11797, label %2815, label %2826 2815: ; preds = %2811 %2816 = load i32, ptr %20, align 4 %2817 = and i32 %2816, 64 - %.not11657 = icmp eq i32 %2817, 0 - br i1 %.not11657, label %2818, label %thread-pre-split12618 + %.not11655 = icmp eq i32 %2817, 0 + br i1 %.not11655, label %2818, label %thread-pre-split12615 2818: ; preds = %2815 %2819 = load ptr, ptr %2477, align 8 @@ -26247,12 +26247,12 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %2824 = load i32, ptr %2823, align 8 %2825 = and i32 %2824, -268435457 store i32 %2825, ptr %2823, align 8 - br label %thread-pre-split12618 + br label %thread-pre-split12615 2826: ; preds = %2811 %2827 = icmp eq i32 %2813, 268435488 - %or.cond11801 = select i1 %.not11656, i1 %2827, i1 false - br i1 %or.cond11801, label %2828, label %thread-pre-split12618 + %or.cond11799 = select i1 %.not11654, i1 %2827, i1 false + br i1 %or.cond11799, label %2828, label %thread-pre-split12615 2828: ; preds = %2826 %2829 = load ptr, ptr %2477, align 8 @@ -26263,7 +26263,7 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %2834 = load i32, ptr %2833, align 8 %2835 = and i32 %2834, -268435457 store i32 %2835, ptr %2833, align 8 - br label %thread-pre-split12618 + br label %thread-pre-split12615 2836: ; preds = %2538, %2538, %2538, %2538, %2538, %2538 %2837 = getelementptr inbounds nuw i8, ptr %2501, i64 29 @@ -26275,8 +26275,8 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %2841 = getelementptr inbounds nuw i8, ptr %.09771, i64 4 %2842 = load i32, ptr %2841, align 4 %2843 = and i32 %2842, 33554432 - %.not11601 = icmp eq i32 %2843, 0 - br i1 %.not11601, label %2849, label %2844 + %.not11599 = icmp eq i32 %2843, 0 + br i1 %.not11599, label %2849, label %2844 2844: ; preds = %2840 %2845 = getelementptr inbounds nuw i8, ptr %2501, i64 8 @@ -26299,7 +26299,7 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %2858 = getelementptr inbounds nuw i8, ptr %2857, i64 8 %2859 = load i8, ptr %2858, align 8 switch i8 %2859, label %2862 [ - i8 11, label %.thread12211 + i8 11, label %.thread12208 i8 7, label %2860 ] @@ -26312,8 +26312,8 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %2864 = shl nuw i32 1, %2863 %2865 = getelementptr inbounds nuw i8, ptr %2857, i64 9 %2866 = load i8, ptr %2865, align 1 - %.not11602 = icmp eq i8 %2866, 0 - br i1 %.not11602, label %2869, label %2867 + %.not11600 = icmp eq i8 %2866, 0 + br i1 %.not11600, label %2869, label %2867 2867: ; preds = %2862 %2868 = or i32 %2864, -1073741824 @@ -26321,18 +26321,18 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 2869: ; preds = %2862 %2870 = icmp eq i8 %2859, 6 - %spec.select11802 = select i1 %2870, i32 -2147483584, i32 %2864 + %spec.select11800 = select i1 %2870, i32 -2147483584, i32 %2864 br label %2880 2871: ; preds = %2836 %2872 = load ptr, ptr %2477, align 8 - %.not11600 = icmp eq ptr %2872, null - br i1 %.not11600, label %.thread12211, label %2873 + %.not11598 = icmp eq ptr %2872, null + br i1 %.not11598, label %.thread12208, label %2873 2873: ; preds = %2871 %2874 = load i32, ptr %.09621, align 4 %2875 = icmp sgt i32 %2874, -1 - br i1 %2875, label %2876, label %.thread12211 + br i1 %2875, label %2876, label %.thread12208 2876: ; preds = %2873 %2877 = zext nneg i32 %2874 to i64 @@ -26340,26 +26340,26 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %2879 = load i32, ptr %2878, align 8 br label %2880 -.thread12211: ; preds = %2856, %2873, %2871 +.thread12208: ; preds = %2856, %2873, %2871 %.09921.ph = phi i32 [ -486539265, %2873 ], [ -521143298, %2856 ], [ -486539265, %2871 ] store i32 %.09921.ph, ptr %20, align 4 br label %2970 2880: ; preds = %2869, %2876, %2860, %2867 - %.09921 = phi i32 [ %2861, %2860 ], [ %2868, %2867 ], [ %spec.select11802, %2869 ], [ %2879, %2876 ] + %.09921 = phi i32 [ %2861, %2860 ], [ %2868, %2867 ], [ %spec.select11800, %2869 ], [ %2879, %2876 ] store i32 %.09921, ptr %20, align 4 %2881 = zext nneg i8 %.19588 to i32 %2882 = and i32 %.09921, 268435456 - %.not11604 = icmp eq i32 %2882, 0 - %or.cond11803 = select i1 %.not10749, i1 true, i1 %.not11604 - br i1 %or.cond11803, label %2970, label %2883 + %.not11602 = icmp eq i32 %2882, 0 + %or.cond11801 = select i1 %.not10749, i1 true, i1 %.not11602 + br i1 %or.cond11801, label %2970, label %2883 2883: ; preds = %2880 %2884 = getelementptr inbounds nuw i8, ptr %2501, i64 8 %2885 = load i32, ptr %2884, align 8 %2886 = call fastcc i32 @zend_jit_type_guard(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %2885, i8 noundef zeroext %2504) - %.not11605 = icmp eq i32 %2886, 0 - br i1 %.not11605, label %zend_jit_stack_check.exit.thread, label %2887 + %.not11603 = icmp eq i32 %2886, 0 + br i1 %.not11603, label %zend_jit_stack_check.exit.thread, label %2887 2887: ; preds = %2883 %2888 = load ptr, ptr %2478, align 8 @@ -26368,13 +26368,13 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %2891 = getelementptr inbounds %struct._zend_ssa_var, ptr %2888, i64 %2890, i32 7 %2892 = load i8, ptr %2891, align 8 %2893 = and i8 %2892, 12 - %.not11606 = icmp eq i8 %2893, 0 + %.not11604 = icmp eq i8 %2893, 0 %2894 = load i32, ptr %2884, align 8 %2895 = lshr i32 %2894, 4 %2896 = add nsw i32 %2895, -5 %2897 = zext i32 %2896 to i64 %2898 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %2897 - br i1 %.not11606, label %2932, label %2899 + br i1 %.not11604, label %2932, label %2899 2899: ; preds = %2887 store i8 -1, ptr %2898, align 4 @@ -26414,10 +26414,10 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 store i8 0, ptr %2928, align 1 %2929 = shl nuw i32 1, %2881 %2930 = icmp ult i8 %2504, 6 - %.not11607 = icmp eq i8 %2504, 7 + %.not11605 = icmp eq i8 %2504, 7 %2931 = or i32 %2929, -1073741824 - %spec.select12009 = select i1 %.not11607, i32 -520095616, i32 %2931 - %.09882 = select i1 %2930, i32 %2929, i32 %spec.select12009 + %spec.select12007 = select i1 %.not11605, i32 -520095616, i32 %2931 + %.09882 = select i1 %2930, i32 %2929, i32 %spec.select12007 store i32 %.09882, ptr %20, align 4 br label %2970 @@ -26469,7 +26469,7 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 store i32 %2969, ptr %2967, align 8 br label %2970 -2970: ; preds = %.thread12211, %2880, %2899, %2932 +2970: ; preds = %.thread12208, %2880, %2899, %2932 %2971 = getelementptr inbounds nuw i8, ptr %2501, i64 30 %2972 = load i8, ptr %2971, align 2 %2973 = icmp eq i8 %2972, 1 @@ -26479,8 +26479,8 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %2975 = getelementptr inbounds nuw i8, ptr %.09771, i64 4 %2976 = load i32, ptr %2975, align 4 %2977 = and i32 %2976, 33554432 - %.not11609 = icmp eq i32 %2977, 0 - br i1 %.not11609, label %2983, label %2978 + %.not11607 = icmp eq i32 %2977, 0 + br i1 %.not11607, label %2983, label %2978 2978: ; preds = %2974 %2979 = getelementptr inbounds nuw i8, ptr %2501, i64 12 @@ -26503,7 +26503,7 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %2992 = getelementptr inbounds nuw i8, ptr %2991, i64 8 %2993 = load i8, ptr %2992, align 8 switch i8 %2993, label %2996 [ - i8 11, label %.thread12218 + i8 11, label %.thread12215 i8 7, label %2994 ] @@ -26516,8 +26516,8 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %2998 = shl nuw i32 1, %2997 %2999 = getelementptr inbounds nuw i8, ptr %2991, i64 9 %3000 = load i8, ptr %2999, align 1 - %.not11610 = icmp eq i8 %3000, 0 - br i1 %.not11610, label %3003, label %3001 + %.not11608 = icmp eq i8 %3000, 0 + br i1 %.not11608, label %3003, label %3001 3001: ; preds = %2996 %3002 = or i32 %2998, -1073741824 @@ -26525,19 +26525,19 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 3003: ; preds = %2996 %3004 = icmp eq i8 %2993, 6 - %spec.select11804 = select i1 %3004, i32 -2147483584, i32 %2998 + %spec.select11802 = select i1 %3004, i32 -2147483584, i32 %2998 br label %3015 3005: ; preds = %2970 %3006 = load ptr, ptr %2477, align 8 - %.not11608 = icmp eq ptr %3006, null - br i1 %.not11608, label %.thread12218, label %3007 + %.not11606 = icmp eq ptr %3006, null + br i1 %.not11606, label %.thread12215, label %3007 3007: ; preds = %3005 %3008 = getelementptr inbounds nuw i8, ptr %.09621, i64 4 %3009 = load i32, ptr %3008, align 4 %3010 = icmp sgt i32 %3009, -1 - br i1 %3010, label %3011, label %.thread12218 + br i1 %3010, label %3011, label %.thread12215 3011: ; preds = %3007 %3012 = zext nneg i32 %3009 to i64 @@ -26545,27 +26545,27 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %3014 = load i32, ptr %3013, align 8 br label %3015 -.thread12218: ; preds = %2990, %3007, %3005 +.thread12215: ; preds = %2990, %3007, %3005 %.09897.ph = phi i32 [ -486539265, %3007 ], [ -521143298, %2990 ], [ -486539265, %3005 ] store i32 %.09897.ph, ptr %21, align 4 br label %3106 3015: ; preds = %3003, %3011, %2994, %3001 - %.09897 = phi i32 [ %2995, %2994 ], [ %3002, %3001 ], [ %spec.select11804, %3003 ], [ %3014, %3011 ] + %.09897 = phi i32 [ %2995, %2994 ], [ %3002, %3001 ], [ %spec.select11802, %3003 ], [ %3014, %3011 ] store i32 %.09897, ptr %21, align 4 %3016 = zext nneg i8 %spec.store.select to i32 - %.not11611 = icmp eq i8 %spec.store.select, -1 + %.not11609 = icmp eq i8 %spec.store.select, -1 %3017 = and i32 %.09897, 268435456 - %.not11612 = icmp eq i32 %3017, 0 - %or.cond11805 = select i1 %.not11611, i1 true, i1 %.not11612 - br i1 %or.cond11805, label %3106, label %3018 + %.not11610 = icmp eq i32 %3017, 0 + %or.cond11803 = select i1 %.not11609, i1 true, i1 %.not11610 + br i1 %or.cond11803, label %3106, label %3018 3018: ; preds = %3015 %3019 = getelementptr inbounds nuw i8, ptr %2501, i64 12 %3020 = load i32, ptr %3019, align 4 %3021 = call fastcc i32 @zend_jit_type_guard(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %3020, i8 noundef zeroext %spec.store.select) - %.not11613 = icmp eq i32 %3021, 0 - br i1 %.not11613, label %zend_jit_stack_check.exit.thread, label %3022 + %.not11611 = icmp eq i32 %3021, 0 + br i1 %.not11611, label %zend_jit_stack_check.exit.thread, label %3022 3022: ; preds = %3018 %3023 = load ptr, ptr %2478, align 8 @@ -26575,13 +26575,13 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %3027 = getelementptr inbounds %struct._zend_ssa_var, ptr %3023, i64 %3026, i32 7 %3028 = load i8, ptr %3027, align 8 %3029 = and i8 %3028, 12 - %.not11614 = icmp eq i8 %3029, 0 + %.not11612 = icmp eq i8 %3029, 0 %3030 = load i32, ptr %3019, align 4 %3031 = lshr i32 %3030, 4 %3032 = add nsw i32 %3031, -5 %3033 = zext i32 %3032 to i64 %3034 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %3033 - br i1 %.not11614, label %3068, label %3035 + br i1 %.not11612, label %3068, label %3035 3035: ; preds = %3022 store i8 -1, ptr %3034, align 4 @@ -26621,10 +26621,10 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 store i8 0, ptr %3064, align 1 %3065 = shl nuw i32 1, %3016 %3066 = icmp ult i8 %spec.store.select, 6 - %.not11615 = icmp eq i8 %spec.store.select, 7 + %.not11613 = icmp eq i8 %spec.store.select, 7 %3067 = or i32 %3065, -1073741824 - %spec.select12010 = select i1 %.not11615, i32 -520095616, i32 %3067 - %.09881 = select i1 %3066, i32 %3065, i32 %spec.select12010 + %spec.select12008 = select i1 %.not11613, i32 -520095616, i32 %3067 + %.09881 = select i1 %3066, i32 %3065, i32 %spec.select12008 store i32 %.09881, ptr %21, align 4 br label %3106 @@ -26676,22 +26676,22 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 store i32 %3105, ptr %3103, align 8 br label %3106 -3106: ; preds = %.thread12218, %3015, %3035, %3068 +3106: ; preds = %.thread12215, %3015, %3035, %3068 %3107 = load i32, ptr %20, align 4 %3108 = and i32 %3107, 16 - %.not11616 = icmp eq i32 %3108, 0 - br i1 %.not11616, label %thread-pre-split12605, label %3109 + %.not11614 = icmp eq i32 %3108, 0 + br i1 %.not11614, label %thread-pre-split12602, label %3109 3109: ; preds = %3106 %3110 = load i32, ptr %21, align 4 %3111 = and i32 %3110, 16 - %.not11617 = icmp eq i32 %3111, 0 - br i1 %.not11617, label %thread-pre-split12605, label %3112 + %.not11615 = icmp eq i32 %3111, 0 + br i1 %.not11615, label %thread-pre-split12602, label %3112 3112: ; preds = %3109 %3113 = load ptr, ptr %2479, align 8 - %.not11618 = icmp eq ptr %3113, null - br i1 %.not11618, label %3125, label %3114 + %.not11616 = icmp eq ptr %3113, null + br i1 %.not11616, label %3125, label %3114 3114: ; preds = %3112 %3115 = getelementptr inbounds nuw i8, ptr %.09621, i64 20 @@ -26703,8 +26703,8 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %3119 = zext nneg i32 %3116 to i64 %3120 = getelementptr inbounds nuw %struct._zend_jit_reg_var, ptr %3113, i64 %3119 %3121 = load i32, ptr %3120, align 4 - %.not11619 = icmp eq i32 %3121, 0 - br i1 %.not11619, label %3125, label %3122 + %.not11617 = icmp eq i32 %3121, 0 + br i1 %.not11617, label %3125, label %3122 3122: ; preds = %3118 %3123 = shl nuw nsw i64 %3119, 2 @@ -26734,8 +26734,8 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 3139: ; preds = %3131, %3135, %3122 %3140 = phi i64 [ %3124, %3122 ], [ %3134, %3131 ], [ %3138, %3135 ] %3141 = and i64 %3140, 3 - %.not11620 = icmp eq i64 %3141, 2 - br i1 %.not11620, label %3150, label %3142 + %.not11618 = icmp eq i64 %3141, 2 + br i1 %.not11618, label %3150, label %3142 3142: ; preds = %3139 %3143 = call fastcc zeroext i1 @zend_jit_trace_next_is_send_result(ptr noundef nonnull %2501, ptr noundef %.39762, ptr noundef %.09646) @@ -26769,27 +26769,27 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 br i1 %3163, label %3166, label %3164 3164: ; preds = %3160 - %.not11621 = icmp eq i8 %3158, 7 + %.not11619 = icmp eq i8 %3158, 7 %3165 = or i32 %3162, -1073741824 - %spec.select12011 = select i1 %.not11621, i32 -520095616, i32 %3165 + %spec.select12009 = select i1 %.not11619, i32 -520095616, i32 %3165 br label %3166 3166: ; preds = %3164, %3160, %3150 - %.09880 = phi i32 [ -1, %3150 ], [ %3162, %3160 ], [ %spec.select12011, %3164 ] + %.09880 = phi i32 [ -1, %3150 ], [ %3162, %3160 ], [ %spec.select12009, %3164 ] %3167 = getelementptr inbounds nuw i8, ptr %2501, i64 31 %3168 = load i8, ptr %3167, align 1 %3169 = icmp eq i8 %3168, 8 %3170 = and i32 %.09880, 63 - %spec.select11806 = select i1 %3169, i32 %3170, i32 %.09880 + %spec.select11804 = select i1 %3169, i32 %3170, i32 %.09880 br label %3171 3171: ; preds = %3166, %3144 - %.29731 = phi i32 [ -1, %3144 ], [ %spec.select11806, %3166 ] + %.29731 = phi i32 [ -1, %3144 ], [ %spec.select11804, %3166 ] %.29718 = phi i8 [ 1, %3144 ], [ %.09716, %3166 ] %.19707 = phi i64 [ %3149, %3144 ], [ %3140, %3166 ] %3172 = load ptr, ptr %2477, align 8 - %.not11622 = icmp eq ptr %3172, null - br i1 %.not11622, label %.thread12225, label %3173 + %.not11620 = icmp eq ptr %3172, null + br i1 %.not11620, label %.thread12222, label %3173 3173: ; preds = %3171 %3174 = getelementptr inbounds nuw i8, ptr %.09621, i64 20 @@ -26808,18 +26808,18 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %3182 = load i32, ptr %20, align 4 %3183 = load i8, ptr %2837, align 1 %3184 = and i8 %3183, 14 - %.not11623 = icmp eq i8 %3184, 0 - br i1 %.not11623, label %.thread12230, label %3187 + %.not11621 = icmp eq i8 %3184, 0 + br i1 %.not11621, label %.thread12227, label %3187 -.thread12225: ; preds = %3171 +.thread12222: ; preds = %3171 %3185 = load i32, ptr %20, align 4 %3186 = load i8, ptr %2837, align 1 - br label %.thread12230 + br label %.thread12227 3187: ; preds = %3181 %3188 = load i32, ptr %.09621, align 4 %3189 = icmp sgt i32 %3188, -1 - br i1 %3189, label %3190, label %.thread12230 + br i1 %3189, label %3190, label %.thread12227 3190: ; preds = %3187 %3191 = zext nneg i32 %3188 to i64 @@ -26828,19 +26828,19 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %3194 = load i8, ptr %3193, align 4 %3195 = trunc i8 %3194 to i1 %3196 = getelementptr inbounds nuw i8, ptr %3192, i64 8 - %spec.select11807 = select i1 %3195, ptr %3196, ptr null - br label %.thread12230 - -.thread12230: ; preds = %.thread12225, %3190, %3181, %3187 - %3197 = phi i8 [ %3183, %3187 ], [ %3183, %3181 ], [ %3183, %3190 ], [ %3186, %.thread12225 ] - %3198 = phi i32 [ %3182, %3187 ], [ %3182, %3181 ], [ %3182, %3190 ], [ %3185, %.thread12225 ] - %.0944412229 = phi i32 [ %.09444, %3187 ], [ %.09444, %3181 ], [ %.09444, %3190 ], [ -486539265, %.thread12225 ] - %3199 = phi ptr [ null, %3187 ], [ null, %3181 ], [ %spec.select11807, %3190 ], [ null, %.thread12225 ] + %spec.select11805 = select i1 %3195, ptr %3196, ptr null + br label %.thread12227 + +.thread12227: ; preds = %.thread12222, %3190, %3181, %3187 + %3197 = phi i8 [ %3183, %3187 ], [ %3183, %3181 ], [ %3183, %3190 ], [ %3186, %.thread12222 ] + %3198 = phi i32 [ %3182, %3187 ], [ %3182, %3181 ], [ %3182, %3190 ], [ %3185, %.thread12222 ] + %.0944412226 = phi i32 [ %.09444, %3187 ], [ %.09444, %3181 ], [ %.09444, %3190 ], [ -486539265, %.thread12222 ] + %3199 = phi ptr [ null, %3187 ], [ null, %3181 ], [ %spec.select11805, %3190 ], [ null, %.thread12222 ] %3200 = load ptr, ptr %2479, align 8 - %.not11625 = icmp eq ptr %3200, null - br i1 %.not11625, label %3211, label %3201 + %.not11623 = icmp eq ptr %3200, null + br i1 %.not11623, label %3211, label %3201 -3201: ; preds = %.thread12230 +3201: ; preds = %.thread12227 %3202 = load i32, ptr %.09621, align 4 %3203 = icmp sgt i32 %3202, -1 br i1 %3203, label %3204, label %3211 @@ -26849,15 +26849,15 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %3205 = zext nneg i32 %3202 to i64 %3206 = getelementptr inbounds nuw %struct._zend_jit_reg_var, ptr %3200, i64 %3205 %3207 = load i32, ptr %3206, align 4 - %.not11626 = icmp eq i32 %3207, 0 - br i1 %.not11626, label %3211, label %3208 + %.not11624 = icmp eq i32 %3207, 0 + br i1 %.not11624, label %3211, label %3208 3208: ; preds = %3204 %3209 = shl nuw nsw i64 %3205, 2 %3210 = or disjoint i64 %3209, 2 br label %3223 -3211: ; preds = %3204, %3201, %.thread12230 +3211: ; preds = %3204, %3201, %.thread12227 %3212 = icmp eq i8 %3197, 1 %3213 = getelementptr inbounds nuw i8, ptr %2501, i64 8 %3214 = load i32, ptr %3213, align 8 @@ -26879,9 +26879,9 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %3224 = phi i64 [ %3210, %3208 ], [ %3218, %3215 ], [ %3222, %3219 ] %3225 = load i8, ptr %2971, align 2 %3226 = and i8 %3225, 14 - %.not11627 = icmp eq i8 %3226, 0 - %brmerge12677 = or i1 %.not11622, %.not11627 - br i1 %brmerge12677, label %3238, label %3227 + %.not11625 = icmp eq i8 %3226, 0 + %brmerge12674 = or i1 %.not11620, %.not11625 + br i1 %brmerge12674, label %3238, label %3227 3227: ; preds = %3223 %3228 = getelementptr inbounds nuw i8, ptr %.09621, i64 4 @@ -26896,12 +26896,12 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %3235 = load i8, ptr %3234, align 4 %3236 = trunc i8 %3235 to i1 %3237 = getelementptr inbounds nuw i8, ptr %3233, i64 8 - %spec.select11808 = select i1 %3236, ptr %3237, ptr null + %spec.select11806 = select i1 %3236, ptr %3237, ptr null br label %3238 3238: ; preds = %3223, %3231, %3227 - %3239 = phi ptr [ null, %3227 ], [ null, %3223 ], [ %spec.select11808, %3231 ] - br i1 %.not11625, label %3251, label %3240 + %3239 = phi ptr [ null, %3227 ], [ null, %3223 ], [ %spec.select11806, %3231 ] + br i1 %.not11623, label %3251, label %3240 3240: ; preds = %3238 %3241 = getelementptr inbounds nuw i8, ptr %.09621, i64 4 @@ -26913,8 +26913,8 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %3245 = zext nneg i32 %3242 to i64 %3246 = getelementptr inbounds nuw %struct._zend_jit_reg_var, ptr %3200, i64 %3245 %3247 = load i32, ptr %3246, align 4 - %.not11630 = icmp eq i32 %3247, 0 - br i1 %.not11630, label %3251, label %3248 + %.not11628 = icmp eq i32 %3247, 0 + br i1 %.not11628, label %3251, label %3248 3248: ; preds = %3244 %3249 = shl nuw nsw i64 %3245, 2 @@ -26943,8 +26943,8 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %3264 = phi i64 [ %3250, %3248 ], [ %3258, %3255 ], [ %3262, %3259 ] %3265 = call zeroext i1 @zend_may_throw(ptr noundef nonnull %2501, ptr noundef %.09621, ptr noundef %.09771, ptr noundef nonnull %40) #33 %3266 = zext i1 %3265 to i32 - call fastcc void @zend_jit_long_math(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %3198, ptr noundef %3199, i64 noundef %3224, i32 noundef %3110, ptr noundef %3239, i64 noundef %3264, i32 noundef %.29731, i32 noundef %.0944412229, i64 noundef %.19707, i32 noundef %3266) - br label %thread-pre-split12618 + call fastcc void @zend_jit_long_math(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %3198, ptr noundef %3199, i64 noundef %3224, i32 noundef %3110, ptr noundef %3239, i64 noundef %3264, i32 noundef %.29731, i32 noundef %.0944412226, i64 noundef %.19707, i32 noundef %3266) + br label %thread-pre-split12615 3267: ; preds = %2538, %2538, %2538 %3268 = getelementptr inbounds nuw i8, ptr %2501, i64 29 @@ -26956,8 +26956,8 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %3272 = getelementptr inbounds nuw i8, ptr %.09771, i64 4 %3273 = load i32, ptr %3272, align 4 %3274 = and i32 %3273, 33554432 - %.not11554 = icmp eq i32 %3274, 0 - br i1 %.not11554, label %3280, label %3275 + %.not11552 = icmp eq i32 %3274, 0 + br i1 %.not11552, label %3280, label %3275 3275: ; preds = %3271 %3276 = getelementptr inbounds nuw i8, ptr %2501, i64 8 @@ -26980,55 +26980,55 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %3289 = getelementptr inbounds nuw i8, ptr %3288, i64 8 %3290 = load i8, ptr %3289, align 8 switch i8 %3290, label %3293 [ - i8 11, label %.thread12232 + i8 11, label %.thread12229 i8 7, label %3291 ] 3291: ; preds = %3287 %3292 = call i32 @zend_array_type_info(ptr noundef nonnull %3288) #33 - br label %.thread12232 + br label %.thread12229 3293: ; preds = %3287 %3294 = zext nneg i8 %3290 to i32 %3295 = shl nuw i32 1, %3294 %3296 = getelementptr inbounds nuw i8, ptr %3288, i64 9 %3297 = load i8, ptr %3296, align 1 - %.not11555 = icmp eq i8 %3297, 0 - br i1 %.not11555, label %3300, label %3298 + %.not11553 = icmp eq i8 %3297, 0 + br i1 %.not11553, label %3300, label %3298 3298: ; preds = %3293 %3299 = or i32 %3295, -1073741824 - br label %.thread12232 + br label %.thread12229 3300: ; preds = %3293 %3301 = icmp eq i8 %3290, 6 - %spec.select11809 = select i1 %3301, i32 -2147483584, i32 %3295 - br label %.thread12232 + %spec.select11807 = select i1 %3301, i32 -2147483584, i32 %3295 + br label %.thread12229 3302: ; preds = %3267 %3303 = load ptr, ptr %2477, align 8 - %.not11553 = icmp eq ptr %3303, null - br i1 %.not11553, label %.thread12232, label %3304 + %.not11551 = icmp eq ptr %3303, null + br i1 %.not11551, label %.thread12229, label %3304 3304: ; preds = %3302 %3305 = load i32, ptr %.09621, align 4 %3306 = icmp sgt i32 %3305, -1 - br i1 %3306, label %3307, label %.thread12232 + br i1 %3306, label %3307, label %.thread12229 3307: ; preds = %3304 %3308 = zext nneg i32 %3305 to i64 %3309 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %3303, i64 %3308 %3310 = load i32, ptr %3309, align 8 - br label %.thread12232 + br label %.thread12229 -.thread12232: ; preds = %3302, %3300, %3307, %3304, %3291, %3287, %3298 - %.09922 = phi i32 [ %3292, %3291 ], [ -521143298, %3287 ], [ %3299, %3298 ], [ %spec.select11809, %3300 ], [ %3310, %3307 ], [ -486539265, %3304 ], [ -486539265, %3302 ] +.thread12229: ; preds = %3302, %3300, %3307, %3304, %3291, %3287, %3298 + %.09922 = phi i32 [ %3292, %3291 ], [ -521143298, %3287 ], [ %3299, %3298 ], [ %spec.select11807, %3300 ], [ %3310, %3307 ], [ -486539265, %3304 ], [ -486539265, %3302 ] store i32 %.09922, ptr %20, align 4 %3311 = load ptr, ptr %2479, align 8 - %.not11556 = icmp eq ptr %3311, null - br i1 %.not11556, label %3322, label %3312 + %.not11554 = icmp eq ptr %3311, null + br i1 %.not11554, label %3322, label %3312 -3312: ; preds = %.thread12232 +3312: ; preds = %.thread12229 %3313 = load i32, ptr %.09621, align 4 %3314 = icmp sgt i32 %3313, -1 br i1 %3314, label %3315, label %3322 @@ -27037,15 +27037,15 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %3316 = zext nneg i32 %3313 to i64 %3317 = getelementptr inbounds nuw %struct._zend_jit_reg_var, ptr %3311, i64 %3316 %3318 = load i32, ptr %3317, align 4 - %.not11557 = icmp eq i32 %3318, 0 - br i1 %.not11557, label %3322, label %3319 + %.not11555 = icmp eq i32 %3318, 0 + br i1 %.not11555, label %3322, label %3319 3319: ; preds = %3315 %3320 = shl nuw nsw i64 %3316, 2 %3321 = or disjoint i64 %3320, 2 br label %3335 -3322: ; preds = %3315, %3312, %.thread12232 +3322: ; preds = %3315, %3312, %.thread12229 %3323 = load i8, ptr %3268, align 1 %3324 = icmp eq i8 %3323, 1 %3325 = getelementptr inbounds nuw i8, ptr %2501, i64 8 @@ -27076,8 +27076,8 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %3341 = getelementptr inbounds nuw i8, ptr %.09771, i64 4 %3342 = load i32, ptr %3341, align 4 %3343 = and i32 %3342, 33554432 - %.not11559 = icmp eq i32 %3343, 0 - br i1 %.not11559, label %3349, label %3344 + %.not11557 = icmp eq i32 %3343, 0 + br i1 %.not11557, label %3349, label %3344 3344: ; preds = %3340 %3345 = getelementptr inbounds nuw i8, ptr %2501, i64 12 @@ -27100,57 +27100,57 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %3358 = getelementptr inbounds nuw i8, ptr %3357, i64 8 %3359 = load i8, ptr %3358, align 8 switch i8 %3359, label %3362 [ - i8 11, label %.thread12234 + i8 11, label %.thread12231 i8 7, label %3360 ] 3360: ; preds = %3356 %3361 = call i32 @zend_array_type_info(ptr noundef nonnull %3357) #33 - %.pre13279 = load ptr, ptr %2479, align 8 - br label %.thread12234 + %.pre13276 = load ptr, ptr %2479, align 8 + br label %.thread12231 3362: ; preds = %3356 %3363 = zext nneg i8 %3359 to i32 %3364 = shl nuw i32 1, %3363 %3365 = getelementptr inbounds nuw i8, ptr %3357, i64 9 %3366 = load i8, ptr %3365, align 1 - %.not11560 = icmp eq i8 %3366, 0 - br i1 %.not11560, label %3369, label %3367 + %.not11558 = icmp eq i8 %3366, 0 + br i1 %.not11558, label %3369, label %3367 3367: ; preds = %3362 %3368 = or i32 %3364, -1073741824 - br label %.thread12234 + br label %.thread12231 3369: ; preds = %3362 %3370 = icmp eq i8 %3359, 6 - %spec.select11810 = select i1 %3370, i32 -2147483584, i32 %3364 - br label %.thread12234 + %spec.select11808 = select i1 %3370, i32 -2147483584, i32 %3364 + br label %.thread12231 3371: ; preds = %3335 %3372 = load ptr, ptr %2477, align 8 - %.not11558 = icmp eq ptr %3372, null - br i1 %.not11558, label %.thread12234, label %3373 + %.not11556 = icmp eq ptr %3372, null + br i1 %.not11556, label %.thread12231, label %3373 3373: ; preds = %3371 %3374 = getelementptr inbounds nuw i8, ptr %.09621, i64 4 %3375 = load i32, ptr %3374, align 4 %3376 = icmp sgt i32 %3375, -1 - br i1 %3376, label %3377, label %.thread12234 + br i1 %3376, label %3377, label %.thread12231 3377: ; preds = %3373 %3378 = zext nneg i32 %3375 to i64 %3379 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %3372, i64 %3378 %3380 = load i32, ptr %3379, align 8 - br label %.thread12234 + br label %.thread12231 -.thread12234: ; preds = %3371, %3369, %3377, %3373, %3360, %3356, %3367 - %3381 = phi ptr [ %.pre13279, %3360 ], [ %3311, %3356 ], [ %3311, %3367 ], [ %3311, %3369 ], [ %3311, %3377 ], [ %3311, %3373 ], [ %3311, %3371 ] - %.09898 = phi i32 [ %3361, %3360 ], [ -521143298, %3356 ], [ %3368, %3367 ], [ %spec.select11810, %3369 ], [ %3380, %3377 ], [ -486539265, %3373 ], [ -486539265, %3371 ] +.thread12231: ; preds = %3371, %3369, %3377, %3373, %3360, %3356, %3367 + %3381 = phi ptr [ %.pre13276, %3360 ], [ %3311, %3356 ], [ %3311, %3367 ], [ %3311, %3369 ], [ %3311, %3377 ], [ %3311, %3373 ], [ %3311, %3371 ] + %.09898 = phi i32 [ %3361, %3360 ], [ -521143298, %3356 ], [ %3368, %3367 ], [ %spec.select11808, %3369 ], [ %3380, %3377 ], [ -486539265, %3373 ], [ -486539265, %3371 ] store i32 %.09898, ptr %21, align 4 - %.not11561 = icmp eq ptr %3381, null - br i1 %.not11561, label %3393, label %3382 + %.not11559 = icmp eq ptr %3381, null + br i1 %.not11559, label %3393, label %3382 -3382: ; preds = %.thread12234 +3382: ; preds = %.thread12231 %3383 = getelementptr inbounds nuw i8, ptr %.09621, i64 4 %3384 = load i32, ptr %3383, align 4 %3385 = icmp sgt i32 %3384, -1 @@ -27160,15 +27160,15 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %3387 = zext nneg i32 %3384 to i64 %3388 = getelementptr inbounds nuw %struct._zend_jit_reg_var, ptr %3381, i64 %3387 %3389 = load i32, ptr %3388, align 4 - %.not11562 = icmp eq i32 %3389, 0 - br i1 %.not11562, label %3393, label %3390 + %.not11560 = icmp eq i32 %3389, 0 + br i1 %.not11560, label %3393, label %3390 3390: ; preds = %3386 %3391 = shl nuw nsw i64 %3387, 2 %3392 = or disjoint i64 %3391, 2 br label %3406 -3393: ; preds = %3386, %3382, %.thread12234 +3393: ; preds = %3386, %3382, %.thread12231 %3394 = load i8, ptr %3337, align 2 %3395 = icmp eq i8 %3394, 1 %3396 = getelementptr inbounds nuw i8, ptr %2501, i64 12 @@ -27192,37 +27192,37 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 store i64 %3407, ptr %23, align 8 %3408 = load i32, ptr %20, align 4 %3409 = and i32 %3408, 1 - %.not11563 = icmp eq i32 %3409, 0 + %.not11561 = icmp eq i32 %3409, 0 %3410 = and i32 %.09898, 1 - %.not11564 = icmp eq i32 %3410, 0 - %or.cond12678 = select i1 %.not11563, i1 %.not11564, i1 false - br i1 %or.cond12678, label %3411, label %thread-pre-split12605 + %.not11562 = icmp eq i32 %3410, 0 + %or.cond12675 = select i1 %.not11561, i1 %.not11562, i1 false + br i1 %or.cond12675, label %3411, label %thread-pre-split12602 3411: ; preds = %3406 %3412 = load i8, ptr %2529, align 4 %3413 = icmp eq i8 %3412, 1 %3414 = and i32 %3408, 1022 %3415 = icmp eq i32 %3414, 128 - %or.cond11812 = and i1 %3415, %3413 + %or.cond11810 = and i1 %3415, %3413 %3416 = and i32 %.09898, 1022 %3417 = icmp eq i32 %3416, 128 - %or.cond11814 = and i1 %3417, %or.cond11812 - br i1 %or.cond11814, label %3421, label %3418 + %or.cond11812 = and i1 %3417, %or.cond11810 + br i1 %or.cond11812, label %3421, label %3418 3418: ; preds = %3411 %3419 = and i32 %3408, 48 - %.not11565 = icmp eq i32 %3419, 0 + %.not11563 = icmp eq i32 %3419, 0 %3420 = and i32 %.09898, 48 - %.not11566 = icmp eq i32 %3420, 0 - %or.cond12679 = select i1 %.not11565, i1 true, i1 %.not11566 - br i1 %or.cond12679, label %thread-pre-split12605, label %3421 + %.not11564 = icmp eq i32 %3420, 0 + %or.cond12676 = select i1 %.not11563, i1 true, i1 %.not11564 + br i1 %or.cond12676, label %thread-pre-split12602, label %3421 3421: ; preds = %3418, %3411 - %.not11567 = icmp ne i8 %2495, -1 + %.not11565 = icmp ne i8 %2495, -1 %3422 = and i32 %2502, 32 - %.not11568 = icmp ne i32 %3422, 0 - %or.cond11815.not12715 = select i1 %.not11567, i1 %.not11568, i1 false - br i1 %or.cond11815.not12715, label %3423, label %3450 + %.not11566 = icmp ne i32 %3422, 0 + %or.cond11813.not12712 = select i1 %.not11565, i1 %.not11566, i1 false + br i1 %or.cond11813.not12712, label %3423, label %3450 3423: ; preds = %3421 %3424 = load i8, ptr %3268, align 1 @@ -27232,9 +27232,9 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 3426: ; preds = %3423 %3427 = icmp eq i8 %2497, -1 %3428 = and i32 %2505, 32 - %.not11569 = icmp eq i32 %3428, 0 - %or.cond11816 = select i1 %3427, i1 true, i1 %.not11569 - br i1 %or.cond11816, label %3429, label %3450 + %.not11567 = icmp eq i32 %3428, 0 + %or.cond11814 = select i1 %3427, i1 true, i1 %.not11567 + br i1 %or.cond11814, label %3429, label %3450 3429: ; preds = %3426 %3430 = load ptr, ptr %2477, align 8 @@ -27243,8 +27243,8 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %3433 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %3430, i64 %3432, i32 1 %3434 = load i8, ptr %3433, align 4 %3435 = and i8 %3434, 64 - %.not11575 = icmp eq i8 %3435, 0 - %3436 = call fastcc zeroext i1 @zend_jit_fetch_reference(ptr noundef %17, ptr noundef nonnull %2501, i8 noundef zeroext %2495, ptr noundef %20, ptr noundef %22, i1 noundef zeroext %.not11575) + %.not11573 = icmp eq i8 %3435, 0 + %3436 = call fastcc zeroext i1 @zend_jit_fetch_reference(ptr noundef %17, ptr noundef nonnull %2501, i8 noundef zeroext %2495, ptr noundef %20, ptr noundef %22, i1 noundef zeroext %.not11573) br i1 %3436, label %3437, label %zend_jit_stack_check.exit.thread 3437: ; preds = %3429 @@ -27268,16 +27268,16 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 3450: ; preds = %3426, %3421, %3423 %3451 = zext nneg i8 %.19588 to i32 %3452 = and i32 %3408, 268435456 - %.not11571 = icmp eq i32 %3452, 0 - %or.cond12680 = or i1 %.not10749, %.not11571 - br i1 %or.cond12680, label %3540, label %3453 + %.not11569 = icmp eq i32 %3452, 0 + %or.cond12677 = or i1 %.not10749, %.not11569 + br i1 %or.cond12677, label %3540, label %3453 3453: ; preds = %3450 %3454 = getelementptr inbounds nuw i8, ptr %2501, i64 8 %3455 = load i32, ptr %3454, align 8 %3456 = call fastcc i32 @zend_jit_type_guard(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %3455, i8 noundef zeroext %2504) - %.not11572 = icmp eq i32 %3456, 0 - br i1 %.not11572, label %zend_jit_stack_check.exit.thread, label %3457 + %.not11570 = icmp eq i32 %3456, 0 + br i1 %.not11570, label %zend_jit_stack_check.exit.thread, label %3457 3457: ; preds = %3453 %3458 = load ptr, ptr %2478, align 8 @@ -27286,13 +27286,13 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %3461 = getelementptr inbounds %struct._zend_ssa_var, ptr %3458, i64 %3460, i32 7 %3462 = load i8, ptr %3461, align 8 %3463 = and i8 %3462, 12 - %.not11573 = icmp eq i8 %3463, 0 + %.not11571 = icmp eq i8 %3463, 0 %3464 = load i32, ptr %3454, align 8 %3465 = lshr i32 %3464, 4 %3466 = add nsw i32 %3465, -5 %3467 = zext i32 %3466 to i64 %3468 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %3467 - br i1 %.not11573, label %3502, label %3469 + br i1 %.not11571, label %3502, label %3469 3469: ; preds = %3457 store i8 -1, ptr %3468, align 4 @@ -27332,10 +27332,10 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 store i8 0, ptr %3498, align 1 %3499 = shl nuw i32 1, %3451 %3500 = icmp ult i8 %2504, 6 - %.not11574 = icmp eq i8 %2504, 7 + %.not11572 = icmp eq i8 %2504, 7 %3501 = or i32 %3499, -1073741824 - %spec.select12012 = select i1 %.not11574, i32 -520095616, i32 %3501 - %.09878 = select i1 %3500, i32 %3499, i32 %spec.select12012 + %spec.select12010 = select i1 %.not11572, i32 -520095616, i32 %3501 + %.09878 = select i1 %3500, i32 %3499, i32 %spec.select12010 store i32 %.09878, ptr %20, align 4 br label %3540 @@ -27388,17 +27388,17 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 br label %3540 3540: ; preds = %3502, %3469, %3450, %3437, %3445 - %.not11576 = icmp eq i8 %2497, -1 + %.not11574 = icmp eq i8 %2497, -1 %3541 = and i32 %2505, 32 - %.not11577 = icmp eq i32 %3541, 0 - %or.cond11817 = select i1 %.not11576, i1 true, i1 %.not11577 - br i1 %or.cond11817, label %3567, label %3542 + %.not11575 = icmp eq i32 %3541, 0 + %or.cond11815 = select i1 %.not11574, i1 true, i1 %.not11575 + br i1 %or.cond11815, label %3567, label %3542 3542: ; preds = %3540 %3543 = load i8, ptr %3337, align 2 %3544 = icmp ne i8 %3543, 8 - %brmerge12682 = or i1 %or.cond11815.not12715, %3544 - br i1 %brmerge12682, label %3567, label %3545 + %brmerge12679 = or i1 %or.cond11813.not12712, %3544 + br i1 %brmerge12679, label %3567, label %3545 3545: ; preds = %3542 %3546 = load ptr, ptr %2477, align 8 @@ -27408,8 +27408,8 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %3550 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %3546, i64 %3549, i32 1 %3551 = load i8, ptr %3550, align 4 %3552 = and i8 %3551, 64 - %.not11584 = icmp eq i8 %3552, 0 - %3553 = call fastcc zeroext i1 @zend_jit_fetch_reference(ptr noundef %17, ptr noundef nonnull %2501, i8 noundef zeroext %2497, ptr noundef %21, ptr noundef %23, i1 noundef zeroext %.not11584) + %.not11582 = icmp eq i8 %3552, 0 + %3553 = call fastcc zeroext i1 @zend_jit_fetch_reference(ptr noundef %17, ptr noundef nonnull %2501, i8 noundef zeroext %2497, ptr noundef %21, ptr noundef %23, i1 noundef zeroext %.not11582) br i1 %3553, label %3554, label %zend_jit_stack_check.exit.thread 3554: ; preds = %3545 @@ -27432,21 +27432,21 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 3567: ; preds = %3542, %3540 %3568 = zext nneg i8 %spec.store.select to i32 - %.not11579 = icmp eq i8 %spec.store.select, -1 - br i1 %.not11579, label %3660, label %3569 + %.not11577 = icmp eq i8 %spec.store.select, -1 + br i1 %.not11577, label %3660, label %3569 3569: ; preds = %3567 %3570 = load i32, ptr %21, align 4 %3571 = and i32 %3570, 268435456 - %.not11580 = icmp eq i32 %3571, 0 - br i1 %.not11580, label %3660, label %3572 + %.not11578 = icmp eq i32 %3571, 0 + br i1 %.not11578, label %3660, label %3572 3572: ; preds = %3569 %3573 = getelementptr inbounds nuw i8, ptr %2501, i64 12 %3574 = load i32, ptr %3573, align 4 %3575 = call fastcc i32 @zend_jit_type_guard(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %3574, i8 noundef zeroext %spec.store.select) - %.not11581 = icmp eq i32 %3575, 0 - br i1 %.not11581, label %zend_jit_stack_check.exit.thread, label %3576 + %.not11579 = icmp eq i32 %3575, 0 + br i1 %.not11579, label %zend_jit_stack_check.exit.thread, label %3576 3576: ; preds = %3572 %3577 = load ptr, ptr %2478, align 8 @@ -27456,13 +27456,13 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %3581 = getelementptr inbounds %struct._zend_ssa_var, ptr %3577, i64 %3580, i32 7 %3582 = load i8, ptr %3581, align 8 %3583 = and i8 %3582, 12 - %.not11582 = icmp eq i8 %3583, 0 + %.not11580 = icmp eq i8 %3583, 0 %3584 = load i32, ptr %3573, align 4 %3585 = lshr i32 %3584, 4 %3586 = add nsw i32 %3585, -5 %3587 = zext i32 %3586 to i64 %3588 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %3587 - br i1 %.not11582, label %3622, label %3589 + br i1 %.not11580, label %3622, label %3589 3589: ; preds = %3576 store i8 -1, ptr %3588, align 4 @@ -27502,10 +27502,10 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 store i8 0, ptr %3618, align 1 %3619 = shl nuw i32 1, %3568 %3620 = icmp ult i8 %spec.store.select, 6 - %.not11583 = icmp eq i8 %spec.store.select, 7 + %.not11581 = icmp eq i8 %spec.store.select, 7 %3621 = or i32 %3619, -1073741824 - %spec.select12013 = select i1 %.not11583, i32 -520095616, i32 %3621 - %.09877 = select i1 %3620, i32 %3619, i32 %spec.select12013 + %spec.select12011 = select i1 %.not11581, i32 -520095616, i32 %3621 + %.09877 = select i1 %3620, i32 %3619, i32 %spec.select12011 store i32 %.09877, ptr %21, align 4 br label %3660 @@ -27559,8 +27559,8 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 3660: ; preds = %3569, %3622, %3589, %3567, %3554, %3562 %3661 = load ptr, ptr %2479, align 8 - %.not11585 = icmp eq ptr %3661, null - br i1 %.not11585, label %3673, label %3662 + %.not11583 = icmp eq ptr %3661, null + br i1 %.not11583, label %3673, label %3662 3662: ; preds = %3660 %3663 = getelementptr inbounds nuw i8, ptr %.09621, i64 20 @@ -27572,8 +27572,8 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %3667 = zext nneg i32 %3664 to i64 %3668 = getelementptr inbounds nuw %struct._zend_jit_reg_var, ptr %3661, i64 %3667 %3669 = load i32, ptr %3668, align 4 - %.not11586 = icmp eq i32 %3669, 0 - br i1 %.not11586, label %3673, label %3670 + %.not11584 = icmp eq i32 %3669, 0 + br i1 %.not11584, label %3673, label %3670 3670: ; preds = %3666 %3671 = shl nuw nsw i64 %3667, 2 @@ -27603,8 +27603,8 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 3687: ; preds = %3679, %3683, %3670 %3688 = phi i64 [ %3672, %3670 ], [ %3682, %3679 ], [ %3686, %3683 ] %3689 = and i64 %3688, 3 - %.not11587 = icmp eq i64 %3689, 2 - br i1 %.not11587, label %3698, label %3690 + %.not11585 = icmp eq i64 %3689, 2 + br i1 %.not11585, label %3698, label %3690 3690: ; preds = %3687 %3691 = call fastcc zeroext i1 @zend_jit_trace_next_is_send_result(ptr noundef nonnull %2501, ptr noundef %.39762, ptr noundef %.09646) @@ -27638,51 +27638,51 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 br i1 %3711, label %3714, label %3712 3712: ; preds = %3708 - %.not11588 = icmp eq i8 %3706, 7 + %.not11586 = icmp eq i8 %3706, 7 %3713 = or i32 %3710, -1073741824 - %spec.select12014 = select i1 %.not11588, i32 -520095616, i32 %3713 + %spec.select12012 = select i1 %.not11586, i32 -520095616, i32 %3713 br label %3714 3714: ; preds = %3712, %3708, %3698 - %.09876 = phi i32 [ -1, %3698 ], [ %3710, %3708 ], [ %spec.select12014, %3712 ] + %.09876 = phi i32 [ -1, %3698 ], [ %3710, %3708 ], [ %spec.select12012, %3712 ] %3715 = getelementptr inbounds nuw i8, ptr %2501, i64 31 %3716 = load i8, ptr %3715, align 1 %3717 = icmp eq i8 %3716, 8 %3718 = and i32 %.09876, 63 - %spec.select11819 = select i1 %3717, i32 %3718, i32 %.09876 + %spec.select11817 = select i1 %3717, i32 %3718, i32 %.09876 br label %3719 3719: ; preds = %3714, %3692 - %.39732 = phi i32 [ -1, %3692 ], [ %spec.select11819, %3714 ] + %.39732 = phi i32 [ -1, %3692 ], [ %spec.select11817, %3714 ] %.39719 = phi i8 [ 1, %3692 ], [ %.09716, %3714 ] %.29708 = phi i64 [ %3697, %3692 ], [ %3688, %3714 ] %3720 = load ptr, ptr %2477, align 8 - %.not11589 = icmp eq ptr %3720, null - br i1 %.not11589, label %.thread12236, label %3721 + %.not11587 = icmp eq ptr %3720, null + br i1 %.not11587, label %.thread12233, label %3721 3721: ; preds = %3719 %3722 = getelementptr inbounds nuw i8, ptr %.09621, i64 20 %3723 = load i32, ptr %3722, align 4 %3724 = icmp sgt i32 %3723, -1 - br i1 %3724, label %3725, label %.thread12236 + br i1 %3724, label %3725, label %.thread12233 3725: ; preds = %3721 %3726 = zext nneg i32 %3723 to i64 %3727 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %3720, i64 %3726 %3728 = load i32, ptr %3727, align 8 - br label %.thread12236 + br label %.thread12233 -.thread12236: ; preds = %3719, %3721, %3725 +.thread12233: ; preds = %3719, %3721, %3725 %.09443 = phi i32 [ %3728, %3725 ], [ -486539265, %3721 ], [ -486539265, %3719 ] %3729 = load i8, ptr %2529, align 4 %3730 = icmp eq i8 %3729, 1 - %.pre13280 = load i32, ptr %20, align 4 - %3731 = and i32 %.pre13280, 1023 + %.pre13277 = load i32, ptr %20, align 4 + %3731 = and i32 %.pre13277, 1023 %3732 = icmp eq i32 %3731, 128 - %or.cond13522 = select i1 %3730, i1 %3732, i1 false - br i1 %or.cond13522, label %3733, label %3740 + %or.cond13519 = select i1 %3730, i1 %3732, i1 false + br i1 %or.cond13519, label %3733, label %3740 -3733: ; preds = %.thread12236 +3733: ; preds = %.thread12233 %3734 = load i32, ptr %21, align 4 %3735 = and i32 %3734, 1023 %3736 = icmp eq i32 %3735, 128 @@ -27691,35 +27691,35 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 3737: ; preds = %3733 %3738 = load i64, ptr %22, align 8 %3739 = load i64, ptr %23, align 8 - call fastcc void @zend_jit_add_arrays(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %.pre13280, i64 noundef %3738, i32 noundef %3734, i64 noundef %3739, i64 noundef %.29708) - br label %thread-pre-split12618 + call fastcc void @zend_jit_add_arrays(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %.pre13277, i64 noundef %3738, i32 noundef %3734, i64 noundef %3739, i64 noundef %.29708) + br label %thread-pre-split12615 -3740: ; preds = %3733, %.thread12236 - %3741 = and i32 %.pre13280, 16 - %.not11590 = icmp eq i32 %3741, 0 - br i1 %.not11590, label %.thread13310, label %3742 +3740: ; preds = %3733, %.thread12233 + %3741 = and i32 %.pre13277, 16 + %.not11588 = icmp eq i32 %3741, 0 + br i1 %.not11588, label %.thread13307, label %3742 3742: ; preds = %3740 %3743 = load i32, ptr %21, align 4 %3744 = and i32 %3743, 16 - %.not11591 = icmp eq i32 %3744, 0 + %.not11589 = icmp eq i32 %3744, 0 %3745 = and i32 %.09443, 268435488 - %.not11592 = icmp eq i32 %3745, 0 - %or.cond11820 = select i1 %.not11591, i1 true, i1 %.not11592 - br i1 %or.cond11820, label %.thread13310, label %3747 + %.not11590 = icmp eq i32 %3745, 0 + %or.cond11818 = select i1 %.not11589, i1 true, i1 %.not11590 + br i1 %or.cond11818, label %.thread13307, label %3747 -.thread13310: ; preds = %3742, %3740 +.thread13307: ; preds = %3742, %3740 %3746 = and i32 %.09443, 268436478 - br label %.thread12239 + br label %.thread12236 3747: ; preds = %3742 %3748 = call fastcc i32 @zend_may_overflow(ptr noundef nonnull %2501, ptr noundef %.09621, ptr noundef %.09771, ptr noundef %40) %3749 = icmp ne i32 %3748, 0 - %brmerge.not = select i1 %.not11593, i1 %3749, i1 false + %brmerge.not = select i1 %.not11591, i1 %3749, i1 false %3750 = and i32 %.09443, 268436478 %3751 = icmp eq i32 %3750, 268435472 - %or.cond11824 = select i1 %brmerge.not, i1 %3751, i1 false - br i1 %or.cond11824, label %3752, label %.thread12239 + %or.cond11822 = select i1 %brmerge.not, i1 %3751, i1 false + br i1 %or.cond11822, label %3752, label %.thread12236 3752: ; preds = %3747 br i1 %3730, label %3753, label %3761 @@ -27728,39 +27728,39 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %3754 = load i64, ptr %23, align 8 %3755 = and i64 %3754, 3 %3756 = icmp eq i64 %3755, 0 - br i1 %3756, label %3757, label %.thread12239 + br i1 %3756, label %3757, label %.thread12236 3757: ; preds = %3753 %3758 = inttoptr i64 %3754 to ptr %3759 = load i64, ptr %3758, align 8 %3760 = icmp eq i64 %3759, 1 - br i1 %3760, label %3771, label %.thread12239 + br i1 %3760, label %3771, label %.thread12236 3761: ; preds = %3752 %3762 = icmp eq i8 %3729, 2 - br i1 %3762, label %3763, label %.thread12239 + br i1 %3762, label %3763, label %.thread12236 3763: ; preds = %3761 %3764 = load i64, ptr %23, align 8 %3765 = and i64 %3764, 3 %3766 = icmp eq i64 %3765, 0 - br i1 %3766, label %3767, label %.thread12239 + br i1 %3766, label %3767, label %.thread12236 3767: ; preds = %3763 %3768 = inttoptr i64 %3764 to ptr %3769 = load i64, ptr %3768, align 8 %3770 = icmp eq i64 %3769, 1 - br i1 %3770, label %3771, label %.thread12239 + br i1 %3770, label %3771, label %.thread12236 3771: ; preds = %3767, %3757 call fastcc void @zend_jit_trace_cleanup_stack(ptr noundef %17, ptr noundef %.09641, ptr noundef nonnull %2501, ptr noundef %.09621, ptr noundef %40, ptr noundef %43) - %.pre13281 = load i32, ptr %20, align 4 - br label %.thread12239 + %.pre13278 = load i32, ptr %20, align 4 + br label %.thread12236 -.thread12239: ; preds = %.thread13310, %3753, %3757, %3747, %3771, %3767, %3763, %3761 - %3772 = phi i32 [ 268435472, %3753 ], [ 268435472, %3757 ], [ %3750, %3747 ], [ 268435472, %3771 ], [ 268435472, %3767 ], [ 268435472, %3763 ], [ 268435472, %3761 ], [ %3746, %.thread13310 ] - %3773 = phi i1 [ %3749, %3753 ], [ %3749, %3757 ], [ %3749, %3747 ], [ %3749, %3771 ], [ %3749, %3767 ], [ %3749, %3763 ], [ %3749, %3761 ], [ false, %.thread13310 ] - %3774 = phi i32 [ %.pre13280, %3753 ], [ %.pre13280, %3757 ], [ %.pre13280, %3747 ], [ %.pre13281, %3771 ], [ %.pre13280, %3767 ], [ %.pre13280, %3763 ], [ %.pre13280, %3761 ], [ %.pre13280, %.thread13310 ] +.thread12236: ; preds = %.thread13307, %3753, %3757, %3747, %3771, %3767, %3763, %3761 + %3772 = phi i32 [ 268435472, %3753 ], [ 268435472, %3757 ], [ %3750, %3747 ], [ 268435472, %3771 ], [ 268435472, %3767 ], [ 268435472, %3763 ], [ 268435472, %3761 ], [ %3746, %.thread13307 ] + %3773 = phi i1 [ %3749, %3753 ], [ %3749, %3757 ], [ %3749, %3747 ], [ %3749, %3771 ], [ %3749, %3767 ], [ %3749, %3763 ], [ %3749, %3761 ], [ false, %.thread13307 ] + %3774 = phi i32 [ %.pre13277, %3753 ], [ %.pre13277, %3757 ], [ %.pre13277, %3747 ], [ %.pre13278, %3771 ], [ %.pre13277, %3767 ], [ %.pre13277, %3763 ], [ %.pre13277, %3761 ], [ %.pre13277, %.thread13307 ] %3775 = load i64, ptr %22, align 8 %3776 = load i32, ptr %21, align 4 %3777 = load i64, ptr %23, align 8 @@ -27768,11 +27768,11 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %3779 = call zeroext i1 @zend_may_throw(ptr noundef nonnull %2501, ptr noundef %.09621, ptr noundef %.09771, ptr noundef nonnull %40) #33 %3780 = zext i1 %3779 to i32 %3781 = call fastcc i32 @zend_jit_math(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %3774, i64 noundef %3775, i32 noundef %3776, i64 noundef %3777, i32 noundef %.39732, i32 noundef %.09443, i64 noundef %.29708, i32 noundef %3778, i32 noundef %3780) - %.not11595 = icmp eq i32 %3781, 0 - br i1 %.not11595, label %zend_jit_stack_check.exit.thread, label %3782 + %.not11593 = icmp eq i32 %3781, 0 + br i1 %.not11593, label %zend_jit_stack_check.exit.thread, label %3782 -3782: ; preds = %.thread12239 - switch i32 %3772, label %thread-pre-split12618 [ +3782: ; preds = %.thread12236 + switch i32 %3772, label %thread-pre-split12615 [ i32 268435472, label %3783 i32 268435488, label %3783 ] @@ -27783,9 +27783,9 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %3786 = call range(i32 0, 11) i32 @llvm.ctpop.i32(i32 %3785) %3787 = icmp ne i32 %3786, 1 %3788 = and i32 %3784, 48 - %.not11597 = icmp eq i32 %3788, 0 - %or.cond11825 = or i1 %.not11597, %3787 - br i1 %or.cond11825, label %thread-pre-split12618, label %3789 + %.not11595 = icmp eq i32 %3788, 0 + %or.cond11823 = or i1 %.not11595, %3787 + br i1 %or.cond11823, label %thread-pre-split12615, label %3789 3789: ; preds = %3783 %3790 = load i32, ptr %21, align 4 @@ -27793,9 +27793,9 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %3792 = call range(i32 0, 11) i32 @llvm.ctpop.i32(i32 %3791) %3793 = icmp ne i32 %3792, 1 %3794 = and i32 %3790, 48 - %.not11599 = icmp eq i32 %3794, 0 - %or.cond11826 = or i1 %.not11599, %3793 - br i1 %or.cond11826, label %thread-pre-split12618, label %3795 + %.not11597 = icmp eq i32 %3794, 0 + %or.cond11824 = or i1 %.not11597, %3793 + br i1 %or.cond11824, label %thread-pre-split12615, label %3795 3795: ; preds = %3789 %3796 = load ptr, ptr %2477, align 8 @@ -27806,7 +27806,7 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %3801 = load i32, ptr %3800, align 8 %3802 = and i32 %3801, -268435457 store i32 %3802, ptr %3800, align 8 - br label %thread-pre-split12618 + br label %thread-pre-split12615 3803: ; preds = %2538, %2538 %3804 = getelementptr inbounds nuw i8, ptr %2501, i64 29 @@ -27818,8 +27818,8 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %3808 = getelementptr inbounds nuw i8, ptr %.09771, i64 4 %3809 = load i32, ptr %3808, align 4 %3810 = and i32 %3809, 33554432 - %.not11532 = icmp eq i32 %3810, 0 - br i1 %.not11532, label %3816, label %3811 + %.not11530 = icmp eq i32 %3810, 0 + br i1 %.not11530, label %3816, label %3811 3811: ; preds = %3807 %3812 = getelementptr inbounds nuw i8, ptr %2501, i64 8 @@ -27842,7 +27842,7 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %3825 = getelementptr inbounds nuw i8, ptr %3824, i64 8 %3826 = load i8, ptr %3825, align 8 switch i8 %3826, label %3829 [ - i8 11, label %.thread12243 + i8 11, label %.thread12240 i8 7, label %3827 ] @@ -27855,8 +27855,8 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %3831 = shl nuw i32 1, %3830 %3832 = getelementptr inbounds nuw i8, ptr %3824, i64 9 %3833 = load i8, ptr %3832, align 1 - %.not11533 = icmp eq i8 %3833, 0 - br i1 %.not11533, label %3836, label %3834 + %.not11531 = icmp eq i8 %3833, 0 + br i1 %.not11531, label %3836, label %3834 3834: ; preds = %3829 %3835 = or i32 %3831, -1073741824 @@ -27864,18 +27864,18 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 3836: ; preds = %3829 %3837 = icmp eq i8 %3826, 6 - %spec.select11827 = select i1 %3837, i32 -2147483584, i32 %3831 + %spec.select11825 = select i1 %3837, i32 -2147483584, i32 %3831 br label %3847 3838: ; preds = %3803 %3839 = load ptr, ptr %2477, align 8 - %.not11531 = icmp eq ptr %3839, null - br i1 %.not11531, label %.thread12243, label %3840 + %.not11529 = icmp eq ptr %3839, null + br i1 %.not11529, label %.thread12240, label %3840 3840: ; preds = %3838 %3841 = load i32, ptr %.09621, align 4 %3842 = icmp sgt i32 %3841, -1 - br i1 %3842, label %3843, label %.thread12243 + br i1 %3842, label %3843, label %.thread12240 3843: ; preds = %3840 %3844 = zext nneg i32 %3841 to i64 @@ -27883,26 +27883,26 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %3846 = load i32, ptr %3845, align 8 br label %3847 -.thread12243: ; preds = %3823, %3840, %3838 +.thread12240: ; preds = %3823, %3840, %3838 %.09923.ph = phi i32 [ -486539265, %3840 ], [ -521143298, %3823 ], [ -486539265, %3838 ] store i32 %.09923.ph, ptr %20, align 4 br label %3937 3847: ; preds = %3836, %3843, %3827, %3834 - %.09923 = phi i32 [ %3828, %3827 ], [ %3835, %3834 ], [ %spec.select11827, %3836 ], [ %3846, %3843 ] + %.09923 = phi i32 [ %3828, %3827 ], [ %3835, %3834 ], [ %spec.select11825, %3836 ], [ %3846, %3843 ] store i32 %.09923, ptr %20, align 4 %3848 = zext nneg i8 %.19588 to i32 %3849 = and i32 %.09923, 268435456 - %.not11535 = icmp eq i32 %3849, 0 - %or.cond11828 = select i1 %.not10749, i1 true, i1 %.not11535 - br i1 %or.cond11828, label %3937, label %3850 + %.not11533 = icmp eq i32 %3849, 0 + %or.cond11826 = select i1 %.not10749, i1 true, i1 %.not11533 + br i1 %or.cond11826, label %3937, label %3850 3850: ; preds = %3847 %3851 = getelementptr inbounds nuw i8, ptr %2501, i64 8 %3852 = load i32, ptr %3851, align 8 %3853 = call fastcc i32 @zend_jit_type_guard(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %3852, i8 noundef zeroext %2504) - %.not11536 = icmp eq i32 %3853, 0 - br i1 %.not11536, label %zend_jit_stack_check.exit.thread, label %3854 + %.not11534 = icmp eq i32 %3853, 0 + br i1 %.not11534, label %zend_jit_stack_check.exit.thread, label %3854 3854: ; preds = %3850 %3855 = load ptr, ptr %2478, align 8 @@ -27911,13 +27911,13 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %3858 = getelementptr inbounds %struct._zend_ssa_var, ptr %3855, i64 %3857, i32 7 %3859 = load i8, ptr %3858, align 8 %3860 = and i8 %3859, 12 - %.not11537 = icmp eq i8 %3860, 0 + %.not11535 = icmp eq i8 %3860, 0 %3861 = load i32, ptr %3851, align 8 %3862 = lshr i32 %3861, 4 %3863 = add nsw i32 %3862, -5 %3864 = zext i32 %3863 to i64 %3865 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %3864 - br i1 %.not11537, label %3899, label %3866 + br i1 %.not11535, label %3899, label %3866 3866: ; preds = %3854 store i8 -1, ptr %3865, align 4 @@ -27957,10 +27957,10 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 store i8 0, ptr %3895, align 1 %3896 = shl nuw i32 1, %3848 %3897 = icmp ult i8 %2504, 6 - %.not11538 = icmp eq i8 %2504, 7 + %.not11536 = icmp eq i8 %2504, 7 %3898 = or i32 %3896, -1073741824 - %spec.select12015 = select i1 %.not11538, i32 -520095616, i32 %3898 - %.09875 = select i1 %3897, i32 %3896, i32 %spec.select12015 + %spec.select12013 = select i1 %.not11536, i32 -520095616, i32 %3898 + %.09875 = select i1 %3897, i32 %3896, i32 %spec.select12013 store i32 %.09875, ptr %20, align 4 br label %3937 @@ -28012,7 +28012,7 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 store i32 %3936, ptr %3934, align 8 br label %3937 -3937: ; preds = %.thread12243, %3847, %3866, %3899 +3937: ; preds = %.thread12240, %3847, %3866, %3899 %3938 = getelementptr inbounds nuw i8, ptr %2501, i64 30 %3939 = load i8, ptr %3938, align 2 %3940 = icmp eq i8 %3939, 1 @@ -28022,8 +28022,8 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %3942 = getelementptr inbounds nuw i8, ptr %.09771, i64 4 %3943 = load i32, ptr %3942, align 4 %3944 = and i32 %3943, 33554432 - %.not11540 = icmp eq i32 %3944, 0 - br i1 %.not11540, label %3950, label %3945 + %.not11538 = icmp eq i32 %3944, 0 + br i1 %.not11538, label %3950, label %3945 3945: ; preds = %3941 %3946 = getelementptr inbounds nuw i8, ptr %2501, i64 12 @@ -28046,7 +28046,7 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %3959 = getelementptr inbounds nuw i8, ptr %3958, i64 8 %3960 = load i8, ptr %3959, align 8 switch i8 %3960, label %3963 [ - i8 11, label %.thread12250 + i8 11, label %.thread12247 i8 7, label %3961 ] @@ -28059,8 +28059,8 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %3965 = shl nuw i32 1, %3964 %3966 = getelementptr inbounds nuw i8, ptr %3958, i64 9 %3967 = load i8, ptr %3966, align 1 - %.not11541 = icmp eq i8 %3967, 0 - br i1 %.not11541, label %3970, label %3968 + %.not11539 = icmp eq i8 %3967, 0 + br i1 %.not11539, label %3970, label %3968 3968: ; preds = %3963 %3969 = or i32 %3965, -1073741824 @@ -28068,19 +28068,19 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 3970: ; preds = %3963 %3971 = icmp eq i8 %3960, 6 - %spec.select11829 = select i1 %3971, i32 -2147483584, i32 %3965 + %spec.select11827 = select i1 %3971, i32 -2147483584, i32 %3965 br label %3982 3972: ; preds = %3937 %3973 = load ptr, ptr %2477, align 8 - %.not11539 = icmp eq ptr %3973, null - br i1 %.not11539, label %.thread12250, label %3974 + %.not11537 = icmp eq ptr %3973, null + br i1 %.not11537, label %.thread12247, label %3974 3974: ; preds = %3972 %3975 = getelementptr inbounds nuw i8, ptr %.09621, i64 4 %3976 = load i32, ptr %3975, align 4 %3977 = icmp sgt i32 %3976, -1 - br i1 %3977, label %3978, label %.thread12250 + br i1 %3977, label %3978, label %.thread12247 3978: ; preds = %3974 %3979 = zext nneg i32 %3976 to i64 @@ -28088,27 +28088,27 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %3981 = load i32, ptr %3980, align 8 br label %3982 -.thread12250: ; preds = %3957, %3974, %3972 +.thread12247: ; preds = %3957, %3974, %3972 %.09900.ph = phi i32 [ -486539265, %3974 ], [ -521143298, %3957 ], [ -486539265, %3972 ] store i32 %.09900.ph, ptr %21, align 4 br label %4073 3982: ; preds = %3970, %3978, %3961, %3968 - %.09900 = phi i32 [ %3962, %3961 ], [ %3969, %3968 ], [ %spec.select11829, %3970 ], [ %3981, %3978 ] + %.09900 = phi i32 [ %3962, %3961 ], [ %3969, %3968 ], [ %spec.select11827, %3970 ], [ %3981, %3978 ] store i32 %.09900, ptr %21, align 4 %3983 = zext nneg i8 %spec.store.select to i32 - %.not11542 = icmp eq i8 %spec.store.select, -1 + %.not11540 = icmp eq i8 %spec.store.select, -1 %3984 = and i32 %.09900, 268435456 - %.not11543 = icmp eq i32 %3984, 0 - %or.cond11830 = select i1 %.not11542, i1 true, i1 %.not11543 - br i1 %or.cond11830, label %4073, label %3985 + %.not11541 = icmp eq i32 %3984, 0 + %or.cond11828 = select i1 %.not11540, i1 true, i1 %.not11541 + br i1 %or.cond11828, label %4073, label %3985 3985: ; preds = %3982 %3986 = getelementptr inbounds nuw i8, ptr %2501, i64 12 %3987 = load i32, ptr %3986, align 4 %3988 = call fastcc i32 @zend_jit_type_guard(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %3987, i8 noundef zeroext %spec.store.select) - %.not11544 = icmp eq i32 %3988, 0 - br i1 %.not11544, label %zend_jit_stack_check.exit.thread, label %3989 + %.not11542 = icmp eq i32 %3988, 0 + br i1 %.not11542, label %zend_jit_stack_check.exit.thread, label %3989 3989: ; preds = %3985 %3990 = load ptr, ptr %2478, align 8 @@ -28118,13 +28118,13 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %3994 = getelementptr inbounds %struct._zend_ssa_var, ptr %3990, i64 %3993, i32 7 %3995 = load i8, ptr %3994, align 8 %3996 = and i8 %3995, 12 - %.not11545 = icmp eq i8 %3996, 0 + %.not11543 = icmp eq i8 %3996, 0 %3997 = load i32, ptr %3986, align 4 %3998 = lshr i32 %3997, 4 %3999 = add nsw i32 %3998, -5 %4000 = zext i32 %3999 to i64 %4001 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %4000 - br i1 %.not11545, label %4035, label %4002 + br i1 %.not11543, label %4035, label %4002 4002: ; preds = %3989 store i8 -1, ptr %4001, align 4 @@ -28164,10 +28164,10 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 store i8 0, ptr %4031, align 1 %4032 = shl nuw i32 1, %3983 %4033 = icmp ult i8 %spec.store.select, 6 - %.not11546 = icmp eq i8 %spec.store.select, 7 + %.not11544 = icmp eq i8 %spec.store.select, 7 %4034 = or i32 %4032, -1073741824 - %spec.select12016 = select i1 %.not11546, i32 -520095616, i32 %4034 - %.09873 = select i1 %4033, i32 %4032, i32 %spec.select12016 + %spec.select12014 = select i1 %.not11544, i32 -520095616, i32 %4034 + %.09873 = select i1 %4033, i32 %4032, i32 %spec.select12014 store i32 %.09873, ptr %21, align 4 br label %4073 @@ -28219,25 +28219,25 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 store i32 %4072, ptr %4070, align 8 br label %4073 -4073: ; preds = %.thread12250, %3982, %4002, %4035 +4073: ; preds = %.thread12247, %3982, %4002, %4035 %4074 = load i32, ptr %20, align 4 %4075 = and i32 %4074, 1 - %.not11547 = icmp eq i32 %4075, 0 - br i1 %.not11547, label %4076, label %thread-pre-split12605 + %.not11545 = icmp eq i32 %4075, 0 + br i1 %.not11545, label %4076, label %thread-pre-split12602 4076: ; preds = %4073 %4077 = load i32, ptr %21, align 4 %4078 = and i32 %4074, 64 - %.not11549 = icmp eq i32 %4078, 0 + %.not11547 = icmp eq i32 %4078, 0 %4079 = and i32 %4077, 65 %4080 = icmp ne i32 %4079, 64 - %or.cond11832 = or i1 %.not11549, %4080 - br i1 %or.cond11832, label %thread-pre-split12605, label %4081 + %or.cond11830 = or i1 %.not11547, %4080 + br i1 %or.cond11830, label %thread-pre-split12602, label %4081 4081: ; preds = %4076 %4082 = load ptr, ptr %2479, align 8 - %.not11551 = icmp eq ptr %4082, null - br i1 %.not11551, label %4094, label %4083 + %.not11549 = icmp eq ptr %4082, null + br i1 %.not11549, label %4094, label %4083 4083: ; preds = %4081 %4084 = getelementptr inbounds nuw i8, ptr %.09621, i64 20 @@ -28249,8 +28249,8 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %4088 = zext nneg i32 %4085 to i64 %4089 = getelementptr inbounds nuw %struct._zend_jit_reg_var, ptr %4082, i64 %4088 %4090 = load i32, ptr %4089, align 4 - %.not11552 = icmp eq i32 %4090, 0 - br i1 %.not11552, label %4094, label %4091 + %.not11550 = icmp eq i32 %4090, 0 + br i1 %.not11550, label %4094, label %4091 4091: ; preds = %4087 %4092 = shl nuw nsw i64 %4088, 2 @@ -28298,31 +28298,31 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %4119 = call zeroext i1 @zend_may_throw(ptr noundef nonnull %2501, ptr noundef %.09621, ptr noundef %.09771, ptr noundef nonnull %40) #33 %4120 = zext i1 %4119 to i32 call fastcc void @zend_jit_concat(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %4118, i32 noundef %4077, i64 noundef %.39709, i32 noundef %4120) - br label %thread-pre-split12618 + br label %thread-pre-split12615 4121: ; preds = %2538 %4122 = getelementptr inbounds nuw i8, ptr %2501, i64 29 %4123 = load i8, ptr %4122, align 1 - %.not11501 = icmp eq i8 %4123, 8 - br i1 %.not11501, label %4124, label %.thread12608 + %.not11499 = icmp eq i8 %4123, 8 + br i1 %.not11499, label %4124, label %.thread12605 4124: ; preds = %4121 %4125 = getelementptr inbounds nuw i8, ptr %2501, i64 31 %4126 = load i8, ptr %4125, align 1 - %.not11502 = icmp eq i8 %4126, 0 - br i1 %.not11502, label %4127, label %thread-pre-split12605 + %.not11500 = icmp eq i8 %4126, 0 + br i1 %.not11500, label %4127, label %thread-pre-split12602 4127: ; preds = %4124 %4128 = load ptr, ptr %2477, align 8 - %.not11503 = icmp eq ptr %4128, null - br i1 %.not11503, label %.thread12258, label %4129 + %.not11501 = icmp eq ptr %4128, null + br i1 %.not11501, label %.thread12255, label %4129 4129: ; preds = %4127 %4130 = load i32, ptr %.09621, align 4 %4131 = icmp sgt i32 %4130, -1 - br i1 %4131, label %4132, label %.thread12258 + br i1 %4131, label %4132, label %.thread12255 -.thread12258: ; preds = %4129, %4127 +.thread12255: ; preds = %4129, %4127 store i32 -486539265, ptr %20, align 4 br label %4225 @@ -28333,16 +28333,16 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 store i32 %4135, ptr %20, align 4 %4136 = zext nneg i8 %.19588 to i32 %4137 = and i32 %4135, 268435456 - %.not11505 = icmp eq i32 %4137, 0 - %or.cond11833 = select i1 %.not10749, i1 true, i1 %.not11505 - br i1 %or.cond11833, label %4225, label %4138 + %.not11503 = icmp eq i32 %4137, 0 + %or.cond11831 = select i1 %.not10749, i1 true, i1 %.not11503 + br i1 %or.cond11831, label %4225, label %4138 4138: ; preds = %4132 %4139 = getelementptr inbounds nuw i8, ptr %2501, i64 8 %4140 = load i32, ptr %4139, align 8 %4141 = call fastcc i32 @zend_jit_type_guard(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %4140, i8 noundef zeroext %2504) - %.not11506 = icmp eq i32 %4141, 0 - br i1 %.not11506, label %zend_jit_stack_check.exit.thread, label %4142 + %.not11504 = icmp eq i32 %4141, 0 + br i1 %.not11504, label %zend_jit_stack_check.exit.thread, label %4142 4142: ; preds = %4138 %4143 = load ptr, ptr %2478, align 8 @@ -28351,13 +28351,13 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %4146 = getelementptr inbounds %struct._zend_ssa_var, ptr %4143, i64 %4145, i32 7 %4147 = load i8, ptr %4146, align 8 %4148 = and i8 %4147, 12 - %.not11507 = icmp eq i8 %4148, 0 + %.not11505 = icmp eq i8 %4148, 0 %4149 = load i32, ptr %4139, align 8 %4150 = lshr i32 %4149, 4 %4151 = add nsw i32 %4150, -5 %4152 = zext i32 %4151 to i64 %4153 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %4152 - br i1 %.not11507, label %4187, label %4154 + br i1 %.not11505, label %4187, label %4154 4154: ; preds = %4142 store i8 -1, ptr %4153, align 4 @@ -28397,10 +28397,10 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 store i8 0, ptr %4183, align 1 %4184 = shl nuw i32 1, %4136 %4185 = icmp ult i8 %2504, 6 - %.not11508 = icmp eq i8 %2504, 7 + %.not11506 = icmp eq i8 %2504, 7 %4186 = or i32 %4184, -1073741824 - %spec.select12017 = select i1 %.not11508, i32 -520095616, i32 %4186 - %.09872 = select i1 %4185, i32 %4184, i32 %spec.select12017 + %spec.select12015 = select i1 %.not11506, i32 -520095616, i32 %4186 + %.09872 = select i1 %4185, i32 %4184, i32 %spec.select12015 store i32 %.09872, ptr %20, align 4 br label %4225 @@ -28452,7 +28452,7 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 store i32 %4224, ptr %4222, align 8 br label %4225 -4225: ; preds = %.thread12258, %4132, %4154, %4187 +4225: ; preds = %.thread12255, %4132, %4154, %4187 %4226 = getelementptr inbounds nuw i8, ptr %2501, i64 30 %4227 = load i8, ptr %4226, align 2 %4228 = icmp eq i8 %4227, 1 @@ -28462,8 +28462,8 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %4230 = getelementptr inbounds nuw i8, ptr %.09771, i64 4 %4231 = load i32, ptr %4230, align 4 %4232 = and i32 %4231, 33554432 - %.not11510 = icmp eq i32 %4232, 0 - br i1 %.not11510, label %4238, label %4233 + %.not11508 = icmp eq i32 %4232, 0 + br i1 %.not11508, label %4238, label %4233 4233: ; preds = %4229 %4234 = getelementptr inbounds nuw i8, ptr %2501, i64 12 @@ -28486,7 +28486,7 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %4247 = getelementptr inbounds nuw i8, ptr %4246, i64 8 %4248 = load i8, ptr %4247, align 8 switch i8 %4248, label %4251 [ - i8 11, label %.thread12265 + i8 11, label %.thread12262 i8 7, label %4249 ] @@ -28499,8 +28499,8 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %4253 = shl nuw i32 1, %4252 %4254 = getelementptr inbounds nuw i8, ptr %4246, i64 9 %4255 = load i8, ptr %4254, align 1 - %.not11511 = icmp eq i8 %4255, 0 - br i1 %.not11511, label %4258, label %4256 + %.not11509 = icmp eq i8 %4255, 0 + br i1 %.not11509, label %4258, label %4256 4256: ; preds = %4251 %4257 = or i32 %4253, -1073741824 @@ -28508,19 +28508,19 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 4258: ; preds = %4251 %4259 = icmp eq i8 %4248, 6 - %spec.select11834 = select i1 %4259, i32 -2147483584, i32 %4253 + %spec.select11832 = select i1 %4259, i32 -2147483584, i32 %4253 br label %4270 4260: ; preds = %4225 %4261 = load ptr, ptr %2477, align 8 - %.not11509 = icmp eq ptr %4261, null - br i1 %.not11509, label %.thread12265, label %4262 + %.not11507 = icmp eq ptr %4261, null + br i1 %.not11507, label %.thread12262, label %4262 4262: ; preds = %4260 %4263 = getelementptr inbounds nuw i8, ptr %.09621, i64 4 %4264 = load i32, ptr %4263, align 4 %4265 = icmp sgt i32 %4264, -1 - br i1 %4265, label %4266, label %.thread12265 + br i1 %4265, label %4266, label %.thread12262 4266: ; preds = %4262 %4267 = zext nneg i32 %4264 to i64 @@ -28528,27 +28528,27 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %4269 = load i32, ptr %4268, align 8 br label %4270 -.thread12265: ; preds = %4245, %4262, %4260 +.thread12262: ; preds = %4245, %4262, %4260 %.09901.ph = phi i32 [ -486539265, %4262 ], [ -521143298, %4245 ], [ -486539265, %4260 ] store i32 %.09901.ph, ptr %21, align 4 br label %4361 4270: ; preds = %4258, %4266, %4249, %4256 - %.09901 = phi i32 [ %4250, %4249 ], [ %4257, %4256 ], [ %spec.select11834, %4258 ], [ %4269, %4266 ] + %.09901 = phi i32 [ %4250, %4249 ], [ %4257, %4256 ], [ %spec.select11832, %4258 ], [ %4269, %4266 ] store i32 %.09901, ptr %21, align 4 %4271 = zext nneg i8 %spec.store.select to i32 - %.not11512 = icmp eq i8 %spec.store.select, -1 + %.not11510 = icmp eq i8 %spec.store.select, -1 %4272 = and i32 %.09901, 268435456 - %.not11513 = icmp eq i32 %4272, 0 - %or.cond11835 = select i1 %.not11512, i1 true, i1 %.not11513 - br i1 %or.cond11835, label %4361, label %4273 + %.not11511 = icmp eq i32 %4272, 0 + %or.cond11833 = select i1 %.not11510, i1 true, i1 %.not11511 + br i1 %or.cond11833, label %4361, label %4273 4273: ; preds = %4270 %4274 = getelementptr inbounds nuw i8, ptr %2501, i64 12 %4275 = load i32, ptr %4274, align 4 %4276 = call fastcc i32 @zend_jit_type_guard(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %4275, i8 noundef zeroext %spec.store.select) - %.not11514 = icmp eq i32 %4276, 0 - br i1 %.not11514, label %zend_jit_stack_check.exit.thread, label %4277 + %.not11512 = icmp eq i32 %4276, 0 + br i1 %.not11512, label %zend_jit_stack_check.exit.thread, label %4277 4277: ; preds = %4273 %4278 = load ptr, ptr %2478, align 8 @@ -28558,13 +28558,13 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %4282 = getelementptr inbounds %struct._zend_ssa_var, ptr %4278, i64 %4281, i32 7 %4283 = load i8, ptr %4282, align 8 %4284 = and i8 %4283, 12 - %.not11515 = icmp eq i8 %4284, 0 + %.not11513 = icmp eq i8 %4284, 0 %4285 = load i32, ptr %4274, align 4 %4286 = lshr i32 %4285, 4 %4287 = add nsw i32 %4286, -5 %4288 = zext i32 %4287 to i64 %4289 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %4288 - br i1 %.not11515, label %4323, label %4290 + br i1 %.not11513, label %4323, label %4290 4290: ; preds = %4277 store i8 -1, ptr %4289, align 4 @@ -28604,10 +28604,10 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 store i8 0, ptr %4319, align 1 %4320 = shl nuw i32 1, %4271 %4321 = icmp ult i8 %spec.store.select, 6 - %.not11516 = icmp eq i8 %spec.store.select, 7 + %.not11514 = icmp eq i8 %spec.store.select, 7 %4322 = or i32 %4320, -1073741824 - %spec.select12018 = select i1 %.not11516, i32 -520095616, i32 %4322 - %.09871 = select i1 %4321, i32 %4320, i32 %spec.select12018 + %spec.select12016 = select i1 %.not11514, i32 -520095616, i32 %4322 + %.09871 = select i1 %4321, i32 %4320, i32 %spec.select12016 store i32 %.09871, ptr %21, align 4 br label %4361 @@ -28657,53 +28657,53 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %4359 = load i32, ptr %4358, align 8 %4360 = and i32 %4359, %4354 store i32 %4360, ptr %4358, align 8 - %.pre13278 = load i32, ptr %21, align 4 + %.pre13275 = load i32, ptr %21, align 4 br label %4361 -4361: ; preds = %.thread12265, %4270, %4290, %4323 - %4362 = phi i32 [ %.09901.ph, %.thread12265 ], [ %.09901, %4270 ], [ %.09871, %4290 ], [ %.pre13278, %4323 ] +4361: ; preds = %.thread12262, %4270, %4290, %4323 + %4362 = phi i32 [ %.09901.ph, %.thread12262 ], [ %.09901, %4270 ], [ %.09871, %4290 ], [ %.pre13275, %4323 ] %4363 = getelementptr inbounds nuw i8, ptr %2501, i64 20 %4364 = load i32, ptr %4363, align 4 %4365 = trunc i32 %4364 to i8 %4366 = load i32, ptr %20, align 4 %4367 = call fastcc zeroext i1 @zend_jit_supported_binary_op(i8 noundef zeroext %4365, i32 noundef %4366, i32 noundef %4362) - br i1 %4367, label %4368, label %thread-pre-split12605 + br i1 %4367, label %4368, label %thread-pre-split12602 4368: ; preds = %4361 %4369 = load ptr, ptr %2477, align 8 - %.not11517 = icmp eq ptr %4369, null - br i1 %.not11517, label %.thread12278, label %4370 + %.not11515 = icmp eq ptr %4369, null + br i1 %.not11515, label %.thread12275, label %4370 4370: ; preds = %4368 %4371 = getelementptr inbounds nuw i8, ptr %.09621, i64 12 %4372 = load i32, ptr %4371, align 4 %4373 = icmp sgt i32 %4372, -1 - br i1 %4373, label %4374, label %.thread12273 + br i1 %4373, label %4374, label %.thread12270 4374: ; preds = %4370 %4375 = zext nneg i32 %4372 to i64 %4376 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %4369, i64 %4375 %4377 = load i32, ptr %4376, align 8 %4378 = and i32 %4377, 268435456 - %.not11518 = icmp eq i32 %4378, 0 - br i1 %.not11518, label %.thread12273, label %4379 + %.not11516 = icmp eq i32 %4378, 0 + br i1 %.not11516, label %.thread12270, label %4379 4379: ; preds = %4374 %4380 = and i32 %4377, 1023 %4381 = call range(i32 0, 11) i32 @llvm.ctpop.i32(i32 %4380) %4382 = icmp eq i32 %4381, 1 %4383 = and i32 %4377, -268435457 - %spec.select11836 = select i1 %4382, i32 %4377, i32 %4383 - br label %.thread12273 + %spec.select11834 = select i1 %4382, i32 %4377, i32 %4383 + br label %.thread12270 -.thread12273: ; preds = %4370, %4379, %4374 - %.19738 = phi i32 [ %4377, %4374 ], [ %spec.select11836, %4379 ], [ -486539265, %4370 ] +.thread12270: ; preds = %4370, %4379, %4374 + %.19738 = phi i32 [ %4377, %4374 ], [ %spec.select11834, %4379 ], [ -486539265, %4370 ] %4384 = load i8, ptr %4122, align 1 %4385 = and i8 %4384, 14 - %.not11520 = icmp eq i8 %4385, 0 - br i1 %.not11520, label %4396, label %4386 + %.not11518 = icmp eq i8 %4385, 0 + br i1 %.not11518, label %4396, label %4386 -4386: ; preds = %.thread12273 +4386: ; preds = %.thread12270 %4387 = load i32, ptr %.09621, align 4 %4388 = icmp sgt i32 %4387, -1 br i1 %4388, label %4389, label %4396 @@ -28715,21 +28715,21 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %4393 = load i8, ptr %4392, align 4 %4394 = trunc i8 %4393 to i1 %4395 = getelementptr inbounds nuw i8, ptr %4391, i64 8 - %spec.select11837 = select i1 %4394, ptr %4395, ptr null + %spec.select11835 = select i1 %4394, ptr %4395, ptr null br label %4396 -4396: ; preds = %4389, %.thread12273, %4386 - %4397 = phi ptr [ null, %4386 ], [ null, %.thread12273 ], [ %spec.select11837, %4389 ] +4396: ; preds = %4389, %.thread12270, %4386 + %4397 = phi ptr [ null, %4386 ], [ null, %.thread12270 ], [ %spec.select11835, %4389 ] %4398 = load i8, ptr %4226, align 2 %4399 = and i8 %4398, 14 - %.not11522 = icmp eq i8 %4399, 0 - br i1 %.not11522, label %.thread12278, label %4400 + %.not11520 = icmp eq i8 %4399, 0 + br i1 %.not11520, label %.thread12275, label %4400 4400: ; preds = %4396 %4401 = getelementptr inbounds nuw i8, ptr %.09621, i64 4 %4402 = load i32, ptr %4401, align 4 %4403 = icmp sgt i32 %4402, -1 - br i1 %4403, label %4404, label %.thread12278 + br i1 %4403, label %4404, label %.thread12275 4404: ; preds = %4400 %4405 = zext nneg i32 %4402 to i64 @@ -28738,55 +28738,55 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %4408 = load i8, ptr %4407, align 4 %4409 = trunc i8 %4408 to i1 %4410 = getelementptr inbounds nuw i8, ptr %4406, i64 8 - %spec.select11838 = select i1 %4409, ptr %4410, ptr null - br label %.thread12278 + %spec.select11836 = select i1 %4409, ptr %4410, ptr null + br label %.thread12275 -.thread12278: ; preds = %4368, %4396, %4404, %4400 - %.1973812665 = phi i32 [ %.19738, %4400 ], [ %.19738, %4396 ], [ %.19738, %4404 ], [ -486539265, %4368 ] +.thread12275: ; preds = %4368, %4396, %4404, %4400 + %.1973812662 = phi i32 [ %.19738, %4400 ], [ %.19738, %4396 ], [ %.19738, %4404 ], [ -486539265, %4368 ] %4411 = phi ptr [ %4397, %4400 ], [ %4397, %4396 ], [ %4397, %4404 ], [ null, %4368 ] - %4412 = phi ptr [ null, %4400 ], [ null, %4396 ], [ %spec.select11838, %4404 ], [ null, %4368 ] + %4412 = phi ptr [ null, %4400 ], [ null, %4396 ], [ %spec.select11836, %4404 ], [ null, %4368 ] %4413 = and i32 %4366, 16 - %.not11524 = icmp eq i32 %4413, 0 - br i1 %.not11524, label %4419, label %4414 + %.not11522 = icmp eq i32 %4413, 0 + br i1 %.not11522, label %4419, label %4414 -4414: ; preds = %.thread12278 +4414: ; preds = %.thread12275 %4415 = and i32 %4362, 16 - %.not11525 = icmp eq i32 %4415, 0 - %4416 = and i32 %.1973812665, 268435488 - %.not11526 = icmp eq i32 %4416, 0 - %or.cond11839 = or i1 %.not11525, %.not11526 - br i1 %or.cond11839, label %4419, label %4417 + %.not11523 = icmp eq i32 %4415, 0 + %4416 = and i32 %.1973812662, 268435488 + %.not11524 = icmp eq i32 %4416, 0 + %or.cond11837 = or i1 %.not11523, %.not11524 + br i1 %or.cond11837, label %4419, label %4417 4417: ; preds = %4414 %4418 = call fastcc i32 @zend_may_overflow(ptr noundef nonnull %2501, ptr noundef %.09621, ptr noundef %.09771, ptr noundef %40) br label %4419 -4419: ; preds = %4417, %4414, %.thread12278 - %4420 = phi i32 [ 0, %4414 ], [ 0, %.thread12278 ], [ %4418, %4417 ] +4419: ; preds = %4417, %4414, %.thread12275 + %4420 = phi i32 [ 0, %4414 ], [ 0, %.thread12275 ], [ %4418, %4417 ] %4421 = call zeroext i1 @zend_may_throw(ptr noundef nonnull %2501, ptr noundef %.09621, ptr noundef %.09771, ptr noundef nonnull %40) #33 %4422 = zext i1 %4421 to i32 - %4423 = call fastcc i32 @zend_jit_assign_op(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %4366, i32 noundef %.1973812665, ptr noundef %4411, i32 noundef %4362, ptr noundef %4412, i32 noundef %4420, i32 noundef %4422) - %.not11527 = icmp eq i32 %4423, 0 - br i1 %.not11527, label %zend_jit_stack_check.exit.thread, label %4424 + %4423 = call fastcc i32 @zend_jit_assign_op(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %4366, i32 noundef %.1973812662, ptr noundef %4411, i32 noundef %4362, ptr noundef %4412, i32 noundef %4420, i32 noundef %4422) + %.not11525 = icmp eq i32 %4423, 0 + br i1 %.not11525, label %zend_jit_stack_check.exit.thread, label %4424 4424: ; preds = %4419 - %4425 = and i32 %.1973812665, 268436478 + %4425 = and i32 %.1973812662, 268436478 %4426 = icmp eq i32 %4425, 268435472 - br i1 %4426, label %4427, label %thread-pre-split12618 + br i1 %4426, label %4427, label %thread-pre-split12615 4427: ; preds = %4424 %4428 = load i32, ptr %20, align 4 %4429 = and i32 %4428, 1023 %4430 = call range(i32 0, 11) i32 @llvm.ctpop.i32(i32 %4429) %4431 = icmp eq i32 %4430, 1 - br i1 %4431, label %4432, label %thread-pre-split12618 + br i1 %4431, label %4432, label %thread-pre-split12615 4432: ; preds = %4427 %4433 = load i32, ptr %21, align 4 %4434 = and i32 %4433, 1023 %4435 = call range(i32 0, 11) i32 @llvm.ctpop.i32(i32 %4434) %4436 = icmp eq i32 %4435, 1 - br i1 %4436, label %4437, label %thread-pre-split12618 + br i1 %4436, label %4437, label %thread-pre-split12615 4437: ; preds = %4432 %4438 = load ptr, ptr %2477, align 8 @@ -28798,8 +28798,8 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %4444 = and i32 %4443, -268435457 store i32 %4444, ptr %4442, align 8 %4445 = load i8, ptr %4125, align 1 - %.not11530 = icmp eq i8 %4445, 0 - br i1 %.not11530, label %thread-pre-split12618, label %4446 + %.not11528 = icmp eq i8 %4445, 0 + br i1 %.not11528, label %thread-pre-split12615, label %4446 4446: ; preds = %4437 %4447 = load ptr, ptr %2477, align 8 @@ -28810,13 +28810,13 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %4452 = load i32, ptr %4451, align 8 %4453 = and i32 %4452, -268435457 store i32 %4453, ptr %4451, align 8 - br label %thread-pre-split12618 + br label %thread-pre-split12615 4454: ; preds = %2538 %4455 = getelementptr inbounds nuw i8, ptr %2501, i64 31 %4456 = load i8, ptr %4455, align 1 - %.not11461 = icmp eq i8 %4456, 0 - br i1 %.not11461, label %4457, label %.thread12608 + %.not11459 = icmp eq i8 %4456, 0 + br i1 %.not11459, label %4457, label %.thread12605 4457: ; preds = %4454 %4458 = getelementptr inbounds nuw i8, ptr %2501, i64 20 @@ -28833,8 +28833,8 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %4467 = getelementptr inbounds nuw i8, ptr %.09771, i64 4 %4468 = load i32, ptr %4467, align 4 %4469 = and i32 %4468, 33554432 - %.not11463 = icmp eq i32 %4469, 0 - br i1 %.not11463, label %4475, label %4470 + %.not11461 = icmp eq i32 %4469, 0 + br i1 %.not11461, label %4475, label %4470 4470: ; preds = %4466 %4471 = getelementptr inbounds nuw i8, ptr %2501, i64 40 @@ -28857,56 +28857,56 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %4484 = getelementptr inbounds nuw i8, ptr %4483, i64 8 %4485 = load i8, ptr %4484, align 8 switch i8 %4485, label %4488 [ - i8 11, label %.thread12279 + i8 11, label %.thread12276 i8 7, label %4486 ] 4486: ; preds = %4482 %4487 = call i32 @zend_array_type_info(ptr noundef nonnull %4483) #33 - br label %.thread12279 + br label %.thread12276 4488: ; preds = %4482 %4489 = zext nneg i8 %4485 to i32 %4490 = shl nuw i32 1, %4489 %4491 = getelementptr inbounds nuw i8, ptr %4483, i64 9 %4492 = load i8, ptr %4491, align 1 - %.not11464 = icmp eq i8 %4492, 0 - br i1 %.not11464, label %4495, label %4493 + %.not11462 = icmp eq i8 %4492, 0 + br i1 %.not11462, label %4495, label %4493 4493: ; preds = %4488 %4494 = or i32 %4490, -1073741824 - br label %.thread12279 + br label %.thread12276 4495: ; preds = %4488 %4496 = icmp eq i8 %4485, 6 - %spec.select11840 = select i1 %4496, i32 -2147483584, i32 %4490 - br label %.thread12279 + %spec.select11838 = select i1 %4496, i32 -2147483584, i32 %4490 + br label %.thread12276 4497: ; preds = %4457 %4498 = load ptr, ptr %2477, align 8 - %.not11462 = icmp eq ptr %4498, null - br i1 %.not11462, label %.thread12279, label %4499 + %.not11460 = icmp eq ptr %4498, null + br i1 %.not11460, label %.thread12276, label %4499 4499: ; preds = %4497 %4500 = load i32, ptr %4462, align 4 %4501 = icmp sgt i32 %4500, -1 - br i1 %4501, label %4502, label %.thread12279 + br i1 %4501, label %4502, label %.thread12276 4502: ; preds = %4499 %4503 = zext nneg i32 %4500 to i64 %4504 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %4498, i64 %4503 %4505 = load i32, ptr %4504, align 8 - br label %.thread12279 + br label %.thread12276 -.thread12279: ; preds = %4497, %4495, %4502, %4499, %4486, %4482, %4493 - %.09926 = phi i32 [ %4487, %4486 ], [ -521143298, %4482 ], [ %4494, %4493 ], [ %spec.select11840, %4495 ], [ %4505, %4502 ], [ -486539265, %4499 ], [ -486539265, %4497 ] +.thread12276: ; preds = %4497, %4495, %4502, %4499, %4486, %4482, %4493 + %.09926 = phi i32 [ %4487, %4486 ], [ -521143298, %4482 ], [ %4494, %4493 ], [ %spec.select11838, %4495 ], [ %4505, %4502 ], [ -486539265, %4499 ], [ -486539265, %4497 ] %4506 = call fastcc zeroext i1 @zend_jit_supported_binary_op(i8 noundef zeroext %4460, i32 noundef 1022, i32 noundef %.09926) - br i1 %4506, label %4507, label %thread-pre-split12605 + br i1 %4506, label %4507, label %thread-pre-split12602 -4507: ; preds = %.thread12279 +4507: ; preds = %.thread12276 %4508 = getelementptr inbounds nuw i8, ptr %2501, i64 29 %4509 = load i8, ptr %4508, align 1 - switch i8 %4509, label %.thread12282 [ + switch i8 %4509, label %.thread12279 [ i8 8, label %4510 i8 1, label %4519 ] @@ -28914,7 +28914,7 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 4510: ; preds = %4507 %4511 = load i8, ptr %4463, align 1 %4512 = icmp eq i8 %4511, 8 - br i1 %4512, label %4513, label %.thread12282 + br i1 %4512, label %4513, label %.thread12279 4513: ; preds = %4510 %4514 = getelementptr inbounds nuw i8, ptr %2501, i64 40 @@ -28922,14 +28922,14 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %4516 = getelementptr inbounds nuw i8, ptr %2501, i64 8 %4517 = load i32, ptr %4516, align 8 %4518 = icmp eq i32 %4515, %4517 - br i1 %4518, label %thread-pre-split12605, label %.thread12282 + br i1 %4518, label %thread-pre-split12602, label %.thread12279 4519: ; preds = %4507 %4520 = getelementptr inbounds nuw i8, ptr %.09771, i64 4 %4521 = load i32, ptr %4520, align 4 %4522 = and i32 %4521, 33554432 - %.not11466 = icmp eq i32 %4522, 0 - br i1 %.not11466, label %4528, label %4523 + %.not11464 = icmp eq i32 %4522, 0 + br i1 %.not11464, label %4528, label %4523 4523: ; preds = %4519 %4524 = getelementptr inbounds nuw i8, ptr %2501, i64 8 @@ -28952,55 +28952,55 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %4537 = getelementptr inbounds nuw i8, ptr %4536, i64 8 %4538 = load i8, ptr %4537, align 8 switch i8 %4538, label %4541 [ - i8 11, label %.thread12283 + i8 11, label %.thread12280 i8 7, label %4539 ] 4539: ; preds = %4535 %4540 = call i32 @zend_array_type_info(ptr noundef nonnull %4536) #33 - br label %.thread12283 + br label %.thread12280 4541: ; preds = %4535 %4542 = zext nneg i8 %4538 to i32 %4543 = shl nuw i32 1, %4542 %4544 = getelementptr inbounds nuw i8, ptr %4536, i64 9 %4545 = load i8, ptr %4544, align 1 - %.not11467 = icmp eq i8 %4545, 0 - br i1 %.not11467, label %4548, label %4546 + %.not11465 = icmp eq i8 %4545, 0 + br i1 %.not11465, label %4548, label %4546 4546: ; preds = %4541 %4547 = or i32 %4543, -1073741824 - br label %.thread12283 + br label %.thread12280 4548: ; preds = %4541 %4549 = icmp eq i8 %4538, 6 - %spec.select11841 = select i1 %4549, i32 -2147483584, i32 %4543 - br label %.thread12283 + %spec.select11839 = select i1 %4549, i32 -2147483584, i32 %4543 + br label %.thread12280 -.thread12282: ; preds = %4507, %4510, %4513 +.thread12279: ; preds = %4507, %4510, %4513 %4550 = load ptr, ptr %2477, align 8 - %.not11465 = icmp eq ptr %4550, null - br i1 %.not11465, label %.thread12283, label %4551 + %.not11463 = icmp eq ptr %4550, null + br i1 %.not11463, label %.thread12280, label %4551 -4551: ; preds = %.thread12282 +4551: ; preds = %.thread12279 %4552 = load i32, ptr %.09621, align 4 %4553 = icmp sgt i32 %4552, -1 - br i1 %4553, label %4554, label %.thread12283 + br i1 %4553, label %4554, label %.thread12280 4554: ; preds = %4551 %4555 = zext nneg i32 %4552 to i64 %4556 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %4550, i64 %4555 %4557 = load i32, ptr %4556, align 8 - br label %.thread12283 + br label %.thread12280 -.thread12283: ; preds = %.thread12282, %4548, %4554, %4551, %4539, %4535, %4546 - %.09927 = phi i32 [ %4540, %4539 ], [ -521143298, %4535 ], [ %4547, %4546 ], [ %spec.select11841, %4548 ], [ %4557, %4554 ], [ -486539265, %4551 ], [ -486539265, %.thread12282 ] +.thread12280: ; preds = %.thread12279, %4548, %4554, %4551, %4539, %4535, %4546 + %.09927 = phi i32 [ %4540, %4539 ], [ -521143298, %4535 ], [ %4547, %4546 ], [ %spec.select11839, %4548 ], [ %4557, %4554 ], [ -486539265, %4551 ], [ -486539265, %.thread12279 ] store i32 %.09927, ptr %20, align 4 %4558 = load ptr, ptr %2479, align 8 - %.not11468 = icmp eq ptr %4558, null - br i1 %.not11468, label %4569, label %4559 + %.not11466 = icmp eq ptr %4558, null + br i1 %.not11466, label %4569, label %4559 -4559: ; preds = %.thread12283 +4559: ; preds = %.thread12280 %4560 = load i32, ptr %.09621, align 4 %4561 = icmp sgt i32 %4560, -1 br i1 %4561, label %4562, label %4569 @@ -29009,23 +29009,23 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %4563 = zext nneg i32 %4560 to i64 %4564 = getelementptr inbounds nuw %struct._zend_jit_reg_var, ptr %4558, i64 %4563 %4565 = load i32, ptr %4564, align 4 - %.not11469 = icmp eq i32 %4565, 0 - br i1 %.not11469, label %4569, label %4566 + %.not11467 = icmp eq i32 %4565, 0 + br i1 %.not11467, label %4569, label %4566 4566: ; preds = %4562 %4567 = shl nuw nsw i64 %4563, 2 %4568 = or disjoint i64 %4567, 2 - %.pre13277 = load i8, ptr %4508, align 1 + %.pre13274 = load i8, ptr %4508, align 1 br label %4581 -4569: ; preds = %4562, %4559, %.thread12283 +4569: ; preds = %4562, %4559, %.thread12280 %4570 = load i8, ptr %4508, align 1 %4571 = icmp eq i8 %4570, 1 %4572 = getelementptr inbounds nuw i8, ptr %2501, i64 8 %4573 = load i32, ptr %4572, align 8 - br i1 %4571, label %.thread13313, label %4577 + br i1 %4571, label %.thread13310, label %4577 -.thread13313: ; preds = %4569 +.thread13310: ; preds = %4569 %4574 = sext i32 %4573 to i64 %4575 = getelementptr inbounds i8, ptr %2501, i64 %4574 %4576 = ptrtoint ptr %4575 to i64 @@ -29039,18 +29039,18 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 br label %4581 4581: ; preds = %4577, %4566 - %4582 = phi i8 [ %.pre13277, %4566 ], [ %4570, %4577 ] + %4582 = phi i8 [ %.pre13274, %4566 ], [ %4570, %4577 ] %4583 = phi i64 [ %4568, %4566 ], [ %4580, %4577 ] store i64 %4583, ptr %22, align 8 %4584 = icmp eq i8 %4582, 4 br i1 %4584, label %4585, label %4594 4585: ; preds = %4581 - %.not11470 = icmp eq i8 %2495, -1 + %.not11468 = icmp eq i8 %2495, -1 %4586 = and i32 %2502, 64 - %.not11471 = icmp eq i32 %4586, 0 - %or.cond11842 = select i1 %.not11470, i1 true, i1 %.not11471 - br i1 %or.cond11842, label %thread-pre-split12605, label %4587 + %.not11469 = icmp eq i32 %4586, 0 + %or.cond11840 = select i1 %.not11468, i1 true, i1 %.not11469 + br i1 %or.cond11840, label %thread-pre-split12602, label %4587 4587: ; preds = %4585 %4588 = load ptr, ptr %2477, align 8 @@ -29058,16 +29058,16 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %4590 = sext i32 %4589 to i64 %4591 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %4588, i64 %4590, i32 1 %4592 = load i8, ptr %4591, align 4 - %.not11472 = icmp sgt i8 %4592, -1 - %4593 = call fastcc zeroext i1 @zend_jit_fetch_indirect_var(ptr noundef %17, ptr noundef nonnull %2501, i8 noundef zeroext %2495, ptr noundef %20, ptr noundef %22, i1 noundef zeroext %.not11472) + %.not11470 = icmp sgt i8 %4592, -1 + %4593 = call fastcc zeroext i1 @zend_jit_fetch_indirect_var(ptr noundef %17, ptr noundef nonnull %2501, i8 noundef zeroext %2495, ptr noundef %20, ptr noundef %22, i1 noundef zeroext %.not11470) br i1 %4593, label %4594, label %zend_jit_stack_check.exit.thread -4594: ; preds = %.thread13313, %4587, %4581 - %.not11473 = icmp eq i8 %2495, -1 +4594: ; preds = %.thread13310, %4587, %4581 + %.not11471 = icmp eq i8 %2495, -1 %4595 = and i32 %2502, 32 - %.not11474 = icmp eq i32 %4595, 0 - %or.cond11843 = select i1 %.not11473, i1 true, i1 %.not11474 - br i1 %or.cond11843, label %4621, label %4596 + %.not11472 = icmp eq i32 %4595, 0 + %or.cond11841 = select i1 %.not11471, i1 true, i1 %.not11472 + br i1 %or.cond11841, label %4621, label %4596 4596: ; preds = %4594 %4597 = load ptr, ptr %2477, align 8 @@ -29076,8 +29076,8 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %4600 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %4597, i64 %4599, i32 1 %4601 = load i8, ptr %4600, align 4 %4602 = and i8 %4601, 64 - %.not11480 = icmp eq i8 %4602, 0 - %4603 = call fastcc zeroext i1 @zend_jit_fetch_reference(ptr noundef %17, ptr noundef nonnull %2501, i8 noundef zeroext %2495, ptr noundef %20, ptr noundef %22, i1 noundef zeroext %.not11480) + %.not11478 = icmp eq i8 %4602, 0 + %4603 = call fastcc zeroext i1 @zend_jit_fetch_reference(ptr noundef %17, ptr noundef nonnull %2501, i8 noundef zeroext %2495, ptr noundef %20, ptr noundef %22, i1 noundef zeroext %.not11478) br i1 %4603, label %4604, label %zend_jit_stack_check.exit.thread 4604: ; preds = %4596 @@ -29111,15 +29111,15 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 4623: ; preds = %4621 %4624 = load i32, ptr %20, align 4 %4625 = and i32 %4624, 268435456 - %.not11476 = icmp eq i32 %4625, 0 - br i1 %.not11476, label %4713, label %4626 + %.not11474 = icmp eq i32 %4625, 0 + br i1 %.not11474, label %4713, label %4626 4626: ; preds = %4623 %4627 = getelementptr inbounds nuw i8, ptr %2501, i64 8 %4628 = load i32, ptr %4627, align 8 %4629 = call fastcc i32 @zend_jit_type_guard(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %4628, i8 noundef zeroext %2504) - %.not11477 = icmp eq i32 %4629, 0 - br i1 %.not11477, label %zend_jit_stack_check.exit.thread, label %4630 + %.not11475 = icmp eq i32 %4629, 0 + br i1 %.not11475, label %zend_jit_stack_check.exit.thread, label %4630 4630: ; preds = %4626 %4631 = load ptr, ptr %2478, align 8 @@ -29128,13 +29128,13 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %4634 = getelementptr inbounds %struct._zend_ssa_var, ptr %4631, i64 %4633, i32 7 %4635 = load i8, ptr %4634, align 8 %4636 = and i8 %4635, 12 - %.not11478 = icmp eq i8 %4636, 0 + %.not11476 = icmp eq i8 %4636, 0 %4637 = load i32, ptr %4627, align 8 %4638 = lshr i32 %4637, 4 %4639 = add nsw i32 %4638, -5 %4640 = zext i32 %4639 to i64 %4641 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %4640 - br i1 %.not11478, label %4675, label %4642 + br i1 %.not11476, label %4675, label %4642 4642: ; preds = %4630 store i8 -1, ptr %4641, align 4 @@ -29174,10 +29174,10 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 store i8 0, ptr %4671, align 1 %4672 = shl nuw i32 1, %4622 %4673 = icmp ult i8 %2504, 6 - %.not11479 = icmp eq i8 %2504, 7 + %.not11477 = icmp eq i8 %2504, 7 %4674 = or i32 %4672, -1073741824 - %spec.select12019 = select i1 %.not11479, i32 -520095616, i32 %4674 - %.09870 = select i1 %4673, i32 %4672, i32 %spec.select12019 + %spec.select12017 = select i1 %.not11477, i32 -520095616, i32 %4674 + %.09870 = select i1 %4673, i32 %4672, i32 %spec.select12017 store i32 %.09870, ptr %20, align 4 br label %4713 @@ -29239,8 +29239,8 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %4718 = getelementptr inbounds nuw i8, ptr %.09771, i64 4 %4719 = load i32, ptr %4718, align 4 %4720 = and i32 %4719, 33554432 - %.not11482 = icmp eq i32 %4720, 0 - br i1 %.not11482, label %4726, label %4721 + %.not11480 = icmp eq i32 %4720, 0 + br i1 %.not11480, label %4726, label %4721 4721: ; preds = %4717 %4722 = getelementptr inbounds nuw i8, ptr %2501, i64 12 @@ -29263,7 +29263,7 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %4735 = getelementptr inbounds nuw i8, ptr %4734, i64 8 %4736 = load i8, ptr %4735, align 8 switch i8 %4736, label %4739 [ - i8 11, label %.thread12288 + i8 11, label %.thread12285 i8 7, label %4737 ] @@ -29276,8 +29276,8 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %4741 = shl nuw i32 1, %4740 %4742 = getelementptr inbounds nuw i8, ptr %4734, i64 9 %4743 = load i8, ptr %4742, align 1 - %.not11483 = icmp eq i8 %4743, 0 - br i1 %.not11483, label %4746, label %4744 + %.not11481 = icmp eq i8 %4743, 0 + br i1 %.not11481, label %4746, label %4744 4744: ; preds = %4739 %4745 = or i32 %4741, -1073741824 @@ -29285,19 +29285,19 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 4746: ; preds = %4739 %4747 = icmp eq i8 %4736, 6 - %spec.select11844 = select i1 %4747, i32 -2147483584, i32 %4741 + %spec.select11842 = select i1 %4747, i32 -2147483584, i32 %4741 br label %4758 4748: ; preds = %4713 %4749 = load ptr, ptr %2477, align 8 - %.not11481 = icmp eq ptr %4749, null - br i1 %.not11481, label %.thread12288, label %4750 + %.not11479 = icmp eq ptr %4749, null + br i1 %.not11479, label %.thread12285, label %4750 4750: ; preds = %4748 %4751 = getelementptr inbounds nuw i8, ptr %.09621, i64 4 %4752 = load i32, ptr %4751, align 4 %4753 = icmp sgt i32 %4752, -1 - br i1 %4753, label %4754, label %.thread12288 + br i1 %4753, label %4754, label %.thread12285 4754: ; preds = %4750 %4755 = zext nneg i32 %4752 to i64 @@ -29305,27 +29305,27 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %4757 = load i32, ptr %4756, align 8 br label %4758 -.thread12288: ; preds = %4733, %4750, %4748 +.thread12285: ; preds = %4733, %4750, %4748 %.09902.ph = phi i32 [ -486539265, %4750 ], [ -521143298, %4733 ], [ -486539265, %4748 ] store i32 %.09902.ph, ptr %21, align 4 br label %4849 4758: ; preds = %4746, %4754, %4737, %4744 - %.09902 = phi i32 [ %4738, %4737 ], [ %4745, %4744 ], [ %spec.select11844, %4746 ], [ %4757, %4754 ] + %.09902 = phi i32 [ %4738, %4737 ], [ %4745, %4744 ], [ %spec.select11842, %4746 ], [ %4757, %4754 ] store i32 %.09902, ptr %21, align 4 %4759 = zext nneg i8 %spec.store.select to i32 - %.not11484 = icmp eq i8 %spec.store.select, -1 + %.not11482 = icmp eq i8 %spec.store.select, -1 %4760 = and i32 %.09902, 268435456 - %.not11485 = icmp eq i32 %4760, 0 - %or.cond11845 = select i1 %.not11484, i1 true, i1 %.not11485 - br i1 %or.cond11845, label %4849, label %4761 + %.not11483 = icmp eq i32 %4760, 0 + %or.cond11843 = select i1 %.not11482, i1 true, i1 %.not11483 + br i1 %or.cond11843, label %4849, label %4761 4761: ; preds = %4758 %4762 = getelementptr inbounds nuw i8, ptr %2501, i64 12 %4763 = load i32, ptr %4762, align 4 %4764 = call fastcc i32 @zend_jit_type_guard(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %4763, i8 noundef zeroext %spec.store.select) - %.not11486 = icmp eq i32 %4764, 0 - br i1 %.not11486, label %zend_jit_stack_check.exit.thread, label %4765 + %.not11484 = icmp eq i32 %4764, 0 + br i1 %.not11484, label %zend_jit_stack_check.exit.thread, label %4765 4765: ; preds = %4761 %4766 = load ptr, ptr %2478, align 8 @@ -29335,13 +29335,13 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %4770 = getelementptr inbounds %struct._zend_ssa_var, ptr %4766, i64 %4769, i32 7 %4771 = load i8, ptr %4770, align 8 %4772 = and i8 %4771, 12 - %.not11487 = icmp eq i8 %4772, 0 + %.not11485 = icmp eq i8 %4772, 0 %4773 = load i32, ptr %4762, align 4 %4774 = lshr i32 %4773, 4 %4775 = add nsw i32 %4774, -5 %4776 = zext i32 %4775 to i64 %4777 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %4776 - br i1 %.not11487, label %4811, label %4778 + br i1 %.not11485, label %4811, label %4778 4778: ; preds = %4765 store i8 -1, ptr %4777, align 4 @@ -29381,10 +29381,10 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 store i8 0, ptr %4807, align 1 %4808 = shl nuw i32 1, %4759 %4809 = icmp ult i8 %spec.store.select, 6 - %.not11488 = icmp eq i8 %spec.store.select, 7 + %.not11486 = icmp eq i8 %spec.store.select, 7 %4810 = or i32 %4808, -1073741824 - %spec.select12020 = select i1 %.not11488, i32 -520095616, i32 %4810 - %.09868 = select i1 %4809, i32 %4808, i32 %spec.select12020 + %spec.select12018 = select i1 %.not11486, i32 -520095616, i32 %4810 + %.09868 = select i1 %4809, i32 %4808, i32 %spec.select12018 store i32 %.09868, ptr %21, align 4 br label %4849 @@ -29436,7 +29436,7 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 store i32 %4848, ptr %4846, align 8 br label %4849 -4849: ; preds = %.thread12288, %4758, %4778, %4811 +4849: ; preds = %.thread12285, %4758, %4778, %4811 %4850 = load i8, ptr %4463, align 1 %4851 = icmp eq i8 %4850, 1 br i1 %4851, label %4852, label %4883 @@ -29445,8 +29445,8 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %4853 = getelementptr inbounds nuw i8, ptr %.09771, i64 4 %4854 = load i32, ptr %4853, align 4 %4855 = and i32 %4854, 33554432 - %.not11490 = icmp eq i32 %4855, 0 - br i1 %.not11490, label %4861, label %4856 + %.not11488 = icmp eq i32 %4855, 0 + br i1 %.not11488, label %4861, label %4856 4856: ; preds = %4852 %4857 = getelementptr inbounds nuw i8, ptr %2501, i64 40 @@ -29469,7 +29469,7 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %4870 = getelementptr inbounds nuw i8, ptr %4869, i64 8 %4871 = load i8, ptr %4870, align 8 switch i8 %4871, label %4874 [ - i8 11, label %.thread12296 + i8 11, label %.thread12293 i8 7, label %4872 ] @@ -29482,8 +29482,8 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %4876 = shl nuw i32 1, %4875 %4877 = getelementptr inbounds nuw i8, ptr %4869, i64 9 %4878 = load i8, ptr %4877, align 1 - %.not11491 = icmp eq i8 %4878, 0 - br i1 %.not11491, label %4881, label %4879 + %.not11489 = icmp eq i8 %4878, 0 + br i1 %.not11489, label %4881, label %4879 4879: ; preds = %4874 %4880 = or i32 %4876, -1073741824 @@ -29491,18 +29491,18 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 4881: ; preds = %4874 %4882 = icmp eq i8 %4871, 6 - %spec.select11846 = select i1 %4882, i32 -2147483584, i32 %4876 + %spec.select11844 = select i1 %4882, i32 -2147483584, i32 %4876 br label %4892 4883: ; preds = %4849 %4884 = load ptr, ptr %2477, align 8 - %.not11489 = icmp eq ptr %4884, null - br i1 %.not11489, label %.thread12303, label %4885 + %.not11487 = icmp eq ptr %4884, null + br i1 %.not11487, label %.thread12300, label %4885 4885: ; preds = %4883 %4886 = load i32, ptr %4462, align 4 %4887 = icmp sgt i32 %4886, -1 - br i1 %4887, label %4888, label %.thread12296.thread13319 + br i1 %4887, label %4888, label %.thread12293.thread13316 4888: ; preds = %4885 %4889 = zext nneg i32 %4886 to i64 @@ -29511,20 +29511,20 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 br label %4892 4892: ; preds = %4881, %4888, %4872, %4879 - %.09928 = phi i32 [ %4873, %4872 ], [ %4880, %4879 ], [ %spec.select11846, %4881 ], [ %4891, %4888 ] + %.09928 = phi i32 [ %4873, %4872 ], [ %4880, %4879 ], [ %spec.select11844, %4881 ], [ %4891, %4888 ] %4893 = zext nneg i8 %spec.store.select209 to i32 - %.not11492 = icmp eq i8 %spec.store.select209, -1 + %.not11490 = icmp eq i8 %spec.store.select209, -1 %4894 = and i32 %.09928, 268435456 - %.not11493 = icmp eq i32 %4894, 0 - %or.cond11847 = select i1 %.not11492, i1 true, i1 %.not11493 - br i1 %or.cond11847, label %.thread12296, label %4895 + %.not11491 = icmp eq i32 %4894, 0 + %or.cond11845 = select i1 %.not11490, i1 true, i1 %.not11491 + br i1 %or.cond11845, label %.thread12293, label %4895 4895: ; preds = %4892 %4896 = getelementptr inbounds nuw i8, ptr %2501, i64 40 %4897 = load i32, ptr %4896, align 8 %4898 = call fastcc i32 @zend_jit_type_guard(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %4897, i8 noundef zeroext %spec.store.select209) - %.not11494 = icmp eq i32 %4898, 0 - br i1 %.not11494, label %zend_jit_stack_check.exit.thread, label %4899 + %.not11492 = icmp eq i32 %4898, 0 + br i1 %.not11492, label %zend_jit_stack_check.exit.thread, label %4899 4899: ; preds = %4895 %4900 = load ptr, ptr %2478, align 8 @@ -29533,13 +29533,13 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %4903 = getelementptr inbounds %struct._zend_ssa_var, ptr %4900, i64 %4902, i32 7 %4904 = load i8, ptr %4903, align 8 %4905 = and i8 %4904, 12 - %.not11495 = icmp eq i8 %4905, 0 + %.not11493 = icmp eq i8 %4905, 0 %4906 = load i32, ptr %4896, align 8 %4907 = lshr i32 %4906, 4 %4908 = add nsw i32 %4907, -5 %4909 = zext i32 %4908 to i64 %4910 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %4909 - br i1 %.not11495, label %4945, label %4911 + br i1 %.not11493, label %4945, label %4911 4911: ; preds = %4899 store i8 -1, ptr %4910, align 4 @@ -29579,13 +29579,13 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 store i8 0, ptr %4940, align 1 %4941 = shl nuw i32 1, %4893 %4942 = icmp ult i8 %spec.store.select209, 6 - br i1 %4942, label %.thread12296, label %4943 + br i1 %4942, label %.thread12293, label %4943 4943: ; preds = %4911 - %.not11496 = icmp eq i8 %spec.store.select209, 7 + %.not11494 = icmp eq i8 %spec.store.select209, 7 %4944 = or i32 %4941, -1073741824 - %spec.select12021 = select i1 %.not11496, i32 -520095616, i32 %4944 - br label %.thread12296 + %spec.select12019 = select i1 %.not11494, i32 -520095616, i32 %4944 + br label %.thread12293 4945: ; preds = %4899 store i8 %spec.store.select209, ptr %4910, align 4 @@ -29631,49 +29631,49 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %4980 = load i32, ptr %4979, align 8 %4981 = and i32 %4980, %4975 store i32 %4981, ptr %4979, align 8 - br label %.thread12296 + br label %.thread12293 -.thread12296: ; preds = %4868, %4943, %4911, %4892, %4945 - %.09725.ph = phi i32 [ -521143298, %4868 ], [ %spec.select12021, %4943 ], [ %4941, %4911 ], [ %.09928, %4892 ], [ %4975, %4945 ] - %.pr13314 = load ptr, ptr %2477, align 8 - %.not11497 = icmp eq ptr %.pr13314, null - br i1 %.not11497, label %.thread12303, label %.thread12296.thread13319 +.thread12293: ; preds = %4868, %4943, %4911, %4892, %4945 + %.09725.ph = phi i32 [ -521143298, %4868 ], [ %spec.select12019, %4943 ], [ %4941, %4911 ], [ %.09928, %4892 ], [ %4975, %4945 ] + %.pr13311 = load ptr, ptr %2477, align 8 + %.not11495 = icmp eq ptr %.pr13311, null + br i1 %.not11495, label %.thread12300, label %.thread12293.thread13316 -.thread12296.thread13319: ; preds = %4885, %.thread12296 - %.0972513322 = phi i32 [ %.09725.ph, %.thread12296 ], [ -486539265, %4885 ] - %4982 = phi ptr [ %.pr13314, %.thread12296 ], [ %4884, %4885 ] +.thread12293.thread13316: ; preds = %4885, %.thread12293 + %.0972513319 = phi i32 [ %.09725.ph, %.thread12293 ], [ -486539265, %4885 ] + %4982 = phi ptr [ %.pr13311, %.thread12293 ], [ %4884, %4885 ] %4983 = getelementptr inbounds nuw i8, ptr %.09621, i64 12 %4984 = load i32, ptr %4983, align 4 %4985 = icmp sgt i32 %4984, -1 br i1 %4985, label %4986, label %4990 -4986: ; preds = %.thread12296.thread13319 +4986: ; preds = %.thread12293.thread13316 %4987 = zext nneg i32 %4984 to i64 %4988 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %4982, i64 %4987 %4989 = load i32, ptr %4988, align 8 br label %4990 -4990: ; preds = %.thread12296.thread13319, %4986 - %.09448 = phi i32 [ %4989, %4986 ], [ -486539265, %.thread12296.thread13319 ] +4990: ; preds = %.thread12293.thread13316, %4986 + %.09448 = phi i32 [ %4989, %4986 ], [ -486539265, %.thread12293.thread13316 ] %4991 = load i32, ptr %20, align 4 %4992 = load i64, ptr %22, align 8 %4993 = load i32, ptr %21, align 4 %4994 = load i8, ptr %4508, align 1 %4995 = and i8 %4994, 14 - %.not11498 = icmp eq i8 %4995, 0 - br i1 %.not11498, label %.thread12308, label %4999 + %.not11496 = icmp eq i8 %4995, 0 + br i1 %.not11496, label %.thread12305, label %4999 -.thread12303: ; preds = %4883, %.thread12296 - %.0972513318 = phi i32 [ %.09725.ph, %.thread12296 ], [ -486539265, %4883 ] +.thread12300: ; preds = %4883, %.thread12293 + %.0972513315 = phi i32 [ %.09725.ph, %.thread12293 ], [ -486539265, %4883 ] %4996 = load i32, ptr %20, align 4 %4997 = load i64, ptr %22, align 8 %4998 = load i32, ptr %21, align 4 - br label %.thread12308 + br label %.thread12305 4999: ; preds = %4990 %5000 = load i32, ptr %4462, align 4 %5001 = icmp sgt i32 %5000, -1 - br i1 %5001, label %5002, label %.thread12308 + br i1 %5001, label %5002, label %.thread12305 5002: ; preds = %4999 %5003 = zext nneg i32 %5000 to i64 @@ -29682,27 +29682,27 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %5006 = load i8, ptr %5005, align 4 %5007 = trunc i8 %5006 to i1 %5008 = getelementptr inbounds nuw i8, ptr %5004, i64 8 - %spec.select11848 = select i1 %5007, ptr %5008, ptr null - br label %.thread12308 - -.thread12308: ; preds = %.thread12303, %5002, %4990, %4999 - %.0972513317 = phi i32 [ %.0972513322, %4999 ], [ %.0972513322, %4990 ], [ %.0972513322, %5002 ], [ %.0972513318, %.thread12303 ] - %5009 = phi i32 [ %4993, %4999 ], [ %4993, %4990 ], [ %4993, %5002 ], [ %4998, %.thread12303 ] - %5010 = phi i64 [ %4992, %4999 ], [ %4992, %4990 ], [ %4992, %5002 ], [ %4997, %.thread12303 ] - %5011 = phi i32 [ %4991, %4999 ], [ %4991, %4990 ], [ %4991, %5002 ], [ %4996, %.thread12303 ] - %.0944812307 = phi i32 [ %.09448, %4999 ], [ %.09448, %4990 ], [ %.09448, %5002 ], [ -486539265, %.thread12303 ] - %5012 = phi ptr [ null, %4999 ], [ null, %4990 ], [ %spec.select11848, %5002 ], [ null, %.thread12303 ] + %spec.select11846 = select i1 %5007, ptr %5008, ptr null + br label %.thread12305 + +.thread12305: ; preds = %.thread12300, %5002, %4990, %4999 + %.0972513314 = phi i32 [ %.0972513319, %4999 ], [ %.0972513319, %4990 ], [ %.0972513319, %5002 ], [ %.0972513315, %.thread12300 ] + %5009 = phi i32 [ %4993, %4999 ], [ %4993, %4990 ], [ %4993, %5002 ], [ %4998, %.thread12300 ] + %5010 = phi i64 [ %4992, %4999 ], [ %4992, %4990 ], [ %4992, %5002 ], [ %4997, %.thread12300 ] + %5011 = phi i32 [ %4991, %4999 ], [ %4991, %4990 ], [ %4991, %5002 ], [ %4996, %.thread12300 ] + %.0944812304 = phi i32 [ %.09448, %4999 ], [ %.09448, %4990 ], [ %.09448, %5002 ], [ -486539265, %.thread12300 ] + %5012 = phi ptr [ null, %4999 ], [ null, %4990 ], [ %spec.select11846, %5002 ], [ null, %.thread12300 ] %5013 = call zeroext i1 @zend_may_throw_ex(ptr noundef nonnull %2501, ptr noundef %.09621, ptr noundef %.09771, ptr noundef nonnull %40, i32 noundef %5011, i32 noundef %5009) #33 %5014 = zext i1 %5013 to i32 - %5015 = call fastcc i32 @zend_jit_assign_dim_op(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %5011, i32 noundef %.0944812307, i64 noundef %5010, i32 noundef %5009, i32 noundef %.0972513317, ptr noundef %5012, i8 noundef zeroext %.09584, i32 noundef %5014) - %.not11500 = icmp eq i32 %5015, 0 - br i1 %.not11500, label %zend_jit_stack_check.exit.thread, label %thread-pre-split12618 + %5015 = call fastcc i32 @zend_jit_assign_dim_op(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %5011, i32 noundef %.0944812304, i64 noundef %5010, i32 noundef %5009, i32 noundef %.0972513314, ptr noundef %5012, i8 noundef zeroext %.09584, i32 noundef %5014) + %.not11498 = icmp eq i32 %5015, 0 + br i1 %.not11498, label %zend_jit_stack_check.exit.thread, label %thread-pre-split12615 5016: ; preds = %2538, %2538, %2538, %2538 %5017 = getelementptr inbounds nuw i8, ptr %2501, i64 30 %5018 = load i8, ptr %5017, align 2 - %.not11433 = icmp eq i8 %5018, 1 - br i1 %.not11433, label %5019, label %thread-pre-split12605 + %.not11431 = icmp eq i8 %5018, 1 + br i1 %.not11431, label %5019, label %thread-pre-split12602 5019: ; preds = %5016 %5020 = getelementptr inbounds nuw i8, ptr %2501, i64 12 @@ -29711,15 +29711,15 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %5023 = getelementptr inbounds i8, ptr %2501, i64 %5022 %5024 = getelementptr inbounds nuw i8, ptr %5023, i64 8 %5025 = load i8, ptr %5024, align 8 - %.not11434 = icmp eq i8 %5025, 6 - br i1 %.not11434, label %5026, label %thread-pre-split12605 + %.not11432 = icmp eq i8 %5025, 6 + br i1 %.not11432, label %5026, label %thread-pre-split12602 5026: ; preds = %5019 %5027 = load ptr, ptr %5023, align 8 %5028 = getelementptr inbounds nuw i8, ptr %5027, i64 24 %5029 = load i8, ptr %5028, align 8 %5030 = icmp eq i8 %5029, 0 - br i1 %5030, label %thread-pre-split12605, label %5031 + br i1 %5030, label %thread-pre-split12602, label %5031 5031: ; preds = %5026 %5032 = getelementptr inbounds nuw i8, ptr %2501, i64 29 @@ -29760,8 +29760,8 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %5054 = getelementptr inbounds nuw i8, ptr %.09771, i64 4 %5055 = load i32, ptr %5054, align 4 %5056 = and i32 %5055, 33554432 - %.not11437 = icmp eq i32 %5056, 0 - br i1 %.not11437, label %5062, label %5057 + %.not11435 = icmp eq i32 %5056, 0 + br i1 %.not11435, label %5062, label %5057 5057: ; preds = %5053 %5058 = getelementptr inbounds nuw i8, ptr %2501, i64 8 @@ -29784,7 +29784,7 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %5071 = getelementptr inbounds nuw i8, ptr %5070, i64 8 %5072 = load i8, ptr %5071, align 8 switch i8 %5072, label %5075 [ - i8 11, label %.thread12313 + i8 11, label %.thread12310 i8 7, label %5073 ] @@ -29797,8 +29797,8 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %5077 = shl nuw i32 1, %5076 %5078 = getelementptr inbounds nuw i8, ptr %5070, i64 9 %5079 = load i8, ptr %5078, align 1 - %.not11438 = icmp eq i8 %5079, 0 - br i1 %.not11438, label %5082, label %5080 + %.not11436 = icmp eq i8 %5079, 0 + br i1 %.not11436, label %5082, label %5080 5080: ; preds = %5075 %5081 = or i32 %5077, -1073741824 @@ -29806,14 +29806,14 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 5082: ; preds = %5075 %5083 = icmp eq i8 %5072, 6 - %spec.select11849 = select i1 %5083, i32 -2147483584, i32 %5077 + %spec.select11847 = select i1 %5083, i32 -2147483584, i32 %5077 br label %5090 5084: ; preds = %5051 %5085 = load ptr, ptr %2477, align 8 - %.not11436 = icmp ne ptr %5085, null - %or.cond12684 = and i1 %5044, %.not11436 - br i1 %or.cond12684, label %5086, label %.thread12313 + %.not11434 = icmp ne ptr %5085, null + %or.cond12681 = and i1 %5044, %.not11434 + br i1 %or.cond12681, label %5086, label %.thread12310 5086: ; preds = %5084 %5087 = zext nneg i32 %5043 to i64 @@ -29821,22 +29821,22 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %5089 = load i32, ptr %5088, align 8 br label %5090 -.thread12313: ; preds = %5069, %5084 +.thread12310: ; preds = %5069, %5084 %.09930.ph = phi i32 [ -521143298, %5069 ], [ -486539265, %5084 ] store i32 %.09930.ph, ptr %20, align 4 br label %5092 5090: ; preds = %5082, %5086, %5073, %5080 - %.09930 = phi i32 [ %5074, %5073 ], [ %5081, %5080 ], [ %spec.select11849, %5082 ], [ %5089, %5086 ] + %.09930 = phi i32 [ %5074, %5073 ], [ %5081, %5080 ], [ %spec.select11847, %5082 ], [ %5089, %5086 ] store i32 %.09930, ptr %20, align 4 %5091 = and i32 %.09930, 256 - %.not11439 = icmp eq i32 %5091, 0 - br i1 %.not11439, label %thread-pre-split12605, label %5092 + %.not11437 = icmp eq i32 %5091, 0 + br i1 %.not11437, label %thread-pre-split12602, label %5092 -5092: ; preds = %.thread12313, %5090 +5092: ; preds = %.thread12310, %5090 %5093 = load ptr, ptr %2479, align 8 - %.not11440 = icmp eq ptr %5093, null - br i1 %.not11440, label %5104, label %5094 + %.not11438 = icmp eq ptr %5093, null + br i1 %.not11438, label %5104, label %5094 5094: ; preds = %5092 %5095 = load i32, ptr %.09621, align 4 @@ -29847,13 +29847,13 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %5098 = zext nneg i32 %5095 to i64 %5099 = getelementptr inbounds nuw %struct._zend_jit_reg_var, ptr %5093, i64 %5098 %5100 = load i32, ptr %5099, align 4 - %.not11441 = icmp eq i32 %5100, 0 - br i1 %.not11441, label %5104, label %5101 + %.not11439 = icmp eq i32 %5100, 0 + br i1 %.not11439, label %5104, label %5101 5101: ; preds = %5097 %5102 = shl nuw nsw i64 %5098, 2 %5103 = or disjoint i64 %5102, 2 - %.pre13276 = load i8, ptr %5032, align 1 + %.pre13273 = load i8, ptr %5032, align 1 br label %5117 5104: ; preds = %5097, %5094, %5092 @@ -29876,16 +29876,16 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 br label %5117 5117: ; preds = %5109, %5113, %5101 - %5118 = phi i8 [ %.pre13276, %5101 ], [ 1, %5109 ], [ %5105, %5113 ] + %5118 = phi i8 [ %.pre13273, %5101 ], [ 1, %5109 ], [ %5105, %5113 ] %5119 = phi i64 [ %5103, %5101 ], [ %5112, %5109 ], [ %5116, %5113 ] store i64 %5119, ptr %22, align 8 %5120 = icmp ne i8 %5118, 4 %5121 = icmp eq i8 %2495, -1 - %or.cond212.not12714 = or i1 %5121, %5120 + %or.cond212.not12711 = or i1 %5121, %5120 %5122 = and i32 %2502, 64 - %.not11442 = icmp eq i32 %5122, 0 - %or.cond11850 = select i1 %or.cond212.not12714, i1 true, i1 %.not11442 - br i1 %or.cond11850, label %5130, label %5123 + %.not11440 = icmp eq i32 %5122, 0 + %or.cond11848 = select i1 %or.cond212.not12711, i1 true, i1 %.not11440 + br i1 %or.cond11848, label %5130, label %5123 5123: ; preds = %5117 %5124 = load ptr, ptr %2477, align 8 @@ -29893,16 +29893,16 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %5126 = sext i32 %5125 to i64 %5127 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %5124, i64 %5126, i32 1 %5128 = load i8, ptr %5127, align 4 - %.not11443 = icmp sgt i8 %5128, -1 - %5129 = call fastcc zeroext i1 @zend_jit_fetch_indirect_var(ptr noundef %17, ptr noundef nonnull %2501, i8 noundef zeroext %2495, ptr noundef %20, ptr noundef %22, i1 noundef zeroext %.not11443) + %.not11441 = icmp sgt i8 %5128, -1 + %5129 = call fastcc zeroext i1 @zend_jit_fetch_indirect_var(ptr noundef %17, ptr noundef nonnull %2501, i8 noundef zeroext %2495, ptr noundef %20, ptr noundef %22, i1 noundef zeroext %.not11441) br i1 %5129, label %5130, label %zend_jit_stack_check.exit.thread 5130: ; preds = %5123, %5117 - %.19580 = xor i1 %or.cond11850, true + %.19580 = xor i1 %or.cond11848, true %5131 = and i32 %2502, 32 - %.not11444 = icmp eq i32 %5131, 0 - %or.cond11852 = select i1 %5121, i1 true, i1 %.not11444 - br i1 %or.cond11852, label %5157, label %5132 + %.not11442 = icmp eq i32 %5131, 0 + %or.cond11850 = select i1 %5121, i1 true, i1 %.not11442 + br i1 %or.cond11850, label %5157, label %5132 5132: ; preds = %5130 %5133 = load ptr, ptr %2477, align 8 @@ -29911,8 +29911,8 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %5136 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %5133, i64 %5135, i32 1 %5137 = load i8, ptr %5136, align 4 %5138 = and i8 %5137, 64 - %.not11450 = icmp eq i8 %5138, 0 - %5139 = call fastcc zeroext i1 @zend_jit_fetch_reference(ptr noundef %17, ptr noundef nonnull %2501, i8 noundef zeroext %2495, ptr noundef %20, ptr noundef %22, i1 noundef zeroext %.not11450) + %.not11448 = icmp eq i8 %5138, 0 + %5139 = call fastcc zeroext i1 @zend_jit_fetch_reference(ptr noundef %17, ptr noundef nonnull %2501, i8 noundef zeroext %2495, ptr noundef %20, ptr noundef %22, i1 noundef zeroext %.not11448) br i1 %5139, label %5140, label %zend_jit_stack_check.exit.thread 5140: ; preds = %5132 @@ -29946,15 +29946,15 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 5159: ; preds = %5157 %5160 = load i32, ptr %20, align 4 %5161 = and i32 %5160, 268435456 - %.not11446 = icmp eq i32 %5161, 0 - br i1 %.not11446, label %5249, label %5162 + %.not11444 = icmp eq i32 %5161, 0 + br i1 %.not11444, label %5249, label %5162 5162: ; preds = %5159 %5163 = getelementptr inbounds nuw i8, ptr %2501, i64 8 %5164 = load i32, ptr %5163, align 8 %5165 = call fastcc i32 @zend_jit_type_guard(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %5164, i8 noundef zeroext %2504) - %.not11447 = icmp eq i32 %5165, 0 - br i1 %.not11447, label %zend_jit_stack_check.exit.thread, label %5166 + %.not11445 = icmp eq i32 %5165, 0 + br i1 %.not11445, label %zend_jit_stack_check.exit.thread, label %5166 5166: ; preds = %5162 %5167 = load ptr, ptr %2478, align 8 @@ -29963,13 +29963,13 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %5170 = getelementptr inbounds %struct._zend_ssa_var, ptr %5167, i64 %5169, i32 7 %5171 = load i8, ptr %5170, align 8 %5172 = and i8 %5171, 12 - %.not11448 = icmp eq i8 %5172, 0 + %.not11446 = icmp eq i8 %5172, 0 %5173 = load i32, ptr %5163, align 8 %5174 = lshr i32 %5173, 4 %5175 = add nsw i32 %5174, -5 %5176 = zext i32 %5175 to i64 %5177 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %5176 - br i1 %.not11448, label %5211, label %5178 + br i1 %.not11446, label %5211, label %5178 5178: ; preds = %5166 store i8 -1, ptr %5177, align 4 @@ -30009,10 +30009,10 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 store i8 0, ptr %5207, align 1 %5208 = shl nuw i32 1, %5158 %5209 = icmp ult i8 %2504, 6 - %.not11449 = icmp eq i8 %2504, 7 + %.not11447 = icmp eq i8 %2504, 7 %5210 = or i32 %5208, -1073741824 - %spec.select12022 = select i1 %.not11449, i32 -520095616, i32 %5210 - %.09866 = select i1 %5209, i32 %5208, i32 %spec.select12022 + %spec.select12020 = select i1 %.not11447, i32 -520095616, i32 %5210 + %.09866 = select i1 %5209, i32 %5208, i32 %spec.select12020 store i32 %.09866, ptr %20, align 4 br label %5249 @@ -30067,18 +30067,18 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 5249: ; preds = %5159, %5211, %5178, %5157, %5140, %5143, %5152 %5250 = load i32, ptr %20, align 4 %5251 = and i32 %5250, 256 - %.not11451 = icmp eq i32 %5251, 0 - br i1 %.not11451, label %thread-pre-split12605, label %5252 + %.not11449 = icmp eq i32 %5251, 0 + br i1 %.not11449, label %thread-pre-split12602, label %5252 5252: ; preds = %5249 %5253 = load ptr, ptr %2477, align 8 - %.not11452 = icmp eq ptr %5253, null - br i1 %.not11452, label %5271, label %5254 + %.not11450 = icmp eq ptr %5253, null + br i1 %.not11450, label %5271, label %5254 5254: ; preds = %5252 %5255 = load ptr, ptr %2480, align 8 - %.not11453 = icmp eq ptr %5255, null - br i1 %.not11453, label %5271, label %5256 + %.not11451 = icmp eq ptr %5255, null + br i1 %.not11451, label %5271, label %5256 5256: ; preds = %5254 %5257 = load i32, ptr %.09621, align 4 @@ -30090,14 +30090,14 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %5261 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %5253, i64 %5260 %5262 = getelementptr inbounds nuw i8, ptr %5261, i64 32 %5263 = load ptr, ptr %5262, align 8 - %.not11454 = icmp eq ptr %5263, null - br i1 %.not11454, label %5271, label %5264 + %.not11452 = icmp eq ptr %5263, null + br i1 %.not11452, label %5271, label %5264 5264: ; preds = %5259 %5265 = getelementptr inbounds nuw i8, ptr %5263, i64 384 %5266 = load ptr, ptr %5265, align 8 - %.not11455 = icmp eq ptr %5266, null - br i1 %.not11455, label %5267, label %5271 + %.not11453 = icmp eq ptr %5266, null + br i1 %.not11453, label %5267, label %5271 5267: ; preds = %5264 %5268 = getelementptr inbounds nuw i8, ptr %5261, i64 4 @@ -30136,14 +30136,14 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 5289: ; preds = %5276, %5273 %5290 = getelementptr inbounds nuw i8, ptr %.09768, i64 56 %5291 = load ptr, ptr %5290, align 8 - %.not11457 = icmp eq ptr %5291, null - br i1 %.not11457, label %5315, label %5292 + %.not11455 = icmp eq ptr %5291, null + br i1 %.not11455, label %5315, label %5292 5292: ; preds = %5289 %5293 = getelementptr inbounds nuw i8, ptr %.09768, i64 64 %5294 = load ptr, ptr %5293, align 8 - %.not11458 = icmp eq ptr %5294, null - br i1 %.not11458, label %5315, label %5295 + %.not11456 = icmp eq ptr %5294, null + br i1 %.not11456, label %5315, label %5295 5295: ; preds = %5292 %5296 = getelementptr inbounds nuw i8, ptr %.09771, i64 88 @@ -30182,20 +30182,20 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %5318 = trunc i8 %.09686 to i1 %5319 = trunc i8 %.39670 to i1 %5320 = call fastcc i32 @zend_jit_incdec_obj(ptr noundef %17, ptr noundef nonnull %2501, ptr noundef %.09771, ptr noundef %40, ptr noundef %.09621, i32 noundef %5316, i64 noundef %5317, i1 noundef zeroext %.09579, ptr noundef %.09696, i1 noundef zeroext %5318, i1 noundef zeroext %.09681.shrunk, i1 noundef zeroext %5319, ptr noundef %.09578, i8 noundef zeroext %.09584) - %.not11460 = icmp eq i32 %5320, 0 - br i1 %.not11460, label %zend_jit_stack_check.exit.thread, label %thread-pre-split12618 + %.not11458 = icmp eq i32 %5320, 0 + br i1 %.not11458, label %zend_jit_stack_check.exit.thread, label %thread-pre-split12615 5321: ; preds = %2538 %5322 = getelementptr inbounds nuw i8, ptr %2501, i64 31 %5323 = load i8, ptr %5322, align 1 - %.not11391 = icmp eq i8 %5323, 0 - br i1 %.not11391, label %5324, label %.thread12608 + %.not11389 = icmp eq i8 %5323, 0 + br i1 %.not11389, label %5324, label %.thread12605 5324: ; preds = %5321 %5325 = getelementptr inbounds nuw i8, ptr %2501, i64 30 %5326 = load i8, ptr %5325, align 2 - %.not11392 = icmp eq i8 %5326, 1 - br i1 %.not11392, label %5327, label %thread-pre-split12605 + %.not11390 = icmp eq i8 %5326, 1 + br i1 %.not11390, label %5327, label %thread-pre-split12602 5327: ; preds = %5324 %5328 = getelementptr inbounds nuw i8, ptr %2501, i64 12 @@ -30204,15 +30204,15 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %5331 = getelementptr inbounds i8, ptr %2501, i64 %5330 %5332 = getelementptr inbounds nuw i8, ptr %5331, i64 8 %5333 = load i8, ptr %5332, align 8 - %.not11393 = icmp eq i8 %5333, 6 - br i1 %.not11393, label %5334, label %thread-pre-split12605 + %.not11391 = icmp eq i8 %5333, 6 + br i1 %.not11391, label %5334, label %thread-pre-split12602 5334: ; preds = %5327 %5335 = load ptr, ptr %5331, align 8 %5336 = getelementptr inbounds nuw i8, ptr %5335, i64 24 %5337 = load i8, ptr %5336, align 8 %5338 = icmp eq i8 %5337, 0 - br i1 %5338, label %thread-pre-split12605, label %5339 + br i1 %5338, label %thread-pre-split12602, label %5339 5339: ; preds = %5334 %5340 = getelementptr inbounds nuw i8, ptr %2501, i64 29 @@ -30221,8 +30221,8 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %5343 = getelementptr inbounds nuw i8, ptr %2501, i64 61 %5344 = load i8, ptr %5343, align 1 %5345 = icmp eq i8 %5344, 8 - %or.cond13523 = select i1 %5342, i1 %5345, i1 false - br i1 %or.cond13523, label %5346, label %._crit_edge13272 + %or.cond13520 = select i1 %5342, i1 %5345, i1 false + br i1 %or.cond13520, label %5346, label %._crit_edge13269 5346: ; preds = %5339 %5347 = getelementptr inbounds nuw i8, ptr %2501, i64 40 @@ -30230,9 +30230,9 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %5349 = getelementptr inbounds nuw i8, ptr %2501, i64 8 %5350 = load i32, ptr %5349, align 8 %5351 = icmp eq i32 %5348, %5350 - br i1 %5351, label %thread-pre-split12605, label %.thread13323 + br i1 %5351, label %thread-pre-split12602, label %.thread13320 -.thread13323: ; preds = %5346 +.thread13320: ; preds = %5346 %5352 = getelementptr inbounds nuw i8, ptr %2501, i64 20 %5353 = load i32, ptr %5352, align 4 %5354 = trunc i32 %5353 to i8 @@ -30241,7 +30241,7 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %5357 = getelementptr inbounds nuw i8, ptr %2501, i64 61 br label %5396 -._crit_edge13272: ; preds = %5339 +._crit_edge13269: ; preds = %5339 %5358 = getelementptr inbounds nuw i8, ptr %2501, i64 20 %5359 = load i32, ptr %5358, align 4 %5360 = trunc i32 %5359 to i8 @@ -30251,12 +30251,12 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %5364 = icmp eq i8 %5344, 1 br i1 %5364, label %5365, label %5396 -5365: ; preds = %._crit_edge13272 +5365: ; preds = %._crit_edge13269 %5366 = getelementptr inbounds nuw i8, ptr %.09771, i64 4 %5367 = load i32, ptr %5366, align 4 %5368 = and i32 %5367, 33554432 - %.not11395 = icmp eq i32 %5368, 0 - br i1 %.not11395, label %5374, label %5369 + %.not11393 = icmp eq i32 %5368, 0 + br i1 %.not11393, label %5374, label %5369 5369: ; preds = %5365 %5370 = getelementptr inbounds nuw i8, ptr %2501, i64 40 @@ -30279,61 +30279,61 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %5383 = getelementptr inbounds nuw i8, ptr %5382, i64 8 %5384 = load i8, ptr %5383, align 8 switch i8 %5384, label %5387 [ - i8 11, label %.thread12316 + i8 11, label %.thread12313 i8 7, label %5385 ] 5385: ; preds = %5381 %5386 = call i32 @zend_array_type_info(ptr noundef nonnull %5382) #33 - br label %.thread12316 + br label %.thread12313 5387: ; preds = %5381 %5388 = zext nneg i8 %5384 to i32 %5389 = shl nuw i32 1, %5388 %5390 = getelementptr inbounds nuw i8, ptr %5382, i64 9 %5391 = load i8, ptr %5390, align 1 - %.not11396 = icmp eq i8 %5391, 0 - br i1 %.not11396, label %5394, label %5392 + %.not11394 = icmp eq i8 %5391, 0 + br i1 %.not11394, label %5394, label %5392 5392: ; preds = %5387 %5393 = or i32 %5389, -1073741824 - br label %.thread12316 + br label %.thread12313 5394: ; preds = %5387 %5395 = icmp eq i8 %5384, 6 - %spec.select11853 = select i1 %5395, i32 -2147483584, i32 %5389 - br label %.thread12316 - -5396: ; preds = %.thread13323, %._crit_edge13272 - %5397 = phi ptr [ %5357, %.thread13323 ], [ %5363, %._crit_edge13272 ] - %5398 = phi ptr [ %5356, %.thread13323 ], [ %5362, %._crit_edge13272 ] - %5399 = phi ptr [ %5355, %.thread13323 ], [ %5361, %._crit_edge13272 ] - %5400 = phi i8 [ %5354, %.thread13323 ], [ %5360, %._crit_edge13272 ] + %spec.select11851 = select i1 %5395, i32 -2147483584, i32 %5389 + br label %.thread12313 + +5396: ; preds = %.thread13320, %._crit_edge13269 + %5397 = phi ptr [ %5357, %.thread13320 ], [ %5363, %._crit_edge13269 ] + %5398 = phi ptr [ %5356, %.thread13320 ], [ %5362, %._crit_edge13269 ] + %5399 = phi ptr [ %5355, %.thread13320 ], [ %5361, %._crit_edge13269 ] + %5400 = phi i8 [ %5354, %.thread13320 ], [ %5360, %._crit_edge13269 ] %5401 = load ptr, ptr %2477, align 8 - %.not11394 = icmp eq ptr %5401, null - br i1 %.not11394, label %.thread12316, label %5402 + %.not11392 = icmp eq ptr %5401, null + br i1 %.not11392, label %.thread12313, label %5402 5402: ; preds = %5396 %5403 = load i32, ptr %5398, align 4 %5404 = icmp sgt i32 %5403, -1 - br i1 %5404, label %5405, label %.thread12316 + br i1 %5404, label %5405, label %.thread12313 5405: ; preds = %5402 %5406 = zext nneg i32 %5403 to i64 %5407 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %5401, i64 %5406 %5408 = load i32, ptr %5407, align 8 - br label %.thread12316 + br label %.thread12313 -.thread12316: ; preds = %5396, %5394, %5405, %5402, %5385, %5381, %5392 +.thread12313: ; preds = %5396, %5394, %5405, %5402, %5385, %5381, %5392 %5409 = phi ptr [ %5363, %5385 ], [ %5363, %5381 ], [ %5363, %5392 ], [ %5363, %5394 ], [ %5397, %5405 ], [ %5397, %5402 ], [ %5397, %5396 ] %5410 = phi ptr [ %5362, %5385 ], [ %5362, %5381 ], [ %5362, %5392 ], [ %5362, %5394 ], [ %5398, %5405 ], [ %5398, %5402 ], [ %5398, %5396 ] %5411 = phi ptr [ %5361, %5385 ], [ %5361, %5381 ], [ %5361, %5392 ], [ %5361, %5394 ], [ %5399, %5405 ], [ %5399, %5402 ], [ %5399, %5396 ] %5412 = phi i8 [ %5360, %5385 ], [ %5360, %5381 ], [ %5360, %5392 ], [ %5360, %5394 ], [ %5400, %5405 ], [ %5400, %5402 ], [ %5400, %5396 ] - %.09931 = phi i32 [ %5386, %5385 ], [ -521143298, %5381 ], [ %5393, %5392 ], [ %spec.select11853, %5394 ], [ %5408, %5405 ], [ -486539265, %5402 ], [ -486539265, %5396 ] + %.09931 = phi i32 [ %5386, %5385 ], [ -521143298, %5381 ], [ %5393, %5392 ], [ %spec.select11851, %5394 ], [ %5408, %5405 ], [ -486539265, %5402 ], [ -486539265, %5396 ] %5413 = call fastcc zeroext i1 @zend_jit_supported_binary_op(i8 noundef zeroext %5412, i32 noundef 1022, i32 noundef %.09931) - br i1 %5413, label %5414, label %thread-pre-split12605 + br i1 %5413, label %5414, label %thread-pre-split12602 -5414: ; preds = %.thread12316 +5414: ; preds = %.thread12313 %5415 = load i8, ptr %5340, align 1 %5416 = icmp eq i8 %5415, 0 br i1 %5416, label %5417, label %5424 @@ -30371,8 +30371,8 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %5436 = getelementptr inbounds nuw i8, ptr %.09771, i64 4 %5437 = load i32, ptr %5436, align 4 %5438 = and i32 %5437, 33554432 - %.not11399 = icmp eq i32 %5438, 0 - br i1 %.not11399, label %5444, label %5439 + %.not11397 = icmp eq i32 %5438, 0 + br i1 %.not11397, label %5444, label %5439 5439: ; preds = %5435 %5440 = getelementptr inbounds nuw i8, ptr %2501, i64 8 @@ -30395,7 +30395,7 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %5453 = getelementptr inbounds nuw i8, ptr %5452, i64 8 %5454 = load i8, ptr %5453, align 8 switch i8 %5454, label %5457 [ - i8 11, label %.thread12321 + i8 11, label %.thread12318 i8 7, label %5455 ] @@ -30408,8 +30408,8 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %5459 = shl nuw i32 1, %5458 %5460 = getelementptr inbounds nuw i8, ptr %5452, i64 9 %5461 = load i8, ptr %5460, align 1 - %.not11400 = icmp eq i8 %5461, 0 - br i1 %.not11400, label %5464, label %5462 + %.not11398 = icmp eq i8 %5461, 0 + br i1 %.not11398, label %5464, label %5462 5462: ; preds = %5457 %5463 = or i32 %5459, -1073741824 @@ -30417,14 +30417,14 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 5464: ; preds = %5457 %5465 = icmp eq i8 %5454, 6 - %spec.select11854 = select i1 %5465, i32 -2147483584, i32 %5459 + %spec.select11852 = select i1 %5465, i32 -2147483584, i32 %5459 br label %5472 5466: ; preds = %5433 %5467 = load ptr, ptr %2477, align 8 - %.not11398 = icmp ne ptr %5467, null - %or.cond12685 = and i1 %5426, %.not11398 - br i1 %or.cond12685, label %5468, label %.thread12321 + %.not11396 = icmp ne ptr %5467, null + %or.cond12682 = and i1 %5426, %.not11396 + br i1 %or.cond12682, label %5468, label %.thread12318 5468: ; preds = %5466 %5469 = zext nneg i32 %5425 to i64 @@ -30432,22 +30432,22 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %5471 = load i32, ptr %5470, align 8 br label %5472 -.thread12321: ; preds = %5451, %5466 +.thread12318: ; preds = %5451, %5466 %.09932.ph = phi i32 [ -521143298, %5451 ], [ -486539265, %5466 ] store i32 %.09932.ph, ptr %20, align 4 br label %5474 5472: ; preds = %5464, %5468, %5455, %5462 - %.09932 = phi i32 [ %5456, %5455 ], [ %5463, %5462 ], [ %spec.select11854, %5464 ], [ %5471, %5468 ] + %.09932 = phi i32 [ %5456, %5455 ], [ %5463, %5462 ], [ %spec.select11852, %5464 ], [ %5471, %5468 ] store i32 %.09932, ptr %20, align 4 %5473 = and i32 %.09932, 256 - %.not11401 = icmp eq i32 %5473, 0 - br i1 %.not11401, label %thread-pre-split12605, label %5474 + %.not11399 = icmp eq i32 %5473, 0 + br i1 %.not11399, label %thread-pre-split12602, label %5474 -5474: ; preds = %.thread12321, %5472 +5474: ; preds = %.thread12318, %5472 %5475 = load ptr, ptr %2479, align 8 - %.not11402 = icmp eq ptr %5475, null - br i1 %.not11402, label %5486, label %5476 + %.not11400 = icmp eq ptr %5475, null + br i1 %.not11400, label %5486, label %5476 5476: ; preds = %5474 %5477 = load i32, ptr %.09621, align 4 @@ -30458,13 +30458,13 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %5480 = zext nneg i32 %5477 to i64 %5481 = getelementptr inbounds nuw %struct._zend_jit_reg_var, ptr %5475, i64 %5480 %5482 = load i32, ptr %5481, align 4 - %.not11403 = icmp eq i32 %5482, 0 - br i1 %.not11403, label %5486, label %5483 + %.not11401 = icmp eq i32 %5482, 0 + br i1 %.not11401, label %5486, label %5483 5483: ; preds = %5479 %5484 = shl nuw nsw i64 %5480, 2 %5485 = or disjoint i64 %5484, 2 - %.pre13275 = load i8, ptr %5340, align 1 + %.pre13272 = load i8, ptr %5340, align 1 br label %5499 5486: ; preds = %5479, %5476, %5474 @@ -30487,16 +30487,16 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 br label %5499 5499: ; preds = %5491, %5495, %5483 - %5500 = phi i8 [ %.pre13275, %5483 ], [ 1, %5491 ], [ %5487, %5495 ] + %5500 = phi i8 [ %.pre13272, %5483 ], [ 1, %5491 ], [ %5487, %5495 ] %5501 = phi i64 [ %5485, %5483 ], [ %5494, %5491 ], [ %5498, %5495 ] store i64 %5501, ptr %22, align 8 %5502 = icmp ne i8 %5500, 4 %5503 = icmp eq i8 %2495, -1 - %or.cond215.not12711 = or i1 %5503, %5502 + %or.cond215.not12708 = or i1 %5503, %5502 %5504 = and i32 %2502, 64 - %.not11404 = icmp eq i32 %5504, 0 - %or.cond11855 = select i1 %or.cond215.not12711, i1 true, i1 %.not11404 - br i1 %or.cond11855, label %5512, label %5505 + %.not11402 = icmp eq i32 %5504, 0 + %or.cond11853 = select i1 %or.cond215.not12708, i1 true, i1 %.not11402 + br i1 %or.cond11853, label %5512, label %5505 5505: ; preds = %5499 %5506 = load ptr, ptr %2477, align 8 @@ -30504,16 +30504,16 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %5508 = sext i32 %5507 to i64 %5509 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %5506, i64 %5508, i32 1 %5510 = load i8, ptr %5509, align 4 - %.not11405 = icmp sgt i8 %5510, -1 - %5511 = call fastcc zeroext i1 @zend_jit_fetch_indirect_var(ptr noundef %17, ptr noundef nonnull %2501, i8 noundef zeroext %2495, ptr noundef %20, ptr noundef %22, i1 noundef zeroext %.not11405) + %.not11403 = icmp sgt i8 %5510, -1 + %5511 = call fastcc zeroext i1 @zend_jit_fetch_indirect_var(ptr noundef %17, ptr noundef nonnull %2501, i8 noundef zeroext %2495, ptr noundef %20, ptr noundef %22, i1 noundef zeroext %.not11403) br i1 %5511, label %5512, label %zend_jit_stack_check.exit.thread 5512: ; preds = %5505, %5499 - %.39582 = xor i1 %or.cond11855, true + %.39582 = xor i1 %or.cond11853, true %5513 = and i32 %2502, 32 - %.not11406 = icmp eq i32 %5513, 0 - %or.cond11857 = select i1 %5503, i1 true, i1 %.not11406 - br i1 %or.cond11857, label %5539, label %5514 + %.not11404 = icmp eq i32 %5513, 0 + %or.cond11855 = select i1 %5503, i1 true, i1 %.not11404 + br i1 %or.cond11855, label %5539, label %5514 5514: ; preds = %5512 %5515 = load ptr, ptr %2477, align 8 @@ -30522,8 +30522,8 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %5518 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %5515, i64 %5517, i32 1 %5519 = load i8, ptr %5518, align 4 %5520 = and i8 %5519, 64 - %.not11412 = icmp eq i8 %5520, 0 - %5521 = call fastcc zeroext i1 @zend_jit_fetch_reference(ptr noundef %17, ptr noundef nonnull %2501, i8 noundef zeroext %2495, ptr noundef %20, ptr noundef %22, i1 noundef zeroext %.not11412) + %.not11410 = icmp eq i8 %5520, 0 + %5521 = call fastcc zeroext i1 @zend_jit_fetch_reference(ptr noundef %17, ptr noundef nonnull %2501, i8 noundef zeroext %2495, ptr noundef %20, ptr noundef %22, i1 noundef zeroext %.not11410) br i1 %5521, label %5522, label %zend_jit_stack_check.exit.thread 5522: ; preds = %5514 @@ -30557,15 +30557,15 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 5541: ; preds = %5539 %5542 = load i32, ptr %20, align 4 %5543 = and i32 %5542, 268435456 - %.not11408 = icmp eq i32 %5543, 0 - br i1 %.not11408, label %5631, label %5544 + %.not11406 = icmp eq i32 %5543, 0 + br i1 %.not11406, label %5631, label %5544 5544: ; preds = %5541 %5545 = getelementptr inbounds nuw i8, ptr %2501, i64 8 %5546 = load i32, ptr %5545, align 8 %5547 = call fastcc i32 @zend_jit_type_guard(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %5546, i8 noundef zeroext %2504) - %.not11409 = icmp eq i32 %5547, 0 - br i1 %.not11409, label %zend_jit_stack_check.exit.thread, label %5548 + %.not11407 = icmp eq i32 %5547, 0 + br i1 %.not11407, label %zend_jit_stack_check.exit.thread, label %5548 5548: ; preds = %5544 %5549 = load ptr, ptr %2478, align 8 @@ -30574,13 +30574,13 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %5552 = getelementptr inbounds %struct._zend_ssa_var, ptr %5549, i64 %5551, i32 7 %5553 = load i8, ptr %5552, align 8 %5554 = and i8 %5553, 12 - %.not11410 = icmp eq i8 %5554, 0 + %.not11408 = icmp eq i8 %5554, 0 %5555 = load i32, ptr %5545, align 8 %5556 = lshr i32 %5555, 4 %5557 = add nsw i32 %5556, -5 %5558 = zext i32 %5557 to i64 %5559 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %5558 - br i1 %.not11410, label %5593, label %5560 + br i1 %.not11408, label %5593, label %5560 5560: ; preds = %5548 store i8 -1, ptr %5559, align 4 @@ -30620,10 +30620,10 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 store i8 0, ptr %5589, align 1 %5590 = shl nuw i32 1, %5540 %5591 = icmp ult i8 %2504, 6 - %.not11411 = icmp eq i8 %2504, 7 + %.not11409 = icmp eq i8 %2504, 7 %5592 = or i32 %5590, -1073741824 - %spec.select12023 = select i1 %.not11411, i32 -520095616, i32 %5592 - %.09865 = select i1 %5591, i32 %5590, i32 %spec.select12023 + %spec.select12021 = select i1 %.not11409, i32 -520095616, i32 %5592 + %.09865 = select i1 %5591, i32 %5590, i32 %spec.select12021 store i32 %.09865, ptr %20, align 4 br label %5631 @@ -30678,18 +30678,18 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 5631: ; preds = %5541, %5593, %5560, %5539, %5522, %5525, %5534 %5632 = load i32, ptr %20, align 4 %5633 = and i32 %5632, 256 - %.not11413 = icmp eq i32 %5633, 0 - br i1 %.not11413, label %thread-pre-split12605, label %5634 + %.not11411 = icmp eq i32 %5633, 0 + br i1 %.not11411, label %thread-pre-split12602, label %5634 5634: ; preds = %5631 %5635 = load ptr, ptr %2477, align 8 - %.not11414 = icmp eq ptr %5635, null - br i1 %.not11414, label %5653, label %5636 + %.not11412 = icmp eq ptr %5635, null + br i1 %.not11412, label %5653, label %5636 5636: ; preds = %5634 %5637 = load ptr, ptr %2480, align 8 - %.not11415 = icmp eq ptr %5637, null - br i1 %.not11415, label %5653, label %5638 + %.not11413 = icmp eq ptr %5637, null + br i1 %.not11413, label %5653, label %5638 5638: ; preds = %5636 %5639 = load i32, ptr %.09621, align 4 @@ -30701,14 +30701,14 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %5643 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %5635, i64 %5642 %5644 = getelementptr inbounds nuw i8, ptr %5643, i64 32 %5645 = load ptr, ptr %5644, align 8 - %.not11416 = icmp eq ptr %5645, null - br i1 %.not11416, label %5653, label %5646 + %.not11414 = icmp eq ptr %5645, null + br i1 %.not11414, label %5653, label %5646 5646: ; preds = %5641 %5647 = getelementptr inbounds nuw i8, ptr %5645, i64 384 %5648 = load ptr, ptr %5647, align 8 - %.not11417 = icmp eq ptr %5648, null - br i1 %.not11417, label %5649, label %5653 + %.not11415 = icmp eq ptr %5648, null + br i1 %.not11415, label %5649, label %5653 5649: ; preds = %5646 %5650 = getelementptr inbounds nuw i8, ptr %5643, i64 4 @@ -30747,14 +30747,14 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 5671: ; preds = %5658, %5655 %5672 = getelementptr inbounds nuw i8, ptr %.09768, i64 56 %5673 = load ptr, ptr %5672, align 8 - %.not11419 = icmp eq ptr %5673, null - br i1 %.not11419, label %5697, label %5674 + %.not11417 = icmp eq ptr %5673, null + br i1 %.not11417, label %5697, label %5674 5674: ; preds = %5671 %5675 = getelementptr inbounds nuw i8, ptr %.09768, i64 64 %5676 = load ptr, ptr %5675, align 8 - %.not11420 = icmp eq ptr %5676, null - br i1 %.not11420, label %5697, label %5677 + %.not11418 = icmp eq ptr %5676, null + br i1 %.not11418, label %5697, label %5677 5677: ; preds = %5674 %5678 = getelementptr inbounds nuw i8, ptr %.09771, i64 88 @@ -30796,8 +30796,8 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %5701 = getelementptr inbounds nuw i8, ptr %.09771, i64 4 %5702 = load i32, ptr %5701, align 4 %5703 = and i32 %5702, 33554432 - %.not11423 = icmp eq i32 %5703, 0 - br i1 %.not11423, label %5709, label %5704 + %.not11421 = icmp eq i32 %5703, 0 + br i1 %.not11421, label %5709, label %5704 5704: ; preds = %5700 %5705 = getelementptr inbounds nuw i8, ptr %2501, i64 40 @@ -30820,7 +30820,7 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %5718 = getelementptr inbounds nuw i8, ptr %5717, i64 8 %5719 = load i8, ptr %5718, align 8 switch i8 %5719, label %5722 [ - i8 11, label %.thread12327 + i8 11, label %.thread12324 i8 7, label %5720 ] @@ -30833,8 +30833,8 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %5724 = shl nuw i32 1, %5723 %5725 = getelementptr inbounds nuw i8, ptr %5717, i64 9 %5726 = load i8, ptr %5725, align 1 - %.not11424 = icmp eq i8 %5726, 0 - br i1 %.not11424, label %5729, label %5727 + %.not11422 = icmp eq i8 %5726, 0 + br i1 %.not11422, label %5729, label %5727 5727: ; preds = %5722 %5728 = or i32 %5724, -1073741824 @@ -30842,18 +30842,18 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 5729: ; preds = %5722 %5730 = icmp eq i8 %5719, 6 - %spec.select11858 = select i1 %5730, i32 -2147483584, i32 %5724 + %spec.select11856 = select i1 %5730, i32 -2147483584, i32 %5724 br label %5740 5731: ; preds = %5697 %5732 = load ptr, ptr %2477, align 8 - %.not11422 = icmp eq ptr %5732, null - br i1 %.not11422, label %.thread12327, label %5733 + %.not11420 = icmp eq ptr %5732, null + br i1 %.not11420, label %.thread12324, label %5733 5733: ; preds = %5731 %5734 = load i32, ptr %5410, align 4 %5735 = icmp sgt i32 %5734, -1 - br i1 %5735, label %5736, label %.thread12327 + br i1 %5735, label %5736, label %.thread12324 5736: ; preds = %5733 %5737 = zext nneg i32 %5734 to i64 @@ -30862,20 +30862,20 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 br label %5740 5740: ; preds = %5729, %5736, %5720, %5727 - %.09933 = phi i32 [ %5721, %5720 ], [ %5728, %5727 ], [ %spec.select11858, %5729 ], [ %5739, %5736 ] + %.09933 = phi i32 [ %5721, %5720 ], [ %5728, %5727 ], [ %spec.select11856, %5729 ], [ %5739, %5736 ] %5741 = zext nneg i8 %spec.store.select209 to i32 - %.not11425 = icmp eq i8 %spec.store.select209, -1 + %.not11423 = icmp eq i8 %spec.store.select209, -1 %5742 = and i32 %.09933, 268435456 - %.not11426 = icmp eq i32 %5742, 0 - %or.cond11859 = select i1 %.not11425, i1 true, i1 %.not11426 - br i1 %or.cond11859, label %.thread12327, label %5743 + %.not11424 = icmp eq i32 %5742, 0 + %or.cond11857 = select i1 %.not11423, i1 true, i1 %.not11424 + br i1 %or.cond11857, label %.thread12324, label %5743 5743: ; preds = %5740 %5744 = getelementptr inbounds nuw i8, ptr %2501, i64 40 %5745 = load i32, ptr %5744, align 8 %5746 = call fastcc i32 @zend_jit_type_guard(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %5745, i8 noundef zeroext %spec.store.select209) - %.not11427 = icmp eq i32 %5746, 0 - br i1 %.not11427, label %zend_jit_stack_check.exit.thread, label %5747 + %.not11425 = icmp eq i32 %5746, 0 + br i1 %.not11425, label %zend_jit_stack_check.exit.thread, label %5747 5747: ; preds = %5743 %5748 = load ptr, ptr %2478, align 8 @@ -30884,13 +30884,13 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %5751 = getelementptr inbounds %struct._zend_ssa_var, ptr %5748, i64 %5750, i32 7 %5752 = load i8, ptr %5751, align 8 %5753 = and i8 %5752, 12 - %.not11428 = icmp eq i8 %5753, 0 + %.not11426 = icmp eq i8 %5753, 0 %5754 = load i32, ptr %5744, align 8 %5755 = lshr i32 %5754, 4 %5756 = add nsw i32 %5755, -5 %5757 = zext i32 %5756 to i64 %5758 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %5757 - br i1 %.not11428, label %5793, label %5759 + br i1 %.not11426, label %5793, label %5759 5759: ; preds = %5747 store i8 -1, ptr %5758, align 4 @@ -30930,13 +30930,13 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 store i8 0, ptr %5788, align 1 %5789 = shl nuw i32 1, %5741 %5790 = icmp ult i8 %spec.store.select209, 6 - br i1 %5790, label %.thread12327, label %5791 + br i1 %5790, label %.thread12324, label %5791 5791: ; preds = %5759 - %.not11429 = icmp eq i8 %spec.store.select209, 7 + %.not11427 = icmp eq i8 %spec.store.select209, 7 %5792 = or i32 %5789, -1073741824 - %spec.select12024 = select i1 %.not11429, i32 -520095616, i32 %5792 - br label %.thread12327 + %spec.select12022 = select i1 %.not11427, i32 -520095616, i32 %5792 + br label %.thread12324 5793: ; preds = %5747 store i8 %spec.store.select209, ptr %5758, align 4 @@ -30982,21 +30982,21 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %5828 = load i32, ptr %5827, align 8 %5829 = and i32 %5828, %5823 store i32 %5829, ptr %5827, align 8 - br label %.thread12327 + br label %.thread12324 -.thread12327: ; preds = %5731, %5733, %5716, %5791, %5759, %5740, %5793 - %.19726 = phi i32 [ %5823, %5793 ], [ %.09933, %5740 ], [ %5789, %5759 ], [ %spec.select12024, %5791 ], [ -486539265, %5733 ], [ -521143298, %5716 ], [ -486539265, %5731 ] +.thread12324: ; preds = %5731, %5733, %5716, %5791, %5759, %5740, %5793 + %.19726 = phi i32 [ %5823, %5793 ], [ %.09933, %5740 ], [ %5789, %5759 ], [ %spec.select12022, %5791 ], [ -486539265, %5733 ], [ -521143298, %5716 ], [ -486539265, %5731 ] %5830 = load i32, ptr %20, align 4 %5831 = load i64, ptr %22, align 8 %5832 = load i8, ptr %5340, align 1 %5833 = and i8 %5832, 14 - %.not11430 = icmp eq i8 %5833, 0 - br i1 %.not11430, label %5846, label %5834 + %.not11428 = icmp eq i8 %5833, 0 + br i1 %.not11428, label %5846, label %5834 -5834: ; preds = %.thread12327 +5834: ; preds = %.thread12324 %5835 = load ptr, ptr %2477, align 8 - %.not11431 = icmp eq ptr %5835, null - br i1 %.not11431, label %5846, label %5836 + %.not11429 = icmp eq ptr %5835, null + br i1 %.not11429, label %5846, label %5836 5836: ; preds = %5834 %5837 = load i32, ptr %5410, align 4 @@ -31010,22 +31010,22 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %5843 = load i8, ptr %5842, align 4 %5844 = trunc i8 %5843 to i1 %5845 = getelementptr inbounds nuw i8, ptr %5841, i64 8 - %spec.select11860 = select i1 %5844, ptr %5845, ptr null + %spec.select11858 = select i1 %5844, ptr %5845, ptr null br label %5846 -5846: ; preds = %5839, %.thread12327, %5834, %5836 - %5847 = phi ptr [ null, %5836 ], [ null, %5834 ], [ null, %.thread12327 ], [ %spec.select11860, %5839 ] +5846: ; preds = %5839, %.thread12324, %5834, %5836 + %5847 = phi ptr [ null, %5836 ], [ null, %5834 ], [ null, %.thread12324 ], [ %spec.select11858, %5839 ] %5848 = trunc i8 %.29688 to i1 %5849 = trunc i8 %.59672 to i1 %5850 = call fastcc i32 @zend_jit_assign_obj_op(ptr noundef %17, ptr noundef nonnull %2501, ptr noundef %.09771, ptr noundef %40, ptr noundef %.09621, i32 noundef %5830, i64 noundef %5831, i32 noundef %.19726, ptr noundef %5847, i1 noundef zeroext %.29581, ptr noundef %.29698, i1 noundef zeroext %5848, i1 noundef zeroext %.19682.shrunk, i1 noundef zeroext %5849, ptr noundef %.09578, i8 noundef zeroext %.09584) - %.not11432 = icmp eq i32 %5850, 0 - br i1 %.not11432, label %zend_jit_stack_check.exit.thread, label %thread-pre-split12618 + %.not11430 = icmp eq i32 %5850, 0 + br i1 %.not11430, label %zend_jit_stack_check.exit.thread, label %thread-pre-split12615 5851: ; preds = %2538 %5852 = getelementptr inbounds nuw i8, ptr %2501, i64 30 %5853 = load i8, ptr %5852, align 2 - %.not11354 = icmp eq i8 %5853, 1 - br i1 %.not11354, label %5854, label %.thread12608 + %.not11352 = icmp eq i8 %5853, 1 + br i1 %.not11352, label %5854, label %.thread12605 5854: ; preds = %5851 %5855 = getelementptr inbounds nuw i8, ptr %2501, i64 12 @@ -31034,15 +31034,15 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %5858 = getelementptr inbounds i8, ptr %2501, i64 %5857 %5859 = getelementptr inbounds nuw i8, ptr %5858, i64 8 %5860 = load i8, ptr %5859, align 8 - %.not11355 = icmp eq i8 %5860, 6 - br i1 %.not11355, label %5861, label %thread-pre-split12605 + %.not11353 = icmp eq i8 %5860, 6 + br i1 %.not11353, label %5861, label %thread-pre-split12602 5861: ; preds = %5854 %5862 = load ptr, ptr %5858, align 8 %5863 = getelementptr inbounds nuw i8, ptr %5862, i64 24 %5864 = load i8, ptr %5863, align 8 %5865 = icmp eq i8 %5864, 0 - br i1 %5865, label %thread-pre-split12605, label %5866 + br i1 %5865, label %thread-pre-split12602, label %5866 5866: ; preds = %5861 %5867 = getelementptr inbounds nuw i8, ptr %2501, i64 29 @@ -31083,8 +31083,8 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %5889 = getelementptr inbounds nuw i8, ptr %.09771, i64 4 %5890 = load i32, ptr %5889, align 4 %5891 = and i32 %5890, 33554432 - %.not11358 = icmp eq i32 %5891, 0 - br i1 %.not11358, label %5897, label %5892 + %.not11356 = icmp eq i32 %5891, 0 + br i1 %.not11356, label %5897, label %5892 5892: ; preds = %5888 %5893 = getelementptr inbounds nuw i8, ptr %2501, i64 8 @@ -31107,7 +31107,7 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %5906 = getelementptr inbounds nuw i8, ptr %5905, i64 8 %5907 = load i8, ptr %5906, align 8 switch i8 %5907, label %5910 [ - i8 11, label %.thread12335 + i8 11, label %.thread12332 i8 7, label %5908 ] @@ -31120,8 +31120,8 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %5912 = shl nuw i32 1, %5911 %5913 = getelementptr inbounds nuw i8, ptr %5905, i64 9 %5914 = load i8, ptr %5913, align 1 - %.not11359 = icmp eq i8 %5914, 0 - br i1 %.not11359, label %5917, label %5915 + %.not11357 = icmp eq i8 %5914, 0 + br i1 %.not11357, label %5917, label %5915 5915: ; preds = %5910 %5916 = or i32 %5912, -1073741824 @@ -31129,14 +31129,14 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 5917: ; preds = %5910 %5918 = icmp eq i8 %5907, 6 - %spec.select11861 = select i1 %5918, i32 -2147483584, i32 %5912 + %spec.select11859 = select i1 %5918, i32 -2147483584, i32 %5912 br label %5925 5919: ; preds = %5886 %5920 = load ptr, ptr %2477, align 8 - %.not11357 = icmp ne ptr %5920, null - %or.cond12686 = and i1 %5879, %.not11357 - br i1 %or.cond12686, label %5921, label %.thread12335 + %.not11355 = icmp ne ptr %5920, null + %or.cond12683 = and i1 %5879, %.not11355 + br i1 %or.cond12683, label %5921, label %.thread12332 5921: ; preds = %5919 %5922 = zext nneg i32 %5878 to i64 @@ -31144,22 +31144,22 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %5924 = load i32, ptr %5923, align 8 br label %5925 -.thread12335: ; preds = %5904, %5919 +.thread12332: ; preds = %5904, %5919 %.09935.ph = phi i32 [ -521143298, %5904 ], [ -486539265, %5919 ] store i32 %.09935.ph, ptr %20, align 4 br label %5927 5925: ; preds = %5917, %5921, %5908, %5915 - %.09935 = phi i32 [ %5909, %5908 ], [ %5916, %5915 ], [ %spec.select11861, %5917 ], [ %5924, %5921 ] + %.09935 = phi i32 [ %5909, %5908 ], [ %5916, %5915 ], [ %spec.select11859, %5917 ], [ %5924, %5921 ] store i32 %.09935, ptr %20, align 4 %5926 = and i32 %.09935, 256 - %.not11360 = icmp eq i32 %5926, 0 - br i1 %.not11360, label %thread-pre-split12605, label %5927 + %.not11358 = icmp eq i32 %5926, 0 + br i1 %.not11358, label %thread-pre-split12602, label %5927 -5927: ; preds = %.thread12335, %5925 +5927: ; preds = %.thread12332, %5925 %5928 = load ptr, ptr %2479, align 8 - %.not11361 = icmp eq ptr %5928, null - br i1 %.not11361, label %5939, label %5929 + %.not11359 = icmp eq ptr %5928, null + br i1 %.not11359, label %5939, label %5929 5929: ; preds = %5927 %5930 = load i32, ptr %.09621, align 4 @@ -31170,13 +31170,13 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %5933 = zext nneg i32 %5930 to i64 %5934 = getelementptr inbounds nuw %struct._zend_jit_reg_var, ptr %5928, i64 %5933 %5935 = load i32, ptr %5934, align 4 - %.not11362 = icmp eq i32 %5935, 0 - br i1 %.not11362, label %5939, label %5936 + %.not11360 = icmp eq i32 %5935, 0 + br i1 %.not11360, label %5939, label %5936 5936: ; preds = %5932 %5937 = shl nuw nsw i64 %5933, 2 %5938 = or disjoint i64 %5937, 2 - %.pre13271 = load i8, ptr %5867, align 1 + %.pre13268 = load i8, ptr %5867, align 1 br label %5952 5939: ; preds = %5932, %5929, %5927 @@ -31199,16 +31199,16 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 br label %5952 5952: ; preds = %5944, %5948, %5936 - %5953 = phi i8 [ %.pre13271, %5936 ], [ 1, %5944 ], [ %5940, %5948 ] + %5953 = phi i8 [ %.pre13268, %5936 ], [ 1, %5944 ], [ %5940, %5948 ] %5954 = phi i64 [ %5938, %5936 ], [ %5947, %5944 ], [ %5951, %5948 ] store i64 %5954, ptr %22, align 8 %5955 = icmp ne i8 %5953, 4 %5956 = icmp eq i8 %2495, -1 - %or.cond218.not12708 = or i1 %5956, %5955 + %or.cond218.not12705 = or i1 %5956, %5955 %5957 = and i32 %2502, 64 - %.not11363 = icmp eq i32 %5957, 0 - %or.cond11862 = select i1 %or.cond218.not12708, i1 true, i1 %.not11363 - br i1 %or.cond11862, label %5965, label %5958 + %.not11361 = icmp eq i32 %5957, 0 + %or.cond11860 = select i1 %or.cond218.not12705, i1 true, i1 %.not11361 + br i1 %or.cond11860, label %5965, label %5958 5958: ; preds = %5952 %5959 = load ptr, ptr %2477, align 8 @@ -31216,16 +31216,16 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %5961 = sext i32 %5960 to i64 %5962 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %5959, i64 %5961, i32 1 %5963 = load i8, ptr %5962, align 4 - %.not11364 = icmp sgt i8 %5963, -1 - %5964 = call fastcc zeroext i1 @zend_jit_fetch_indirect_var(ptr noundef %17, ptr noundef nonnull %2501, i8 noundef zeroext %2495, ptr noundef %20, ptr noundef %22, i1 noundef zeroext %.not11364) + %.not11362 = icmp sgt i8 %5963, -1 + %5964 = call fastcc zeroext i1 @zend_jit_fetch_indirect_var(ptr noundef %17, ptr noundef nonnull %2501, i8 noundef zeroext %2495, ptr noundef %20, ptr noundef %22, i1 noundef zeroext %.not11362) br i1 %5964, label %5965, label %zend_jit_stack_check.exit.thread 5965: ; preds = %5958, %5952 - %.5 = xor i1 %or.cond11862, true + %.5 = xor i1 %or.cond11860, true %5966 = and i32 %2502, 32 - %.not11365 = icmp eq i32 %5966, 0 - %or.cond11864 = select i1 %5956, i1 true, i1 %.not11365 - br i1 %or.cond11864, label %5992, label %5967 + %.not11363 = icmp eq i32 %5966, 0 + %or.cond11862 = select i1 %5956, i1 true, i1 %.not11363 + br i1 %or.cond11862, label %5992, label %5967 5967: ; preds = %5965 %5968 = load ptr, ptr %2477, align 8 @@ -31234,8 +31234,8 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %5971 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %5968, i64 %5970, i32 1 %5972 = load i8, ptr %5971, align 4 %5973 = and i8 %5972, 64 - %.not11371 = icmp eq i8 %5973, 0 - %5974 = call fastcc zeroext i1 @zend_jit_fetch_reference(ptr noundef %17, ptr noundef nonnull %2501, i8 noundef zeroext %2495, ptr noundef %20, ptr noundef %22, i1 noundef zeroext %.not11371) + %.not11369 = icmp eq i8 %5973, 0 + %5974 = call fastcc zeroext i1 @zend_jit_fetch_reference(ptr noundef %17, ptr noundef nonnull %2501, i8 noundef zeroext %2495, ptr noundef %20, ptr noundef %22, i1 noundef zeroext %.not11369) br i1 %5974, label %5975, label %zend_jit_stack_check.exit.thread 5975: ; preds = %5967 @@ -31269,15 +31269,15 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 5994: ; preds = %5992 %5995 = load i32, ptr %20, align 4 %5996 = and i32 %5995, 268435456 - %.not11367 = icmp eq i32 %5996, 0 - br i1 %.not11367, label %6084, label %5997 + %.not11365 = icmp eq i32 %5996, 0 + br i1 %.not11365, label %6084, label %5997 5997: ; preds = %5994 %5998 = getelementptr inbounds nuw i8, ptr %2501, i64 8 %5999 = load i32, ptr %5998, align 8 %6000 = call fastcc i32 @zend_jit_type_guard(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %5999, i8 noundef zeroext %2504) - %.not11368 = icmp eq i32 %6000, 0 - br i1 %.not11368, label %zend_jit_stack_check.exit.thread, label %6001 + %.not11366 = icmp eq i32 %6000, 0 + br i1 %.not11366, label %zend_jit_stack_check.exit.thread, label %6001 6001: ; preds = %5997 %6002 = load ptr, ptr %2478, align 8 @@ -31286,13 +31286,13 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %6005 = getelementptr inbounds %struct._zend_ssa_var, ptr %6002, i64 %6004, i32 7 %6006 = load i8, ptr %6005, align 8 %6007 = and i8 %6006, 12 - %.not11369 = icmp eq i8 %6007, 0 + %.not11367 = icmp eq i8 %6007, 0 %6008 = load i32, ptr %5998, align 8 %6009 = lshr i32 %6008, 4 %6010 = add nsw i32 %6009, -5 %6011 = zext i32 %6010 to i64 %6012 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %6011 - br i1 %.not11369, label %6046, label %6013 + br i1 %.not11367, label %6046, label %6013 6013: ; preds = %6001 store i8 -1, ptr %6012, align 4 @@ -31332,10 +31332,10 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 store i8 0, ptr %6042, align 1 %6043 = shl nuw i32 1, %5993 %6044 = icmp ult i8 %2504, 6 - %.not11370 = icmp eq i8 %2504, 7 + %.not11368 = icmp eq i8 %2504, 7 %6045 = or i32 %6043, -1073741824 - %spec.select12025 = select i1 %.not11370, i32 -520095616, i32 %6045 - %.09862 = select i1 %6044, i32 %6043, i32 %spec.select12025 + %spec.select12023 = select i1 %.not11368, i32 -520095616, i32 %6045 + %.09862 = select i1 %6044, i32 %6043, i32 %spec.select12023 store i32 %.09862, ptr %20, align 4 br label %6084 @@ -31390,18 +31390,18 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 6084: ; preds = %5994, %6046, %6013, %5992, %5975, %5978, %5987 %6085 = load i32, ptr %20, align 4 %6086 = and i32 %6085, 256 - %.not11372 = icmp eq i32 %6086, 0 - br i1 %.not11372, label %thread-pre-split12605, label %6087 + %.not11370 = icmp eq i32 %6086, 0 + br i1 %.not11370, label %thread-pre-split12602, label %6087 6087: ; preds = %6084 %6088 = load ptr, ptr %2477, align 8 - %.not11373 = icmp eq ptr %6088, null - br i1 %.not11373, label %6106, label %6089 + %.not11371 = icmp eq ptr %6088, null + br i1 %.not11371, label %6106, label %6089 6089: ; preds = %6087 %6090 = load ptr, ptr %2480, align 8 - %.not11374 = icmp eq ptr %6090, null - br i1 %.not11374, label %6106, label %6091 + %.not11372 = icmp eq ptr %6090, null + br i1 %.not11372, label %6106, label %6091 6091: ; preds = %6089 %6092 = load i32, ptr %.09621, align 4 @@ -31413,14 +31413,14 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %6096 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %6088, i64 %6095 %6097 = getelementptr inbounds nuw i8, ptr %6096, i64 32 %6098 = load ptr, ptr %6097, align 8 - %.not11375 = icmp eq ptr %6098, null - br i1 %.not11375, label %6106, label %6099 + %.not11373 = icmp eq ptr %6098, null + br i1 %.not11373, label %6106, label %6099 6099: ; preds = %6094 %6100 = getelementptr inbounds nuw i8, ptr %6098, i64 384 %6101 = load ptr, ptr %6100, align 8 - %.not11376 = icmp eq ptr %6101, null - br i1 %.not11376, label %6102, label %6106 + %.not11374 = icmp eq ptr %6101, null + br i1 %.not11374, label %6102, label %6106 6102: ; preds = %6099 %6103 = getelementptr inbounds nuw i8, ptr %6096, i64 4 @@ -31459,14 +31459,14 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 6124: ; preds = %6111, %6108 %6125 = getelementptr inbounds nuw i8, ptr %.09768, i64 56 %6126 = load ptr, ptr %6125, align 8 - %.not11378 = icmp eq ptr %6126, null - br i1 %.not11378, label %6150, label %6127 + %.not11376 = icmp eq ptr %6126, null + br i1 %.not11376, label %6150, label %6127 6127: ; preds = %6124 %6128 = getelementptr inbounds nuw i8, ptr %.09768, i64 64 %6129 = load ptr, ptr %6128, align 8 - %.not11379 = icmp eq ptr %6129, null - br i1 %.not11379, label %6150, label %6130 + %.not11377 = icmp eq ptr %6129, null + br i1 %.not11377, label %6150, label %6130 6130: ; preds = %6127 %6131 = getelementptr inbounds nuw i8, ptr %.09771, i64 88 @@ -31511,8 +31511,8 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %6157 = getelementptr inbounds nuw i8, ptr %.09771, i64 4 %6158 = load i32, ptr %6157, align 4 %6159 = and i32 %6158, 33554432 - %.not11382 = icmp eq i32 %6159, 0 - br i1 %.not11382, label %6165, label %6160 + %.not11380 = icmp eq i32 %6159, 0 + br i1 %.not11380, label %6165, label %6160 6160: ; preds = %6156 %6161 = getelementptr inbounds nuw i8, ptr %2501, i64 40 @@ -31535,7 +31535,7 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %6174 = getelementptr inbounds nuw i8, ptr %6173, i64 8 %6175 = load i8, ptr %6174, align 8 switch i8 %6175, label %6178 [ - i8 11, label %.thread12341 + i8 11, label %.thread12338 i8 7, label %6176 ] @@ -31548,8 +31548,8 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %6180 = shl nuw i32 1, %6179 %6181 = getelementptr inbounds nuw i8, ptr %6173, i64 9 %6182 = load i8, ptr %6181, align 1 - %.not11383 = icmp eq i8 %6182, 0 - br i1 %.not11383, label %6185, label %6183 + %.not11381 = icmp eq i8 %6182, 0 + br i1 %.not11381, label %6185, label %6183 6183: ; preds = %6178 %6184 = or i32 %6180, -1073741824 @@ -31557,18 +31557,18 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 6185: ; preds = %6178 %6186 = icmp eq i8 %6175, 6 - %spec.select11865 = select i1 %6186, i32 -2147483584, i32 %6180 + %spec.select11863 = select i1 %6186, i32 -2147483584, i32 %6180 br label %6196 6187: ; preds = %6150 %6188 = load ptr, ptr %2477, align 8 - %.not11381 = icmp eq ptr %6188, null - br i1 %.not11381, label %.thread12341, label %6189 + %.not11379 = icmp eq ptr %6188, null + br i1 %.not11379, label %.thread12338, label %6189 6189: ; preds = %6187 %6190 = load i32, ptr %6152, align 4 %6191 = icmp sgt i32 %6190, -1 - br i1 %6191, label %6192, label %.thread12341 + br i1 %6191, label %6192, label %.thread12338 6192: ; preds = %6189 %6193 = zext nneg i32 %6190 to i64 @@ -31577,20 +31577,20 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 br label %6196 6196: ; preds = %6185, %6192, %6176, %6183 - %.09936 = phi i32 [ %6177, %6176 ], [ %6184, %6183 ], [ %spec.select11865, %6185 ], [ %6195, %6192 ] + %.09936 = phi i32 [ %6177, %6176 ], [ %6184, %6183 ], [ %spec.select11863, %6185 ], [ %6195, %6192 ] %6197 = zext nneg i8 %spec.store.select209 to i32 - %.not11384 = icmp eq i8 %spec.store.select209, -1 + %.not11382 = icmp eq i8 %spec.store.select209, -1 %6198 = and i32 %.09936, 268435456 - %.not11385 = icmp eq i32 %6198, 0 - %or.cond11866 = select i1 %.not11384, i1 true, i1 %.not11385 - br i1 %or.cond11866, label %.thread12341, label %6199 + %.not11383 = icmp eq i32 %6198, 0 + %or.cond11864 = select i1 %.not11382, i1 true, i1 %.not11383 + br i1 %or.cond11864, label %.thread12338, label %6199 6199: ; preds = %6196 %6200 = getelementptr inbounds nuw i8, ptr %2501, i64 40 %6201 = load i32, ptr %6200, align 8 %6202 = call fastcc i32 @zend_jit_type_guard(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %6201, i8 noundef zeroext %spec.store.select209) - %.not11386 = icmp eq i32 %6202, 0 - br i1 %.not11386, label %zend_jit_stack_check.exit.thread, label %6203 + %.not11384 = icmp eq i32 %6202, 0 + br i1 %.not11384, label %zend_jit_stack_check.exit.thread, label %6203 6203: ; preds = %6199 %6204 = load ptr, ptr %2478, align 8 @@ -31599,13 +31599,13 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %6207 = getelementptr inbounds %struct._zend_ssa_var, ptr %6204, i64 %6206, i32 7 %6208 = load i8, ptr %6207, align 8 %6209 = and i8 %6208, 12 - %.not11387 = icmp eq i8 %6209, 0 + %.not11385 = icmp eq i8 %6209, 0 %6210 = load i32, ptr %6200, align 8 %6211 = lshr i32 %6210, 4 %6212 = add nsw i32 %6211, -5 %6213 = zext i32 %6212 to i64 %6214 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %6213 - br i1 %.not11387, label %6249, label %6215 + br i1 %.not11385, label %6249, label %6215 6215: ; preds = %6203 store i8 -1, ptr %6214, align 4 @@ -31645,13 +31645,13 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 store i8 0, ptr %6244, align 1 %6245 = shl nuw i32 1, %6197 %6246 = icmp ult i8 %spec.store.select209, 6 - br i1 %6246, label %.thread12341, label %6247 + br i1 %6246, label %.thread12338, label %6247 6247: ; preds = %6215 - %.not11388 = icmp eq i8 %spec.store.select209, 7 + %.not11386 = icmp eq i8 %spec.store.select209, 7 %6248 = or i32 %6245, -1073741824 - %spec.select12026 = select i1 %.not11388, i32 -520095616, i32 %6248 - br label %.thread12341 + %spec.select12024 = select i1 %.not11386, i32 -520095616, i32 %6248 + br label %.thread12338 6249: ; preds = %6203 store i8 %spec.store.select209, ptr %6214, align 4 @@ -31697,10 +31697,10 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %6284 = load i32, ptr %6283, align 8 %6285 = and i32 %6284, %6279 store i32 %6285, ptr %6283, align 8 - br label %.thread12341 + br label %.thread12338 -.thread12341: ; preds = %6187, %6189, %6172, %6247, %6215, %6196, %6249 - %.29727 = phi i32 [ %6279, %6249 ], [ %.09936, %6196 ], [ %6245, %6215 ], [ %spec.select12026, %6247 ], [ -486539265, %6189 ], [ -521143298, %6172 ], [ -486539265, %6187 ] +.thread12338: ; preds = %6187, %6189, %6172, %6247, %6215, %6196, %6249 + %.29727 = phi i32 [ %6279, %6249 ], [ %.09936, %6196 ], [ %6245, %6215 ], [ %spec.select12024, %6247 ], [ -486539265, %6189 ], [ -521143298, %6172 ], [ -486539265, %6187 ] %6286 = load i32, ptr %20, align 4 %6287 = load i64, ptr %22, align 8 %6288 = trunc i8 %.49690 to i1 @@ -31708,19 +31708,19 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %6290 = call zeroext i1 @zend_may_throw(ptr noundef nonnull %2501, ptr noundef %.09621, ptr noundef %.09771, ptr noundef nonnull %40) #33 %6291 = zext i1 %6290 to i32 %6292 = call fastcc i32 @zend_jit_assign_obj(ptr noundef %17, ptr noundef nonnull %2501, ptr noundef %.09771, ptr noundef %40, ptr noundef %.09621, i32 noundef %6286, i64 noundef %6287, i32 noundef %.29727, i1 noundef zeroext %.49583, ptr noundef %.49700, i1 noundef zeroext %6288, i1 noundef zeroext %.29683.shrunk, i1 noundef zeroext %6289, ptr noundef %.09578, i32 noundef %6291) - %.not11389 = icmp eq i32 %6292, 0 - br i1 %.not11389, label %zend_jit_stack_check.exit.thread, label %6293 + %.not11387 = icmp eq i32 %6292, 0 + br i1 %.not11387, label %zend_jit_stack_check.exit.thread, label %6293 -6293: ; preds = %.thread12341 +6293: ; preds = %.thread12338 %6294 = load i8, ptr %6153, align 1 %6295 = icmp eq i8 %6294, 8 - br i1 %6295, label %6296, label %thread-pre-split12618 + br i1 %6295, label %6296, label %thread-pre-split12615 6296: ; preds = %6293 %6297 = getelementptr inbounds nuw i8, ptr %.09621, i64 48 %6298 = load i32, ptr %6297, align 4 %6299 = icmp sgt i32 %6298, -1 - br i1 %6299, label %6300, label %thread-pre-split12618 + br i1 %6299, label %6300, label %thread-pre-split12615 6300: ; preds = %6296 %6301 = load ptr, ptr %2478, align 8 @@ -31729,7 +31729,7 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %6304 = load i8, ptr %6303, align 8 %6305 = and i8 %6304, 12 %6306 = icmp eq i8 %6305, 0 - br i1 %6306, label %6307, label %thread-pre-split12618 + br i1 %6306, label %6307, label %thread-pre-split12615 6307: ; preds = %6300 %6308 = load ptr, ptr %2477, align 8 @@ -31738,12 +31738,12 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %6311 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %6308, i64 %6310, i32 1 %6312 = load i8, ptr %6311, align 4 %6313 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %6308, i64 %6302, i32 1 - %.lobit11390 = and i8 %6312, 64 + %.lobit11388 = and i8 %6312, 64 %6314 = load i8, ptr %6313, align 4 %6315 = and i8 %6314, -65 - %6316 = or disjoint i8 %6315, %.lobit11390 + %6316 = or disjoint i8 %6315, %.lobit11388 store i8 %6316, ptr %6313, align 4 - br label %thread-pre-split12618 + br label %thread-pre-split12615 6317: ; preds = %2538 %6318 = getelementptr inbounds nuw i8, ptr %2501, i64 29 @@ -31755,8 +31755,8 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %6322 = getelementptr inbounds nuw i8, ptr %.09771, i64 4 %6323 = load i32, ptr %6322, align 4 %6324 = and i32 %6323, 33554432 - %.not11321 = icmp eq i32 %6324, 0 - br i1 %.not11321, label %6330, label %6325 + %.not11319 = icmp eq i32 %6324, 0 + br i1 %.not11319, label %6330, label %6325 6325: ; preds = %6321 %6326 = getelementptr inbounds nuw i8, ptr %2501, i64 8 @@ -31779,55 +31779,55 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %6339 = getelementptr inbounds nuw i8, ptr %6338, i64 8 %6340 = load i8, ptr %6339, align 8 switch i8 %6340, label %6343 [ - i8 11, label %.thread12346 + i8 11, label %.thread12343 i8 7, label %6341 ] 6341: ; preds = %6337 %6342 = call i32 @zend_array_type_info(ptr noundef nonnull %6338) #33 - br label %.thread12346 + br label %.thread12343 6343: ; preds = %6337 %6344 = zext nneg i8 %6340 to i32 %6345 = shl nuw i32 1, %6344 %6346 = getelementptr inbounds nuw i8, ptr %6338, i64 9 %6347 = load i8, ptr %6346, align 1 - %.not11322 = icmp eq i8 %6347, 0 - br i1 %.not11322, label %6350, label %6348 + %.not11320 = icmp eq i8 %6347, 0 + br i1 %.not11320, label %6350, label %6348 6348: ; preds = %6343 %6349 = or i32 %6345, -1073741824 - br label %.thread12346 + br label %.thread12343 6350: ; preds = %6343 %6351 = icmp eq i8 %6340, 6 - %spec.select11867 = select i1 %6351, i32 -2147483584, i32 %6345 - br label %.thread12346 + %spec.select11865 = select i1 %6351, i32 -2147483584, i32 %6345 + br label %.thread12343 6352: ; preds = %6317 %6353 = load ptr, ptr %2477, align 8 - %.not11320 = icmp eq ptr %6353, null - br i1 %.not11320, label %.thread12346, label %6354 + %.not11318 = icmp eq ptr %6353, null + br i1 %.not11318, label %.thread12343, label %6354 6354: ; preds = %6352 %6355 = load i32, ptr %.09621, align 4 %6356 = icmp sgt i32 %6355, -1 - br i1 %6356, label %6357, label %.thread12346 + br i1 %6356, label %6357, label %.thread12343 6357: ; preds = %6354 %6358 = zext nneg i32 %6355 to i64 %6359 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %6353, i64 %6358 %6360 = load i32, ptr %6359, align 8 - br label %.thread12346 + br label %.thread12343 -.thread12346: ; preds = %6352, %6350, %6357, %6354, %6341, %6337, %6348 - %.09937 = phi i32 [ %6342, %6341 ], [ -521143298, %6337 ], [ %6349, %6348 ], [ %spec.select11867, %6350 ], [ %6360, %6357 ], [ -486539265, %6354 ], [ -486539265, %6352 ] +.thread12343: ; preds = %6352, %6350, %6357, %6354, %6341, %6337, %6348 + %.09937 = phi i32 [ %6342, %6341 ], [ -521143298, %6337 ], [ %6349, %6348 ], [ %spec.select11865, %6350 ], [ %6360, %6357 ], [ -486539265, %6354 ], [ -486539265, %6352 ] store i32 %.09937, ptr %20, align 4 %6361 = load ptr, ptr %2479, align 8 - %.not11323 = icmp eq ptr %6361, null - br i1 %.not11323, label %6372, label %6362 + %.not11321 = icmp eq ptr %6361, null + br i1 %.not11321, label %6372, label %6362 -6362: ; preds = %.thread12346 +6362: ; preds = %.thread12343 %6363 = load i32, ptr %.09621, align 4 %6364 = icmp sgt i32 %6363, -1 br i1 %6364, label %6365, label %6372 @@ -31836,28 +31836,28 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %6366 = zext nneg i32 %6363 to i64 %6367 = getelementptr inbounds nuw %struct._zend_jit_reg_var, ptr %6361, i64 %6366 %6368 = load i32, ptr %6367, align 4 - %.not11324 = icmp eq i32 %6368, 0 - br i1 %.not11324, label %6372, label %6369 + %.not11322 = icmp eq i32 %6368, 0 + br i1 %.not11322, label %6372, label %6369 6369: ; preds = %6365 %6370 = shl nuw nsw i64 %6366, 2 %6371 = or disjoint i64 %6370, 2 - %.pre13270 = load i8, ptr %6318, align 1 + %.pre13267 = load i8, ptr %6318, align 1 br label %6384 -6372: ; preds = %6365, %6362, %.thread12346 +6372: ; preds = %6365, %6362, %.thread12343 %6373 = load i8, ptr %6318, align 1 %6374 = icmp eq i8 %6373, 1 %6375 = getelementptr inbounds nuw i8, ptr %2501, i64 8 %6376 = load i32, ptr %6375, align 8 - br i1 %6374, label %.thread13324, label %6380 + br i1 %6374, label %.thread13321, label %6380 -.thread13324: ; preds = %6372 +.thread13321: ; preds = %6372 %6377 = sext i32 %6376 to i64 %6378 = getelementptr inbounds i8, ptr %2501, i64 %6377 %6379 = ptrtoint ptr %6378 to i64 store i64 %6379, ptr %22, align 8 - br label %.thread12349 + br label %.thread12346 6380: ; preds = %6372 %6381 = zext i32 %6376 to i64 @@ -31866,10 +31866,10 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 br label %6384 6384: ; preds = %6380, %6369 - %6385 = phi i8 [ %.pre13270, %6369 ], [ %6373, %6380 ] + %6385 = phi i8 [ %.pre13267, %6369 ], [ %6373, %6380 ] %6386 = phi i64 [ %6371, %6369 ], [ %6383, %6380 ] store i64 %6386, ptr %22, align 8 - switch i8 %6385, label %.thread12349 [ + switch i8 %6385, label %.thread12346 [ i8 8, label %6387 i8 4, label %6397 ] @@ -31878,7 +31878,7 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %6388 = getelementptr inbounds nuw i8, ptr %2501, i64 61 %6389 = load i8, ptr %6388, align 1 %6390 = icmp eq i8 %6389, 8 - br i1 %6390, label %6391, label %.thread12349 + br i1 %6390, label %6391, label %.thread12346 6391: ; preds = %6387 %6392 = getelementptr inbounds nuw i8, ptr %2501, i64 40 @@ -31886,20 +31886,20 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %6394 = getelementptr inbounds nuw i8, ptr %2501, i64 8 %6395 = load i32, ptr %6394, align 8 %6396 = icmp eq i32 %6393, %6395 - br i1 %6396, label %thread-pre-split12605, label %.thread12349 + br i1 %6396, label %thread-pre-split12602, label %.thread12346 6397: ; preds = %6384 - %.not11325 = icmp eq i8 %2495, -1 + %.not11323 = icmp eq i8 %2495, -1 %6398 = and i32 %2502, 64 - %.not11326 = icmp eq i32 %6398, 0 - %or.cond11868 = select i1 %.not11325, i1 true, i1 %.not11326 - br i1 %or.cond11868, label %thread-pre-split12605, label %6399 + %.not11324 = icmp eq i32 %6398, 0 + %or.cond11866 = select i1 %.not11323, i1 true, i1 %.not11324 + br i1 %or.cond11866, label %thread-pre-split12602, label %6399 6399: ; preds = %6397 %6400 = getelementptr inbounds nuw i8, ptr %2501, i64 31 %6401 = load i8, ptr %6400, align 1 %6402 = icmp eq i8 %6401, 0 - br i1 %6402, label %6403, label %thread-pre-split12605 + br i1 %6402, label %6403, label %thread-pre-split12602 6403: ; preds = %6399 %6404 = load ptr, ptr %2477, align 8 @@ -31907,26 +31907,26 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %6406 = sext i32 %6405 to i64 %6407 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %6404, i64 %6406, i32 1 %6408 = load i8, ptr %6407, align 4 - %.not11327 = icmp sgt i8 %6408, -1 - %6409 = call fastcc zeroext i1 @zend_jit_fetch_indirect_var(ptr noundef %17, ptr noundef nonnull %2501, i8 noundef zeroext %2495, ptr noundef %20, ptr noundef %22, i1 noundef zeroext %.not11327) - br i1 %6409, label %.thread12349, label %zend_jit_stack_check.exit.thread + %.not11325 = icmp sgt i8 %6408, -1 + %6409 = call fastcc zeroext i1 @zend_jit_fetch_indirect_var(ptr noundef %17, ptr noundef nonnull %2501, i8 noundef zeroext %2495, ptr noundef %20, ptr noundef %22, i1 noundef zeroext %.not11325) + br i1 %6409, label %.thread12346, label %zend_jit_stack_check.exit.thread -.thread12349: ; preds = %.thread13324, %6384, %6387, %6391, %6403 - %.not11328 = icmp eq i8 %2495, -1 +.thread12346: ; preds = %.thread13321, %6384, %6387, %6391, %6403 + %.not11326 = icmp eq i8 %2495, -1 %6410 = and i32 %2502, 32 - %.not11329 = icmp eq i32 %6410, 0 - %or.cond11869 = select i1 %.not11328, i1 true, i1 %.not11329 - br i1 %or.cond11869, label %6436, label %6411 + %.not11327 = icmp eq i32 %6410, 0 + %or.cond11867 = select i1 %.not11326, i1 true, i1 %.not11327 + br i1 %or.cond11867, label %6436, label %6411 -6411: ; preds = %.thread12349 +6411: ; preds = %.thread12346 %6412 = load ptr, ptr %2477, align 8 %6413 = load i32, ptr %.09621, align 4 %6414 = sext i32 %6413 to i64 %6415 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %6412, i64 %6414, i32 1 %6416 = load i8, ptr %6415, align 4 %6417 = and i8 %6416, 64 - %.not11335 = icmp eq i8 %6417, 0 - %6418 = call fastcc zeroext i1 @zend_jit_fetch_reference(ptr noundef %17, ptr noundef nonnull %2501, i8 noundef zeroext %2495, ptr noundef %20, ptr noundef %22, i1 noundef zeroext %.not11335) + %.not11333 = icmp eq i8 %6417, 0 + %6418 = call fastcc zeroext i1 @zend_jit_fetch_reference(ptr noundef %17, ptr noundef nonnull %2501, i8 noundef zeroext %2495, ptr noundef %20, ptr noundef %22, i1 noundef zeroext %.not11333) br i1 %6418, label %6419, label %zend_jit_stack_check.exit.thread 6419: ; preds = %6411 @@ -31953,22 +31953,22 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 store i8 %6435, ptr %6433, align 4 br label %6528 -6436: ; preds = %.thread12349 +6436: ; preds = %.thread12346 %6437 = zext nneg i8 %.19588 to i32 br i1 %.not10749, label %6528, label %6438 6438: ; preds = %6436 %6439 = load i32, ptr %20, align 4 %6440 = and i32 %6439, 268435456 - %.not11331 = icmp eq i32 %6440, 0 - br i1 %.not11331, label %6528, label %6441 + %.not11329 = icmp eq i32 %6440, 0 + br i1 %.not11329, label %6528, label %6441 6441: ; preds = %6438 %6442 = getelementptr inbounds nuw i8, ptr %2501, i64 8 %6443 = load i32, ptr %6442, align 8 %6444 = call fastcc i32 @zend_jit_type_guard(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %6443, i8 noundef zeroext %2504) - %.not11332 = icmp eq i32 %6444, 0 - br i1 %.not11332, label %zend_jit_stack_check.exit.thread, label %6445 + %.not11330 = icmp eq i32 %6444, 0 + br i1 %.not11330, label %zend_jit_stack_check.exit.thread, label %6445 6445: ; preds = %6441 %6446 = load ptr, ptr %2478, align 8 @@ -31977,13 +31977,13 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %6449 = getelementptr inbounds %struct._zend_ssa_var, ptr %6446, i64 %6448, i32 7 %6450 = load i8, ptr %6449, align 8 %6451 = and i8 %6450, 12 - %.not11333 = icmp eq i8 %6451, 0 + %.not11331 = icmp eq i8 %6451, 0 %6452 = load i32, ptr %6442, align 8 %6453 = lshr i32 %6452, 4 %6454 = add nsw i32 %6453, -5 %6455 = zext i32 %6454 to i64 %6456 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %6455 - br i1 %.not11333, label %6490, label %6457 + br i1 %.not11331, label %6490, label %6457 6457: ; preds = %6445 store i8 -1, ptr %6456, align 4 @@ -32023,10 +32023,10 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 store i8 0, ptr %6486, align 1 %6487 = shl nuw i32 1, %6437 %6488 = icmp ult i8 %2504, 6 - %.not11334 = icmp eq i8 %2504, 7 + %.not11332 = icmp eq i8 %2504, 7 %6489 = or i32 %6487, -1073741824 - %spec.select12027 = select i1 %.not11334, i32 -520095616, i32 %6489 - %.09860 = select i1 %6488, i32 %6487, i32 %spec.select12027 + %spec.select12025 = select i1 %.not11332, i32 -520095616, i32 %6489 + %.09860 = select i1 %6488, i32 %6487, i32 %spec.select12025 store i32 %.09860, ptr %20, align 4 br label %6528 @@ -32088,8 +32088,8 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %6533 = getelementptr inbounds nuw i8, ptr %.09771, i64 4 %6534 = load i32, ptr %6533, align 4 %6535 = and i32 %6534, 33554432 - %.not11337 = icmp eq i32 %6535, 0 - br i1 %.not11337, label %6541, label %6536 + %.not11335 = icmp eq i32 %6535, 0 + br i1 %.not11335, label %6541, label %6536 6536: ; preds = %6532 %6537 = getelementptr inbounds nuw i8, ptr %2501, i64 12 @@ -32112,7 +32112,7 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %6550 = getelementptr inbounds nuw i8, ptr %6549, i64 8 %6551 = load i8, ptr %6550, align 8 switch i8 %6551, label %6554 [ - i8 11, label %.thread12353 + i8 11, label %.thread12350 i8 7, label %6552 ] @@ -32125,8 +32125,8 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %6556 = shl nuw i32 1, %6555 %6557 = getelementptr inbounds nuw i8, ptr %6549, i64 9 %6558 = load i8, ptr %6557, align 1 - %.not11338 = icmp eq i8 %6558, 0 - br i1 %.not11338, label %6561, label %6559 + %.not11336 = icmp eq i8 %6558, 0 + br i1 %.not11336, label %6561, label %6559 6559: ; preds = %6554 %6560 = or i32 %6556, -1073741824 @@ -32134,19 +32134,19 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 6561: ; preds = %6554 %6562 = icmp eq i8 %6551, 6 - %spec.select11870 = select i1 %6562, i32 -2147483584, i32 %6556 + %spec.select11868 = select i1 %6562, i32 -2147483584, i32 %6556 br label %6573 6563: ; preds = %6528 %6564 = load ptr, ptr %2477, align 8 - %.not11336 = icmp eq ptr %6564, null - br i1 %.not11336, label %.thread12353, label %6565 + %.not11334 = icmp eq ptr %6564, null + br i1 %.not11334, label %.thread12350, label %6565 6565: ; preds = %6563 %6566 = getelementptr inbounds nuw i8, ptr %.09621, i64 4 %6567 = load i32, ptr %6566, align 4 %6568 = icmp sgt i32 %6567, -1 - br i1 %6568, label %6569, label %.thread12353 + br i1 %6568, label %6569, label %.thread12350 6569: ; preds = %6565 %6570 = zext nneg i32 %6567 to i64 @@ -32154,27 +32154,27 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %6572 = load i32, ptr %6571, align 8 br label %6573 -.thread12353: ; preds = %6548, %6565, %6563 +.thread12350: ; preds = %6548, %6565, %6563 %.09903.ph = phi i32 [ -486539265, %6565 ], [ -521143298, %6548 ], [ -486539265, %6563 ] store i32 %.09903.ph, ptr %21, align 4 br label %6664 6573: ; preds = %6561, %6569, %6552, %6559 - %.09903 = phi i32 [ %6553, %6552 ], [ %6560, %6559 ], [ %spec.select11870, %6561 ], [ %6572, %6569 ] + %.09903 = phi i32 [ %6553, %6552 ], [ %6560, %6559 ], [ %spec.select11868, %6561 ], [ %6572, %6569 ] store i32 %.09903, ptr %21, align 4 %6574 = zext nneg i8 %spec.store.select to i32 - %.not11339 = icmp eq i8 %spec.store.select, -1 + %.not11337 = icmp eq i8 %spec.store.select, -1 %6575 = and i32 %.09903, 268435456 - %.not11340 = icmp eq i32 %6575, 0 - %or.cond11871 = select i1 %.not11339, i1 true, i1 %.not11340 - br i1 %or.cond11871, label %6664, label %6576 + %.not11338 = icmp eq i32 %6575, 0 + %or.cond11869 = select i1 %.not11337, i1 true, i1 %.not11338 + br i1 %or.cond11869, label %6664, label %6576 6576: ; preds = %6573 %6577 = getelementptr inbounds nuw i8, ptr %2501, i64 12 %6578 = load i32, ptr %6577, align 4 %6579 = call fastcc i32 @zend_jit_type_guard(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %6578, i8 noundef zeroext %spec.store.select) - %.not11341 = icmp eq i32 %6579, 0 - br i1 %.not11341, label %zend_jit_stack_check.exit.thread, label %6580 + %.not11339 = icmp eq i32 %6579, 0 + br i1 %.not11339, label %zend_jit_stack_check.exit.thread, label %6580 6580: ; preds = %6576 %6581 = load ptr, ptr %2478, align 8 @@ -32184,13 +32184,13 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %6585 = getelementptr inbounds %struct._zend_ssa_var, ptr %6581, i64 %6584, i32 7 %6586 = load i8, ptr %6585, align 8 %6587 = and i8 %6586, 12 - %.not11342 = icmp eq i8 %6587, 0 + %.not11340 = icmp eq i8 %6587, 0 %6588 = load i32, ptr %6577, align 4 %6589 = lshr i32 %6588, 4 %6590 = add nsw i32 %6589, -5 %6591 = zext i32 %6590 to i64 %6592 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %6591 - br i1 %.not11342, label %6626, label %6593 + br i1 %.not11340, label %6626, label %6593 6593: ; preds = %6580 store i8 -1, ptr %6592, align 4 @@ -32230,10 +32230,10 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 store i8 0, ptr %6622, align 1 %6623 = shl nuw i32 1, %6574 %6624 = icmp ult i8 %spec.store.select, 6 - %.not11343 = icmp eq i8 %spec.store.select, 7 + %.not11341 = icmp eq i8 %spec.store.select, 7 %6625 = or i32 %6623, -1073741824 - %spec.select12028 = select i1 %.not11343, i32 -520095616, i32 %6625 - %.09858 = select i1 %6624, i32 %6623, i32 %spec.select12028 + %spec.select12026 = select i1 %.not11341, i32 -520095616, i32 %6625 + %.09858 = select i1 %6624, i32 %6623, i32 %spec.select12026 store i32 %.09858, ptr %21, align 4 br label %6664 @@ -32285,7 +32285,7 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 store i32 %6663, ptr %6661, align 8 br label %6664 -6664: ; preds = %.thread12353, %6573, %6593, %6626 +6664: ; preds = %.thread12350, %6573, %6593, %6626 %6665 = getelementptr inbounds nuw i8, ptr %2501, i64 32 %6666 = getelementptr inbounds nuw i8, ptr %.09621, i64 36 %6667 = getelementptr inbounds nuw i8, ptr %2501, i64 61 @@ -32297,8 +32297,8 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %6671 = getelementptr inbounds nuw i8, ptr %.09771, i64 4 %6672 = load i32, ptr %6671, align 4 %6673 = and i32 %6672, 33554432 - %.not11345 = icmp eq i32 %6673, 0 - br i1 %.not11345, label %6679, label %6674 + %.not11343 = icmp eq i32 %6673, 0 + br i1 %.not11343, label %6679, label %6674 6674: ; preds = %6670 %6675 = getelementptr inbounds nuw i8, ptr %2501, i64 40 @@ -32321,7 +32321,7 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %6688 = getelementptr inbounds nuw i8, ptr %6687, i64 8 %6689 = load i8, ptr %6688, align 8 switch i8 %6689, label %6692 [ - i8 11, label %.thread12361 + i8 11, label %.thread12358 i8 7, label %6690 ] @@ -32334,8 +32334,8 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %6694 = shl nuw i32 1, %6693 %6695 = getelementptr inbounds nuw i8, ptr %6687, i64 9 %6696 = load i8, ptr %6695, align 1 - %.not11346 = icmp eq i8 %6696, 0 - br i1 %.not11346, label %6699, label %6697 + %.not11344 = icmp eq i8 %6696, 0 + br i1 %.not11344, label %6699, label %6697 6697: ; preds = %6692 %6698 = or i32 %6694, -1073741824 @@ -32343,18 +32343,18 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 6699: ; preds = %6692 %6700 = icmp eq i8 %6689, 6 - %spec.select11872 = select i1 %6700, i32 -2147483584, i32 %6694 + %spec.select11870 = select i1 %6700, i32 -2147483584, i32 %6694 br label %6710 6701: ; preds = %6664 %6702 = load ptr, ptr %2477, align 8 - %.not11344 = icmp eq ptr %6702, null - br i1 %.not11344, label %.thread12361, label %6703 + %.not11342 = icmp eq ptr %6702, null + br i1 %.not11342, label %.thread12358, label %6703 6703: ; preds = %6701 %6704 = load i32, ptr %6666, align 4 %6705 = icmp sgt i32 %6704, -1 - br i1 %6705, label %6706, label %.thread12361 + br i1 %6705, label %6706, label %.thread12358 6706: ; preds = %6703 %6707 = zext nneg i32 %6704 to i64 @@ -32363,20 +32363,20 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 br label %6710 6710: ; preds = %6699, %6706, %6690, %6697 - %.09938 = phi i32 [ %6691, %6690 ], [ %6698, %6697 ], [ %spec.select11872, %6699 ], [ %6709, %6706 ] + %.09938 = phi i32 [ %6691, %6690 ], [ %6698, %6697 ], [ %spec.select11870, %6699 ], [ %6709, %6706 ] %6711 = zext nneg i8 %spec.store.select209 to i32 - %.not11347 = icmp eq i8 %spec.store.select209, -1 + %.not11345 = icmp eq i8 %spec.store.select209, -1 %6712 = and i32 %.09938, 268435456 - %.not11348 = icmp eq i32 %6712, 0 - %or.cond11873 = select i1 %.not11347, i1 true, i1 %.not11348 - br i1 %or.cond11873, label %.thread12361, label %6713 + %.not11346 = icmp eq i32 %6712, 0 + %or.cond11871 = select i1 %.not11345, i1 true, i1 %.not11346 + br i1 %or.cond11871, label %.thread12358, label %6713 6713: ; preds = %6710 %6714 = getelementptr inbounds nuw i8, ptr %2501, i64 40 %6715 = load i32, ptr %6714, align 8 %6716 = call fastcc i32 @zend_jit_type_guard(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %6715, i8 noundef zeroext %spec.store.select209) - %.not11349 = icmp eq i32 %6716, 0 - br i1 %.not11349, label %zend_jit_stack_check.exit.thread, label %6717 + %.not11347 = icmp eq i32 %6716, 0 + br i1 %.not11347, label %zend_jit_stack_check.exit.thread, label %6717 6717: ; preds = %6713 %6718 = load ptr, ptr %2478, align 8 @@ -32385,13 +32385,13 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %6721 = getelementptr inbounds %struct._zend_ssa_var, ptr %6718, i64 %6720, i32 7 %6722 = load i8, ptr %6721, align 8 %6723 = and i8 %6722, 12 - %.not11350 = icmp eq i8 %6723, 0 + %.not11348 = icmp eq i8 %6723, 0 %6724 = load i32, ptr %6714, align 8 %6725 = lshr i32 %6724, 4 %6726 = add nsw i32 %6725, -5 %6727 = zext i32 %6726 to i64 %6728 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %6727 - br i1 %.not11350, label %6763, label %6729 + br i1 %.not11348, label %6763, label %6729 6729: ; preds = %6717 store i8 -1, ptr %6728, align 4 @@ -32431,13 +32431,13 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 store i8 0, ptr %6758, align 1 %6759 = shl nuw i32 1, %6711 %6760 = icmp ult i8 %spec.store.select209, 6 - br i1 %6760, label %.thread12361, label %6761 + br i1 %6760, label %.thread12358, label %6761 6761: ; preds = %6729 - %.not11351 = icmp eq i8 %spec.store.select209, 7 + %.not11349 = icmp eq i8 %spec.store.select209, 7 %6762 = or i32 %6759, -1073741824 - %spec.select12029 = select i1 %.not11351, i32 -520095616, i32 %6762 - br label %.thread12361 + %spec.select12027 = select i1 %.not11349, i32 -520095616, i32 %6762 + br label %.thread12358 6763: ; preds = %6717 store i8 %spec.store.select209, ptr %6728, align 4 @@ -32483,29 +32483,29 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %6798 = load i32, ptr %6797, align 8 %6799 = and i32 %6798, %6793 store i32 %6799, ptr %6797, align 8 - br label %.thread12361 + br label %.thread12358 -.thread12361: ; preds = %6701, %6703, %6686, %6761, %6729, %6710, %6763 - %.39728 = phi i32 [ %6793, %6763 ], [ %.09938, %6710 ], [ %6759, %6729 ], [ %spec.select12029, %6761 ], [ -486539265, %6703 ], [ -521143298, %6686 ], [ -486539265, %6701 ] +.thread12358: ; preds = %6701, %6703, %6686, %6761, %6729, %6710, %6763 + %.39728 = phi i32 [ %6793, %6763 ], [ %.09938, %6710 ], [ %6759, %6729 ], [ %spec.select12027, %6761 ], [ -486539265, %6703 ], [ -521143298, %6686 ], [ -486539265, %6701 ] %6800 = load i32, ptr %20, align 4 %6801 = load i64, ptr %22, align 8 %6802 = load i32, ptr %21, align 4 %6803 = call zeroext i1 @zend_may_throw_ex(ptr noundef nonnull %2501, ptr noundef %.09621, ptr noundef %.09771, ptr noundef nonnull %40, i32 noundef %6800, i32 noundef %6802) #33 %6804 = zext i1 %6803 to i32 %6805 = call fastcc i32 @zend_jit_assign_dim(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %6800, i64 noundef %6801, i32 noundef %6802, i32 noundef %.39728, i8 noundef zeroext %.09584, i32 noundef %6804) - %.not11352 = icmp eq i32 %6805, 0 - br i1 %.not11352, label %zend_jit_stack_check.exit.thread, label %6806 + %.not11350 = icmp eq i32 %6805, 0 + br i1 %.not11350, label %zend_jit_stack_check.exit.thread, label %6806 -6806: ; preds = %.thread12361 +6806: ; preds = %.thread12358 %6807 = load i8, ptr %6667, align 1 %6808 = icmp eq i8 %6807, 8 - br i1 %6808, label %6809, label %thread-pre-split12618 + br i1 %6808, label %6809, label %thread-pre-split12615 6809: ; preds = %6806 %6810 = getelementptr inbounds nuw i8, ptr %.09621, i64 48 %6811 = load i32, ptr %6810, align 4 %6812 = icmp sgt i32 %6811, -1 - br i1 %6812, label %6813, label %thread-pre-split12618 + br i1 %6812, label %6813, label %thread-pre-split12615 6813: ; preds = %6809 %6814 = load ptr, ptr %2478, align 8 @@ -32514,7 +32514,7 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %6817 = load i8, ptr %6816, align 8 %6818 = and i8 %6817, 12 %6819 = icmp eq i8 %6818, 0 - br i1 %6819, label %6820, label %thread-pre-split12618 + br i1 %6819, label %6820, label %thread-pre-split12615 6820: ; preds = %6813 %6821 = load ptr, ptr %2477, align 8 @@ -32523,23 +32523,23 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %6824 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %6821, i64 %6823, i32 1 %6825 = load i8, ptr %6824, align 4 %6826 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %6821, i64 %6815, i32 1 - %.lobit11353 = and i8 %6825, 64 + %.lobit11351 = and i8 %6825, 64 %6827 = load i8, ptr %6826, align 4 %6828 = and i8 %6827, -65 - %6829 = or disjoint i8 %6828, %.lobit11353 + %6829 = or disjoint i8 %6828, %.lobit11351 store i8 %6829, ptr %6826, align 4 - br label %thread-pre-split12618 + br label %thread-pre-split12615 6830: ; preds = %2538 %6831 = getelementptr inbounds nuw i8, ptr %2501, i64 29 %6832 = load i8, ptr %6831, align 1 - %.not11274 = icmp eq i8 %6832, 8 - br i1 %.not11274, label %6833, label %.thread12608 + %.not11272 = icmp eq i8 %6832, 8 + br i1 %.not11272, label %6833, label %.thread12605 6833: ; preds = %6830 %6834 = load ptr, ptr %2479, align 8 - %.not11275 = icmp eq ptr %6834, null - br i1 %.not11275, label %6843, label %6835 + %.not11273 = icmp eq ptr %6834, null + br i1 %.not11273, label %6843, label %6835 6835: ; preds = %6833 %6836 = getelementptr inbounds nuw i8, ptr %.09621, i64 4 @@ -32551,8 +32551,8 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %6840 = zext nneg i32 %6837 to i64 %6841 = getelementptr inbounds nuw %struct._zend_jit_reg_var, ptr %6834, i64 %6840 %6842 = load i32, ptr %6841, align 4 - %.not11276 = icmp eq i32 %6842, 0 - br i1 %.not11276, label %6843, label %6856 + %.not11274 = icmp eq i32 %6842, 0 + br i1 %.not11274, label %6843, label %6856 6843: ; preds = %6839, %6835, %6833 %6844 = getelementptr inbounds nuw i8, ptr %2501, i64 30 @@ -32561,16 +32561,16 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %6847 = getelementptr inbounds nuw i8, ptr %2501, i64 12 %6848 = load i32, ptr %6847, align 4 %6849 = getelementptr inbounds nuw i8, ptr %2501, i64 30 - br i1 %6846, label %.thread13325, label %.thread13326 + br i1 %6846, label %.thread13322, label %.thread13323 -.thread13325: ; preds = %6843 +.thread13322: ; preds = %6843 %6850 = sext i32 %6848 to i64 %6851 = getelementptr inbounds i8, ptr %2501, i64 %6850 %6852 = ptrtoint ptr %6851 to i64 store i64 %6852, ptr %23, align 8 br label %6861 -.thread13326: ; preds = %6843 +.thread13323: ; preds = %6843 %6853 = zext i32 %6848 to i64 %6854 = shl nuw nsw i64 %6853, 8 %6855 = or disjoint i64 %6854, 57 @@ -32580,21 +32580,21 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 6856: ; preds = %6839 %6857 = shl nuw nsw i64 %6840, 2 %6858 = or disjoint i64 %6857, 2 - %.phi.trans.insert13268 = getelementptr inbounds nuw i8, ptr %2501, i64 30 - %.pre13269 = load i8, ptr %.phi.trans.insert13268, align 2 - %6859 = icmp eq i8 %.pre13269, 1 + %.phi.trans.insert13265 = getelementptr inbounds nuw i8, ptr %2501, i64 30 + %.pre13266 = load i8, ptr %.phi.trans.insert13265, align 2 + %6859 = icmp eq i8 %.pre13266, 1 store i64 %6858, ptr %23, align 8 %6860 = getelementptr inbounds nuw i8, ptr %2501, i64 30 br i1 %6859, label %6861, label %6894 -6861: ; preds = %.thread13325, %6856 - %6862 = phi ptr [ %6849, %.thread13325 ], [ %6860, %6856 ] - %6863 = phi i64 [ %6852, %.thread13325 ], [ %6858, %6856 ] +6861: ; preds = %.thread13322, %6856 + %6862 = phi ptr [ %6849, %.thread13322 ], [ %6860, %6856 ] + %6863 = phi i64 [ %6852, %.thread13322 ], [ %6858, %6856 ] %6864 = getelementptr inbounds nuw i8, ptr %.09771, i64 4 %6865 = load i32, ptr %6864, align 4 %6866 = and i32 %6865, 33554432 - %.not11278 = icmp eq i32 %6866, 0 - br i1 %.not11278, label %6872, label %6867 + %.not11276 = icmp eq i32 %6866, 0 + br i1 %.not11276, label %6872, label %6867 6867: ; preds = %6861 %6868 = getelementptr inbounds nuw i8, ptr %2501, i64 12 @@ -32617,54 +32617,54 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %6881 = getelementptr inbounds nuw i8, ptr %6880, i64 8 %6882 = load i8, ptr %6881, align 8 switch i8 %6882, label %6885 [ - i8 11, label %.thread12366 + i8 11, label %.thread12363 i8 7, label %6883 ] 6883: ; preds = %6879 %6884 = call i32 @zend_array_type_info(ptr noundef nonnull %6880) #33 - br label %.thread12366 + br label %.thread12363 6885: ; preds = %6879 %6886 = zext nneg i8 %6882 to i32 %6887 = shl nuw i32 1, %6886 %6888 = getelementptr inbounds nuw i8, ptr %6880, i64 9 %6889 = load i8, ptr %6888, align 1 - %.not11279 = icmp eq i8 %6889, 0 - br i1 %.not11279, label %6892, label %6890 + %.not11277 = icmp eq i8 %6889, 0 + br i1 %.not11277, label %6892, label %6890 6890: ; preds = %6885 %6891 = or i32 %6887, -1073741824 - br label %.thread12366 + br label %.thread12363 6892: ; preds = %6885 %6893 = icmp eq i8 %6882, 6 - %spec.select11874 = select i1 %6893, i32 -2147483584, i32 %6887 - br label %.thread12366 + %spec.select11872 = select i1 %6893, i32 -2147483584, i32 %6887 + br label %.thread12363 -6894: ; preds = %.thread13326, %6856 - %6895 = phi ptr [ %6849, %.thread13326 ], [ %6860, %6856 ] - %6896 = phi i64 [ %6855, %.thread13326 ], [ %6858, %6856 ] +6894: ; preds = %.thread13323, %6856 + %6895 = phi ptr [ %6849, %.thread13323 ], [ %6860, %6856 ] + %6896 = phi i64 [ %6855, %.thread13323 ], [ %6858, %6856 ] %6897 = load ptr, ptr %2477, align 8 - %.not11277 = icmp eq ptr %6897, null - br i1 %.not11277, label %.thread12366, label %6898 + %.not11275 = icmp eq ptr %6897, null + br i1 %.not11275, label %.thread12363, label %6898 6898: ; preds = %6894 %6899 = getelementptr inbounds nuw i8, ptr %.09621, i64 4 %6900 = load i32, ptr %6899, align 4 %6901 = icmp sgt i32 %6900, -1 - br i1 %6901, label %6902, label %.thread12366 + br i1 %6901, label %6902, label %.thread12363 6902: ; preds = %6898 %6903 = zext nneg i32 %6900 to i64 %6904 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %6897, i64 %6903 %6905 = load i32, ptr %6904, align 8 - br label %.thread12366 + br label %.thread12363 -.thread12366: ; preds = %6894, %6892, %6902, %6898, %6883, %6879, %6890 +.thread12363: ; preds = %6894, %6892, %6902, %6898, %6883, %6879, %6890 %6906 = phi ptr [ %6862, %6883 ], [ %6862, %6879 ], [ %6862, %6890 ], [ %6862, %6892 ], [ %6895, %6902 ], [ %6895, %6898 ], [ %6895, %6894 ] %6907 = phi i64 [ %6863, %6883 ], [ %6863, %6879 ], [ %6863, %6890 ], [ %6863, %6892 ], [ %6896, %6902 ], [ %6896, %6898 ], [ %6896, %6894 ] - %6908 = phi i32 [ %6884, %6883 ], [ -521143298, %6879 ], [ %6891, %6890 ], [ %spec.select11874, %6892 ], [ %6905, %6902 ], [ -486539265, %6898 ], [ -486539265, %6894 ] + %6908 = phi i32 [ %6884, %6883 ], [ -521143298, %6879 ], [ %6891, %6890 ], [ %spec.select11872, %6892 ], [ %6905, %6902 ], [ -486539265, %6898 ], [ -486539265, %6894 ] store i32 %6908, ptr %21, align 4 store i64 0, ptr %24, align 8 %6909 = getelementptr inbounds nuw i8, ptr %.09621, i64 16 @@ -32672,7 +32672,7 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %6911 = icmp slt i32 %6910, 0 br i1 %6911, label %6943, label %6912 -6912: ; preds = %.thread12366 +6912: ; preds = %.thread12363 %6913 = and i64 %6907, 3 %6914 = icmp eq i64 %6913, 2 br i1 %6914, label %6915, label %6921 @@ -32687,15 +32687,15 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 6921: ; preds = %6915, %6912 %6922 = load ptr, ptr %2479, align 8 - %.not11280 = icmp eq ptr %6922, null - br i1 %.not11280, label %6930, label %6923 + %.not11278 = icmp eq ptr %6922, null + br i1 %.not11278, label %6930, label %6923 6923: ; preds = %6921 %6924 = zext nneg i32 %6910 to i64 %6925 = getelementptr inbounds nuw %struct._zend_jit_reg_var, ptr %6922, i64 %6924 %6926 = load i32, ptr %6925, align 4 - %.not11281 = icmp eq i32 %6926, 0 - br i1 %.not11281, label %6930, label %6927 + %.not11279 = icmp eq i32 %6926, 0 + br i1 %.not11279, label %6930, label %6927 6927: ; preds = %6923 %6928 = shl nuw nsw i64 %6924, 2 @@ -32721,21 +32721,21 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %6942 = or disjoint i64 %6941, 57 br label %6943 -6943: ; preds = %.thread12366, %6915, %6927, %6939, %6935 - %.09712 = phi i64 [ %6929, %6927 ], [ %6938, %6935 ], [ %6942, %6939 ], [ %6907, %6915 ], [ %6907, %.thread12366 ] +6943: ; preds = %.thread12363, %6915, %6927, %6939, %6935 + %.09712 = phi i64 [ %6929, %6927 ], [ %6938, %6935 ], [ %6942, %6939 ], [ %6907, %6915 ], [ %6907, %.thread12363 ] %6944 = zext nneg i8 %spec.store.select to i32 - %.not11282 = icmp eq i8 %spec.store.select, -1 + %.not11280 = icmp eq i8 %spec.store.select, -1 %6945 = and i32 %6908, 268435456 - %.not11283 = icmp eq i32 %6945, 0 - %or.cond13524 = select i1 %.not11282, i1 true, i1 %.not11283 - br i1 %or.cond13524, label %7034, label %6946 + %.not11281 = icmp eq i32 %6945, 0 + %or.cond13521 = select i1 %.not11280, i1 true, i1 %.not11281 + br i1 %or.cond13521, label %7034, label %6946 6946: ; preds = %6943 %6947 = getelementptr inbounds nuw i8, ptr %2501, i64 12 %6948 = load i32, ptr %6947, align 4 %6949 = call fastcc i32 @zend_jit_type_guard(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %6948, i8 noundef zeroext %spec.store.select) - %.not11284 = icmp eq i32 %6949, 0 - br i1 %.not11284, label %zend_jit_stack_check.exit.thread, label %6950 + %.not11282 = icmp eq i32 %6949, 0 + br i1 %.not11282, label %zend_jit_stack_check.exit.thread, label %6950 6950: ; preds = %6946 %6951 = load ptr, ptr %2478, align 8 @@ -32745,13 +32745,13 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %6955 = getelementptr inbounds %struct._zend_ssa_var, ptr %6951, i64 %6954, i32 7 %6956 = load i8, ptr %6955, align 8 %6957 = and i8 %6956, 12 - %.not11285 = icmp eq i8 %6957, 0 + %.not11283 = icmp eq i8 %6957, 0 %6958 = load i32, ptr %6947, align 4 %6959 = lshr i32 %6958, 4 %6960 = add nsw i32 %6959, -5 %6961 = zext i32 %6960 to i64 %6962 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %6961 - br i1 %.not11285, label %6996, label %6963 + br i1 %.not11283, label %6996, label %6963 6963: ; preds = %6950 store i8 -1, ptr %6962, align 4 @@ -32791,10 +32791,10 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 store i8 0, ptr %6992, align 1 %6993 = shl nuw i32 1, %6944 %6994 = icmp ult i8 %spec.store.select, 6 - %.not11286 = icmp eq i8 %spec.store.select, 7 + %.not11284 = icmp eq i8 %spec.store.select, 7 %6995 = or i32 %6993, -1073741824 - %spec.select12030 = select i1 %.not11286, i32 -520095616, i32 %6995 - %.09856 = select i1 %6994, i32 %6993, i32 %spec.select12030 + %spec.select12028 = select i1 %.not11284, i32 -520095616, i32 %6995 + %.09856 = select i1 %6994, i32 %6993, i32 %spec.select12028 store i32 %.09856, ptr %21, align 4 br label %7034 @@ -32855,8 +32855,8 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %7038 = getelementptr inbounds nuw i8, ptr %.09771, i64 4 %7039 = load i32, ptr %7038, align 4 %7040 = and i32 %7039, 33554432 - %.not11288 = icmp eq i32 %7040, 0 - br i1 %.not11288, label %7046, label %7041 + %.not11286 = icmp eq i32 %7040, 0 + br i1 %.not11286, label %7046, label %7041 7041: ; preds = %7037 %7042 = getelementptr inbounds nuw i8, ptr %2501, i64 8 @@ -32879,46 +32879,46 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %7055 = getelementptr inbounds nuw i8, ptr %7054, i64 8 %7056 = load i8, ptr %7055, align 8 switch i8 %7056, label %7059 [ - i8 11, label %.thread12368 + i8 11, label %.thread12365 i8 7, label %7057 ] 7057: ; preds = %7053 %7058 = call i32 @zend_array_type_info(ptr noundef nonnull %7054) #33 - br label %.thread12368 + br label %.thread12365 7059: ; preds = %7053 %7060 = zext nneg i8 %7056 to i32 %7061 = shl nuw i32 1, %7060 %7062 = getelementptr inbounds nuw i8, ptr %7054, i64 9 %7063 = load i8, ptr %7062, align 1 - %.not11289 = icmp eq i8 %7063, 0 - br i1 %.not11289, label %7066, label %7064 + %.not11287 = icmp eq i8 %7063, 0 + br i1 %.not11287, label %7066, label %7064 7064: ; preds = %7059 %7065 = or i32 %7061, -1073741824 - br label %.thread12368 + br label %.thread12365 7066: ; preds = %7059 %7067 = icmp eq i8 %7056, 6 - %spec.select11875 = select i1 %7067, i32 -2147483584, i32 %7061 - br label %.thread12368 + %spec.select11873 = select i1 %7067, i32 -2147483584, i32 %7061 + br label %.thread12365 7068: ; preds = %7034 %7069 = load ptr, ptr %2477, align 8 - %.not11287 = icmp eq ptr %7069, null - br i1 %.not11287, label %.thread12370.thread, label %7070 + %.not11285 = icmp eq ptr %7069, null + br i1 %.not11285, label %.thread12367.thread, label %7070 -.thread12370.thread: ; preds = %7068 +.thread12367.thread: ; preds = %7068 store i32 -486539265, ptr %20, align 4 br label %7186 7070: ; preds = %7068 %7071 = load i32, ptr %.09621, align 4 %7072 = icmp sgt i32 %7071, -1 - br i1 %7072, label %7073, label %.thread12368.thread13331 + br i1 %7072, label %7073, label %.thread12365.thread13328 -.thread12368.thread13331: ; preds = %7070 +.thread12365.thread13328: ; preds = %7070 store i32 -486539265, ptr %20, align 4 br label %7077 @@ -32926,54 +32926,54 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %7074 = zext nneg i32 %7071 to i64 %7075 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %7069, i64 %7074 %7076 = load i32, ptr %7075, align 8 - br label %.thread12368 + br label %.thread12365 -.thread12368: ; preds = %7066, %7073, %7057, %7053, %7064 - %.09940.ph = phi i32 [ %7076, %7073 ], [ %spec.select11875, %7066 ], [ %7065, %7064 ], [ -521143298, %7053 ], [ %7058, %7057 ] - %.pr13327 = load ptr, ptr %2477, align 8 +.thread12365: ; preds = %7066, %7073, %7057, %7053, %7064 + %.09940.ph = phi i32 [ %7076, %7073 ], [ %spec.select11873, %7066 ], [ %7065, %7064 ], [ -521143298, %7053 ], [ %7058, %7057 ] + %.pr13324 = load ptr, ptr %2477, align 8 store i32 %.09940.ph, ptr %20, align 4 - %.not11290 = icmp eq ptr %.pr13327, null - br i1 %.not11290, label %.thread12370, label %7077 + %.not11288 = icmp eq ptr %.pr13324, null + br i1 %.not11288, label %.thread12367, label %7077 -7077: ; preds = %.thread12368.thread13331, %.thread12368 - %.0994013334 = phi i32 [ -486539265, %.thread12368.thread13331 ], [ %.09940.ph, %.thread12368 ] - %7078 = phi ptr [ %7069, %.thread12368.thread13331 ], [ %.pr13327, %.thread12368 ] +7077: ; preds = %.thread12365.thread13328, %.thread12365 + %.0994013331 = phi i32 [ -486539265, %.thread12365.thread13328 ], [ %.09940.ph, %.thread12365 ] + %7078 = phi ptr [ %7069, %.thread12365.thread13328 ], [ %.pr13324, %.thread12365 ] %7079 = getelementptr inbounds nuw i8, ptr %.09621, i64 12 %7080 = load i32, ptr %7079, align 4 %7081 = icmp sgt i32 %7080, -1 - br i1 %7081, label %7082, label %.thread12370 + br i1 %7081, label %7082, label %.thread12367 7082: ; preds = %7077 %7083 = zext nneg i32 %7080 to i64 %7084 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %7078, i64 %7083 %7085 = load i32, ptr %7084, align 8 - br label %.thread12370 + br label %.thread12367 -.thread12370: ; preds = %.thread12368, %7077, %7082 - %.0994013330 = phi i32 [ %.0994013334, %7082 ], [ %.0994013334, %7077 ], [ %.09940.ph, %.thread12368 ] - %.09447 = phi i32 [ %7085, %7082 ], [ -486539265, %7077 ], [ -486539265, %.thread12368 ] +.thread12367: ; preds = %.thread12365, %7077, %7082 + %.0994013327 = phi i32 [ %.0994013331, %7082 ], [ %.0994013331, %7077 ], [ %.09940.ph, %.thread12365 ] + %.09447 = phi i32 [ %7085, %7082 ], [ -486539265, %7077 ], [ -486539265, %.thread12365 ] %7086 = zext nneg i8 %.19588 to i32 - %7087 = and i32 %.0994013330, 268435456 - %.not11292 = icmp eq i32 %7087, 0 - %or.cond12687 = select i1 %.not10749, i1 true, i1 %.not11292 - br i1 %or.cond12687, label %7186, label %7088 + %7087 = and i32 %.0994013327, 268435456 + %.not11290 = icmp eq i32 %7087, 0 + %or.cond12684 = select i1 %.not10749, i1 true, i1 %.not11290 + br i1 %or.cond12684, label %7186, label %7088 -7088: ; preds = %.thread12370 +7088: ; preds = %.thread12367 %7089 = icmp ult i8 %2504, 6 br i1 %7089, label %7090, label %7100 7090: ; preds = %7088 - %7091 = xor i32 %.09447, %.0994013330 + %7091 = xor i32 %.09447, %.0994013327 %7092 = and i32 %7091, 1023 - %.not11293 = icmp eq i32 %7092, 0 - br i1 %.not11293, label %7100, label %7093 + %.not11291 = icmp eq i32 %7092, 0 + br i1 %.not11291, label %7100, label %7093 7093: ; preds = %7090 %7094 = getelementptr inbounds nuw i8, ptr %2501, i64 8 %7095 = load i32, ptr %7094, align 8 %7096 = call fastcc i32 @zend_jit_scalar_type_guard(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %7095) - %.not11298 = icmp eq i32 %7096, 0 - br i1 %.not11298, label %zend_jit_stack_check.exit.thread, label %7097 + %.not11296 = icmp eq i32 %7096, 0 + br i1 %.not11296, label %zend_jit_stack_check.exit.thread, label %7097 7097: ; preds = %7093 %7098 = load i32, ptr %20, align 4 @@ -32985,8 +32985,8 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %7101 = getelementptr inbounds nuw i8, ptr %2501, i64 8 %7102 = load i32, ptr %7101, align 8 %7103 = call fastcc i32 @zend_jit_type_guard(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %7102, i8 noundef zeroext %2504) - %.not11295 = icmp eq i32 %7103, 0 - br i1 %.not11295, label %zend_jit_stack_check.exit.thread, label %7104 + %.not11293 = icmp eq i32 %7103, 0 + br i1 %.not11293, label %zend_jit_stack_check.exit.thread, label %7104 7104: ; preds = %7100 %7105 = load ptr, ptr %2478, align 8 @@ -32995,13 +32995,13 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %7108 = getelementptr inbounds %struct._zend_ssa_var, ptr %7105, i64 %7107, i32 7 %7109 = load i8, ptr %7108, align 8 %7110 = and i8 %7109, 12 - %.not11296 = icmp eq i8 %7110, 0 + %.not11294 = icmp eq i8 %7110, 0 %7111 = load i32, ptr %7101, align 8 %7112 = lshr i32 %7111, 4 %7113 = add nsw i32 %7112, -5 %7114 = zext i32 %7113 to i64 %7115 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %7114 - br i1 %.not11296, label %7148, label %7116 + br i1 %.not11294, label %7148, label %7116 7116: ; preds = %7104 store i8 -1, ptr %7115, align 4 @@ -33040,10 +33040,10 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %7145 = getelementptr inbounds nuw i8, ptr %7144, i64 3 store i8 0, ptr %7145, align 1 %7146 = shl nuw i32 1, %7086 - %.not11297 = icmp eq i8 %2504, 7 + %.not11295 = icmp eq i8 %2504, 7 %7147 = or i32 %7146, -1073741824 - %spec.select12031 = select i1 %.not11297, i32 -520095616, i32 %7147 - %.09855 = select i1 %7089, i32 %7146, i32 %spec.select12031 + %spec.select12029 = select i1 %.not11295, i32 -520095616, i32 %7147 + %.09855 = select i1 %7089, i32 %7146, i32 %spec.select12029 store i32 %.09855, ptr %20, align 4 br label %7186 @@ -33095,11 +33095,11 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 store i32 %7185, ptr %7183, align 8 br label %7186 -7186: ; preds = %.thread12370.thread, %7097, %7116, %7148, %.thread12370 - %.0944713339 = phi i32 [ -486539265, %.thread12370.thread ], [ %.09447, %7097 ], [ %.09447, %7116 ], [ %.09447, %7148 ], [ %.09447, %.thread12370 ] +7186: ; preds = %.thread12367.thread, %7097, %7116, %7148, %.thread12367 + %.0944713336 = phi i32 [ -486539265, %.thread12367.thread ], [ %.09447, %7097 ], [ %.09447, %7116 ], [ %.09447, %7148 ], [ %.09447, %.thread12367 ] %7187 = load ptr, ptr %2479, align 8 - %.not11299 = icmp eq ptr %7187, null - br i1 %.not11299, label %7197, label %7188 + %.not11297 = icmp eq ptr %7187, null + br i1 %.not11297, label %7197, label %7188 7188: ; preds = %7186 %7189 = load i32, ptr %.09621, align 4 @@ -33110,10 +33110,10 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %7192 = zext nneg i32 %7189 to i64 %7193 = getelementptr inbounds nuw %struct._zend_jit_reg_var, ptr %7187, i64 %7192 %7194 = load i32, ptr %7193, align 4 - %.not11300 = icmp eq i32 %7194, 0 - br i1 %.not11300, label %7197, label %.thread13340 + %.not11298 = icmp eq i32 %7194, 0 + br i1 %.not11298, label %7197, label %.thread13337 -.thread13340: ; preds = %7191 +.thread13337: ; preds = %7191 %7195 = shl nuw nsw i64 %7192, 2 %7196 = or disjoint i64 %7195, 2 store i64 %7196, ptr %22, align 8 @@ -33132,10 +33132,10 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %7207 = or disjoint i64 %7206, 57 %7208 = select i1 %7199, i64 %7204, i64 %7207 store i64 %7208, ptr %22, align 8 - br i1 %.not11299, label %7221, label %7209 + br i1 %.not11297, label %7221, label %7209 -7209: ; preds = %.thread13340, %7197 - %7210 = phi i64 [ %7196, %.thread13340 ], [ %7208, %7197 ] +7209: ; preds = %.thread13337, %7197 + %7210 = phi i64 [ %7196, %.thread13337 ], [ %7208, %7197 ] %7211 = getelementptr inbounds nuw i8, ptr %.09621, i64 12 %7212 = load i32, ptr %7211, align 4 %7213 = icmp sgt i32 %7212, -1 @@ -33145,8 +33145,8 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %7215 = zext nneg i32 %7212 to i64 %7216 = getelementptr inbounds nuw %struct._zend_jit_reg_var, ptr %7187, i64 %7215 %7217 = load i32, ptr %7216, align 4 - %.not11302 = icmp eq i32 %7217, 0 - br i1 %.not11302, label %7221, label %7218 + %.not11300 = icmp eq i32 %7217, 0 + br i1 %.not11300, label %7221, label %7218 7218: ; preds = %7214 %7219 = shl nuw nsw i64 %7215, 2 @@ -33177,8 +33177,8 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %7236 = phi i64 [ %7210, %7218 ], [ %7222, %7227 ], [ %7222, %7231 ] %7237 = phi i64 [ %7220, %7218 ], [ %7230, %7227 ], [ %7234, %7231 ] %7238 = and i64 %7237, 3 - %.not11303 = icmp eq i64 %7238, 2 - br i1 %.not11303, label %7252, label %7239 + %.not11301 = icmp eq i64 %7238, 2 + br i1 %.not11301, label %7252, label %7239 7239: ; preds = %7235 %7240 = getelementptr inbounds nuw i8, ptr %2501, i64 8 @@ -33190,8 +33190,8 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %7246 = load i8, ptr %7245, align 4 %7247 = getelementptr inbounds nuw i8, ptr %7245, i64 1 %7248 = load i8, ptr %7247, align 1 - %.not11304 = icmp eq i8 %7246, %7248 - br i1 %.not11304, label %7252, label %7249 + %.not11302 = icmp eq i8 %7246, %7248 + br i1 %.not11302, label %7252, label %7249 7249: ; preds = %7239 %7250 = load i32, ptr %20, align 4 @@ -33200,13 +33200,13 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 br label %7252 7252: ; preds = %7249, %7239, %7235 - %.not11305 = icmp eq i8 %2495, -1 - br i1 %.not11305, label %7319, label %7253 + %.not11303 = icmp eq i8 %2495, -1 + br i1 %.not11303, label %7319, label %7253 7253: ; preds = %7252 %7254 = and i32 %2502, 32 - %.not11306 = icmp eq i32 %7254, 0 - br i1 %.not11306, label %7310, label %7255 + %.not11304 = icmp eq i32 %7254, 0 + br i1 %.not11304, label %7310, label %7255 7255: ; preds = %7253 %7256 = load ptr, ptr %2477, align 8 @@ -33215,8 +33215,8 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %7259 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %7256, i64 %7258, i32 1 %7260 = load i8, ptr %7259, align 4 %7261 = and i8 %7260, 64 - %.not11308 = icmp eq i8 %7261, 0 - %7262 = call fastcc zeroext i1 @zend_jit_guard_reference(ptr noundef %17, ptr noundef nonnull %2501, ptr noundef %22, ptr noundef %24, i1 noundef zeroext %.not11308) + %.not11306 = icmp eq i8 %7261, 0 + %7262 = call fastcc zeroext i1 @zend_jit_guard_reference(ptr noundef %17, ptr noundef nonnull %2501, ptr noundef %22, ptr noundef %24, i1 noundef zeroext %.not11306) br i1 %7262, label %7263, label %zend_jit_stack_check.exit.thread 7263: ; preds = %7255 @@ -33250,12 +33250,12 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %7283 = getelementptr inbounds nuw i8, ptr %2501, i64 31 %7284 = load i8, ptr %7283, align 1 %7285 = icmp eq i8 %7284, 0 - br i1 %7285, label %.thread13341, label %7286 + br i1 %7285, label %.thread13338, label %7286 7286: ; preds = %7282 %7287 = load ptr, ptr %2479, align 8 - %.not11309 = icmp eq ptr %7287, null - br i1 %.not11309, label %7296, label %7288 + %.not11307 = icmp eq ptr %7287, null + br i1 %.not11307, label %7296, label %7288 7288: ; preds = %7286 %7289 = getelementptr inbounds nuw i8, ptr %.09621, i64 20 @@ -33267,12 +33267,12 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %7293 = zext nneg i32 %7290 to i64 %7294 = getelementptr inbounds nuw %struct._zend_jit_reg_var, ptr %7287, i64 %7293 %7295 = load i32, ptr %7294, align 4 - %.not11310 = icmp eq i32 %7295, 0 - br i1 %.not11310, label %7296, label %.thread13341 + %.not11308 = icmp eq i32 %7295, 0 + br i1 %.not11308, label %7296, label %.thread13338 7296: ; preds = %7292, %7288, %7286 %7297 = icmp eq i8 %7284, 1 - br i1 %7297, label %7298, label %.thread13343 + br i1 %7297, label %7298, label %.thread13340 7298: ; preds = %7296 %7299 = getelementptr inbounds nuw i8, ptr %2501, i64 16 @@ -33282,27 +33282,27 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %7303 = ptrtoint ptr %7302 to i64 %7304 = and i64 %7303, 3 %7305 = icmp eq i64 %7304, 2 - br i1 %7305, label %.thread13341, label %.thread13343 + br i1 %7305, label %.thread13338, label %.thread13340 -.thread13343: ; preds = %7296, %7298 +.thread13340: ; preds = %7296, %7298 %7306 = call fastcc zeroext i1 @zend_jit_trace_next_is_send_result(ptr noundef nonnull %2501, ptr noundef %.39762, ptr noundef %.09646) - br i1 %7306, label %7307, label %.thread13341 + br i1 %7306, label %7307, label %.thread13338 -7307: ; preds = %.thread13343 +7307: ; preds = %.thread13340 call fastcc void @zend_jit_reuse_ip(ptr noundef %17) - br label %.thread13341 + br label %.thread13338 -.thread13341: ; preds = %7292, %7282, %7307, %7298, %.thread13343 - %.69722 = phi i8 [ 1, %7307 ], [ %.09716, %.thread13343 ], [ %.09716, %7298 ], [ %.09716, %7282 ], [ %.09716, %7292 ] +.thread13338: ; preds = %7292, %7282, %7307, %7298, %.thread13340 + %.69722 = phi i8 [ 1, %7307 ], [ %.09716, %.thread13340 ], [ %.09716, %7298 ], [ %.09716, %7282 ], [ %.09716, %7292 ] %7308 = load i64, ptr %22, align 8 - %7309 = and i32 %.0944713339, -1025 + %7309 = and i32 %.0944713336, -1025 br label %7319 7310: ; preds = %7253 %7311 = load i32, ptr %20, align 4 %7312 = and i32 %7311, 1024 - %.not11307 = icmp eq i32 %7312, 0 - br i1 %.not11307, label %7319, label %7313 + %.not11305 = icmp eq i32 %7312, 0 + br i1 %.not11305, label %7319, label %7313 7313: ; preds = %7310 %7314 = call fastcc zeroext i1 @zend_jit_noref_guard(ptr noundef %17, ptr noundef nonnull %2501, i64 noundef %7236) @@ -33312,14 +33312,14 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %7316 = load i32, ptr %20, align 4 %7317 = and i32 %7316, -1025 store i32 %7317, ptr %20, align 4 - %7318 = and i32 %.0944713339, -1025 + %7318 = and i32 %.0944713336, -1025 br label %7319 -7319: ; preds = %.thread13341, %7315, %7310, %7252 - %7320 = phi i64 [ %7308, %.thread13341 ], [ %7236, %7315 ], [ %7236, %7310 ], [ %7236, %7252 ] - %.29739 = phi i32 [ %7309, %.thread13341 ], [ %7318, %7315 ], [ %.0944713339, %7310 ], [ %.0944713339, %7252 ] - %.59721 = phi i8 [ %.69722, %.thread13341 ], [ %.09716, %7315 ], [ %.09716, %7310 ], [ %.09716, %7252 ] - %.09713 = phi i64 [ %7308, %.thread13341 ], [ %7237, %7315 ], [ %7237, %7310 ], [ %7237, %7252 ] +7319: ; preds = %.thread13338, %7315, %7310, %7252 + %7320 = phi i64 [ %7308, %.thread13338 ], [ %7236, %7315 ], [ %7236, %7310 ], [ %7236, %7252 ] + %.29739 = phi i32 [ %7309, %.thread13338 ], [ %7318, %7315 ], [ %.0944713336, %7310 ], [ %.0944713336, %7252 ] + %.59721 = phi i8 [ %.69722, %.thread13338 ], [ %.09716, %7315 ], [ %.09716, %7310 ], [ %.09716, %7252 ] + %.09713 = phi i64 [ %7308, %.thread13338 ], [ %7237, %7315 ], [ %7237, %7310 ], [ %7237, %7252 ] %7321 = getelementptr inbounds nuw i8, ptr %2501, i64 31 %7322 = load i8, ptr %7321, align 1 %7323 = icmp eq i8 %7322, 0 @@ -33327,8 +33327,8 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 7324: ; preds = %7319 %7325 = load ptr, ptr %2479, align 8 - %.not11312 = icmp eq ptr %7325, null - br i1 %.not11312, label %7337, label %7326 + %.not11310 = icmp eq ptr %7325, null + br i1 %.not11310, label %7337, label %7326 7326: ; preds = %7324 %7327 = getelementptr inbounds nuw i8, ptr %.09621, i64 20 @@ -33340,8 +33340,8 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %7331 = zext nneg i32 %7328 to i64 %7332 = getelementptr inbounds nuw %struct._zend_jit_reg_var, ptr %7325, i64 %7331 %7333 = load i32, ptr %7332, align 4 - %.not11313 = icmp eq i32 %7333, 0 - br i1 %.not11313, label %7337, label %7334 + %.not11311 = icmp eq i32 %7333, 0 + br i1 %.not11311, label %7337, label %7334 7334: ; preds = %7330 %7335 = shl nuw nsw i64 %7331, 2 @@ -33369,28 +33369,28 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 7349: ; preds = %7341, %7345, %7334 %7350 = phi i64 [ %7336, %7334 ], [ %7344, %7341 ], [ %7348, %7345 ] %7351 = load ptr, ptr %2477, align 8 - %.not11314 = icmp eq ptr %7351, null - br i1 %.not11314, label %.thread12372, label %7352 + %.not11312 = icmp eq ptr %7351, null + br i1 %.not11312, label %.thread12369, label %7352 7352: ; preds = %7349 %7353 = getelementptr inbounds nuw i8, ptr %.09621, i64 20 %7354 = load i32, ptr %7353, align 4 %7355 = icmp sgt i32 %7354, -1 - br i1 %7355, label %7356, label %.thread12372 + br i1 %7355, label %7356, label %.thread12369 7356: ; preds = %7352 %7357 = zext nneg i32 %7354 to i64 %7358 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %7351, i64 %7357 %7359 = load i32, ptr %7358, align 8 - br label %.thread12372 + br label %.thread12369 -.thread12372: ; preds = %7349, %7352, %7356 +.thread12369: ; preds = %7349, %7352, %7356 %.09442 = phi i32 [ %7359, %7356 ], [ -486539265, %7352 ], [ -486539265, %7349 ] %7360 = and i64 %7350, 3 - %.not11315 = icmp eq i64 %7360, 2 - br i1 %.not11315, label %7369, label %7361 + %.not11313 = icmp eq i64 %7360, 2 + br i1 %.not11313, label %7369, label %7361 -7361: ; preds = %.thread12372 +7361: ; preds = %.thread12369 %7362 = call fastcc zeroext i1 @zend_jit_trace_next_is_send_result(ptr noundef nonnull %2501, ptr noundef %.39762, ptr noundef %.09646) br i1 %7362, label %7363, label %7369 @@ -33403,10 +33403,10 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 call fastcc void @zend_jit_reuse_ip(ptr noundef %17) br label %7369 -7369: ; preds = %7319, %7363, %.thread12372, %7361 - %.19736 = phi i32 [ %.09442, %7363 ], [ %.09442, %7361 ], [ %.09442, %.thread12372 ], [ -1, %7319 ] - %.79723 = phi i8 [ 1, %7363 ], [ %.59721, %7361 ], [ %.59721, %.thread12372 ], [ %.59721, %7319 ] - %.49710 = phi i64 [ %7368, %7363 ], [ %7350, %7361 ], [ %7350, %.thread12372 ], [ 0, %7319 ] +7369: ; preds = %7319, %7363, %.thread12369, %7361 + %.19736 = phi i32 [ %.09442, %7363 ], [ %.09442, %7361 ], [ %.09442, %.thread12369 ], [ -1, %7319 ] + %.79723 = phi i8 [ 1, %7363 ], [ %.59721, %7361 ], [ %.59721, %.thread12369 ], [ %.59721, %7319 ] + %.49710 = phi i64 [ %7368, %7363 ], [ %7350, %7361 ], [ %7350, %.thread12369 ], [ 0, %7319 ] %7370 = load i32, ptr %20, align 4 %7371 = load i32, ptr %21, align 4 %7372 = load i64, ptr %23, align 8 @@ -33436,8 +33436,8 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 7389: ; preds = %7382 %7390 = load i32, ptr %21, align 4 %7391 = and i32 %7390, 16 - %.not11316 = icmp eq i32 %7391, 0 - %7392 = select i1 %.not11316, i8 5, i8 4 + %.not11314 = icmp eq i32 %7391, 0 + %7392 = select i1 %.not11314, i8 5, i8 4 %7393 = getelementptr inbounds nuw i8, ptr %2501, i64 12 %7394 = load i32, ptr %7393, align 4 %7395 = lshr i32 %7394, 4 @@ -33446,8 +33446,8 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %7398 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %7397 %7399 = getelementptr inbounds nuw i8, ptr %7398, i64 1 %7400 = load i8, ptr %7399, align 1 - %.not11317 = icmp eq i8 %7400, %7392 - br i1 %.not11317, label %7412, label %7401 + %.not11315 = icmp eq i8 %7400, %7392 + br i1 %.not11315, label %7412, label %7401 7401: ; preds = %7389 %7402 = getelementptr inbounds nuw i8, ptr %7385, i64 12 @@ -33458,8 +33458,8 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 7405: ; preds = %7401 %7406 = getelementptr inbounds nuw i8, ptr %7385, i64 24 %7407 = load ptr, ptr %7406, align 8 - %.not11318 = icmp eq ptr %7407, null - br i1 %.not11318, label %7408, label %7412 + %.not11316 = icmp eq ptr %7407, null + br i1 %.not11316, label %7408, label %7412 7408: ; preds = %7405 call fastcc void @zend_jit_store_type(ptr noundef %17, i32 noundef %7396, i8 noundef zeroext %7392) @@ -33476,12 +33476,12 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 7412: ; preds = %7389, %7401, %7405, %7408, %7382, %7378, %7369 %7413 = load i8, ptr %6906, align 2 %7414 = icmp eq i8 %7413, 8 - br i1 %7414, label %7415, label %thread-pre-split12618 + br i1 %7414, label %7415, label %thread-pre-split12615 7415: ; preds = %7412 %7416 = load i32, ptr %6909, align 4 %7417 = icmp sgt i32 %7416, -1 - br i1 %7417, label %7418, label %thread-pre-split12618 + br i1 %7417, label %7418, label %thread-pre-split12615 7418: ; preds = %7415 %7419 = load ptr, ptr %2478, align 8 @@ -33490,7 +33490,7 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %7422 = load i8, ptr %7421, align 8 %7423 = and i8 %7422, 12 %7424 = icmp eq i8 %7423, 0 - br i1 %7424, label %7425, label %thread-pre-split12618 + br i1 %7424, label %7425, label %thread-pre-split12615 7425: ; preds = %7418 %7426 = load ptr, ptr %2477, align 8 @@ -33500,24 +33500,24 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %7430 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %7426, i64 %7429, i32 1 %7431 = load i8, ptr %7430, align 4 %7432 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %7426, i64 %7420, i32 1 - %.lobit11319 = and i8 %7431, 64 + %.lobit11317 = and i8 %7431, 64 %7433 = load i8, ptr %7432, align 4 %7434 = and i8 %7433, -65 - %7435 = or disjoint i8 %7434, %.lobit11319 + %7435 = or disjoint i8 %7434, %.lobit11317 store i8 %7435, ptr %7432, align 4 - br label %thread-pre-split12618 + br label %thread-pre-split12615 7436: ; preds = %2538 %7437 = getelementptr inbounds nuw i8, ptr %2501, i64 20 %7438 = load i32, ptr %7437, align 4 %7439 = zext i8 %.19588 to i32 - %.not11251 = icmp eq i32 %7438, %7439 - br i1 %.not11251, label %7440, label %thread-pre-split12605 + %.not11249 = icmp eq i32 %7438, %7439 + br i1 %.not11249, label %7440, label %thread-pre-split12602 7440: ; preds = %7436, %2538 %7441 = load ptr, ptr %2479, align 8 - %.not11252 = icmp eq ptr %7441, null - br i1 %.not11252, label %7452, label %7442 + %.not11250 = icmp eq ptr %7441, null + br i1 %.not11250, label %7452, label %7442 7442: ; preds = %7440 %7443 = load i32, ptr %.09621, align 4 @@ -33528,8 +33528,8 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %7446 = zext nneg i32 %7443 to i64 %7447 = getelementptr inbounds nuw %struct._zend_jit_reg_var, ptr %7441, i64 %7446 %7448 = load i32, ptr %7447, align 4 - %.not11253 = icmp eq i32 %7448, 0 - br i1 %.not11253, label %7452, label %7449 + %.not11251 = icmp eq i32 %7448, 0 + br i1 %.not11251, label %7452, label %7449 7449: ; preds = %7445 %7450 = shl nuw nsw i64 %7446, 2 @@ -33578,14 +33578,14 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 br i1 %7479, label %7502, label %7480 7480: ; preds = %7474, %7471 - br i1 %.not11252, label %7488, label %7481 + br i1 %.not11250, label %7488, label %7481 7481: ; preds = %7480 %7482 = zext nneg i32 %7469 to i64 %7483 = getelementptr inbounds nuw %struct._zend_jit_reg_var, ptr %7441, i64 %7482 %7484 = load i32, ptr %7483, align 4 - %.not11255 = icmp eq i32 %7484, 0 - br i1 %.not11255, label %7488, label %7485 + %.not11253 = icmp eq i32 %7484, 0 + br i1 %.not11253, label %7488, label %7485 7485: ; preds = %7481 %7486 = shl nuw nsw i64 %7482, 2 @@ -33623,8 +33623,8 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %7507 = getelementptr inbounds nuw i8, ptr %.09771, i64 4 %7508 = load i32, ptr %7507, align 4 %7509 = and i32 %7508, 33554432 - %.not11257 = icmp eq i32 %7509, 0 - br i1 %.not11257, label %7515, label %7510 + %.not11255 = icmp eq i32 %7509, 0 + br i1 %.not11255, label %7515, label %7510 7510: ; preds = %7506 %7511 = getelementptr inbounds nuw i8, ptr %2501, i64 8 @@ -33647,7 +33647,7 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %7524 = getelementptr inbounds nuw i8, ptr %7523, i64 8 %7525 = load i8, ptr %7524, align 8 switch i8 %7525, label %7528 [ - i8 11, label %.thread12377 + i8 11, label %.thread12374 i8 7, label %7526 ] @@ -33660,8 +33660,8 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %7530 = shl nuw i32 1, %7529 %7531 = getelementptr inbounds nuw i8, ptr %7523, i64 9 %7532 = load i8, ptr %7531, align 1 - %.not11258 = icmp eq i8 %7532, 0 - br i1 %.not11258, label %7535, label %7533 + %.not11256 = icmp eq i8 %7532, 0 + br i1 %.not11256, label %7535, label %7533 7533: ; preds = %7528 %7534 = or i32 %7530, -1073741824 @@ -33669,18 +33669,18 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 7535: ; preds = %7528 %7536 = icmp eq i8 %7525, 6 - %spec.select11876 = select i1 %7536, i32 -2147483584, i32 %7530 + %spec.select11874 = select i1 %7536, i32 -2147483584, i32 %7530 br label %7546 7537: ; preds = %7502 %7538 = load ptr, ptr %2477, align 8 - %.not11256 = icmp eq ptr %7538, null - br i1 %.not11256, label %.thread12377, label %7539 + %.not11254 = icmp eq ptr %7538, null + br i1 %.not11254, label %.thread12374, label %7539 7539: ; preds = %7537 %7540 = load i32, ptr %.09621, align 4 %7541 = icmp sgt i32 %7540, -1 - br i1 %7541, label %7542, label %.thread12377 + br i1 %7541, label %7542, label %.thread12374 7542: ; preds = %7539 %7543 = zext nneg i32 %7540 to i64 @@ -33688,26 +33688,26 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %7545 = load i32, ptr %7544, align 8 br label %7546 -.thread12377: ; preds = %7522, %7539, %7537 +.thread12374: ; preds = %7522, %7539, %7537 %.09941.ph = phi i32 [ -486539265, %7539 ], [ -521143298, %7522 ], [ -486539265, %7537 ] store i32 %.09941.ph, ptr %20, align 4 br label %7636 7546: ; preds = %7535, %7542, %7526, %7533 - %.09941 = phi i32 [ %7527, %7526 ], [ %7534, %7533 ], [ %spec.select11876, %7535 ], [ %7545, %7542 ] + %.09941 = phi i32 [ %7527, %7526 ], [ %7534, %7533 ], [ %spec.select11874, %7535 ], [ %7545, %7542 ] store i32 %.09941, ptr %20, align 4 %7547 = zext nneg i8 %.19588 to i32 %7548 = and i32 %.09941, 268435456 - %.not11260 = icmp eq i32 %7548, 0 - %or.cond11877 = select i1 %.not10749, i1 true, i1 %.not11260 - br i1 %or.cond11877, label %7636, label %7549 + %.not11258 = icmp eq i32 %7548, 0 + %or.cond11875 = select i1 %.not10749, i1 true, i1 %.not11258 + br i1 %or.cond11875, label %7636, label %7549 7549: ; preds = %7546 %7550 = getelementptr inbounds nuw i8, ptr %2501, i64 8 %7551 = load i32, ptr %7550, align 8 %7552 = call fastcc i32 @zend_jit_type_guard(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %7551, i8 noundef zeroext %2504) - %.not11261 = icmp eq i32 %7552, 0 - br i1 %.not11261, label %zend_jit_stack_check.exit.thread, label %7553 + %.not11259 = icmp eq i32 %7552, 0 + br i1 %.not11259, label %zend_jit_stack_check.exit.thread, label %7553 7553: ; preds = %7549 %7554 = load ptr, ptr %2478, align 8 @@ -33716,13 +33716,13 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %7557 = getelementptr inbounds %struct._zend_ssa_var, ptr %7554, i64 %7556, i32 7 %7558 = load i8, ptr %7557, align 8 %7559 = and i8 %7558, 12 - %.not11262 = icmp eq i8 %7559, 0 + %.not11260 = icmp eq i8 %7559, 0 %7560 = load i32, ptr %7550, align 8 %7561 = lshr i32 %7560, 4 %7562 = add nsw i32 %7561, -5 %7563 = zext i32 %7562 to i64 %7564 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %7563 - br i1 %.not11262, label %7598, label %7565 + br i1 %.not11260, label %7598, label %7565 7565: ; preds = %7553 store i8 -1, ptr %7564, align 4 @@ -33762,10 +33762,10 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 store i8 0, ptr %7594, align 1 %7595 = shl nuw i32 1, %7547 %7596 = icmp ult i8 %2504, 6 - %.not11263 = icmp eq i8 %2504, 7 + %.not11261 = icmp eq i8 %2504, 7 %7597 = or i32 %7595, -1073741824 - %spec.select12032 = select i1 %.not11263, i32 -520095616, i32 %7597 - %.09853 = select i1 %7596, i32 %7595, i32 %spec.select12032 + %spec.select12030 = select i1 %.not11261, i32 -520095616, i32 %7597 + %.09853 = select i1 %7596, i32 %7595, i32 %spec.select12030 store i32 %.09853, ptr %20, align 4 br label %7636 @@ -33817,24 +33817,24 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 store i32 %7635, ptr %7633, align 8 br label %7636 -7636: ; preds = %.thread12377, %7546, %7565, %7598 +7636: ; preds = %.thread12374, %7546, %7565, %7598 %7637 = load ptr, ptr %2477, align 8 - %.not11264 = icmp eq ptr %7637, null - br i1 %.not11264, label %.thread12381, label %7638 + %.not11262 = icmp eq ptr %7637, null + br i1 %.not11262, label %.thread12378, label %7638 7638: ; preds = %7636 %7639 = getelementptr inbounds nuw i8, ptr %.09621, i64 20 %7640 = load i32, ptr %7639, align 4 %7641 = icmp sgt i32 %7640, -1 - br i1 %7641, label %7642, label %.thread12381 + br i1 %7641, label %7642, label %.thread12378 7642: ; preds = %7638 %7643 = zext nneg i32 %7640 to i64 %7644 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %7637, i64 %7643 %7645 = load i32, ptr %7644, align 8 - br label %.thread12381 + br label %.thread12378 -.thread12381: ; preds = %7636, %7638, %7642 +.thread12378: ; preds = %7636, %7638, %7642 %.09441 = phi i32 [ %7645, %7642 ], [ -486539265, %7638 ], [ -486539265, %7636 ] %7646 = getelementptr inbounds nuw i8, ptr %2501, i64 16 %7647 = load i32, ptr %7646, align 8 @@ -33847,28 +33847,28 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %7654 = icmp eq i8 %7653, -1 br i1 %7654, label %7661, label %7655 -7655: ; preds = %.thread12381 +7655: ; preds = %.thread12378 %7656 = zext nneg i8 %7653 to i32 %7657 = shl nuw i32 1, %7656 %7658 = icmp ult i8 %7653, 6 br i1 %7658, label %7661, label %7659 7659: ; preds = %7655 - %.not11265 = icmp eq i8 %7653, 7 + %.not11263 = icmp eq i8 %7653, 7 %7660 = or i32 %7657, -1073741824 - %spec.select12033 = select i1 %.not11265, i32 -520095616, i32 %7660 + %spec.select12031 = select i1 %.not11263, i32 -520095616, i32 %7660 br label %7661 -7661: ; preds = %7659, %7655, %.thread12381 - %.09852 = phi i32 [ -1, %.thread12381 ], [ %7657, %7655 ], [ %spec.select12033, %7659 ] +7661: ; preds = %7659, %7655, %.thread12378 + %.09852 = phi i32 [ -1, %.thread12378 ], [ %7657, %7655 ], [ %spec.select12031, %7659 ] %7662 = getelementptr inbounds nuw i8, ptr %2501, i64 31 %7663 = load i8, ptr %7662, align 1 %7664 = icmp eq i8 %7663, 8 %7665 = and i32 %.09852, 63 - %spec.select11878 = select i1 %7664, i32 %7665, i32 %.09852 + %spec.select11876 = select i1 %7664, i32 %7665, i32 %.09852 %7666 = load ptr, ptr %2479, align 8 - %.not11266 = icmp eq ptr %7666, null - br i1 %.not11266, label %7678, label %7667 + %.not11264 = icmp eq ptr %7666, null + br i1 %.not11264, label %7678, label %7667 7667: ; preds = %7661 %7668 = getelementptr inbounds nuw i8, ptr %.09621, i64 20 @@ -33880,8 +33880,8 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %7672 = zext nneg i32 %7669 to i64 %7673 = getelementptr inbounds nuw %struct._zend_jit_reg_var, ptr %7666, i64 %7672 %7674 = load i32, ptr %7673, align 4 - %.not11267 = icmp eq i32 %7674, 0 - br i1 %.not11267, label %7678, label %7675 + %.not11265 = icmp eq i32 %7674, 0 + br i1 %.not11265, label %7678, label %7675 7675: ; preds = %7671 %7676 = shl nuw nsw i64 %7672, 2 @@ -33907,18 +33907,18 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 7688: ; preds = %7680, %7684, %7675 %7689 = phi i64 [ %7677, %7675 ], [ %7683, %7680 ], [ %7687, %7684 ] %7690 = and i64 %7689, 3 - %.not11268 = icmp eq i64 %7690, 2 - br i1 %.not11268, label %7694, label %7691 + %.not11266 = icmp eq i64 %7690, 2 + br i1 %.not11266, label %7694, label %7691 7691: ; preds = %7688 %7692 = load i8, ptr %7651, align 4 - %.not11269 = icmp eq i8 %7692, %7653 - %7693 = or i32 %spec.select11878, 2 - %spec.select11879 = select i1 %.not11269, i32 %spec.select11878, i32 %7693 + %.not11267 = icmp eq i8 %7692, %7653 + %7693 = or i32 %spec.select11876, 2 + %spec.select11877 = select i1 %.not11267, i32 %spec.select11876, i32 %7693 br label %7694 7694: ; preds = %7691, %7688 - %.59734 = phi i32 [ %spec.select11878, %7688 ], [ %spec.select11879, %7691 ] + %.59734 = phi i32 [ %spec.select11876, %7688 ], [ %spec.select11877, %7691 ] %7695 = load i32, ptr %20, align 4 %7696 = load i64, ptr %22, align 8 call fastcc void @zend_jit_qm_assign(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %7695, i64 noundef %7696, i64 noundef %.19714, i32 noundef %.59734, i32 noundef %.09441, i64 noundef %7689) @@ -33926,8 +33926,8 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %7698 = icmp sgt i32 %7697, 0 %7699 = and i64 %7696, 3 %7700 = icmp eq i64 %7699, 2 - %or.cond13526 = and i1 %7698, %7700 - br i1 %or.cond13526, label %7701, label %7731 + %or.cond13523 = and i1 %7698, %7700 + br i1 %or.cond13523, label %7701, label %7731 7701: ; preds = %7694 %7702 = load ptr, ptr %2478, align 8 @@ -33941,8 +33941,8 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 7708: ; preds = %7701 %7709 = load i32, ptr %20, align 4 %7710 = and i32 %7709, 16 - %.not11270 = icmp eq i32 %7710, 0 - %7711 = select i1 %.not11270, i8 5, i8 4 + %.not11268 = icmp eq i32 %7710, 0 + %7711 = select i1 %.not11268, i8 5, i8 4 %7712 = getelementptr inbounds nuw i8, ptr %2501, i64 8 %7713 = load i32, ptr %7712, align 8 %7714 = lshr i32 %7713, 4 @@ -33951,8 +33951,8 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %7717 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %7716 %7718 = getelementptr inbounds nuw i8, ptr %7717, i64 1 %7719 = load i8, ptr %7718, align 1 - %.not11271 = icmp eq i8 %7719, %7711 - br i1 %.not11271, label %7731, label %7720 + %.not11269 = icmp eq i8 %7719, %7711 + br i1 %.not11269, label %7731, label %7720 7720: ; preds = %7708 %7721 = getelementptr inbounds nuw i8, ptr %7704, i64 12 @@ -33963,8 +33963,8 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 7724: ; preds = %7720 %7725 = getelementptr inbounds nuw i8, ptr %7704, i64 24 %7726 = load ptr, ptr %7725, align 8 - %.not11272 = icmp eq ptr %7726, null - br i1 %.not11272, label %7727, label %7731 + %.not11270 = icmp eq ptr %7726, null + br i1 %.not11270, label %7727, label %7731 7727: ; preds = %7724 call fastcc void @zend_jit_store_type(ptr noundef %17, i32 noundef %7715, i8 noundef zeroext %7711) @@ -33981,12 +33981,12 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 7731: ; preds = %7708, %7720, %7724, %7727, %7701, %7694 %7732 = load i8, ptr %7503, align 1 %7733 = icmp eq i8 %7732, 8 - br i1 %7733, label %7734, label %thread-pre-split12618 + br i1 %7733, label %7734, label %thread-pre-split12615 7734: ; preds = %7731 %7735 = load i32, ptr %7468, align 4 %7736 = icmp sgt i32 %7735, -1 - br i1 %7736, label %7737, label %thread-pre-split12618 + br i1 %7736, label %7737, label %thread-pre-split12615 7737: ; preds = %7734 %7738 = load ptr, ptr %2478, align 8 @@ -33995,7 +33995,7 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %7741 = load i8, ptr %7740, align 8 %7742 = and i8 %7741, 12 %7743 = icmp eq i8 %7742, 0 - br i1 %7743, label %7744, label %thread-pre-split12618 + br i1 %7743, label %7744, label %thread-pre-split12615 7744: ; preds = %7737 %7745 = load ptr, ptr %2477, align 8 @@ -34004,18 +34004,18 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %7748 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %7745, i64 %7747, i32 1 %7749 = load i8, ptr %7748, align 4 %7750 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %7745, i64 %7739, i32 1 - %.lobit11273 = and i8 %7749, 64 + %.lobit11271 = and i8 %7749, 64 %7751 = load i8, ptr %7750, align 4 %7752 = and i8 %7751, -65 - %7753 = or disjoint i8 %7752, %.lobit11273 + %7753 = or disjoint i8 %7752, %.lobit11271 store i8 %7753, ptr %7750, align 4 - br label %thread-pre-split12618 + br label %thread-pre-split12615 7754: ; preds = %2538, %2538, %2538 %7755 = getelementptr inbounds nuw i8, ptr %.09768, i64 24 %7756 = load ptr, ptr %7755, align 8 - %.not11249 = icmp eq ptr %7756, null - br i1 %.not11249, label %7766, label %7757 + %.not11247 = icmp eq ptr %7756, null + br i1 %.not11247, label %7766, label %7757 7757: ; preds = %7754 %7758 = getelementptr inbounds nuw i8, ptr %.09771, i64 88 @@ -34035,14 +34035,14 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %7770 = getelementptr inbounds nuw i8, ptr %.39762, i64 16 %7771 = sub nsw i32 %.29615, %.09618 %7772 = call fastcc i32 @zend_jit_init_fcall(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %7767, ptr noundef %.09771, ptr noundef %40, ptr noundef %.09621, i32 noundef %7769, ptr noundef nonnull %7770, i32 noundef %7771) - %.not11250 = icmp eq i32 %7772, 0 - br i1 %.not11250, label %zend_jit_stack_check.exit.thread, label %thread-pre-split12618 + %.not11248 = icmp eq i32 %7772, 0 + br i1 %.not11248, label %zend_jit_stack_check.exit.thread, label %thread-pre-split12615 7773: ; preds = %2538, %2538 %7774 = getelementptr inbounds nuw i8, ptr %2501, i64 30 %7775 = load i8, ptr %7774, align 2 %7776 = icmp eq i8 %7775, 1 - br i1 %7776, label %thread-pre-split12605, label %7777 + br i1 %7776, label %thread-pre-split12602, label %7777 7777: ; preds = %7773 %7778 = icmp eq i8 %2539, 116 @@ -34052,7 +34052,7 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %7780 = getelementptr inbounds nuw i8, ptr %2501, i64 12 %7781 = load i32, ptr %7780, align 4 %7782 = icmp ugt i32 %7781, 12 - br i1 %7782, label %thread-pre-split12605, label %7783 + br i1 %7782, label %thread-pre-split12602, label %7783 7783: ; preds = %7779, %7777 %7784 = getelementptr inbounds nuw i8, ptr %2501, i64 29 @@ -34064,8 +34064,8 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %7788 = getelementptr inbounds nuw i8, ptr %.09771, i64 4 %7789 = load i32, ptr %7788, align 4 %7790 = and i32 %7789, 33554432 - %.not11237 = icmp eq i32 %7790, 0 - br i1 %.not11237, label %7796, label %7791 + %.not11235 = icmp eq i32 %7790, 0 + br i1 %.not11235, label %7796, label %7791 7791: ; preds = %7787 %7792 = getelementptr inbounds nuw i8, ptr %2501, i64 8 @@ -34088,7 +34088,7 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %7805 = getelementptr inbounds nuw i8, ptr %7804, i64 8 %7806 = load i8, ptr %7805, align 8 switch i8 %7806, label %7809 [ - i8 11, label %.thread12386 + i8 11, label %.thread12383 i8 7, label %7807 ] @@ -34101,8 +34101,8 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %7811 = shl nuw i32 1, %7810 %7812 = getelementptr inbounds nuw i8, ptr %7804, i64 9 %7813 = load i8, ptr %7812, align 1 - %.not11238 = icmp eq i8 %7813, 0 - br i1 %.not11238, label %7816, label %7814 + %.not11236 = icmp eq i8 %7813, 0 + br i1 %.not11236, label %7816, label %7814 7814: ; preds = %7809 %7815 = or i32 %7811, -1073741824 @@ -34110,18 +34110,18 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 7816: ; preds = %7809 %7817 = icmp eq i8 %7806, 6 - %spec.select11880 = select i1 %7817, i32 -2147483584, i32 %7811 + %spec.select11878 = select i1 %7817, i32 -2147483584, i32 %7811 br label %7827 7818: ; preds = %7783 %7819 = load ptr, ptr %2477, align 8 - %.not11236 = icmp eq ptr %7819, null - br i1 %.not11236, label %.thread12386, label %7820 + %.not11234 = icmp eq ptr %7819, null + br i1 %.not11234, label %.thread12383, label %7820 7820: ; preds = %7818 %7821 = load i32, ptr %.09621, align 4 %7822 = icmp sgt i32 %7821, -1 - br i1 %7822, label %7823, label %.thread12386 + br i1 %7822, label %7823, label %.thread12383 7823: ; preds = %7820 %7824 = zext nneg i32 %7821 to i64 @@ -34129,26 +34129,26 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %7826 = load i32, ptr %7825, align 8 br label %7827 -.thread12386: ; preds = %7803, %7820, %7818 +.thread12383: ; preds = %7803, %7820, %7818 %.09942.ph = phi i32 [ -486539265, %7820 ], [ -521143298, %7803 ], [ -486539265, %7818 ] store i32 %.09942.ph, ptr %20, align 4 br label %7917 7827: ; preds = %7816, %7823, %7807, %7814 - %.09942 = phi i32 [ %7808, %7807 ], [ %7815, %7814 ], [ %spec.select11880, %7816 ], [ %7826, %7823 ] + %.09942 = phi i32 [ %7808, %7807 ], [ %7815, %7814 ], [ %spec.select11878, %7816 ], [ %7826, %7823 ] store i32 %.09942, ptr %20, align 4 %7828 = zext nneg i8 %.19588 to i32 %7829 = and i32 %.09942, 268435456 - %.not11240 = icmp eq i32 %7829, 0 - %or.cond11881 = select i1 %.not10749, i1 true, i1 %.not11240 - br i1 %or.cond11881, label %7917, label %7830 + %.not11238 = icmp eq i32 %7829, 0 + %or.cond11879 = select i1 %.not10749, i1 true, i1 %.not11238 + br i1 %or.cond11879, label %7917, label %7830 7830: ; preds = %7827 %7831 = getelementptr inbounds nuw i8, ptr %2501, i64 8 %7832 = load i32, ptr %7831, align 8 %7833 = call fastcc i32 @zend_jit_type_guard(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %7832, i8 noundef zeroext %2504) - %.not11241 = icmp eq i32 %7833, 0 - br i1 %.not11241, label %zend_jit_stack_check.exit.thread, label %7834 + %.not11239 = icmp eq i32 %7833, 0 + br i1 %.not11239, label %zend_jit_stack_check.exit.thread, label %7834 7834: ; preds = %7830 %7835 = load ptr, ptr %2478, align 8 @@ -34157,13 +34157,13 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %7838 = getelementptr inbounds %struct._zend_ssa_var, ptr %7835, i64 %7837, i32 7 %7839 = load i8, ptr %7838, align 8 %7840 = and i8 %7839, 12 - %.not11242 = icmp eq i8 %7840, 0 + %.not11240 = icmp eq i8 %7840, 0 %7841 = load i32, ptr %7831, align 8 %7842 = lshr i32 %7841, 4 %7843 = add nsw i32 %7842, -5 %7844 = zext i32 %7843 to i64 %7845 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %7844 - br i1 %.not11242, label %7879, label %7846 + br i1 %.not11240, label %7879, label %7846 7846: ; preds = %7834 store i8 -1, ptr %7845, align 4 @@ -34203,10 +34203,10 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 store i8 0, ptr %7875, align 1 %7876 = shl nuw i32 1, %7828 %7877 = icmp ult i8 %2504, 6 - %.not11243 = icmp eq i8 %2504, 7 + %.not11241 = icmp eq i8 %2504, 7 %7878 = or i32 %7876, -1073741824 - %spec.select12034 = select i1 %.not11243, i32 -520095616, i32 %7878 - %.09851 = select i1 %7877, i32 %7876, i32 %spec.select12034 + %spec.select12032 = select i1 %.not11241, i32 -520095616, i32 %7878 + %.09851 = select i1 %7877, i32 %7876, i32 %spec.select12032 store i32 %.09851, ptr %20, align 4 br label %7917 @@ -34256,14 +34256,14 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %7915 = load i32, ptr %7914, align 8 %7916 = and i32 %7915, %7910 store i32 %7916, ptr %7914, align 8 - %.pre13267 = load i32, ptr %20, align 4 + %.pre13264 = load i32, ptr %20, align 4 br label %7917 -7917: ; preds = %.thread12386, %7827, %7846, %7879 - %7918 = phi i32 [ %.09942.ph, %.thread12386 ], [ %.09942, %7827 ], [ %.09851, %7846 ], [ %.pre13267, %7879 ] +7917: ; preds = %.thread12383, %7827, %7846, %7879 + %7918 = phi i32 [ %.09942.ph, %.thread12383 ], [ %.09942, %7827 ], [ %.09851, %7846 ], [ %.pre13264, %7879 ] %7919 = load ptr, ptr %2479, align 8 - %.not11244 = icmp eq ptr %7919, null - br i1 %.not11244, label %7930, label %7920 + %.not11242 = icmp eq ptr %7919, null + br i1 %.not11242, label %7930, label %7920 7920: ; preds = %7917 %7921 = load i32, ptr %.09621, align 4 @@ -34274,8 +34274,8 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %7924 = zext nneg i32 %7921 to i64 %7925 = getelementptr inbounds nuw %struct._zend_jit_reg_var, ptr %7919, i64 %7924 %7926 = load i32, ptr %7925, align 4 - %.not11245 = icmp eq i32 %7926, 0 - br i1 %.not11245, label %7930, label %7927 + %.not11243 = icmp eq i32 %7926, 0 + br i1 %.not11243, label %7930, label %7927 7927: ; preds = %7923 %7928 = shl nuw nsw i64 %7924, 2 @@ -34304,19 +34304,19 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 7943: ; preds = %7935, %7939, %7927 %7944 = phi i64 [ %7929, %7927 ], [ %7938, %7935 ], [ %7942, %7939 ] %7945 = call fastcc i32 @zend_jit_send_val(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %7918, i64 noundef %7944) - %.not11246 = icmp eq i32 %7945, 0 - br i1 %.not11246, label %zend_jit_stack_check.exit.thread, label %7946 + %.not11244 = icmp eq i32 %7945, 0 + br i1 %.not11244, label %zend_jit_stack_check.exit.thread, label %7946 7946: ; preds = %7943 %7947 = load ptr, ptr %.09646, align 8 - %.not11247 = icmp eq ptr %7947, null - br i1 %.not11247, label %thread-pre-split12618, label %7948 + %.not11245 = icmp eq ptr %7947, null + br i1 %.not11245, label %thread-pre-split12615, label %7948 7948: ; preds = %7946 %7949 = getelementptr inbounds nuw i8, ptr %7947, i64 16 %7950 = load ptr, ptr %7949, align 8 - %.not11248 = icmp eq ptr %7950, null - br i1 %.not11248, label %thread-pre-split12618, label %7951 + %.not11246 = icmp eq ptr %7950, null + br i1 %.not11246, label %thread-pre-split12615, label %7951 7951: ; preds = %7948 %7952 = load i8, ptr %7784, align 1 @@ -34331,21 +34331,21 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %7959 = getelementptr inbounds nuw i8, ptr %7958, i64 8 %7960 = load i8, ptr %7959, align 8 call fastcc void @zend_jit_trace_send_type(ptr noundef nonnull %2501, ptr noundef nonnull %7947, i8 noundef zeroext %7960) - br label %thread-pre-split12618 + br label %thread-pre-split12615 7961: ; preds = %7951 - br i1 %.not10749, label %thread-pre-split12618, label %7962 + br i1 %.not10749, label %thread-pre-split12615, label %7962 7962: ; preds = %7961 - %spec.select11882 = call i8 @llvm.umax.i8(i8 %2504, i8 1) - call fastcc void @zend_jit_trace_send_type(ptr noundef nonnull %2501, ptr noundef nonnull %7947, i8 noundef zeroext %spec.select11882) - br label %thread-pre-split12618 + %spec.select11880 = call i8 @llvm.umax.i8(i8 %2504, i8 1) + call fastcc void @zend_jit_trace_send_type(ptr noundef nonnull %2501, ptr noundef nonnull %7947, i8 noundef zeroext %spec.select11880) + br label %thread-pre-split12615 7963: ; preds = %2538 %7964 = getelementptr inbounds nuw i8, ptr %2501, i64 30 %7965 = load i8, ptr %7964, align 2 %7966 = icmp eq i8 %7965, 1 - br i1 %7966, label %.thread12608, label %7967 + br i1 %7966, label %.thread12605, label %7967 7967: ; preds = %7963 %7968 = getelementptr inbounds nuw i8, ptr %2501, i64 29 @@ -34357,8 +34357,8 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %7972 = getelementptr inbounds nuw i8, ptr %.09771, i64 4 %7973 = load i32, ptr %7972, align 4 %7974 = and i32 %7973, 33554432 - %.not11234 = icmp eq i32 %7974, 0 - br i1 %.not11234, label %7980, label %7975 + %.not11232 = icmp eq i32 %7974, 0 + br i1 %.not11232, label %7980, label %7975 7975: ; preds = %7971 %7976 = getelementptr inbounds nuw i8, ptr %2501, i64 8 @@ -34381,56 +34381,56 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %7989 = getelementptr inbounds nuw i8, ptr %7988, i64 8 %7990 = load i8, ptr %7989, align 8 switch i8 %7990, label %7993 [ - i8 11, label %.thread12390 + i8 11, label %.thread12387 i8 7, label %7991 ] 7991: ; preds = %7987 %7992 = call i32 @zend_array_type_info(ptr noundef nonnull %7988) #33 - br label %.thread12390 + br label %.thread12387 7993: ; preds = %7987 %7994 = zext nneg i8 %7990 to i32 %7995 = shl nuw i32 1, %7994 %7996 = getelementptr inbounds nuw i8, ptr %7988, i64 9 %7997 = load i8, ptr %7996, align 1 - %.not11235 = icmp eq i8 %7997, 0 - br i1 %.not11235, label %8000, label %7998 + %.not11233 = icmp eq i8 %7997, 0 + br i1 %.not11233, label %8000, label %7998 7998: ; preds = %7993 %7999 = or i32 %7995, -1073741824 - br label %.thread12390 + br label %.thread12387 8000: ; preds = %7993 %8001 = icmp eq i8 %7990, 6 - %spec.select11883 = select i1 %8001, i32 -2147483584, i32 %7995 - br label %.thread12390 + %spec.select11881 = select i1 %8001, i32 -2147483584, i32 %7995 + br label %.thread12387 8002: ; preds = %7967 %8003 = load ptr, ptr %2477, align 8 - %.not11233 = icmp eq ptr %8003, null - br i1 %.not11233, label %.thread12390, label %8004 + %.not11231 = icmp eq ptr %8003, null + br i1 %.not11231, label %.thread12387, label %8004 8004: ; preds = %8002 %8005 = load i32, ptr %.09621, align 4 %8006 = icmp sgt i32 %8005, -1 - br i1 %8006, label %8007, label %.thread12390 + br i1 %8006, label %8007, label %.thread12387 8007: ; preds = %8004 %8008 = zext nneg i32 %8005 to i64 %8009 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %8003, i64 %8008 %8010 = load i32, ptr %8009, align 8 - br label %.thread12390 + br label %.thread12387 -.thread12390: ; preds = %8002, %8000, %8007, %8004, %7991, %7987, %7998 - %.09943 = phi i32 [ %7992, %7991 ], [ -521143298, %7987 ], [ %7999, %7998 ], [ %spec.select11883, %8000 ], [ %8010, %8007 ], [ -486539265, %8004 ], [ -486539265, %8002 ] +.thread12387: ; preds = %8002, %8000, %8007, %8004, %7991, %7987, %7998 + %.09943 = phi i32 [ %7992, %7991 ], [ -521143298, %7987 ], [ %7999, %7998 ], [ %spec.select11881, %8000 ], [ %8010, %8007 ], [ -486539265, %8004 ], [ -486539265, %8002 ] store i32 %.09943, ptr %20, align 4 call fastcc void @zend_jit_send_ref(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %.09943) %8011 = load i8, ptr %7968, align 1 %8012 = icmp eq i8 %8011, 8 - br i1 %8012, label %8013, label %thread-pre-split12618 + br i1 %8012, label %8013, label %thread-pre-split12615 -8013: ; preds = %.thread12390 +8013: ; preds = %.thread12387 %8014 = load ptr, ptr %2478, align 8 %8015 = getelementptr inbounds nuw i8, ptr %.09621, i64 12 %8016 = load i32, ptr %8015, align 4 @@ -34439,7 +34439,7 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %8019 = load i8, ptr %8018, align 8 %8020 = and i8 %8019, 12 %8021 = icmp eq i8 %8020, 0 - br i1 %8021, label %8022, label %thread-pre-split12618 + br i1 %8021, label %8022, label %thread-pre-split12615 8022: ; preds = %8013 %8023 = load ptr, ptr %2477, align 8 @@ -34447,13 +34447,13 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %8025 = load i8, ptr %8024, align 4 %8026 = or i8 %8025, 64 store i8 %8026, ptr %8024, align 4 - br label %thread-pre-split12618 + br label %thread-pre-split12615 8027: ; preds = %2538, %2538, %2538, %2538, %2538 %8028 = getelementptr inbounds nuw i8, ptr %2501, i64 30 %8029 = load i8, ptr %8028, align 2 %8030 = icmp eq i8 %8029, 1 - br i1 %8030, label %thread-pre-split12605, label %8031 + br i1 %8030, label %thread-pre-split12602, label %8031 8031: ; preds = %8027 switch i8 %2539, label %8036 [ @@ -34465,12 +34465,12 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %8033 = getelementptr inbounds nuw i8, ptr %2501, i64 12 %8034 = load i32, ptr %8033, align 4 %8035 = icmp ugt i32 %8034, 12 - br i1 %8035, label %thread-pre-split12605, label %8036 + br i1 %8035, label %thread-pre-split12602, label %8036 8036: ; preds = %8031, %8032 %8037 = load ptr, ptr %2479, align 8 - %.not11214 = icmp eq ptr %8037, null - br i1 %.not11214, label %8048, label %8038 + %.not11212 = icmp eq ptr %8037, null + br i1 %.not11212, label %8048, label %8038 8038: ; preds = %8036 %8039 = load i32, ptr %.09621, align 4 @@ -34481,8 +34481,8 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %8042 = zext nneg i32 %8039 to i64 %8043 = getelementptr inbounds nuw %struct._zend_jit_reg_var, ptr %8037, i64 %8042 %8044 = load i32, ptr %8043, align 4 - %.not11215 = icmp eq i32 %8044, 0 - br i1 %.not11215, label %8048, label %8045 + %.not11213 = icmp eq i32 %8044, 0 + br i1 %.not11213, label %8048, label %8045 8045: ; preds = %8041 %8046 = shl nuw nsw i64 %8042, 2 @@ -34531,14 +34531,14 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 br i1 %8075, label %8098, label %8076 8076: ; preds = %8070, %8067 - br i1 %.not11214, label %8084, label %8077 + br i1 %.not11212, label %8084, label %8077 8077: ; preds = %8076 %8078 = zext nneg i32 %8065 to i64 %8079 = getelementptr inbounds nuw %struct._zend_jit_reg_var, ptr %8037, i64 %8078 %8080 = load i32, ptr %8079, align 4 - %.not11217 = icmp eq i32 %8080, 0 - br i1 %.not11217, label %8084, label %8081 + %.not11215 = icmp eq i32 %8080, 0 + br i1 %.not11215, label %8084, label %8081 8081: ; preds = %8077 %8082 = shl nuw nsw i64 %8078, 2 @@ -34576,8 +34576,8 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %8103 = getelementptr inbounds nuw i8, ptr %.09771, i64 4 %8104 = load i32, ptr %8103, align 4 %8105 = and i32 %8104, 33554432 - %.not11219 = icmp eq i32 %8105, 0 - br i1 %.not11219, label %8111, label %8106 + %.not11217 = icmp eq i32 %8105, 0 + br i1 %.not11217, label %8111, label %8106 8106: ; preds = %8102 %8107 = getelementptr inbounds nuw i8, ptr %2501, i64 8 @@ -34600,67 +34600,67 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %8120 = getelementptr inbounds nuw i8, ptr %8119, i64 8 %8121 = load i8, ptr %8120, align 8 switch i8 %8121, label %8124 [ - i8 11, label %.thread12392.thread + i8 11, label %.thread12389.thread i8 7, label %8122 ] 8122: ; preds = %8118 %8123 = call i32 @zend_array_type_info(ptr noundef nonnull %8119) #33 - br label %.thread12392 + br label %.thread12389 8124: ; preds = %8118 %8125 = zext nneg i8 %8121 to i32 %8126 = shl nuw i32 1, %8125 %8127 = getelementptr inbounds nuw i8, ptr %8119, i64 9 %8128 = load i8, ptr %8127, align 1 - %.not11220 = icmp eq i8 %8128, 0 - br i1 %.not11220, label %8131, label %8129 + %.not11218 = icmp eq i8 %8128, 0 + br i1 %.not11218, label %8131, label %8129 8129: ; preds = %8124 %8130 = or i32 %8126, -1073741824 - br label %.thread12392 + br label %.thread12389 8131: ; preds = %8124 %8132 = icmp eq i8 %8121, 6 - %spec.select11884 = select i1 %8132, i32 -2147483584, i32 %8126 - br label %.thread12392 + %spec.select11882 = select i1 %8132, i32 -2147483584, i32 %8126 + br label %.thread12389 8133: ; preds = %8098 %8134 = load ptr, ptr %2477, align 8 - %.not11218 = icmp eq ptr %8134, null - br i1 %.not11218, label %.thread12392.thread, label %8135 + %.not11216 = icmp eq ptr %8134, null + br i1 %.not11216, label %.thread12389.thread, label %8135 8135: ; preds = %8133 %8136 = load i32, ptr %.09621, align 4 %8137 = icmp sgt i32 %8136, -1 - br i1 %8137, label %8138, label %.thread12392.thread + br i1 %8137, label %8138, label %.thread12389.thread 8138: ; preds = %8135 %8139 = zext nneg i32 %8136 to i64 %8140 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %8134, i64 %8139 %8141 = load i32, ptr %8140, align 8 - br label %.thread12392 + br label %.thread12389 -.thread12392.thread: ; preds = %8118, %8135, %8133 +.thread12389.thread: ; preds = %8118, %8135, %8133 %.09945.ph = phi i32 [ -486539265, %8133 ], [ -486539265, %8135 ], [ -521143298, %8118 ] store i32 %.09945.ph, ptr %20, align 4 br label %8231 -.thread12392: ; preds = %8131, %8138, %8122, %8129 - %.09945 = phi i32 [ %8123, %8122 ], [ %8130, %8129 ], [ %spec.select11884, %8131 ], [ %8141, %8138 ] +.thread12389: ; preds = %8131, %8138, %8122, %8129 + %.09945 = phi i32 [ %8123, %8122 ], [ %8130, %8129 ], [ %spec.select11882, %8131 ], [ %8141, %8138 ] store i32 %.09945, ptr %20, align 4 %8142 = zext nneg i8 %.19588 to i32 %8143 = and i32 %.09945, 268435456 - %.not11221 = icmp eq i32 %8143, 0 - %or.cond11886 = select i1 %.not10749, i1 true, i1 %.not11221 - br i1 %or.cond11886, label %8231, label %8144 + %.not11219 = icmp eq i32 %8143, 0 + %or.cond11884 = select i1 %.not10749, i1 true, i1 %.not11219 + br i1 %or.cond11884, label %8231, label %8144 -8144: ; preds = %.thread12392 +8144: ; preds = %.thread12389 %8145 = getelementptr inbounds nuw i8, ptr %2501, i64 8 %8146 = load i32, ptr %8145, align 8 %8147 = call fastcc i32 @zend_jit_type_guard(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %8146, i8 noundef zeroext %2504) - %.not11222 = icmp eq i32 %8147, 0 - br i1 %.not11222, label %zend_jit_stack_check.exit.thread, label %8148 + %.not11220 = icmp eq i32 %8147, 0 + br i1 %.not11220, label %zend_jit_stack_check.exit.thread, label %8148 8148: ; preds = %8144 %8149 = load ptr, ptr %2478, align 8 @@ -34669,13 +34669,13 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %8152 = getelementptr inbounds %struct._zend_ssa_var, ptr %8149, i64 %8151, i32 7 %8153 = load i8, ptr %8152, align 8 %8154 = and i8 %8153, 12 - %.not11223 = icmp eq i8 %8154, 0 + %.not11221 = icmp eq i8 %8154, 0 %8155 = load i32, ptr %8145, align 8 %8156 = lshr i32 %8155, 4 %8157 = add nsw i32 %8156, -5 %8158 = zext i32 %8157 to i64 %8159 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %8158 - br i1 %.not11223, label %8193, label %8160 + br i1 %.not11221, label %8193, label %8160 8160: ; preds = %8148 store i8 -1, ptr %8159, align 4 @@ -34715,10 +34715,10 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 store i8 0, ptr %8189, align 1 %8190 = shl nuw i32 1, %8142 %8191 = icmp ult i8 %2504, 6 - %.not11224 = icmp eq i8 %2504, 7 + %.not11222 = icmp eq i8 %2504, 7 %8192 = or i32 %8190, -1073741824 - %spec.select12035 = select i1 %.not11224, i32 -520095616, i32 %8192 - %.09850 = select i1 %8191, i32 %8190, i32 %spec.select12035 + %spec.select12033 = select i1 %.not11222, i32 -520095616, i32 %8192 + %.09850 = select i1 %8191, i32 %8190, i32 %spec.select12033 store i32 %.09850, ptr %20, align 4 br label %8231 @@ -34768,24 +34768,24 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %8229 = load i32, ptr %8228, align 8 %8230 = and i32 %8229, %8224 store i32 %8230, ptr %8228, align 8 - %.pre13266 = load i32, ptr %20, align 4 + %.pre13263 = load i32, ptr %20, align 4 br label %8231 -8231: ; preds = %.thread12392.thread, %.thread12392, %8160, %8193 - %8232 = phi i32 [ %.09945, %.thread12392 ], [ %.09850, %8160 ], [ %.pre13266, %8193 ], [ %.09945.ph, %.thread12392.thread ] - %not..not1074913349 = xor i1 %.not10749, true +8231: ; preds = %.thread12389.thread, %.thread12389, %8160, %8193 + %8232 = phi i32 [ %.09945, %.thread12389 ], [ %.09850, %8160 ], [ %.pre13263, %8193 ], [ %.09945.ph, %.thread12389.thread ] + %not..not1074913346 = xor i1 %.not10749, true %8233 = load i64, ptr %22, align 8 %8234 = call fastcc i32 @zend_jit_send_var(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %8232, i64 noundef %8233, i64 noundef %.29715) - %.not11225 = icmp eq i32 %8234, 0 - br i1 %.not11225, label %zend_jit_stack_check.exit.thread, label %8235 + %.not11223 = icmp eq i32 %8234, 0 + br i1 %.not11223, label %zend_jit_stack_check.exit.thread, label %8235 8235: ; preds = %8231 %8236 = load i32, ptr %8064, align 4 %8237 = icmp sgt i32 %8236, 0 %8238 = and i64 %8233, 3 %8239 = icmp eq i64 %8238, 2 - %or.cond13528 = and i1 %8237, %8239 - br i1 %or.cond13528, label %8240, label %8270 + %or.cond13525 = and i1 %8237, %8239 + br i1 %or.cond13525, label %8240, label %8270 8240: ; preds = %8235 %8241 = load ptr, ptr %2478, align 8 @@ -34799,8 +34799,8 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 8247: ; preds = %8240 %8248 = load i32, ptr %20, align 4 %8249 = and i32 %8248, 16 - %.not11226 = icmp eq i32 %8249, 0 - %8250 = select i1 %.not11226, i8 5, i8 4 + %.not11224 = icmp eq i32 %8249, 0 + %8250 = select i1 %.not11224, i8 5, i8 4 %8251 = getelementptr inbounds nuw i8, ptr %2501, i64 8 %8252 = load i32, ptr %8251, align 8 %8253 = lshr i32 %8252, 4 @@ -34809,8 +34809,8 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %8256 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %8255 %8257 = getelementptr inbounds nuw i8, ptr %8256, i64 1 %8258 = load i8, ptr %8257, align 1 - %.not11227 = icmp eq i8 %8258, %8250 - br i1 %.not11227, label %8270, label %8259 + %.not11225 = icmp eq i8 %8258, %8250 + br i1 %.not11225, label %8270, label %8259 8259: ; preds = %8247 %8260 = getelementptr inbounds nuw i8, ptr %8243, i64 12 @@ -34821,8 +34821,8 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 8263: ; preds = %8259 %8264 = getelementptr inbounds nuw i8, ptr %8243, i64 24 %8265 = load ptr, ptr %8264, align 8 - %.not11228 = icmp eq ptr %8265, null - br i1 %.not11228, label %8266, label %8270 + %.not11226 = icmp eq ptr %8265, null + br i1 %.not11226, label %8266, label %8270 8266: ; preds = %8263 call fastcc void @zend_jit_store_type(ptr noundef %17, i32 noundef %8254, i8 noundef zeroext %8250) @@ -34862,23 +34862,23 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %8287 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %8284, i64 %8286, i32 1 %8288 = load i8, ptr %8287, align 4 %8289 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %8284, i64 %8278, i32 1 - %.lobit11229 = and i8 %8288, 64 + %.lobit11227 = and i8 %8288, 64 %8290 = load i8, ptr %8289, align 4 %8291 = and i8 %8290, -65 - %8292 = or disjoint i8 %8291, %.lobit11229 + %8292 = or disjoint i8 %8291, %.lobit11227 store i8 %8292, ptr %8289, align 4 br label %8293 8293: ; preds = %8283, %8276, %8273, %8270 %8294 = load ptr, ptr %.09646, align 8 - %.not11230 = icmp eq ptr %8294, null - br i1 %.not11230, label %thread-pre-split12618, label %8295 + %.not11228 = icmp eq ptr %8294, null + br i1 %.not11228, label %thread-pre-split12615, label %8295 8295: ; preds = %8293 %8296 = getelementptr inbounds nuw i8, ptr %8294, i64 16 %8297 = load ptr, ptr %8296, align 8 - %.not11231 = icmp eq ptr %8297, null - br i1 %.not11231, label %thread-pre-split12618, label %8298 + %.not11229 = icmp eq ptr %8297, null + br i1 %.not11229, label %thread-pre-split12615, label %8298 8298: ; preds = %8295 %8299 = load i8, ptr %2529, align 4 @@ -34893,8 +34893,8 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %8303 = add i32 %8302, -1 %8304 = getelementptr inbounds nuw i8, ptr %8297, i64 32 %8305 = load i32, ptr %8304, align 8 - %.not11232 = icmp ult i32 %8303, %8305 - br i1 %.not11232, label %8311, label %8306 + %.not11230 = icmp ult i32 %8303, %8305 + br i1 %.not11230, label %8311, label %8306 8306: ; preds = %8300 %8307 = getelementptr inbounds nuw i8, ptr %8297, i64 4 @@ -34916,32 +34916,32 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 8319: ; preds = %8306, %8311 %.09895 = phi i1 [ %8318, %8311 ], [ true, %8306 ] - %or.cond222 = and i1 %.09895, %not..not1074913349 - br i1 %or.cond222, label %8321, label %thread-pre-split12618 + %or.cond222 = and i1 %.09895, %not..not1074913346 + br i1 %or.cond222, label %8321, label %thread-pre-split12615 8320: ; preds = %8298 - br i1 %.not10749, label %14925, label %8321 + br i1 %.not10749, label %14924, label %8321 8321: ; preds = %8319, %8320 - %spec.select11887 = call i8 @llvm.umax.i8(i8 %.19588, i8 1) - call fastcc void @zend_jit_trace_send_type(ptr noundef nonnull %2501, ptr noundef nonnull %8294, i8 noundef zeroext %spec.select11887) - br label %thread-pre-split12618 + %spec.select11885 = call i8 @llvm.umax.i8(i8 %.19588, i8 1) + call fastcc void @zend_jit_trace_send_type(ptr noundef nonnull %2501, ptr noundef nonnull %8294, i8 noundef zeroext %spec.select11885) + br label %thread-pre-split12615 8322: ; preds = %2538 %8323 = load ptr, ptr getelementptr inbounds nuw (i8, ptr @jit_globals, i64 184), align 8 - %.not11211 = icmp eq ptr %8323, null - br i1 %.not11211, label %.thread12608, label %8324 + %.not11209 = icmp eq ptr %8323, null + br i1 %.not11209, label %.thread12605, label %8324 8324: ; preds = %8322 %8325 = load ptr, ptr %8323, align 8 - %.not11212 = icmp eq ptr %8325, null - br i1 %.not11212, label %thread-pre-split12605, label %8326 + %.not11210 = icmp eq ptr %8325, null + br i1 %.not11210, label %thread-pre-split12602, label %8326 8326: ; preds = %8324 %8327 = getelementptr inbounds nuw i8, ptr %8325, i64 16 %8328 = load ptr, ptr %8327, align 8 - %.not11213 = icmp eq ptr %8328, null - br i1 %.not11213, label %thread-pre-split12605, label %8329 + %.not11211 = icmp eq ptr %8328, null + br i1 %.not11211, label %thread-pre-split12602, label %8329 8329: ; preds = %8326 %8330 = getelementptr inbounds nuw i8, ptr %2501, i64 30 @@ -34966,21 +34966,21 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %8344 = load i32, ptr %8343, align 4 %8345 = and i32 %8344, -3 store i32 %8345, ptr %8343, align 4 - br label %thread-pre-split12605 + br label %thread-pre-split12602 8346: ; preds = %8333 call fastcc void @zend_jit_check_func_arg(ptr noundef %17, i32 %8335) - br label %thread-pre-split12618 + br label %thread-pre-split12615 8347: ; preds = %2538 %8348 = load ptr, ptr getelementptr inbounds nuw (i8, ptr @jit_globals, i64 184), align 8 - %.not11209 = icmp eq ptr %8348, null - br i1 %.not11209, label %8355, label %8349 + %.not11207 = icmp eq ptr %8348, null + br i1 %.not11207, label %8355, label %8349 8349: ; preds = %8347 %8350 = load ptr, ptr %8348, align 8 - %.not11210 = icmp eq ptr %8350, null - br i1 %.not11210, label %8355, label %8351 + %.not11208 = icmp eq ptr %8350, null + br i1 %.not11208, label %8355, label %8351 8351: ; preds = %8349 %8352 = getelementptr inbounds nuw i8, ptr %8350, i64 44 @@ -34991,15 +34991,15 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 8355: ; preds = %8351, %8349, %8347 call fastcc void @zend_jit_check_undef_args(ptr noundef %17, ptr noundef nonnull %2501) - br label %thread-pre-split12618 + br label %thread-pre-split12615 8356: ; preds = %2538, %2538, %2538, %2538 %8357 = getelementptr inbounds nuw i8, ptr %.09646, i64 40 %8358 = load i32, ptr %8357, align 8 %8359 = getelementptr inbounds nuw i8, ptr %.39762, i64 16 %8360 = call fastcc i32 @zend_jit_do_fcall(ptr noundef %17, ptr noundef nonnull %2501, ptr noundef %.09771, ptr noundef %.09768, i32 noundef %8358, ptr noundef nonnull %8359) - %.not11208 = icmp eq i32 %8360, 0 - br i1 %.not11208, label %zend_jit_stack_check.exit.thread, label %thread-pre-split12618 + %.not11206 = icmp eq i32 %8360, 0 + br i1 %.not11206, label %zend_jit_stack_check.exit.thread, label %thread-pre-split12615 8361: ; preds = %2538, %2538, %2538, %2538, %2538 %8362 = getelementptr inbounds nuw i8, ptr %2501, i64 29 @@ -35011,8 +35011,8 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %8366 = getelementptr inbounds nuw i8, ptr %.09771, i64 4 %8367 = load i32, ptr %8366, align 4 %8368 = and i32 %8367, 33554432 - %.not11167 = icmp eq i32 %8368, 0 - br i1 %.not11167, label %8374, label %8369 + %.not11165 = icmp eq i32 %8368, 0 + br i1 %.not11165, label %8374, label %8369 8369: ; preds = %8365 %8370 = getelementptr inbounds nuw i8, ptr %2501, i64 8 @@ -35035,61 +35035,61 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %8383 = getelementptr inbounds nuw i8, ptr %8382, i64 8 %8384 = load i8, ptr %8383, align 8 switch i8 %8384, label %8387 [ - i8 11, label %.thread12394 + i8 11, label %.thread12391 i8 7, label %8385 ] 8385: ; preds = %8381 %8386 = call i32 @zend_array_type_info(ptr noundef nonnull %8382) #33 - br label %.thread12394 + br label %.thread12391 8387: ; preds = %8381 %8388 = zext nneg i8 %8384 to i32 %8389 = shl nuw i32 1, %8388 %8390 = getelementptr inbounds nuw i8, ptr %8382, i64 9 %8391 = load i8, ptr %8390, align 1 - %.not11168 = icmp eq i8 %8391, 0 - br i1 %.not11168, label %8394, label %8392 + %.not11166 = icmp eq i8 %8391, 0 + br i1 %.not11166, label %8394, label %8392 8392: ; preds = %8387 %8393 = or i32 %8389, -1073741824 - br label %.thread12394 + br label %.thread12391 8394: ; preds = %8387 %8395 = icmp eq i8 %8384, 6 - %spec.select11888 = select i1 %8395, i32 -2147483584, i32 %8389 - br label %.thread12394 + %spec.select11886 = select i1 %8395, i32 -2147483584, i32 %8389 + br label %.thread12391 8396: ; preds = %8361 %8397 = load ptr, ptr %2477, align 8 - %.not11166 = icmp eq ptr %8397, null - br i1 %.not11166, label %.thread12394, label %8398 + %.not11164 = icmp eq ptr %8397, null + br i1 %.not11164, label %.thread12391, label %8398 8398: ; preds = %8396 %8399 = load i32, ptr %.09621, align 4 %8400 = icmp sgt i32 %8399, -1 - br i1 %8400, label %8401, label %.thread12394 + br i1 %8400, label %8401, label %.thread12391 8401: ; preds = %8398 %8402 = zext nneg i32 %8399 to i64 %8403 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %8397, i64 %8402 %8404 = load i32, ptr %8403, align 8 - br label %.thread12394 + br label %.thread12391 -.thread12394: ; preds = %8396, %8394, %8401, %8398, %8385, %8381, %8392 - %.09946 = phi i32 [ %8386, %8385 ], [ -521143298, %8381 ], [ %8393, %8392 ], [ %spec.select11888, %8394 ], [ %8404, %8401 ], [ -486539265, %8398 ], [ -486539265, %8396 ] +.thread12391: ; preds = %8396, %8394, %8401, %8398, %8385, %8381, %8392 + %.09946 = phi i32 [ %8386, %8385 ], [ -521143298, %8381 ], [ %8393, %8392 ], [ %spec.select11886, %8394 ], [ %8404, %8401 ], [ -486539265, %8398 ], [ -486539265, %8396 ] store i32 %.09946, ptr %20, align 4 %8405 = getelementptr inbounds nuw i8, ptr %2501, i64 30 %8406 = load i8, ptr %8405, align 2 %8407 = icmp eq i8 %8406, 1 br i1 %8407, label %8408, label %8439 -8408: ; preds = %.thread12394 +8408: ; preds = %.thread12391 %8409 = getelementptr inbounds nuw i8, ptr %.09771, i64 4 %8410 = load i32, ptr %8409, align 4 %8411 = and i32 %8410, 33554432 - %.not11170 = icmp eq i32 %8411, 0 - br i1 %.not11170, label %8417, label %8412 + %.not11168 = icmp eq i32 %8411, 0 + br i1 %.not11168, label %8417, label %8412 8412: ; preds = %8408 %8413 = getelementptr inbounds nuw i8, ptr %2501, i64 12 @@ -35112,84 +35112,84 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %8426 = getelementptr inbounds nuw i8, ptr %8425, i64 8 %8427 = load i8, ptr %8426, align 8 switch i8 %8427, label %8430 [ - i8 11, label %.thread12396 + i8 11, label %.thread12393 i8 7, label %8428 ] 8428: ; preds = %8424 %8429 = call i32 @zend_array_type_info(ptr noundef nonnull %8425) #33 - br label %.thread12396 + br label %.thread12393 8430: ; preds = %8424 %8431 = zext nneg i8 %8427 to i32 %8432 = shl nuw i32 1, %8431 %8433 = getelementptr inbounds nuw i8, ptr %8425, i64 9 %8434 = load i8, ptr %8433, align 1 - %.not11171 = icmp eq i8 %8434, 0 - br i1 %.not11171, label %8437, label %8435 + %.not11169 = icmp eq i8 %8434, 0 + br i1 %.not11169, label %8437, label %8435 8435: ; preds = %8430 %8436 = or i32 %8432, -1073741824 - br label %.thread12396 + br label %.thread12393 8437: ; preds = %8430 %8438 = icmp eq i8 %8427, 6 - %spec.select11889 = select i1 %8438, i32 -2147483584, i32 %8432 - br label %.thread12396 + %spec.select11887 = select i1 %8438, i32 -2147483584, i32 %8432 + br label %.thread12393 -8439: ; preds = %.thread12394 +8439: ; preds = %.thread12391 %8440 = load ptr, ptr %2477, align 8 - %.not11169 = icmp eq ptr %8440, null - br i1 %.not11169, label %.thread12396, label %8441 + %.not11167 = icmp eq ptr %8440, null + br i1 %.not11167, label %.thread12393, label %8441 8441: ; preds = %8439 %8442 = getelementptr inbounds nuw i8, ptr %.09621, i64 4 %8443 = load i32, ptr %8442, align 4 %8444 = icmp sgt i32 %8443, -1 - br i1 %8444, label %8445, label %.thread12396 + br i1 %8444, label %8445, label %.thread12393 8445: ; preds = %8441 %8446 = zext nneg i32 %8443 to i64 %8447 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %8440, i64 %8446 %8448 = load i32, ptr %8447, align 8 - br label %.thread12396 + br label %.thread12393 -.thread12396: ; preds = %8439, %8437, %8445, %8441, %8428, %8424, %8435 - %.09906 = phi i32 [ %8429, %8428 ], [ -521143298, %8424 ], [ %8436, %8435 ], [ %spec.select11889, %8437 ], [ %8448, %8445 ], [ -486539265, %8441 ], [ -486539265, %8439 ] +.thread12393: ; preds = %8439, %8437, %8445, %8441, %8428, %8424, %8435 + %.09906 = phi i32 [ %8429, %8428 ], [ -521143298, %8424 ], [ %8436, %8435 ], [ %spec.select11887, %8437 ], [ %8448, %8445 ], [ -486539265, %8441 ], [ -486539265, %8439 ] store i32 %.09906, ptr %21, align 4 %8449 = load ptr, ptr %2480, align 8 - %.not11172 = icmp eq ptr %.09621, %8449 - br i1 %.not11172, label %8458, label %8450 + %.not11170 = icmp eq ptr %.09621, %8449 + br i1 %.not11170, label %8458, label %8450 -8450: ; preds = %.thread12396 +8450: ; preds = %.thread12393 %8451 = load i32, ptr %20, align 4 %8452 = and i32 %8451, 268436479 %8453 = icmp eq i32 %8452, 16 %8454 = and i32 %.09906, 268436479 %8455 = icmp eq i32 %8454, 16 - %or.cond11891 = select i1 %8453, i1 %8455, i1 false - br i1 %or.cond11891, label %8456, label %8458 + %or.cond11889 = select i1 %8453, i1 %8455, i1 false + br i1 %or.cond11889, label %8456, label %8458 8456: ; preds = %8450 %8457 = call fastcc zeroext i1 @zend_jit_may_skip_comparison(ptr noundef nonnull %2501, ptr noundef %.09621, ptr noundef %40, ptr noundef %43, ptr noundef %.09771) br label %8458 -8458: ; preds = %8456, %8450, %.thread12396 +8458: ; preds = %8456, %8450, %.thread12393 %8459 = zext nneg i8 %.19588 to i32 br i1 %.not10749, label %8550, label %8460 8460: ; preds = %8458 %8461 = load i32, ptr %20, align 4 %8462 = and i32 %8461, 268435456 - %.not11174 = icmp eq i32 %8462, 0 - br i1 %.not11174, label %8550, label %8463 + %.not11172 = icmp eq i32 %8462, 0 + br i1 %.not11172, label %8550, label %8463 8463: ; preds = %8460 %8464 = getelementptr inbounds nuw i8, ptr %2501, i64 8 %8465 = load i32, ptr %8464, align 8 %8466 = call fastcc i32 @zend_jit_type_guard(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %8465, i8 noundef zeroext %2504) - %.not11175 = icmp eq i32 %8466, 0 - br i1 %.not11175, label %zend_jit_stack_check.exit.thread, label %8467 + %.not11173 = icmp eq i32 %8466, 0 + br i1 %.not11173, label %zend_jit_stack_check.exit.thread, label %8467 8467: ; preds = %8463 %8468 = load ptr, ptr %2478, align 8 @@ -35198,13 +35198,13 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %8471 = getelementptr inbounds %struct._zend_ssa_var, ptr %8468, i64 %8470, i32 7 %8472 = load i8, ptr %8471, align 8 %8473 = and i8 %8472, 12 - %.not11176 = icmp eq i8 %8473, 0 + %.not11174 = icmp eq i8 %8473, 0 %8474 = load i32, ptr %8464, align 8 %8475 = lshr i32 %8474, 4 %8476 = add nsw i32 %8475, -5 %8477 = zext i32 %8476 to i64 %8478 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %8477 - br i1 %.not11176, label %8512, label %8479 + br i1 %.not11174, label %8512, label %8479 8479: ; preds = %8467 store i8 -1, ptr %8478, align 4 @@ -35244,10 +35244,10 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 store i8 0, ptr %8508, align 1 %8509 = shl nuw i32 1, %8459 %8510 = icmp ult i8 %2504, 6 - %.not11177 = icmp eq i8 %2504, 7 + %.not11175 = icmp eq i8 %2504, 7 %8511 = or i32 %8509, -1073741824 - %spec.select12036 = select i1 %.not11177, i32 -520095616, i32 %8511 - %.09848 = select i1 %8510, i32 %8509, i32 %spec.select12036 + %spec.select12034 = select i1 %.not11175, i32 -520095616, i32 %8511 + %.09848 = select i1 %8510, i32 %8509, i32 %spec.select12034 store i32 %.09848, ptr %20, align 4 br label %8550 @@ -35301,21 +35301,21 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 8550: ; preds = %8460, %8512, %8479, %8458 %8551 = zext nneg i8 %spec.store.select to i32 - %.not11178 = icmp eq i8 %spec.store.select, -1 - br i1 %.not11178, label %8643, label %8552 + %.not11176 = icmp eq i8 %spec.store.select, -1 + br i1 %.not11176, label %8643, label %8552 8552: ; preds = %8550 %8553 = load i32, ptr %21, align 4 %8554 = and i32 %8553, 268435456 - %.not11179 = icmp eq i32 %8554, 0 - br i1 %.not11179, label %8643, label %8555 + %.not11177 = icmp eq i32 %8554, 0 + br i1 %.not11177, label %8643, label %8555 8555: ; preds = %8552 %8556 = getelementptr inbounds nuw i8, ptr %2501, i64 12 %8557 = load i32, ptr %8556, align 4 %8558 = call fastcc i32 @zend_jit_type_guard(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %8557, i8 noundef zeroext %spec.store.select) - %.not11180 = icmp eq i32 %8558, 0 - br i1 %.not11180, label %zend_jit_stack_check.exit.thread, label %8559 + %.not11178 = icmp eq i32 %8558, 0 + br i1 %.not11178, label %zend_jit_stack_check.exit.thread, label %8559 8559: ; preds = %8555 %8560 = load ptr, ptr %2478, align 8 @@ -35325,13 +35325,13 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %8564 = getelementptr inbounds %struct._zend_ssa_var, ptr %8560, i64 %8563, i32 7 %8565 = load i8, ptr %8564, align 8 %8566 = and i8 %8565, 12 - %.not11181 = icmp eq i8 %8566, 0 + %.not11179 = icmp eq i8 %8566, 0 %8567 = load i32, ptr %8556, align 4 %8568 = lshr i32 %8567, 4 %8569 = add nsw i32 %8568, -5 %8570 = zext i32 %8569 to i64 %8571 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %8570 - br i1 %.not11181, label %8605, label %8572 + br i1 %.not11179, label %8605, label %8572 8572: ; preds = %8559 store i8 -1, ptr %8571, align 4 @@ -35371,10 +35371,10 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 store i8 0, ptr %8601, align 1 %8602 = shl nuw i32 1, %8551 %8603 = icmp ult i8 %spec.store.select, 6 - %.not11182 = icmp eq i8 %spec.store.select, 7 + %.not11180 = icmp eq i8 %spec.store.select, 7 %8604 = or i32 %8602, -1073741824 - %spec.select12037 = select i1 %.not11182, i32 -520095616, i32 %8604 - %.09847 = select i1 %8603, i32 %8602, i32 %spec.select12037 + %spec.select12035 = select i1 %.not11180, i32 -520095616, i32 %8604 + %.09847 = select i1 %8603, i32 %8602, i32 %spec.select12035 store i32 %.09847, ptr %21, align 4 br label %8643 @@ -35430,8 +35430,8 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %8644 = getelementptr inbounds nuw i8, ptr %2501, i64 31 %8645 = load i8, ptr %8644, align 1 %8646 = and i8 %8645, 48 - %.not11183 = icmp eq i8 %8646, 0 - br i1 %.not11183, label %8831, label %8647 + %.not11181 = icmp eq i8 %8646, 0 + br i1 %.not11181, label %8831, label %8647 8647: ; preds = %8643 %8648 = getelementptr inbounds nuw i8, ptr %.39762, i64 16 @@ -35488,20 +35488,20 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 %8680 = load ptr, ptr @zend_jit_traces, align 8 %8681 = getelementptr inbounds nuw i8, ptr %8680, i64 16 %8682 = load i32, ptr %8681, align 8 - %.not.i12101 = icmp ult i32 %8679, %8682 - br i1 %.not.i12101, label %8705, label %8683 + %.not.i12098 = icmp ult i32 %8679, %8682 + br i1 %.not.i12098, label %8705, label %8683 8683: ; preds = %8678 %8684 = icmp ugt i32 %8679, 511 - br i1 %8684, label %zend_jit_stack_check.exit.thread, label %.preheader.i.i12102 + br i1 %8684, label %zend_jit_stack_check.exit.thread, label %.preheader.i.i12099 -.preheader.i.i12102: ; preds = %8683 +.preheader.i.i12099: ; preds = %8683 %.pre12.i.i = load ptr, ptr @dasm_ptr, align 8 br label %8685 -8685: ; preds = %8695, %.preheader.i.i12102 - %8686 = phi ptr [ %.pre12.i.i, %.preheader.i.i12102 ], [ %8694, %8695 ] - %8687 = phi i32 [ %8682, %.preheader.i.i12102 ], [ %8704, %8695 ] +8685: ; preds = %8695, %.preheader.i.i12099 + %8686 = phi ptr [ %.pre12.i.i, %.preheader.i.i12099 ], [ %8694, %8695 ] + %8687 = phi i32 [ %8682, %.preheader.i.i12099 ], [ %8704, %8695 ] call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %10) call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %11) %8688 = load ptr, ptr @dasm_buf, align 8 @@ -35517,8 +35517,8 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 store ptr %8693, ptr %8694, align 8 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %10) call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %11) - %.not.i.i12103 = icmp eq ptr %8692, null - br i1 %.not.i.i12103, label %zend_jit_stack_check.exit.thread, label %8695 + %.not.i.i12100 = icmp eq ptr %8692, null + br i1 %.not.i.i12100, label %zend_jit_stack_check.exit.thread, label %8695 8695: ; preds = %8685 %8696 = load ptr, ptr @zend_jit_exit_groups, align 8 @@ -35544,26 +35544,26 @@ zend_jit_load_var.exit12100: ; preds = %2426, %2428 br label %zend_jit_trace_get_exit_addr.exit zend_jit_trace_get_exit_addr.exit: ; preds = %8695, %8705 - %.lcssa13436.sink = phi ptr [ %8710, %8705 ], [ %8692, %8695 ] + %.lcssa13433.sink = phi ptr [ %8710, %8705 ], [ %8692, %8695 ] %8711 = shl i32 %8679, 2 %8712 = and i32 %8711, 124 %8713 = zext nneg i32 %8712 to i64 - %8714 = getelementptr inbounds nuw i8, ptr %.lcssa13436.sink, i64 %8713 - %.not11196 = icmp eq ptr %.lcssa13436.sink, null - br i1 %.not11196, label %zend_jit_stack_check.exit.thread, label %8715 + %8714 = getelementptr inbounds nuw i8, ptr %.lcssa13433.sink, i64 %8713 + %.not11194 = icmp eq ptr %.lcssa13433.sink, null + br i1 %.not11194, label %zend_jit_stack_check.exit.thread, label %8715 8715: ; preds = %zend_jit_trace_get_exit_addr.exit %8716 = select i1 %.09963.in, i8 44, i8 43 %8717 = load i32, ptr %20, align 4 %8718 = load i8, ptr %8362, align 1 %8719 = and i8 %8718, 14 - %.not11197 = icmp eq i8 %8719, 0 - br i1 %.not11197, label %8732, label %8720 + %.not11195 = icmp eq i8 %8719, 0 + br i1 %.not11195, label %8732, label %8720 8720: ; preds = %8715 %8721 = load ptr, ptr %2477, align 8 - %.not11198 = icmp eq ptr %8721, null - br i1 %.not11198, label %8732, label %8722 + %.not11196 = icmp eq ptr %8721, null + br i1 %.not11196, label %8732, label %8722 8722: ; preds = %8720 %8723 = load i32, ptr %.09621, align 4 @@ -35577,14 +35577,14 @@ zend_jit_trace_get_exit_addr.exit: ; preds = %8695, %8705 %8729 = load i8, ptr %8728, align 4 %8730 = trunc i8 %8729 to i1 %8731 = getelementptr inbounds nuw i8, ptr %8727, i64 8 - %spec.select11892 = select i1 %8730, ptr %8731, ptr null + %spec.select11890 = select i1 %8730, ptr %8731, ptr null br label %8732 8732: ; preds = %8725, %8715, %8720, %8722 - %8733 = phi ptr [ null, %8722 ], [ null, %8720 ], [ null, %8715 ], [ %spec.select11892, %8725 ] + %8733 = phi ptr [ null, %8722 ], [ null, %8720 ], [ null, %8715 ], [ %spec.select11890, %8725 ] %8734 = load ptr, ptr %2479, align 8 - %.not11199 = icmp eq ptr %8734, null - br i1 %.not11199, label %8745, label %8735 + %.not11197 = icmp eq ptr %8734, null + br i1 %.not11197, label %8745, label %8735 8735: ; preds = %8732 %8736 = load i32, ptr %.09621, align 4 @@ -35595,8 +35595,8 @@ zend_jit_trace_get_exit_addr.exit: ; preds = %8695, %8705 %8739 = zext nneg i32 %8736 to i64 %8740 = getelementptr inbounds nuw %struct._zend_jit_reg_var, ptr %8734, i64 %8739 %8741 = load i32, ptr %8740, align 4 - %.not11200 = icmp eq i32 %8741, 0 - br i1 %.not11200, label %8745, label %8742 + %.not11198 = icmp eq i32 %8741, 0 + br i1 %.not11198, label %8745, label %8742 8742: ; preds = %8738 %8743 = shl nuw nsw i64 %8739, 2 @@ -35626,13 +35626,13 @@ zend_jit_trace_get_exit_addr.exit: ; preds = %8695, %8705 %8759 = load i32, ptr %21, align 4 %8760 = load i8, ptr %8405, align 2 %8761 = and i8 %8760, 14 - %.not11201 = icmp eq i8 %8761, 0 - br i1 %.not11201, label %8775, label %8762 + %.not11199 = icmp eq i8 %8761, 0 + br i1 %.not11199, label %8775, label %8762 8762: ; preds = %8757 %8763 = load ptr, ptr %2477, align 8 - %.not11202 = icmp eq ptr %8763, null - br i1 %.not11202, label %8775, label %8764 + %.not11200 = icmp eq ptr %8763, null + br i1 %.not11200, label %8775, label %8764 8764: ; preds = %8762 %8765 = getelementptr inbounds nuw i8, ptr %.09621, i64 4 @@ -35647,12 +35647,12 @@ zend_jit_trace_get_exit_addr.exit: ; preds = %8695, %8705 %8772 = load i8, ptr %8771, align 4 %8773 = trunc i8 %8772 to i1 %8774 = getelementptr inbounds nuw i8, ptr %8770, i64 8 - %spec.select11893 = select i1 %8773, ptr %8774, ptr null + %spec.select11891 = select i1 %8773, ptr %8774, ptr null br label %8775 8775: ; preds = %8768, %8757, %8762, %8764 - %8776 = phi ptr [ null, %8764 ], [ null, %8762 ], [ null, %8757 ], [ %spec.select11893, %8768 ] - br i1 %.not11199, label %8787, label %8777 + %8776 = phi ptr [ null, %8764 ], [ null, %8762 ], [ null, %8757 ], [ %spec.select11891, %8768 ] + br i1 %.not11197, label %8787, label %8777 8777: ; preds = %8775 %8778 = getelementptr inbounds nuw i8, ptr %.09621, i64 4 @@ -35664,10 +35664,10 @@ zend_jit_trace_get_exit_addr.exit: ; preds = %8695, %8705 %8782 = zext nneg i32 %8779 to i64 %8783 = getelementptr inbounds nuw %struct._zend_jit_reg_var, ptr %8734, i64 %8782 %8784 = load i32, ptr %8783, align 4 - %.not11204 = icmp eq i32 %8784, 0 - br i1 %.not11204, label %8787, label %.thread12400 + %.not11202 = icmp eq i32 %8784, 0 + br i1 %.not11202, label %8787, label %.thread12397 -.thread12400: ; preds = %8781 +.thread12397: ; preds = %8781 %8785 = shl nuw nsw i64 %8782, 2 %8786 = or disjoint i64 %8785, 2 br label %8798 @@ -35683,10 +35683,10 @@ zend_jit_trace_get_exit_addr.exit: ; preds = %8695, %8705 %8795 = shl nuw nsw i64 %8794, 8 %8796 = or disjoint i64 %8795, 57 %8797 = select i1 %8788, i64 %8793, i64 %8796 - br i1 %.not11199, label %8810, label %8798 + br i1 %.not11197, label %8810, label %8798 -8798: ; preds = %.thread12400, %8787 - %8799 = phi i64 [ %8786, %.thread12400 ], [ %8797, %8787 ] +8798: ; preds = %.thread12397, %8787 + %8799 = phi i64 [ %8786, %.thread12397 ], [ %8797, %8787 ] %8800 = getelementptr inbounds nuw i8, ptr %.09621, i64 20 %8801 = load i32, ptr %8800, align 4 %8802 = icmp sgt i32 %8801, -1 @@ -35696,8 +35696,8 @@ zend_jit_trace_get_exit_addr.exit: ; preds = %8695, %8705 %8804 = zext nneg i32 %8801 to i64 %8805 = getelementptr inbounds nuw %struct._zend_jit_reg_var, ptr %8734, i64 %8804 %8806 = load i32, ptr %8805, align 4 - %.not11206 = icmp eq i32 %8806, 0 - br i1 %.not11206, label %8810, label %8807 + %.not11204 = icmp eq i32 %8806, 0 + br i1 %.not11204, label %8810, label %8807 8807: ; preds = %8803 %8808 = shl nuw nsw i64 %8804, 2 @@ -35730,24 +35730,24 @@ zend_jit_trace_get_exit_addr.exit: ; preds = %8695, %8705 %8827 = call zeroext i1 @zend_may_throw(ptr noundef nonnull %2501, ptr noundef %.09621, ptr noundef %.09771, ptr noundef nonnull %40) #33 %8828 = zext i1 %8827 to i32 %8829 = call fastcc i32 @zend_jit_cmp(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %8717, ptr noundef %8733, i64 noundef %8758, i32 noundef %8759, ptr noundef %8776, i64 noundef %8825, i64 noundef %8826, i32 noundef %8828, i8 noundef zeroext %8716, i32 noundef -1, i32 noundef -1, ptr noundef nonnull %8714) - %.not11207 = icmp eq i32 %8829, 0 - br i1 %.not11207, label %zend_jit_stack_check.exit.thread, label %8830 + %.not11205 = icmp eq i32 %8829, 0 + br i1 %.not11205, label %zend_jit_stack_check.exit.thread, label %8830 8830: ; preds = %8824 call fastcc void @zend_jit_trace_update_condition_ranges(ptr noundef nonnull %2501, ptr noundef %.09621, ptr noundef %.09771, ptr noundef %40, i1 noundef zeroext %.09963.in) - br label %thread-pre-split12618 + br label %thread-pre-split12615 8831: ; preds = %8643 %8832 = load i32, ptr %20, align 4 %8833 = load i8, ptr %8362, align 1 %8834 = and i8 %8833, 14 - %.not11184 = icmp eq i8 %8834, 0 - br i1 %.not11184, label %8847, label %8835 + %.not11182 = icmp eq i8 %8834, 0 + br i1 %.not11182, label %8847, label %8835 8835: ; preds = %8831 %8836 = load ptr, ptr %2477, align 8 - %.not11185 = icmp eq ptr %8836, null - br i1 %.not11185, label %8847, label %8837 + %.not11183 = icmp eq ptr %8836, null + br i1 %.not11183, label %8847, label %8837 8837: ; preds = %8835 %8838 = load i32, ptr %.09621, align 4 @@ -35761,14 +35761,14 @@ zend_jit_trace_get_exit_addr.exit: ; preds = %8695, %8705 %8844 = load i8, ptr %8843, align 4 %8845 = trunc i8 %8844 to i1 %8846 = getelementptr inbounds nuw i8, ptr %8842, i64 8 - %spec.select11894 = select i1 %8845, ptr %8846, ptr null + %spec.select11892 = select i1 %8845, ptr %8846, ptr null br label %8847 8847: ; preds = %8840, %8831, %8835, %8837 - %8848 = phi ptr [ null, %8837 ], [ null, %8835 ], [ null, %8831 ], [ %spec.select11894, %8840 ] + %8848 = phi ptr [ null, %8837 ], [ null, %8835 ], [ null, %8831 ], [ %spec.select11892, %8840 ] %8849 = load ptr, ptr %2479, align 8 - %.not11186 = icmp eq ptr %8849, null - br i1 %.not11186, label %8860, label %8850 + %.not11184 = icmp eq ptr %8849, null + br i1 %.not11184, label %8860, label %8850 8850: ; preds = %8847 %8851 = load i32, ptr %.09621, align 4 @@ -35779,8 +35779,8 @@ zend_jit_trace_get_exit_addr.exit: ; preds = %8695, %8705 %8854 = zext nneg i32 %8851 to i64 %8855 = getelementptr inbounds nuw %struct._zend_jit_reg_var, ptr %8849, i64 %8854 %8856 = load i32, ptr %8855, align 4 - %.not11187 = icmp eq i32 %8856, 0 - br i1 %.not11187, label %8860, label %8857 + %.not11185 = icmp eq i32 %8856, 0 + br i1 %.not11185, label %8860, label %8857 8857: ; preds = %8853 %8858 = shl nuw nsw i64 %8854, 2 @@ -35810,13 +35810,13 @@ zend_jit_trace_get_exit_addr.exit: ; preds = %8695, %8705 %8874 = load i32, ptr %21, align 4 %8875 = load i8, ptr %8405, align 2 %8876 = and i8 %8875, 14 - %.not11188 = icmp eq i8 %8876, 0 - br i1 %.not11188, label %8890, label %8877 + %.not11186 = icmp eq i8 %8876, 0 + br i1 %.not11186, label %8890, label %8877 8877: ; preds = %8872 %8878 = load ptr, ptr %2477, align 8 - %.not11189 = icmp eq ptr %8878, null - br i1 %.not11189, label %8890, label %8879 + %.not11187 = icmp eq ptr %8878, null + br i1 %.not11187, label %8890, label %8879 8879: ; preds = %8877 %8880 = getelementptr inbounds nuw i8, ptr %.09621, i64 4 @@ -35831,12 +35831,12 @@ zend_jit_trace_get_exit_addr.exit: ; preds = %8695, %8705 %8887 = load i8, ptr %8886, align 4 %8888 = trunc i8 %8887 to i1 %8889 = getelementptr inbounds nuw i8, ptr %8885, i64 8 - %spec.select11895 = select i1 %8888, ptr %8889, ptr null + %spec.select11893 = select i1 %8888, ptr %8889, ptr null br label %8890 8890: ; preds = %8883, %8872, %8877, %8879 - %8891 = phi ptr [ null, %8879 ], [ null, %8877 ], [ null, %8872 ], [ %spec.select11895, %8883 ] - br i1 %.not11186, label %8902, label %8892 + %8891 = phi ptr [ null, %8879 ], [ null, %8877 ], [ null, %8872 ], [ %spec.select11893, %8883 ] + br i1 %.not11184, label %8902, label %8892 8892: ; preds = %8890 %8893 = getelementptr inbounds nuw i8, ptr %.09621, i64 4 @@ -35848,10 +35848,10 @@ zend_jit_trace_get_exit_addr.exit: ; preds = %8695, %8705 %8897 = zext nneg i32 %8894 to i64 %8898 = getelementptr inbounds nuw %struct._zend_jit_reg_var, ptr %8849, i64 %8897 %8899 = load i32, ptr %8898, align 4 - %.not11191 = icmp eq i32 %8899, 0 - br i1 %.not11191, label %8902, label %.thread12401 + %.not11189 = icmp eq i32 %8899, 0 + br i1 %.not11189, label %8902, label %.thread12398 -.thread12401: ; preds = %8896 +.thread12398: ; preds = %8896 %8900 = shl nuw nsw i64 %8897, 2 %8901 = or disjoint i64 %8900, 2 br label %8913 @@ -35867,10 +35867,10 @@ zend_jit_trace_get_exit_addr.exit: ; preds = %8695, %8705 %8910 = shl nuw nsw i64 %8909, 8 %8911 = or disjoint i64 %8910, 57 %8912 = select i1 %8903, i64 %8908, i64 %8911 - br i1 %.not11186, label %8925, label %8913 + br i1 %.not11184, label %8925, label %8913 -8913: ; preds = %.thread12401, %8902 - %8914 = phi i64 [ %8901, %.thread12401 ], [ %8912, %8902 ] +8913: ; preds = %.thread12398, %8902 + %8914 = phi i64 [ %8901, %.thread12398 ], [ %8912, %8902 ] %8915 = getelementptr inbounds nuw i8, ptr %.09621, i64 20 %8916 = load i32, ptr %8915, align 4 %8917 = icmp sgt i32 %8916, -1 @@ -35880,8 +35880,8 @@ zend_jit_trace_get_exit_addr.exit: ; preds = %8695, %8705 %8919 = zext nneg i32 %8916 to i64 %8920 = getelementptr inbounds nuw %struct._zend_jit_reg_var, ptr %8849, i64 %8919 %8921 = load i32, ptr %8920, align 4 - %.not11193 = icmp eq i32 %8921, 0 - br i1 %.not11193, label %8925, label %8922 + %.not11191 = icmp eq i32 %8921, 0 + br i1 %.not11191, label %8925, label %8922 8922: ; preds = %8918 %8923 = shl nuw nsw i64 %8919, 2 @@ -35913,8 +35913,8 @@ zend_jit_trace_get_exit_addr.exit: ; preds = %8695, %8705 %8941 = call zeroext i1 @zend_may_throw(ptr noundef nonnull %2501, ptr noundef %.09621, ptr noundef %.09771, ptr noundef nonnull %40) #33 %8942 = zext i1 %8941 to i32 %8943 = call fastcc i32 @zend_jit_cmp(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %8832, ptr noundef %8848, i64 noundef %8873, i32 noundef %8874, ptr noundef %8891, i64 noundef %8939, i64 noundef %8940, i32 noundef %8942, i8 noundef zeroext 0, i32 noundef -1, i32 noundef -1, ptr noundef null) - %.not11194 = icmp eq i32 %8943, 0 - br i1 %.not11194, label %zend_jit_stack_check.exit.thread, label %thread-pre-split12618 + %.not11192 = icmp eq i32 %8943, 0 + br i1 %.not11192, label %zend_jit_stack_check.exit.thread, label %thread-pre-split12615 8944: ; preds = %2538, %2538, %2538 %8945 = getelementptr inbounds nuw i8, ptr %2501, i64 29 @@ -35926,8 +35926,8 @@ zend_jit_trace_get_exit_addr.exit: ; preds = %8695, %8705 %8949 = getelementptr inbounds nuw i8, ptr %.09771, i64 4 %8950 = load i32, ptr %8949, align 4 %8951 = and i32 %8950, 33554432 - %.not11125 = icmp eq i32 %8951, 0 - br i1 %.not11125, label %8957, label %8952 + %.not11123 = icmp eq i32 %8951, 0 + br i1 %.not11123, label %8957, label %8952 8952: ; preds = %8948 %8953 = getelementptr inbounds nuw i8, ptr %2501, i64 8 @@ -35950,61 +35950,61 @@ zend_jit_trace_get_exit_addr.exit: ; preds = %8695, %8705 %8966 = getelementptr inbounds nuw i8, ptr %8965, i64 8 %8967 = load i8, ptr %8966, align 8 switch i8 %8967, label %8970 [ - i8 11, label %.thread12402 + i8 11, label %.thread12399 i8 7, label %8968 ] 8968: ; preds = %8964 %8969 = call i32 @zend_array_type_info(ptr noundef nonnull %8965) #33 - br label %.thread12402 + br label %.thread12399 8970: ; preds = %8964 %8971 = zext nneg i8 %8967 to i32 %8972 = shl nuw i32 1, %8971 %8973 = getelementptr inbounds nuw i8, ptr %8965, i64 9 %8974 = load i8, ptr %8973, align 1 - %.not11126 = icmp eq i8 %8974, 0 - br i1 %.not11126, label %8977, label %8975 + %.not11124 = icmp eq i8 %8974, 0 + br i1 %.not11124, label %8977, label %8975 8975: ; preds = %8970 %8976 = or i32 %8972, -1073741824 - br label %.thread12402 + br label %.thread12399 8977: ; preds = %8970 %8978 = icmp eq i8 %8967, 6 - %spec.select11896 = select i1 %8978, i32 -2147483584, i32 %8972 - br label %.thread12402 + %spec.select11894 = select i1 %8978, i32 -2147483584, i32 %8972 + br label %.thread12399 8979: ; preds = %8944 %8980 = load ptr, ptr %2477, align 8 - %.not11124 = icmp eq ptr %8980, null - br i1 %.not11124, label %.thread12402, label %8981 + %.not11122 = icmp eq ptr %8980, null + br i1 %.not11122, label %.thread12399, label %8981 8981: ; preds = %8979 %8982 = load i32, ptr %.09621, align 4 %8983 = icmp sgt i32 %8982, -1 - br i1 %8983, label %8984, label %.thread12402 + br i1 %8983, label %8984, label %.thread12399 8984: ; preds = %8981 %8985 = zext nneg i32 %8982 to i64 %8986 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %8980, i64 %8985 %8987 = load i32, ptr %8986, align 8 - br label %.thread12402 + br label %.thread12399 -.thread12402: ; preds = %8979, %8977, %8984, %8981, %8968, %8964, %8975 - %.09947 = phi i32 [ %8969, %8968 ], [ -521143298, %8964 ], [ %8976, %8975 ], [ %spec.select11896, %8977 ], [ %8987, %8984 ], [ -486539265, %8981 ], [ -486539265, %8979 ] +.thread12399: ; preds = %8979, %8977, %8984, %8981, %8968, %8964, %8975 + %.09947 = phi i32 [ %8969, %8968 ], [ -521143298, %8964 ], [ %8976, %8975 ], [ %spec.select11894, %8977 ], [ %8987, %8984 ], [ -486539265, %8981 ], [ -486539265, %8979 ] store i32 %.09947, ptr %20, align 4 %8988 = getelementptr inbounds nuw i8, ptr %2501, i64 30 %8989 = load i8, ptr %8988, align 2 %8990 = icmp eq i8 %8989, 1 br i1 %8990, label %8991, label %9022 -8991: ; preds = %.thread12402 +8991: ; preds = %.thread12399 %8992 = getelementptr inbounds nuw i8, ptr %.09771, i64 4 %8993 = load i32, ptr %8992, align 4 %8994 = and i32 %8993, 33554432 - %.not11128 = icmp eq i32 %8994, 0 - br i1 %.not11128, label %9000, label %8995 + %.not11126 = icmp eq i32 %8994, 0 + br i1 %.not11126, label %9000, label %8995 8995: ; preds = %8991 %8996 = getelementptr inbounds nuw i8, ptr %2501, i64 12 @@ -36027,84 +36027,84 @@ zend_jit_trace_get_exit_addr.exit: ; preds = %8695, %8705 %9009 = getelementptr inbounds nuw i8, ptr %9008, i64 8 %9010 = load i8, ptr %9009, align 8 switch i8 %9010, label %9013 [ - i8 11, label %.thread12404 + i8 11, label %.thread12401 i8 7, label %9011 ] 9011: ; preds = %9007 %9012 = call i32 @zend_array_type_info(ptr noundef nonnull %9008) #33 - br label %.thread12404 + br label %.thread12401 9013: ; preds = %9007 %9014 = zext nneg i8 %9010 to i32 %9015 = shl nuw i32 1, %9014 %9016 = getelementptr inbounds nuw i8, ptr %9008, i64 9 %9017 = load i8, ptr %9016, align 1 - %.not11129 = icmp eq i8 %9017, 0 - br i1 %.not11129, label %9020, label %9018 + %.not11127 = icmp eq i8 %9017, 0 + br i1 %.not11127, label %9020, label %9018 9018: ; preds = %9013 %9019 = or i32 %9015, -1073741824 - br label %.thread12404 + br label %.thread12401 9020: ; preds = %9013 %9021 = icmp eq i8 %9010, 6 - %spec.select11897 = select i1 %9021, i32 -2147483584, i32 %9015 - br label %.thread12404 + %spec.select11895 = select i1 %9021, i32 -2147483584, i32 %9015 + br label %.thread12401 -9022: ; preds = %.thread12402 +9022: ; preds = %.thread12399 %9023 = load ptr, ptr %2477, align 8 - %.not11127 = icmp eq ptr %9023, null - br i1 %.not11127, label %.thread12404, label %9024 + %.not11125 = icmp eq ptr %9023, null + br i1 %.not11125, label %.thread12401, label %9024 9024: ; preds = %9022 %9025 = getelementptr inbounds nuw i8, ptr %.09621, i64 4 %9026 = load i32, ptr %9025, align 4 %9027 = icmp sgt i32 %9026, -1 - br i1 %9027, label %9028, label %.thread12404 + br i1 %9027, label %9028, label %.thread12401 9028: ; preds = %9024 %9029 = zext nneg i32 %9026 to i64 %9030 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %9023, i64 %9029 %9031 = load i32, ptr %9030, align 8 - br label %.thread12404 + br label %.thread12401 -.thread12404: ; preds = %9022, %9020, %9028, %9024, %9011, %9007, %9018 - %.09907 = phi i32 [ %9012, %9011 ], [ -521143298, %9007 ], [ %9019, %9018 ], [ %spec.select11897, %9020 ], [ %9031, %9028 ], [ -486539265, %9024 ], [ -486539265, %9022 ] +.thread12401: ; preds = %9022, %9020, %9028, %9024, %9011, %9007, %9018 + %.09907 = phi i32 [ %9012, %9011 ], [ -521143298, %9007 ], [ %9019, %9018 ], [ %spec.select11895, %9020 ], [ %9031, %9028 ], [ -486539265, %9024 ], [ -486539265, %9022 ] store i32 %.09907, ptr %21, align 4 %9032 = load ptr, ptr %2480, align 8 - %.not11130 = icmp eq ptr %.09621, %9032 - br i1 %.not11130, label %9041, label %9033 + %.not11128 = icmp eq ptr %.09621, %9032 + br i1 %.not11128, label %9041, label %9033 -9033: ; preds = %.thread12404 +9033: ; preds = %.thread12401 %9034 = load i32, ptr %20, align 4 %9035 = and i32 %9034, 268436479 %9036 = icmp eq i32 %9035, 16 %9037 = and i32 %.09907, 268436479 %9038 = icmp eq i32 %9037, 16 - %or.cond11899 = select i1 %9036, i1 %9038, i1 false - br i1 %or.cond11899, label %9039, label %9041 + %or.cond11897 = select i1 %9036, i1 %9038, i1 false + br i1 %or.cond11897, label %9039, label %9041 9039: ; preds = %9033 %9040 = call fastcc zeroext i1 @zend_jit_may_skip_comparison(ptr noundef nonnull %2501, ptr noundef %.09621, ptr noundef %40, ptr noundef %43, ptr noundef %.09771) br label %9041 -9041: ; preds = %9039, %9033, %.thread12404 +9041: ; preds = %9039, %9033, %.thread12401 %9042 = zext nneg i8 %.19588 to i32 br i1 %.not10749, label %9133, label %9043 9043: ; preds = %9041 %9044 = load i32, ptr %20, align 4 %9045 = and i32 %9044, 268435456 - %.not11132 = icmp eq i32 %9045, 0 - br i1 %.not11132, label %9133, label %9046 + %.not11130 = icmp eq i32 %9045, 0 + br i1 %.not11130, label %9133, label %9046 9046: ; preds = %9043 %9047 = getelementptr inbounds nuw i8, ptr %2501, i64 8 %9048 = load i32, ptr %9047, align 8 %9049 = call fastcc i32 @zend_jit_type_guard(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %9048, i8 noundef zeroext %2504) - %.not11133 = icmp eq i32 %9049, 0 - br i1 %.not11133, label %zend_jit_stack_check.exit.thread, label %9050 + %.not11131 = icmp eq i32 %9049, 0 + br i1 %.not11131, label %zend_jit_stack_check.exit.thread, label %9050 9050: ; preds = %9046 %9051 = load ptr, ptr %2478, align 8 @@ -36113,13 +36113,13 @@ zend_jit_trace_get_exit_addr.exit: ; preds = %8695, %8705 %9054 = getelementptr inbounds %struct._zend_ssa_var, ptr %9051, i64 %9053, i32 7 %9055 = load i8, ptr %9054, align 8 %9056 = and i8 %9055, 12 - %.not11134 = icmp eq i8 %9056, 0 + %.not11132 = icmp eq i8 %9056, 0 %9057 = load i32, ptr %9047, align 8 %9058 = lshr i32 %9057, 4 %9059 = add nsw i32 %9058, -5 %9060 = zext i32 %9059 to i64 %9061 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %9060 - br i1 %.not11134, label %9095, label %9062 + br i1 %.not11132, label %9095, label %9062 9062: ; preds = %9050 store i8 -1, ptr %9061, align 4 @@ -36159,10 +36159,10 @@ zend_jit_trace_get_exit_addr.exit: ; preds = %8695, %8705 store i8 0, ptr %9091, align 1 %9092 = shl nuw i32 1, %9042 %9093 = icmp ult i8 %2504, 6 - %.not11135 = icmp eq i8 %2504, 7 + %.not11133 = icmp eq i8 %2504, 7 %9094 = or i32 %9092, -1073741824 - %spec.select12038 = select i1 %.not11135, i32 -520095616, i32 %9094 - %.09846 = select i1 %9093, i32 %9092, i32 %spec.select12038 + %spec.select12036 = select i1 %.not11133, i32 -520095616, i32 %9094 + %.09846 = select i1 %9093, i32 %9092, i32 %spec.select12036 store i32 %.09846, ptr %20, align 4 br label %9133 @@ -36216,21 +36216,21 @@ zend_jit_trace_get_exit_addr.exit: ; preds = %8695, %8705 9133: ; preds = %9043, %9095, %9062, %9041 %9134 = zext nneg i8 %spec.store.select to i32 - %.not11136 = icmp eq i8 %spec.store.select, -1 - br i1 %.not11136, label %9226, label %9135 + %.not11134 = icmp eq i8 %spec.store.select, -1 + br i1 %.not11134, label %9226, label %9135 9135: ; preds = %9133 %9136 = load i32, ptr %21, align 4 %9137 = and i32 %9136, 268435456 - %.not11137 = icmp eq i32 %9137, 0 - br i1 %.not11137, label %9226, label %9138 + %.not11135 = icmp eq i32 %9137, 0 + br i1 %.not11135, label %9226, label %9138 9138: ; preds = %9135 %9139 = getelementptr inbounds nuw i8, ptr %2501, i64 12 %9140 = load i32, ptr %9139, align 4 %9141 = call fastcc i32 @zend_jit_type_guard(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %9140, i8 noundef zeroext %spec.store.select) - %.not11138 = icmp eq i32 %9141, 0 - br i1 %.not11138, label %zend_jit_stack_check.exit.thread, label %9142 + %.not11136 = icmp eq i32 %9141, 0 + br i1 %.not11136, label %zend_jit_stack_check.exit.thread, label %9142 9142: ; preds = %9138 %9143 = load ptr, ptr %2478, align 8 @@ -36240,13 +36240,13 @@ zend_jit_trace_get_exit_addr.exit: ; preds = %8695, %8705 %9147 = getelementptr inbounds %struct._zend_ssa_var, ptr %9143, i64 %9146, i32 7 %9148 = load i8, ptr %9147, align 8 %9149 = and i8 %9148, 12 - %.not11139 = icmp eq i8 %9149, 0 + %.not11137 = icmp eq i8 %9149, 0 %9150 = load i32, ptr %9139, align 4 %9151 = lshr i32 %9150, 4 %9152 = add nsw i32 %9151, -5 %9153 = zext i32 %9152 to i64 %9154 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %9153 - br i1 %.not11139, label %9188, label %9155 + br i1 %.not11137, label %9188, label %9155 9155: ; preds = %9142 store i8 -1, ptr %9154, align 4 @@ -36286,10 +36286,10 @@ zend_jit_trace_get_exit_addr.exit: ; preds = %8695, %8705 store i8 0, ptr %9184, align 1 %9185 = shl nuw i32 1, %9134 %9186 = icmp ult i8 %spec.store.select, 6 - %.not11140 = icmp eq i8 %spec.store.select, 7 + %.not11138 = icmp eq i8 %spec.store.select, 7 %9187 = or i32 %9185, -1073741824 - %spec.select12039 = select i1 %.not11140, i32 -520095616, i32 %9187 - %.09845 = select i1 %9186, i32 %9185, i32 %spec.select12039 + %spec.select12037 = select i1 %.not11138, i32 -520095616, i32 %9187 + %.09845 = select i1 %9186, i32 %9185, i32 %spec.select12037 store i32 %.09845, ptr %21, align 4 br label %9226 @@ -36345,8 +36345,8 @@ zend_jit_trace_get_exit_addr.exit: ; preds = %8695, %8705 %9227 = getelementptr inbounds nuw i8, ptr %2501, i64 31 %9228 = load i8, ptr %9227, align 1 %9229 = and i8 %9228, 48 - %.not11141 = icmp eq i8 %9229, 0 - br i1 %.not11141, label %9416, label %9230 + %.not11139 = icmp eq i8 %9229, 0 + br i1 %.not11139, label %9416, label %9230 9230: ; preds = %9226 %9231 = getelementptr inbounds nuw i8, ptr %.39762, i64 16 @@ -36403,20 +36403,20 @@ zend_jit_trace_get_exit_addr.exit: ; preds = %8695, %8705 %9263 = load ptr, ptr @zend_jit_traces, align 8 %9264 = getelementptr inbounds nuw i8, ptr %9263, i64 16 %9265 = load i32, ptr %9264, align 8 - %.not.i12105 = icmp ult i32 %9262, %9265 - br i1 %.not.i12105, label %9288, label %9266 + %.not.i12102 = icmp ult i32 %9262, %9265 + br i1 %.not.i12102, label %9288, label %9266 9266: ; preds = %9261 %9267 = icmp ugt i32 %9262, 511 - br i1 %9267, label %zend_jit_stack_check.exit.thread, label %.preheader.i.i12106 + br i1 %9267, label %zend_jit_stack_check.exit.thread, label %.preheader.i.i12103 -.preheader.i.i12106: ; preds = %9266 - %.pre12.i.i12107 = load ptr, ptr @dasm_ptr, align 8 +.preheader.i.i12103: ; preds = %9266 + %.pre12.i.i12104 = load ptr, ptr @dasm_ptr, align 8 br label %9268 -9268: ; preds = %9278, %.preheader.i.i12106 - %9269 = phi ptr [ %.pre12.i.i12107, %.preheader.i.i12106 ], [ %9277, %9278 ] - %9270 = phi i32 [ %9265, %.preheader.i.i12106 ], [ %9287, %9278 ] +9268: ; preds = %9278, %.preheader.i.i12103 + %9269 = phi ptr [ %.pre12.i.i12104, %.preheader.i.i12103 ], [ %9277, %9278 ] + %9270 = phi i32 [ %9265, %.preheader.i.i12103 ], [ %9287, %9278 ] call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %8) call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %9) %9271 = load ptr, ptr @dasm_buf, align 8 @@ -36432,8 +36432,8 @@ zend_jit_trace_get_exit_addr.exit: ; preds = %8695, %8705 store ptr %9276, ptr %9277, align 8 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %8) call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %9) - %.not.i.i12108 = icmp eq ptr %9275, null - br i1 %.not.i.i12108, label %zend_jit_stack_check.exit.thread, label %9278 + %.not.i.i12105 = icmp eq ptr %9275, null + br i1 %.not.i.i12105, label %zend_jit_stack_check.exit.thread, label %9278 9278: ; preds = %9268 %9279 = load ptr, ptr @zend_jit_exit_groups, align 8 @@ -36447,8 +36447,8 @@ zend_jit_trace_get_exit_addr.exit: ; preds = %8695, %8705 %9286 = load i32, ptr %9281, align 8 %9287 = add i32 %9286, 32 store i32 %9287, ptr %9281, align 8 - %.not8.i.i12109 = icmp ult i32 %9262, %9287 - br i1 %.not8.i.i12109, label %zend_jit_trace_get_exit_addr.exit12111, label %9268 + %.not8.i.i12106 = icmp ult i32 %9262, %9287 + br i1 %.not8.i.i12106, label %zend_jit_trace_get_exit_addr.exit12108, label %9268 9288: ; preds = %9261 %9289 = load ptr, ptr @zend_jit_exit_groups, align 8 @@ -36456,32 +36456,32 @@ zend_jit_trace_get_exit_addr.exit: ; preds = %8695, %8705 %9291 = zext nneg i32 %9290 to i64 %9292 = getelementptr inbounds nuw ptr, ptr %9289, i64 %9291 %9293 = load ptr, ptr %9292, align 8 - br label %zend_jit_trace_get_exit_addr.exit12111 + br label %zend_jit_trace_get_exit_addr.exit12108 -zend_jit_trace_get_exit_addr.exit12111: ; preds = %9278, %9288 - %.lcssa13434.sink = phi ptr [ %9293, %9288 ], [ %9275, %9278 ] +zend_jit_trace_get_exit_addr.exit12108: ; preds = %9278, %9288 + %.lcssa13431.sink = phi ptr [ %9293, %9288 ], [ %9275, %9278 ] %9294 = shl i32 %9262, 2 %9295 = and i32 %9294, 124 %9296 = zext nneg i32 %9295 to i64 - %9297 = getelementptr inbounds nuw i8, ptr %.lcssa13434.sink, i64 %9296 - %.not11154 = icmp eq ptr %.lcssa13434.sink, null - br i1 %.not11154, label %zend_jit_stack_check.exit.thread, label %9298 + %9297 = getelementptr inbounds nuw i8, ptr %.lcssa13431.sink, i64 %9296 + %.not11152 = icmp eq ptr %.lcssa13431.sink, null + br i1 %.not11152, label %zend_jit_stack_check.exit.thread, label %9298 -9298: ; preds = %zend_jit_trace_get_exit_addr.exit12111 +9298: ; preds = %zend_jit_trace_get_exit_addr.exit12108 %9299 = load i8, ptr %2529, align 4 %9300 = icmp eq i8 %9299, 17 - %spec.select11900 = xor i1 %.09964.in, %9300 - %9301 = select i1 %spec.select11900, i8 44, i8 43 + %spec.select11898 = xor i1 %.09964.in, %9300 + %9301 = select i1 %spec.select11898, i8 44, i8 43 %9302 = load i32, ptr %20, align 4 %9303 = load i8, ptr %8945, align 1 %9304 = and i8 %9303, 14 - %.not11155 = icmp eq i8 %9304, 0 - br i1 %.not11155, label %9317, label %9305 + %.not11153 = icmp eq i8 %9304, 0 + br i1 %.not11153, label %9317, label %9305 9305: ; preds = %9298 %9306 = load ptr, ptr %2477, align 8 - %.not11156 = icmp eq ptr %9306, null - br i1 %.not11156, label %9317, label %9307 + %.not11154 = icmp eq ptr %9306, null + br i1 %.not11154, label %9317, label %9307 9307: ; preds = %9305 %9308 = load i32, ptr %.09621, align 4 @@ -36495,14 +36495,14 @@ zend_jit_trace_get_exit_addr.exit12111: ; preds = %9278, %9288 %9314 = load i8, ptr %9313, align 4 %9315 = trunc i8 %9314 to i1 %9316 = getelementptr inbounds nuw i8, ptr %9312, i64 8 - %spec.select11901 = select i1 %9315, ptr %9316, ptr null + %spec.select11899 = select i1 %9315, ptr %9316, ptr null br label %9317 9317: ; preds = %9310, %9298, %9305, %9307 - %9318 = phi ptr [ null, %9307 ], [ null, %9305 ], [ null, %9298 ], [ %spec.select11901, %9310 ] + %9318 = phi ptr [ null, %9307 ], [ null, %9305 ], [ null, %9298 ], [ %spec.select11899, %9310 ] %9319 = load ptr, ptr %2479, align 8 - %.not11157 = icmp eq ptr %9319, null - br i1 %.not11157, label %9330, label %9320 + %.not11155 = icmp eq ptr %9319, null + br i1 %.not11155, label %9330, label %9320 9320: ; preds = %9317 %9321 = load i32, ptr %.09621, align 4 @@ -36513,8 +36513,8 @@ zend_jit_trace_get_exit_addr.exit12111: ; preds = %9278, %9288 %9324 = zext nneg i32 %9321 to i64 %9325 = getelementptr inbounds nuw %struct._zend_jit_reg_var, ptr %9319, i64 %9324 %9326 = load i32, ptr %9325, align 4 - %.not11158 = icmp eq i32 %9326, 0 - br i1 %.not11158, label %9330, label %9327 + %.not11156 = icmp eq i32 %9326, 0 + br i1 %.not11156, label %9330, label %9327 9327: ; preds = %9323 %9328 = shl nuw nsw i64 %9324, 2 @@ -36544,13 +36544,13 @@ zend_jit_trace_get_exit_addr.exit12111: ; preds = %9278, %9288 %9344 = load i32, ptr %21, align 4 %9345 = load i8, ptr %8988, align 2 %9346 = and i8 %9345, 14 - %.not11159 = icmp eq i8 %9346, 0 - br i1 %.not11159, label %9360, label %9347 + %.not11157 = icmp eq i8 %9346, 0 + br i1 %.not11157, label %9360, label %9347 9347: ; preds = %9342 %9348 = load ptr, ptr %2477, align 8 - %.not11160 = icmp eq ptr %9348, null - br i1 %.not11160, label %9360, label %9349 + %.not11158 = icmp eq ptr %9348, null + br i1 %.not11158, label %9360, label %9349 9349: ; preds = %9347 %9350 = getelementptr inbounds nuw i8, ptr %.09621, i64 4 @@ -36565,12 +36565,12 @@ zend_jit_trace_get_exit_addr.exit12111: ; preds = %9278, %9288 %9357 = load i8, ptr %9356, align 4 %9358 = trunc i8 %9357 to i1 %9359 = getelementptr inbounds nuw i8, ptr %9355, i64 8 - %spec.select11902 = select i1 %9358, ptr %9359, ptr null + %spec.select11900 = select i1 %9358, ptr %9359, ptr null br label %9360 9360: ; preds = %9353, %9342, %9347, %9349 - %9361 = phi ptr [ null, %9349 ], [ null, %9347 ], [ null, %9342 ], [ %spec.select11902, %9353 ] - br i1 %.not11157, label %9372, label %9362 + %9361 = phi ptr [ null, %9349 ], [ null, %9347 ], [ null, %9342 ], [ %spec.select11900, %9353 ] + br i1 %.not11155, label %9372, label %9362 9362: ; preds = %9360 %9363 = getelementptr inbounds nuw i8, ptr %.09621, i64 4 @@ -36582,10 +36582,10 @@ zend_jit_trace_get_exit_addr.exit12111: ; preds = %9278, %9288 %9367 = zext nneg i32 %9364 to i64 %9368 = getelementptr inbounds nuw %struct._zend_jit_reg_var, ptr %9319, i64 %9367 %9369 = load i32, ptr %9368, align 4 - %.not11162 = icmp eq i32 %9369, 0 - br i1 %.not11162, label %9372, label %.thread12408 + %.not11160 = icmp eq i32 %9369, 0 + br i1 %.not11160, label %9372, label %.thread12405 -.thread12408: ; preds = %9366 +.thread12405: ; preds = %9366 %9370 = shl nuw nsw i64 %9367, 2 %9371 = or disjoint i64 %9370, 2 br label %9383 @@ -36601,10 +36601,10 @@ zend_jit_trace_get_exit_addr.exit12111: ; preds = %9278, %9288 %9380 = shl nuw nsw i64 %9379, 8 %9381 = or disjoint i64 %9380, 57 %9382 = select i1 %9373, i64 %9378, i64 %9381 - br i1 %.not11157, label %9395, label %9383 + br i1 %.not11155, label %9395, label %9383 -9383: ; preds = %.thread12408, %9372 - %9384 = phi i64 [ %9371, %.thread12408 ], [ %9382, %9372 ] +9383: ; preds = %.thread12405, %9372 + %9384 = phi i64 [ %9371, %.thread12405 ], [ %9382, %9372 ] %9385 = getelementptr inbounds nuw i8, ptr %.09621, i64 20 %9386 = load i32, ptr %9385, align 4 %9387 = icmp sgt i32 %9386, -1 @@ -36614,8 +36614,8 @@ zend_jit_trace_get_exit_addr.exit12111: ; preds = %9278, %9288 %9389 = zext nneg i32 %9386 to i64 %9390 = getelementptr inbounds nuw %struct._zend_jit_reg_var, ptr %9319, i64 %9389 %9391 = load i32, ptr %9390, align 4 - %.not11164 = icmp eq i32 %9391, 0 - br i1 %.not11164, label %9395, label %9392 + %.not11162 = icmp eq i32 %9391, 0 + br i1 %.not11162, label %9395, label %9392 9392: ; preds = %9388 %9393 = shl nuw nsw i64 %9389, 2 @@ -36648,24 +36648,24 @@ zend_jit_trace_get_exit_addr.exit12111: ; preds = %9278, %9288 %9412 = call zeroext i1 @zend_may_throw(ptr noundef nonnull %2501, ptr noundef %.09621, ptr noundef %.09771, ptr noundef nonnull %40) #33 %9413 = zext i1 %9412 to i32 %9414 = call fastcc i32 @zend_jit_identical(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %9302, ptr noundef %9318, i64 noundef %9343, i32 noundef %9344, ptr noundef %9361, i64 noundef %9410, i64 noundef %9411, i32 noundef %9413, i8 noundef zeroext %9301, i32 noundef -1, i32 noundef -1, ptr noundef nonnull %9297) - %.not11165 = icmp eq i32 %9414, 0 - br i1 %.not11165, label %zend_jit_stack_check.exit.thread, label %9415 + %.not11163 = icmp eq i32 %9414, 0 + br i1 %.not11163, label %zend_jit_stack_check.exit.thread, label %9415 9415: ; preds = %9409 - call fastcc void @zend_jit_trace_update_condition_ranges(ptr noundef nonnull %2501, ptr noundef %.09621, ptr noundef %.09771, ptr noundef %40, i1 noundef zeroext %spec.select11900) - br label %thread-pre-split12618 + call fastcc void @zend_jit_trace_update_condition_ranges(ptr noundef nonnull %2501, ptr noundef %.09621, ptr noundef %.09771, ptr noundef %40, i1 noundef zeroext %spec.select11898) + br label %thread-pre-split12615 9416: ; preds = %9226 %9417 = load i32, ptr %20, align 4 %9418 = load i8, ptr %8945, align 1 %9419 = and i8 %9418, 14 - %.not11142 = icmp eq i8 %9419, 0 - br i1 %.not11142, label %9432, label %9420 + %.not11140 = icmp eq i8 %9419, 0 + br i1 %.not11140, label %9432, label %9420 9420: ; preds = %9416 %9421 = load ptr, ptr %2477, align 8 - %.not11143 = icmp eq ptr %9421, null - br i1 %.not11143, label %9432, label %9422 + %.not11141 = icmp eq ptr %9421, null + br i1 %.not11141, label %9432, label %9422 9422: ; preds = %9420 %9423 = load i32, ptr %.09621, align 4 @@ -36679,14 +36679,14 @@ zend_jit_trace_get_exit_addr.exit12111: ; preds = %9278, %9288 %9429 = load i8, ptr %9428, align 4 %9430 = trunc i8 %9429 to i1 %9431 = getelementptr inbounds nuw i8, ptr %9427, i64 8 - %spec.select11903 = select i1 %9430, ptr %9431, ptr null + %spec.select11901 = select i1 %9430, ptr %9431, ptr null br label %9432 9432: ; preds = %9425, %9416, %9420, %9422 - %9433 = phi ptr [ null, %9422 ], [ null, %9420 ], [ null, %9416 ], [ %spec.select11903, %9425 ] + %9433 = phi ptr [ null, %9422 ], [ null, %9420 ], [ null, %9416 ], [ %spec.select11901, %9425 ] %9434 = load ptr, ptr %2479, align 8 - %.not11144 = icmp eq ptr %9434, null - br i1 %.not11144, label %9445, label %9435 + %.not11142 = icmp eq ptr %9434, null + br i1 %.not11142, label %9445, label %9435 9435: ; preds = %9432 %9436 = load i32, ptr %.09621, align 4 @@ -36697,8 +36697,8 @@ zend_jit_trace_get_exit_addr.exit12111: ; preds = %9278, %9288 %9439 = zext nneg i32 %9436 to i64 %9440 = getelementptr inbounds nuw %struct._zend_jit_reg_var, ptr %9434, i64 %9439 %9441 = load i32, ptr %9440, align 4 - %.not11145 = icmp eq i32 %9441, 0 - br i1 %.not11145, label %9445, label %9442 + %.not11143 = icmp eq i32 %9441, 0 + br i1 %.not11143, label %9445, label %9442 9442: ; preds = %9438 %9443 = shl nuw nsw i64 %9439, 2 @@ -36728,13 +36728,13 @@ zend_jit_trace_get_exit_addr.exit12111: ; preds = %9278, %9288 %9459 = load i32, ptr %21, align 4 %9460 = load i8, ptr %8988, align 2 %9461 = and i8 %9460, 14 - %.not11146 = icmp eq i8 %9461, 0 - br i1 %.not11146, label %9475, label %9462 + %.not11144 = icmp eq i8 %9461, 0 + br i1 %.not11144, label %9475, label %9462 9462: ; preds = %9457 %9463 = load ptr, ptr %2477, align 8 - %.not11147 = icmp eq ptr %9463, null - br i1 %.not11147, label %9475, label %9464 + %.not11145 = icmp eq ptr %9463, null + br i1 %.not11145, label %9475, label %9464 9464: ; preds = %9462 %9465 = getelementptr inbounds nuw i8, ptr %.09621, i64 4 @@ -36749,12 +36749,12 @@ zend_jit_trace_get_exit_addr.exit12111: ; preds = %9278, %9288 %9472 = load i8, ptr %9471, align 4 %9473 = trunc i8 %9472 to i1 %9474 = getelementptr inbounds nuw i8, ptr %9470, i64 8 - %spec.select11904 = select i1 %9473, ptr %9474, ptr null + %spec.select11902 = select i1 %9473, ptr %9474, ptr null br label %9475 9475: ; preds = %9468, %9457, %9462, %9464 - %9476 = phi ptr [ null, %9464 ], [ null, %9462 ], [ null, %9457 ], [ %spec.select11904, %9468 ] - br i1 %.not11144, label %9487, label %9477 + %9476 = phi ptr [ null, %9464 ], [ null, %9462 ], [ null, %9457 ], [ %spec.select11902, %9468 ] + br i1 %.not11142, label %9487, label %9477 9477: ; preds = %9475 %9478 = getelementptr inbounds nuw i8, ptr %.09621, i64 4 @@ -36766,10 +36766,10 @@ zend_jit_trace_get_exit_addr.exit12111: ; preds = %9278, %9288 %9482 = zext nneg i32 %9479 to i64 %9483 = getelementptr inbounds nuw %struct._zend_jit_reg_var, ptr %9434, i64 %9482 %9484 = load i32, ptr %9483, align 4 - %.not11149 = icmp eq i32 %9484, 0 - br i1 %.not11149, label %9487, label %.thread12409 + %.not11147 = icmp eq i32 %9484, 0 + br i1 %.not11147, label %9487, label %.thread12406 -.thread12409: ; preds = %9481 +.thread12406: ; preds = %9481 %9485 = shl nuw nsw i64 %9482, 2 %9486 = or disjoint i64 %9485, 2 br label %9498 @@ -36785,10 +36785,10 @@ zend_jit_trace_get_exit_addr.exit12111: ; preds = %9278, %9288 %9495 = shl nuw nsw i64 %9494, 8 %9496 = or disjoint i64 %9495, 57 %9497 = select i1 %9488, i64 %9493, i64 %9496 - br i1 %.not11144, label %9510, label %9498 + br i1 %.not11142, label %9510, label %9498 -9498: ; preds = %.thread12409, %9487 - %9499 = phi i64 [ %9486, %.thread12409 ], [ %9497, %9487 ] +9498: ; preds = %.thread12406, %9487 + %9499 = phi i64 [ %9486, %.thread12406 ], [ %9497, %9487 ] %9500 = getelementptr inbounds nuw i8, ptr %.09621, i64 20 %9501 = load i32, ptr %9500, align 4 %9502 = icmp sgt i32 %9501, -1 @@ -36798,8 +36798,8 @@ zend_jit_trace_get_exit_addr.exit12111: ; preds = %9278, %9288 %9504 = zext nneg i32 %9501 to i64 %9505 = getelementptr inbounds nuw %struct._zend_jit_reg_var, ptr %9434, i64 %9504 %9506 = load i32, ptr %9505, align 4 - %.not11151 = icmp eq i32 %9506, 0 - br i1 %.not11151, label %9510, label %9507 + %.not11149 = icmp eq i32 %9506, 0 + br i1 %.not11149, label %9510, label %9507 9507: ; preds = %9503 %9508 = shl nuw nsw i64 %9504, 2 @@ -36831,15 +36831,15 @@ zend_jit_trace_get_exit_addr.exit12111: ; preds = %9278, %9288 %9526 = call zeroext i1 @zend_may_throw(ptr noundef nonnull %2501, ptr noundef %.09621, ptr noundef %.09771, ptr noundef nonnull %40) #33 %9527 = zext i1 %9526 to i32 %9528 = call fastcc i32 @zend_jit_identical(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %9417, ptr noundef %9433, i64 noundef %9458, i32 noundef %9459, ptr noundef %9476, i64 noundef %9524, i64 noundef %9525, i32 noundef %9527, i8 noundef zeroext 0, i32 noundef -1, i32 noundef -1, ptr noundef null) - %.not11152 = icmp eq i32 %9528, 0 - br i1 %.not11152, label %zend_jit_stack_check.exit.thread, label %thread-pre-split12618 + %.not11150 = icmp eq i32 %9528, 0 + br i1 %.not11150, label %zend_jit_stack_check.exit.thread, label %thread-pre-split12615 9529: ; preds = %2538 %9530 = getelementptr inbounds nuw i8, ptr %2501, i64 31 %9531 = load i8, ptr %9530, align 1 %9532 = and i8 %9531, 48 - %.not11122 = icmp eq i8 %9532, 0 - br i1 %.not11122, label %9567, label %9533 + %.not11120 = icmp eq i8 %9532, 0 + br i1 %.not11120, label %9567, label %9533 9533: ; preds = %9529 %9534 = getelementptr inbounds nuw i8, ptr %.39762, i64 16 @@ -36887,8 +36887,8 @@ zend_jit_trace_get_exit_addr.exit12111: ; preds = %9278, %9288 %.09888 = phi ptr [ %9552, %9545 ], [ %9543, %9553 ] %9563 = call fastcc i32 @zend_jit_trace_get_exit_point(ptr noundef nonnull %.09888, i32 noundef 0) %9564 = call fastcc ptr @zend_jit_trace_get_exit_addr(i32 noundef %9563) - %.not11123 = icmp eq ptr %9564, null - br i1 %.not11123, label %zend_jit_stack_check.exit.thread, label %9565 + %.not11121 = icmp eq ptr %9564, null + br i1 %.not11121, label %zend_jit_stack_check.exit.thread, label %9565 9565: ; preds = %9562 %9566 = select i1 %.09966.in, i8 44, i8 43 @@ -36898,13 +36898,13 @@ zend_jit_trace_get_exit_addr.exit12111: ; preds = %9278, %9288 %.09746 = phi i8 [ %9566, %9565 ], [ 0, %9529 ] %.09740 = phi ptr [ %9564, %9565 ], [ null, %9529 ] call fastcc void @zend_jit_defined(ptr noundef %17, ptr noundef nonnull %2501, i8 noundef zeroext %.09746, i32 noundef -1, i32 noundef -1, ptr noundef %.09740) - br label %thread-pre-split12618 + br label %thread-pre-split12615 9568: ; preds = %2538 %9569 = getelementptr inbounds nuw i8, ptr %2501, i64 20 %9570 = load i32, ptr %9569, align 4 %9571 = icmp eq i32 %9570, 512 - br i1 %9571, label %.thread12608, label %9572 + br i1 %9571, label %.thread12605, label %9572 9572: ; preds = %9568 %9573 = getelementptr inbounds nuw i8, ptr %2501, i64 29 @@ -36916,8 +36916,8 @@ zend_jit_trace_get_exit_addr.exit12111: ; preds = %9278, %9288 %9577 = getelementptr inbounds nuw i8, ptr %.09771, i64 4 %9578 = load i32, ptr %9577, align 4 %9579 = and i32 %9578, 33554432 - %.not11112 = icmp eq i32 %9579, 0 - br i1 %.not11112, label %9585, label %9580 + %.not11110 = icmp eq i32 %9579, 0 + br i1 %.not11110, label %9585, label %9580 9580: ; preds = %9576 %9581 = getelementptr inbounds nuw i8, ptr %2501, i64 8 @@ -36940,7 +36940,7 @@ zend_jit_trace_get_exit_addr.exit12111: ; preds = %9278, %9288 %9594 = getelementptr inbounds nuw i8, ptr %9593, i64 8 %9595 = load i8, ptr %9594, align 8 switch i8 %9595, label %9598 [ - i8 11, label %.thread12413 + i8 11, label %.thread12410 i8 7, label %9596 ] @@ -36953,8 +36953,8 @@ zend_jit_trace_get_exit_addr.exit12111: ; preds = %9278, %9288 %9600 = shl nuw i32 1, %9599 %9601 = getelementptr inbounds nuw i8, ptr %9593, i64 9 %9602 = load i8, ptr %9601, align 1 - %.not11113 = icmp eq i8 %9602, 0 - br i1 %.not11113, label %9605, label %9603 + %.not11111 = icmp eq i8 %9602, 0 + br i1 %.not11111, label %9605, label %9603 9603: ; preds = %9598 %9604 = or i32 %9600, -1073741824 @@ -36962,18 +36962,18 @@ zend_jit_trace_get_exit_addr.exit12111: ; preds = %9278, %9288 9605: ; preds = %9598 %9606 = icmp eq i8 %9595, 6 - %spec.select11905 = select i1 %9606, i32 -2147483584, i32 %9600 + %spec.select11903 = select i1 %9606, i32 -2147483584, i32 %9600 br label %9616 9607: ; preds = %9572 %9608 = load ptr, ptr %2477, align 8 - %.not11111 = icmp eq ptr %9608, null - br i1 %.not11111, label %.thread12413, label %9609 + %.not11109 = icmp eq ptr %9608, null + br i1 %.not11109, label %.thread12410, label %9609 9609: ; preds = %9607 %9610 = load i32, ptr %.09621, align 4 %9611 = icmp sgt i32 %9610, -1 - br i1 %9611, label %9612, label %.thread12413 + br i1 %9611, label %9612, label %.thread12410 9612: ; preds = %9609 %9613 = zext nneg i32 %9610 to i64 @@ -36981,26 +36981,26 @@ zend_jit_trace_get_exit_addr.exit12111: ; preds = %9278, %9288 %9615 = load i32, ptr %9614, align 8 br label %9616 -.thread12413: ; preds = %9592, %9609, %9607 +.thread12410: ; preds = %9592, %9609, %9607 %.09948.ph = phi i32 [ -486539265, %9609 ], [ -521143298, %9592 ], [ -486539265, %9607 ] store i32 %.09948.ph, ptr %20, align 4 br label %9706 9616: ; preds = %9605, %9612, %9596, %9603 - %.09948 = phi i32 [ %9597, %9596 ], [ %9604, %9603 ], [ %spec.select11905, %9605 ], [ %9615, %9612 ] + %.09948 = phi i32 [ %9597, %9596 ], [ %9604, %9603 ], [ %spec.select11903, %9605 ], [ %9615, %9612 ] store i32 %.09948, ptr %20, align 4 %9617 = zext nneg i8 %.19588 to i32 %9618 = and i32 %.09948, 268435456 - %.not11115 = icmp eq i32 %9618, 0 - %or.cond11906 = select i1 %.not10749, i1 true, i1 %.not11115 - br i1 %or.cond11906, label %9706, label %9619 + %.not11113 = icmp eq i32 %9618, 0 + %or.cond11904 = select i1 %.not10749, i1 true, i1 %.not11113 + br i1 %or.cond11904, label %9706, label %9619 9619: ; preds = %9616 %9620 = getelementptr inbounds nuw i8, ptr %2501, i64 8 %9621 = load i32, ptr %9620, align 8 %9622 = call fastcc i32 @zend_jit_type_guard(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %9621, i8 noundef zeroext %2504) - %.not11116 = icmp eq i32 %9622, 0 - br i1 %.not11116, label %zend_jit_stack_check.exit.thread, label %9623 + %.not11114 = icmp eq i32 %9622, 0 + br i1 %.not11114, label %zend_jit_stack_check.exit.thread, label %9623 9623: ; preds = %9619 %9624 = load ptr, ptr %2478, align 8 @@ -37009,13 +37009,13 @@ zend_jit_trace_get_exit_addr.exit12111: ; preds = %9278, %9288 %9627 = getelementptr inbounds %struct._zend_ssa_var, ptr %9624, i64 %9626, i32 7 %9628 = load i8, ptr %9627, align 8 %9629 = and i8 %9628, 12 - %.not11117 = icmp eq i8 %9629, 0 + %.not11115 = icmp eq i8 %9629, 0 %9630 = load i32, ptr %9620, align 8 %9631 = lshr i32 %9630, 4 %9632 = add nsw i32 %9631, -5 %9633 = zext i32 %9632 to i64 %9634 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %9633 - br i1 %.not11117, label %9668, label %9635 + br i1 %.not11115, label %9668, label %9635 9635: ; preds = %9623 store i8 -1, ptr %9634, align 4 @@ -37055,10 +37055,10 @@ zend_jit_trace_get_exit_addr.exit12111: ; preds = %9278, %9288 store i8 0, ptr %9664, align 1 %9665 = shl nuw i32 1, %9617 %9666 = icmp ult i8 %2504, 6 - %.not11118 = icmp eq i8 %2504, 7 + %.not11116 = icmp eq i8 %2504, 7 %9667 = or i32 %9665, -1073741824 - %spec.select12040 = select i1 %.not11118, i32 -520095616, i32 %9667 - %.09844 = select i1 %9666, i32 %9665, i32 %spec.select12040 + %spec.select12038 = select i1 %.not11116, i32 -520095616, i32 %9667 + %.09844 = select i1 %9666, i32 %9665, i32 %spec.select12038 store i32 %.09844, ptr %20, align 4 br label %9706 @@ -37110,12 +37110,12 @@ zend_jit_trace_get_exit_addr.exit12111: ; preds = %9278, %9288 store i32 %9705, ptr %9703, align 8 br label %9706 -9706: ; preds = %.thread12413, %9616, %9635, %9668 +9706: ; preds = %.thread12410, %9616, %9635, %9668 %9707 = getelementptr inbounds nuw i8, ptr %2501, i64 31 %9708 = load i8, ptr %9707, align 1 %9709 = and i8 %9708, 48 - %.not11119 = icmp eq i8 %9709, 0 - br i1 %.not11119, label %9746, label %9710 + %.not11117 = icmp eq i8 %9709, 0 + br i1 %.not11117, label %9746, label %9710 9710: ; preds = %9706 %9711 = getelementptr inbounds nuw i8, ptr %.39762, i64 16 @@ -37170,8 +37170,8 @@ zend_jit_trace_get_exit_addr.exit12111: ; preds = %9278, %9288 9741: ; preds = %9740, %9739 %9742 = call fastcc i32 @zend_jit_trace_get_exit_point(ptr noundef nonnull %.09890, i32 noundef 0) %9743 = call fastcc ptr @zend_jit_trace_get_exit_addr(i32 noundef %9742) - %.not11121 = icmp eq ptr %9743, null - br i1 %.not11121, label %zend_jit_stack_check.exit.thread, label %9744 + %.not11119 = icmp eq ptr %9743, null + br i1 %.not11119, label %zend_jit_stack_check.exit.thread, label %9744 9744: ; preds = %9741 %9745 = select i1 %.09967.in, i8 44, i8 43 @@ -37182,7 +37182,7 @@ zend_jit_trace_get_exit_addr.exit12111: ; preds = %9278, %9288 %.19741 = phi ptr [ %9743, %9744 ], [ null, %9706 ] %9747 = load i32, ptr %20, align 4 call fastcc void @zend_jit_type_check(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %9747, i8 noundef zeroext %.19747, i32 noundef -1, i32 noundef -1, ptr noundef %.19741) - br label %thread-pre-split12618 + br label %thread-pre-split12615 9748: ; preds = %2538 %9749 = getelementptr inbounds nuw i8, ptr %2501, i64 29 @@ -37194,8 +37194,8 @@ zend_jit_trace_get_exit_addr.exit12111: ; preds = %9278, %9288 %9753 = getelementptr inbounds nuw i8, ptr %.09771, i64 4 %9754 = load i32, ptr %9753, align 4 %9755 = and i32 %9754, 33554432 - %.not11092 = icmp eq i32 %9755, 0 - br i1 %.not11092, label %9761, label %9756 + %.not11090 = icmp eq i32 %9755, 0 + br i1 %.not11090, label %9761, label %9756 9756: ; preds = %9752 %9757 = getelementptr inbounds nuw i8, ptr %2501, i64 8 @@ -37218,7 +37218,7 @@ zend_jit_trace_get_exit_addr.exit12111: ; preds = %9278, %9288 %9770 = getelementptr inbounds nuw i8, ptr %9769, i64 8 %9771 = load i8, ptr %9770, align 8 switch i8 %9771, label %9774 [ - i8 11, label %.thread12420 + i8 11, label %.thread12417 i8 7, label %9772 ] @@ -37231,8 +37231,8 @@ zend_jit_trace_get_exit_addr.exit12111: ; preds = %9278, %9288 %9776 = shl nuw i32 1, %9775 %9777 = getelementptr inbounds nuw i8, ptr %9769, i64 9 %9778 = load i8, ptr %9777, align 1 - %.not11093 = icmp eq i8 %9778, 0 - br i1 %.not11093, label %9781, label %9779 + %.not11091 = icmp eq i8 %9778, 0 + br i1 %.not11091, label %9781, label %9779 9779: ; preds = %9774 %9780 = or i32 %9776, -1073741824 @@ -37240,18 +37240,18 @@ zend_jit_trace_get_exit_addr.exit12111: ; preds = %9278, %9288 9781: ; preds = %9774 %9782 = icmp eq i8 %9771, 6 - %spec.select11907 = select i1 %9782, i32 -2147483584, i32 %9776 + %spec.select11905 = select i1 %9782, i32 -2147483584, i32 %9776 br label %9792 9783: ; preds = %9748 %9784 = load ptr, ptr %2477, align 8 - %.not11091 = icmp eq ptr %9784, null - br i1 %.not11091, label %.thread12420, label %9785 + %.not11089 = icmp eq ptr %9784, null + br i1 %.not11089, label %.thread12417, label %9785 9785: ; preds = %9783 %9786 = load i32, ptr %.09621, align 4 %9787 = icmp sgt i32 %9786, -1 - br i1 %9787, label %9788, label %.thread12420 + br i1 %9787, label %9788, label %.thread12417 9788: ; preds = %9785 %9789 = zext nneg i32 %9786 to i64 @@ -37259,26 +37259,26 @@ zend_jit_trace_get_exit_addr.exit12111: ; preds = %9278, %9288 %9791 = load i32, ptr %9790, align 8 br label %9792 -.thread12420: ; preds = %9768, %9785, %9783 +.thread12417: ; preds = %9768, %9785, %9783 %.09950.ph = phi i32 [ -486539265, %9785 ], [ -521143298, %9768 ], [ -486539265, %9783 ] store i32 %.09950.ph, ptr %20, align 4 br label %9882 9792: ; preds = %9781, %9788, %9772, %9779 - %.09950 = phi i32 [ %9773, %9772 ], [ %9780, %9779 ], [ %spec.select11907, %9781 ], [ %9791, %9788 ] + %.09950 = phi i32 [ %9773, %9772 ], [ %9780, %9779 ], [ %spec.select11905, %9781 ], [ %9791, %9788 ] store i32 %.09950, ptr %20, align 4 %9793 = zext nneg i8 %.19588 to i32 %9794 = and i32 %.09950, 268435456 - %.not11095 = icmp eq i32 %9794, 0 - %or.cond11908 = select i1 %.not10749, i1 true, i1 %.not11095 - br i1 %or.cond11908, label %9882, label %9795 + %.not11093 = icmp eq i32 %9794, 0 + %or.cond11906 = select i1 %.not10749, i1 true, i1 %.not11093 + br i1 %or.cond11906, label %9882, label %9795 9795: ; preds = %9792 %9796 = getelementptr inbounds nuw i8, ptr %2501, i64 8 %9797 = load i32, ptr %9796, align 8 %9798 = call fastcc i32 @zend_jit_type_guard(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %9797, i8 noundef zeroext %2504) - %.not11096 = icmp eq i32 %9798, 0 - br i1 %.not11096, label %zend_jit_stack_check.exit.thread, label %9799 + %.not11094 = icmp eq i32 %9798, 0 + br i1 %.not11094, label %zend_jit_stack_check.exit.thread, label %9799 9799: ; preds = %9795 %9800 = load ptr, ptr %2478, align 8 @@ -37287,13 +37287,13 @@ zend_jit_trace_get_exit_addr.exit12111: ; preds = %9278, %9288 %9803 = getelementptr inbounds %struct._zend_ssa_var, ptr %9800, i64 %9802, i32 7 %9804 = load i8, ptr %9803, align 8 %9805 = and i8 %9804, 12 - %.not11097 = icmp eq i8 %9805, 0 + %.not11095 = icmp eq i8 %9805, 0 %9806 = load i32, ptr %9796, align 8 %9807 = lshr i32 %9806, 4 %9808 = add nsw i32 %9807, -5 %9809 = zext i32 %9808 to i64 %9810 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %9809 - br i1 %.not11097, label %9844, label %9811 + br i1 %.not11095, label %9844, label %9811 9811: ; preds = %9799 store i8 -1, ptr %9810, align 4 @@ -37333,10 +37333,10 @@ zend_jit_trace_get_exit_addr.exit12111: ; preds = %9278, %9288 store i8 0, ptr %9840, align 1 %9841 = shl nuw i32 1, %9793 %9842 = icmp ult i8 %2504, 6 - %.not11098 = icmp eq i8 %2504, 7 + %.not11096 = icmp eq i8 %2504, 7 %9843 = or i32 %9841, -1073741824 - %spec.select12041 = select i1 %.not11098, i32 -520095616, i32 %9843 - %.09843 = select i1 %9842, i32 %9841, i32 %spec.select12041 + %spec.select12039 = select i1 %.not11096, i32 -520095616, i32 %9843 + %.09843 = select i1 %9842, i32 %9841, i32 %spec.select12039 store i32 %.09843, ptr %20, align 4 br label %9882 @@ -37388,7 +37388,7 @@ zend_jit_trace_get_exit_addr.exit12111: ; preds = %9278, %9288 store i32 %9881, ptr %9879, align 8 br label %9882 -9882: ; preds = %.thread12420, %9792, %9811, %9844 +9882: ; preds = %.thread12417, %9792, %9811, %9844 %9883 = load i8, ptr %9749, align 1 %9884 = icmp eq i8 %9883, 1 br i1 %9884, label %9885, label %9892 @@ -37403,11 +37403,11 @@ zend_jit_trace_get_exit_addr.exit12111: ; preds = %9278, %9288 br label %9893 9892: ; preds = %9882 - %spec.select11909 = select i1 %.not10749, i8 %.09637, i8 %2504 + %spec.select11907 = select i1 %.not10749, i8 %.09637, i8 %2504 br label %9893 9893: ; preds = %9892, %9885 - %.29639 = phi i8 [ %9891, %9885 ], [ %spec.select11909, %9892 ] + %.29639 = phi i8 [ %9891, %9885 ], [ %spec.select11907, %9892 ] %9894 = load i8, ptr %.09771, align 8 %9895 = icmp eq i8 %9894, 4 br i1 %9895, label %9902, label %9896 @@ -37415,27 +37415,27 @@ zend_jit_trace_get_exit_addr.exit12111: ; preds = %9278, %9288 9896: ; preds = %9893 %9897 = getelementptr inbounds nuw i8, ptr %.09771, i64 8 %9898 = load ptr, ptr %9897, align 8 - %.not11099 = icmp eq ptr %9898, null - br i1 %.not11099, label %9902, label %9899 + %.not11097 = icmp eq ptr %9898, null + br i1 %.not11097, label %9902, label %9899 9899: ; preds = %9896 %9900 = load i32, ptr %20, align 4 %9901 = and i32 %9900, 1 - %.not11100 = icmp eq i32 %9901, 0 - br i1 %.not11100, label %9907, label %9902 + %.not11098 = icmp eq i32 %9901, 0 + br i1 %.not11098, label %9907, label %9902 9902: ; preds = %9899, %9896, %9893 %9903 = call zeroext i1 @zend_may_throw(ptr noundef nonnull %2501, ptr noundef %.09621, ptr noundef nonnull %.09771, ptr noundef nonnull %40) #33 %9904 = zext i1 %9903 to i32 %9905 = getelementptr inbounds nuw i8, ptr %.39762, i64 16 %9906 = call fastcc i32 @zend_jit_trace_handler(ptr noundef %17, ptr noundef nonnull %.09771, ptr noundef nonnull %2501, i32 noundef %9904, ptr noundef %9905) - %.not11110 = icmp eq i32 %9906, 0 - br i1 %.not11110, label %zend_jit_stack_check.exit.thread, label %thread-pre-split12618 + %.not11108 = icmp eq i32 %9906, 0 + br i1 %.not11108, label %zend_jit_stack_check.exit.thread, label %thread-pre-split12615 9907: ; preds = %9899 %9908 = load ptr, ptr %2479, align 8 - %.not11101 = icmp eq ptr %9908, null - br i1 %.not11101, label %9919, label %9909 + %.not11099 = icmp eq ptr %9908, null + br i1 %.not11099, label %9919, label %9909 9909: ; preds = %9907 %9910 = load i32, ptr %.09621, align 4 @@ -37446,8 +37446,8 @@ zend_jit_trace_get_exit_addr.exit12111: ; preds = %9278, %9288 %9913 = zext nneg i32 %9910 to i64 %9914 = getelementptr inbounds nuw %struct._zend_jit_reg_var, ptr %9908, i64 %9913 %9915 = load i32, ptr %9914, align 4 - %.not11102 = icmp eq i32 %9915, 0 - br i1 %.not11102, label %9919, label %9916 + %.not11100 = icmp eq i32 %9915, 0 + br i1 %.not11100, label %9919, label %9916 9916: ; preds = %9912 %9917 = shl nuw nsw i64 %9913, 2 @@ -37477,13 +37477,13 @@ zend_jit_trace_get_exit_addr.exit12111: ; preds = %9278, %9288 %9932 = getelementptr inbounds nuw i8, ptr %.09771, i64 80 %9933 = load i32, ptr %9932, align 8 %9934 = icmp sgt i32 %9933, 100 - br i1 %9934, label %.thread12424, label %.preheader12744 + br i1 %9934, label %.thread12421, label %.preheader12741 -.preheader12744: ; preds = %9930 +.preheader12741: ; preds = %9930 %9935 = icmp sgt i32 %9933, 0 - br i1 %9935, label %.lr.ph12928, label %.loopexit12745 + br i1 %9935, label %.lr.ph12925, label %.loopexit12742 -.lr.ph12928: ; preds = %.preheader12744 +.lr.ph12925: ; preds = %.preheader12741 %9936 = getelementptr inbounds nuw i8, ptr %.09768, i64 64 %9937 = getelementptr inbounds nuw i8, ptr %.09768, i64 72 %9938 = getelementptr inbounds nuw i8, ptr %.09768, i64 40 @@ -37492,18 +37492,18 @@ zend_jit_trace_get_exit_addr.exit12111: ; preds = %9278, %9288 %9941 = getelementptr inbounds nuw i8, ptr %2501, i64 8 br label %9942 -.thread12424: ; preds = %9930 +.thread12421: ; preds = %9930 call fastcc void @zend_jit_free_cvs(ptr noundef %17) - br label %.loopexit12745 + br label %.loopexit12742 -9942: ; preds = %.lr.ph12928, %10042 - %9943 = phi i32 [ %9933, %.lr.ph12928 ], [ %10043, %10042 ] - %indvars.iv13205 = phi i64 [ 0, %.lr.ph12928 ], [ %indvars.iv.next13206, %10042 ] - %.212926 = phi i8 [ 0, %.lr.ph12928 ], [ %.3, %10042 ] - %.1949012924 = phi i32 [ 0, %.lr.ph12928 ], [ %.29491, %10042 ] +9942: ; preds = %.lr.ph12925, %10042 + %9943 = phi i32 [ %9933, %.lr.ph12925 ], [ %10043, %10042 ] + %indvars.iv13202 = phi i64 [ 0, %.lr.ph12925 ], [ %indvars.iv.next13203, %10042 ] + %.212923 = phi i8 [ 0, %.lr.ph12925 ], [ %.3, %10042 ] + %.1949012921 = phi i32 [ 0, %.lr.ph12925 ], [ %.29491, %10042 ] %9944 = load ptr, ptr %9936, align 8 - %.not.i12112 = icmp eq ptr %9944, null - br i1 %.not.i12112, label %zend_ssa_cv_info.exit, label %9945 + %.not.i12109 = icmp eq ptr %9944, null + br i1 %.not.i12109, label %zend_ssa_cv_info.exit, label %9945 9945: ; preds = %9942 %9946 = load ptr, ptr %9937, align 8 @@ -37511,52 +37511,52 @@ zend_jit_trace_get_exit_addr.exit12111: ; preds = %9278, %9288 br i1 %.not37.i, label %zend_ssa_cv_info.exit, label %9947 9947: ; preds = %9945 - %9948 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %9946, i64 %indvars.iv13205 + %9948 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %9946, i64 %indvars.iv13202 %9949 = load i32, ptr %9948, align 8 %9950 = load i32, ptr %9938, align 8 %9951 = icmp ult i32 %9943, %9950 - br i1 %9951, label %.lr.ph.preheader.i, label %._crit_edge.i12113 + br i1 %9951, label %.lr.ph.preheader.i, label %._crit_edge.i12110 .lr.ph.preheader.i: ; preds = %9947 %9952 = zext i32 %9943 to i64 - %wide.trip.count.i12117 = zext i32 %9950 to i64 - br label %.lr.ph.i12118 + %wide.trip.count.i12114 = zext i32 %9950 to i64 + br label %.lr.ph.i12115 -.lr.ph.i12118: ; preds = %9961, %.lr.ph.preheader.i - %indvars.iv.i12119 = phi i64 [ %9952, %.lr.ph.preheader.i ], [ %indvars.iv.next.i12120, %9961 ] +.lr.ph.i12115: ; preds = %9961, %.lr.ph.preheader.i + %indvars.iv.i12116 = phi i64 [ %9952, %.lr.ph.preheader.i ], [ %indvars.iv.next.i12117, %9961 ] %.03346.i = phi i32 [ %9949, %.lr.ph.preheader.i ], [ %.134.i, %9961 ] - %9953 = getelementptr inbounds nuw %struct._zend_ssa_var, ptr %9944, i64 %indvars.iv.i12119 + %9953 = getelementptr inbounds nuw %struct._zend_ssa_var, ptr %9944, i64 %indvars.iv.i12116 %9954 = load i32, ptr %9953, align 8 %9955 = zext i32 %9954 to i64 - %9956 = icmp eq i64 %indvars.iv13205, %9955 + %9956 = icmp eq i64 %indvars.iv13202, %9955 br i1 %9956, label %9957, label %9961 -9957: ; preds = %.lr.ph.i12118 - %9958 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %9946, i64 %indvars.iv.i12119 +9957: ; preds = %.lr.ph.i12115 + %9958 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %9946, i64 %indvars.iv.i12116 %9959 = load i32, ptr %9958, align 8 %9960 = or i32 %9959, %.03346.i br label %9961 -9961: ; preds = %9957, %.lr.ph.i12118 - %.134.i = phi i32 [ %9960, %9957 ], [ %.03346.i, %.lr.ph.i12118 ] - %indvars.iv.next.i12120 = add nuw nsw i64 %indvars.iv.i12119, 1 - %exitcond.not.i12121 = icmp eq i64 %indvars.iv.next.i12120, %wide.trip.count.i12117 - br i1 %exitcond.not.i12121, label %._crit_edge.i12113, label %.lr.ph.i12118 +9961: ; preds = %9957, %.lr.ph.i12115 + %.134.i = phi i32 [ %9960, %9957 ], [ %.03346.i, %.lr.ph.i12115 ] + %indvars.iv.next.i12117 = add nuw nsw i64 %indvars.iv.i12116, 1 + %exitcond.not.i12118 = icmp eq i64 %indvars.iv.next.i12117, %wide.trip.count.i12114 + br i1 %exitcond.not.i12118, label %._crit_edge.i12110, label %.lr.ph.i12115 -._crit_edge.i12113: ; preds = %9961, %9947 +._crit_edge.i12110: ; preds = %9961, %9947 %.033.lcssa.i = phi i32 [ %9949, %9947 ], [ %.134.i, %9961 ] %9962 = and i32 %.033.lcssa.i, -1073741824 - %or.cond.i12114 = icmp eq i32 %9962, 1073741824 - br i1 %or.cond.i12114, label %.preheader.i12116, label %zend_ssa_cv_info.exit + %or.cond.i12111 = icmp eq i32 %9962, 1073741824 + br i1 %or.cond.i12111, label %.preheader.i12113, label %zend_ssa_cv_info.exit -.preheader.i12116: ; preds = %._crit_edge.i12113 +.preheader.i12113: ; preds = %._crit_edge.i12110 %9963 = load i32, ptr %.09768, align 8 %.not50.i = icmp eq i32 %9963, 0 br i1 %.not50.i, label %zend_ssa_cv_info.exit, label %.lr.ph49.i -.lr.ph49.i: ; preds = %.preheader.i12116 +.lr.ph49.i: ; preds = %.preheader.i12113 %9964 = load ptr, ptr %9939, align 8 - %9965 = trunc nuw nsw i64 %indvars.iv13205 to i32 + %9965 = trunc nuw nsw i64 %indvars.iv13202 to i32 %9966 = shl i32 %9965, 4 %9967 = add i32 %9966, 80 %wide.trip.count55.i = zext i32 %9963 to i64 @@ -37610,9 +37610,9 @@ zend_jit_trace_get_exit_addr.exit12111: ; preds = %9278, %9288 %exitcond56.not.i = icmp eq i64 %indvars.iv.next53.i, %wide.trip.count55.i br i1 %exitcond56.not.i, label %zend_ssa_cv_info.exit, label %9968 -zend_ssa_cv_info.exit: ; preds = %9996, %9942, %9945, %._crit_edge.i12113, %.preheader.i12116, %9994 - %.3.i = phi i32 [ %9995, %9994 ], [ %.033.lcssa.i, %._crit_edge.i12113 ], [ -520093697, %9945 ], [ -520093697, %9942 ], [ %.033.lcssa.i, %.preheader.i12116 ], [ %.033.lcssa.i, %9996 ] - %9997 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %indvars.iv13205 +zend_ssa_cv_info.exit: ; preds = %9996, %9942, %9945, %._crit_edge.i12110, %.preheader.i12113, %9994 + %.3.i = phi i32 [ %9995, %9994 ], [ %.033.lcssa.i, %._crit_edge.i12110 ], [ -520093697, %9945 ], [ -520093697, %9942 ], [ %.033.lcssa.i, %.preheader.i12113 ], [ %.033.lcssa.i, %9996 ] + %9997 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %indvars.iv13202 %9998 = load i8, ptr %9997, align 4 %9999 = icmp eq i8 %9998, -1 br i1 %9999, label %10013, label %10000 @@ -37627,8 +37627,8 @@ zend_ssa_cv_info.exit: ; preds = %9996, %9942, %9945, br i1 %10005, label %10013, label %10006 10006: ; preds = %10000 - %.not11103 = icmp eq i8 %9998, 7 - br i1 %.not11103, label %10010, label %10007 + %.not11101 = icmp eq i8 %9998, 7 + br i1 %.not11101, label %10010, label %10007 10007: ; preds = %10006 %10008 = and i32 %.3.i, -1073741824 @@ -37651,26 +37651,26 @@ zend_ssa_cv_info.exit: ; preds = %9996, %9942, %9945, %10018 = lshr i32 %10017, 4 %10019 = add nsw i32 %10018, -5 %10020 = zext i32 %10019 to i64 - %10021 = icmp eq i64 %indvars.iv13205, %10020 + %10021 = icmp eq i64 %indvars.iv13202, %10020 br i1 %10021, label %10022, label %10033 10022: ; preds = %10016 %10023 = load i32, ptr %20, align 4 %10024 = and i32 %10023, 1280 - %.not11104 = icmp eq i32 %10024, 0 - br i1 %.not11104, label %10025, label %10033 + %.not11102 = icmp eq i32 %10024, 0 + br i1 %.not11102, label %10025, label %10033 10025: ; preds = %10022 %10026 = load ptr, ptr getelementptr inbounds nuw (i8, ptr @jit_globals, i64 184), align 8 - %.not11105 = icmp eq ptr %10026, null - br i1 %.not11105, label %10031, label %10027 + %.not11103 = icmp eq ptr %10026, null + br i1 %.not11103, label %10031, label %10027 10027: ; preds = %10025 %10028 = getelementptr inbounds nuw i8, ptr %10026, i64 44 %10029 = load i32, ptr %10028, align 4 %10030 = and i32 %10029, 8 - %.not11106 = icmp eq i32 %10030, 0 - br i1 %.not11106, label %10031, label %10042 + %.not11104 = icmp eq i32 %10030, 0 + br i1 %.not11104, label %10031, label %10042 10031: ; preds = %10027, %10025 %10032 = or i32 %.09822, 2 @@ -37679,11 +37679,11 @@ zend_ssa_cv_info.exit: ; preds = %9996, %9942, %9945, 10033: ; preds = %10031, %10022, %10016, %10013 %.09486 = phi i32 [ %.09822, %10022 ], [ %10032, %10031 ], [ %.09822, %10016 ], [ %.09822, %10013 ] %10034 = and i32 %.09486, 1984 - %.not11107 = icmp eq i32 %10034, 0 - br i1 %.not11107, label %10042, label %10035 + %.not11105 = icmp eq i32 %10034, 0 + br i1 %.not11105, label %10042, label %10035 10035: ; preds = %10033 - %10036 = trunc nuw i8 %.212926 to i1 + %10036 = trunc nuw i8 %.212923 to i1 br i1 %10036, label %10038, label %10037 10037: ; preds = %10035 @@ -37691,34 +37691,34 @@ zend_ssa_cv_info.exit: ; preds = %9996, %9942, %9945, br label %10038 10038: ; preds = %10037, %10035 - %.4 = phi i8 [ %.212926, %10035 ], [ 1, %10037 ] - %10039 = trunc nuw nsw i64 %indvars.iv13205 to i32 + %.4 = phi i8 [ %.212923, %10035 ], [ 1, %10037 ] + %10039 = trunc nuw nsw i64 %indvars.iv13202 to i32 call fastcc void @zend_jit_free_cv(ptr noundef %17, i32 noundef %.09486, i32 noundef %10039) %10040 = and i32 %.09486, 918272 - %.not11108 = icmp eq i32 %10040, 0 + %.not11106 = icmp eq i32 %10040, 0 %10041 = and i32 %.09486, 1073741824 - %.not11109 = icmp eq i32 %10041, 0 - %or.cond11910 = or i1 %.not11108, %.not11109 - %spec.select12042 = select i1 %or.cond11910, i32 %.1949012924, i32 1 - %.pre13265 = load i32, ptr %9932, align 8 + %.not11107 = icmp eq i32 %10041, 0 + %or.cond11908 = or i1 %.not11106, %.not11107 + %spec.select12040 = select i1 %or.cond11908, i32 %.1949012921, i32 1 + %.pre13262 = load i32, ptr %9932, align 8 br label %10042 10042: ; preds = %10038, %10033, %10027 - %10043 = phi i32 [ %9943, %10033 ], [ %9943, %10027 ], [ %.pre13265, %10038 ] - %.29491 = phi i32 [ %.1949012924, %10033 ], [ %.1949012924, %10027 ], [ %spec.select12042, %10038 ] - %.3 = phi i8 [ %.212926, %10033 ], [ %.212926, %10027 ], [ %.4, %10038 ] - %indvars.iv.next13206 = add nuw nsw i64 %indvars.iv13205, 1 + %10043 = phi i32 [ %9943, %10033 ], [ %9943, %10027 ], [ %.pre13262, %10038 ] + %.29491 = phi i32 [ %.1949012921, %10033 ], [ %.1949012921, %10027 ], [ %spec.select12040, %10038 ] + %.3 = phi i8 [ %.212923, %10033 ], [ %.212923, %10027 ], [ %.4, %10038 ] + %indvars.iv.next13203 = add nuw nsw i64 %indvars.iv13202, 1 %10044 = sext i32 %10043 to i64 - %10045 = icmp slt i64 %indvars.iv.next13206, %10044 - br i1 %10045, label %9942, label %.loopexit12745.loopexit + %10045 = icmp slt i64 %indvars.iv.next13203, %10044 + br i1 %10045, label %9942, label %.loopexit12742.loopexit -.loopexit12745.loopexit: ; preds = %10042 +.loopexit12742.loopexit: ; preds = %10042 %10046 = trunc nuw i8 %.3 to i1 - br label %.loopexit12745 + br label %.loopexit12742 -.loopexit12745: ; preds = %.loopexit12745.loopexit, %.preheader12744, %.thread12424 - %.09489 = phi i32 [ 0, %.thread12424 ], [ 0, %.preheader12744 ], [ %.29491, %.loopexit12745.loopexit ] - %.19488 = phi i1 [ true, %.thread12424 ], [ false, %.preheader12744 ], [ %10046, %.loopexit12745.loopexit ] +.loopexit12742: ; preds = %.loopexit12742.loopexit, %.preheader12741, %.thread12421 + %.09489 = phi i32 [ 0, %.thread12421 ], [ 0, %.preheader12741 ], [ %.29491, %.loopexit12742.loopexit ] + %.19488 = phi i1 [ true, %.thread12421 ], [ false, %.preheader12741 ], [ %10046, %.loopexit12742.loopexit ] %10047 = load i32, ptr %20, align 4 %10048 = getelementptr inbounds nuw i8, ptr %.39762, i64 16 %10049 = load ptr, ptr @zend_jit_traces, align 8 @@ -37729,7 +37729,7 @@ zend_ssa_cv_info.exit: ; preds = %9996, %9942, %9945, %10054 = load i32, ptr %10053, align 8 %10055 = and i32 %10054, 1 call fastcc void @zend_jit_leave_func(ptr noundef %17, ptr noundef nonnull %.09771, ptr noundef nonnull %2501, i32 noundef %10047, i1 noundef zeroext %.19488, ptr noundef nonnull %10048, ptr noundef nonnull %10052, i32 noundef %10055, i32 noundef %.09489) - br label %thread-pre-split12618 + br label %thread-pre-split12615 10056: ; preds = %2538, %2538 %10057 = getelementptr inbounds nuw i8, ptr %2501, i64 29 @@ -37741,8 +37741,8 @@ zend_ssa_cv_info.exit: ; preds = %9996, %9942, %9945, %10061 = getelementptr inbounds nuw i8, ptr %.09771, i64 4 %10062 = load i32, ptr %10061, align 4 %10063 = and i32 %10062, 33554432 - %.not11080 = icmp eq i32 %10063, 0 - br i1 %.not11080, label %10069, label %10064 + %.not11078 = icmp eq i32 %10063, 0 + br i1 %.not11078, label %10069, label %10064 10064: ; preds = %10060 %10065 = getelementptr inbounds nuw i8, ptr %2501, i64 8 @@ -37765,7 +37765,7 @@ zend_ssa_cv_info.exit: ; preds = %9996, %9942, %9945, %10078 = getelementptr inbounds nuw i8, ptr %10077, i64 8 %10079 = load i8, ptr %10078, align 8 switch i8 %10079, label %10082 [ - i8 11, label %.thread12429 + i8 11, label %.thread12426 i8 7, label %10080 ] @@ -37778,8 +37778,8 @@ zend_ssa_cv_info.exit: ; preds = %9996, %9942, %9945, %10084 = shl nuw i32 1, %10083 %10085 = getelementptr inbounds nuw i8, ptr %10077, i64 9 %10086 = load i8, ptr %10085, align 1 - %.not11081 = icmp eq i8 %10086, 0 - br i1 %.not11081, label %10089, label %10087 + %.not11079 = icmp eq i8 %10086, 0 + br i1 %.not11079, label %10089, label %10087 10087: ; preds = %10082 %10088 = or i32 %10084, -1073741824 @@ -37787,18 +37787,18 @@ zend_ssa_cv_info.exit: ; preds = %9996, %9942, %9945, 10089: ; preds = %10082 %10090 = icmp eq i8 %10079, 6 - %spec.select11911 = select i1 %10090, i32 -2147483584, i32 %10084 + %spec.select11909 = select i1 %10090, i32 -2147483584, i32 %10084 br label %10100 10091: ; preds = %10056 %10092 = load ptr, ptr %2477, align 8 - %.not11079 = icmp eq ptr %10092, null - br i1 %.not11079, label %.thread12429, label %10093 + %.not11077 = icmp eq ptr %10092, null + br i1 %.not11077, label %.thread12426, label %10093 10093: ; preds = %10091 %10094 = load i32, ptr %.09621, align 4 %10095 = icmp sgt i32 %10094, -1 - br i1 %10095, label %10096, label %.thread12429 + br i1 %10095, label %10096, label %.thread12426 10096: ; preds = %10093 %10097 = zext nneg i32 %10094 to i64 @@ -37806,26 +37806,26 @@ zend_ssa_cv_info.exit: ; preds = %9996, %9942, %9945, %10099 = load i32, ptr %10098, align 8 br label %10100 -.thread12429: ; preds = %10076, %10093, %10091 +.thread12426: ; preds = %10076, %10093, %10091 %.09951.ph = phi i32 [ -486539265, %10093 ], [ -521143298, %10076 ], [ -486539265, %10091 ] store i32 %.09951.ph, ptr %20, align 4 br label %10190 10100: ; preds = %10089, %10096, %10080, %10087 - %.09951 = phi i32 [ %10081, %10080 ], [ %10088, %10087 ], [ %spec.select11911, %10089 ], [ %10099, %10096 ] + %.09951 = phi i32 [ %10081, %10080 ], [ %10088, %10087 ], [ %spec.select11909, %10089 ], [ %10099, %10096 ] store i32 %.09951, ptr %20, align 4 %10101 = zext nneg i8 %.19588 to i32 %10102 = and i32 %.09951, 268435456 - %.not11083 = icmp eq i32 %10102, 0 - %or.cond11912 = select i1 %.not10749, i1 true, i1 %.not11083 - br i1 %or.cond11912, label %10190, label %10103 + %.not11081 = icmp eq i32 %10102, 0 + %or.cond11910 = select i1 %.not10749, i1 true, i1 %.not11081 + br i1 %or.cond11910, label %10190, label %10103 10103: ; preds = %10100 %10104 = getelementptr inbounds nuw i8, ptr %2501, i64 8 %10105 = load i32, ptr %10104, align 8 %10106 = call fastcc i32 @zend_jit_type_guard(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %10105, i8 noundef zeroext %2504) - %.not11084 = icmp eq i32 %10106, 0 - br i1 %.not11084, label %zend_jit_stack_check.exit.thread, label %10107 + %.not11082 = icmp eq i32 %10106, 0 + br i1 %.not11082, label %zend_jit_stack_check.exit.thread, label %10107 10107: ; preds = %10103 %10108 = load ptr, ptr %2478, align 8 @@ -37834,13 +37834,13 @@ zend_ssa_cv_info.exit: ; preds = %9996, %9942, %9945, %10111 = getelementptr inbounds %struct._zend_ssa_var, ptr %10108, i64 %10110, i32 7 %10112 = load i8, ptr %10111, align 8 %10113 = and i8 %10112, 12 - %.not11085 = icmp eq i8 %10113, 0 + %.not11083 = icmp eq i8 %10113, 0 %10114 = load i32, ptr %10104, align 8 %10115 = lshr i32 %10114, 4 %10116 = add nsw i32 %10115, -5 %10117 = zext i32 %10116 to i64 %10118 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %10117 - br i1 %.not11085, label %10152, label %10119 + br i1 %.not11083, label %10152, label %10119 10119: ; preds = %10107 store i8 -1, ptr %10118, align 4 @@ -37880,10 +37880,10 @@ zend_ssa_cv_info.exit: ; preds = %9996, %9942, %9945, store i8 0, ptr %10148, align 1 %10149 = shl nuw i32 1, %10101 %10150 = icmp ult i8 %2504, 6 - %.not11086 = icmp eq i8 %2504, 7 + %.not11084 = icmp eq i8 %2504, 7 %10151 = or i32 %10149, -1073741824 - %spec.select12043 = select i1 %.not11086, i32 -520095616, i32 %10151 - %.09842 = select i1 %10150, i32 %10149, i32 %spec.select12043 + %spec.select12041 = select i1 %.not11084, i32 -520095616, i32 %10151 + %.09842 = select i1 %10150, i32 %10149, i32 %spec.select12041 store i32 %.09842, ptr %20, align 4 br label %10190 @@ -37933,14 +37933,14 @@ zend_ssa_cv_info.exit: ; preds = %9996, %9942, %9945, %10188 = load i32, ptr %10187, align 8 %10189 = and i32 %10188, %10183 store i32 %10189, ptr %10187, align 8 - %.pre13264 = load i32, ptr %20, align 4 + %.pre13261 = load i32, ptr %20, align 4 br label %10190 -10190: ; preds = %.thread12429, %10100, %10119, %10152 - %10191 = phi i32 [ %.09951.ph, %.thread12429 ], [ %.09951, %10100 ], [ %.09842, %10119 ], [ %.pre13264, %10152 ] +10190: ; preds = %.thread12426, %10100, %10119, %10152 + %10191 = phi i32 [ %.09951.ph, %.thread12426 ], [ %.09951, %10100 ], [ %.09842, %10119 ], [ %.pre13261, %10152 ] %10192 = load ptr, ptr %2479, align 8 - %.not11087 = icmp eq ptr %10192, null - br i1 %.not11087, label %10202, label %10193 + %.not11085 = icmp eq ptr %10192, null + br i1 %.not11085, label %10202, label %10193 10193: ; preds = %10190 %10194 = load i32, ptr %.09621, align 4 @@ -37951,10 +37951,10 @@ zend_ssa_cv_info.exit: ; preds = %9996, %9942, %9945, %10197 = zext nneg i32 %10194 to i64 %10198 = getelementptr inbounds nuw %struct._zend_jit_reg_var, ptr %10192, i64 %10197 %10199 = load i32, ptr %10198, align 4 - %.not11088 = icmp eq i32 %10199, 0 - br i1 %.not11088, label %10202, label %.thread12433 + %.not11086 = icmp eq i32 %10199, 0 + br i1 %.not11086, label %10202, label %.thread12430 -.thread12433: ; preds = %10196 +.thread12430: ; preds = %10196 %10200 = shl nuw nsw i64 %10197, 2 %10201 = or disjoint i64 %10200, 2 br label %10214 @@ -37971,10 +37971,10 @@ zend_ssa_cv_info.exit: ; preds = %9996, %9942, %9945, %10211 = shl nuw nsw i64 %10210, 8 %10212 = or disjoint i64 %10211, 57 %10213 = select i1 %10204, i64 %10209, i64 %10212 - br i1 %.not11087, label %10226, label %10214 + br i1 %.not11085, label %10226, label %10214 -10214: ; preds = %.thread12433, %10202 - %10215 = phi i64 [ %10201, %.thread12433 ], [ %10213, %10202 ] +10214: ; preds = %.thread12430, %10202 + %10215 = phi i64 [ %10201, %.thread12430 ], [ %10213, %10202 ] %10216 = getelementptr inbounds nuw i8, ptr %.09621, i64 20 %10217 = load i32, ptr %10216, align 4 %10218 = icmp sgt i32 %10217, -1 @@ -37984,8 +37984,8 @@ zend_ssa_cv_info.exit: ; preds = %9996, %9942, %9945, %10220 = zext nneg i32 %10217 to i64 %10221 = getelementptr inbounds nuw %struct._zend_jit_reg_var, ptr %10192, i64 %10220 %10222 = load i32, ptr %10221, align 4 - %.not11090 = icmp eq i32 %10222, 0 - br i1 %.not11090, label %10226, label %10223 + %.not11088 = icmp eq i32 %10222, 0 + br i1 %.not11088, label %10226, label %10223 10223: ; preds = %10219 %10224 = shl nuw nsw i64 %10220, 2 @@ -38020,7 +38020,7 @@ zend_ssa_cv_info.exit: ; preds = %9996, %9942, %9945, %10245 = zext i1 %10244 to i32 %10246 = load i8, ptr %2529, align 4 call fastcc void @zend_jit_bool_jmpznz(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %10191, i64 noundef %10242, i64 noundef %10243, i32 noundef -1, i32 noundef -1, i32 noundef %10245, i8 noundef zeroext %10246, ptr noundef null) - br label %thread-pre-split12618 + br label %thread-pre-split12615 10247: ; preds = %2538, %2538, %2538, %2538 %10248 = getelementptr inbounds nuw i8, ptr %2501, i64 29 @@ -38032,8 +38032,8 @@ zend_ssa_cv_info.exit: ; preds = %9996, %9942, %9945, %10252 = getelementptr inbounds nuw i8, ptr %.09771, i64 4 %10253 = load i32, ptr %10252, align 4 %10254 = and i32 %10253, 33554432 - %.not11063 = icmp eq i32 %10254, 0 - br i1 %.not11063, label %10260, label %10255 + %.not11061 = icmp eq i32 %10254, 0 + br i1 %.not11061, label %10260, label %10255 10255: ; preds = %10251 %10256 = getelementptr inbounds nuw i8, ptr %2501, i64 8 @@ -38056,7 +38056,7 @@ zend_ssa_cv_info.exit: ; preds = %9996, %9942, %9945, %10269 = getelementptr inbounds nuw i8, ptr %10268, i64 8 %10270 = load i8, ptr %10269, align 8 switch i8 %10270, label %10273 [ - i8 11, label %.thread12437 + i8 11, label %.thread12434 i8 7, label %10271 ] @@ -38069,8 +38069,8 @@ zend_ssa_cv_info.exit: ; preds = %9996, %9942, %9945, %10275 = shl nuw i32 1, %10274 %10276 = getelementptr inbounds nuw i8, ptr %10268, i64 9 %10277 = load i8, ptr %10276, align 1 - %.not11064 = icmp eq i8 %10277, 0 - br i1 %.not11064, label %10280, label %10278 + %.not11062 = icmp eq i8 %10277, 0 + br i1 %.not11062, label %10280, label %10278 10278: ; preds = %10273 %10279 = or i32 %10275, -1073741824 @@ -38078,18 +38078,18 @@ zend_ssa_cv_info.exit: ; preds = %9996, %9942, %9945, 10280: ; preds = %10273 %10281 = icmp eq i8 %10270, 6 - %spec.select11913 = select i1 %10281, i32 -2147483584, i32 %10275 + %spec.select11911 = select i1 %10281, i32 -2147483584, i32 %10275 br label %10291 10282: ; preds = %10247 %10283 = load ptr, ptr %2477, align 8 - %.not11062 = icmp eq ptr %10283, null - br i1 %.not11062, label %.thread12437, label %10284 + %.not11060 = icmp eq ptr %10283, null + br i1 %.not11060, label %.thread12434, label %10284 10284: ; preds = %10282 %10285 = load i32, ptr %.09621, align 4 %10286 = icmp sgt i32 %10285, -1 - br i1 %10286, label %10287, label %.thread12437 + br i1 %10286, label %10287, label %.thread12434 10287: ; preds = %10284 %10288 = zext nneg i32 %10285 to i64 @@ -38097,26 +38097,26 @@ zend_ssa_cv_info.exit: ; preds = %9996, %9942, %9945, %10290 = load i32, ptr %10289, align 8 br label %10291 -.thread12437: ; preds = %10267, %10284, %10282 +.thread12434: ; preds = %10267, %10284, %10282 %.09952.ph = phi i32 [ -486539265, %10284 ], [ -521143298, %10267 ], [ -486539265, %10282 ] store i32 %.09952.ph, ptr %20, align 4 br label %10381 10291: ; preds = %10280, %10287, %10271, %10278 - %.09952 = phi i32 [ %10272, %10271 ], [ %10279, %10278 ], [ %spec.select11913, %10280 ], [ %10290, %10287 ] + %.09952 = phi i32 [ %10272, %10271 ], [ %10279, %10278 ], [ %spec.select11911, %10280 ], [ %10290, %10287 ] store i32 %.09952, ptr %20, align 4 %10292 = zext nneg i8 %.19588 to i32 %10293 = and i32 %.09952, 268435456 - %.not11066 = icmp eq i32 %10293, 0 - %or.cond11914 = select i1 %.not10749, i1 true, i1 %.not11066 - br i1 %or.cond11914, label %10381, label %10294 + %.not11064 = icmp eq i32 %10293, 0 + %or.cond11912 = select i1 %.not10749, i1 true, i1 %.not11064 + br i1 %or.cond11912, label %10381, label %10294 10294: ; preds = %10291 %10295 = getelementptr inbounds nuw i8, ptr %2501, i64 8 %10296 = load i32, ptr %10295, align 8 %10297 = call fastcc i32 @zend_jit_type_guard(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %10296, i8 noundef zeroext %2504) - %.not11067 = icmp eq i32 %10297, 0 - br i1 %.not11067, label %zend_jit_stack_check.exit.thread, label %10298 + %.not11065 = icmp eq i32 %10297, 0 + br i1 %.not11065, label %zend_jit_stack_check.exit.thread, label %10298 10298: ; preds = %10294 %10299 = load ptr, ptr %2478, align 8 @@ -38125,13 +38125,13 @@ zend_ssa_cv_info.exit: ; preds = %9996, %9942, %9945, %10302 = getelementptr inbounds %struct._zend_ssa_var, ptr %10299, i64 %10301, i32 7 %10303 = load i8, ptr %10302, align 8 %10304 = and i8 %10303, 12 - %.not11068 = icmp eq i8 %10304, 0 + %.not11066 = icmp eq i8 %10304, 0 %10305 = load i32, ptr %10295, align 8 %10306 = lshr i32 %10305, 4 %10307 = add nsw i32 %10306, -5 %10308 = zext i32 %10307 to i64 %10309 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %10308 - br i1 %.not11068, label %10343, label %10310 + br i1 %.not11066, label %10343, label %10310 10310: ; preds = %10298 store i8 -1, ptr %10309, align 4 @@ -38171,10 +38171,10 @@ zend_ssa_cv_info.exit: ; preds = %9996, %9942, %9945, store i8 0, ptr %10339, align 1 %10340 = shl nuw i32 1, %10292 %10341 = icmp ult i8 %2504, 6 - %.not11069 = icmp eq i8 %2504, 7 + %.not11067 = icmp eq i8 %2504, 7 %10342 = or i32 %10340, -1073741824 - %spec.select12044 = select i1 %.not11069, i32 -520095616, i32 %10342 - %.09841 = select i1 %10341, i32 %10340, i32 %spec.select12044 + %spec.select12042 = select i1 %.not11067, i32 -520095616, i32 %10342 + %.09841 = select i1 %10341, i32 %10340, i32 %spec.select12042 store i32 %.09841, ptr %20, align 4 br label %10381 @@ -38226,7 +38226,7 @@ zend_ssa_cv_info.exit: ; preds = %9996, %9942, %9945, store i32 %10380, ptr %10378, align 8 br label %10381 -10381: ; preds = %.thread12437, %10291, %10310, %10343 +10381: ; preds = %.thread12434, %10291, %10310, %10343 %10382 = getelementptr inbounds nuw i8, ptr %.39762, i64 16 %10383 = load i8, ptr %10382, align 8 %10384 = icmp eq i8 %10383, 0 @@ -38278,8 +38278,8 @@ zend_ssa_cv_info.exit: ; preds = %9996, %9942, %9945, 10405: ; preds = %10404, %10403 %10406 = load i32, ptr %20, align 4 %10407 = and i32 %10406, 268435456 - %.not11071 = icmp eq i32 %10407, 0 - br i1 %.not11071, label %10408, label %10439 + %.not11069 = icmp eq i32 %10407, 0 + br i1 %.not11069, label %10408, label %10439 10408: ; preds = %10405 %10409 = and i32 %10406, 1023 @@ -38380,20 +38380,20 @@ zend_ssa_cv_info.exit: ; preds = %9996, %9942, %9945, %10488 = load ptr, ptr @zend_jit_traces, align 8 %10489 = getelementptr inbounds nuw i8, ptr %10488, i64 16 %10490 = load i32, ptr %10489, align 8 - %.not.i12122 = icmp ult i32 %10482, %10490 - br i1 %.not.i12122, label %10513, label %10491 + %.not.i12119 = icmp ult i32 %10482, %10490 + br i1 %.not.i12119, label %10513, label %10491 10491: ; preds = %10443 %10492 = icmp ugt i32 %10482, 511 - br i1 %10492, label %zend_jit_stack_check.exit.thread, label %.preheader.i.i12123 + br i1 %10492, label %zend_jit_stack_check.exit.thread, label %.preheader.i.i12120 -.preheader.i.i12123: ; preds = %10491 - %.pre12.i.i12124 = load ptr, ptr @dasm_ptr, align 8 +.preheader.i.i12120: ; preds = %10491 + %.pre12.i.i12121 = load ptr, ptr @dasm_ptr, align 8 br label %10493 -10493: ; preds = %10503, %.preheader.i.i12123 - %10494 = phi ptr [ %.pre12.i.i12124, %.preheader.i.i12123 ], [ %10502, %10503 ] - %10495 = phi i32 [ %10490, %.preheader.i.i12123 ], [ %10512, %10503 ] +10493: ; preds = %10503, %.preheader.i.i12120 + %10494 = phi ptr [ %.pre12.i.i12121, %.preheader.i.i12120 ], [ %10502, %10503 ] + %10495 = phi i32 [ %10490, %.preheader.i.i12120 ], [ %10512, %10503 ] call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %6) call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %7) %10496 = load ptr, ptr @dasm_buf, align 8 @@ -38409,8 +38409,8 @@ zend_ssa_cv_info.exit: ; preds = %9996, %9942, %9945, store ptr %10501, ptr %10502, align 8 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %6) call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %7) - %.not.i.i12125 = icmp eq ptr %10500, null - br i1 %.not.i.i12125, label %zend_jit_stack_check.exit.thread, label %10503 + %.not.i.i12122 = icmp eq ptr %10500, null + br i1 %.not.i.i12122, label %zend_jit_stack_check.exit.thread, label %10503 10503: ; preds = %10493 %10504 = load ptr, ptr @zend_jit_exit_groups, align 8 @@ -38424,8 +38424,8 @@ zend_ssa_cv_info.exit: ; preds = %9996, %9942, %9945, %10511 = load i32, ptr %10506, align 8 %10512 = add i32 %10511, 32 store i32 %10512, ptr %10506, align 8 - %.not8.i.i12126 = icmp ult i32 %10482, %10512 - br i1 %.not8.i.i12126, label %zend_jit_trace_get_exit_addr.exit12128, label %10493 + %.not8.i.i12123 = icmp ult i32 %10482, %10512 + br i1 %.not8.i.i12123, label %zend_jit_trace_get_exit_addr.exit12125, label %10493 10513: ; preds = %10443 %10514 = load ptr, ptr @zend_jit_exit_groups, align 8 @@ -38433,36 +38433,36 @@ zend_ssa_cv_info.exit: ; preds = %9996, %9942, %9945, %10516 = zext nneg i32 %10515 to i64 %10517 = getelementptr inbounds nuw ptr, ptr %10514, i64 %10516 %10518 = load ptr, ptr %10517, align 8 - br label %zend_jit_trace_get_exit_addr.exit12128 + br label %zend_jit_trace_get_exit_addr.exit12125 -zend_jit_trace_get_exit_addr.exit12128: ; preds = %10503, %10513 - %.lcssa13432.sink = phi ptr [ %10518, %10513 ], [ %10500, %10503 ] +zend_jit_trace_get_exit_addr.exit12125: ; preds = %10503, %10513 + %.lcssa13429.sink = phi ptr [ %10518, %10513 ], [ %10500, %10503 ] %10519 = shl i32 %10482, 2 %10520 = and i32 %10519, 124 %10521 = zext nneg i32 %10520 to i64 - %10522 = getelementptr inbounds nuw i8, ptr %.lcssa13432.sink, i64 %10521 - %.not11074 = icmp eq ptr %.lcssa13432.sink, null - br i1 %.not11074, label %zend_jit_stack_check.exit.thread, label %10560 + %10522 = getelementptr inbounds nuw i8, ptr %.lcssa13429.sink, i64 %10521 + %.not11072 = icmp eq ptr %.lcssa13429.sink, null + br i1 %.not11072, label %zend_jit_stack_check.exit.thread, label %10560 10523: ; preds = %10439 %10524 = call fastcc i32 @zend_jit_trace_get_exit_point(ptr noundef nonnull %.09480, i32 noundef 0) %10525 = load ptr, ptr @zend_jit_traces, align 8 %10526 = getelementptr inbounds nuw i8, ptr %10525, i64 16 %10527 = load i32, ptr %10526, align 8 - %.not.i12129 = icmp ult i32 %10524, %10527 - br i1 %.not.i12129, label %10550, label %10528 + %.not.i12126 = icmp ult i32 %10524, %10527 + br i1 %.not.i12126, label %10550, label %10528 10528: ; preds = %10523 %10529 = icmp ugt i32 %10524, 511 - br i1 %10529, label %zend_jit_stack_check.exit.thread, label %.preheader.i.i12130 + br i1 %10529, label %zend_jit_stack_check.exit.thread, label %.preheader.i.i12127 -.preheader.i.i12130: ; preds = %10528 - %.pre12.i.i12131 = load ptr, ptr @dasm_ptr, align 8 +.preheader.i.i12127: ; preds = %10528 + %.pre12.i.i12128 = load ptr, ptr @dasm_ptr, align 8 br label %10530 -10530: ; preds = %10540, %.preheader.i.i12130 - %10531 = phi ptr [ %.pre12.i.i12131, %.preheader.i.i12130 ], [ %10539, %10540 ] - %10532 = phi i32 [ %10527, %.preheader.i.i12130 ], [ %10549, %10540 ] +10530: ; preds = %10540, %.preheader.i.i12127 + %10531 = phi ptr [ %.pre12.i.i12128, %.preheader.i.i12127 ], [ %10539, %10540 ] + %10532 = phi i32 [ %10527, %.preheader.i.i12127 ], [ %10549, %10540 ] call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %4) call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %5) %10533 = load ptr, ptr @dasm_buf, align 8 @@ -38478,8 +38478,8 @@ zend_jit_trace_get_exit_addr.exit12128: ; preds = %10503, %10513 store ptr %10538, ptr %10539, align 8 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %4) call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %5) - %.not.i.i12132 = icmp eq ptr %10537, null - br i1 %.not.i.i12132, label %zend_jit_stack_check.exit.thread, label %10540 + %.not.i.i12129 = icmp eq ptr %10537, null + br i1 %.not.i.i12129, label %zend_jit_stack_check.exit.thread, label %10540 10540: ; preds = %10530 %10541 = load ptr, ptr @zend_jit_exit_groups, align 8 @@ -38493,8 +38493,8 @@ zend_jit_trace_get_exit_addr.exit12128: ; preds = %10503, %10513 %10548 = load i32, ptr %10543, align 8 %10549 = add i32 %10548, 32 store i32 %10549, ptr %10543, align 8 - %.not8.i.i12133 = icmp ult i32 %10524, %10549 - br i1 %.not8.i.i12133, label %zend_jit_trace_get_exit_addr.exit12135, label %10530 + %.not8.i.i12130 = icmp ult i32 %10524, %10549 + br i1 %.not8.i.i12130, label %zend_jit_trace_get_exit_addr.exit12132, label %10530 10550: ; preds = %10523 %10551 = load ptr, ptr @zend_jit_exit_groups, align 8 @@ -38502,19 +38502,19 @@ zend_jit_trace_get_exit_addr.exit12128: ; preds = %10503, %10513 %10553 = zext nneg i32 %10552 to i64 %10554 = getelementptr inbounds nuw ptr, ptr %10551, i64 %10553 %10555 = load ptr, ptr %10554, align 8 - br label %zend_jit_trace_get_exit_addr.exit12135 + br label %zend_jit_trace_get_exit_addr.exit12132 -zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 - %.lcssa13430.sink = phi ptr [ %10555, %10550 ], [ %10537, %10540 ] +zend_jit_trace_get_exit_addr.exit12132: ; preds = %10540, %10550 + %.lcssa13427.sink = phi ptr [ %10555, %10550 ], [ %10537, %10540 ] %10556 = shl i32 %10524, 2 %10557 = and i32 %10556, 124 %10558 = zext nneg i32 %10557 to i64 - %10559 = getelementptr inbounds nuw i8, ptr %.lcssa13430.sink, i64 %10558 - %.not11073 = icmp eq ptr %.lcssa13430.sink, null - br i1 %.not11073, label %zend_jit_stack_check.exit.thread, label %10560 + %10559 = getelementptr inbounds nuw i8, ptr %.lcssa13427.sink, i64 %10558 + %.not11071 = icmp eq ptr %.lcssa13427.sink, null + br i1 %.not11071, label %zend_jit_stack_check.exit.thread, label %10560 -10560: ; preds = %10413, %zend_jit_trace_get_exit_addr.exit12135, %zend_jit_trace_get_exit_addr.exit12128 - %.29742 = phi ptr [ %10522, %zend_jit_trace_get_exit_addr.exit12128 ], [ %10559, %zend_jit_trace_get_exit_addr.exit12135 ], [ null, %10413 ] +10560: ; preds = %10413, %zend_jit_trace_get_exit_addr.exit12132, %zend_jit_trace_get_exit_addr.exit12125 + %.29742 = phi ptr [ %10522, %zend_jit_trace_get_exit_addr.exit12125 ], [ %10559, %zend_jit_trace_get_exit_addr.exit12132 ], [ null, %10413 ] %10561 = getelementptr inbounds nuw i8, ptr %2501, i64 31 %10562 = load i8, ptr %10561, align 1 %10563 = icmp eq i8 %10562, 0 @@ -38522,8 +38522,8 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 10564: ; preds = %10560 %10565 = load ptr, ptr %2479, align 8 - %.not11075 = icmp eq ptr %10565, null - br i1 %.not11075, label %10577, label %10566 + %.not11073 = icmp eq ptr %10565, null + br i1 %.not11073, label %10577, label %10566 10566: ; preds = %10564 %10567 = getelementptr inbounds nuw i8, ptr %.09621, i64 20 @@ -38535,8 +38535,8 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %10571 = zext nneg i32 %10568 to i64 %10572 = getelementptr inbounds nuw %struct._zend_jit_reg_var, ptr %10565, i64 %10571 %10573 = load i32, ptr %10572, align 4 - %.not11076 = icmp eq i32 %10573, 0 - br i1 %.not11076, label %10577, label %10574 + %.not11074 = icmp eq i32 %10573, 0 + br i1 %.not11074, label %10577, label %10574 10574: ; preds = %10570 %10575 = shl nuw nsw i64 %10571, 2 @@ -38565,8 +38565,8 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %.59711 = phi i64 [ 0, %10560 ], [ %10576, %10574 ], [ %10584, %10581 ], [ %10588, %10585 ] %10590 = load i32, ptr %20, align 4 %10591 = load ptr, ptr %2479, align 8 - %.not11077 = icmp eq ptr %10591, null - br i1 %.not11077, label %10602, label %10592 + %.not11075 = icmp eq ptr %10591, null + br i1 %.not11075, label %10602, label %10592 10592: ; preds = %10589 %10593 = load i32, ptr %.09621, align 4 @@ -38577,8 +38577,8 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %10596 = zext nneg i32 %10593 to i64 %10597 = getelementptr inbounds nuw %struct._zend_jit_reg_var, ptr %10591, i64 %10596 %10598 = load i32, ptr %10597, align 4 - %.not11078 = icmp eq i32 %10598, 0 - br i1 %.not11078, label %10602, label %10599 + %.not11076 = icmp eq i32 %10598, 0 + br i1 %.not11076, label %10602, label %10599 10599: ; preds = %10595 %10600 = shl nuw nsw i64 %10596, 2 @@ -38609,7 +38609,7 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %10617 = call zeroext i1 @zend_may_throw(ptr noundef nonnull %2501, ptr noundef %.09621, ptr noundef %.09771, ptr noundef nonnull %40) #33 %10618 = zext i1 %10617 to i32 call fastcc void @zend_jit_bool_jmpznz(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %10590, i64 noundef %10616, i64 noundef %.59711, i32 noundef -1, i32 noundef -1, i32 noundef %10618, i8 noundef zeroext %.39749, ptr noundef %.29742) - br label %thread-pre-split12618 + br label %thread-pre-split12615 10619: ; preds = %2538 %10620 = getelementptr inbounds nuw i8, ptr %2501, i64 29 @@ -38621,8 +38621,8 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %10624 = getelementptr inbounds nuw i8, ptr %.09771, i64 4 %10625 = load i32, ptr %10624, align 4 %10626 = and i32 %10625, 33554432 - %.not11059 = icmp eq i32 %10626, 0 - br i1 %.not11059, label %10632, label %10627 + %.not11057 = icmp eq i32 %10626, 0 + br i1 %.not11057, label %10632, label %10627 10627: ; preds = %10623 %10628 = getelementptr inbounds nuw i8, ptr %2501, i64 8 @@ -38645,49 +38645,49 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %10641 = getelementptr inbounds nuw i8, ptr %10640, i64 8 %10642 = load i8, ptr %10641, align 8 switch i8 %10642, label %10645 [ - i8 11, label %.thread12445 + i8 11, label %.thread12442 i8 7, label %10643 ] 10643: ; preds = %10639 %10644 = call i32 @zend_array_type_info(ptr noundef nonnull %10640) #33 - br label %.thread12445 + br label %.thread12442 10645: ; preds = %10639 %10646 = zext nneg i8 %10642 to i32 %10647 = shl nuw i32 1, %10646 %10648 = getelementptr inbounds nuw i8, ptr %10640, i64 9 %10649 = load i8, ptr %10648, align 1 - %.not11060 = icmp eq i8 %10649, 0 - br i1 %.not11060, label %10652, label %10650 + %.not11058 = icmp eq i8 %10649, 0 + br i1 %.not11058, label %10652, label %10650 10650: ; preds = %10645 %10651 = or i32 %10647, -1073741824 - br label %.thread12445 + br label %.thread12442 10652: ; preds = %10645 %10653 = icmp eq i8 %10642, 6 - %spec.select11915 = select i1 %10653, i32 -2147483584, i32 %10647 - br label %.thread12445 + %spec.select11913 = select i1 %10653, i32 -2147483584, i32 %10647 + br label %.thread12442 10654: ; preds = %10619 %10655 = load ptr, ptr %2477, align 8 - %.not11058 = icmp eq ptr %10655, null - br i1 %.not11058, label %.thread12445, label %10656 + %.not11056 = icmp eq ptr %10655, null + br i1 %.not11056, label %.thread12442, label %10656 10656: ; preds = %10654 %10657 = load i32, ptr %.09621, align 4 %10658 = icmp sgt i32 %10657, -1 - br i1 %10658, label %10659, label %.thread12445 + br i1 %10658, label %10659, label %.thread12442 10659: ; preds = %10656 %10660 = zext nneg i32 %10657 to i64 %10661 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %10655, i64 %10660 %10662 = load i32, ptr %10661, align 8 - br label %.thread12445 + br label %.thread12442 -.thread12445: ; preds = %10654, %10652, %10659, %10656, %10643, %10639, %10650 - %.09953 = phi i32 [ %10644, %10643 ], [ -521143298, %10639 ], [ %10651, %10650 ], [ %spec.select11915, %10652 ], [ %10662, %10659 ], [ -486539265, %10656 ], [ -486539265, %10654 ] +.thread12442: ; preds = %10654, %10652, %10659, %10656, %10643, %10639, %10650 + %.09953 = phi i32 [ %10644, %10643 ], [ -521143298, %10639 ], [ %10651, %10650 ], [ %spec.select11913, %10652 ], [ %10662, %10659 ], [ -486539265, %10656 ], [ -486539265, %10654 ] store i32 %.09953, ptr %20, align 4 %10663 = getelementptr inbounds nuw i8, ptr %.39762, i64 16 %10664 = load i8, ptr %10663, align 8 @@ -38701,23 +38701,23 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %10671 = getelementptr inbounds i8, ptr %2501, i64 %10670 %10672 = icmp eq ptr %10667, %10671 %10673 = getelementptr inbounds nuw i8, ptr %2501, i64 32 - %spec.select13603 = select i1 %10672, ptr %10673, ptr %10671 - %10674 = call fastcc i32 @zend_jit_trace_get_exit_point(ptr noundef nonnull %spec.select13603, i32 noundef 0) + %spec.select13600 = select i1 %10672, ptr %10673, ptr %10671 + %10674 = call fastcc i32 @zend_jit_trace_get_exit_point(ptr noundef nonnull %spec.select13600, i32 noundef 0) %10675 = call fastcc ptr @zend_jit_trace_get_exit_addr(i32 noundef %10674) - %.not11061 = icmp eq ptr %10675, null - br i1 %.not11061, label %zend_jit_stack_check.exit.thread, label %10676 + %.not11059 = icmp eq ptr %10675, null + br i1 %.not11059, label %zend_jit_stack_check.exit.thread, label %10676 -10676: ; preds = %.thread12445 - %spec.select13604 = select i1 %10672, i32 2, i32 1 - call fastcc void @zend_jit_jmp_frameless(ptr noundef %17, ptr noundef nonnull %2501, ptr noundef nonnull %10675, i32 noundef %spec.select13604) - br label %thread-pre-split12618 +10676: ; preds = %.thread12442 + %spec.select13601 = select i1 %10672, i32 2, i32 1 + call fastcc void @zend_jit_jmp_frameless(ptr noundef %17, ptr noundef nonnull %2501, ptr noundef nonnull %10675, i32 noundef %spec.select13601) + br label %thread-pre-split12615 10677: ; preds = %2538 %10678 = getelementptr inbounds nuw i8, ptr %2501, i64 20 %10679 = load i32, ptr %10678, align 4 %10680 = and i32 %10679, 1 - %.not11042 = icmp eq i32 %10680, 0 - br i1 %.not11042, label %10681, label %thread-pre-split12605 + %.not11040 = icmp eq i32 %10680, 0 + br i1 %.not11040, label %10681, label %thread-pre-split12602 10681: ; preds = %10677 %10682 = getelementptr inbounds nuw i8, ptr %2501, i64 29 @@ -38729,8 +38729,8 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %10686 = getelementptr inbounds nuw i8, ptr %.09771, i64 4 %10687 = load i32, ptr %10686, align 4 %10688 = and i32 %10687, 33554432 - %.not11044 = icmp eq i32 %10688, 0 - br i1 %.not11044, label %10694, label %10689 + %.not11042 = icmp eq i32 %10688, 0 + br i1 %.not11042, label %10694, label %10689 10689: ; preds = %10685 %10690 = getelementptr inbounds nuw i8, ptr %2501, i64 8 @@ -38753,55 +38753,55 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %10703 = getelementptr inbounds nuw i8, ptr %10702, i64 8 %10704 = load i8, ptr %10703, align 8 switch i8 %10704, label %10707 [ - i8 11, label %.thread12447 + i8 11, label %.thread12444 i8 7, label %10705 ] 10705: ; preds = %10701 %10706 = call i32 @zend_array_type_info(ptr noundef nonnull %10702) #33 - br label %.thread12447 + br label %.thread12444 10707: ; preds = %10701 %10708 = zext nneg i8 %10704 to i32 %10709 = shl nuw i32 1, %10708 %10710 = getelementptr inbounds nuw i8, ptr %10702, i64 9 %10711 = load i8, ptr %10710, align 1 - %.not11045 = icmp eq i8 %10711, 0 - br i1 %.not11045, label %10714, label %10712 + %.not11043 = icmp eq i8 %10711, 0 + br i1 %.not11043, label %10714, label %10712 10712: ; preds = %10707 %10713 = or i32 %10709, -1073741824 - br label %.thread12447 + br label %.thread12444 10714: ; preds = %10707 %10715 = icmp eq i8 %10704, 6 - %spec.select11916 = select i1 %10715, i32 -2147483584, i32 %10709 - br label %.thread12447 + %spec.select11914 = select i1 %10715, i32 -2147483584, i32 %10709 + br label %.thread12444 10716: ; preds = %10681 %10717 = load ptr, ptr %2477, align 8 - %.not11043 = icmp eq ptr %10717, null - br i1 %.not11043, label %.thread12447, label %10718 + %.not11041 = icmp eq ptr %10717, null + br i1 %.not11041, label %.thread12444, label %10718 10718: ; preds = %10716 %10719 = load i32, ptr %.09621, align 4 %10720 = icmp sgt i32 %10719, -1 - br i1 %10720, label %10721, label %.thread12447 + br i1 %10720, label %10721, label %.thread12444 10721: ; preds = %10718 %10722 = zext nneg i32 %10719 to i64 %10723 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %10717, i64 %10722 %10724 = load i32, ptr %10723, align 8 - br label %.thread12447 + br label %.thread12444 -.thread12447: ; preds = %10716, %10714, %10721, %10718, %10705, %10701, %10712 - %10725 = phi i32 [ %10706, %10705 ], [ -521143298, %10701 ], [ %10713, %10712 ], [ %spec.select11916, %10714 ], [ %10724, %10721 ], [ -486539265, %10718 ], [ -486539265, %10716 ] +.thread12444: ; preds = %10716, %10714, %10721, %10718, %10705, %10701, %10712 + %10725 = phi i32 [ %10706, %10705 ], [ -521143298, %10701 ], [ %10713, %10712 ], [ %spec.select11914, %10714 ], [ %10724, %10721 ], [ -486539265, %10718 ], [ -486539265, %10716 ] store i32 %10725, ptr %20, align 4 %10726 = load ptr, ptr %2479, align 8 - %.not11046 = icmp eq ptr %10726, null - br i1 %.not11046, label %10737, label %10727 + %.not11044 = icmp eq ptr %10726, null + br i1 %.not11044, label %10737, label %10727 -10727: ; preds = %.thread12447 +10727: ; preds = %.thread12444 %10728 = load i32, ptr %.09621, align 4 %10729 = icmp sgt i32 %10728, -1 br i1 %10729, label %10730, label %10737 @@ -38810,15 +38810,15 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %10731 = zext nneg i32 %10728 to i64 %10732 = getelementptr inbounds nuw %struct._zend_jit_reg_var, ptr %10726, i64 %10731 %10733 = load i32, ptr %10732, align 4 - %.not11047 = icmp eq i32 %10733, 0 - br i1 %.not11047, label %10737, label %10734 + %.not11045 = icmp eq i32 %10733, 0 + br i1 %.not11045, label %10737, label %10734 10734: ; preds = %10730 %10735 = shl nuw nsw i64 %10731, 2 %10736 = or disjoint i64 %10735, 2 br label %10750 -10737: ; preds = %10730, %10727, %.thread12447 +10737: ; preds = %10730, %10727, %.thread12444 %10738 = load i8, ptr %10682, align 1 %10739 = icmp eq i8 %10738, 1 %10740 = getelementptr inbounds nuw i8, ptr %2501, i64 8 @@ -38840,11 +38840,11 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 10750: ; preds = %10742, %10746, %10734 %10751 = phi i64 [ %10736, %10734 ], [ %10745, %10742 ], [ %10749, %10746 ] store i64 %10751, ptr %22, align 8 - %.not11048 = icmp eq i8 %2495, -1 + %.not11046 = icmp eq i8 %2495, -1 %10752 = and i32 %2502, 32 - %.not11049 = icmp eq i32 %10752, 0 - %or.cond11917 = select i1 %.not11048, i1 true, i1 %.not11049 - br i1 %or.cond11917, label %10777, label %10753 + %.not11047 = icmp eq i32 %10752, 0 + %or.cond11915 = select i1 %.not11046, i1 true, i1 %.not11047 + br i1 %or.cond11915, label %10777, label %10753 10753: ; preds = %10750 %10754 = load ptr, ptr %2477, align 8 @@ -38853,8 +38853,8 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %10757 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %10754, i64 %10756, i32 1 %10758 = load i8, ptr %10757, align 4 %10759 = and i8 %10758, 64 - %.not11055 = icmp eq i8 %10759, 0 - %10760 = call fastcc zeroext i1 @zend_jit_fetch_reference(ptr noundef %17, ptr noundef nonnull %2501, i8 noundef zeroext %2495, ptr noundef %20, ptr noundef %22, i1 noundef zeroext %.not11055) + %.not11053 = icmp eq i8 %10759, 0 + %10760 = call fastcc zeroext i1 @zend_jit_fetch_reference(ptr noundef %17, ptr noundef nonnull %2501, i8 noundef zeroext %2495, ptr noundef %20, ptr noundef %22, i1 noundef zeroext %.not11053) br i1 %10760, label %10761, label %zend_jit_stack_check.exit.thread 10761: ; preds = %10753 @@ -38883,16 +38883,16 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 10777: ; preds = %10750 %10778 = zext nneg i8 %.19588 to i32 %10779 = and i32 %10725, 268435456 - %.not11051 = icmp eq i32 %10779, 0 - %or.cond13541 = select i1 %.not10749, i1 true, i1 %.not11051 - br i1 %or.cond13541, label %10867, label %10780 + %.not11049 = icmp eq i32 %10779, 0 + %or.cond13538 = select i1 %.not10749, i1 true, i1 %.not11049 + br i1 %or.cond13538, label %10867, label %10780 10780: ; preds = %10777 %10781 = getelementptr inbounds nuw i8, ptr %2501, i64 8 %10782 = load i32, ptr %10781, align 8 %10783 = call fastcc i32 @zend_jit_type_guard(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %10782, i8 noundef zeroext %2504) - %.not11052 = icmp eq i32 %10783, 0 - br i1 %.not11052, label %zend_jit_stack_check.exit.thread, label %10784 + %.not11050 = icmp eq i32 %10783, 0 + br i1 %.not11050, label %zend_jit_stack_check.exit.thread, label %10784 10784: ; preds = %10780 %10785 = load ptr, ptr %2478, align 8 @@ -38901,13 +38901,13 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %10788 = getelementptr inbounds %struct._zend_ssa_var, ptr %10785, i64 %10787, i32 7 %10789 = load i8, ptr %10788, align 8 %10790 = and i8 %10789, 12 - %.not11053 = icmp eq i8 %10790, 0 + %.not11051 = icmp eq i8 %10790, 0 %10791 = load i32, ptr %10781, align 8 %10792 = lshr i32 %10791, 4 %10793 = add nsw i32 %10792, -5 %10794 = zext i32 %10793 to i64 %10795 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %10794 - br i1 %.not11053, label %10829, label %10796 + br i1 %.not11051, label %10829, label %10796 10796: ; preds = %10784 store i8 -1, ptr %10795, align 4 @@ -38947,10 +38947,10 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 store i8 0, ptr %10825, align 1 %10826 = shl nuw i32 1, %10778 %10827 = icmp ult i8 %2504, 6 - %.not11054 = icmp eq i8 %2504, 7 + %.not11052 = icmp eq i8 %2504, 7 %10828 = or i32 %10826, -1073741824 - %spec.select12045 = select i1 %.not11054, i32 -520095616, i32 %10828 - %.09840 = select i1 %10827, i32 %10826, i32 %spec.select12045 + %spec.select12043 = select i1 %.not11052, i32 -520095616, i32 %10828 + %.09840 = select i1 %10827, i32 %10826, i32 %spec.select12043 store i32 %.09840, ptr %20, align 4 br label %10867 @@ -39006,8 +39006,8 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %10868 = getelementptr inbounds nuw i8, ptr %2501, i64 31 %10869 = load i8, ptr %10868, align 1 %10870 = and i8 %10869, 48 - %.not11056 = icmp eq i8 %10870, 0 - br i1 %.not11056, label %10905, label %10871 + %.not11054 = icmp eq i8 %10870, 0 + br i1 %.not11054, label %10905, label %10871 10871: ; preds = %10867 %10872 = getelementptr inbounds nuw i8, ptr %.39762, i64 16 @@ -39055,8 +39055,8 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %.09891 = phi ptr [ %10890, %10883 ], [ %10881, %10891 ] %10901 = call fastcc i32 @zend_jit_trace_get_exit_point(ptr noundef nonnull %.09891, i32 noundef 0) %10902 = call fastcc ptr @zend_jit_trace_get_exit_addr(i32 noundef %10901) - %.not11057 = icmp eq ptr %10902, null - br i1 %.not11057, label %zend_jit_stack_check.exit.thread, label %10903 + %.not11055 = icmp eq ptr %10902, null + br i1 %.not11055, label %zend_jit_stack_check.exit.thread, label %10903 10903: ; preds = %10900 %10904 = select i1 %.09968.in, i8 44, i8 43 @@ -39068,14 +39068,14 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %10906 = load i32, ptr %20, align 4 %10907 = load i64, ptr %22, align 8 call fastcc void @zend_jit_isset_isempty_cv(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %10906, i64 noundef %10907, i8 noundef zeroext %.49750, i32 noundef -1, i32 noundef -1, ptr noundef %.39743) - br label %thread-pre-split12618 + br label %thread-pre-split12615 10908: ; preds = %2538 %10909 = getelementptr inbounds nuw i8, ptr %2501, i64 29 %10910 = load i8, ptr %10909, align 1 switch i8 %10910, label %10942 [ - i8 4, label %.thread12608 - i8 2, label %.thread12608 + i8 4, label %.thread12605 + i8 2, label %.thread12605 i8 1, label %10911 ] @@ -39083,8 +39083,8 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %10912 = getelementptr inbounds nuw i8, ptr %.09771, i64 4 %10913 = load i32, ptr %10912, align 4 %10914 = and i32 %10913, 33554432 - %.not11030 = icmp eq i32 %10914, 0 - br i1 %.not11030, label %10920, label %10915 + %.not11028 = icmp eq i32 %10914, 0 + br i1 %.not11028, label %10920, label %10915 10915: ; preds = %10911 %10916 = getelementptr inbounds nuw i8, ptr %2501, i64 8 @@ -39107,55 +39107,55 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %10929 = getelementptr inbounds nuw i8, ptr %10928, i64 8 %10930 = load i8, ptr %10929, align 8 switch i8 %10930, label %10933 [ - i8 11, label %.thread12449 + i8 11, label %.thread12446 i8 7, label %10931 ] 10931: ; preds = %10927 %10932 = call i32 @zend_array_type_info(ptr noundef nonnull %10928) #33 - br label %.thread12449 + br label %.thread12446 10933: ; preds = %10927 %10934 = zext nneg i8 %10930 to i32 %10935 = shl nuw i32 1, %10934 %10936 = getelementptr inbounds nuw i8, ptr %10928, i64 9 %10937 = load i8, ptr %10936, align 1 - %.not11031 = icmp eq i8 %10937, 0 - br i1 %.not11031, label %10940, label %10938 + %.not11029 = icmp eq i8 %10937, 0 + br i1 %.not11029, label %10940, label %10938 10938: ; preds = %10933 %10939 = or i32 %10935, -1073741824 - br label %.thread12449 + br label %.thread12446 10940: ; preds = %10933 %10941 = icmp eq i8 %10930, 6 - %spec.select11918 = select i1 %10941, i32 -2147483584, i32 %10935 - br label %.thread12449 + %spec.select11916 = select i1 %10941, i32 -2147483584, i32 %10935 + br label %.thread12446 10942: ; preds = %10908 %10943 = load ptr, ptr %2477, align 8 - %.not11029 = icmp eq ptr %10943, null - br i1 %.not11029, label %.thread12449, label %10944 + %.not11027 = icmp eq ptr %10943, null + br i1 %.not11027, label %.thread12446, label %10944 10944: ; preds = %10942 %10945 = load i32, ptr %.09621, align 4 %10946 = icmp sgt i32 %10945, -1 - br i1 %10946, label %10947, label %.thread12449 + br i1 %10946, label %10947, label %.thread12446 10947: ; preds = %10944 %10948 = zext nneg i32 %10945 to i64 %10949 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %10943, i64 %10948 %10950 = load i32, ptr %10949, align 8 - br label %.thread12449 + br label %.thread12446 -.thread12449: ; preds = %10942, %10940, %10947, %10944, %10931, %10927, %10938 - %10951 = phi i32 [ %10932, %10931 ], [ -521143298, %10927 ], [ %10939, %10938 ], [ %spec.select11918, %10940 ], [ %10950, %10947 ], [ -486539265, %10944 ], [ -486539265, %10942 ] +.thread12446: ; preds = %10942, %10940, %10947, %10944, %10931, %10927, %10938 + %10951 = phi i32 [ %10932, %10931 ], [ -521143298, %10927 ], [ %10939, %10938 ], [ %spec.select11916, %10940 ], [ %10950, %10947 ], [ -486539265, %10944 ], [ -486539265, %10942 ] store i32 %10951, ptr %20, align 4 %10952 = load ptr, ptr %2479, align 8 - %.not11032 = icmp eq ptr %10952, null - br i1 %.not11032, label %10963, label %10953 + %.not11030 = icmp eq ptr %10952, null + br i1 %.not11030, label %10963, label %10953 -10953: ; preds = %.thread12449 +10953: ; preds = %.thread12446 %10954 = load i32, ptr %.09621, align 4 %10955 = icmp sgt i32 %10954, -1 br i1 %10955, label %10956, label %10963 @@ -39164,15 +39164,15 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %10957 = zext nneg i32 %10954 to i64 %10958 = getelementptr inbounds nuw %struct._zend_jit_reg_var, ptr %10952, i64 %10957 %10959 = load i32, ptr %10958, align 4 - %.not11033 = icmp eq i32 %10959, 0 - br i1 %.not11033, label %10963, label %10960 + %.not11031 = icmp eq i32 %10959, 0 + br i1 %.not11031, label %10963, label %10960 10960: ; preds = %10956 %10961 = shl nuw nsw i64 %10957, 2 %10962 = or disjoint i64 %10961, 2 br label %10976 -10963: ; preds = %10956, %10953, %.thread12449 +10963: ; preds = %10956, %10953, %.thread12446 %10964 = load i8, ptr %10909, align 1 %10965 = icmp eq i8 %10964, 1 %10966 = getelementptr inbounds nuw i8, ptr %2501, i64 8 @@ -39196,16 +39196,16 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 store i64 %10977, ptr %22, align 8 %10978 = zext nneg i8 %.19588 to i32 %10979 = and i32 %10951, 268435456 - %.not11035 = icmp eq i32 %10979, 0 - %or.cond13542 = select i1 %.not10749, i1 true, i1 %.not11035 - br i1 %or.cond13542, label %11067, label %10980 + %.not11033 = icmp eq i32 %10979, 0 + %or.cond13539 = select i1 %.not10749, i1 true, i1 %.not11033 + br i1 %or.cond13539, label %11067, label %10980 10980: ; preds = %10976 %10981 = getelementptr inbounds nuw i8, ptr %2501, i64 8 %10982 = load i32, ptr %10981, align 8 %10983 = call fastcc i32 @zend_jit_type_guard(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %10982, i8 noundef zeroext %2504) - %.not11036 = icmp eq i32 %10983, 0 - br i1 %.not11036, label %zend_jit_stack_check.exit.thread, label %10984 + %.not11034 = icmp eq i32 %10983, 0 + br i1 %.not11034, label %zend_jit_stack_check.exit.thread, label %10984 10984: ; preds = %10980 %10985 = load ptr, ptr %2478, align 8 @@ -39214,13 +39214,13 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %10988 = getelementptr inbounds %struct._zend_ssa_var, ptr %10985, i64 %10987, i32 7 %10989 = load i8, ptr %10988, align 8 %10990 = and i8 %10989, 12 - %.not11037 = icmp eq i8 %10990, 0 + %.not11035 = icmp eq i8 %10990, 0 %10991 = load i32, ptr %10981, align 8 %10992 = lshr i32 %10991, 4 %10993 = add nsw i32 %10992, -5 %10994 = zext i32 %10993 to i64 %10995 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %10994 - br i1 %.not11037, label %11029, label %10996 + br i1 %.not11035, label %11029, label %10996 10996: ; preds = %10984 store i8 -1, ptr %10995, align 4 @@ -39260,10 +39260,10 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 store i8 0, ptr %11025, align 1 %11026 = shl nuw i32 1, %10978 %11027 = icmp ult i8 %2504, 6 - %.not11038 = icmp eq i8 %2504, 7 + %.not11036 = icmp eq i8 %2504, 7 %11028 = or i32 %11026, -1073741824 - %spec.select12046 = select i1 %.not11038, i32 -520095616, i32 %11028 - %.09839 = select i1 %11027, i32 %11026, i32 %spec.select12046 + %spec.select12044 = select i1 %.not11036, i32 -520095616, i32 %11028 + %.09839 = select i1 %11027, i32 %11026, i32 %spec.select12044 store i32 %.09839, ptr %20, align 4 br label %11067 @@ -39313,21 +39313,21 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %11065 = load i32, ptr %11064, align 8 %11066 = and i32 %11065, %11060 store i32 %11066, ptr %11064, align 8 - %.pre13262 = load i32, ptr %20, align 4 + %.pre13259 = load i32, ptr %20, align 4 br label %11067 11067: ; preds = %10976, %10996, %11029 - %11068 = phi i32 [ %10951, %10976 ], [ %.09839, %10996 ], [ %.pre13262, %11029 ] + %11068 = phi i32 [ %10951, %10976 ], [ %.09839, %10996 ], [ %.pre13259, %11029 ] %11069 = and i32 %11068, 2047 - %.not11039 = icmp eq i32 %11069, 64 - br i1 %.not11039, label %11070, label %thread-pre-split12605 + %.not11037 = icmp eq i32 %11069, 64 + br i1 %.not11037, label %11070, label %thread-pre-split12602 11070: ; preds = %11067 %11071 = getelementptr inbounds nuw i8, ptr %2501, i64 31 %11072 = load i8, ptr %11071, align 1 %11073 = and i8 %11072, 48 - %.not11040 = icmp eq i8 %11073, 0 - br i1 %.not11040, label %11108, label %11074 + %.not11038 = icmp eq i8 %11073, 0 + br i1 %.not11038, label %11108, label %11074 11074: ; preds = %11070 %11075 = getelementptr inbounds nuw i8, ptr %.39762, i64 16 @@ -39375,44 +39375,44 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %.09892 = phi ptr [ %11093, %11086 ], [ %11084, %11094 ] %11104 = call fastcc i32 @zend_jit_trace_get_exit_point(ptr noundef nonnull %.09892, i32 noundef 0) %11105 = call fastcc ptr @zend_jit_trace_get_exit_addr(i32 noundef %11104) - %.not11041 = icmp eq ptr %11105, null - br i1 %.not11041, label %zend_jit_stack_check.exit.thread, label %11106 + %.not11039 = icmp eq ptr %11105, null + br i1 %.not11039, label %zend_jit_stack_check.exit.thread, label %11106 11106: ; preds = %11103 %11107 = select i1 %.09969.in, i8 44, i8 43 - %.pre13263 = load i32, ptr %20, align 4 + %.pre13260 = load i32, ptr %20, align 4 br label %11108 11108: ; preds = %11070, %11106 - %11109 = phi i32 [ %.pre13263, %11106 ], [ %11068, %11070 ] + %11109 = phi i32 [ %.pre13260, %11106 ], [ %11068, %11070 ] %.59751 = phi i8 [ %11107, %11106 ], [ 0, %11070 ] %.49744 = phi ptr [ %11105, %11106 ], [ null, %11070 ] %11110 = load i64, ptr %22, align 8 call fastcc void @zend_jit_in_array(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %11109, i64 noundef %11110, i8 noundef zeroext %.59751, i32 noundef -1, i32 noundef -1, ptr noundef %.49744) - br label %thread-pre-split12618 + br label %thread-pre-split12615 11111: ; preds = %2538 %11112 = load ptr, ptr getelementptr inbounds nuw (i8, ptr @jit_globals, i64 184), align 8 - %.not10996 = icmp eq ptr %11112, null - br i1 %.not10996, label %.thread12608, label %11113 + %.not10994 = icmp eq ptr %11112, null + br i1 %.not10994, label %.thread12605, label %11113 11113: ; preds = %11111 %11114 = load ptr, ptr %11112, align 8 - %.not10997 = icmp eq ptr %11114, null - br i1 %.not10997, label %thread-pre-split12605, label %11115 + %.not10995 = icmp eq ptr %11114, null + br i1 %.not10995, label %thread-pre-split12602, label %11115 11115: ; preds = %11113 %11116 = getelementptr inbounds nuw i8, ptr %11114, i64 16 %11117 = load ptr, ptr %11116, align 8 - %.not10998 = icmp eq ptr %11117, null - br i1 %.not10998, label %thread-pre-split12605, label %11118 + %.not10996 = icmp eq ptr %11117, null + br i1 %.not10996, label %thread-pre-split12602, label %11118 11118: ; preds = %11115 %11119 = getelementptr inbounds nuw i8, ptr %11114, i64 44 %11120 = load i32, ptr %11119, align 4 %11121 = and i32 %11120, 4 - %.not10999 = icmp eq i32 %11121, 0 - br i1 %.not10999, label %thread-pre-split12605, label %11122 + %.not10997 = icmp eq i32 %11121, 0 + br i1 %.not10997, label %thread-pre-split12602, label %11122 11122: ; preds = %11118, %2538, %2538, %2538 %11123 = getelementptr inbounds nuw i8, ptr %2501, i64 29 @@ -39424,8 +39424,8 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %11127 = getelementptr inbounds nuw i8, ptr %.09771, i64 4 %11128 = load i32, ptr %11127, align 4 %11129 = and i32 %11128, 33554432 - %.not11001 = icmp eq i32 %11129, 0 - br i1 %.not11001, label %11135, label %11130 + %.not10999 = icmp eq i32 %11129, 0 + br i1 %.not10999, label %11135, label %11130 11130: ; preds = %11126 %11131 = getelementptr inbounds nuw i8, ptr %2501, i64 8 @@ -39448,55 +39448,55 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %11144 = getelementptr inbounds nuw i8, ptr %11143, i64 8 %11145 = load i8, ptr %11144, align 8 switch i8 %11145, label %11148 [ - i8 11, label %.thread12451 + i8 11, label %.thread12448 i8 7, label %11146 ] 11146: ; preds = %11142 %11147 = call i32 @zend_array_type_info(ptr noundef nonnull %11143) #33 - br label %.thread12451 + br label %.thread12448 11148: ; preds = %11142 %11149 = zext nneg i8 %11145 to i32 %11150 = shl nuw i32 1, %11149 %11151 = getelementptr inbounds nuw i8, ptr %11143, i64 9 %11152 = load i8, ptr %11151, align 1 - %.not11002 = icmp eq i8 %11152, 0 - br i1 %.not11002, label %11155, label %11153 + %.not11000 = icmp eq i8 %11152, 0 + br i1 %.not11000, label %11155, label %11153 11153: ; preds = %11148 %11154 = or i32 %11150, -1073741824 - br label %.thread12451 + br label %.thread12448 11155: ; preds = %11148 %11156 = icmp eq i8 %11145, 6 - %spec.select11919 = select i1 %11156, i32 -2147483584, i32 %11150 - br label %.thread12451 + %spec.select11917 = select i1 %11156, i32 -2147483584, i32 %11150 + br label %.thread12448 11157: ; preds = %11122 %11158 = load ptr, ptr %2477, align 8 - %.not11000 = icmp eq ptr %11158, null - br i1 %.not11000, label %.thread12451, label %11159 + %.not10998 = icmp eq ptr %11158, null + br i1 %.not10998, label %.thread12448, label %11159 11159: ; preds = %11157 %11160 = load i32, ptr %.09621, align 4 %11161 = icmp sgt i32 %11160, -1 - br i1 %11161, label %11162, label %.thread12451 + br i1 %11161, label %11162, label %.thread12448 11162: ; preds = %11159 %11163 = zext nneg i32 %11160 to i64 %11164 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %11158, i64 %11163 %11165 = load i32, ptr %11164, align 8 - br label %.thread12451 + br label %.thread12448 -.thread12451: ; preds = %11157, %11155, %11162, %11159, %11146, %11142, %11153 - %11166 = phi i32 [ %11147, %11146 ], [ -521143298, %11142 ], [ %11154, %11153 ], [ %spec.select11919, %11155 ], [ %11165, %11162 ], [ -486539265, %11159 ], [ -486539265, %11157 ] +.thread12448: ; preds = %11157, %11155, %11162, %11159, %11146, %11142, %11153 + %11166 = phi i32 [ %11147, %11146 ], [ -521143298, %11142 ], [ %11154, %11153 ], [ %spec.select11917, %11155 ], [ %11165, %11162 ], [ -486539265, %11159 ], [ -486539265, %11157 ] store i32 %11166, ptr %20, align 4 %11167 = load ptr, ptr %2479, align 8 - %.not11003 = icmp eq ptr %11167, null - br i1 %.not11003, label %11178, label %11168 + %.not11001 = icmp eq ptr %11167, null + br i1 %.not11001, label %11178, label %11168 -11168: ; preds = %.thread12451 +11168: ; preds = %.thread12448 %11169 = load i32, ptr %.09621, align 4 %11170 = icmp sgt i32 %11169, -1 br i1 %11170, label %11171, label %11178 @@ -39505,15 +39505,15 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %11172 = zext nneg i32 %11169 to i64 %11173 = getelementptr inbounds nuw %struct._zend_jit_reg_var, ptr %11167, i64 %11172 %11174 = load i32, ptr %11173, align 4 - %.not11004 = icmp eq i32 %11174, 0 - br i1 %.not11004, label %11178, label %11175 + %.not11002 = icmp eq i32 %11174, 0 + br i1 %.not11002, label %11178, label %11175 11175: ; preds = %11171 %11176 = shl nuw nsw i64 %11172, 2 %11177 = or disjoint i64 %11176, 2 br label %11191 -11178: ; preds = %11171, %11168, %.thread12451 +11178: ; preds = %11171, %11168, %.thread12448 %11179 = load i8, ptr %11123, align 1 %11180 = icmp eq i8 %11179, 1 %11181 = getelementptr inbounds nuw i8, ptr %2501, i64 8 @@ -39537,9 +39537,9 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 store i64 %11192, ptr %22, align 8 %11193 = icmp ne i8 %2495, -1 %11194 = and i32 %2502, 32 - %.not11005 = icmp ne i32 %11194, 0 - %or.cond11921.not = select i1 %11193, i1 %.not11005, i1 false - br i1 %or.cond11921.not, label %11195, label %11228 + %.not11003 = icmp ne i32 %11194, 0 + %or.cond11919.not = select i1 %11193, i1 %.not11003, i1 false + br i1 %or.cond11919.not, label %11195, label %11228 11195: ; preds = %11191 %11196 = load ptr, ptr %2477, align 8 @@ -39548,8 +39548,8 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %11199 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %11196, i64 %11198, i32 1 %11200 = load i8, ptr %11199, align 4 %11201 = and i8 %11200, 64 - %.not11011 = icmp eq i8 %11201, 0 - %11202 = call fastcc zeroext i1 @zend_jit_fetch_reference(ptr noundef %17, ptr noundef nonnull %2501, i8 noundef zeroext %2495, ptr noundef %20, ptr noundef %22, i1 noundef zeroext %.not11011) + %.not11009 = icmp eq i8 %11201, 0 + %11202 = call fastcc zeroext i1 @zend_jit_fetch_reference(ptr noundef %17, ptr noundef nonnull %2501, i8 noundef zeroext %2495, ptr noundef %20, ptr noundef %22, i1 noundef zeroext %.not11009) br i1 %11202, label %11203, label %zend_jit_stack_check.exit.thread 11203: ; preds = %11195 @@ -39590,16 +39590,16 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 11228: ; preds = %11191 %11229 = zext nneg i8 %.19588 to i32 %11230 = and i32 %11166, 268435456 - %.not11007 = icmp eq i32 %11230, 0 - %or.cond13543 = select i1 %.not10749, i1 true, i1 %.not11007 - br i1 %or.cond13543, label %11318, label %11231 + %.not11005 = icmp eq i32 %11230, 0 + %or.cond13540 = select i1 %.not10749, i1 true, i1 %.not11005 + br i1 %or.cond13540, label %11318, label %11231 11231: ; preds = %11228 %11232 = getelementptr inbounds nuw i8, ptr %2501, i64 8 %11233 = load i32, ptr %11232, align 8 %11234 = call fastcc i32 @zend_jit_type_guard(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %11233, i8 noundef zeroext %2504) - %.not11008 = icmp eq i32 %11234, 0 - br i1 %.not11008, label %zend_jit_stack_check.exit.thread, label %11235 + %.not11006 = icmp eq i32 %11234, 0 + br i1 %.not11006, label %zend_jit_stack_check.exit.thread, label %11235 11235: ; preds = %11231 %11236 = load ptr, ptr %2478, align 8 @@ -39608,13 +39608,13 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %11239 = getelementptr inbounds %struct._zend_ssa_var, ptr %11236, i64 %11238, i32 7 %11240 = load i8, ptr %11239, align 8 %11241 = and i8 %11240, 12 - %.not11009 = icmp eq i8 %11241, 0 + %.not11007 = icmp eq i8 %11241, 0 %11242 = load i32, ptr %11232, align 8 %11243 = lshr i32 %11242, 4 %11244 = add nsw i32 %11243, -5 %11245 = zext i32 %11244 to i64 %11246 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %11245 - br i1 %.not11009, label %11280, label %11247 + br i1 %.not11007, label %11280, label %11247 11247: ; preds = %11235 store i8 -1, ptr %11246, align 4 @@ -39654,10 +39654,10 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 store i8 0, ptr %11276, align 1 %11277 = shl nuw i32 1, %11229 %11278 = icmp ult i8 %2504, 6 - %.not11010 = icmp eq i8 %2504, 7 + %.not11008 = icmp eq i8 %2504, 7 %11279 = or i32 %11277, -1073741824 - %spec.select12047 = select i1 %.not11010, i32 -520095616, i32 %11279 - %.09838 = select i1 %11278, i32 %11277, i32 %spec.select12047 + %spec.select12045 = select i1 %.not11008, i32 -520095616, i32 %11279 + %.09838 = select i1 %11278, i32 %11277, i32 %spec.select12045 store i32 %.09838, ptr %20, align 4 br label %11318 @@ -39719,8 +39719,8 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %11323 = getelementptr inbounds nuw i8, ptr %.09771, i64 4 %11324 = load i32, ptr %11323, align 4 %11325 = and i32 %11324, 33554432 - %.not11013 = icmp eq i32 %11325, 0 - br i1 %.not11013, label %11331, label %11326 + %.not11011 = icmp eq i32 %11325, 0 + br i1 %.not11011, label %11331, label %11326 11326: ; preds = %11322 %11327 = getelementptr inbounds nuw i8, ptr %2501, i64 12 @@ -39743,7 +39743,7 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %11340 = getelementptr inbounds nuw i8, ptr %11339, i64 8 %11341 = load i8, ptr %11340, align 8 switch i8 %11341, label %11344 [ - i8 11, label %.thread12456 + i8 11, label %.thread12453 i8 7, label %11342 ] @@ -39756,8 +39756,8 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %11346 = shl nuw i32 1, %11345 %11347 = getelementptr inbounds nuw i8, ptr %11339, i64 9 %11348 = load i8, ptr %11347, align 1 - %.not11014 = icmp eq i8 %11348, 0 - br i1 %.not11014, label %11351, label %11349 + %.not11012 = icmp eq i8 %11348, 0 + br i1 %.not11012, label %11351, label %11349 11349: ; preds = %11344 %11350 = or i32 %11346, -1073741824 @@ -39765,19 +39765,19 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 11351: ; preds = %11344 %11352 = icmp eq i8 %11341, 6 - %spec.select11922 = select i1 %11352, i32 -2147483584, i32 %11346 + %spec.select11920 = select i1 %11352, i32 -2147483584, i32 %11346 br label %11363 11353: ; preds = %11318 %11354 = load ptr, ptr %2477, align 8 - %.not11012 = icmp eq ptr %11354, null - br i1 %.not11012, label %.thread12456, label %11355 + %.not11010 = icmp eq ptr %11354, null + br i1 %.not11010, label %.thread12453, label %11355 11355: ; preds = %11353 %11356 = getelementptr inbounds nuw i8, ptr %.09621, i64 4 %11357 = load i32, ptr %11356, align 4 %11358 = icmp sgt i32 %11357, -1 - br i1 %11358, label %11359, label %.thread12456 + br i1 %11358, label %11359, label %.thread12453 11359: ; preds = %11355 %11360 = zext nneg i32 %11357 to i64 @@ -39785,27 +39785,27 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %11362 = load i32, ptr %11361, align 8 br label %11363 -.thread12456: ; preds = %11338, %11355, %11353 +.thread12453: ; preds = %11338, %11355, %11353 %.09908.ph = phi i32 [ -486539265, %11355 ], [ -521143298, %11338 ], [ -486539265, %11353 ] store i32 %.09908.ph, ptr %21, align 4 br label %11454 11363: ; preds = %11351, %11359, %11342, %11349 - %.09908 = phi i32 [ %11343, %11342 ], [ %11350, %11349 ], [ %spec.select11922, %11351 ], [ %11362, %11359 ] + %.09908 = phi i32 [ %11343, %11342 ], [ %11350, %11349 ], [ %spec.select11920, %11351 ], [ %11362, %11359 ] store i32 %.09908, ptr %21, align 4 %11364 = zext nneg i8 %spec.store.select to i32 - %.not11015 = icmp eq i8 %spec.store.select, -1 + %.not11013 = icmp eq i8 %spec.store.select, -1 %11365 = and i32 %.09908, 268435456 - %.not11016 = icmp eq i32 %11365, 0 - %or.cond11923 = select i1 %.not11015, i1 true, i1 %.not11016 - br i1 %or.cond11923, label %11454, label %11366 + %.not11014 = icmp eq i32 %11365, 0 + %or.cond11921 = select i1 %.not11013, i1 true, i1 %.not11014 + br i1 %or.cond11921, label %11454, label %11366 11366: ; preds = %11363 %11367 = getelementptr inbounds nuw i8, ptr %2501, i64 12 %11368 = load i32, ptr %11367, align 4 %11369 = call fastcc i32 @zend_jit_type_guard(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %11368, i8 noundef zeroext %spec.store.select) - %.not11017 = icmp eq i32 %11369, 0 - br i1 %.not11017, label %zend_jit_stack_check.exit.thread, label %11370 + %.not11015 = icmp eq i32 %11369, 0 + br i1 %.not11015, label %zend_jit_stack_check.exit.thread, label %11370 11370: ; preds = %11366 %11371 = load ptr, ptr %2478, align 8 @@ -39815,13 +39815,13 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %11375 = getelementptr inbounds %struct._zend_ssa_var, ptr %11371, i64 %11374, i32 7 %11376 = load i8, ptr %11375, align 8 %11377 = and i8 %11376, 12 - %.not11018 = icmp eq i8 %11377, 0 + %.not11016 = icmp eq i8 %11377, 0 %11378 = load i32, ptr %11367, align 4 %11379 = lshr i32 %11378, 4 %11380 = add nsw i32 %11379, -5 %11381 = zext i32 %11380 to i64 %11382 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %11381 - br i1 %.not11018, label %11416, label %11383 + br i1 %.not11016, label %11416, label %11383 11383: ; preds = %11370 store i8 -1, ptr %11382, align 4 @@ -39861,10 +39861,10 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 store i8 0, ptr %11412, align 1 %11413 = shl nuw i32 1, %11364 %11414 = icmp ult i8 %spec.store.select, 6 - %.not11019 = icmp eq i8 %spec.store.select, 7 + %.not11017 = icmp eq i8 %spec.store.select, 7 %11415 = or i32 %11413, -1073741824 - %spec.select12048 = select i1 %.not11019, i32 -520095616, i32 %11415 - %.09837 = select i1 %11414, i32 %11413, i32 %spec.select12048 + %spec.select12046 = select i1 %.not11017, i32 -520095616, i32 %11415 + %.09837 = select i1 %11414, i32 %11413, i32 %spec.select12046 store i32 %.09837, ptr %21, align 4 br label %11454 @@ -39916,30 +39916,30 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 store i32 %11453, ptr %11451, align 8 br label %11454 -11454: ; preds = %.thread12456, %11363, %11383, %11416 +11454: ; preds = %.thread12453, %11363, %11383, %11416 %11455 = load ptr, ptr %2477, align 8 - %.not11020 = icmp eq ptr %11455, null - br i1 %.not11020, label %.thread12461, label %11456 + %.not11018 = icmp eq ptr %11455, null + br i1 %.not11018, label %.thread12458, label %11456 11456: ; preds = %11454 %11457 = getelementptr inbounds nuw i8, ptr %.09621, i64 20 %11458 = load i32, ptr %11457, align 4 %11459 = icmp sgt i32 %11458, -1 - br i1 %11459, label %11460, label %.thread12461 + br i1 %11459, label %11460, label %.thread12458 11460: ; preds = %11456 %11461 = zext nneg i32 %11458 to i64 %11462 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %11455, i64 %11461 %11463 = load i32, ptr %11462, align 8 - br label %.thread12461 + br label %.thread12458 -.thread12461: ; preds = %11454, %11456, %11460 +.thread12458: ; preds = %11454, %11456, %11460 %.09440 = phi i32 [ %11463, %11460 ], [ -486539265, %11456 ], [ -486539265, %11454 ] %11464 = load i32, ptr %.09621, align 4 %11465 = icmp sgt i32 %11464, -1 br i1 %11465, label %11466, label %11472 -11466: ; preds = %.thread12461 +11466: ; preds = %.thread12458 %11467 = zext nneg i32 %11464 to i64 %11468 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %11455, i64 %11467, i32 1 %11469 = load i8, ptr %11468, align 4 @@ -39947,12 +39947,12 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %11471 = icmp ne i8 %11470, 0 br label %11472 -11472: ; preds = %11466, %.thread12461 - %11473 = phi i1 [ false, %.thread12461 ], [ %11471, %11466 ] +11472: ; preds = %11466, %.thread12458 + %11473 = phi i1 [ false, %.thread12458 ], [ %11471, %11466 ] %11474 = load i32, ptr %20, align 4 %11475 = and i32 %11474, 134217728 - %.not11021 = icmp eq i32 %11475, 0 - br i1 %.not11021, label %11476, label %.sink.split13544 + %.not11019 = icmp eq i32 %11475, 0 + br i1 %.not11019, label %11476, label %.sink.split13541 11476: ; preds = %11472 %11477 = load i32, ptr %21, align 4 @@ -39960,8 +39960,8 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %11479 = icmp ne i32 %11478, 16 %11480 = and i32 %11474, 2098175 %11481 = icmp ne i32 %11480, 2097280 - %or.cond11926 = or i1 %11481, %11479 - br i1 %or.cond11926, label %11497, label %11482 + %or.cond11924 = or i1 %11481, %11479 + br i1 %or.cond11924, label %11497, label %11482 11482: ; preds = %11476 %11483 = and i32 %11474, 12582912 @@ -39972,41 +39972,41 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 11485: ; preds = %11482 %11486 = or disjoint i32 %11474, 134217728 %11487 = and i32 %2502, 16 - %.not11023 = icmp eq i32 %11487, 0 - br i1 %.not11023, label %11490, label %11488 + %.not11021 = icmp eq i32 %11487, 0 + br i1 %.not11021, label %11490, label %11488 11488: ; preds = %11485 %11489 = and i32 %11486, -12583808 store i32 %11489, ptr %20, align 4 - br i1 %.not10749, label %11497, label %.sink.split13544.sink.split + br i1 %.not10749, label %11497, label %.sink.split13541.sink.split 11490: ; preds = %11485 %11491 = and i32 %11486, -2098048 store i32 %11491, ptr %20, align 4 - br i1 %.not10749, label %11497, label %.sink.split13544.sink.split + br i1 %.not10749, label %11497, label %.sink.split13541.sink.split -.sink.split13544.sink.split: ; preds = %11490, %11488 - %.sink13548.ph = phi i32 [ -12582913, %11488 ], [ -2097153, %11490 ] +.sink.split13541.sink.split: ; preds = %11490, %11488 + %.sink13545.ph = phi i32 [ -12582913, %11488 ], [ -2097153, %11490 ] %11492 = load i32, ptr %.09621, align 4 - br label %.sink.split13544 + br label %.sink.split13541 -.sink.split13544: ; preds = %.sink.split13544.sink.split, %11472 - %.sink13551 = phi i32 [ %11464, %11472 ], [ %11492, %.sink.split13544.sink.split ] - %.sink13548 = phi i32 [ -134217729, %11472 ], [ %.sink13548.ph, %.sink.split13544.sink.split ] - %11493 = sext i32 %.sink13551 to i64 +.sink.split13541: ; preds = %.sink.split13541.sink.split, %11472 + %.sink13548 = phi i32 [ %11464, %11472 ], [ %11492, %.sink.split13541.sink.split ] + %.sink13545 = phi i32 [ -134217729, %11472 ], [ %.sink13545.ph, %.sink.split13541.sink.split ] + %11493 = sext i32 %.sink13548 to i64 %11494 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %11455, i64 %11493 %11495 = load i32, ptr %11494, align 8 - %11496 = and i32 %11495, %.sink13548 + %11496 = and i32 %11495, %.sink13545 store i32 %11496, ptr %11494, align 8 br label %11497 -11497: ; preds = %.sink.split13544, %11476, %11482, %11490, %11488 +11497: ; preds = %.sink.split13541, %11476, %11482, %11490, %11488 %11498 = load i32, ptr %20, align 4 %11499 = load i64, ptr %22, align 8 %11500 = load i32, ptr %21, align 4 %11501 = load ptr, ptr %2479, align 8 - %.not11026 = icmp eq ptr %11501, null - br i1 %.not11026, label %11513, label %11502 + %.not11024 = icmp eq ptr %11501, null + br i1 %.not11024, label %11513, label %11502 11502: ; preds = %11497 %11503 = getelementptr inbounds nuw i8, ptr %.09621, i64 20 @@ -40018,8 +40018,8 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %11507 = zext nneg i32 %11504 to i64 %11508 = getelementptr inbounds nuw %struct._zend_jit_reg_var, ptr %11501, i64 %11507 %11509 = load i32, ptr %11508, align 4 - %.not11027 = icmp eq i32 %11509, 0 - br i1 %.not11027, label %11513, label %11510 + %.not11025 = icmp eq i32 %11509, 0 + br i1 %.not11025, label %11513, label %11510 11510: ; preds = %11506 %11511 = shl nuw nsw i64 %11507, 2 @@ -40049,15 +40049,15 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 11527: ; preds = %11519, %11523, %11510 %11528 = phi i64 [ %11512, %11510 ], [ %11522, %11519 ], [ %11526, %11523 ] %11529 = call fastcc i32 @zend_jit_fetch_dim_read(ptr noundef %17, ptr noundef nonnull %2501, ptr noundef %40, ptr noundef nonnull %.09621, i32 noundef %11498, i64 noundef %11499, i1 noundef zeroext %11473, i32 noundef %11500, i32 noundef %.09440, i64 noundef %11528, i8 noundef zeroext %.09584) - %.not11028 = icmp eq i32 %11529, 0 - br i1 %.not11028, label %zend_jit_stack_check.exit.thread, label %11530 + %.not11026 = icmp eq i32 %11529, 0 + br i1 %.not11026, label %zend_jit_stack_check.exit.thread, label %11530 11530: ; preds = %11527 %11531 = getelementptr inbounds nuw i8, ptr %.09621, i64 12 %11532 = load i32, ptr %11531, align 4 %11533 = icmp slt i32 %11532, 0 %or.cond111.not = or i1 %.not10749, %11533 - br i1 %or.cond111.not, label %thread-pre-split12618, label %11534 + br i1 %or.cond111.not, label %thread-pre-split12615, label %11534 11534: ; preds = %11530 %11535 = load ptr, ptr %2477, align 8 @@ -40068,31 +40068,31 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %11540 = zext nneg i32 %11532 to i64 %11541 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %11535, i64 %11540 store i32 %11539, ptr %11541, align 8 - br label %thread-pre-split12618 + br label %thread-pre-split12615 11542: ; preds = %2538, %2538, %2538 %11543 = getelementptr inbounds nuw i8, ptr %2501, i64 29 %11544 = load i8, ptr %11543, align 1 - %.not10964 = icmp eq i8 %11544, 8 - br i1 %.not10964, label %.thread12463, label %11545 + %.not10962 = icmp eq i8 %11544, 8 + br i1 %.not10962, label %.thread12460, label %11545 11545: ; preds = %11542 %11546 = icmp eq i8 %2495, -1 %11547 = and i32 %2502, 64 - %.not10965 = icmp eq i32 %11547, 0 - %or.cond11927 = select i1 %11546, i1 true, i1 %.not10965 - br i1 %or.cond11927, label %thread-pre-split12605, label %11548 + %.not10963 = icmp eq i32 %11547, 0 + %or.cond11925 = select i1 %11546, i1 true, i1 %.not10963 + br i1 %or.cond11925, label %thread-pre-split12602, label %11548 11548: ; preds = %11545 %11549 = icmp eq i8 %11544, 1 - br i1 %11549, label %11550, label %.thread12463 + br i1 %11549, label %11550, label %.thread12460 11550: ; preds = %11548 %11551 = getelementptr inbounds nuw i8, ptr %.09771, i64 4 %11552 = load i32, ptr %11551, align 4 %11553 = and i32 %11552, 33554432 - %.not10967 = icmp eq i32 %11553, 0 - br i1 %.not10967, label %11559, label %11554 + %.not10965 = icmp eq i32 %11553, 0 + br i1 %.not10965, label %11559, label %11554 11554: ; preds = %11550 %11555 = getelementptr inbounds nuw i8, ptr %2501, i64 8 @@ -40115,55 +40115,55 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %11568 = getelementptr inbounds nuw i8, ptr %11567, i64 8 %11569 = load i8, ptr %11568, align 8 switch i8 %11569, label %11572 [ - i8 11, label %.thread12464 + i8 11, label %.thread12461 i8 7, label %11570 ] 11570: ; preds = %11566 %11571 = call i32 @zend_array_type_info(ptr noundef nonnull %11567) #33 - br label %.thread12464 + br label %.thread12461 11572: ; preds = %11566 %11573 = zext nneg i8 %11569 to i32 %11574 = shl nuw i32 1, %11573 %11575 = getelementptr inbounds nuw i8, ptr %11567, i64 9 %11576 = load i8, ptr %11575, align 1 - %.not10968 = icmp eq i8 %11576, 0 - br i1 %.not10968, label %11579, label %11577 + %.not10966 = icmp eq i8 %11576, 0 + br i1 %.not10966, label %11579, label %11577 11577: ; preds = %11572 %11578 = or i32 %11574, -1073741824 - br label %.thread12464 + br label %.thread12461 11579: ; preds = %11572 %11580 = icmp eq i8 %11569, 6 - %spec.select11928 = select i1 %11580, i32 -2147483584, i32 %11574 - br label %.thread12464 + %spec.select11926 = select i1 %11580, i32 -2147483584, i32 %11574 + br label %.thread12461 -.thread12463: ; preds = %11542, %11548 +.thread12460: ; preds = %11542, %11548 %11581 = load ptr, ptr %2477, align 8 - %.not10966 = icmp eq ptr %11581, null - br i1 %.not10966, label %.thread12464, label %11582 + %.not10964 = icmp eq ptr %11581, null + br i1 %.not10964, label %.thread12461, label %11582 -11582: ; preds = %.thread12463 +11582: ; preds = %.thread12460 %11583 = load i32, ptr %.09621, align 4 %11584 = icmp sgt i32 %11583, -1 - br i1 %11584, label %11585, label %.thread12464 + br i1 %11584, label %11585, label %.thread12461 11585: ; preds = %11582 %11586 = zext nneg i32 %11583 to i64 %11587 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %11581, i64 %11586 %11588 = load i32, ptr %11587, align 8 - br label %.thread12464 + br label %.thread12461 -.thread12464: ; preds = %.thread12463, %11579, %11585, %11582, %11570, %11566, %11577 - %.09934 = phi i32 [ %11571, %11570 ], [ -521143298, %11566 ], [ %11578, %11577 ], [ %spec.select11928, %11579 ], [ %11588, %11585 ], [ -486539265, %11582 ], [ -486539265, %.thread12463 ] +.thread12461: ; preds = %.thread12460, %11579, %11585, %11582, %11570, %11566, %11577 + %.09934 = phi i32 [ %11571, %11570 ], [ -521143298, %11566 ], [ %11578, %11577 ], [ %spec.select11926, %11579 ], [ %11588, %11585 ], [ -486539265, %11582 ], [ -486539265, %.thread12460 ] store i32 %.09934, ptr %20, align 4 %11589 = load ptr, ptr %2479, align 8 - %.not10969 = icmp eq ptr %11589, null - br i1 %.not10969, label %11600, label %11590 + %.not10967 = icmp eq ptr %11589, null + br i1 %.not10967, label %11600, label %11590 -11590: ; preds = %.thread12464 +11590: ; preds = %.thread12461 %11591 = load i32, ptr %.09621, align 4 %11592 = icmp sgt i32 %11591, -1 br i1 %11592, label %11593, label %11600 @@ -40172,23 +40172,23 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %11594 = zext nneg i32 %11591 to i64 %11595 = getelementptr inbounds nuw %struct._zend_jit_reg_var, ptr %11589, i64 %11594 %11596 = load i32, ptr %11595, align 4 - %.not10970 = icmp eq i32 %11596, 0 - br i1 %.not10970, label %11600, label %11597 + %.not10968 = icmp eq i32 %11596, 0 + br i1 %.not10968, label %11600, label %11597 11597: ; preds = %11593 %11598 = shl nuw nsw i64 %11594, 2 %11599 = or disjoint i64 %11598, 2 - %.pre13260 = load i8, ptr %11543, align 1 + %.pre13257 = load i8, ptr %11543, align 1 br label %11612 -11600: ; preds = %11593, %11590, %.thread12464 +11600: ; preds = %11593, %11590, %.thread12461 %11601 = load i8, ptr %11543, align 1 %11602 = icmp eq i8 %11601, 1 %11603 = getelementptr inbounds nuw i8, ptr %2501, i64 8 %11604 = load i32, ptr %11603, align 8 - br i1 %11602, label %.thread13350, label %11608 + br i1 %11602, label %.thread13347, label %11608 -.thread13350: ; preds = %11600 +.thread13347: ; preds = %11600 %11605 = sext i32 %11604 to i64 %11606 = getelementptr inbounds i8, ptr %2501, i64 %11605 %11607 = ptrtoint ptr %11606 to i64 @@ -40202,18 +40202,18 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 br label %11612 11612: ; preds = %11608, %11597 - %11613 = phi i8 [ %.pre13260, %11597 ], [ %11601, %11608 ] + %11613 = phi i8 [ %.pre13257, %11597 ], [ %11601, %11608 ] %11614 = phi i64 [ %11599, %11597 ], [ %11611, %11608 ] store i64 %11614, ptr %22, align 8 %11615 = icmp eq i8 %11613, 4 br i1 %11615, label %11616, label %11625 11616: ; preds = %11612 - %.not10971 = icmp eq i8 %2495, -1 + %.not10969 = icmp eq i8 %2495, -1 %11617 = and i32 %2502, 64 - %.not10972 = icmp eq i32 %11617, 0 - %or.cond11929 = select i1 %.not10971, i1 true, i1 %.not10972 - br i1 %or.cond11929, label %thread-pre-split12605, label %11618 + %.not10970 = icmp eq i32 %11617, 0 + %or.cond11927 = select i1 %.not10969, i1 true, i1 %.not10970 + br i1 %or.cond11927, label %thread-pre-split12602, label %11618 11618: ; preds = %11616 %11619 = load ptr, ptr %2477, align 8 @@ -40221,16 +40221,16 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %11621 = sext i32 %11620 to i64 %11622 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %11619, i64 %11621, i32 1 %11623 = load i8, ptr %11622, align 4 - %.not10973 = icmp sgt i8 %11623, -1 - %11624 = call fastcc zeroext i1 @zend_jit_fetch_indirect_var(ptr noundef %17, ptr noundef nonnull %2501, i8 noundef zeroext %2495, ptr noundef %20, ptr noundef %22, i1 noundef zeroext %.not10973) + %.not10971 = icmp sgt i8 %11623, -1 + %11624 = call fastcc zeroext i1 @zend_jit_fetch_indirect_var(ptr noundef %17, ptr noundef nonnull %2501, i8 noundef zeroext %2495, ptr noundef %20, ptr noundef %22, i1 noundef zeroext %.not10971) br i1 %11624, label %11625, label %zend_jit_stack_check.exit.thread -11625: ; preds = %.thread13350, %11618, %11612 - %.not10974 = icmp eq i8 %2495, -1 +11625: ; preds = %.thread13347, %11618, %11612 + %.not10972 = icmp eq i8 %2495, -1 %11626 = and i32 %2502, 32 - %.not10975 = icmp eq i32 %11626, 0 - %or.cond11930 = select i1 %.not10974, i1 true, i1 %.not10975 - br i1 %or.cond11930, label %11652, label %11627 + %.not10973 = icmp eq i32 %11626, 0 + %or.cond11928 = select i1 %.not10972, i1 true, i1 %.not10973 + br i1 %or.cond11928, label %11652, label %11627 11627: ; preds = %11625 %11628 = load ptr, ptr %2477, align 8 @@ -40239,8 +40239,8 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %11631 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %11628, i64 %11630, i32 1 %11632 = load i8, ptr %11631, align 4 %11633 = and i8 %11632, 64 - %.not10981 = icmp eq i8 %11633, 0 - %11634 = call fastcc zeroext i1 @zend_jit_fetch_reference(ptr noundef %17, ptr noundef nonnull %2501, i8 noundef zeroext %2495, ptr noundef %20, ptr noundef %22, i1 noundef zeroext %.not10981) + %.not10979 = icmp eq i8 %11633, 0 + %11634 = call fastcc zeroext i1 @zend_jit_fetch_reference(ptr noundef %17, ptr noundef nonnull %2501, i8 noundef zeroext %2495, ptr noundef %20, ptr noundef %22, i1 noundef zeroext %.not10979) br i1 %11634, label %11635, label %zend_jit_stack_check.exit.thread 11635: ; preds = %11627 @@ -40274,15 +40274,15 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 11654: ; preds = %11652 %11655 = load i32, ptr %20, align 4 %11656 = and i32 %11655, 268435456 - %.not10977 = icmp eq i32 %11656, 0 - br i1 %.not10977, label %11744, label %11657 + %.not10975 = icmp eq i32 %11656, 0 + br i1 %.not10975, label %11744, label %11657 11657: ; preds = %11654 %11658 = getelementptr inbounds nuw i8, ptr %2501, i64 8 %11659 = load i32, ptr %11658, align 8 %11660 = call fastcc i32 @zend_jit_type_guard(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %11659, i8 noundef zeroext %2504) - %.not10978 = icmp eq i32 %11660, 0 - br i1 %.not10978, label %zend_jit_stack_check.exit.thread, label %11661 + %.not10976 = icmp eq i32 %11660, 0 + br i1 %.not10976, label %zend_jit_stack_check.exit.thread, label %11661 11661: ; preds = %11657 %11662 = load ptr, ptr %2478, align 8 @@ -40291,13 +40291,13 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %11665 = getelementptr inbounds %struct._zend_ssa_var, ptr %11662, i64 %11664, i32 7 %11666 = load i8, ptr %11665, align 8 %11667 = and i8 %11666, 12 - %.not10979 = icmp eq i8 %11667, 0 + %.not10977 = icmp eq i8 %11667, 0 %11668 = load i32, ptr %11658, align 8 %11669 = lshr i32 %11668, 4 %11670 = add nsw i32 %11669, -5 %11671 = zext i32 %11670 to i64 %11672 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %11671 - br i1 %.not10979, label %11706, label %11673 + br i1 %.not10977, label %11706, label %11673 11673: ; preds = %11661 store i8 -1, ptr %11672, align 4 @@ -40337,10 +40337,10 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 store i8 0, ptr %11702, align 1 %11703 = shl nuw i32 1, %11653 %11704 = icmp ult i8 %2504, 6 - %.not10980 = icmp eq i8 %2504, 7 + %.not10978 = icmp eq i8 %2504, 7 %11705 = or i32 %11703, -1073741824 - %spec.select12049 = select i1 %.not10980, i32 -520095616, i32 %11705 - %.09836 = select i1 %11704, i32 %11703, i32 %spec.select12049 + %spec.select12047 = select i1 %.not10978, i32 -520095616, i32 %11705 + %.09836 = select i1 %11704, i32 %11703, i32 %spec.select12047 store i32 %.09836, ptr %20, align 4 br label %11744 @@ -40402,8 +40402,8 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %11749 = getelementptr inbounds nuw i8, ptr %.09771, i64 4 %11750 = load i32, ptr %11749, align 4 %11751 = and i32 %11750, 33554432 - %.not10983 = icmp eq i32 %11751, 0 - br i1 %.not10983, label %11757, label %11752 + %.not10981 = icmp eq i32 %11751, 0 + br i1 %.not10981, label %11757, label %11752 11752: ; preds = %11748 %11753 = getelementptr inbounds nuw i8, ptr %2501, i64 12 @@ -40426,7 +40426,7 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %11766 = getelementptr inbounds nuw i8, ptr %11765, i64 8 %11767 = load i8, ptr %11766, align 8 switch i8 %11767, label %11770 [ - i8 11, label %.thread12469 + i8 11, label %.thread12466 i8 7, label %11768 ] @@ -40439,8 +40439,8 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %11772 = shl nuw i32 1, %11771 %11773 = getelementptr inbounds nuw i8, ptr %11765, i64 9 %11774 = load i8, ptr %11773, align 1 - %.not10984 = icmp eq i8 %11774, 0 - br i1 %.not10984, label %11777, label %11775 + %.not10982 = icmp eq i8 %11774, 0 + br i1 %.not10982, label %11777, label %11775 11775: ; preds = %11770 %11776 = or i32 %11772, -1073741824 @@ -40448,19 +40448,19 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 11777: ; preds = %11770 %11778 = icmp eq i8 %11767, 6 - %spec.select11931 = select i1 %11778, i32 -2147483584, i32 %11772 + %spec.select11929 = select i1 %11778, i32 -2147483584, i32 %11772 br label %11789 11779: ; preds = %11744 %11780 = load ptr, ptr %2477, align 8 - %.not10982 = icmp eq ptr %11780, null - br i1 %.not10982, label %.thread12469, label %11781 + %.not10980 = icmp eq ptr %11780, null + br i1 %.not10980, label %.thread12466, label %11781 11781: ; preds = %11779 %11782 = getelementptr inbounds nuw i8, ptr %.09621, i64 4 %11783 = load i32, ptr %11782, align 4 %11784 = icmp sgt i32 %11783, -1 - br i1 %11784, label %11785, label %.thread12469 + br i1 %11784, label %11785, label %.thread12466 11785: ; preds = %11781 %11786 = zext nneg i32 %11783 to i64 @@ -40468,27 +40468,27 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %11788 = load i32, ptr %11787, align 8 br label %11789 -.thread12469: ; preds = %11764, %11781, %11779 +.thread12466: ; preds = %11764, %11781, %11779 %.09910.ph = phi i32 [ -486539265, %11781 ], [ -521143298, %11764 ], [ -486539265, %11779 ] store i32 %.09910.ph, ptr %21, align 4 br label %11880 11789: ; preds = %11777, %11785, %11768, %11775 - %.09910 = phi i32 [ %11769, %11768 ], [ %11776, %11775 ], [ %spec.select11931, %11777 ], [ %11788, %11785 ] + %.09910 = phi i32 [ %11769, %11768 ], [ %11776, %11775 ], [ %spec.select11929, %11777 ], [ %11788, %11785 ] store i32 %.09910, ptr %21, align 4 %11790 = zext nneg i8 %spec.store.select to i32 - %.not10985 = icmp eq i8 %spec.store.select, -1 + %.not10983 = icmp eq i8 %spec.store.select, -1 %11791 = and i32 %.09910, 268435456 - %.not10986 = icmp eq i32 %11791, 0 - %or.cond11932 = select i1 %.not10985, i1 true, i1 %.not10986 - br i1 %or.cond11932, label %11880, label %11792 + %.not10984 = icmp eq i32 %11791, 0 + %or.cond11930 = select i1 %.not10983, i1 true, i1 %.not10984 + br i1 %or.cond11930, label %11880, label %11792 11792: ; preds = %11789 %11793 = getelementptr inbounds nuw i8, ptr %2501, i64 12 %11794 = load i32, ptr %11793, align 4 %11795 = call fastcc i32 @zend_jit_type_guard(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %11794, i8 noundef zeroext %spec.store.select) - %.not10987 = icmp eq i32 %11795, 0 - br i1 %.not10987, label %zend_jit_stack_check.exit.thread, label %11796 + %.not10985 = icmp eq i32 %11795, 0 + br i1 %.not10985, label %zend_jit_stack_check.exit.thread, label %11796 11796: ; preds = %11792 %11797 = load ptr, ptr %2478, align 8 @@ -40498,13 +40498,13 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %11801 = getelementptr inbounds %struct._zend_ssa_var, ptr %11797, i64 %11800, i32 7 %11802 = load i8, ptr %11801, align 8 %11803 = and i8 %11802, 12 - %.not10988 = icmp eq i8 %11803, 0 + %.not10986 = icmp eq i8 %11803, 0 %11804 = load i32, ptr %11793, align 4 %11805 = lshr i32 %11804, 4 %11806 = add nsw i32 %11805, -5 %11807 = zext i32 %11806 to i64 %11808 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %11807 - br i1 %.not10988, label %11842, label %11809 + br i1 %.not10986, label %11842, label %11809 11809: ; preds = %11796 store i8 -1, ptr %11808, align 4 @@ -40544,10 +40544,10 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 store i8 0, ptr %11838, align 1 %11839 = shl nuw i32 1, %11790 %11840 = icmp ult i8 %spec.store.select, 6 - %.not10989 = icmp eq i8 %spec.store.select, 7 + %.not10987 = icmp eq i8 %spec.store.select, 7 %11841 = or i32 %11839, -1073741824 - %spec.select12050 = select i1 %.not10989, i32 -520095616, i32 %11841 - %.09835 = select i1 %11840, i32 %11839, i32 %spec.select12050 + %spec.select12048 = select i1 %.not10987, i32 -520095616, i32 %11841 + %.09835 = select i1 %11840, i32 %11839, i32 %spec.select12048 store i32 %.09835, ptr %21, align 4 br label %11880 @@ -40597,16 +40597,16 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %11878 = load i32, ptr %11877, align 8 %11879 = and i32 %11878, %11873 store i32 %11879, ptr %11877, align 8 - %.pre13261 = load i32, ptr %21, align 4 + %.pre13258 = load i32, ptr %21, align 4 br label %11880 -11880: ; preds = %.thread12469, %11789, %11809, %11842 - %11881 = phi i32 [ %.09910.ph, %.thread12469 ], [ %.09910, %11789 ], [ %.09835, %11809 ], [ %.pre13261, %11842 ] +11880: ; preds = %.thread12466, %11789, %11809, %11842 + %11881 = phi i32 [ %.09910.ph, %.thread12466 ], [ %.09910, %11789 ], [ %.09835, %11809 ], [ %.pre13258, %11842 ] %11882 = load i32, ptr %20, align 4 %11883 = load i64, ptr %22, align 8 %11884 = load ptr, ptr %2479, align 8 - %.not10991 = icmp eq ptr %11884, null - br i1 %.not10991, label %11896, label %11885 + %.not10989 = icmp eq ptr %11884, null + br i1 %.not10989, label %11896, label %11885 11885: ; preds = %11880 %11886 = getelementptr inbounds nuw i8, ptr %.09621, i64 20 @@ -40618,8 +40618,8 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %11890 = zext nneg i32 %11887 to i64 %11891 = getelementptr inbounds nuw %struct._zend_jit_reg_var, ptr %11884, i64 %11890 %11892 = load i32, ptr %11891, align 4 - %.not10992 = icmp eq i32 %11892, 0 - br i1 %.not10992, label %11896, label %11893 + %.not10990 = icmp eq i32 %11892, 0 + br i1 %.not10990, label %11896, label %11893 11893: ; preds = %11889 %11894 = shl nuw nsw i64 %11890, 2 @@ -40649,18 +40649,18 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 11910: ; preds = %11902, %11906, %11893 %11911 = phi i64 [ %11895, %11893 ], [ %11905, %11902 ], [ %11909, %11906 ] %11912 = call fastcc i32 @zend_jit_fetch_dim(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %11882, i64 noundef %11883, i32 noundef %11881, i64 noundef %11911, i8 noundef zeroext %.09584) - %.not10993 = icmp eq i32 %11912, 0 - br i1 %.not10993, label %zend_jit_stack_check.exit.thread, label %11913 + %.not10991 = icmp eq i32 %11912, 0 + br i1 %.not10991, label %zend_jit_stack_check.exit.thread, label %11913 11913: ; preds = %11910 %11914 = getelementptr inbounds nuw i8, ptr %.09621, i64 20 %11915 = load i32, ptr %11914, align 4 %11916 = icmp sgt i32 %11915, 0 - br i1 %11916, label %11917, label %thread-pre-split12618 + br i1 %11916, label %11917, label %thread-pre-split12615 11917: ; preds = %11913 %11918 = load i8, ptr %2529, align 4 - switch i8 %11918, label %14925 [ + switch i8 %11918, label %14924 [ i8 84, label %11919 i8 -101, label %11919 ] @@ -40668,14 +40668,14 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 11919: ; preds = %11917, %11917 %11920 = load i32, ptr %20, align 4 %11921 = and i32 %11920, 1916 - %.not10994 = icmp eq i32 %11921, 0 - br i1 %.not10994, label %11922, label %thread-pre-split12618 + %.not10992 = icmp eq i32 %11921, 0 + br i1 %.not10992, label %11922, label %thread-pre-split12615 11922: ; preds = %11919 %11923 = load i32, ptr %21, align 4 %11924 = and i32 %11923, 897 - %.not10995 = icmp eq i32 %11924, 0 - br i1 %.not10995, label %11925, label %thread-pre-split12618 + %.not10993 = icmp eq i32 %11924, 0 + br i1 %.not10993, label %11925, label %thread-pre-split12615 11925: ; preds = %11922 %11926 = load ptr, ptr %2477, align 8 @@ -40684,14 +40684,14 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %11929 = load i8, ptr %11928, align 4 %11930 = or i8 %11929, -128 store i8 %11930, ptr %11928, align 4 - br label %thread-pre-split12618 + br label %thread-pre-split12615 11931: ; preds = %2538 %11932 = getelementptr inbounds nuw i8, ptr %2501, i64 20 %11933 = load i32, ptr %11932, align 4 %11934 = and i32 %11933, 1 - %.not10935 = icmp eq i32 %11934, 0 - br i1 %.not10935, label %11935, label %thread-pre-split12605 + %.not10933 = icmp eq i32 %11934, 0 + br i1 %.not10933, label %11935, label %thread-pre-split12602 11935: ; preds = %11931 %11936 = getelementptr inbounds nuw i8, ptr %2501, i64 29 @@ -40703,8 +40703,8 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %11940 = getelementptr inbounds nuw i8, ptr %.09771, i64 4 %11941 = load i32, ptr %11940, align 4 %11942 = and i32 %11941, 33554432 - %.not10937 = icmp eq i32 %11942, 0 - br i1 %.not10937, label %11948, label %11943 + %.not10935 = icmp eq i32 %11942, 0 + br i1 %.not10935, label %11948, label %11943 11943: ; preds = %11939 %11944 = getelementptr inbounds nuw i8, ptr %2501, i64 8 @@ -40727,55 +40727,55 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %11957 = getelementptr inbounds nuw i8, ptr %11956, i64 8 %11958 = load i8, ptr %11957, align 8 switch i8 %11958, label %11961 [ - i8 11, label %.thread12474 + i8 11, label %.thread12471 i8 7, label %11959 ] 11959: ; preds = %11955 %11960 = call i32 @zend_array_type_info(ptr noundef nonnull %11956) #33 - br label %.thread12474 + br label %.thread12471 11961: ; preds = %11955 %11962 = zext nneg i8 %11958 to i32 %11963 = shl nuw i32 1, %11962 %11964 = getelementptr inbounds nuw i8, ptr %11956, i64 9 %11965 = load i8, ptr %11964, align 1 - %.not10938 = icmp eq i8 %11965, 0 - br i1 %.not10938, label %11968, label %11966 + %.not10936 = icmp eq i8 %11965, 0 + br i1 %.not10936, label %11968, label %11966 11966: ; preds = %11961 %11967 = or i32 %11963, -1073741824 - br label %.thread12474 + br label %.thread12471 11968: ; preds = %11961 %11969 = icmp eq i8 %11958, 6 - %spec.select11933 = select i1 %11969, i32 -2147483584, i32 %11963 - br label %.thread12474 + %spec.select11931 = select i1 %11969, i32 -2147483584, i32 %11963 + br label %.thread12471 11970: ; preds = %11935 %11971 = load ptr, ptr %2477, align 8 - %.not10936 = icmp eq ptr %11971, null - br i1 %.not10936, label %.thread12474, label %11972 + %.not10934 = icmp eq ptr %11971, null + br i1 %.not10934, label %.thread12471, label %11972 11972: ; preds = %11970 %11973 = load i32, ptr %.09621, align 4 %11974 = icmp sgt i32 %11973, -1 - br i1 %11974, label %11975, label %.thread12474 + br i1 %11974, label %11975, label %.thread12471 11975: ; preds = %11972 %11976 = zext nneg i32 %11973 to i64 %11977 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %11971, i64 %11976 %11978 = load i32, ptr %11977, align 8 - br label %.thread12474 + br label %.thread12471 -.thread12474: ; preds = %11970, %11968, %11975, %11972, %11959, %11955, %11966 - %11979 = phi i32 [ %11960, %11959 ], [ -521143298, %11955 ], [ %11967, %11966 ], [ %spec.select11933, %11968 ], [ %11978, %11975 ], [ -486539265, %11972 ], [ -486539265, %11970 ] +.thread12471: ; preds = %11970, %11968, %11975, %11972, %11959, %11955, %11966 + %11979 = phi i32 [ %11960, %11959 ], [ -521143298, %11955 ], [ %11967, %11966 ], [ %spec.select11931, %11968 ], [ %11978, %11975 ], [ -486539265, %11972 ], [ -486539265, %11970 ] store i32 %11979, ptr %20, align 4 %11980 = load ptr, ptr %2479, align 8 - %.not10939 = icmp eq ptr %11980, null - br i1 %.not10939, label %11991, label %11981 + %.not10937 = icmp eq ptr %11980, null + br i1 %.not10937, label %11991, label %11981 -11981: ; preds = %.thread12474 +11981: ; preds = %.thread12471 %11982 = load i32, ptr %.09621, align 4 %11983 = icmp sgt i32 %11982, -1 br i1 %11983, label %11984, label %11991 @@ -40784,15 +40784,15 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %11985 = zext nneg i32 %11982 to i64 %11986 = getelementptr inbounds nuw %struct._zend_jit_reg_var, ptr %11980, i64 %11985 %11987 = load i32, ptr %11986, align 4 - %.not10940 = icmp eq i32 %11987, 0 - br i1 %.not10940, label %11991, label %11988 + %.not10938 = icmp eq i32 %11987, 0 + br i1 %.not10938, label %11991, label %11988 11988: ; preds = %11984 %11989 = shl nuw nsw i64 %11985, 2 %11990 = or disjoint i64 %11989, 2 br label %12004 -11991: ; preds = %11984, %11981, %.thread12474 +11991: ; preds = %11984, %11981, %.thread12471 %11992 = load i8, ptr %11936, align 1 %11993 = icmp eq i8 %11992, 1 %11994 = getelementptr inbounds nuw i8, ptr %2501, i64 8 @@ -40816,9 +40816,9 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 store i64 %12005, ptr %22, align 8 %12006 = icmp ne i8 %2495, -1 %12007 = and i32 %2502, 32 - %.not10941 = icmp ne i32 %12007, 0 - %or.cond11935.not = select i1 %12006, i1 %.not10941, i1 false - br i1 %or.cond11935.not, label %12008, label %12032 + %.not10939 = icmp ne i32 %12007, 0 + %or.cond11933.not = select i1 %12006, i1 %.not10939, i1 false + br i1 %or.cond11933.not, label %12008, label %12032 12008: ; preds = %12004 %12009 = load ptr, ptr %2477, align 8 @@ -40827,8 +40827,8 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %12012 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %12009, i64 %12011, i32 1 %12013 = load i8, ptr %12012, align 4 %12014 = and i8 %12013, 64 - %.not10947 = icmp eq i8 %12014, 0 - %12015 = call fastcc zeroext i1 @zend_jit_fetch_reference(ptr noundef %17, ptr noundef nonnull %2501, i8 noundef zeroext %2495, ptr noundef %20, ptr noundef %22, i1 noundef zeroext %.not10947) + %.not10945 = icmp eq i8 %12014, 0 + %12015 = call fastcc zeroext i1 @zend_jit_fetch_reference(ptr noundef %17, ptr noundef nonnull %2501, i8 noundef zeroext %2495, ptr noundef %20, ptr noundef %22, i1 noundef zeroext %.not10945) br i1 %12015, label %12016, label %zend_jit_stack_check.exit.thread 12016: ; preds = %12008 @@ -40857,16 +40857,16 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 12032: ; preds = %12004 %12033 = zext nneg i8 %.19588 to i32 %12034 = and i32 %11979, 268435456 - %.not10943 = icmp eq i32 %12034, 0 - %or.cond13552 = select i1 %.not10749, i1 true, i1 %.not10943 - br i1 %or.cond13552, label %12122, label %12035 + %.not10941 = icmp eq i32 %12034, 0 + %or.cond13549 = select i1 %.not10749, i1 true, i1 %.not10941 + br i1 %or.cond13549, label %12122, label %12035 12035: ; preds = %12032 %12036 = getelementptr inbounds nuw i8, ptr %2501, i64 8 %12037 = load i32, ptr %12036, align 8 %12038 = call fastcc i32 @zend_jit_type_guard(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %12037, i8 noundef zeroext %2504) - %.not10944 = icmp eq i32 %12038, 0 - br i1 %.not10944, label %zend_jit_stack_check.exit.thread, label %12039 + %.not10942 = icmp eq i32 %12038, 0 + br i1 %.not10942, label %zend_jit_stack_check.exit.thread, label %12039 12039: ; preds = %12035 %12040 = load ptr, ptr %2478, align 8 @@ -40875,13 +40875,13 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %12043 = getelementptr inbounds %struct._zend_ssa_var, ptr %12040, i64 %12042, i32 7 %12044 = load i8, ptr %12043, align 8 %12045 = and i8 %12044, 12 - %.not10945 = icmp eq i8 %12045, 0 + %.not10943 = icmp eq i8 %12045, 0 %12046 = load i32, ptr %12036, align 8 %12047 = lshr i32 %12046, 4 %12048 = add nsw i32 %12047, -5 %12049 = zext i32 %12048 to i64 %12050 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %12049 - br i1 %.not10945, label %12084, label %12051 + br i1 %.not10943, label %12084, label %12051 12051: ; preds = %12039 store i8 -1, ptr %12050, align 4 @@ -40921,10 +40921,10 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 store i8 0, ptr %12080, align 1 %12081 = shl nuw i32 1, %12033 %12082 = icmp ult i8 %2504, 6 - %.not10946 = icmp eq i8 %2504, 7 + %.not10944 = icmp eq i8 %2504, 7 %12083 = or i32 %12081, -1073741824 - %spec.select12051 = select i1 %.not10946, i32 -520095616, i32 %12083 - %.09834 = select i1 %12082, i32 %12081, i32 %spec.select12051 + %spec.select12049 = select i1 %.not10944, i32 -520095616, i32 %12083 + %.09834 = select i1 %12082, i32 %12081, i32 %spec.select12049 store i32 %.09834, ptr %20, align 4 br label %12122 @@ -40986,8 +40986,8 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %12127 = getelementptr inbounds nuw i8, ptr %.09771, i64 4 %12128 = load i32, ptr %12127, align 4 %12129 = and i32 %12128, 33554432 - %.not10949 = icmp eq i32 %12129, 0 - br i1 %.not10949, label %12135, label %12130 + %.not10947 = icmp eq i32 %12129, 0 + br i1 %.not10947, label %12135, label %12130 12130: ; preds = %12126 %12131 = getelementptr inbounds nuw i8, ptr %2501, i64 12 @@ -41010,7 +41010,7 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %12144 = getelementptr inbounds nuw i8, ptr %12143, i64 8 %12145 = load i8, ptr %12144, align 8 switch i8 %12145, label %12148 [ - i8 11, label %.thread12479 + i8 11, label %.thread12476 i8 7, label %12146 ] @@ -41023,8 +41023,8 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %12150 = shl nuw i32 1, %12149 %12151 = getelementptr inbounds nuw i8, ptr %12143, i64 9 %12152 = load i8, ptr %12151, align 1 - %.not10950 = icmp eq i8 %12152, 0 - br i1 %.not10950, label %12155, label %12153 + %.not10948 = icmp eq i8 %12152, 0 + br i1 %.not10948, label %12155, label %12153 12153: ; preds = %12148 %12154 = or i32 %12150, -1073741824 @@ -41032,19 +41032,19 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 12155: ; preds = %12148 %12156 = icmp eq i8 %12145, 6 - %spec.select11936 = select i1 %12156, i32 -2147483584, i32 %12150 + %spec.select11934 = select i1 %12156, i32 -2147483584, i32 %12150 br label %12167 12157: ; preds = %12122 %12158 = load ptr, ptr %2477, align 8 - %.not10948 = icmp eq ptr %12158, null - br i1 %.not10948, label %.thread12479, label %12159 + %.not10946 = icmp eq ptr %12158, null + br i1 %.not10946, label %.thread12476, label %12159 12159: ; preds = %12157 %12160 = getelementptr inbounds nuw i8, ptr %.09621, i64 4 %12161 = load i32, ptr %12160, align 4 %12162 = icmp sgt i32 %12161, -1 - br i1 %12162, label %12163, label %.thread12479 + br i1 %12162, label %12163, label %.thread12476 12163: ; preds = %12159 %12164 = zext nneg i32 %12161 to i64 @@ -41052,27 +41052,27 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %12166 = load i32, ptr %12165, align 8 br label %12167 -.thread12479: ; preds = %12142, %12159, %12157 +.thread12476: ; preds = %12142, %12159, %12157 %.09911.ph = phi i32 [ -486539265, %12159 ], [ -521143298, %12142 ], [ -486539265, %12157 ] store i32 %.09911.ph, ptr %21, align 4 br label %12258 12167: ; preds = %12155, %12163, %12146, %12153 - %.09911 = phi i32 [ %12147, %12146 ], [ %12154, %12153 ], [ %spec.select11936, %12155 ], [ %12166, %12163 ] + %.09911 = phi i32 [ %12147, %12146 ], [ %12154, %12153 ], [ %spec.select11934, %12155 ], [ %12166, %12163 ] store i32 %.09911, ptr %21, align 4 %12168 = zext nneg i8 %spec.store.select to i32 - %.not10951 = icmp eq i8 %spec.store.select, -1 + %.not10949 = icmp eq i8 %spec.store.select, -1 %12169 = and i32 %.09911, 268435456 - %.not10952 = icmp eq i32 %12169, 0 - %or.cond11937 = select i1 %.not10951, i1 true, i1 %.not10952 - br i1 %or.cond11937, label %12258, label %12170 + %.not10950 = icmp eq i32 %12169, 0 + %or.cond11935 = select i1 %.not10949, i1 true, i1 %.not10950 + br i1 %or.cond11935, label %12258, label %12170 12170: ; preds = %12167 %12171 = getelementptr inbounds nuw i8, ptr %2501, i64 12 %12172 = load i32, ptr %12171, align 4 %12173 = call fastcc i32 @zend_jit_type_guard(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %12172, i8 noundef zeroext %spec.store.select) - %.not10953 = icmp eq i32 %12173, 0 - br i1 %.not10953, label %zend_jit_stack_check.exit.thread, label %12174 + %.not10951 = icmp eq i32 %12173, 0 + br i1 %.not10951, label %zend_jit_stack_check.exit.thread, label %12174 12174: ; preds = %12170 %12175 = load ptr, ptr %2478, align 8 @@ -41082,13 +41082,13 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %12179 = getelementptr inbounds %struct._zend_ssa_var, ptr %12175, i64 %12178, i32 7 %12180 = load i8, ptr %12179, align 8 %12181 = and i8 %12180, 12 - %.not10954 = icmp eq i8 %12181, 0 + %.not10952 = icmp eq i8 %12181, 0 %12182 = load i32, ptr %12171, align 4 %12183 = lshr i32 %12182, 4 %12184 = add nsw i32 %12183, -5 %12185 = zext i32 %12184 to i64 %12186 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %12185 - br i1 %.not10954, label %12220, label %12187 + br i1 %.not10952, label %12220, label %12187 12187: ; preds = %12174 store i8 -1, ptr %12186, align 4 @@ -41128,10 +41128,10 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 store i8 0, ptr %12216, align 1 %12217 = shl nuw i32 1, %12168 %12218 = icmp ult i8 %spec.store.select, 6 - %.not10955 = icmp eq i8 %spec.store.select, 7 + %.not10953 = icmp eq i8 %spec.store.select, 7 %12219 = or i32 %12217, -1073741824 - %spec.select12052 = select i1 %.not10955, i32 -520095616, i32 %12219 - %.09833 = select i1 %12218, i32 %12217, i32 %spec.select12052 + %spec.select12050 = select i1 %.not10953, i32 -520095616, i32 %12219 + %.09833 = select i1 %12218, i32 %12217, i32 %spec.select12050 store i32 %.09833, ptr %21, align 4 br label %12258 @@ -41183,12 +41183,12 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 store i32 %12257, ptr %12255, align 8 br label %12258 -12258: ; preds = %.thread12479, %12167, %12187, %12220 +12258: ; preds = %.thread12476, %12167, %12187, %12220 %12259 = getelementptr inbounds nuw i8, ptr %2501, i64 31 %12260 = load i8, ptr %12259, align 1 %12261 = and i8 %12260, 48 - %.not10956 = icmp eq i8 %12261, 0 - br i1 %.not10956, label %12331, label %12262 + %.not10954 = icmp eq i8 %12261, 0 + br i1 %.not10954, label %12331, label %12262 12262: ; preds = %12258 %12263 = getelementptr inbounds nuw i8, ptr %.39762, i64 16 @@ -41251,8 +41251,8 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %12299 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %12297, i64 %12298, i32 1 %12300 = load i8, ptr %12299, align 4 %12301 = and i8 %12300, 32 - %.not10958 = icmp eq i8 %12301, 0 - br i1 %.not10958, label %12325, label %12302 + %.not10956 = icmp eq i8 %12301, 0 + br i1 %.not10956, label %12325, label %12302 12302: ; preds = %12296 %12303 = load ptr, ptr getelementptr inbounds nuw (i8, ptr @jit_globals, i64 184), align 8 @@ -41289,8 +41289,8 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 12327: ; preds = %12325, %12302 %.09452 = phi i32 [ %12319, %12302 ], [ %12326, %12325 ] %12328 = call fastcc ptr @zend_jit_trace_get_exit_addr(i32 noundef %.09452) - %.not10959 = icmp eq ptr %12328, null - br i1 %.not10959, label %zend_jit_stack_check.exit.thread, label %12329 + %.not10957 = icmp eq ptr %12328, null + br i1 %.not10957, label %zend_jit_stack_check.exit.thread, label %12329 12329: ; preds = %12327 %12330 = select i1 %.09970.in, i8 44, i8 43 @@ -41316,8 +41316,8 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %12342 = phi i1 [ false, %12331 ], [ %12340, %12334 ] %12343 = load i32, ptr %20, align 4 %12344 = and i32 %12343, 134217728 - %.not10960 = icmp eq i32 %12344, 0 - br i1 %.not10960, label %12351, label %12345 + %.not10958 = icmp eq i32 %12344, 0 + br i1 %.not10958, label %12351, label %12345 12345: ; preds = %12341 %12346 = load ptr, ptr %2477, align 8 @@ -41326,8 +41326,8 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %12349 = load i32, ptr %12348, align 8 %12350 = and i32 %12349, -134217729 store i32 %12350, ptr %12348, align 8 - %.pre13258 = load i32, ptr %20, align 4 - %.pre13259 = load i32, ptr %21, align 4 + %.pre13255 = load i32, ptr %20, align 4 + %.pre13256 = load i32, ptr %21, align 4 br label %12367 12351: ; preds = %12341 @@ -41336,8 +41336,8 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %12354 = icmp ne i32 %12353, 16 %12355 = and i32 %12343, 2098175 %12356 = icmp ne i32 %12355, 2097280 - %or.cond11940 = or i1 %12356, %12354 - br i1 %or.cond11940, label %12367, label %12357 + %or.cond11938 = or i1 %12356, %12354 + br i1 %or.cond11938, label %12367, label %12357 12357: ; preds = %12351 %12358 = and i32 %12343, 12582912 @@ -41348,8 +41348,8 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 12360: ; preds = %12357 %12361 = or disjoint i32 %12343, 134217728 %12362 = and i32 %2502, 16 - %.not10962 = icmp eq i32 %12362, 0 - br i1 %.not10962, label %12365, label %12363 + %.not10960 = icmp eq i32 %12362, 0 + br i1 %.not10960, label %12365, label %12363 12363: ; preds = %12360 %12364 = and i32 %12361, -12583808 @@ -41362,43 +41362,43 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 br label %12367 12367: ; preds = %12351, %12357, %12365, %12363, %12345 - %12368 = phi i32 [ %12352, %12351 ], [ %12352, %12357 ], [ %12352, %12365 ], [ %12352, %12363 ], [ %.pre13259, %12345 ] - %12369 = phi i32 [ %12343, %12351 ], [ %12343, %12357 ], [ %12366, %12365 ], [ %12364, %12363 ], [ %.pre13258, %12345 ] + %12368 = phi i32 [ %12352, %12351 ], [ %12352, %12357 ], [ %12352, %12365 ], [ %12352, %12363 ], [ %.pre13256, %12345 ] + %12369 = phi i32 [ %12343, %12351 ], [ %12343, %12357 ], [ %12366, %12365 ], [ %12364, %12363 ], [ %.pre13255, %12345 ] %12370 = load i64, ptr %22, align 8 %12371 = call zeroext i1 @zend_may_throw_ex(ptr noundef nonnull %2501, ptr noundef nonnull %.09621, ptr noundef %.09771, ptr noundef nonnull %40, i32 noundef %12369, i32 noundef %12368) #33 %12372 = zext i1 %12371 to i32 %12373 = call fastcc i32 @zend_jit_isset_isempty_dim(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %12369, i64 noundef %12370, i1 noundef zeroext %12342, i32 noundef %12368, i8 noundef zeroext %.09584, i32 noundef %12372, i8 noundef zeroext %.69752, i32 noundef -1, i32 noundef -1, ptr noundef %.59745) - %.not10963 = icmp eq i32 %12373, 0 - br i1 %.not10963, label %zend_jit_stack_check.exit.thread, label %thread-pre-split12618 + %.not10961 = icmp eq i32 %12373, 0 + br i1 %.not10961, label %zend_jit_stack_check.exit.thread, label %thread-pre-split12615 12374: ; preds = %2538 %12375 = load ptr, ptr getelementptr inbounds nuw (i8, ptr @jit_globals, i64 184), align 8 - %.not10901 = icmp eq ptr %12375, null - br i1 %.not10901, label %.thread12608, label %12376 + %.not10899 = icmp eq ptr %12375, null + br i1 %.not10899, label %.thread12605, label %12376 12376: ; preds = %12374 %12377 = load ptr, ptr %12375, align 8 - %.not10902 = icmp eq ptr %12377, null - br i1 %.not10902, label %thread-pre-split12605, label %12378 + %.not10900 = icmp eq ptr %12377, null + br i1 %.not10900, label %thread-pre-split12602, label %12378 12378: ; preds = %12376 %12379 = getelementptr inbounds nuw i8, ptr %12377, i64 16 %12380 = load ptr, ptr %12379, align 8 - %.not10903 = icmp eq ptr %12380, null - br i1 %.not10903, label %thread-pre-split12605, label %12381 + %.not10901 = icmp eq ptr %12380, null + br i1 %.not10901, label %thread-pre-split12602, label %12381 12381: ; preds = %12378 %12382 = getelementptr inbounds nuw i8, ptr %12377, i64 44 %12383 = load i32, ptr %12382, align 4 %12384 = and i32 %12383, 4 - %.not10904 = icmp eq i32 %12384, 0 - br i1 %.not10904, label %thread-pre-split12605, label %12385 + %.not10902 = icmp eq i32 %12384, 0 + br i1 %.not10902, label %thread-pre-split12602, label %12385 12385: ; preds = %12381, %2538, %2538, %2538 %12386 = getelementptr inbounds nuw i8, ptr %2501, i64 30 %12387 = load i8, ptr %12386, align 2 - %.not10905 = icmp eq i8 %12387, 1 - br i1 %.not10905, label %12388, label %thread-pre-split12605 + %.not10903 = icmp eq i8 %12387, 1 + br i1 %.not10903, label %12388, label %thread-pre-split12602 12388: ; preds = %12385 %12389 = getelementptr inbounds nuw i8, ptr %2501, i64 12 @@ -41407,15 +41407,15 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %12392 = getelementptr inbounds i8, ptr %2501, i64 %12391 %12393 = getelementptr inbounds nuw i8, ptr %12392, i64 8 %12394 = load i8, ptr %12393, align 8 - %.not10906 = icmp eq i8 %12394, 6 - br i1 %.not10906, label %12395, label %thread-pre-split12605 + %.not10904 = icmp eq i8 %12394, 6 + br i1 %.not10904, label %12395, label %thread-pre-split12602 12395: ; preds = %12388 %12396 = load ptr, ptr %12392, align 8 %12397 = getelementptr inbounds nuw i8, ptr %12396, i64 24 %12398 = load i8, ptr %12397, align 8 %12399 = icmp eq i8 %12398, 0 - br i1 %12399, label %thread-pre-split12605, label %12400 + br i1 %12399, label %thread-pre-split12602, label %12400 12400: ; preds = %12395 %12401 = getelementptr inbounds nuw i8, ptr %2501, i64 29 @@ -41440,8 +41440,8 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %12411 = getelementptr inbounds nuw i8, ptr %.09771, i64 4 %12412 = load i32, ptr %12411, align 4 %12413 = and i32 %12412, 33554432 - %.not10908 = icmp eq i32 %12413, 0 - br i1 %.not10908, label %12419, label %12414 + %.not10906 = icmp eq i32 %12413, 0 + br i1 %.not10906, label %12419, label %12414 12414: ; preds = %12410 %12415 = getelementptr inbounds nuw i8, ptr %2501, i64 8 @@ -41464,7 +41464,7 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %12428 = getelementptr inbounds nuw i8, ptr %12427, i64 8 %12429 = load i8, ptr %12428, align 8 switch i8 %12429, label %12432 [ - i8 11, label %.thread12487 + i8 11, label %.thread12484 i8 7, label %12430 ] @@ -41477,8 +41477,8 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %12434 = shl nuw i32 1, %12433 %12435 = getelementptr inbounds nuw i8, ptr %12427, i64 9 %12436 = load i8, ptr %12435, align 1 - %.not10909 = icmp eq i8 %12436, 0 - br i1 %.not10909, label %12439, label %12437 + %.not10907 = icmp eq i8 %12436, 0 + br i1 %.not10907, label %12439, label %12437 12437: ; preds = %12432 %12438 = or i32 %12434, -1073741824 @@ -41486,18 +41486,18 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 12439: ; preds = %12432 %12440 = icmp eq i8 %12429, 6 - %spec.select11941 = select i1 %12440, i32 -2147483584, i32 %12434 + %spec.select11939 = select i1 %12440, i32 -2147483584, i32 %12434 br label %12450 12441: ; preds = %12400 %12442 = load ptr, ptr %2477, align 8 - %.not10907 = icmp eq ptr %12442, null - br i1 %.not10907, label %.thread12487, label %12443 + %.not10905 = icmp eq ptr %12442, null + br i1 %.not10905, label %.thread12484, label %12443 12443: ; preds = %12441 %12444 = load i32, ptr %.09621, align 4 %12445 = icmp sgt i32 %12444, -1 - br i1 %12445, label %12446, label %.thread12487 + br i1 %12445, label %12446, label %.thread12484 12446: ; preds = %12443 %12447 = zext nneg i32 %12444 to i64 @@ -41505,22 +41505,22 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %12449 = load i32, ptr %12448, align 8 br label %12450 -.thread12487: ; preds = %12426, %12443, %12441 +.thread12484: ; preds = %12426, %12443, %12441 %.09924.ph = phi i32 [ -486539265, %12443 ], [ -521143298, %12426 ], [ -486539265, %12441 ] store i32 %.09924.ph, ptr %20, align 4 br label %12452 12450: ; preds = %12439, %12446, %12430, %12437 - %.09924 = phi i32 [ %12431, %12430 ], [ %12438, %12437 ], [ %spec.select11941, %12439 ], [ %12449, %12446 ] + %.09924 = phi i32 [ %12431, %12430 ], [ %12438, %12437 ], [ %spec.select11939, %12439 ], [ %12449, %12446 ] store i32 %.09924, ptr %20, align 4 %12451 = and i32 %.09924, 256 - %.not10910 = icmp eq i32 %12451, 0 - br i1 %.not10910, label %thread-pre-split12605, label %12452 + %.not10908 = icmp eq i32 %12451, 0 + br i1 %.not10908, label %thread-pre-split12602, label %12452 -12452: ; preds = %.thread12487, %12450 +12452: ; preds = %.thread12484, %12450 %12453 = load ptr, ptr %2479, align 8 - %.not10911 = icmp eq ptr %12453, null - br i1 %.not10911, label %12464, label %12454 + %.not10909 = icmp eq ptr %12453, null + br i1 %.not10909, label %12464, label %12454 12454: ; preds = %12452 %12455 = load i32, ptr %.09621, align 4 @@ -41531,13 +41531,13 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %12458 = zext nneg i32 %12455 to i64 %12459 = getelementptr inbounds nuw %struct._zend_jit_reg_var, ptr %12453, i64 %12458 %12460 = load i32, ptr %12459, align 4 - %.not10912 = icmp eq i32 %12460, 0 - br i1 %.not10912, label %12464, label %12461 + %.not10910 = icmp eq i32 %12460, 0 + br i1 %.not10910, label %12464, label %12461 12461: ; preds = %12457 %12462 = shl nuw nsw i64 %12458, 2 %12463 = or disjoint i64 %12462, 2 - %.pre13254 = load i8, ptr %12401, align 1 + %.pre13251 = load i8, ptr %12401, align 1 br label %12476 12464: ; preds = %12457, %12454, %12452 @@ -41545,9 +41545,9 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %12466 = icmp eq i8 %12465, 1 %12467 = getelementptr inbounds nuw i8, ptr %2501, i64 8 %12468 = load i32, ptr %12467, align 8 - br i1 %12466, label %.thread13351, label %12472 + br i1 %12466, label %.thread13348, label %12472 -.thread13351: ; preds = %12464 +.thread13348: ; preds = %12464 %12469 = sext i32 %12468 to i64 %12470 = getelementptr inbounds i8, ptr %2501, i64 %12469 %12471 = ptrtoint ptr %12470 to i64 @@ -41561,7 +41561,7 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 br label %12476 12476: ; preds = %12472, %12461 - %12477 = phi i8 [ %.pre13254, %12461 ], [ %12465, %12472 ] + %12477 = phi i8 [ %.pre13251, %12461 ], [ %12465, %12472 ] %12478 = phi i64 [ %12463, %12461 ], [ %12475, %12472 ] store i64 %12478, ptr %22, align 8 %12479 = icmp eq i8 %12477, 4 @@ -41571,11 +41571,11 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %12481 = load i8, ptr %2529, align 4 %12482 = icmp ne i8 %12481, 85 %12483 = icmp eq i8 %2495, -1 - %or.cond226.not12698 = or i1 %12483, %12482 + %or.cond226.not12695 = or i1 %12483, %12482 %12484 = and i32 %2502, 64 - %.not10913 = icmp eq i32 %12484, 0 - %or.cond11942 = select i1 %or.cond226.not12698, i1 true, i1 %.not10913 - br i1 %or.cond11942, label %12492, label %12485 + %.not10911 = icmp eq i32 %12484, 0 + %or.cond11940 = select i1 %or.cond226.not12695, i1 true, i1 %.not10911 + br i1 %or.cond11940, label %12492, label %12485 12485: ; preds = %12480 %12486 = load ptr, ptr %2477, align 8 @@ -41583,17 +41583,17 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %12488 = sext i32 %12487 to i64 %12489 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %12486, i64 %12488, i32 1 %12490 = load i8, ptr %12489, align 4 - %.not10914 = icmp sgt i8 %12490, -1 - %12491 = call fastcc zeroext i1 @zend_jit_fetch_indirect_var(ptr noundef %17, ptr noundef nonnull %2501, i8 noundef zeroext %2495, ptr noundef %20, ptr noundef %22, i1 noundef zeroext %.not10914) + %.not10912 = icmp sgt i8 %12490, -1 + %12491 = call fastcc zeroext i1 @zend_jit_fetch_indirect_var(ptr noundef %17, ptr noundef nonnull %2501, i8 noundef zeroext %2495, ptr noundef %20, ptr noundef %22, i1 noundef zeroext %.not10912) br i1 %12491, label %12492, label %zend_jit_stack_check.exit.thread -12492: ; preds = %.thread13351, %12485, %12480, %12476 - %.7 = phi i1 [ true, %12485 ], [ false, %12480 ], [ false, %12476 ], [ false, %.thread13351 ] - %.not10915 = icmp eq i8 %2495, -1 +12492: ; preds = %.thread13348, %12485, %12480, %12476 + %.7 = phi i1 [ true, %12485 ], [ false, %12480 ], [ false, %12476 ], [ false, %.thread13348 ] + %.not10913 = icmp eq i8 %2495, -1 %12493 = and i32 %2502, 32 - %.not10916 = icmp eq i32 %12493, 0 - %or.cond11943 = select i1 %.not10915, i1 true, i1 %.not10916 - br i1 %or.cond11943, label %12522, label %12494 + %.not10914 = icmp eq i32 %12493, 0 + %or.cond11941 = select i1 %.not10913, i1 true, i1 %.not10914 + br i1 %or.cond11941, label %12522, label %12494 12494: ; preds = %12492 %12495 = load ptr, ptr %2477, align 8 @@ -41602,8 +41602,8 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %12498 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %12495, i64 %12497, i32 1 %12499 = load i8, ptr %12498, align 4 %12500 = and i8 %12499, 64 - %.not10922 = icmp eq i8 %12500, 0 - %12501 = call fastcc zeroext i1 @zend_jit_fetch_reference(ptr noundef %17, ptr noundef nonnull %2501, i8 noundef zeroext %2495, ptr noundef %20, ptr noundef %22, i1 noundef zeroext %.not10922) + %.not10920 = icmp eq i8 %12500, 0 + %12501 = call fastcc zeroext i1 @zend_jit_fetch_reference(ptr noundef %17, ptr noundef nonnull %2501, i8 noundef zeroext %2495, ptr noundef %20, ptr noundef %22, i1 noundef zeroext %.not10920) br i1 %12501, label %12502, label %zend_jit_stack_check.exit.thread 12502: ; preds = %12494 @@ -41626,8 +41626,8 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %12515 = getelementptr inbounds nuw i8, ptr %.09621, i64 12 %12516 = load i32, ptr %12515, align 4 %12517 = icmp slt i32 %12516, 0 - %.11944 = select i1 %12517, i32 %12507, i32 %12516 - %12518 = sext i32 %.11944 to i64 + %.11942 = select i1 %12517, i32 %12507, i32 %12516 + %12518 = sext i32 %.11942 to i64 %12519 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %12514, i64 %12518, i32 1 %12520 = load i8, ptr %12519, align 4 %12521 = or i8 %12520, 64 @@ -41641,15 +41641,15 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 12524: ; preds = %12522 %12525 = load i32, ptr %20, align 4 %12526 = and i32 %12525, 268435456 - %.not10918 = icmp eq i32 %12526, 0 - br i1 %.not10918, label %12614, label %12527 + %.not10916 = icmp eq i32 %12526, 0 + br i1 %.not10916, label %12614, label %12527 12527: ; preds = %12524 %12528 = getelementptr inbounds nuw i8, ptr %2501, i64 8 %12529 = load i32, ptr %12528, align 8 %12530 = call fastcc i32 @zend_jit_type_guard(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %12529, i8 noundef zeroext %2504) - %.not10919 = icmp eq i32 %12530, 0 - br i1 %.not10919, label %zend_jit_stack_check.exit.thread, label %12531 + %.not10917 = icmp eq i32 %12530, 0 + br i1 %.not10917, label %zend_jit_stack_check.exit.thread, label %12531 12531: ; preds = %12527 %12532 = load ptr, ptr %2478, align 8 @@ -41658,13 +41658,13 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %12535 = getelementptr inbounds %struct._zend_ssa_var, ptr %12532, i64 %12534, i32 7 %12536 = load i8, ptr %12535, align 8 %12537 = and i8 %12536, 12 - %.not10920 = icmp eq i8 %12537, 0 + %.not10918 = icmp eq i8 %12537, 0 %12538 = load i32, ptr %12528, align 8 %12539 = lshr i32 %12538, 4 %12540 = add nsw i32 %12539, -5 %12541 = zext i32 %12540 to i64 %12542 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %12541 - br i1 %.not10920, label %12576, label %12543 + br i1 %.not10918, label %12576, label %12543 12543: ; preds = %12531 store i8 -1, ptr %12542, align 4 @@ -41704,10 +41704,10 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 store i8 0, ptr %12572, align 1 %12573 = shl nuw i32 1, %12523 %12574 = icmp ult i8 %2504, 6 - %.not10921 = icmp eq i8 %2504, 7 + %.not10919 = icmp eq i8 %2504, 7 %12575 = or i32 %12573, -1073741824 - %spec.select12053 = select i1 %.not10921, i32 -520095616, i32 %12575 - %.09832 = select i1 %12574, i32 %12573, i32 %spec.select12053 + %spec.select12051 = select i1 %.not10919, i32 -520095616, i32 %12575 + %.09832 = select i1 %12574, i32 %12573, i32 %spec.select12051 store i32 %.09832, ptr %20, align 4 br label %12614 @@ -41762,58 +41762,58 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 12614: ; preds = %12524, %12576, %12543, %12522, %12502, %12505, %12513 %12615 = load i32, ptr %20, align 4 %12616 = and i32 %12615, 256 - %.not10923 = icmp eq i32 %12616, 0 - br i1 %.not10923, label %thread-pre-split12605, label %12617 + %.not10921 = icmp eq i32 %12616, 0 + br i1 %.not10921, label %thread-pre-split12602, label %12617 12617: ; preds = %12614 %12618 = load ptr, ptr %2477, align 8 - %.not10924 = icmp eq ptr %12618, null - br i1 %.not10924, label %._crit_edge13255, label %12619 + %.not10922 = icmp eq ptr %12618, null + br i1 %.not10922, label %._crit_edge13252, label %12619 -._crit_edge13255: ; preds = %12617 +._crit_edge13252: ; preds = %12617 %.pr.pre = load i32, ptr %.09621, align 4 br label %12635 12619: ; preds = %12617 %12620 = load ptr, ptr %2480, align 8 - %.not10925 = icmp eq ptr %12620, null - %.pr.pre13256 = load i32, ptr %.09621, align 4 - br i1 %.not10925, label %12635, label %12621 + %.not10923 = icmp eq ptr %12620, null + %.pr.pre13253 = load i32, ptr %.09621, align 4 + br i1 %.not10923, label %12635, label %12621 12621: ; preds = %12619 - %12622 = icmp sgt i32 %.pr.pre13256, -1 - br i1 %12622, label %12623, label %.thread12490 + %12622 = icmp sgt i32 %.pr.pre13253, -1 + br i1 %12622, label %12623, label %.thread12487 12623: ; preds = %12621 - %12624 = zext nneg i32 %.pr.pre13256 to i64 + %12624 = zext nneg i32 %.pr.pre13253 to i64 %12625 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %12618, i64 %12624 %12626 = getelementptr inbounds nuw i8, ptr %12625, i64 32 %12627 = load ptr, ptr %12626, align 8 - %.not10926 = icmp eq ptr %12627, null - br i1 %.not10926, label %.thread13353, label %12628 + %.not10924 = icmp eq ptr %12627, null + br i1 %.not10924, label %.thread13350, label %12628 12628: ; preds = %12623 %12629 = getelementptr inbounds nuw i8, ptr %12627, i64 384 %12630 = load ptr, ptr %12629, align 8 - %.not10927 = icmp eq ptr %12630, null - br i1 %.not10927, label %12631, label %.thread13353 + %.not10925 = icmp eq ptr %12630, null + br i1 %.not10925, label %12631, label %.thread13350 12631: ; preds = %12628 %12632 = getelementptr inbounds nuw i8, ptr %12625, i64 4 %12633 = load i8, ptr %12632, align 4 %12634 = lshr i8 %12633, 1 - br label %.thread13353 + br label %.thread13350 -12635: ; preds = %._crit_edge13255, %12619 - %.pr = phi i32 [ %.pr.pre, %._crit_edge13255 ], [ %.pr.pre13256, %12619 ] +12635: ; preds = %._crit_edge13252, %12619 + %.pr = phi i32 [ %.pr.pre, %._crit_edge13252 ], [ %.pr.pre13253, %12619 ] %12636 = icmp sgt i32 %.pr, -1 - br i1 %12636, label %.thread13353, label %.thread12490 + br i1 %12636, label %.thread13350, label %.thread12487 -.thread13353: ; preds = %12628, %12631, %12623, %12635 - %.79693.ph13359 = phi i8 [ 0, %12635 ], [ 0, %12628 ], [ %12634, %12631 ], [ 0, %12623 ] - %.79703.ph13358 = phi ptr [ null, %12635 ], [ null, %12628 ], [ %12627, %12631 ], [ null, %12623 ] - %.pr13357 = phi i32 [ %.pr, %12635 ], [ %.pr.pre13256, %12628 ], [ %.pr.pre13256, %12631 ], [ %.pr.pre13256, %12623 ] - %12637 = zext nneg i32 %.pr13357 to i64 +.thread13350: ; preds = %12628, %12631, %12623, %12635 + %.79693.ph13356 = phi i8 [ 0, %12635 ], [ 0, %12628 ], [ %12634, %12631 ], [ 0, %12623 ] + %.79703.ph13355 = phi ptr [ null, %12635 ], [ null, %12628 ], [ %12627, %12631 ], [ null, %12623 ] + %.pr13354 = phi i32 [ %.pr, %12635 ], [ %.pr.pre13253, %12628 ], [ %.pr.pre13253, %12631 ], [ %.pr.pre13253, %12623 ] + %12637 = zext nneg i32 %.pr13354 to i64 %12638 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %12618, i64 %12637, i32 1 %12639 = load i8, ptr %12638, align 4 %12640 = lshr i8 %12639, 4 @@ -41821,12 +41821,12 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %12642 = trunc i8 %12640 to i1 br i1 %12642, label %12680, label %12643 -12643: ; preds = %.thread13353 +12643: ; preds = %.thread13350 %12644 = load ptr, ptr %2478, align 8 %12645 = getelementptr inbounds nuw %struct._zend_ssa_var, ptr %12644, i64 %12637, i32 2 %12646 = load i32, ptr %12645, align 8 %12647 = icmp sgt i32 %12646, -1 - br i1 %12647, label %12648, label %.thread12490 + br i1 %12647, label %12648, label %.thread12487 12648: ; preds = %12643 %12649 = zext nneg i32 %12646 to i64 @@ -41837,21 +41837,21 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %12654 = icmp eq i8 %12653, -72 br label %12680 -.thread12490: ; preds = %12621, %12635, %12643 - %.79693124941250212518 = phi i8 [ %.79693.ph13359, %12643 ], [ 0, %12635 ], [ 0, %12621 ] - %.79703124931250312516 = phi ptr [ %.79703.ph13358, %12643 ], [ null, %12635 ], [ null, %12621 ] - %.1096771250412514 = phi i8 [ %12640, %12643 ], [ 0, %12635 ], [ 0, %12621 ] - %.196661250512512 = phi i8 [ %12641, %12643 ], [ 0, %12635 ], [ 0, %12621 ] +.thread12487: ; preds = %12621, %12635, %12643 + %.79693124911249912515 = phi i8 [ %.79693.ph13356, %12643 ], [ 0, %12635 ], [ 0, %12621 ] + %.79703124901250012513 = phi ptr [ %.79703.ph13355, %12643 ], [ null, %12635 ], [ null, %12621 ] + %.1096771250112511 = phi i8 [ %12640, %12643 ], [ 0, %12635 ], [ 0, %12621 ] + %.196661250212509 = phi i8 [ %12641, %12643 ], [ 0, %12635 ], [ 0, %12621 ] %12655 = getelementptr inbounds nuw i8, ptr %.09768, i64 56 %12656 = load ptr, ptr %12655, align 8 - %.not10931 = icmp eq ptr %12656, null - br i1 %.not10931, label %12680, label %12657 + %.not10929 = icmp eq ptr %12656, null + br i1 %.not10929, label %12680, label %12657 -12657: ; preds = %.thread12490 +12657: ; preds = %.thread12487 %12658 = getelementptr inbounds nuw i8, ptr %.09768, i64 64 %12659 = load ptr, ptr %12658, align 8 - %.not10932 = icmp eq ptr %12659, null - br i1 %.not10932, label %12680, label %12660 + %.not10930 = icmp eq ptr %12659, null + br i1 %.not10930, label %12680, label %12660 12660: ; preds = %12657 %12661 = getelementptr inbounds nuw i8, ptr %.09771, i64 88 @@ -41879,14 +41879,14 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %12679 = icmp eq i8 %12678, -72 br label %12680 -12680: ; preds = %.thread13353, %.thread12490, %12657, %12660, %12670, %12675, %12648, %12403 - %12681 = phi i32 [ -1073741568, %12403 ], [ %12615, %12648 ], [ %12615, %12675 ], [ %12615, %12670 ], [ %12615, %12660 ], [ %12615, %12657 ], [ %12615, %.thread12490 ], [ %12615, %.thread13353 ] - %.69702 = phi ptr [ %12405, %12403 ], [ %.79703.ph13358, %12648 ], [ %.79703124931250312516, %12675 ], [ %.79703124931250312516, %12670 ], [ %.79703124931250312516, %12660 ], [ %.79703124931250312516, %12657 ], [ %.79703124931250312516, %.thread12490 ], [ %.79703.ph13358, %.thread13353 ] - %.69692 = phi i8 [ %12409, %12403 ], [ %.79693.ph13359, %12648 ], [ %.79693124941250212518, %12675 ], [ %.79693124941250212518, %12670 ], [ %.79693124941250212518, %12660 ], [ %.79693124941250212518, %12657 ], [ %.79693124941250212518, %.thread12490 ], [ %.79693.ph13359, %.thread13353 ] - %.39684.shrunk = phi i1 [ true, %12403 ], [ %12654, %12648 ], [ %12679, %12675 ], [ false, %12670 ], [ false, %12660 ], [ false, %12657 ], [ false, %.thread12490 ], [ true, %.thread13353 ] - %.99676 = phi i8 [ 0, %12403 ], [ %12640, %12648 ], [ %.1096771250412514, %12675 ], [ %.1096771250412514, %12670 ], [ %.1096771250412514, %12660 ], [ %.1096771250412514, %12657 ], [ %.1096771250412514, %.thread12490 ], [ %12640, %.thread13353 ] - %.09665 = phi i8 [ 0, %12403 ], [ %12641, %12648 ], [ %.196661250512512, %12675 ], [ %.196661250512512, %12670 ], [ %.196661250512512, %12660 ], [ %.196661250512512, %12657 ], [ %.196661250512512, %.thread12490 ], [ %12641, %.thread13353 ] - %.6 = phi i1 [ false, %12403 ], [ %.7, %12648 ], [ %.7, %12675 ], [ %.7, %12670 ], [ %.7, %12660 ], [ %.7, %12657 ], [ %.7, %.thread12490 ], [ %.7, %.thread13353 ] +12680: ; preds = %.thread13350, %.thread12487, %12657, %12660, %12670, %12675, %12648, %12403 + %12681 = phi i32 [ -1073741568, %12403 ], [ %12615, %12648 ], [ %12615, %12675 ], [ %12615, %12670 ], [ %12615, %12660 ], [ %12615, %12657 ], [ %12615, %.thread12487 ], [ %12615, %.thread13350 ] + %.69702 = phi ptr [ %12405, %12403 ], [ %.79703.ph13355, %12648 ], [ %.79703124901250012513, %12675 ], [ %.79703124901250012513, %12670 ], [ %.79703124901250012513, %12660 ], [ %.79703124901250012513, %12657 ], [ %.79703124901250012513, %.thread12487 ], [ %.79703.ph13355, %.thread13350 ] + %.69692 = phi i8 [ %12409, %12403 ], [ %.79693.ph13356, %12648 ], [ %.79693124911249912515, %12675 ], [ %.79693124911249912515, %12670 ], [ %.79693124911249912515, %12660 ], [ %.79693124911249912515, %12657 ], [ %.79693124911249912515, %.thread12487 ], [ %.79693.ph13356, %.thread13350 ] + %.39684.shrunk = phi i1 [ true, %12403 ], [ %12654, %12648 ], [ %12679, %12675 ], [ false, %12670 ], [ false, %12660 ], [ false, %12657 ], [ false, %.thread12487 ], [ true, %.thread13350 ] + %.99676 = phi i8 [ 0, %12403 ], [ %12640, %12648 ], [ %.1096771250112511, %12675 ], [ %.1096771250112511, %12670 ], [ %.1096771250112511, %12660 ], [ %.1096771250112511, %12657 ], [ %.1096771250112511, %.thread12487 ], [ %12640, %.thread13350 ] + %.09665 = phi i8 [ 0, %12403 ], [ %12641, %12648 ], [ %.196661250212509, %12675 ], [ %.196661250212509, %12670 ], [ %.196661250212509, %12660 ], [ %.196661250212509, %12657 ], [ %.196661250212509, %.thread12487 ], [ %12641, %.thread13350 ] + %.6 = phi i1 [ false, %12403 ], [ %.7, %12648 ], [ %.7, %12675 ], [ %.7, %12670 ], [ %.7, %12660 ], [ %.7, %12657 ], [ %.7, %.thread12487 ], [ %.7, %.thread13350 ] %12682 = load i64, ptr %22, align 8 %12683 = trunc i8 %.69692 to i1 %12684 = trunc i8 %.99676 to i1 @@ -41894,20 +41894,20 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %12686 = call zeroext i1 @zend_may_throw_ex(ptr noundef nonnull %2501, ptr noundef %.09621, ptr noundef %.09771, ptr noundef nonnull %40, i32 noundef %12681, i32 noundef 64) #33 %12687 = zext i1 %12686 to i32 %12688 = call fastcc i32 @zend_jit_fetch_obj(ptr noundef %17, ptr noundef nonnull %2501, ptr noundef %.09771, ptr noundef %40, ptr noundef %.09621, i32 noundef %12681, i64 noundef %12682, i1 noundef zeroext %.6, ptr noundef %.69702, i1 noundef zeroext %12683, i1 noundef zeroext %.39684.shrunk, i1 noundef zeroext %12684, i1 noundef zeroext %12685, ptr noundef %.09578, i32 noundef %12687) - %.not10934 = icmp eq i32 %12688, 0 - br i1 %.not10934, label %zend_jit_stack_check.exit.thread, label %thread-pre-split12618 + %.not10932 = icmp eq i32 %12688, 0 + br i1 %.not10932, label %zend_jit_stack_check.exit.thread, label %thread-pre-split12615 -12689: ; preds = %.preheader12748, %12752 - %.29631 = phi ptr [ %12753, %12752 ], [ %2501, %.preheader12748 ] - %.29623 = phi ptr [ %12754, %12752 ], [ %.09621, %.preheader12748 ] +12689: ; preds = %.preheader12745, %12752 + %.29631 = phi ptr [ %12753, %12752 ], [ %2501, %.preheader12745 ] + %.29623 = phi ptr [ %12754, %12752 ], [ %.09621, %.preheader12745 ] %12690 = load ptr, ptr %2480, align 8 - %.not10897 = icmp eq ptr %12690, null - br i1 %.not10897, label %12733, label %12691 + %.not10895 = icmp eq ptr %12690, null + br i1 %.not10895, label %12733, label %12691 12691: ; preds = %12689 %12692 = load ptr, ptr %2477, align 8 - %.not10898 = icmp eq ptr %12692, null - br i1 %.not10898, label %12733, label %12693 + %.not10896 = icmp eq ptr %12692, null + br i1 %.not10896, label %12733, label %12693 12693: ; preds = %12691 %12694 = getelementptr inbounds nuw i8, ptr %.29631, i64 29 @@ -41918,8 +41918,8 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 12697: ; preds = %12693 %12698 = load i32, ptr %2545, align 4 %12699 = and i32 %12698, 33554432 - %.not10899 = icmp eq i32 %12699, 0 - br i1 %.not10899, label %12705, label %12700 + %.not10897 = icmp eq i32 %12699, 0 + br i1 %.not10897, label %12705, label %12700 12700: ; preds = %12697 %12701 = getelementptr inbounds nuw i8, ptr %.29631, i64 8 @@ -41954,8 +41954,8 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %12719 = shl nuw i32 1, %12718 %12720 = getelementptr inbounds nuw i8, ptr %12712, i64 9 %12721 = load i8, ptr %12720, align 1 - %.not10900 = icmp eq i8 %12721, 0 - br i1 %.not10900, label %12724, label %12722 + %.not10898 = icmp eq i8 %12721, 0 + br i1 %.not10898, label %12724, label %12722 12722: ; preds = %12717 %12723 = or i32 %12719, -1073741824 @@ -41963,7 +41963,7 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 12724: ; preds = %12717 %12725 = icmp eq i8 %12714, 6 - %spec.select11945 = select i1 %12725, i32 -2147483584, i32 %12719 + %spec.select11943 = select i1 %12725, i32 -2147483584, i32 %12719 br label %12733 12726: ; preds = %12693 @@ -41978,7 +41978,7 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 br label %12733 12733: ; preds = %12724, %12722, %12711, %12715, %12726, %12729, %12689, %12691 - %storemerge = phi i32 [ 2046, %12691 ], [ 2046, %12689 ], [ %12716, %12715 ], [ -521143298, %12711 ], [ %12723, %12722 ], [ %spec.select11945, %12724 ], [ %12732, %12729 ], [ -486539265, %12726 ] + %storemerge = phi i32 [ 2046, %12691 ], [ 2046, %12689 ], [ %12716, %12715 ], [ -521143298, %12711 ], [ %12723, %12722 ], [ %spec.select11943, %12724 ], [ %12732, %12729 ], [ -486539265, %12726 ] store i32 %storemerge, ptr %20, align 4 %12734 = load ptr, ptr %2478, align 8 %12735 = getelementptr inbounds nuw i8, ptr %.29623, i64 12 @@ -41996,16 +41996,16 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %12745 = load i8, ptr %12744, align 4 %12746 = or i8 %12745, 64 store i8 %12746, ptr %12744, align 4 - %.pre13253 = load i32, ptr %20, align 4 + %.pre13250 = load i32, ptr %20, align 4 br label %12747 12747: ; preds = %12742, %12733 - %12748 = phi i32 [ %.pre13253, %12742 ], [ %storemerge, %12733 ] + %12748 = phi i32 [ %.pre13250, %12742 ], [ %storemerge, %12733 ] call fastcc void @zend_jit_bind_global(ptr noundef %17, ptr noundef nonnull %.29631, i32 noundef %12748) %12749 = getelementptr inbounds nuw i8, ptr %.29631, i64 60 %12750 = load i8, ptr %12749, align 4 %12751 = icmp eq i8 %12750, -88 - br i1 %12751, label %12752, label %thread-pre-split12618 + br i1 %12751, label %12752, label %thread-pre-split12615 12752: ; preds = %12747 %12753 = getelementptr inbounds nuw i8, ptr %.29631, i64 32 @@ -42014,21 +42014,21 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 12755: ; preds = %2538 %12756 = call fastcc i32 @zend_jit_recv(ptr noundef %17, ptr noundef nonnull %2501, ptr noundef %.09771) - %.not10896 = icmp eq i32 %12756, 0 - br i1 %.not10896, label %zend_jit_stack_check.exit.thread, label %thread-pre-split12618 - -.preheader12749: ; preds = %.preheader12749.preheader, %.preheader12749 - %.3962413736 = phi ptr [ %12758, %.preheader12749 ], [ %.09621, %.preheader12749.preheader ] - %.3963213735 = phi ptr [ %12757, %.preheader12749 ], [ %2501, %.preheader12749.preheader ] - %12757 = getelementptr inbounds nuw i8, ptr %.3963213735, i64 32 - %12758 = getelementptr inbounds nuw i8, ptr %.3962413736, i64 36 - %12759 = getelementptr inbounds nuw i8, ptr %.3963213735, i64 92 + %.not10894 = icmp eq i32 %12756, 0 + br i1 %.not10894, label %zend_jit_stack_check.exit.thread, label %thread-pre-split12615 + +.preheader12746: ; preds = %.preheader12746.preheader, %.preheader12746 + %.3962413733 = phi ptr [ %12758, %.preheader12746 ], [ %.09621, %.preheader12746.preheader ] + %.3963213732 = phi ptr [ %12757, %.preheader12746 ], [ %2501, %.preheader12746.preheader ] + %12757 = getelementptr inbounds nuw i8, ptr %.3963213732, i64 32 + %12758 = getelementptr inbounds nuw i8, ptr %.3962413733, i64 36 + %12759 = getelementptr inbounds nuw i8, ptr %.3963213732, i64 92 %12760 = call zeroext i1 @zend_may_throw(ptr noundef nonnull %12757, ptr noundef nonnull %12758, ptr noundef %.09771, ptr noundef nonnull %40) #33 %12761 = zext i1 %12760 to i32 call fastcc void @zend_jit_recv_init(ptr noundef %17, ptr noundef nonnull %12757, ptr noundef %.09771, i32 noundef %12761) %12762 = load i8, ptr %12759, align 4 %12763 = icmp eq i8 %12762, 64 - br i1 %12763, label %.preheader12749, label %thread-pre-split12618 + br i1 %12763, label %.preheader12746, label %thread-pre-split12615 12764: ; preds = %2538, %2538 %12765 = getelementptr inbounds nuw i8, ptr %2501, i64 29 @@ -42040,8 +42040,8 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %12769 = getelementptr inbounds nuw i8, ptr %.09771, i64 4 %12770 = load i32, ptr %12769, align 4 %12771 = and i32 %12770, 33554432 - %.not10894 = icmp eq i32 %12771, 0 - br i1 %.not10894, label %12777, label %12772 + %.not10892 = icmp eq i32 %12771, 0 + br i1 %.not10892, label %12777, label %12772 12772: ; preds = %12768 %12773 = getelementptr inbounds nuw i8, ptr %2501, i64 8 @@ -42064,54 +42064,54 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %12786 = getelementptr inbounds nuw i8, ptr %12785, i64 8 %12787 = load i8, ptr %12786, align 8 switch i8 %12787, label %12790 [ - i8 11, label %.thread12519 + i8 11, label %.thread12516 i8 7, label %12788 ] 12788: ; preds = %12784 %12789 = call i32 @zend_array_type_info(ptr noundef nonnull %12785) #33 - br label %.thread12519 + br label %.thread12516 12790: ; preds = %12784 %12791 = zext nneg i8 %12787 to i32 %12792 = shl nuw i32 1, %12791 %12793 = getelementptr inbounds nuw i8, ptr %12785, i64 9 %12794 = load i8, ptr %12793, align 1 - %.not10895 = icmp eq i8 %12794, 0 - br i1 %.not10895, label %12797, label %12795 + %.not10893 = icmp eq i8 %12794, 0 + br i1 %.not10893, label %12797, label %12795 12795: ; preds = %12790 %12796 = or i32 %12792, -1073741824 - br label %.thread12519 + br label %.thread12516 12797: ; preds = %12790 %12798 = icmp eq i8 %12787, 6 - %spec.select11946 = select i1 %12798, i32 -2147483584, i32 %12792 - br label %.thread12519 + %spec.select11944 = select i1 %12798, i32 -2147483584, i32 %12792 + br label %.thread12516 12799: ; preds = %12764 %12800 = load ptr, ptr %2477, align 8 - %.not10893 = icmp eq ptr %12800, null - br i1 %.not10893, label %.thread12519, label %12801 + %.not10891 = icmp eq ptr %12800, null + br i1 %.not10891, label %.thread12516, label %12801 12801: ; preds = %12799 %12802 = load i32, ptr %.09621, align 4 %12803 = icmp sgt i32 %12802, -1 - br i1 %12803, label %12804, label %.thread12519 + br i1 %12803, label %12804, label %.thread12516 12804: ; preds = %12801 %12805 = zext nneg i32 %12802 to i64 %12806 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %12800, i64 %12805 %12807 = load i32, ptr %12806, align 8 - br label %.thread12519 + br label %.thread12516 -.thread12519: ; preds = %12799, %12797, %12804, %12801, %12788, %12784, %12795 - %.09914 = phi i32 [ %12789, %12788 ], [ -521143298, %12784 ], [ %12796, %12795 ], [ %spec.select11946, %12797 ], [ %12807, %12804 ], [ -486539265, %12801 ], [ -486539265, %12799 ] +.thread12516: ; preds = %12799, %12797, %12804, %12801, %12788, %12784, %12795 + %.09914 = phi i32 [ %12789, %12788 ], [ -521143298, %12784 ], [ %12796, %12795 ], [ %spec.select11944, %12797 ], [ %12807, %12804 ], [ -486539265, %12801 ], [ -486539265, %12799 ] store i32 %.09914, ptr %20, align 4 %12808 = call zeroext i1 @zend_may_throw(ptr noundef nonnull %2501, ptr noundef %.09621, ptr noundef %.09771, ptr noundef nonnull %40) #33 %12809 = zext i1 %12808 to i32 call fastcc void @zend_jit_free(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %.09914, i32 noundef %12809) - br label %thread-pre-split12618 + br label %thread-pre-split12615 12810: ; preds = %2538 %12811 = getelementptr inbounds nuw i8, ptr %2501, i64 29 @@ -42123,8 +42123,8 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %12815 = getelementptr inbounds nuw i8, ptr %.09771, i64 4 %12816 = load i32, ptr %12815, align 4 %12817 = and i32 %12816, 33554432 - %.not10885 = icmp eq i32 %12817, 0 - br i1 %.not10885, label %12823, label %12818 + %.not10883 = icmp eq i32 %12817, 0 + br i1 %.not10883, label %12823, label %12818 12818: ; preds = %12814 %12819 = getelementptr inbounds nuw i8, ptr %2501, i64 8 @@ -42147,7 +42147,7 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %12832 = getelementptr inbounds nuw i8, ptr %12831, i64 8 %12833 = load i8, ptr %12832, align 8 switch i8 %12833, label %12836 [ - i8 11, label %.thread12524 + i8 11, label %.thread12521 i8 7, label %12834 ] @@ -42160,8 +42160,8 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %12838 = shl nuw i32 1, %12837 %12839 = getelementptr inbounds nuw i8, ptr %12831, i64 9 %12840 = load i8, ptr %12839, align 1 - %.not10886 = icmp eq i8 %12840, 0 - br i1 %.not10886, label %12843, label %12841 + %.not10884 = icmp eq i8 %12840, 0 + br i1 %.not10884, label %12843, label %12841 12841: ; preds = %12836 %12842 = or i32 %12838, -1073741824 @@ -42169,18 +42169,18 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 12843: ; preds = %12836 %12844 = icmp eq i8 %12833, 6 - %spec.select11947 = select i1 %12844, i32 -2147483584, i32 %12838 + %spec.select11945 = select i1 %12844, i32 -2147483584, i32 %12838 br label %12854 12845: ; preds = %12810 %12846 = load ptr, ptr %2477, align 8 - %.not10884 = icmp eq ptr %12846, null - br i1 %.not10884, label %.thread12524, label %12847 + %.not10882 = icmp eq ptr %12846, null + br i1 %.not10882, label %.thread12521, label %12847 12847: ; preds = %12845 %12848 = load i32, ptr %.09621, align 4 %12849 = icmp sgt i32 %12848, -1 - br i1 %12849, label %12850, label %.thread12524 + br i1 %12849, label %12850, label %.thread12521 12850: ; preds = %12847 %12851 = zext nneg i32 %12848 to i64 @@ -42188,26 +42188,26 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %12853 = load i32, ptr %12852, align 8 br label %12854 -.thread12524: ; preds = %12830, %12847, %12845 +.thread12521: ; preds = %12830, %12847, %12845 %.09909.ph = phi i32 [ -486539265, %12847 ], [ -521143298, %12830 ], [ -486539265, %12845 ] store i32 %.09909.ph, ptr %20, align 4 br label %12944 12854: ; preds = %12843, %12850, %12834, %12841 - %.09909 = phi i32 [ %12835, %12834 ], [ %12842, %12841 ], [ %spec.select11947, %12843 ], [ %12853, %12850 ] + %.09909 = phi i32 [ %12835, %12834 ], [ %12842, %12841 ], [ %spec.select11945, %12843 ], [ %12853, %12850 ] store i32 %.09909, ptr %20, align 4 %12855 = zext nneg i8 %.19588 to i32 %12856 = and i32 %.09909, 268435456 - %.not10888 = icmp eq i32 %12856, 0 - %or.cond11948 = select i1 %.not10749, i1 true, i1 %.not10888 - br i1 %or.cond11948, label %12944, label %12857 + %.not10886 = icmp eq i32 %12856, 0 + %or.cond11946 = select i1 %.not10749, i1 true, i1 %.not10886 + br i1 %or.cond11946, label %12944, label %12857 12857: ; preds = %12854 %12858 = getelementptr inbounds nuw i8, ptr %2501, i64 8 %12859 = load i32, ptr %12858, align 8 %12860 = call fastcc i32 @zend_jit_type_guard(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %12859, i8 noundef zeroext %2504) - %.not10889 = icmp eq i32 %12860, 0 - br i1 %.not10889, label %zend_jit_stack_check.exit.thread, label %12861 + %.not10887 = icmp eq i32 %12860, 0 + br i1 %.not10887, label %zend_jit_stack_check.exit.thread, label %12861 12861: ; preds = %12857 %12862 = load ptr, ptr %2478, align 8 @@ -42216,13 +42216,13 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %12865 = getelementptr inbounds %struct._zend_ssa_var, ptr %12862, i64 %12864, i32 7 %12866 = load i8, ptr %12865, align 8 %12867 = and i8 %12866, 12 - %.not10890 = icmp eq i8 %12867, 0 + %.not10888 = icmp eq i8 %12867, 0 %12868 = load i32, ptr %12858, align 8 %12869 = lshr i32 %12868, 4 %12870 = add nsw i32 %12869, -5 %12871 = zext i32 %12870 to i64 %12872 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %12871 - br i1 %.not10890, label %12906, label %12873 + br i1 %.not10888, label %12906, label %12873 12873: ; preds = %12861 store i8 -1, ptr %12872, align 4 @@ -42262,10 +42262,10 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 store i8 0, ptr %12902, align 1 %12903 = shl nuw i32 1, %12855 %12904 = icmp ult i8 %2504, 6 - %.not10891 = icmp eq i8 %2504, 7 + %.not10889 = icmp eq i8 %2504, 7 %12905 = or i32 %12903, -1073741824 - %spec.select12054 = select i1 %.not10891, i32 -520095616, i32 %12905 - %.09831 = select i1 %12904, i32 %12903, i32 %spec.select12054 + %spec.select12052 = select i1 %.not10889, i32 -520095616, i32 %12905 + %.09831 = select i1 %12904, i32 %12903, i32 %spec.select12052 store i32 %.09831, ptr %20, align 4 br label %12944 @@ -42315,18 +42315,18 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %12942 = load i32, ptr %12941, align 8 %12943 = and i32 %12942, %12937 store i32 %12943, ptr %12941, align 8 - %.pre13252 = load i32, ptr %20, align 4 + %.pre13249 = load i32, ptr %20, align 4 br label %12944 -12944: ; preds = %.thread12524, %12854, %12873, %12906 - %12945 = phi i32 [ %.09909.ph, %.thread12524 ], [ %.09909, %12854 ], [ %.09831, %12873 ], [ %.pre13252, %12906 ] +12944: ; preds = %.thread12521, %12854, %12873, %12906 + %12945 = phi i32 [ %.09909.ph, %.thread12521 ], [ %.09909, %12854 ], [ %.09831, %12873 ], [ %.pre13249, %12906 ] %12946 = and i32 %12945, 2047 - %.not10892 = icmp eq i32 %12946, 64 - br i1 %.not10892, label %12947, label %thread-pre-split12605 + %.not10890 = icmp eq i32 %12946, 64 + br i1 %.not10890, label %12947, label %thread-pre-split12602 12947: ; preds = %12944 call fastcc void @zend_jit_echo(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %12945) - br label %thread-pre-split12618 + br label %thread-pre-split12615 12948: ; preds = %2538 %12949 = getelementptr inbounds nuw i8, ptr %2501, i64 29 @@ -42338,8 +42338,8 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %12953 = getelementptr inbounds nuw i8, ptr %.09771, i64 4 %12954 = load i32, ptr %12953, align 4 %12955 = and i32 %12954, 33554432 - %.not10871 = icmp eq i32 %12955, 0 - br i1 %.not10871, label %12961, label %12956 + %.not10869 = icmp eq i32 %12955, 0 + br i1 %.not10869, label %12961, label %12956 12956: ; preds = %12952 %12957 = getelementptr inbounds nuw i8, ptr %2501, i64 8 @@ -42362,55 +42362,55 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %12970 = getelementptr inbounds nuw i8, ptr %12969, i64 8 %12971 = load i8, ptr %12970, align 8 switch i8 %12971, label %12974 [ - i8 11, label %.thread12528 + i8 11, label %.thread12525 i8 7, label %12972 ] 12972: ; preds = %12968 %12973 = call i32 @zend_array_type_info(ptr noundef nonnull %12969) #33 - br label %.thread12528 + br label %.thread12525 12974: ; preds = %12968 %12975 = zext nneg i8 %12971 to i32 %12976 = shl nuw i32 1, %12975 %12977 = getelementptr inbounds nuw i8, ptr %12969, i64 9 %12978 = load i8, ptr %12977, align 1 - %.not10872 = icmp eq i8 %12978, 0 - br i1 %.not10872, label %12981, label %12979 + %.not10870 = icmp eq i8 %12978, 0 + br i1 %.not10870, label %12981, label %12979 12979: ; preds = %12974 %12980 = or i32 %12976, -1073741824 - br label %.thread12528 + br label %.thread12525 12981: ; preds = %12974 %12982 = icmp eq i8 %12971, 6 - %spec.select11949 = select i1 %12982, i32 -2147483584, i32 %12976 - br label %.thread12528 + %spec.select11947 = select i1 %12982, i32 -2147483584, i32 %12976 + br label %.thread12525 12983: ; preds = %12948 %12984 = load ptr, ptr %2477, align 8 - %.not10870 = icmp eq ptr %12984, null - br i1 %.not10870, label %.thread12528, label %12985 + %.not10868 = icmp eq ptr %12984, null + br i1 %.not10868, label %.thread12525, label %12985 12985: ; preds = %12983 %12986 = load i32, ptr %.09621, align 4 %12987 = icmp sgt i32 %12986, -1 - br i1 %12987, label %12988, label %.thread12528 + br i1 %12987, label %12988, label %.thread12525 12988: ; preds = %12985 %12989 = zext nneg i32 %12986 to i64 %12990 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %12984, i64 %12989 %12991 = load i32, ptr %12990, align 8 - br label %.thread12528 + br label %.thread12525 -.thread12528: ; preds = %12983, %12981, %12988, %12985, %12972, %12968, %12979 - %12992 = phi i32 [ %12973, %12972 ], [ -521143298, %12968 ], [ %12980, %12979 ], [ %spec.select11949, %12981 ], [ %12991, %12988 ], [ -486539265, %12985 ], [ -486539265, %12983 ] +.thread12525: ; preds = %12983, %12981, %12988, %12985, %12972, %12968, %12979 + %12992 = phi i32 [ %12973, %12972 ], [ -521143298, %12968 ], [ %12980, %12979 ], [ %spec.select11947, %12981 ], [ %12991, %12988 ], [ -486539265, %12985 ], [ -486539265, %12983 ] store i32 %12992, ptr %20, align 4 %12993 = load ptr, ptr %2479, align 8 - %.not10873 = icmp eq ptr %12993, null - br i1 %.not10873, label %13004, label %12994 + %.not10871 = icmp eq ptr %12993, null + br i1 %.not10871, label %13004, label %12994 -12994: ; preds = %.thread12528 +12994: ; preds = %.thread12525 %12995 = load i32, ptr %.09621, align 4 %12996 = icmp sgt i32 %12995, -1 br i1 %12996, label %12997, label %13004 @@ -42419,15 +42419,15 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %12998 = zext nneg i32 %12995 to i64 %12999 = getelementptr inbounds nuw %struct._zend_jit_reg_var, ptr %12993, i64 %12998 %13000 = load i32, ptr %12999, align 4 - %.not10874 = icmp eq i32 %13000, 0 - br i1 %.not10874, label %13004, label %13001 + %.not10872 = icmp eq i32 %13000, 0 + br i1 %.not10872, label %13004, label %13001 13001: ; preds = %12997 %13002 = shl nuw nsw i64 %12998, 2 %13003 = or disjoint i64 %13002, 2 br label %13017 -13004: ; preds = %12997, %12994, %.thread12528 +13004: ; preds = %12997, %12994, %.thread12525 %13005 = load i8, ptr %12949, align 1 %13006 = icmp eq i8 %13005, 1 %13007 = getelementptr inbounds nuw i8, ptr %2501, i64 8 @@ -42459,8 +42459,8 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %13024 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %13021, i64 %13023, i32 1 %13025 = load i8, ptr %13024, align 4 %13026 = and i8 %13025, 64 - %.not10881 = icmp eq i8 %13026, 0 - %13027 = call fastcc zeroext i1 @zend_jit_fetch_reference(ptr noundef %17, ptr noundef nonnull %2501, i8 noundef zeroext 38, ptr noundef %20, ptr noundef %22, i1 noundef zeroext %.not10881) + %.not10879 = icmp eq i8 %13026, 0 + %13027 = call fastcc zeroext i1 @zend_jit_fetch_reference(ptr noundef %17, ptr noundef nonnull %2501, i8 noundef zeroext 38, ptr noundef %20, ptr noundef %22, i1 noundef zeroext %.not10879) br i1 %13027, label %13028, label %zend_jit_stack_check.exit.thread 13028: ; preds = %13020 @@ -42489,16 +42489,16 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 13044: ; preds = %13017 %13045 = zext nneg i8 %.19588 to i32 %13046 = and i32 %12992, 268435456 - %.not10876 = icmp eq i32 %13046, 0 - %or.cond13553 = select i1 %.not10749, i1 true, i1 %.not10876 - br i1 %or.cond13553, label %13134, label %13047 + %.not10874 = icmp eq i32 %13046, 0 + %or.cond13550 = select i1 %.not10749, i1 true, i1 %.not10874 + br i1 %or.cond13550, label %13134, label %13047 13047: ; preds = %13044 %13048 = getelementptr inbounds nuw i8, ptr %2501, i64 8 %13049 = load i32, ptr %13048, align 8 %13050 = call fastcc i32 @zend_jit_type_guard(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %13049, i8 noundef zeroext %2504) - %.not10877 = icmp eq i32 %13050, 0 - br i1 %.not10877, label %zend_jit_stack_check.exit.thread, label %13051 + %.not10875 = icmp eq i32 %13050, 0 + br i1 %.not10875, label %zend_jit_stack_check.exit.thread, label %13051 13051: ; preds = %13047 %13052 = load ptr, ptr %2478, align 8 @@ -42507,13 +42507,13 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %13055 = getelementptr inbounds %struct._zend_ssa_var, ptr %13052, i64 %13054, i32 7 %13056 = load i8, ptr %13055, align 8 %13057 = and i8 %13056, 12 - %.not10878 = icmp eq i8 %13057, 0 + %.not10876 = icmp eq i8 %13057, 0 %13058 = load i32, ptr %13048, align 8 %13059 = lshr i32 %13058, 4 %13060 = add nsw i32 %13059, -5 %13061 = zext i32 %13060 to i64 %13062 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %13061 - br i1 %.not10878, label %13096, label %13063 + br i1 %.not10876, label %13096, label %13063 13063: ; preds = %13051 store i8 -1, ptr %13062, align 4 @@ -42553,10 +42553,10 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 store i8 0, ptr %13092, align 1 %13093 = shl nuw i32 1, %13045 %13094 = icmp ult i8 %2504, 6 - %.not10879 = icmp eq i8 %2504, 7 + %.not10877 = icmp eq i8 %2504, 7 %13095 = or i32 %13093, -1073741824 - %spec.select12055 = select i1 %.not10879, i32 -520095616, i32 %13095 - %.09830 = select i1 %13094, i32 %13093, i32 %spec.select12055 + %spec.select12053 = select i1 %.not10877, i32 -520095616, i32 %13095 + %.09830 = select i1 %13094, i32 %13093, i32 %spec.select12053 store i32 %.09830, ptr %20, align 4 br label %13134 @@ -42606,21 +42606,21 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %13132 = load i32, ptr %13131, align 8 %13133 = and i32 %13132, %13127 store i32 %13133, ptr %13131, align 8 - %.pre13251 = load i32, ptr %20, align 4 + %.pre13248 = load i32, ptr %20, align 4 br label %13134 13134: ; preds = %13044, %13063, %13096 - %13135 = phi i32 [ %12992, %13044 ], [ %.09830, %13063 ], [ %.pre13251, %13096 ] + %13135 = phi i32 [ %12992, %13044 ], [ %.09830, %13063 ], [ %.pre13248, %13096 ] %13136 = and i32 %13135, 2047 - %.not10880 = icmp eq i32 %13136, 64 - br i1 %.not10880, label %13137, label %thread-pre-split12605 + %.not10878 = icmp eq i32 %13136, 64 + br i1 %.not10878, label %13137, label %thread-pre-split12602 13137: ; preds = %13134, %13028, %13031, %13039 %13138 = load i32, ptr %20, align 4 %13139 = load i64, ptr %22, align 8 %13140 = load ptr, ptr %2479, align 8 - %.not10882 = icmp eq ptr %13140, null - br i1 %.not10882, label %13152, label %13141 + %.not10880 = icmp eq ptr %13140, null + br i1 %.not10880, label %13152, label %13141 13141: ; preds = %13137 %13142 = getelementptr inbounds nuw i8, ptr %.09621, i64 20 @@ -42632,8 +42632,8 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %13146 = zext nneg i32 %13143 to i64 %13147 = getelementptr inbounds nuw %struct._zend_jit_reg_var, ptr %13140, i64 %13146 %13148 = load i32, ptr %13147, align 4 - %.not10883 = icmp eq i32 %13148, 0 - br i1 %.not10883, label %13152, label %13149 + %.not10881 = icmp eq i32 %13148, 0 + br i1 %.not10881, label %13152, label %13149 13149: ; preds = %13145 %13150 = shl nuw nsw i64 %13146, 2 @@ -42663,7 +42663,7 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 13166: ; preds = %13158, %13162, %13149 %13167 = phi i64 [ %13151, %13149 ], [ %13161, %13158 ], [ %13165, %13162 ] call fastcc void @zend_jit_strlen(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %13138, i64 noundef %13139, i64 noundef %13167) - br label %thread-pre-split12618 + br label %thread-pre-split12615 13168: ; preds = %2538 %13169 = getelementptr inbounds nuw i8, ptr %2501, i64 29 @@ -42675,8 +42675,8 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %13173 = getelementptr inbounds nuw i8, ptr %.09771, i64 4 %13174 = load i32, ptr %13173, align 4 %13175 = and i32 %13174, 33554432 - %.not10857 = icmp eq i32 %13175, 0 - br i1 %.not10857, label %13181, label %13176 + %.not10855 = icmp eq i32 %13175, 0 + br i1 %.not10855, label %13181, label %13176 13176: ; preds = %13172 %13177 = getelementptr inbounds nuw i8, ptr %2501, i64 8 @@ -42699,55 +42699,55 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %13190 = getelementptr inbounds nuw i8, ptr %13189, i64 8 %13191 = load i8, ptr %13190, align 8 switch i8 %13191, label %13194 [ - i8 11, label %.thread12530 + i8 11, label %.thread12527 i8 7, label %13192 ] 13192: ; preds = %13188 %13193 = call i32 @zend_array_type_info(ptr noundef nonnull %13189) #33 - br label %.thread12530 + br label %.thread12527 13194: ; preds = %13188 %13195 = zext nneg i8 %13191 to i32 %13196 = shl nuw i32 1, %13195 %13197 = getelementptr inbounds nuw i8, ptr %13189, i64 9 %13198 = load i8, ptr %13197, align 1 - %.not10858 = icmp eq i8 %13198, 0 - br i1 %.not10858, label %13201, label %13199 + %.not10856 = icmp eq i8 %13198, 0 + br i1 %.not10856, label %13201, label %13199 13199: ; preds = %13194 %13200 = or i32 %13196, -1073741824 - br label %.thread12530 + br label %.thread12527 13201: ; preds = %13194 %13202 = icmp eq i8 %13191, 6 - %spec.select11950 = select i1 %13202, i32 -2147483584, i32 %13196 - br label %.thread12530 + %spec.select11948 = select i1 %13202, i32 -2147483584, i32 %13196 + br label %.thread12527 13203: ; preds = %13168 %13204 = load ptr, ptr %2477, align 8 - %.not10856 = icmp eq ptr %13204, null - br i1 %.not10856, label %.thread12530, label %13205 + %.not10854 = icmp eq ptr %13204, null + br i1 %.not10854, label %.thread12527, label %13205 13205: ; preds = %13203 %13206 = load i32, ptr %.09621, align 4 %13207 = icmp sgt i32 %13206, -1 - br i1 %13207, label %13208, label %.thread12530 + br i1 %13207, label %13208, label %.thread12527 13208: ; preds = %13205 %13209 = zext nneg i32 %13206 to i64 %13210 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %13204, i64 %13209 %13211 = load i32, ptr %13210, align 8 - br label %.thread12530 + br label %.thread12527 -.thread12530: ; preds = %13203, %13201, %13208, %13205, %13192, %13188, %13199 - %13212 = phi i32 [ %13193, %13192 ], [ -521143298, %13188 ], [ %13200, %13199 ], [ %spec.select11950, %13201 ], [ %13211, %13208 ], [ -486539265, %13205 ], [ -486539265, %13203 ] +.thread12527: ; preds = %13203, %13201, %13208, %13205, %13192, %13188, %13199 + %13212 = phi i32 [ %13193, %13192 ], [ -521143298, %13188 ], [ %13200, %13199 ], [ %spec.select11948, %13201 ], [ %13211, %13208 ], [ -486539265, %13205 ], [ -486539265, %13203 ] store i32 %13212, ptr %20, align 4 %13213 = load ptr, ptr %2479, align 8 - %.not10859 = icmp eq ptr %13213, null - br i1 %.not10859, label %13224, label %13214 + %.not10857 = icmp eq ptr %13213, null + br i1 %.not10857, label %13224, label %13214 -13214: ; preds = %.thread12530 +13214: ; preds = %.thread12527 %13215 = load i32, ptr %.09621, align 4 %13216 = icmp sgt i32 %13215, -1 br i1 %13216, label %13217, label %13224 @@ -42756,15 +42756,15 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %13218 = zext nneg i32 %13215 to i64 %13219 = getelementptr inbounds nuw %struct._zend_jit_reg_var, ptr %13213, i64 %13218 %13220 = load i32, ptr %13219, align 4 - %.not10860 = icmp eq i32 %13220, 0 - br i1 %.not10860, label %13224, label %13221 + %.not10858 = icmp eq i32 %13220, 0 + br i1 %.not10858, label %13224, label %13221 13221: ; preds = %13217 %13222 = shl nuw nsw i64 %13218, 2 %13223 = or disjoint i64 %13222, 2 br label %13237 -13224: ; preds = %13217, %13214, %.thread12530 +13224: ; preds = %13217, %13214, %.thread12527 %13225 = load i8, ptr %13169, align 1 %13226 = icmp eq i8 %13225, 1 %13227 = getelementptr inbounds nuw i8, ptr %2501, i64 8 @@ -42796,8 +42796,8 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %13244 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %13241, i64 %13243, i32 1 %13245 = load i8, ptr %13244, align 4 %13246 = and i8 %13245, 64 - %.not10867 = icmp eq i8 %13246, 0 - %13247 = call fastcc zeroext i1 @zend_jit_fetch_reference(ptr noundef %17, ptr noundef nonnull %2501, i8 noundef zeroext 39, ptr noundef %20, ptr noundef %22, i1 noundef zeroext %.not10867) + %.not10865 = icmp eq i8 %13246, 0 + %13247 = call fastcc zeroext i1 @zend_jit_fetch_reference(ptr noundef %17, ptr noundef nonnull %2501, i8 noundef zeroext 39, ptr noundef %20, ptr noundef %22, i1 noundef zeroext %.not10865) br i1 %13247, label %13248, label %zend_jit_stack_check.exit.thread 13248: ; preds = %13240 @@ -42826,16 +42826,16 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 13264: ; preds = %13237 %13265 = zext nneg i8 %.19588 to i32 %13266 = and i32 %13212, 268435456 - %.not10862 = icmp eq i32 %13266, 0 - %or.cond13554 = select i1 %.not10749, i1 true, i1 %.not10862 - br i1 %or.cond13554, label %13354, label %13267 + %.not10860 = icmp eq i32 %13266, 0 + %or.cond13551 = select i1 %.not10749, i1 true, i1 %.not10860 + br i1 %or.cond13551, label %13354, label %13267 13267: ; preds = %13264 %13268 = getelementptr inbounds nuw i8, ptr %2501, i64 8 %13269 = load i32, ptr %13268, align 8 %13270 = call fastcc i32 @zend_jit_type_guard(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %13269, i8 noundef zeroext %2504) - %.not10863 = icmp eq i32 %13270, 0 - br i1 %.not10863, label %zend_jit_stack_check.exit.thread, label %13271 + %.not10861 = icmp eq i32 %13270, 0 + br i1 %.not10861, label %zend_jit_stack_check.exit.thread, label %13271 13271: ; preds = %13267 %13272 = load ptr, ptr %2478, align 8 @@ -42844,13 +42844,13 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %13275 = getelementptr inbounds %struct._zend_ssa_var, ptr %13272, i64 %13274, i32 7 %13276 = load i8, ptr %13275, align 8 %13277 = and i8 %13276, 12 - %.not10864 = icmp eq i8 %13277, 0 + %.not10862 = icmp eq i8 %13277, 0 %13278 = load i32, ptr %13268, align 8 %13279 = lshr i32 %13278, 4 %13280 = add nsw i32 %13279, -5 %13281 = zext i32 %13280 to i64 %13282 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %13281 - br i1 %.not10864, label %13316, label %13283 + br i1 %.not10862, label %13316, label %13283 13283: ; preds = %13271 store i8 -1, ptr %13282, align 4 @@ -42890,10 +42890,10 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 store i8 0, ptr %13312, align 1 %13313 = shl nuw i32 1, %13265 %13314 = icmp ult i8 %2504, 6 - %.not10865 = icmp eq i8 %2504, 7 + %.not10863 = icmp eq i8 %2504, 7 %13315 = or i32 %13313, -1073741824 - %spec.select12056 = select i1 %.not10865, i32 -520095616, i32 %13315 - %.09829 = select i1 %13314, i32 %13313, i32 %spec.select12056 + %spec.select12054 = select i1 %.not10863, i32 -520095616, i32 %13315 + %.09829 = select i1 %13314, i32 %13313, i32 %spec.select12054 store i32 %.09829, ptr %20, align 4 br label %13354 @@ -42943,21 +42943,21 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %13352 = load i32, ptr %13351, align 8 %13353 = and i32 %13352, %13347 store i32 %13353, ptr %13351, align 8 - %.pre13250 = load i32, ptr %20, align 4 + %.pre13247 = load i32, ptr %20, align 4 br label %13354 13354: ; preds = %13264, %13283, %13316 - %13355 = phi i32 [ %13212, %13264 ], [ %.09829, %13283 ], [ %.pre13250, %13316 ] + %13355 = phi i32 [ %13212, %13264 ], [ %.09829, %13283 ], [ %.pre13247, %13316 ] %13356 = and i32 %13355, 2047 - %.not10866 = icmp eq i32 %13356, 128 - br i1 %.not10866, label %13357, label %thread-pre-split12605 + %.not10864 = icmp eq i32 %13356, 128 + br i1 %.not10864, label %13357, label %thread-pre-split12602 13357: ; preds = %13354, %13248, %13251, %13259 %13358 = load i32, ptr %20, align 4 %13359 = load i64, ptr %22, align 8 %13360 = load ptr, ptr %2479, align 8 - %.not10868 = icmp eq ptr %13360, null - br i1 %.not10868, label %13372, label %13361 + %.not10866 = icmp eq ptr %13360, null + br i1 %.not10866, label %13372, label %13361 13361: ; preds = %13357 %13362 = getelementptr inbounds nuw i8, ptr %.09621, i64 20 @@ -42969,8 +42969,8 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %13366 = zext nneg i32 %13363 to i64 %13367 = getelementptr inbounds nuw %struct._zend_jit_reg_var, ptr %13360, i64 %13366 %13368 = load i32, ptr %13367, align 4 - %.not10869 = icmp eq i32 %13368, 0 - br i1 %.not10869, label %13372, label %13369 + %.not10867 = icmp eq i32 %13368, 0 + br i1 %.not10867, label %13372, label %13369 13369: ; preds = %13365 %13370 = shl nuw nsw i64 %13366, 2 @@ -43002,7 +43002,7 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %13388 = call zeroext i1 @zend_may_throw(ptr noundef nonnull %2501, ptr noundef %.09621, ptr noundef %.09771, ptr noundef nonnull %40) #33 %13389 = zext i1 %13388 to i32 call fastcc void @zend_jit_count(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %13358, i64 noundef %13359, i64 noundef %13387, i32 noundef %13389) - br label %thread-pre-split12618 + br label %thread-pre-split12615 13390: ; preds = %2538 %13391 = getelementptr inbounds nuw i8, ptr %.09621, i64 20 @@ -43013,8 +43013,8 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 13394: ; preds = %13390 %13395 = getelementptr inbounds nuw i8, ptr %2501, i64 31 %13396 = load i8, ptr %13395, align 1 - %.not10854 = icmp eq i8 %13396, 8 - br i1 %.not10854, label %13406, label %13397 + %.not10852 = icmp eq i8 %13396, 8 + br i1 %.not10852, label %13406, label %13397 13397: ; preds = %13394 %13398 = call fastcc zeroext i1 @zend_jit_may_delay_fetch_this(ptr noundef %.09771, ptr noundef %40, ptr noundef %43, ptr noundef nonnull %.09621) @@ -43034,41 +43034,41 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %.119678 = phi i8 [ 1, %13399 ], [ 0, %13397 ], [ 0, %13394 ], [ 0, %13390 ] %13407 = trunc nuw i8 %.119678 to i1 %13408 = call fastcc i32 @zend_jit_fetch_this(ptr noundef %17, ptr noundef nonnull %2501, ptr noundef %.09771, i1 noundef zeroext %13407) - %.not10855 = icmp eq i32 %13408, 0 - br i1 %.not10855, label %zend_jit_stack_check.exit.thread, label %thread-pre-split12618 + %.not10853 = icmp eq i32 %13408, 0 + br i1 %.not10853, label %zend_jit_stack_check.exit.thread, label %thread-pre-split12615 13409: ; preds = %2538, %2538, %2538 %13410 = getelementptr inbounds nuw i8, ptr %.39762, i64 16 %13411 = call fastcc i32 @zend_jit_switch(ptr noundef %17, ptr noundef nonnull %2501, ptr noundef %.09771, ptr noundef %.09768, ptr noundef nonnull %13410) - %.not10853 = icmp eq i32 %13411, 0 - br i1 %.not10853, label %zend_jit_stack_check.exit.thread, label %thread-pre-split12618 + %.not10851 = icmp eq i32 %13411, 0 + br i1 %.not10851, label %zend_jit_stack_check.exit.thread, label %thread-pre-split12615 13412: ; preds = %2538 %13413 = getelementptr inbounds nuw i8, ptr %2501, i64 29 %13414 = load i8, ptr %13413, align 1 - %switch12057 = icmp ult i8 %13414, 2 - br i1 %switch12057, label %.thread12608, label %13415 + %switch12055 = icmp ult i8 %13414, 2 + br i1 %switch12055, label %.thread12605, label %13415 13415: ; preds = %13412 %13416 = getelementptr inbounds nuw i8, ptr %.09771, i64 4 %13417 = load i32, ptr %13416, align 4 %13418 = and i32 %13417, 4096 - %.not10845 = icmp eq i32 %13418, 0 - br i1 %.not10845, label %13419, label %thread-pre-split12605 + %.not10843 = icmp eq i32 %13418, 0 + br i1 %.not10843, label %13419, label %thread-pre-split12602 13419: ; preds = %13415 %13420 = load ptr, ptr %2477, align 8 - %.not10846 = icmp eq ptr %13420, null - br i1 %.not10846, label %.thread13360, label %13421 + %.not10844 = icmp eq ptr %13420, null + br i1 %.not10844, label %.thread13357, label %13421 13421: ; preds = %13419 %13422 = load i32, ptr %.09621, align 4 %13423 = icmp sgt i32 %13422, -1 - br i1 %13423, label %13424, label %.thread13360 + br i1 %13423, label %13424, label %.thread13357 -.thread13360: ; preds = %13419, %13421 +.thread13357: ; preds = %13419, %13421 store i32 -486539265, ptr %20, align 4 - br label %thread-pre-split12605 + br label %thread-pre-split12602 13424: ; preds = %13421 %13425 = zext nneg i32 %13422 to i64 @@ -43077,16 +43077,16 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 store i32 %13427, ptr %20, align 4 %13428 = zext nneg i8 %.19588 to i32 %13429 = and i32 %13427, 268435456 - %.not10848 = icmp eq i32 %13429, 0 - %or.cond11951 = select i1 %.not10749, i1 true, i1 %.not10848 - br i1 %or.cond11951, label %13517, label %13430 + %.not10846 = icmp eq i32 %13429, 0 + %or.cond11949 = select i1 %.not10749, i1 true, i1 %.not10846 + br i1 %or.cond11949, label %13517, label %13430 13430: ; preds = %13424 %13431 = getelementptr inbounds nuw i8, ptr %2501, i64 8 %13432 = load i32, ptr %13431, align 8 %13433 = call fastcc i32 @zend_jit_type_guard(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %13432, i8 noundef zeroext %2504) - %.not10849 = icmp eq i32 %13433, 0 - br i1 %.not10849, label %zend_jit_stack_check.exit.thread, label %13434 + %.not10847 = icmp eq i32 %13433, 0 + br i1 %.not10847, label %zend_jit_stack_check.exit.thread, label %13434 13434: ; preds = %13430 %13435 = load ptr, ptr %2478, align 8 @@ -43095,13 +43095,13 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %13438 = getelementptr inbounds %struct._zend_ssa_var, ptr %13435, i64 %13437, i32 7 %13439 = load i8, ptr %13438, align 8 %13440 = and i8 %13439, 12 - %.not10850 = icmp eq i8 %13440, 0 + %.not10848 = icmp eq i8 %13440, 0 %13441 = load i32, ptr %13431, align 8 %13442 = lshr i32 %13441, 4 %13443 = add nsw i32 %13442, -5 %13444 = zext i32 %13443 to i64 %13445 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %13444 - br i1 %.not10850, label %13479, label %13446 + br i1 %.not10848, label %13479, label %13446 13446: ; preds = %13434 store i8 -1, ptr %13445, align 4 @@ -43141,10 +43141,10 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 store i8 0, ptr %13475, align 1 %13476 = shl nuw i32 1, %13428 %13477 = icmp ult i8 %2504, 6 - %.not10851 = icmp eq i8 %2504, 7 + %.not10849 = icmp eq i8 %2504, 7 %13478 = or i32 %13476, -1073741824 - %spec.select12058 = select i1 %.not10851, i32 -520095616, i32 %13478 - %.09828 = select i1 %13477, i32 %13476, i32 %spec.select12058 + %spec.select12056 = select i1 %.not10849, i32 -520095616, i32 %13478 + %.09828 = select i1 %13477, i32 %13476, i32 %spec.select12056 store i32 %.09828, ptr %20, align 4 br label %13517 @@ -43194,20 +43194,20 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %13515 = load i32, ptr %13514, align 8 %13516 = and i32 %13515, %13510 store i32 %13516, ptr %13514, align 8 - %.pre13249 = load i32, ptr %20, align 4 + %.pre13246 = load i32, ptr %20, align 4 br label %13517 13517: ; preds = %13424, %13446, %13479 - %13518 = phi i32 [ %13427, %13424 ], [ %.09828, %13446 ], [ %.pre13249, %13479 ] + %13518 = phi i32 [ %13427, %13424 ], [ %.09828, %13446 ], [ %.pre13246, %13479 ] %13519 = and i32 %13518, 1024 - %.not10852 = icmp eq i32 %13519, 0 - br i1 %.not10852, label %13520, label %thread-pre-split12605 + %.not10850 = icmp eq i32 %13519, 0 + br i1 %.not10850, label %13520, label %thread-pre-split12602 13520: ; preds = %13517 %13521 = getelementptr i8, ptr %.09771, i64 40 %.09771.val = load ptr, ptr %13521, align 8 call fastcc void @zend_jit_verify_return_type(ptr noundef %17, ptr noundef nonnull %2501, ptr %.09771.val, i32 noundef %13518) - br label %thread-pre-split12618 + br label %thread-pre-split12615 13522: ; preds = %2538 %13523 = getelementptr inbounds nuw i8, ptr %2501, i64 29 @@ -43219,8 +43219,8 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %13527 = getelementptr inbounds nuw i8, ptr %.09771, i64 4 %13528 = load i32, ptr %13527, align 4 %13529 = and i32 %13528, 33554432 - %.not10837 = icmp eq i32 %13529, 0 - br i1 %.not10837, label %13535, label %13530 + %.not10835 = icmp eq i32 %13529, 0 + br i1 %.not10835, label %13535, label %13530 13530: ; preds = %13526 %13531 = getelementptr inbounds nuw i8, ptr %2501, i64 8 @@ -43243,7 +43243,7 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %13544 = getelementptr inbounds nuw i8, ptr %13543, i64 8 %13545 = load i8, ptr %13544, align 8 switch i8 %13545, label %13548 [ - i8 11, label %.thread12542 + i8 11, label %.thread12539 i8 7, label %13546 ] @@ -43256,8 +43256,8 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %13550 = shl nuw i32 1, %13549 %13551 = getelementptr inbounds nuw i8, ptr %13543, i64 9 %13552 = load i8, ptr %13551, align 1 - %.not10838 = icmp eq i8 %13552, 0 - br i1 %.not10838, label %13555, label %13553 + %.not10836 = icmp eq i8 %13552, 0 + br i1 %.not10836, label %13555, label %13553 13553: ; preds = %13548 %13554 = or i32 %13550, -1073741824 @@ -43265,18 +43265,18 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 13555: ; preds = %13548 %13556 = icmp eq i8 %13545, 6 - %spec.select11952 = select i1 %13556, i32 -2147483584, i32 %13550 + %spec.select11950 = select i1 %13556, i32 -2147483584, i32 %13550 br label %13566 13557: ; preds = %13522 %13558 = load ptr, ptr %2477, align 8 - %.not10836 = icmp eq ptr %13558, null - br i1 %.not10836, label %.thread12542, label %13559 + %.not10834 = icmp eq ptr %13558, null + br i1 %.not10834, label %.thread12539, label %13559 13559: ; preds = %13557 %13560 = load i32, ptr %.09621, align 4 %13561 = icmp sgt i32 %13560, -1 - br i1 %13561, label %13562, label %.thread12542 + br i1 %13561, label %13562, label %.thread12539 13562: ; preds = %13559 %13563 = zext nneg i32 %13560 to i64 @@ -43284,26 +43284,26 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %13565 = load i32, ptr %13564, align 8 br label %13566 -.thread12542: ; preds = %13542, %13559, %13557 +.thread12539: ; preds = %13542, %13559, %13557 %.09889.ph = phi i32 [ -486539265, %13559 ], [ -521143298, %13542 ], [ -486539265, %13557 ] store i32 %.09889.ph, ptr %20, align 4 br label %13656 13566: ; preds = %13555, %13562, %13546, %13553 - %.09889 = phi i32 [ %13547, %13546 ], [ %13554, %13553 ], [ %spec.select11952, %13555 ], [ %13565, %13562 ] + %.09889 = phi i32 [ %13547, %13546 ], [ %13554, %13553 ], [ %spec.select11950, %13555 ], [ %13565, %13562 ] store i32 %.09889, ptr %20, align 4 %13567 = zext nneg i8 %.19588 to i32 %13568 = and i32 %.09889, 268435456 - %.not10840 = icmp eq i32 %13568, 0 - %or.cond11953 = select i1 %.not10749, i1 true, i1 %.not10840 - br i1 %or.cond11953, label %13656, label %13569 + %.not10838 = icmp eq i32 %13568, 0 + %or.cond11951 = select i1 %.not10749, i1 true, i1 %.not10838 + br i1 %or.cond11951, label %13656, label %13569 13569: ; preds = %13566 %13570 = getelementptr inbounds nuw i8, ptr %2501, i64 8 %13571 = load i32, ptr %13570, align 8 %13572 = call fastcc i32 @zend_jit_type_guard(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %13571, i8 noundef zeroext %2504) - %.not10841 = icmp eq i32 %13572, 0 - br i1 %.not10841, label %zend_jit_stack_check.exit.thread, label %13573 + %.not10839 = icmp eq i32 %13572, 0 + br i1 %.not10839, label %zend_jit_stack_check.exit.thread, label %13573 13573: ; preds = %13569 %13574 = load ptr, ptr %2478, align 8 @@ -43312,13 +43312,13 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %13577 = getelementptr inbounds %struct._zend_ssa_var, ptr %13574, i64 %13576, i32 7 %13578 = load i8, ptr %13577, align 8 %13579 = and i8 %13578, 12 - %.not10842 = icmp eq i8 %13579, 0 + %.not10840 = icmp eq i8 %13579, 0 %13580 = load i32, ptr %13570, align 8 %13581 = lshr i32 %13580, 4 %13582 = add nsw i32 %13581, -5 %13583 = zext i32 %13582 to i64 %13584 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %13583 - br i1 %.not10842, label %13618, label %13585 + br i1 %.not10840, label %13618, label %13585 13585: ; preds = %13573 store i8 -1, ptr %13584, align 4 @@ -43358,10 +43358,10 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 store i8 0, ptr %13614, align 1 %13615 = shl nuw i32 1, %13567 %13616 = icmp ult i8 %2504, 6 - %.not10843 = icmp eq i8 %2504, 7 + %.not10841 = icmp eq i8 %2504, 7 %13617 = or i32 %13615, -1073741824 - %spec.select12059 = select i1 %.not10843, i32 -520095616, i32 %13617 - %.09827 = select i1 %13616, i32 %13615, i32 %spec.select12059 + %spec.select12057 = select i1 %.not10841, i32 -520095616, i32 %13617 + %.09827 = select i1 %13616, i32 %13615, i32 %spec.select12057 store i32 %.09827, ptr %20, align 4 br label %13656 @@ -43411,18 +43411,18 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %13654 = load i32, ptr %13653, align 8 %13655 = and i32 %13654, %13649 store i32 %13655, ptr %13653, align 8 - %.pre13248 = load i32, ptr %20, align 4 + %.pre13245 = load i32, ptr %20, align 4 br label %13656 -13656: ; preds = %.thread12542, %13566, %13585, %13618 - %13657 = phi i32 [ %.09889.ph, %.thread12542 ], [ %.09889, %13566 ], [ %.09827, %13585 ], [ %.pre13248, %13618 ] +13656: ; preds = %.thread12539, %13566, %13585, %13618 + %13657 = phi i32 [ %.09889.ph, %.thread12539 ], [ %.09889, %13566 ], [ %.09827, %13585 ], [ %.pre13245, %13618 ] %13658 = and i32 %13657, 2047 - %.not10844 = icmp eq i32 %13658, 128 - br i1 %.not10844, label %13659, label %thread-pre-split12605 + %.not10842 = icmp eq i32 %13658, 128 + br i1 %.not10842, label %13659, label %thread-pre-split12602 13659: ; preds = %13656 call fastcc void @zend_jit_fe_reset(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %13657) - br label %thread-pre-split12618 + br label %thread-pre-split12615 13660: ; preds = %2538 %13661 = getelementptr inbounds nuw i8, ptr %2501, i64 29 @@ -43434,8 +43434,8 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %13665 = getelementptr inbounds nuw i8, ptr %.09771, i64 4 %13666 = load i32, ptr %13665, align 4 %13667 = and i32 %13666, 33554432 - %.not10823 = icmp eq i32 %13667, 0 - br i1 %.not10823, label %13673, label %13668 + %.not10821 = icmp eq i32 %13667, 0 + br i1 %.not10821, label %13673, label %13668 13668: ; preds = %13664 %13669 = getelementptr inbounds nuw i8, ptr %2501, i64 8 @@ -43458,7 +43458,7 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %13682 = getelementptr inbounds nuw i8, ptr %13681, i64 8 %13683 = load i8, ptr %13682, align 8 switch i8 %13683, label %13686 [ - i8 11, label %.thread12549 + i8 11, label %.thread12546 i8 7, label %13684 ] @@ -43471,8 +43471,8 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %13688 = shl nuw i32 1, %13687 %13689 = getelementptr inbounds nuw i8, ptr %13681, i64 9 %13690 = load i8, ptr %13689, align 1 - %.not10824 = icmp eq i8 %13690, 0 - br i1 %.not10824, label %13693, label %13691 + %.not10822 = icmp eq i8 %13690, 0 + br i1 %.not10822, label %13693, label %13691 13691: ; preds = %13686 %13692 = or i32 %13688, -1073741824 @@ -43480,18 +43480,18 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 13693: ; preds = %13686 %13694 = icmp eq i8 %13683, 6 - %spec.select11954 = select i1 %13694, i32 -2147483584, i32 %13688 + %spec.select11952 = select i1 %13694, i32 -2147483584, i32 %13688 br label %13704 13695: ; preds = %13660 %13696 = load ptr, ptr %2477, align 8 - %.not10822 = icmp eq ptr %13696, null - br i1 %.not10822, label %.thread12549, label %13697 + %.not10820 = icmp eq ptr %13696, null + br i1 %.not10820, label %.thread12546, label %13697 13697: ; preds = %13695 %13698 = load i32, ptr %.09621, align 4 %13699 = icmp sgt i32 %13698, -1 - br i1 %13699, label %13700, label %.thread12549 + br i1 %13699, label %13700, label %.thread12546 13700: ; preds = %13697 %13701 = zext nneg i32 %13698 to i64 @@ -43499,26 +43499,26 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %13703 = load i32, ptr %13702, align 8 br label %13704 -.thread12549: ; preds = %13680, %13697, %13695 +.thread12546: ; preds = %13680, %13697, %13695 %.09884.ph = phi i32 [ -486539265, %13697 ], [ -521143298, %13680 ], [ -486539265, %13695 ] store i32 %.09884.ph, ptr %20, align 4 br label %13794 13704: ; preds = %13693, %13700, %13684, %13691 - %.09884 = phi i32 [ %13685, %13684 ], [ %13692, %13691 ], [ %spec.select11954, %13693 ], [ %13703, %13700 ] + %.09884 = phi i32 [ %13685, %13684 ], [ %13692, %13691 ], [ %spec.select11952, %13693 ], [ %13703, %13700 ] store i32 %.09884, ptr %20, align 4 %13705 = zext nneg i8 %.19588 to i32 %13706 = and i32 %.09884, 268435456 - %.not10826 = icmp eq i32 %13706, 0 - %or.cond11955 = select i1 %.not10749, i1 true, i1 %.not10826 - br i1 %or.cond11955, label %13794, label %13707 + %.not10824 = icmp eq i32 %13706, 0 + %or.cond11953 = select i1 %.not10749, i1 true, i1 %.not10824 + br i1 %or.cond11953, label %13794, label %13707 13707: ; preds = %13704 %13708 = getelementptr inbounds nuw i8, ptr %2501, i64 8 %13709 = load i32, ptr %13708, align 8 %13710 = call fastcc i32 @zend_jit_type_guard(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %13709, i8 noundef zeroext %2504) - %.not10827 = icmp eq i32 %13710, 0 - br i1 %.not10827, label %zend_jit_stack_check.exit.thread, label %13711 + %.not10825 = icmp eq i32 %13710, 0 + br i1 %.not10825, label %zend_jit_stack_check.exit.thread, label %13711 13711: ; preds = %13707 %13712 = load ptr, ptr %2478, align 8 @@ -43527,13 +43527,13 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %13715 = getelementptr inbounds %struct._zend_ssa_var, ptr %13712, i64 %13714, i32 7 %13716 = load i8, ptr %13715, align 8 %13717 = and i8 %13716, 12 - %.not10828 = icmp eq i8 %13717, 0 + %.not10826 = icmp eq i8 %13717, 0 %13718 = load i32, ptr %13708, align 8 %13719 = lshr i32 %13718, 4 %13720 = add nsw i32 %13719, -5 %13721 = zext i32 %13720 to i64 %13722 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %13721 - br i1 %.not10828, label %13756, label %13723 + br i1 %.not10826, label %13756, label %13723 13723: ; preds = %13711 store i8 -1, ptr %13722, align 4 @@ -43573,10 +43573,10 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 store i8 0, ptr %13752, align 1 %13753 = shl nuw i32 1, %13705 %13754 = icmp ult i8 %2504, 6 - %.not10829 = icmp eq i8 %2504, 7 + %.not10827 = icmp eq i8 %2504, 7 %13755 = or i32 %13753, -1073741824 - %spec.select12060 = select i1 %.not10829, i32 -520095616, i32 %13755 - %.09826 = select i1 %13754, i32 %13753, i32 %spec.select12060 + %spec.select12058 = select i1 %.not10827, i32 -520095616, i32 %13755 + %.09826 = select i1 %13754, i32 %13753, i32 %spec.select12058 store i32 %.09826, ptr %20, align 4 br label %13794 @@ -43626,14 +43626,14 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %13792 = load i32, ptr %13791, align 8 %13793 = and i32 %13792, %13787 store i32 %13793, ptr %13791, align 8 - %.pre13247 = load i32, ptr %20, align 4 + %.pre13244 = load i32, ptr %20, align 4 br label %13794 -13794: ; preds = %.thread12549, %13704, %13723, %13756 - %13795 = phi i32 [ %.09884.ph, %.thread12549 ], [ %.09884, %13704 ], [ %.09826, %13723 ], [ %.pre13247, %13756 ] +13794: ; preds = %.thread12546, %13704, %13723, %13756 + %13795 = phi i32 [ %.09884.ph, %.thread12546 ], [ %.09884, %13704 ], [ %.09826, %13723 ], [ %.pre13244, %13756 ] %13796 = and i32 %13795, 1022 - %.not10830 = icmp eq i32 %13796, 128 - br i1 %.not10830, label %13797, label %thread-pre-split12605 + %.not10828 = icmp eq i32 %13796, 128 + br i1 %.not10828, label %13797, label %thread-pre-split12602 13797: ; preds = %13794 %13798 = getelementptr inbounds nuw i8, ptr %.39762, i64 16 @@ -43654,12 +43654,12 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %13808 = getelementptr inbounds nuw i8, ptr %.39762, i64 24 %13809 = load ptr, ptr %13808, align 8 %13810 = icmp eq ptr %13809, %13807 - %spec.select12061 = select i1 %13810, i8 0, i8 42 - %spec.select12062 = select i1 %13810, ptr %2501, ptr %13807 - %13811 = call fastcc i32 @zend_jit_trace_get_exit_point(ptr noundef %spec.select12062, i32 noundef 0) + %spec.select12059 = select i1 %13810, i8 0, i8 42 + %spec.select12060 = select i1 %13810, ptr %2501, ptr %13807 + %13811 = call fastcc i32 @zend_jit_trace_get_exit_point(ptr noundef %spec.select12060, i32 noundef 0) %13812 = call fastcc ptr @zend_jit_trace_get_exit_addr(i32 noundef %13811) - %.not10831 = icmp eq ptr %13812, null - br i1 %.not10831, label %zend_jit_stack_check.exit.thread, label %13813 + %.not10829 = icmp eq ptr %13812, null + br i1 %.not10829, label %zend_jit_stack_check.exit.thread, label %13813 13813: ; preds = %13803 %13814 = load i32, ptr %20, align 4 @@ -43672,8 +43672,8 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %13819 = getelementptr inbounds nuw i8, ptr %.09771, i64 4 %13820 = load i32, ptr %13819, align 4 %13821 = and i32 %13820, 33554432 - %.not10833 = icmp eq i32 %13821, 0 - br i1 %.not10833, label %13827, label %13822 + %.not10831 = icmp eq i32 %13821, 0 + br i1 %.not10831, label %13827, label %13822 13822: ; preds = %13818 %13823 = getelementptr inbounds nuw i8, ptr %2501, i64 12 @@ -43696,58 +43696,58 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %13836 = getelementptr inbounds nuw i8, ptr %13835, i64 8 %13837 = load i8, ptr %13836, align 8 switch i8 %13837, label %13840 [ - i8 11, label %.thread12553 + i8 11, label %.thread12550 i8 7, label %13838 ] 13838: ; preds = %13834 %13839 = call i32 @zend_array_type_info(ptr noundef nonnull %13835) #33 - br label %.thread12553 + br label %.thread12550 13840: ; preds = %13834 %13841 = zext nneg i8 %13837 to i32 %13842 = shl nuw i32 1, %13841 %13843 = getelementptr inbounds nuw i8, ptr %13835, i64 9 %13844 = load i8, ptr %13843, align 1 - %.not10834 = icmp eq i8 %13844, 0 - br i1 %.not10834, label %13847, label %13845 + %.not10832 = icmp eq i8 %13844, 0 + br i1 %.not10832, label %13847, label %13845 13845: ; preds = %13840 %13846 = or i32 %13842, -1073741824 - br label %.thread12553 + br label %.thread12550 13847: ; preds = %13840 %13848 = icmp eq i8 %13837, 6 - %spec.select11956 = select i1 %13848, i32 -2147483584, i32 %13842 - br label %.thread12553 + %spec.select11954 = select i1 %13848, i32 -2147483584, i32 %13842 + br label %.thread12550 13849: ; preds = %13813 %13850 = load ptr, ptr %2477, align 8 - %.not10832 = icmp eq ptr %13850, null - br i1 %.not10832, label %.thread12553, label %13851 + %.not10830 = icmp eq ptr %13850, null + br i1 %.not10830, label %.thread12550, label %13851 13851: ; preds = %13849 %13852 = getelementptr inbounds nuw i8, ptr %.09621, i64 4 %13853 = load i32, ptr %13852, align 4 %13854 = icmp sgt i32 %13853, -1 - br i1 %13854, label %13855, label %.thread12553 + br i1 %13854, label %13855, label %.thread12550 13855: ; preds = %13851 %13856 = zext nneg i32 %13853 to i64 %13857 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %13850, i64 %13856 %13858 = load i32, ptr %13857, align 8 - br label %.thread12553 + br label %.thread12550 -.thread12553: ; preds = %13849, %13847, %13855, %13851, %13838, %13834, %13845 - %.09912 = phi i32 [ %13839, %13838 ], [ -521143298, %13834 ], [ %13846, %13845 ], [ %spec.select11956, %13847 ], [ %13858, %13855 ], [ -486539265, %13851 ], [ -486539265, %13849 ] - %13859 = call fastcc i32 @zend_jit_fe_fetch(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %13814, i32 noundef %.09912, i8 noundef zeroext %spec.select12061, ptr noundef nonnull %13812) - %.not10835 = icmp eq i32 %13859, 0 - br i1 %.not10835, label %zend_jit_stack_check.exit.thread, label %thread-pre-split12618 +.thread12550: ; preds = %13849, %13847, %13855, %13851, %13838, %13834, %13845 + %.09912 = phi i32 [ %13839, %13838 ], [ -521143298, %13834 ], [ %13846, %13845 ], [ %spec.select11954, %13847 ], [ %13858, %13855 ], [ -486539265, %13851 ], [ -486539265, %13849 ] + %13859 = call fastcc i32 @zend_jit_fe_fetch(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %13814, i32 noundef %.09912, i8 noundef zeroext %spec.select12059, ptr noundef nonnull %13812) + %.not10833 = icmp eq i32 %13859, 0 + br i1 %.not10833, label %zend_jit_stack_check.exit.thread, label %thread-pre-split12615 13860: ; preds = %2538 %13861 = load ptr, ptr %2479, align 8 - %.not10819 = icmp eq ptr %13861, null - br i1 %.not10819, label %13873, label %13862 + %.not10817 = icmp eq ptr %13861, null + br i1 %.not10817, label %13873, label %13862 13862: ; preds = %13860 %13863 = getelementptr inbounds nuw i8, ptr %.09621, i64 20 @@ -43759,8 +43759,8 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %13867 = zext nneg i32 %13864 to i64 %13868 = getelementptr inbounds nuw %struct._zend_jit_reg_var, ptr %13861, i64 %13867 %13869 = load i32, ptr %13868, align 4 - %.not10820 = icmp eq i32 %13869, 0 - br i1 %.not10820, label %13873, label %13870 + %.not10818 = icmp eq i32 %13869, 0 + br i1 %.not10818, label %13873, label %13870 13870: ; preds = %13866 %13871 = shl nuw nsw i64 %13867, 2 @@ -43790,14 +43790,14 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 13887: ; preds = %13879, %13883, %13870 %13888 = phi i64 [ %13872, %13870 ], [ %13882, %13879 ], [ %13886, %13883 ] %13889 = call fastcc i32 @zend_jit_fetch_constant(ptr noundef %17, ptr noundef nonnull %2501, ptr noundef %40, ptr noundef %.09621, i64 noundef %13888) - %.not10821 = icmp eq i32 %13889, 0 - br i1 %.not10821, label %zend_jit_stack_check.exit.thread, label %thread-pre-split12618 + %.not10819 = icmp eq i32 %13889, 0 + br i1 %.not10819, label %zend_jit_stack_check.exit.thread, label %thread-pre-split12615 13890: ; preds = %2538 %13891 = getelementptr inbounds nuw i8, ptr %2501, i64 30 %13892 = load i8, ptr %13891, align 2 - %.not10793 = icmp eq i8 %13892, 1 - br i1 %.not10793, label %13893, label %.thread12608 + %.not10791 = icmp eq i8 %13892, 1 + br i1 %.not10791, label %13893, label %.thread12605 13893: ; preds = %13890 %13894 = getelementptr inbounds nuw i8, ptr %2501, i64 12 @@ -43806,8 +43806,8 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %13897 = getelementptr inbounds i8, ptr %2501, i64 %13896 %13898 = getelementptr inbounds nuw i8, ptr %13897, i64 8 %13899 = load i8, ptr %13898, align 8 - %.not10794 = icmp eq i8 %13899, 6 - br i1 %.not10794, label %13900, label %thread-pre-split12605 + %.not10792 = icmp eq i8 %13899, 6 + br i1 %.not10792, label %13900, label %thread-pre-split12602 13900: ; preds = %13893 %13901 = getelementptr inbounds nuw i8, ptr %2501, i64 29 @@ -43826,8 +43826,8 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %13905 = getelementptr inbounds nuw i8, ptr %.09771, i64 4 %13906 = load i32, ptr %13905, align 4 %13907 = and i32 %13906, 33554432 - %.not10796 = icmp eq i32 %13907, 0 - br i1 %.not10796, label %13913, label %13908 + %.not10794 = icmp eq i32 %13907, 0 + br i1 %.not10794, label %13913, label %13908 13908: ; preds = %13904 %13909 = getelementptr inbounds nuw i8, ptr %2501, i64 8 @@ -43850,55 +43850,55 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %13922 = getelementptr inbounds nuw i8, ptr %13921, i64 8 %13923 = load i8, ptr %13922, align 8 switch i8 %13923, label %13926 [ - i8 11, label %.thread12555 + i8 11, label %.thread12552 i8 7, label %13924 ] 13924: ; preds = %13920 %13925 = call i32 @zend_array_type_info(ptr noundef nonnull %13921) #33 - br label %.thread12555 + br label %.thread12552 13926: ; preds = %13920 %13927 = zext nneg i8 %13923 to i32 %13928 = shl nuw i32 1, %13927 %13929 = getelementptr inbounds nuw i8, ptr %13921, i64 9 %13930 = load i8, ptr %13929, align 1 - %.not10797 = icmp eq i8 %13930, 0 - br i1 %.not10797, label %13933, label %13931 + %.not10795 = icmp eq i8 %13930, 0 + br i1 %.not10795, label %13933, label %13931 13931: ; preds = %13926 %13932 = or i32 %13928, -1073741824 - br label %.thread12555 + br label %.thread12552 13933: ; preds = %13926 %13934 = icmp eq i8 %13923, 6 - %spec.select11957 = select i1 %13934, i32 -2147483584, i32 %13928 - br label %.thread12555 + %spec.select11955 = select i1 %13934, i32 -2147483584, i32 %13928 + br label %.thread12552 13935: ; preds = %13900 %13936 = load ptr, ptr %2477, align 8 - %.not10795 = icmp eq ptr %13936, null - br i1 %.not10795, label %.thread12555, label %13937 + %.not10793 = icmp eq ptr %13936, null + br i1 %.not10793, label %.thread12552, label %13937 13937: ; preds = %13935 %13938 = load i32, ptr %.09621, align 4 %13939 = icmp sgt i32 %13938, -1 - br i1 %13939, label %13940, label %.thread12555 + br i1 %13939, label %13940, label %.thread12552 13940: ; preds = %13937 %13941 = zext nneg i32 %13938 to i64 %13942 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %13936, i64 %13941 %13943 = load i32, ptr %13942, align 8 - br label %.thread12555 + br label %.thread12552 -.thread12555: ; preds = %13935, %13933, %13940, %13937, %13924, %13920, %13931 - %13944 = phi i32 [ %13925, %13924 ], [ -521143298, %13920 ], [ %13932, %13931 ], [ %spec.select11957, %13933 ], [ %13943, %13940 ], [ -486539265, %13937 ], [ -486539265, %13935 ] +.thread12552: ; preds = %13935, %13933, %13940, %13937, %13924, %13920, %13931 + %13944 = phi i32 [ %13925, %13924 ], [ -521143298, %13920 ], [ %13932, %13931 ], [ %spec.select11955, %13933 ], [ %13943, %13940 ], [ -486539265, %13937 ], [ -486539265, %13935 ] store i32 %13944, ptr %20, align 4 %13945 = load ptr, ptr %2479, align 8 - %.not10798 = icmp eq ptr %13945, null - br i1 %.not10798, label %13956, label %13946 + %.not10796 = icmp eq ptr %13945, null + br i1 %.not10796, label %13956, label %13946 -13946: ; preds = %.thread12555 +13946: ; preds = %.thread12552 %13947 = load i32, ptr %.09621, align 4 %13948 = icmp sgt i32 %13947, -1 br i1 %13948, label %13949, label %13956 @@ -43907,15 +43907,15 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %13950 = zext nneg i32 %13947 to i64 %13951 = getelementptr inbounds nuw %struct._zend_jit_reg_var, ptr %13945, i64 %13950 %13952 = load i32, ptr %13951, align 4 - %.not10799 = icmp eq i32 %13952, 0 - br i1 %.not10799, label %13956, label %13953 + %.not10797 = icmp eq i32 %13952, 0 + br i1 %.not10797, label %13956, label %13953 13953: ; preds = %13949 %13954 = shl nuw nsw i64 %13950, 2 %13955 = or disjoint i64 %13954, 2 br label %13969 -13956: ; preds = %13949, %13946, %.thread12555 +13956: ; preds = %13949, %13946, %.thread12552 %13957 = load i8, ptr %13901, align 1 %13958 = icmp eq i8 %13957, 1 %13959 = getelementptr inbounds nuw i8, ptr %2501, i64 8 @@ -43945,11 +43945,11 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 br label %14089 13973: ; preds = %13969 - %.not10800 = icmp eq i8 %2495, -1 + %.not10798 = icmp eq i8 %2495, -1 %13974 = and i32 %2502, 32 - %.not10801 = icmp eq i32 %13974, 0 - %or.cond11958 = select i1 %.not10800, i1 true, i1 %.not10801 - br i1 %or.cond11958, label %13999, label %13975 + %.not10799 = icmp eq i32 %13974, 0 + %or.cond11956 = select i1 %.not10798, i1 true, i1 %.not10799 + br i1 %or.cond11956, label %13999, label %13975 13975: ; preds = %13973 %13976 = load ptr, ptr %2477, align 8 @@ -43958,8 +43958,8 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %13979 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %13976, i64 %13978, i32 1 %13980 = load i8, ptr %13979, align 4 %13981 = and i8 %13980, 64 - %.not10807 = icmp eq i8 %13981, 0 - %13982 = call fastcc zeroext i1 @zend_jit_fetch_reference(ptr noundef %17, ptr noundef nonnull %2501, i8 noundef zeroext %2495, ptr noundef %20, ptr noundef %22, i1 noundef zeroext %.not10807) + %.not10805 = icmp eq i8 %13981, 0 + %13982 = call fastcc zeroext i1 @zend_jit_fetch_reference(ptr noundef %17, ptr noundef nonnull %2501, i8 noundef zeroext %2495, ptr noundef %20, ptr noundef %22, i1 noundef zeroext %.not10805) br i1 %13982, label %13983, label %zend_jit_stack_check.exit.thread 13983: ; preds = %13975 @@ -43988,16 +43988,16 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 13999: ; preds = %13973 %14000 = zext nneg i8 %.19588 to i32 %14001 = and i32 %13944, 268435456 - %.not10803 = icmp eq i32 %14001, 0 - %or.cond13555 = select i1 %.not10749, i1 true, i1 %.not10803 - br i1 %or.cond13555, label %14089, label %14002 + %.not10801 = icmp eq i32 %14001, 0 + %or.cond13552 = select i1 %.not10749, i1 true, i1 %.not10801 + br i1 %or.cond13552, label %14089, label %14002 14002: ; preds = %13999 %14003 = getelementptr inbounds nuw i8, ptr %2501, i64 8 %14004 = load i32, ptr %14003, align 8 %14005 = call fastcc i32 @zend_jit_type_guard(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %14004, i8 noundef zeroext %2504) - %.not10804 = icmp eq i32 %14005, 0 - br i1 %.not10804, label %zend_jit_stack_check.exit.thread, label %14006 + %.not10802 = icmp eq i32 %14005, 0 + br i1 %.not10802, label %zend_jit_stack_check.exit.thread, label %14006 14006: ; preds = %14002 %14007 = load ptr, ptr %2478, align 8 @@ -44006,13 +44006,13 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %14010 = getelementptr inbounds %struct._zend_ssa_var, ptr %14007, i64 %14009, i32 7 %14011 = load i8, ptr %14010, align 8 %14012 = and i8 %14011, 12 - %.not10805 = icmp eq i8 %14012, 0 + %.not10803 = icmp eq i8 %14012, 0 %14013 = load i32, ptr %14003, align 8 %14014 = lshr i32 %14013, 4 %14015 = add nsw i32 %14014, -5 %14016 = zext i32 %14015 to i64 %14017 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %14016 - br i1 %.not10805, label %14051, label %14018 + br i1 %.not10803, label %14051, label %14018 14018: ; preds = %14006 store i8 -1, ptr %14017, align 4 @@ -44052,10 +44052,10 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 store i8 0, ptr %14047, align 1 %14048 = shl nuw i32 1, %14000 %14049 = icmp ult i8 %2504, 6 - %.not10806 = icmp eq i8 %2504, 7 + %.not10804 = icmp eq i8 %2504, 7 %14050 = or i32 %14048, -1073741824 - %spec.select12063 = select i1 %.not10806, i32 -520095616, i32 %14050 - %.09825 = select i1 %14049, i32 %14048, i32 %spec.select12063 + %spec.select12061 = select i1 %.not10804, i32 -520095616, i32 %14050 + %.09825 = select i1 %14049, i32 %14048, i32 %spec.select12061 store i32 %.09825, ptr %20, align 4 br label %14089 @@ -44109,43 +44109,43 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 14089: ; preds = %13994, %13986, %13983, %13999, %14018, %14051, %13972 %14090 = load ptr, ptr %2477, align 8 - %.not10808 = icmp eq ptr %14090, null - br i1 %.not10808, label %._crit_edge13244, label %14091 + %.not10806 = icmp eq ptr %14090, null + br i1 %.not10806, label %._crit_edge13241, label %14091 -._crit_edge13244: ; preds = %14089 - %.pr12558.pre = load i32, ptr %.09621, align 4 +._crit_edge13241: ; preds = %14089 + %.pr12555.pre = load i32, ptr %.09621, align 4 br label %14095 14091: ; preds = %14089 %14092 = load ptr, ptr %2480, align 8 - %.not10809 = icmp eq ptr %14092, null - %.pr12558.pre13245 = load i32, ptr %.09621, align 4 - br i1 %.not10809, label %14095, label %14093 + %.not10807 = icmp eq ptr %14092, null + %.pr12555.pre13242 = load i32, ptr %.09621, align 4 + br i1 %.not10807, label %14095, label %14093 14093: ; preds = %14091 - %14094 = icmp sgt i32 %.pr12558.pre13245, -1 - br i1 %14094, label %.thread13363, label %.thread12559 + %14094 = icmp sgt i32 %.pr12555.pre13242, -1 + br i1 %14094, label %.thread13360, label %.thread12556 -14095: ; preds = %._crit_edge13244, %14091 - %.pr12558 = phi i32 [ %.pr12558.pre, %._crit_edge13244 ], [ %.pr12558.pre13245, %14091 ] - %14096 = icmp sgt i32 %.pr12558, -1 - br i1 %14096, label %.thread13363, label %.thread12559 +14095: ; preds = %._crit_edge13241, %14091 + %.pr12555 = phi i32 [ %.pr12555.pre, %._crit_edge13241 ], [ %.pr12555.pre13242, %14091 ] + %14096 = icmp sgt i32 %.pr12555, -1 + br i1 %14096, label %.thread13360, label %.thread12556 -.thread13363: ; preds = %14093, %14095 - %.pr1255813366 = phi i32 [ %.pr12558, %14095 ], [ %.pr12558.pre13245, %14093 ] - %14097 = zext nneg i32 %.pr1255813366 to i64 +.thread13360: ; preds = %14093, %14095 + %.pr1255513363 = phi i32 [ %.pr12555, %14095 ], [ %.pr12555.pre13242, %14093 ] + %14097 = zext nneg i32 %.pr1255513363 to i64 %14098 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %14090, i64 %14097, i32 1 %14099 = load i8, ptr %14098, align 4 %14100 = lshr i8 %14099, 4 %14101 = trunc i8 %14100 to i1 br i1 %14101, label %14139, label %14102 -14102: ; preds = %.thread13363 +14102: ; preds = %.thread13360 %14103 = load ptr, ptr %2478, align 8 %14104 = getelementptr inbounds nuw %struct._zend_ssa_var, ptr %14103, i64 %14097, i32 2 %14105 = load i32, ptr %14104, align 8 %14106 = icmp sgt i32 %14105, -1 - br i1 %14106, label %14107, label %.thread12559 + br i1 %14106, label %14107, label %.thread12556 14107: ; preds = %14102 %14108 = zext nneg i32 %14105 to i64 @@ -44156,18 +44156,18 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %14113 = icmp eq i8 %14112, -72 br label %14139 -.thread12559: ; preds = %14093, %14095, %14102 - %.1396801256812573 = phi i8 [ %14100, %14102 ], [ 0, %14095 ], [ 0, %14093 ] +.thread12556: ; preds = %14093, %14095, %14102 + %.1396801256512570 = phi i8 [ %14100, %14102 ], [ 0, %14095 ], [ 0, %14093 ] %14114 = getelementptr inbounds nuw i8, ptr %.09768, i64 56 %14115 = load ptr, ptr %14114, align 8 - %.not10814 = icmp eq ptr %14115, null - br i1 %.not10814, label %14139, label %14116 + %.not10812 = icmp eq ptr %14115, null + br i1 %.not10812, label %14139, label %14116 -14116: ; preds = %.thread12559 +14116: ; preds = %.thread12556 %14117 = getelementptr inbounds nuw i8, ptr %.09768, i64 64 %14118 = load ptr, ptr %14117, align 8 - %.not10815 = icmp eq ptr %14118, null - br i1 %.not10815, label %14139, label %14119 + %.not10813 = icmp eq ptr %14118, null + br i1 %.not10813, label %14139, label %14119 14119: ; preds = %14116 %14120 = getelementptr inbounds nuw i8, ptr %.09771, i64 88 @@ -44195,13 +44195,13 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %14138 = icmp eq i8 %14137, -72 br label %14139 -14139: ; preds = %.thread13363, %.thread12559, %14116, %14119, %14129, %14134, %14107, %13903 - %.49685.shrunk = phi i1 [ true, %13903 ], [ %14113, %14107 ], [ %14138, %14134 ], [ false, %14129 ], [ false, %14119 ], [ false, %14116 ], [ false, %.thread12559 ], [ true, %.thread13363 ] - %.129679 = phi i8 [ 0, %13903 ], [ %14100, %14107 ], [ %.1396801256812573, %14134 ], [ %.1396801256812573, %14129 ], [ %.1396801256812573, %14119 ], [ %.1396801256812573, %14116 ], [ %.1396801256812573, %.thread12559 ], [ %14100, %.thread13363 ] +14139: ; preds = %.thread13360, %.thread12556, %14116, %14119, %14129, %14134, %14107, %13903 + %.49685.shrunk = phi i1 [ true, %13903 ], [ %14113, %14107 ], [ %14138, %14134 ], [ false, %14129 ], [ false, %14119 ], [ false, %14116 ], [ false, %.thread12556 ], [ true, %.thread13360 ] + %.129679 = phi i8 [ 0, %13903 ], [ %14100, %14107 ], [ %.1396801256512570, %14134 ], [ %.1396801256512570, %14129 ], [ %.1396801256512570, %14119 ], [ %.1396801256512570, %14116 ], [ %.1396801256512570, %.thread12556 ], [ %14100, %.thread13360 ] %14140 = getelementptr inbounds nuw i8, ptr %.09768, i64 24 %14141 = load ptr, ptr %14140, align 8 - %.not10817 = icmp eq ptr %14141, null - br i1 %.not10817, label %14151, label %14142 + %.not10815 = icmp eq ptr %14141, null + br i1 %.not10815, label %14151, label %14142 14142: ; preds = %14139 %14143 = getelementptr inbounds nuw i8, ptr %.09771, i64 88 @@ -44240,15 +44240,15 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %14170 = phi i8 [ %14166, %14161 ], [ -1, %14151 ] %14171 = phi i8 [ %14168, %14161 ], [ -1, %14151 ] %14172 = call fastcc i32 @zend_jit_init_method_call(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %14152, ptr noundef %.09771, ptr noundef %40, ptr noundef %.09621, i32 noundef %14154, i32 noundef %14155, i64 noundef %14156, i1 noundef zeroext %.49685.shrunk, i1 noundef zeroext %14157, ptr noundef nonnull %14158, i32 noundef %14159, i8 noundef signext %14170, i8 noundef signext %14171, i1 noundef zeroext %14160) - %.not10818 = icmp eq i32 %14172, 0 - br i1 %.not10818, label %zend_jit_stack_check.exit.thread, label %thread-pre-split12618 + %.not10816 = icmp eq i32 %14172, 0 + br i1 %.not10816, label %zend_jit_stack_check.exit.thread, label %thread-pre-split12615 14173: ; preds = %2538 %.not10781 = icmp eq i8 %2497, 8 %14174 = load ptr, ptr @zend_ce_closure, align 8 %.not10782 = icmp eq ptr %.09577, %14174 - %or.cond11959 = select i1 %.not10781, i1 %.not10782, i1 false - br i1 %or.cond11959, label %14175, label %thread-pre-split12605 + %or.cond11957 = select i1 %.not10781, i1 %.not10782, i1 false + br i1 %or.cond11957, label %14175, label %thread-pre-split12602 14175: ; preds = %14173 %14176 = getelementptr inbounds nuw i8, ptr %2501, i64 30 @@ -44284,7 +44284,7 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %14197 = getelementptr inbounds nuw i8, ptr %14196, i64 8 %14198 = load i8, ptr %14197, align 8 switch i8 %14198, label %14201 [ - i8 11, label %.thread12580 + i8 11, label %.thread12577 i8 7, label %14199 ] @@ -44306,19 +44306,19 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 14208: ; preds = %14201 %14209 = icmp eq i8 %14198, 6 - %spec.select11960 = select i1 %14209, i32 -2147483584, i32 %14203 + %spec.select11958 = select i1 %14209, i32 -2147483584, i32 %14203 br label %14220 14210: ; preds = %14175 %14211 = load ptr, ptr %2477, align 8 %.not10783 = icmp eq ptr %14211, null - br i1 %.not10783, label %.thread12580, label %14212 + br i1 %.not10783, label %.thread12577, label %14212 14212: ; preds = %14210 %14213 = getelementptr inbounds nuw i8, ptr %.09621, i64 4 %14214 = load i32, ptr %14213, align 4 %14215 = icmp sgt i32 %14214, -1 - br i1 %14215, label %14216, label %.thread12580 + br i1 %14215, label %14216, label %.thread12577 14216: ; preds = %14212 %14217 = zext nneg i32 %14214 to i64 @@ -44326,27 +44326,26 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %14219 = load i32, ptr %14218, align 8 br label %14220 -.thread12580: ; preds = %14195, %14212, %14210 +.thread12577: ; preds = %14195, %14212, %14210 %.09913.ph = phi i32 [ -486539265, %14212 ], [ -521143298, %14195 ], [ -486539265, %14210 ] store i32 %.09913.ph, ptr %21, align 4 - br label %14311 + br label %14310 14220: ; preds = %14208, %14216, %14199, %14206 - %.09913 = phi i32 [ %14200, %14199 ], [ %14207, %14206 ], [ %spec.select11960, %14208 ], [ %14219, %14216 ] + %.09913 = phi i32 [ %14200, %14199 ], [ %14207, %14206 ], [ %spec.select11958, %14208 ], [ %14219, %14216 ] store i32 %.09913, ptr %21, align 4 %14221 = zext nneg i8 %spec.store.select to i32 - %.not10786 = icmp eq i8 %spec.store.select, -1 %14222 = and i32 %.09913, 268435456 - %.not10787 = icmp eq i32 %14222, 0 - %or.cond11961 = select i1 %.not10786, i1 true, i1 %.not10787 - br i1 %or.cond11961, label %14311, label %14223 + %.not10786 = icmp eq i32 %14222, 0 + %or.cond11959 = select i1 %.not10750, i1 true, i1 %.not10786 + br i1 %or.cond11959, label %14310, label %14223 14223: ; preds = %14220 %14224 = getelementptr inbounds nuw i8, ptr %2501, i64 12 %14225 = load i32, ptr %14224, align 4 - %14226 = call fastcc i32 @zend_jit_type_guard(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %14225, i8 noundef zeroext %spec.store.select) - %.not10788 = icmp eq i32 %14226, 0 - br i1 %.not10788, label %zend_jit_stack_check.exit.thread, label %14227 + %14226 = call fastcc i32 @zend_jit_type_guard(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %14225, i8 noundef zeroext 8) + %.not10787 = icmp eq i32 %14226, 0 + br i1 %.not10787, label %zend_jit_stack_check.exit.thread, label %14227 14227: ; preds = %14223 %14228 = load ptr, ptr %2478, align 8 @@ -44356,13 +44355,13 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %14232 = getelementptr inbounds %struct._zend_ssa_var, ptr %14228, i64 %14231, i32 7 %14233 = load i8, ptr %14232, align 8 %14234 = and i8 %14233, 12 - %.not10789 = icmp eq i8 %14234, 0 + %.not10788 = icmp eq i8 %14234, 0 %14235 = load i32, ptr %14224, align 4 %14236 = lshr i32 %14235, 4 %14237 = add nsw i32 %14236, -5 %14238 = zext i32 %14237 to i64 %14239 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %14238 - br i1 %.not10789, label %14273, label %14240 + br i1 %.not10788, label %14272, label %14240 14240: ; preds = %14227 store i8 -1, ptr %14239, align 4 @@ -44401,3904 +44400,3900 @@ zend_jit_trace_get_exit_addr.exit12135: ; preds = %10540, %10550 %14269 = getelementptr inbounds nuw i8, ptr %14268, i64 3 store i8 0, ptr %14269, align 1 %14270 = shl nuw i32 1, %14221 - %14271 = icmp ult i8 %spec.store.select, 6 - %.not10790 = icmp eq i8 %spec.store.select, 7 - %14272 = or i32 %14270, -1073741824 - %spec.select12064 = select i1 %.not10790, i32 -520095616, i32 %14272 - %.09824 = select i1 %14271, i32 %14270, i32 %spec.select12064 - store i32 %.09824, ptr %21, align 4 - br label %14311 - -14273: ; preds = %14227 - store i8 %spec.store.select, ptr %14239, align 4 - %14274 = load i32, ptr %14224, align 4 - %14275 = lshr i32 %14274, 4 - %14276 = add nsw i32 %14275, -5 - %14277 = zext i32 %14276 to i64 - %14278 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %14277 - %14279 = getelementptr inbounds nuw i8, ptr %14278, i64 1 - store i8 %spec.store.select, ptr %14279, align 1 - %14280 = load i32, ptr %14224, align 4 - %14281 = lshr i32 %14280, 4 - %14282 = add nsw i32 %14281, -5 - %14283 = zext i32 %14282 to i64 - %14284 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %14283 - %14285 = getelementptr inbounds nuw i8, ptr %14284, i64 2 - store i8 -1, ptr %14285, align 2 - %14286 = load i32, ptr %14224, align 4 - %14287 = lshr i32 %14286, 4 - %14288 = add nsw i32 %14287, -5 - %14289 = zext i32 %14288 to i64 - %14290 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %14289 - %14291 = getelementptr inbounds nuw i8, ptr %14290, i64 3 - store i8 0, ptr %14291, align 1 - %14292 = load i32, ptr %14224, align 4 - %14293 = lshr i32 %14292, 4 - %14294 = add nsw i32 %14293, -5 - %14295 = zext i32 %14294 to i64 - %14296 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %14295, i32 1 - store i32 0, ptr %14296, align 4 - %14297 = load i32, ptr %14224, align 4 - %14298 = lshr i32 %14297, 4 - %14299 = add nsw i32 %14298, -5 - %14300 = zext i32 %14299 to i64 - %14301 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %14300 - %14302 = getelementptr inbounds nuw i8, ptr %14301, i64 3 - store i8 0, ptr %14302, align 1 - %14303 = load i32, ptr %21, align 4 - %14304 = and i32 %14303, -268435457 - store i32 %14304, ptr %21, align 4 - %14305 = load ptr, ptr %2477, align 8 - %14306 = load i32, ptr %14229, align 4 - %14307 = sext i32 %14306 to i64 - %14308 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %14305, i64 %14307 - %14309 = load i32, ptr %14308, align 8 - %14310 = and i32 %14309, %14304 - store i32 %14310, ptr %14308, align 8 - br label %14311 - -14311: ; preds = %.thread12580, %14220, %14240, %14273 - %14312 = getelementptr inbounds nuw i8, ptr %.09768, i64 24 - %14313 = load ptr, ptr %14312, align 8 - %.not10791 = icmp eq ptr %14313, null - br i1 %.not10791, label %14323, label %14314 - -14314: ; preds = %14311 - %14315 = getelementptr inbounds nuw i8, ptr %.09771, i64 88 - %14316 = load ptr, ptr %14315, align 8 - %14317 = ptrtoint ptr %2501 to i64 - %14318 = ptrtoint ptr %14316 to i64 - %14319 = sub i64 %14317, %14318 - %14320 = ashr exact i64 %14319, 3 - %14321 = getelementptr inbounds i8, ptr %14313, i64 %14320 - %14322 = load i32, ptr %14321, align 4 - br label %14323 - -14323: ; preds = %14311, %14314 - %14324 = phi i32 [ %14322, %14314 ], [ -1, %14311 ] - %14325 = getelementptr inbounds nuw i8, ptr %.09646, i64 40 - %14326 = load i32, ptr %14325, align 8 - %14327 = getelementptr inbounds nuw i8, ptr %.39762, i64 16 - %14328 = sub nsw i32 %.29615, %.09618 - %14329 = call fastcc i32 @zend_jit_init_closure_call(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %14324, ptr noundef %.09771, ptr noundef %40, ptr noundef %.09621, i32 noundef %14326, ptr noundef %14327, i32 noundef %14328) - %.not10792 = icmp eq i32 %14329, 0 - br i1 %.not10792, label %zend_jit_stack_check.exit.thread, label %thread-pre-split12618 - -14330: ; preds = %2538, %2538 - %14331 = load ptr, ptr getelementptr inbounds nuw (i8, ptr @jit_globals, i64 184), align 8 - %.not10779 = icmp eq ptr %14331, null - br i1 %.not10779, label %thread-pre-split12605, label %14332 - -14332: ; preds = %14330 - %14333 = load ptr, ptr %14331, align 8 - %.not10780 = icmp eq ptr %14333, null - br i1 %.not10780, label %thread-pre-split12605, label %14334 - -14334: ; preds = %14332 - %14335 = getelementptr inbounds nuw i8, ptr %14333, i64 44 - %14336 = load i32, ptr %14335, align 4 - %14337 = or i32 %14336, -65536 - store i32 %14337, ptr %14335, align 4 - br label %thread-pre-split12605 - -14338: ; preds = %2538, %2538, %2538 - %14339 = getelementptr inbounds nuw i8, ptr %2501, i64 30 - %14340 = load i8, ptr %14339, align 2 - %14341 = icmp eq i8 %14340, 1 - br i1 %14341, label %14342, label %14373 - -14342: ; preds = %14338 - %14343 = getelementptr inbounds nuw i8, ptr %.09771, i64 4 - %14344 = load i32, ptr %14343, align 4 - %14345 = and i32 %14344, 33554432 - %.not10771 = icmp eq i32 %14345, 0 - br i1 %.not10771, label %14351, label %14346 - -14346: ; preds = %14342 - %14347 = getelementptr inbounds nuw i8, ptr %2501, i64 12 - %14348 = load i32, ptr %14347, align 4 - %14349 = sext i32 %14348 to i64 - %14350 = getelementptr inbounds i8, ptr %2501, i64 %14349 - br label %14358 - -14351: ; preds = %14342 - %14352 = getelementptr inbounds nuw i8, ptr %.09771, i64 176 - %14353 = load ptr, ptr %14352, align 8 - %14354 = getelementptr inbounds nuw i8, ptr %2501, i64 12 - %14355 = load i32, ptr %14354, align 4 - %14356 = zext i32 %14355 to i64 - %14357 = getelementptr inbounds nuw %struct._zval_struct, ptr %14353, i64 %14356 - br label %14358 - -14358: ; preds = %14351, %14346 - %14359 = phi ptr [ %14350, %14346 ], [ %14357, %14351 ] - %14360 = getelementptr inbounds nuw i8, ptr %14359, i64 8 - %14361 = load i8, ptr %14360, align 8 - switch i8 %14361, label %14364 [ - i8 11, label %.thread12588 - i8 7, label %14362 + %14271 = or i32 %14270, -1073741824 + store i32 %14271, ptr %21, align 4 + br label %14310 + +14272: ; preds = %14227 + store i8 8, ptr %14239, align 4 + %14273 = load i32, ptr %14224, align 4 + %14274 = lshr i32 %14273, 4 + %14275 = add nsw i32 %14274, -5 + %14276 = zext i32 %14275 to i64 + %14277 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %14276 + %14278 = getelementptr inbounds nuw i8, ptr %14277, i64 1 + store i8 8, ptr %14278, align 1 + %14279 = load i32, ptr %14224, align 4 + %14280 = lshr i32 %14279, 4 + %14281 = add nsw i32 %14280, -5 + %14282 = zext i32 %14281 to i64 + %14283 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %14282 + %14284 = getelementptr inbounds nuw i8, ptr %14283, i64 2 + store i8 -1, ptr %14284, align 2 + %14285 = load i32, ptr %14224, align 4 + %14286 = lshr i32 %14285, 4 + %14287 = add nsw i32 %14286, -5 + %14288 = zext i32 %14287 to i64 + %14289 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %14288 + %14290 = getelementptr inbounds nuw i8, ptr %14289, i64 3 + store i8 0, ptr %14290, align 1 + %14291 = load i32, ptr %14224, align 4 + %14292 = lshr i32 %14291, 4 + %14293 = add nsw i32 %14292, -5 + %14294 = zext i32 %14293 to i64 + %14295 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %14294, i32 1 + store i32 0, ptr %14295, align 4 + %14296 = load i32, ptr %14224, align 4 + %14297 = lshr i32 %14296, 4 + %14298 = add nsw i32 %14297, -5 + %14299 = zext i32 %14298 to i64 + %14300 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %14299 + %14301 = getelementptr inbounds nuw i8, ptr %14300, i64 3 + store i8 0, ptr %14301, align 1 + %14302 = load i32, ptr %21, align 4 + %14303 = and i32 %14302, -268435457 + store i32 %14303, ptr %21, align 4 + %14304 = load ptr, ptr %2477, align 8 + %14305 = load i32, ptr %14229, align 4 + %14306 = sext i32 %14305 to i64 + %14307 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %14304, i64 %14306 + %14308 = load i32, ptr %14307, align 8 + %14309 = and i32 %14308, %14303 + store i32 %14309, ptr %14307, align 8 + br label %14310 + +14310: ; preds = %.thread12577, %14220, %14240, %14272 + %14311 = getelementptr inbounds nuw i8, ptr %.09768, i64 24 + %14312 = load ptr, ptr %14311, align 8 + %.not10789 = icmp eq ptr %14312, null + br i1 %.not10789, label %14322, label %14313 + +14313: ; preds = %14310 + %14314 = getelementptr inbounds nuw i8, ptr %.09771, i64 88 + %14315 = load ptr, ptr %14314, align 8 + %14316 = ptrtoint ptr %2501 to i64 + %14317 = ptrtoint ptr %14315 to i64 + %14318 = sub i64 %14316, %14317 + %14319 = ashr exact i64 %14318, 3 + %14320 = getelementptr inbounds i8, ptr %14312, i64 %14319 + %14321 = load i32, ptr %14320, align 4 + br label %14322 + +14322: ; preds = %14310, %14313 + %14323 = phi i32 [ %14321, %14313 ], [ -1, %14310 ] + %14324 = getelementptr inbounds nuw i8, ptr %.09646, i64 40 + %14325 = load i32, ptr %14324, align 8 + %14326 = getelementptr inbounds nuw i8, ptr %.39762, i64 16 + %14327 = sub nsw i32 %.29615, %.09618 + %14328 = call fastcc i32 @zend_jit_init_closure_call(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %14323, ptr noundef %.09771, ptr noundef %40, ptr noundef %.09621, i32 noundef %14325, ptr noundef %14326, i32 noundef %14327) + %.not10790 = icmp eq i32 %14328, 0 + br i1 %.not10790, label %zend_jit_stack_check.exit.thread, label %thread-pre-split12615 + +14329: ; preds = %2538, %2538 + %14330 = load ptr, ptr getelementptr inbounds nuw (i8, ptr @jit_globals, i64 184), align 8 + %.not10779 = icmp eq ptr %14330, null + br i1 %.not10779, label %thread-pre-split12602, label %14331 + +14331: ; preds = %14329 + %14332 = load ptr, ptr %14330, align 8 + %.not10780 = icmp eq ptr %14332, null + br i1 %.not10780, label %thread-pre-split12602, label %14333 + +14333: ; preds = %14331 + %14334 = getelementptr inbounds nuw i8, ptr %14332, i64 44 + %14335 = load i32, ptr %14334, align 4 + %14336 = or i32 %14335, -65536 + store i32 %14336, ptr %14334, align 4 + br label %thread-pre-split12602 + +14337: ; preds = %2538, %2538, %2538 + %14338 = getelementptr inbounds nuw i8, ptr %2501, i64 30 + %14339 = load i8, ptr %14338, align 2 + %14340 = icmp eq i8 %14339, 1 + br i1 %14340, label %14341, label %14372 + +14341: ; preds = %14337 + %14342 = getelementptr inbounds nuw i8, ptr %.09771, i64 4 + %14343 = load i32, ptr %14342, align 4 + %14344 = and i32 %14343, 33554432 + %.not10771 = icmp eq i32 %14344, 0 + br i1 %.not10771, label %14350, label %14345 + +14345: ; preds = %14341 + %14346 = getelementptr inbounds nuw i8, ptr %2501, i64 12 + %14347 = load i32, ptr %14346, align 4 + %14348 = sext i32 %14347 to i64 + %14349 = getelementptr inbounds i8, ptr %2501, i64 %14348 + br label %14357 + +14350: ; preds = %14341 + %14351 = getelementptr inbounds nuw i8, ptr %.09771, i64 176 + %14352 = load ptr, ptr %14351, align 8 + %14353 = getelementptr inbounds nuw i8, ptr %2501, i64 12 + %14354 = load i32, ptr %14353, align 4 + %14355 = zext i32 %14354 to i64 + %14356 = getelementptr inbounds nuw %struct._zval_struct, ptr %14352, i64 %14355 + br label %14357 + +14357: ; preds = %14350, %14345 + %14358 = phi ptr [ %14349, %14345 ], [ %14356, %14350 ] + %14359 = getelementptr inbounds nuw i8, ptr %14358, i64 8 + %14360 = load i8, ptr %14359, align 8 + switch i8 %14360, label %14363 [ + i8 11, label %.thread12585 + i8 7, label %14361 ] -14362: ; preds = %14358 - %14363 = call i32 @zend_array_type_info(ptr noundef nonnull %14359) #33 - br label %14383 - -14364: ; preds = %14358 - %14365 = zext nneg i8 %14361 to i32 - %14366 = shl nuw i32 1, %14365 - %14367 = getelementptr inbounds nuw i8, ptr %14359, i64 9 - %14368 = load i8, ptr %14367, align 1 - %.not10772 = icmp eq i8 %14368, 0 - br i1 %.not10772, label %14371, label %14369 - -14369: ; preds = %14364 - %14370 = or i32 %14366, -1073741824 - br label %14383 - -14371: ; preds = %14364 - %14372 = icmp eq i8 %14361, 6 - %spec.select11962 = select i1 %14372, i32 -2147483584, i32 %14366 - br label %14383 - -14373: ; preds = %14338 - %14374 = load ptr, ptr %2477, align 8 - %.not10770 = icmp eq ptr %14374, null - br i1 %.not10770, label %.thread12588, label %14375 - -14375: ; preds = %14373 - %14376 = getelementptr inbounds nuw i8, ptr %.09621, i64 4 - %14377 = load i32, ptr %14376, align 4 - %14378 = icmp sgt i32 %14377, -1 - br i1 %14378, label %14379, label %.thread12588 - -14379: ; preds = %14375 - %14380 = zext nneg i32 %14377 to i64 - %14381 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %14374, i64 %14380 - %14382 = load i32, ptr %14381, align 8 - br label %14383 - -.thread12588: ; preds = %14358, %14375, %14373 - %.09915.ph = phi i32 [ -486539265, %14375 ], [ -521143298, %14358 ], [ -486539265, %14373 ] +14361: ; preds = %14357 + %14362 = call i32 @zend_array_type_info(ptr noundef nonnull %14358) #33 + br label %14382 + +14363: ; preds = %14357 + %14364 = zext nneg i8 %14360 to i32 + %14365 = shl nuw i32 1, %14364 + %14366 = getelementptr inbounds nuw i8, ptr %14358, i64 9 + %14367 = load i8, ptr %14366, align 1 + %.not10772 = icmp eq i8 %14367, 0 + br i1 %.not10772, label %14370, label %14368 + +14368: ; preds = %14363 + %14369 = or i32 %14365, -1073741824 + br label %14382 + +14370: ; preds = %14363 + %14371 = icmp eq i8 %14360, 6 + %spec.select11960 = select i1 %14371, i32 -2147483584, i32 %14365 + br label %14382 + +14372: ; preds = %14337 + %14373 = load ptr, ptr %2477, align 8 + %.not10770 = icmp eq ptr %14373, null + br i1 %.not10770, label %.thread12585, label %14374 + +14374: ; preds = %14372 + %14375 = getelementptr inbounds nuw i8, ptr %.09621, i64 4 + %14376 = load i32, ptr %14375, align 4 + %14377 = icmp sgt i32 %14376, -1 + br i1 %14377, label %14378, label %.thread12585 + +14378: ; preds = %14374 + %14379 = zext nneg i32 %14376 to i64 + %14380 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %14373, i64 %14379 + %14381 = load i32, ptr %14380, align 8 + br label %14382 + +.thread12585: ; preds = %14357, %14374, %14372 + %.09915.ph = phi i32 [ -486539265, %14374 ], [ -521143298, %14357 ], [ -486539265, %14372 ] store i32 %.09915.ph, ptr %21, align 4 - br label %14474 + br label %14473 -14383: ; preds = %14371, %14379, %14362, %14369 - %.09915 = phi i32 [ %14363, %14362 ], [ %14370, %14369 ], [ %spec.select11962, %14371 ], [ %14382, %14379 ] +14382: ; preds = %14370, %14378, %14361, %14368 + %.09915 = phi i32 [ %14362, %14361 ], [ %14369, %14368 ], [ %spec.select11960, %14370 ], [ %14381, %14378 ] store i32 %.09915, ptr %21, align 4 - %14384 = zext nneg i8 %spec.store.select to i32 + %14383 = zext nneg i8 %spec.store.select to i32 %.not10773 = icmp eq i8 %spec.store.select, -1 - %14385 = and i32 %.09915, 268435456 - %.not10774 = icmp eq i32 %14385, 0 - %or.cond11963 = select i1 %.not10773, i1 true, i1 %.not10774 - br i1 %or.cond11963, label %14474, label %14386 - -14386: ; preds = %14383 - %14387 = getelementptr inbounds nuw i8, ptr %2501, i64 12 - %14388 = load i32, ptr %14387, align 4 - %14389 = call fastcc i32 @zend_jit_type_guard(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %14388, i8 noundef zeroext %spec.store.select) - %.not10775 = icmp eq i32 %14389, 0 - br i1 %.not10775, label %zend_jit_stack_check.exit.thread, label %14390 - -14390: ; preds = %14386 - %14391 = load ptr, ptr %2478, align 8 - %14392 = getelementptr inbounds nuw i8, ptr %.09621, i64 4 - %14393 = load i32, ptr %14392, align 4 - %14394 = sext i32 %14393 to i64 - %14395 = getelementptr inbounds %struct._zend_ssa_var, ptr %14391, i64 %14394, i32 7 - %14396 = load i8, ptr %14395, align 8 - %14397 = and i8 %14396, 12 - %.not10776 = icmp eq i8 %14397, 0 - %14398 = load i32, ptr %14387, align 4 - %14399 = lshr i32 %14398, 4 - %14400 = add nsw i32 %14399, -5 - %14401 = zext i32 %14400 to i64 - %14402 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %14401 - br i1 %.not10776, label %14436, label %14403 - -14403: ; preds = %14390 - store i8 -1, ptr %14402, align 4 - %14404 = load i32, ptr %14387, align 4 - %14405 = lshr i32 %14404, 4 - %14406 = add nsw i32 %14405, -5 - %14407 = zext i32 %14406 to i64 - %14408 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %14407 - %14409 = getelementptr inbounds nuw i8, ptr %14408, i64 1 - store i8 -1, ptr %14409, align 1 - %14410 = load i32, ptr %14387, align 4 - %14411 = lshr i32 %14410, 4 - %14412 = add nsw i32 %14411, -5 - %14413 = zext i32 %14412 to i64 - %14414 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %14413 - %14415 = getelementptr inbounds nuw i8, ptr %14414, i64 2 - store i8 -1, ptr %14415, align 2 - %14416 = load i32, ptr %14387, align 4 - %14417 = lshr i32 %14416, 4 - %14418 = add nsw i32 %14417, -5 - %14419 = zext i32 %14418 to i64 - %14420 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %14419 - %14421 = getelementptr inbounds nuw i8, ptr %14420, i64 3 - store i8 0, ptr %14421, align 1 - %14422 = load i32, ptr %14387, align 4 - %14423 = lshr i32 %14422, 4 - %14424 = add nsw i32 %14423, -5 - %14425 = zext i32 %14424 to i64 - %14426 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %14425, i32 1 - store i32 0, ptr %14426, align 4 - %14427 = load i32, ptr %14387, align 4 - %14428 = lshr i32 %14427, 4 - %14429 = add nsw i32 %14428, -5 - %14430 = zext i32 %14429 to i64 - %14431 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %14430 - %14432 = getelementptr inbounds nuw i8, ptr %14431, i64 3 - store i8 0, ptr %14432, align 1 - %14433 = shl nuw i32 1, %14384 - %14434 = icmp ult i8 %spec.store.select, 6 + %14384 = and i32 %.09915, 268435456 + %.not10774 = icmp eq i32 %14384, 0 + %or.cond11961 = select i1 %.not10773, i1 true, i1 %.not10774 + br i1 %or.cond11961, label %14473, label %14385 + +14385: ; preds = %14382 + %14386 = getelementptr inbounds nuw i8, ptr %2501, i64 12 + %14387 = load i32, ptr %14386, align 4 + %14388 = call fastcc i32 @zend_jit_type_guard(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %14387, i8 noundef zeroext %spec.store.select) + %.not10775 = icmp eq i32 %14388, 0 + br i1 %.not10775, label %zend_jit_stack_check.exit.thread, label %14389 + +14389: ; preds = %14385 + %14390 = load ptr, ptr %2478, align 8 + %14391 = getelementptr inbounds nuw i8, ptr %.09621, i64 4 + %14392 = load i32, ptr %14391, align 4 + %14393 = sext i32 %14392 to i64 + %14394 = getelementptr inbounds %struct._zend_ssa_var, ptr %14390, i64 %14393, i32 7 + %14395 = load i8, ptr %14394, align 8 + %14396 = and i8 %14395, 12 + %.not10776 = icmp eq i8 %14396, 0 + %14397 = load i32, ptr %14386, align 4 + %14398 = lshr i32 %14397, 4 + %14399 = add nsw i32 %14398, -5 + %14400 = zext i32 %14399 to i64 + %14401 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %14400 + br i1 %.not10776, label %14435, label %14402 + +14402: ; preds = %14389 + store i8 -1, ptr %14401, align 4 + %14403 = load i32, ptr %14386, align 4 + %14404 = lshr i32 %14403, 4 + %14405 = add nsw i32 %14404, -5 + %14406 = zext i32 %14405 to i64 + %14407 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %14406 + %14408 = getelementptr inbounds nuw i8, ptr %14407, i64 1 + store i8 -1, ptr %14408, align 1 + %14409 = load i32, ptr %14386, align 4 + %14410 = lshr i32 %14409, 4 + %14411 = add nsw i32 %14410, -5 + %14412 = zext i32 %14411 to i64 + %14413 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %14412 + %14414 = getelementptr inbounds nuw i8, ptr %14413, i64 2 + store i8 -1, ptr %14414, align 2 + %14415 = load i32, ptr %14386, align 4 + %14416 = lshr i32 %14415, 4 + %14417 = add nsw i32 %14416, -5 + %14418 = zext i32 %14417 to i64 + %14419 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %14418 + %14420 = getelementptr inbounds nuw i8, ptr %14419, i64 3 + store i8 0, ptr %14420, align 1 + %14421 = load i32, ptr %14386, align 4 + %14422 = lshr i32 %14421, 4 + %14423 = add nsw i32 %14422, -5 + %14424 = zext i32 %14423 to i64 + %14425 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %14424, i32 1 + store i32 0, ptr %14425, align 4 + %14426 = load i32, ptr %14386, align 4 + %14427 = lshr i32 %14426, 4 + %14428 = add nsw i32 %14427, -5 + %14429 = zext i32 %14428 to i64 + %14430 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %14429 + %14431 = getelementptr inbounds nuw i8, ptr %14430, i64 3 + store i8 0, ptr %14431, align 1 + %14432 = shl nuw i32 1, %14383 + %14433 = icmp ult i8 %spec.store.select, 6 %.not10777 = icmp eq i8 %spec.store.select, 7 - %14435 = or i32 %14433, -1073741824 - %spec.select12065 = select i1 %.not10777, i32 -520095616, i32 %14435 - %.09823 = select i1 %14434, i32 %14433, i32 %spec.select12065 + %14434 = or i32 %14432, -1073741824 + %spec.select12062 = select i1 %.not10777, i32 -520095616, i32 %14434 + %.09823 = select i1 %14433, i32 %14432, i32 %spec.select12062 store i32 %.09823, ptr %21, align 4 - br label %14474 - -14436: ; preds = %14390 - store i8 %spec.store.select, ptr %14402, align 4 - %14437 = load i32, ptr %14387, align 4 - %14438 = lshr i32 %14437, 4 - %14439 = add nsw i32 %14438, -5 - %14440 = zext i32 %14439 to i64 - %14441 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %14440 - %14442 = getelementptr inbounds nuw i8, ptr %14441, i64 1 - store i8 %spec.store.select, ptr %14442, align 1 - %14443 = load i32, ptr %14387, align 4 - %14444 = lshr i32 %14443, 4 - %14445 = add nsw i32 %14444, -5 - %14446 = zext i32 %14445 to i64 - %14447 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %14446 - %14448 = getelementptr inbounds nuw i8, ptr %14447, i64 2 - store i8 -1, ptr %14448, align 2 - %14449 = load i32, ptr %14387, align 4 - %14450 = lshr i32 %14449, 4 - %14451 = add nsw i32 %14450, -5 - %14452 = zext i32 %14451 to i64 - %14453 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %14452 - %14454 = getelementptr inbounds nuw i8, ptr %14453, i64 3 - store i8 0, ptr %14454, align 1 - %14455 = load i32, ptr %14387, align 4 - %14456 = lshr i32 %14455, 4 - %14457 = add nsw i32 %14456, -5 - %14458 = zext i32 %14457 to i64 - %14459 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %14458, i32 1 - store i32 0, ptr %14459, align 4 - %14460 = load i32, ptr %14387, align 4 - %14461 = lshr i32 %14460, 4 - %14462 = add nsw i32 %14461, -5 - %14463 = zext i32 %14462 to i64 - %14464 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %14463 - %14465 = getelementptr inbounds nuw i8, ptr %14464, i64 3 - store i8 0, ptr %14465, align 1 - %14466 = load i32, ptr %21, align 4 - %14467 = and i32 %14466, -268435457 - store i32 %14467, ptr %21, align 4 - %14468 = load ptr, ptr %2477, align 8 - %14469 = load i32, ptr %14392, align 4 - %14470 = sext i32 %14469 to i64 - %14471 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %14468, i64 %14470 - %14472 = load i32, ptr %14471, align 8 - %14473 = and i32 %14472, %14467 - store i32 %14473, ptr %14471, align 8 - %.pre13243 = load i32, ptr %21, align 4 - br label %14474 - -14474: ; preds = %.thread12588, %14383, %14403, %14436 - %14475 = phi i32 [ %.09915.ph, %.thread12588 ], [ %.09915, %14383 ], [ %.09823, %14403 ], [ %.pre13243, %14436 ] - %14476 = and i32 %14475, 2047 - %.not10778 = icmp eq i32 %14476, 64 - br i1 %.not10778, label %14477, label %thread-pre-split12605 - -14477: ; preds = %14474 - call fastcc void @zend_jit_rope(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %14475) - br label %thread-pre-split12618 + br label %14473 + +14435: ; preds = %14389 + store i8 %spec.store.select, ptr %14401, align 4 + %14436 = load i32, ptr %14386, align 4 + %14437 = lshr i32 %14436, 4 + %14438 = add nsw i32 %14437, -5 + %14439 = zext i32 %14438 to i64 + %14440 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %14439 + %14441 = getelementptr inbounds nuw i8, ptr %14440, i64 1 + store i8 %spec.store.select, ptr %14441, align 1 + %14442 = load i32, ptr %14386, align 4 + %14443 = lshr i32 %14442, 4 + %14444 = add nsw i32 %14443, -5 + %14445 = zext i32 %14444 to i64 + %14446 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %14445 + %14447 = getelementptr inbounds nuw i8, ptr %14446, i64 2 + store i8 -1, ptr %14447, align 2 + %14448 = load i32, ptr %14386, align 4 + %14449 = lshr i32 %14448, 4 + %14450 = add nsw i32 %14449, -5 + %14451 = zext i32 %14450 to i64 + %14452 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %14451 + %14453 = getelementptr inbounds nuw i8, ptr %14452, i64 3 + store i8 0, ptr %14453, align 1 + %14454 = load i32, ptr %14386, align 4 + %14455 = lshr i32 %14454, 4 + %14456 = add nsw i32 %14455, -5 + %14457 = zext i32 %14456 to i64 + %14458 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %14457, i32 1 + store i32 0, ptr %14458, align 4 + %14459 = load i32, ptr %14386, align 4 + %14460 = lshr i32 %14459, 4 + %14461 = add nsw i32 %14460, -5 + %14462 = zext i32 %14461 to i64 + %14463 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %14462 + %14464 = getelementptr inbounds nuw i8, ptr %14463, i64 3 + store i8 0, ptr %14464, align 1 + %14465 = load i32, ptr %21, align 4 + %14466 = and i32 %14465, -268435457 + store i32 %14466, ptr %21, align 4 + %14467 = load ptr, ptr %2477, align 8 + %14468 = load i32, ptr %14391, align 4 + %14469 = sext i32 %14468 to i64 + %14470 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %14467, i64 %14469 + %14471 = load i32, ptr %14470, align 8 + %14472 = and i32 %14471, %14466 + store i32 %14472, ptr %14470, align 8 + %.pre13240 = load i32, ptr %21, align 4 + br label %14473 + +14473: ; preds = %.thread12585, %14382, %14402, %14435 + %14474 = phi i32 [ %.09915.ph, %.thread12585 ], [ %.09915, %14382 ], [ %.09823, %14402 ], [ %.pre13240, %14435 ] + %14475 = and i32 %14474, 2047 + %.not10778 = icmp eq i32 %14475, 64 + br i1 %.not10778, label %14476, label %thread-pre-split12602 + +14476: ; preds = %14473 + call fastcc void @zend_jit_rope(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %14474) + br label %thread-pre-split12615 -14478: ; preds = %2538 +14477: ; preds = %2538 call fastcc void @jit_frameless_icall0(ptr noundef %17, ptr noundef nonnull %2501) - br label %thread-pre-split12618 - -14479: ; preds = %2538 - %14480 = getelementptr inbounds nuw i8, ptr %2501, i64 29 - %14481 = load i8, ptr %14480, align 1 - %14482 = icmp eq i8 %14481, 1 - br i1 %14482, label %14483, label %14514 - -14483: ; preds = %14479 - %14484 = getelementptr inbounds nuw i8, ptr %.09771, i64 4 - %14485 = load i32, ptr %14484, align 4 - %14486 = and i32 %14485, 33554432 - %.not10768 = icmp eq i32 %14486, 0 - br i1 %.not10768, label %14492, label %14487 - -14487: ; preds = %14483 - %14488 = getelementptr inbounds nuw i8, ptr %2501, i64 8 - %14489 = load i32, ptr %14488, align 8 - %14490 = sext i32 %14489 to i64 - %14491 = getelementptr inbounds i8, ptr %2501, i64 %14490 - br label %14499 - -14492: ; preds = %14483 - %14493 = getelementptr inbounds nuw i8, ptr %.09771, i64 176 - %14494 = load ptr, ptr %14493, align 8 - %14495 = getelementptr inbounds nuw i8, ptr %2501, i64 8 - %14496 = load i32, ptr %14495, align 8 - %14497 = zext i32 %14496 to i64 - %14498 = getelementptr inbounds nuw %struct._zval_struct, ptr %14494, i64 %14497 - br label %14499 - -14499: ; preds = %14492, %14487 - %14500 = phi ptr [ %14491, %14487 ], [ %14498, %14492 ] - %14501 = getelementptr inbounds nuw i8, ptr %14500, i64 8 - %14502 = load i8, ptr %14501, align 8 - switch i8 %14502, label %14505 [ - i8 11, label %.thread12593 - i8 7, label %14503 + br label %thread-pre-split12615 + +14478: ; preds = %2538 + %14479 = getelementptr inbounds nuw i8, ptr %2501, i64 29 + %14480 = load i8, ptr %14479, align 1 + %14481 = icmp eq i8 %14480, 1 + br i1 %14481, label %14482, label %14513 + +14482: ; preds = %14478 + %14483 = getelementptr inbounds nuw i8, ptr %.09771, i64 4 + %14484 = load i32, ptr %14483, align 4 + %14485 = and i32 %14484, 33554432 + %.not10768 = icmp eq i32 %14485, 0 + br i1 %.not10768, label %14491, label %14486 + +14486: ; preds = %14482 + %14487 = getelementptr inbounds nuw i8, ptr %2501, i64 8 + %14488 = load i32, ptr %14487, align 8 + %14489 = sext i32 %14488 to i64 + %14490 = getelementptr inbounds i8, ptr %2501, i64 %14489 + br label %14498 + +14491: ; preds = %14482 + %14492 = getelementptr inbounds nuw i8, ptr %.09771, i64 176 + %14493 = load ptr, ptr %14492, align 8 + %14494 = getelementptr inbounds nuw i8, ptr %2501, i64 8 + %14495 = load i32, ptr %14494, align 8 + %14496 = zext i32 %14495 to i64 + %14497 = getelementptr inbounds nuw %struct._zval_struct, ptr %14493, i64 %14496 + br label %14498 + +14498: ; preds = %14491, %14486 + %14499 = phi ptr [ %14490, %14486 ], [ %14497, %14491 ] + %14500 = getelementptr inbounds nuw i8, ptr %14499, i64 8 + %14501 = load i8, ptr %14500, align 8 + switch i8 %14501, label %14504 [ + i8 11, label %.thread12590 + i8 7, label %14502 ] -14503: ; preds = %14499 - %14504 = call i32 @zend_array_type_info(ptr noundef nonnull %14500) #33 - br label %.thread12593 - -14505: ; preds = %14499 - %14506 = zext nneg i8 %14502 to i32 - %14507 = shl nuw i32 1, %14506 - %14508 = getelementptr inbounds nuw i8, ptr %14500, i64 9 - %14509 = load i8, ptr %14508, align 1 - %.not10769 = icmp eq i8 %14509, 0 - br i1 %.not10769, label %14512, label %14510 - -14510: ; preds = %14505 - %14511 = or i32 %14507, -1073741824 - br label %.thread12593 - -14512: ; preds = %14505 - %14513 = icmp eq i8 %14502, 6 - %spec.select11964 = select i1 %14513, i32 -2147483584, i32 %14507 - br label %.thread12593 - -14514: ; preds = %14479 - %14515 = load ptr, ptr %2477, align 8 - %.not10767 = icmp eq ptr %14515, null - br i1 %.not10767, label %.thread12593, label %14516 - -14516: ; preds = %14514 - %14517 = load i32, ptr %.09621, align 4 - %14518 = icmp sgt i32 %14517, -1 - br i1 %14518, label %14519, label %.thread12593 - -14519: ; preds = %14516 - %14520 = zext nneg i32 %14517 to i64 - %14521 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %14515, i64 %14520 - %14522 = load i32, ptr %14521, align 8 - br label %.thread12593 - -.thread12593: ; preds = %14514, %14512, %14519, %14516, %14503, %14499, %14510 - %.09874 = phi i32 [ %14504, %14503 ], [ -521143298, %14499 ], [ %14511, %14510 ], [ %spec.select11964, %14512 ], [ %14522, %14519 ], [ -486539265, %14516 ], [ -486539265, %14514 ] +14502: ; preds = %14498 + %14503 = call i32 @zend_array_type_info(ptr noundef nonnull %14499) #33 + br label %.thread12590 + +14504: ; preds = %14498 + %14505 = zext nneg i8 %14501 to i32 + %14506 = shl nuw i32 1, %14505 + %14507 = getelementptr inbounds nuw i8, ptr %14499, i64 9 + %14508 = load i8, ptr %14507, align 1 + %.not10769 = icmp eq i8 %14508, 0 + br i1 %.not10769, label %14511, label %14509 + +14509: ; preds = %14504 + %14510 = or i32 %14506, -1073741824 + br label %.thread12590 + +14511: ; preds = %14504 + %14512 = icmp eq i8 %14501, 6 + %spec.select11962 = select i1 %14512, i32 -2147483584, i32 %14506 + br label %.thread12590 + +14513: ; preds = %14478 + %14514 = load ptr, ptr %2477, align 8 + %.not10767 = icmp eq ptr %14514, null + br i1 %.not10767, label %.thread12590, label %14515 + +14515: ; preds = %14513 + %14516 = load i32, ptr %.09621, align 4 + %14517 = icmp sgt i32 %14516, -1 + br i1 %14517, label %14518, label %.thread12590 + +14518: ; preds = %14515 + %14519 = zext nneg i32 %14516 to i64 + %14520 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %14514, i64 %14519 + %14521 = load i32, ptr %14520, align 8 + br label %.thread12590 + +.thread12590: ; preds = %14513, %14511, %14518, %14515, %14502, %14498, %14509 + %.09874 = phi i32 [ %14503, %14502 ], [ -521143298, %14498 ], [ %14510, %14509 ], [ %spec.select11962, %14511 ], [ %14521, %14518 ], [ -486539265, %14515 ], [ -486539265, %14513 ] store i32 %.09874, ptr %20, align 4 call fastcc void @jit_frameless_icall1(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %.09874) - br label %thread-pre-split12618 - -14523: ; preds = %2538 - %14524 = getelementptr inbounds nuw i8, ptr %2501, i64 29 - %14525 = load i8, ptr %14524, align 1 - %14526 = icmp eq i8 %14525, 1 - br i1 %14526, label %14527, label %14558 - -14527: ; preds = %14523 - %14528 = getelementptr inbounds nuw i8, ptr %.09771, i64 4 - %14529 = load i32, ptr %14528, align 4 - %14530 = and i32 %14529, 33554432 - %.not10762 = icmp eq i32 %14530, 0 - br i1 %.not10762, label %14536, label %14531 - -14531: ; preds = %14527 - %14532 = getelementptr inbounds nuw i8, ptr %2501, i64 8 - %14533 = load i32, ptr %14532, align 8 - %14534 = sext i32 %14533 to i64 - %14535 = getelementptr inbounds i8, ptr %2501, i64 %14534 - br label %14543 - -14536: ; preds = %14527 - %14537 = getelementptr inbounds nuw i8, ptr %.09771, i64 176 - %14538 = load ptr, ptr %14537, align 8 - %14539 = getelementptr inbounds nuw i8, ptr %2501, i64 8 - %14540 = load i32, ptr %14539, align 8 - %14541 = zext i32 %14540 to i64 - %14542 = getelementptr inbounds nuw %struct._zval_struct, ptr %14538, i64 %14541 - br label %14543 - -14543: ; preds = %14536, %14531 - %14544 = phi ptr [ %14535, %14531 ], [ %14542, %14536 ] - %14545 = getelementptr inbounds nuw i8, ptr %14544, i64 8 - %14546 = load i8, ptr %14545, align 8 - switch i8 %14546, label %14549 [ - i8 11, label %.thread12595 - i8 7, label %14547 + br label %thread-pre-split12615 + +14522: ; preds = %2538 + %14523 = getelementptr inbounds nuw i8, ptr %2501, i64 29 + %14524 = load i8, ptr %14523, align 1 + %14525 = icmp eq i8 %14524, 1 + br i1 %14525, label %14526, label %14557 + +14526: ; preds = %14522 + %14527 = getelementptr inbounds nuw i8, ptr %.09771, i64 4 + %14528 = load i32, ptr %14527, align 4 + %14529 = and i32 %14528, 33554432 + %.not10762 = icmp eq i32 %14529, 0 + br i1 %.not10762, label %14535, label %14530 + +14530: ; preds = %14526 + %14531 = getelementptr inbounds nuw i8, ptr %2501, i64 8 + %14532 = load i32, ptr %14531, align 8 + %14533 = sext i32 %14532 to i64 + %14534 = getelementptr inbounds i8, ptr %2501, i64 %14533 + br label %14542 + +14535: ; preds = %14526 + %14536 = getelementptr inbounds nuw i8, ptr %.09771, i64 176 + %14537 = load ptr, ptr %14536, align 8 + %14538 = getelementptr inbounds nuw i8, ptr %2501, i64 8 + %14539 = load i32, ptr %14538, align 8 + %14540 = zext i32 %14539 to i64 + %14541 = getelementptr inbounds nuw %struct._zval_struct, ptr %14537, i64 %14540 + br label %14542 + +14542: ; preds = %14535, %14530 + %14543 = phi ptr [ %14534, %14530 ], [ %14541, %14535 ] + %14544 = getelementptr inbounds nuw i8, ptr %14543, i64 8 + %14545 = load i8, ptr %14544, align 8 + switch i8 %14545, label %14548 [ + i8 11, label %.thread12592 + i8 7, label %14546 ] -14547: ; preds = %14543 - %14548 = call i32 @zend_array_type_info(ptr noundef nonnull %14544) #33 - br label %.thread12595 - -14549: ; preds = %14543 - %14550 = zext nneg i8 %14546 to i32 - %14551 = shl nuw i32 1, %14550 - %14552 = getelementptr inbounds nuw i8, ptr %14544, i64 9 - %14553 = load i8, ptr %14552, align 1 - %.not10763 = icmp eq i8 %14553, 0 - br i1 %.not10763, label %14556, label %14554 - -14554: ; preds = %14549 - %14555 = or i32 %14551, -1073741824 - br label %.thread12595 - -14556: ; preds = %14549 - %14557 = icmp eq i8 %14546, 6 - %spec.select11965 = select i1 %14557, i32 -2147483584, i32 %14551 - br label %.thread12595 - -14558: ; preds = %14523 - %14559 = load ptr, ptr %2477, align 8 - %.not10761 = icmp eq ptr %14559, null - br i1 %.not10761, label %.thread12595, label %14560 - -14560: ; preds = %14558 - %14561 = load i32, ptr %.09621, align 4 - %14562 = icmp sgt i32 %14561, -1 - br i1 %14562, label %14563, label %.thread12595 - -14563: ; preds = %14560 - %14564 = zext nneg i32 %14561 to i64 - %14565 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %14559, i64 %14564 - %14566 = load i32, ptr %14565, align 8 - br label %.thread12595 - -.thread12595: ; preds = %14558, %14556, %14563, %14560, %14547, %14543, %14554 - %.09869 = phi i32 [ %14548, %14547 ], [ -521143298, %14543 ], [ %14555, %14554 ], [ %spec.select11965, %14556 ], [ %14566, %14563 ], [ -486539265, %14560 ], [ -486539265, %14558 ] +14546: ; preds = %14542 + %14547 = call i32 @zend_array_type_info(ptr noundef nonnull %14543) #33 + br label %.thread12592 + +14548: ; preds = %14542 + %14549 = zext nneg i8 %14545 to i32 + %14550 = shl nuw i32 1, %14549 + %14551 = getelementptr inbounds nuw i8, ptr %14543, i64 9 + %14552 = load i8, ptr %14551, align 1 + %.not10763 = icmp eq i8 %14552, 0 + br i1 %.not10763, label %14555, label %14553 + +14553: ; preds = %14548 + %14554 = or i32 %14550, -1073741824 + br label %.thread12592 + +14555: ; preds = %14548 + %14556 = icmp eq i8 %14545, 6 + %spec.select11963 = select i1 %14556, i32 -2147483584, i32 %14550 + br label %.thread12592 + +14557: ; preds = %14522 + %14558 = load ptr, ptr %2477, align 8 + %.not10761 = icmp eq ptr %14558, null + br i1 %.not10761, label %.thread12592, label %14559 + +14559: ; preds = %14557 + %14560 = load i32, ptr %.09621, align 4 + %14561 = icmp sgt i32 %14560, -1 + br i1 %14561, label %14562, label %.thread12592 + +14562: ; preds = %14559 + %14563 = zext nneg i32 %14560 to i64 + %14564 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %14558, i64 %14563 + %14565 = load i32, ptr %14564, align 8 + br label %.thread12592 + +.thread12592: ; preds = %14557, %14555, %14562, %14559, %14546, %14542, %14553 + %.09869 = phi i32 [ %14547, %14546 ], [ -521143298, %14542 ], [ %14554, %14553 ], [ %spec.select11963, %14555 ], [ %14565, %14562 ], [ -486539265, %14559 ], [ -486539265, %14557 ] store i32 %.09869, ptr %20, align 4 - %14567 = getelementptr inbounds nuw i8, ptr %2501, i64 30 - %14568 = load i8, ptr %14567, align 2 - %14569 = icmp eq i8 %14568, 1 - br i1 %14569, label %14570, label %14601 - -14570: ; preds = %.thread12595 - %14571 = getelementptr inbounds nuw i8, ptr %.09771, i64 4 - %14572 = load i32, ptr %14571, align 4 - %14573 = and i32 %14572, 33554432 - %.not10765 = icmp eq i32 %14573, 0 - br i1 %.not10765, label %14579, label %14574 - -14574: ; preds = %14570 - %14575 = getelementptr inbounds nuw i8, ptr %2501, i64 12 - %14576 = load i32, ptr %14575, align 4 - %14577 = sext i32 %14576 to i64 - %14578 = getelementptr inbounds i8, ptr %2501, i64 %14577 - br label %14586 - -14579: ; preds = %14570 - %14580 = getelementptr inbounds nuw i8, ptr %.09771, i64 176 - %14581 = load ptr, ptr %14580, align 8 - %14582 = getelementptr inbounds nuw i8, ptr %2501, i64 12 - %14583 = load i32, ptr %14582, align 4 - %14584 = zext i32 %14583 to i64 - %14585 = getelementptr inbounds nuw %struct._zval_struct, ptr %14581, i64 %14584 - br label %14586 - -14586: ; preds = %14579, %14574 - %14587 = phi ptr [ %14578, %14574 ], [ %14585, %14579 ] - %14588 = getelementptr inbounds nuw i8, ptr %14587, i64 8 - %14589 = load i8, ptr %14588, align 8 - switch i8 %14589, label %14592 [ - i8 11, label %.thread12597 - i8 7, label %14590 + %14566 = getelementptr inbounds nuw i8, ptr %2501, i64 30 + %14567 = load i8, ptr %14566, align 2 + %14568 = icmp eq i8 %14567, 1 + br i1 %14568, label %14569, label %14600 + +14569: ; preds = %.thread12592 + %14570 = getelementptr inbounds nuw i8, ptr %.09771, i64 4 + %14571 = load i32, ptr %14570, align 4 + %14572 = and i32 %14571, 33554432 + %.not10765 = icmp eq i32 %14572, 0 + br i1 %.not10765, label %14578, label %14573 + +14573: ; preds = %14569 + %14574 = getelementptr inbounds nuw i8, ptr %2501, i64 12 + %14575 = load i32, ptr %14574, align 4 + %14576 = sext i32 %14575 to i64 + %14577 = getelementptr inbounds i8, ptr %2501, i64 %14576 + br label %14585 + +14578: ; preds = %14569 + %14579 = getelementptr inbounds nuw i8, ptr %.09771, i64 176 + %14580 = load ptr, ptr %14579, align 8 + %14581 = getelementptr inbounds nuw i8, ptr %2501, i64 12 + %14582 = load i32, ptr %14581, align 4 + %14583 = zext i32 %14582 to i64 + %14584 = getelementptr inbounds nuw %struct._zval_struct, ptr %14580, i64 %14583 + br label %14585 + +14585: ; preds = %14578, %14573 + %14586 = phi ptr [ %14577, %14573 ], [ %14584, %14578 ] + %14587 = getelementptr inbounds nuw i8, ptr %14586, i64 8 + %14588 = load i8, ptr %14587, align 8 + switch i8 %14588, label %14591 [ + i8 11, label %.thread12594 + i8 7, label %14589 ] -14590: ; preds = %14586 - %14591 = call i32 @zend_array_type_info(ptr noundef nonnull %14587) #33 - %.pre13242 = load i32, ptr %20, align 4 - br label %.thread12597 - -14592: ; preds = %14586 - %14593 = zext nneg i8 %14589 to i32 - %14594 = shl nuw i32 1, %14593 - %14595 = getelementptr inbounds nuw i8, ptr %14587, i64 9 - %14596 = load i8, ptr %14595, align 1 - %.not10766 = icmp eq i8 %14596, 0 - br i1 %.not10766, label %14599, label %14597 - -14597: ; preds = %14592 - %14598 = or i32 %14594, -1073741824 - br label %.thread12597 - -14599: ; preds = %14592 - %14600 = icmp eq i8 %14589, 6 - %spec.select11966 = select i1 %14600, i32 -2147483584, i32 %14594 - br label %.thread12597 - -14601: ; preds = %.thread12595 - %14602 = load ptr, ptr %2477, align 8 - %.not10764 = icmp eq ptr %14602, null - br i1 %.not10764, label %.thread12597, label %14603 - -14603: ; preds = %14601 - %14604 = getelementptr inbounds nuw i8, ptr %.09621, i64 4 - %14605 = load i32, ptr %14604, align 4 - %14606 = icmp sgt i32 %14605, -1 - br i1 %14606, label %14607, label %.thread12597 - -14607: ; preds = %14603 - %14608 = zext nneg i32 %14605 to i64 - %14609 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %14602, i64 %14608 - %14610 = load i32, ptr %14609, align 8 - br label %.thread12597 - -.thread12597: ; preds = %14601, %14599, %14607, %14603, %14590, %14586, %14597 - %14611 = phi i32 [ %.pre13242, %14590 ], [ %.09869, %14586 ], [ %.09869, %14597 ], [ %.09869, %14599 ], [ %.09869, %14607 ], [ %.09869, %14603 ], [ %.09869, %14601 ] - %.09916 = phi i32 [ %14591, %14590 ], [ -521143298, %14586 ], [ %14598, %14597 ], [ %spec.select11966, %14599 ], [ %14610, %14607 ], [ -486539265, %14603 ], [ -486539265, %14601 ] +14589: ; preds = %14585 + %14590 = call i32 @zend_array_type_info(ptr noundef nonnull %14586) #33 + %.pre13239 = load i32, ptr %20, align 4 + br label %.thread12594 + +14591: ; preds = %14585 + %14592 = zext nneg i8 %14588 to i32 + %14593 = shl nuw i32 1, %14592 + %14594 = getelementptr inbounds nuw i8, ptr %14586, i64 9 + %14595 = load i8, ptr %14594, align 1 + %.not10766 = icmp eq i8 %14595, 0 + br i1 %.not10766, label %14598, label %14596 + +14596: ; preds = %14591 + %14597 = or i32 %14593, -1073741824 + br label %.thread12594 + +14598: ; preds = %14591 + %14599 = icmp eq i8 %14588, 6 + %spec.select11964 = select i1 %14599, i32 -2147483584, i32 %14593 + br label %.thread12594 + +14600: ; preds = %.thread12592 + %14601 = load ptr, ptr %2477, align 8 + %.not10764 = icmp eq ptr %14601, null + br i1 %.not10764, label %.thread12594, label %14602 + +14602: ; preds = %14600 + %14603 = getelementptr inbounds nuw i8, ptr %.09621, i64 4 + %14604 = load i32, ptr %14603, align 4 + %14605 = icmp sgt i32 %14604, -1 + br i1 %14605, label %14606, label %.thread12594 + +14606: ; preds = %14602 + %14607 = zext nneg i32 %14604 to i64 + %14608 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %14601, i64 %14607 + %14609 = load i32, ptr %14608, align 8 + br label %.thread12594 + +.thread12594: ; preds = %14600, %14598, %14606, %14602, %14589, %14585, %14596 + %14610 = phi i32 [ %.pre13239, %14589 ], [ %.09869, %14585 ], [ %.09869, %14596 ], [ %.09869, %14598 ], [ %.09869, %14606 ], [ %.09869, %14602 ], [ %.09869, %14600 ] + %.09916 = phi i32 [ %14590, %14589 ], [ -521143298, %14585 ], [ %14597, %14596 ], [ %spec.select11964, %14598 ], [ %14609, %14606 ], [ -486539265, %14602 ], [ -486539265, %14600 ] store i32 %.09916, ptr %21, align 4 - call fastcc void @jit_frameless_icall2(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %14611, i32 noundef %.09916) - br label %thread-pre-split12618 - -14612: ; preds = %2538 - %14613 = getelementptr inbounds nuw i8, ptr %2501, i64 29 - %14614 = load i8, ptr %14613, align 1 - %14615 = icmp eq i8 %14614, 1 - br i1 %14615, label %14616, label %14647 - -14616: ; preds = %14612 - %14617 = getelementptr inbounds nuw i8, ptr %.09771, i64 4 - %14618 = load i32, ptr %14617, align 4 - %14619 = and i32 %14618, 33554432 - %.not10753 = icmp eq i32 %14619, 0 - br i1 %.not10753, label %14625, label %14620 - -14620: ; preds = %14616 - %14621 = getelementptr inbounds nuw i8, ptr %2501, i64 8 - %14622 = load i32, ptr %14621, align 8 - %14623 = sext i32 %14622 to i64 - %14624 = getelementptr inbounds i8, ptr %2501, i64 %14623 - br label %14632 - -14625: ; preds = %14616 - %14626 = getelementptr inbounds nuw i8, ptr %.09771, i64 176 - %14627 = load ptr, ptr %14626, align 8 - %14628 = getelementptr inbounds nuw i8, ptr %2501, i64 8 - %14629 = load i32, ptr %14628, align 8 - %14630 = zext i32 %14629 to i64 - %14631 = getelementptr inbounds nuw %struct._zval_struct, ptr %14627, i64 %14630 - br label %14632 - -14632: ; preds = %14625, %14620 - %14633 = phi ptr [ %14624, %14620 ], [ %14631, %14625 ] - %14634 = getelementptr inbounds nuw i8, ptr %14633, i64 8 - %14635 = load i8, ptr %14634, align 8 - switch i8 %14635, label %14638 [ - i8 11, label %.thread12599 - i8 7, label %14636 + call fastcc void @jit_frameless_icall2(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %14610, i32 noundef %.09916) + br label %thread-pre-split12615 + +14611: ; preds = %2538 + %14612 = getelementptr inbounds nuw i8, ptr %2501, i64 29 + %14613 = load i8, ptr %14612, align 1 + %14614 = icmp eq i8 %14613, 1 + br i1 %14614, label %14615, label %14646 + +14615: ; preds = %14611 + %14616 = getelementptr inbounds nuw i8, ptr %.09771, i64 4 + %14617 = load i32, ptr %14616, align 4 + %14618 = and i32 %14617, 33554432 + %.not10753 = icmp eq i32 %14618, 0 + br i1 %.not10753, label %14624, label %14619 + +14619: ; preds = %14615 + %14620 = getelementptr inbounds nuw i8, ptr %2501, i64 8 + %14621 = load i32, ptr %14620, align 8 + %14622 = sext i32 %14621 to i64 + %14623 = getelementptr inbounds i8, ptr %2501, i64 %14622 + br label %14631 + +14624: ; preds = %14615 + %14625 = getelementptr inbounds nuw i8, ptr %.09771, i64 176 + %14626 = load ptr, ptr %14625, align 8 + %14627 = getelementptr inbounds nuw i8, ptr %2501, i64 8 + %14628 = load i32, ptr %14627, align 8 + %14629 = zext i32 %14628 to i64 + %14630 = getelementptr inbounds nuw %struct._zval_struct, ptr %14626, i64 %14629 + br label %14631 + +14631: ; preds = %14624, %14619 + %14632 = phi ptr [ %14623, %14619 ], [ %14630, %14624 ] + %14633 = getelementptr inbounds nuw i8, ptr %14632, i64 8 + %14634 = load i8, ptr %14633, align 8 + switch i8 %14634, label %14637 [ + i8 11, label %.thread12596 + i8 7, label %14635 ] -14636: ; preds = %14632 - %14637 = call i32 @zend_array_type_info(ptr noundef nonnull %14633) #33 - br label %.thread12599 - -14638: ; preds = %14632 - %14639 = zext nneg i8 %14635 to i32 - %14640 = shl nuw i32 1, %14639 - %14641 = getelementptr inbounds nuw i8, ptr %14633, i64 9 - %14642 = load i8, ptr %14641, align 1 - %.not10754 = icmp eq i8 %14642, 0 - br i1 %.not10754, label %14645, label %14643 - -14643: ; preds = %14638 - %14644 = or i32 %14640, -1073741824 - br label %.thread12599 - -14645: ; preds = %14638 - %14646 = icmp eq i8 %14635, 6 - %spec.select11967 = select i1 %14646, i32 -2147483584, i32 %14640 - br label %.thread12599 - -14647: ; preds = %14612 - %14648 = load ptr, ptr %2477, align 8 - %.not10752 = icmp eq ptr %14648, null - br i1 %.not10752, label %.thread12599, label %14649 - -14649: ; preds = %14647 - %14650 = load i32, ptr %.09621, align 4 - %14651 = icmp sgt i32 %14650, -1 - br i1 %14651, label %14652, label %.thread12599 - -14652: ; preds = %14649 - %14653 = zext nneg i32 %14650 to i64 - %14654 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %14648, i64 %14653 - %14655 = load i32, ptr %14654, align 8 - br label %.thread12599 - -.thread12599: ; preds = %14647, %14645, %14652, %14649, %14636, %14632, %14643 - %.09864 = phi i32 [ %14637, %14636 ], [ -521143298, %14632 ], [ %14644, %14643 ], [ %spec.select11967, %14645 ], [ %14655, %14652 ], [ -486539265, %14649 ], [ -486539265, %14647 ] +14635: ; preds = %14631 + %14636 = call i32 @zend_array_type_info(ptr noundef nonnull %14632) #33 + br label %.thread12596 + +14637: ; preds = %14631 + %14638 = zext nneg i8 %14634 to i32 + %14639 = shl nuw i32 1, %14638 + %14640 = getelementptr inbounds nuw i8, ptr %14632, i64 9 + %14641 = load i8, ptr %14640, align 1 + %.not10754 = icmp eq i8 %14641, 0 + br i1 %.not10754, label %14644, label %14642 + +14642: ; preds = %14637 + %14643 = or i32 %14639, -1073741824 + br label %.thread12596 + +14644: ; preds = %14637 + %14645 = icmp eq i8 %14634, 6 + %spec.select11965 = select i1 %14645, i32 -2147483584, i32 %14639 + br label %.thread12596 + +14646: ; preds = %14611 + %14647 = load ptr, ptr %2477, align 8 + %.not10752 = icmp eq ptr %14647, null + br i1 %.not10752, label %.thread12596, label %14648 + +14648: ; preds = %14646 + %14649 = load i32, ptr %.09621, align 4 + %14650 = icmp sgt i32 %14649, -1 + br i1 %14650, label %14651, label %.thread12596 + +14651: ; preds = %14648 + %14652 = zext nneg i32 %14649 to i64 + %14653 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %14647, i64 %14652 + %14654 = load i32, ptr %14653, align 8 + br label %.thread12596 + +.thread12596: ; preds = %14646, %14644, %14651, %14648, %14635, %14631, %14642 + %.09864 = phi i32 [ %14636, %14635 ], [ -521143298, %14631 ], [ %14643, %14642 ], [ %spec.select11965, %14644 ], [ %14654, %14651 ], [ -486539265, %14648 ], [ -486539265, %14646 ] store i32 %.09864, ptr %20, align 4 - %14656 = getelementptr inbounds nuw i8, ptr %2501, i64 30 - %14657 = load i8, ptr %14656, align 2 - %14658 = icmp eq i8 %14657, 1 - br i1 %14658, label %14659, label %14690 - -14659: ; preds = %.thread12599 - %14660 = getelementptr inbounds nuw i8, ptr %.09771, i64 4 - %14661 = load i32, ptr %14660, align 4 - %14662 = and i32 %14661, 33554432 - %.not10756 = icmp eq i32 %14662, 0 - br i1 %.not10756, label %14668, label %14663 - -14663: ; preds = %14659 - %14664 = getelementptr inbounds nuw i8, ptr %2501, i64 12 - %14665 = load i32, ptr %14664, align 4 - %14666 = sext i32 %14665 to i64 - %14667 = getelementptr inbounds i8, ptr %2501, i64 %14666 - br label %14675 - -14668: ; preds = %14659 - %14669 = getelementptr inbounds nuw i8, ptr %.09771, i64 176 - %14670 = load ptr, ptr %14669, align 8 - %14671 = getelementptr inbounds nuw i8, ptr %2501, i64 12 - %14672 = load i32, ptr %14671, align 4 - %14673 = zext i32 %14672 to i64 - %14674 = getelementptr inbounds nuw %struct._zval_struct, ptr %14670, i64 %14673 - br label %14675 - -14675: ; preds = %14668, %14663 - %14676 = phi ptr [ %14667, %14663 ], [ %14674, %14668 ] - %14677 = getelementptr inbounds nuw i8, ptr %14676, i64 8 - %14678 = load i8, ptr %14677, align 8 - switch i8 %14678, label %14681 [ - i8 11, label %.thread12601 - i8 7, label %14679 + %14655 = getelementptr inbounds nuw i8, ptr %2501, i64 30 + %14656 = load i8, ptr %14655, align 2 + %14657 = icmp eq i8 %14656, 1 + br i1 %14657, label %14658, label %14689 + +14658: ; preds = %.thread12596 + %14659 = getelementptr inbounds nuw i8, ptr %.09771, i64 4 + %14660 = load i32, ptr %14659, align 4 + %14661 = and i32 %14660, 33554432 + %.not10756 = icmp eq i32 %14661, 0 + br i1 %.not10756, label %14667, label %14662 + +14662: ; preds = %14658 + %14663 = getelementptr inbounds nuw i8, ptr %2501, i64 12 + %14664 = load i32, ptr %14663, align 4 + %14665 = sext i32 %14664 to i64 + %14666 = getelementptr inbounds i8, ptr %2501, i64 %14665 + br label %14674 + +14667: ; preds = %14658 + %14668 = getelementptr inbounds nuw i8, ptr %.09771, i64 176 + %14669 = load ptr, ptr %14668, align 8 + %14670 = getelementptr inbounds nuw i8, ptr %2501, i64 12 + %14671 = load i32, ptr %14670, align 4 + %14672 = zext i32 %14671 to i64 + %14673 = getelementptr inbounds nuw %struct._zval_struct, ptr %14669, i64 %14672 + br label %14674 + +14674: ; preds = %14667, %14662 + %14675 = phi ptr [ %14666, %14662 ], [ %14673, %14667 ] + %14676 = getelementptr inbounds nuw i8, ptr %14675, i64 8 + %14677 = load i8, ptr %14676, align 8 + switch i8 %14677, label %14680 [ + i8 11, label %.thread12598 + i8 7, label %14678 ] -14679: ; preds = %14675 - %14680 = call i32 @zend_array_type_info(ptr noundef nonnull %14676) #33 - %.pre13241 = load i32, ptr %20, align 4 - br label %.thread12601 - -14681: ; preds = %14675 - %14682 = zext nneg i8 %14678 to i32 - %14683 = shl nuw i32 1, %14682 - %14684 = getelementptr inbounds nuw i8, ptr %14676, i64 9 - %14685 = load i8, ptr %14684, align 1 - %.not10757 = icmp eq i8 %14685, 0 - br i1 %.not10757, label %14688, label %14686 - -14686: ; preds = %14681 - %14687 = or i32 %14683, -1073741824 - br label %.thread12601 - -14688: ; preds = %14681 - %14689 = icmp eq i8 %14678, 6 - %spec.select11968 = select i1 %14689, i32 -2147483584, i32 %14683 - br label %.thread12601 - -14690: ; preds = %.thread12599 - %14691 = load ptr, ptr %2477, align 8 - %.not10755 = icmp eq ptr %14691, null - br i1 %.not10755, label %.thread12601, label %14692 - -14692: ; preds = %14690 - %14693 = getelementptr inbounds nuw i8, ptr %.09621, i64 4 - %14694 = load i32, ptr %14693, align 4 - %14695 = icmp sgt i32 %14694, -1 - br i1 %14695, label %14696, label %.thread12601 - -14696: ; preds = %14692 - %14697 = zext nneg i32 %14694 to i64 - %14698 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %14691, i64 %14697 - %14699 = load i32, ptr %14698, align 8 - br label %.thread12601 - -.thread12601: ; preds = %14690, %14688, %14696, %14692, %14679, %14675, %14686 - %14700 = phi i32 [ %.pre13241, %14679 ], [ %.09864, %14675 ], [ %.09864, %14686 ], [ %.09864, %14688 ], [ %.09864, %14696 ], [ %.09864, %14692 ], [ %.09864, %14690 ] - %.09917 = phi i32 [ %14680, %14679 ], [ -521143298, %14675 ], [ %14687, %14686 ], [ %spec.select11968, %14688 ], [ %14699, %14696 ], [ -486539265, %14692 ], [ -486539265, %14690 ] +14678: ; preds = %14674 + %14679 = call i32 @zend_array_type_info(ptr noundef nonnull %14675) #33 + %.pre13238 = load i32, ptr %20, align 4 + br label %.thread12598 + +14680: ; preds = %14674 + %14681 = zext nneg i8 %14677 to i32 + %14682 = shl nuw i32 1, %14681 + %14683 = getelementptr inbounds nuw i8, ptr %14675, i64 9 + %14684 = load i8, ptr %14683, align 1 + %.not10757 = icmp eq i8 %14684, 0 + br i1 %.not10757, label %14687, label %14685 + +14685: ; preds = %14680 + %14686 = or i32 %14682, -1073741824 + br label %.thread12598 + +14687: ; preds = %14680 + %14688 = icmp eq i8 %14677, 6 + %spec.select11966 = select i1 %14688, i32 -2147483584, i32 %14682 + br label %.thread12598 + +14689: ; preds = %.thread12596 + %14690 = load ptr, ptr %2477, align 8 + %.not10755 = icmp eq ptr %14690, null + br i1 %.not10755, label %.thread12598, label %14691 + +14691: ; preds = %14689 + %14692 = getelementptr inbounds nuw i8, ptr %.09621, i64 4 + %14693 = load i32, ptr %14692, align 4 + %14694 = icmp sgt i32 %14693, -1 + br i1 %14694, label %14695, label %.thread12598 + +14695: ; preds = %14691 + %14696 = zext nneg i32 %14693 to i64 + %14697 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %14690, i64 %14696 + %14698 = load i32, ptr %14697, align 8 + br label %.thread12598 + +.thread12598: ; preds = %14689, %14687, %14695, %14691, %14678, %14674, %14685 + %14699 = phi i32 [ %.pre13238, %14678 ], [ %.09864, %14674 ], [ %.09864, %14685 ], [ %.09864, %14687 ], [ %.09864, %14695 ], [ %.09864, %14691 ], [ %.09864, %14689 ] + %.09917 = phi i32 [ %14679, %14678 ], [ -521143298, %14674 ], [ %14686, %14685 ], [ %spec.select11966, %14687 ], [ %14698, %14695 ], [ -486539265, %14691 ], [ -486539265, %14689 ] store i32 %.09917, ptr %21, align 4 - %14701 = getelementptr inbounds nuw i8, ptr %2501, i64 32 - %14702 = getelementptr inbounds nuw i8, ptr %.09621, i64 36 - %14703 = getelementptr inbounds nuw i8, ptr %2501, i64 61 - %14704 = load i8, ptr %14703, align 1 - %14705 = icmp eq i8 %14704, 1 - br i1 %14705, label %14706, label %14737 - -14706: ; preds = %.thread12601 - %14707 = getelementptr inbounds nuw i8, ptr %.09771, i64 4 - %14708 = load i32, ptr %14707, align 4 - %14709 = and i32 %14708, 33554432 - %.not10759 = icmp eq i32 %14709, 0 - br i1 %.not10759, label %14715, label %14710 - -14710: ; preds = %14706 - %14711 = getelementptr inbounds nuw i8, ptr %2501, i64 40 - %14712 = load i32, ptr %14711, align 8 - %14713 = sext i32 %14712 to i64 - %14714 = getelementptr inbounds i8, ptr %14701, i64 %14713 - br label %14722 - -14715: ; preds = %14706 - %14716 = getelementptr inbounds nuw i8, ptr %.09771, i64 176 - %14717 = load ptr, ptr %14716, align 8 - %14718 = getelementptr inbounds nuw i8, ptr %2501, i64 40 - %14719 = load i32, ptr %14718, align 8 - %14720 = zext i32 %14719 to i64 - %14721 = getelementptr inbounds nuw %struct._zval_struct, ptr %14717, i64 %14720 - br label %14722 - -14722: ; preds = %14715, %14710 - %14723 = phi ptr [ %14714, %14710 ], [ %14721, %14715 ] - %14724 = getelementptr inbounds nuw i8, ptr %14723, i64 8 - %14725 = load i8, ptr %14724, align 8 - switch i8 %14725, label %14728 [ - i8 11, label %.thread12603 - i8 7, label %14726 + %14700 = getelementptr inbounds nuw i8, ptr %2501, i64 32 + %14701 = getelementptr inbounds nuw i8, ptr %.09621, i64 36 + %14702 = getelementptr inbounds nuw i8, ptr %2501, i64 61 + %14703 = load i8, ptr %14702, align 1 + %14704 = icmp eq i8 %14703, 1 + br i1 %14704, label %14705, label %14736 + +14705: ; preds = %.thread12598 + %14706 = getelementptr inbounds nuw i8, ptr %.09771, i64 4 + %14707 = load i32, ptr %14706, align 4 + %14708 = and i32 %14707, 33554432 + %.not10759 = icmp eq i32 %14708, 0 + br i1 %.not10759, label %14714, label %14709 + +14709: ; preds = %14705 + %14710 = getelementptr inbounds nuw i8, ptr %2501, i64 40 + %14711 = load i32, ptr %14710, align 8 + %14712 = sext i32 %14711 to i64 + %14713 = getelementptr inbounds i8, ptr %14700, i64 %14712 + br label %14721 + +14714: ; preds = %14705 + %14715 = getelementptr inbounds nuw i8, ptr %.09771, i64 176 + %14716 = load ptr, ptr %14715, align 8 + %14717 = getelementptr inbounds nuw i8, ptr %2501, i64 40 + %14718 = load i32, ptr %14717, align 8 + %14719 = zext i32 %14718 to i64 + %14720 = getelementptr inbounds nuw %struct._zval_struct, ptr %14716, i64 %14719 + br label %14721 + +14721: ; preds = %14714, %14709 + %14722 = phi ptr [ %14713, %14709 ], [ %14720, %14714 ] + %14723 = getelementptr inbounds nuw i8, ptr %14722, i64 8 + %14724 = load i8, ptr %14723, align 8 + switch i8 %14724, label %14727 [ + i8 11, label %.thread12600 + i8 7, label %14725 ] -14726: ; preds = %14722 - %14727 = call i32 @zend_array_type_info(ptr noundef nonnull %14723) #33 - br label %.thread12603 - -14728: ; preds = %14722 - %14729 = zext nneg i8 %14725 to i32 - %14730 = shl nuw i32 1, %14729 - %14731 = getelementptr inbounds nuw i8, ptr %14723, i64 9 - %14732 = load i8, ptr %14731, align 1 - %.not10760 = icmp eq i8 %14732, 0 - br i1 %.not10760, label %14735, label %14733 - -14733: ; preds = %14728 - %14734 = or i32 %14730, -1073741824 - br label %.thread12603 - -14735: ; preds = %14728 - %14736 = icmp eq i8 %14725, 6 - %spec.select11969 = select i1 %14736, i32 -2147483584, i32 %14730 - br label %.thread12603 - -14737: ; preds = %.thread12601 - %14738 = load ptr, ptr %2477, align 8 - %.not10758 = icmp eq ptr %14738, null - br i1 %.not10758, label %.thread12603, label %14739 - -14739: ; preds = %14737 - %14740 = load i32, ptr %14702, align 4 - %14741 = icmp sgt i32 %14740, -1 - br i1 %14741, label %14742, label %.thread12603 - -14742: ; preds = %14739 - %14743 = zext nneg i32 %14740 to i64 - %14744 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %14738, i64 %14743 - %14745 = load i32, ptr %14744, align 8 - br label %.thread12603 - -.thread12603: ; preds = %14737, %14735, %14742, %14739, %14726, %14722, %14733 - %.09859 = phi i32 [ %14727, %14726 ], [ -521143298, %14722 ], [ %14734, %14733 ], [ %spec.select11969, %14735 ], [ %14745, %14742 ], [ -486539265, %14739 ], [ -486539265, %14737 ] - call fastcc void @jit_frameless_icall3(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %14700, i32 noundef %.09917, i32 noundef %.09859) - br label %thread-pre-split12618 - -thread-pre-split12605: ; preds = %.thread13360, %2535, %14474, %14330, %14332, %14334, %14173, %13893, %13794, %13656, %13517, %13415, %13354, %13134, %12944, %12614, %12450, %12385, %12388, %12395, %12376, %12378, %12381, %11931, %11616, %11545, %11113, %11115, %11118, %11067, %10677, %8324, %8326, %8032, %8027, %7779, %7773, %7436, %6397, %6399, %6391, %6084, %5925, %5854, %5861, %5631, %5472, %.thread12316, %5346, %5324, %5327, %5334, %5249, %5090, %5016, %5019, %5026, %4585, %4513, %.thread12279, %4361, %4124, %4073, %4076, %3418, %3406, %3106, %3109, %2648, %2547, %8337 - %.19668.ph = phi i8 [ %.09667, %2535 ], [ %.09667, %2648 ], [ %.09667, %2547 ], [ %.09667, %3106 ], [ %.09667, %3109 ], [ %.09667, %3418 ], [ %.09667, %3406 ], [ %.09667, %4076 ], [ %.09667, %4073 ], [ %.09667, %4361 ], [ %.09667, %4124 ], [ %.09667, %.thread12279 ], [ %.09667, %4585 ], [ %.09667, %4513 ], [ %.49671, %5090 ], [ %.49671, %5249 ], [ %.09667, %5026 ], [ %.09667, %5019 ], [ %.09667, %5016 ], [ %.09667, %.thread12316 ], [ %.69673, %5472 ], [ %.69673, %5631 ], [ %.09667, %5346 ], [ %.09667, %5334 ], [ %.09667, %5327 ], [ %.09667, %5324 ], [ %.89675, %5925 ], [ %.89675, %6084 ], [ %.09667, %5861 ], [ %.09667, %5854 ], [ %.09667, %6397 ], [ %.09667, %6399 ], [ %.09667, %6391 ], [ %.09667, %7436 ], [ %.09667, %7779 ], [ %.09667, %7773 ], [ %.09667, %8032 ], [ %.09667, %8027 ], [ %.09667, %8324 ], [ %.09667, %8326 ], [ %.09667, %8337 ], [ %.09667, %10677 ], [ %.09667, %11067 ], [ %.09667, %11113 ], [ %.09667, %11115 ], [ %.09667, %11118 ], [ %.09667, %11616 ], [ %.09667, %11545 ], [ %.09667, %11931 ], [ %.09667, %12376 ], [ %.09667, %12378 ], [ %.09667, %12381 ], [ 0, %12450 ], [ 0, %12614 ], [ 0, %12395 ], [ 0, %12388 ], [ 0, %12385 ], [ %.09667, %12944 ], [ %.09667, %13134 ], [ %.09667, %13354 ], [ %.09667, %13517 ], [ %.09667, %13415 ], [ %.09667, %13656 ], [ %.09667, %13794 ], [ %.09667, %13893 ], [ %.09667, %14173 ], [ %.09667, %14330 ], [ %.09667, %14332 ], [ %.09667, %14334 ], [ %.09667, %14474 ], [ %.09667, %.thread13360 ] - %.pr12606 = load i8, ptr %2529, align 4 - br label %14746 - -14746: ; preds = %thread-pre-split12605, %2538 - %14747 = phi i8 [ %.pr12606, %thread-pre-split12605 ], [ %2539, %2538 ] - %.19668 = phi i8 [ %.19668.ph, %thread-pre-split12605 ], [ %.09667, %2538 ] - switch i8 %14747, label %.thread12608 [ - i8 0, label %thread-pre-split12618 - i8 42, label %thread-pre-split12618 +14725: ; preds = %14721 + %14726 = call i32 @zend_array_type_info(ptr noundef nonnull %14722) #33 + br label %.thread12600 + +14727: ; preds = %14721 + %14728 = zext nneg i8 %14724 to i32 + %14729 = shl nuw i32 1, %14728 + %14730 = getelementptr inbounds nuw i8, ptr %14722, i64 9 + %14731 = load i8, ptr %14730, align 1 + %.not10760 = icmp eq i8 %14731, 0 + br i1 %.not10760, label %14734, label %14732 + +14732: ; preds = %14727 + %14733 = or i32 %14729, -1073741824 + br label %.thread12600 + +14734: ; preds = %14727 + %14735 = icmp eq i8 %14724, 6 + %spec.select11967 = select i1 %14735, i32 -2147483584, i32 %14729 + br label %.thread12600 + +14736: ; preds = %.thread12598 + %14737 = load ptr, ptr %2477, align 8 + %.not10758 = icmp eq ptr %14737, null + br i1 %.not10758, label %.thread12600, label %14738 + +14738: ; preds = %14736 + %14739 = load i32, ptr %14701, align 4 + %14740 = icmp sgt i32 %14739, -1 + br i1 %14740, label %14741, label %.thread12600 + +14741: ; preds = %14738 + %14742 = zext nneg i32 %14739 to i64 + %14743 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %14737, i64 %14742 + %14744 = load i32, ptr %14743, align 8 + br label %.thread12600 + +.thread12600: ; preds = %14736, %14734, %14741, %14738, %14725, %14721, %14732 + %.09859 = phi i32 [ %14726, %14725 ], [ -521143298, %14721 ], [ %14733, %14732 ], [ %spec.select11967, %14734 ], [ %14744, %14741 ], [ -486539265, %14738 ], [ -486539265, %14736 ] + call fastcc void @jit_frameless_icall3(ptr noundef %17, ptr noundef nonnull %2501, i32 noundef %14699, i32 noundef %.09917, i32 noundef %.09859) + br label %thread-pre-split12615 + +thread-pre-split12602: ; preds = %.thread13357, %2535, %14473, %14329, %14331, %14333, %14173, %13893, %13794, %13656, %13517, %13415, %13354, %13134, %12944, %12614, %12450, %12385, %12388, %12395, %12376, %12378, %12381, %11931, %11616, %11545, %11113, %11115, %11118, %11067, %10677, %8324, %8326, %8032, %8027, %7779, %7773, %7436, %6397, %6399, %6391, %6084, %5925, %5854, %5861, %5631, %5472, %.thread12313, %5346, %5324, %5327, %5334, %5249, %5090, %5016, %5019, %5026, %4585, %4513, %.thread12276, %4361, %4124, %4073, %4076, %3418, %3406, %3106, %3109, %2648, %2547, %8337 + %.19668.ph = phi i8 [ %.09667, %2535 ], [ %.09667, %2648 ], [ %.09667, %2547 ], [ %.09667, %3106 ], [ %.09667, %3109 ], [ %.09667, %3418 ], [ %.09667, %3406 ], [ %.09667, %4076 ], [ %.09667, %4073 ], [ %.09667, %4361 ], [ %.09667, %4124 ], [ %.09667, %.thread12276 ], [ %.09667, %4585 ], [ %.09667, %4513 ], [ %.49671, %5090 ], [ %.49671, %5249 ], [ %.09667, %5026 ], [ %.09667, %5019 ], [ %.09667, %5016 ], [ %.09667, %.thread12313 ], [ %.69673, %5472 ], [ %.69673, %5631 ], [ %.09667, %5346 ], [ %.09667, %5334 ], [ %.09667, %5327 ], [ %.09667, %5324 ], [ %.89675, %5925 ], [ %.89675, %6084 ], [ %.09667, %5861 ], [ %.09667, %5854 ], [ %.09667, %6397 ], [ %.09667, %6399 ], [ %.09667, %6391 ], [ %.09667, %7436 ], [ %.09667, %7779 ], [ %.09667, %7773 ], [ %.09667, %8032 ], [ %.09667, %8027 ], [ %.09667, %8324 ], [ %.09667, %8326 ], [ %.09667, %8337 ], [ %.09667, %10677 ], [ %.09667, %11067 ], [ %.09667, %11113 ], [ %.09667, %11115 ], [ %.09667, %11118 ], [ %.09667, %11616 ], [ %.09667, %11545 ], [ %.09667, %11931 ], [ %.09667, %12376 ], [ %.09667, %12378 ], [ %.09667, %12381 ], [ 0, %12450 ], [ 0, %12614 ], [ 0, %12395 ], [ 0, %12388 ], [ 0, %12385 ], [ %.09667, %12944 ], [ %.09667, %13134 ], [ %.09667, %13354 ], [ %.09667, %13517 ], [ %.09667, %13415 ], [ %.09667, %13656 ], [ %.09667, %13794 ], [ %.09667, %13893 ], [ %.09667, %14173 ], [ %.09667, %14329 ], [ %.09667, %14331 ], [ %.09667, %14333 ], [ %.09667, %14473 ], [ %.09667, %.thread13357 ] + %.pr12603 = load i8, ptr %2529, align 4 + br label %14745 + +14745: ; preds = %thread-pre-split12602, %2538 + %14746 = phi i8 [ %.pr12603, %thread-pre-split12602 ], [ %2539, %2538 ] + %.19668 = phi i8 [ %.19668.ph, %thread-pre-split12602 ], [ %.09667, %2538 ] + switch i8 %14746, label %.thread12605 [ + i8 0, label %thread-pre-split12615 + i8 42, label %thread-pre-split12615 ] -.thread12608: ; preds = %13890, %12374, %11111, %9568, %8322, %7963, %6830, %5851, %5321, %4454, %4121, %10908, %10908, %13412, %14746 - %.1966812610 = phi i8 [ %.19668, %14746 ], [ %.09667, %13412 ], [ %.09667, %10908 ], [ %.09667, %10908 ], [ %.09667, %4121 ], [ %.09667, %4454 ], [ %.09667, %5321 ], [ %.09667, %5851 ], [ %.09667, %6830 ], [ %.09667, %7963 ], [ %.09667, %8322 ], [ %.09667, %9568 ], [ %.09667, %11111 ], [ %.09667, %12374 ], [ %.09667, %13890 ] - %14748 = getelementptr inbounds nuw i8, ptr %2501, i64 29 - %14749 = load i8, ptr %14748, align 1 - %14750 = icmp eq i8 %14749, 1 - br i1 %14750, label %14751, label %14782 - -14751: ; preds = %.thread12608 - %14752 = getelementptr inbounds nuw i8, ptr %.09771, i64 4 - %14753 = load i32, ptr %14752, align 4 - %14754 = and i32 %14753, 33554432 - %.not11662 = icmp eq i32 %14754, 0 - br i1 %.not11662, label %14760, label %14755 - -14755: ; preds = %14751 - %14756 = getelementptr inbounds nuw i8, ptr %2501, i64 8 - %14757 = load i32, ptr %14756, align 8 - %14758 = sext i32 %14757 to i64 - %14759 = getelementptr inbounds i8, ptr %2501, i64 %14758 - br label %14767 - -14760: ; preds = %14751 - %14761 = getelementptr inbounds nuw i8, ptr %.09771, i64 176 - %14762 = load ptr, ptr %14761, align 8 - %14763 = getelementptr inbounds nuw i8, ptr %2501, i64 8 - %14764 = load i32, ptr %14763, align 8 - %14765 = zext i32 %14764 to i64 - %14766 = getelementptr inbounds nuw %struct._zval_struct, ptr %14762, i64 %14765 - br label %14767 - -14767: ; preds = %14760, %14755 - %14768 = phi ptr [ %14759, %14755 ], [ %14766, %14760 ] - %14769 = getelementptr inbounds nuw i8, ptr %14768, i64 8 - %14770 = load i8, ptr %14769, align 8 - switch i8 %14770, label %14773 [ - i8 11, label %.thread12611 - i8 7, label %14771 +.thread12605: ; preds = %13890, %12374, %11111, %9568, %8322, %7963, %6830, %5851, %5321, %4454, %4121, %10908, %10908, %13412, %14745 + %.1966812607 = phi i8 [ %.19668, %14745 ], [ %.09667, %13412 ], [ %.09667, %10908 ], [ %.09667, %10908 ], [ %.09667, %4121 ], [ %.09667, %4454 ], [ %.09667, %5321 ], [ %.09667, %5851 ], [ %.09667, %6830 ], [ %.09667, %7963 ], [ %.09667, %8322 ], [ %.09667, %9568 ], [ %.09667, %11111 ], [ %.09667, %12374 ], [ %.09667, %13890 ] + %14747 = getelementptr inbounds nuw i8, ptr %2501, i64 29 + %14748 = load i8, ptr %14747, align 1 + %14749 = icmp eq i8 %14748, 1 + br i1 %14749, label %14750, label %14781 + +14750: ; preds = %.thread12605 + %14751 = getelementptr inbounds nuw i8, ptr %.09771, i64 4 + %14752 = load i32, ptr %14751, align 4 + %14753 = and i32 %14752, 33554432 + %.not11660 = icmp eq i32 %14753, 0 + br i1 %.not11660, label %14759, label %14754 + +14754: ; preds = %14750 + %14755 = getelementptr inbounds nuw i8, ptr %2501, i64 8 + %14756 = load i32, ptr %14755, align 8 + %14757 = sext i32 %14756 to i64 + %14758 = getelementptr inbounds i8, ptr %2501, i64 %14757 + br label %14766 + +14759: ; preds = %14750 + %14760 = getelementptr inbounds nuw i8, ptr %.09771, i64 176 + %14761 = load ptr, ptr %14760, align 8 + %14762 = getelementptr inbounds nuw i8, ptr %2501, i64 8 + %14763 = load i32, ptr %14762, align 8 + %14764 = zext i32 %14763 to i64 + %14765 = getelementptr inbounds nuw %struct._zval_struct, ptr %14761, i64 %14764 + br label %14766 + +14766: ; preds = %14759, %14754 + %14767 = phi ptr [ %14758, %14754 ], [ %14765, %14759 ] + %14768 = getelementptr inbounds nuw i8, ptr %14767, i64 8 + %14769 = load i8, ptr %14768, align 8 + switch i8 %14769, label %14772 [ + i8 11, label %.thread12608 + i8 7, label %14770 ] -14771: ; preds = %14767 - %14772 = call i32 @zend_array_type_info(ptr noundef nonnull %14768) #33 - br label %.thread12611 - -14773: ; preds = %14767 - %14774 = zext nneg i8 %14770 to i32 - %14775 = shl nuw i32 1, %14774 - %14776 = getelementptr inbounds nuw i8, ptr %14768, i64 9 - %14777 = load i8, ptr %14776, align 1 - %.not11663 = icmp eq i8 %14777, 0 - br i1 %.not11663, label %14780, label %14778 - -14778: ; preds = %14773 - %14779 = or i32 %14775, -1073741824 - br label %.thread12611 - -14780: ; preds = %14773 - %14781 = icmp eq i8 %14770, 6 - %spec.select11970 = select i1 %14781, i32 -2147483584, i32 %14775 - br label %.thread12611 - -14782: ; preds = %.thread12608 - %14783 = load ptr, ptr %2477, align 8 - %.not11661 = icmp eq ptr %14783, null - br i1 %.not11661, label %.thread12611, label %14784 - -14784: ; preds = %14782 - %14785 = load i32, ptr %.09621, align 4 - %14786 = icmp sgt i32 %14785, -1 - br i1 %14786, label %14787, label %.thread12611 - -14787: ; preds = %14784 - %14788 = zext nneg i32 %14785 to i64 - %14789 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %14783, i64 %14788 - %14790 = load i32, ptr %14789, align 8 - br label %.thread12611 - -.thread12611: ; preds = %14782, %14780, %14787, %14784, %14771, %14767, %14778 - %.09854 = phi i32 [ %14772, %14771 ], [ -521143298, %14767 ], [ %14779, %14778 ], [ %spec.select11970, %14780 ], [ %14790, %14787 ], [ -486539265, %14784 ], [ -486539265, %14782 ] +14770: ; preds = %14766 + %14771 = call i32 @zend_array_type_info(ptr noundef nonnull %14767) #33 + br label %.thread12608 + +14772: ; preds = %14766 + %14773 = zext nneg i8 %14769 to i32 + %14774 = shl nuw i32 1, %14773 + %14775 = getelementptr inbounds nuw i8, ptr %14767, i64 9 + %14776 = load i8, ptr %14775, align 1 + %.not11661 = icmp eq i8 %14776, 0 + br i1 %.not11661, label %14779, label %14777 + +14777: ; preds = %14772 + %14778 = or i32 %14774, -1073741824 + br label %.thread12608 + +14779: ; preds = %14772 + %14780 = icmp eq i8 %14769, 6 + %spec.select11968 = select i1 %14780, i32 -2147483584, i32 %14774 + br label %.thread12608 + +14781: ; preds = %.thread12605 + %14782 = load ptr, ptr %2477, align 8 + %.not11659 = icmp eq ptr %14782, null + br i1 %.not11659, label %.thread12608, label %14783 + +14783: ; preds = %14781 + %14784 = load i32, ptr %.09621, align 4 + %14785 = icmp sgt i32 %14784, -1 + br i1 %14785, label %14786, label %.thread12608 + +14786: ; preds = %14783 + %14787 = zext nneg i32 %14784 to i64 + %14788 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %14782, i64 %14787 + %14789 = load i32, ptr %14788, align 8 + br label %.thread12608 + +.thread12608: ; preds = %14781, %14779, %14786, %14783, %14770, %14766, %14777 + %.09854 = phi i32 [ %14771, %14770 ], [ -521143298, %14766 ], [ %14778, %14777 ], [ %spec.select11968, %14779 ], [ %14789, %14786 ], [ -486539265, %14783 ], [ -486539265, %14781 ] store i32 %.09854, ptr %20, align 4 - %14791 = getelementptr inbounds nuw i8, ptr %2501, i64 30 - %14792 = load i8, ptr %14791, align 2 - %14793 = icmp eq i8 %14792, 1 - br i1 %14793, label %14794, label %14825 - -14794: ; preds = %.thread12611 - %14795 = getelementptr inbounds nuw i8, ptr %.09771, i64 4 - %14796 = load i32, ptr %14795, align 4 - %14797 = and i32 %14796, 33554432 - %.not11665 = icmp eq i32 %14797, 0 - br i1 %.not11665, label %14803, label %14798 - -14798: ; preds = %14794 - %14799 = getelementptr inbounds nuw i8, ptr %2501, i64 12 - %14800 = load i32, ptr %14799, align 4 - %14801 = sext i32 %14800 to i64 - %14802 = getelementptr inbounds i8, ptr %2501, i64 %14801 - br label %14810 - -14803: ; preds = %14794 - %14804 = getelementptr inbounds nuw i8, ptr %.09771, i64 176 - %14805 = load ptr, ptr %14804, align 8 - %14806 = getelementptr inbounds nuw i8, ptr %2501, i64 12 - %14807 = load i32, ptr %14806, align 4 - %14808 = zext i32 %14807 to i64 - %14809 = getelementptr inbounds nuw %struct._zval_struct, ptr %14805, i64 %14808 - br label %14810 - -14810: ; preds = %14803, %14798 - %14811 = phi ptr [ %14802, %14798 ], [ %14809, %14803 ] - %14812 = getelementptr inbounds nuw i8, ptr %14811, i64 8 - %14813 = load i8, ptr %14812, align 8 - switch i8 %14813, label %14816 [ - i8 11, label %.thread12613 - i8 7, label %14814 + %14790 = getelementptr inbounds nuw i8, ptr %2501, i64 30 + %14791 = load i8, ptr %14790, align 2 + %14792 = icmp eq i8 %14791, 1 + br i1 %14792, label %14793, label %14824 + +14793: ; preds = %.thread12608 + %14794 = getelementptr inbounds nuw i8, ptr %.09771, i64 4 + %14795 = load i32, ptr %14794, align 4 + %14796 = and i32 %14795, 33554432 + %.not11663 = icmp eq i32 %14796, 0 + br i1 %.not11663, label %14802, label %14797 + +14797: ; preds = %14793 + %14798 = getelementptr inbounds nuw i8, ptr %2501, i64 12 + %14799 = load i32, ptr %14798, align 4 + %14800 = sext i32 %14799 to i64 + %14801 = getelementptr inbounds i8, ptr %2501, i64 %14800 + br label %14809 + +14802: ; preds = %14793 + %14803 = getelementptr inbounds nuw i8, ptr %.09771, i64 176 + %14804 = load ptr, ptr %14803, align 8 + %14805 = getelementptr inbounds nuw i8, ptr %2501, i64 12 + %14806 = load i32, ptr %14805, align 4 + %14807 = zext i32 %14806 to i64 + %14808 = getelementptr inbounds nuw %struct._zval_struct, ptr %14804, i64 %14807 + br label %14809 + +14809: ; preds = %14802, %14797 + %14810 = phi ptr [ %14801, %14797 ], [ %14808, %14802 ] + %14811 = getelementptr inbounds nuw i8, ptr %14810, i64 8 + %14812 = load i8, ptr %14811, align 8 + switch i8 %14812, label %14815 [ + i8 11, label %.thread12610 + i8 7, label %14813 ] -14814: ; preds = %14810 - %14815 = call i32 @zend_array_type_info(ptr noundef nonnull %14811) #33 - %.pre13285 = load i32, ptr %20, align 4 - br label %.thread12613 - -14816: ; preds = %14810 - %14817 = zext nneg i8 %14813 to i32 - %14818 = shl nuw i32 1, %14817 - %14819 = getelementptr inbounds nuw i8, ptr %14811, i64 9 - %14820 = load i8, ptr %14819, align 1 - %.not11666 = icmp eq i8 %14820, 0 - br i1 %.not11666, label %14823, label %14821 - -14821: ; preds = %14816 - %14822 = or i32 %14818, -1073741824 - br label %.thread12613 - -14823: ; preds = %14816 - %14824 = icmp eq i8 %14813, 6 - %spec.select11971 = select i1 %14824, i32 -2147483584, i32 %14818 - br label %.thread12613 - -14825: ; preds = %.thread12611 - %14826 = load ptr, ptr %2477, align 8 - %.not11664 = icmp eq ptr %14826, null - br i1 %.not11664, label %.thread12613, label %14827 - -14827: ; preds = %14825 - %14828 = getelementptr inbounds nuw i8, ptr %.09621, i64 4 - %14829 = load i32, ptr %14828, align 4 - %14830 = icmp sgt i32 %14829, -1 - br i1 %14830, label %14831, label %.thread12613 - -14831: ; preds = %14827 - %14832 = zext nneg i32 %14829 to i64 - %14833 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %14826, i64 %14832 - %14834 = load i32, ptr %14833, align 8 - br label %.thread12613 - -.thread12613: ; preds = %14825, %14823, %14831, %14827, %14814, %14810, %14821 - %14835 = phi i32 [ %.pre13285, %14814 ], [ %.09854, %14810 ], [ %.09854, %14821 ], [ %.09854, %14823 ], [ %.09854, %14831 ], [ %.09854, %14827 ], [ %.09854, %14825 ] - %14836 = phi i32 [ %14815, %14814 ], [ -521143298, %14810 ], [ %14822, %14821 ], [ %spec.select11971, %14823 ], [ %14834, %14831 ], [ -486539265, %14827 ], [ -486539265, %14825 ] - store i32 %14836, ptr %21, align 4 - %14837 = and i32 %14835, 268435456 - %.not11667 = icmp eq i32 %14837, 0 - br i1 %.not11667, label %14839, label %14838 - -14838: ; preds = %.thread12613 +14813: ; preds = %14809 + %14814 = call i32 @zend_array_type_info(ptr noundef nonnull %14810) #33 + %.pre13282 = load i32, ptr %20, align 4 + br label %.thread12610 + +14815: ; preds = %14809 + %14816 = zext nneg i8 %14812 to i32 + %14817 = shl nuw i32 1, %14816 + %14818 = getelementptr inbounds nuw i8, ptr %14810, i64 9 + %14819 = load i8, ptr %14818, align 1 + %.not11664 = icmp eq i8 %14819, 0 + br i1 %.not11664, label %14822, label %14820 + +14820: ; preds = %14815 + %14821 = or i32 %14817, -1073741824 + br label %.thread12610 + +14822: ; preds = %14815 + %14823 = icmp eq i8 %14812, 6 + %spec.select11969 = select i1 %14823, i32 -2147483584, i32 %14817 + br label %.thread12610 + +14824: ; preds = %.thread12608 + %14825 = load ptr, ptr %2477, align 8 + %.not11662 = icmp eq ptr %14825, null + br i1 %.not11662, label %.thread12610, label %14826 + +14826: ; preds = %14824 + %14827 = getelementptr inbounds nuw i8, ptr %.09621, i64 4 + %14828 = load i32, ptr %14827, align 4 + %14829 = icmp sgt i32 %14828, -1 + br i1 %14829, label %14830, label %.thread12610 + +14830: ; preds = %14826 + %14831 = zext nneg i32 %14828 to i64 + %14832 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %14825, i64 %14831 + %14833 = load i32, ptr %14832, align 8 + br label %.thread12610 + +.thread12610: ; preds = %14824, %14822, %14830, %14826, %14813, %14809, %14820 + %14834 = phi i32 [ %.pre13282, %14813 ], [ %.09854, %14809 ], [ %.09854, %14820 ], [ %.09854, %14822 ], [ %.09854, %14830 ], [ %.09854, %14826 ], [ %.09854, %14824 ] + %14835 = phi i32 [ %14814, %14813 ], [ -521143298, %14809 ], [ %14821, %14820 ], [ %spec.select11969, %14822 ], [ %14833, %14830 ], [ -486539265, %14826 ], [ -486539265, %14824 ] + store i32 %14835, ptr %21, align 4 + %14836 = and i32 %14834, 268435456 + %.not11665 = icmp eq i32 %14836, 0 + br i1 %.not11665, label %14838, label %14837 + +14837: ; preds = %.thread12610 store i32 -520093698, ptr %20, align 4 - br label %14839 + br label %14838 -14839: ; preds = %14838, %.thread12613 - %14840 = phi i32 [ -520093698, %14838 ], [ %14835, %.thread12613 ] - %14841 = and i32 %14836, 268435456 - %.not11668 = icmp eq i32 %14841, 0 - br i1 %.not11668, label %14843, label %14842 +14838: ; preds = %14837, %.thread12610 + %14839 = phi i32 [ -520093698, %14837 ], [ %14834, %.thread12610 ] + %14840 = and i32 %14835, 268435456 + %.not11666 = icmp eq i32 %14840, 0 + br i1 %.not11666, label %14842, label %14841 -14842: ; preds = %14839 +14841: ; preds = %14838 store i32 -520093698, ptr %21, align 4 - br label %14843 - -14843: ; preds = %14842, %14839 - %14844 = phi i32 [ -520093698, %14842 ], [ %14836, %14839 ] - %14845 = call zeroext i1 @zend_may_throw_ex(ptr noundef %2501, ptr noundef %.09621, ptr noundef %.09771, ptr noundef nonnull %40, i32 noundef %14840, i32 noundef %14844) #33 - %14846 = zext i1 %14845 to i32 - %14847 = getelementptr inbounds nuw i8, ptr %.39762, i64 16 - %14848 = call fastcc i32 @zend_jit_trace_handler(ptr noundef %17, ptr noundef %.09771, ptr noundef %2501, i32 noundef %14846, ptr noundef %14847) - %.not11669 = icmp eq i32 %14848, 0 - br i1 %.not11669, label %zend_jit_stack_check.exit.thread, label %14849 - -14849: ; preds = %14843 - %14850 = load i8, ptr %14847, align 8 - %14851 = icmp eq i8 %14850, 4 - br i1 %14851, label %14852, label %thread-pre-split12618 - -14852: ; preds = %14849 - %14853 = getelementptr inbounds nuw i8, ptr %.39762, i64 24 - %14854 = load ptr, ptr %14853, align 8 - %.not11670 = icmp eq ptr %14854, null - br i1 %.not11670, label %thread-pre-split12618, label %14855 - -14855: ; preds = %14852 - %14856 = load i8, ptr %2529, align 4 - %14857 = icmp eq i8 %14856, 68 - br i1 %14857, label %14858, label %thread-pre-split12615 - -14858: ; preds = %14855 - %14859 = getelementptr inbounds nuw i8, ptr %2501, i64 31 - %14860 = load i8, ptr %14859, align 1 - %.not11671 = icmp eq i8 %14860, 0 - br i1 %.not11671, label %thread-pre-split12615.thread, label %14861 - -14861: ; preds = %14858 - %14862 = getelementptr inbounds nuw i8, ptr %2501, i64 16 - %14863 = load i32, ptr %14862, align 8 - %14864 = lshr i32 %14863, 4 - %14865 = add nsw i32 %14864, -5 - %14866 = zext i32 %14865 to i64 - %14867 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %14866 - store i8 8, ptr %14867, align 4 - %14868 = load i32, ptr %14862, align 8 - %14869 = lshr i32 %14868, 4 - %14870 = add nsw i32 %14869, -5 - %14871 = zext i32 %14870 to i64 - %14872 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %14871 - %14873 = getelementptr inbounds nuw i8, ptr %14872, i64 1 - store i8 8, ptr %14873, align 1 - %14874 = load i32, ptr %14862, align 8 - %14875 = lshr i32 %14874, 4 - %14876 = add nsw i32 %14875, -5 - %14877 = zext i32 %14876 to i64 - %14878 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %14877 - %14879 = getelementptr inbounds nuw i8, ptr %14878, i64 2 - store i8 -1, ptr %14879, align 2 - %14880 = load i32, ptr %14862, align 8 - %14881 = lshr i32 %14880, 4 - %14882 = add nsw i32 %14881, -5 - %14883 = zext i32 %14882 to i64 - %14884 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %14883 - %14885 = getelementptr inbounds nuw i8, ptr %14884, i64 3 - store i8 0, ptr %14885, align 1 - %14886 = load i32, ptr %14862, align 8 - %14887 = lshr i32 %14886, 4 - %14888 = add nsw i32 %14887, -5 - %14889 = zext i32 %14888 to i64 - %14890 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %14889, i32 1 - store i32 0, ptr %14890, align 4 - %14891 = load i32, ptr %14862, align 8 - %14892 = lshr i32 %14891, 4 - %14893 = add nsw i32 %14892, -5 - %14894 = zext i32 %14893 to i64 - %14895 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %14894 - %14896 = getelementptr inbounds nuw i8, ptr %14895, i64 3 - store i8 0, ptr %14896, align 1 - %.pr12616.pre = load i8, ptr %2529, align 4 - br label %thread-pre-split12615 - -thread-pre-split12615: ; preds = %14861, %14855 - %14897 = phi i8 [ %14856, %14855 ], [ %.pr12616.pre, %14861 ] - switch i8 %14897, label %thread-pre-split12615.thread [ - i8 61, label %.critedge11975 - i8 59, label %.critedge11975 - i8 69, label %.critedge11975 - i8 112, label %.critedge11973 - i8 -128, label %.critedge11973 - i8 113, label %14898 - i8 118, label %14900 + br label %14842 + +14842: ; preds = %14841, %14838 + %14843 = phi i32 [ -520093698, %14841 ], [ %14835, %14838 ] + %14844 = call zeroext i1 @zend_may_throw_ex(ptr noundef %2501, ptr noundef %.09621, ptr noundef %.09771, ptr noundef nonnull %40, i32 noundef %14839, i32 noundef %14843) #33 + %14845 = zext i1 %14844 to i32 + %14846 = getelementptr inbounds nuw i8, ptr %.39762, i64 16 + %14847 = call fastcc i32 @zend_jit_trace_handler(ptr noundef %17, ptr noundef %.09771, ptr noundef %2501, i32 noundef %14845, ptr noundef %14846) + %.not11667 = icmp eq i32 %14847, 0 + br i1 %.not11667, label %zend_jit_stack_check.exit.thread, label %14848 + +14848: ; preds = %14842 + %14849 = load i8, ptr %14846, align 8 + %14850 = icmp eq i8 %14849, 4 + br i1 %14850, label %14851, label %thread-pre-split12615 + +14851: ; preds = %14848 + %14852 = getelementptr inbounds nuw i8, ptr %.39762, i64 24 + %14853 = load ptr, ptr %14852, align 8 + %.not11668 = icmp eq ptr %14853, null + br i1 %.not11668, label %thread-pre-split12615, label %14854 + +14854: ; preds = %14851 + %14855 = load i8, ptr %2529, align 4 + %14856 = icmp eq i8 %14855, 68 + br i1 %14856, label %14857, label %thread-pre-split12612 + +14857: ; preds = %14854 + %14858 = getelementptr inbounds nuw i8, ptr %2501, i64 31 + %14859 = load i8, ptr %14858, align 1 + %.not11669 = icmp eq i8 %14859, 0 + br i1 %.not11669, label %thread-pre-split12612.thread, label %14860 + +14860: ; preds = %14857 + %14861 = getelementptr inbounds nuw i8, ptr %2501, i64 16 + %14862 = load i32, ptr %14861, align 8 + %14863 = lshr i32 %14862, 4 + %14864 = add nsw i32 %14863, -5 + %14865 = zext i32 %14864 to i64 + %14866 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %14865 + store i8 8, ptr %14866, align 4 + %14867 = load i32, ptr %14861, align 8 + %14868 = lshr i32 %14867, 4 + %14869 = add nsw i32 %14868, -5 + %14870 = zext i32 %14869 to i64 + %14871 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %14870 + %14872 = getelementptr inbounds nuw i8, ptr %14871, i64 1 + store i8 8, ptr %14872, align 1 + %14873 = load i32, ptr %14861, align 8 + %14874 = lshr i32 %14873, 4 + %14875 = add nsw i32 %14874, -5 + %14876 = zext i32 %14875 to i64 + %14877 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %14876 + %14878 = getelementptr inbounds nuw i8, ptr %14877, i64 2 + store i8 -1, ptr %14878, align 2 + %14879 = load i32, ptr %14861, align 8 + %14880 = lshr i32 %14879, 4 + %14881 = add nsw i32 %14880, -5 + %14882 = zext i32 %14881 to i64 + %14883 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %14882 + %14884 = getelementptr inbounds nuw i8, ptr %14883, i64 3 + store i8 0, ptr %14884, align 1 + %14885 = load i32, ptr %14861, align 8 + %14886 = lshr i32 %14885, 4 + %14887 = add nsw i32 %14886, -5 + %14888 = zext i32 %14887 to i64 + %14889 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %14888, i32 1 + store i32 0, ptr %14889, align 4 + %14890 = load i32, ptr %14861, align 8 + %14891 = lshr i32 %14890, 4 + %14892 = add nsw i32 %14891, -5 + %14893 = zext i32 %14892 to i64 + %14894 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %14893 + %14895 = getelementptr inbounds nuw i8, ptr %14894, i64 3 + store i8 0, ptr %14895, align 1 + %.pr12613.pre = load i8, ptr %2529, align 4 + br label %thread-pre-split12612 + +thread-pre-split12612: ; preds = %14860, %14854 + %14896 = phi i8 [ %14855, %14854 ], [ %.pr12613.pre, %14860 ] + switch i8 %14896, label %thread-pre-split12612.thread [ + i8 61, label %.critedge11973 + i8 59, label %.critedge11973 + i8 69, label %.critedge11973 + i8 112, label %.critedge11971 + i8 -128, label %.critedge11971 + i8 113, label %14897 + i8 118, label %14899 ] -14898: ; preds = %thread-pre-split12615 - %14899 = load i8, ptr %14748, align 1 - %.not11672 = icmp eq i8 %14899, 1 - br i1 %.not11672, label %14905, label %.critedge11973 - -14900: ; preds = %thread-pre-split12615 - %14901 = load i8, ptr %14791, align 2 - %.not12717 = icmp eq i8 %14901, 1 - br i1 %.not12717, label %.critedge11975, label %.critedge11973 - -thread-pre-split12615.thread: ; preds = %14858, %thread-pre-split12615 - %14902 = phi i8 [ %14897, %thread-pre-split12615 ], [ 68, %14858 ] - %14903 = icmp eq i8 %14902, 68 - call void @llvm.assume(i1 %14903) - %14904 = load i8, ptr %14748, align 1 - %.not12719 = icmp eq i8 %14904, 1 - br i1 %.not12719, label %.critedge11975, label %.critedge11973 - -14905: ; preds = %14898 - %14906 = load i8, ptr %14791, align 2 - %.not12718 = icmp eq i8 %14906, 1 - br i1 %.not12718, label %.critedge11975, label %.critedge11973 - -.critedge11975: ; preds = %thread-pre-split12615.thread, %14900, %thread-pre-split12615, %thread-pre-split12615, %thread-pre-split12615, %14905 - %14907 = load ptr, ptr %14853, align 8 - %14908 = load i8, ptr %14907, align 8 - switch i8 %14908, label %.critedge11973 [ - i8 1, label %thread-pre-split12618 - i8 2, label %14909 +14897: ; preds = %thread-pre-split12612 + %14898 = load i8, ptr %14747, align 1 + %.not11670 = icmp eq i8 %14898, 1 + br i1 %.not11670, label %14904, label %.critedge11971 + +14899: ; preds = %thread-pre-split12612 + %14900 = load i8, ptr %14790, align 2 + %.not12714 = icmp eq i8 %14900, 1 + br i1 %.not12714, label %.critedge11973, label %.critedge11971 + +thread-pre-split12612.thread: ; preds = %14857, %thread-pre-split12612 + %14901 = phi i8 [ %14896, %thread-pre-split12612 ], [ 68, %14857 ] + %14902 = icmp eq i8 %14901, 68 + call void @llvm.assume(i1 %14902) + %14903 = load i8, ptr %14747, align 1 + %.not12716 = icmp eq i8 %14903, 1 + br i1 %.not12716, label %.critedge11973, label %.critedge11971 + +14904: ; preds = %14897 + %14905 = load i8, ptr %14790, align 2 + %.not12715 = icmp eq i8 %14905, 1 + br i1 %.not12715, label %.critedge11973, label %.critedge11971 + +.critedge11973: ; preds = %thread-pre-split12612.thread, %14899, %thread-pre-split12612, %thread-pre-split12612, %thread-pre-split12612, %14904 + %14906 = load ptr, ptr %14852, align 8 + %14907 = load i8, ptr %14906, align 8 + switch i8 %14907, label %.critedge11971 [ + i8 1, label %thread-pre-split12615 + i8 2, label %14908 ] -14909: ; preds = %.critedge11975 - %14910 = getelementptr inbounds nuw i8, ptr %14907, i64 4 - %14911 = load i32, ptr %14910, align 4 - %14912 = and i32 %14911, 1024 - %.not.i12136 = icmp eq i32 %14912, 0 - br i1 %.not.i12136, label %14913, label %thread-pre-split12618 - -14913: ; preds = %14909 - %14914 = getelementptr inbounds nuw i8, ptr %14907, i64 152 - %14915 = load ptr, ptr %14914, align 8 - %14916 = getelementptr inbounds nuw i8, ptr %.09771, i64 152 - %14917 = load ptr, ptr %14916, align 8 - %14918 = icmp eq ptr %14915, %14917 - br i1 %14918, label %14919, label %.critedge11973 - -14919: ; preds = %14913 - %14920 = getelementptr inbounds nuw i8, ptr %14907, i64 16 - %14921 = load ptr, ptr %14920, align 8 - %.not8.i = icmp eq ptr %14921, null - br i1 %.not8.i, label %thread-pre-split12618, label %.critedge11973 - -.critedge11973: ; preds = %14919, %14913, %.critedge11975, %thread-pre-split12615.thread, %14900, %thread-pre-split12615, %thread-pre-split12615, %14898, %14905 - %14922 = load ptr, ptr %14853, align 8 - %14923 = getelementptr inbounds nuw i8, ptr %2501, i64 32 - %14924 = call fastcc i32 @zend_jit_init_fcall_guard(ptr noundef %17, i32 noundef 0, ptr noundef %14922, ptr noundef nonnull %14923) - %.not11673 = icmp eq i32 %14924, 0 - br i1 %.not11673, label %zend_jit_stack_check.exit.thread, label %thread-pre-split12618 - -thread-pre-split12618: ; preds = %.preheader12749, %12747, %.preheader12749.preheader, %14919, %14909, %.critedge11975, %2815, %14478, %.thread12593, %.thread12597, %.thread12603, %2826, %2828, %2818, %3783, %3789, %3795, %4437, %4446, %4432, %4427, %4424, %.thread12308, %5315, %5846, %6307, %6300, %6296, %6293, %6820, %6813, %6809, %6806, %7425, %7418, %7415, %7412, %7744, %7737, %7734, %7731, %7766, %7954, %7962, %7961, %7948, %7946, %8022, %8013, %.thread12390, %8319, %8321, %8295, %8293, %8356, %8938, %8830, %9523, %9415, %9902, %11534, %11530, %11925, %11922, %11919, %11913, %12367, %12680, %12755, %13406, %13409, %.thread12553, %13887, %14169, %14323, %14849, %14852, %.critedge11973, %3263, %3737, %4117, %8346, %8355, %9567, %9746, %.loopexit12745, %10241, %10615, %10676, %10905, %11108, %.thread12519, %12947, %13166, %13386, %13520, %13659, %14477, %3782, %14746, %14746 - %.19717.ph = phi i8 [ %.09716, %14746 ], [ %.39719, %3782 ], [ %.09716, %2818 ], [ %.09716, %2826 ], [ %.09716, %2828 ], [ %.29718, %3263 ], [ %.39719, %3783 ], [ %.39719, %3789 ], [ %.39719, %3795 ], [ %.39719, %3737 ], [ %.49720, %4117 ], [ %.09716, %4424 ], [ %.09716, %4427 ], [ %.09716, %4432 ], [ %.09716, %4437 ], [ %.09716, %4446 ], [ %.09716, %.thread12308 ], [ %.09716, %5315 ], [ %.09716, %5846 ], [ %.09716, %6293 ], [ %.09716, %6296 ], [ %.09716, %6300 ], [ %.09716, %6307 ], [ %.09716, %6806 ], [ %.09716, %6809 ], [ %.09716, %6813 ], [ %.09716, %6820 ], [ %.79723, %7412 ], [ %.79723, %7415 ], [ %.79723, %7418 ], [ %.79723, %7425 ], [ %.09716, %7731 ], [ %.09716, %7734 ], [ %.09716, %7737 ], [ %.09716, %7744 ], [ %.09716, %7766 ], [ %.09716, %7946 ], [ %.09716, %7948 ], [ %.09716, %7961 ], [ %.09716, %7962 ], [ %.09716, %7954 ], [ %.09716, %.thread12390 ], [ %.09716, %8013 ], [ %.09716, %8022 ], [ %.09716, %8293 ], [ %.09716, %8295 ], [ %.09716, %8319 ], [ %.09716, %8321 ], [ %.09716, %8346 ], [ %.09716, %8355 ], [ %.09716, %8356 ], [ %.09716, %8938 ], [ %.09716, %8830 ], [ %.09716, %9523 ], [ %.09716, %9415 ], [ %.09716, %9567 ], [ %.09716, %9746 ], [ %.09716, %.loopexit12745 ], [ %.09716, %9902 ], [ %.09716, %10241 ], [ %.09716, %10615 ], [ %.09716, %10676 ], [ %.09716, %10905 ], [ %.09716, %11108 ], [ %.09716, %11530 ], [ %.09716, %11534 ], [ %.09716, %11913 ], [ %.09716, %11925 ], [ %.09716, %11922 ], [ %.09716, %11919 ], [ %.09716, %12367 ], [ %.09716, %12680 ], [ %.09716, %12755 ], [ %.09716, %.thread12519 ], [ %.09716, %12947 ], [ %.09716, %13166 ], [ %.09716, %13386 ], [ %.09716, %13406 ], [ %.09716, %13409 ], [ %.09716, %13520 ], [ %.09716, %13659 ], [ %.09716, %.thread12553 ], [ %.09716, %13887 ], [ %.09716, %14169 ], [ %.09716, %14323 ], [ %.09716, %14477 ], [ %.09716, %14478 ], [ %.09716, %.thread12593 ], [ %.09716, %.thread12597 ], [ %.09716, %.thread12603 ], [ %.09716, %14746 ], [ %.09716, %14849 ], [ %.09716, %14852 ], [ %.09716, %.critedge11973 ], [ %.09716, %2815 ], [ %.09716, %.critedge11975 ], [ %.09716, %14909 ], [ %.09716, %14919 ], [ %.09716, %.preheader12749.preheader ], [ %.09716, %12747 ], [ %.09716, %.preheader12749 ] - %.29669.ph = phi i8 [ %.19668, %14746 ], [ %.09667, %3782 ], [ %.09667, %2818 ], [ %.09667, %2826 ], [ %.09667, %2828 ], [ %.09667, %3263 ], [ %.09667, %3783 ], [ %.09667, %3789 ], [ %.09667, %3795 ], [ %.09667, %3737 ], [ %.09667, %4117 ], [ %.09667, %4424 ], [ %.09667, %4427 ], [ %.09667, %4432 ], [ %.09667, %4437 ], [ %.09667, %4446 ], [ %.09667, %.thread12308 ], [ %.39670, %5315 ], [ %.59672, %5846 ], [ %.79674, %6293 ], [ %.79674, %6296 ], [ %.79674, %6300 ], [ %.79674, %6307 ], [ %.09667, %6806 ], [ %.09667, %6809 ], [ %.09667, %6813 ], [ %.09667, %6820 ], [ %.09667, %7412 ], [ %.09667, %7415 ], [ %.09667, %7418 ], [ %.09667, %7425 ], [ %.09667, %7731 ], [ %.09667, %7734 ], [ %.09667, %7737 ], [ %.09667, %7744 ], [ %.09667, %7766 ], [ %.09667, %7946 ], [ %.09667, %7948 ], [ %.09667, %7961 ], [ %.09667, %7962 ], [ %.09667, %7954 ], [ %.09667, %.thread12390 ], [ %.09667, %8013 ], [ %.09667, %8022 ], [ %.09667, %8293 ], [ %.09667, %8295 ], [ %.09667, %8319 ], [ %.09667, %8321 ], [ %.09667, %8346 ], [ %.09667, %8355 ], [ %.09667, %8356 ], [ %.09667, %8938 ], [ %.09667, %8830 ], [ %.09667, %9523 ], [ %.09667, %9415 ], [ %.09667, %9567 ], [ %.09667, %9746 ], [ %.09667, %.loopexit12745 ], [ %.09667, %9902 ], [ %.09667, %10241 ], [ %.09667, %10615 ], [ %.09667, %10676 ], [ %.09667, %10905 ], [ %.09667, %11108 ], [ %.09667, %11530 ], [ %.09667, %11534 ], [ %.09667, %11913 ], [ %.09667, %11925 ], [ %.09667, %11922 ], [ %.09667, %11919 ], [ %.09667, %12367 ], [ %.99676, %12680 ], [ %.09667, %12755 ], [ %.09667, %.thread12519 ], [ %.09667, %12947 ], [ %.09667, %13166 ], [ %.09667, %13386 ], [ %.119678, %13406 ], [ %.09667, %13409 ], [ %.09667, %13520 ], [ %.09667, %13659 ], [ %.09667, %.thread12553 ], [ %.09667, %13887 ], [ %.129679, %14169 ], [ %.09667, %14323 ], [ %.09667, %14477 ], [ %.09667, %14478 ], [ %.09667, %.thread12593 ], [ %.09667, %.thread12597 ], [ %.09667, %.thread12603 ], [ %.19668, %14746 ], [ %.1966812610, %14849 ], [ %.1966812610, %14852 ], [ %.1966812610, %.critedge11973 ], [ %.09667, %2815 ], [ %.1966812610, %.critedge11975 ], [ %.1966812610, %14909 ], [ %.1966812610, %14919 ], [ %.09667, %.preheader12749.preheader ], [ %.09667, %12747 ], [ %.09667, %.preheader12749 ] - %.19638.ph = phi i8 [ %.09637, %14746 ], [ %.09637, %3782 ], [ %.09637, %2818 ], [ %.09637, %2826 ], [ %.09637, %2828 ], [ %.09637, %3263 ], [ %.09637, %3783 ], [ %.09637, %3789 ], [ %.09637, %3795 ], [ %.09637, %3737 ], [ %.09637, %4117 ], [ %.09637, %4424 ], [ %.09637, %4427 ], [ %.09637, %4432 ], [ %.09637, %4437 ], [ %.09637, %4446 ], [ %.09637, %.thread12308 ], [ %.09637, %5315 ], [ %.09637, %5846 ], [ %.09637, %6293 ], [ %.09637, %6296 ], [ %.09637, %6300 ], [ %.09637, %6307 ], [ %.09637, %6806 ], [ %.09637, %6809 ], [ %.09637, %6813 ], [ %.09637, %6820 ], [ %.09637, %7412 ], [ %.09637, %7415 ], [ %.09637, %7418 ], [ %.09637, %7425 ], [ %.09637, %7731 ], [ %.09637, %7734 ], [ %.09637, %7737 ], [ %.09637, %7744 ], [ %.09637, %7766 ], [ %.09637, %7946 ], [ %.09637, %7948 ], [ %.09637, %7961 ], [ %.09637, %7962 ], [ %.09637, %7954 ], [ %.09637, %.thread12390 ], [ %.09637, %8013 ], [ %.09637, %8022 ], [ %.09637, %8293 ], [ %.09637, %8295 ], [ %.09637, %8319 ], [ %.09637, %8321 ], [ %.09637, %8346 ], [ %.09637, %8355 ], [ %.09637, %8356 ], [ %.09637, %8938 ], [ %.09637, %8830 ], [ %.09637, %9523 ], [ %.09637, %9415 ], [ %.09637, %9567 ], [ %.09637, %9746 ], [ %.29639, %.loopexit12745 ], [ %.29639, %9902 ], [ %.09637, %10241 ], [ %.09637, %10615 ], [ %.09637, %10676 ], [ %.09637, %10905 ], [ %.09637, %11108 ], [ %.09637, %11530 ], [ %.09637, %11534 ], [ %.09637, %11913 ], [ %.09637, %11925 ], [ %.09637, %11922 ], [ %.09637, %11919 ], [ %.09637, %12367 ], [ %.09637, %12680 ], [ %.09637, %12755 ], [ %.09637, %.thread12519 ], [ %.09637, %12947 ], [ %.09637, %13166 ], [ %.09637, %13386 ], [ %.09637, %13406 ], [ %.09637, %13409 ], [ %.09637, %13520 ], [ %.09637, %13659 ], [ %.09637, %.thread12553 ], [ %.09637, %13887 ], [ %.09637, %14169 ], [ %.09637, %14323 ], [ %.09637, %14477 ], [ %.09637, %14478 ], [ %.09637, %.thread12593 ], [ %.09637, %.thread12597 ], [ %.09637, %.thread12603 ], [ %.09637, %14746 ], [ %.09637, %14849 ], [ %.09637, %14852 ], [ %.09637, %.critedge11973 ], [ %.09637, %2815 ], [ %.09637, %.critedge11975 ], [ %.09637, %14909 ], [ %.09637, %14919 ], [ %.09637, %.preheader12749.preheader ], [ %.09637, %12747 ], [ %.09637, %.preheader12749 ] - %.19611.ph = phi i32 [ 0, %14746 ], [ 0, %3782 ], [ 0, %2818 ], [ 0, %2826 ], [ 0, %2828 ], [ 0, %3263 ], [ 0, %3783 ], [ 0, %3789 ], [ 0, %3795 ], [ 0, %3737 ], [ 0, %4117 ], [ 0, %4424 ], [ 0, %4427 ], [ 0, %4432 ], [ 0, %4437 ], [ 0, %4446 ], [ 0, %.thread12308 ], [ 0, %5315 ], [ 0, %5846 ], [ 0, %6293 ], [ 0, %6296 ], [ 0, %6300 ], [ 0, %6307 ], [ 0, %6806 ], [ 0, %6809 ], [ 0, %6813 ], [ 0, %6820 ], [ 0, %7412 ], [ 0, %7415 ], [ 0, %7418 ], [ 0, %7425 ], [ 0, %7731 ], [ 0, %7734 ], [ 0, %7737 ], [ 0, %7744 ], [ 1, %7766 ], [ 0, %7946 ], [ 0, %7948 ], [ 0, %7961 ], [ 0, %7962 ], [ 0, %7954 ], [ 0, %.thread12390 ], [ 0, %8013 ], [ 0, %8022 ], [ 0, %8293 ], [ 0, %8295 ], [ 0, %8319 ], [ 0, %8321 ], [ 0, %8346 ], [ 0, %8355 ], [ 0, %8356 ], [ 0, %8938 ], [ 0, %8830 ], [ 0, %9523 ], [ 0, %9415 ], [ 0, %9567 ], [ 0, %9746 ], [ 0, %.loopexit12745 ], [ 0, %9902 ], [ 0, %10241 ], [ 0, %10615 ], [ 0, %10676 ], [ 0, %10905 ], [ 0, %11108 ], [ 0, %11530 ], [ 0, %11534 ], [ 0, %11913 ], [ 0, %11925 ], [ 0, %11922 ], [ 0, %11919 ], [ 0, %12367 ], [ 0, %12680 ], [ 0, %12755 ], [ 0, %.thread12519 ], [ 0, %12947 ], [ 0, %13166 ], [ 0, %13386 ], [ 0, %13406 ], [ 0, %13409 ], [ 0, %13520 ], [ 0, %13659 ], [ 0, %.thread12553 ], [ 0, %13887 ], [ 1, %14169 ], [ 1, %14323 ], [ 0, %14477 ], [ 0, %14478 ], [ 0, %.thread12593 ], [ 0, %.thread12597 ], [ 0, %.thread12603 ], [ 0, %14746 ], [ 0, %14849 ], [ 0, %14852 ], [ 0, %.critedge11973 ], [ 0, %2815 ], [ 0, %.critedge11975 ], [ 0, %14909 ], [ 0, %14919 ], [ 0, %.preheader12749.preheader ], [ 0, %12747 ], [ 0, %.preheader12749 ] - %.09576.not.ph = phi i1 [ true, %14746 ], [ true, %3782 ], [ true, %2818 ], [ true, %2826 ], [ true, %2828 ], [ true, %3263 ], [ true, %3783 ], [ true, %3789 ], [ true, %3795 ], [ true, %3737 ], [ true, %4117 ], [ true, %4424 ], [ true, %4427 ], [ true, %4432 ], [ true, %4437 ], [ true, %4446 ], [ true, %.thread12308 ], [ true, %5315 ], [ true, %5846 ], [ true, %6293 ], [ true, %6296 ], [ true, %6300 ], [ true, %6307 ], [ true, %6806 ], [ true, %6809 ], [ true, %6813 ], [ true, %6820 ], [ true, %7412 ], [ true, %7415 ], [ true, %7418 ], [ true, %7425 ], [ true, %7731 ], [ true, %7734 ], [ true, %7737 ], [ true, %7744 ], [ true, %7766 ], [ true, %7946 ], [ true, %7948 ], [ true, %7961 ], [ true, %7962 ], [ true, %7954 ], [ true, %.thread12390 ], [ true, %8013 ], [ true, %8022 ], [ true, %8293 ], [ true, %8295 ], [ true, %8319 ], [ true, %8321 ], [ true, %8346 ], [ true, %8355 ], [ true, %8356 ], [ true, %8938 ], [ true, %8830 ], [ true, %9523 ], [ true, %9415 ], [ true, %9567 ], [ true, %9746 ], [ true, %.loopexit12745 ], [ true, %9902 ], [ true, %10241 ], [ true, %10615 ], [ true, %10676 ], [ true, %10905 ], [ true, %11108 ], [ true, %11530 ], [ true, %11534 ], [ true, %11913 ], [ true, %11925 ], [ true, %11922 ], [ true, %11919 ], [ true, %12367 ], [ true, %12680 ], [ true, %12755 ], [ true, %.thread12519 ], [ true, %12947 ], [ true, %13166 ], [ true, %13386 ], [ true, %13406 ], [ true, %13409 ], [ true, %13520 ], [ true, %13659 ], [ true, %.thread12553 ], [ true, %13887 ], [ true, %14169 ], [ true, %14323 ], [ true, %14477 ], [ true, %14478 ], [ true, %.thread12593 ], [ true, %.thread12597 ], [ true, %.thread12603 ], [ true, %14746 ], [ false, %14849 ], [ false, %14852 ], [ false, %.critedge11973 ], [ true, %2815 ], [ false, %.critedge11975 ], [ false, %14909 ], [ false, %14919 ], [ true, %.preheader12749.preheader ], [ true, %12747 ], [ true, %.preheader12749 ] - %.pr12619 = load i8, ptr %2529, align 4 - br label %14925 - -14925: ; preds = %thread-pre-split12618, %11917, %8320 - %14926 = phi i8 [ %.pr12619, %thread-pre-split12618 ], [ %11918, %11917 ], [ %8299, %8320 ] - %.19717 = phi i8 [ %.19717.ph, %thread-pre-split12618 ], [ %.09716, %11917 ], [ %.09716, %8320 ] - %.29669 = phi i8 [ %.29669.ph, %thread-pre-split12618 ], [ %.09667, %11917 ], [ %.09667, %8320 ] - %.19638 = phi i8 [ %.19638.ph, %thread-pre-split12618 ], [ %.09637, %11917 ], [ %.09637, %8320 ] - %.19611 = phi i32 [ %.19611.ph, %thread-pre-split12618 ], [ 0, %11917 ], [ 0, %8320 ] - %.09576.not = phi i1 [ %.09576.not.ph, %thread-pre-split12618 ], [ true, %11917 ], [ true, %8320 ] - switch i8 %14926, label %14931 [ - i8 60, label %14927 - i8 -127, label %14927 - i8 -126, label %14927 - i8 -125, label %14927 - i8 -54, label %14927 +14908: ; preds = %.critedge11973 + %14909 = getelementptr inbounds nuw i8, ptr %14906, i64 4 + %14910 = load i32, ptr %14909, align 4 + %14911 = and i32 %14910, 1024 + %.not.i12133 = icmp eq i32 %14911, 0 + br i1 %.not.i12133, label %14912, label %thread-pre-split12615 + +14912: ; preds = %14908 + %14913 = getelementptr inbounds nuw i8, ptr %14906, i64 152 + %14914 = load ptr, ptr %14913, align 8 + %14915 = getelementptr inbounds nuw i8, ptr %.09771, i64 152 + %14916 = load ptr, ptr %14915, align 8 + %14917 = icmp eq ptr %14914, %14916 + br i1 %14917, label %14918, label %.critedge11971 + +14918: ; preds = %14912 + %14919 = getelementptr inbounds nuw i8, ptr %14906, i64 16 + %14920 = load ptr, ptr %14919, align 8 + %.not8.i = icmp eq ptr %14920, null + br i1 %.not8.i, label %thread-pre-split12615, label %.critedge11971 + +.critedge11971: ; preds = %14918, %14912, %.critedge11973, %thread-pre-split12612.thread, %14899, %thread-pre-split12612, %thread-pre-split12612, %14897, %14904 + %14921 = load ptr, ptr %14852, align 8 + %14922 = getelementptr inbounds nuw i8, ptr %2501, i64 32 + %14923 = call fastcc i32 @zend_jit_init_fcall_guard(ptr noundef %17, i32 noundef 0, ptr noundef %14921, ptr noundef nonnull %14922) + %.not11671 = icmp eq i32 %14923, 0 + br i1 %.not11671, label %zend_jit_stack_check.exit.thread, label %thread-pre-split12615 + +thread-pre-split12615: ; preds = %.preheader12746, %12747, %.preheader12746.preheader, %14918, %14908, %.critedge11973, %2815, %14477, %.thread12590, %.thread12594, %.thread12600, %2826, %2828, %2818, %3783, %3789, %3795, %4437, %4446, %4432, %4427, %4424, %.thread12305, %5315, %5846, %6307, %6300, %6296, %6293, %6820, %6813, %6809, %6806, %7425, %7418, %7415, %7412, %7744, %7737, %7734, %7731, %7766, %7954, %7962, %7961, %7948, %7946, %8022, %8013, %.thread12387, %8319, %8321, %8295, %8293, %8356, %8938, %8830, %9523, %9415, %9902, %11534, %11530, %11925, %11922, %11919, %11913, %12367, %12680, %12755, %13406, %13409, %.thread12550, %13887, %14169, %14322, %14848, %14851, %.critedge11971, %3263, %3737, %4117, %8346, %8355, %9567, %9746, %.loopexit12742, %10241, %10615, %10676, %10905, %11108, %.thread12516, %12947, %13166, %13386, %13520, %13659, %14476, %3782, %14745, %14745 + %.19717.ph = phi i8 [ %.09716, %14745 ], [ %.39719, %3782 ], [ %.09716, %2818 ], [ %.09716, %2826 ], [ %.09716, %2828 ], [ %.29718, %3263 ], [ %.39719, %3783 ], [ %.39719, %3789 ], [ %.39719, %3795 ], [ %.39719, %3737 ], [ %.49720, %4117 ], [ %.09716, %4424 ], [ %.09716, %4427 ], [ %.09716, %4432 ], [ %.09716, %4437 ], [ %.09716, %4446 ], [ %.09716, %.thread12305 ], [ %.09716, %5315 ], [ %.09716, %5846 ], [ %.09716, %6293 ], [ %.09716, %6296 ], [ %.09716, %6300 ], [ %.09716, %6307 ], [ %.09716, %6806 ], [ %.09716, %6809 ], [ %.09716, %6813 ], [ %.09716, %6820 ], [ %.79723, %7412 ], [ %.79723, %7415 ], [ %.79723, %7418 ], [ %.79723, %7425 ], [ %.09716, %7731 ], [ %.09716, %7734 ], [ %.09716, %7737 ], [ %.09716, %7744 ], [ %.09716, %7766 ], [ %.09716, %7946 ], [ %.09716, %7948 ], [ %.09716, %7961 ], [ %.09716, %7962 ], [ %.09716, %7954 ], [ %.09716, %.thread12387 ], [ %.09716, %8013 ], [ %.09716, %8022 ], [ %.09716, %8293 ], [ %.09716, %8295 ], [ %.09716, %8319 ], [ %.09716, %8321 ], [ %.09716, %8346 ], [ %.09716, %8355 ], [ %.09716, %8356 ], [ %.09716, %8938 ], [ %.09716, %8830 ], [ %.09716, %9523 ], [ %.09716, %9415 ], [ %.09716, %9567 ], [ %.09716, %9746 ], [ %.09716, %.loopexit12742 ], [ %.09716, %9902 ], [ %.09716, %10241 ], [ %.09716, %10615 ], [ %.09716, %10676 ], [ %.09716, %10905 ], [ %.09716, %11108 ], [ %.09716, %11530 ], [ %.09716, %11534 ], [ %.09716, %11913 ], [ %.09716, %11925 ], [ %.09716, %11922 ], [ %.09716, %11919 ], [ %.09716, %12367 ], [ %.09716, %12680 ], [ %.09716, %12755 ], [ %.09716, %.thread12516 ], [ %.09716, %12947 ], [ %.09716, %13166 ], [ %.09716, %13386 ], [ %.09716, %13406 ], [ %.09716, %13409 ], [ %.09716, %13520 ], [ %.09716, %13659 ], [ %.09716, %.thread12550 ], [ %.09716, %13887 ], [ %.09716, %14169 ], [ %.09716, %14322 ], [ %.09716, %14476 ], [ %.09716, %14477 ], [ %.09716, %.thread12590 ], [ %.09716, %.thread12594 ], [ %.09716, %.thread12600 ], [ %.09716, %14745 ], [ %.09716, %14848 ], [ %.09716, %14851 ], [ %.09716, %.critedge11971 ], [ %.09716, %2815 ], [ %.09716, %.critedge11973 ], [ %.09716, %14908 ], [ %.09716, %14918 ], [ %.09716, %.preheader12746.preheader ], [ %.09716, %12747 ], [ %.09716, %.preheader12746 ] + %.29669.ph = phi i8 [ %.19668, %14745 ], [ %.09667, %3782 ], [ %.09667, %2818 ], [ %.09667, %2826 ], [ %.09667, %2828 ], [ %.09667, %3263 ], [ %.09667, %3783 ], [ %.09667, %3789 ], [ %.09667, %3795 ], [ %.09667, %3737 ], [ %.09667, %4117 ], [ %.09667, %4424 ], [ %.09667, %4427 ], [ %.09667, %4432 ], [ %.09667, %4437 ], [ %.09667, %4446 ], [ %.09667, %.thread12305 ], [ %.39670, %5315 ], [ %.59672, %5846 ], [ %.79674, %6293 ], [ %.79674, %6296 ], [ %.79674, %6300 ], [ %.79674, %6307 ], [ %.09667, %6806 ], [ %.09667, %6809 ], [ %.09667, %6813 ], [ %.09667, %6820 ], [ %.09667, %7412 ], [ %.09667, %7415 ], [ %.09667, %7418 ], [ %.09667, %7425 ], [ %.09667, %7731 ], [ %.09667, %7734 ], [ %.09667, %7737 ], [ %.09667, %7744 ], [ %.09667, %7766 ], [ %.09667, %7946 ], [ %.09667, %7948 ], [ %.09667, %7961 ], [ %.09667, %7962 ], [ %.09667, %7954 ], [ %.09667, %.thread12387 ], [ %.09667, %8013 ], [ %.09667, %8022 ], [ %.09667, %8293 ], [ %.09667, %8295 ], [ %.09667, %8319 ], [ %.09667, %8321 ], [ %.09667, %8346 ], [ %.09667, %8355 ], [ %.09667, %8356 ], [ %.09667, %8938 ], [ %.09667, %8830 ], [ %.09667, %9523 ], [ %.09667, %9415 ], [ %.09667, %9567 ], [ %.09667, %9746 ], [ %.09667, %.loopexit12742 ], [ %.09667, %9902 ], [ %.09667, %10241 ], [ %.09667, %10615 ], [ %.09667, %10676 ], [ %.09667, %10905 ], [ %.09667, %11108 ], [ %.09667, %11530 ], [ %.09667, %11534 ], [ %.09667, %11913 ], [ %.09667, %11925 ], [ %.09667, %11922 ], [ %.09667, %11919 ], [ %.09667, %12367 ], [ %.99676, %12680 ], [ %.09667, %12755 ], [ %.09667, %.thread12516 ], [ %.09667, %12947 ], [ %.09667, %13166 ], [ %.09667, %13386 ], [ %.119678, %13406 ], [ %.09667, %13409 ], [ %.09667, %13520 ], [ %.09667, %13659 ], [ %.09667, %.thread12550 ], [ %.09667, %13887 ], [ %.129679, %14169 ], [ %.09667, %14322 ], [ %.09667, %14476 ], [ %.09667, %14477 ], [ %.09667, %.thread12590 ], [ %.09667, %.thread12594 ], [ %.09667, %.thread12600 ], [ %.19668, %14745 ], [ %.1966812607, %14848 ], [ %.1966812607, %14851 ], [ %.1966812607, %.critedge11971 ], [ %.09667, %2815 ], [ %.1966812607, %.critedge11973 ], [ %.1966812607, %14908 ], [ %.1966812607, %14918 ], [ %.09667, %.preheader12746.preheader ], [ %.09667, %12747 ], [ %.09667, %.preheader12746 ] + %.19638.ph = phi i8 [ %.09637, %14745 ], [ %.09637, %3782 ], [ %.09637, %2818 ], [ %.09637, %2826 ], [ %.09637, %2828 ], [ %.09637, %3263 ], [ %.09637, %3783 ], [ %.09637, %3789 ], [ %.09637, %3795 ], [ %.09637, %3737 ], [ %.09637, %4117 ], [ %.09637, %4424 ], [ %.09637, %4427 ], [ %.09637, %4432 ], [ %.09637, %4437 ], [ %.09637, %4446 ], [ %.09637, %.thread12305 ], [ %.09637, %5315 ], [ %.09637, %5846 ], [ %.09637, %6293 ], [ %.09637, %6296 ], [ %.09637, %6300 ], [ %.09637, %6307 ], [ %.09637, %6806 ], [ %.09637, %6809 ], [ %.09637, %6813 ], [ %.09637, %6820 ], [ %.09637, %7412 ], [ %.09637, %7415 ], [ %.09637, %7418 ], [ %.09637, %7425 ], [ %.09637, %7731 ], [ %.09637, %7734 ], [ %.09637, %7737 ], [ %.09637, %7744 ], [ %.09637, %7766 ], [ %.09637, %7946 ], [ %.09637, %7948 ], [ %.09637, %7961 ], [ %.09637, %7962 ], [ %.09637, %7954 ], [ %.09637, %.thread12387 ], [ %.09637, %8013 ], [ %.09637, %8022 ], [ %.09637, %8293 ], [ %.09637, %8295 ], [ %.09637, %8319 ], [ %.09637, %8321 ], [ %.09637, %8346 ], [ %.09637, %8355 ], [ %.09637, %8356 ], [ %.09637, %8938 ], [ %.09637, %8830 ], [ %.09637, %9523 ], [ %.09637, %9415 ], [ %.09637, %9567 ], [ %.09637, %9746 ], [ %.29639, %.loopexit12742 ], [ %.29639, %9902 ], [ %.09637, %10241 ], [ %.09637, %10615 ], [ %.09637, %10676 ], [ %.09637, %10905 ], [ %.09637, %11108 ], [ %.09637, %11530 ], [ %.09637, %11534 ], [ %.09637, %11913 ], [ %.09637, %11925 ], [ %.09637, %11922 ], [ %.09637, %11919 ], [ %.09637, %12367 ], [ %.09637, %12680 ], [ %.09637, %12755 ], [ %.09637, %.thread12516 ], [ %.09637, %12947 ], [ %.09637, %13166 ], [ %.09637, %13386 ], [ %.09637, %13406 ], [ %.09637, %13409 ], [ %.09637, %13520 ], [ %.09637, %13659 ], [ %.09637, %.thread12550 ], [ %.09637, %13887 ], [ %.09637, %14169 ], [ %.09637, %14322 ], [ %.09637, %14476 ], [ %.09637, %14477 ], [ %.09637, %.thread12590 ], [ %.09637, %.thread12594 ], [ %.09637, %.thread12600 ], [ %.09637, %14745 ], [ %.09637, %14848 ], [ %.09637, %14851 ], [ %.09637, %.critedge11971 ], [ %.09637, %2815 ], [ %.09637, %.critedge11973 ], [ %.09637, %14908 ], [ %.09637, %14918 ], [ %.09637, %.preheader12746.preheader ], [ %.09637, %12747 ], [ %.09637, %.preheader12746 ] + %.19611.ph = phi i32 [ 0, %14745 ], [ 0, %3782 ], [ 0, %2818 ], [ 0, %2826 ], [ 0, %2828 ], [ 0, %3263 ], [ 0, %3783 ], [ 0, %3789 ], [ 0, %3795 ], [ 0, %3737 ], [ 0, %4117 ], [ 0, %4424 ], [ 0, %4427 ], [ 0, %4432 ], [ 0, %4437 ], [ 0, %4446 ], [ 0, %.thread12305 ], [ 0, %5315 ], [ 0, %5846 ], [ 0, %6293 ], [ 0, %6296 ], [ 0, %6300 ], [ 0, %6307 ], [ 0, %6806 ], [ 0, %6809 ], [ 0, %6813 ], [ 0, %6820 ], [ 0, %7412 ], [ 0, %7415 ], [ 0, %7418 ], [ 0, %7425 ], [ 0, %7731 ], [ 0, %7734 ], [ 0, %7737 ], [ 0, %7744 ], [ 1, %7766 ], [ 0, %7946 ], [ 0, %7948 ], [ 0, %7961 ], [ 0, %7962 ], [ 0, %7954 ], [ 0, %.thread12387 ], [ 0, %8013 ], [ 0, %8022 ], [ 0, %8293 ], [ 0, %8295 ], [ 0, %8319 ], [ 0, %8321 ], [ 0, %8346 ], [ 0, %8355 ], [ 0, %8356 ], [ 0, %8938 ], [ 0, %8830 ], [ 0, %9523 ], [ 0, %9415 ], [ 0, %9567 ], [ 0, %9746 ], [ 0, %.loopexit12742 ], [ 0, %9902 ], [ 0, %10241 ], [ 0, %10615 ], [ 0, %10676 ], [ 0, %10905 ], [ 0, %11108 ], [ 0, %11530 ], [ 0, %11534 ], [ 0, %11913 ], [ 0, %11925 ], [ 0, %11922 ], [ 0, %11919 ], [ 0, %12367 ], [ 0, %12680 ], [ 0, %12755 ], [ 0, %.thread12516 ], [ 0, %12947 ], [ 0, %13166 ], [ 0, %13386 ], [ 0, %13406 ], [ 0, %13409 ], [ 0, %13520 ], [ 0, %13659 ], [ 0, %.thread12550 ], [ 0, %13887 ], [ 1, %14169 ], [ 1, %14322 ], [ 0, %14476 ], [ 0, %14477 ], [ 0, %.thread12590 ], [ 0, %.thread12594 ], [ 0, %.thread12600 ], [ 0, %14745 ], [ 0, %14848 ], [ 0, %14851 ], [ 0, %.critedge11971 ], [ 0, %2815 ], [ 0, %.critedge11973 ], [ 0, %14908 ], [ 0, %14918 ], [ 0, %.preheader12746.preheader ], [ 0, %12747 ], [ 0, %.preheader12746 ] + %.09576.not.ph = phi i1 [ true, %14745 ], [ true, %3782 ], [ true, %2818 ], [ true, %2826 ], [ true, %2828 ], [ true, %3263 ], [ true, %3783 ], [ true, %3789 ], [ true, %3795 ], [ true, %3737 ], [ true, %4117 ], [ true, %4424 ], [ true, %4427 ], [ true, %4432 ], [ true, %4437 ], [ true, %4446 ], [ true, %.thread12305 ], [ true, %5315 ], [ true, %5846 ], [ true, %6293 ], [ true, %6296 ], [ true, %6300 ], [ true, %6307 ], [ true, %6806 ], [ true, %6809 ], [ true, %6813 ], [ true, %6820 ], [ true, %7412 ], [ true, %7415 ], [ true, %7418 ], [ true, %7425 ], [ true, %7731 ], [ true, %7734 ], [ true, %7737 ], [ true, %7744 ], [ true, %7766 ], [ true, %7946 ], [ true, %7948 ], [ true, %7961 ], [ true, %7962 ], [ true, %7954 ], [ true, %.thread12387 ], [ true, %8013 ], [ true, %8022 ], [ true, %8293 ], [ true, %8295 ], [ true, %8319 ], [ true, %8321 ], [ true, %8346 ], [ true, %8355 ], [ true, %8356 ], [ true, %8938 ], [ true, %8830 ], [ true, %9523 ], [ true, %9415 ], [ true, %9567 ], [ true, %9746 ], [ true, %.loopexit12742 ], [ true, %9902 ], [ true, %10241 ], [ true, %10615 ], [ true, %10676 ], [ true, %10905 ], [ true, %11108 ], [ true, %11530 ], [ true, %11534 ], [ true, %11913 ], [ true, %11925 ], [ true, %11922 ], [ true, %11919 ], [ true, %12367 ], [ true, %12680 ], [ true, %12755 ], [ true, %.thread12516 ], [ true, %12947 ], [ true, %13166 ], [ true, %13386 ], [ true, %13406 ], [ true, %13409 ], [ true, %13520 ], [ true, %13659 ], [ true, %.thread12550 ], [ true, %13887 ], [ true, %14169 ], [ true, %14322 ], [ true, %14476 ], [ true, %14477 ], [ true, %.thread12590 ], [ true, %.thread12594 ], [ true, %.thread12600 ], [ true, %14745 ], [ false, %14848 ], [ false, %14851 ], [ false, %.critedge11971 ], [ true, %2815 ], [ false, %.critedge11973 ], [ false, %14908 ], [ false, %14918 ], [ true, %.preheader12746.preheader ], [ true, %12747 ], [ true, %.preheader12746 ] + %.pr12616 = load i8, ptr %2529, align 4 + br label %14924 + +14924: ; preds = %thread-pre-split12615, %11917, %8320 + %14925 = phi i8 [ %.pr12616, %thread-pre-split12615 ], [ %11918, %11917 ], [ %8299, %8320 ] + %.19717 = phi i8 [ %.19717.ph, %thread-pre-split12615 ], [ %.09716, %11917 ], [ %.09716, %8320 ] + %.29669 = phi i8 [ %.29669.ph, %thread-pre-split12615 ], [ %.09667, %11917 ], [ %.09667, %8320 ] + %.19638 = phi i8 [ %.19638.ph, %thread-pre-split12615 ], [ %.09637, %11917 ], [ %.09637, %8320 ] + %.19611 = phi i32 [ %.19611.ph, %thread-pre-split12615 ], [ 0, %11917 ], [ 0, %8320 ] + %.09576.not = phi i1 [ %.09576.not.ph, %thread-pre-split12615 ], [ true, %11917 ], [ true, %8320 ] + switch i8 %14925, label %14930 [ + i8 60, label %14926 + i8 -127, label %14926 + i8 -126, label %14926 + i8 -125, label %14926 + i8 -54, label %14926 ] -14927: ; preds = %14925, %14925, %14925, %14925, %14925 - %14928 = getelementptr inbounds nuw i8, ptr %.09646, i64 40 - %14929 = load i32, ptr %14928, align 8 - %14930 = add i32 %14929, -1 - store i32 %14930, ptr %14928, align 8 - br label %14931 +14926: ; preds = %14924, %14924, %14924, %14924, %14924 + %14927 = getelementptr inbounds nuw i8, ptr %.09646, i64 40 + %14928 = load i32, ptr %14927, align 8 + %14929 = add i32 %14928, -1 + store i32 %14929, ptr %14927, align 8 + br label %14930 -14931: ; preds = %14927, %14925 - br i1 %.not11593, label %14932, label %14933 +14930: ; preds = %14926, %14924 + br i1 %.not11591, label %14931, label %14932 -14932: ; preds = %14931 +14931: ; preds = %14930 call fastcc void @zend_jit_trace_cleanup_stack(ptr noundef %17, ptr noundef %.09641, ptr noundef nonnull %2501, ptr noundef %.09621, ptr noundef %40, ptr noundef %43) - br label %14933 - -14933: ; preds = %14932, %14931 - %14934 = getelementptr inbounds nuw i8, ptr %2501, i64 29 - %14935 = load i8, ptr %14934, align 1 - %14936 = and i8 %14935, 6 - %.not11674 = icmp eq i8 %14936, 0 - br i1 %.not11674, label %14955, label %14937 - -14937: ; preds = %14933 - %14938 = getelementptr inbounds nuw i8, ptr %2501, i64 8 - %14939 = load i32, ptr %14938, align 8 - %14940 = lshr i32 %14939, 4 - %14941 = add nsw i32 %14940, -5 - %14942 = zext i32 %14941 to i64 - %14943 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %14942 - %14944 = getelementptr inbounds nuw i8, ptr %14943, i64 3 - %14945 = load i8, ptr %14944, align 1 - %14946 = and i8 %14945, 80 - %.not11675 = icmp eq i8 %14946, 0 - br i1 %.not11675, label %14955, label %14947 - -14947: ; preds = %14937 - %14948 = getelementptr inbounds nuw i8, ptr %14943, i64 2 - store i8 -1, ptr %14948, align 2 - %14949 = load i32, ptr %14938, align 8 - %14950 = lshr i32 %14949, 4 - %14951 = add nsw i32 %14950, -5 - %14952 = zext i32 %14951 to i64 - %14953 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %14952 - %14954 = getelementptr inbounds nuw i8, ptr %14953, i64 3 - store i8 0, ptr %14954, align 1 - br label %14955 - -14955: ; preds = %14947, %14937, %14933 - %14956 = load i8, ptr %2529, align 4 - %14957 = icmp eq i8 %14956, 54 - br i1 %14957, label %14958, label %.loopexit12741 - -14958: ; preds = %14955 - %14959 = getelementptr inbounds nuw i8, ptr %2501, i64 16 - %14960 = load i32, ptr %14959, align 8 - %14961 = lshr i32 %14960, 4 - %14962 = add nsw i32 %14961, -5 - %14963 = getelementptr inbounds nuw i8, ptr %2501, i64 20 - %14964 = load i32, ptr %14963, align 4 - %14965 = zext i32 %14964 to i64 - %14966 = shl nuw nsw i64 %14965, 3 - %14967 = add nuw nsw i64 %14966, 15 - %14968 = lshr i64 %14967, 4 - %14969 = trunc nuw i64 %14968 to i32 - br label %14970 - -14970: ; preds = %14970, %14958 - %.09424 = phi i32 [ %14962, %14958 ], [ %14977, %14970 ] - %.09423 = phi i32 [ %14969, %14958 ], [ %14978, %14970 ] - %14971 = zext i32 %.09424 to i64 - %14972 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %14971 - store i8 -1, ptr %14972, align 4 - %14973 = getelementptr inbounds nuw i8, ptr %14972, i64 1 - store i8 -1, ptr %14973, align 1 - %14974 = getelementptr inbounds nuw i8, ptr %14972, i64 2 - store i8 -1, ptr %14974, align 2 - %14975 = getelementptr inbounds nuw i8, ptr %14972, i64 3 - %14976 = getelementptr inbounds nuw i8, ptr %14972, i64 4 - store i32 0, ptr %14976, align 4 - store i8 0, ptr %14975, align 1 - %14977 = add i32 %.09424, 1 - %14978 = add i32 %.09423, -1 - %.not11676 = icmp eq i32 %14978, 0 - br i1 %.not11676, label %.loopexit12741, label %14970 - -.loopexit12741: ; preds = %14970, %14955 - %.not11677 = icmp eq ptr %.09621, null - br i1 %.not11677, label %.loopexit12751, label %14979 - -14979: ; preds = %.loopexit12741 - %14980 = getelementptr inbounds nuw i8, ptr %.09621, i64 20 - %14981 = load i32, ptr %14980, align 4 - %14982 = icmp sgt i32 %14981, -1 - br i1 %14982, label %14983, label %15403 - -14983: ; preds = %14979 - %14984 = getelementptr inbounds nuw i8, ptr %2501, i64 31 - %14985 = load i8, ptr %14984, align 1 - %14986 = and i8 %14985, 48 - %.not11678 = icmp eq i8 %14986, 0 - br i1 %.not11678, label %14987, label %thread-pre-split12620 - -14987: ; preds = %14983 - %14988 = trunc i8 %.19717 to i1 - br i1 %14988, label %thread-pre-split12620, label %14989 - -14989: ; preds = %14987 - %14990 = load ptr, ptr %2477, align 8 - %14991 = zext nneg i32 %14981 to i64 - %14992 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %14990, i64 %14991 - %14993 = load i32, ptr %14992, align 8 - %14994 = and i32 %14993, 268435456 - %.not11679 = icmp eq i32 %14994, 0 - br i1 %.not11679, label %14995, label %15026 - -14995: ; preds = %14989 - %14996 = and i32 %14993, 1023 - %14997 = call range(i32 0, 11) i32 @llvm.ctpop.i32(i32 %14996) - %14998 = icmp ne i32 %14996, 0 - %14999 = icmp eq i32 %14997, 1 - br i1 %14999, label %15000, label %15026 - -15000: ; preds = %14995 - call void @llvm.assume(i1 %14998) - %15001 = lshr i32 %14996, 1 - %15002 = or i32 %15001, %14996 - %15003 = lshr i32 %15002, 2 - %15004 = or i32 %15003, %15002 - %15005 = lshr i32 %15004, 4 - %15006 = or i32 %15005, %15004 - %15007 = lshr i32 %15006, 8 - %15008 = or i32 %15007, %15006 - %15009 = lshr i32 %15008, 1 - %15010 = and i32 %15009, 1431655765 - %15011 = sub nsw i32 %15008, %15010 - %15012 = lshr i32 %15011, 2 - %15013 = and i32 %15012, 858993459 - %15014 = and i32 %15011, 858993459 - %15015 = add nuw nsw i32 %15013, %15014 - %15016 = lshr i32 %15015, 4 - %15017 = add nuw nsw i32 %15016, %15015 - %15018 = and i32 %15017, 252645135 - %15019 = lshr i32 %15018, 8 - %15020 = add nuw nsw i32 %15019, %15018 - %15021 = lshr i32 %15020, 16 - %15022 = add nuw nsw i32 %15021, %15020 - %15023 = trunc i32 %15022 to i8 - %15024 = and i8 %15023, 63 - %15025 = add nsw i8 %15024, -1 - br label %thread-pre-split12620 - -15026: ; preds = %14995, %14989 - %15027 = load i8, ptr %2529, align 4 - switch i8 %15027, label %15066 [ - i8 31, label %15028 - i8 22, label %15038 - i8 36, label %15058 - i8 37, label %15058 + br label %14932 + +14932: ; preds = %14931, %14930 + %14933 = getelementptr inbounds nuw i8, ptr %2501, i64 29 + %14934 = load i8, ptr %14933, align 1 + %14935 = and i8 %14934, 6 + %.not11672 = icmp eq i8 %14935, 0 + br i1 %.not11672, label %14954, label %14936 + +14936: ; preds = %14932 + %14937 = getelementptr inbounds nuw i8, ptr %2501, i64 8 + %14938 = load i32, ptr %14937, align 8 + %14939 = lshr i32 %14938, 4 + %14940 = add nsw i32 %14939, -5 + %14941 = zext i32 %14940 to i64 + %14942 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %14941 + %14943 = getelementptr inbounds nuw i8, ptr %14942, i64 3 + %14944 = load i8, ptr %14943, align 1 + %14945 = and i8 %14944, 80 + %.not11673 = icmp eq i8 %14945, 0 + br i1 %.not11673, label %14954, label %14946 + +14946: ; preds = %14936 + %14947 = getelementptr inbounds nuw i8, ptr %14942, i64 2 + store i8 -1, ptr %14947, align 2 + %14948 = load i32, ptr %14937, align 8 + %14949 = lshr i32 %14948, 4 + %14950 = add nsw i32 %14949, -5 + %14951 = zext i32 %14950 to i64 + %14952 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %14951 + %14953 = getelementptr inbounds nuw i8, ptr %14952, i64 3 + store i8 0, ptr %14953, align 1 + br label %14954 + +14954: ; preds = %14946, %14936, %14932 + %14955 = load i8, ptr %2529, align 4 + %14956 = icmp eq i8 %14955, 54 + br i1 %14956, label %14957, label %.loopexit12738 + +14957: ; preds = %14954 + %14958 = getelementptr inbounds nuw i8, ptr %2501, i64 16 + %14959 = load i32, ptr %14958, align 8 + %14960 = lshr i32 %14959, 4 + %14961 = add nsw i32 %14960, -5 + %14962 = getelementptr inbounds nuw i8, ptr %2501, i64 20 + %14963 = load i32, ptr %14962, align 4 + %14964 = zext i32 %14963 to i64 + %14965 = shl nuw nsw i64 %14964, 3 + %14966 = add nuw nsw i64 %14965, 15 + %14967 = lshr i64 %14966, 4 + %14968 = trunc nuw i64 %14967 to i32 + br label %14969 + +14969: ; preds = %14969, %14957 + %.09424 = phi i32 [ %14961, %14957 ], [ %14976, %14969 ] + %.09423 = phi i32 [ %14968, %14957 ], [ %14977, %14969 ] + %14970 = zext i32 %.09424 to i64 + %14971 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %14970 + store i8 -1, ptr %14971, align 4 + %14972 = getelementptr inbounds nuw i8, ptr %14971, i64 1 + store i8 -1, ptr %14972, align 1 + %14973 = getelementptr inbounds nuw i8, ptr %14971, i64 2 + store i8 -1, ptr %14973, align 2 + %14974 = getelementptr inbounds nuw i8, ptr %14971, i64 3 + %14975 = getelementptr inbounds nuw i8, ptr %14971, i64 4 + store i32 0, ptr %14975, align 4 + store i8 0, ptr %14974, align 1 + %14976 = add i32 %.09424, 1 + %14977 = add i32 %.09423, -1 + %.not11674 = icmp eq i32 %14977, 0 + br i1 %.not11674, label %.loopexit12738, label %14969 + +.loopexit12738: ; preds = %14969, %14954 + %.not11675 = icmp eq ptr %.09621, null + br i1 %.not11675, label %.loopexit12748, label %14978 + +14978: ; preds = %.loopexit12738 + %14979 = getelementptr inbounds nuw i8, ptr %.09621, i64 20 + %14980 = load i32, ptr %14979, align 4 + %14981 = icmp sgt i32 %14980, -1 + br i1 %14981, label %14982, label %15402 + +14982: ; preds = %14978 + %14983 = getelementptr inbounds nuw i8, ptr %2501, i64 31 + %14984 = load i8, ptr %14983, align 1 + %14985 = and i8 %14984, 48 + %.not11676 = icmp eq i8 %14985, 0 + br i1 %.not11676, label %14986, label %thread-pre-split12617 + +14986: ; preds = %14982 + %14987 = trunc i8 %.19717 to i1 + br i1 %14987, label %thread-pre-split12617, label %14988 + +14988: ; preds = %14986 + %14989 = load ptr, ptr %2477, align 8 + %14990 = zext nneg i32 %14980 to i64 + %14991 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %14989, i64 %14990 + %14992 = load i32, ptr %14991, align 8 + %14993 = and i32 %14992, 268435456 + %.not11677 = icmp eq i32 %14993, 0 + br i1 %.not11677, label %14994, label %15025 + +14994: ; preds = %14988 + %14995 = and i32 %14992, 1023 + %14996 = call range(i32 0, 11) i32 @llvm.ctpop.i32(i32 %14995) + %14997 = icmp ne i32 %14995, 0 + %14998 = icmp eq i32 %14996, 1 + br i1 %14998, label %14999, label %15025 + +14999: ; preds = %14994 + call void @llvm.assume(i1 %14997) + %15000 = lshr i32 %14995, 1 + %15001 = or i32 %15000, %14995 + %15002 = lshr i32 %15001, 2 + %15003 = or i32 %15002, %15001 + %15004 = lshr i32 %15003, 4 + %15005 = or i32 %15004, %15003 + %15006 = lshr i32 %15005, 8 + %15007 = or i32 %15006, %15005 + %15008 = lshr i32 %15007, 1 + %15009 = and i32 %15008, 1431655765 + %15010 = sub nsw i32 %15007, %15009 + %15011 = lshr i32 %15010, 2 + %15012 = and i32 %15011, 858993459 + %15013 = and i32 %15010, 858993459 + %15014 = add nuw nsw i32 %15012, %15013 + %15015 = lshr i32 %15014, 4 + %15016 = add nuw nsw i32 %15015, %15014 + %15017 = and i32 %15016, 252645135 + %15018 = lshr i32 %15017, 8 + %15019 = add nuw nsw i32 %15018, %15017 + %15020 = lshr i32 %15019, 16 + %15021 = add nuw nsw i32 %15020, %15019 + %15022 = trunc i32 %15021 to i8 + %15023 = and i8 %15022, 63 + %15024 = add nsw i8 %15023, -1 + br label %thread-pre-split12617 + +15025: ; preds = %14994, %14988 + %15026 = load i8, ptr %2529, align 4 + switch i8 %15026, label %15065 [ + i8 31, label %15027 + i8 22, label %15037 + i8 36, label %15057 + i8 37, label %15057 ] -15028: ; preds = %15026 - %15029 = load i8, ptr %14934, align 1 - %.not11682 = icmp eq i8 %15029, 1 - br i1 %.not11682, label %.thread12623, label %15030 - -15030: ; preds = %15028 - %15031 = getelementptr inbounds nuw i8, ptr %2501, i64 8 - %15032 = load i32, ptr %15031, align 8 - %15033 = lshr i32 %15032, 4 - %15034 = add nsw i32 %15033, -5 - %15035 = zext i32 %15034 to i64 - %15036 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15035 - %15037 = load i8, ptr %15036, align 4 - br label %thread-pre-split12620 - -15038: ; preds = %15026 - %15039 = getelementptr inbounds nuw i8, ptr %2501, i64 30 - %15040 = load i8, ptr %15039, align 2 - %.not11681 = icmp eq i8 %15040, 1 - br i1 %.not11681, label %.thread12623, label %15041 - -15041: ; preds = %15038 - %15042 = load i32, ptr %.09621, align 4 - %15043 = icmp sgt i32 %15042, -1 - br i1 %15043, label %15044, label %thread-pre-split12620 - -15044: ; preds = %15041 - %15045 = zext nneg i32 %15042 to i64 - %15046 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %14990, i64 %15045 - %15047 = load i32, ptr %15046, align 8 - %15048 = and i32 %15047, 1024 - %15049 = icmp eq i32 %15048, 0 - br i1 %15049, label %15050, label %thread-pre-split12620 - -15050: ; preds = %15044 - %15051 = getelementptr inbounds nuw i8, ptr %2501, i64 12 - %15052 = load i32, ptr %15051, align 4 - %15053 = lshr i32 %15052, 4 - %15054 = add nsw i32 %15053, -5 - %15055 = zext i32 %15054 to i64 - %15056 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15055 - %15057 = load i8, ptr %15056, align 4 - br label %thread-pre-split12620 - -15058: ; preds = %15026, %15026 - %15059 = getelementptr inbounds nuw i8, ptr %2501, i64 8 - %15060 = load i32, ptr %15059, align 8 - %15061 = lshr i32 %15060, 4 - %15062 = add nsw i32 %15061, -5 - %15063 = zext i32 %15062 to i64 - %15064 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15063 - %15065 = load i8, ptr %15064, align 4 - br label %thread-pre-split12620 - -thread-pre-split12620: ; preds = %15030, %15058, %15041, %15044, %15050, %15000, %14987, %14983 - %.09421.ph = phi i8 [ -1, %14983 ], [ -1, %14987 ], [ %15025, %15000 ], [ %15065, %15058 ], [ -1, %15041 ], [ -1, %15044 ], [ %15057, %15050 ], [ %15037, %15030 ] - %.pr12621 = load i8, ptr %2529, align 4 - br label %15066 - -15066: ; preds = %thread-pre-split12620, %15026 - %15067 = phi i8 [ %.pr12621, %thread-pre-split12620 ], [ %15027, %15026 ] - %.09421 = phi i8 [ %.09421.ph, %thread-pre-split12620 ], [ -1, %15026 ] - switch i8 %15067, label %.thread12623 [ - i8 -104, label %15068 - i8 -87, label %15068 - i8 -58, label %15068 +15027: ; preds = %15025 + %15028 = load i8, ptr %14933, align 1 + %.not11680 = icmp eq i8 %15028, 1 + br i1 %.not11680, label %.thread12620, label %15029 + +15029: ; preds = %15027 + %15030 = getelementptr inbounds nuw i8, ptr %2501, i64 8 + %15031 = load i32, ptr %15030, align 8 + %15032 = lshr i32 %15031, 4 + %15033 = add nsw i32 %15032, -5 + %15034 = zext i32 %15033 to i64 + %15035 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15034 + %15036 = load i8, ptr %15035, align 4 + br label %thread-pre-split12617 + +15037: ; preds = %15025 + %15038 = getelementptr inbounds nuw i8, ptr %2501, i64 30 + %15039 = load i8, ptr %15038, align 2 + %.not11679 = icmp eq i8 %15039, 1 + br i1 %.not11679, label %.thread12620, label %15040 + +15040: ; preds = %15037 + %15041 = load i32, ptr %.09621, align 4 + %15042 = icmp sgt i32 %15041, -1 + br i1 %15042, label %15043, label %thread-pre-split12617 + +15043: ; preds = %15040 + %15044 = zext nneg i32 %15041 to i64 + %15045 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %14989, i64 %15044 + %15046 = load i32, ptr %15045, align 8 + %15047 = and i32 %15046, 1024 + %15048 = icmp eq i32 %15047, 0 + br i1 %15048, label %15049, label %thread-pre-split12617 + +15049: ; preds = %15043 + %15050 = getelementptr inbounds nuw i8, ptr %2501, i64 12 + %15051 = load i32, ptr %15050, align 4 + %15052 = lshr i32 %15051, 4 + %15053 = add nsw i32 %15052, -5 + %15054 = zext i32 %15053 to i64 + %15055 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15054 + %15056 = load i8, ptr %15055, align 4 + br label %thread-pre-split12617 + +15057: ; preds = %15025, %15025 + %15058 = getelementptr inbounds nuw i8, ptr %2501, i64 8 + %15059 = load i32, ptr %15058, align 8 + %15060 = lshr i32 %15059, 4 + %15061 = add nsw i32 %15060, -5 + %15062 = zext i32 %15061 to i64 + %15063 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15062 + %15064 = load i8, ptr %15063, align 4 + br label %thread-pre-split12617 + +thread-pre-split12617: ; preds = %15029, %15057, %15040, %15043, %15049, %14999, %14986, %14982 + %.09421.ph = phi i8 [ -1, %14982 ], [ -1, %14986 ], [ %15024, %14999 ], [ %15064, %15057 ], [ -1, %15040 ], [ -1, %15043 ], [ %15056, %15049 ], [ %15036, %15029 ] + %.pr12618 = load i8, ptr %2529, align 4 + br label %15065 + +15065: ; preds = %thread-pre-split12617, %15025 + %15066 = phi i8 [ %.pr12618, %thread-pre-split12617 ], [ %15026, %15025 ] + %.09421 = phi i8 [ %.09421.ph, %thread-pre-split12617 ], [ -1, %15025 ] + switch i8 %15066, label %.thread12620 [ + i8 -104, label %15067 + i8 -87, label %15067 + i8 -58, label %15067 ] -15068: ; preds = %15066, %15066, %15066 - %15069 = getelementptr inbounds nuw i8, ptr %.39762, i64 16 - %15070 = load i8, ptr %15069, align 8 - %.not11701 = icmp eq i8 %15070, 0 - br i1 %.not11701, label %15101, label %15071 - -15071: ; preds = %15068 - %15072 = getelementptr inbounds nuw i8, ptr %2501, i64 16 - %15073 = load i32, ptr %15072, align 8 - %15074 = lshr i32 %15073, 4 - %15075 = add nsw i32 %15074, -5 - %15076 = zext i32 %15075 to i64 - %15077 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15076 - store i8 -1, ptr %15077, align 4 - %15078 = load i32, ptr %15072, align 8 - %15079 = lshr i32 %15078, 4 - %15080 = add nsw i32 %15079, -5 - %15081 = zext i32 %15080 to i64 - %15082 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15081 - %15083 = getelementptr inbounds nuw i8, ptr %15082, i64 1 - store i8 -1, ptr %15083, align 1 - %15084 = load i32, ptr %15072, align 8 - %15085 = lshr i32 %15084, 4 - %15086 = add nsw i32 %15085, -5 - %15087 = zext i32 %15086 to i64 - %15088 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15087 - %15089 = getelementptr inbounds nuw i8, ptr %15088, i64 2 - store i8 -1, ptr %15089, align 2 - %15090 = load i32, ptr %15072, align 8 - %15091 = lshr i32 %15090, 4 - %15092 = add nsw i32 %15091, -5 - %15093 = zext i32 %15092 to i64 - %15094 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15093 - %15095 = getelementptr inbounds nuw i8, ptr %15094, i64 3 - store i8 0, ptr %15095, align 1 - %15096 = load i32, ptr %15072, align 8 - %15097 = lshr i32 %15096, 4 - %15098 = add nsw i32 %15097, -5 - %15099 = zext i32 %15098 to i64 - %15100 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15099, i32 1 - store i32 0, ptr %15100, align 4 - br label %.sink.split13556 - -15101: ; preds = %15068 - %15102 = getelementptr inbounds nuw i8, ptr %.39762, i64 24 - %15103 = load ptr, ptr %15102, align 8 - %15104 = getelementptr inbounds nuw i8, ptr %2501, i64 32 - %.not11702 = icmp eq ptr %15103, %15104 - br i1 %.not11702, label %15373, label %15105 - -15105: ; preds = %15101 - %15106 = getelementptr inbounds nuw i8, ptr %2501, i64 16 - %15107 = load i32, ptr %15106, align 8 - %15108 = lshr i32 %15107, 4 - %15109 = add nsw i32 %15108, -5 - %15110 = zext i32 %15109 to i64 - %15111 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15110 - store i8 %.09421, ptr %15111, align 4 - %15112 = load i32, ptr %15106, align 8 - %15113 = lshr i32 %15112, 4 - %15114 = add nsw i32 %15113, -5 - %15115 = zext i32 %15114 to i64 - %15116 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15115 - %15117 = getelementptr inbounds nuw i8, ptr %15116, i64 1 - store i8 %.09421, ptr %15117, align 1 - %15118 = load i32, ptr %15106, align 8 - %15119 = lshr i32 %15118, 4 - %15120 = add nsw i32 %15119, -5 - %15121 = zext i32 %15120 to i64 - %15122 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15121 - %15123 = getelementptr inbounds nuw i8, ptr %15122, i64 2 - store i8 -1, ptr %15123, align 2 - %15124 = load i32, ptr %15106, align 8 - %15125 = lshr i32 %15124, 4 - %15126 = add nsw i32 %15125, -5 - %15127 = zext i32 %15126 to i64 - %15128 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15127 - %15129 = getelementptr inbounds nuw i8, ptr %15128, i64 3 - store i8 0, ptr %15129, align 1 - %15130 = load i32, ptr %15106, align 8 - %15131 = lshr i32 %15130, 4 - %15132 = add nsw i32 %15131, -5 - %15133 = zext i32 %15132 to i64 - %15134 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15133, i32 1 - store i32 0, ptr %15134, align 4 - br label %.sink.split13556 - -.thread12623: ; preds = %15028, %15038, %15066 - %.0942112625 = phi i8 [ %.09421, %15066 ], [ -1, %15038 ], [ -1, %15028 ] - %15135 = getelementptr inbounds nuw i8, ptr %2501, i64 16 - %15136 = load i32, ptr %15135, align 8 - %15137 = lshr i32 %15136, 4 - %15138 = add nsw i32 %15137, -5 - %15139 = zext i32 %15138 to i64 - %15140 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15139 - store i8 %.0942112625, ptr %15140, align 4 - %15141 = icmp ne i8 %.0942112625, -1 - %or.cond169 = select i1 %.09576.not, i1 %15141, i1 false - %or.cond171 = and i1 %.not11593, %or.cond169 - br i1 %or.cond171, label %15142, label %15147 - -15142: ; preds = %.thread12623 - %15143 = load i32, ptr %14980, align 4 - %15144 = sext i32 %15143 to i64 - %15145 = getelementptr inbounds %struct._zend_jit_reg_var, ptr %.09775, i64 %15144 - %15146 = load i32, ptr %15145, align 4 - %.not11683 = icmp eq i32 %15146, 0 - br i1 %.not11683, label %15147, label %15154 - -15147: ; preds = %15142, %.thread12623 - %15148 = load i32, ptr %15135, align 8 - %15149 = lshr i32 %15148, 4 - %15150 = add nsw i32 %15149, -5 - %15151 = zext i32 %15150 to i64 - %15152 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15151 - %15153 = getelementptr inbounds nuw i8, ptr %15152, i64 1 - store i8 %.0942112625, ptr %15153, align 1 - br label %15154 - -15154: ; preds = %15147, %15142 - %15155 = load i32, ptr %15135, align 8 - %15156 = lshr i32 %15155, 4 - %15157 = add nsw i32 %15156, -5 - %15158 = zext i32 %15157 to i64 - %15159 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15158 - %15160 = getelementptr inbounds nuw i8, ptr %15159, i64 2 - store i8 -1, ptr %15160, align 2 - %15161 = load i32, ptr %15135, align 8 - %15162 = lshr i32 %15161, 4 - %15163 = add nsw i32 %15162, -5 - %15164 = zext i32 %15163 to i64 - %15165 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15164 - %15166 = getelementptr inbounds nuw i8, ptr %15165, i64 3 - store i8 0, ptr %15166, align 1 - %15167 = load i32, ptr %15135, align 8 - %15168 = lshr i32 %15167, 4 - %15169 = add nsw i32 %15168, -5 - %15170 = zext i32 %15169 to i64 - %15171 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15170, i32 1 - store i32 0, ptr %15171, align 4 - %15172 = load i32, ptr %15135, align 8 - %15173 = lshr i32 %15172, 4 - %15174 = add nsw i32 %15173, -5 - %15175 = zext i32 %15174 to i64 - %15176 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15175 - %15177 = getelementptr inbounds nuw i8, ptr %15176, i64 3 - store i8 0, ptr %15177, align 1 - %15178 = getelementptr inbounds nuw i8, ptr %.09771, i64 128 - %15179 = load i32, ptr %15178, align 8 - %.not11684 = icmp eq i32 %15179, 0 - br i1 %.not11684, label %.critedge11980, label %15180 - -15180: ; preds = %15154 - %15181 = load i32, ptr %15135, align 8 - %15182 = getelementptr inbounds nuw i8, ptr %.09771, i64 80 - %15183 = load i32, ptr %15182, align 8 - %15184 = icmp ugt i32 %15181, %15183 - br i1 %15184, label %15185, label %.critedge11980 - -15185: ; preds = %15180 - %15186 = lshr i32 %15181, 4 - %15187 = add nsw i32 %15186, -5 - %15188 = zext i32 %15187 to i64 - %15189 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15188 - %15190 = getelementptr inbounds nuw i8, ptr %15189, i64 1 - %15191 = load i8, ptr %15190, align 1 - %.not11685 = icmp ne i8 %15191, %.0942112625 - %brmerge12688.not = and i1 %or.cond171, %.not11685 - br i1 %brmerge12688.not, label %15192, label %.critedge11980 - -15192: ; preds = %15185 - %15193 = load i32, ptr %14980, align 4 - %15194 = sext i32 %15193 to i64 - %15195 = getelementptr inbounds %struct._zend_jit_reg_var, ptr %.09775, i64 %15194 - %15196 = load i32, ptr %15195, align 4 - %.not11686 = icmp eq i32 %15196, 0 - br i1 %.not11686, label %.critedge11980, label %15197 - -15197: ; preds = %15192 - %15198 = getelementptr inbounds nuw i8, ptr %.09771, i64 88 - %15199 = load ptr, ptr %15198, align 8 - %15200 = ptrtoint ptr %2501 to i64 - %15201 = ptrtoint ptr %15199 to i64 - %15202 = sub i64 %15200, %15201 - %15203 = lshr exact i64 %15202, 5 - %15204 = trunc i64 %15203 to i32 - %15205 = getelementptr inbounds nuw i8, ptr %.09771, i64 136 - %15206 = load ptr, ptr %15205, align 8 - %15207 = load i8, ptr %2529, align 4 - switch i8 %15207, label %15222 [ - i8 23, label %.loopexit12738 - i8 24, label %.loopexit12738 - i8 25, label %.loopexit12738 - i8 27, label %.loopexit12738 - i8 28, label %.loopexit12738 - i8 29, label %.loopexit12738 - i8 32, label %.loopexit12738 - i8 33, label %.loopexit12738 - i8 -49, label %.loopexit12738 - i8 64, label %.preheader12737 - i8 -88, label %.preheader12739 +15067: ; preds = %15065, %15065, %15065 + %15068 = getelementptr inbounds nuw i8, ptr %.39762, i64 16 + %15069 = load i8, ptr %15068, align 8 + %.not11699 = icmp eq i8 %15069, 0 + br i1 %.not11699, label %15100, label %15070 + +15070: ; preds = %15067 + %15071 = getelementptr inbounds nuw i8, ptr %2501, i64 16 + %15072 = load i32, ptr %15071, align 8 + %15073 = lshr i32 %15072, 4 + %15074 = add nsw i32 %15073, -5 + %15075 = zext i32 %15074 to i64 + %15076 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15075 + store i8 -1, ptr %15076, align 4 + %15077 = load i32, ptr %15071, align 8 + %15078 = lshr i32 %15077, 4 + %15079 = add nsw i32 %15078, -5 + %15080 = zext i32 %15079 to i64 + %15081 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15080 + %15082 = getelementptr inbounds nuw i8, ptr %15081, i64 1 + store i8 -1, ptr %15082, align 1 + %15083 = load i32, ptr %15071, align 8 + %15084 = lshr i32 %15083, 4 + %15085 = add nsw i32 %15084, -5 + %15086 = zext i32 %15085 to i64 + %15087 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15086 + %15088 = getelementptr inbounds nuw i8, ptr %15087, i64 2 + store i8 -1, ptr %15088, align 2 + %15089 = load i32, ptr %15071, align 8 + %15090 = lshr i32 %15089, 4 + %15091 = add nsw i32 %15090, -5 + %15092 = zext i32 %15091 to i64 + %15093 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15092 + %15094 = getelementptr inbounds nuw i8, ptr %15093, i64 3 + store i8 0, ptr %15094, align 1 + %15095 = load i32, ptr %15071, align 8 + %15096 = lshr i32 %15095, 4 + %15097 = add nsw i32 %15096, -5 + %15098 = zext i32 %15097 to i64 + %15099 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15098, i32 1 + store i32 0, ptr %15099, align 4 + br label %.sink.split13553 + +15100: ; preds = %15067 + %15101 = getelementptr inbounds nuw i8, ptr %.39762, i64 24 + %15102 = load ptr, ptr %15101, align 8 + %15103 = getelementptr inbounds nuw i8, ptr %2501, i64 32 + %.not11700 = icmp eq ptr %15102, %15103 + br i1 %.not11700, label %15372, label %15104 + +15104: ; preds = %15100 + %15105 = getelementptr inbounds nuw i8, ptr %2501, i64 16 + %15106 = load i32, ptr %15105, align 8 + %15107 = lshr i32 %15106, 4 + %15108 = add nsw i32 %15107, -5 + %15109 = zext i32 %15108 to i64 + %15110 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15109 + store i8 %.09421, ptr %15110, align 4 + %15111 = load i32, ptr %15105, align 8 + %15112 = lshr i32 %15111, 4 + %15113 = add nsw i32 %15112, -5 + %15114 = zext i32 %15113 to i64 + %15115 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15114 + %15116 = getelementptr inbounds nuw i8, ptr %15115, i64 1 + store i8 %.09421, ptr %15116, align 1 + %15117 = load i32, ptr %15105, align 8 + %15118 = lshr i32 %15117, 4 + %15119 = add nsw i32 %15118, -5 + %15120 = zext i32 %15119 to i64 + %15121 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15120 + %15122 = getelementptr inbounds nuw i8, ptr %15121, i64 2 + store i8 -1, ptr %15122, align 2 + %15123 = load i32, ptr %15105, align 8 + %15124 = lshr i32 %15123, 4 + %15125 = add nsw i32 %15124, -5 + %15126 = zext i32 %15125 to i64 + %15127 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15126 + %15128 = getelementptr inbounds nuw i8, ptr %15127, i64 3 + store i8 0, ptr %15128, align 1 + %15129 = load i32, ptr %15105, align 8 + %15130 = lshr i32 %15129, 4 + %15131 = add nsw i32 %15130, -5 + %15132 = zext i32 %15131 to i64 + %15133 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15132, i32 1 + store i32 0, ptr %15133, align 4 + br label %.sink.split13553 + +.thread12620: ; preds = %15027, %15037, %15065 + %.0942112622 = phi i8 [ %.09421, %15065 ], [ -1, %15037 ], [ -1, %15027 ] + %15134 = getelementptr inbounds nuw i8, ptr %2501, i64 16 + %15135 = load i32, ptr %15134, align 8 + %15136 = lshr i32 %15135, 4 + %15137 = add nsw i32 %15136, -5 + %15138 = zext i32 %15137 to i64 + %15139 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15138 + store i8 %.0942112622, ptr %15139, align 4 + %15140 = icmp ne i8 %.0942112622, -1 + %or.cond169 = select i1 %.09576.not, i1 %15140, i1 false + %or.cond171 = and i1 %.not11591, %or.cond169 + br i1 %or.cond171, label %15141, label %15146 + +15141: ; preds = %.thread12620 + %15142 = load i32, ptr %14979, align 4 + %15143 = sext i32 %15142 to i64 + %15144 = getelementptr inbounds %struct._zend_jit_reg_var, ptr %.09775, i64 %15143 + %15145 = load i32, ptr %15144, align 4 + %.not11681 = icmp eq i32 %15145, 0 + br i1 %.not11681, label %15146, label %15153 + +15146: ; preds = %15141, %.thread12620 + %15147 = load i32, ptr %15134, align 8 + %15148 = lshr i32 %15147, 4 + %15149 = add nsw i32 %15148, -5 + %15150 = zext i32 %15149 to i64 + %15151 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15150 + %15152 = getelementptr inbounds nuw i8, ptr %15151, i64 1 + store i8 %.0942112622, ptr %15152, align 1 + br label %15153 + +15153: ; preds = %15146, %15141 + %15154 = load i32, ptr %15134, align 8 + %15155 = lshr i32 %15154, 4 + %15156 = add nsw i32 %15155, -5 + %15157 = zext i32 %15156 to i64 + %15158 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15157 + %15159 = getelementptr inbounds nuw i8, ptr %15158, i64 2 + store i8 -1, ptr %15159, align 2 + %15160 = load i32, ptr %15134, align 8 + %15161 = lshr i32 %15160, 4 + %15162 = add nsw i32 %15161, -5 + %15163 = zext i32 %15162 to i64 + %15164 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15163 + %15165 = getelementptr inbounds nuw i8, ptr %15164, i64 3 + store i8 0, ptr %15165, align 1 + %15166 = load i32, ptr %15134, align 8 + %15167 = lshr i32 %15166, 4 + %15168 = add nsw i32 %15167, -5 + %15169 = zext i32 %15168 to i64 + %15170 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15169, i32 1 + store i32 0, ptr %15170, align 4 + %15171 = load i32, ptr %15134, align 8 + %15172 = lshr i32 %15171, 4 + %15173 = add nsw i32 %15172, -5 + %15174 = zext i32 %15173 to i64 + %15175 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15174 + %15176 = getelementptr inbounds nuw i8, ptr %15175, i64 3 + store i8 0, ptr %15176, align 1 + %15177 = getelementptr inbounds nuw i8, ptr %.09771, i64 128 + %15178 = load i32, ptr %15177, align 8 + %.not11682 = icmp eq i32 %15178, 0 + br i1 %.not11682, label %.critedge11978, label %15179 + +15179: ; preds = %15153 + %15180 = load i32, ptr %15134, align 8 + %15181 = getelementptr inbounds nuw i8, ptr %.09771, i64 80 + %15182 = load i32, ptr %15181, align 8 + %15183 = icmp ugt i32 %15180, %15182 + br i1 %15183, label %15184, label %.critedge11978 + +15184: ; preds = %15179 + %15185 = lshr i32 %15180, 4 + %15186 = add nsw i32 %15185, -5 + %15187 = zext i32 %15186 to i64 + %15188 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15187 + %15189 = getelementptr inbounds nuw i8, ptr %15188, i64 1 + %15190 = load i8, ptr %15189, align 1 + %.not11683 = icmp ne i8 %15190, %.0942112622 + %brmerge12685.not = and i1 %or.cond171, %.not11683 + br i1 %brmerge12685.not, label %15191, label %.critedge11978 + +15191: ; preds = %15184 + %15192 = load i32, ptr %14979, align 4 + %15193 = sext i32 %15192 to i64 + %15194 = getelementptr inbounds %struct._zend_jit_reg_var, ptr %.09775, i64 %15193 + %15195 = load i32, ptr %15194, align 4 + %.not11684 = icmp eq i32 %15195, 0 + br i1 %.not11684, label %.critedge11978, label %15196 + +15196: ; preds = %15191 + %15197 = getelementptr inbounds nuw i8, ptr %.09771, i64 88 + %15198 = load ptr, ptr %15197, align 8 + %15199 = ptrtoint ptr %2501 to i64 + %15200 = ptrtoint ptr %15198 to i64 + %15201 = sub i64 %15199, %15200 + %15202 = lshr exact i64 %15201, 5 + %15203 = trunc i64 %15202 to i32 + %15204 = getelementptr inbounds nuw i8, ptr %.09771, i64 136 + %15205 = load ptr, ptr %15204, align 8 + %15206 = load i8, ptr %2529, align 4 + switch i8 %15206, label %15221 [ + i8 23, label %.loopexit12735 + i8 24, label %.loopexit12735 + i8 25, label %.loopexit12735 + i8 27, label %.loopexit12735 + i8 28, label %.loopexit12735 + i8 29, label %.loopexit12735 + i8 32, label %.loopexit12735 + i8 33, label %.loopexit12735 + i8 -49, label %.loopexit12735 + i8 64, label %.preheader12734 + i8 -88, label %.preheader12736 ] -.preheader12739: ; preds = %15197 - %15208 = getelementptr inbounds nuw i8, ptr %2501, i64 60 - %15209 = load i8, ptr %15208, align 4 - %15210 = icmp eq i8 %15209, -88 - br i1 %15210, label %.lr.ph12933, label %.loopexit12738 - -.preheader12737: ; preds = %15197 - %15211 = getelementptr inbounds nuw i8, ptr %2501, i64 60 - %15212 = load i8, ptr %15211, align 4 - %15213 = icmp eq i8 %15212, 64 - br i1 %15213, label %.lr.ph12937, label %.loopexit12738 - -.lr.ph12937: ; preds = %.preheader12737, %.lr.ph12937 - %.0981012936 = phi i32 [ %15214, %.lr.ph12937 ], [ 1, %.preheader12737 ] - %.pn1168712935 = phi ptr [ %.09812, %.lr.ph12937 ], [ %2501, %.preheader12737 ] - %.09812 = getelementptr inbounds nuw i8, ptr %.pn1168712935, i64 32 - %15214 = add nuw nsw i32 %.0981012936, 1 - %15215 = getelementptr inbounds nuw i8, ptr %.pn1168712935, i64 92 - %15216 = load i8, ptr %15215, align 4 - %15217 = icmp eq i8 %15216, 64 - br i1 %15217, label %.lr.ph12937, label %.loopexit12738 - -.lr.ph12933: ; preds = %.preheader12739, %.lr.ph12933 - %.1981112932 = phi i32 [ %15218, %.lr.ph12933 ], [ 1, %.preheader12739 ] - %.pn12931 = phi ptr [ %.19813, %.lr.ph12933 ], [ %2501, %.preheader12739 ] - %.19813 = getelementptr inbounds nuw i8, ptr %.pn12931, i64 32 - %15218 = add nuw nsw i32 %.1981112932, 1 - %15219 = getelementptr inbounds nuw i8, ptr %.pn12931, i64 92 - %15220 = load i8, ptr %15219, align 4 - %15221 = icmp eq i8 %15220, -88 - br i1 %15221, label %.lr.ph12933, label %.loopexit12738 - -15222: ; preds = %15197 - %15223 = load i8, ptr %14984, align 1 - %15224 = and i8 %15223, 48 - %.not11688 = icmp eq i8 %15224, 0 - %.11976 = select i1 %.not11688, i32 1, i32 2 - br label %.loopexit12738 - -.loopexit12738: ; preds = %.lr.ph12933, %.lr.ph12937, %.preheader12739, %.preheader12737, %15222, %15197, %15197, %15197, %15197, %15197, %15197, %15197, %15197, %15197 - %.09814 = phi i32 [ 2, %15197 ], [ 2, %15197 ], [ 2, %15197 ], [ 2, %15197 ], [ 2, %15197 ], [ 2, %15197 ], [ 2, %15197 ], [ 2, %15197 ], [ 2, %15197 ], [ %.11976, %15222 ], [ 1, %.preheader12737 ], [ 1, %.preheader12739 ], [ %15214, %.lr.ph12937 ], [ %15218, %.lr.ph12933 ] - %15225 = add i32 %.09814, %15204 - %15226 = icmp sgt i32 %15179, 0 - br i1 %15226, label %.lr.ph12943, label %.critedge11980 - -.lr.ph12943: ; preds = %.loopexit12738, %15303 - %.0941612941 = phi i32 [ %15305, %15303 ], [ 0, %.loopexit12738 ] - %.0941712940 = phi ptr [ %15304, %15303 ], [ %15206, %.loopexit12738 ] - %15227 = getelementptr inbounds nuw i8, ptr %.0941712940, i64 4 - %15228 = load i32, ptr %15227, align 4 - %15229 = icmp ugt i32 %15228, %15225 - br i1 %15229, label %.critedge11980, label %15230 - -15230: ; preds = %.lr.ph12943 - %15231 = getelementptr inbounds nuw i8, ptr %.0941712940, i64 8 - %15232 = load i32, ptr %15231, align 4 - %15233 = icmp ult i32 %15225, %15232 - br i1 %15233, label %15234, label %15303 - -15234: ; preds = %15230 - %15235 = load i32, ptr %.0941712940, align 4 - %15236 = and i32 %15235, -8 - %15237 = icmp eq i32 %15181, %15236 - br i1 %15237, label %15238, label %15303 - -15238: ; preds = %15234 - %15239 = getelementptr inbounds nuw i8, ptr %.0941712940, i64 4 - %15240 = getelementptr inbounds nuw i8, ptr %.0941712940, i64 8 - switch i8 %15207, label %15255 [ - i8 23, label %.loopexit12733 - i8 24, label %.loopexit12733 - i8 25, label %.loopexit12733 - i8 27, label %.loopexit12733 - i8 28, label %.loopexit12733 - i8 29, label %.loopexit12733 - i8 32, label %.loopexit12733 - i8 33, label %.loopexit12733 - i8 -49, label %.loopexit12733 - i8 64, label %.preheader12732 - i8 -88, label %.preheader12734 +.preheader12736: ; preds = %15196 + %15207 = getelementptr inbounds nuw i8, ptr %2501, i64 60 + %15208 = load i8, ptr %15207, align 4 + %15209 = icmp eq i8 %15208, -88 + br i1 %15209, label %.lr.ph12930, label %.loopexit12735 + +.preheader12734: ; preds = %15196 + %15210 = getelementptr inbounds nuw i8, ptr %2501, i64 60 + %15211 = load i8, ptr %15210, align 4 + %15212 = icmp eq i8 %15211, 64 + br i1 %15212, label %.lr.ph12934, label %.loopexit12735 + +.lr.ph12934: ; preds = %.preheader12734, %.lr.ph12934 + %.0981012933 = phi i32 [ %15213, %.lr.ph12934 ], [ 1, %.preheader12734 ] + %.pn1168512932 = phi ptr [ %.09812, %.lr.ph12934 ], [ %2501, %.preheader12734 ] + %.09812 = getelementptr inbounds nuw i8, ptr %.pn1168512932, i64 32 + %15213 = add nuw nsw i32 %.0981012933, 1 + %15214 = getelementptr inbounds nuw i8, ptr %.pn1168512932, i64 92 + %15215 = load i8, ptr %15214, align 4 + %15216 = icmp eq i8 %15215, 64 + br i1 %15216, label %.lr.ph12934, label %.loopexit12735 + +.lr.ph12930: ; preds = %.preheader12736, %.lr.ph12930 + %.1981112929 = phi i32 [ %15217, %.lr.ph12930 ], [ 1, %.preheader12736 ] + %.pn12928 = phi ptr [ %.19813, %.lr.ph12930 ], [ %2501, %.preheader12736 ] + %.19813 = getelementptr inbounds nuw i8, ptr %.pn12928, i64 32 + %15217 = add nuw nsw i32 %.1981112929, 1 + %15218 = getelementptr inbounds nuw i8, ptr %.pn12928, i64 92 + %15219 = load i8, ptr %15218, align 4 + %15220 = icmp eq i8 %15219, -88 + br i1 %15220, label %.lr.ph12930, label %.loopexit12735 + +15221: ; preds = %15196 + %15222 = load i8, ptr %14983, align 1 + %15223 = and i8 %15222, 48 + %.not11686 = icmp eq i8 %15223, 0 + %.11974 = select i1 %.not11686, i32 1, i32 2 + br label %.loopexit12735 + +.loopexit12735: ; preds = %.lr.ph12930, %.lr.ph12934, %.preheader12736, %.preheader12734, %15221, %15196, %15196, %15196, %15196, %15196, %15196, %15196, %15196, %15196 + %.09814 = phi i32 [ 2, %15196 ], [ 2, %15196 ], [ 2, %15196 ], [ 2, %15196 ], [ 2, %15196 ], [ 2, %15196 ], [ 2, %15196 ], [ 2, %15196 ], [ 2, %15196 ], [ %.11974, %15221 ], [ 1, %.preheader12734 ], [ 1, %.preheader12736 ], [ %15213, %.lr.ph12934 ], [ %15217, %.lr.ph12930 ] + %15224 = add i32 %.09814, %15203 + %15225 = icmp sgt i32 %15178, 0 + br i1 %15225, label %.lr.ph12940, label %.critedge11978 + +.lr.ph12940: ; preds = %.loopexit12735, %15302 + %.0941612938 = phi i32 [ %15304, %15302 ], [ 0, %.loopexit12735 ] + %.0941712937 = phi ptr [ %15303, %15302 ], [ %15205, %.loopexit12735 ] + %15226 = getelementptr inbounds nuw i8, ptr %.0941712937, i64 4 + %15227 = load i32, ptr %15226, align 4 + %15228 = icmp ugt i32 %15227, %15224 + br i1 %15228, label %.critedge11978, label %15229 + +15229: ; preds = %.lr.ph12940 + %15230 = getelementptr inbounds nuw i8, ptr %.0941712937, i64 8 + %15231 = load i32, ptr %15230, align 4 + %15232 = icmp ult i32 %15224, %15231 + br i1 %15232, label %15233, label %15302 + +15233: ; preds = %15229 + %15234 = load i32, ptr %.0941712937, align 4 + %15235 = and i32 %15234, -8 + %15236 = icmp eq i32 %15180, %15235 + br i1 %15236, label %15237, label %15302 + +15237: ; preds = %15233 + %15238 = getelementptr inbounds nuw i8, ptr %.0941712937, i64 4 + %15239 = getelementptr inbounds nuw i8, ptr %.0941712937, i64 8 + switch i8 %15206, label %15254 [ + i8 23, label %.loopexit12730 + i8 24, label %.loopexit12730 + i8 25, label %.loopexit12730 + i8 27, label %.loopexit12730 + i8 28, label %.loopexit12730 + i8 29, label %.loopexit12730 + i8 32, label %.loopexit12730 + i8 33, label %.loopexit12730 + i8 -49, label %.loopexit12730 + i8 64, label %.preheader12729 + i8 -88, label %.preheader12731 ] -.preheader12734: ; preds = %15238 - %15241 = getelementptr inbounds nuw i8, ptr %2501, i64 60 - %15242 = load i8, ptr %15241, align 4 - %15243 = icmp eq i8 %15242, -88 - br i1 %15243, label %.lr.ph12947, label %.loopexit12733 - -.preheader12732: ; preds = %15238 - %15244 = getelementptr inbounds nuw i8, ptr %2501, i64 60 - %15245 = load i8, ptr %15244, align 4 - %15246 = icmp eq i8 %15245, 64 - br i1 %15246, label %.lr.ph12951, label %.loopexit12733 - -.lr.ph12951: ; preds = %.preheader12732, %.lr.ph12951 - %.0980512950 = phi i32 [ %15247, %.lr.ph12951 ], [ 1, %.preheader12732 ] - %.pn1169012949 = phi ptr [ %.09807, %.lr.ph12951 ], [ %2501, %.preheader12732 ] - %.09807 = getelementptr inbounds nuw i8, ptr %.pn1169012949, i64 32 - %15247 = add nuw nsw i32 %.0980512950, 1 - %15248 = getelementptr inbounds nuw i8, ptr %.pn1169012949, i64 92 - %15249 = load i8, ptr %15248, align 4 - %15250 = icmp eq i8 %15249, 64 - br i1 %15250, label %.lr.ph12951, label %.loopexit12733 - -.lr.ph12947: ; preds = %.preheader12734, %.lr.ph12947 - %.1980612946 = phi i32 [ %15251, %.lr.ph12947 ], [ 1, %.preheader12734 ] - %.pn1168912945 = phi ptr [ %.19808, %.lr.ph12947 ], [ %2501, %.preheader12734 ] - %.19808 = getelementptr inbounds nuw i8, ptr %.pn1168912945, i64 32 - %15251 = add nuw nsw i32 %.1980612946, 1 - %15252 = getelementptr inbounds nuw i8, ptr %.pn1168912945, i64 92 - %15253 = load i8, ptr %15252, align 4 - %15254 = icmp eq i8 %15253, -88 - br i1 %15254, label %.lr.ph12947, label %.loopexit12733 - -15255: ; preds = %15238 - %15256 = load i8, ptr %14984, align 1 - %15257 = and i8 %15256, 48 - %.not11691 = icmp eq i8 %15257, 0 - %.11977 = select i1 %.not11691, i32 1, i32 2 - br label %.loopexit12733 - -.loopexit12733: ; preds = %.lr.ph12947, %.lr.ph12951, %.preheader12734, %.preheader12732, %15255, %15238, %15238, %15238, %15238, %15238, %15238, %15238, %15238, %15238 - %.09809 = phi i32 [ 2, %15238 ], [ 2, %15238 ], [ 2, %15238 ], [ 2, %15238 ], [ 2, %15238 ], [ 2, %15238 ], [ 2, %15238 ], [ 2, %15238 ], [ 2, %15238 ], [ %.11977, %15255 ], [ 1, %.preheader12732 ], [ 1, %.preheader12734 ], [ %15247, %.lr.ph12951 ], [ %15251, %.lr.ph12947 ] - %.0941312961 = getelementptr inbounds nuw i8, ptr %.39762, i64 16 - %15258 = load i8, ptr %.0941312961, align 8 - %.not1169212962 = icmp eq i8 %15258, 0 - br i1 %.not1169212962, label %.lr.ph12967.preheader, label %._crit_edge12968 - -.lr.ph12967.preheader: ; preds = %.loopexit12733 - %15259 = zext nneg i32 %.09809 to i64 - %15260 = getelementptr inbounds nuw %struct._zend_ssa_op, ptr %.09621, i64 %15259 - br label %.lr.ph12967 - -.lr.ph12967: ; preds = %.lr.ph12967.preheader, %.loopexit12725 - %.0941312965 = phi ptr [ %.09413, %.loopexit12725 ], [ %.0941312961, %.lr.ph12967.preheader ] - %.39762.pn12964 = phi ptr [ %.0941312965, %.loopexit12725 ], [ %.39762, %.lr.ph12967.preheader ] - %.0941412963 = phi ptr [ %15298, %.loopexit12725 ], [ %15260, %.lr.ph12967.preheader ] - %15261 = getelementptr inbounds nuw i8, ptr %.39762.pn12964, i64 24 - %15262 = load ptr, ptr %15261, align 8 - %15263 = load ptr, ptr %15198, align 8 +.preheader12731: ; preds = %15237 + %15240 = getelementptr inbounds nuw i8, ptr %2501, i64 60 + %15241 = load i8, ptr %15240, align 4 + %15242 = icmp eq i8 %15241, -88 + br i1 %15242, label %.lr.ph12944, label %.loopexit12730 + +.preheader12729: ; preds = %15237 + %15243 = getelementptr inbounds nuw i8, ptr %2501, i64 60 + %15244 = load i8, ptr %15243, align 4 + %15245 = icmp eq i8 %15244, 64 + br i1 %15245, label %.lr.ph12948, label %.loopexit12730 + +.lr.ph12948: ; preds = %.preheader12729, %.lr.ph12948 + %.0980512947 = phi i32 [ %15246, %.lr.ph12948 ], [ 1, %.preheader12729 ] + %.pn1168812946 = phi ptr [ %.09807, %.lr.ph12948 ], [ %2501, %.preheader12729 ] + %.09807 = getelementptr inbounds nuw i8, ptr %.pn1168812946, i64 32 + %15246 = add nuw nsw i32 %.0980512947, 1 + %15247 = getelementptr inbounds nuw i8, ptr %.pn1168812946, i64 92 + %15248 = load i8, ptr %15247, align 4 + %15249 = icmp eq i8 %15248, 64 + br i1 %15249, label %.lr.ph12948, label %.loopexit12730 + +.lr.ph12944: ; preds = %.preheader12731, %.lr.ph12944 + %.1980612943 = phi i32 [ %15250, %.lr.ph12944 ], [ 1, %.preheader12731 ] + %.pn1168712942 = phi ptr [ %.19808, %.lr.ph12944 ], [ %2501, %.preheader12731 ] + %.19808 = getelementptr inbounds nuw i8, ptr %.pn1168712942, i64 32 + %15250 = add nuw nsw i32 %.1980612943, 1 + %15251 = getelementptr inbounds nuw i8, ptr %.pn1168712942, i64 92 + %15252 = load i8, ptr %15251, align 4 + %15253 = icmp eq i8 %15252, -88 + br i1 %15253, label %.lr.ph12944, label %.loopexit12730 + +15254: ; preds = %15237 + %15255 = load i8, ptr %14983, align 1 + %15256 = and i8 %15255, 48 + %.not11689 = icmp eq i8 %15256, 0 + %.11975 = select i1 %.not11689, i32 1, i32 2 + br label %.loopexit12730 + +.loopexit12730: ; preds = %.lr.ph12944, %.lr.ph12948, %.preheader12731, %.preheader12729, %15254, %15237, %15237, %15237, %15237, %15237, %15237, %15237, %15237, %15237 + %.09809 = phi i32 [ 2, %15237 ], [ 2, %15237 ], [ 2, %15237 ], [ 2, %15237 ], [ 2, %15237 ], [ 2, %15237 ], [ 2, %15237 ], [ 2, %15237 ], [ 2, %15237 ], [ %.11975, %15254 ], [ 1, %.preheader12729 ], [ 1, %.preheader12731 ], [ %15246, %.lr.ph12948 ], [ %15250, %.lr.ph12944 ] + %.0941312958 = getelementptr inbounds nuw i8, ptr %.39762, i64 16 + %15257 = load i8, ptr %.0941312958, align 8 + %.not1169012959 = icmp eq i8 %15257, 0 + br i1 %.not1169012959, label %.lr.ph12964.preheader, label %._crit_edge12965 + +.lr.ph12964.preheader: ; preds = %.loopexit12730 + %15258 = zext nneg i32 %.09809 to i64 + %15259 = getelementptr inbounds nuw %struct._zend_ssa_op, ptr %.09621, i64 %15258 + br label %.lr.ph12964 + +.lr.ph12964: ; preds = %.lr.ph12964.preheader, %.loopexit12722 + %.0941312962 = phi ptr [ %.09413, %.loopexit12722 ], [ %.0941312958, %.lr.ph12964.preheader ] + %.39762.pn12961 = phi ptr [ %.0941312962, %.loopexit12722 ], [ %.39762, %.lr.ph12964.preheader ] + %.0941412960 = phi ptr [ %15297, %.loopexit12722 ], [ %15259, %.lr.ph12964.preheader ] + %15260 = getelementptr inbounds nuw i8, ptr %.39762.pn12961, i64 24 + %15261 = load ptr, ptr %15260, align 8 + %15262 = load ptr, ptr %15197, align 8 + %15263 = ptrtoint ptr %15261 to i64 %15264 = ptrtoint ptr %15262 to i64 - %15265 = ptrtoint ptr %15263 to i64 - %15266 = sub i64 %15264, %15265 - %15267 = lshr exact i64 %15266, 5 - %15268 = trunc i64 %15267 to i32 - %15269 = load i32, ptr %15240, align 4 - %.not11693 = icmp ugt i32 %15269, %15268 - br i1 %.not11693, label %15270, label %.critedge11980 - -15270: ; preds = %.lr.ph12967 - %15271 = load i32, ptr %15239, align 4 - %15272 = icmp ugt i32 %15271, %15268 - br i1 %15272, label %.critedge11980, label %15273 - -15273: ; preds = %15270 - %15274 = call zeroext i1 @zend_may_throw(ptr noundef %15262, ptr noundef nonnull %.0941412963, ptr noundef nonnull %.09771, ptr noundef nonnull %40) #33 - br i1 %15274, label %._crit_edge12968, label %15275 - -15275: ; preds = %15273 - %15276 = load ptr, ptr %15261, align 8 - %15277 = getelementptr inbounds nuw i8, ptr %15276, i64 28 - %15278 = load i8, ptr %15277, align 4 - switch i8 %15278, label %15293 [ - i8 23, label %.loopexit12725 - i8 24, label %.loopexit12725 - i8 25, label %.loopexit12725 - i8 27, label %.loopexit12725 - i8 28, label %.loopexit12725 - i8 29, label %.loopexit12725 - i8 32, label %.loopexit12725 - i8 33, label %.loopexit12725 - i8 -49, label %.loopexit12725 - i8 64, label %.preheader12724 - i8 -88, label %.preheader12726 + %15265 = sub i64 %15263, %15264 + %15266 = lshr exact i64 %15265, 5 + %15267 = trunc i64 %15266 to i32 + %15268 = load i32, ptr %15239, align 4 + %.not11691 = icmp ugt i32 %15268, %15267 + br i1 %.not11691, label %15269, label %.critedge11978 + +15269: ; preds = %.lr.ph12964 + %15270 = load i32, ptr %15238, align 4 + %15271 = icmp ugt i32 %15270, %15267 + br i1 %15271, label %.critedge11978, label %15272 + +15272: ; preds = %15269 + %15273 = call zeroext i1 @zend_may_throw(ptr noundef %15261, ptr noundef nonnull %.0941412960, ptr noundef nonnull %.09771, ptr noundef nonnull %40) #33 + br i1 %15273, label %._crit_edge12965, label %15274 + +15274: ; preds = %15272 + %15275 = load ptr, ptr %15260, align 8 + %15276 = getelementptr inbounds nuw i8, ptr %15275, i64 28 + %15277 = load i8, ptr %15276, align 4 + switch i8 %15277, label %15292 [ + i8 23, label %.loopexit12722 + i8 24, label %.loopexit12722 + i8 25, label %.loopexit12722 + i8 27, label %.loopexit12722 + i8 28, label %.loopexit12722 + i8 29, label %.loopexit12722 + i8 32, label %.loopexit12722 + i8 33, label %.loopexit12722 + i8 -49, label %.loopexit12722 + i8 64, label %.preheader12721 + i8 -88, label %.preheader12723 ] -.preheader12726: ; preds = %15275 - %15279 = getelementptr inbounds nuw i8, ptr %15276, i64 60 - %15280 = load i8, ptr %15279, align 4 - %15281 = icmp eq i8 %15280, -88 - br i1 %15281, label %.lr.ph12955, label %.loopexit12725 - -.preheader12724: ; preds = %15275 - %15282 = getelementptr inbounds nuw i8, ptr %15276, i64 60 - %15283 = load i8, ptr %15282, align 4 - %15284 = icmp eq i8 %15283, 64 - br i1 %15284, label %.lr.ph12959, label %.loopexit12725 - -.lr.ph12959: ; preds = %.preheader12724, %.lr.ph12959 - %.0980012958 = phi i32 [ %15285, %.lr.ph12959 ], [ 1, %.preheader12724 ] - %.pn1169512957 = phi ptr [ %.09802, %.lr.ph12959 ], [ %15276, %.preheader12724 ] - %.09802 = getelementptr inbounds nuw i8, ptr %.pn1169512957, i64 32 - %15285 = add nuw nsw i32 %.0980012958, 1 - %15286 = getelementptr inbounds nuw i8, ptr %.pn1169512957, i64 92 - %15287 = load i8, ptr %15286, align 4 - %15288 = icmp eq i8 %15287, 64 - br i1 %15288, label %.lr.ph12959, label %.loopexit12725 - -.lr.ph12955: ; preds = %.preheader12726, %.lr.ph12955 - %.1980112954 = phi i32 [ %15289, %.lr.ph12955 ], [ 1, %.preheader12726 ] - %.pn1169412953 = phi ptr [ %.19803, %.lr.ph12955 ], [ %15276, %.preheader12726 ] - %.19803 = getelementptr inbounds nuw i8, ptr %.pn1169412953, i64 32 - %15289 = add nuw nsw i32 %.1980112954, 1 - %15290 = getelementptr inbounds nuw i8, ptr %.pn1169412953, i64 92 - %15291 = load i8, ptr %15290, align 4 - %15292 = icmp eq i8 %15291, -88 - br i1 %15292, label %.lr.ph12955, label %.loopexit12725 - -15293: ; preds = %15275 - %15294 = getelementptr inbounds nuw i8, ptr %15276, i64 31 - %15295 = load i8, ptr %15294, align 1 - %15296 = and i8 %15295, 48 - %.not11696 = icmp eq i8 %15296, 0 - %.11978 = select i1 %.not11696, i32 1, i32 2 - br label %.loopexit12725 - -.loopexit12725: ; preds = %.lr.ph12955, %.lr.ph12959, %.preheader12726, %.preheader12724, %15293, %15275, %15275, %15275, %15275, %15275, %15275, %15275, %15275, %15275 - %.09804 = phi i32 [ 2, %15275 ], [ 2, %15275 ], [ 2, %15275 ], [ 2, %15275 ], [ 2, %15275 ], [ 2, %15275 ], [ 2, %15275 ], [ 2, %15275 ], [ 2, %15275 ], [ %.11978, %15293 ], [ 1, %.preheader12724 ], [ 1, %.preheader12726 ], [ %15285, %.lr.ph12959 ], [ %15289, %.lr.ph12955 ] - %15297 = zext nneg i32 %.09804 to i64 - %15298 = getelementptr inbounds nuw %struct._zend_ssa_op, ptr %.0941412963, i64 %15297 - %.09413 = getelementptr inbounds nuw i8, ptr %.0941312965, i64 16 - %15299 = load i8, ptr %.09413, align 8 - %.not11692 = icmp eq i8 %15299, 0 - br i1 %.not11692, label %.lr.ph12967, label %._crit_edge12968 - -._crit_edge12968: ; preds = %15273, %.loopexit12725, %.loopexit12733 - call fastcc void @zend_jit_store_type(ptr noundef %17, i32 noundef %15187, i8 noundef zeroext %.0942112625) - store i8 %.0942112625, ptr %15189, align 4 - store i8 %.0942112625, ptr %15190, align 1 - %15300 = getelementptr inbounds nuw i8, ptr %15189, i64 2 - store i8 -1, ptr %15300, align 2 - %15301 = getelementptr inbounds nuw i8, ptr %15189, i64 3 - %15302 = getelementptr inbounds nuw i8, ptr %15189, i64 4 - store i32 0, ptr %15302, align 4 - store i8 0, ptr %15301, align 1 - br label %.critedge11980 - -15303: ; preds = %15234, %15230 - %15304 = getelementptr inbounds nuw i8, ptr %.0941712940, i64 12 - %15305 = add nuw nsw i32 %.0941612941, 1 - %exitcond13207.not = icmp eq i32 %15305, %15179 - br i1 %exitcond13207.not, label %.critedge11980, label %.lr.ph12943 - -.critedge11980: ; preds = %15303, %.lr.ph12943, %.lr.ph12967, %15270, %.loopexit12738, %15185, %15192, %._crit_edge12968, %15180, %15154 - %15306 = load ptr, ptr %2477, align 8 - %15307 = load i32, ptr %14980, align 4 - %15308 = sext i32 %15307 to i64 - %15309 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %15306, i64 %15308 - %15310 = load i32, ptr %15309, align 8 - %15311 = and i32 %15310, 33554432 - %.not11697 = icmp eq i32 %15311, 0 - br i1 %.not11697, label %15319, label %15312 - -15312: ; preds = %.critedge11980 - %15313 = load i32, ptr %15135, align 8 - %15314 = lshr i32 %15313, 4 - %15315 = add nsw i32 %15314, -5 - %15316 = zext i32 %15315 to i64 - %15317 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15316 - %15318 = getelementptr inbounds nuw i8, ptr %15317, i64 1 - store i8 -1, ptr %15318, align 1 - br label %15319 - -15319: ; preds = %15312, %.critedge11980 - %cond = icmp eq i8 %.0942112625, -1 - br i1 %cond, label %15403, label %15320 - -15320: ; preds = %15319 - %15321 = load ptr, ptr %2477, align 8 - %15322 = load i32, ptr %14980, align 4 - %15323 = sext i32 %15322 to i64 - %15324 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %15321, i64 %15323 - %15325 = load i32, ptr %15324, align 8 - %15326 = and i32 %15325, -268435457 - store i32 %15326, ptr %15324, align 8 - %15327 = load i8, ptr %2529, align 4 - %15328 = icmp eq i8 %15327, -72 - br i1 %15328, label %15329, label %15338 - -15329: ; preds = %15320 - %15330 = trunc i8 %.29669 to i1 - br i1 %15330, label %15331, label %15338 - -15331: ; preds = %15329 - %15332 = load i32, ptr %15135, align 8 - %15333 = lshr i32 %15332, 4 - %15334 = add nsw i32 %15333, -5 - %15335 = zext i32 %15334 to i64 - %15336 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15335 - %15337 = getelementptr inbounds nuw i8, ptr %15336, i64 2 - store i8 -1, ptr %15337, align 2 - br label %.sink.split13556 - -15338: ; preds = %15329, %15320 - %15339 = load ptr, ptr %2477, align 8 - %15340 = load i32, ptr %14980, align 4 - %15341 = sext i32 %15340 to i64 - %15342 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %15339, i64 %15341, i32 1 - %15343 = load i8, ptr %15342, align 4 - %15344 = and i8 %15343, 32 - %.not11699 = icmp eq i8 %15344, 0 - br i1 %.not11699, label %15352, label %15345 - -15345: ; preds = %15338 - %15346 = load i32, ptr %15135, align 8 - %15347 = lshr i32 %15346, 4 - %15348 = add nsw i32 %15347, -5 - %15349 = zext i32 %15348 to i64 - %15350 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15349 - %15351 = getelementptr inbounds nuw i8, ptr %15350, i64 2 - store i8 -1, ptr %15351, align 2 - br label %.sink.split13556 - -15352: ; preds = %15338 - br i1 %.not11593, label %15353, label %15373 - -15353: ; preds = %15352 - %15354 = getelementptr inbounds %struct._zend_jit_reg_var, ptr %.09775, i64 %15341 - %15355 = load i32, ptr %15354, align 4 - %.not11700 = icmp eq i32 %15355, 0 - br i1 %.not11700, label %15373, label %15356 - -15356: ; preds = %15353 - %15357 = load i32, ptr %15135, align 8 - %15358 = lshr i32 %15357, 4 - %15359 = add nsw i32 %15358, -5 - %15360 = zext i32 %15359 to i64 - %15361 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15360, i32 1 - store i32 %15355, ptr %15361, align 4 - %15362 = load i32, ptr %14980, align 4 - %15363 = sext i32 %15362 to i64 - %15364 = getelementptr inbounds %struct._zend_jit_reg_var, ptr %.09775, i64 %15363, i32 1 - %15365 = load i32, ptr %15364, align 4 - %15366 = trunc i32 %15365 to i8 - %15367 = and i8 %15366, 2 - br label %.sink.split13556 - -.sink.split13556: ; preds = %15105, %15071, %15331, %15356, %15345 - %.sink13563.in = phi ptr [ %15135, %15345 ], [ %15135, %15356 ], [ %15135, %15331 ], [ %15072, %15071 ], [ %15106, %15105 ] - %.sink13557 = phi i8 [ 64, %15345 ], [ %15367, %15356 ], [ 80, %15331 ], [ 0, %15071 ], [ 0, %15105 ] - %.0942112626.ph = phi i8 [ %.0942112625, %15345 ], [ %.0942112625, %15356 ], [ %.0942112625, %15331 ], [ %.09421, %15071 ], [ %.09421, %15105 ] - %.sink13563 = load i32, ptr %.sink13563.in, align 8 - %15368 = lshr i32 %.sink13563, 4 - %15369 = add nsw i32 %15368, -5 - %15370 = zext i32 %15369 to i64 - %15371 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15370 - %15372 = getelementptr inbounds nuw i8, ptr %15371, i64 3 - store i8 %.sink13557, ptr %15372, align 1 - br label %15373 - -15373: ; preds = %.sink.split13556, %15353, %15352, %15101 - %.0942112626 = phi i8 [ %.0942112625, %15353 ], [ %.0942112625, %15352 ], [ %.09421, %15101 ], [ %.0942112626.ph, %.sink.split13556 ] - %15374 = icmp eq i8 %.0942112626, 4 - br i1 %15374, label %15375, label %15403 - -15375: ; preds = %15373 - %15376 = load i32, ptr %14980, align 4 - %15377 = call zeroext i1 @zend_inference_propagate_range(ptr noundef %.09771, ptr noundef nonnull %40, ptr noundef nonnull %2501, ptr noundef nonnull %.09621, i32 noundef %15376, ptr noundef nonnull %25) #33 - br i1 %15377, label %15378, label %15403 - -15378: ; preds = %15375 - %15379 = load i64, ptr %25, align 8 - %15380 = load ptr, ptr %2477, align 8 - %15381 = load i32, ptr %14980, align 4 - %15382 = sext i32 %15381 to i64 - %15383 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %15380, i64 %15382, i32 2 - store i64 %15379, ptr %15383, align 8 - %15384 = load i64, ptr %2490, align 8 - %15385 = load ptr, ptr %2477, align 8 - %15386 = load i32, ptr %14980, align 4 - %15387 = sext i32 %15386 to i64 - %15388 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %15385, i64 %15387, i32 2, i32 1 - store i64 %15384, ptr %15388, align 8 - %15389 = load ptr, ptr %2477, align 8 - %15390 = load i32, ptr %14980, align 4 - %15391 = sext i32 %15390 to i64 - %15392 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %15389, i64 %15391, i32 2, i32 2 - store i8 0, ptr %15392, align 8 - %15393 = load ptr, ptr %2477, align 8 - %15394 = load i32, ptr %14980, align 4 - %15395 = sext i32 %15394 to i64 - %15396 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %15393, i64 %15395, i32 2, i32 3 - store i8 0, ptr %15396, align 1 - %15397 = load ptr, ptr %2477, align 8 - %15398 = load i32, ptr %14980, align 4 - %15399 = sext i32 %15398 to i64 - %15400 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %15397, i64 %15399, i32 1 - %15401 = load i8, ptr %15400, align 4 - %15402 = or i8 %15401, 1 - store i8 %15402, ptr %15400, align 4 - br label %15403 - -15403: ; preds = %15319, %15373, %15375, %15378, %14979 - %15404 = getelementptr inbounds nuw i8, ptr %.09621, i64 12 - %15405 = load i32, ptr %15404, align 4 - %15406 = icmp sgt i32 %15405, -1 - br i1 %15406, label %15407, label %15657 - -15407: ; preds = %15403 - %15408 = load i8, ptr %2529, align 4 - switch i8 %15408, label %15417 [ - i8 31, label %15409 - i8 51, label %15409 +.preheader12723: ; preds = %15274 + %15278 = getelementptr inbounds nuw i8, ptr %15275, i64 60 + %15279 = load i8, ptr %15278, align 4 + %15280 = icmp eq i8 %15279, -88 + br i1 %15280, label %.lr.ph12952, label %.loopexit12722 + +.preheader12721: ; preds = %15274 + %15281 = getelementptr inbounds nuw i8, ptr %15275, i64 60 + %15282 = load i8, ptr %15281, align 4 + %15283 = icmp eq i8 %15282, 64 + br i1 %15283, label %.lr.ph12956, label %.loopexit12722 + +.lr.ph12956: ; preds = %.preheader12721, %.lr.ph12956 + %.0980012955 = phi i32 [ %15284, %.lr.ph12956 ], [ 1, %.preheader12721 ] + %.pn1169312954 = phi ptr [ %.09802, %.lr.ph12956 ], [ %15275, %.preheader12721 ] + %.09802 = getelementptr inbounds nuw i8, ptr %.pn1169312954, i64 32 + %15284 = add nuw nsw i32 %.0980012955, 1 + %15285 = getelementptr inbounds nuw i8, ptr %.pn1169312954, i64 92 + %15286 = load i8, ptr %15285, align 4 + %15287 = icmp eq i8 %15286, 64 + br i1 %15287, label %.lr.ph12956, label %.loopexit12722 + +.lr.ph12952: ; preds = %.preheader12723, %.lr.ph12952 + %.1980112951 = phi i32 [ %15288, %.lr.ph12952 ], [ 1, %.preheader12723 ] + %.pn1169212950 = phi ptr [ %.19803, %.lr.ph12952 ], [ %15275, %.preheader12723 ] + %.19803 = getelementptr inbounds nuw i8, ptr %.pn1169212950, i64 32 + %15288 = add nuw nsw i32 %.1980112951, 1 + %15289 = getelementptr inbounds nuw i8, ptr %.pn1169212950, i64 92 + %15290 = load i8, ptr %15289, align 4 + %15291 = icmp eq i8 %15290, -88 + br i1 %15291, label %.lr.ph12952, label %.loopexit12722 + +15292: ; preds = %15274 + %15293 = getelementptr inbounds nuw i8, ptr %15275, i64 31 + %15294 = load i8, ptr %15293, align 1 + %15295 = and i8 %15294, 48 + %.not11694 = icmp eq i8 %15295, 0 + %.11976 = select i1 %.not11694, i32 1, i32 2 + br label %.loopexit12722 + +.loopexit12722: ; preds = %.lr.ph12952, %.lr.ph12956, %.preheader12723, %.preheader12721, %15292, %15274, %15274, %15274, %15274, %15274, %15274, %15274, %15274, %15274 + %.09804 = phi i32 [ 2, %15274 ], [ 2, %15274 ], [ 2, %15274 ], [ 2, %15274 ], [ 2, %15274 ], [ 2, %15274 ], [ 2, %15274 ], [ 2, %15274 ], [ 2, %15274 ], [ %.11976, %15292 ], [ 1, %.preheader12721 ], [ 1, %.preheader12723 ], [ %15284, %.lr.ph12956 ], [ %15288, %.lr.ph12952 ] + %15296 = zext nneg i32 %.09804 to i64 + %15297 = getelementptr inbounds nuw %struct._zend_ssa_op, ptr %.0941412960, i64 %15296 + %.09413 = getelementptr inbounds nuw i8, ptr %.0941312962, i64 16 + %15298 = load i8, ptr %.09413, align 8 + %.not11690 = icmp eq i8 %15298, 0 + br i1 %.not11690, label %.lr.ph12964, label %._crit_edge12965 + +._crit_edge12965: ; preds = %15272, %.loopexit12722, %.loopexit12730 + call fastcc void @zend_jit_store_type(ptr noundef %17, i32 noundef %15186, i8 noundef zeroext %.0942112622) + store i8 %.0942112622, ptr %15188, align 4 + store i8 %.0942112622, ptr %15189, align 1 + %15299 = getelementptr inbounds nuw i8, ptr %15188, i64 2 + store i8 -1, ptr %15299, align 2 + %15300 = getelementptr inbounds nuw i8, ptr %15188, i64 3 + %15301 = getelementptr inbounds nuw i8, ptr %15188, i64 4 + store i32 0, ptr %15301, align 4 + store i8 0, ptr %15300, align 1 + br label %.critedge11978 + +15302: ; preds = %15233, %15229 + %15303 = getelementptr inbounds nuw i8, ptr %.0941712937, i64 12 + %15304 = add nuw nsw i32 %.0941612938, 1 + %exitcond13204.not = icmp eq i32 %15304, %15178 + br i1 %exitcond13204.not, label %.critedge11978, label %.lr.ph12940 + +.critedge11978: ; preds = %15302, %.lr.ph12940, %.lr.ph12964, %15269, %.loopexit12735, %15184, %15191, %._crit_edge12965, %15179, %15153 + %15305 = load ptr, ptr %2477, align 8 + %15306 = load i32, ptr %14979, align 4 + %15307 = sext i32 %15306 to i64 + %15308 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %15305, i64 %15307 + %15309 = load i32, ptr %15308, align 8 + %15310 = and i32 %15309, 33554432 + %.not11695 = icmp eq i32 %15310, 0 + br i1 %.not11695, label %15318, label %15311 + +15311: ; preds = %.critedge11978 + %15312 = load i32, ptr %15134, align 8 + %15313 = lshr i32 %15312, 4 + %15314 = add nsw i32 %15313, -5 + %15315 = zext i32 %15314 to i64 + %15316 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15315 + %15317 = getelementptr inbounds nuw i8, ptr %15316, i64 1 + store i8 -1, ptr %15317, align 1 + br label %15318 + +15318: ; preds = %15311, %.critedge11978 + %cond = icmp eq i8 %.0942112622, -1 + br i1 %cond, label %15402, label %15319 + +15319: ; preds = %15318 + %15320 = load ptr, ptr %2477, align 8 + %15321 = load i32, ptr %14979, align 4 + %15322 = sext i32 %15321 to i64 + %15323 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %15320, i64 %15322 + %15324 = load i32, ptr %15323, align 8 + %15325 = and i32 %15324, -268435457 + store i32 %15325, ptr %15323, align 8 + %15326 = load i8, ptr %2529, align 4 + %15327 = icmp eq i8 %15326, -72 + br i1 %15327, label %15328, label %15337 + +15328: ; preds = %15319 + %15329 = trunc i8 %.29669 to i1 + br i1 %15329, label %15330, label %15337 + +15330: ; preds = %15328 + %15331 = load i32, ptr %15134, align 8 + %15332 = lshr i32 %15331, 4 + %15333 = add nsw i32 %15332, -5 + %15334 = zext i32 %15333 to i64 + %15335 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15334 + %15336 = getelementptr inbounds nuw i8, ptr %15335, i64 2 + store i8 -1, ptr %15336, align 2 + br label %.sink.split13553 + +15337: ; preds = %15328, %15319 + %15338 = load ptr, ptr %2477, align 8 + %15339 = load i32, ptr %14979, align 4 + %15340 = sext i32 %15339 to i64 + %15341 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %15338, i64 %15340, i32 1 + %15342 = load i8, ptr %15341, align 4 + %15343 = and i8 %15342, 32 + %.not11697 = icmp eq i8 %15343, 0 + br i1 %.not11697, label %15351, label %15344 + +15344: ; preds = %15337 + %15345 = load i32, ptr %15134, align 8 + %15346 = lshr i32 %15345, 4 + %15347 = add nsw i32 %15346, -5 + %15348 = zext i32 %15347 to i64 + %15349 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15348 + %15350 = getelementptr inbounds nuw i8, ptr %15349, i64 2 + store i8 -1, ptr %15350, align 2 + br label %.sink.split13553 + +15351: ; preds = %15337 + br i1 %.not11591, label %15352, label %15372 + +15352: ; preds = %15351 + %15353 = getelementptr inbounds %struct._zend_jit_reg_var, ptr %.09775, i64 %15340 + %15354 = load i32, ptr %15353, align 4 + %.not11698 = icmp eq i32 %15354, 0 + br i1 %.not11698, label %15372, label %15355 + +15355: ; preds = %15352 + %15356 = load i32, ptr %15134, align 8 + %15357 = lshr i32 %15356, 4 + %15358 = add nsw i32 %15357, -5 + %15359 = zext i32 %15358 to i64 + %15360 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15359, i32 1 + store i32 %15354, ptr %15360, align 4 + %15361 = load i32, ptr %14979, align 4 + %15362 = sext i32 %15361 to i64 + %15363 = getelementptr inbounds %struct._zend_jit_reg_var, ptr %.09775, i64 %15362, i32 1 + %15364 = load i32, ptr %15363, align 4 + %15365 = trunc i32 %15364 to i8 + %15366 = and i8 %15365, 2 + br label %.sink.split13553 + +.sink.split13553: ; preds = %15104, %15070, %15330, %15355, %15344 + %.sink13560.in = phi ptr [ %15134, %15344 ], [ %15134, %15355 ], [ %15134, %15330 ], [ %15071, %15070 ], [ %15105, %15104 ] + %.sink13554 = phi i8 [ 64, %15344 ], [ %15366, %15355 ], [ 80, %15330 ], [ 0, %15070 ], [ 0, %15104 ] + %.0942112623.ph = phi i8 [ %.0942112622, %15344 ], [ %.0942112622, %15355 ], [ %.0942112622, %15330 ], [ %.09421, %15070 ], [ %.09421, %15104 ] + %.sink13560 = load i32, ptr %.sink13560.in, align 8 + %15367 = lshr i32 %.sink13560, 4 + %15368 = add nsw i32 %15367, -5 + %15369 = zext i32 %15368 to i64 + %15370 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15369 + %15371 = getelementptr inbounds nuw i8, ptr %15370, i64 3 + store i8 %.sink13554, ptr %15371, align 1 + br label %15372 + +15372: ; preds = %.sink.split13553, %15352, %15351, %15100 + %.0942112623 = phi i8 [ %.0942112622, %15352 ], [ %.0942112622, %15351 ], [ %.09421, %15100 ], [ %.0942112623.ph, %.sink.split13553 ] + %15373 = icmp eq i8 %.0942112623, 4 + br i1 %15373, label %15374, label %15402 + +15374: ; preds = %15372 + %15375 = load i32, ptr %14979, align 4 + %15376 = call zeroext i1 @zend_inference_propagate_range(ptr noundef %.09771, ptr noundef nonnull %40, ptr noundef nonnull %2501, ptr noundef nonnull %.09621, i32 noundef %15375, ptr noundef nonnull %25) #33 + br i1 %15376, label %15377, label %15402 + +15377: ; preds = %15374 + %15378 = load i64, ptr %25, align 8 + %15379 = load ptr, ptr %2477, align 8 + %15380 = load i32, ptr %14979, align 4 + %15381 = sext i32 %15380 to i64 + %15382 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %15379, i64 %15381, i32 2 + store i64 %15378, ptr %15382, align 8 + %15383 = load i64, ptr %2490, align 8 + %15384 = load ptr, ptr %2477, align 8 + %15385 = load i32, ptr %14979, align 4 + %15386 = sext i32 %15385 to i64 + %15387 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %15384, i64 %15386, i32 2, i32 1 + store i64 %15383, ptr %15387, align 8 + %15388 = load ptr, ptr %2477, align 8 + %15389 = load i32, ptr %14979, align 4 + %15390 = sext i32 %15389 to i64 + %15391 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %15388, i64 %15390, i32 2, i32 2 + store i8 0, ptr %15391, align 8 + %15392 = load ptr, ptr %2477, align 8 + %15393 = load i32, ptr %14979, align 4 + %15394 = sext i32 %15393 to i64 + %15395 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %15392, i64 %15394, i32 2, i32 3 + store i8 0, ptr %15395, align 1 + %15396 = load ptr, ptr %2477, align 8 + %15397 = load i32, ptr %14979, align 4 + %15398 = sext i32 %15397 to i64 + %15399 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %15396, i64 %15398, i32 1 + %15400 = load i8, ptr %15399, align 4 + %15401 = or i8 %15400, 1 + store i8 %15401, ptr %15399, align 4 + br label %15402 + +15402: ; preds = %15318, %15372, %15374, %15377, %14978 + %15403 = getelementptr inbounds nuw i8, ptr %.09621, i64 12 + %15404 = load i32, ptr %15403, align 4 + %15405 = icmp sgt i32 %15404, -1 + br i1 %15405, label %15406, label %15656 + +15406: ; preds = %15402 + %15407 = load i8, ptr %2529, align 4 + switch i8 %15407, label %15416 [ + i8 31, label %15408 + i8 51, label %15408 ] -15409: ; preds = %15407, %15407 - %15410 = getelementptr inbounds nuw i8, ptr %2501, i64 31 - %15411 = load i8, ptr %15410, align 1 - %.not11705 = icmp eq i8 %15411, 8 - br i1 %.not11705, label %15412, label %15417 - -15412: ; preds = %15409 - %15413 = getelementptr inbounds nuw i8, ptr %2501, i64 16 - %15414 = load i32, ptr %15413, align 8 - %15415 = getelementptr inbounds nuw i8, ptr %2501, i64 8 - %15416 = load i32, ptr %15415, align 8 - %.not11706 = icmp eq i32 %15414, %15416 - br i1 %.not11706, label %15657, label %15417 - -15417: ; preds = %15407, %15412, %15409 - %15418 = load ptr, ptr %2477, align 8 - %15419 = zext nneg i32 %15405 to i64 - %15420 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %15418, i64 %15419 - %15421 = load i32, ptr %15420, align 8 - %15422 = and i32 %15421, 268435456 - %.not11707 = icmp eq i32 %15422, 0 - br i1 %.not11707, label %15423, label %15454 - -15423: ; preds = %15417 - %15424 = and i32 %15421, 1023 - %15425 = call range(i32 0, 11) i32 @llvm.ctpop.i32(i32 %15424) - %15426 = icmp ne i32 %15424, 0 - %15427 = icmp eq i32 %15425, 1 - br i1 %15427, label %15428, label %15454 - -15428: ; preds = %15423 - call void @llvm.assume(i1 %15426) - %15429 = lshr i32 %15424, 1 - %15430 = or i32 %15429, %15424 - %15431 = lshr i32 %15430, 2 - %15432 = or i32 %15431, %15430 - %15433 = lshr i32 %15432, 4 - %15434 = or i32 %15433, %15432 - %15435 = lshr i32 %15434, 8 - %15436 = or i32 %15435, %15434 - %15437 = lshr i32 %15436, 1 - %15438 = and i32 %15437, 1431655765 - %15439 = sub nsw i32 %15436, %15438 - %15440 = lshr i32 %15439, 2 - %15441 = and i32 %15440, 858993459 - %15442 = and i32 %15439, 858993459 - %15443 = add nuw nsw i32 %15441, %15442 - %15444 = lshr i32 %15443, 4 - %15445 = add nuw nsw i32 %15444, %15443 - %15446 = and i32 %15445, 252645135 - %15447 = lshr i32 %15446, 8 - %15448 = add nuw nsw i32 %15447, %15446 - %15449 = lshr i32 %15448, 16 - %15450 = add nuw nsw i32 %15449, %15448 - %15451 = trunc i32 %15450 to i8 - %15452 = and i8 %15451, 63 - %15453 = add nsw i8 %15452, -1 - br label %15521 - -15454: ; preds = %15423, %15417 - switch i8 %15408, label %15521 [ - i8 22, label %15455 - i8 117, label %15513 - i8 51, label %15513 - i8 31, label %15513 - i8 -104, label %15513 - i8 -87, label %15513 - i8 -58, label %15513 - i8 77, label %15513 +15408: ; preds = %15406, %15406 + %15409 = getelementptr inbounds nuw i8, ptr %2501, i64 31 + %15410 = load i8, ptr %15409, align 1 + %.not11703 = icmp eq i8 %15410, 8 + br i1 %.not11703, label %15411, label %15416 + +15411: ; preds = %15408 + %15412 = getelementptr inbounds nuw i8, ptr %2501, i64 16 + %15413 = load i32, ptr %15412, align 8 + %15414 = getelementptr inbounds nuw i8, ptr %2501, i64 8 + %15415 = load i32, ptr %15414, align 8 + %.not11704 = icmp eq i32 %15413, %15415 + br i1 %.not11704, label %15656, label %15416 + +15416: ; preds = %15406, %15411, %15408 + %15417 = load ptr, ptr %2477, align 8 + %15418 = zext nneg i32 %15404 to i64 + %15419 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %15417, i64 %15418 + %15420 = load i32, ptr %15419, align 8 + %15421 = and i32 %15420, 268435456 + %.not11705 = icmp eq i32 %15421, 0 + br i1 %.not11705, label %15422, label %15453 + +15422: ; preds = %15416 + %15423 = and i32 %15420, 1023 + %15424 = call range(i32 0, 11) i32 @llvm.ctpop.i32(i32 %15423) + %15425 = icmp ne i32 %15423, 0 + %15426 = icmp eq i32 %15424, 1 + br i1 %15426, label %15427, label %15453 + +15427: ; preds = %15422 + call void @llvm.assume(i1 %15425) + %15428 = lshr i32 %15423, 1 + %15429 = or i32 %15428, %15423 + %15430 = lshr i32 %15429, 2 + %15431 = or i32 %15430, %15429 + %15432 = lshr i32 %15431, 4 + %15433 = or i32 %15432, %15431 + %15434 = lshr i32 %15433, 8 + %15435 = or i32 %15434, %15433 + %15436 = lshr i32 %15435, 1 + %15437 = and i32 %15436, 1431655765 + %15438 = sub nsw i32 %15435, %15437 + %15439 = lshr i32 %15438, 2 + %15440 = and i32 %15439, 858993459 + %15441 = and i32 %15438, 858993459 + %15442 = add nuw nsw i32 %15440, %15441 + %15443 = lshr i32 %15442, 4 + %15444 = add nuw nsw i32 %15443, %15442 + %15445 = and i32 %15444, 252645135 + %15446 = lshr i32 %15445, 8 + %15447 = add nuw nsw i32 %15446, %15445 + %15448 = lshr i32 %15447, 16 + %15449 = add nuw nsw i32 %15448, %15447 + %15450 = trunc i32 %15449 to i8 + %15451 = and i8 %15450, 63 + %15452 = add nsw i8 %15451, -1 + br label %15520 + +15453: ; preds = %15422, %15416 + switch i8 %15407, label %15520 [ + i8 22, label %15454 + i8 117, label %15512 + i8 51, label %15512 + i8 31, label %15512 + i8 -104, label %15512 + i8 -87, label %15512 + i8 -58, label %15512 + i8 77, label %15512 ] -15455: ; preds = %15454 - %15456 = load i8, ptr %14934, align 1 - %15457 = icmp eq i8 %15456, 1 - br i1 %15457, label %15458, label %15487 - -15458: ; preds = %15455 - %15459 = getelementptr inbounds nuw i8, ptr %.09771, i64 4 - %15460 = load i32, ptr %15459, align 4 - %15461 = and i32 %15460, 33554432 - %.not11710 = icmp eq i32 %15461, 0 - br i1 %.not11710, label %15467, label %15462 - -15462: ; preds = %15458 - %15463 = getelementptr inbounds nuw i8, ptr %2501, i64 8 - %15464 = load i32, ptr %15463, align 8 - %15465 = sext i32 %15464 to i64 - %15466 = getelementptr inbounds i8, ptr %2501, i64 %15465 - br label %15474 - -15467: ; preds = %15458 - %15468 = getelementptr inbounds nuw i8, ptr %.09771, i64 176 - %15469 = load ptr, ptr %15468, align 8 - %15470 = getelementptr inbounds nuw i8, ptr %2501, i64 8 - %15471 = load i32, ptr %15470, align 8 - %15472 = zext i32 %15471 to i64 - %15473 = getelementptr inbounds nuw %struct._zval_struct, ptr %15469, i64 %15472 - br label %15474 - -15474: ; preds = %15467, %15462 - %15475 = phi ptr [ %15466, %15462 ], [ %15473, %15467 ] - %15476 = getelementptr inbounds nuw i8, ptr %15475, i64 8 - %15477 = load i8, ptr %15476, align 8 - switch i8 %15477, label %15480 [ - i8 11, label %.thread12627 - i8 7, label %15478 +15454: ; preds = %15453 + %15455 = load i8, ptr %14933, align 1 + %15456 = icmp eq i8 %15455, 1 + br i1 %15456, label %15457, label %15486 + +15457: ; preds = %15454 + %15458 = getelementptr inbounds nuw i8, ptr %.09771, i64 4 + %15459 = load i32, ptr %15458, align 4 + %15460 = and i32 %15459, 33554432 + %.not11708 = icmp eq i32 %15460, 0 + br i1 %.not11708, label %15466, label %15461 + +15461: ; preds = %15457 + %15462 = getelementptr inbounds nuw i8, ptr %2501, i64 8 + %15463 = load i32, ptr %15462, align 8 + %15464 = sext i32 %15463 to i64 + %15465 = getelementptr inbounds i8, ptr %2501, i64 %15464 + br label %15473 + +15466: ; preds = %15457 + %15467 = getelementptr inbounds nuw i8, ptr %.09771, i64 176 + %15468 = load ptr, ptr %15467, align 8 + %15469 = getelementptr inbounds nuw i8, ptr %2501, i64 8 + %15470 = load i32, ptr %15469, align 8 + %15471 = zext i32 %15470 to i64 + %15472 = getelementptr inbounds nuw %struct._zval_struct, ptr %15468, i64 %15471 + br label %15473 + +15473: ; preds = %15466, %15461 + %15474 = phi ptr [ %15465, %15461 ], [ %15472, %15466 ] + %15475 = getelementptr inbounds nuw i8, ptr %15474, i64 8 + %15476 = load i8, ptr %15475, align 8 + switch i8 %15476, label %15479 [ + i8 11, label %.thread12624 + i8 7, label %15477 ] -15478: ; preds = %15474 - %15479 = call i32 @zend_array_type_info(ptr noundef nonnull %15475) #33 - br label %15494 - -15480: ; preds = %15474 - %15481 = zext nneg i8 %15477 to i32 - %15482 = shl nuw i32 1, %15481 - %15483 = getelementptr inbounds nuw i8, ptr %15475, i64 9 - %15484 = load i8, ptr %15483, align 1 - %.not11711 = icmp eq i8 %15484, 0 - br i1 %.not11711, label %15485, label %15494 - -15485: ; preds = %15480 - %15486 = icmp eq i8 %15477, 6 - %spec.select11981 = select i1 %15486, i32 -2147483584, i32 %15482 - br label %15494 - -15487: ; preds = %15455 - %15488 = load i32, ptr %.09621, align 4 - %15489 = icmp sgt i32 %15488, -1 - br i1 %15489, label %15490, label %.thread12630 - -15490: ; preds = %15487 - %15491 = zext nneg i32 %15488 to i64 - %15492 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %15418, i64 %15491 - %15493 = load i32, ptr %15492, align 8 - br label %15494 - -15494: ; preds = %15480, %15485, %15490, %15478 - %.09849 = phi i32 [ %15479, %15478 ], [ %spec.select11981, %15485 ], [ %15493, %15490 ], [ %15482, %15480 ] - %15495 = and i32 %.09849, 1024 - %.not11712 = icmp eq i32 %15495, 0 - br i1 %.not11712, label %.thread12627, label %.thread12630 - -.thread12630: ; preds = %15487, %15494 - %15496 = getelementptr inbounds nuw i8, ptr %2501, i64 8 - %15497 = load i32, ptr %15496, align 8 - %15498 = lshr i32 %15497, 4 - %15499 = add nsw i32 %15498, -5 - %15500 = zext i32 %15499 to i64 - %15501 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15500 - %15502 = load i8, ptr %15501, align 4 - %.not11713 = icmp eq i8 %15502, -1 - br i1 %.not11713, label %15521, label %.thread12627 - -.thread12627: ; preds = %15474, %.thread12630, %15494 - %15503 = getelementptr inbounds nuw i8, ptr %2501, i64 30 - %15504 = load i8, ptr %15503, align 2 - %.not11714 = icmp eq i8 %15504, 1 - br i1 %.not11714, label %15521, label %15505 - -15505: ; preds = %.thread12627 - %15506 = getelementptr inbounds nuw i8, ptr %2501, i64 12 - %15507 = load i32, ptr %15506, align 4 - %15508 = lshr i32 %15507, 4 - %15509 = add nsw i32 %15508, -5 - %15510 = zext i32 %15509 to i64 - %15511 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15510 - %15512 = load i8, ptr %15511, align 4 - br label %15521 - -15513: ; preds = %15454, %15454, %15454, %15454, %15454, %15454, %15454 - %15514 = getelementptr inbounds nuw i8, ptr %2501, i64 8 - %15515 = load i32, ptr %15514, align 8 - %15516 = lshr i32 %15515, 4 - %15517 = add nsw i32 %15516, -5 - %15518 = zext i32 %15517 to i64 - %15519 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15518 - %15520 = load i8, ptr %15519, align 4 - br label %15521 - -15521: ; preds = %15454, %15428, %15513, %.thread12630, %15505, %.thread12627 - %.09411 = phi i8 [ %15512, %15505 ], [ -1, %.thread12627 ], [ -1, %.thread12630 ], [ %15520, %15513 ], [ %15453, %15428 ], [ -1, %15454 ] - %15522 = getelementptr inbounds nuw i8, ptr %2501, i64 8 - %15523 = load i32, ptr %15522, align 8 - %15524 = lshr i32 %15523, 4 - %15525 = add nsw i32 %15524, -5 - %15526 = zext i32 %15525 to i64 - %15527 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15526 - store i8 %.09411, ptr %15527, align 4 - %15528 = icmp ne i8 %.09411, -1 - %or.cond181 = select i1 %.09576.not, i1 %15528, i1 false - %or.cond183 = and i1 %.not11593, %or.cond181 - br i1 %or.cond183, label %15529, label %.thread13369 - -15529: ; preds = %15521 - %15530 = load i32, ptr %15404, align 4 - %15531 = sext i32 %15530 to i64 - %15532 = getelementptr inbounds %struct._zend_jit_reg_var, ptr %.09775, i64 %15531 - %15533 = load i32, ptr %15532, align 4 - %.not11716 = icmp eq i32 %15533, 0 - br i1 %.not11716, label %15534, label %15565 - -15534: ; preds = %15529 - %15535 = load ptr, ptr %2478, align 8 - %15536 = getelementptr inbounds %struct._zend_ssa_var, ptr %15535, i64 %15531, i32 7 - %15537 = load i8, ptr %15536, align 8 - %15538 = trunc i8 %15537 to i1 - br i1 %15538, label %15539, label %.thread13369 - -15539: ; preds = %15534 - %15540 = load ptr, ptr %2479, align 8 - %.not11717 = icmp eq ptr %15540, null - br i1 %.not11717, label %15548, label %15541 - -15541: ; preds = %15539 - %15542 = load i32, ptr %.09621, align 4 - %15543 = icmp sgt i32 %15542, -1 - br i1 %15543, label %15544, label %15548 - -15544: ; preds = %15541 - %15545 = zext nneg i32 %15542 to i64 - %15546 = getelementptr inbounds nuw %struct._zend_jit_reg_var, ptr %15540, i64 %15545 - %15547 = load i32, ptr %15546, align 4 - %.not11718 = icmp eq i32 %15547, 0 - br i1 %.not11718, label %15548, label %.thread13368 - -15548: ; preds = %15544, %15541, %15539 - %15549 = load i8, ptr %14934, align 1 - %15550 = icmp eq i8 %15549, 1 - br i1 %15550, label %15551, label %.thread13369 - -15551: ; preds = %15548 - %15552 = load i32, ptr %15522, align 8 - %15553 = sext i32 %15552 to i64 - %15554 = getelementptr inbounds i8, ptr %2501, i64 %15553 - %15555 = ptrtoint ptr %15554 to i64 - %15556 = and i64 %15555, 3 - %15557 = icmp eq i64 %15556, 2 - br i1 %15557, label %.thread13368, label %.thread13369 - -.thread13368: ; preds = %15544, %15551 - %15558 = load i8, ptr %2529, align 4 - switch i8 %15558, label %.thread13369 [ - i8 31, label %15565 - i8 117, label %15565 - i8 66, label %15565 - i8 106, label %15565 - i8 50, label %15565 - i8 -71, label %15565 +15477: ; preds = %15473 + %15478 = call i32 @zend_array_type_info(ptr noundef nonnull %15474) #33 + br label %15493 + +15479: ; preds = %15473 + %15480 = zext nneg i8 %15476 to i32 + %15481 = shl nuw i32 1, %15480 + %15482 = getelementptr inbounds nuw i8, ptr %15474, i64 9 + %15483 = load i8, ptr %15482, align 1 + %.not11709 = icmp eq i8 %15483, 0 + br i1 %.not11709, label %15484, label %15493 + +15484: ; preds = %15479 + %15485 = icmp eq i8 %15476, 6 + %spec.select11979 = select i1 %15485, i32 -2147483584, i32 %15481 + br label %15493 + +15486: ; preds = %15454 + %15487 = load i32, ptr %.09621, align 4 + %15488 = icmp sgt i32 %15487, -1 + br i1 %15488, label %15489, label %.thread12627 + +15489: ; preds = %15486 + %15490 = zext nneg i32 %15487 to i64 + %15491 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %15417, i64 %15490 + %15492 = load i32, ptr %15491, align 8 + br label %15493 + +15493: ; preds = %15479, %15484, %15489, %15477 + %.09849 = phi i32 [ %15478, %15477 ], [ %spec.select11979, %15484 ], [ %15492, %15489 ], [ %15481, %15479 ] + %15494 = and i32 %.09849, 1024 + %.not11710 = icmp eq i32 %15494, 0 + br i1 %.not11710, label %.thread12624, label %.thread12627 + +.thread12627: ; preds = %15486, %15493 + %15495 = getelementptr inbounds nuw i8, ptr %2501, i64 8 + %15496 = load i32, ptr %15495, align 8 + %15497 = lshr i32 %15496, 4 + %15498 = add nsw i32 %15497, -5 + %15499 = zext i32 %15498 to i64 + %15500 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15499 + %15501 = load i8, ptr %15500, align 4 + %.not11711 = icmp eq i8 %15501, -1 + br i1 %.not11711, label %15520, label %.thread12624 + +.thread12624: ; preds = %15473, %.thread12627, %15493 + %15502 = getelementptr inbounds nuw i8, ptr %2501, i64 30 + %15503 = load i8, ptr %15502, align 2 + %.not11712 = icmp eq i8 %15503, 1 + br i1 %.not11712, label %15520, label %15504 + +15504: ; preds = %.thread12624 + %15505 = getelementptr inbounds nuw i8, ptr %2501, i64 12 + %15506 = load i32, ptr %15505, align 4 + %15507 = lshr i32 %15506, 4 + %15508 = add nsw i32 %15507, -5 + %15509 = zext i32 %15508 to i64 + %15510 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15509 + %15511 = load i8, ptr %15510, align 4 + br label %15520 + +15512: ; preds = %15453, %15453, %15453, %15453, %15453, %15453, %15453 + %15513 = getelementptr inbounds nuw i8, ptr %2501, i64 8 + %15514 = load i32, ptr %15513, align 8 + %15515 = lshr i32 %15514, 4 + %15516 = add nsw i32 %15515, -5 + %15517 = zext i32 %15516 to i64 + %15518 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15517 + %15519 = load i8, ptr %15518, align 4 + br label %15520 + +15520: ; preds = %15453, %15427, %15512, %.thread12627, %15504, %.thread12624 + %.09411 = phi i8 [ %15511, %15504 ], [ -1, %.thread12624 ], [ -1, %.thread12627 ], [ %15519, %15512 ], [ %15452, %15427 ], [ -1, %15453 ] + %15521 = getelementptr inbounds nuw i8, ptr %2501, i64 8 + %15522 = load i32, ptr %15521, align 8 + %15523 = lshr i32 %15522, 4 + %15524 = add nsw i32 %15523, -5 + %15525 = zext i32 %15524 to i64 + %15526 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15525 + store i8 %.09411, ptr %15526, align 4 + %15527 = icmp ne i8 %.09411, -1 + %or.cond181 = select i1 %.09576.not, i1 %15527, i1 false + %or.cond183 = and i1 %.not11591, %or.cond181 + br i1 %or.cond183, label %15528, label %.thread13366 + +15528: ; preds = %15520 + %15529 = load i32, ptr %15403, align 4 + %15530 = sext i32 %15529 to i64 + %15531 = getelementptr inbounds %struct._zend_jit_reg_var, ptr %.09775, i64 %15530 + %15532 = load i32, ptr %15531, align 4 + %.not11714 = icmp eq i32 %15532, 0 + br i1 %.not11714, label %15533, label %15564 + +15533: ; preds = %15528 + %15534 = load ptr, ptr %2478, align 8 + %15535 = getelementptr inbounds %struct._zend_ssa_var, ptr %15534, i64 %15530, i32 7 + %15536 = load i8, ptr %15535, align 8 + %15537 = trunc i8 %15536 to i1 + br i1 %15537, label %15538, label %.thread13366 + +15538: ; preds = %15533 + %15539 = load ptr, ptr %2479, align 8 + %.not11715 = icmp eq ptr %15539, null + br i1 %.not11715, label %15547, label %15540 + +15540: ; preds = %15538 + %15541 = load i32, ptr %.09621, align 4 + %15542 = icmp sgt i32 %15541, -1 + br i1 %15542, label %15543, label %15547 + +15543: ; preds = %15540 + %15544 = zext nneg i32 %15541 to i64 + %15545 = getelementptr inbounds nuw %struct._zend_jit_reg_var, ptr %15539, i64 %15544 + %15546 = load i32, ptr %15545, align 4 + %.not11716 = icmp eq i32 %15546, 0 + br i1 %.not11716, label %15547, label %.thread13365 + +15547: ; preds = %15543, %15540, %15538 + %15548 = load i8, ptr %14933, align 1 + %15549 = icmp eq i8 %15548, 1 + br i1 %15549, label %15550, label %.thread13366 + +15550: ; preds = %15547 + %15551 = load i32, ptr %15521, align 8 + %15552 = sext i32 %15551 to i64 + %15553 = getelementptr inbounds i8, ptr %2501, i64 %15552 + %15554 = ptrtoint ptr %15553 to i64 + %15555 = and i64 %15554, 3 + %15556 = icmp eq i64 %15555, 2 + br i1 %15556, label %.thread13365, label %.thread13366 + +.thread13365: ; preds = %15543, %15550 + %15557 = load i8, ptr %2529, align 4 + switch i8 %15557, label %.thread13366 [ + i8 31, label %15564 + i8 117, label %15564 + i8 66, label %15564 + i8 106, label %15564 + i8 50, label %15564 + i8 -71, label %15564 ] -.thread13369: ; preds = %15548, %.thread13368, %15551, %15534, %15521 - %15559 = load i32, ptr %15522, align 8 - %15560 = lshr i32 %15559, 4 - %15561 = add nsw i32 %15560, -5 - %15562 = zext i32 %15561 to i64 - %15563 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15562 - %15564 = getelementptr inbounds nuw i8, ptr %15563, i64 1 - store i8 %.09411, ptr %15564, align 1 - br label %15565 - -15565: ; preds = %.thread13368, %.thread13368, %.thread13368, %.thread13368, %.thread13368, %.thread13368, %.thread13369, %15529 - %15566 = load i32, ptr %15522, align 8 - %15567 = lshr i32 %15566, 4 - %15568 = add nsw i32 %15567, -5 - %15569 = zext i32 %15568 to i64 - %15570 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15569 - %15571 = getelementptr inbounds nuw i8, ptr %15570, i64 2 - store i8 -1, ptr %15571, align 2 - %15572 = load i32, ptr %15522, align 8 - %15573 = lshr i32 %15572, 4 - %15574 = add nsw i32 %15573, -5 - %15575 = zext i32 %15574 to i64 - %15576 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15575 - %15577 = getelementptr inbounds nuw i8, ptr %15576, i64 3 - store i8 0, ptr %15577, align 1 - %15578 = load i32, ptr %15522, align 8 - %15579 = lshr i32 %15578, 4 - %15580 = add nsw i32 %15579, -5 - %15581 = zext i32 %15580 to i64 - %15582 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15581, i32 1 - store i32 0, ptr %15582, align 4 - %15583 = load i32, ptr %15522, align 8 - %15584 = lshr i32 %15583, 4 - %15585 = add nsw i32 %15584, -5 - %15586 = zext i32 %15585 to i64 - %15587 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15586 - %15588 = getelementptr inbounds nuw i8, ptr %15587, i64 3 - store i8 0, ptr %15588, align 1 - %cond12066 = icmp eq i8 %.09411, -1 - br i1 %cond12066, label %15657, label %15589 - -15589: ; preds = %15565 - %15590 = load ptr, ptr %2477, align 8 - %15591 = load i32, ptr %15404, align 4 - %15592 = sext i32 %15591 to i64 - %15593 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %15590, i64 %15592 - %15594 = load i32, ptr %15593, align 8 - %15595 = and i32 %15594, -268435457 - store i32 %15595, ptr %15593, align 8 - br i1 %.not11593, label %15596, label %15627 - -15596: ; preds = %15589 - %15597 = load i32, ptr %15404, align 4 - %15598 = sext i32 %15597 to i64 - %15599 = getelementptr inbounds %struct._zend_jit_reg_var, ptr %.09775, i64 %15598 - %15600 = load i32, ptr %15599, align 4 - %.not11720 = icmp eq i32 %15600, 0 - br i1 %.not11720, label %15627, label %15601 - -15601: ; preds = %15596 - %15602 = getelementptr inbounds nuw i8, ptr %15599, i64 4 - %15603 = load i32, ptr %15602, align 4 - %15604 = trunc i32 %15603 to i8 - %15605 = and i8 %15604, 2 - %15606 = load i32, ptr %.09621, align 4 - %15607 = icmp sgt i32 %15606, -1 - br i1 %15607, label %15608, label %15615 - -15608: ; preds = %15601 - %15609 = load i8, ptr %2529, align 4 - switch i8 %15609, label %15615 [ - i8 117, label %15610 - i8 51, label %15610 - i8 31, label %15610 - i8 -104, label %15610 - i8 -87, label %15610 - i8 -58, label %15610 - i8 77, label %15610 +.thread13366: ; preds = %15547, %.thread13365, %15550, %15533, %15520 + %15558 = load i32, ptr %15521, align 8 + %15559 = lshr i32 %15558, 4 + %15560 = add nsw i32 %15559, -5 + %15561 = zext i32 %15560 to i64 + %15562 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15561 + %15563 = getelementptr inbounds nuw i8, ptr %15562, i64 1 + store i8 %.09411, ptr %15563, align 1 + br label %15564 + +15564: ; preds = %.thread13365, %.thread13365, %.thread13365, %.thread13365, %.thread13365, %.thread13365, %.thread13366, %15528 + %15565 = load i32, ptr %15521, align 8 + %15566 = lshr i32 %15565, 4 + %15567 = add nsw i32 %15566, -5 + %15568 = zext i32 %15567 to i64 + %15569 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15568 + %15570 = getelementptr inbounds nuw i8, ptr %15569, i64 2 + store i8 -1, ptr %15570, align 2 + %15571 = load i32, ptr %15521, align 8 + %15572 = lshr i32 %15571, 4 + %15573 = add nsw i32 %15572, -5 + %15574 = zext i32 %15573 to i64 + %15575 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15574 + %15576 = getelementptr inbounds nuw i8, ptr %15575, i64 3 + store i8 0, ptr %15576, align 1 + %15577 = load i32, ptr %15521, align 8 + %15578 = lshr i32 %15577, 4 + %15579 = add nsw i32 %15578, -5 + %15580 = zext i32 %15579 to i64 + %15581 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15580, i32 1 + store i32 0, ptr %15581, align 4 + %15582 = load i32, ptr %15521, align 8 + %15583 = lshr i32 %15582, 4 + %15584 = add nsw i32 %15583, -5 + %15585 = zext i32 %15584 to i64 + %15586 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15585 + %15587 = getelementptr inbounds nuw i8, ptr %15586, i64 3 + store i8 0, ptr %15587, align 1 + %cond12063 = icmp eq i8 %.09411, -1 + br i1 %cond12063, label %15656, label %15588 + +15588: ; preds = %15564 + %15589 = load ptr, ptr %2477, align 8 + %15590 = load i32, ptr %15403, align 4 + %15591 = sext i32 %15590 to i64 + %15592 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %15589, i64 %15591 + %15593 = load i32, ptr %15592, align 8 + %15594 = and i32 %15593, -268435457 + store i32 %15594, ptr %15592, align 8 + br i1 %.not11591, label %15595, label %15626 + +15595: ; preds = %15588 + %15596 = load i32, ptr %15403, align 4 + %15597 = sext i32 %15596 to i64 + %15598 = getelementptr inbounds %struct._zend_jit_reg_var, ptr %.09775, i64 %15597 + %15599 = load i32, ptr %15598, align 4 + %.not11718 = icmp eq i32 %15599, 0 + br i1 %.not11718, label %15626, label %15600 + +15600: ; preds = %15595 + %15601 = getelementptr inbounds nuw i8, ptr %15598, i64 4 + %15602 = load i32, ptr %15601, align 4 + %15603 = trunc i32 %15602 to i8 + %15604 = and i8 %15603, 2 + %15605 = load i32, ptr %.09621, align 4 + %15606 = icmp sgt i32 %15605, -1 + br i1 %15606, label %15607, label %15614 + +15607: ; preds = %15600 + %15608 = load i8, ptr %2529, align 4 + switch i8 %15608, label %15614 [ + i8 117, label %15609 + i8 51, label %15609 + i8 31, label %15609 + i8 -104, label %15609 + i8 -87, label %15609 + i8 -58, label %15609 + i8 77, label %15609 ] -15610: ; preds = %15608, %15608, %15608, %15608, %15608, %15608, %15608 - %15611 = zext nneg i32 %15606 to i64 - %15612 = getelementptr inbounds nuw %struct._zend_jit_reg_var, ptr %.09775, i64 %15611 - %15613 = load i32, ptr %15612, align 4 - %.not11721 = icmp eq i32 %15613, 0 - %15614 = zext i1 %.not11721 to i8 - %spec.select12689 = or disjoint i8 %15605, %15614 - br label %15615 - -15615: ; preds = %15610, %15608, %15601 - %.09409 = phi i8 [ %15605, %15601 ], [ %15605, %15608 ], [ %spec.select12689, %15610 ] - %15616 = load i32, ptr %15522, align 8 - %15617 = lshr i32 %15616, 4 - %15618 = add nsw i32 %15617, -5 - %15619 = zext i32 %15618 to i64 - %15620 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15619, i32 1 - store i32 %15600, ptr %15620, align 4 - %15621 = load i32, ptr %15522, align 8 - %15622 = lshr i32 %15621, 4 - %15623 = add nsw i32 %15622, -5 - %15624 = zext i32 %15623 to i64 - %15625 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15624 - %15626 = getelementptr inbounds nuw i8, ptr %15625, i64 3 - store i8 %.09409, ptr %15626, align 1 - br label %15627 - -15627: ; preds = %15589, %15596, %15615 - %15628 = icmp eq i8 %.09411, 4 - br i1 %15628, label %15629, label %15657 - -15629: ; preds = %15627 - %15630 = load i32, ptr %15404, align 4 - %15631 = call zeroext i1 @zend_inference_propagate_range(ptr noundef %.09771, ptr noundef nonnull %40, ptr noundef nonnull %2501, ptr noundef nonnull %.09621, i32 noundef %15630, ptr noundef nonnull %25) #33 - br i1 %15631, label %15632, label %15657 - -15632: ; preds = %15629 - %15633 = load i64, ptr %25, align 8 - %15634 = load ptr, ptr %2477, align 8 - %15635 = load i32, ptr %15404, align 4 - %15636 = sext i32 %15635 to i64 - %15637 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %15634, i64 %15636, i32 2 - store i64 %15633, ptr %15637, align 8 - %15638 = load i64, ptr %2490, align 8 - %15639 = load ptr, ptr %2477, align 8 - %15640 = load i32, ptr %15404, align 4 - %15641 = sext i32 %15640 to i64 - %15642 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %15639, i64 %15641, i32 2, i32 1 - store i64 %15638, ptr %15642, align 8 - %15643 = load ptr, ptr %2477, align 8 - %15644 = load i32, ptr %15404, align 4 - %15645 = sext i32 %15644 to i64 - %15646 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %15643, i64 %15645, i32 2, i32 2 - store i8 0, ptr %15646, align 8 - %15647 = load ptr, ptr %2477, align 8 - %15648 = load i32, ptr %15404, align 4 - %15649 = sext i32 %15648 to i64 - %15650 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %15647, i64 %15649, i32 2, i32 3 - store i8 0, ptr %15650, align 1 - %15651 = load ptr, ptr %2477, align 8 - %15652 = load i32, ptr %15404, align 4 - %15653 = sext i32 %15652 to i64 - %15654 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %15651, i64 %15653, i32 1 - %15655 = load i8, ptr %15654, align 4 - %15656 = or i8 %15655, 1 - store i8 %15656, ptr %15654, align 4 - br label %15657 - -15657: ; preds = %15565, %15627, %15629, %15632, %15412, %15403 - %15658 = getelementptr inbounds nuw i8, ptr %.09621, i64 16 - %15659 = load i32, ptr %15658, align 4 - %15660 = icmp sgt i32 %15659, -1 - br i1 %15660, label %15661, label %15857 - -15661: ; preds = %15657 - %15662 = load i8, ptr %2529, align 4 - %.not11722 = icmp eq i8 %15662, 22 - br i1 %.not11722, label %15663, label %15670 - -15663: ; preds = %15661 - %15664 = load i8, ptr %14934, align 1 - %.not11723 = icmp eq i8 %15664, 8 - br i1 %.not11723, label %15665, label %15670 - -15665: ; preds = %15663 - %15666 = getelementptr inbounds nuw i8, ptr %2501, i64 8 - %15667 = load i32, ptr %15666, align 8 - %15668 = getelementptr inbounds nuw i8, ptr %2501, i64 12 - %15669 = load i32, ptr %15668, align 4 - %.not11724 = icmp eq i32 %15667, %15669 - br i1 %.not11724, label %15857, label %15670 - -15670: ; preds = %15665, %15663, %15661 - %15671 = load ptr, ptr %2477, align 8 - %15672 = zext nneg i32 %15659 to i64 - %15673 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %15671, i64 %15672 - %15674 = load i32, ptr %15673, align 8 - %15675 = and i32 %15674, 268435456 - %.not11725 = icmp eq i32 %15675, 0 - br i1 %.not11725, label %15676, label %15707 - -15676: ; preds = %15670 - %15677 = and i32 %15674, 1023 - %15678 = call range(i32 0, 11) i32 @llvm.ctpop.i32(i32 %15677) - %15679 = icmp ne i32 %15677, 0 - %15680 = icmp eq i32 %15678, 1 - br i1 %15680, label %15681, label %15707 - -15681: ; preds = %15676 - call void @llvm.assume(i1 %15679) - %15682 = lshr i32 %15677, 1 - %15683 = or i32 %15682, %15677 - %15684 = lshr i32 %15683, 2 - %15685 = or i32 %15684, %15683 - %15686 = lshr i32 %15685, 4 - %15687 = or i32 %15686, %15685 - %15688 = lshr i32 %15687, 8 - %15689 = or i32 %15688, %15687 - %15690 = lshr i32 %15689, 1 - %15691 = and i32 %15690, 1431655765 - %15692 = sub nsw i32 %15689, %15691 - %15693 = lshr i32 %15692, 2 - %15694 = and i32 %15693, 858993459 - %15695 = and i32 %15692, 858993459 - %15696 = add nuw nsw i32 %15694, %15695 - %15697 = lshr i32 %15696, 4 - %15698 = add nuw nsw i32 %15697, %15696 - %15699 = and i32 %15698, 252645135 - %15700 = lshr i32 %15699, 8 - %15701 = add nuw nsw i32 %15700, %15699 - %15702 = lshr i32 %15701, 16 - %15703 = add nuw nsw i32 %15702, %15701 - %15704 = trunc i32 %15703 to i8 - %15705 = and i8 %15704, 63 - %15706 = add nsw i8 %15705, -1 - br label %15716 - -15707: ; preds = %15676, %15670 - br i1 %.not11722, label %15708, label %15716 - -15708: ; preds = %15707 - %15709 = getelementptr inbounds nuw i8, ptr %2501, i64 12 - %15710 = load i32, ptr %15709, align 4 - %15711 = lshr i32 %15710, 4 - %15712 = add nsw i32 %15711, -5 - %15713 = zext i32 %15712 to i64 - %15714 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15713 - %15715 = load i8, ptr %15714, align 4 - br label %15716 - -15716: ; preds = %15681, %15708, %15707 - %.09408 = phi i8 [ %15715, %15708 ], [ -1, %15707 ], [ %15706, %15681 ] - %15717 = getelementptr inbounds nuw i8, ptr %2501, i64 12 - %15718 = load i32, ptr %15717, align 4 - %15719 = lshr i32 %15718, 4 - %15720 = add nsw i32 %15719, -5 - %15721 = zext i32 %15720 to i64 - %15722 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15721 - store i8 %.09408, ptr %15722, align 4 - %15723 = icmp ne i8 %.09408, -1 - %or.cond186 = select i1 %.09576.not, i1 %15723, i1 false - %or.cond188 = and i1 %.not11593, %or.cond186 - br i1 %or.cond188, label %15724, label %.thread13371 - -15724: ; preds = %15716 - %15725 = load i32, ptr %15658, align 4 - %15726 = sext i32 %15725 to i64 - %15727 = getelementptr inbounds %struct._zend_jit_reg_var, ptr %.09775, i64 %15726 - %15728 = load i32, ptr %15727, align 4 - %.not11728 = icmp eq i32 %15728, 0 - br i1 %.not11728, label %15729, label %15763 - -15729: ; preds = %15724 - %15730 = load ptr, ptr %2478, align 8 - %15731 = getelementptr inbounds %struct._zend_ssa_var, ptr %15730, i64 %15726, i32 7 - %15732 = load i8, ptr %15731, align 8 - %15733 = trunc i8 %15732 to i1 - br i1 %15733, label %15734, label %.thread13371 - -15734: ; preds = %15729 - %15735 = load ptr, ptr %2479, align 8 - %.not11729 = icmp eq ptr %15735, null - br i1 %.not11729, label %15744, label %15736 - -15736: ; preds = %15734 - %15737 = getelementptr inbounds nuw i8, ptr %.09621, i64 4 - %15738 = load i32, ptr %15737, align 4 - %15739 = icmp sgt i32 %15738, -1 - br i1 %15739, label %15740, label %15744 - -15740: ; preds = %15736 - %15741 = zext nneg i32 %15738 to i64 - %15742 = getelementptr inbounds nuw %struct._zend_jit_reg_var, ptr %15735, i64 %15741 - %15743 = load i32, ptr %15742, align 4 - %.not11730 = icmp eq i32 %15743, 0 - br i1 %.not11730, label %15744, label %.thread13370 - -15744: ; preds = %15740, %15736, %15734 - %15745 = getelementptr inbounds nuw i8, ptr %2501, i64 30 - %15746 = load i8, ptr %15745, align 2 - %15747 = icmp eq i8 %15746, 1 - br i1 %15747, label %15748, label %.thread13371 - -15748: ; preds = %15744 - %15749 = load i32, ptr %15717, align 4 - %15750 = sext i32 %15749 to i64 - %15751 = getelementptr inbounds i8, ptr %2501, i64 %15750 - %15752 = ptrtoint ptr %15751 to i64 - %15753 = and i64 %15752, 3 - %15754 = icmp eq i64 %15753, 2 - br i1 %15754, label %.thread13370, label %.thread13371 - -.thread13370: ; preds = %15740, %15748 - %15755 = load i8, ptr %2529, align 4 - %15756 = icmp eq i8 %15755, 22 - br i1 %15756, label %15763, label %.thread13371 - -.thread13371: ; preds = %15744, %.thread13370, %15748, %15729, %15716 - %15757 = load i32, ptr %15717, align 4 - %15758 = lshr i32 %15757, 4 - %15759 = add nsw i32 %15758, -5 - %15760 = zext i32 %15759 to i64 - %15761 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15760 - %15762 = getelementptr inbounds nuw i8, ptr %15761, i64 1 - store i8 %.09408, ptr %15762, align 1 - br label %15763 - -15763: ; preds = %.thread13371, %.thread13370, %15724 - %15764 = load i32, ptr %15717, align 4 - %15765 = lshr i32 %15764, 4 - %15766 = add nsw i32 %15765, -5 - %15767 = zext i32 %15766 to i64 - %15768 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15767 - %15769 = getelementptr inbounds nuw i8, ptr %15768, i64 2 - store i8 -1, ptr %15769, align 2 - %15770 = load i32, ptr %15717, align 4 - %15771 = lshr i32 %15770, 4 - %15772 = add nsw i32 %15771, -5 - %15773 = zext i32 %15772 to i64 - %15774 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15773 - %15775 = getelementptr inbounds nuw i8, ptr %15774, i64 3 - store i8 0, ptr %15775, align 1 - %15776 = load i32, ptr %15717, align 4 - %15777 = lshr i32 %15776, 4 - %15778 = add nsw i32 %15777, -5 - %15779 = zext i32 %15778 to i64 - %15780 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15779, i32 1 - store i32 0, ptr %15780, align 4 - %15781 = load i32, ptr %15717, align 4 - %15782 = lshr i32 %15781, 4 - %15783 = add nsw i32 %15782, -5 - %15784 = zext i32 %15783 to i64 - %15785 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15784 - %15786 = getelementptr inbounds nuw i8, ptr %15785, i64 3 - store i8 0, ptr %15786, align 1 - %cond12067 = icmp eq i8 %.09408, -1 - br i1 %cond12067, label %15857, label %15787 - -15787: ; preds = %15763 - %15788 = load ptr, ptr %2477, align 8 - %15789 = load i32, ptr %15658, align 4 - %15790 = sext i32 %15789 to i64 - %15791 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %15788, i64 %15790 - %15792 = load i32, ptr %15791, align 8 - %15793 = and i32 %15792, -268435457 - store i32 %15793, ptr %15791, align 8 - br i1 %.not11593, label %15794, label %15827 - -15794: ; preds = %15787 - %15795 = load i32, ptr %15658, align 4 - %15796 = sext i32 %15795 to i64 - %15797 = getelementptr inbounds %struct._zend_jit_reg_var, ptr %.09775, i64 %15796 - %15798 = load i32, ptr %15797, align 4 - %.not11732 = icmp eq i32 %15798, 0 - br i1 %.not11732, label %15827, label %15799 - -15799: ; preds = %15794 - %15800 = getelementptr inbounds nuw i8, ptr %15797, i64 4 - %15801 = load i32, ptr %15800, align 4 - %15802 = trunc i32 %15801 to i8 - %15803 = and i8 %15802, 2 - %15804 = getelementptr inbounds nuw i8, ptr %.09621, i64 4 - %15805 = load i32, ptr %15804, align 4 - %15806 = icmp sgt i32 %15805, -1 - br i1 %15806, label %15807, label %15815 - -15807: ; preds = %15799 - %15808 = load i8, ptr %2529, align 4 - %15809 = icmp eq i8 %15808, 22 - br i1 %15809, label %15810, label %15815 - -15810: ; preds = %15807 - %15811 = zext nneg i32 %15805 to i64 - %15812 = getelementptr inbounds nuw %struct._zend_jit_reg_var, ptr %.09775, i64 %15811 - %15813 = load i32, ptr %15812, align 4 - %.not11733 = icmp eq i32 %15813, 0 - %15814 = zext i1 %.not11733 to i8 - %spec.select12690 = or disjoint i8 %15803, %15814 - br label %15815 - -15815: ; preds = %15810, %15799, %15807 - %.09406 = phi i8 [ %15803, %15807 ], [ %15803, %15799 ], [ %spec.select12690, %15810 ] - %15816 = load i32, ptr %15717, align 4 - %15817 = lshr i32 %15816, 4 - %15818 = add nsw i32 %15817, -5 - %15819 = zext i32 %15818 to i64 - %15820 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15819, i32 1 - store i32 %15798, ptr %15820, align 4 - %15821 = load i32, ptr %15717, align 4 - %15822 = lshr i32 %15821, 4 - %15823 = add nsw i32 %15822, -5 - %15824 = zext i32 %15823 to i64 - %15825 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15824 - %15826 = getelementptr inbounds nuw i8, ptr %15825, i64 3 - store i8 %.09406, ptr %15826, align 1 - br label %15827 - -15827: ; preds = %15787, %15794, %15815 - %15828 = icmp eq i8 %.09408, 4 - br i1 %15828, label %15829, label %15857 - -15829: ; preds = %15827 - %15830 = load i32, ptr %15658, align 4 - %15831 = call zeroext i1 @zend_inference_propagate_range(ptr noundef %.09771, ptr noundef nonnull %40, ptr noundef nonnull %2501, ptr noundef nonnull %.09621, i32 noundef %15830, ptr noundef nonnull %25) #33 - br i1 %15831, label %15832, label %15857 - -15832: ; preds = %15829 - %15833 = load i64, ptr %25, align 8 - %15834 = load ptr, ptr %2477, align 8 - %15835 = load i32, ptr %15658, align 4 - %15836 = sext i32 %15835 to i64 - %15837 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %15834, i64 %15836, i32 2 - store i64 %15833, ptr %15837, align 8 - %15838 = load i64, ptr %2490, align 8 - %15839 = load ptr, ptr %2477, align 8 - %15840 = load i32, ptr %15658, align 4 - %15841 = sext i32 %15840 to i64 - %15842 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %15839, i64 %15841, i32 2, i32 1 - store i64 %15838, ptr %15842, align 8 - %15843 = load ptr, ptr %2477, align 8 - %15844 = load i32, ptr %15658, align 4 - %15845 = sext i32 %15844 to i64 - %15846 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %15843, i64 %15845, i32 2, i32 2 - store i8 0, ptr %15846, align 8 - %15847 = load ptr, ptr %2477, align 8 - %15848 = load i32, ptr %15658, align 4 - %15849 = sext i32 %15848 to i64 - %15850 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %15847, i64 %15849, i32 2, i32 3 - store i8 0, ptr %15850, align 1 - %15851 = load ptr, ptr %2477, align 8 - %15852 = load i32, ptr %15658, align 4 - %15853 = sext i32 %15852 to i64 - %15854 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %15851, i64 %15853, i32 1 - %15855 = load i8, ptr %15854, align 4 - %15856 = or i8 %15855, 1 - store i8 %15856, ptr %15854, align 4 - br label %15857 - -15857: ; preds = %15763, %15827, %15829, %15832, %15665, %15657 - %15858 = load i8, ptr %2529, align 4 - switch i8 %15858, label %16225 [ - i8 23, label %15865 - i8 24, label %15865 - i8 25, label %15865 - i8 27, label %15865 - i8 28, label %15865 - i8 29, label %15865 - i8 32, label %15865 - i8 33, label %15865 - i8 64, label %.preheader12728 - i8 -88, label %.preheader12730 - i8 -49, label %16230 +15609: ; preds = %15607, %15607, %15607, %15607, %15607, %15607, %15607 + %15610 = zext nneg i32 %15605 to i64 + %15611 = getelementptr inbounds nuw %struct._zend_jit_reg_var, ptr %.09775, i64 %15610 + %15612 = load i32, ptr %15611, align 4 + %.not11719 = icmp eq i32 %15612, 0 + %15613 = zext i1 %.not11719 to i8 + %spec.select12686 = or disjoint i8 %15604, %15613 + br label %15614 + +15614: ; preds = %15609, %15607, %15600 + %.09409 = phi i8 [ %15604, %15600 ], [ %15604, %15607 ], [ %spec.select12686, %15609 ] + %15615 = load i32, ptr %15521, align 8 + %15616 = lshr i32 %15615, 4 + %15617 = add nsw i32 %15616, -5 + %15618 = zext i32 %15617 to i64 + %15619 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15618, i32 1 + store i32 %15599, ptr %15619, align 4 + %15620 = load i32, ptr %15521, align 8 + %15621 = lshr i32 %15620, 4 + %15622 = add nsw i32 %15621, -5 + %15623 = zext i32 %15622 to i64 + %15624 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15623 + %15625 = getelementptr inbounds nuw i8, ptr %15624, i64 3 + store i8 %.09409, ptr %15625, align 1 + br label %15626 + +15626: ; preds = %15588, %15595, %15614 + %15627 = icmp eq i8 %.09411, 4 + br i1 %15627, label %15628, label %15656 + +15628: ; preds = %15626 + %15629 = load i32, ptr %15403, align 4 + %15630 = call zeroext i1 @zend_inference_propagate_range(ptr noundef %.09771, ptr noundef nonnull %40, ptr noundef nonnull %2501, ptr noundef nonnull %.09621, i32 noundef %15629, ptr noundef nonnull %25) #33 + br i1 %15630, label %15631, label %15656 + +15631: ; preds = %15628 + %15632 = load i64, ptr %25, align 8 + %15633 = load ptr, ptr %2477, align 8 + %15634 = load i32, ptr %15403, align 4 + %15635 = sext i32 %15634 to i64 + %15636 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %15633, i64 %15635, i32 2 + store i64 %15632, ptr %15636, align 8 + %15637 = load i64, ptr %2490, align 8 + %15638 = load ptr, ptr %2477, align 8 + %15639 = load i32, ptr %15403, align 4 + %15640 = sext i32 %15639 to i64 + %15641 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %15638, i64 %15640, i32 2, i32 1 + store i64 %15637, ptr %15641, align 8 + %15642 = load ptr, ptr %2477, align 8 + %15643 = load i32, ptr %15403, align 4 + %15644 = sext i32 %15643 to i64 + %15645 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %15642, i64 %15644, i32 2, i32 2 + store i8 0, ptr %15645, align 8 + %15646 = load ptr, ptr %2477, align 8 + %15647 = load i32, ptr %15403, align 4 + %15648 = sext i32 %15647 to i64 + %15649 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %15646, i64 %15648, i32 2, i32 3 + store i8 0, ptr %15649, align 1 + %15650 = load ptr, ptr %2477, align 8 + %15651 = load i32, ptr %15403, align 4 + %15652 = sext i32 %15651 to i64 + %15653 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %15650, i64 %15652, i32 1 + %15654 = load i8, ptr %15653, align 4 + %15655 = or i8 %15654, 1 + store i8 %15655, ptr %15653, align 4 + br label %15656 + +15656: ; preds = %15564, %15626, %15628, %15631, %15411, %15402 + %15657 = getelementptr inbounds nuw i8, ptr %.09621, i64 16 + %15658 = load i32, ptr %15657, align 4 + %15659 = icmp sgt i32 %15658, -1 + br i1 %15659, label %15660, label %15856 + +15660: ; preds = %15656 + %15661 = load i8, ptr %2529, align 4 + %.not11720 = icmp eq i8 %15661, 22 + br i1 %.not11720, label %15662, label %15669 + +15662: ; preds = %15660 + %15663 = load i8, ptr %14933, align 1 + %.not11721 = icmp eq i8 %15663, 8 + br i1 %.not11721, label %15664, label %15669 + +15664: ; preds = %15662 + %15665 = getelementptr inbounds nuw i8, ptr %2501, i64 8 + %15666 = load i32, ptr %15665, align 8 + %15667 = getelementptr inbounds nuw i8, ptr %2501, i64 12 + %15668 = load i32, ptr %15667, align 4 + %.not11722 = icmp eq i32 %15666, %15668 + br i1 %.not11722, label %15856, label %15669 + +15669: ; preds = %15664, %15662, %15660 + %15670 = load ptr, ptr %2477, align 8 + %15671 = zext nneg i32 %15658 to i64 + %15672 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %15670, i64 %15671 + %15673 = load i32, ptr %15672, align 8 + %15674 = and i32 %15673, 268435456 + %.not11723 = icmp eq i32 %15674, 0 + br i1 %.not11723, label %15675, label %15706 + +15675: ; preds = %15669 + %15676 = and i32 %15673, 1023 + %15677 = call range(i32 0, 11) i32 @llvm.ctpop.i32(i32 %15676) + %15678 = icmp ne i32 %15676, 0 + %15679 = icmp eq i32 %15677, 1 + br i1 %15679, label %15680, label %15706 + +15680: ; preds = %15675 + call void @llvm.assume(i1 %15678) + %15681 = lshr i32 %15676, 1 + %15682 = or i32 %15681, %15676 + %15683 = lshr i32 %15682, 2 + %15684 = or i32 %15683, %15682 + %15685 = lshr i32 %15684, 4 + %15686 = or i32 %15685, %15684 + %15687 = lshr i32 %15686, 8 + %15688 = or i32 %15687, %15686 + %15689 = lshr i32 %15688, 1 + %15690 = and i32 %15689, 1431655765 + %15691 = sub nsw i32 %15688, %15690 + %15692 = lshr i32 %15691, 2 + %15693 = and i32 %15692, 858993459 + %15694 = and i32 %15691, 858993459 + %15695 = add nuw nsw i32 %15693, %15694 + %15696 = lshr i32 %15695, 4 + %15697 = add nuw nsw i32 %15696, %15695 + %15698 = and i32 %15697, 252645135 + %15699 = lshr i32 %15698, 8 + %15700 = add nuw nsw i32 %15699, %15698 + %15701 = lshr i32 %15700, 16 + %15702 = add nuw nsw i32 %15701, %15700 + %15703 = trunc i32 %15702 to i8 + %15704 = and i8 %15703, 63 + %15705 = add nsw i8 %15704, -1 + br label %15715 + +15706: ; preds = %15675, %15669 + br i1 %.not11720, label %15707, label %15715 + +15707: ; preds = %15706 + %15708 = getelementptr inbounds nuw i8, ptr %2501, i64 12 + %15709 = load i32, ptr %15708, align 4 + %15710 = lshr i32 %15709, 4 + %15711 = add nsw i32 %15710, -5 + %15712 = zext i32 %15711 to i64 + %15713 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15712 + %15714 = load i8, ptr %15713, align 4 + br label %15715 + +15715: ; preds = %15680, %15707, %15706 + %.09408 = phi i8 [ %15714, %15707 ], [ -1, %15706 ], [ %15705, %15680 ] + %15716 = getelementptr inbounds nuw i8, ptr %2501, i64 12 + %15717 = load i32, ptr %15716, align 4 + %15718 = lshr i32 %15717, 4 + %15719 = add nsw i32 %15718, -5 + %15720 = zext i32 %15719 to i64 + %15721 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15720 + store i8 %.09408, ptr %15721, align 4 + %15722 = icmp ne i8 %.09408, -1 + %or.cond186 = select i1 %.09576.not, i1 %15722, i1 false + %or.cond188 = and i1 %.not11591, %or.cond186 + br i1 %or.cond188, label %15723, label %.thread13368 + +15723: ; preds = %15715 + %15724 = load i32, ptr %15657, align 4 + %15725 = sext i32 %15724 to i64 + %15726 = getelementptr inbounds %struct._zend_jit_reg_var, ptr %.09775, i64 %15725 + %15727 = load i32, ptr %15726, align 4 + %.not11726 = icmp eq i32 %15727, 0 + br i1 %.not11726, label %15728, label %15762 + +15728: ; preds = %15723 + %15729 = load ptr, ptr %2478, align 8 + %15730 = getelementptr inbounds %struct._zend_ssa_var, ptr %15729, i64 %15725, i32 7 + %15731 = load i8, ptr %15730, align 8 + %15732 = trunc i8 %15731 to i1 + br i1 %15732, label %15733, label %.thread13368 + +15733: ; preds = %15728 + %15734 = load ptr, ptr %2479, align 8 + %.not11727 = icmp eq ptr %15734, null + br i1 %.not11727, label %15743, label %15735 + +15735: ; preds = %15733 + %15736 = getelementptr inbounds nuw i8, ptr %.09621, i64 4 + %15737 = load i32, ptr %15736, align 4 + %15738 = icmp sgt i32 %15737, -1 + br i1 %15738, label %15739, label %15743 + +15739: ; preds = %15735 + %15740 = zext nneg i32 %15737 to i64 + %15741 = getelementptr inbounds nuw %struct._zend_jit_reg_var, ptr %15734, i64 %15740 + %15742 = load i32, ptr %15741, align 4 + %.not11728 = icmp eq i32 %15742, 0 + br i1 %.not11728, label %15743, label %.thread13367 + +15743: ; preds = %15739, %15735, %15733 + %15744 = getelementptr inbounds nuw i8, ptr %2501, i64 30 + %15745 = load i8, ptr %15744, align 2 + %15746 = icmp eq i8 %15745, 1 + br i1 %15746, label %15747, label %.thread13368 + +15747: ; preds = %15743 + %15748 = load i32, ptr %15716, align 4 + %15749 = sext i32 %15748 to i64 + %15750 = getelementptr inbounds i8, ptr %2501, i64 %15749 + %15751 = ptrtoint ptr %15750 to i64 + %15752 = and i64 %15751, 3 + %15753 = icmp eq i64 %15752, 2 + br i1 %15753, label %.thread13367, label %.thread13368 + +.thread13367: ; preds = %15739, %15747 + %15754 = load i8, ptr %2529, align 4 + %15755 = icmp eq i8 %15754, 22 + br i1 %15755, label %15762, label %.thread13368 + +.thread13368: ; preds = %15743, %.thread13367, %15747, %15728, %15715 + %15756 = load i32, ptr %15716, align 4 + %15757 = lshr i32 %15756, 4 + %15758 = add nsw i32 %15757, -5 + %15759 = zext i32 %15758 to i64 + %15760 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15759 + %15761 = getelementptr inbounds nuw i8, ptr %15760, i64 1 + store i8 %.09408, ptr %15761, align 1 + br label %15762 + +15762: ; preds = %.thread13368, %.thread13367, %15723 + %15763 = load i32, ptr %15716, align 4 + %15764 = lshr i32 %15763, 4 + %15765 = add nsw i32 %15764, -5 + %15766 = zext i32 %15765 to i64 + %15767 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15766 + %15768 = getelementptr inbounds nuw i8, ptr %15767, i64 2 + store i8 -1, ptr %15768, align 2 + %15769 = load i32, ptr %15716, align 4 + %15770 = lshr i32 %15769, 4 + %15771 = add nsw i32 %15770, -5 + %15772 = zext i32 %15771 to i64 + %15773 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15772 + %15774 = getelementptr inbounds nuw i8, ptr %15773, i64 3 + store i8 0, ptr %15774, align 1 + %15775 = load i32, ptr %15716, align 4 + %15776 = lshr i32 %15775, 4 + %15777 = add nsw i32 %15776, -5 + %15778 = zext i32 %15777 to i64 + %15779 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15778, i32 1 + store i32 0, ptr %15779, align 4 + %15780 = load i32, ptr %15716, align 4 + %15781 = lshr i32 %15780, 4 + %15782 = add nsw i32 %15781, -5 + %15783 = zext i32 %15782 to i64 + %15784 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15783 + %15785 = getelementptr inbounds nuw i8, ptr %15784, i64 3 + store i8 0, ptr %15785, align 1 + %cond12064 = icmp eq i8 %.09408, -1 + br i1 %cond12064, label %15856, label %15786 + +15786: ; preds = %15762 + %15787 = load ptr, ptr %2477, align 8 + %15788 = load i32, ptr %15657, align 4 + %15789 = sext i32 %15788 to i64 + %15790 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %15787, i64 %15789 + %15791 = load i32, ptr %15790, align 8 + %15792 = and i32 %15791, -268435457 + store i32 %15792, ptr %15790, align 8 + br i1 %.not11591, label %15793, label %15826 + +15793: ; preds = %15786 + %15794 = load i32, ptr %15657, align 4 + %15795 = sext i32 %15794 to i64 + %15796 = getelementptr inbounds %struct._zend_jit_reg_var, ptr %.09775, i64 %15795 + %15797 = load i32, ptr %15796, align 4 + %.not11730 = icmp eq i32 %15797, 0 + br i1 %.not11730, label %15826, label %15798 + +15798: ; preds = %15793 + %15799 = getelementptr inbounds nuw i8, ptr %15796, i64 4 + %15800 = load i32, ptr %15799, align 4 + %15801 = trunc i32 %15800 to i8 + %15802 = and i8 %15801, 2 + %15803 = getelementptr inbounds nuw i8, ptr %.09621, i64 4 + %15804 = load i32, ptr %15803, align 4 + %15805 = icmp sgt i32 %15804, -1 + br i1 %15805, label %15806, label %15814 + +15806: ; preds = %15798 + %15807 = load i8, ptr %2529, align 4 + %15808 = icmp eq i8 %15807, 22 + br i1 %15808, label %15809, label %15814 + +15809: ; preds = %15806 + %15810 = zext nneg i32 %15804 to i64 + %15811 = getelementptr inbounds nuw %struct._zend_jit_reg_var, ptr %.09775, i64 %15810 + %15812 = load i32, ptr %15811, align 4 + %.not11731 = icmp eq i32 %15812, 0 + %15813 = zext i1 %.not11731 to i8 + %spec.select12687 = or disjoint i8 %15802, %15813 + br label %15814 + +15814: ; preds = %15809, %15798, %15806 + %.09406 = phi i8 [ %15802, %15806 ], [ %15802, %15798 ], [ %spec.select12687, %15809 ] + %15815 = load i32, ptr %15716, align 4 + %15816 = lshr i32 %15815, 4 + %15817 = add nsw i32 %15816, -5 + %15818 = zext i32 %15817 to i64 + %15819 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15818, i32 1 + store i32 %15797, ptr %15819, align 4 + %15820 = load i32, ptr %15716, align 4 + %15821 = lshr i32 %15820, 4 + %15822 = add nsw i32 %15821, -5 + %15823 = zext i32 %15822 to i64 + %15824 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15823 + %15825 = getelementptr inbounds nuw i8, ptr %15824, i64 3 + store i8 %.09406, ptr %15825, align 1 + br label %15826 + +15826: ; preds = %15786, %15793, %15814 + %15827 = icmp eq i8 %.09408, 4 + br i1 %15827, label %15828, label %15856 + +15828: ; preds = %15826 + %15829 = load i32, ptr %15657, align 4 + %15830 = call zeroext i1 @zend_inference_propagate_range(ptr noundef %.09771, ptr noundef nonnull %40, ptr noundef nonnull %2501, ptr noundef nonnull %.09621, i32 noundef %15829, ptr noundef nonnull %25) #33 + br i1 %15830, label %15831, label %15856 + +15831: ; preds = %15828 + %15832 = load i64, ptr %25, align 8 + %15833 = load ptr, ptr %2477, align 8 + %15834 = load i32, ptr %15657, align 4 + %15835 = sext i32 %15834 to i64 + %15836 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %15833, i64 %15835, i32 2 + store i64 %15832, ptr %15836, align 8 + %15837 = load i64, ptr %2490, align 8 + %15838 = load ptr, ptr %2477, align 8 + %15839 = load i32, ptr %15657, align 4 + %15840 = sext i32 %15839 to i64 + %15841 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %15838, i64 %15840, i32 2, i32 1 + store i64 %15837, ptr %15841, align 8 + %15842 = load ptr, ptr %2477, align 8 + %15843 = load i32, ptr %15657, align 4 + %15844 = sext i32 %15843 to i64 + %15845 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %15842, i64 %15844, i32 2, i32 2 + store i8 0, ptr %15845, align 8 + %15846 = load ptr, ptr %2477, align 8 + %15847 = load i32, ptr %15657, align 4 + %15848 = sext i32 %15847 to i64 + %15849 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %15846, i64 %15848, i32 2, i32 3 + store i8 0, ptr %15849, align 1 + %15850 = load ptr, ptr %2477, align 8 + %15851 = load i32, ptr %15657, align 4 + %15852 = sext i32 %15851 to i64 + %15853 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %15850, i64 %15852, i32 1 + %15854 = load i8, ptr %15853, align 4 + %15855 = or i8 %15854, 1 + store i8 %15855, ptr %15853, align 4 + br label %15856 + +15856: ; preds = %15762, %15826, %15828, %15831, %15664, %15656 + %15857 = load i8, ptr %2529, align 4 + switch i8 %15857, label %16224 [ + i8 23, label %15864 + i8 24, label %15864 + i8 25, label %15864 + i8 27, label %15864 + i8 28, label %15864 + i8 29, label %15864 + i8 32, label %15864 + i8 33, label %15864 + i8 64, label %.preheader12725 + i8 -88, label %.preheader12727 + i8 -49, label %16229 ] -.preheader12730: ; preds = %15857 - %invariant.gep12970 = getelementptr inbounds nuw i8, ptr %.09641, i64 1 - %invariant.gep12972 = getelementptr inbounds nuw i8, ptr %.09641, i64 2 - %invariant.gep12974 = getelementptr inbounds nuw i8, ptr %.09641, i64 3 - %.6963512980 = getelementptr inbounds nuw i8, ptr %2501, i64 32 - %.6962712981 = getelementptr inbounds nuw i8, ptr %.09621, i64 36 - %15859 = getelementptr inbounds nuw i8, ptr %2501, i64 60 - %15860 = load i8, ptr %15859, align 4 - %15861 = icmp eq i8 %15860, -88 - br i1 %15861, label %.lr.ph12986, label %.loopexit12729 - -.lr.ph12986: ; preds = %.preheader12730 - %or.cond199 = and i1 %.not11593, %.09576.not - br label %16124 - -.preheader12728: ; preds = %15857 - %invariant.gep12989 = getelementptr inbounds nuw i8, ptr %.09641, i64 1 - %invariant.gep12991 = getelementptr inbounds nuw i8, ptr %.09641, i64 2 - %invariant.gep12993 = getelementptr inbounds nuw i8, ptr %.09641, i64 3 - %.5963412999 = getelementptr inbounds nuw i8, ptr %2501, i64 32 - %.5962613000 = getelementptr inbounds nuw i8, ptr %.09621, i64 36 - %15862 = getelementptr inbounds nuw i8, ptr %2501, i64 60 - %15863 = load i8, ptr %15862, align 4 - %15864 = icmp eq i8 %15863, 64 - br i1 %15864, label %.lr.ph13005, label %.loopexit12729 - -.lr.ph13005: ; preds = %.preheader12728 - %or.cond196 = and i1 %.not11593, %.09576.not - br label %16023 - -15865: ; preds = %15857, %15857, %15857, %15857, %15857, %15857, %15857, %15857 - %15866 = getelementptr inbounds nuw i8, ptr %.09621, i64 36 - %15867 = getelementptr inbounds nuw i8, ptr %2501, i64 32 - %15868 = getelementptr inbounds nuw i8, ptr %.09621, i64 48 - %15869 = load i32, ptr %15868, align 4 - %15870 = icmp sgt i32 %15869, -1 - br i1 %15870, label %15871, label %16021 - -15871: ; preds = %15865 - %15872 = load ptr, ptr %2477, align 8 - %15873 = zext nneg i32 %15869 to i64 - %15874 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %15872, i64 %15873 - %15875 = load i32, ptr %15874, align 8 - %15876 = and i32 %15875, 268435456 - %.not11745 = icmp eq i32 %15876, 0 - br i1 %.not11745, label %15877, label %15908 - -15877: ; preds = %15871 - %15878 = and i32 %15875, 1023 - %15879 = call range(i32 0, 11) i32 @llvm.ctpop.i32(i32 %15878) - %15880 = icmp ne i32 %15878, 0 - %15881 = icmp eq i32 %15879, 1 - br i1 %15881, label %15882, label %15908 - -15882: ; preds = %15877 - call void @llvm.assume(i1 %15880) - %15883 = lshr i32 %15878, 1 - %15884 = or i32 %15883, %15878 - %15885 = lshr i32 %15884, 2 - %15886 = or i32 %15885, %15884 - %15887 = lshr i32 %15886, 4 - %15888 = or i32 %15887, %15886 - %15889 = lshr i32 %15888, 8 - %15890 = or i32 %15889, %15888 - %15891 = lshr i32 %15890, 1 - %15892 = and i32 %15891, 1431655765 - %15893 = sub nsw i32 %15890, %15892 - %15894 = lshr i32 %15893, 2 - %15895 = and i32 %15894, 858993459 - %15896 = and i32 %15893, 858993459 - %15897 = add nuw nsw i32 %15895, %15896 - %15898 = lshr i32 %15897, 4 - %15899 = add nuw nsw i32 %15898, %15897 - %15900 = and i32 %15899, 252645135 - %15901 = lshr i32 %15900, 8 - %15902 = add nuw nsw i32 %15901, %15900 - %15903 = lshr i32 %15902, 16 - %15904 = add nuw nsw i32 %15903, %15902 - %15905 = trunc i32 %15904 to i8 - %15906 = and i8 %15905, 63 - %15907 = add nsw i8 %15906, -1 - br label %15917 - -15908: ; preds = %15877, %15871 - %.off12068 = add nsw i8 %15858, -23 - %switch12069 = icmp samesign ult i8 %.off12068, 3 - br i1 %switch12069, label %15909, label %15917 - -15909: ; preds = %15908 - %15910 = getelementptr inbounds nuw i8, ptr %2501, i64 40 - %15911 = load i32, ptr %15910, align 8 - %15912 = lshr i32 %15911, 4 - %15913 = add nsw i32 %15912, -5 - %15914 = zext i32 %15913 to i64 - %15915 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15914 - %15916 = load i8, ptr %15915, align 4 - br label %15917 - -15917: ; preds = %15908, %15882, %15909 - %.09405 = phi i8 [ %15916, %15909 ], [ %15907, %15882 ], [ -1, %15908 ] - %15918 = getelementptr inbounds nuw i8, ptr %2501, i64 40 - %15919 = load i32, ptr %15918, align 8 - %15920 = lshr i32 %15919, 4 - %15921 = add nsw i32 %15920, -5 - %15922 = zext i32 %15921 to i64 - %15923 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15922 - store i8 %.09405, ptr %15923, align 4 - %15924 = icmp ne i8 %.09405, -1 - %or.cond191.not11748 = select i1 %.09576.not, i1 %15924, i1 false - %or.cond193 = and i1 %.not11593, %or.cond191.not11748 - br i1 %or.cond193, label %15925, label %15930 - -15925: ; preds = %15917 - %15926 = load i32, ptr %15868, align 4 - %15927 = sext i32 %15926 to i64 - %15928 = getelementptr inbounds %struct._zend_jit_reg_var, ptr %.09775, i64 %15927 - %15929 = load i32, ptr %15928, align 4 - %.not = icmp eq i32 %15929, 0 - br i1 %.not, label %15930, label %15937 - -15930: ; preds = %15925, %15917 - %15931 = load i32, ptr %15918, align 8 - %15932 = lshr i32 %15931, 4 - %15933 = add nsw i32 %15932, -5 - %15934 = zext i32 %15933 to i64 - %15935 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15934 - %15936 = getelementptr inbounds nuw i8, ptr %15935, i64 1 - store i8 %.09405, ptr %15936, align 1 - br label %15937 - -15937: ; preds = %15930, %15925 - %15938 = load i32, ptr %15918, align 8 - %15939 = lshr i32 %15938, 4 - %15940 = add nsw i32 %15939, -5 - %15941 = zext i32 %15940 to i64 - %15942 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15941 - %15943 = getelementptr inbounds nuw i8, ptr %15942, i64 2 - store i8 -1, ptr %15943, align 2 - %15944 = load i32, ptr %15918, align 8 - %15945 = lshr i32 %15944, 4 - %15946 = add nsw i32 %15945, -5 - %15947 = zext i32 %15946 to i64 - %15948 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15947 - %15949 = getelementptr inbounds nuw i8, ptr %15948, i64 3 - store i8 0, ptr %15949, align 1 - %15950 = load i32, ptr %15918, align 8 - %15951 = lshr i32 %15950, 4 - %15952 = add nsw i32 %15951, -5 - %15953 = zext i32 %15952 to i64 - %15954 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15953, i32 1 - store i32 0, ptr %15954, align 4 - %15955 = load i32, ptr %15918, align 8 - %15956 = lshr i32 %15955, 4 - %15957 = add nsw i32 %15956, -5 - %15958 = zext i32 %15957 to i64 - %15959 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15958 - %15960 = getelementptr inbounds nuw i8, ptr %15959, i64 3 - store i8 0, ptr %15960, align 1 - %cond12070 = icmp eq i8 %.09405, -1 - br i1 %cond12070, label %16021, label %15961 - -15961: ; preds = %15937 - %15962 = load ptr, ptr %2477, align 8 - %15963 = load i32, ptr %15868, align 4 - %15964 = sext i32 %15963 to i64 - %15965 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %15962, i64 %15964 - %15966 = load i32, ptr %15965, align 8 - %15967 = and i32 %15966, -268435457 - store i32 %15967, ptr %15965, align 8 - br i1 %.not11593, label %15968, label %15991 - -15968: ; preds = %15961 - %15969 = load i32, ptr %15868, align 4 - %15970 = sext i32 %15969 to i64 - %15971 = getelementptr inbounds %struct._zend_jit_reg_var, ptr %.09775, i64 %15970 - %15972 = load i32, ptr %15971, align 4 - %.not11750 = icmp eq i32 %15972, 0 - br i1 %.not11750, label %15991, label %15973 - -15973: ; preds = %15968 - %15974 = load i32, ptr %15918, align 8 - %15975 = lshr i32 %15974, 4 - %15976 = add nsw i32 %15975, -5 - %15977 = zext i32 %15976 to i64 - %15978 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15977, i32 1 - store i32 %15972, ptr %15978, align 4 - %15979 = load i32, ptr %15868, align 4 - %15980 = sext i32 %15979 to i64 - %15981 = getelementptr inbounds %struct._zend_jit_reg_var, ptr %.09775, i64 %15980, i32 1 - %15982 = load i32, ptr %15981, align 4 - %15983 = trunc i32 %15982 to i8 - %15984 = and i8 %15983, 2 - %15985 = load i32, ptr %15918, align 8 - %15986 = lshr i32 %15985, 4 - %15987 = add nsw i32 %15986, -5 - %15988 = zext i32 %15987 to i64 - %15989 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15988 - %15990 = getelementptr inbounds nuw i8, ptr %15989, i64 3 - store i8 %15984, ptr %15990, align 1 - br label %15991 - -15991: ; preds = %15961, %15968, %15973 - %15992 = icmp eq i8 %.09405, 4 - br i1 %15992, label %15993, label %16021 - -15993: ; preds = %15991 - %15994 = load i32, ptr %15868, align 4 - %15995 = call zeroext i1 @zend_inference_propagate_range(ptr noundef %.09771, ptr noundef nonnull %40, ptr noundef nonnull %15867, ptr noundef nonnull %15866, i32 noundef %15994, ptr noundef nonnull %25) #33 - br i1 %15995, label %15996, label %16021 - -15996: ; preds = %15993 - %15997 = load i64, ptr %25, align 8 - %15998 = load ptr, ptr %2477, align 8 - %15999 = load i32, ptr %15868, align 4 - %16000 = sext i32 %15999 to i64 - %16001 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %15998, i64 %16000, i32 2 - store i64 %15997, ptr %16001, align 8 - %16002 = load i64, ptr %2490, align 8 - %16003 = load ptr, ptr %2477, align 8 - %16004 = load i32, ptr %15868, align 4 - %16005 = sext i32 %16004 to i64 - %16006 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %16003, i64 %16005, i32 2, i32 1 - store i64 %16002, ptr %16006, align 8 - %16007 = load ptr, ptr %2477, align 8 - %16008 = load i32, ptr %15868, align 4 - %16009 = sext i32 %16008 to i64 - %16010 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %16007, i64 %16009, i32 2, i32 2 - store i8 0, ptr %16010, align 8 - %16011 = load ptr, ptr %2477, align 8 - %16012 = load i32, ptr %15868, align 4 - %16013 = sext i32 %16012 to i64 - %16014 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %16011, i64 %16013, i32 2, i32 3 - store i8 0, ptr %16014, align 1 - %16015 = load ptr, ptr %2477, align 8 - %16016 = load i32, ptr %15868, align 4 - %16017 = sext i32 %16016 to i64 - %16018 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %16015, i64 %16017, i32 1 - %16019 = load i8, ptr %16018, align 4 - %16020 = or i8 %16019, 1 - store i8 %16020, ptr %16018, align 4 - br label %16021 - -16021: ; preds = %15937, %15991, %15993, %15996, %15865 - %16022 = getelementptr inbounds nuw i8, ptr %.09621, i64 72 - br label %.loopexit12729 - -16023: ; preds = %.lr.ph13005, %16120 - %.5962613004 = phi ptr [ %.5962613000, %.lr.ph13005 ], [ %.59626, %16120 ] - %.5963413003 = phi ptr [ %.5963412999, %.lr.ph13005 ], [ %.59634, %16120 ] - %.09621.pn1174313002 = phi ptr [ %.09621, %.lr.ph13005 ], [ %.5962613004, %16120 ] - %.pn1174413001 = phi ptr [ %2501, %.lr.ph13005 ], [ %.5963413003, %16120 ] - %16024 = getelementptr inbounds nuw i8, ptr %.09621.pn1174313002, i64 56 - %16025 = load i32, ptr %16024, align 4 - %16026 = icmp sgt i32 %16025, -1 - br i1 %16026, label %16027, label %16120 - -16027: ; preds = %16023 - %16028 = load ptr, ptr %2477, align 8 - %16029 = zext nneg i32 %16025 to i64 - %16030 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %16028, i64 %16029 - %16031 = load i32, ptr %16030, align 8 - %16032 = and i32 %16031, 268435456 - %.not11739 = icmp eq i32 %16032, 0 - br i1 %.not11739, label %16033, label %16064 - -16033: ; preds = %16027 - %16034 = and i32 %16031, 1023 - %16035 = call range(i32 0, 11) i32 @llvm.ctpop.i32(i32 %16034) - %16036 = icmp ne i32 %16034, 0 - %16037 = icmp eq i32 %16035, 1 - br i1 %16037, label %16038, label %16064 - -16038: ; preds = %16033 - call void @llvm.assume(i1 %16036) - %16039 = lshr i32 %16034, 1 - %16040 = or i32 %16039, %16034 - %16041 = lshr i32 %16040, 2 - %16042 = or i32 %16041, %16040 - %16043 = lshr i32 %16042, 4 - %16044 = or i32 %16043, %16042 - %16045 = lshr i32 %16044, 8 - %16046 = or i32 %16045, %16044 - %16047 = lshr i32 %16046, 1 - %16048 = and i32 %16047, 1431655765 - %16049 = sub nsw i32 %16046, %16048 - %16050 = lshr i32 %16049, 2 - %16051 = and i32 %16050, 858993459 - %16052 = and i32 %16049, 858993459 - %16053 = add nuw nsw i32 %16051, %16052 - %16054 = lshr i32 %16053, 4 - %16055 = add nuw nsw i32 %16054, %16053 - %16056 = and i32 %16055, 252645135 - %16057 = lshr i32 %16056, 8 - %16058 = add nuw nsw i32 %16057, %16056 - %16059 = lshr i32 %16058, 16 - %16060 = add nuw nsw i32 %16059, %16058 - %16061 = trunc i32 %16060 to i8 - %16062 = and i8 %16061, 63 - %16063 = add nsw i8 %16062, -1 - br label %16064 - -16064: ; preds = %16027, %16033, %16038 - %.09403 = phi i8 [ -1, %16027 ], [ %16063, %16038 ], [ -1, %16033 ] - %16065 = getelementptr inbounds nuw i8, ptr %.pn1174413001, i64 48 - %16066 = load i32, ptr %16065, align 8 - %16067 = lshr i32 %16066, 4 - %16068 = add nsw i32 %16067, -5 - %16069 = zext i32 %16068 to i64 - %16070 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %16069 - store i8 %.09403, ptr %16070, align 4 - br i1 %or.cond196, label %16071, label %16076 - -16071: ; preds = %16064 - %16072 = load i32, ptr %16024, align 4 - %16073 = sext i32 %16072 to i64 - %16074 = getelementptr inbounds %struct._zend_jit_reg_var, ptr %.09775, i64 %16073 - %16075 = load i32, ptr %16074, align 4 - %.not11741 = icmp eq i32 %16075, 0 - br i1 %.not11741, label %16076, label %16081 - -16076: ; preds = %16071, %16064 - %16077 = load i32, ptr %16065, align 8 - %16078 = lshr i32 %16077, 4 - %16079 = add nsw i32 %16078, -5 - %16080 = zext i32 %16079 to i64 - %gep12990 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %invariant.gep12989, i64 %16080 - store i8 %.09403, ptr %gep12990, align 1 - br label %16081 - -16081: ; preds = %16076, %16071 - %16082 = load i32, ptr %16065, align 8 - %16083 = lshr i32 %16082, 4 - %16084 = add nsw i32 %16083, -5 - %16085 = zext i32 %16084 to i64 - %gep12992 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %invariant.gep12991, i64 %16085 - store i8 -1, ptr %gep12992, align 2 - %16086 = load i32, ptr %16065, align 8 - %16087 = lshr i32 %16086, 4 - %16088 = add nsw i32 %16087, -5 - %16089 = zext i32 %16088 to i64 - %gep12994 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %invariant.gep12993, i64 %16089 - store i8 0, ptr %gep12994, align 1 - %16090 = load i32, ptr %16065, align 8 - %16091 = lshr i32 %16090, 4 - %16092 = add nsw i32 %16091, -5 - %16093 = zext i32 %16092 to i64 - %16094 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %16093, i32 1 - store i32 0, ptr %16094, align 4 - %16095 = load i32, ptr %16065, align 8 - %16096 = lshr i32 %16095, 4 - %16097 = add nsw i32 %16096, -5 - %16098 = zext i32 %16097 to i64 - %gep12996 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %invariant.gep12993, i64 %16098 - store i8 0, ptr %gep12996, align 1 - br i1 %.not11593, label %16099, label %16120 - -16099: ; preds = %16081 - %16100 = load i32, ptr %16024, align 4 - %16101 = sext i32 %16100 to i64 - %16102 = getelementptr inbounds %struct._zend_jit_reg_var, ptr %.09775, i64 %16101 - %16103 = load i32, ptr %16102, align 4 - %.not11742 = icmp eq i32 %16103, 0 - br i1 %.not11742, label %16120, label %16104 - -16104: ; preds = %16099 - %16105 = load i32, ptr %16065, align 8 - %16106 = lshr i32 %16105, 4 - %16107 = add nsw i32 %16106, -5 - %16108 = zext i32 %16107 to i64 - %16109 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %16108, i32 1 - store i32 %16103, ptr %16109, align 4 - %16110 = load i32, ptr %16024, align 4 - %16111 = sext i32 %16110 to i64 - %16112 = getelementptr inbounds %struct._zend_jit_reg_var, ptr %.09775, i64 %16111, i32 1 - %16113 = load i32, ptr %16112, align 4 - %16114 = trunc i32 %16113 to i8 - %16115 = and i8 %16114, 2 - %16116 = load i32, ptr %16065, align 8 - %16117 = lshr i32 %16116, 4 - %16118 = add nsw i32 %16117, -5 - %16119 = zext i32 %16118 to i64 - %gep12998 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %invariant.gep12993, i64 %16119 - store i8 %16115, ptr %gep12998, align 1 - br label %16120 - -16120: ; preds = %16081, %16099, %16104, %16023 - %.59634 = getelementptr inbounds nuw i8, ptr %.5963413003, i64 32 - %.59626 = getelementptr inbounds nuw i8, ptr %.5962613004, i64 36 - %16121 = getelementptr inbounds nuw i8, ptr %.5963413003, i64 60 - %16122 = load i8, ptr %16121, align 4 - %16123 = icmp eq i8 %16122, 64 - br i1 %16123, label %16023, label %.loopexit12729 - -16124: ; preds = %.lr.ph12986, %16221 - %.6962712985 = phi ptr [ %.6962712981, %.lr.ph12986 ], [ %.69627, %16221 ] - %.6963512984 = phi ptr [ %.6963512980, %.lr.ph12986 ], [ %.69635, %16221 ] - %.09621.pn12983 = phi ptr [ %.09621, %.lr.ph12986 ], [ %.6962712985, %16221 ] - %.pn1173812982 = phi ptr [ %2501, %.lr.ph12986 ], [ %.6963512984, %16221 ] - %16125 = getelementptr inbounds nuw i8, ptr %.09621.pn12983, i64 48 - %16126 = load i32, ptr %16125, align 4 - %16127 = icmp sgt i32 %16126, -1 - br i1 %16127, label %16128, label %16221 - -16128: ; preds = %16124 - %16129 = load ptr, ptr %2477, align 8 - %16130 = zext nneg i32 %16126 to i64 - %16131 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %16129, i64 %16130 - %16132 = load i32, ptr %16131, align 8 - %16133 = and i32 %16132, 268435456 - %.not11734 = icmp eq i32 %16133, 0 - br i1 %.not11734, label %16134, label %16165 - -16134: ; preds = %16128 - %16135 = and i32 %16132, 1023 - %16136 = call range(i32 0, 11) i32 @llvm.ctpop.i32(i32 %16135) - %16137 = icmp ne i32 %16135, 0 - %16138 = icmp eq i32 %16136, 1 - br i1 %16138, label %16139, label %16165 - -16139: ; preds = %16134 - call void @llvm.assume(i1 %16137) - %16140 = lshr i32 %16135, 1 - %16141 = or i32 %16140, %16135 - %16142 = lshr i32 %16141, 2 - %16143 = or i32 %16142, %16141 - %16144 = lshr i32 %16143, 4 - %16145 = or i32 %16144, %16143 - %16146 = lshr i32 %16145, 8 - %16147 = or i32 %16146, %16145 - %16148 = lshr i32 %16147, 1 - %16149 = and i32 %16148, 1431655765 - %16150 = sub nsw i32 %16147, %16149 - %16151 = lshr i32 %16150, 2 - %16152 = and i32 %16151, 858993459 - %16153 = and i32 %16150, 858993459 - %16154 = add nuw nsw i32 %16152, %16153 - %16155 = lshr i32 %16154, 4 - %16156 = add nuw nsw i32 %16155, %16154 - %16157 = and i32 %16156, 252645135 - %16158 = lshr i32 %16157, 8 - %16159 = add nuw nsw i32 %16158, %16157 - %16160 = lshr i32 %16159, 16 - %16161 = add nuw nsw i32 %16160, %16159 - %16162 = trunc i32 %16161 to i8 - %16163 = and i8 %16162, 63 - %16164 = add nsw i8 %16163, -1 - br label %16165 - -16165: ; preds = %16128, %16134, %16139 - %.09401 = phi i8 [ -1, %16128 ], [ %16164, %16139 ], [ -1, %16134 ] - %16166 = getelementptr inbounds nuw i8, ptr %.pn1173812982, i64 40 - %16167 = load i32, ptr %16166, align 8 - %16168 = lshr i32 %16167, 4 - %16169 = add nsw i32 %16168, -5 - %16170 = zext i32 %16169 to i64 - %16171 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %16170 - store i8 %.09401, ptr %16171, align 4 - br i1 %or.cond199, label %16172, label %16177 - -16172: ; preds = %16165 - %16173 = load i32, ptr %16125, align 4 - %16174 = sext i32 %16173 to i64 - %16175 = getelementptr inbounds %struct._zend_jit_reg_var, ptr %.09775, i64 %16174 - %16176 = load i32, ptr %16175, align 4 - %.not11736 = icmp eq i32 %16176, 0 - br i1 %.not11736, label %16177, label %16182 - -16177: ; preds = %16172, %16165 - %16178 = load i32, ptr %16166, align 8 - %16179 = lshr i32 %16178, 4 - %16180 = add nsw i32 %16179, -5 - %16181 = zext i32 %16180 to i64 - %gep12971 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %invariant.gep12970, i64 %16181 - store i8 %.09401, ptr %gep12971, align 1 - br label %16182 - -16182: ; preds = %16177, %16172 - %16183 = load i32, ptr %16166, align 8 - %16184 = lshr i32 %16183, 4 - %16185 = add nsw i32 %16184, -5 - %16186 = zext i32 %16185 to i64 - %gep12973 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %invariant.gep12972, i64 %16186 - store i8 -1, ptr %gep12973, align 2 - %16187 = load i32, ptr %16166, align 8 - %16188 = lshr i32 %16187, 4 - %16189 = add nsw i32 %16188, -5 - %16190 = zext i32 %16189 to i64 - %gep12975 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %invariant.gep12974, i64 %16190 - store i8 0, ptr %gep12975, align 1 - %16191 = load i32, ptr %16166, align 8 - %16192 = lshr i32 %16191, 4 - %16193 = add nsw i32 %16192, -5 - %16194 = zext i32 %16193 to i64 - %16195 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %16194, i32 1 - store i32 0, ptr %16195, align 4 - %16196 = load i32, ptr %16166, align 8 - %16197 = lshr i32 %16196, 4 - %16198 = add nsw i32 %16197, -5 - %16199 = zext i32 %16198 to i64 - %gep12977 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %invariant.gep12974, i64 %16199 - store i8 0, ptr %gep12977, align 1 - br i1 %.not11593, label %16200, label %16221 - -16200: ; preds = %16182 - %16201 = load i32, ptr %16125, align 4 - %16202 = sext i32 %16201 to i64 - %16203 = getelementptr inbounds %struct._zend_jit_reg_var, ptr %.09775, i64 %16202 - %16204 = load i32, ptr %16203, align 4 - %.not11737 = icmp eq i32 %16204, 0 - br i1 %.not11737, label %16221, label %16205 - -16205: ; preds = %16200 - %16206 = load i32, ptr %16166, align 8 - %16207 = lshr i32 %16206, 4 - %16208 = add nsw i32 %16207, -5 - %16209 = zext i32 %16208 to i64 - %16210 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %16209, i32 1 - store i32 %16204, ptr %16210, align 4 - %16211 = load i32, ptr %16125, align 4 - %16212 = sext i32 %16211 to i64 - %16213 = getelementptr inbounds %struct._zend_jit_reg_var, ptr %.09775, i64 %16212, i32 1 - %16214 = load i32, ptr %16213, align 4 - %16215 = trunc i32 %16214 to i8 - %16216 = and i8 %16215, 2 - %16217 = load i32, ptr %16166, align 8 - %16218 = lshr i32 %16217, 4 - %16219 = add nsw i32 %16218, -5 - %16220 = zext i32 %16219 to i64 - %gep12979 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %invariant.gep12974, i64 %16220 - store i8 %16216, ptr %gep12979, align 1 - br label %16221 - -16221: ; preds = %16182, %16200, %16205, %16124 - %.69635 = getelementptr inbounds nuw i8, ptr %.6963512984, i64 32 - %.69627 = getelementptr inbounds nuw i8, ptr %.6962712985, i64 36 - %16222 = getelementptr inbounds nuw i8, ptr %.6963512984, i64 60 - %16223 = load i8, ptr %16222, align 4 - %16224 = icmp eq i8 %16223, -88 - br i1 %16224, label %16124, label %.loopexit12729 - -16225: ; preds = %15857 - %16226 = getelementptr inbounds nuw i8, ptr %2501, i64 31 - %16227 = load i8, ptr %16226, align 1 - %16228 = and i8 %16227, 48 - %.not11753 = icmp eq i8 %16228, 0 - %16229 = select i1 %.not11753, i64 1, i64 2 - br label %16230 - -16230: ; preds = %16225, %15857 - %.09799 = phi i64 [ 2, %15857 ], [ %16229, %16225 ] - %16231 = getelementptr inbounds nuw %struct._zend_ssa_op, ptr %.09621, i64 %.09799 - br label %.loopexit12729 - -.loopexit12729: ; preds = %16221, %16120, %.preheader12730, %.preheader12728, %16230, %16021 - %.49633 = phi ptr [ %2501, %16230 ], [ %15867, %16021 ], [ %.5963412999, %.preheader12728 ], [ %.6963512980, %.preheader12730 ], [ %.59634, %16120 ], [ %.69635, %16221 ] - %.49625 = phi ptr [ %16231, %16230 ], [ %16022, %16021 ], [ %.5962613000, %.preheader12728 ], [ %.6962712981, %.preheader12730 ], [ %.59626, %16120 ], [ %.69627, %16221 ] - %16232 = trunc i8 %.19717 to i1 - br i1 %16232, label %16233, label %.loopexit12751 - -16233: ; preds = %.loopexit12729 - %16234 = getelementptr inbounds nuw i8, ptr %.49625, i64 36 - %16235 = getelementptr inbounds nuw i8, ptr %.39762, i64 16 - %16236 = getelementptr inbounds nuw i8, ptr %.39762, i64 32 - %16237 = load i8, ptr %16236, align 8 - %16238 = icmp eq i8 %16237, 1 - %spec.select11983 = select i1 %16238, ptr %16236, ptr %16235 - br label %.loopexit12751 - -16239: ; preds = %2491 - %16240 = load ptr, ptr %.09646, align 8 - %16241 = getelementptr inbounds nuw i8, ptr %.09629, i64 28 - %16242 = load i8, ptr %16241, align 4 - switch i8 %16242, label %16277 [ - i8 -126, label %16243 - i8 -125, label %16243 - i8 60, label %16243 +.preheader12727: ; preds = %15856 + %invariant.gep12967 = getelementptr inbounds nuw i8, ptr %.09641, i64 1 + %invariant.gep12969 = getelementptr inbounds nuw i8, ptr %.09641, i64 2 + %invariant.gep12971 = getelementptr inbounds nuw i8, ptr %.09641, i64 3 + %.6963512977 = getelementptr inbounds nuw i8, ptr %2501, i64 32 + %.6962712978 = getelementptr inbounds nuw i8, ptr %.09621, i64 36 + %15858 = getelementptr inbounds nuw i8, ptr %2501, i64 60 + %15859 = load i8, ptr %15858, align 4 + %15860 = icmp eq i8 %15859, -88 + br i1 %15860, label %.lr.ph12983, label %.loopexit12726 + +.lr.ph12983: ; preds = %.preheader12727 + %or.cond199 = and i1 %.not11591, %.09576.not + br label %16123 + +.preheader12725: ; preds = %15856 + %invariant.gep12986 = getelementptr inbounds nuw i8, ptr %.09641, i64 1 + %invariant.gep12988 = getelementptr inbounds nuw i8, ptr %.09641, i64 2 + %invariant.gep12990 = getelementptr inbounds nuw i8, ptr %.09641, i64 3 + %.5963412996 = getelementptr inbounds nuw i8, ptr %2501, i64 32 + %.5962612997 = getelementptr inbounds nuw i8, ptr %.09621, i64 36 + %15861 = getelementptr inbounds nuw i8, ptr %2501, i64 60 + %15862 = load i8, ptr %15861, align 4 + %15863 = icmp eq i8 %15862, 64 + br i1 %15863, label %.lr.ph13002, label %.loopexit12726 + +.lr.ph13002: ; preds = %.preheader12725 + %or.cond196 = and i1 %.not11591, %.09576.not + br label %16022 + +15864: ; preds = %15856, %15856, %15856, %15856, %15856, %15856, %15856, %15856 + %15865 = getelementptr inbounds nuw i8, ptr %.09621, i64 36 + %15866 = getelementptr inbounds nuw i8, ptr %2501, i64 32 + %15867 = getelementptr inbounds nuw i8, ptr %.09621, i64 48 + %15868 = load i32, ptr %15867, align 4 + %15869 = icmp sgt i32 %15868, -1 + br i1 %15869, label %15870, label %16020 + +15870: ; preds = %15864 + %15871 = load ptr, ptr %2477, align 8 + %15872 = zext nneg i32 %15868 to i64 + %15873 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %15871, i64 %15872 + %15874 = load i32, ptr %15873, align 8 + %15875 = and i32 %15874, 268435456 + %.not11743 = icmp eq i32 %15875, 0 + br i1 %.not11743, label %15876, label %15907 + +15876: ; preds = %15870 + %15877 = and i32 %15874, 1023 + %15878 = call range(i32 0, 11) i32 @llvm.ctpop.i32(i32 %15877) + %15879 = icmp ne i32 %15877, 0 + %15880 = icmp eq i32 %15878, 1 + br i1 %15880, label %15881, label %15907 + +15881: ; preds = %15876 + call void @llvm.assume(i1 %15879) + %15882 = lshr i32 %15877, 1 + %15883 = or i32 %15882, %15877 + %15884 = lshr i32 %15883, 2 + %15885 = or i32 %15884, %15883 + %15886 = lshr i32 %15885, 4 + %15887 = or i32 %15886, %15885 + %15888 = lshr i32 %15887, 8 + %15889 = or i32 %15888, %15887 + %15890 = lshr i32 %15889, 1 + %15891 = and i32 %15890, 1431655765 + %15892 = sub nsw i32 %15889, %15891 + %15893 = lshr i32 %15892, 2 + %15894 = and i32 %15893, 858993459 + %15895 = and i32 %15892, 858993459 + %15896 = add nuw nsw i32 %15894, %15895 + %15897 = lshr i32 %15896, 4 + %15898 = add nuw nsw i32 %15897, %15896 + %15899 = and i32 %15898, 252645135 + %15900 = lshr i32 %15899, 8 + %15901 = add nuw nsw i32 %15900, %15899 + %15902 = lshr i32 %15901, 16 + %15903 = add nuw nsw i32 %15902, %15901 + %15904 = trunc i32 %15903 to i8 + %15905 = and i8 %15904, 63 + %15906 = add nsw i8 %15905, -1 + br label %15916 + +15907: ; preds = %15876, %15870 + %.off12065 = add nsw i8 %15857, -23 + %switch12066 = icmp samesign ult i8 %.off12065, 3 + br i1 %switch12066, label %15908, label %15916 + +15908: ; preds = %15907 + %15909 = getelementptr inbounds nuw i8, ptr %2501, i64 40 + %15910 = load i32, ptr %15909, align 8 + %15911 = lshr i32 %15910, 4 + %15912 = add nsw i32 %15911, -5 + %15913 = zext i32 %15912 to i64 + %15914 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15913 + %15915 = load i8, ptr %15914, align 4 + br label %15916 + +15916: ; preds = %15907, %15881, %15908 + %.09405 = phi i8 [ %15915, %15908 ], [ %15906, %15881 ], [ -1, %15907 ] + %15917 = getelementptr inbounds nuw i8, ptr %2501, i64 40 + %15918 = load i32, ptr %15917, align 8 + %15919 = lshr i32 %15918, 4 + %15920 = add nsw i32 %15919, -5 + %15921 = zext i32 %15920 to i64 + %15922 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15921 + store i8 %.09405, ptr %15922, align 4 + %15923 = icmp ne i8 %.09405, -1 + %or.cond191.not11746 = select i1 %.09576.not, i1 %15923, i1 false + %or.cond193 = and i1 %.not11591, %or.cond191.not11746 + br i1 %or.cond193, label %15924, label %15929 + +15924: ; preds = %15916 + %15925 = load i32, ptr %15867, align 4 + %15926 = sext i32 %15925 to i64 + %15927 = getelementptr inbounds %struct._zend_jit_reg_var, ptr %.09775, i64 %15926 + %15928 = load i32, ptr %15927, align 4 + %.not = icmp eq i32 %15928, 0 + br i1 %.not, label %15929, label %15936 + +15929: ; preds = %15924, %15916 + %15930 = load i32, ptr %15917, align 8 + %15931 = lshr i32 %15930, 4 + %15932 = add nsw i32 %15931, -5 + %15933 = zext i32 %15932 to i64 + %15934 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15933 + %15935 = getelementptr inbounds nuw i8, ptr %15934, i64 1 + store i8 %.09405, ptr %15935, align 1 + br label %15936 + +15936: ; preds = %15929, %15924 + %15937 = load i32, ptr %15917, align 8 + %15938 = lshr i32 %15937, 4 + %15939 = add nsw i32 %15938, -5 + %15940 = zext i32 %15939 to i64 + %15941 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15940 + %15942 = getelementptr inbounds nuw i8, ptr %15941, i64 2 + store i8 -1, ptr %15942, align 2 + %15943 = load i32, ptr %15917, align 8 + %15944 = lshr i32 %15943, 4 + %15945 = add nsw i32 %15944, -5 + %15946 = zext i32 %15945 to i64 + %15947 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15946 + %15948 = getelementptr inbounds nuw i8, ptr %15947, i64 3 + store i8 0, ptr %15948, align 1 + %15949 = load i32, ptr %15917, align 8 + %15950 = lshr i32 %15949, 4 + %15951 = add nsw i32 %15950, -5 + %15952 = zext i32 %15951 to i64 + %15953 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15952, i32 1 + store i32 0, ptr %15953, align 4 + %15954 = load i32, ptr %15917, align 8 + %15955 = lshr i32 %15954, 4 + %15956 = add nsw i32 %15955, -5 + %15957 = zext i32 %15956 to i64 + %15958 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15957 + %15959 = getelementptr inbounds nuw i8, ptr %15958, i64 3 + store i8 0, ptr %15959, align 1 + %cond12067 = icmp eq i8 %.09405, -1 + br i1 %cond12067, label %16020, label %15960 + +15960: ; preds = %15936 + %15961 = load ptr, ptr %2477, align 8 + %15962 = load i32, ptr %15867, align 4 + %15963 = sext i32 %15962 to i64 + %15964 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %15961, i64 %15963 + %15965 = load i32, ptr %15964, align 8 + %15966 = and i32 %15965, -268435457 + store i32 %15966, ptr %15964, align 8 + br i1 %.not11591, label %15967, label %15990 + +15967: ; preds = %15960 + %15968 = load i32, ptr %15867, align 4 + %15969 = sext i32 %15968 to i64 + %15970 = getelementptr inbounds %struct._zend_jit_reg_var, ptr %.09775, i64 %15969 + %15971 = load i32, ptr %15970, align 4 + %.not11748 = icmp eq i32 %15971, 0 + br i1 %.not11748, label %15990, label %15972 + +15972: ; preds = %15967 + %15973 = load i32, ptr %15917, align 8 + %15974 = lshr i32 %15973, 4 + %15975 = add nsw i32 %15974, -5 + %15976 = zext i32 %15975 to i64 + %15977 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15976, i32 1 + store i32 %15971, ptr %15977, align 4 + %15978 = load i32, ptr %15867, align 4 + %15979 = sext i32 %15978 to i64 + %15980 = getelementptr inbounds %struct._zend_jit_reg_var, ptr %.09775, i64 %15979, i32 1 + %15981 = load i32, ptr %15980, align 4 + %15982 = trunc i32 %15981 to i8 + %15983 = and i8 %15982, 2 + %15984 = load i32, ptr %15917, align 8 + %15985 = lshr i32 %15984, 4 + %15986 = add nsw i32 %15985, -5 + %15987 = zext i32 %15986 to i64 + %15988 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %15987 + %15989 = getelementptr inbounds nuw i8, ptr %15988, i64 3 + store i8 %15983, ptr %15989, align 1 + br label %15990 + +15990: ; preds = %15960, %15967, %15972 + %15991 = icmp eq i8 %.09405, 4 + br i1 %15991, label %15992, label %16020 + +15992: ; preds = %15990 + %15993 = load i32, ptr %15867, align 4 + %15994 = call zeroext i1 @zend_inference_propagate_range(ptr noundef %.09771, ptr noundef nonnull %40, ptr noundef nonnull %15866, ptr noundef nonnull %15865, i32 noundef %15993, ptr noundef nonnull %25) #33 + br i1 %15994, label %15995, label %16020 + +15995: ; preds = %15992 + %15996 = load i64, ptr %25, align 8 + %15997 = load ptr, ptr %2477, align 8 + %15998 = load i32, ptr %15867, align 4 + %15999 = sext i32 %15998 to i64 + %16000 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %15997, i64 %15999, i32 2 + store i64 %15996, ptr %16000, align 8 + %16001 = load i64, ptr %2490, align 8 + %16002 = load ptr, ptr %2477, align 8 + %16003 = load i32, ptr %15867, align 4 + %16004 = sext i32 %16003 to i64 + %16005 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %16002, i64 %16004, i32 2, i32 1 + store i64 %16001, ptr %16005, align 8 + %16006 = load ptr, ptr %2477, align 8 + %16007 = load i32, ptr %15867, align 4 + %16008 = sext i32 %16007 to i64 + %16009 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %16006, i64 %16008, i32 2, i32 2 + store i8 0, ptr %16009, align 8 + %16010 = load ptr, ptr %2477, align 8 + %16011 = load i32, ptr %15867, align 4 + %16012 = sext i32 %16011 to i64 + %16013 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %16010, i64 %16012, i32 2, i32 3 + store i8 0, ptr %16013, align 1 + %16014 = load ptr, ptr %2477, align 8 + %16015 = load i32, ptr %15867, align 4 + %16016 = sext i32 %16015 to i64 + %16017 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %16014, i64 %16016, i32 1 + %16018 = load i8, ptr %16017, align 4 + %16019 = or i8 %16018, 1 + store i8 %16019, ptr %16017, align 4 + br label %16020 + +16020: ; preds = %15936, %15990, %15992, %15995, %15864 + %16021 = getelementptr inbounds nuw i8, ptr %.09621, i64 72 + br label %.loopexit12726 + +16022: ; preds = %.lr.ph13002, %16119 + %.5962613001 = phi ptr [ %.5962612997, %.lr.ph13002 ], [ %.59626, %16119 ] + %.5963413000 = phi ptr [ %.5963412996, %.lr.ph13002 ], [ %.59634, %16119 ] + %.09621.pn1174112999 = phi ptr [ %.09621, %.lr.ph13002 ], [ %.5962613001, %16119 ] + %.pn1174212998 = phi ptr [ %2501, %.lr.ph13002 ], [ %.5963413000, %16119 ] + %16023 = getelementptr inbounds nuw i8, ptr %.09621.pn1174112999, i64 56 + %16024 = load i32, ptr %16023, align 4 + %16025 = icmp sgt i32 %16024, -1 + br i1 %16025, label %16026, label %16119 + +16026: ; preds = %16022 + %16027 = load ptr, ptr %2477, align 8 + %16028 = zext nneg i32 %16024 to i64 + %16029 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %16027, i64 %16028 + %16030 = load i32, ptr %16029, align 8 + %16031 = and i32 %16030, 268435456 + %.not11737 = icmp eq i32 %16031, 0 + br i1 %.not11737, label %16032, label %16063 + +16032: ; preds = %16026 + %16033 = and i32 %16030, 1023 + %16034 = call range(i32 0, 11) i32 @llvm.ctpop.i32(i32 %16033) + %16035 = icmp ne i32 %16033, 0 + %16036 = icmp eq i32 %16034, 1 + br i1 %16036, label %16037, label %16063 + +16037: ; preds = %16032 + call void @llvm.assume(i1 %16035) + %16038 = lshr i32 %16033, 1 + %16039 = or i32 %16038, %16033 + %16040 = lshr i32 %16039, 2 + %16041 = or i32 %16040, %16039 + %16042 = lshr i32 %16041, 4 + %16043 = or i32 %16042, %16041 + %16044 = lshr i32 %16043, 8 + %16045 = or i32 %16044, %16043 + %16046 = lshr i32 %16045, 1 + %16047 = and i32 %16046, 1431655765 + %16048 = sub nsw i32 %16045, %16047 + %16049 = lshr i32 %16048, 2 + %16050 = and i32 %16049, 858993459 + %16051 = and i32 %16048, 858993459 + %16052 = add nuw nsw i32 %16050, %16051 + %16053 = lshr i32 %16052, 4 + %16054 = add nuw nsw i32 %16053, %16052 + %16055 = and i32 %16054, 252645135 + %16056 = lshr i32 %16055, 8 + %16057 = add nuw nsw i32 %16056, %16055 + %16058 = lshr i32 %16057, 16 + %16059 = add nuw nsw i32 %16058, %16057 + %16060 = trunc i32 %16059 to i8 + %16061 = and i8 %16060, 63 + %16062 = add nsw i8 %16061, -1 + br label %16063 + +16063: ; preds = %16026, %16032, %16037 + %.09403 = phi i8 [ -1, %16026 ], [ %16062, %16037 ], [ -1, %16032 ] + %16064 = getelementptr inbounds nuw i8, ptr %.pn1174212998, i64 48 + %16065 = load i32, ptr %16064, align 8 + %16066 = lshr i32 %16065, 4 + %16067 = add nsw i32 %16066, -5 + %16068 = zext i32 %16067 to i64 + %16069 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %16068 + store i8 %.09403, ptr %16069, align 4 + br i1 %or.cond196, label %16070, label %16075 + +16070: ; preds = %16063 + %16071 = load i32, ptr %16023, align 4 + %16072 = sext i32 %16071 to i64 + %16073 = getelementptr inbounds %struct._zend_jit_reg_var, ptr %.09775, i64 %16072 + %16074 = load i32, ptr %16073, align 4 + %.not11739 = icmp eq i32 %16074, 0 + br i1 %.not11739, label %16075, label %16080 + +16075: ; preds = %16070, %16063 + %16076 = load i32, ptr %16064, align 8 + %16077 = lshr i32 %16076, 4 + %16078 = add nsw i32 %16077, -5 + %16079 = zext i32 %16078 to i64 + %gep12987 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %invariant.gep12986, i64 %16079 + store i8 %.09403, ptr %gep12987, align 1 + br label %16080 + +16080: ; preds = %16075, %16070 + %16081 = load i32, ptr %16064, align 8 + %16082 = lshr i32 %16081, 4 + %16083 = add nsw i32 %16082, -5 + %16084 = zext i32 %16083 to i64 + %gep12989 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %invariant.gep12988, i64 %16084 + store i8 -1, ptr %gep12989, align 2 + %16085 = load i32, ptr %16064, align 8 + %16086 = lshr i32 %16085, 4 + %16087 = add nsw i32 %16086, -5 + %16088 = zext i32 %16087 to i64 + %gep12991 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %invariant.gep12990, i64 %16088 + store i8 0, ptr %gep12991, align 1 + %16089 = load i32, ptr %16064, align 8 + %16090 = lshr i32 %16089, 4 + %16091 = add nsw i32 %16090, -5 + %16092 = zext i32 %16091 to i64 + %16093 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %16092, i32 1 + store i32 0, ptr %16093, align 4 + %16094 = load i32, ptr %16064, align 8 + %16095 = lshr i32 %16094, 4 + %16096 = add nsw i32 %16095, -5 + %16097 = zext i32 %16096 to i64 + %gep12993 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %invariant.gep12990, i64 %16097 + store i8 0, ptr %gep12993, align 1 + br i1 %.not11591, label %16098, label %16119 + +16098: ; preds = %16080 + %16099 = load i32, ptr %16023, align 4 + %16100 = sext i32 %16099 to i64 + %16101 = getelementptr inbounds %struct._zend_jit_reg_var, ptr %.09775, i64 %16100 + %16102 = load i32, ptr %16101, align 4 + %.not11740 = icmp eq i32 %16102, 0 + br i1 %.not11740, label %16119, label %16103 + +16103: ; preds = %16098 + %16104 = load i32, ptr %16064, align 8 + %16105 = lshr i32 %16104, 4 + %16106 = add nsw i32 %16105, -5 + %16107 = zext i32 %16106 to i64 + %16108 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %16107, i32 1 + store i32 %16102, ptr %16108, align 4 + %16109 = load i32, ptr %16023, align 4 + %16110 = sext i32 %16109 to i64 + %16111 = getelementptr inbounds %struct._zend_jit_reg_var, ptr %.09775, i64 %16110, i32 1 + %16112 = load i32, ptr %16111, align 4 + %16113 = trunc i32 %16112 to i8 + %16114 = and i8 %16113, 2 + %16115 = load i32, ptr %16064, align 8 + %16116 = lshr i32 %16115, 4 + %16117 = add nsw i32 %16116, -5 + %16118 = zext i32 %16117 to i64 + %gep12995 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %invariant.gep12990, i64 %16118 + store i8 %16114, ptr %gep12995, align 1 + br label %16119 + +16119: ; preds = %16080, %16098, %16103, %16022 + %.59634 = getelementptr inbounds nuw i8, ptr %.5963413000, i64 32 + %.59626 = getelementptr inbounds nuw i8, ptr %.5962613001, i64 36 + %16120 = getelementptr inbounds nuw i8, ptr %.5963413000, i64 60 + %16121 = load i8, ptr %16120, align 4 + %16122 = icmp eq i8 %16121, 64 + br i1 %16122, label %16022, label %.loopexit12726 + +16123: ; preds = %.lr.ph12983, %16220 + %.6962712982 = phi ptr [ %.6962712978, %.lr.ph12983 ], [ %.69627, %16220 ] + %.6963512981 = phi ptr [ %.6963512977, %.lr.ph12983 ], [ %.69635, %16220 ] + %.09621.pn12980 = phi ptr [ %.09621, %.lr.ph12983 ], [ %.6962712982, %16220 ] + %.pn1173612979 = phi ptr [ %2501, %.lr.ph12983 ], [ %.6963512981, %16220 ] + %16124 = getelementptr inbounds nuw i8, ptr %.09621.pn12980, i64 48 + %16125 = load i32, ptr %16124, align 4 + %16126 = icmp sgt i32 %16125, -1 + br i1 %16126, label %16127, label %16220 + +16127: ; preds = %16123 + %16128 = load ptr, ptr %2477, align 8 + %16129 = zext nneg i32 %16125 to i64 + %16130 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %16128, i64 %16129 + %16131 = load i32, ptr %16130, align 8 + %16132 = and i32 %16131, 268435456 + %.not11732 = icmp eq i32 %16132, 0 + br i1 %.not11732, label %16133, label %16164 + +16133: ; preds = %16127 + %16134 = and i32 %16131, 1023 + %16135 = call range(i32 0, 11) i32 @llvm.ctpop.i32(i32 %16134) + %16136 = icmp ne i32 %16134, 0 + %16137 = icmp eq i32 %16135, 1 + br i1 %16137, label %16138, label %16164 + +16138: ; preds = %16133 + call void @llvm.assume(i1 %16136) + %16139 = lshr i32 %16134, 1 + %16140 = or i32 %16139, %16134 + %16141 = lshr i32 %16140, 2 + %16142 = or i32 %16141, %16140 + %16143 = lshr i32 %16142, 4 + %16144 = or i32 %16143, %16142 + %16145 = lshr i32 %16144, 8 + %16146 = or i32 %16145, %16144 + %16147 = lshr i32 %16146, 1 + %16148 = and i32 %16147, 1431655765 + %16149 = sub nsw i32 %16146, %16148 + %16150 = lshr i32 %16149, 2 + %16151 = and i32 %16150, 858993459 + %16152 = and i32 %16149, 858993459 + %16153 = add nuw nsw i32 %16151, %16152 + %16154 = lshr i32 %16153, 4 + %16155 = add nuw nsw i32 %16154, %16153 + %16156 = and i32 %16155, 252645135 + %16157 = lshr i32 %16156, 8 + %16158 = add nuw nsw i32 %16157, %16156 + %16159 = lshr i32 %16158, 16 + %16160 = add nuw nsw i32 %16159, %16158 + %16161 = trunc i32 %16160 to i8 + %16162 = and i8 %16161, 63 + %16163 = add nsw i8 %16162, -1 + br label %16164 + +16164: ; preds = %16127, %16133, %16138 + %.09401 = phi i8 [ -1, %16127 ], [ %16163, %16138 ], [ -1, %16133 ] + %16165 = getelementptr inbounds nuw i8, ptr %.pn1173612979, i64 40 + %16166 = load i32, ptr %16165, align 8 + %16167 = lshr i32 %16166, 4 + %16168 = add nsw i32 %16167, -5 + %16169 = zext i32 %16168 to i64 + %16170 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %16169 + store i8 %.09401, ptr %16170, align 4 + br i1 %or.cond199, label %16171, label %16176 + +16171: ; preds = %16164 + %16172 = load i32, ptr %16124, align 4 + %16173 = sext i32 %16172 to i64 + %16174 = getelementptr inbounds %struct._zend_jit_reg_var, ptr %.09775, i64 %16173 + %16175 = load i32, ptr %16174, align 4 + %.not11734 = icmp eq i32 %16175, 0 + br i1 %.not11734, label %16176, label %16181 + +16176: ; preds = %16171, %16164 + %16177 = load i32, ptr %16165, align 8 + %16178 = lshr i32 %16177, 4 + %16179 = add nsw i32 %16178, -5 + %16180 = zext i32 %16179 to i64 + %gep12968 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %invariant.gep12967, i64 %16180 + store i8 %.09401, ptr %gep12968, align 1 + br label %16181 + +16181: ; preds = %16176, %16171 + %16182 = load i32, ptr %16165, align 8 + %16183 = lshr i32 %16182, 4 + %16184 = add nsw i32 %16183, -5 + %16185 = zext i32 %16184 to i64 + %gep12970 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %invariant.gep12969, i64 %16185 + store i8 -1, ptr %gep12970, align 2 + %16186 = load i32, ptr %16165, align 8 + %16187 = lshr i32 %16186, 4 + %16188 = add nsw i32 %16187, -5 + %16189 = zext i32 %16188 to i64 + %gep12972 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %invariant.gep12971, i64 %16189 + store i8 0, ptr %gep12972, align 1 + %16190 = load i32, ptr %16165, align 8 + %16191 = lshr i32 %16190, 4 + %16192 = add nsw i32 %16191, -5 + %16193 = zext i32 %16192 to i64 + %16194 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %16193, i32 1 + store i32 0, ptr %16194, align 4 + %16195 = load i32, ptr %16165, align 8 + %16196 = lshr i32 %16195, 4 + %16197 = add nsw i32 %16196, -5 + %16198 = zext i32 %16197 to i64 + %gep12974 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %invariant.gep12971, i64 %16198 + store i8 0, ptr %gep12974, align 1 + br i1 %.not11591, label %16199, label %16220 + +16199: ; preds = %16181 + %16200 = load i32, ptr %16124, align 4 + %16201 = sext i32 %16200 to i64 + %16202 = getelementptr inbounds %struct._zend_jit_reg_var, ptr %.09775, i64 %16201 + %16203 = load i32, ptr %16202, align 4 + %.not11735 = icmp eq i32 %16203, 0 + br i1 %.not11735, label %16220, label %16204 + +16204: ; preds = %16199 + %16205 = load i32, ptr %16165, align 8 + %16206 = lshr i32 %16205, 4 + %16207 = add nsw i32 %16206, -5 + %16208 = zext i32 %16207 to i64 + %16209 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %16208, i32 1 + store i32 %16203, ptr %16209, align 4 + %16210 = load i32, ptr %16124, align 4 + %16211 = sext i32 %16210 to i64 + %16212 = getelementptr inbounds %struct._zend_jit_reg_var, ptr %.09775, i64 %16211, i32 1 + %16213 = load i32, ptr %16212, align 4 + %16214 = trunc i32 %16213 to i8 + %16215 = and i8 %16214, 2 + %16216 = load i32, ptr %16165, align 8 + %16217 = lshr i32 %16216, 4 + %16218 = add nsw i32 %16217, -5 + %16219 = zext i32 %16218 to i64 + %gep12976 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %invariant.gep12971, i64 %16219 + store i8 %16215, ptr %gep12976, align 1 + br label %16220 + +16220: ; preds = %16181, %16199, %16204, %16123 + %.69635 = getelementptr inbounds nuw i8, ptr %.6963512981, i64 32 + %.69627 = getelementptr inbounds nuw i8, ptr %.6962712982, i64 36 + %16221 = getelementptr inbounds nuw i8, ptr %.6963512981, i64 60 + %16222 = load i8, ptr %16221, align 4 + %16223 = icmp eq i8 %16222, -88 + br i1 %16223, label %16123, label %.loopexit12726 + +16224: ; preds = %15856 + %16225 = getelementptr inbounds nuw i8, ptr %2501, i64 31 + %16226 = load i8, ptr %16225, align 1 + %16227 = and i8 %16226, 48 + %.not11751 = icmp eq i8 %16227, 0 + %16228 = select i1 %.not11751, i64 1, i64 2 + br label %16229 + +16229: ; preds = %16224, %15856 + %.09799 = phi i64 [ 2, %15856 ], [ %16228, %16224 ] + %16230 = getelementptr inbounds nuw %struct._zend_ssa_op, ptr %.09621, i64 %.09799 + br label %.loopexit12726 + +.loopexit12726: ; preds = %16220, %16119, %.preheader12727, %.preheader12725, %16229, %16020 + %.49633 = phi ptr [ %2501, %16229 ], [ %15866, %16020 ], [ %.5963412996, %.preheader12725 ], [ %.6963512977, %.preheader12727 ], [ %.59634, %16119 ], [ %.69635, %16220 ] + %.49625 = phi ptr [ %16230, %16229 ], [ %16021, %16020 ], [ %.5962612997, %.preheader12725 ], [ %.6962712978, %.preheader12727 ], [ %.59626, %16119 ], [ %.69627, %16220 ] + %16231 = trunc i8 %.19717 to i1 + br i1 %16231, label %16232, label %.loopexit12748 + +16232: ; preds = %.loopexit12726 + %16233 = getelementptr inbounds nuw i8, ptr %.49625, i64 36 + %16234 = getelementptr inbounds nuw i8, ptr %.39762, i64 16 + %16235 = getelementptr inbounds nuw i8, ptr %.39762, i64 32 + %16236 = load i8, ptr %16235, align 8 + %16237 = icmp eq i8 %16236, 1 + %spec.select11981 = select i1 %16237, ptr %16235, ptr %16234 + br label %.loopexit12748 + +16238: ; preds = %2491 + %16239 = load ptr, ptr %.09646, align 8 + %16240 = getelementptr inbounds nuw i8, ptr %.09629, i64 28 + %16241 = load i8, ptr %16240, align 4 + switch i8 %16241, label %16276 [ + i8 -126, label %16242 + i8 -125, label %16242 + i8 60, label %16242 ] -16243: ; preds = %16239, %16239, %16239 - %16244 = getelementptr inbounds nuw i8, ptr %.09646, i64 24 - store ptr %.09629, ptr %16244, align 8 - %16245 = getelementptr inbounds nuw i8, ptr %.09771, i64 88 - %16246 = load ptr, ptr %16245, align 8 - %16247 = icmp ugt ptr %.09629, %16246 - br i1 %16247, label %.preheader12753, label %16277 - -.preheader12753: ; preds = %16243, %.critedge - %.09629.pn = phi ptr [ %.09399, %.critedge ], [ %.09629, %16243 ] - %16248 = getelementptr inbounds i8, ptr %.09629.pn, i64 -4 - %16249 = load i8, ptr %16248, align 4 - switch i8 %16249, label %16250 [ +16242: ; preds = %16238, %16238, %16238 + %16243 = getelementptr inbounds nuw i8, ptr %.09646, i64 24 + store ptr %.09629, ptr %16243, align 8 + %16244 = getelementptr inbounds nuw i8, ptr %.09771, i64 88 + %16245 = load ptr, ptr %16244, align 8 + %16246 = icmp ugt ptr %.09629, %16245 + br i1 %16246, label %.preheader12750, label %16276 + +.preheader12750: ; preds = %16242, %.critedge + %.09629.pn = phi ptr [ %.09399, %.critedge ], [ %.09629, %16242 ] + %16247 = getelementptr inbounds i8, ptr %.09629.pn, i64 -4 + %16248 = load i8, ptr %16247, align 4 + switch i8 %16248, label %16249 [ i8 102, label %.critedge i8 105, label %.critedge ] -.critedge: ; preds = %.preheader12753, %.preheader12753 +.critedge: ; preds = %.preheader12750, %.preheader12750 %.09399 = getelementptr inbounds i8, ptr %.09629.pn, i64 -32 - br label %.preheader12753 - -16250: ; preds = %.preheader12753 - %16251 = getelementptr inbounds i8, ptr %.09629.pn, i64 -4 - store ptr %16240, ptr getelementptr inbounds nuw (i8, ptr @jit_globals, i64 184), align 8 - %16252 = load i8, ptr %16251, align 4 - switch i8 %16252, label %16276 [ - i8 119, label %16253 - i8 -91, label %16253 - i8 -57, label %16253 + br label %.preheader12750 + +16249: ; preds = %.preheader12750 + %16250 = getelementptr inbounds i8, ptr %.09629.pn, i64 -4 + store ptr %16239, ptr getelementptr inbounds nuw (i8, ptr @jit_globals, i64 184), align 8 + %16251 = load i8, ptr %16250, align 4 + switch i8 %16251, label %16275 [ + i8 119, label %16252 + i8 -91, label %16252 + i8 -57, label %16252 ] -16253: ; preds = %16250, %16250, %16250 - %16254 = getelementptr inbounds nuw i8, ptr %.09759, i64 8 - %16255 = load ptr, ptr %16254, align 8 - %16256 = getelementptr inbounds nuw i8, ptr %16255, i64 32 - %16257 = load i32, ptr %16256, align 8 - %.not10702 = icmp eq i32 %16257, 0 - br i1 %.not10702, label %16276, label %16258 - -16258: ; preds = %16253 - %16259 = getelementptr inbounds nuw i8, ptr %16255, i64 4 - %16260 = load i32, ptr %16259, align 4 - %16261 = and i32 %16260, 256 - %16262 = icmp eq i32 %16261, 0 - br i1 %16262, label %16263, label %16276 - -16263: ; preds = %16258 - %16264 = getelementptr inbounds nuw i8, ptr %.09759, i64 16 - %16265 = load i8, ptr %16264, align 8 - switch i8 %16265, label %16276 [ - i8 0, label %16266 - i8 8, label %16266 +16252: ; preds = %16249, %16249, %16249 + %16253 = getelementptr inbounds nuw i8, ptr %.09759, i64 8 + %16254 = load ptr, ptr %16253, align 8 + %16255 = getelementptr inbounds nuw i8, ptr %16254, i64 32 + %16256 = load i32, ptr %16255, align 8 + %.not10702 = icmp eq i32 %16256, 0 + br i1 %.not10702, label %16275, label %16257 + +16257: ; preds = %16252 + %16258 = getelementptr inbounds nuw i8, ptr %16254, i64 4 + %16259 = load i32, ptr %16258, align 4 + %16260 = and i32 %16259, 256 + %16261 = icmp eq i32 %16260, 0 + br i1 %16261, label %16262, label %16275 + +16262: ; preds = %16257 + %16263 = getelementptr inbounds nuw i8, ptr %.09759, i64 16 + %16264 = load i8, ptr %16263, align 8 + switch i8 %16264, label %16275 [ + i8 0, label %16265 + i8 8, label %16265 ] -16266: ; preds = %16263, %16263 - %16267 = getelementptr inbounds nuw i8, ptr %16240, i64 44 - %16268 = load i32, ptr %16267, align 4 - %16269 = ashr i32 %16268, 16 - %16270 = icmp slt i32 %16269, 0 - %16271 = icmp ult i32 %16269, %16257 - %or.cond12691 = or i1 %16270, %16271 - br i1 %or.cond12691, label %16272, label %16276 - -16272: ; preds = %16266 - %16273 = getelementptr inbounds nuw i8, ptr %.09759, i64 24 - %16274 = load ptr, ptr %16273, align 8 - %16275 = call fastcc i32 @zend_jit_trace_opline_guard(ptr noundef %17, ptr noundef %16274) - %.not10703 = icmp eq i32 %16275, 0 - br i1 %.not10703, label %zend_jit_stack_check.exit.thread, label %16276 - -16276: ; preds = %16266, %16263, %16250, %16272, %16258, %16253 +16265: ; preds = %16262, %16262 + %16266 = getelementptr inbounds nuw i8, ptr %16239, i64 44 + %16267 = load i32, ptr %16266, align 4 + %16268 = ashr i32 %16267, 16 + %16269 = icmp slt i32 %16268, 0 + %16270 = icmp ult i32 %16268, %16256 + %or.cond12688 = or i1 %16269, %16270 + br i1 %or.cond12688, label %16271, label %16275 + +16271: ; preds = %16265 + %16272 = getelementptr inbounds nuw i8, ptr %.09759, i64 24 + %16273 = load ptr, ptr %16272, align 8 + %16274 = call fastcc i32 @zend_jit_trace_opline_guard(ptr noundef %17, ptr noundef %16273) + %.not10703 = icmp eq i32 %16274, 0 + br i1 %.not10703, label %zend_jit_stack_check.exit.thread, label %16275 + +16275: ; preds = %16265, %16262, %16249, %16271, %16257, %16252 store ptr %.09646, ptr getelementptr inbounds nuw (i8, ptr @jit_globals, i64 184), align 8 - br label %16277 - -16277: ; preds = %16239, %16243, %16276 - %16278 = getelementptr inbounds nuw i8, ptr %.09759, i64 16 - %16279 = load i8, ptr %16278, align 8 - %16280 = icmp eq i8 %16279, 8 - br i1 %16280, label %.split.loop.exit.split.loop.exit13498, label %16281 - -16281: ; preds = %16277 - %16282 = getelementptr inbounds nuw i8, ptr %.09771, i64 4 - %16283 = load i32, ptr %16282, align 4 - %16284 = and i32 %16283, 4194304 - %.not10704 = icmp eq i32 %16284, 0 - br i1 %.not10704, label %16289, label %16285 - -16285: ; preds = %16281 - %16286 = getelementptr inbounds nuw i8, ptr %.09646, i64 44 - %16287 = load i32, ptr %16286, align 4 - %16288 = and i32 %16287, 32 - %.not10707 = icmp eq i32 %16288, 0 - br i1 %.not10707, label %16296, label %.sink.split13564 - -16289: ; preds = %16281 - %16290 = getelementptr inbounds nuw i8, ptr %.09771, i64 16 - %16291 = load ptr, ptr %16290, align 8 - %.not10705 = icmp ne ptr %16291, null - %16292 = and i32 %16283, 16 - %.not10706 = icmp eq i32 %16292, 0 - %or.cond11984 = and i1 %.not10706, %.not10705 - br i1 %or.cond11984, label %.sink.split13564, label %16296 - -.sink.split13564: ; preds = %16289, %16285 - %16293 = getelementptr inbounds nuw i8, ptr %16240, i64 44 - %16294 = load i32, ptr %16293, align 4 - %16295 = or i32 %16294, 32 - store i32 %16295, ptr %16293, align 4 - br label %16296 - -16296: ; preds = %.sink.split13564, %16289, %16285 - %16297 = getelementptr inbounds nuw i8, ptr %.09759, i64 8 - %16298 = load ptr, ptr %16297, align 8 - store ptr %16298, ptr %210, align 8 - %16299 = getelementptr inbounds nuw i8, ptr %16298, i64 192 - %16300 = load i32, ptr @zend_func_info_rid, align 4 - %16301 = sext i32 %16300 to i64 - %16302 = getelementptr inbounds [6 x ptr], ptr %16299, i64 0, i64 %16301 - %16303 = load ptr, ptr %16302, align 8 - %16304 = getelementptr inbounds nuw i8, ptr %16303, i64 8 - %16305 = getelementptr inbounds nuw i8, ptr %16240, i64 8 - %16306 = load ptr, ptr %16305, align 8 - store ptr %16306, ptr %.09646, align 8 - store ptr %.09646, ptr %16305, align 8 - %16307 = load i32, ptr %.09759, align 8 - %16308 = and i32 %16307, 256 - %.not10708 = icmp eq i32 %16308, 0 - %.13605 = select i1 %.not10708, i32 16, i32 8 - %16309 = getelementptr inbounds nuw i8, ptr %16240, i64 44 - %16310 = load i32, ptr %16309, align 4 - %16311 = and i32 %16310, -25 - %16312 = or disjoint i32 %16311, %.13605 - store i32 %16312, ptr %16309, align 4 - store ptr %16240, ptr getelementptr inbounds nuw (i8, ptr @jit_globals, i64 184), align 8 - %16313 = getelementptr inbounds nuw i8, ptr %16240, i64 60 - br i1 %.not10695, label %.loopexit12751, label %16314 - -16314: ; preds = %16296 - %16315 = getelementptr inbounds nuw i8, ptr %16298, i64 80 - %16316 = load i32, ptr %16315, align 8 - %.not13044 = icmp eq i32 %16316, 0 - br i1 %.not13044, label %.loopexit12751, label %.lr.ph12922.preheader - -.lr.ph12922.preheader: ; preds = %16314 - %16317 = load i32, ptr %.09759, align 8 - %16318 = lshr i32 %16317, 9 - %16319 = zext nneg i32 %16318 to i64 - br label %.lr.ph12922 - -.lr.ph12922: ; preds = %.lr.ph12922.preheader, %16392 - %16320 = phi i32 [ %16316, %.lr.ph12922.preheader ], [ %16393, %16392 ] - %indvars.iv13202 = phi i64 [ 0, %.lr.ph12922.preheader ], [ %indvars.iv.next13203, %16392 ] - %indvars.iv13200 = phi i64 [ %16319, %.lr.ph12922.preheader ], [ %indvars.iv.next13201, %16392 ] - %16321 = getelementptr inbounds nuw %struct._zend_jit_reg_var, ptr %.09775, i64 %indvars.iv13200 - %16322 = load i32, ptr %16321, align 4 - %.not10710 = icmp eq i32 %16322, 0 - br i1 %.not10710, label %16392, label %16323 - -16323: ; preds = %.lr.ph12922 - %16324 = getelementptr inbounds nuw i8, ptr %16321, i64 4 - %16325 = load i32, ptr %16324, align 4 - %16326 = and i32 %16325, 1 - %.not10711 = icmp eq i32 %16326, 0 - br i1 %.not10711, label %16392, label %16327 - -16327: ; preds = %16323 - %16328 = load ptr, ptr %2477, align 8 - %16329 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %16328, i64 %indvars.iv13200 - %16330 = load i32, ptr %16329, align 8 - %16331 = and i32 %16330, 268435456 - %.not10712 = icmp eq i32 %16331, 0 - br i1 %.not10712, label %._crit_edge13291, label %16332 - -._crit_edge13291: ; preds = %16327 - %.pre13295 = trunc nuw i64 %indvars.iv13202 to i32 - %.pre13297 = shl i32 %.pre13295, 4 - %.pre13299 = add i32 %.pre13297, 80 - br label %16374 - -16332: ; preds = %16327 - %16333 = and i32 %16330, -268435457 - store i32 %16333, ptr %16329, align 8 - %16334 = load ptr, ptr %2477, align 8 - %16335 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %16334, i64 %indvars.iv13200 - %16336 = load i32, ptr %16335, align 8 - %16337 = and i32 %16336, 1023 - %16338 = icmp ne i32 %16337, 0 - call void @llvm.assume(i1 %16338) - %16339 = lshr i32 %16337, 1 - %16340 = or i32 %16339, %16337 - %16341 = lshr i32 %16340, 2 - %16342 = or i32 %16341, %16340 - %16343 = lshr i32 %16342, 4 - %16344 = or i32 %16343, %16342 - %16345 = lshr i32 %16344, 8 - %16346 = or i32 %16345, %16344 - %16347 = lshr i32 %16346, 1 - %16348 = and i32 %16347, 1431655765 - %16349 = sub nsw i32 %16346, %16348 - %16350 = lshr i32 %16349, 2 - %16351 = and i32 %16350, 858993459 - %16352 = and i32 %16349, 858993459 - %16353 = add nuw nsw i32 %16351, %16352 - %16354 = lshr i32 %16353, 4 - %16355 = add nuw nsw i32 %16354, %16353 - %16356 = and i32 %16355, 252645135 - %16357 = lshr i32 %16356, 8 - %16358 = add nuw nsw i32 %16357, %16356 - %16359 = lshr i32 %16358, 16 - %16360 = add nuw nsw i32 %16359, %16358 - %16361 = trunc i32 %16360 to i8 - %16362 = and i8 %16361, 63 - %16363 = add nsw i8 %16362, -1 - %16364 = trunc nuw i64 %indvars.iv13202 to i32 - %16365 = shl i32 %16364, 4 - %16366 = add i32 %16365, 80 - %16367 = call fastcc i32 @zend_jit_type_guard(ptr noundef %17, ptr noundef %.09629, i32 noundef %16366, i8 noundef zeroext %16363) - %.not10713 = icmp eq i32 %16367, 0 - br i1 %.not10713, label %zend_jit_stack_check.exit.thread, label %16368 - -16368: ; preds = %16332 - %16369 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %16313, i64 %indvars.iv13202 - store i8 %16363, ptr %16369, align 4 - %16370 = getelementptr inbounds nuw i8, ptr %16369, i64 1 - store i8 %16363, ptr %16370, align 1 - %16371 = getelementptr inbounds nuw i8, ptr %16369, i64 2 - store i8 -1, ptr %16371, align 2 - %16372 = getelementptr inbounds nuw i8, ptr %16369, i64 3 - %16373 = getelementptr inbounds nuw i8, ptr %16369, i64 4 - store i32 0, ptr %16373, align 4 - store i8 0, ptr %16372, align 1 - %.pre13226 = load ptr, ptr %2477, align 8 - %.phi.trans.insert13227 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %.pre13226, i64 %indvars.iv13200 - %.pre13228 = load i32, ptr %.phi.trans.insert13227, align 8 - br label %16374 - -16374: ; preds = %._crit_edge13291, %16368 - %.pre-phi13300 = phi i32 [ %.pre13299, %._crit_edge13291 ], [ %16366, %16368 ] - %16375 = phi i32 [ %16330, %._crit_edge13291 ], [ %.pre13228, %16368 ] - %16376 = zext i32 %.pre-phi13300 to i64 - %16377 = shl nuw nsw i64 %16376, 8 - %16378 = or disjoint i64 %16377, 57 - %16379 = and i32 %16375, 1022 - %16380 = icmp eq i32 %16379, 16 - br i1 %16380, label %16381, label %16383 - -16381: ; preds = %16374 - %16382 = call fastcc i32 @jit_Z_LVAL(ptr noundef nonnull %17, i64 noundef %16378) - br label %zend_jit_load_var.exit12139 - -16383: ; preds = %16374 - %16384 = icmp eq i32 %16379, 32 - call void @llvm.assume(i1 %16384) - %16385 = call fastcc i32 @jit_Z_DVAL(ptr noundef nonnull %17, i64 noundef %16378) - br label %zend_jit_load_var.exit12139 - -zend_jit_load_var.exit12139: ; preds = %16381, %16383 - %.sink.i.i12138 = phi i32 [ %16385, %16383 ], [ %16382, %16381 ] - %16386 = shl nuw nsw i64 %indvars.iv13200, 2 - %16387 = or disjoint i64 %16386, 2 - call fastcc void @zend_jit_def_reg(ptr noundef nonnull %17, i64 noundef %16387, i32 noundef %.sink.i.i12138) - %16388 = load i32, ptr %16321, align 4 - %16389 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %16313, i64 %indvars.iv13202 - %16390 = getelementptr inbounds nuw i8, ptr %16389, i64 4 - store i32 %16388, ptr %16390, align 4 - %16391 = getelementptr inbounds nuw i8, ptr %16389, i64 3 - store i8 1, ptr %16391, align 1 - %.pre13229 = load i32, ptr %16315, align 8 - br label %16392 - -16392: ; preds = %.lr.ph12922, %16323, %zend_jit_load_var.exit12139 - %16393 = phi i32 [ %16320, %.lr.ph12922 ], [ %16320, %16323 ], [ %.pre13229, %zend_jit_load_var.exit12139 ] - %indvars.iv.next13203 = add nuw nsw i64 %indvars.iv13202, 1 - %indvars.iv.next13201 = add nuw nsw i64 %indvars.iv13200, 1 - %16394 = zext i32 %16393 to i64 - %16395 = icmp samesign ult i64 %indvars.iv.next13203, %16394 - br i1 %16395, label %.lr.ph12922, label %.loopexit12751 - -16396: ; preds = %2491 - %16397 = getelementptr inbounds nuw i8, ptr %.09759, i64 8 - %16398 = load ptr, ptr %16397, align 8 - store ptr %16398, ptr %210, align 8 - %16399 = getelementptr inbounds nuw i8, ptr %16398, i64 192 - %16400 = load i32, ptr @zend_func_info_rid, align 4 - %16401 = sext i32 %16400 to i64 - %16402 = getelementptr inbounds [6 x ptr], ptr %16399, i64 0, i64 %16401 - %16403 = load ptr, ptr %16402, align 8 - %16404 = getelementptr inbounds nuw i8, ptr %16403, i64 8 - %16405 = getelementptr inbounds nuw i8, ptr %.09646, i64 8 - %16406 = load ptr, ptr %16405, align 8 - %.not10694 = icmp eq ptr %16406, null - br i1 %.not10694, label %16416, label %16407 - -16407: ; preds = %16396 - %16408 = getelementptr inbounds nuw i8, ptr %.09646, i64 52 - %16409 = load i32, ptr %16408, align 4 - %16410 = getelementptr inbounds nuw i8, ptr %.09646, i64 56 - %16411 = load i32, ptr %16410, align 8 - %16412 = getelementptr inbounds nuw i8, ptr %16406, i64 60 - %16413 = getelementptr inbounds nuw i8, ptr %16406, i64 16 - %16414 = load ptr, ptr %16413, align 8 - %16415 = icmp eq ptr %16414, %16398 - call void @llvm.assume(i1 %16415) - br label %.loopexit12754 - -16416: ; preds = %16396 - %16417 = load i8, ptr %16398, align 8 - %16418 = icmp eq i8 %16417, 2 - br i1 %16418, label %16419, label %16425 - -16419: ; preds = %16416 - %16420 = getelementptr inbounds nuw i8, ptr %16398, i64 80 - %16421 = load i32, ptr %16420, align 8 - %16422 = getelementptr inbounds nuw i8, ptr %16398, i64 72 - %16423 = load i32, ptr %16422, align 8 - %16424 = add i32 %16423, %16421 + br label %16276 + +16276: ; preds = %16238, %16242, %16275 + %16277 = getelementptr inbounds nuw i8, ptr %.09759, i64 16 + %16278 = load i8, ptr %16277, align 8 + %16279 = icmp eq i8 %16278, 8 + br i1 %16279, label %.split.loop.exit.split.loop.exit13495, label %16280 + +16280: ; preds = %16276 + %16281 = getelementptr inbounds nuw i8, ptr %.09771, i64 4 + %16282 = load i32, ptr %16281, align 4 + %16283 = and i32 %16282, 4194304 + %.not10704 = icmp eq i32 %16283, 0 + br i1 %.not10704, label %16288, label %16284 + +16284: ; preds = %16280 + %16285 = getelementptr inbounds nuw i8, ptr %.09646, i64 44 + %16286 = load i32, ptr %16285, align 4 + %16287 = and i32 %16286, 32 + %.not10707 = icmp eq i32 %16287, 0 + br i1 %.not10707, label %16295, label %.sink.split13561 + +16288: ; preds = %16280 + %16289 = getelementptr inbounds nuw i8, ptr %.09771, i64 16 + %16290 = load ptr, ptr %16289, align 8 + %.not10705 = icmp ne ptr %16290, null + %16291 = and i32 %16282, 16 + %.not10706 = icmp eq i32 %16291, 0 + %or.cond11982 = and i1 %.not10706, %.not10705 + br i1 %or.cond11982, label %.sink.split13561, label %16295 + +.sink.split13561: ; preds = %16288, %16284 + %16292 = getelementptr inbounds nuw i8, ptr %16239, i64 44 + %16293 = load i32, ptr %16292, align 4 + %16294 = or i32 %16293, 32 + store i32 %16294, ptr %16292, align 4 + br label %16295 + +16295: ; preds = %.sink.split13561, %16288, %16284 + %16296 = getelementptr inbounds nuw i8, ptr %.09759, i64 8 + %16297 = load ptr, ptr %16296, align 8 + store ptr %16297, ptr %210, align 8 + %16298 = getelementptr inbounds nuw i8, ptr %16297, i64 192 + %16299 = load i32, ptr @zend_func_info_rid, align 4 + %16300 = sext i32 %16299 to i64 + %16301 = getelementptr inbounds [6 x ptr], ptr %16298, i64 0, i64 %16300 + %16302 = load ptr, ptr %16301, align 8 + %16303 = getelementptr inbounds nuw i8, ptr %16302, i64 8 + %16304 = getelementptr inbounds nuw i8, ptr %16239, i64 8 + %16305 = load ptr, ptr %16304, align 8 + store ptr %16305, ptr %.09646, align 8 + store ptr %.09646, ptr %16304, align 8 + %16306 = load i32, ptr %.09759, align 8 + %16307 = and i32 %16306, 256 + %.not10708 = icmp eq i32 %16307, 0 + %.13602 = select i1 %.not10708, i32 16, i32 8 + %16308 = getelementptr inbounds nuw i8, ptr %16239, i64 44 + %16309 = load i32, ptr %16308, align 4 + %16310 = and i32 %16309, -25 + %16311 = or disjoint i32 %16310, %.13602 + store i32 %16311, ptr %16308, align 4 + store ptr %16239, ptr getelementptr inbounds nuw (i8, ptr @jit_globals, i64 184), align 8 + %16312 = getelementptr inbounds nuw i8, ptr %16239, i64 60 + br i1 %.not10695, label %.loopexit12748, label %16313 + +16313: ; preds = %16295 + %16314 = getelementptr inbounds nuw i8, ptr %16297, i64 80 + %16315 = load i32, ptr %16314, align 8 + %.not13041 = icmp eq i32 %16315, 0 + br i1 %.not13041, label %.loopexit12748, label %.lr.ph12919.preheader + +.lr.ph12919.preheader: ; preds = %16313 + %16316 = load i32, ptr %.09759, align 8 + %16317 = lshr i32 %16316, 9 + %16318 = zext nneg i32 %16317 to i64 + br label %.lr.ph12919 + +.lr.ph12919: ; preds = %.lr.ph12919.preheader, %16391 + %16319 = phi i32 [ %16315, %.lr.ph12919.preheader ], [ %16392, %16391 ] + %indvars.iv13199 = phi i64 [ 0, %.lr.ph12919.preheader ], [ %indvars.iv.next13200, %16391 ] + %indvars.iv13197 = phi i64 [ %16318, %.lr.ph12919.preheader ], [ %indvars.iv.next13198, %16391 ] + %16320 = getelementptr inbounds nuw %struct._zend_jit_reg_var, ptr %.09775, i64 %indvars.iv13197 + %16321 = load i32, ptr %16320, align 4 + %.not10710 = icmp eq i32 %16321, 0 + br i1 %.not10710, label %16391, label %16322 + +16322: ; preds = %.lr.ph12919 + %16323 = getelementptr inbounds nuw i8, ptr %16320, i64 4 + %16324 = load i32, ptr %16323, align 4 + %16325 = and i32 %16324, 1 + %.not10711 = icmp eq i32 %16325, 0 + br i1 %.not10711, label %16391, label %16326 + +16326: ; preds = %16322 + %16327 = load ptr, ptr %2477, align 8 + %16328 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %16327, i64 %indvars.iv13197 + %16329 = load i32, ptr %16328, align 8 + %16330 = and i32 %16329, 268435456 + %.not10712 = icmp eq i32 %16330, 0 + br i1 %.not10712, label %._crit_edge13288, label %16331 + +._crit_edge13288: ; preds = %16326 + %.pre13292 = trunc nuw i64 %indvars.iv13199 to i32 + %.pre13294 = shl i32 %.pre13292, 4 + %.pre13296 = add i32 %.pre13294, 80 + br label %16373 + +16331: ; preds = %16326 + %16332 = and i32 %16329, -268435457 + store i32 %16332, ptr %16328, align 8 + %16333 = load ptr, ptr %2477, align 8 + %16334 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %16333, i64 %indvars.iv13197 + %16335 = load i32, ptr %16334, align 8 + %16336 = and i32 %16335, 1023 + %16337 = icmp ne i32 %16336, 0 + call void @llvm.assume(i1 %16337) + %16338 = lshr i32 %16336, 1 + %16339 = or i32 %16338, %16336 + %16340 = lshr i32 %16339, 2 + %16341 = or i32 %16340, %16339 + %16342 = lshr i32 %16341, 4 + %16343 = or i32 %16342, %16341 + %16344 = lshr i32 %16343, 8 + %16345 = or i32 %16344, %16343 + %16346 = lshr i32 %16345, 1 + %16347 = and i32 %16346, 1431655765 + %16348 = sub nsw i32 %16345, %16347 + %16349 = lshr i32 %16348, 2 + %16350 = and i32 %16349, 858993459 + %16351 = and i32 %16348, 858993459 + %16352 = add nuw nsw i32 %16350, %16351 + %16353 = lshr i32 %16352, 4 + %16354 = add nuw nsw i32 %16353, %16352 + %16355 = and i32 %16354, 252645135 + %16356 = lshr i32 %16355, 8 + %16357 = add nuw nsw i32 %16356, %16355 + %16358 = lshr i32 %16357, 16 + %16359 = add nuw nsw i32 %16358, %16357 + %16360 = trunc i32 %16359 to i8 + %16361 = and i8 %16360, 63 + %16362 = add nsw i8 %16361, -1 + %16363 = trunc nuw i64 %indvars.iv13199 to i32 + %16364 = shl i32 %16363, 4 + %16365 = add i32 %16364, 80 + %16366 = call fastcc i32 @zend_jit_type_guard(ptr noundef %17, ptr noundef %.09629, i32 noundef %16365, i8 noundef zeroext %16362) + %.not10713 = icmp eq i32 %16366, 0 + br i1 %.not10713, label %zend_jit_stack_check.exit.thread, label %16367 + +16367: ; preds = %16331 + %16368 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %16312, i64 %indvars.iv13199 + store i8 %16362, ptr %16368, align 4 + %16369 = getelementptr inbounds nuw i8, ptr %16368, i64 1 + store i8 %16362, ptr %16369, align 1 + %16370 = getelementptr inbounds nuw i8, ptr %16368, i64 2 + store i8 -1, ptr %16370, align 2 + %16371 = getelementptr inbounds nuw i8, ptr %16368, i64 3 + %16372 = getelementptr inbounds nuw i8, ptr %16368, i64 4 + store i32 0, ptr %16372, align 4 + store i8 0, ptr %16371, align 1 + %.pre13223 = load ptr, ptr %2477, align 8 + %.phi.trans.insert13224 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %.pre13223, i64 %indvars.iv13197 + %.pre13225 = load i32, ptr %.phi.trans.insert13224, align 8 + br label %16373 + +16373: ; preds = %._crit_edge13288, %16367 + %.pre-phi13297 = phi i32 [ %.pre13296, %._crit_edge13288 ], [ %16365, %16367 ] + %16374 = phi i32 [ %16329, %._crit_edge13288 ], [ %.pre13225, %16367 ] + %16375 = zext i32 %.pre-phi13297 to i64 + %16376 = shl nuw nsw i64 %16375, 8 + %16377 = or disjoint i64 %16376, 57 + %16378 = and i32 %16374, 1022 + %16379 = icmp eq i32 %16378, 16 + br i1 %16379, label %16380, label %16382 + +16380: ; preds = %16373 + %16381 = call fastcc i32 @jit_Z_LVAL(ptr noundef nonnull %17, i64 noundef %16377) + br label %zend_jit_load_var.exit12136 + +16382: ; preds = %16373 + %16383 = icmp eq i32 %16378, 32 + call void @llvm.assume(i1 %16383) + %16384 = call fastcc i32 @jit_Z_DVAL(ptr noundef nonnull %17, i64 noundef %16377) + br label %zend_jit_load_var.exit12136 + +zend_jit_load_var.exit12136: ; preds = %16380, %16382 + %.sink.i.i12135 = phi i32 [ %16384, %16382 ], [ %16381, %16380 ] + %16385 = shl nuw nsw i64 %indvars.iv13197, 2 + %16386 = or disjoint i64 %16385, 2 + call fastcc void @zend_jit_def_reg(ptr noundef nonnull %17, i64 noundef %16386, i32 noundef %.sink.i.i12135) + %16387 = load i32, ptr %16320, align 4 + %16388 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %16312, i64 %indvars.iv13199 + %16389 = getelementptr inbounds nuw i8, ptr %16388, i64 4 + store i32 %16387, ptr %16389, align 4 + %16390 = getelementptr inbounds nuw i8, ptr %16388, i64 3 + store i8 1, ptr %16390, align 1 + %.pre13226 = load i32, ptr %16314, align 8 + br label %16391 + +16391: ; preds = %.lr.ph12919, %16322, %zend_jit_load_var.exit12136 + %16392 = phi i32 [ %16319, %.lr.ph12919 ], [ %16319, %16322 ], [ %.pre13226, %zend_jit_load_var.exit12136 ] + %indvars.iv.next13200 = add nuw nsw i64 %indvars.iv13199, 1 + %indvars.iv.next13198 = add nuw nsw i64 %indvars.iv13197, 1 + %16393 = zext i32 %16392 to i64 + %16394 = icmp samesign ult i64 %indvars.iv.next13200, %16393 + br i1 %16394, label %.lr.ph12919, label %.loopexit12748 + +16395: ; preds = %2491 + %16396 = getelementptr inbounds nuw i8, ptr %.09759, i64 8 + %16397 = load ptr, ptr %16396, align 8 + store ptr %16397, ptr %210, align 8 + %16398 = getelementptr inbounds nuw i8, ptr %16397, i64 192 + %16399 = load i32, ptr @zend_func_info_rid, align 4 + %16400 = sext i32 %16399 to i64 + %16401 = getelementptr inbounds [6 x ptr], ptr %16398, i64 0, i64 %16400 + %16402 = load ptr, ptr %16401, align 8 + %16403 = getelementptr inbounds nuw i8, ptr %16402, i64 8 + %16404 = getelementptr inbounds nuw i8, ptr %.09646, i64 8 + %16405 = load ptr, ptr %16404, align 8 + %.not10694 = icmp eq ptr %16405, null + br i1 %.not10694, label %16415, label %16406 + +16406: ; preds = %16395 + %16407 = getelementptr inbounds nuw i8, ptr %.09646, i64 52 + %16408 = load i32, ptr %16407, align 4 + %16409 = getelementptr inbounds nuw i8, ptr %.09646, i64 56 + %16410 = load i32, ptr %16409, align 8 + %16411 = getelementptr inbounds nuw i8, ptr %16405, i64 60 + %16412 = getelementptr inbounds nuw i8, ptr %16405, i64 16 + %16413 = load ptr, ptr %16412, align 8 + %16414 = icmp eq ptr %16413, %16397 + call void @llvm.assume(i1 %16414) + br label %.loopexit12751 + +16415: ; preds = %16395 + %16416 = load i8, ptr %16397, align 8 + %16417 = icmp eq i8 %16416, 2 + br i1 %16417, label %16418, label %16424 + +16418: ; preds = %16415 + %16419 = getelementptr inbounds nuw i8, ptr %16397, i64 80 + %16420 = load i32, ptr %16419, align 8 + %16421 = getelementptr inbounds nuw i8, ptr %16397, i64 72 + %16422 = load i32, ptr %16421, align 8 + %16423 = add i32 %16422, %16420 br label %zend_jit_trace_ret_frame.exit -16425: ; preds = %16416 - %16426 = getelementptr inbounds nuw i8, ptr %16398, i64 32 - %16427 = load i32, ptr %16426, align 8 +16424: ; preds = %16415 + %16425 = getelementptr inbounds nuw i8, ptr %16397, i64 32 + %16426 = load i32, ptr %16425, align 8 br label %zend_jit_trace_ret_frame.exit -zend_jit_trace_ret_frame.exit: ; preds = %16419, %16425 - %.0.i12142.in.in.in.in = phi i32 [ %16424, %16419 ], [ %16427, %16425 ] - %.0.i12142.in.in.in = zext i32 %.0.i12142.in.in.in.in to i64 - %.0.i12142.in.in = shl nuw nsw i64 %.0.i12142.in.in.in, 3 - %.0.i12142.in = add nuw nsw i64 %.0.i12142.in.in, 67 - %.0.i12142 = and i64 %.0.i12142.in, 68719476728 - %16428 = sub nsw i64 0, %.0.i12142 - %16429 = getelementptr inbounds i8, ptr %.09646, i64 %16428 - %16430 = getelementptr inbounds nuw i8, ptr %16429, i64 16 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %16429, i8 0, i64 16, i1 false) - store ptr %16398, ptr %16430, align 8 - %16431 = getelementptr inbounds nuw i8, ptr %16429, i64 24 - store ptr null, ptr %16431, align 8 - %16432 = getelementptr inbounds nuw i8, ptr %16429, i64 40 - store i32 0, ptr %16432, align 8 - %16433 = getelementptr inbounds nuw i8, ptr %16429, i64 44 - store i32 -65472, ptr %16433, align 4 - %16434 = getelementptr inbounds nuw i8, ptr %16429, i64 48 - store i32 0, ptr %16434, align 8 - %16435 = getelementptr inbounds nuw i8, ptr %16429, i64 60 - %16436 = load i8, ptr getelementptr inbounds nuw (i8, ptr @jit_globals, i64 3), align 1 - %16437 = icmp ugt i8 %16436, 1 - %16438 = getelementptr inbounds nuw i8, ptr %16398, i64 80 - %16439 = getelementptr inbounds nuw i8, ptr %16398, i64 72 +zend_jit_trace_ret_frame.exit: ; preds = %16418, %16424 + %.0.i12139.in.in.in.in = phi i32 [ %16423, %16418 ], [ %16426, %16424 ] + %.0.i12139.in.in.in = zext i32 %.0.i12139.in.in.in.in to i64 + %.0.i12139.in.in = shl nuw nsw i64 %.0.i12139.in.in.in, 3 + %.0.i12139.in = add nuw nsw i64 %.0.i12139.in.in, 67 + %.0.i12139 = and i64 %.0.i12139.in, 68719476728 + %16427 = sub nsw i64 0, %.0.i12139 + %16428 = getelementptr inbounds i8, ptr %.09646, i64 %16427 + %16429 = getelementptr inbounds nuw i8, ptr %16428, i64 16 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %16428, i8 0, i64 16, i1 false) + store ptr %16397, ptr %16429, align 8 + %16430 = getelementptr inbounds nuw i8, ptr %16428, i64 24 + store ptr null, ptr %16430, align 8 + %16431 = getelementptr inbounds nuw i8, ptr %16428, i64 40 + store i32 0, ptr %16431, align 8 + %16432 = getelementptr inbounds nuw i8, ptr %16428, i64 44 + store i32 -65472, ptr %16432, align 4 + %16433 = getelementptr inbounds nuw i8, ptr %16428, i64 48 + store i32 0, ptr %16433, align 8 + %16434 = getelementptr inbounds nuw i8, ptr %16428, i64 60 + %16435 = load i8, ptr getelementptr inbounds nuw (i8, ptr @jit_globals, i64 3), align 1 + %16436 = icmp ugt i8 %16435, 1 + %16437 = getelementptr inbounds nuw i8, ptr %16397, i64 80 + %16438 = getelementptr inbounds nuw i8, ptr %16397, i64 72 + %16439 = load i32, ptr %16437, align 8 %16440 = load i32, ptr %16438, align 8 - %16441 = load i32, ptr %16439, align 8 - %16442 = sub i32 0, %16440 - %.not13042 = icmp eq i32 %16441, %16442 - br i1 %16437, label %16443, label %.preheader12755 - -.preheader12755: ; preds = %zend_jit_trace_ret_frame.exit - br i1 %.not13042, label %.loopexit12754, label %.lr.ph12909 - -16443: ; preds = %zend_jit_trace_ret_frame.exit - br i1 %.not13042, label %._crit_edge12914, label %.lr.ph12913.preheader - -.lr.ph12913.preheader: ; preds = %16443 - %16444 = load i32, ptr %.09759, align 8 - %16445 = lshr i32 %16444, 9 - br label %.lr.ph12913 - -.lr.ph12913: ; preds = %.lr.ph12913.preheader, %16482 - %indvars.iv13194 = phi i64 [ 0, %.lr.ph12913.preheader ], [ %indvars.iv.next13195, %16482 ] - %.0939312911 = phi i32 [ %16445, %.lr.ph12913.preheader ], [ %16488, %16482 ] - %16446 = load ptr, ptr %2477, align 8 - %16447 = zext i32 %.0939312911 to i64 - %16448 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %16446, i64 %16447 - %16449 = load i32, ptr %16448, align 8 - %16450 = and i32 %16449, 268435456 - %.not10698 = icmp eq i32 %16450, 0 - br i1 %.not10698, label %16451, label %16482 - -16451: ; preds = %.lr.ph12913 - %16452 = and i32 %16449, 1023 - %16453 = call range(i32 0, 11) i32 @llvm.ctpop.i32(i32 %16452) - %16454 = icmp ne i32 %16452, 0 - %16455 = icmp eq i32 %16453, 1 - br i1 %16455, label %16456, label %16482 - -16456: ; preds = %16451 - call void @llvm.assume(i1 %16454) - %16457 = lshr i32 %16452, 1 - %16458 = or i32 %16457, %16452 - %16459 = lshr i32 %16458, 2 - %16460 = or i32 %16459, %16458 - %16461 = lshr i32 %16460, 4 - %16462 = or i32 %16461, %16460 - %16463 = lshr i32 %16462, 8 - %16464 = or i32 %16463, %16462 - %16465 = lshr i32 %16464, 1 - %16466 = and i32 %16465, 1431655765 - %16467 = sub nsw i32 %16464, %16466 - %16468 = lshr i32 %16467, 2 - %16469 = and i32 %16468, 858993459 - %16470 = and i32 %16467, 858993459 - %16471 = add nuw nsw i32 %16469, %16470 - %16472 = lshr i32 %16471, 4 - %16473 = add nuw nsw i32 %16472, %16471 - %16474 = and i32 %16473, 252645135 - %16475 = lshr i32 %16474, 8 - %16476 = add nuw nsw i32 %16475, %16474 - %16477 = lshr i32 %16476, 16 - %16478 = add nuw nsw i32 %16477, %16476 - %16479 = trunc i32 %16478 to i8 - %16480 = and i8 %16479, 63 - %16481 = add nsw i8 %16480, -1 - br label %16482 - -16482: ; preds = %16451, %.lr.ph12913, %16456 - %.sink13584 = phi i8 [ %16481, %16456 ], [ -1, %.lr.ph12913 ], [ -1, %16451 ] - %16483 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %16435, i64 %indvars.iv13194 - store i8 %.sink13584, ptr %16483, align 4 - %16484 = getelementptr inbounds nuw i8, ptr %16483, i64 1 - store i8 %.sink13584, ptr %16484, align 1 - %16485 = getelementptr inbounds nuw i8, ptr %16483, i64 2 - store i8 -1, ptr %16485, align 2 - %16486 = getelementptr inbounds nuw i8, ptr %16483, i64 3 - %16487 = getelementptr inbounds nuw i8, ptr %16483, i64 4 - store i32 0, ptr %16487, align 4 - store i8 0, ptr %16486, align 1 - %indvars.iv.next13195 = add nuw nsw i64 %indvars.iv13194, 1 - %16488 = add i32 %.0939312911, 1 - %16489 = load i32, ptr %16438, align 8 - %16490 = load i32, ptr %16439, align 8 - %16491 = add i32 %16490, %16489 - %16492 = zext i32 %16491 to i64 - %16493 = icmp samesign ult i64 %indvars.iv.next13195, %16492 - br i1 %16493, label %.lr.ph12913, label %._crit_edge12914 - -._crit_edge12914: ; preds = %16482, %16443 - %16494 = phi i32 [ %16441, %16443 ], [ %16490, %16482 ] - %16495 = phi i32 [ %16440, %16443 ], [ %16489, %16482 ] - %16496 = sub i32 0, %16495 - %.not13043 = icmp eq i32 %16494, %16496 - %or.cond13586 = select i1 %.not10695, i1 true, i1 %.not13043 - br i1 %or.cond13586, label %.loopexit12754, label %.lr.ph12918.preheader - -.lr.ph12918.preheader: ; preds = %._crit_edge12914 - %16497 = load i32, ptr %.09759, align 8 - %16498 = lshr i32 %16497, 9 - br label %.lr.ph12918 - -.lr.ph12918: ; preds = %.lr.ph12918.preheader, %16530 - %16499 = phi i32 [ %16494, %.lr.ph12918.preheader ], [ %16531, %16530 ] - %16500 = phi i32 [ %16495, %.lr.ph12918.preheader ], [ %16532, %16530 ] - %indvars.iv13197 = phi i64 [ 0, %.lr.ph12918.preheader ], [ %indvars.iv.next13198, %16530 ] - %.1939412916 = phi i32 [ %16498, %.lr.ph12918.preheader ], [ %16533, %16530 ] - %16501 = zext i32 %.1939412916 to i64 - %16502 = getelementptr inbounds nuw %struct._zend_jit_reg_var, ptr %.09775, i64 %16501 - %16503 = load i32, ptr %16502, align 4 - %.not10696 = icmp eq i32 %16503, 0 - br i1 %.not10696, label %16530, label %16504 - -16504: ; preds = %.lr.ph12918 - %16505 = getelementptr inbounds nuw i8, ptr %16502, i64 4 - %16506 = load i32, ptr %16505, align 4 - %16507 = and i32 %16506, 1 - %.not10697 = icmp eq i32 %16507, 0 - br i1 %.not10697, label %16530, label %16508 - -16508: ; preds = %16504 - %16509 = load ptr, ptr %2477, align 8 - %16510 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %16509, i64 %16501 - %16511 = load i32, ptr %16510, align 8 - %16512 = shl nuw nsw i64 %indvars.iv13197, 12 - %16513 = add nuw nsw i64 %16512, 20480 - %16514 = and i64 %16513, 1099511623680 - %16515 = or disjoint i64 %16514, 57 - %16516 = and i32 %16511, 1022 - %16517 = icmp eq i32 %16516, 16 - br i1 %16517, label %16518, label %16520 - -16518: ; preds = %16508 - %16519 = call fastcc i32 @jit_Z_LVAL(ptr noundef nonnull %17, i64 noundef %16515) - br label %zend_jit_load_var.exit12144 - -16520: ; preds = %16508 - %16521 = icmp eq i32 %16516, 32 - call void @llvm.assume(i1 %16521) - %16522 = call fastcc i32 @jit_Z_DVAL(ptr noundef nonnull %17, i64 noundef %16515) - br label %zend_jit_load_var.exit12144 - -zend_jit_load_var.exit12144: ; preds = %16518, %16520 - %.sink.i.i12143 = phi i32 [ %16522, %16520 ], [ %16519, %16518 ] - %16523 = sext i32 %.1939412916 to i64 - %16524 = shl nsw i64 %16523, 2 - %16525 = or disjoint i64 %16524, 2 - call fastcc void @zend_jit_def_reg(ptr noundef nonnull %17, i64 noundef %16525, i32 noundef %.sink.i.i12143) - %16526 = load i32, ptr %16502, align 4 - %16527 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %16435, i64 %indvars.iv13197 - %16528 = getelementptr inbounds nuw i8, ptr %16527, i64 4 - store i32 %16526, ptr %16528, align 4 - %16529 = getelementptr inbounds nuw i8, ptr %16527, i64 3 - store i8 1, ptr %16529, align 1 - %.pre13224 = load i32, ptr %16438, align 8 - %.pre13225 = load i32, ptr %16439, align 8 - br label %16530 - -16530: ; preds = %.lr.ph12918, %16504, %zend_jit_load_var.exit12144 - %16531 = phi i32 [ %16499, %.lr.ph12918 ], [ %16499, %16504 ], [ %.pre13225, %zend_jit_load_var.exit12144 ] - %16532 = phi i32 [ %16500, %.lr.ph12918 ], [ %16500, %16504 ], [ %.pre13224, %zend_jit_load_var.exit12144 ] - %indvars.iv.next13198 = add nuw nsw i64 %indvars.iv13197, 1 - %16533 = add i32 %.1939412916, 1 - %16534 = add i32 %16531, %16532 - %16535 = zext i32 %16534 to i64 - %16536 = icmp samesign ult i64 %indvars.iv.next13198, %16535 - br i1 %16536, label %.lr.ph12918, label %.loopexit12754 - -.lr.ph12909: ; preds = %.preheader12755, %.lr.ph12909 - %indvars.iv13191 = phi i64 [ %indvars.iv.next13192, %.lr.ph12909 ], [ 0, %.preheader12755 ] - %16537 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %16435, i64 %indvars.iv13191 - store i8 -1, ptr %16537, align 4 - %16538 = getelementptr inbounds nuw i8, ptr %16537, i64 1 - store i8 -1, ptr %16538, align 1 - %16539 = getelementptr inbounds nuw i8, ptr %16537, i64 2 - store i8 -1, ptr %16539, align 2 - %16540 = getelementptr inbounds nuw i8, ptr %16537, i64 3 - %16541 = getelementptr inbounds nuw i8, ptr %16537, i64 4 - store i32 0, ptr %16541, align 4 - store i8 0, ptr %16540, align 1 + %16441 = sub i32 0, %16439 + %.not13039 = icmp eq i32 %16440, %16441 + br i1 %16436, label %16442, label %.preheader12752 + +.preheader12752: ; preds = %zend_jit_trace_ret_frame.exit + br i1 %.not13039, label %.loopexit12751, label %.lr.ph12906 + +16442: ; preds = %zend_jit_trace_ret_frame.exit + br i1 %.not13039, label %._crit_edge12911, label %.lr.ph12910.preheader + +.lr.ph12910.preheader: ; preds = %16442 + %16443 = load i32, ptr %.09759, align 8 + %16444 = lshr i32 %16443, 9 + br label %.lr.ph12910 + +.lr.ph12910: ; preds = %.lr.ph12910.preheader, %16481 + %indvars.iv13191 = phi i64 [ 0, %.lr.ph12910.preheader ], [ %indvars.iv.next13192, %16481 ] + %.0939312908 = phi i32 [ %16444, %.lr.ph12910.preheader ], [ %16487, %16481 ] + %16445 = load ptr, ptr %2477, align 8 + %16446 = zext i32 %.0939312908 to i64 + %16447 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %16445, i64 %16446 + %16448 = load i32, ptr %16447, align 8 + %16449 = and i32 %16448, 268435456 + %.not10698 = icmp eq i32 %16449, 0 + br i1 %.not10698, label %16450, label %16481 + +16450: ; preds = %.lr.ph12910 + %16451 = and i32 %16448, 1023 + %16452 = call range(i32 0, 11) i32 @llvm.ctpop.i32(i32 %16451) + %16453 = icmp ne i32 %16451, 0 + %16454 = icmp eq i32 %16452, 1 + br i1 %16454, label %16455, label %16481 + +16455: ; preds = %16450 + call void @llvm.assume(i1 %16453) + %16456 = lshr i32 %16451, 1 + %16457 = or i32 %16456, %16451 + %16458 = lshr i32 %16457, 2 + %16459 = or i32 %16458, %16457 + %16460 = lshr i32 %16459, 4 + %16461 = or i32 %16460, %16459 + %16462 = lshr i32 %16461, 8 + %16463 = or i32 %16462, %16461 + %16464 = lshr i32 %16463, 1 + %16465 = and i32 %16464, 1431655765 + %16466 = sub nsw i32 %16463, %16465 + %16467 = lshr i32 %16466, 2 + %16468 = and i32 %16467, 858993459 + %16469 = and i32 %16466, 858993459 + %16470 = add nuw nsw i32 %16468, %16469 + %16471 = lshr i32 %16470, 4 + %16472 = add nuw nsw i32 %16471, %16470 + %16473 = and i32 %16472, 252645135 + %16474 = lshr i32 %16473, 8 + %16475 = add nuw nsw i32 %16474, %16473 + %16476 = lshr i32 %16475, 16 + %16477 = add nuw nsw i32 %16476, %16475 + %16478 = trunc i32 %16477 to i8 + %16479 = and i8 %16478, 63 + %16480 = add nsw i8 %16479, -1 + br label %16481 + +16481: ; preds = %16450, %.lr.ph12910, %16455 + %.sink13581 = phi i8 [ %16480, %16455 ], [ -1, %.lr.ph12910 ], [ -1, %16450 ] + %16482 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %16434, i64 %indvars.iv13191 + store i8 %.sink13581, ptr %16482, align 4 + %16483 = getelementptr inbounds nuw i8, ptr %16482, i64 1 + store i8 %.sink13581, ptr %16483, align 1 + %16484 = getelementptr inbounds nuw i8, ptr %16482, i64 2 + store i8 -1, ptr %16484, align 2 + %16485 = getelementptr inbounds nuw i8, ptr %16482, i64 3 + %16486 = getelementptr inbounds nuw i8, ptr %16482, i64 4 + store i32 0, ptr %16486, align 4 + store i8 0, ptr %16485, align 1 %indvars.iv.next13192 = add nuw nsw i64 %indvars.iv13191, 1 + %16487 = add i32 %.0939312908, 1 + %16488 = load i32, ptr %16437, align 8 + %16489 = load i32, ptr %16438, align 8 + %16490 = add i32 %16489, %16488 + %16491 = zext i32 %16490 to i64 + %16492 = icmp samesign ult i64 %indvars.iv.next13192, %16491 + br i1 %16492, label %.lr.ph12910, label %._crit_edge12911 + +._crit_edge12911: ; preds = %16481, %16442 + %16493 = phi i32 [ %16440, %16442 ], [ %16489, %16481 ] + %16494 = phi i32 [ %16439, %16442 ], [ %16488, %16481 ] + %16495 = sub i32 0, %16494 + %.not13040 = icmp eq i32 %16493, %16495 + %or.cond13583 = select i1 %.not10695, i1 true, i1 %.not13040 + br i1 %or.cond13583, label %.loopexit12751, label %.lr.ph12915.preheader + +.lr.ph12915.preheader: ; preds = %._crit_edge12911 + %16496 = load i32, ptr %.09759, align 8 + %16497 = lshr i32 %16496, 9 + br label %.lr.ph12915 + +.lr.ph12915: ; preds = %.lr.ph12915.preheader, %16529 + %16498 = phi i32 [ %16493, %.lr.ph12915.preheader ], [ %16530, %16529 ] + %16499 = phi i32 [ %16494, %.lr.ph12915.preheader ], [ %16531, %16529 ] + %indvars.iv13194 = phi i64 [ 0, %.lr.ph12915.preheader ], [ %indvars.iv.next13195, %16529 ] + %.1939412913 = phi i32 [ %16497, %.lr.ph12915.preheader ], [ %16532, %16529 ] + %16500 = zext i32 %.1939412913 to i64 + %16501 = getelementptr inbounds nuw %struct._zend_jit_reg_var, ptr %.09775, i64 %16500 + %16502 = load i32, ptr %16501, align 4 + %.not10696 = icmp eq i32 %16502, 0 + br i1 %.not10696, label %16529, label %16503 + +16503: ; preds = %.lr.ph12915 + %16504 = getelementptr inbounds nuw i8, ptr %16501, i64 4 + %16505 = load i32, ptr %16504, align 4 + %16506 = and i32 %16505, 1 + %.not10697 = icmp eq i32 %16506, 0 + br i1 %.not10697, label %16529, label %16507 + +16507: ; preds = %16503 + %16508 = load ptr, ptr %2477, align 8 + %16509 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %16508, i64 %16500 + %16510 = load i32, ptr %16509, align 8 + %16511 = shl nuw nsw i64 %indvars.iv13194, 12 + %16512 = add nuw nsw i64 %16511, 20480 + %16513 = and i64 %16512, 1099511623680 + %16514 = or disjoint i64 %16513, 57 + %16515 = and i32 %16510, 1022 + %16516 = icmp eq i32 %16515, 16 + br i1 %16516, label %16517, label %16519 + +16517: ; preds = %16507 + %16518 = call fastcc i32 @jit_Z_LVAL(ptr noundef nonnull %17, i64 noundef %16514) + br label %zend_jit_load_var.exit12141 + +16519: ; preds = %16507 + %16520 = icmp eq i32 %16515, 32 + call void @llvm.assume(i1 %16520) + %16521 = call fastcc i32 @jit_Z_DVAL(ptr noundef nonnull %17, i64 noundef %16514) + br label %zend_jit_load_var.exit12141 + +zend_jit_load_var.exit12141: ; preds = %16517, %16519 + %.sink.i.i12140 = phi i32 [ %16521, %16519 ], [ %16518, %16517 ] + %16522 = sext i32 %.1939412913 to i64 + %16523 = shl nsw i64 %16522, 2 + %16524 = or disjoint i64 %16523, 2 + call fastcc void @zend_jit_def_reg(ptr noundef nonnull %17, i64 noundef %16524, i32 noundef %.sink.i.i12140) + %16525 = load i32, ptr %16501, align 4 + %16526 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %16434, i64 %indvars.iv13194 + %16527 = getelementptr inbounds nuw i8, ptr %16526, i64 4 + store i32 %16525, ptr %16527, align 4 + %16528 = getelementptr inbounds nuw i8, ptr %16526, i64 3 + store i8 1, ptr %16528, align 1 + %.pre13221 = load i32, ptr %16437, align 8 + %.pre13222 = load i32, ptr %16438, align 8 + br label %16529 + +16529: ; preds = %.lr.ph12915, %16503, %zend_jit_load_var.exit12141 + %16530 = phi i32 [ %16498, %.lr.ph12915 ], [ %16498, %16503 ], [ %.pre13222, %zend_jit_load_var.exit12141 ] + %16531 = phi i32 [ %16499, %.lr.ph12915 ], [ %16499, %16503 ], [ %.pre13221, %zend_jit_load_var.exit12141 ] + %indvars.iv.next13195 = add nuw nsw i64 %indvars.iv13194, 1 + %16532 = add i32 %.1939412913, 1 + %16533 = add i32 %16530, %16531 + %16534 = zext i32 %16533 to i64 + %16535 = icmp samesign ult i64 %indvars.iv.next13195, %16534 + br i1 %16535, label %.lr.ph12915, label %.loopexit12751 + +.lr.ph12906: ; preds = %.preheader12752, %.lr.ph12906 + %indvars.iv13188 = phi i64 [ %indvars.iv.next13189, %.lr.ph12906 ], [ 0, %.preheader12752 ] + %16536 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %16434, i64 %indvars.iv13188 + store i8 -1, ptr %16536, align 4 + %16537 = getelementptr inbounds nuw i8, ptr %16536, i64 1 + store i8 -1, ptr %16537, align 1 + %16538 = getelementptr inbounds nuw i8, ptr %16536, i64 2 + store i8 -1, ptr %16538, align 2 + %16539 = getelementptr inbounds nuw i8, ptr %16536, i64 3 + %16540 = getelementptr inbounds nuw i8, ptr %16536, i64 4 + store i32 0, ptr %16540, align 4 + store i8 0, ptr %16539, align 1 + %indvars.iv.next13189 = add nuw nsw i64 %indvars.iv13188, 1 + %16541 = load i32, ptr %16437, align 8 %16542 = load i32, ptr %16438, align 8 - %16543 = load i32, ptr %16439, align 8 - %16544 = add i32 %16543, %16542 - %16545 = zext i32 %16544 to i64 - %16546 = icmp samesign ult i64 %indvars.iv.next13192, %16545 - br i1 %16546, label %.lr.ph12909, label %.loopexit12754 - -.loopexit12754: ; preds = %.lr.ph12909, %16530, %.preheader12755, %._crit_edge12914, %16407 - %.19647 = phi ptr [ %16406, %16407 ], [ %16429, %._crit_edge12914 ], [ %16429, %.preheader12755 ], [ %16429, %16530 ], [ %16429, %.lr.ph12909 ] - %.19642 = phi ptr [ %16412, %16407 ], [ %16435, %._crit_edge12914 ], [ %16435, %.preheader12755 ], [ %16435, %16530 ], [ %16435, %.lr.ph12909 ] - %.79636 = phi ptr [ %.09629, %16407 ], [ null, %._crit_edge12914 ], [ null, %.preheader12755 ], [ null, %16530 ], [ null, %.lr.ph12909 ] - %.19619 = phi i32 [ %16409, %16407 ], [ 0, %._crit_edge12914 ], [ 0, %.preheader12755 ], [ 0, %16530 ], [ 0, %.lr.ph12909 ] - %.39616 = phi i32 [ %16411, %16407 ], [ 0, %._crit_edge12914 ], [ 0, %.preheader12755 ], [ 0, %16530 ], [ 0, %.lr.ph12909 ] + %16543 = add i32 %16542, %16541 + %16544 = zext i32 %16543 to i64 + %16545 = icmp samesign ult i64 %indvars.iv.next13189, %16544 + br i1 %16545, label %.lr.ph12906, label %.loopexit12751 + +.loopexit12751: ; preds = %.lr.ph12906, %16529, %.preheader12752, %._crit_edge12911, %16406 + %.19647 = phi ptr [ %16405, %16406 ], [ %16428, %._crit_edge12911 ], [ %16428, %.preheader12752 ], [ %16428, %16529 ], [ %16428, %.lr.ph12906 ] + %.19642 = phi ptr [ %16411, %16406 ], [ %16434, %._crit_edge12911 ], [ %16434, %.preheader12752 ], [ %16434, %16529 ], [ %16434, %.lr.ph12906 ] + %.79636 = phi ptr [ %.09629, %16406 ], [ null, %._crit_edge12911 ], [ null, %.preheader12752 ], [ null, %16529 ], [ null, %.lr.ph12906 ] + %.19619 = phi i32 [ %16408, %16406 ], [ 0, %._crit_edge12911 ], [ 0, %.preheader12752 ], [ 0, %16529 ], [ 0, %.lr.ph12906 ] + %.39616 = phi i32 [ %16410, %16406 ], [ 0, %._crit_edge12911 ], [ 0, %.preheader12752 ], [ 0, %16529 ], [ 0, %.lr.ph12906 ] store ptr %.19647, ptr getelementptr inbounds nuw (i8, ptr @jit_globals, i64 184), align 8 %.not10700 = icmp eq i8 %.09637, -1 - br i1 %.not10700, label %.loopexit12751, label %16547 - -16547: ; preds = %.loopexit12754 - %16548 = getelementptr inbounds nuw i8, ptr %.09759, i64 16 - %16549 = load i8, ptr %16548, align 8 - %16550 = icmp eq i8 %16549, 0 - br i1 %16550, label %16551, label %.loopexit12751 - -16551: ; preds = %16547 - %16552 = getelementptr inbounds nuw i8, ptr %.09759, i64 24 - %16553 = load ptr, ptr %16552, align 8 - %16554 = getelementptr inbounds i8, ptr %16553, i64 -1 - %16555 = load i8, ptr %16554, align 1 - %.not10701 = icmp eq i8 %16555, 0 - br i1 %.not10701, label %.loopexit12751, label %16556 - -16556: ; preds = %16551 - %16557 = getelementptr inbounds i8, ptr %16553, i64 -16 - %16558 = load i32, ptr %16557, align 8 - %16559 = lshr i32 %16558, 4 - %16560 = add nsw i32 %16559, -5 - %16561 = zext i32 %16560 to i64 - %16562 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.19642, i64 %16561 - store i8 %.09637, ptr %16562, align 4 - %16563 = load i32, ptr %16557, align 8 - %16564 = lshr i32 %16563, 4 - %16565 = add nsw i32 %16564, -5 - %16566 = zext i32 %16565 to i64 - %16567 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.19642, i64 %16566 - %16568 = getelementptr inbounds nuw i8, ptr %16567, i64 1 - store i8 %.09637, ptr %16568, align 1 - %16569 = load i32, ptr %16557, align 8 - %16570 = lshr i32 %16569, 4 - %16571 = add nsw i32 %16570, -5 - %16572 = zext i32 %16571 to i64 - %16573 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.19642, i64 %16572 - %16574 = getelementptr inbounds nuw i8, ptr %16573, i64 2 - store i8 -1, ptr %16574, align 2 - %16575 = load i32, ptr %16557, align 8 - %16576 = lshr i32 %16575, 4 - %16577 = add nsw i32 %16576, -5 - %16578 = zext i32 %16577 to i64 - %16579 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.19642, i64 %16578 - %16580 = getelementptr inbounds nuw i8, ptr %16579, i64 3 - store i8 0, ptr %16580, align 1 - %16581 = load i32, ptr %16557, align 8 - %16582 = lshr i32 %16581, 4 - %16583 = add nsw i32 %16582, -5 - %16584 = zext i32 %16583 to i64 - %16585 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.19642, i64 %16584, i32 1 - store i32 0, ptr %16585, align 4 - %16586 = load i32, ptr %16557, align 8 - %16587 = lshr i32 %16586, 4 - %16588 = add nsw i32 %16587, -5 - %16589 = zext i32 %16588 to i64 - %16590 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.19642, i64 %16589 - %16591 = getelementptr inbounds nuw i8, ptr %16590, i64 3 - store i8 0, ptr %16591, align 1 - br label %.loopexit12751 - -16592: ; preds = %2491 - %16593 = load i32, ptr %.09759, align 8 - %16594 = and i32 %16593, 256 - %.not.i12145 = icmp eq i32 %16594, 0 - br i1 %.not.i12145, label %.preheader.i12150, label %16604 - -.preheader.i12150: ; preds = %16592, %16602 - %.pn.i = phi ptr [ %.032.i, %16602 ], [ %.09759, %16592 ] + br i1 %.not10700, label %.loopexit12748, label %16546 + +16546: ; preds = %.loopexit12751 + %16547 = getelementptr inbounds nuw i8, ptr %.09759, i64 16 + %16548 = load i8, ptr %16547, align 8 + %16549 = icmp eq i8 %16548, 0 + br i1 %16549, label %16550, label %.loopexit12748 + +16550: ; preds = %16546 + %16551 = getelementptr inbounds nuw i8, ptr %.09759, i64 24 + %16552 = load ptr, ptr %16551, align 8 + %16553 = getelementptr inbounds i8, ptr %16552, i64 -1 + %16554 = load i8, ptr %16553, align 1 + %.not10701 = icmp eq i8 %16554, 0 + br i1 %.not10701, label %.loopexit12748, label %16555 + +16555: ; preds = %16550 + %16556 = getelementptr inbounds i8, ptr %16552, i64 -16 + %16557 = load i32, ptr %16556, align 8 + %16558 = lshr i32 %16557, 4 + %16559 = add nsw i32 %16558, -5 + %16560 = zext i32 %16559 to i64 + %16561 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.19642, i64 %16560 + store i8 %.09637, ptr %16561, align 4 + %16562 = load i32, ptr %16556, align 8 + %16563 = lshr i32 %16562, 4 + %16564 = add nsw i32 %16563, -5 + %16565 = zext i32 %16564 to i64 + %16566 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.19642, i64 %16565 + %16567 = getelementptr inbounds nuw i8, ptr %16566, i64 1 + store i8 %.09637, ptr %16567, align 1 + %16568 = load i32, ptr %16556, align 8 + %16569 = lshr i32 %16568, 4 + %16570 = add nsw i32 %16569, -5 + %16571 = zext i32 %16570 to i64 + %16572 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.19642, i64 %16571 + %16573 = getelementptr inbounds nuw i8, ptr %16572, i64 2 + store i8 -1, ptr %16573, align 2 + %16574 = load i32, ptr %16556, align 8 + %16575 = lshr i32 %16574, 4 + %16576 = add nsw i32 %16575, -5 + %16577 = zext i32 %16576 to i64 + %16578 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.19642, i64 %16577 + %16579 = getelementptr inbounds nuw i8, ptr %16578, i64 3 + store i8 0, ptr %16579, align 1 + %16580 = load i32, ptr %16556, align 8 + %16581 = lshr i32 %16580, 4 + %16582 = add nsw i32 %16581, -5 + %16583 = zext i32 %16582 to i64 + %16584 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.19642, i64 %16583, i32 1 + store i32 0, ptr %16584, align 4 + %16585 = load i32, ptr %16556, align 8 + %16586 = lshr i32 %16585, 4 + %16587 = add nsw i32 %16586, -5 + %16588 = zext i32 %16587 to i64 + %16589 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.19642, i64 %16588 + %16590 = getelementptr inbounds nuw i8, ptr %16589, i64 3 + store i8 0, ptr %16590, align 1 + br label %.loopexit12748 + +16591: ; preds = %2491 + %16592 = load i32, ptr %.09759, align 8 + %16593 = and i32 %16592, 256 + %.not.i12142 = icmp eq i32 %16593, 0 + br i1 %.not.i12142, label %.preheader.i12147, label %16603 + +.preheader.i12147: ; preds = %16591, %16601 + %.pn.i = phi ptr [ %.032.i, %16601 ], [ %.09759, %16591 ] %.032.i = getelementptr inbounds i8, ptr %.pn.i, i64 -16 - %16595 = load i8, ptr %.032.i, align 8 - %16596 = icmp eq i8 %16595, 0 - br i1 %16596, label %16597, label %16602 - -16597: ; preds = %.preheader.i12150 - %16598 = getelementptr inbounds i8, ptr %.pn.i, i64 -8 - %16599 = load ptr, ptr %16598, align 8 - %16600 = getelementptr inbounds nuw i8, ptr %16599, i64 28 - %16601 = load i8, ptr %16600, align 4 - switch i8 %16601, label %zend_jit_trace_find_init_fcall_op.exit.thread [ + %16594 = load i8, ptr %.032.i, align 8 + %16595 = icmp eq i8 %16594, 0 + br i1 %16595, label %16596, label %16601 + +16596: ; preds = %.preheader.i12147 + %16597 = getelementptr inbounds i8, ptr %.pn.i, i64 -8 + %16598 = load ptr, ptr %16597, align 8 + %16599 = getelementptr inbounds nuw i8, ptr %16598, i64 28 + %16600 = load i8, ptr %16599, align 4 + switch i8 %16600, label %zend_jit_trace_find_init_fcall_op.exit.thread [ i8 61, label %zend_jit_trace_find_init_fcall_op.exit i8 59, label %zend_jit_trace_find_init_fcall_op.exit i8 69, label %zend_jit_trace_find_init_fcall_op.exit @@ -48309,1740 +48304,1740 @@ zend_jit_load_var.exit12144: ; preds = %16518, %16520 i8 113, label %zend_jit_trace_find_init_fcall_op.exit ] -16602: ; preds = %.preheader.i12150 - %16603 = icmp ult i8 %16595, 4 - br i1 %16603, label %.preheader.i12150, label %zend_jit_trace_find_init_fcall_op.exit.thread - -16604: ; preds = %16592 - %16605 = getelementptr inbounds nuw i8, ptr %.09759, i64 16 - br label %16606 - -16606: ; preds = %16614, %16604 - %.133.i = phi ptr [ %16605, %16604 ], [ %16616, %16614 ] - %.0.i12146 = phi i32 [ 0, %16604 ], [ %16615, %16614 ] - %16607 = load i8, ptr %.133.i, align 8 - switch i8 %16607, label %zend_jit_trace_find_init_fcall_op.exit.thread [ - i8 0, label %16608 - i8 4, label %16614 +16601: ; preds = %.preheader.i12147 + %16602 = icmp ult i8 %16594, 4 + br i1 %16602, label %.preheader.i12147, label %zend_jit_trace_find_init_fcall_op.exit.thread + +16603: ; preds = %16591 + %16604 = getelementptr inbounds nuw i8, ptr %.09759, i64 16 + br label %16605 + +16605: ; preds = %16613, %16603 + %.133.i = phi ptr [ %16604, %16603 ], [ %16615, %16613 ] + %.0.i12143 = phi i32 [ 0, %16603 ], [ %16614, %16613 ] + %16606 = load i8, ptr %.133.i, align 8 + switch i8 %16606, label %zend_jit_trace_find_init_fcall_op.exit.thread [ + i8 0, label %16607 + i8 4, label %16613 ] -16608: ; preds = %16606 - %16609 = getelementptr inbounds nuw i8, ptr %.133.i, i64 8 - %16610 = load ptr, ptr %16609, align 8 - %.not38.i = icmp eq ptr %16610, null +16607: ; preds = %16605 + %16608 = getelementptr inbounds nuw i8, ptr %.133.i, i64 8 + %16609 = load ptr, ptr %16608, align 8 + %.not38.i = icmp eq ptr %16609, null br i1 %.not38.i, label %zend_jit_trace_find_init_fcall_op.exit.thread, label %.preheader39.i -.preheader39.i: ; preds = %16608 - %16611 = getelementptr inbounds nuw i8, ptr %.09771, i64 88 - %16612 = load ptr, ptr %16611, align 8 - %16613 = icmp ugt ptr %16610, %16612 - br i1 %16613, label %.lr.ph.i12148, label %zend_jit_trace_find_init_fcall_op.exit.thread - -16614: ; preds = %16606 - %16615 = add nuw nsw i32 %.0.i12146, 1 - %16616 = getelementptr inbounds i8, ptr %.133.i, i64 -16 - br label %16606 - -.lr.ph.i12148: ; preds = %.preheader39.i, %16626 - %.146.i = phi i32 [ %.2.i12149, %16626 ], [ %.0.i12146, %.preheader39.i ] - %.03045.i = phi ptr [ %16617, %16626 ], [ %16610, %.preheader39.i ] - %16617 = getelementptr inbounds i8, ptr %.03045.i, i64 -32 - %16618 = getelementptr inbounds i8, ptr %.03045.i, i64 -4 - %16619 = load i8, ptr %16618, align 4 - switch i8 %16619, label %16626 [ - i8 61, label %16620 - i8 59, label %16620 - i8 69, label %16620 - i8 112, label %16620 - i8 -128, label %16620 - i8 113, label %16620 - i8 118, label %16620 - i8 68, label %16620 - i8 60, label %16624 - i8 -127, label %16624 - i8 -126, label %16624 - i8 -125, label %16624 - i8 -54, label %16624 +.preheader39.i: ; preds = %16607 + %16610 = getelementptr inbounds nuw i8, ptr %.09771, i64 88 + %16611 = load ptr, ptr %16610, align 8 + %16612 = icmp ugt ptr %16609, %16611 + br i1 %16612, label %.lr.ph.i12145, label %zend_jit_trace_find_init_fcall_op.exit.thread + +16613: ; preds = %16605 + %16614 = add nuw nsw i32 %.0.i12143, 1 + %16615 = getelementptr inbounds i8, ptr %.133.i, i64 -16 + br label %16605 + +.lr.ph.i12145: ; preds = %.preheader39.i, %16625 + %.146.i = phi i32 [ %.2.i12146, %16625 ], [ %.0.i12143, %.preheader39.i ] + %.03045.i = phi ptr [ %16616, %16625 ], [ %16609, %.preheader39.i ] + %16616 = getelementptr inbounds i8, ptr %.03045.i, i64 -32 + %16617 = getelementptr inbounds i8, ptr %.03045.i, i64 -4 + %16618 = load i8, ptr %16617, align 4 + switch i8 %16618, label %16625 [ + i8 61, label %16619 + i8 59, label %16619 + i8 69, label %16619 + i8 112, label %16619 + i8 -128, label %16619 + i8 113, label %16619 + i8 118, label %16619 + i8 68, label %16619 + i8 60, label %16623 + i8 -127, label %16623 + i8 -126, label %16623 + i8 -125, label %16623 + i8 -54, label %16623 ] -16620: ; preds = %.lr.ph.i12148, %.lr.ph.i12148, %.lr.ph.i12148, %.lr.ph.i12148, %.lr.ph.i12148, %.lr.ph.i12148, %.lr.ph.i12148, %.lr.ph.i12148 - %16621 = icmp eq i32 %.146.i, 0 - br i1 %16621, label %zend_jit_trace_find_init_fcall_op.exit, label %16622 - -16622: ; preds = %16620 - %16623 = add nsw i32 %.146.i, -1 - br label %16626 - -16624: ; preds = %.lr.ph.i12148, %.lr.ph.i12148, %.lr.ph.i12148, %.lr.ph.i12148, %.lr.ph.i12148 - %16625 = add nsw i32 %.146.i, 1 - br label %16626 - -16626: ; preds = %16624, %16622, %.lr.ph.i12148 - %.2.i12149 = phi i32 [ %.146.i, %.lr.ph.i12148 ], [ %16625, %16624 ], [ %16623, %16622 ] - %16627 = icmp ugt ptr %16617, %16612 - br i1 %16627, label %.lr.ph.i12148, label %zend_jit_trace_find_init_fcall_op.exit.thread - -zend_jit_trace_find_init_fcall_op.exit: ; preds = %16620, %16597, %16597, %16597, %16597, %16597, %16597, %16597, %16597 - %.031.i = phi ptr [ %16599, %16597 ], [ %16599, %16597 ], [ %16599, %16597 ], [ %16599, %16597 ], [ %16599, %16597 ], [ %16599, %16597 ], [ %16599, %16597 ], [ %16599, %16597 ], [ %16617, %16620 ] - %16628 = getelementptr inbounds nuw i8, ptr %.031.i, i64 20 - %16629 = load i32, ptr %16628, align 4 - %16630 = icmp ult i32 %16629, 32768 - %16631 = shl nuw nsw i32 %16629, 16 - %spec.select11985 = select i1 %16630, i32 %16631, i32 -65536 +16619: ; preds = %.lr.ph.i12145, %.lr.ph.i12145, %.lr.ph.i12145, %.lr.ph.i12145, %.lr.ph.i12145, %.lr.ph.i12145, %.lr.ph.i12145, %.lr.ph.i12145 + %16620 = icmp eq i32 %.146.i, 0 + br i1 %16620, label %zend_jit_trace_find_init_fcall_op.exit, label %16621 + +16621: ; preds = %16619 + %16622 = add nsw i32 %.146.i, -1 + br label %16625 + +16623: ; preds = %.lr.ph.i12145, %.lr.ph.i12145, %.lr.ph.i12145, %.lr.ph.i12145, %.lr.ph.i12145 + %16624 = add nsw i32 %.146.i, 1 + br label %16625 + +16625: ; preds = %16623, %16621, %.lr.ph.i12145 + %.2.i12146 = phi i32 [ %.146.i, %.lr.ph.i12145 ], [ %16624, %16623 ], [ %16622, %16621 ] + %16626 = icmp ugt ptr %16616, %16611 + br i1 %16626, label %.lr.ph.i12145, label %zend_jit_trace_find_init_fcall_op.exit.thread + +zend_jit_trace_find_init_fcall_op.exit: ; preds = %16619, %16596, %16596, %16596, %16596, %16596, %16596, %16596, %16596 + %.031.i = phi ptr [ %16598, %16596 ], [ %16598, %16596 ], [ %16598, %16596 ], [ %16598, %16596 ], [ %16598, %16596 ], [ %16598, %16596 ], [ %16598, %16596 ], [ %16598, %16596 ], [ %16616, %16619 ] + %16627 = getelementptr inbounds nuw i8, ptr %.031.i, i64 20 + %16628 = load i32, ptr %16627, align 4 + %16629 = icmp ult i32 %16628, 32768 + %16630 = shl nuw nsw i32 %16628, 16 + %spec.select11983 = select i1 %16629, i32 %16630, i32 -65536 br label %zend_jit_trace_find_init_fcall_op.exit.thread -zend_jit_trace_find_init_fcall_op.exit.thread: ; preds = %16606, %16626, %16602, %.preheader39.i, %16608, %16597, %zend_jit_trace_find_init_fcall_op.exit - %.not1065412636 = phi i1 [ false, %zend_jit_trace_find_init_fcall_op.exit ], [ true, %16597 ], [ true, %16608 ], [ true, %.preheader39.i ], [ true, %16602 ], [ true, %16626 ], [ true, %16606 ] - %.031.i12635 = phi ptr [ %.031.i, %zend_jit_trace_find_init_fcall_op.exit ], [ null, %16597 ], [ null, %16608 ], [ null, %.preheader39.i ], [ null, %16602 ], [ null, %16626 ], [ null, %16606 ] - %.09386 = phi i32 [ %spec.select11985, %zend_jit_trace_find_init_fcall_op.exit ], [ -65536, %16597 ], [ -65536, %16608 ], [ -65536, %.preheader39.i ], [ -65536, %16602 ], [ -65536, %16626 ], [ -65536, %16606 ] - %16632 = getelementptr inbounds nuw i8, ptr %.09644, i64 8 - %16633 = getelementptr inbounds nuw i8, ptr %.09759, i64 8 +zend_jit_trace_find_init_fcall_op.exit.thread: ; preds = %16605, %16625, %16601, %.preheader39.i, %16607, %16596, %zend_jit_trace_find_init_fcall_op.exit + %.not1065412633 = phi i1 [ false, %zend_jit_trace_find_init_fcall_op.exit ], [ true, %16596 ], [ true, %16607 ], [ true, %.preheader39.i ], [ true, %16601 ], [ true, %16625 ], [ true, %16605 ] + %.031.i12632 = phi ptr [ %.031.i, %zend_jit_trace_find_init_fcall_op.exit ], [ null, %16596 ], [ null, %16607 ], [ null, %.preheader39.i ], [ null, %16601 ], [ null, %16625 ], [ null, %16605 ] + %.09386 = phi i32 [ %spec.select11983, %zend_jit_trace_find_init_fcall_op.exit ], [ -65536, %16596 ], [ -65536, %16607 ], [ -65536, %.preheader39.i ], [ -65536, %16601 ], [ -65536, %16625 ], [ -65536, %16605 ] + %16631 = getelementptr inbounds nuw i8, ptr %.09644, i64 8 + %16632 = getelementptr inbounds nuw i8, ptr %.09759, i64 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.09644, i8 0, i64 16, i1 false) - %16634 = load ptr, ptr %16633, align 8 - %16635 = getelementptr inbounds nuw i8, ptr %.09644, i64 16 - store ptr %16634, ptr %16635, align 8 - %16636 = getelementptr inbounds nuw i8, ptr %.09644, i64 24 - store ptr null, ptr %16636, align 8 - %16637 = getelementptr inbounds nuw i8, ptr %.09644, i64 40 - store i32 0, ptr %16637, align 8 - %16638 = getelementptr inbounds nuw i8, ptr %.09644, i64 44 - %16639 = or i32 %.09386, %.09610 - store i32 %16639, ptr %16638, align 4 - %16640 = load ptr, ptr %.09646, align 8 - store ptr %16640, ptr %16632, align 8 - %16641 = load i32, ptr %.09759, align 8 - %16642 = and i32 %16641, 256 - %.not10655 = icmp eq i32 %16642, 0 - br i1 %.not10655, label %16643, label %16652 - -16643: ; preds = %zend_jit_trace_find_init_fcall_op.exit.thread - %16644 = and i32 %16639, -7 - %16645 = or disjoint i32 %16644, 4 - store i32 %16645, ptr %16638, align 4 - br i1 %.not1065412636, label %.critedge11987, label %16646 - -16646: ; preds = %16643 - %16647 = getelementptr inbounds nuw i8, ptr %.031.i12635, i64 28 - %16648 = load i8, ptr %16647, align 4 - %16649 = icmp eq i8 %16648, -128 - br i1 %16649, label %16650, label %.thread12638 - -16650: ; preds = %16646 - %16651 = or i32 %16644, 516 - store i32 %16651, ptr %16638, align 4 - br label %.thread12638 - -16652: ; preds = %zend_jit_trace_find_init_fcall_op.exit.thread - br i1 %.not1065412636, label %.critedge11987, label %.thread12638 - -.thread12638: ; preds = %16650, %16646, %16652 - %16653 = phi i32 [ %16651, %16650 ], [ %16645, %16646 ], [ %16639, %16652 ] - %16654 = getelementptr inbounds nuw i8, ptr %.031.i12635, i64 28 - %16655 = load i8, ptr %16654, align 4 - switch i8 %16655, label %.critedge11987.sink.split [ - i8 68, label %16702 - i8 112, label %16656 - i8 118, label %16675 - i8 -128, label %16684 + %16633 = load ptr, ptr %16632, align 8 + %16634 = getelementptr inbounds nuw i8, ptr %.09644, i64 16 + store ptr %16633, ptr %16634, align 8 + %16635 = getelementptr inbounds nuw i8, ptr %.09644, i64 24 + store ptr null, ptr %16635, align 8 + %16636 = getelementptr inbounds nuw i8, ptr %.09644, i64 40 + store i32 0, ptr %16636, align 8 + %16637 = getelementptr inbounds nuw i8, ptr %.09644, i64 44 + %16638 = or i32 %.09386, %.09610 + store i32 %16638, ptr %16637, align 4 + %16639 = load ptr, ptr %.09646, align 8 + store ptr %16639, ptr %16631, align 8 + %16640 = load i32, ptr %.09759, align 8 + %16641 = and i32 %16640, 256 + %.not10655 = icmp eq i32 %16641, 0 + br i1 %.not10655, label %16642, label %16651 + +16642: ; preds = %zend_jit_trace_find_init_fcall_op.exit.thread + %16643 = and i32 %16638, -7 + %16644 = or disjoint i32 %16643, 4 + store i32 %16644, ptr %16637, align 4 + br i1 %.not1065412633, label %.critedge11985, label %16645 + +16645: ; preds = %16642 + %16646 = getelementptr inbounds nuw i8, ptr %.031.i12632, i64 28 + %16647 = load i8, ptr %16646, align 4 + %16648 = icmp eq i8 %16647, -128 + br i1 %16648, label %16649, label %.thread12635 + +16649: ; preds = %16645 + %16650 = or i32 %16643, 516 + store i32 %16650, ptr %16637, align 4 + br label %.thread12635 + +16651: ; preds = %zend_jit_trace_find_init_fcall_op.exit.thread + br i1 %.not1065412633, label %.critedge11985, label %.thread12635 + +.thread12635: ; preds = %16649, %16645, %16651 + %16652 = phi i32 [ %16650, %16649 ], [ %16644, %16645 ], [ %16638, %16651 ] + %16653 = getelementptr inbounds nuw i8, ptr %.031.i12632, i64 28 + %16654 = load i8, ptr %16653, align 4 + switch i8 %16654, label %.critedge11985.sink.split [ + i8 68, label %16701 + i8 112, label %16655 + i8 118, label %16674 + i8 -128, label %16683 ] -16656: ; preds = %.thread12638 - %16657 = getelementptr inbounds nuw i8, ptr %.031.i12635, i64 29 - %16658 = load i8, ptr %16657, align 1 - %16659 = icmp eq i8 %16658, 0 - br i1 %16659, label %.critedge11987.sink.split, label %16660 - -16660: ; preds = %16656 - %16661 = load i32, ptr %.09759, align 8 - %16662 = and i32 %16661, 256 - %16663 = icmp eq i32 %16662, 0 - %16664 = icmp ne ptr %.09621, null - %or.cond201 = select i1 %16663, i1 %16664, i1 false - br i1 %or.cond201, label %16665, label %16693 - -16665: ; preds = %16660 - %16666 = getelementptr inbounds i8, ptr %.09621, i64 -36 - %16667 = load i32, ptr %16666, align 4 - %16668 = icmp sgt i32 %16667, -1 - br i1 %16668, label %16669, label %.thread13373 - -16669: ; preds = %16665 - %16670 = load ptr, ptr %2477, align 8 - %16671 = zext nneg i32 %16667 to i64 - %16672 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %16670, i64 %16671, i32 1 - %16673 = load i8, ptr %16672, align 4 - %16674 = and i8 %16673, 16 - %.not10658 = icmp eq i8 %16674, 0 - br i1 %.not10658, label %.thread13373, label %.critedge11987.sink.split - -16675: ; preds = %.thread12638 - %16676 = load ptr, ptr %16633, align 8 - %.not10660 = icmp eq ptr %16676, null - br i1 %.not10660, label %.critedge11987, label %16677 - -16677: ; preds = %16675 - %16678 = getelementptr inbounds nuw i8, ptr %16676, i64 16 - %16679 = load ptr, ptr %16678, align 8 - %.not10661 = icmp eq ptr %16679, null - br i1 %.not10661, label %.critedge11987.sink.split, label %16680 - -16680: ; preds = %16677 - %16681 = getelementptr inbounds nuw i8, ptr %16676, i64 4 - %16682 = load i32, ptr %16681, align 4 - %16683 = and i32 %16682, 16 - %.not10662 = icmp eq i32 %16683, 0 - br i1 %.not10662, label %.critedge11987, label %.critedge11987.sink.split - -16684: ; preds = %.thread12638 - %16685 = load ptr, ptr %16633, align 8 - %.not10664 = icmp eq ptr %16685, null - br i1 %.not10664, label %.critedge11987, label %16686 - -16686: ; preds = %16684 - %16687 = getelementptr inbounds nuw i8, ptr %16685, i64 16 - %16688 = load ptr, ptr %16687, align 8 - %.not10665 = icmp eq ptr %16688, null - br i1 %.not10665, label %.critedge11987.sink.split, label %16689 - -16689: ; preds = %16686 - %16690 = getelementptr inbounds nuw i8, ptr %16685, i64 4 - %16691 = load i32, ptr %16690, align 4 - %16692 = and i32 %16691, 16 - %.not10666 = icmp eq i32 %16692, 0 - br i1 %.not10666, label %.critedge11987, label %.critedge11987.sink.split - -16693: ; preds = %16660 - br i1 %16663, label %.thread13373, label %.critedge11987 - -.thread13373: ; preds = %16669, %16665, %16693 - %16694 = load ptr, ptr %16633, align 8 - %.not10669 = icmp eq ptr %16694, null - br i1 %.not10669, label %.critedge11987, label %16695 - -16695: ; preds = %.thread13373 - %16696 = getelementptr inbounds nuw i8, ptr %16694, i64 16 - %16697 = load ptr, ptr %16696, align 8 - %.not10670 = icmp eq ptr %16697, null - br i1 %.not10670, label %.critedge11987, label %16698 - -16698: ; preds = %16695 - %16699 = getelementptr inbounds nuw i8, ptr %16694, i64 4 - %16700 = load i32, ptr %16699, align 4 - %16701 = and i32 %16700, 16 - %.not10671 = icmp eq i32 %16701, 0 - br i1 %.not10671, label %16702, label %.critedge11987 - -16702: ; preds = %.thread12638, %16698 - br label %.critedge11987.sink.split - -.critedge11987.sink.split: ; preds = %16689, %16686, %16680, %16677, %16669, %16656, %.thread12638, %16702 - %.sink13588 = phi i32 [ 1024, %16702 ], [ 128, %.thread12638 ], [ 128, %16656 ], [ 128, %16669 ], [ 128, %16677 ], [ 128, %16680 ], [ 128, %16686 ], [ 128, %16689 ] - %16703 = or i32 %16653, %.sink13588 - store i32 %16703, ptr %16638, align 4 - br label %.critedge11987 - -.critedge11987: ; preds = %.critedge11987.sink.split, %16675, %16680, %16684, %16689, %16643, %16698, %16695, %.thread13373, %16693, %16652 +16655: ; preds = %.thread12635 + %16656 = getelementptr inbounds nuw i8, ptr %.031.i12632, i64 29 + %16657 = load i8, ptr %16656, align 1 + %16658 = icmp eq i8 %16657, 0 + br i1 %16658, label %.critedge11985.sink.split, label %16659 + +16659: ; preds = %16655 + %16660 = load i32, ptr %.09759, align 8 + %16661 = and i32 %16660, 256 + %16662 = icmp eq i32 %16661, 0 + %16663 = icmp ne ptr %.09621, null + %or.cond201 = select i1 %16662, i1 %16663, i1 false + br i1 %or.cond201, label %16664, label %16692 + +16664: ; preds = %16659 + %16665 = getelementptr inbounds i8, ptr %.09621, i64 -36 + %16666 = load i32, ptr %16665, align 4 + %16667 = icmp sgt i32 %16666, -1 + br i1 %16667, label %16668, label %.thread13370 + +16668: ; preds = %16664 + %16669 = load ptr, ptr %2477, align 8 + %16670 = zext nneg i32 %16666 to i64 + %16671 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %16669, i64 %16670, i32 1 + %16672 = load i8, ptr %16671, align 4 + %16673 = and i8 %16672, 16 + %.not10658 = icmp eq i8 %16673, 0 + br i1 %.not10658, label %.thread13370, label %.critedge11985.sink.split + +16674: ; preds = %.thread12635 + %16675 = load ptr, ptr %16632, align 8 + %.not10660 = icmp eq ptr %16675, null + br i1 %.not10660, label %.critedge11985, label %16676 + +16676: ; preds = %16674 + %16677 = getelementptr inbounds nuw i8, ptr %16675, i64 16 + %16678 = load ptr, ptr %16677, align 8 + %.not10661 = icmp eq ptr %16678, null + br i1 %.not10661, label %.critedge11985.sink.split, label %16679 + +16679: ; preds = %16676 + %16680 = getelementptr inbounds nuw i8, ptr %16675, i64 4 + %16681 = load i32, ptr %16680, align 4 + %16682 = and i32 %16681, 16 + %.not10662 = icmp eq i32 %16682, 0 + br i1 %.not10662, label %.critedge11985, label %.critedge11985.sink.split + +16683: ; preds = %.thread12635 + %16684 = load ptr, ptr %16632, align 8 + %.not10664 = icmp eq ptr %16684, null + br i1 %.not10664, label %.critedge11985, label %16685 + +16685: ; preds = %16683 + %16686 = getelementptr inbounds nuw i8, ptr %16684, i64 16 + %16687 = load ptr, ptr %16686, align 8 + %.not10665 = icmp eq ptr %16687, null + br i1 %.not10665, label %.critedge11985.sink.split, label %16688 + +16688: ; preds = %16685 + %16689 = getelementptr inbounds nuw i8, ptr %16684, i64 4 + %16690 = load i32, ptr %16689, align 4 + %16691 = and i32 %16690, 16 + %.not10666 = icmp eq i32 %16691, 0 + br i1 %.not10666, label %.critedge11985, label %.critedge11985.sink.split + +16692: ; preds = %16659 + br i1 %16662, label %.thread13370, label %.critedge11985 + +.thread13370: ; preds = %16668, %16664, %16692 + %16693 = load ptr, ptr %16632, align 8 + %.not10669 = icmp eq ptr %16693, null + br i1 %.not10669, label %.critedge11985, label %16694 + +16694: ; preds = %.thread13370 + %16695 = getelementptr inbounds nuw i8, ptr %16693, i64 16 + %16696 = load ptr, ptr %16695, align 8 + %.not10670 = icmp eq ptr %16696, null + br i1 %.not10670, label %.critedge11985, label %16697 + +16697: ; preds = %16694 + %16698 = getelementptr inbounds nuw i8, ptr %16693, i64 4 + %16699 = load i32, ptr %16698, align 4 + %16700 = and i32 %16699, 16 + %.not10671 = icmp eq i32 %16700, 0 + br i1 %.not10671, label %16701, label %.critedge11985 + +16701: ; preds = %.thread12635, %16697 + br label %.critedge11985.sink.split + +.critedge11985.sink.split: ; preds = %16688, %16685, %16679, %16676, %16668, %16655, %.thread12635, %16701 + %.sink13585 = phi i32 [ 1024, %16701 ], [ 128, %.thread12635 ], [ 128, %16655 ], [ 128, %16668 ], [ 128, %16676 ], [ 128, %16679 ], [ 128, %16685 ], [ 128, %16688 ] + %16702 = or i32 %16652, %.sink13585 + store i32 %16702, ptr %16637, align 4 + br label %.critedge11985 + +.critedge11985: ; preds = %.critedge11985.sink.split, %16674, %16679, %16683, %16688, %16642, %16697, %16694, %.thread13370, %16692, %16651 store ptr %.09644, ptr %.09646, align 8 - %16704 = load ptr, ptr %16633, align 8 - %.not.i12151 = icmp eq ptr %16704, null - br i1 %.not.i12151, label %zend_jit_trace_call_frame.exit12154, label %16705 - -16705: ; preds = %.critedge11987 - %16706 = load i8, ptr %16704, align 8 - %16707 = icmp eq i8 %16706, 2 - br i1 %16707, label %16709, label %16825 - -zend_jit_trace_call_frame.exit12154: ; preds = %.critedge11987 - %16708 = getelementptr inbounds nuw i8, ptr %.09644, i64 64 - br label %.critedge11999 - -16709: ; preds = %16705 - %16710 = getelementptr inbounds nuw i8, ptr %16704, i64 80 - %16711 = load i32, ptr %16710, align 8 - %16712 = getelementptr inbounds nuw i8, ptr %16704, i64 72 - %16713 = load i32, ptr %16712, align 8 - %16714 = add i32 %16713, %16711 - %.0.i12153.ph.in.in.in13376 = zext i32 %16714 to i64 - %.0.i12153.ph.in.in13377 = shl nuw nsw i64 %.0.i12153.ph.in.in.in13376, 3 - %.0.i12153.ph.in13378 = add nuw nsw i64 %.0.i12153.ph.in.in13377, 67 - %.0.i12153.ph13379 = and i64 %.0.i12153.ph.in13378, 68719476728 - %16715 = getelementptr inbounds nuw i8, ptr %.09644, i64 %.0.i12153.ph13379 - %16716 = load i8, ptr getelementptr inbounds nuw (i8, ptr @jit_globals, i64 3), align 1 - %16717 = icmp ugt i8 %16716, 1 - br i1 %16717, label %16724, label %.preheader12761 - -.preheader12761: ; preds = %16709 - %16718 = getelementptr inbounds nuw i8, ptr %16704, i64 80 - %16719 = load i32, ptr %16718, align 8 - %16720 = getelementptr inbounds nuw i8, ptr %16704, i64 72 - %16721 = load i32, ptr %16720, align 8 - %16722 = sub i32 0, %16719 - %.not13039 = icmp eq i32 %16721, %16722 - br i1 %.not13039, label %.loopexit12759, label %.lr.ph12893 - -.lr.ph12893: ; preds = %.preheader12761 - %16723 = getelementptr inbounds nuw i8, ptr %.09644, i64 60 - br label %16811 - -16724: ; preds = %16709 - %16725 = getelementptr inbounds nuw i8, ptr %16704, i64 192 - %16726 = load i32, ptr @zend_func_info_rid, align 4 - %16727 = sext i32 %16726 to i64 - %16728 = getelementptr inbounds [6 x ptr], ptr %16725, i64 0, i64 %16727 - %16729 = load ptr, ptr %16728, align 8 - %16730 = getelementptr inbounds nuw i8, ptr %16704, i64 32 - %16731 = load i32, ptr %16730, align 8 - %.not13040 = icmp eq i32 %16731, 0 - br i1 %.not13040, label %.preheader12760, label %.lr.ph12896 - -.lr.ph12896: ; preds = %16724 - %16732 = getelementptr inbounds nuw i8, ptr %.09644, i64 60 - br label %16742 - -.preheader12760.loopexit: ; preds = %16742 - %16733 = trunc nuw i64 %indvars.iv.next13183 to i32 - br label %.preheader12760 - -.preheader12760: ; preds = %.preheader12760.loopexit, %16724 - %16734 = phi ptr [ %16704, %16724 ], [ %16748, %.preheader12760.loopexit ] - %.79657.lcssa = phi i32 [ 0, %16724 ], [ %16733, %.preheader12760.loopexit ] - %16735 = getelementptr inbounds nuw i8, ptr %16734, i64 80 - %16736 = load i32, ptr %16735, align 8 - %16737 = icmp ult i32 %.79657.lcssa, %16736 - br i1 %16737, label %.lr.ph12899, label %.preheader12758 - -.lr.ph12899: ; preds = %.preheader12760 - %.not10687.not = icmp eq ptr %16729, null - %16738 = getelementptr inbounds nuw i8, ptr %16729, i64 40 - %16739 = getelementptr inbounds nuw i8, ptr %16729, i64 72 - %16740 = getelementptr inbounds nuw i8, ptr %.09644, i64 60 - %16741 = zext i32 %.79657.lcssa to i64 - br label %16762 - -16742: ; preds = %.lr.ph12896, %16742 - %indvars.iv13182 = phi i64 [ 0, %.lr.ph12896 ], [ %indvars.iv.next13183, %16742 ] - %16743 = getelementptr inbounds nuw [1 x %struct._zend_jit_trace_stack], ptr %16732, i64 0, i64 %indvars.iv13182 - store i8 -1, ptr %16743, align 4 - %16744 = getelementptr inbounds nuw i8, ptr %16743, i64 1 - store i8 -1, ptr %16744, align 1 - %16745 = getelementptr inbounds nuw i8, ptr %16743, i64 2 - store i8 -1, ptr %16745, align 2 - %16746 = getelementptr inbounds nuw i8, ptr %16743, i64 3 - %16747 = getelementptr inbounds nuw i8, ptr %16743, i64 4 - store i32 0, ptr %16747, align 4 - store i8 0, ptr %16746, align 1 - %indvars.iv.next13183 = add nuw nsw i64 %indvars.iv13182, 1 - %16748 = load ptr, ptr %16633, align 8 - %16749 = getelementptr inbounds nuw i8, ptr %16748, i64 32 - %16750 = load i32, ptr %16749, align 8 - %16751 = zext i32 %16750 to i64 - %16752 = icmp samesign ult i64 %indvars.iv.next13183, %16751 - br i1 %16752, label %16742, label %.preheader12760.loopexit - -.preheader12758.loopexit: ; preds = %.critedge11991 - %16753 = trunc nuw i64 %indvars.iv.next13186 to i32 - br label %.preheader12758 - -.preheader12758: ; preds = %.preheader12758.loopexit, %.preheader12760 - %16754 = phi i32 [ %16736, %.preheader12760 ], [ %16794, %.preheader12758.loopexit ] - %16755 = phi ptr [ %16734, %.preheader12760 ], [ %16792, %.preheader12758.loopexit ] - %.89658.lcssa = phi i32 [ %.79657.lcssa, %.preheader12760 ], [ %16753, %.preheader12758.loopexit ] - %16756 = getelementptr inbounds nuw i8, ptr %16755, i64 72 - %16757 = load i32, ptr %16756, align 8 - %16758 = add i32 %16757, %16754 - %16759 = icmp ult i32 %.89658.lcssa, %16758 - br i1 %16759, label %.lr.ph12902, label %.loopexit12759 - -.lr.ph12902: ; preds = %.preheader12758 - %16760 = getelementptr inbounds nuw i8, ptr %.09644, i64 60 - %16761 = zext i32 %.89658.lcssa to i64 - br label %16797 - -16762: ; preds = %.lr.ph12899, %.critedge11991 - %indvars.iv13185 = phi i64 [ %16741, %.lr.ph12899 ], [ %indvars.iv.next13186, %.critedge11991 ] - %16763 = phi ptr [ %16734, %.lr.ph12899 ], [ %16792, %.critedge11991 ] - br i1 %.not10687.not, label %.critedge11989, label %16764 - -16764: ; preds = %16762 - %16765 = getelementptr inbounds nuw i8, ptr %16763, i64 8 - %16766 = load ptr, ptr %16765, align 8 - %.not10689 = icmp eq ptr %16766, null - br i1 %.not10689, label %.critedge11991, label %16767 - -16767: ; preds = %16764 - %16768 = load i32, ptr %16738, align 8 - %16769 = and i32 %16768, 1 - %.not10690 = icmp eq i32 %16769, 0 - br i1 %.not10690, label %16770, label %.critedge11991 - -16770: ; preds = %16767 - %16771 = load ptr, ptr %16739, align 8 - %.not10691 = icmp eq ptr %16771, null - br i1 %.not10691, label %16777, label %16772 - -16772: ; preds = %16770 - %16773 = getelementptr inbounds nuw %struct._zend_ssa_var, ptr %16771, i64 %indvars.iv13185, i32 7 - %16774 = load i8, ptr %16773, align 8 - %16775 = and i8 %16774, 12 - %16776 = icmp eq i8 %16775, 0 - br i1 %16776, label %.critedge11989, label %.critedge11991 - -16777: ; preds = %16770 - %16778 = getelementptr inbounds nuw i8, ptr %16763, i64 112 - %16779 = load ptr, ptr %16778, align 8 - %16780 = getelementptr inbounds nuw ptr, ptr %16779, i64 %indvars.iv13185 - %16781 = load ptr, ptr %16780, align 8 - %16782 = getelementptr inbounds nuw i8, ptr %16781, i64 16 - %16783 = load i64, ptr %16782, align 8 - %16784 = icmp eq i64 %16783, 20 - br i1 %16784, label %16785, label %.critedge11989 - -16785: ; preds = %16777 - %16786 = getelementptr inbounds nuw i8, ptr %16781, i64 24 - %bcmp = call i32 @bcmp(ptr noundef nonnull dereferenceable(20) %16786, ptr noundef nonnull dereferenceable(20) @.str.150, i64 20) + %16703 = load ptr, ptr %16632, align 8 + %.not.i12148 = icmp eq ptr %16703, null + br i1 %.not.i12148, label %zend_jit_trace_call_frame.exit12151, label %16704 + +16704: ; preds = %.critedge11985 + %16705 = load i8, ptr %16703, align 8 + %16706 = icmp eq i8 %16705, 2 + br i1 %16706, label %16708, label %16824 + +zend_jit_trace_call_frame.exit12151: ; preds = %.critedge11985 + %16707 = getelementptr inbounds nuw i8, ptr %.09644, i64 64 + br label %.critedge11997 + +16708: ; preds = %16704 + %16709 = getelementptr inbounds nuw i8, ptr %16703, i64 80 + %16710 = load i32, ptr %16709, align 8 + %16711 = getelementptr inbounds nuw i8, ptr %16703, i64 72 + %16712 = load i32, ptr %16711, align 8 + %16713 = add i32 %16712, %16710 + %.0.i12150.ph.in.in.in13373 = zext i32 %16713 to i64 + %.0.i12150.ph.in.in13374 = shl nuw nsw i64 %.0.i12150.ph.in.in.in13373, 3 + %.0.i12150.ph.in13375 = add nuw nsw i64 %.0.i12150.ph.in.in13374, 67 + %.0.i12150.ph13376 = and i64 %.0.i12150.ph.in13375, 68719476728 + %16714 = getelementptr inbounds nuw i8, ptr %.09644, i64 %.0.i12150.ph13376 + %16715 = load i8, ptr getelementptr inbounds nuw (i8, ptr @jit_globals, i64 3), align 1 + %16716 = icmp ugt i8 %16715, 1 + br i1 %16716, label %16723, label %.preheader12758 + +.preheader12758: ; preds = %16708 + %16717 = getelementptr inbounds nuw i8, ptr %16703, i64 80 + %16718 = load i32, ptr %16717, align 8 + %16719 = getelementptr inbounds nuw i8, ptr %16703, i64 72 + %16720 = load i32, ptr %16719, align 8 + %16721 = sub i32 0, %16718 + %.not13036 = icmp eq i32 %16720, %16721 + br i1 %.not13036, label %.loopexit12756, label %.lr.ph12890 + +.lr.ph12890: ; preds = %.preheader12758 + %16722 = getelementptr inbounds nuw i8, ptr %.09644, i64 60 + br label %16810 + +16723: ; preds = %16708 + %16724 = getelementptr inbounds nuw i8, ptr %16703, i64 192 + %16725 = load i32, ptr @zend_func_info_rid, align 4 + %16726 = sext i32 %16725 to i64 + %16727 = getelementptr inbounds [6 x ptr], ptr %16724, i64 0, i64 %16726 + %16728 = load ptr, ptr %16727, align 8 + %16729 = getelementptr inbounds nuw i8, ptr %16703, i64 32 + %16730 = load i32, ptr %16729, align 8 + %.not13037 = icmp eq i32 %16730, 0 + br i1 %.not13037, label %.preheader12757, label %.lr.ph12893 + +.lr.ph12893: ; preds = %16723 + %16731 = getelementptr inbounds nuw i8, ptr %.09644, i64 60 + br label %16741 + +.preheader12757.loopexit: ; preds = %16741 + %16732 = trunc nuw i64 %indvars.iv.next13180 to i32 + br label %.preheader12757 + +.preheader12757: ; preds = %.preheader12757.loopexit, %16723 + %16733 = phi ptr [ %16703, %16723 ], [ %16747, %.preheader12757.loopexit ] + %.79657.lcssa = phi i32 [ 0, %16723 ], [ %16732, %.preheader12757.loopexit ] + %16734 = getelementptr inbounds nuw i8, ptr %16733, i64 80 + %16735 = load i32, ptr %16734, align 8 + %16736 = icmp ult i32 %.79657.lcssa, %16735 + br i1 %16736, label %.lr.ph12896, label %.preheader12755 + +.lr.ph12896: ; preds = %.preheader12757 + %.not10687.not = icmp eq ptr %16728, null + %16737 = getelementptr inbounds nuw i8, ptr %16728, i64 40 + %16738 = getelementptr inbounds nuw i8, ptr %16728, i64 72 + %16739 = getelementptr inbounds nuw i8, ptr %.09644, i64 60 + %16740 = zext i32 %.79657.lcssa to i64 + br label %16761 + +16741: ; preds = %.lr.ph12893, %16741 + %indvars.iv13179 = phi i64 [ 0, %.lr.ph12893 ], [ %indvars.iv.next13180, %16741 ] + %16742 = getelementptr inbounds nuw [1 x %struct._zend_jit_trace_stack], ptr %16731, i64 0, i64 %indvars.iv13179 + store i8 -1, ptr %16742, align 4 + %16743 = getelementptr inbounds nuw i8, ptr %16742, i64 1 + store i8 -1, ptr %16743, align 1 + %16744 = getelementptr inbounds nuw i8, ptr %16742, i64 2 + store i8 -1, ptr %16744, align 2 + %16745 = getelementptr inbounds nuw i8, ptr %16742, i64 3 + %16746 = getelementptr inbounds nuw i8, ptr %16742, i64 4 + store i32 0, ptr %16746, align 4 + store i8 0, ptr %16745, align 1 + %indvars.iv.next13180 = add nuw nsw i64 %indvars.iv13179, 1 + %16747 = load ptr, ptr %16632, align 8 + %16748 = getelementptr inbounds nuw i8, ptr %16747, i64 32 + %16749 = load i32, ptr %16748, align 8 + %16750 = zext i32 %16749 to i64 + %16751 = icmp samesign ult i64 %indvars.iv.next13180, %16750 + br i1 %16751, label %16741, label %.preheader12757.loopexit + +.preheader12755.loopexit: ; preds = %.critedge11989 + %16752 = trunc nuw i64 %indvars.iv.next13183 to i32 + br label %.preheader12755 + +.preheader12755: ; preds = %.preheader12755.loopexit, %.preheader12757 + %16753 = phi i32 [ %16735, %.preheader12757 ], [ %16793, %.preheader12755.loopexit ] + %16754 = phi ptr [ %16733, %.preheader12757 ], [ %16791, %.preheader12755.loopexit ] + %.89658.lcssa = phi i32 [ %.79657.lcssa, %.preheader12757 ], [ %16752, %.preheader12755.loopexit ] + %16755 = getelementptr inbounds nuw i8, ptr %16754, i64 72 + %16756 = load i32, ptr %16755, align 8 + %16757 = add i32 %16756, %16753 + %16758 = icmp ult i32 %.89658.lcssa, %16757 + br i1 %16758, label %.lr.ph12899, label %.loopexit12756 + +.lr.ph12899: ; preds = %.preheader12755 + %16759 = getelementptr inbounds nuw i8, ptr %.09644, i64 60 + %16760 = zext i32 %.89658.lcssa to i64 + br label %16796 + +16761: ; preds = %.lr.ph12896, %.critedge11989 + %indvars.iv13182 = phi i64 [ %16740, %.lr.ph12896 ], [ %indvars.iv.next13183, %.critedge11989 ] + %16762 = phi ptr [ %16733, %.lr.ph12896 ], [ %16791, %.critedge11989 ] + br i1 %.not10687.not, label %.critedge11987, label %16763 + +16763: ; preds = %16761 + %16764 = getelementptr inbounds nuw i8, ptr %16762, i64 8 + %16765 = load ptr, ptr %16764, align 8 + %.not10689 = icmp eq ptr %16765, null + br i1 %.not10689, label %.critedge11989, label %16766 + +16766: ; preds = %16763 + %16767 = load i32, ptr %16737, align 8 + %16768 = and i32 %16767, 1 + %.not10690 = icmp eq i32 %16768, 0 + br i1 %.not10690, label %16769, label %.critedge11989 + +16769: ; preds = %16766 + %16770 = load ptr, ptr %16738, align 8 + %.not10691 = icmp eq ptr %16770, null + br i1 %.not10691, label %16776, label %16771 + +16771: ; preds = %16769 + %16772 = getelementptr inbounds nuw %struct._zend_ssa_var, ptr %16770, i64 %indvars.iv13182, i32 7 + %16773 = load i8, ptr %16772, align 8 + %16774 = and i8 %16773, 12 + %16775 = icmp eq i8 %16774, 0 + br i1 %16775, label %.critedge11987, label %.critedge11989 + +16776: ; preds = %16769 + %16777 = getelementptr inbounds nuw i8, ptr %16762, i64 112 + %16778 = load ptr, ptr %16777, align 8 + %16779 = getelementptr inbounds nuw ptr, ptr %16778, i64 %indvars.iv13182 + %16780 = load ptr, ptr %16779, align 8 + %16781 = getelementptr inbounds nuw i8, ptr %16780, i64 16 + %16782 = load i64, ptr %16781, align 8 + %16783 = icmp eq i64 %16782, 20 + br i1 %16783, label %16784, label %.critedge11987 + +16784: ; preds = %16776 + %16785 = getelementptr inbounds nuw i8, ptr %16780, i64 24 + %bcmp = call i32 @bcmp(ptr noundef nonnull dereferenceable(20) %16785, ptr noundef nonnull dereferenceable(20) @.str.150, i64 20) %.not10692 = icmp eq i32 %bcmp, 0 - br i1 %.not10692, label %.critedge11991, label %.critedge11989 - -.critedge11989: ; preds = %16785, %16777, %16762, %16772 - br label %.critedge11991 - -.critedge11991: ; preds = %16772, %16785, %16764, %16767, %.critedge11989 - %.sink13598 = phi i8 [ 0, %.critedge11989 ], [ -1, %16767 ], [ -1, %16764 ], [ -1, %16785 ], [ -1, %16772 ] - %16787 = getelementptr inbounds nuw [1 x %struct._zend_jit_trace_stack], ptr %16740, i64 0, i64 %indvars.iv13185 - store i8 %.sink13598, ptr %16787, align 4 - %16788 = getelementptr inbounds nuw i8, ptr %16787, i64 1 - store i8 %.sink13598, ptr %16788, align 1 - %16789 = getelementptr inbounds nuw i8, ptr %16787, i64 2 - store i8 -1, ptr %16789, align 2 - %16790 = getelementptr inbounds nuw i8, ptr %16787, i64 3 - %16791 = getelementptr inbounds nuw i8, ptr %16787, i64 4 - store i32 0, ptr %16791, align 4 - store i8 0, ptr %16790, align 1 + br i1 %.not10692, label %.critedge11989, label %.critedge11987 + +.critedge11987: ; preds = %16784, %16776, %16761, %16771 + br label %.critedge11989 + +.critedge11989: ; preds = %16771, %16784, %16763, %16766, %.critedge11987 + %.sink13595 = phi i8 [ 0, %.critedge11987 ], [ -1, %16766 ], [ -1, %16763 ], [ -1, %16784 ], [ -1, %16771 ] + %16786 = getelementptr inbounds nuw [1 x %struct._zend_jit_trace_stack], ptr %16739, i64 0, i64 %indvars.iv13182 + store i8 %.sink13595, ptr %16786, align 4 + %16787 = getelementptr inbounds nuw i8, ptr %16786, i64 1 + store i8 %.sink13595, ptr %16787, align 1 + %16788 = getelementptr inbounds nuw i8, ptr %16786, i64 2 + store i8 -1, ptr %16788, align 2 + %16789 = getelementptr inbounds nuw i8, ptr %16786, i64 3 + %16790 = getelementptr inbounds nuw i8, ptr %16786, i64 4 + store i32 0, ptr %16790, align 4 + store i8 0, ptr %16789, align 1 + %indvars.iv.next13183 = add nuw nsw i64 %indvars.iv13182, 1 + %16791 = load ptr, ptr %16632, align 8 + %16792 = getelementptr inbounds nuw i8, ptr %16791, i64 80 + %16793 = load i32, ptr %16792, align 8 + %16794 = zext i32 %16793 to i64 + %16795 = icmp samesign ult i64 %indvars.iv.next13183, %16794 + br i1 %16795, label %16761, label %.preheader12755.loopexit + +16796: ; preds = %.lr.ph12899, %16796 + %indvars.iv13185 = phi i64 [ %16760, %.lr.ph12899 ], [ %indvars.iv.next13186, %16796 ] + %16797 = getelementptr inbounds nuw [1 x %struct._zend_jit_trace_stack], ptr %16759, i64 0, i64 %indvars.iv13185 + store i8 -1, ptr %16797, align 4 + %16798 = getelementptr inbounds nuw i8, ptr %16797, i64 1 + store i8 -1, ptr %16798, align 1 + %16799 = getelementptr inbounds nuw i8, ptr %16797, i64 2 + store i8 -1, ptr %16799, align 2 + %16800 = getelementptr inbounds nuw i8, ptr %16797, i64 3 + %16801 = getelementptr inbounds nuw i8, ptr %16797, i64 4 + store i32 0, ptr %16801, align 4 + store i8 0, ptr %16800, align 1 %indvars.iv.next13186 = add nuw nsw i64 %indvars.iv13185, 1 - %16792 = load ptr, ptr %16633, align 8 - %16793 = getelementptr inbounds nuw i8, ptr %16792, i64 80 - %16794 = load i32, ptr %16793, align 8 - %16795 = zext i32 %16794 to i64 - %16796 = icmp samesign ult i64 %indvars.iv.next13186, %16795 - br i1 %16796, label %16762, label %.preheader12758.loopexit - -16797: ; preds = %.lr.ph12902, %16797 - %indvars.iv13188 = phi i64 [ %16761, %.lr.ph12902 ], [ %indvars.iv.next13189, %16797 ] - %16798 = getelementptr inbounds nuw [1 x %struct._zend_jit_trace_stack], ptr %16760, i64 0, i64 %indvars.iv13188 - store i8 -1, ptr %16798, align 4 - %16799 = getelementptr inbounds nuw i8, ptr %16798, i64 1 - store i8 -1, ptr %16799, align 1 - %16800 = getelementptr inbounds nuw i8, ptr %16798, i64 2 - store i8 -1, ptr %16800, align 2 - %16801 = getelementptr inbounds nuw i8, ptr %16798, i64 3 - %16802 = getelementptr inbounds nuw i8, ptr %16798, i64 4 - store i32 0, ptr %16802, align 4 - store i8 0, ptr %16801, align 1 - %indvars.iv.next13189 = add nuw nsw i64 %indvars.iv13188, 1 - %16803 = load ptr, ptr %16633, align 8 - %16804 = getelementptr inbounds nuw i8, ptr %16803, i64 80 - %16805 = load i32, ptr %16804, align 8 - %16806 = getelementptr inbounds nuw i8, ptr %16803, i64 72 - %16807 = load i32, ptr %16806, align 8 - %16808 = add i32 %16807, %16805 - %16809 = zext i32 %16808 to i64 - %16810 = icmp samesign ult i64 %indvars.iv.next13189, %16809 - br i1 %16810, label %16797, label %.loopexit12759 - -16811: ; preds = %.lr.ph12893, %16811 - %indvars.iv13179 = phi i64 [ 0, %.lr.ph12893 ], [ %indvars.iv.next13180, %16811 ] - %16812 = getelementptr inbounds nuw [1 x %struct._zend_jit_trace_stack], ptr %16723, i64 0, i64 %indvars.iv13179 - store i8 -1, ptr %16812, align 4 - %16813 = getelementptr inbounds nuw i8, ptr %16812, i64 1 - store i8 -1, ptr %16813, align 1 - %16814 = getelementptr inbounds nuw i8, ptr %16812, i64 2 - store i8 -1, ptr %16814, align 2 - %16815 = getelementptr inbounds nuw i8, ptr %16812, i64 3 - %16816 = getelementptr inbounds nuw i8, ptr %16812, i64 4 - store i32 0, ptr %16816, align 4 - store i8 0, ptr %16815, align 1 - %indvars.iv.next13180 = add nuw nsw i64 %indvars.iv13179, 1 - %16817 = load ptr, ptr %16633, align 8 - %16818 = getelementptr inbounds nuw i8, ptr %16817, i64 80 - %16819 = load i32, ptr %16818, align 8 - %16820 = getelementptr inbounds nuw i8, ptr %16817, i64 72 - %16821 = load i32, ptr %16820, align 8 - %16822 = add i32 %16821, %16819 - %16823 = zext i32 %16822 to i64 - %16824 = icmp samesign ult i64 %indvars.iv.next13180, %16823 - br i1 %16824, label %16811, label %.loopexit12759 - -16825: ; preds = %16705 - %16826 = getelementptr inbounds nuw i8, ptr %16704, i64 32 - %16827 = load i32, ptr %16826, align 8 - %.0.i12153.ph.in.in.in = zext i32 %16827 to i64 - %.0.i12153.ph.in.in = shl nuw nsw i64 %.0.i12153.ph.in.in.in, 3 - %.0.i12153.ph.in = add nuw nsw i64 %.0.i12153.ph.in.in, 67 - %.0.i12153.ph = and i64 %.0.i12153.ph.in, 68719476728 - %16828 = getelementptr inbounds nuw i8, ptr %.09644, i64 %.0.i12153.ph - %16829 = icmp eq i8 %16706, 1 - call void @llvm.assume(i1 %16829) - %16830 = getelementptr inbounds nuw i8, ptr %16704, i64 32 - %16831 = load i32, ptr %16830, align 8 - %.not13038 = icmp eq i32 %16831, 0 - br i1 %.not13038, label %.loopexit12759, label %.lr.ph12891 - -.lr.ph12891: ; preds = %16825 - %16832 = getelementptr inbounds nuw i8, ptr %.09644, i64 60 - br label %16833 - -16833: ; preds = %.lr.ph12891, %16833 - %indvars.iv13176 = phi i64 [ 0, %.lr.ph12891 ], [ %indvars.iv.next13177, %16833 ] - %16834 = getelementptr inbounds nuw [1 x %struct._zend_jit_trace_stack], ptr %16832, i64 0, i64 %indvars.iv13176 - store i8 -1, ptr %16834, align 4 - %16835 = getelementptr inbounds nuw i8, ptr %16834, i64 1 - store i8 -1, ptr %16835, align 1 - %16836 = getelementptr inbounds nuw i8, ptr %16834, i64 2 - store i8 -1, ptr %16836, align 2 - %16837 = getelementptr inbounds nuw i8, ptr %16834, i64 3 - %16838 = getelementptr inbounds nuw i8, ptr %16834, i64 4 - store i32 0, ptr %16838, align 4 - store i8 0, ptr %16837, align 1 + %16802 = load ptr, ptr %16632, align 8 + %16803 = getelementptr inbounds nuw i8, ptr %16802, i64 80 + %16804 = load i32, ptr %16803, align 8 + %16805 = getelementptr inbounds nuw i8, ptr %16802, i64 72 + %16806 = load i32, ptr %16805, align 8 + %16807 = add i32 %16806, %16804 + %16808 = zext i32 %16807 to i64 + %16809 = icmp samesign ult i64 %indvars.iv.next13186, %16808 + br i1 %16809, label %16796, label %.loopexit12756 + +16810: ; preds = %.lr.ph12890, %16810 + %indvars.iv13176 = phi i64 [ 0, %.lr.ph12890 ], [ %indvars.iv.next13177, %16810 ] + %16811 = getelementptr inbounds nuw [1 x %struct._zend_jit_trace_stack], ptr %16722, i64 0, i64 %indvars.iv13176 + store i8 -1, ptr %16811, align 4 + %16812 = getelementptr inbounds nuw i8, ptr %16811, i64 1 + store i8 -1, ptr %16812, align 1 + %16813 = getelementptr inbounds nuw i8, ptr %16811, i64 2 + store i8 -1, ptr %16813, align 2 + %16814 = getelementptr inbounds nuw i8, ptr %16811, i64 3 + %16815 = getelementptr inbounds nuw i8, ptr %16811, i64 4 + store i32 0, ptr %16815, align 4 + store i8 0, ptr %16814, align 1 %indvars.iv.next13177 = add nuw nsw i64 %indvars.iv13176, 1 - %16839 = load ptr, ptr %16633, align 8 - %16840 = getelementptr inbounds nuw i8, ptr %16839, i64 32 - %16841 = load i32, ptr %16840, align 8 - %16842 = zext i32 %16841 to i64 - %16843 = icmp samesign ult i64 %indvars.iv.next13177, %16842 - br i1 %16843, label %16833, label %.loopexit12759 - -.loopexit12759: ; preds = %16833, %16811, %16797, %16825, %.preheader12761, %.preheader12758 - %16844 = phi ptr [ %16828, %16825 ], [ %16715, %.preheader12761 ], [ %16715, %.preheader12758 ], [ %16715, %16797 ], [ %16715, %16811 ], [ %16828, %16833 ] - %16845 = phi ptr [ %16704, %16825 ], [ %16704, %.preheader12761 ], [ %16755, %.preheader12758 ], [ %16803, %16797 ], [ %16817, %16811 ], [ %16839, %16833 ] - %16846 = load i32, ptr %.09759, align 8 - %16847 = and i32 %16846, 256 - %.not10673 = icmp eq i32 %16847, 0 - br i1 %.not10673, label %.critedge11999, label %16848 - -16848: ; preds = %.loopexit12759 - br i1 %.not1065412636, label %.critedge12000, label %16849 - -16849: ; preds = %16848 - %16850 = getelementptr inbounds nuw i8, ptr %.09755, i64 96 - %.0937612903 = load ptr, ptr %16850, align 8 - %.not1067412904 = icmp eq ptr %.0937612903, null - br i1 %.not1067412904, label %.critedge11993, label %.lr.ph12907 - -.lr.ph12907: ; preds = %16849, %16868 - %.0937612905 = phi ptr [ %.09376, %16868 ], [ %.0937612903, %16849 ] - %16851 = getelementptr inbounds nuw i8, ptr %.0937612905, i64 8 - %16852 = load ptr, ptr %16851, align 8 - %16853 = icmp eq ptr %16852, %.031.i12635 - br i1 %16853, label %16854, label %16868 - -16854: ; preds = %.lr.ph12907 - %16855 = getelementptr inbounds nuw i8, ptr %.0937612905, i64 51 - %16856 = load i8, ptr %16855, align 1 - %16857 = trunc i8 %16856 to i1 - br i1 %16857, label %16868, label %16858 - -16858: ; preds = %16854 - %16859 = getelementptr inbounds nuw i8, ptr %.09771, i64 4 - %16860 = load i32, ptr %16859, align 4 - %16861 = and i32 %16860, 1048576 - %.not10675 = icmp eq i32 %16861, 0 - br i1 %.not10675, label %.critedge11999, label %16862 - -16862: ; preds = %16858 - %16863 = getelementptr inbounds nuw i8, ptr %.031.i12635, i64 28 - %16864 = load i8, ptr %16863, align 4 - switch i8 %16864, label %.critedge11999 [ - i8 113, label %16865 - i8 112, label %.critedge11993 + %16816 = load ptr, ptr %16632, align 8 + %16817 = getelementptr inbounds nuw i8, ptr %16816, i64 80 + %16818 = load i32, ptr %16817, align 8 + %16819 = getelementptr inbounds nuw i8, ptr %16816, i64 72 + %16820 = load i32, ptr %16819, align 8 + %16821 = add i32 %16820, %16818 + %16822 = zext i32 %16821 to i64 + %16823 = icmp samesign ult i64 %indvars.iv.next13177, %16822 + br i1 %16823, label %16810, label %.loopexit12756 + +16824: ; preds = %16704 + %16825 = getelementptr inbounds nuw i8, ptr %16703, i64 32 + %16826 = load i32, ptr %16825, align 8 + %.0.i12150.ph.in.in.in = zext i32 %16826 to i64 + %.0.i12150.ph.in.in = shl nuw nsw i64 %.0.i12150.ph.in.in.in, 3 + %.0.i12150.ph.in = add nuw nsw i64 %.0.i12150.ph.in.in, 67 + %.0.i12150.ph = and i64 %.0.i12150.ph.in, 68719476728 + %16827 = getelementptr inbounds nuw i8, ptr %.09644, i64 %.0.i12150.ph + %16828 = icmp eq i8 %16705, 1 + call void @llvm.assume(i1 %16828) + %16829 = getelementptr inbounds nuw i8, ptr %16703, i64 32 + %16830 = load i32, ptr %16829, align 8 + %.not13035 = icmp eq i32 %16830, 0 + br i1 %.not13035, label %.loopexit12756, label %.lr.ph12888 + +.lr.ph12888: ; preds = %16824 + %16831 = getelementptr inbounds nuw i8, ptr %.09644, i64 60 + br label %16832 + +16832: ; preds = %.lr.ph12888, %16832 + %indvars.iv13173 = phi i64 [ 0, %.lr.ph12888 ], [ %indvars.iv.next13174, %16832 ] + %16833 = getelementptr inbounds nuw [1 x %struct._zend_jit_trace_stack], ptr %16831, i64 0, i64 %indvars.iv13173 + store i8 -1, ptr %16833, align 4 + %16834 = getelementptr inbounds nuw i8, ptr %16833, i64 1 + store i8 -1, ptr %16834, align 1 + %16835 = getelementptr inbounds nuw i8, ptr %16833, i64 2 + store i8 -1, ptr %16835, align 2 + %16836 = getelementptr inbounds nuw i8, ptr %16833, i64 3 + %16837 = getelementptr inbounds nuw i8, ptr %16833, i64 4 + store i32 0, ptr %16837, align 4 + store i8 0, ptr %16836, align 1 + %indvars.iv.next13174 = add nuw nsw i64 %indvars.iv13173, 1 + %16838 = load ptr, ptr %16632, align 8 + %16839 = getelementptr inbounds nuw i8, ptr %16838, i64 32 + %16840 = load i32, ptr %16839, align 8 + %16841 = zext i32 %16840 to i64 + %16842 = icmp samesign ult i64 %indvars.iv.next13174, %16841 + br i1 %16842, label %16832, label %.loopexit12756 + +.loopexit12756: ; preds = %16832, %16810, %16796, %16824, %.preheader12758, %.preheader12755 + %16843 = phi ptr [ %16827, %16824 ], [ %16714, %.preheader12758 ], [ %16714, %.preheader12755 ], [ %16714, %16796 ], [ %16714, %16810 ], [ %16827, %16832 ] + %16844 = phi ptr [ %16703, %16824 ], [ %16703, %.preheader12758 ], [ %16754, %.preheader12755 ], [ %16802, %16796 ], [ %16816, %16810 ], [ %16838, %16832 ] + %16845 = load i32, ptr %.09759, align 8 + %16846 = and i32 %16845, 256 + %.not10673 = icmp eq i32 %16846, 0 + br i1 %.not10673, label %.critedge11997, label %16847 + +16847: ; preds = %.loopexit12756 + br i1 %.not1065412633, label %.critedge11998, label %16848 + +16848: ; preds = %16847 + %16849 = getelementptr inbounds nuw i8, ptr %.09755, i64 96 + %.0937612900 = load ptr, ptr %16849, align 8 + %.not1067412901 = icmp eq ptr %.0937612900, null + br i1 %.not1067412901, label %.critedge11991, label %.lr.ph12904 + +.lr.ph12904: ; preds = %16848, %16867 + %.0937612902 = phi ptr [ %.09376, %16867 ], [ %.0937612900, %16848 ] + %16850 = getelementptr inbounds nuw i8, ptr %.0937612902, i64 8 + %16851 = load ptr, ptr %16850, align 8 + %16852 = icmp eq ptr %16851, %.031.i12632 + br i1 %16852, label %16853, label %16867 + +16853: ; preds = %.lr.ph12904 + %16854 = getelementptr inbounds nuw i8, ptr %.0937612902, i64 51 + %16855 = load i8, ptr %16854, align 1 + %16856 = trunc i8 %16855 to i1 + br i1 %16856, label %16867, label %16857 + +16857: ; preds = %16853 + %16858 = getelementptr inbounds nuw i8, ptr %.09771, i64 4 + %16859 = load i32, ptr %16858, align 4 + %16860 = and i32 %16859, 1048576 + %.not10675 = icmp eq i32 %16860, 0 + br i1 %.not10675, label %.critedge11997, label %16861 + +16861: ; preds = %16857 + %16862 = getelementptr inbounds nuw i8, ptr %.031.i12632, i64 28 + %16863 = load i8, ptr %16862, align 4 + switch i8 %16863, label %.critedge11997 [ + i8 113, label %16864 + i8 112, label %.critedge11991 ] -16865: ; preds = %16862 - %16866 = getelementptr inbounds nuw i8, ptr %.031.i12635, i64 29 - %16867 = load i8, ptr %16866, align 1 - %.not10676 = icmp eq i8 %16867, 1 - br i1 %.not10676, label %.critedge11999, label %.critedge11993 +16864: ; preds = %16861 + %16865 = getelementptr inbounds nuw i8, ptr %.031.i12632, i64 29 + %16866 = load i8, ptr %16865, align 1 + %.not10676 = icmp eq i8 %16866, 1 + br i1 %.not10676, label %.critedge11997, label %.critedge11991 -16868: ; preds = %16854, %.lr.ph12907 - %16869 = getelementptr inbounds nuw i8, ptr %.0937612905, i64 40 - %.09376 = load ptr, ptr %16869, align 8 +16867: ; preds = %16853, %.lr.ph12904 + %16868 = getelementptr inbounds nuw i8, ptr %.0937612902, i64 40 + %.09376 = load ptr, ptr %16868, align 8 %.not10674 = icmp eq ptr %.09376, null - br i1 %.not10674, label %.critedge11993, label %.lr.ph12907 - -.critedge11993: ; preds = %16868, %16849, %16862, %16865 - %16870 = getelementptr inbounds nuw i8, ptr %.031.i12635, i64 28 - %16871 = load i8, ptr %16870, align 4 - switch i8 %16871, label %16878 [ - i8 61, label %.critedge11995 - i8 59, label %.critedge11995 - i8 69, label %.critedge11995 - i8 112, label %.critedge12000 - i8 -128, label %.critedge12000 - i8 113, label %16872 - i8 118, label %16875 + br i1 %.not10674, label %.critedge11991, label %.lr.ph12904 + +.critedge11991: ; preds = %16867, %16848, %16861, %16864 + %16869 = getelementptr inbounds nuw i8, ptr %.031.i12632, i64 28 + %16870 = load i8, ptr %16869, align 4 + switch i8 %16870, label %16877 [ + i8 61, label %.critedge11993 + i8 59, label %.critedge11993 + i8 69, label %.critedge11993 + i8 112, label %.critedge11998 + i8 -128, label %.critedge11998 + i8 113, label %16871 + i8 118, label %16874 ] -16872: ; preds = %.critedge11993 - %16873 = getelementptr inbounds nuw i8, ptr %.031.i12635, i64 29 - %16874 = load i8, ptr %16873, align 1 - %.not10678 = icmp eq i8 %16874, 1 - br i1 %.not10678, label %16882, label %.critedge12000 - -16875: ; preds = %.critedge11993 - %16876 = getelementptr inbounds nuw i8, ptr %.031.i12635, i64 30 - %16877 = load i8, ptr %16876, align 2 - %.not12692 = icmp eq i8 %16877, 1 - br i1 %.not12692, label %.critedge11995, label %.critedge12000 - -16878: ; preds = %.critedge11993 - %16879 = icmp eq i8 %16871, 68 - call void @llvm.assume(i1 %16879) - %16880 = getelementptr inbounds nuw i8, ptr %.031.i12635, i64 29 - %16881 = load i8, ptr %16880, align 1 - %.not12694 = icmp eq i8 %16881, 1 - br i1 %.not12694, label %.critedge11995, label %.critedge12000 - -16882: ; preds = %16872 - %16883 = getelementptr inbounds nuw i8, ptr %.031.i12635, i64 30 - %16884 = load i8, ptr %16883, align 2 - %.not12693 = icmp eq i8 %16884, 1 - br i1 %.not12693, label %.critedge11995, label %.critedge12000 - -.critedge11995: ; preds = %16878, %16875, %.critedge11993, %.critedge11993, %.critedge11993, %16882 - %16885 = load i8, ptr %16845, align 8 - switch i8 %16885, label %.critedge12000 [ - i8 1, label %.critedge11999 - i8 2, label %16886 +16871: ; preds = %.critedge11991 + %16872 = getelementptr inbounds nuw i8, ptr %.031.i12632, i64 29 + %16873 = load i8, ptr %16872, align 1 + %.not10678 = icmp eq i8 %16873, 1 + br i1 %.not10678, label %16881, label %.critedge11998 + +16874: ; preds = %.critedge11991 + %16875 = getelementptr inbounds nuw i8, ptr %.031.i12632, i64 30 + %16876 = load i8, ptr %16875, align 2 + %.not12689 = icmp eq i8 %16876, 1 + br i1 %.not12689, label %.critedge11993, label %.critedge11998 + +16877: ; preds = %.critedge11991 + %16878 = icmp eq i8 %16870, 68 + call void @llvm.assume(i1 %16878) + %16879 = getelementptr inbounds nuw i8, ptr %.031.i12632, i64 29 + %16880 = load i8, ptr %16879, align 1 + %.not12691 = icmp eq i8 %16880, 1 + br i1 %.not12691, label %.critedge11993, label %.critedge11998 + +16881: ; preds = %16871 + %16882 = getelementptr inbounds nuw i8, ptr %.031.i12632, i64 30 + %16883 = load i8, ptr %16882, align 2 + %.not12690 = icmp eq i8 %16883, 1 + br i1 %.not12690, label %.critedge11993, label %.critedge11998 + +.critedge11993: ; preds = %16877, %16874, %.critedge11991, %.critedge11991, %.critedge11991, %16881 + %16884 = load i8, ptr %16844, align 8 + switch i8 %16884, label %.critedge11998 [ + i8 1, label %.critedge11997 + i8 2, label %16885 ] -16886: ; preds = %.critedge11995 - %16887 = getelementptr inbounds nuw i8, ptr %16845, i64 4 - %16888 = load i32, ptr %16887, align 4 - %16889 = and i32 %16888, 1024 - %.not.i12155 = icmp eq i32 %16889, 0 - br i1 %.not.i12155, label %16890, label %.critedge11999 - -16890: ; preds = %16886 - %16891 = getelementptr inbounds nuw i8, ptr %16845, i64 152 - %16892 = load ptr, ptr %16891, align 8 - %16893 = getelementptr inbounds nuw i8, ptr %.09771, i64 152 - %16894 = load ptr, ptr %16893, align 8 - %16895 = icmp eq ptr %16892, %16894 - br i1 %16895, label %16896, label %.critedge12000 - -16896: ; preds = %16890 - %16897 = getelementptr inbounds nuw i8, ptr %16845, i64 16 - %16898 = load ptr, ptr %16897, align 8 - %.not8.i12157 = icmp eq ptr %16898, null - br i1 %.not8.i12157, label %.critedge11999, label %.critedge12000 - -.critedge12000: ; preds = %16896, %16890, %.critedge11995, %16878, %16875, %16882, %16848, %16872, %.critedge11993, %.critedge11993 +16885: ; preds = %.critedge11993 + %16886 = getelementptr inbounds nuw i8, ptr %16844, i64 4 + %16887 = load i32, ptr %16886, align 4 + %16888 = and i32 %16887, 1024 + %.not.i12152 = icmp eq i32 %16888, 0 + br i1 %.not.i12152, label %16889, label %.critedge11997 + +16889: ; preds = %16885 + %16890 = getelementptr inbounds nuw i8, ptr %16844, i64 152 + %16891 = load ptr, ptr %16890, align 8 + %16892 = getelementptr inbounds nuw i8, ptr %.09771, i64 152 + %16893 = load ptr, ptr %16892, align 8 + %16894 = icmp eq ptr %16891, %16893 + br i1 %16894, label %16895, label %.critedge11998 + +16895: ; preds = %16889 + %16896 = getelementptr inbounds nuw i8, ptr %16844, i64 16 + %16897 = load ptr, ptr %16896, align 8 + %.not8.i12154 = icmp eq ptr %16897, null + br i1 %.not8.i12154, label %.critedge11997, label %.critedge11998 + +.critedge11998: ; preds = %16895, %16889, %.critedge11993, %16877, %16874, %16881, %16847, %16871, %.critedge11991, %.critedge11991 %.not10680 = icmp eq ptr %.09629, null - br i1 %.not10680, label %.preheader12757, label %16902 + br i1 %.not10680, label %.preheader12754, label %16901 -.preheader12757: ; preds = %.critedge12000, %.preheader12757 - %.09759.pn = phi ptr [ %.09375, %.preheader12757 ], [ %.09759, %.critedge12000 ] +.preheader12754: ; preds = %.critedge11998, %.preheader12754 + %.09759.pn = phi ptr [ %.09375, %.preheader12754 ], [ %.09759, %.critedge11998 ] %.09375 = getelementptr inbounds nuw i8, ptr %.09759.pn, i64 16 - %16899 = load i8, ptr %.09375, align 8 - switch i8 %16899, label %.preheader12757 [ + %16898 = load i8, ptr %.09375, align 8 + switch i8 %16898, label %.preheader12754 [ i8 0, label %.critedge205 i8 8, label %.critedge205 ] -.critedge205: ; preds = %.preheader12757, %.preheader12757 - %16900 = getelementptr inbounds nuw i8, ptr %.09759.pn, i64 24 - %16901 = load ptr, ptr %16900, align 8, !nonnull !5, !noundef !5 - br label %16902 - -16902: ; preds = %.critedge205, %.critedge12000 - %.9 = phi ptr [ %.09629, %.critedge12000 ], [ %16901, %.critedge205 ] - %16903 = lshr i32 %16846, 16 - %16904 = call fastcc i32 @zend_jit_init_fcall_guard(ptr noundef %17, i32 noundef %16903, ptr noundef %16845, ptr noundef nonnull %.9) - %.not10683 = icmp eq i32 %16904, 0 - br i1 %.not10683, label %zend_jit_stack_check.exit.thread, label %.critedge11999 - -.critedge11999: ; preds = %16862, %16896, %16886, %.critedge11995, %16865, %zend_jit_trace_call_frame.exit12154, %16858, %.loopexit12759, %16902 - %16905 = phi ptr [ %16844, %16902 ], [ %16844, %.loopexit12759 ], [ %16708, %zend_jit_trace_call_frame.exit12154 ], [ %16844, %16858 ], [ %16844, %16865 ], [ %16844, %.critedge11995 ], [ %16844, %16886 ], [ %16844, %16896 ], [ %16844, %16862 ] - %.8 = phi ptr [ %.9, %16902 ], [ %.09629, %.loopexit12759 ], [ %.09629, %zend_jit_trace_call_frame.exit12154 ], [ %.09629, %16858 ], [ %.09629, %16865 ], [ %.09629, %.critedge11995 ], [ %.09629, %16886 ], [ %.09629, %16896 ], [ %.09629, %16862 ] - %16906 = getelementptr inbounds nuw i8, ptr %.09644, i64 52 - store i32 %.09618, ptr %16906, align 4 - %16907 = getelementptr inbounds nuw i8, ptr %.09644, i64 56 - store i32 %.29615, ptr %16907, align 8 - %16908 = load i32, ptr %.09759, align 8 - %16909 = and i32 %16908, 256 - %.not10684 = icmp eq i32 %16909, 0 - br i1 %.not10684, label %16915, label %16910 - -16910: ; preds = %.critedge11999 - %16911 = getelementptr inbounds nuw i8, ptr %.09646, i64 40 - %16912 = load i32, ptr %16911, align 8 - %16913 = add i32 %16912, 1 - store i32 %16913, ptr %16911, align 8 - %16914 = getelementptr inbounds nuw i8, ptr %.09644, i64 48 - store i32 0, ptr %16914, align 8 - br label %.loopexit12751 - -16915: ; preds = %.critedge11999 - %16916 = load ptr, ptr %16633, align 8 - %.not10685 = icmp eq ptr %16916, null - %16917 = getelementptr inbounds nuw i8, ptr %.031.i12635, i64 20 - %16918 = load i32, ptr %16917, align 4 - br i1 %.not10685, label %16934, label %16919 - -16919: ; preds = %16915 - %16920 = add i32 %16918, 5 - %16921 = getelementptr inbounds nuw i8, ptr %16916, i64 72 - %16922 = load i32, ptr %16921, align 8 - %16923 = add i32 %16920, %16922 - %16924 = load i8, ptr %16916, align 8 - %.not10686 = icmp eq i8 %16924, 1 - br i1 %.not10686, label %16932, label %16925 - -16925: ; preds = %16919 - %16926 = getelementptr inbounds nuw i8, ptr %16916, i64 80 - %16927 = load i32, ptr %16926, align 8 - %16928 = getelementptr inbounds nuw i8, ptr %16916, i64 32 - %16929 = load i32, ptr %16928, align 8 - %.12001 = call i32 @llvm.umin.i32(i32 %16929, i32 %16918) - %16930 = add i32 %16927, %16923 - %16931 = sub i32 %16930, %.12001 - br label %16932 - -16932: ; preds = %16925, %16919 - %.09818 = phi i32 [ %16931, %16925 ], [ %16923, %16919 ] - %16933 = shl i32 %.09818, 4 - br label %16937 - -16934: ; preds = %16915 - %16935 = shl i32 %16918, 4 - %16936 = add i32 %16935, 80 - br label %16937 - -16937: ; preds = %16934, %16932 - %.sink13600 = phi i32 [ %16936, %16934 ], [ %16933, %16932 ] - %16938 = getelementptr inbounds nuw i8, ptr %.09644, i64 48 - store i32 %.sink13600, ptr %16938, align 8 - %16939 = getelementptr inbounds nuw i8, ptr %.031.i12635, i64 28 - %16940 = load i8, ptr %16939, align 4 - switch i8 %16940, label %.loopexit12751 [ - i8 61, label %16941 - i8 59, label %16941 - i8 69, label %16941 - i8 112, label %16941 - i8 -128, label %16941 +.critedge205: ; preds = %.preheader12754, %.preheader12754 + %16899 = getelementptr inbounds nuw i8, ptr %.09759.pn, i64 24 + %16900 = load ptr, ptr %16899, align 8, !nonnull !5, !noundef !5 + br label %16901 + +16901: ; preds = %.critedge205, %.critedge11998 + %.9 = phi ptr [ %.09629, %.critedge11998 ], [ %16900, %.critedge205 ] + %16902 = lshr i32 %16845, 16 + %16903 = call fastcc i32 @zend_jit_init_fcall_guard(ptr noundef %17, i32 noundef %16902, ptr noundef %16844, ptr noundef nonnull %.9) + %.not10683 = icmp eq i32 %16903, 0 + br i1 %.not10683, label %zend_jit_stack_check.exit.thread, label %.critedge11997 + +.critedge11997: ; preds = %16861, %16895, %16885, %.critedge11993, %16864, %zend_jit_trace_call_frame.exit12151, %16857, %.loopexit12756, %16901 + %16904 = phi ptr [ %16843, %16901 ], [ %16843, %.loopexit12756 ], [ %16707, %zend_jit_trace_call_frame.exit12151 ], [ %16843, %16857 ], [ %16843, %16864 ], [ %16843, %.critedge11993 ], [ %16843, %16885 ], [ %16843, %16895 ], [ %16843, %16861 ] + %.8 = phi ptr [ %.9, %16901 ], [ %.09629, %.loopexit12756 ], [ %.09629, %zend_jit_trace_call_frame.exit12151 ], [ %.09629, %16857 ], [ %.09629, %16864 ], [ %.09629, %.critedge11993 ], [ %.09629, %16885 ], [ %.09629, %16895 ], [ %.09629, %16861 ] + %16905 = getelementptr inbounds nuw i8, ptr %.09644, i64 52 + store i32 %.09618, ptr %16905, align 4 + %16906 = getelementptr inbounds nuw i8, ptr %.09644, i64 56 + store i32 %.29615, ptr %16906, align 8 + %16907 = load i32, ptr %.09759, align 8 + %16908 = and i32 %16907, 256 + %.not10684 = icmp eq i32 %16908, 0 + br i1 %.not10684, label %16914, label %16909 + +16909: ; preds = %.critedge11997 + %16910 = getelementptr inbounds nuw i8, ptr %.09646, i64 40 + %16911 = load i32, ptr %16910, align 8 + %16912 = add i32 %16911, 1 + store i32 %16912, ptr %16910, align 8 + %16913 = getelementptr inbounds nuw i8, ptr %.09644, i64 48 + store i32 0, ptr %16913, align 8 + br label %.loopexit12748 + +16914: ; preds = %.critedge11997 + %16915 = load ptr, ptr %16632, align 8 + %.not10685 = icmp eq ptr %16915, null + %16916 = getelementptr inbounds nuw i8, ptr %.031.i12632, i64 20 + %16917 = load i32, ptr %16916, align 4 + br i1 %.not10685, label %16933, label %16918 + +16918: ; preds = %16914 + %16919 = add i32 %16917, 5 + %16920 = getelementptr inbounds nuw i8, ptr %16915, i64 72 + %16921 = load i32, ptr %16920, align 8 + %16922 = add i32 %16919, %16921 + %16923 = load i8, ptr %16915, align 8 + %.not10686 = icmp eq i8 %16923, 1 + br i1 %.not10686, label %16931, label %16924 + +16924: ; preds = %16918 + %16925 = getelementptr inbounds nuw i8, ptr %16915, i64 80 + %16926 = load i32, ptr %16925, align 8 + %16927 = getelementptr inbounds nuw i8, ptr %16915, i64 32 + %16928 = load i32, ptr %16927, align 8 + %.11999 = call i32 @llvm.umin.i32(i32 %16928, i32 %16917) + %16929 = add i32 %16926, %16922 + %16930 = sub i32 %16929, %.11999 + br label %16931 + +16931: ; preds = %16924, %16918 + %.09818 = phi i32 [ %16930, %16924 ], [ %16922, %16918 ] + %16932 = shl i32 %.09818, 4 + br label %16936 + +16933: ; preds = %16914 + %16934 = shl i32 %16917, 4 + %16935 = add i32 %16934, 80 + br label %16936 + +16936: ; preds = %16933, %16931 + %.sink13597 = phi i32 [ %16935, %16933 ], [ %16932, %16931 ] + %16937 = getelementptr inbounds nuw i8, ptr %.09644, i64 48 + store i32 %.sink13597, ptr %16937, align 8 + %16938 = getelementptr inbounds nuw i8, ptr %.031.i12632, i64 28 + %16939 = load i8, ptr %16938, align 4 + switch i8 %16939, label %.loopexit12748 [ + i8 61, label %16940 + i8 59, label %16940 + i8 69, label %16940 + i8 112, label %16940 + i8 -128, label %16940 ] -16941: ; preds = %16937, %16937, %16937, %16937, %16937 - %16942 = add nsw i32 %.sink13600, %.09618 - %spec.select12002 = call i32 @llvm.smax.i32(i32 %16942, i32 %.29615) - br label %.loopexit12751 - -16943: ; preds = %2491 - %16944 = icmp eq i8 %2492, 5 - call void @llvm.assume(i1 %16944) - %16945 = load ptr, ptr %.09646, align 8 - %.not10653 = icmp eq ptr %16945, null - br i1 %.not10653, label %.loopexit12751, label %16946 - -16946: ; preds = %16943 - %16947 = getelementptr inbounds nuw i8, ptr %16945, i64 52 - %16948 = load i32, ptr %16947, align 4 - %16949 = getelementptr inbounds nuw i8, ptr %16945, i64 56 - %16950 = load i32, ptr %16949, align 8 - %16951 = getelementptr inbounds nuw i8, ptr %16945, i64 8 - %16952 = load ptr, ptr %16951, align 8 - store ptr %16952, ptr %.09646, align 8 - br label %.loopexit12751 - -.loopexit12751: ; preds = %16392, %16314, %16941, %16937, %.loopexit12754, %16547, %16556, %16551, %.loopexit12729, %16233, %.loopexit12741, %16910, %16943, %16946, %16296 - %.19772 = phi ptr [ %.09771, %16233 ], [ %.09771, %.loopexit12729 ], [ %.09771, %.loopexit12741 ], [ %16298, %16296 ], [ %.09771, %16910 ], [ %.09771, %16946 ], [ %.09771, %16943 ], [ %16398, %16551 ], [ %16398, %16556 ], [ %16398, %16547 ], [ %16398, %.loopexit12754 ], [ %.09771, %16941 ], [ %.09771, %16937 ], [ %16298, %16314 ], [ %16298, %16392 ] - %.19769 = phi ptr [ %.09768, %16233 ], [ %.09768, %.loopexit12729 ], [ %.09768, %.loopexit12741 ], [ %16304, %16296 ], [ %.09768, %16910 ], [ %.09768, %16946 ], [ %.09768, %16943 ], [ %16404, %16551 ], [ %16404, %16556 ], [ %16404, %16547 ], [ %16404, %.loopexit12754 ], [ %.09768, %16941 ], [ %.09768, %16937 ], [ %16304, %16314 ], [ %16304, %16392 ] - %.69765 = phi ptr [ %spec.select11983, %16233 ], [ %.39762, %.loopexit12729 ], [ %.39762, %.loopexit12741 ], [ %.09759, %16296 ], [ %.09759, %16910 ], [ %.09759, %16946 ], [ %.09759, %16943 ], [ %.09759, %16551 ], [ %.09759, %16556 ], [ %.09759, %16547 ], [ %.09759, %.loopexit12754 ], [ %.09759, %16941 ], [ %.09759, %16937 ], [ %.09759, %16314 ], [ %.09759, %16392 ] - %.19756 = phi ptr [ %.09755, %16233 ], [ %.09755, %.loopexit12729 ], [ %.09755, %.loopexit12741 ], [ %16303, %16296 ], [ %.09755, %16910 ], [ %.09755, %16946 ], [ %.09755, %16943 ], [ %16403, %16551 ], [ %16403, %16556 ], [ %16403, %16547 ], [ %16403, %.loopexit12754 ], [ %.09755, %16941 ], [ %.09755, %16937 ], [ %16303, %16314 ], [ %16303, %16392 ] - %.89724 = phi i8 [ 0, %16233 ], [ %.19717, %.loopexit12729 ], [ %.19717, %.loopexit12741 ], [ %.09716, %16296 ], [ %.09716, %16910 ], [ %.09716, %16946 ], [ %.09716, %16943 ], [ %.09716, %16551 ], [ %.09716, %16556 ], [ %.09716, %16547 ], [ %.09716, %.loopexit12754 ], [ %.09716, %16941 ], [ %.09716, %16937 ], [ %.09716, %16314 ], [ %.09716, %16392 ] - %.14 = phi i8 [ %.29669, %16233 ], [ %.29669, %.loopexit12729 ], [ %.29669, %.loopexit12741 ], [ %.09667, %16296 ], [ %.09667, %16910 ], [ %.09667, %16946 ], [ %.09667, %16943 ], [ %.09667, %16551 ], [ %.09667, %16556 ], [ %.09667, %16547 ], [ %.09667, %.loopexit12754 ], [ %.09667, %16941 ], [ %.09667, %16937 ], [ %.09667, %16314 ], [ %.09667, %16392 ] - %.19664 = phi i8 [ 0, %16233 ], [ 0, %.loopexit12729 ], [ 0, %.loopexit12741 ], [ %.09663, %16296 ], [ %.09663, %16910 ], [ %.09663, %16946 ], [ %.09663, %16943 ], [ %.09663, %16551 ], [ %.09663, %16556 ], [ %.09663, %16547 ], [ %.09663, %.loopexit12754 ], [ %.09663, %16941 ], [ %.09663, %16937 ], [ %.09663, %16314 ], [ %.09663, %16392 ] - %.29648 = phi ptr [ %.09646, %16233 ], [ %.09646, %.loopexit12729 ], [ %.09646, %.loopexit12741 ], [ %16240, %16296 ], [ %.09646, %16910 ], [ %.09646, %16946 ], [ %.09646, %16943 ], [ %.19647, %16551 ], [ %.19647, %16556 ], [ %.19647, %16547 ], [ %.19647, %.loopexit12754 ], [ %.09646, %16941 ], [ %.09646, %16937 ], [ %16240, %16314 ], [ %16240, %16392 ] - %.19645 = phi ptr [ %.09644, %16233 ], [ %.09644, %.loopexit12729 ], [ %.09644, %.loopexit12741 ], [ %.09644, %16296 ], [ %16905, %16910 ], [ %16945, %16946 ], [ %.09644, %16943 ], [ %.09646, %16551 ], [ %.09646, %16556 ], [ %.09646, %16547 ], [ %.09646, %.loopexit12754 ], [ %16905, %16941 ], [ %16905, %16937 ], [ %.09644, %16314 ], [ %.09644, %16392 ] - %.29643 = phi ptr [ %.09641, %16233 ], [ %.09641, %.loopexit12729 ], [ %.09641, %.loopexit12741 ], [ %16313, %16296 ], [ %.09641, %16910 ], [ %.09641, %16946 ], [ %.09641, %16943 ], [ %.19642, %16551 ], [ %.19642, %16556 ], [ %.19642, %16547 ], [ %.19642, %.loopexit12754 ], [ %.09641, %16941 ], [ %.09641, %16937 ], [ %16313, %16314 ], [ %16313, %16392 ] - %.39640 = phi i8 [ %.19638, %16233 ], [ %.19638, %.loopexit12729 ], [ %.19638, %.loopexit12741 ], [ %.09637, %16296 ], [ %.09637, %16910 ], [ %.09637, %16946 ], [ %.09637, %16943 ], [ -1, %16551 ], [ -1, %16556 ], [ -1, %16547 ], [ -1, %.loopexit12754 ], [ %.09637, %16941 ], [ %.09637, %16937 ], [ %.09637, %16314 ], [ %.09637, %16392 ] - %.10 = phi ptr [ %.49633, %16233 ], [ %.49633, %.loopexit12729 ], [ %2501, %.loopexit12741 ], [ %.09629, %16296 ], [ %.8, %16910 ], [ %.09629, %16946 ], [ %.09629, %16943 ], [ %.79636, %16551 ], [ %.79636, %16556 ], [ %.79636, %16547 ], [ %.79636, %.loopexit12754 ], [ %.8, %16941 ], [ %.8, %16937 ], [ %.09629, %16314 ], [ %.09629, %16392 ] - %.79628 = phi ptr [ %16234, %16233 ], [ %.49625, %.loopexit12729 ], [ null, %.loopexit12741 ], [ %.09621, %16296 ], [ %.09621, %16910 ], [ %.09621, %16946 ], [ %.09621, %16943 ], [ %.09621, %16551 ], [ %.09621, %16556 ], [ %.09621, %16547 ], [ %.09621, %.loopexit12754 ], [ %.09621, %16941 ], [ %.09621, %16937 ], [ %.09621, %16314 ], [ %.09621, %16392 ] - %.29620 = phi i32 [ %.09618, %16233 ], [ %.09618, %.loopexit12729 ], [ %.09618, %.loopexit12741 ], [ %.09618, %16296 ], [ 0, %16910 ], [ %16948, %16946 ], [ %.09618, %16943 ], [ %.19619, %16551 ], [ %.19619, %16556 ], [ %.19619, %16547 ], [ %.19619, %.loopexit12754 ], [ %16942, %16941 ], [ 0, %16937 ], [ %.09618, %16314 ], [ %.09618, %16392 ] - %.49617 = phi i32 [ %.29615, %16233 ], [ %.29615, %.loopexit12729 ], [ %.29615, %.loopexit12741 ], [ %.29615, %16296 ], [ 0, %16910 ], [ %16950, %16946 ], [ %.29615, %16943 ], [ %.39616, %16551 ], [ %.39616, %16556 ], [ %.39616, %16547 ], [ %.39616, %.loopexit12754 ], [ %spec.select12002, %16941 ], [ 0, %16937 ], [ %.29615, %16314 ], [ %.29615, %16392 ] - %.29612 = phi i32 [ %.19611, %16233 ], [ %.19611, %.loopexit12729 ], [ %.19611, %.loopexit12741 ], [ %.09610, %16296 ], [ %.09610, %16910 ], [ %.09610, %16946 ], [ %.09610, %16943 ], [ %.09610, %16551 ], [ %.09610, %16556 ], [ %.09610, %16547 ], [ %.09610, %.loopexit12754 ], [ %.09610, %16941 ], [ %.09610, %16937 ], [ %.09610, %16314 ], [ %.09610, %16392 ] - %16953 = getelementptr inbounds nuw i8, ptr %.69765, i64 16 +16940: ; preds = %16936, %16936, %16936, %16936, %16936 + %16941 = add nsw i32 %.sink13597, %.09618 + %spec.select12000 = call i32 @llvm.smax.i32(i32 %16941, i32 %.29615) + br label %.loopexit12748 + +16942: ; preds = %2491 + %16943 = icmp eq i8 %2492, 5 + call void @llvm.assume(i1 %16943) + %16944 = load ptr, ptr %.09646, align 8 + %.not10653 = icmp eq ptr %16944, null + br i1 %.not10653, label %.loopexit12748, label %16945 + +16945: ; preds = %16942 + %16946 = getelementptr inbounds nuw i8, ptr %16944, i64 52 + %16947 = load i32, ptr %16946, align 4 + %16948 = getelementptr inbounds nuw i8, ptr %16944, i64 56 + %16949 = load i32, ptr %16948, align 8 + %16950 = getelementptr inbounds nuw i8, ptr %16944, i64 8 + %16951 = load ptr, ptr %16950, align 8 + store ptr %16951, ptr %.09646, align 8 + br label %.loopexit12748 + +.loopexit12748: ; preds = %16391, %16313, %16940, %16936, %.loopexit12751, %16546, %16555, %16550, %.loopexit12726, %16232, %.loopexit12738, %16909, %16942, %16945, %16295 + %.19772 = phi ptr [ %.09771, %16232 ], [ %.09771, %.loopexit12726 ], [ %.09771, %.loopexit12738 ], [ %16297, %16295 ], [ %.09771, %16909 ], [ %.09771, %16945 ], [ %.09771, %16942 ], [ %16397, %16550 ], [ %16397, %16555 ], [ %16397, %16546 ], [ %16397, %.loopexit12751 ], [ %.09771, %16940 ], [ %.09771, %16936 ], [ %16297, %16313 ], [ %16297, %16391 ] + %.19769 = phi ptr [ %.09768, %16232 ], [ %.09768, %.loopexit12726 ], [ %.09768, %.loopexit12738 ], [ %16303, %16295 ], [ %.09768, %16909 ], [ %.09768, %16945 ], [ %.09768, %16942 ], [ %16403, %16550 ], [ %16403, %16555 ], [ %16403, %16546 ], [ %16403, %.loopexit12751 ], [ %.09768, %16940 ], [ %.09768, %16936 ], [ %16303, %16313 ], [ %16303, %16391 ] + %.69765 = phi ptr [ %spec.select11981, %16232 ], [ %.39762, %.loopexit12726 ], [ %.39762, %.loopexit12738 ], [ %.09759, %16295 ], [ %.09759, %16909 ], [ %.09759, %16945 ], [ %.09759, %16942 ], [ %.09759, %16550 ], [ %.09759, %16555 ], [ %.09759, %16546 ], [ %.09759, %.loopexit12751 ], [ %.09759, %16940 ], [ %.09759, %16936 ], [ %.09759, %16313 ], [ %.09759, %16391 ] + %.19756 = phi ptr [ %.09755, %16232 ], [ %.09755, %.loopexit12726 ], [ %.09755, %.loopexit12738 ], [ %16302, %16295 ], [ %.09755, %16909 ], [ %.09755, %16945 ], [ %.09755, %16942 ], [ %16402, %16550 ], [ %16402, %16555 ], [ %16402, %16546 ], [ %16402, %.loopexit12751 ], [ %.09755, %16940 ], [ %.09755, %16936 ], [ %16302, %16313 ], [ %16302, %16391 ] + %.89724 = phi i8 [ 0, %16232 ], [ %.19717, %.loopexit12726 ], [ %.19717, %.loopexit12738 ], [ %.09716, %16295 ], [ %.09716, %16909 ], [ %.09716, %16945 ], [ %.09716, %16942 ], [ %.09716, %16550 ], [ %.09716, %16555 ], [ %.09716, %16546 ], [ %.09716, %.loopexit12751 ], [ %.09716, %16940 ], [ %.09716, %16936 ], [ %.09716, %16313 ], [ %.09716, %16391 ] + %.14 = phi i8 [ %.29669, %16232 ], [ %.29669, %.loopexit12726 ], [ %.29669, %.loopexit12738 ], [ %.09667, %16295 ], [ %.09667, %16909 ], [ %.09667, %16945 ], [ %.09667, %16942 ], [ %.09667, %16550 ], [ %.09667, %16555 ], [ %.09667, %16546 ], [ %.09667, %.loopexit12751 ], [ %.09667, %16940 ], [ %.09667, %16936 ], [ %.09667, %16313 ], [ %.09667, %16391 ] + %.19664 = phi i8 [ 0, %16232 ], [ 0, %.loopexit12726 ], [ 0, %.loopexit12738 ], [ %.09663, %16295 ], [ %.09663, %16909 ], [ %.09663, %16945 ], [ %.09663, %16942 ], [ %.09663, %16550 ], [ %.09663, %16555 ], [ %.09663, %16546 ], [ %.09663, %.loopexit12751 ], [ %.09663, %16940 ], [ %.09663, %16936 ], [ %.09663, %16313 ], [ %.09663, %16391 ] + %.29648 = phi ptr [ %.09646, %16232 ], [ %.09646, %.loopexit12726 ], [ %.09646, %.loopexit12738 ], [ %16239, %16295 ], [ %.09646, %16909 ], [ %.09646, %16945 ], [ %.09646, %16942 ], [ %.19647, %16550 ], [ %.19647, %16555 ], [ %.19647, %16546 ], [ %.19647, %.loopexit12751 ], [ %.09646, %16940 ], [ %.09646, %16936 ], [ %16239, %16313 ], [ %16239, %16391 ] + %.19645 = phi ptr [ %.09644, %16232 ], [ %.09644, %.loopexit12726 ], [ %.09644, %.loopexit12738 ], [ %.09644, %16295 ], [ %16904, %16909 ], [ %16944, %16945 ], [ %.09644, %16942 ], [ %.09646, %16550 ], [ %.09646, %16555 ], [ %.09646, %16546 ], [ %.09646, %.loopexit12751 ], [ %16904, %16940 ], [ %16904, %16936 ], [ %.09644, %16313 ], [ %.09644, %16391 ] + %.29643 = phi ptr [ %.09641, %16232 ], [ %.09641, %.loopexit12726 ], [ %.09641, %.loopexit12738 ], [ %16312, %16295 ], [ %.09641, %16909 ], [ %.09641, %16945 ], [ %.09641, %16942 ], [ %.19642, %16550 ], [ %.19642, %16555 ], [ %.19642, %16546 ], [ %.19642, %.loopexit12751 ], [ %.09641, %16940 ], [ %.09641, %16936 ], [ %16312, %16313 ], [ %16312, %16391 ] + %.39640 = phi i8 [ %.19638, %16232 ], [ %.19638, %.loopexit12726 ], [ %.19638, %.loopexit12738 ], [ %.09637, %16295 ], [ %.09637, %16909 ], [ %.09637, %16945 ], [ %.09637, %16942 ], [ -1, %16550 ], [ -1, %16555 ], [ -1, %16546 ], [ -1, %.loopexit12751 ], [ %.09637, %16940 ], [ %.09637, %16936 ], [ %.09637, %16313 ], [ %.09637, %16391 ] + %.10 = phi ptr [ %.49633, %16232 ], [ %.49633, %.loopexit12726 ], [ %2501, %.loopexit12738 ], [ %.09629, %16295 ], [ %.8, %16909 ], [ %.09629, %16945 ], [ %.09629, %16942 ], [ %.79636, %16550 ], [ %.79636, %16555 ], [ %.79636, %16546 ], [ %.79636, %.loopexit12751 ], [ %.8, %16940 ], [ %.8, %16936 ], [ %.09629, %16313 ], [ %.09629, %16391 ] + %.79628 = phi ptr [ %16233, %16232 ], [ %.49625, %.loopexit12726 ], [ null, %.loopexit12738 ], [ %.09621, %16295 ], [ %.09621, %16909 ], [ %.09621, %16945 ], [ %.09621, %16942 ], [ %.09621, %16550 ], [ %.09621, %16555 ], [ %.09621, %16546 ], [ %.09621, %.loopexit12751 ], [ %.09621, %16940 ], [ %.09621, %16936 ], [ %.09621, %16313 ], [ %.09621, %16391 ] + %.29620 = phi i32 [ %.09618, %16232 ], [ %.09618, %.loopexit12726 ], [ %.09618, %.loopexit12738 ], [ %.09618, %16295 ], [ 0, %16909 ], [ %16947, %16945 ], [ %.09618, %16942 ], [ %.19619, %16550 ], [ %.19619, %16555 ], [ %.19619, %16546 ], [ %.19619, %.loopexit12751 ], [ %16941, %16940 ], [ 0, %16936 ], [ %.09618, %16313 ], [ %.09618, %16391 ] + %.49617 = phi i32 [ %.29615, %16232 ], [ %.29615, %.loopexit12726 ], [ %.29615, %.loopexit12738 ], [ %.29615, %16295 ], [ 0, %16909 ], [ %16949, %16945 ], [ %.29615, %16942 ], [ %.39616, %16550 ], [ %.39616, %16555 ], [ %.39616, %16546 ], [ %.39616, %.loopexit12751 ], [ %spec.select12000, %16940 ], [ 0, %16936 ], [ %.29615, %16313 ], [ %.29615, %16391 ] + %.29612 = phi i32 [ %.19611, %16232 ], [ %.19611, %.loopexit12726 ], [ %.19611, %.loopexit12738 ], [ %.09610, %16295 ], [ %.09610, %16909 ], [ %.09610, %16945 ], [ %.09610, %16942 ], [ %.09610, %16550 ], [ %.09610, %16555 ], [ %.09610, %16546 ], [ %.09610, %.loopexit12751 ], [ %.09610, %16940 ], [ %.09610, %16936 ], [ %.09610, %16313 ], [ %.09610, %16391 ] + %16952 = getelementptr inbounds nuw i8, ptr %.69765, i64 16 br label %2491 -.split.loop.exit.split.loop.exit13498: ; preds = %16277 - %16954 = getelementptr inbounds nuw i8, ptr %.09759, i64 16 +.split.loop.exit.split.loop.exit13495: ; preds = %16276 + %16953 = getelementptr inbounds nuw i8, ptr %.09759, i64 16 br label %.split.loop.exit -.split.loop.exit: ; preds = %2491, %.split.loop.exit.split.loop.exit13498 - %.59764 = phi ptr [ %16954, %.split.loop.exit.split.loop.exit13498 ], [ %.09759, %2491 ] - %16955 = load ptr, ptr @zend_jit_traces, align 8 - %16956 = load i32, ptr %16955, align 8 - %16957 = zext i32 %16956 to i64 - %16958 = getelementptr inbounds nuw %struct._zend_jit_trace_info, ptr %16955, i64 %16957 - br i1 %.not10642, label %16959, label %16966 - -16959: ; preds = %.split.loop.exit - %16960 = getelementptr inbounds nuw i8, ptr %17, i64 688 - %.val12074 = load i8, ptr %16960, align 8 - %16961 = trunc i8 %.val12074 to i1 - br i1 %16961, label %16962, label %16966 - -16962: ; preds = %16959 - %16963 = getelementptr inbounds nuw i8, ptr %16958, i64 36 - %16964 = load i32, ptr %16963, align 4 - %16965 = or i32 %16964, 4 - store i32 %16965, ptr %16963, align 4 - br label %16966 - -16966: ; preds = %16962, %16959, %.split.loop.exit - %16967 = getelementptr inbounds nuw i8, ptr %.59764, i64 2 - %16968 = load i8, ptr %16967, align 1 - switch i8 %16968, label %17265 [ - i8 0, label %16969 - i8 1, label %16969 - i8 2, label %16969 - i8 5, label %17082 - i8 4, label %17082 +.split.loop.exit: ; preds = %2491, %.split.loop.exit.split.loop.exit13495 + %.59764 = phi ptr [ %16953, %.split.loop.exit.split.loop.exit13495 ], [ %.09759, %2491 ] + %16954 = load ptr, ptr @zend_jit_traces, align 8 + %16955 = load i32, ptr %16954, align 8 + %16956 = zext i32 %16955 to i64 + %16957 = getelementptr inbounds nuw %struct._zend_jit_trace_info, ptr %16954, i64 %16956 + br i1 %.not10642, label %16958, label %16965 + +16958: ; preds = %.split.loop.exit + %16959 = getelementptr inbounds nuw i8, ptr %17, i64 688 + %.val12071 = load i8, ptr %16959, align 8 + %16960 = trunc i8 %.val12071 to i1 + br i1 %16960, label %16961, label %16965 + +16961: ; preds = %16958 + %16962 = getelementptr inbounds nuw i8, ptr %16957, i64 36 + %16963 = load i32, ptr %16962, align 4 + %16964 = or i32 %16963, 4 + store i32 %16964, ptr %16962, align 4 + br label %16965 + +16965: ; preds = %16961, %16958, %.split.loop.exit + %16966 = getelementptr inbounds nuw i8, ptr %.59764, i64 2 + %16967 = load i8, ptr %16966, align 1 + switch i8 %16967, label %17264 [ + i8 0, label %16968 + i8 1, label %16968 + i8 2, label %16968 + i8 5, label %17081 + i8 4, label %17081 ] -16969: ; preds = %16966, %16966, %16966 - br i1 %.not10695, label %.loopexit, label %16970 - -16970: ; preds = %16969 - %16971 = getelementptr inbounds nuw i8, ptr %40, i64 48 - %16972 = load ptr, ptr %16971, align 8 - %16973 = getelementptr inbounds nuw i8, ptr %16972, i64 8 - %.0937413020 = load ptr, ptr %16973, align 8 - %.not1072913021 = icmp eq ptr %.0937413020, null - br i1 %.not1072913021, label %.loopexit, label %.lr.ph13024 - -.lr.ph13024: ; preds = %16970, %zend_jit_store_var_type.exit - %.0937413022 = phi ptr [ %.09374, %zend_jit_store_var_type.exit ], [ %.0937413020, %16970 ] - %16974 = getelementptr inbounds nuw i8, ptr %.0937413022, i64 96 - %16975 = load ptr, ptr %16974, align 8 - %16976 = getelementptr inbounds nuw i8, ptr %16975, i64 4 - %16977 = load i32, ptr %16976, align 4 - %16978 = sext i32 %16977 to i64 - %16979 = getelementptr inbounds %struct._zend_jit_reg_var, ptr %.09775, i64 %16978 - %16980 = load i32, ptr %16979, align 4 - %.not10745 = icmp eq i32 %16980, 0 - br i1 %.not10745, label %zend_jit_store_var_type.exit, label %16981 - -16981: ; preds = %.lr.ph13024 - %16982 = getelementptr inbounds nuw i8, ptr %.0937413022, i64 64 - %16983 = load i32, ptr %16982, align 8 - %16984 = sext i32 %16983 to i64 - %16985 = getelementptr inbounds %struct._zend_jit_trace_stack, ptr %.09641, i64 %16984 - %16986 = getelementptr inbounds nuw i8, ptr %16985, i64 1 - %16987 = load i8, ptr %16986, align 1 - %16988 = load i8, ptr %16985, align 4 - %.not10746 = icmp eq i8 %16987, %16988 - br i1 %.not10746, label %zend_jit_store_var_type.exit, label %16989 - -16989: ; preds = %16981 - %16990 = getelementptr inbounds nuw i8, ptr %16979, i64 4 - %16991 = load i32, ptr %16990, align 4 - %16992 = and i32 %16991, 3 - %16993 = icmp eq i32 %16992, 0 - br i1 %16993, label %16994, label %zend_jit_store_var_type.exit - -16994: ; preds = %16989 - %16995 = getelementptr inbounds nuw i8, ptr %.0937413022, i64 68 - %16996 = load i32, ptr %16995, align 4 - %16997 = sext i32 %16996 to i64 - %16998 = getelementptr inbounds %struct._zend_jit_reg_var, ptr %.09775, i64 %16997 - %16999 = load i32, ptr %16998, align 4 - %.not10747 = icmp eq i32 %16999, 0 - br i1 %.not10747, label %17005, label %17000 - -17000: ; preds = %16994 - %17001 = getelementptr inbounds nuw i8, ptr %16998, i64 4 - %17002 = load i32, ptr %17001, align 4 - %17003 = and i32 %17002, 3 - %17004 = icmp eq i32 %17003, 0 - br i1 %17004, label %17005, label %zend_jit_store_var_type.exit - -17005: ; preds = %17000, %16994 - %17006 = zext i8 %16988 to i32 - %17007 = shl i32 %16983, 4 - %17008 = add i32 %17007, 80 - %17009 = zext i32 %17008 to i64 - %17010 = shl nuw nsw i64 %17009, 8 - %17011 = or disjoint i64 %17010, 57 - %17012 = icmp ult i8 %16988, 6 - br i1 %17012, label %17013, label %17024 - -17013: ; preds = %17005 - %17014 = load ptr, ptr getelementptr inbounds nuw (i8, ptr @jit_globals, i64 184), align 8 - %.not.i12159 = icmp eq ptr %17014, null - br i1 %.not.i12159, label %17024, label %17015 - -17015: ; preds = %17013 - %17016 = getelementptr inbounds nuw i8, ptr %17014, i64 60 - %17017 = lshr exact i64 %17009, 4 - %17018 = add nuw nsw i64 %17017, 4294967291 - %17019 = and i64 %17018, 4294967295 - %17020 = getelementptr inbounds nuw [1 x %struct._zend_jit_trace_stack], ptr %17016, i64 0, i64 %17019 - %17021 = getelementptr inbounds nuw i8, ptr %17020, i64 1 - %17022 = load i8, ptr %17021, align 1 - %17023 = icmp eq i8 %16988, %17022 - br i1 %17023, label %zend_jit_store_var_type.exit, label %17024 - -17024: ; preds = %17015, %17013, %17005 - %17025 = call i32 @ir_const_u32(ptr noundef nonnull %17, i32 noundef range(i32 0, 256) %17006) #33 - call fastcc void @jit_set_Z_TYPE_INFO_ex(ptr noundef nonnull %17, i64 noundef %17011, i32 noundef %17025) +16968: ; preds = %16965, %16965, %16965 + br i1 %.not10695, label %.loopexit, label %16969 + +16969: ; preds = %16968 + %16970 = getelementptr inbounds nuw i8, ptr %40, i64 48 + %16971 = load ptr, ptr %16970, align 8 + %16972 = getelementptr inbounds nuw i8, ptr %16971, i64 8 + %.0937413017 = load ptr, ptr %16972, align 8 + %.not1072913018 = icmp eq ptr %.0937413017, null + br i1 %.not1072913018, label %.loopexit, label %.lr.ph13021 + +.lr.ph13021: ; preds = %16969, %zend_jit_store_var_type.exit + %.0937413019 = phi ptr [ %.09374, %zend_jit_store_var_type.exit ], [ %.0937413017, %16969 ] + %16973 = getelementptr inbounds nuw i8, ptr %.0937413019, i64 96 + %16974 = load ptr, ptr %16973, align 8 + %16975 = getelementptr inbounds nuw i8, ptr %16974, i64 4 + %16976 = load i32, ptr %16975, align 4 + %16977 = sext i32 %16976 to i64 + %16978 = getelementptr inbounds %struct._zend_jit_reg_var, ptr %.09775, i64 %16977 + %16979 = load i32, ptr %16978, align 4 + %.not10745 = icmp eq i32 %16979, 0 + br i1 %.not10745, label %zend_jit_store_var_type.exit, label %16980 + +16980: ; preds = %.lr.ph13021 + %16981 = getelementptr inbounds nuw i8, ptr %.0937413019, i64 64 + %16982 = load i32, ptr %16981, align 8 + %16983 = sext i32 %16982 to i64 + %16984 = getelementptr inbounds %struct._zend_jit_trace_stack, ptr %.09641, i64 %16983 + %16985 = getelementptr inbounds nuw i8, ptr %16984, i64 1 + %16986 = load i8, ptr %16985, align 1 + %16987 = load i8, ptr %16984, align 4 + %.not10746 = icmp eq i8 %16986, %16987 + br i1 %.not10746, label %zend_jit_store_var_type.exit, label %16988 + +16988: ; preds = %16980 + %16989 = getelementptr inbounds nuw i8, ptr %16978, i64 4 + %16990 = load i32, ptr %16989, align 4 + %16991 = and i32 %16990, 3 + %16992 = icmp eq i32 %16991, 0 + br i1 %16992, label %16993, label %zend_jit_store_var_type.exit + +16993: ; preds = %16988 + %16994 = getelementptr inbounds nuw i8, ptr %.0937413019, i64 68 + %16995 = load i32, ptr %16994, align 4 + %16996 = sext i32 %16995 to i64 + %16997 = getelementptr inbounds %struct._zend_jit_reg_var, ptr %.09775, i64 %16996 + %16998 = load i32, ptr %16997, align 4 + %.not10747 = icmp eq i32 %16998, 0 + br i1 %.not10747, label %17004, label %16999 + +16999: ; preds = %16993 + %17000 = getelementptr inbounds nuw i8, ptr %16997, i64 4 + %17001 = load i32, ptr %17000, align 4 + %17002 = and i32 %17001, 3 + %17003 = icmp eq i32 %17002, 0 + br i1 %17003, label %17004, label %zend_jit_store_var_type.exit + +17004: ; preds = %16999, %16993 + %17005 = zext i8 %16987 to i32 + %17006 = shl i32 %16982, 4 + %17007 = add i32 %17006, 80 + %17008 = zext i32 %17007 to i64 + %17009 = shl nuw nsw i64 %17008, 8 + %17010 = or disjoint i64 %17009, 57 + %17011 = icmp ult i8 %16987, 6 + br i1 %17011, label %17012, label %17023 + +17012: ; preds = %17004 + %17013 = load ptr, ptr getelementptr inbounds nuw (i8, ptr @jit_globals, i64 184), align 8 + %.not.i12156 = icmp eq ptr %17013, null + br i1 %.not.i12156, label %17023, label %17014 + +17014: ; preds = %17012 + %17015 = getelementptr inbounds nuw i8, ptr %17013, i64 60 + %17016 = lshr exact i64 %17008, 4 + %17017 = add nuw nsw i64 %17016, 4294967291 + %17018 = and i64 %17017, 4294967295 + %17019 = getelementptr inbounds nuw [1 x %struct._zend_jit_trace_stack], ptr %17015, i64 0, i64 %17018 + %17020 = getelementptr inbounds nuw i8, ptr %17019, i64 1 + %17021 = load i8, ptr %17020, align 1 + %17022 = icmp eq i8 %16987, %17021 + br i1 %17022, label %zend_jit_store_var_type.exit, label %17023 + +17023: ; preds = %17014, %17012, %17004 + %17024 = call i32 @ir_const_u32(ptr noundef nonnull %17, i32 noundef range(i32 0, 256) %17005) #33 + call fastcc void @jit_set_Z_TYPE_INFO_ex(ptr noundef nonnull %17, i64 noundef %17010, i32 noundef %17024) br label %zend_jit_store_var_type.exit -zend_jit_store_var_type.exit: ; preds = %17024, %17015, %17000, %16989, %16981, %.lr.ph13024 - %.09374 = load ptr, ptr %.0937413022, align 8 +zend_jit_store_var_type.exit: ; preds = %17023, %17014, %16999, %16988, %16980, %.lr.ph13021 + %.09374 = load ptr, ptr %.0937413019, align 8 %.not10729 = icmp eq ptr %.09374, null - br i1 %.not10729, label %.loopexit.loopexit, label %.lr.ph13024 + br i1 %.not10729, label %.loopexit.loopexit, label %.lr.ph13021 .loopexit.loopexit: ; preds = %zend_jit_store_var_type.exit - %.pre13231 = load i8, ptr %16967, align 1 + %.pre13228 = load i8, ptr %16966, align 1 br label %.loopexit -.loopexit: ; preds = %.loopexit.loopexit, %16970, %16969 - %17026 = phi i8 [ %.pre13231, %.loopexit.loopexit ], [ %16968, %16970 ], [ %16968, %16969 ] - %.not10730 = icmp eq i8 %17026, 2 - br i1 %.not10730, label %17034, label %17027 - -17027: ; preds = %.loopexit - %17028 = getelementptr inbounds nuw i8, ptr %16958, i64 36 - %17029 = load i32, ptr %17028, align 4 - %17030 = and i32 %17029, 4 - %.not10731 = icmp eq i32 %17030, 0 - br i1 %.not10731, label %17034, label %17031 - -17031: ; preds = %17027 - %17032 = getelementptr inbounds nuw i8, ptr %.59764, i64 8 - %17033 = load ptr, ptr %17032, align 8 - call fastcc void @zend_jit_set_ip(ptr noundef %17, ptr noundef %17033) - br label %17034 - -17034: ; preds = %17031, %17027, %.loopexit - %17035 = load ptr, ptr @zend_jit_traces, align 8 - %17036 = load i32, ptr %17035, align 8 - %17037 = getelementptr inbounds nuw i8, ptr %16958, i64 12 - store i32 %17036, ptr %17037, align 4 - %17038 = load i8, ptr %16967, align 1 - %.not10732 = icmp eq i8 %17038, 2 - %.phi.trans.insert13233 = getelementptr inbounds nuw i8, ptr %16958, i64 36 - %.pre13234 = load i32, ptr %.phi.trans.insert13233, align 4 - br i1 %.not10732, label %._crit_edge13232, label %17039 - -17039: ; preds = %17034 - %17040 = or i32 %.pre13234, 1 - store i32 %17040, ptr %.phi.trans.insert13233, align 4 - br label %._crit_edge13232 - -._crit_edge13232: ; preds = %17034, %17039 - %17041 = phi i32 [ %17040, %17039 ], [ %.pre13234, %17034 ] - %17042 = and i32 %17041, 2 - %.not10733 = icmp eq i32 %17042, 0 - br i1 %.not10733, label %17043, label %17268 - -17043: ; preds = %._crit_edge13232 - %17044 = getelementptr inbounds nuw i8, ptr %16958, i64 36 - %17045 = or disjoint i32 %17041, 2 - store i32 %17045, ptr %17044, align 4 - %17046 = load i8, ptr %2275, align 1 - %.not10734 = icmp eq i8 %17046, 2 - br i1 %.not10734, label %.thread12654, label %17049 - -.thread12654: ; preds = %17043 - %17047 = getelementptr inbounds nuw i8, ptr %17, i64 704 - %17048 = load i32, ptr %17047, align 8 +.loopexit: ; preds = %.loopexit.loopexit, %16969, %16968 + %17025 = phi i8 [ %.pre13228, %.loopexit.loopexit ], [ %16967, %16969 ], [ %16967, %16968 ] + %.not10730 = icmp eq i8 %17025, 2 + br i1 %.not10730, label %17033, label %17026 + +17026: ; preds = %.loopexit + %17027 = getelementptr inbounds nuw i8, ptr %16957, i64 36 + %17028 = load i32, ptr %17027, align 4 + %17029 = and i32 %17028, 4 + %.not10731 = icmp eq i32 %17029, 0 + br i1 %.not10731, label %17033, label %17030 + +17030: ; preds = %17026 + %17031 = getelementptr inbounds nuw i8, ptr %.59764, i64 8 + %17032 = load ptr, ptr %17031, align 8 + call fastcc void @zend_jit_set_ip(ptr noundef %17, ptr noundef %17032) + br label %17033 + +17033: ; preds = %17030, %17026, %.loopexit + %17034 = load ptr, ptr @zend_jit_traces, align 8 + %17035 = load i32, ptr %17034, align 8 + %17036 = getelementptr inbounds nuw i8, ptr %16957, i64 12 + store i32 %17035, ptr %17036, align 4 + %17037 = load i8, ptr %16966, align 1 + %.not10732 = icmp eq i8 %17037, 2 + %.phi.trans.insert13230 = getelementptr inbounds nuw i8, ptr %16957, i64 36 + %.pre13231 = load i32, ptr %.phi.trans.insert13230, align 4 + br i1 %.not10732, label %._crit_edge13229, label %17038 + +17038: ; preds = %17033 + %17039 = or i32 %.pre13231, 1 + store i32 %17039, ptr %.phi.trans.insert13230, align 4 + br label %._crit_edge13229 + +._crit_edge13229: ; preds = %17033, %17038 + %17040 = phi i32 [ %17039, %17038 ], [ %.pre13231, %17033 ] + %17041 = and i32 %17040, 2 + %.not10733 = icmp eq i32 %17041, 0 + br i1 %.not10733, label %17042, label %17267 + +17042: ; preds = %._crit_edge13229 + %17043 = getelementptr inbounds nuw i8, ptr %16957, i64 36 + %17044 = or disjoint i32 %17040, 2 + store i32 %17044, ptr %17043, align 4 + %17045 = load i8, ptr %2275, align 1 + %.not10734 = icmp eq i8 %17045, 2 + br i1 %.not10734, label %.thread12651, label %17048 + +.thread12651: ; preds = %17042 + %17046 = getelementptr inbounds nuw i8, ptr %17, i64 704 + %17047 = load i32, ptr %17046, align 8 br label %zend_jit_trace_end_loop.exit -17049: ; preds = %17043 - %17050 = and i32 %17041, 4 - %.not10735 = icmp eq i32 %17050, 0 - br i1 %.not10735, label %zend_jit_trace_stack_needs_deoptimization.exit, label %17051 - -17051: ; preds = %17049 - br i1 %.not10695, label %zend_jit_trace_stack_needs_deoptimization.exit.thread, label %17052 - -17052: ; preds = %17051 - %17053 = getelementptr inbounds nuw i8, ptr %.09771, i64 80 - %17054 = load i32, ptr %17053, align 8 - %17055 = getelementptr inbounds nuw i8, ptr %.09771, i64 72 - %17056 = load i32, ptr %17055, align 8 - %17057 = add i32 %17056, %17054 - %.not14.i = icmp eq i32 %17057, 0 - br i1 %.not14.i, label %zend_jit_trace_stack_needs_deoptimization.exit.thread, label %.lr.ph.preheader.i12160 - -.lr.ph.preheader.i12160: ; preds = %17052 - %wide.trip.count.i12161 = zext i32 %17057 to i64 - br label %.lr.ph.i12162 - -17058: ; preds = %17062 - %indvars.iv.next.i12167 = add nuw nsw i64 %indvars.iv.i12163, 1 - %exitcond.not.i12168 = icmp eq i64 %indvars.iv.next.i12167, %wide.trip.count.i12161 - br i1 %exitcond.not.i12168, label %zend_jit_trace_stack_needs_deoptimization.exit.thread, label %.lr.ph.i12162 - -.lr.ph.i12162: ; preds = %17058, %.lr.ph.preheader.i12160 - %indvars.iv.i12163 = phi i64 [ 0, %.lr.ph.preheader.i12160 ], [ %indvars.iv.next.i12167, %17058 ] - %17059 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %indvars.iv.i12163 - %17060 = getelementptr inbounds nuw i8, ptr %17059, i64 3 - %17061 = load i8, ptr %17060, align 1 - %.not.i12164 = icmp ult i8 %17061, 8 - br i1 %.not.i12164, label %17062, label %zend_jit_trace_stack_needs_deoptimization.exit - -17062: ; preds = %.lr.ph.i12162 - %17063 = getelementptr inbounds nuw i8, ptr %17059, i64 2 - %17064 = load i8, ptr %17063, align 2 - %.not8.i12166 = icmp eq i8 %17064, -1 - br i1 %.not8.i12166, label %17058, label %zend_jit_trace_stack_needs_deoptimization.exit - -zend_jit_trace_stack_needs_deoptimization.exit: ; preds = %17062, %.lr.ph.i12162, %17049 - %17065 = load ptr, ptr %46, align 8 - %17066 = call fastcc i32 @zend_jit_trace_get_exit_point(ptr noundef %17065, i32 noundef 4) - %17067 = call fastcc ptr @zend_jit_trace_get_exit_addr(i32 noundef %17066) - %.not10737 = icmp eq ptr %17067, null - br i1 %.not10737, label %zend_jit_stack_check.exit.thread, label %.thread12657 - -.thread12657: ; preds = %zend_jit_trace_stack_needs_deoptimization.exit - %17068 = getelementptr inbounds nuw i8, ptr %17, i64 704 - %17069 = load i32, ptr %17068, align 8 - br label %17073 - -zend_jit_trace_stack_needs_deoptimization.exit.thread: ; preds = %17058, %17052, %17051 - %17070 = load ptr, ptr getelementptr inbounds nuw (i8, ptr @zend_jit_stub_handlers, i64 32), align 16 - %17071 = getelementptr inbounds nuw i8, ptr %17, i64 704 - %17072 = load i32, ptr %17071, align 8 - %.not.i12169 = icmp eq ptr %17070, null - br i1 %.not.i12169, label %zend_jit_trace_end_loop.exit, label %17073 - -17073: ; preds = %.thread12657, %zend_jit_trace_stack_needs_deoptimization.exit.thread - %17074 = phi i32 [ %17069, %.thread12657 ], [ %17072, %zend_jit_trace_stack_needs_deoptimization.exit.thread ] - %.0937312660 = phi ptr [ %17067, %.thread12657 ], [ %17070, %zend_jit_trace_stack_needs_deoptimization.exit.thread ] - call fastcc void @zend_jit_check_timeout(ptr noundef nonnull %17, ptr noundef null, ptr noundef nonnull %.0937312660) +17048: ; preds = %17042 + %17049 = and i32 %17040, 4 + %.not10735 = icmp eq i32 %17049, 0 + br i1 %.not10735, label %zend_jit_trace_stack_needs_deoptimization.exit, label %17050 + +17050: ; preds = %17048 + br i1 %.not10695, label %zend_jit_trace_stack_needs_deoptimization.exit.thread, label %17051 + +17051: ; preds = %17050 + %17052 = getelementptr inbounds nuw i8, ptr %.09771, i64 80 + %17053 = load i32, ptr %17052, align 8 + %17054 = getelementptr inbounds nuw i8, ptr %.09771, i64 72 + %17055 = load i32, ptr %17054, align 8 + %17056 = add i32 %17055, %17053 + %.not14.i = icmp eq i32 %17056, 0 + br i1 %.not14.i, label %zend_jit_trace_stack_needs_deoptimization.exit.thread, label %.lr.ph.preheader.i12157 + +.lr.ph.preheader.i12157: ; preds = %17051 + %wide.trip.count.i12158 = zext i32 %17056 to i64 + br label %.lr.ph.i12159 + +17057: ; preds = %17061 + %indvars.iv.next.i12164 = add nuw nsw i64 %indvars.iv.i12160, 1 + %exitcond.not.i12165 = icmp eq i64 %indvars.iv.next.i12164, %wide.trip.count.i12158 + br i1 %exitcond.not.i12165, label %zend_jit_trace_stack_needs_deoptimization.exit.thread, label %.lr.ph.i12159 + +.lr.ph.i12159: ; preds = %17057, %.lr.ph.preheader.i12157 + %indvars.iv.i12160 = phi i64 [ 0, %.lr.ph.preheader.i12157 ], [ %indvars.iv.next.i12164, %17057 ] + %17058 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %indvars.iv.i12160 + %17059 = getelementptr inbounds nuw i8, ptr %17058, i64 3 + %17060 = load i8, ptr %17059, align 1 + %.not.i12161 = icmp ult i8 %17060, 8 + br i1 %.not.i12161, label %17061, label %zend_jit_trace_stack_needs_deoptimization.exit + +17061: ; preds = %.lr.ph.i12159 + %17062 = getelementptr inbounds nuw i8, ptr %17058, i64 2 + %17063 = load i8, ptr %17062, align 2 + %.not8.i12163 = icmp eq i8 %17063, -1 + br i1 %.not8.i12163, label %17057, label %zend_jit_trace_stack_needs_deoptimization.exit + +zend_jit_trace_stack_needs_deoptimization.exit: ; preds = %17061, %.lr.ph.i12159, %17048 + %17064 = load ptr, ptr %46, align 8 + %17065 = call fastcc i32 @zend_jit_trace_get_exit_point(ptr noundef %17064, i32 noundef 4) + %17066 = call fastcc ptr @zend_jit_trace_get_exit_addr(i32 noundef %17065) + %.not10737 = icmp eq ptr %17066, null + br i1 %.not10737, label %zend_jit_stack_check.exit.thread, label %.thread12654 + +.thread12654: ; preds = %zend_jit_trace_stack_needs_deoptimization.exit + %17067 = getelementptr inbounds nuw i8, ptr %17, i64 704 + %17068 = load i32, ptr %17067, align 8 + br label %17072 + +zend_jit_trace_stack_needs_deoptimization.exit.thread: ; preds = %17057, %17051, %17050 + %17069 = load ptr, ptr getelementptr inbounds nuw (i8, ptr @zend_jit_stub_handlers, i64 32), align 16 + %17070 = getelementptr inbounds nuw i8, ptr %17, i64 704 + %17071 = load i32, ptr %17070, align 8 + %.not.i12166 = icmp eq ptr %17069, null + br i1 %.not.i12166, label %zend_jit_trace_end_loop.exit, label %17072 + +17072: ; preds = %.thread12654, %zend_jit_trace_stack_needs_deoptimization.exit.thread + %17073 = phi i32 [ %17068, %.thread12654 ], [ %17071, %zend_jit_trace_stack_needs_deoptimization.exit.thread ] + %.0937312657 = phi ptr [ %17066, %.thread12654 ], [ %17069, %zend_jit_trace_stack_needs_deoptimization.exit.thread ] + call fastcc void @zend_jit_check_timeout(ptr noundef nonnull %17, ptr noundef null, ptr noundef nonnull %.0937312657) br label %zend_jit_trace_end_loop.exit -zend_jit_trace_end_loop.exit: ; preds = %.thread12654, %zend_jit_trace_stack_needs_deoptimization.exit.thread, %17073 - %17075 = phi i32 [ %17048, %.thread12654 ], [ %17072, %zend_jit_trace_stack_needs_deoptimization.exit.thread ], [ %17074, %17073 ] - %17076 = load ptr, ptr %17, align 8 - %17077 = sext i32 %17075 to i64 - %17078 = getelementptr inbounds %struct._ir_insn, ptr %17076, i64 %17077, i32 1 - %17079 = load i32, ptr %17078, align 8 - %17080 = icmp eq i32 %17079, 0 - call void @llvm.assume(i1 %17080) - %17081 = call i32 @_ir_LOOP_END(ptr noundef nonnull %17) #33 - call void @_ir_MERGE_SET_OP(ptr noundef nonnull %17, i32 noundef %17075, i32 noundef 2, i32 noundef %17081) #33 - br label %17268 - -17082: ; preds = %16966, %16966 - br i1 %.not10695, label %.loopexit12723, label %17083 - -17083: ; preds = %17082 - %17084 = getelementptr inbounds i8, ptr %.59764, i64 -16 - %17085 = load i8, ptr %17084, align 8 - %17086 = and i8 %17085, -2 - %switch12073 = icmp eq i8 %17086, 6 - br i1 %switch12073, label %.loopexit12723, label %17087 - -17087: ; preds = %17083 - %17088 = getelementptr inbounds nuw i8, ptr %.09629, i64 28 - %17089 = load i8, ptr %17088, align 4 - switch i8 %17089, label %.preheader12722 [ - i8 -126, label %.loopexit12723 - i8 60, label %.loopexit12723 - i8 -125, label %.loopexit12723 - i8 73, label %.loopexit12723 +zend_jit_trace_end_loop.exit: ; preds = %.thread12651, %zend_jit_trace_stack_needs_deoptimization.exit.thread, %17072 + %17074 = phi i32 [ %17047, %.thread12651 ], [ %17071, %zend_jit_trace_stack_needs_deoptimization.exit.thread ], [ %17073, %17072 ] + %17075 = load ptr, ptr %17, align 8 + %17076 = sext i32 %17074 to i64 + %17077 = getelementptr inbounds %struct._ir_insn, ptr %17075, i64 %17076, i32 1 + %17078 = load i32, ptr %17077, align 8 + %17079 = icmp eq i32 %17078, 0 + call void @llvm.assume(i1 %17079) + %17080 = call i32 @_ir_LOOP_END(ptr noundef nonnull %17) #33 + call void @_ir_MERGE_SET_OP(ptr noundef nonnull %17, i32 noundef %17074, i32 noundef 2, i32 noundef %17080) #33 + br label %17267 + +17081: ; preds = %16965, %16965 + br i1 %.not10695, label %.loopexit12720, label %17082 + +17082: ; preds = %17081 + %17083 = getelementptr inbounds i8, ptr %.59764, i64 -16 + %17084 = load i8, ptr %17083, align 8 + %17085 = and i8 %17084, -2 + %switch12070 = icmp eq i8 %17085, 6 + br i1 %switch12070, label %.loopexit12720, label %17086 + +17086: ; preds = %17082 + %17087 = getelementptr inbounds nuw i8, ptr %.09629, i64 28 + %17088 = load i8, ptr %17087, align 4 + switch i8 %17088, label %.preheader12719 [ + i8 -126, label %.loopexit12720 + i8 60, label %.loopexit12720 + i8 -125, label %.loopexit12720 + i8 73, label %.loopexit12720 ] -.preheader12722: ; preds = %17087 - %17090 = getelementptr inbounds nuw i8, ptr %.09771, i64 80 - %17091 = getelementptr inbounds nuw i8, ptr %.09771, i64 72 +.preheader12719: ; preds = %17086 + %17089 = getelementptr inbounds nuw i8, ptr %.09771, i64 80 + %17090 = getelementptr inbounds nuw i8, ptr %.09771, i64 72 + %17091 = load i32, ptr %17089, align 8 %17092 = load i32, ptr %17090, align 8 - %17093 = load i32, ptr %17091, align 8 - %17094 = sub i32 0, %17092 - %.not13045 = icmp eq i32 %17093, %17094 - br i1 %.not13045, label %.loopexit12723, label %.lr.ph13016 - -.lr.ph13016: ; preds = %.preheader12722 - %17095 = getelementptr inbounds nuw i8, ptr %.09768, i64 72 - %17096 = ptrtoint ptr %.09629 to i64 - %17097 = getelementptr inbounds nuw i8, ptr %.09771, i64 88 - br label %17098 - -17098: ; preds = %.lr.ph13016, %zend_jit_trace_must_store_type.exit - %indvars.iv13208 = phi i64 [ 0, %.lr.ph13016 ], [ %indvars.iv.next13209, %zend_jit_trace_must_store_type.exit ] - %17099 = phi i32 [ %17092, %.lr.ph13016 ], [ %17192, %zend_jit_trace_must_store_type.exit ] - %17100 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %indvars.iv13208 - %17101 = getelementptr inbounds nuw i8, ptr %17100, i64 4 - %17102 = load i32, ptr %17101, align 4 - %17103 = load i8, ptr %17100, align 4 - %.not10725 = icmp eq i32 %17102, 0 - br i1 %.not10725, label %17163, label %17104 - -17104: ; preds = %17098 - %17105 = getelementptr inbounds nuw i8, ptr %17100, i64 3 - %17106 = load i8, ptr %17105, align 1 - %17107 = and i8 %17106, 3 - %.not10726 = icmp eq i8 %17107, 0 - br i1 %.not10726, label %17108, label %17163 - -17108: ; preds = %17104 - %17109 = zext nneg i8 %17103 to i32 - %17110 = shl nuw i32 1, %17109 - %17111 = getelementptr inbounds nuw i8, ptr %17100, i64 1 - %17112 = load i8, ptr %17111, align 1 - %.not12695 = icmp eq i8 %17112, %17103 - %17113 = trunc nuw i64 %indvars.iv13208 to i32 - %17114 = shl i32 %17113, 4 - %17115 = add i32 %17114, 80 - %17116 = zext i32 %17115 to i64 - %17117 = shl nuw nsw i64 %17116, 8 - %17118 = or disjoint i64 %17117, 57 - %17119 = and i32 %17110, 1022 - %17120 = icmp eq i32 %17119, 16 - br i1 %17120, label %17121, label %17141 - -17121: ; preds = %17108 - %17122 = call fastcc i32 @jit_ZVAL_ADDR(ptr noundef nonnull %17, i64 noundef %17118) - call void @_ir_STORE(ptr noundef nonnull %17, i32 noundef %17122, i32 noundef range(i32 1, 0) %17102) #33 - br i1 %.not12695, label %zend_jit_store_ref.exit, label %17123 - -17123: ; preds = %17121 - %17124 = load ptr, ptr getelementptr inbounds nuw (i8, ptr @jit_globals, i64 184), align 8 - %cond.i = icmp eq ptr %17124, null - br i1 %cond.i, label %jit_set_Z_TYPE_INFO.exit.sink.split.i, label %17125 - -17125: ; preds = %17123 - %17126 = getelementptr inbounds nuw i8, ptr %17124, i64 60 - %17127 = lshr exact i32 %17115, 4 - %17128 = add nsw i32 %17127, -5 - %17129 = zext i32 %17128 to i64 - %17130 = getelementptr inbounds nuw [1 x %struct._zend_jit_trace_stack], ptr %17126, i64 0, i64 %17129 - %17131 = getelementptr inbounds nuw i8, ptr %17130, i64 1 - %17132 = load i8, ptr %17131, align 1 - %.not27.i = icmp eq i8 %17132, 4 - br i1 %.not27.i, label %zend_jit_store_ref.exit, label %17133 - -17133: ; preds = %17125 - %17134 = lshr exact i64 %17116, 4 - %17135 = add nuw nsw i64 %17134, 4294967291 - %17136 = and i64 %17135, 4294967295 - %17137 = getelementptr inbounds nuw [1 x %struct._zend_jit_trace_stack], ptr %17126, i64 0, i64 %17136 - %17138 = getelementptr inbounds nuw i8, ptr %17137, i64 1 - %17139 = load i8, ptr %17138, align 1 - %17140 = icmp eq i8 %17139, 4 - br i1 %17140, label %zend_jit_store_ref.exit, label %jit_set_Z_TYPE_INFO.exit.sink.split.i - -17141: ; preds = %17108 - %17142 = icmp eq i32 %17119, 32 - call void @llvm.assume(i1 %17142) - %17143 = call fastcc i32 @jit_ZVAL_ADDR(ptr noundef nonnull %17, i64 noundef %17118) - call void @_ir_STORE(ptr noundef nonnull %17, i32 noundef %17143, i32 noundef range(i32 1, 0) %17102) #33 - br i1 %.not12695, label %zend_jit_store_ref.exit, label %17144 - -17144: ; preds = %17141 - %17145 = load ptr, ptr getelementptr inbounds nuw (i8, ptr @jit_globals, i64 184), align 8 - %cond33.i = icmp eq ptr %17145, null - br i1 %cond33.i, label %jit_set_Z_TYPE_INFO.exit.sink.split.i, label %17146 - -17146: ; preds = %17144 - %17147 = getelementptr inbounds nuw i8, ptr %17145, i64 60 - %17148 = lshr exact i32 %17115, 4 - %17149 = add nsw i32 %17148, -5 - %17150 = zext i32 %17149 to i64 - %17151 = getelementptr inbounds nuw [1 x %struct._zend_jit_trace_stack], ptr %17147, i64 0, i64 %17150 - %17152 = getelementptr inbounds nuw i8, ptr %17151, i64 1 - %17153 = load i8, ptr %17152, align 1 - %.not25.i = icmp eq i8 %17153, 5 - br i1 %.not25.i, label %zend_jit_store_ref.exit, label %17154 - -17154: ; preds = %17146 - %17155 = lshr exact i64 %17116, 4 - %17156 = add nuw nsw i64 %17155, 4294967291 - %17157 = and i64 %17156, 4294967295 - %17158 = getelementptr inbounds nuw [1 x %struct._zend_jit_trace_stack], ptr %17147, i64 0, i64 %17157 - %17159 = getelementptr inbounds nuw i8, ptr %17158, i64 1 - %17160 = load i8, ptr %17159, align 1 - %17161 = icmp eq i8 %17160, 5 - br i1 %17161, label %zend_jit_store_ref.exit, label %jit_set_Z_TYPE_INFO.exit.sink.split.i - -jit_set_Z_TYPE_INFO.exit.sink.split.i: ; preds = %17154, %17144, %17133, %17123 - %.sink35.i = phi i32 [ 4, %17123 ], [ 4, %17133 ], [ 5, %17144 ], [ 5, %17154 ] - %17162 = call i32 @ir_const_u32(ptr noundef nonnull %17, i32 noundef %.sink35.i) #33 - call fastcc void @jit_set_Z_TYPE_INFO_ex(ptr noundef nonnull %17, i64 noundef %17118, i32 noundef %17162) + %17093 = sub i32 0, %17091 + %.not13042 = icmp eq i32 %17092, %17093 + br i1 %.not13042, label %.loopexit12720, label %.lr.ph13013 + +.lr.ph13013: ; preds = %.preheader12719 + %17094 = getelementptr inbounds nuw i8, ptr %.09768, i64 72 + %17095 = ptrtoint ptr %.09629 to i64 + %17096 = getelementptr inbounds nuw i8, ptr %.09771, i64 88 + br label %17097 + +17097: ; preds = %.lr.ph13013, %zend_jit_trace_must_store_type.exit + %indvars.iv13205 = phi i64 [ 0, %.lr.ph13013 ], [ %indvars.iv.next13206, %zend_jit_trace_must_store_type.exit ] + %17098 = phi i32 [ %17091, %.lr.ph13013 ], [ %17191, %zend_jit_trace_must_store_type.exit ] + %17099 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %indvars.iv13205 + %17100 = getelementptr inbounds nuw i8, ptr %17099, i64 4 + %17101 = load i32, ptr %17100, align 4 + %17102 = load i8, ptr %17099, align 4 + %.not10725 = icmp eq i32 %17101, 0 + br i1 %.not10725, label %17162, label %17103 + +17103: ; preds = %17097 + %17104 = getelementptr inbounds nuw i8, ptr %17099, i64 3 + %17105 = load i8, ptr %17104, align 1 + %17106 = and i8 %17105, 3 + %.not10726 = icmp eq i8 %17106, 0 + br i1 %.not10726, label %17107, label %17162 + +17107: ; preds = %17103 + %17108 = zext nneg i8 %17102 to i32 + %17109 = shl nuw i32 1, %17108 + %17110 = getelementptr inbounds nuw i8, ptr %17099, i64 1 + %17111 = load i8, ptr %17110, align 1 + %.not12692 = icmp eq i8 %17111, %17102 + %17112 = trunc nuw i64 %indvars.iv13205 to i32 + %17113 = shl i32 %17112, 4 + %17114 = add i32 %17113, 80 + %17115 = zext i32 %17114 to i64 + %17116 = shl nuw nsw i64 %17115, 8 + %17117 = or disjoint i64 %17116, 57 + %17118 = and i32 %17109, 1022 + %17119 = icmp eq i32 %17118, 16 + br i1 %17119, label %17120, label %17140 + +17120: ; preds = %17107 + %17121 = call fastcc i32 @jit_ZVAL_ADDR(ptr noundef nonnull %17, i64 noundef %17117) + call void @_ir_STORE(ptr noundef nonnull %17, i32 noundef %17121, i32 noundef range(i32 1, 0) %17101) #33 + br i1 %.not12692, label %zend_jit_store_ref.exit, label %17122 + +17122: ; preds = %17120 + %17123 = load ptr, ptr getelementptr inbounds nuw (i8, ptr @jit_globals, i64 184), align 8 + %cond.i = icmp eq ptr %17123, null + br i1 %cond.i, label %jit_set_Z_TYPE_INFO.exit.sink.split.i, label %17124 + +17124: ; preds = %17122 + %17125 = getelementptr inbounds nuw i8, ptr %17123, i64 60 + %17126 = lshr exact i32 %17114, 4 + %17127 = add nsw i32 %17126, -5 + %17128 = zext i32 %17127 to i64 + %17129 = getelementptr inbounds nuw [1 x %struct._zend_jit_trace_stack], ptr %17125, i64 0, i64 %17128 + %17130 = getelementptr inbounds nuw i8, ptr %17129, i64 1 + %17131 = load i8, ptr %17130, align 1 + %.not27.i = icmp eq i8 %17131, 4 + br i1 %.not27.i, label %zend_jit_store_ref.exit, label %17132 + +17132: ; preds = %17124 + %17133 = lshr exact i64 %17115, 4 + %17134 = add nuw nsw i64 %17133, 4294967291 + %17135 = and i64 %17134, 4294967295 + %17136 = getelementptr inbounds nuw [1 x %struct._zend_jit_trace_stack], ptr %17125, i64 0, i64 %17135 + %17137 = getelementptr inbounds nuw i8, ptr %17136, i64 1 + %17138 = load i8, ptr %17137, align 1 + %17139 = icmp eq i8 %17138, 4 + br i1 %17139, label %zend_jit_store_ref.exit, label %jit_set_Z_TYPE_INFO.exit.sink.split.i + +17140: ; preds = %17107 + %17141 = icmp eq i32 %17118, 32 + call void @llvm.assume(i1 %17141) + %17142 = call fastcc i32 @jit_ZVAL_ADDR(ptr noundef nonnull %17, i64 noundef %17117) + call void @_ir_STORE(ptr noundef nonnull %17, i32 noundef %17142, i32 noundef range(i32 1, 0) %17101) #33 + br i1 %.not12692, label %zend_jit_store_ref.exit, label %17143 + +17143: ; preds = %17140 + %17144 = load ptr, ptr getelementptr inbounds nuw (i8, ptr @jit_globals, i64 184), align 8 + %cond33.i = icmp eq ptr %17144, null + br i1 %cond33.i, label %jit_set_Z_TYPE_INFO.exit.sink.split.i, label %17145 + +17145: ; preds = %17143 + %17146 = getelementptr inbounds nuw i8, ptr %17144, i64 60 + %17147 = lshr exact i32 %17114, 4 + %17148 = add nsw i32 %17147, -5 + %17149 = zext i32 %17148 to i64 + %17150 = getelementptr inbounds nuw [1 x %struct._zend_jit_trace_stack], ptr %17146, i64 0, i64 %17149 + %17151 = getelementptr inbounds nuw i8, ptr %17150, i64 1 + %17152 = load i8, ptr %17151, align 1 + %.not25.i = icmp eq i8 %17152, 5 + br i1 %.not25.i, label %zend_jit_store_ref.exit, label %17153 + +17153: ; preds = %17145 + %17154 = lshr exact i64 %17115, 4 + %17155 = add nuw nsw i64 %17154, 4294967291 + %17156 = and i64 %17155, 4294967295 + %17157 = getelementptr inbounds nuw [1 x %struct._zend_jit_trace_stack], ptr %17146, i64 0, i64 %17156 + %17158 = getelementptr inbounds nuw i8, ptr %17157, i64 1 + %17159 = load i8, ptr %17158, align 1 + %17160 = icmp eq i8 %17159, 5 + br i1 %17160, label %zend_jit_store_ref.exit, label %jit_set_Z_TYPE_INFO.exit.sink.split.i + +jit_set_Z_TYPE_INFO.exit.sink.split.i: ; preds = %17153, %17143, %17132, %17122 + %.sink35.i = phi i32 [ 4, %17122 ], [ 4, %17132 ], [ 5, %17143 ], [ 5, %17153 ] + %17161 = call i32 @ir_const_u32(ptr noundef nonnull %17, i32 noundef %.sink35.i) #33 + call fastcc void @jit_set_Z_TYPE_INFO_ex(ptr noundef nonnull %17, i64 noundef %17117, i32 noundef %17161) br label %zend_jit_store_ref.exit -zend_jit_store_ref.exit: ; preds = %17121, %17125, %17133, %17141, %17146, %17154, %jit_set_Z_TYPE_INFO.exit.sink.split.i - store i8 %17103, ptr %17100, align 4 - store i8 %17103, ptr %17111, align 1 +zend_jit_store_ref.exit: ; preds = %17120, %17124, %17132, %17140, %17145, %17153, %jit_set_Z_TYPE_INFO.exit.sink.split.i + store i8 %17102, ptr %17099, align 4 + store i8 %17102, ptr %17110, align 1 br label %zend_jit_trace_must_store_type.exit.sink.split -17163: ; preds = %17104, %17098 - %17164 = zext i32 %17099 to i64 - %17165 = icmp samesign ult i64 %indvars.iv13208, %17164 - %17166 = icmp ne i8 %17103, -1 - %or.cond208 = select i1 %17165, i1 %17166, i1 false - br i1 %or.cond208, label %17167, label %zend_jit_trace_must_store_type.exit - -17167: ; preds = %17163 - %17168 = getelementptr inbounds nuw i8, ptr %17100, i64 1 - %17169 = load i8, ptr %17168, align 1 - %.not10727 = icmp eq i8 %17103, %17169 - br i1 %.not10727, label %zend_jit_trace_must_store_type.exit, label %17170 - -17170: ; preds = %17167 - %17171 = load ptr, ptr %17095, align 8 - %.not.i12170 = icmp eq ptr %17171, null - br i1 %.not.i12170, label %._crit_edge13292, label %17172 - -._crit_edge13292: ; preds = %17170 - %.pre13293 = trunc nuw i64 %indvars.iv13208 to i32 - br label %17189 - -17172: ; preds = %17170 - %17173 = load ptr, ptr %17097, align 8 - %17174 = ptrtoint ptr %17173 to i64 - %17175 = sub i64 %17096, %17174 - %17176 = lshr exact i64 %17175, 5 - %17177 = trunc i64 %17176 to i32 - %17178 = trunc nuw i64 %indvars.iv13208 to i32 - %17179 = call fastcc i32 @zend_jit_find_ssa_var(ptr noundef nonnull readonly %.09768, i32 noundef %17177, i32 noundef %17178) - %17180 = icmp sgt i32 %17179, -1 - br i1 %17180, label %17181, label %17189 - -17181: ; preds = %17172 - %17182 = load ptr, ptr %17095, align 8 - %17183 = zext nneg i32 %17179 to i64 - %17184 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %17182, i64 %17183 - %17185 = load i32, ptr %17184, align 8 - %17186 = and i32 %17185, 1023 - %17187 = zext nneg i8 %17103 to i32 - %17188 = shl nuw i32 1, %17187 - %.not10.i = icmp eq i32 %17186, %17188 - br i1 %.not10.i, label %17189, label %zend_jit_trace_must_store_type.exit - -17189: ; preds = %._crit_edge13292, %17172, %17181 - %.pre-phi13294 = phi i32 [ %.pre13293, %._crit_edge13292 ], [ %17178, %17172 ], [ %17178, %17181 ] - call fastcc void @zend_jit_store_type(ptr noundef %17, i32 noundef %.pre-phi13294, i8 noundef zeroext %17103) - store i8 %17103, ptr %17100, align 4 - store i8 %17103, ptr %17168, align 1 +17162: ; preds = %17103, %17097 + %17163 = zext i32 %17098 to i64 + %17164 = icmp samesign ult i64 %indvars.iv13205, %17163 + %17165 = icmp ne i8 %17102, -1 + %or.cond208 = select i1 %17164, i1 %17165, i1 false + br i1 %or.cond208, label %17166, label %zend_jit_trace_must_store_type.exit + +17166: ; preds = %17162 + %17167 = getelementptr inbounds nuw i8, ptr %17099, i64 1 + %17168 = load i8, ptr %17167, align 1 + %.not10727 = icmp eq i8 %17102, %17168 + br i1 %.not10727, label %zend_jit_trace_must_store_type.exit, label %17169 + +17169: ; preds = %17166 + %17170 = load ptr, ptr %17094, align 8 + %.not.i12167 = icmp eq ptr %17170, null + br i1 %.not.i12167, label %._crit_edge13289, label %17171 + +._crit_edge13289: ; preds = %17169 + %.pre13290 = trunc nuw i64 %indvars.iv13205 to i32 + br label %17188 + +17171: ; preds = %17169 + %17172 = load ptr, ptr %17096, align 8 + %17173 = ptrtoint ptr %17172 to i64 + %17174 = sub i64 %17095, %17173 + %17175 = lshr exact i64 %17174, 5 + %17176 = trunc i64 %17175 to i32 + %17177 = trunc nuw i64 %indvars.iv13205 to i32 + %17178 = call fastcc i32 @zend_jit_find_ssa_var(ptr noundef nonnull readonly %.09768, i32 noundef %17176, i32 noundef %17177) + %17179 = icmp sgt i32 %17178, -1 + br i1 %17179, label %17180, label %17188 + +17180: ; preds = %17171 + %17181 = load ptr, ptr %17094, align 8 + %17182 = zext nneg i32 %17178 to i64 + %17183 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %17181, i64 %17182 + %17184 = load i32, ptr %17183, align 8 + %17185 = and i32 %17184, 1023 + %17186 = zext nneg i8 %17102 to i32 + %17187 = shl nuw i32 1, %17186 + %.not10.i = icmp eq i32 %17185, %17187 + br i1 %.not10.i, label %17188, label %zend_jit_trace_must_store_type.exit + +17188: ; preds = %._crit_edge13289, %17171, %17180 + %.pre-phi13291 = phi i32 [ %.pre13290, %._crit_edge13289 ], [ %17177, %17171 ], [ %17177, %17180 ] + call fastcc void @zend_jit_store_type(ptr noundef %17, i32 noundef %.pre-phi13291, i8 noundef zeroext %17102) + store i8 %17102, ptr %17099, align 4 + store i8 %17102, ptr %17167, align 1 br label %zend_jit_trace_must_store_type.exit.sink.split -zend_jit_trace_must_store_type.exit.sink.split: ; preds = %17189, %zend_jit_store_ref.exit - %17190 = getelementptr inbounds nuw i8, ptr %17100, i64 2 - store i8 -1, ptr %17190, align 2 +zend_jit_trace_must_store_type.exit.sink.split: ; preds = %17188, %zend_jit_store_ref.exit + %17189 = getelementptr inbounds nuw i8, ptr %17099, i64 2 + store i8 -1, ptr %17189, align 2 br label %zend_jit_trace_must_store_type.exit -zend_jit_trace_must_store_type.exit: ; preds = %zend_jit_trace_must_store_type.exit.sink.split, %17181, %17167, %17163 - store i32 0, ptr %17101, align 4 - %17191 = getelementptr inbounds nuw i8, ptr %17100, i64 3 - store i8 0, ptr %17191, align 1 - %indvars.iv.next13209 = add nuw nsw i64 %indvars.iv13208, 1 +zend_jit_trace_must_store_type.exit: ; preds = %zend_jit_trace_must_store_type.exit.sink.split, %17180, %17166, %17162 + store i32 0, ptr %17100, align 4 + %17190 = getelementptr inbounds nuw i8, ptr %17099, i64 3 + store i8 0, ptr %17190, align 1 + %indvars.iv.next13206 = add nuw nsw i64 %indvars.iv13205, 1 + %17191 = load i32, ptr %17089, align 8 %17192 = load i32, ptr %17090, align 8 - %17193 = load i32, ptr %17091, align 8 - %17194 = add i32 %17193, %17192 - %17195 = zext i32 %17194 to i64 - %17196 = icmp samesign ult i64 %indvars.iv.next13209, %17195 - br i1 %17196, label %17098, label %.loopexit12723.loopexit - -.loopexit12723.loopexit: ; preds = %zend_jit_trace_must_store_type.exit - %.pre13230 = load i8, ptr %16967, align 1 - br label %.loopexit12723 - -.loopexit12723: ; preds = %.loopexit12723.loopexit, %.preheader12722, %17083, %17087, %17087, %17087, %17087, %17082 - %17197 = phi i8 [ %.pre13230, %.loopexit12723.loopexit ], [ %16968, %.preheader12722 ], [ %16968, %17083 ], [ %16968, %17087 ], [ %16968, %17087 ], [ %16968, %17087 ], [ %16968, %17087 ], [ %16968, %17082 ] - %17198 = icmp eq i8 %17197, 5 - br i1 %17198, label %17199, label %17263 - -17199: ; preds = %.loopexit12723 - %17200 = getelementptr inbounds nuw i8, ptr %.59764, i64 8 + %17193 = add i32 %17192, %17191 + %17194 = zext i32 %17193 to i64 + %17195 = icmp samesign ult i64 %indvars.iv.next13206, %17194 + br i1 %17195, label %17097, label %.loopexit12720.loopexit + +.loopexit12720.loopexit: ; preds = %zend_jit_trace_must_store_type.exit + %.pre13227 = load i8, ptr %16966, align 1 + br label %.loopexit12720 + +.loopexit12720: ; preds = %.loopexit12720.loopexit, %.preheader12719, %17082, %17086, %17086, %17086, %17086, %17081 + %17196 = phi i8 [ %.pre13227, %.loopexit12720.loopexit ], [ %16967, %.preheader12719 ], [ %16967, %17082 ], [ %16967, %17086 ], [ %16967, %17086 ], [ %16967, %17086 ], [ %16967, %17086 ], [ %16967, %17081 ] + %17197 = icmp eq i8 %17196, 5 + br i1 %17197, label %17198, label %17262 + +17198: ; preds = %.loopexit12720 + %17199 = getelementptr inbounds nuw i8, ptr %.59764, i64 8 + %17200 = load ptr, ptr %17199, align 8 %17201 = load ptr, ptr %17200, align 8 - %17202 = load ptr, ptr %17201, align 8 - %17203 = load ptr, ptr @zend_jit_traces, align 8 - %17204 = load i32, ptr %17203, align 8 - %17205 = icmp ugt i32 %17204, 1 - br i1 %17205, label %.lr.ph.preheader.i12173, label %zend_jit_find_trace.exit.thread - -.lr.ph.preheader.i12173: ; preds = %17199 - %wide.trip.count.i12174 = zext i32 %17204 to i64 - br label %.lr.ph.i12175 - -.lr.ph.i12175: ; preds = %17209, %.lr.ph.preheader.i12173 - %indvars.iv.i12176 = phi i64 [ 1, %.lr.ph.preheader.i12173 ], [ %indvars.iv.next.i12177, %17209 ] - %17206 = getelementptr inbounds nuw %struct._zend_jit_trace_info, ptr %17203, i64 %indvars.iv.i12176, i32 14 - %17207 = load ptr, ptr %17206, align 8 - %17208 = icmp eq ptr %17207, %17202 - br i1 %17208, label %zend_jit_find_trace.exit, label %17209 - -17209: ; preds = %.lr.ph.i12175 - %indvars.iv.next.i12177 = add nuw nsw i64 %indvars.iv.i12176, 1 - %exitcond.not.i12178 = icmp eq i64 %indvars.iv.next.i12177, %wide.trip.count.i12174 - br i1 %exitcond.not.i12178, label %zend_jit_find_trace.exit.thread, label %.lr.ph.i12175 - -zend_jit_find_trace.exit.thread: ; preds = %17209, %17199 - %17210 = getelementptr inbounds nuw i8, ptr %16958, i64 12 - store i32 0, ptr %17210, align 4 + %17202 = load ptr, ptr @zend_jit_traces, align 8 + %17203 = load i32, ptr %17202, align 8 + %17204 = icmp ugt i32 %17203, 1 + br i1 %17204, label %.lr.ph.preheader.i12170, label %zend_jit_find_trace.exit.thread + +.lr.ph.preheader.i12170: ; preds = %17198 + %wide.trip.count.i12171 = zext i32 %17203 to i64 + br label %.lr.ph.i12172 + +.lr.ph.i12172: ; preds = %17208, %.lr.ph.preheader.i12170 + %indvars.iv.i12173 = phi i64 [ 1, %.lr.ph.preheader.i12170 ], [ %indvars.iv.next.i12174, %17208 ] + %17205 = getelementptr inbounds nuw %struct._zend_jit_trace_info, ptr %17202, i64 %indvars.iv.i12173, i32 14 + %17206 = load ptr, ptr %17205, align 8 + %17207 = icmp eq ptr %17206, %17201 + br i1 %17207, label %zend_jit_find_trace.exit, label %17208 + +17208: ; preds = %.lr.ph.i12172 + %indvars.iv.next.i12174 = add nuw nsw i64 %indvars.iv.i12173, 1 + %exitcond.not.i12175 = icmp eq i64 %indvars.iv.next.i12174, %wide.trip.count.i12171 + br i1 %exitcond.not.i12175, label %zend_jit_find_trace.exit.thread, label %.lr.ph.i12172 + +zend_jit_find_trace.exit.thread: ; preds = %17208, %17198 + %17209 = getelementptr inbounds nuw i8, ptr %16957, i64 12 + store i32 0, ptr %17209, align 4 br label %zend_jit_stack_check.exit.thread -zend_jit_find_trace.exit: ; preds = %.lr.ph.i12175 - %17211 = trunc nuw i64 %indvars.iv.i12176 to i32 - %17212 = getelementptr inbounds nuw i8, ptr %16958, i64 12 - store i32 %17211, ptr %17212, align 4 - %17213 = and i64 %indvars.iv.i12176, 4294967295 - %17214 = getelementptr inbounds nuw %struct._zend_jit_trace_info, ptr %17203, i64 %17213, i32 9 - %17215 = load i32, ptr %17214, align 4 - %17216 = and i32 %17215, 4 - %.not10721 = icmp eq i32 %17216, 0 - br i1 %.not10721, label %17219, label %17217 - -17217: ; preds = %zend_jit_find_trace.exit - %17218 = load ptr, ptr %17200, align 8 - call fastcc void @zend_jit_set_ip(ptr noundef %17, ptr noundef %17218) - br label %17219 - -17219: ; preds = %17217, %zend_jit_find_trace.exit - br i1 %.not10642, label %17220, label %.critedge12004 - -17220: ; preds = %17219 - %17221 = getelementptr inbounds nuw i8, ptr %17, i64 688 - %.val12075 = load i8, ptr %17221, align 8 - %17222 = trunc i8 %.val12075 to i1 - br i1 %17222, label %17223, label %17258 - -17223: ; preds = %17220 - %17224 = getelementptr inbounds nuw i8, ptr %16958, i64 36 - %17225 = load i32, ptr %17224, align 4 - %17226 = or i32 %17225, 4 - store i32 %17226, ptr %17224, align 4 - br label %17258 - -.critedge12004: ; preds = %17219 - %17227 = load ptr, ptr @zend_jit_traces, align 8 - %17228 = load i32, ptr %17212, align 4 - %17229 = zext i32 %17228 to i64 - %17230 = getelementptr inbounds nuw %struct._zend_jit_trace_info, ptr %17227, i64 %17229, i32 9 - %17231 = load i32, ptr %17230, align 4 - %17232 = and i32 %17231, 1 - %.not10722 = icmp eq i32 %17232, 0 - br i1 %.not10722, label %17258, label %17233 - -17233: ; preds = %.critedge12004 - %17234 = getelementptr inbounds nuw %struct._zend_jit_trace_info, ptr %17227, i64 %203, i32 1 - %17235 = load i32, ptr %17234, align 4 - %17236 = icmp eq i32 %17235, %17228 - br i1 %17236, label %17237, label %17258 - -17237: ; preds = %17233 - %17238 = and i32 %17231, 4 - %.not10723 = icmp eq i32 %17238, 0 - br i1 %.not10723, label %.preheader12721, label %17256 - -.preheader12721: ; preds = %17237 - %17239 = getelementptr inbounds nuw i8, ptr %.09771, i64 80 - %17240 = getelementptr inbounds nuw i8, ptr %.09771, i64 72 +zend_jit_find_trace.exit: ; preds = %.lr.ph.i12172 + %17210 = trunc nuw i64 %indvars.iv.i12173 to i32 + %17211 = getelementptr inbounds nuw i8, ptr %16957, i64 12 + store i32 %17210, ptr %17211, align 4 + %17212 = and i64 %indvars.iv.i12173, 4294967295 + %17213 = getelementptr inbounds nuw %struct._zend_jit_trace_info, ptr %17202, i64 %17212, i32 9 + %17214 = load i32, ptr %17213, align 4 + %17215 = and i32 %17214, 4 + %.not10721 = icmp eq i32 %17215, 0 + br i1 %.not10721, label %17218, label %17216 + +17216: ; preds = %zend_jit_find_trace.exit + %17217 = load ptr, ptr %17199, align 8 + call fastcc void @zend_jit_set_ip(ptr noundef %17, ptr noundef %17217) + br label %17218 + +17218: ; preds = %17216, %zend_jit_find_trace.exit + br i1 %.not10642, label %17219, label %.critedge12002 + +17219: ; preds = %17218 + %17220 = getelementptr inbounds nuw i8, ptr %17, i64 688 + %.val12072 = load i8, ptr %17220, align 8 + %17221 = trunc i8 %.val12072 to i1 + br i1 %17221, label %17222, label %17257 + +17222: ; preds = %17219 + %17223 = getelementptr inbounds nuw i8, ptr %16957, i64 36 + %17224 = load i32, ptr %17223, align 4 + %17225 = or i32 %17224, 4 + store i32 %17225, ptr %17223, align 4 + br label %17257 + +.critedge12002: ; preds = %17218 + %17226 = load ptr, ptr @zend_jit_traces, align 8 + %17227 = load i32, ptr %17211, align 4 + %17228 = zext i32 %17227 to i64 + %17229 = getelementptr inbounds nuw %struct._zend_jit_trace_info, ptr %17226, i64 %17228, i32 9 + %17230 = load i32, ptr %17229, align 4 + %17231 = and i32 %17230, 1 + %.not10722 = icmp eq i32 %17231, 0 + br i1 %.not10722, label %17257, label %17232 + +17232: ; preds = %.critedge12002 + %17233 = getelementptr inbounds nuw %struct._zend_jit_trace_info, ptr %17226, i64 %203, i32 1 + %17234 = load i32, ptr %17233, align 4 + %17235 = icmp eq i32 %17234, %17227 + br i1 %17235, label %17236, label %17257 + +17236: ; preds = %17232 + %17237 = and i32 %17230, 4 + %.not10723 = icmp eq i32 %17237, 0 + br i1 %.not10723, label %.preheader12718, label %17255 + +.preheader12718: ; preds = %17236 + %17238 = getelementptr inbounds nuw i8, ptr %.09771, i64 80 + %17239 = getelementptr inbounds nuw i8, ptr %.09771, i64 72 + %17240 = load i32, ptr %17238, align 8 %17241 = load i32, ptr %17239, align 8 - %17242 = load i32, ptr %17240, align 8 - %17243 = sub i32 0, %17241 - %.not13046 = icmp eq i32 %17242, %17243 - br i1 %.not13046, label %._crit_edge13019, label %.lr.ph13018 - -.lr.ph13018: ; preds = %.preheader12721, %.lr.ph13018 - %indvars.iv13211 = phi i64 [ %indvars.iv.next13212, %.lr.ph13018 ], [ 0, %.preheader12721 ] - %17244 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %indvars.iv13211 - store i8 -1, ptr %17244, align 4 - %17245 = getelementptr inbounds nuw i8, ptr %17244, i64 1 - store i8 -1, ptr %17245, align 1 - %17246 = getelementptr inbounds nuw i8, ptr %17244, i64 2 - store i8 -1, ptr %17246, align 2 - %17247 = getelementptr inbounds nuw i8, ptr %17244, i64 3 - %17248 = getelementptr inbounds nuw i8, ptr %17244, i64 4 - store i32 0, ptr %17248, align 4 - store i8 0, ptr %17247, align 1 - %indvars.iv.next13212 = add nuw nsw i64 %indvars.iv13211, 1 + %17242 = sub i32 0, %17240 + %.not13043 = icmp eq i32 %17241, %17242 + br i1 %.not13043, label %._crit_edge13016, label %.lr.ph13015 + +.lr.ph13015: ; preds = %.preheader12718, %.lr.ph13015 + %indvars.iv13208 = phi i64 [ %indvars.iv.next13209, %.lr.ph13015 ], [ 0, %.preheader12718 ] + %17243 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %.09641, i64 %indvars.iv13208 + store i8 -1, ptr %17243, align 4 + %17244 = getelementptr inbounds nuw i8, ptr %17243, i64 1 + store i8 -1, ptr %17244, align 1 + %17245 = getelementptr inbounds nuw i8, ptr %17243, i64 2 + store i8 -1, ptr %17245, align 2 + %17246 = getelementptr inbounds nuw i8, ptr %17243, i64 3 + %17247 = getelementptr inbounds nuw i8, ptr %17243, i64 4 + store i32 0, ptr %17247, align 4 + store i8 0, ptr %17246, align 1 + %indvars.iv.next13209 = add nuw nsw i64 %indvars.iv13208, 1 + %17248 = load i32, ptr %17238, align 8 %17249 = load i32, ptr %17239, align 8 - %17250 = load i32, ptr %17240, align 8 - %17251 = add i32 %17250, %17249 - %17252 = zext i32 %17251 to i64 - %17253 = icmp samesign ult i64 %indvars.iv.next13212, %17252 - br i1 %17253, label %.lr.ph13018, label %._crit_edge13019 - -._crit_edge13019: ; preds = %.lr.ph13018, %.preheader12721 - %17254 = call fastcc i32 @zend_jit_trace_get_exit_point(ptr noundef %.09629, i32 noundef 4) - %17255 = call fastcc ptr @zend_jit_trace_get_exit_addr(i32 noundef %17254) - %.not10724 = icmp eq ptr %17255, null - br i1 %.not10724, label %zend_jit_stack_check.exit.thread, label %17258 - -17256: ; preds = %17237 - %17257 = load ptr, ptr getelementptr inbounds nuw (i8, ptr @zend_jit_stub_handlers, i64 32), align 16 - br label %17258 - -17258: ; preds = %17220, %17223, %17256, %._crit_edge13019, %17233, %.critedge12004 - %.09367 = phi ptr [ %17257, %17256 ], [ %17255, %._crit_edge13019 ], [ null, %17233 ], [ null, %.critedge12004 ], [ null, %17223 ], [ null, %17220 ] - %17259 = load ptr, ptr @zend_jit_traces, align 8 - %17260 = load i32, ptr %17212, align 4 - %17261 = zext i32 %17260 to i64 - %17262 = getelementptr %struct._zend_jit_trace_info, ptr %17259, i64 %17261, i32 14 - %.val12076 = load ptr, ptr %17262, align 8 - call fastcc void @zend_jit_trace_link_to_root(ptr noundef %17, ptr %.val12076, ptr noundef %.09367) - br label %17268 - -17263: ; preds = %.loopexit12723 - %17264 = call i32 @ir_const_i32(ptr noundef nonnull %17, i32 noundef 2) #33 - call void @_ir_RETURN(ptr noundef nonnull %17, i32 noundef %17264) #33 - br label %17268 - -17265: ; preds = %16966 - %17266 = icmp eq i8 %16968, 3 - call void @llvm.assume(i1 %17266) - %17267 = call i32 @ir_const_i32(ptr noundef nonnull %17, i32 noundef 2) #33 - call void @_ir_RETURN(ptr noundef nonnull %17, i32 noundef %17267) #33 - br label %17268 - -17268: ; preds = %17265, %17263, %17258, %._crit_edge13232, %zend_jit_trace_end_loop.exit - %17269 = load ptr, ptr @zend_jit_traces, align 8 - %17270 = getelementptr inbounds nuw i8, ptr %17269, i64 28 - %17271 = load i32, ptr %17270, align 4 - %17272 = getelementptr inbounds nuw i8, ptr %16958, i64 16 - %17273 = load i32, ptr %17272, align 8 - %17274 = add i32 %17273, %17271 - %17275 = zext i32 %17274 to i64 - %17276 = load i64, ptr getelementptr inbounds nuw (i8, ptr @jit_globals, i64 64), align 8 - %.not10738 = icmp sgt i64 %17276, %17275 - br i1 %.not10738, label %17277, label %zend_jit_stack_check.exit.thread - -17277: ; preds = %17268 - %17278 = call fastcc ptr @zend_jit_finish(ptr noundef %17) - %.not10739 = icmp eq ptr %17278, null - br i1 %.not10739, label %zend_jit_stack_check.exit.thread, label %17279 - -17279: ; preds = %17277 - %17280 = load i8, ptr %16967, align 1 - switch i8 %17280, label %zend_jit_stack_check.exit.thread [ - i8 1, label %17281 - i8 5, label %17339 - i8 4, label %17339 + %17250 = add i32 %17249, %17248 + %17251 = zext i32 %17250 to i64 + %17252 = icmp samesign ult i64 %indvars.iv.next13209, %17251 + br i1 %17252, label %.lr.ph13015, label %._crit_edge13016 + +._crit_edge13016: ; preds = %.lr.ph13015, %.preheader12718 + %17253 = call fastcc i32 @zend_jit_trace_get_exit_point(ptr noundef %.09629, i32 noundef 4) + %17254 = call fastcc ptr @zend_jit_trace_get_exit_addr(i32 noundef %17253) + %.not10724 = icmp eq ptr %17254, null + br i1 %.not10724, label %zend_jit_stack_check.exit.thread, label %17257 + +17255: ; preds = %17236 + %17256 = load ptr, ptr getelementptr inbounds nuw (i8, ptr @zend_jit_stub_handlers, i64 32), align 16 + br label %17257 + +17257: ; preds = %17219, %17222, %17255, %._crit_edge13016, %17232, %.critedge12002 + %.09367 = phi ptr [ %17256, %17255 ], [ %17254, %._crit_edge13016 ], [ null, %17232 ], [ null, %.critedge12002 ], [ null, %17222 ], [ null, %17219 ] + %17258 = load ptr, ptr @zend_jit_traces, align 8 + %17259 = load i32, ptr %17211, align 4 + %17260 = zext i32 %17259 to i64 + %17261 = getelementptr %struct._zend_jit_trace_info, ptr %17258, i64 %17260, i32 14 + %.val12073 = load ptr, ptr %17261, align 8 + call fastcc void @zend_jit_trace_link_to_root(ptr noundef %17, ptr %.val12073, ptr noundef %.09367) + br label %17267 + +17262: ; preds = %.loopexit12720 + %17263 = call i32 @ir_const_i32(ptr noundef nonnull %17, i32 noundef 2) #33 + call void @_ir_RETURN(ptr noundef nonnull %17, i32 noundef %17263) #33 + br label %17267 + +17264: ; preds = %16965 + %17265 = icmp eq i8 %16967, 3 + call void @llvm.assume(i1 %17265) + %17266 = call i32 @ir_const_i32(ptr noundef nonnull %17, i32 noundef 2) #33 + call void @_ir_RETURN(ptr noundef nonnull %17, i32 noundef %17266) #33 + br label %17267 + +17267: ; preds = %17264, %17262, %17257, %._crit_edge13229, %zend_jit_trace_end_loop.exit + %17268 = load ptr, ptr @zend_jit_traces, align 8 + %17269 = getelementptr inbounds nuw i8, ptr %17268, i64 28 + %17270 = load i32, ptr %17269, align 4 + %17271 = getelementptr inbounds nuw i8, ptr %16957, i64 16 + %17272 = load i32, ptr %17271, align 8 + %17273 = add i32 %17272, %17270 + %17274 = zext i32 %17273 to i64 + %17275 = load i64, ptr getelementptr inbounds nuw (i8, ptr @jit_globals, i64 64), align 8 + %.not10738 = icmp sgt i64 %17275, %17274 + br i1 %.not10738, label %17276, label %zend_jit_stack_check.exit.thread + +17276: ; preds = %17267 + %17277 = call fastcc ptr @zend_jit_finish(ptr noundef %17) + %.not10739 = icmp eq ptr %17277, null + br i1 %.not10739, label %zend_jit_stack_check.exit.thread, label %17278 + +17278: ; preds = %17276 + %17279 = load i8, ptr %16966, align 1 + switch i8 %17279, label %zend_jit_stack_check.exit.thread [ + i8 1, label %17280 + i8 5, label %17338 + i8 4, label %17338 ] -17281: ; preds = %17279 - %17282 = load ptr, ptr %44, align 8 - %17283 = getelementptr inbounds nuw i8, ptr %17282, i64 192 - %17284 = load i32, ptr @zend_func_info_rid, align 4 - %17285 = sext i32 %17284 to i64 - %17286 = getelementptr inbounds [6 x ptr], ptr %17283, i64 0, i64 %17285 - %17287 = load ptr, ptr %17286, align 8 - br label %17288 - -17288: ; preds = %17335, %17281 - %17289 = phi i32 [ %17284, %17281 ], [ %17336, %17335 ] - %17290 = phi i32 [ %17284, %17281 ], [ %17337, %17335 ] - %.79766 = phi ptr [ %1817, %17281 ], [ %17338, %17335 ] - %.29757 = phi ptr [ %17287, %17281 ], [ %.39758, %17335 ] - %.11 = phi ptr [ %.09629, %17281 ], [ %.12, %17335 ] - %17291 = load i8, ptr %.79766, align 8 - switch i8 %17291, label %17335 [ - i8 0, label %17292 - i8 6, label %17295 - i8 7, label %17328 +17280: ; preds = %17278 + %17281 = load ptr, ptr %44, align 8 + %17282 = getelementptr inbounds nuw i8, ptr %17281, i64 192 + %17283 = load i32, ptr @zend_func_info_rid, align 4 + %17284 = sext i32 %17283 to i64 + %17285 = getelementptr inbounds [6 x ptr], ptr %17282, i64 0, i64 %17284 + %17286 = load ptr, ptr %17285, align 8 + br label %17287 + +17287: ; preds = %17334, %17280 + %17288 = phi i32 [ %17283, %17280 ], [ %17335, %17334 ] + %17289 = phi i32 [ %17283, %17280 ], [ %17336, %17334 ] + %.79766 = phi ptr [ %1817, %17280 ], [ %17337, %17334 ] + %.29757 = phi ptr [ %17286, %17280 ], [ %.39758, %17334 ] + %.11 = phi ptr [ %.09629, %17280 ], [ %.12, %17334 ] + %17290 = load i8, ptr %.79766, align 8 + switch i8 %17290, label %17334 [ + i8 0, label %17291 + i8 6, label %17294 + i8 7, label %17327 i8 8, label %zend_jit_stack_check.exit.thread ] -17292: ; preds = %17288 - %17293 = getelementptr inbounds nuw i8, ptr %.79766, i64 8 - %17294 = load ptr, ptr %17293, align 8 - br label %17335 - -17295: ; preds = %17288 - %17296 = getelementptr inbounds nuw i8, ptr %.79766, i64 8 - %17297 = load ptr, ptr %17296, align 8 - %17298 = icmp eq ptr %17297, %17282 - br i1 %17298, label %17299, label %zend_jit_trace_setup_ret_counter.exit - -17299: ; preds = %17295 - %17300 = getelementptr inbounds nuw i8, ptr %.11, i64 32 - %17301 = load i64, ptr getelementptr inbounds nuw (i8, ptr @jit_globals, i64 88), align 8 - %.not.i12181 = icmp eq i64 %17301, 0 - br i1 %.not.i12181, label %zend_jit_trace_setup_ret_counter.exit, label %17302 - -17302: ; preds = %17299 - %17303 = getelementptr inbounds nuw i8, ptr %.29757, i64 160 - %17304 = load i64, ptr %17303, align 8 - %17305 = getelementptr inbounds i8, ptr %17300, i64 %17304 - %17306 = getelementptr inbounds nuw i8, ptr %17305, i64 24 - %17307 = load i8, ptr %17306, align 8 - %.not9.i = icmp eq i8 %17307, 0 - br i1 %.not9.i, label %17308, label %zend_jit_trace_setup_ret_counter.exit - -17308: ; preds = %17302 - %17309 = load ptr, ptr @zend_jit_ret_trace_counter_handler, align 8, !nonnull !5, !noundef !5 - %17310 = getelementptr inbounds nuw i8, ptr %17305, i64 16 - %17311 = load ptr, ptr %17310, align 8 - %.not10.i12182 = icmp eq ptr %17311, null - br i1 %.not10.i12182, label %17312, label %17321 - -17312: ; preds = %17308 - %17313 = load ptr, ptr @zend_jit_traces, align 8 - %17314 = getelementptr inbounds nuw i8, ptr %17313, i64 4 - %17315 = load i32, ptr %17314, align 4 - %17316 = zext i32 %17315 to i64 - %17317 = getelementptr inbounds nuw [128 x i16], ptr @zend_jit_hot_counters, i64 0, i64 %17316 - store ptr %17317, ptr %17310, align 8 - %17318 = load i32, ptr %17314, align 4 - %17319 = add i32 %17318, 1 - %17320 = and i32 %17319, 127 - store i32 %17320, ptr %17314, align 4 - br label %17321 - -17321: ; preds = %17312, %17308 - store i8 4, ptr %17306, align 8 - store ptr %17309, ptr %17300, align 8 - %.pre13235 = load ptr, ptr %17296, align 8 - %.pre13236 = load i32, ptr @zend_func_info_rid, align 4 +17291: ; preds = %17287 + %17292 = getelementptr inbounds nuw i8, ptr %.79766, i64 8 + %17293 = load ptr, ptr %17292, align 8 + br label %17334 + +17294: ; preds = %17287 + %17295 = getelementptr inbounds nuw i8, ptr %.79766, i64 8 + %17296 = load ptr, ptr %17295, align 8 + %17297 = icmp eq ptr %17296, %17281 + br i1 %17297, label %17298, label %zend_jit_trace_setup_ret_counter.exit + +17298: ; preds = %17294 + %17299 = getelementptr inbounds nuw i8, ptr %.11, i64 32 + %17300 = load i64, ptr getelementptr inbounds nuw (i8, ptr @jit_globals, i64 88), align 8 + %.not.i12178 = icmp eq i64 %17300, 0 + br i1 %.not.i12178, label %zend_jit_trace_setup_ret_counter.exit, label %17301 + +17301: ; preds = %17298 + %17302 = getelementptr inbounds nuw i8, ptr %.29757, i64 160 + %17303 = load i64, ptr %17302, align 8 + %17304 = getelementptr inbounds i8, ptr %17299, i64 %17303 + %17305 = getelementptr inbounds nuw i8, ptr %17304, i64 24 + %17306 = load i8, ptr %17305, align 8 + %.not9.i = icmp eq i8 %17306, 0 + br i1 %.not9.i, label %17307, label %zend_jit_trace_setup_ret_counter.exit + +17307: ; preds = %17301 + %17308 = load ptr, ptr @zend_jit_ret_trace_counter_handler, align 8, !nonnull !5, !noundef !5 + %17309 = getelementptr inbounds nuw i8, ptr %17304, i64 16 + %17310 = load ptr, ptr %17309, align 8 + %.not10.i12179 = icmp eq ptr %17310, null + br i1 %.not10.i12179, label %17311, label %17320 + +17311: ; preds = %17307 + %17312 = load ptr, ptr @zend_jit_traces, align 8 + %17313 = getelementptr inbounds nuw i8, ptr %17312, i64 4 + %17314 = load i32, ptr %17313, align 4 + %17315 = zext i32 %17314 to i64 + %17316 = getelementptr inbounds nuw [128 x i16], ptr @zend_jit_hot_counters, i64 0, i64 %17315 + store ptr %17316, ptr %17309, align 8 + %17317 = load i32, ptr %17313, align 4 + %17318 = add i32 %17317, 1 + %17319 = and i32 %17318, 127 + store i32 %17319, ptr %17313, align 4 + br label %17320 + +17320: ; preds = %17311, %17307 + store i8 4, ptr %17305, align 8 + store ptr %17308, ptr %17299, align 8 + %.pre13232 = load ptr, ptr %17295, align 8 + %.pre13233 = load i32, ptr @zend_func_info_rid, align 4 br label %zend_jit_trace_setup_ret_counter.exit -zend_jit_trace_setup_ret_counter.exit: ; preds = %17321, %17302, %17299, %17295 - %17322 = phi i32 [ %.pre13236, %17321 ], [ %17289, %17302 ], [ %17289, %17299 ], [ %17289, %17295 ] - %17323 = phi ptr [ %.pre13235, %17321 ], [ %17297, %17302 ], [ %17297, %17299 ], [ %17297, %17295 ] - %17324 = getelementptr inbounds nuw i8, ptr %17323, i64 192 - %17325 = sext i32 %17322 to i64 - %17326 = getelementptr inbounds [6 x ptr], ptr %17324, i64 0, i64 %17325 - %17327 = load ptr, ptr %17326, align 8 - br label %17335 - -17328: ; preds = %17288 - %17329 = getelementptr inbounds nuw i8, ptr %.79766, i64 8 - %17330 = load ptr, ptr %17329, align 8 - %17331 = getelementptr inbounds nuw i8, ptr %17330, i64 192 - %17332 = sext i32 %17290 to i64 - %17333 = getelementptr inbounds [6 x ptr], ptr %17331, i64 0, i64 %17332 - %17334 = load ptr, ptr %17333, align 8 - br label %17335 - -17335: ; preds = %17288, %17292, %17328, %zend_jit_trace_setup_ret_counter.exit - %17336 = phi i32 [ %17289, %17292 ], [ %17322, %zend_jit_trace_setup_ret_counter.exit ], [ %17289, %17328 ], [ %17289, %17288 ] - %17337 = phi i32 [ %17290, %17292 ], [ %17322, %zend_jit_trace_setup_ret_counter.exit ], [ %17290, %17328 ], [ %17290, %17288 ] - %.39758 = phi ptr [ %.29757, %17292 ], [ %17327, %zend_jit_trace_setup_ret_counter.exit ], [ %17334, %17328 ], [ %.29757, %17288 ] - %.12 = phi ptr [ %17294, %17292 ], [ %.11, %zend_jit_trace_setup_ret_counter.exit ], [ %.11, %17328 ], [ %.11, %17288 ] - %17338 = getelementptr inbounds nuw i8, ptr %.79766, i64 16 - br label %17288 - -17339: ; preds = %17279, %17279 +zend_jit_trace_setup_ret_counter.exit: ; preds = %17320, %17301, %17298, %17294 + %17321 = phi i32 [ %.pre13233, %17320 ], [ %17288, %17301 ], [ %17288, %17298 ], [ %17288, %17294 ] + %17322 = phi ptr [ %.pre13232, %17320 ], [ %17296, %17301 ], [ %17296, %17298 ], [ %17296, %17294 ] + %17323 = getelementptr inbounds nuw i8, ptr %17322, i64 192 + %17324 = sext i32 %17321 to i64 + %17325 = getelementptr inbounds [6 x ptr], ptr %17323, i64 0, i64 %17324 + %17326 = load ptr, ptr %17325, align 8 + br label %17334 + +17327: ; preds = %17287 + %17328 = getelementptr inbounds nuw i8, ptr %.79766, i64 8 + %17329 = load ptr, ptr %17328, align 8 + %17330 = getelementptr inbounds nuw i8, ptr %17329, i64 192 + %17331 = sext i32 %17289 to i64 + %17332 = getelementptr inbounds [6 x ptr], ptr %17330, i64 0, i64 %17331 + %17333 = load ptr, ptr %17332, align 8 + br label %17334 + +17334: ; preds = %17287, %17291, %17327, %zend_jit_trace_setup_ret_counter.exit + %17335 = phi i32 [ %17288, %17291 ], [ %17321, %zend_jit_trace_setup_ret_counter.exit ], [ %17288, %17327 ], [ %17288, %17287 ] + %17336 = phi i32 [ %17289, %17291 ], [ %17321, %zend_jit_trace_setup_ret_counter.exit ], [ %17289, %17327 ], [ %17289, %17287 ] + %.39758 = phi ptr [ %.29757, %17291 ], [ %17326, %zend_jit_trace_setup_ret_counter.exit ], [ %17333, %17327 ], [ %.29757, %17287 ] + %.12 = phi ptr [ %17293, %17291 ], [ %.11, %zend_jit_trace_setup_ret_counter.exit ], [ %.11, %17327 ], [ %.11, %17287 ] + %17337 = getelementptr inbounds nuw i8, ptr %.79766, i64 16 + br label %17287 + +17338: ; preds = %17278, %17278 %.not10740 = icmp eq ptr %.09629, null - br i1 %.not10740, label %17346, label %17340 - -17340: ; preds = %17339 - %17341 = getelementptr inbounds nuw i8, ptr %.09629, i64 28 - %17342 = load i8, ptr %17341, align 4 - switch i8 %17342, label %17346 [ - i8 -126, label %17343 - i8 60, label %17343 - i8 -125, label %17343 - i8 -96, label %17343 - i8 -90, label %17343 - i8 73, label %17343 + br i1 %.not10740, label %17345, label %17339 + +17339: ; preds = %17338 + %17340 = getelementptr inbounds nuw i8, ptr %.09629, i64 28 + %17341 = load i8, ptr %17340, align 4 + switch i8 %17341, label %17345 [ + i8 -126, label %17342 + i8 60, label %17342 + i8 -125, label %17342 + i8 -96, label %17342 + i8 -90, label %17342 + i8 73, label %17342 ] -17343: ; preds = %17340, %17340, %17340, %17340, %17340, %17340 - %17344 = getelementptr inbounds nuw i8, ptr %.09755, i64 160 - %17345 = load i64, ptr %17344, align 8 - call fastcc void @zend_jit_trace_setup_ret_counter(ptr noundef nonnull %.09629, i64 noundef %17345) - br label %17346 - -17346: ; preds = %17340, %17343, %17339 - %17347 = load ptr, ptr getelementptr inbounds nuw (i8, ptr @jit_globals, i64 184), align 8 - %.not10741 = icmp eq ptr %17347, null - br i1 %.not10741, label %zend_jit_stack_check.exit.thread, label %17348 - -17348: ; preds = %17346 - %17349 = getelementptr inbounds nuw i8, ptr %17347, i64 8 - %17350 = load ptr, ptr %17349, align 8 - %.not10742 = icmp eq ptr %17350, null +17342: ; preds = %17339, %17339, %17339, %17339, %17339, %17339 + %17343 = getelementptr inbounds nuw i8, ptr %.09755, i64 160 + %17344 = load i64, ptr %17343, align 8 + call fastcc void @zend_jit_trace_setup_ret_counter(ptr noundef nonnull %.09629, i64 noundef %17344) + br label %17345 + +17345: ; preds = %17339, %17342, %17338 + %17346 = load ptr, ptr getelementptr inbounds nuw (i8, ptr @jit_globals, i64 184), align 8 + %.not10741 = icmp eq ptr %17346, null + br i1 %.not10741, label %zend_jit_stack_check.exit.thread, label %17347 + +17347: ; preds = %17345 + %17348 = getelementptr inbounds nuw i8, ptr %17346, i64 8 + %17349 = load ptr, ptr %17348, align 8 + %.not10742 = icmp eq ptr %17349, null br i1 %.not10742, label %zend_jit_stack_check.exit.thread, label %.preheader -.preheader: ; preds = %17348, %zend_jit_trace_setup_ret_counter.exit12186 - %.39649 = phi ptr [ %17384, %zend_jit_trace_setup_ret_counter.exit12186 ], [ %17350, %17348 ] - %17351 = getelementptr inbounds nuw i8, ptr %.39649, i64 24 - %17352 = load ptr, ptr %17351, align 8 - %.not10743 = icmp eq ptr %17352, null - br i1 %.not10743, label %zend_jit_trace_setup_ret_counter.exit12186, label %17353 - -17353: ; preds = %.preheader - %17354 = getelementptr inbounds nuw i8, ptr %17352, i64 32 - %17355 = load i64, ptr getelementptr inbounds nuw (i8, ptr @jit_globals, i64 88), align 8 - %.not.i12183 = icmp eq i64 %17355, 0 - br i1 %.not.i12183, label %zend_jit_trace_setup_ret_counter.exit12186, label %17356 - -17356: ; preds = %17353 - %17357 = getelementptr inbounds nuw i8, ptr %.39649, i64 16 - %17358 = load ptr, ptr %17357, align 8 - %17359 = getelementptr inbounds nuw i8, ptr %17358, i64 192 - %17360 = load i32, ptr @zend_func_info_rid, align 4 - %17361 = sext i32 %17360 to i64 - %17362 = getelementptr inbounds [6 x ptr], ptr %17359, i64 0, i64 %17361 - %17363 = load ptr, ptr %17362, align 8 - %17364 = getelementptr inbounds nuw i8, ptr %17363, i64 160 - %17365 = load i64, ptr %17364, align 8 - %17366 = getelementptr inbounds i8, ptr %17354, i64 %17365 - %17367 = getelementptr inbounds nuw i8, ptr %17366, i64 24 - %17368 = load i8, ptr %17367, align 8 - %.not9.i12184 = icmp eq i8 %17368, 0 - br i1 %.not9.i12184, label %17369, label %zend_jit_trace_setup_ret_counter.exit12186 - -17369: ; preds = %17356 - %17370 = load ptr, ptr @zend_jit_ret_trace_counter_handler, align 8, !nonnull !5, !noundef !5 - %17371 = getelementptr inbounds nuw i8, ptr %17366, i64 16 - %17372 = load ptr, ptr %17371, align 8 - %.not10.i12185 = icmp eq ptr %17372, null - br i1 %.not10.i12185, label %17373, label %17382 - -17373: ; preds = %17369 - %17374 = load ptr, ptr @zend_jit_traces, align 8 - %17375 = getelementptr inbounds nuw i8, ptr %17374, i64 4 - %17376 = load i32, ptr %17375, align 4 - %17377 = zext i32 %17376 to i64 - %17378 = getelementptr inbounds nuw [128 x i16], ptr @zend_jit_hot_counters, i64 0, i64 %17377 - store ptr %17378, ptr %17371, align 8 - %17379 = load i32, ptr %17375, align 4 - %17380 = add i32 %17379, 1 - %17381 = and i32 %17380, 127 - store i32 %17381, ptr %17375, align 4 - br label %17382 - -17382: ; preds = %17373, %17369 - store i8 4, ptr %17367, align 8 - store ptr %17370, ptr %17354, align 8 - br label %zend_jit_trace_setup_ret_counter.exit12186 - -zend_jit_trace_setup_ret_counter.exit12186: ; preds = %17382, %17356, %17353, %.preheader - %17383 = getelementptr inbounds nuw i8, ptr %.39649, i64 8 - %17384 = load ptr, ptr %17383, align 8 - %.not10744 = icmp eq ptr %17384, null +.preheader: ; preds = %17347, %zend_jit_trace_setup_ret_counter.exit12183 + %.39649 = phi ptr [ %17383, %zend_jit_trace_setup_ret_counter.exit12183 ], [ %17349, %17347 ] + %17350 = getelementptr inbounds nuw i8, ptr %.39649, i64 24 + %17351 = load ptr, ptr %17350, align 8 + %.not10743 = icmp eq ptr %17351, null + br i1 %.not10743, label %zend_jit_trace_setup_ret_counter.exit12183, label %17352 + +17352: ; preds = %.preheader + %17353 = getelementptr inbounds nuw i8, ptr %17351, i64 32 + %17354 = load i64, ptr getelementptr inbounds nuw (i8, ptr @jit_globals, i64 88), align 8 + %.not.i12180 = icmp eq i64 %17354, 0 + br i1 %.not.i12180, label %zend_jit_trace_setup_ret_counter.exit12183, label %17355 + +17355: ; preds = %17352 + %17356 = getelementptr inbounds nuw i8, ptr %.39649, i64 16 + %17357 = load ptr, ptr %17356, align 8 + %17358 = getelementptr inbounds nuw i8, ptr %17357, i64 192 + %17359 = load i32, ptr @zend_func_info_rid, align 4 + %17360 = sext i32 %17359 to i64 + %17361 = getelementptr inbounds [6 x ptr], ptr %17358, i64 0, i64 %17360 + %17362 = load ptr, ptr %17361, align 8 + %17363 = getelementptr inbounds nuw i8, ptr %17362, i64 160 + %17364 = load i64, ptr %17363, align 8 + %17365 = getelementptr inbounds i8, ptr %17353, i64 %17364 + %17366 = getelementptr inbounds nuw i8, ptr %17365, i64 24 + %17367 = load i8, ptr %17366, align 8 + %.not9.i12181 = icmp eq i8 %17367, 0 + br i1 %.not9.i12181, label %17368, label %zend_jit_trace_setup_ret_counter.exit12183 + +17368: ; preds = %17355 + %17369 = load ptr, ptr @zend_jit_ret_trace_counter_handler, align 8, !nonnull !5, !noundef !5 + %17370 = getelementptr inbounds nuw i8, ptr %17365, i64 16 + %17371 = load ptr, ptr %17370, align 8 + %.not10.i12182 = icmp eq ptr %17371, null + br i1 %.not10.i12182, label %17372, label %17381 + +17372: ; preds = %17368 + %17373 = load ptr, ptr @zend_jit_traces, align 8 + %17374 = getelementptr inbounds nuw i8, ptr %17373, i64 4 + %17375 = load i32, ptr %17374, align 4 + %17376 = zext i32 %17375 to i64 + %17377 = getelementptr inbounds nuw [128 x i16], ptr @zend_jit_hot_counters, i64 0, i64 %17376 + store ptr %17377, ptr %17370, align 8 + %17378 = load i32, ptr %17374, align 4 + %17379 = add i32 %17378, 1 + %17380 = and i32 %17379, 127 + store i32 %17380, ptr %17374, align 4 + br label %17381 + +17381: ; preds = %17372, %17368 + store i8 4, ptr %17366, align 8 + store ptr %17369, ptr %17353, align 8 + br label %zend_jit_trace_setup_ret_counter.exit12183 + +zend_jit_trace_setup_ret_counter.exit12183: ; preds = %17381, %17355, %17352, %.preheader + %17382 = getelementptr inbounds nuw i8, ptr %.39649, i64 8 + %17383 = load ptr, ptr %17382, align 8 + %.not10744 = icmp eq ptr %17383, null br i1 %.not10744, label %zend_jit_stack_check.exit.thread, label %.preheader -zend_jit_stack_check.exit.thread: ; preds = %1861, %2162, %2093, %2210, %2361, %10528, %10491, %9266, %8683, %16902, %16272, %.critedge11973, %14843, %14386, %14323, %14223, %14169, %14002, %13975, %13887, %.thread12553, %13803, %13707, %13569, %13430, %13409, %13406, %13267, %13240, %13047, %13020, %12857, %12755, %12680, %12527, %12494, %12485, %12367, %12327, %12170, %12035, %12008, %11910, %11792, %11657, %11627, %11618, %11527, %11366, %11231, %11195, %11103, %10980, %10900, %10780, %10753, %.thread12445, %zend_jit_trace_get_exit_addr.exit12135, %zend_jit_trace_get_exit_addr.exit12128, %10294, %10103, %9902, %9795, %9741, %9619, %9562, %9523, %9409, %zend_jit_trace_get_exit_addr.exit12111, %9138, %9046, %8938, %8824, %zend_jit_trace_get_exit_addr.exit, %8555, %8463, %8356, %8231, %8144, %7943, %7830, %7766, %7549, %7313, %7255, %7100, %7093, %6946, %.thread12361, %6713, %6576, %6441, %6411, %6403, %.thread12341, %6199, %5997, %5967, %5958, %5846, %5743, %5544, %5514, %5505, %5315, %5162, %5132, %5123, %.thread12308, %4895, %4761, %4626, %4596, %4587, %4419, %4273, %4138, %3985, %3850, %.thread12239, %3572, %3545, %3453, %3429, %3018, %2883, %2561, %16332, %10530, %10493, %9268, %8685, %zend_jit_trace_setup_ret_counter.exit12186, %17288, %1857, %zend_jit_trace_get_exit_addr.exit.i, %zend_jit_find_trace.exit.thread, %17279, %17277, %17348, %17346, %17268, %._crit_edge13019, %zend_jit_trace_stack_needs_deoptimization.exit - %.19778 = phi ptr [ null, %17268 ], [ %17278, %17348 ], [ %17278, %17346 ], [ null, %17277 ], [ null, %zend_jit_trace_stack_needs_deoptimization.exit ], [ null, %._crit_edge13019 ], [ %17278, %17279 ], [ null, %zend_jit_find_trace.exit.thread ], [ null, %zend_jit_trace_get_exit_addr.exit.i ], [ null, %1857 ], [ %17278, %17288 ], [ %17278, %zend_jit_trace_setup_ret_counter.exit12186 ], [ null, %8685 ], [ null, %9268 ], [ null, %10493 ], [ null, %10530 ], [ null, %16332 ], [ null, %2561 ], [ null, %2883 ], [ null, %3018 ], [ null, %3429 ], [ null, %3453 ], [ null, %3545 ], [ null, %3572 ], [ null, %.thread12239 ], [ null, %3850 ], [ null, %3985 ], [ null, %4138 ], [ null, %4273 ], [ null, %4419 ], [ null, %4587 ], [ null, %4596 ], [ null, %4626 ], [ null, %4761 ], [ null, %4895 ], [ null, %.thread12308 ], [ null, %5123 ], [ null, %5132 ], [ null, %5162 ], [ null, %5315 ], [ null, %5505 ], [ null, %5514 ], [ null, %5544 ], [ null, %5743 ], [ null, %5846 ], [ null, %5958 ], [ null, %5967 ], [ null, %5997 ], [ null, %6199 ], [ null, %.thread12341 ], [ null, %6403 ], [ null, %6411 ], [ null, %6441 ], [ null, %6576 ], [ null, %6713 ], [ null, %.thread12361 ], [ null, %6946 ], [ null, %7093 ], [ null, %7100 ], [ null, %7255 ], [ null, %7313 ], [ null, %7549 ], [ null, %7766 ], [ null, %7830 ], [ null, %7943 ], [ null, %8144 ], [ null, %8231 ], [ null, %8356 ], [ null, %8463 ], [ null, %8555 ], [ null, %zend_jit_trace_get_exit_addr.exit ], [ null, %8824 ], [ null, %8938 ], [ null, %9046 ], [ null, %9138 ], [ null, %zend_jit_trace_get_exit_addr.exit12111 ], [ null, %9409 ], [ null, %9523 ], [ null, %9562 ], [ null, %9619 ], [ null, %9741 ], [ null, %9795 ], [ null, %9902 ], [ null, %10103 ], [ null, %10294 ], [ null, %zend_jit_trace_get_exit_addr.exit12128 ], [ null, %zend_jit_trace_get_exit_addr.exit12135 ], [ null, %.thread12445 ], [ null, %10753 ], [ null, %10780 ], [ null, %10900 ], [ null, %10980 ], [ null, %11103 ], [ null, %11195 ], [ null, %11231 ], [ null, %11366 ], [ null, %11527 ], [ null, %11618 ], [ null, %11627 ], [ null, %11657 ], [ null, %11792 ], [ null, %11910 ], [ null, %12008 ], [ null, %12035 ], [ null, %12170 ], [ null, %12327 ], [ null, %12367 ], [ null, %12485 ], [ null, %12494 ], [ null, %12527 ], [ null, %12680 ], [ null, %12755 ], [ null, %12857 ], [ null, %13020 ], [ null, %13047 ], [ null, %13240 ], [ null, %13267 ], [ null, %13406 ], [ null, %13409 ], [ null, %13430 ], [ null, %13569 ], [ null, %13707 ], [ null, %13803 ], [ null, %.thread12553 ], [ null, %13887 ], [ null, %13975 ], [ null, %14002 ], [ null, %14169 ], [ null, %14223 ], [ null, %14323 ], [ null, %14386 ], [ null, %14843 ], [ null, %.critedge11973 ], [ null, %16272 ], [ null, %16902 ], [ null, %8683 ], [ null, %9266 ], [ null, %10491 ], [ null, %10528 ], [ null, %2361 ], [ null, %2210 ], [ null, %2093 ], [ null, %2162 ], [ null, %1861 ] - %17385 = load ptr, ptr %219, align 8 - %.not.i12187 = icmp eq ptr %17385, null - br i1 %.not.i12187, label %zend_jit_free_ctx.exit, label %17386 - -17386: ; preds = %zend_jit_stack_check.exit.thread - %17387 = getelementptr inbounds nuw i8, ptr %17385, i64 4 - %17388 = load i32, ptr %17387, align 4 - %17389 = and i32 %17388, 64 - %.not12.i = icmp eq i32 %17389, 0 - br i1 %.not12.i, label %17390, label %zend_jit_free_ctx.exit - -17390: ; preds = %17386 - %17391 = load i32, ptr %17385, align 4 - %17392 = icmp ne i32 %17391, 0 - call void @llvm.assume(i1 %17392) - %17393 = add i32 %17391, -1 - store i32 %17393, ptr %17385, align 4 - %17394 = icmp eq i32 %17393, 0 - br i1 %17394, label %17395, label %zend_jit_free_ctx.exit - -17395: ; preds = %17390 - %17396 = and i32 %17388, 128 - %.not13.i = icmp eq i32 %17396, 0 - br i1 %.not13.i, label %17398, label %17397 - -17397: ; preds = %17395 - call void @free(ptr noundef nonnull %17385) #33 +zend_jit_stack_check.exit.thread: ; preds = %1861, %2162, %2093, %2210, %2361, %10528, %10491, %9266, %8683, %16901, %16271, %.critedge11971, %14842, %14385, %14322, %14223, %14169, %14002, %13975, %13887, %.thread12550, %13803, %13707, %13569, %13430, %13409, %13406, %13267, %13240, %13047, %13020, %12857, %12755, %12680, %12527, %12494, %12485, %12367, %12327, %12170, %12035, %12008, %11910, %11792, %11657, %11627, %11618, %11527, %11366, %11231, %11195, %11103, %10980, %10900, %10780, %10753, %.thread12442, %zend_jit_trace_get_exit_addr.exit12132, %zend_jit_trace_get_exit_addr.exit12125, %10294, %10103, %9902, %9795, %9741, %9619, %9562, %9523, %9409, %zend_jit_trace_get_exit_addr.exit12108, %9138, %9046, %8938, %8824, %zend_jit_trace_get_exit_addr.exit, %8555, %8463, %8356, %8231, %8144, %7943, %7830, %7766, %7549, %7313, %7255, %7100, %7093, %6946, %.thread12358, %6713, %6576, %6441, %6411, %6403, %.thread12338, %6199, %5997, %5967, %5958, %5846, %5743, %5544, %5514, %5505, %5315, %5162, %5132, %5123, %.thread12305, %4895, %4761, %4626, %4596, %4587, %4419, %4273, %4138, %3985, %3850, %.thread12236, %3572, %3545, %3453, %3429, %3018, %2883, %2561, %16331, %10530, %10493, %9268, %8685, %zend_jit_trace_setup_ret_counter.exit12183, %17287, %1857, %zend_jit_trace_get_exit_addr.exit.i, %zend_jit_find_trace.exit.thread, %17278, %17276, %17347, %17345, %17267, %._crit_edge13016, %zend_jit_trace_stack_needs_deoptimization.exit + %.19778 = phi ptr [ null, %17267 ], [ %17277, %17347 ], [ %17277, %17345 ], [ null, %17276 ], [ null, %zend_jit_trace_stack_needs_deoptimization.exit ], [ null, %._crit_edge13016 ], [ %17277, %17278 ], [ null, %zend_jit_find_trace.exit.thread ], [ null, %zend_jit_trace_get_exit_addr.exit.i ], [ null, %1857 ], [ %17277, %17287 ], [ %17277, %zend_jit_trace_setup_ret_counter.exit12183 ], [ null, %8685 ], [ null, %9268 ], [ null, %10493 ], [ null, %10530 ], [ null, %16331 ], [ null, %2561 ], [ null, %2883 ], [ null, %3018 ], [ null, %3429 ], [ null, %3453 ], [ null, %3545 ], [ null, %3572 ], [ null, %.thread12236 ], [ null, %3850 ], [ null, %3985 ], [ null, %4138 ], [ null, %4273 ], [ null, %4419 ], [ null, %4587 ], [ null, %4596 ], [ null, %4626 ], [ null, %4761 ], [ null, %4895 ], [ null, %.thread12305 ], [ null, %5123 ], [ null, %5132 ], [ null, %5162 ], [ null, %5315 ], [ null, %5505 ], [ null, %5514 ], [ null, %5544 ], [ null, %5743 ], [ null, %5846 ], [ null, %5958 ], [ null, %5967 ], [ null, %5997 ], [ null, %6199 ], [ null, %.thread12338 ], [ null, %6403 ], [ null, %6411 ], [ null, %6441 ], [ null, %6576 ], [ null, %6713 ], [ null, %.thread12358 ], [ null, %6946 ], [ null, %7093 ], [ null, %7100 ], [ null, %7255 ], [ null, %7313 ], [ null, %7549 ], [ null, %7766 ], [ null, %7830 ], [ null, %7943 ], [ null, %8144 ], [ null, %8231 ], [ null, %8356 ], [ null, %8463 ], [ null, %8555 ], [ null, %zend_jit_trace_get_exit_addr.exit ], [ null, %8824 ], [ null, %8938 ], [ null, %9046 ], [ null, %9138 ], [ null, %zend_jit_trace_get_exit_addr.exit12108 ], [ null, %9409 ], [ null, %9523 ], [ null, %9562 ], [ null, %9619 ], [ null, %9741 ], [ null, %9795 ], [ null, %9902 ], [ null, %10103 ], [ null, %10294 ], [ null, %zend_jit_trace_get_exit_addr.exit12125 ], [ null, %zend_jit_trace_get_exit_addr.exit12132 ], [ null, %.thread12442 ], [ null, %10753 ], [ null, %10780 ], [ null, %10900 ], [ null, %10980 ], [ null, %11103 ], [ null, %11195 ], [ null, %11231 ], [ null, %11366 ], [ null, %11527 ], [ null, %11618 ], [ null, %11627 ], [ null, %11657 ], [ null, %11792 ], [ null, %11910 ], [ null, %12008 ], [ null, %12035 ], [ null, %12170 ], [ null, %12327 ], [ null, %12367 ], [ null, %12485 ], [ null, %12494 ], [ null, %12527 ], [ null, %12680 ], [ null, %12755 ], [ null, %12857 ], [ null, %13020 ], [ null, %13047 ], [ null, %13240 ], [ null, %13267 ], [ null, %13406 ], [ null, %13409 ], [ null, %13430 ], [ null, %13569 ], [ null, %13707 ], [ null, %13803 ], [ null, %.thread12550 ], [ null, %13887 ], [ null, %13975 ], [ null, %14002 ], [ null, %14169 ], [ null, %14223 ], [ null, %14322 ], [ null, %14385 ], [ null, %14842 ], [ null, %.critedge11971 ], [ null, %16271 ], [ null, %16901 ], [ null, %8683 ], [ null, %9266 ], [ null, %10491 ], [ null, %10528 ], [ null, %2361 ], [ null, %2210 ], [ null, %2093 ], [ null, %2162 ], [ null, %1861 ] + %17384 = load ptr, ptr %219, align 8 + %.not.i12184 = icmp eq ptr %17384, null + br i1 %.not.i12184, label %zend_jit_free_ctx.exit, label %17385 + +17385: ; preds = %zend_jit_stack_check.exit.thread + %17386 = getelementptr inbounds nuw i8, ptr %17384, i64 4 + %17387 = load i32, ptr %17386, align 4 + %17388 = and i32 %17387, 64 + %.not12.i = icmp eq i32 %17388, 0 + br i1 %.not12.i, label %17389, label %zend_jit_free_ctx.exit + +17389: ; preds = %17385 + %17390 = load i32, ptr %17384, align 4 + %17391 = icmp ne i32 %17390, 0 + call void @llvm.assume(i1 %17391) + %17392 = add i32 %17390, -1 + store i32 %17392, ptr %17384, align 4 + %17393 = icmp eq i32 %17392, 0 + br i1 %17393, label %17394, label %zend_jit_free_ctx.exit + +17394: ; preds = %17389 + %17395 = and i32 %17387, 128 + %.not13.i = icmp eq i32 %17395, 0 + br i1 %.not13.i, label %17397, label %17396 + +17396: ; preds = %17394 + call void @free(ptr noundef nonnull %17384) #33 br label %zend_jit_free_ctx.exit -17398: ; preds = %17395 - call void @_efree(ptr noundef nonnull %17385) #33 +17397: ; preds = %17394 + call void @_efree(ptr noundef nonnull %17384) #33 br label %zend_jit_free_ctx.exit -zend_jit_free_ctx.exit: ; preds = %zend_jit_stack_check.exit.thread, %17386, %17390, %17397, %17398 +zend_jit_free_ctx.exit: ; preds = %zend_jit_stack_check.exit.thread, %17385, %17389, %17396, %17397 call void @zend_hash_destroy(ptr noundef nonnull %289) #33 call void @ir_free(ptr noundef nonnull %17) #33 - %.not11792 = icmp eq ptr %200, null - br i1 %.not11792, label %17411, label %17399 - -17399: ; preds = %zend_jit_free_ctx.exit - %17400 = load i32, ptr %212, align 4 - %17401 = and i32 %17400, 64 - %.not11793 = icmp eq i32 %17401, 0 - br i1 %.not11793, label %17402, label %17411 - -17402: ; preds = %17399 - %17403 = load i32, ptr %200, align 4 - %17404 = icmp ne i32 %17403, 0 - call void @llvm.assume(i1 %17404) - %17405 = add i32 %17403, -1 - store i32 %17405, ptr %200, align 4 - %17406 = icmp eq i32 %17405, 0 - br i1 %17406, label %17407, label %17411 - -17407: ; preds = %17402 - %17408 = and i32 %17400, 128 - %.not11794 = icmp eq i32 %17408, 0 - br i1 %.not11794, label %17410, label %17409 - -17409: ; preds = %17407 + %.not11790 = icmp eq ptr %200, null + br i1 %.not11790, label %17410, label %17398 + +17398: ; preds = %zend_jit_free_ctx.exit + %17399 = load i32, ptr %212, align 4 + %17400 = and i32 %17399, 64 + %.not11791 = icmp eq i32 %17400, 0 + br i1 %.not11791, label %17401, label %17410 + +17401: ; preds = %17398 + %17402 = load i32, ptr %200, align 4 + %17403 = icmp ne i32 %17402, 0 + call void @llvm.assume(i1 %17403) + %17404 = add i32 %17402, -1 + store i32 %17404, ptr %200, align 4 + %17405 = icmp eq i32 %17404, 0 + br i1 %17405, label %17406, label %17410 + +17406: ; preds = %17401 + %17407 = and i32 %17399, 128 + %.not11792 = icmp eq i32 %17407, 0 + br i1 %.not11792, label %17409, label %17408 + +17408: ; preds = %17406 call void @free(ptr noundef nonnull %200) #33 - br label %17411 + br label %17410 -17410: ; preds = %17407 +17409: ; preds = %17406 call void @_efree(ptr noundef nonnull %200) #33 - br label %17411 + br label %17410 -17411: ; preds = %zend_jit_free_ctx.exit, %17402, %17410, %17409, %17399, %.split - %.09777 = phi ptr [ %.19778, %17399 ], [ %.19778, %17409 ], [ %.19778, %17410 ], [ %.19778, %17402 ], [ %.19778, %zend_jit_free_ctx.exit ], [ null, %.split ] +17410: ; preds = %zend_jit_free_ctx.exit, %17401, %17409, %17408, %17398, %.split + %.09777 = phi ptr [ %.19778, %17398 ], [ %.19778, %17408 ], [ %.19778, %17409 ], [ %.19778, %17401 ], [ %.19778, %zend_jit_free_ctx.exit ], [ null, %.split ] %.promoted = load i32, ptr %18, align 4 - %17412 = icmp sgt i32 %.promoted, 0 - br i1 %17412, label %.lr.ph13027.preheader, label %._crit_edge13028 - -.lr.ph13027.preheader: ; preds = %17411 - %17413 = zext nneg i32 %.promoted to i64 - br label %.lr.ph13027 - -.lr.ph13027: ; preds = %.lr.ph13027.preheader, %.lr.ph13027 - %indvars.iv13214 = phi i64 [ %17413, %.lr.ph13027.preheader ], [ %indvars.iv.next13215, %.lr.ph13027 ] - %indvars.iv.next13215 = add nsw i64 %indvars.iv13214, -1 - %17414 = getelementptr inbounds nuw [30 x ptr], ptr %19, i64 0, i64 %indvars.iv.next13215 - %17415 = load ptr, ptr %17414, align 8 - %17416 = getelementptr inbounds nuw i8, ptr %17415, i64 192 - %17417 = load i32, ptr @zend_func_info_rid, align 4 - %17418 = sext i32 %17417 to i64 - %17419 = getelementptr inbounds [6 x ptr], ptr %17416, i64 0, i64 %17418 - %17420 = load ptr, ptr %17419, align 8 - store i32 0, ptr %17420, align 8 - %17421 = getelementptr inbounds nuw i8, ptr %17420, i64 4 - %17422 = load i32, ptr %17421, align 4 - %17423 = and i32 %17422, 122880 - store i32 %17423, ptr %17421, align 4 - %17424 = getelementptr inbounds nuw i8, ptr %17420, i64 8 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(144) %17424, i8 0, i64 144, i1 false) - %17425 = icmp samesign ugt i64 %indvars.iv13214, 1 - br i1 %17425, label %.lr.ph13027, label %._crit_edge13028 - -._crit_edge13028: ; preds = %.lr.ph13027, %17411 - %17426 = load ptr, ptr getelementptr inbounds nuw (i8, ptr @compiler_globals, i64 336), align 8 - %17427 = getelementptr inbounds nuw i8, ptr %17426, i64 8 - %17428 = load ptr, ptr %17427, align 8 - %17429 = icmp ugt ptr %39, %17428 - %17430 = icmp ule ptr %39, %17426 - %17431 = or i1 %17430, %17429 - br i1 %17431, label %.lr.ph13032, label %._crit_edge13033 - -.lr.ph13032: ; preds = %._crit_edge13028, %.lr.ph13032 - %.0979213030 = phi ptr [ %17433, %.lr.ph13032 ], [ %17426, %._crit_edge13028 ] - %17432 = getelementptr inbounds nuw i8, ptr %.0979213030, i64 16 - %17433 = load ptr, ptr %17432, align 8 - call void @_efree(ptr noundef nonnull %.0979213030) #33 - store ptr %17433, ptr getelementptr inbounds nuw (i8, ptr @compiler_globals, i64 336), align 8 - %17434 = getelementptr inbounds nuw i8, ptr %17433, i64 8 - %17435 = load ptr, ptr %17434, align 8 - %17436 = icmp ugt ptr %39, %17435 - %17437 = icmp ule ptr %39, %17433 - %17438 = or i1 %17437, %17436 - br i1 %17438, label %.lr.ph13032, label %._crit_edge13033 - -._crit_edge13033: ; preds = %.lr.ph13032, %._crit_edge13028 - %.09792.lcssa = phi ptr [ %17426, %._crit_edge13028 ], [ %17433, %.lr.ph13032 ] + %17411 = icmp sgt i32 %.promoted, 0 + br i1 %17411, label %.lr.ph13024.preheader, label %._crit_edge13025 + +.lr.ph13024.preheader: ; preds = %17410 + %17412 = zext nneg i32 %.promoted to i64 + br label %.lr.ph13024 + +.lr.ph13024: ; preds = %.lr.ph13024.preheader, %.lr.ph13024 + %indvars.iv13211 = phi i64 [ %17412, %.lr.ph13024.preheader ], [ %indvars.iv.next13212, %.lr.ph13024 ] + %indvars.iv.next13212 = add nsw i64 %indvars.iv13211, -1 + %17413 = getelementptr inbounds nuw [30 x ptr], ptr %19, i64 0, i64 %indvars.iv.next13212 + %17414 = load ptr, ptr %17413, align 8 + %17415 = getelementptr inbounds nuw i8, ptr %17414, i64 192 + %17416 = load i32, ptr @zend_func_info_rid, align 4 + %17417 = sext i32 %17416 to i64 + %17418 = getelementptr inbounds [6 x ptr], ptr %17415, i64 0, i64 %17417 + %17419 = load ptr, ptr %17418, align 8 + store i32 0, ptr %17419, align 8 + %17420 = getelementptr inbounds nuw i8, ptr %17419, i64 4 + %17421 = load i32, ptr %17420, align 4 + %17422 = and i32 %17421, 122880 + store i32 %17422, ptr %17420, align 4 + %17423 = getelementptr inbounds nuw i8, ptr %17419, i64 8 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(144) %17423, i8 0, i64 144, i1 false) + %17424 = icmp samesign ugt i64 %indvars.iv13211, 1 + br i1 %17424, label %.lr.ph13024, label %._crit_edge13025 + +._crit_edge13025: ; preds = %.lr.ph13024, %17410 + %17425 = load ptr, ptr getelementptr inbounds nuw (i8, ptr @compiler_globals, i64 336), align 8 + %17426 = getelementptr inbounds nuw i8, ptr %17425, i64 8 + %17427 = load ptr, ptr %17426, align 8 + %17428 = icmp ugt ptr %39, %17427 + %17429 = icmp ule ptr %39, %17425 + %17430 = or i1 %17429, %17428 + br i1 %17430, label %.lr.ph13029, label %._crit_edge13030 + +.lr.ph13029: ; preds = %._crit_edge13025, %.lr.ph13029 + %.0979213027 = phi ptr [ %17432, %.lr.ph13029 ], [ %17425, %._crit_edge13025 ] + %17431 = getelementptr inbounds nuw i8, ptr %.0979213027, i64 16 + %17432 = load ptr, ptr %17431, align 8 + call void @_efree(ptr noundef nonnull %.0979213027) #33 + store ptr %17432, ptr getelementptr inbounds nuw (i8, ptr @compiler_globals, i64 336), align 8 + %17433 = getelementptr inbounds nuw i8, ptr %17432, i64 8 + %17434 = load ptr, ptr %17433, align 8 + %17435 = icmp ugt ptr %39, %17434 + %17436 = icmp ule ptr %39, %17432 + %17437 = or i1 %17436, %17435 + br i1 %17437, label %.lr.ph13029, label %._crit_edge13030 + +._crit_edge13030: ; preds = %.lr.ph13029, %._crit_edge13025 + %.09792.lcssa = phi ptr [ %17425, %._crit_edge13025 ], [ %17432, %.lr.ph13029 ] store ptr %39, ptr %.09792.lcssa, align 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) getelementptr inbounds nuw (i8, ptr @jit_globals, i64 176), i8 0, i64 16, i1 false) ret ptr %.09777 @@ -50471,7 +50466,7 @@ define internal fastcc ptr @zend_jit_trace_build_tssa(ptr noundef nonnull %0, i3 %19 = getelementptr inbounds nuw i8, ptr %0, i64 8 %20 = load ptr, ptr %19, align 8 %.not = icmp eq ptr %20, null - br i1 %.not, label %.critedge4744, label %21 + br i1 %.not, label %.critedge4743, label %21 21: ; preds = %5 %22 = load i8, ptr %20, align 8 @@ -50488,7 +50483,7 @@ define internal fastcc ptr @zend_jit_trace_build_tssa(ptr noundef nonnull %0, i3 %31 = shl nuw nsw i64 %30, 3 %32 = add nuw nsw i64 %31, 67 %33 = and i64 %32, 68719476728 - br label %.critedge4744 + br label %.critedge4743 34: ; preds = %21 %35 = getelementptr inbounds nuw i8, ptr %20, i64 32 @@ -50497,26 +50492,26 @@ define internal fastcc ptr @zend_jit_trace_build_tssa(ptr noundef nonnull %0, i3 %38 = shl nuw nsw i64 %37, 3 %39 = add nuw nsw i64 %38, 67 %40 = and i64 %39, 68719476728 - br label %.critedge4744 + br label %.critedge4743 -.critedge4744: ; preds = %5, %34, %24 +.critedge4743: ; preds = %5, %34, %24 %.03972 = phi i64 [ %33, %24 ], [ %40, %34 ], [ 64, %5 ] %41 = getelementptr inbounds nuw i8, ptr %0, i64 32 store ptr %20, ptr %3, align 8 %42 = tail call fastcc ptr @zend_jit_trace_build_ssa(ptr noundef %20) br label %43 -43: ; preds = %274, %.critedge4744 - %.03953 = phi ptr [ %20, %.critedge4744 ], [ %.13954, %274 ] - %.03941 = phi ptr [ %41, %.critedge4744 ], [ %275, %274 ] - %.03919 = phi i32 [ 0, %.critedge4744 ], [ %.13920, %274 ] - %.03903 = phi i32 [ 0, %.critedge4744 ], [ %.23905, %274 ] - %.03898 = phi i32 [ 0, %.critedge4744 ], [ %.23900, %274 ] - %.03895 = phi i32 [ 1, %.critedge4744 ], [ %.23897, %274 ] - %.03881 = phi i64 [ %.03972, %.critedge4744 ], [ %.33884, %274 ] - %.03878 = phi i64 [ %.03972, %.critedge4744 ], [ %.23880, %274 ] - %.03875 = phi i64 [ 0, %.critedge4744 ], [ %.23877, %274 ] - %.03870 = phi ptr [ %42, %.critedge4744 ], [ %.23872, %274 ] +43: ; preds = %274, %.critedge4743 + %.03953 = phi ptr [ %20, %.critedge4743 ], [ %.13954, %274 ] + %.03941 = phi ptr [ %41, %.critedge4743 ], [ %275, %274 ] + %.03919 = phi i32 [ 0, %.critedge4743 ], [ %.13920, %274 ] + %.03903 = phi i32 [ 0, %.critedge4743 ], [ %.23905, %274 ] + %.03898 = phi i32 [ 0, %.critedge4743 ], [ %.23900, %274 ] + %.03895 = phi i32 [ 1, %.critedge4743 ], [ %.23897, %274 ] + %.03881 = phi i64 [ %.03972, %.critedge4743 ], [ %.33884, %274 ] + %.03878 = phi i64 [ %.03972, %.critedge4743 ], [ %.23880, %274 ] + %.03875 = phi i64 [ 0, %.critedge4743 ], [ %.23877, %274 ] + %.03870 = phi ptr [ %42, %.critedge4743 ], [ %.23872, %274 ] %44 = load i8, ptr %.03941, align 8 switch i8 %44, label %274 [ i8 0, label %45 @@ -50553,19 +50548,19 @@ define internal fastcc ptr @zend_jit_trace_build_tssa(ptr noundef nonnull %0, i3 %54 = getelementptr inbounds nuw i8, ptr %50, i64 20 %55 = load i32, ptr %54, align 4 %56 = and i32 %55, 4 - %.not4737 = icmp eq i32 %56, 0 - br i1 %.not4737, label %57, label %.sink.split + %.not4736 = icmp eq i32 %56, 0 + br i1 %.not4736, label %57, label %.sink.split 57: ; preds = %53 %58 = and i32 %55, 10 - %.not4738 = icmp eq i32 %58, 0 - br i1 %.not4738, label %65, label %59 + %.not4737 = icmp eq i32 %58, 0 + br i1 %.not4737, label %65, label %59 59: ; preds = %57 %60 = getelementptr inbounds nuw i8, ptr %.03953, i64 8 %61 = load ptr, ptr %60, align 8 - %.not4739 = icmp eq ptr %61, null - br i1 %.not4739, label %.sink.split, label %65 + %.not4738 = icmp eq ptr %61, null + br i1 %.not4738, label %.sink.split, label %65 .sink.split: ; preds = %59, %53, %48 %62 = getelementptr inbounds nuw i8, ptr %.03870, i64 32 @@ -50606,21 +50601,21 @@ define internal fastcc ptr @zend_jit_trace_build_tssa(ptr noundef nonnull %0, i3 br i1 %75, label %.lr.ph82, label %.loopexit59 .lr.ph82: ; preds = %.preheader58, %.lr.ph82 - %.pn474181 = phi ptr [ %.04002, %.lr.ph82 ], [ %67, %.preheader58 ] + %.pn474081 = phi ptr [ %.04002, %.lr.ph82 ], [ %67, %.preheader58 ] %.0400480 = phi i32 [ %76, %.lr.ph82 ], [ 1, %.preheader58 ] - %.04002 = getelementptr inbounds nuw i8, ptr %.pn474181, i64 32 + %.04002 = getelementptr inbounds nuw i8, ptr %.pn474081, i64 32 %76 = add nuw nsw i32 %.0400480, 1 - %77 = getelementptr inbounds nuw i8, ptr %.pn474181, i64 92 + %77 = getelementptr inbounds nuw i8, ptr %.pn474081, i64 92 %78 = load i8, ptr %77, align 4 %79 = icmp eq i8 %78, 64 br i1 %79, label %.lr.ph82, label %.loopexit59 .lr.ph: ; preds = %.preheader60, %.lr.ph - %.pn474079 = phi ptr [ %.14003, %.lr.ph ], [ %67, %.preheader60 ] + %.pn473979 = phi ptr [ %.14003, %.lr.ph ], [ %67, %.preheader60 ] %.1400578 = phi i32 [ %80, %.lr.ph ], [ 1, %.preheader60 ] - %.14003 = getelementptr inbounds nuw i8, ptr %.pn474079, i64 32 + %.14003 = getelementptr inbounds nuw i8, ptr %.pn473979, i64 32 %80 = add nuw nsw i32 %.1400578, 1 - %81 = getelementptr inbounds nuw i8, ptr %.pn474079, i64 92 + %81 = getelementptr inbounds nuw i8, ptr %.pn473979, i64 92 %82 = load i8, ptr %81, align 4 %83 = icmp eq i8 %82, -88 br i1 %83, label %.lr.ph, label %.loopexit59 @@ -50629,8 +50624,8 @@ define internal fastcc ptr @zend_jit_trace_build_tssa(ptr noundef nonnull %0, i3 %85 = getelementptr inbounds nuw i8, ptr %67, i64 31 %86 = load i8, ptr %85, align 1 %87 = and i8 %86, 48 - %.not4742 = icmp eq i8 %87, 0 - %. = select i1 %.not4742, i32 1, i32 2 + %.not4741 = icmp eq i8 %87, 0 + %. = select i1 %.not4741, i32 1, i32 2 br label %.loopexit59 .loopexit59: ; preds = %.lr.ph, %.lr.ph82, %.preheader60, %.preheader58, %84, %65, %65, %65, %65, %65, %65, %65, %65, %65 @@ -50642,8 +50637,8 @@ define internal fastcc ptr @zend_jit_trace_build_tssa(ptr noundef nonnull %0, i3 %90 = add nsw i32 %.03903, 1 %91 = getelementptr inbounds nuw i8, ptr %.03941, i64 8 %92 = load ptr, ptr %91, align 8 - %.not4736 = icmp eq ptr %92, null - br i1 %.not4736, label %.critedge4746, label %93 + %.not4735 = icmp eq ptr %92, null + br i1 %.not4735, label %.critedge4745, label %93 93: ; preds = %89 %94 = load i8, ptr %92, align 8 @@ -50660,7 +50655,7 @@ define internal fastcc ptr @zend_jit_trace_build_tssa(ptr noundef nonnull %0, i3 %103 = shl nuw nsw i64 %102, 3 %104 = add nuw nsw i64 %103, 67 %105 = and i64 %104, 68719476728 - br label %.critedge4746 + br label %.critedge4745 106: ; preds = %93 %107 = getelementptr inbounds nuw i8, ptr %92, i64 32 @@ -50669,9 +50664,9 @@ define internal fastcc ptr @zend_jit_trace_build_tssa(ptr noundef nonnull %0, i3 %110 = shl nuw nsw i64 %109, 3 %111 = add nuw nsw i64 %110, 67 %112 = and i64 %111, 68719476728 - br label %.critedge4746 + br label %.critedge4745 -.critedge4746: ; preds = %89, %106, %96 +.critedge4745: ; preds = %89, %106, %96 %.03973 = phi i64 [ %105, %96 ], [ %112, %106 ], [ 64, %89 ] %113 = add i64 %.03973, %.03881 %spec.select = tail call i64 @llvm.umax.i64(i64 %113, i64 %.03878) @@ -50685,8 +50680,8 @@ define internal fastcc ptr @zend_jit_trace_build_tssa(ptr noundef nonnull %0, i3 117: ; preds = %114 %118 = getelementptr inbounds nuw i8, ptr %.03941, i64 8 %119 = load ptr, ptr %118, align 8 - %.not4728 = icmp eq ptr %119, @zend_pass_function - br i1 %.not4728, label %.critedge4, label %120 + %.not4727 = icmp eq ptr %119, @zend_pass_function + br i1 %.not4727, label %.critedge4, label %120 120: ; preds = %117 %121 = getelementptr inbounds nuw i8, ptr %119, i64 8 @@ -50700,20 +50695,20 @@ define internal fastcc ptr @zend_jit_trace_build_tssa(ptr noundef nonnull %0, i3 125: ; preds = %120 %126 = getelementptr inbounds nuw i8, ptr %122, i64 24 - %bcmp4729 = tail call i32 @bcmp(ptr noundef nonnull dereferenceable(7) %126, ptr noundef nonnull dereferenceable(7) @.str.103, i64 7) - %.not4730 = icmp eq i32 %bcmp4729, 0 - br i1 %.not4730, label %130, label %127 + %bcmp4728 = tail call i32 @bcmp(ptr noundef nonnull dereferenceable(7) %126, ptr noundef nonnull dereferenceable(7) @.str.103, i64 7) + %.not4729 = icmp eq i32 %bcmp4728, 0 + br i1 %.not4729, label %130, label %127 127: ; preds = %125 - %bcmp4731 = tail call i32 @bcmp(ptr noundef nonnull dereferenceable(7) %126, ptr noundef nonnull dereferenceable(7) @.str.104, i64 7) - %.not4732 = icmp eq i32 %bcmp4731, 0 - br i1 %.not4732, label %130, label %.critedge4 + %bcmp4730 = tail call i32 @bcmp(ptr noundef nonnull dereferenceable(7) %126, ptr noundef nonnull dereferenceable(7) @.str.104, i64 7) + %.not4731 = icmp eq i32 %bcmp4730, 0 + br i1 %.not4731, label %130, label %.critedge4 128: ; preds = %120 %129 = getelementptr inbounds nuw i8, ptr %122, i64 24 - %bcmp4733 = tail call i32 @bcmp(ptr noundef nonnull dereferenceable(16) %129, ptr noundef nonnull dereferenceable(16) @.str.105, i64 16) - %.not4734 = icmp eq i32 %bcmp4733, 0 - br i1 %.not4734, label %130, label %.critedge4 + %bcmp4732 = tail call i32 @bcmp(ptr noundef nonnull dereferenceable(16) %129, ptr noundef nonnull dereferenceable(16) @.str.105, i64 16) + %.not4733 = icmp eq i32 %bcmp4732, 0 + br i1 %.not4733, label %130, label %.critedge4 130: ; preds = %128, %127, %125 %131 = getelementptr inbounds nuw i8, ptr %.03870, i64 32 @@ -50725,8 +50720,8 @@ define internal fastcc ptr @zend_jit_trace_build_tssa(ptr noundef nonnull %0, i3 .critedge4: ; preds = %120, %127, %117, %128, %130, %114 %134 = getelementptr inbounds nuw i8, ptr %.03941, i64 8 %135 = load ptr, ptr %134, align 8 - %.not4735 = icmp eq ptr %135, null - br i1 %.not4735, label %.critedge4748, label %136 + %.not4734 = icmp eq ptr %135, null + br i1 %.not4734, label %.critedge4747, label %136 136: ; preds = %.critedge4 %137 = load i8, ptr %135, align 8 @@ -50743,7 +50738,7 @@ define internal fastcc ptr @zend_jit_trace_build_tssa(ptr noundef nonnull %0, i3 %146 = shl nuw nsw i64 %145, 3 %147 = add nuw nsw i64 %146, 67 %148 = and i64 %147, 68719476728 - br label %.critedge4748 + br label %.critedge4747 149: ; preds = %136 %150 = getelementptr inbounds nuw i8, ptr %135, i64 32 @@ -50752,19 +50747,19 @@ define internal fastcc ptr @zend_jit_trace_build_tssa(ptr noundef nonnull %0, i3 %153 = shl nuw nsw i64 %152, 3 %154 = add nuw nsw i64 %153, 67 %155 = and i64 %154, 68719476728 - br label %.critedge4748 + br label %.critedge4747 -.critedge4748: ; preds = %.critedge4, %149, %139 +.critedge4747: ; preds = %.critedge4, %149, %139 %.03974 = phi i64 [ %148, %139 ], [ %155, %149 ], [ 64, %.critedge4 ] %156 = icmp eq i32 %.03903, 0 br i1 %156, label %157, label %159 -157: ; preds = %.critedge4748 +157: ; preds = %.critedge4747 %158 = add i64 %.03974, %.03881 - %spec.select4749 = tail call i64 @llvm.umax.i64(i64 %158, i64 %.03878) + %spec.select4748 = tail call i64 @llvm.umax.i64(i64 %158, i64 %.03878) br label %274 -159: ; preds = %.critedge4748 +159: ; preds = %.critedge4747 %160 = add nsw i32 %.03903, -1 %161 = sub i64 %.03881, %.03974 br label %274 @@ -50776,8 +50771,8 @@ define internal fastcc ptr @zend_jit_trace_build_tssa(ptr noundef nonnull %0, i3 br i1 %165, label %166, label %188 166: ; preds = %162 - %.not4726 = icmp eq ptr %164, null - br i1 %.not4726, label %.critedge4751, label %167 + %.not4725 = icmp eq ptr %164, null + br i1 %.not4725, label %.critedge4750, label %167 167: ; preds = %166 %168 = load i8, ptr %164, align 8 @@ -50794,7 +50789,7 @@ define internal fastcc ptr @zend_jit_trace_build_tssa(ptr noundef nonnull %0, i3 %177 = shl nuw nsw i64 %176, 3 %178 = add nuw nsw i64 %177, 67 %179 = and i64 %178, 68719476728 - br label %.critedge4751 + br label %.critedge4750 180: ; preds = %167 %181 = getelementptr inbounds nuw i8, ptr %164, i64 32 @@ -50803,22 +50798,22 @@ define internal fastcc ptr @zend_jit_trace_build_tssa(ptr noundef nonnull %0, i3 %184 = shl nuw nsw i64 %183, 3 %185 = add nuw nsw i64 %184, 67 %186 = and i64 %185, 68719476728 - br label %.critedge4751 + br label %.critedge4750 -.critedge4751: ; preds = %166, %180, %170 +.critedge4750: ; preds = %166, %180, %170 %.03975 = phi i64 [ %179, %170 ], [ %186, %180 ], [ 64, %166 ] %187 = add i64 %.03975, %.03881 - %spec.select4752 = tail call i64 @llvm.umax.i64(i64 %187, i64 %.03878) + %spec.select4751 = tail call i64 @llvm.umax.i64(i64 %187, i64 %.03878) br label %190 188: ; preds = %162 %189 = add nsw i32 %.03903, -1 br label %190 -190: ; preds = %.critedge4751, %188 - %.13904 = phi i32 [ %189, %188 ], [ 0, %.critedge4751 ] - %.13882 = phi i64 [ %.03881, %188 ], [ %187, %.critedge4751 ] - %.13879 = phi i64 [ %.03878, %188 ], [ %spec.select4752, %.critedge4751 ] +190: ; preds = %.critedge4750, %188 + %.13904 = phi i32 [ %189, %188 ], [ 0, %.critedge4750 ] + %.13882 = phi i64 [ %.03881, %188 ], [ %187, %.critedge4750 ] + %.13879 = phi i64 [ %.03878, %188 ], [ %spec.select4751, %.critedge4750 ] %191 = add nsw i32 %.03898, 1 %192 = getelementptr inbounds nuw i8, ptr %164, i64 192 %193 = load i32, ptr @zend_func_info_rid, align 4 @@ -50827,8 +50822,8 @@ define internal fastcc ptr @zend_jit_trace_build_tssa(ptr noundef nonnull %0, i3 %196 = load ptr, ptr %195, align 8 %197 = getelementptr inbounds nuw i8, ptr %196, i64 8 %198 = load i32, ptr %197, align 8 - %.not4727 = icmp eq i32 %198, 0 - br i1 %.not4727, label %199, label %274 + %.not4726 = icmp eq i32 %198, 0 + br i1 %.not4726, label %199, label %274 199: ; preds = %190 %200 = icmp eq i32 %.03895, 30 @@ -50853,8 +50848,8 @@ define internal fastcc ptr @zend_jit_trace_build_tssa(ptr noundef nonnull %0, i3 209: ; preds = %207 %210 = getelementptr inbounds nuw i8, ptr %.03941, i64 8 %211 = load ptr, ptr %210, align 8 - %.not4724 = icmp eq ptr %211, null - br i1 %.not4724, label %.critedge4754, label %212 + %.not4723 = icmp eq ptr %211, null + br i1 %.not4723, label %.critedge4753, label %212 212: ; preds = %209 %213 = load i8, ptr %211, align 8 @@ -50871,7 +50866,7 @@ define internal fastcc ptr @zend_jit_trace_build_tssa(ptr noundef nonnull %0, i3 %222 = shl nuw nsw i64 %221, 3 %223 = add nuw nsw i64 %222, 67 %224 = and i64 %223, 68719476728 - br label %.critedge4754 + br label %.critedge4753 225: ; preds = %212 %226 = getelementptr inbounds nuw i8, ptr %211, i64 32 @@ -50880,9 +50875,9 @@ define internal fastcc ptr @zend_jit_trace_build_tssa(ptr noundef nonnull %0, i3 %229 = shl nuw nsw i64 %228, 3 %230 = add nuw nsw i64 %229, 67 %231 = and i64 %230, 68719476728 - br label %.critedge4754 + br label %.critedge4753 -.critedge4754: ; preds = %209, %225, %215 +.critedge4753: ; preds = %209, %225, %215 %.03976 = phi i64 [ %224, %215 ], [ %231, %225 ], [ 64, %209 ] %232 = add i64 %.03976, %.03875 %233 = getelementptr inbounds nuw i8, ptr %.03953, i64 192 @@ -50892,10 +50887,10 @@ define internal fastcc ptr @zend_jit_trace_build_tssa(ptr noundef nonnull %0, i3 %237 = load ptr, ptr %236, align 8 %238 = getelementptr inbounds nuw i8, ptr %237, i64 8 %239 = load i32, ptr %238, align 8 - %.not4725 = icmp eq i32 %239, 0 - br i1 %.not4725, label %240, label %271 + %.not4724 = icmp eq i32 %239, 0 + br i1 %.not4724, label %240, label %271 -240: ; preds = %.critedge4754 +240: ; preds = %.critedge4753 %241 = icmp eq i32 %.03895, 30 br i1 %241, label %242, label %243 @@ -50912,8 +50907,8 @@ define internal fastcc ptr @zend_jit_trace_build_tssa(ptr noundef nonnull %0, i3 br label %271 248: ; preds = %207 - %.not4723 = icmp eq ptr %.03953, null - br i1 %.not4723, label %.critedge4756, label %249 + %.not4722 = icmp eq ptr %.03953, null + br i1 %.not4722, label %.critedge4755, label %249 249: ; preds = %248 %250 = load i8, ptr %.03953, align 8 @@ -50930,7 +50925,7 @@ define internal fastcc ptr @zend_jit_trace_build_tssa(ptr noundef nonnull %0, i3 %259 = shl nuw nsw i64 %258, 3 %260 = add nuw nsw i64 %259, 67 %261 = and i64 %260, 68719476728 - br label %.critedge4756 + br label %.critedge4755 262: ; preds = %249 %263 = getelementptr inbounds nuw i8, ptr %.03953, i64 32 @@ -50939,34 +50934,34 @@ define internal fastcc ptr @zend_jit_trace_build_tssa(ptr noundef nonnull %0, i3 %266 = shl nuw nsw i64 %265, 3 %267 = add nuw nsw i64 %266, 67 %268 = and i64 %267, 68719476728 - br label %.critedge4756 + br label %.critedge4755 -.critedge4756: ; preds = %248, %262, %252 +.critedge4755: ; preds = %248, %262, %252 %.03977 = phi i64 [ %261, %252 ], [ %268, %262 ], [ 64, %248 ] %269 = sub i64 %.03881, %.03977 %270 = add nsw i32 %.03898, -1 br label %271 -271: ; preds = %243, %.critedge4754, %.critedge4756 - %.13899 = phi i32 [ 0, %.critedge4754 ], [ 0, %243 ], [ %270, %.critedge4756 ] - %.13896 = phi i32 [ %.03895, %.critedge4754 ], [ %244, %243 ], [ %.03895, %.critedge4756 ] - %.23883 = phi i64 [ %.03881, %.critedge4754 ], [ %.03881, %243 ], [ %269, %.critedge4756 ] - %.13876 = phi i64 [ %232, %.critedge4754 ], [ %232, %243 ], [ %.03875, %.critedge4756 ] - %.13871 = phi ptr [ %238, %.critedge4754 ], [ %247, %243 ], [ %.03870, %.critedge4756 ] +271: ; preds = %243, %.critedge4753, %.critedge4755 + %.13899 = phi i32 [ 0, %.critedge4753 ], [ 0, %243 ], [ %270, %.critedge4755 ] + %.13896 = phi i32 [ %.03895, %.critedge4753 ], [ %244, %243 ], [ %.03895, %.critedge4755 ] + %.23883 = phi i64 [ %.03881, %.critedge4753 ], [ %.03881, %243 ], [ %269, %.critedge4755 ] + %.13876 = phi i64 [ %232, %.critedge4753 ], [ %232, %243 ], [ %.03875, %.critedge4755 ] + %.13871 = phi ptr [ %238, %.critedge4753 ], [ %247, %243 ], [ %.03870, %.critedge4755 ] %272 = getelementptr inbounds nuw i8, ptr %.03941, i64 8 %273 = load ptr, ptr %272, align 8 br label %274 -274: ; preds = %157, %.critedge4746, %43, %.loopexit59, %159, %271, %202, %190 - %.13954 = phi ptr [ %.03953, %.loopexit59 ], [ %.03953, %159 ], [ %164, %190 ], [ %164, %202 ], [ %273, %271 ], [ %.03953, %.critedge4746 ], [ %.03953, %157 ], [ %.03953, %43 ] - %.13920 = phi i32 [ %88, %.loopexit59 ], [ %.03919, %159 ], [ %.03919, %190 ], [ %.03919, %202 ], [ %.03919, %271 ], [ %.03919, %.critedge4746 ], [ %.03919, %157 ], [ %.03919, %43 ] - %.23905 = phi i32 [ %.03903, %.loopexit59 ], [ %160, %159 ], [ %.13904, %190 ], [ %.13904, %202 ], [ %.03903, %271 ], [ %90, %.critedge4746 ], [ 0, %157 ], [ %.03903, %43 ] - %.23900 = phi i32 [ %.03898, %.loopexit59 ], [ %.03898, %159 ], [ %191, %190 ], [ %191, %202 ], [ %.13899, %271 ], [ %.03898, %.critedge4746 ], [ %.03898, %157 ], [ %.03898, %43 ] - %.23897 = phi i32 [ %.03895, %.loopexit59 ], [ %.03895, %159 ], [ %.03895, %190 ], [ %203, %202 ], [ %.13896, %271 ], [ %.03895, %.critedge4746 ], [ %.03895, %157 ], [ %.03895, %43 ] - %.33884 = phi i64 [ %.03881, %.loopexit59 ], [ %161, %159 ], [ %.13882, %190 ], [ %.13882, %202 ], [ %.23883, %271 ], [ %113, %.critedge4746 ], [ %.03881, %157 ], [ %.03881, %43 ] - %.23880 = phi i64 [ %.03878, %.loopexit59 ], [ %.03878, %159 ], [ %.13879, %190 ], [ %.13879, %202 ], [ %.03878, %271 ], [ %spec.select, %.critedge4746 ], [ %spec.select4749, %157 ], [ %.03878, %43 ] - %.23877 = phi i64 [ %.03875, %.loopexit59 ], [ %.03875, %159 ], [ %.03875, %190 ], [ %.03875, %202 ], [ %.13876, %271 ], [ %.03875, %.critedge4746 ], [ %.03875, %157 ], [ %.03875, %43 ] - %.23872 = phi ptr [ %.03870, %.loopexit59 ], [ %.03870, %159 ], [ %197, %190 ], [ %206, %202 ], [ %.13871, %271 ], [ %.03870, %.critedge4746 ], [ %.03870, %157 ], [ %.03870, %43 ] +274: ; preds = %157, %.critedge4745, %43, %.loopexit59, %159, %271, %202, %190 + %.13954 = phi ptr [ %.03953, %.loopexit59 ], [ %.03953, %159 ], [ %164, %190 ], [ %164, %202 ], [ %273, %271 ], [ %.03953, %.critedge4745 ], [ %.03953, %157 ], [ %.03953, %43 ] + %.13920 = phi i32 [ %88, %.loopexit59 ], [ %.03919, %159 ], [ %.03919, %190 ], [ %.03919, %202 ], [ %.03919, %271 ], [ %.03919, %.critedge4745 ], [ %.03919, %157 ], [ %.03919, %43 ] + %.23905 = phi i32 [ %.03903, %.loopexit59 ], [ %160, %159 ], [ %.13904, %190 ], [ %.13904, %202 ], [ %.03903, %271 ], [ %90, %.critedge4745 ], [ 0, %157 ], [ %.03903, %43 ] + %.23900 = phi i32 [ %.03898, %.loopexit59 ], [ %.03898, %159 ], [ %191, %190 ], [ %191, %202 ], [ %.13899, %271 ], [ %.03898, %.critedge4745 ], [ %.03898, %157 ], [ %.03898, %43 ] + %.23897 = phi i32 [ %.03895, %.loopexit59 ], [ %.03895, %159 ], [ %.03895, %190 ], [ %203, %202 ], [ %.13896, %271 ], [ %.03895, %.critedge4745 ], [ %.03895, %157 ], [ %.03895, %43 ] + %.33884 = phi i64 [ %.03881, %.loopexit59 ], [ %161, %159 ], [ %.13882, %190 ], [ %.13882, %202 ], [ %.23883, %271 ], [ %113, %.critedge4745 ], [ %.03881, %157 ], [ %.03881, %43 ] + %.23880 = phi i64 [ %.03878, %.loopexit59 ], [ %.03878, %159 ], [ %.13879, %190 ], [ %.13879, %202 ], [ %.03878, %271 ], [ %spec.select, %.critedge4745 ], [ %spec.select4748, %157 ], [ %.03878, %43 ] + %.23877 = phi i64 [ %.03875, %.loopexit59 ], [ %.03875, %159 ], [ %.03875, %190 ], [ %.03875, %202 ], [ %.13876, %271 ], [ %.03875, %.critedge4745 ], [ %.03875, %157 ], [ %.03875, %43 ] + %.23872 = phi ptr [ %.03870, %.loopexit59 ], [ %.03870, %159 ], [ %197, %190 ], [ %206, %202 ], [ %.13871, %271 ], [ %.03870, %.critedge4745 ], [ %.03870, %157 ], [ %.03870, %43 ] %275 = getelementptr inbounds nuw i8, ptr %.03941, i64 16 br label %43 @@ -50994,12 +50989,12 @@ define internal fastcc ptr @zend_jit_trace_build_tssa(ptr noundef nonnull %0, i3 %290 = add i64 %281, 24 %291 = ptrtoint ptr %277 to i64 %292 = sub i64 %284, %291 - %.4757 = tail call i64 @llvm.umax.i64(i64 %290, i64 %292) - %293 = tail call noalias ptr @_emalloc(i64 noundef %.4757) #36 + %.4756 = tail call i64 @llvm.umax.i64(i64 %290, i64 %292) + %293 = tail call noalias ptr @_emalloc(i64 noundef %.4756) #36 %294 = getelementptr inbounds nuw i8, ptr %293, i64 24 %295 = getelementptr inbounds i8, ptr %294, i64 %281 store ptr %295, ptr %293, align 8 - %296 = getelementptr inbounds i8, ptr %293, i64 %.4757 + %296 = getelementptr inbounds i8, ptr %293, i64 %.4756 %297 = getelementptr inbounds nuw i8, ptr %293, i64 8 store ptr %296, ptr %297, align 8 %298 = getelementptr inbounds nuw i8, ptr %293, i64 16 @@ -51043,12 +51038,12 @@ define internal fastcc ptr @zend_jit_trace_build_tssa(ptr noundef nonnull %0, i3 %318 = add i64 %309, 24 %319 = ptrtoint ptr %306 to i64 %320 = sub i64 %312, %319 - %.4758 = tail call i64 @llvm.umax.i64(i64 %318, i64 %320) - %321 = tail call noalias ptr @_emalloc(i64 noundef %.4758) #36 + %.4757 = tail call i64 @llvm.umax.i64(i64 %318, i64 %320) + %321 = tail call noalias ptr @_emalloc(i64 noundef %.4757) #36 %322 = getelementptr inbounds nuw i8, ptr %321, i64 24 %323 = getelementptr inbounds i8, ptr %322, i64 %309 store ptr %323, ptr %321, align 8 - %324 = getelementptr inbounds i8, ptr %321, i64 %.4758 + %324 = getelementptr inbounds i8, ptr %321, i64 %.4757 %325 = getelementptr inbounds nuw i8, ptr %321, i64 8 store ptr %324, ptr %325, align 8 %326 = getelementptr inbounds nuw i8, ptr %321, i64 16 @@ -51093,12 +51088,12 @@ define internal fastcc ptr @zend_jit_trace_build_tssa(ptr noundef nonnull %0, i3 %346 = add i64 %337, 24 %347 = ptrtoint ptr %334 to i64 %348 = sub i64 %340, %347 - %.4759 = tail call i64 @llvm.umax.i64(i64 %346, i64 %348) - %349 = tail call noalias ptr @_emalloc(i64 noundef %.4759) #36 + %.4758 = tail call i64 @llvm.umax.i64(i64 %346, i64 %348) + %349 = tail call noalias ptr @_emalloc(i64 noundef %.4758) #36 %350 = getelementptr inbounds nuw i8, ptr %349, i64 24 %351 = getelementptr inbounds i8, ptr %350, i64 %337 store ptr %351, ptr %349, align 8 - %352 = getelementptr inbounds i8, ptr %349, i64 %.4759 + %352 = getelementptr inbounds i8, ptr %349, i64 %.4758 %353 = getelementptr inbounds nuw i8, ptr %349, i64 8 store ptr %352, ptr %353, align 8 %354 = getelementptr inbounds nuw i8, ptr %349, i64 16 @@ -51143,12 +51138,12 @@ define internal fastcc ptr @zend_jit_trace_build_tssa(ptr noundef nonnull %0, i3 %374 = add i64 %365, 24 %375 = ptrtoint ptr %362 to i64 %376 = sub i64 %368, %375 - %.4760 = tail call i64 @llvm.umax.i64(i64 %374, i64 %376) - %377 = tail call noalias ptr @_emalloc(i64 noundef %.4760) #36 + %.4759 = tail call i64 @llvm.umax.i64(i64 %374, i64 %376) + %377 = tail call noalias ptr @_emalloc(i64 noundef %.4759) #36 %378 = getelementptr inbounds nuw i8, ptr %377, i64 24 %379 = getelementptr inbounds i8, ptr %378, i64 %365 store ptr %379, ptr %377, align 8 - %380 = getelementptr inbounds i8, ptr %377, i64 %.4760 + %380 = getelementptr inbounds i8, ptr %377, i64 %.4759 %381 = getelementptr inbounds nuw i8, ptr %377, i64 8 store ptr %380, ptr %381, align 8 %382 = getelementptr inbounds nuw i8, ptr %377, i64 16 @@ -51193,12 +51188,12 @@ define internal fastcc ptr @zend_jit_trace_build_tssa(ptr noundef nonnull %0, i3 %402 = add i64 %393, 24 %403 = ptrtoint ptr %390 to i64 %404 = sub i64 %396, %403 - %.4761 = tail call i64 @llvm.umax.i64(i64 %402, i64 %404) - %405 = tail call noalias ptr @_emalloc(i64 noundef %.4761) #36 + %.4760 = tail call i64 @llvm.umax.i64(i64 %402, i64 %404) + %405 = tail call noalias ptr @_emalloc(i64 noundef %.4760) #36 %406 = getelementptr inbounds nuw i8, ptr %405, i64 24 %407 = getelementptr inbounds i8, ptr %406, i64 %393 store ptr %407, ptr %405, align 8 - %408 = getelementptr inbounds i8, ptr %405, i64 %.4761 + %408 = getelementptr inbounds i8, ptr %405, i64 %.4760 %409 = getelementptr inbounds nuw i8, ptr %405, i64 8 store ptr %408, ptr %409, align 8 %410 = getelementptr inbounds nuw i8, ptr %405, i64 16 @@ -51311,12 +51306,12 @@ define internal fastcc ptr @zend_jit_trace_build_tssa(ptr noundef nonnull %0, i3 %473 = add nsw i64 %464, 24 %474 = ptrtoint ptr %461 to i64 %475 = sub i64 %467, %474 - %.4762 = tail call i64 @llvm.umax.i64(i64 %473, i64 %475) - %476 = tail call noalias ptr @_emalloc(i64 noundef %.4762) #36 + %.4761 = tail call i64 @llvm.umax.i64(i64 %473, i64 %475) + %476 = tail call noalias ptr @_emalloc(i64 noundef %.4761) #36 %477 = getelementptr inbounds nuw i8, ptr %476, i64 24 %478 = getelementptr inbounds i8, ptr %477, i64 %464 store ptr %478, ptr %476, align 8 - %479 = getelementptr inbounds i8, ptr %476, i64 %.4762 + %479 = getelementptr inbounds i8, ptr %476, i64 %.4761 %480 = getelementptr inbounds nuw i8, ptr %476, i64 8 store ptr %479, ptr %480, align 8 %481 = getelementptr inbounds nuw i8, ptr %476, i64 16 @@ -51363,12 +51358,12 @@ define internal fastcc ptr @zend_jit_trace_build_tssa(ptr noundef nonnull %0, i3 %503 = add i64 %494, 24 %504 = ptrtoint ptr %491 to i64 %505 = sub i64 %497, %504 - %.4763 = tail call i64 @llvm.umax.i64(i64 %503, i64 %505) - %506 = tail call noalias ptr @_emalloc(i64 noundef %.4763) #36 + %.4762 = tail call i64 @llvm.umax.i64(i64 %503, i64 %505) + %506 = tail call noalias ptr @_emalloc(i64 noundef %.4762) #36 %507 = getelementptr inbounds nuw i8, ptr %506, i64 24 %508 = getelementptr inbounds i8, ptr %507, i64 %494 store ptr %508, ptr %506, align 8 - %509 = getelementptr inbounds i8, ptr %506, i64 %.4763 + %509 = getelementptr inbounds i8, ptr %506, i64 %.4762 %510 = getelementptr inbounds nuw i8, ptr %506, i64 8 store ptr %509, ptr %510, align 8 %511 = getelementptr inbounds nuw i8, ptr %506, i64 16 @@ -51430,10 +51425,10 @@ define internal fastcc ptr @zend_jit_trace_build_tssa(ptr noundef nonnull %0, i3 532: ; preds = %._crit_edge %.val = load ptr, ptr %19, align 8 %533 = getelementptr i8, ptr %0, i64 24 - %.val4814 = load ptr, ptr %533, align 8 + %.val4813 = load ptr, ptr %533, align 8 %534 = getelementptr i8, ptr %.val, i64 88 %.val.val = load ptr, ptr %534, align 8 - %535 = ptrtoint ptr %.val4814 to i64 + %535 = ptrtoint ptr %.val4813 to i64 %536 = ptrtoint ptr %.val.val to i64 %537 = sub i64 %535, %536 %538 = lshr exact i64 %537, 5 @@ -51539,11 +51534,11 @@ define internal fastcc ptr @zend_jit_trace_build_tssa(ptr noundef nonnull %0, i3 587: ; preds = %._crit_edge %588 = getelementptr i8, ptr %0, i64 24 - %.val4815 = load ptr, ptr %588, align 8 - %589 = getelementptr inbounds i8, ptr %.val4815, i64 -1 + %.val4814 = load ptr, ptr %588, align 8 + %589 = getelementptr inbounds i8, ptr %.val4814, i64 -1 %590 = load i8, ptr %589, align 1 - %.not.i4816 = icmp eq i8 %590, 0 - br i1 %.not.i4816, label %zend_jit_trace_add_call_phis.exit.preheader, label %591 + %.not.i4815 = icmp eq i8 %590, 0 + br i1 %.not.i4815, label %zend_jit_trace_add_call_phis.exit.preheader, label %591 591: ; preds = %587 %592 = tail call { i64, i64 } asm "mulq $3\0A\09adc $$0,$1", "=&{ax},=&{dx},%0,rm,~{dirflag},~{fpsr},~{flags}"(i64 128, i64 1) #34, !srcloc !4 @@ -51578,12 +51573,12 @@ define internal fastcc ptr @zend_jit_trace_build_tssa(ptr noundef nonnull %0, i3 %609 = add i64 %600, 24 %610 = ptrtoint ptr %597 to i64 %611 = sub i64 %603, %610 - %..i4817 = tail call i64 @llvm.umax.i64(i64 %609, i64 %611) - %612 = tail call noalias ptr @_emalloc(i64 noundef %..i4817) #36 + %..i4816 = tail call i64 @llvm.umax.i64(i64 %609, i64 %611) + %612 = tail call noalias ptr @_emalloc(i64 noundef %..i4816) #36 %613 = getelementptr inbounds nuw i8, ptr %612, i64 24 %614 = getelementptr inbounds i8, ptr %613, i64 %600 store ptr %614, ptr %612, align 8 - %615 = getelementptr inbounds i8, ptr %612, i64 %..i4817 + %615 = getelementptr inbounds i8, ptr %612, i64 %..i4816 %616 = getelementptr inbounds nuw i8, ptr %612, i64 8 store ptr %615, ptr %616, align 8 %617 = getelementptr inbounds nuw i8, ptr %612, i64 16 @@ -51594,7 +51589,7 @@ define internal fastcc ptr @zend_jit_trace_build_tssa(ptr noundef nonnull %0, i3 618: ; preds = %608, %606 %.0.i = phi ptr [ %598, %606 ], [ %613, %608 ] tail call void @llvm.memset.p0.i64(ptr align 1 %.0.i, i8 0, i64 %593, i1 false) - %619 = getelementptr inbounds i8, ptr %.val4815, i64 -16 + %619 = getelementptr inbounds i8, ptr %.val4814, i64 -16 %620 = load i32, ptr %619, align 8 %621 = lshr i32 %620, 4 %622 = add nsw i32 %621, -5 @@ -51682,21 +51677,21 @@ zend_jit_trace_add_call_phis.exit: ; preds = %zend_jit_trace_add_ br i1 %653, label %.lr.ph102, label %.loopexit52 .lr.ph102: ; preds = %.preheader51, %.lr.ph102 - %.pn4720101 = phi ptr [ %.04007, %.lr.ph102 ], [ %645, %.preheader51 ] + %.pn4719101 = phi ptr [ %.04007, %.lr.ph102 ], [ %645, %.preheader51 ] %.04009100 = phi i32 [ %654, %.lr.ph102 ], [ 1, %.preheader51 ] - %.04007 = getelementptr inbounds nuw i8, ptr %.pn4720101, i64 32 + %.04007 = getelementptr inbounds nuw i8, ptr %.pn4719101, i64 32 %654 = add nuw nsw i32 %.04009100, 1 - %655 = getelementptr inbounds nuw i8, ptr %.pn4720101, i64 92 + %655 = getelementptr inbounds nuw i8, ptr %.pn4719101, i64 92 %656 = load i8, ptr %655, align 4 %657 = icmp eq i8 %656, 64 br i1 %657, label %.lr.ph102, label %.lr.ph110.preheader .lr.ph98: ; preds = %.preheader53, %.lr.ph98 - %.pn471997 = phi ptr [ %.14008, %.lr.ph98 ], [ %645, %.preheader53 ] + %.pn471897 = phi ptr [ %.14008, %.lr.ph98 ], [ %645, %.preheader53 ] %.1401096 = phi i32 [ %658, %.lr.ph98 ], [ 1, %.preheader53 ] - %.14008 = getelementptr inbounds nuw i8, ptr %.pn471997, i64 32 + %.14008 = getelementptr inbounds nuw i8, ptr %.pn471897, i64 32 %658 = add nuw nsw i32 %.1401096, 1 - %659 = getelementptr inbounds nuw i8, ptr %.pn471997, i64 92 + %659 = getelementptr inbounds nuw i8, ptr %.pn471897, i64 92 %660 = load i8, ptr %659, align 4 %661 = icmp eq i8 %660, -88 br i1 %661, label %.lr.ph98, label %.lr.ph110.preheader @@ -51705,8 +51700,8 @@ zend_jit_trace_add_call_phis.exit: ; preds = %zend_jit_trace_add_ %663 = getelementptr inbounds nuw i8, ptr %645, i64 31 %664 = load i8, ptr %663, align 1 %665 = and i8 %664, 48 - %.not4721 = icmp eq i8 %665, 0 - br i1 %.not4721, label %.loopexit52, label %.lr.ph110.preheader + %.not4720 = icmp eq i8 %665, 0 + br i1 %.not4720, label %.loopexit52, label %.lr.ph110.preheader .loopexit52: ; preds = %662, %.preheader53, %.preheader51 %.13924104 = add i32 %.03923, 1 @@ -51728,8 +51723,8 @@ zend_jit_trace_add_call_phis.exit: ; preds = %zend_jit_trace_add_ store ptr %667, ptr %668, align 8 %669 = getelementptr inbounds nuw i8, ptr %.03949105, i64 60 %670 = load i8, ptr %669, align 4 - %.not4722 = icmp eq i8 %670, -119 - br i1 %.not4722, label %674, label %671 + %.not4721 = icmp eq i8 %670, -119 + br i1 %.not4721, label %674, label %671 671: ; preds = %.lr.ph110 %672 = trunc nsw i64 %indvars.iv225 to i32 @@ -51744,8 +51739,8 @@ zend_jit_trace_add_call_phis.exit: ; preds = %zend_jit_trace_add_ br i1 %676, label %.lr.ph110, label %.loopexit50.loopexit 677: ; preds = %zend_jit_trace_add_call_phis.exit - %.not.i4818 = icmp eq ptr %.23955, null - br i1 %.not.i4818, label %zend_jit_trace_call_frame.exit, label %678 + %.not.i4817 = icmp eq ptr %.23955, null + br i1 %.not.i4817, label %zend_jit_trace_call_frame.exit, label %678 678: ; preds = %677 %679 = load i8, ptr %.23955, align 8 @@ -51774,8 +51769,8 @@ zend_jit_trace_add_call_phis.exit: ; preds = %zend_jit_trace_add_ br label %zend_jit_trace_call_frame.exit zend_jit_trace_call_frame.exit: ; preds = %677, %681, %691 - %.0.i4819 = phi i64 [ %690, %681 ], [ %697, %691 ], [ 64, %677 ] - %698 = getelementptr inbounds nuw i8, ptr %.03866, i64 %.0.i4819 + %.0.i4818 = phi i64 [ %690, %681 ], [ %697, %691 ], [ 64, %677 ] + %698 = getelementptr inbounds nuw i8, ptr %.03866, i64 %.0.i4818 %699 = getelementptr inbounds nuw i8, ptr %698, i64 60 %700 = getelementptr inbounds nuw i8, ptr %.13942, i64 8 %701 = load ptr, ptr %700, align 8 @@ -51808,8 +51803,8 @@ zend_jit_trace_call_frame.exit: ; preds = %677, %681, %691 716: ; preds = %zend_jit_trace_add_call_phis.exit %717 = getelementptr inbounds nuw i8, ptr %.13942, i64 8 %718 = load ptr, ptr %717, align 8 - %.not.i4820 = icmp eq ptr %718, null - br i1 %.not.i4820, label %zend_jit_trace_ret_frame.exit, label %719 + %.not.i4819 = icmp eq ptr %718, null + br i1 %.not.i4819, label %zend_jit_trace_ret_frame.exit, label %719 719: ; preds = %716 %720 = load i8, ptr %718, align 8 @@ -51838,8 +51833,8 @@ zend_jit_trace_call_frame.exit: ; preds = %677, %681, %691 br label %zend_jit_trace_ret_frame.exit zend_jit_trace_ret_frame.exit: ; preds = %716, %722, %732 - %.0.i4821 = phi i64 [ %731, %722 ], [ %738, %732 ], [ 64, %716 ] - %739 = sub nsw i64 0, %.0.i4821 + %.0.i4820 = phi i64 [ %731, %722 ], [ %738, %732 ], [ 64, %716 ] + %739 = sub nsw i64 0, %.0.i4820 %740 = getelementptr inbounds i8, ptr %.03866, i64 %739 %741 = getelementptr inbounds nuw i8, ptr %740, i64 60 %742 = icmp eq i32 %.33901, 0 @@ -51931,12 +51926,12 @@ zend_jit_trace_ret_frame.exit: ; preds = %716, %722, %732 %786 = add i64 %777, 24 %787 = ptrtoint ptr %774 to i64 %788 = sub i64 %780, %787 - %.4765 = tail call i64 @llvm.umax.i64(i64 %786, i64 %788) - %789 = tail call noalias ptr @_emalloc(i64 noundef %.4765) #36 + %.4764 = tail call i64 @llvm.umax.i64(i64 %786, i64 %788) + %789 = tail call noalias ptr @_emalloc(i64 noundef %.4764) #36 %790 = getelementptr inbounds nuw i8, ptr %789, i64 24 %791 = getelementptr inbounds i8, ptr %790, i64 %777 store ptr %791, ptr %789, align 8 - %792 = getelementptr inbounds i8, ptr %789, i64 %.4765 + %792 = getelementptr inbounds i8, ptr %789, i64 %.4764 %793 = getelementptr inbounds nuw i8, ptr %789, i64 8 store ptr %792, ptr %793, align 8 %794 = getelementptr inbounds nuw i8, ptr %789, i64 16 @@ -52007,8 +52002,8 @@ zend_jit_trace_ret_frame.exit: ; preds = %716, %722, %732 ._crit_edge119: ; preds = %.lr.ph118, %.preheader49 %819 = load i8, ptr %414, align 1 - %switch4807 = icmp ult i8 %819, 3 - br i1 %switch4807, label %820, label %.loopexit48 + %switch4806 = icmp ult i8 %819, 3 + br i1 %switch4806, label %820, label %.loopexit48 820: ; preds = %._crit_edge119 %821 = load ptr, ptr %384, align 8 @@ -52091,8 +52086,8 @@ zend_jit_trace_ret_frame.exit: ; preds = %716, %722, %732 867: ; preds = %863 %868 = load i32, ptr %.03961125, align 4 - %.not4716 = icmp eq i32 %865, %868 - br i1 %.not4716, label %875, label %869 + %.not4715 = icmp eq i32 %865, %868 + br i1 %.not4715, label %875, label %869 869: ; preds = %867 %870 = zext nneg i32 %865 to i64 @@ -52112,13 +52107,13 @@ zend_jit_trace_ret_frame.exit: ; preds = %716, %722, %732 879: ; preds = %875 %880 = load i32, ptr %.03961125, align 4 - %.not4717 = icmp eq i32 %877, %880 - br i1 %.not4717, label %889, label %881 + %.not4716 = icmp eq i32 %877, %880 + br i1 %.not4716, label %889, label %881 881: ; preds = %879 %882 = load i32, ptr %864, align 4 - %.not4718 = icmp eq i32 %877, %882 - br i1 %.not4718, label %889, label %883 + %.not4717 = icmp eq i32 %877, %882 + br i1 %.not4717, label %889, label %883 883: ; preds = %881 %884 = zext nneg i32 %877 to i64 @@ -52241,12 +52236,12 @@ zend_jit_trace_ret_frame.exit: ; preds = %716, %722, %732 %963 = add i64 %954, 24 %964 = ptrtoint ptr %951 to i64 %965 = sub i64 %957, %964 - %.4766 = tail call i64 @llvm.umax.i64(i64 %963, i64 %965) - %966 = tail call noalias ptr @_emalloc(i64 noundef %.4766) #36 + %.4765 = tail call i64 @llvm.umax.i64(i64 %963, i64 %965) + %966 = tail call noalias ptr @_emalloc(i64 noundef %.4765) #36 %967 = getelementptr inbounds nuw i8, ptr %966, i64 24 %968 = getelementptr inbounds i8, ptr %967, i64 %954 store ptr %968, ptr %966, align 8 - %969 = getelementptr inbounds i8, ptr %966, i64 %.4766 + %969 = getelementptr inbounds i8, ptr %966, i64 %.4765 %970 = getelementptr inbounds nuw i8, ptr %966, i64 8 store ptr %969, ptr %970, align 8 %971 = getelementptr inbounds nuw i8, ptr %966, i64 16 @@ -52290,19 +52285,19 @@ zend_jit_trace_ret_frame.exit: ; preds = %716, %722, %732 992: ; preds = %988 %993 = load ptr, ptr %984, align 8 - %.not4706 = icmp eq ptr %993, null - br i1 %.not4706, label %997, label %994 + %.not4705 = icmp eq ptr %993, null + br i1 %.not4705, label %997, label %994 994: ; preds = %992 %995 = trunc nuw nsw i64 %indvars.iv242 to i32 %996 = call fastcc i32 @zend_jit_trace_copy_ssa_var_info(ptr noundef nonnull %937, ptr noundef nonnull %943, ptr noundef %.04025, ptr noundef %.04035, i32 noundef %995) - %.not4707 = icmp eq i32 %996, 0 - br i1 %.not4707, label %997, label %1101 + %.not4706 = icmp eq i32 %996, 0 + br i1 %.not4706, label %997, label %1101 997: ; preds = %994, %992 %998 = load ptr, ptr %980, align 8 - %.not4708 = icmp eq ptr %998, null - br i1 %.not4708, label %1013, label %999 + %.not4707 = icmp eq ptr %998, null + br i1 %.not4707, label %1013, label %999 999: ; preds = %997 %1000 = getelementptr inbounds nuw %struct._zend_ssa_var, ptr %998, i64 %indvars.iv242, i32 7 @@ -52325,19 +52320,19 @@ zend_jit_trace_ret_frame.exit: ; preds = %716, %722, %732 1013: ; preds = %997 %1014 = load i32, ptr %976, align 8 %1015 = zext i32 %1014 to i64 - %.not4709 = icmp samesign ult i64 %indvars.iv242, %1015 - br i1 %.not4709, label %1016, label %1030 + %.not4708 = icmp samesign ult i64 %indvars.iv242, %1015 + br i1 %.not4708, label %1016, label %1030 1016: ; preds = %1013 %1017 = load ptr, ptr %981, align 8 - %.not4710 = icmp eq ptr %1017, null - br i1 %.not4710, label %1030, label %1018 + %.not4709 = icmp eq ptr %1017, null + br i1 %.not4709, label %1030, label %1018 1018: ; preds = %1016 %1019 = load i32, ptr %982, align 8 %1020 = and i32 %1019, 1 - %.not4711 = icmp eq i32 %1020, 0 - br i1 %.not4711, label %1021, label %1030 + %.not4710 = icmp eq i32 %1020, 0 + br i1 %.not4710, label %1021, label %1030 1021: ; preds = %1018 %1022 = load ptr, ptr %983, align 8 @@ -52350,9 +52345,9 @@ zend_jit_trace_ret_frame.exit: ; preds = %716, %722, %732 1028: ; preds = %1021 %1029 = getelementptr inbounds nuw i8, ptr %1024, i64 24 - %bcmp4712 = call i32 @bcmp(ptr noundef nonnull dereferenceable(20) %1029, ptr noundef nonnull dereferenceable(20) @.str.150, i64 20) - %.not4713 = icmp eq i32 %bcmp4712, 0 - br i1 %.not4713, label %1030, label %.critedge6 + %bcmp4711 = call i32 @bcmp(ptr noundef nonnull dereferenceable(20) %1029, ptr noundef nonnull dereferenceable(20) @.str.150, i64 20) + %.not4712 = icmp eq i32 %bcmp4711, 0 + br i1 %.not4712, label %1030, label %.critedge6 .critedge6: ; preds = %1021, %1028 br label %1030 @@ -52368,8 +52363,8 @@ zend_jit_trace_ret_frame.exit: ; preds = %716, %722, %732 1035: ; preds = %1030, %999 %1036 = load ptr, ptr %985, align 8 - %.not4714 = icmp eq ptr %1036, null - br i1 %.not4714, label %1058, label %1037 + %.not4713 = icmp eq ptr %1036, null + br i1 %.not4713, label %1058, label %1037 1037: ; preds = %1035 %1038 = load ptr, ptr %986, align 8 @@ -52387,11 +52382,11 @@ zend_jit_trace_ret_frame.exit: ; preds = %716, %722, %732 %1048 = getelementptr inbounds nuw i8, ptr %1046, i64 16 %1049 = load i32, ptr %1048, align 8 %1050 = and i32 %1049, 100663296 - %.not4715 = icmp eq i32 %1050, 0 + %.not4714 = icmp eq i32 %1050, 0 %1051 = or i32 %1047, 1024 - %spec.select4767 = select i1 %.not4715, i32 %1047, i32 %1051 + %spec.select4766 = select i1 %.not4714, i32 %1047, i32 %1051 %1052 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %.04020, i64 %indvars.iv242 - store i32 %spec.select4767, ptr %1052, align 8 + store i32 %spec.select4766, ptr %1052, align 8 %1053 = load ptr, ptr %15, align 8 %1054 = getelementptr inbounds nuw i8, ptr %1052, i64 32 store ptr %1053, ptr %1054, align 8 @@ -52408,8 +52403,8 @@ zend_jit_trace_ret_frame.exit: ; preds = %716, %722, %732 1060: ; preds = %988 %1061 = load ptr, ptr %980, align 8 - %.not4700 = icmp eq ptr %1061, null - br i1 %.not4700, label %1076, label %1062 + %.not4699 = icmp eq ptr %1061, null + br i1 %.not4699, label %1076, label %1062 1062: ; preds = %1060 %1063 = getelementptr inbounds nuw %struct._zend_ssa_var, ptr %1061, i64 %indvars.iv242, i32 7 @@ -52431,14 +52426,14 @@ zend_jit_trace_ret_frame.exit: ; preds = %716, %722, %732 1076: ; preds = %1060 %1077 = load ptr, ptr %981, align 8 - %.not4702 = icmp eq ptr %1077, null - br i1 %.not4702, label %1090, label %1078 + %.not4701 = icmp eq ptr %1077, null + br i1 %.not4701, label %1090, label %1078 1078: ; preds = %1076 %1079 = load i32, ptr %982, align 8 %1080 = and i32 %1079, 1 - %.not4703 = icmp eq i32 %1080, 0 - br i1 %.not4703, label %1081, label %1090 + %.not4702 = icmp eq i32 %1080, 0 + br i1 %.not4702, label %1081, label %1090 1081: ; preds = %1078 %1082 = load ptr, ptr %983, align 8 @@ -52451,9 +52446,9 @@ zend_jit_trace_ret_frame.exit: ; preds = %716, %722, %732 1088: ; preds = %1081 %1089 = getelementptr inbounds nuw i8, ptr %1084, i64 24 - %bcmp4704 = call i32 @bcmp(ptr noundef nonnull dereferenceable(20) %1089, ptr noundef nonnull dereferenceable(20) @.str.150, i64 20) - %.not4705 = icmp eq i32 %bcmp4704, 0 - br i1 %.not4705, label %1090, label %.critedge8 + %bcmp4703 = call i32 @bcmp(ptr noundef nonnull dereferenceable(20) %1089, ptr noundef nonnull dereferenceable(20) @.str.150, i64 20) + %.not4704 = icmp eq i32 %bcmp4703, 0 + br i1 %.not4704, label %1090, label %.critedge8 .critedge8: ; preds = %1081, %1088 br label %1090 @@ -52512,8 +52507,8 @@ zend_jit_trace_ret_frame.exit: ; preds = %716, %722, %732 %1116 = getelementptr inbounds nuw i8, ptr %937, i64 72 %1117 = load i32, ptr %1116, align 8 %1118 = add i32 %1117, %1115 - %.4768 = tail call i32 @llvm.umin.i32(i32 %1113, i32 %1118) - %.not4371 = icmp eq i32 %.4768, 0 + %.4767 = tail call i32 @llvm.umin.i32(i32 %1113, i32 %1118) + %.not4371 = icmp eq i32 %.4767, 0 br i1 %.not4371, label %1127, label %1119 1119: ; preds = %1106 @@ -52523,7 +52518,7 @@ zend_jit_trace_ret_frame.exit: ; preds = %716, %722, %732 %1123 = load i32, ptr %1122, align 8 %1124 = zext i32 %1123 to i64 %1125 = getelementptr inbounds nuw %struct._zend_jit_trace_stack, ptr %1121, i64 %1124 - %1126 = sext i32 %.4768 to i64 + %1126 = sext i32 %.4767 to i64 br label %1127 1127: ; preds = %._crit_edge261, %1106, %1119 @@ -52650,8 +52645,8 @@ zend_jit_trace_ret_frame.exit: ; preds = %716, %722, %732 %1192 = icmp ult i8 %1188, 6 %.not4381 = icmp eq i8 %1188, 7 %1193 = or i32 %1191, -1073741824 - %spec.select4808 = select i1 %.not4381, i32 -520095616, i32 %1193 - %.03994 = select i1 %1192, i32 %1191, i32 %spec.select4808 + %spec.select4807 = select i1 %.not4381, i32 -520095616, i32 %1193 + %.03994 = select i1 %1192, i32 %1191, i32 %spec.select4807 %1194 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %.04020, i64 %indvars.iv239 %1195 = load i32, ptr %1194, align 8 %1196 = and i32 %1195, %.03994 @@ -52682,8 +52677,8 @@ zend_jit_trace_ret_frame.exit: ; preds = %716, %722, %732 .loopexit46: ; preds = %1203, %1101, %1127, %.preheader45 %1209 = load i8, ptr %414, align 1 - %switch4809 = icmp ult i8 %1209, 3 - br i1 %switch4809, label %1211, label %.thread + %switch4808 = icmp ult i8 %1209, 3 + br i1 %switch4808, label %1211, label %.thread .thread: ; preds = %.loopexit46 %1210 = load ptr, ptr getelementptr inbounds nuw (i8, ptr @jit_globals, i64 184), align 8 @@ -52707,15 +52702,15 @@ zend_jit_trace_ret_frame.exit: ; preds = %716, %722, %732 1216: ; preds = %.lr.ph139, %1245 %.03853137 = phi ptr [ %.03853135, %.lr.ph139 ], [ %.03853, %1245 ] %1217 = load ptr, ptr %1215, align 8 - %.not4698 = icmp eq ptr %1217, null - br i1 %.not4698, label %1222, label %1218 + %.not4697 = icmp eq ptr %1217, null + br i1 %.not4697, label %1222, label %1218 1218: ; preds = %1216 %1219 = getelementptr inbounds nuw i8, ptr %.03853137, i64 68 %1220 = load i32, ptr %1219, align 4 %1221 = call fastcc i32 @zend_jit_trace_copy_ssa_var_info(ptr noundef %937, ptr noundef nonnull %943, ptr noundef %.04025, ptr noundef %.04035, i32 noundef %1220) - %.not4699 = icmp eq i32 %1221, 0 - br i1 %.not4699, label %1222, label %1245 + %.not4698 = icmp eq i32 %1221, 0 + br i1 %.not4698, label %1222, label %1245 1222: ; preds = %1218, %1216 %1223 = getelementptr inbounds nuw i8, ptr %.03853137, i64 96 @@ -52751,8 +52746,8 @@ zend_jit_trace_ret_frame.exit: ; preds = %716, %722, %732 ._crit_edge140: ; preds = %1245 %1246 = load ptr, ptr getelementptr inbounds nuw (i8, ptr @jit_globals, i64 184), align 8 - %.not.i4822 = icmp eq ptr %937, null - br i1 %.not.i4822, label %zend_jit_trace_call_frame.exit4824, label %1247 + %.not.i4821 = icmp eq ptr %937, null + br i1 %.not.i4821, label %zend_jit_trace_call_frame.exit4823, label %1247 1247: ; preds = %._crit_edge140.thread, %.thread, %._crit_edge140 %1248 = phi ptr [ %1210, %.thread ], [ %1246, %._crit_edge140 ], [ %1214, %._crit_edge140.thread ] @@ -52770,7 +52765,7 @@ zend_jit_trace_ret_frame.exit: ; preds = %716, %722, %732 %1258 = shl nuw nsw i64 %1257, 3 %1259 = add nuw nsw i64 %1258, 67 %1260 = and i64 %1259, 68719476728 - br label %zend_jit_trace_call_frame.exit4824 + br label %zend_jit_trace_call_frame.exit4823 1261: ; preds = %1247 %1262 = getelementptr inbounds nuw i8, ptr %937, i64 32 @@ -52779,12 +52774,12 @@ zend_jit_trace_ret_frame.exit: ; preds = %716, %722, %732 %1265 = shl nuw nsw i64 %1264, 3 %1266 = add nuw nsw i64 %1265, 67 %1267 = and i64 %1266, 68719476728 - br label %zend_jit_trace_call_frame.exit4824 + br label %zend_jit_trace_call_frame.exit4823 -zend_jit_trace_call_frame.exit4824: ; preds = %._crit_edge140, %1251, %1261 +zend_jit_trace_call_frame.exit4823: ; preds = %._crit_edge140, %1251, %1261 %1268 = phi ptr [ %1248, %1251 ], [ %1248, %1261 ], [ %1246, %._crit_edge140 ] - %.0.i4823 = phi i64 [ %1260, %1251 ], [ %1267, %1261 ], [ 64, %._crit_edge140 ] - %1269 = getelementptr inbounds nuw i8, ptr %1268, i64 %.0.i4823 + %.0.i4822 = phi i64 [ %1260, %1251 ], [ %1267, %1261 ], [ 64, %._crit_edge140 ] + %1269 = getelementptr inbounds nuw i8, ptr %1268, i64 %.0.i4822 %1270 = getelementptr inbounds nuw i8, ptr %1268, i64 16 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %1268, i8 0, i64 16, i1 false) store ptr %937, ptr %1270, align 8 @@ -52799,7 +52794,7 @@ zend_jit_trace_call_frame.exit4824: ; preds = %._crit_edge140, %12 call void @llvm.memset.p0.i64(ptr noundef nonnull align 4 dereferenceable(36) %.sroa.20, i8 0, i64 36, i1 false) %1275 = load i8, ptr %414, align 1 %1276 = icmp ne i8 %1275, 0 - %.4769 = sext i1 %1276 to i32 + %.4768 = sext i1 %1276 to i32 %invariant.gep = getelementptr i8, ptr %.04017, i64 -16 %invariant.gep172 = getelementptr i8, ptr %.04025, i64 8 %1277 = getelementptr inbounds nuw i8, ptr %14, i64 8 @@ -52831,18 +52826,18 @@ zend_jit_trace_call_frame.exit4824: ; preds = %._crit_edge140, %12 %1303 = getelementptr inbounds nuw i8, ptr %6, i64 17 br label %1304 -1304: ; preds = %.loopexit35, %zend_jit_trace_call_frame.exit4824 - %.43957 = phi ptr [ %937, %zend_jit_trace_call_frame.exit4824 ], [ %.53958, %.loopexit35 ] - %.13950 = phi ptr [ null, %zend_jit_trace_call_frame.exit4824 ], [ %.33952, %.loopexit35 ] - %.23943 = phi ptr [ %41, %zend_jit_trace_call_frame.exit4824 ], [ %4483, %.loopexit35 ] - %.43927 = phi i32 [ 0, %zend_jit_trace_call_frame.exit4824 ], [ %.63929, %.loopexit35 ] - %.5 = phi i32 [ 0, %zend_jit_trace_call_frame.exit4824 ], [ %.7, %.loopexit35 ] - %.13891 = phi i32 [ %.4769, %zend_jit_trace_call_frame.exit4824 ], [ %.43894, %.loopexit35 ] - %.13887 = phi i32 [ %.4769, %zend_jit_trace_call_frame.exit4824 ], [ %.33889, %.loopexit35 ] - %.33873 = phi ptr [ %943, %zend_jit_trace_call_frame.exit4824 ], [ %.43874, %.loopexit35 ] - %.23868 = phi ptr [ %1268, %zend_jit_trace_call_frame.exit4824 ], [ %.33869, %.loopexit35 ] - %.03862 = phi ptr [ %1269, %zend_jit_trace_call_frame.exit4824 ], [ %.33865, %.loopexit35 ] - %.sroa.0.0 = phi i32 [ 0, %zend_jit_trace_call_frame.exit4824 ], [ %.sroa.0.5, %.loopexit35 ] +1304: ; preds = %.loopexit35, %zend_jit_trace_call_frame.exit4823 + %.43957 = phi ptr [ %937, %zend_jit_trace_call_frame.exit4823 ], [ %.53958, %.loopexit35 ] + %.13950 = phi ptr [ null, %zend_jit_trace_call_frame.exit4823 ], [ %.33952, %.loopexit35 ] + %.23943 = phi ptr [ %41, %zend_jit_trace_call_frame.exit4823 ], [ %4483, %.loopexit35 ] + %.43927 = phi i32 [ 0, %zend_jit_trace_call_frame.exit4823 ], [ %.63929, %.loopexit35 ] + %.5 = phi i32 [ 0, %zend_jit_trace_call_frame.exit4823 ], [ %.7, %.loopexit35 ] + %.13891 = phi i32 [ %.4768, %zend_jit_trace_call_frame.exit4823 ], [ %.43894, %.loopexit35 ] + %.13887 = phi i32 [ %.4768, %zend_jit_trace_call_frame.exit4823 ], [ %.33889, %.loopexit35 ] + %.33873 = phi ptr [ %943, %zend_jit_trace_call_frame.exit4823 ], [ %.43874, %.loopexit35 ] + %.23868 = phi ptr [ %1268, %zend_jit_trace_call_frame.exit4823 ], [ %.33869, %.loopexit35 ] + %.03862 = phi ptr [ %1269, %zend_jit_trace_call_frame.exit4823 ], [ %.33865, %.loopexit35 ] + %.sroa.0.0 = phi i32 [ 0, %zend_jit_trace_call_frame.exit4823 ], [ %.sroa.0.5, %.loopexit35 ] %1305 = load i8, ptr %.23943, align 8 switch i8 %1305, label %.loopexit35 [ i8 0, label %1306 @@ -52868,7 +52863,7 @@ zend_jit_trace_call_frame.exit4824: ; preds = %._crit_edge140, %12 %spec.store.select = select i1 %.not4447, i8 %1310, i8 -1 %.not4448 = icmp ne i8 %spec.store.select, -1 %1317 = and i8 %spec.store.select, -17 - %spec.select4770 = select i1 %.not4448, i8 %1317, i8 -1 + %spec.select4769 = select i1 %.not4448, i8 %1317, i8 -1 %1318 = and i8 %1312, 96 %.not4449 = icmp eq i8 %1318, 0 %spec.store.select13 = select i1 %.not4449, i8 %1312, i8 -1 @@ -53004,14 +52999,14 @@ zend_jit_trace_call_frame.exit4824: ; preds = %._crit_edge140, %12 1343: ; preds = %1340 %1344 = getelementptr inbounds nuw i8, ptr %1308, i64 29 %1345 = load i8, ptr %1344, align 1 - %.not4609 = icmp eq i8 %1345, 8 - br i1 %.not4609, label %1346, label %thread-pre-split + %.not4608 = icmp eq i8 %1345, 8 + br i1 %.not4608, label %1346, label %thread-pre-split 1346: ; preds = %1343 %1347 = getelementptr inbounds nuw i8, ptr %1308, i64 31 %1348 = load i8, ptr %1347, align 1 - %.not4610 = icmp eq i8 %1348, 0 - br i1 %.not4610, label %1349, label %thread-pre-split + %.not4609 = icmp eq i8 %1348, 0 + br i1 %.not4609, label %1349, label %thread-pre-split 1349: ; preds = %1346 %1350 = load ptr, ptr %483, align 8 @@ -53030,16 +53025,16 @@ zend_jit_trace_call_frame.exit4824: ; preds = %._crit_edge140, %12 %1360 = load i32, ptr %1359, align 8 %1361 = and i32 %1360, 1023 %1362 = shl nuw i32 1, %1356 - %.not4611 = icmp eq i32 %1361, %1362 - br i1 %.not4611, label %1380, label %1363 + %.not4610 = icmp eq i32 %1361, %1362 + br i1 %.not4610, label %1380, label %1363 1363: ; preds = %1355 %1364 = load ptr, ptr %796, align 8 %1365 = getelementptr inbounds nuw %struct._zend_ssa_var, ptr %1364, i64 %1358, i32 7 %1366 = load i8, ptr %1365, align 8 %1367 = and i8 %1366, 12 - %.not4612 = icmp eq i8 %1367, 0 - br i1 %.not4612, label %1368, label %.sink.split339 + %.not4611 = icmp eq i8 %1367, 0 + br i1 %.not4611, label %1368, label %.sink.split339 1368: ; preds = %1363 %1369 = and i32 %1360, %1362 @@ -53049,8 +53044,8 @@ zend_jit_trace_call_frame.exit4824: ; preds = %._crit_edge140, %12 br i1 %1371, label %.sink.split339, label %1372 1372: ; preds = %1368 - %.not4613 = icmp eq i8 %1317, 7 - br i1 %.not4613, label %1376, label %1373 + %.not4612 = icmp eq i8 %1317, 7 + br i1 %.not4612, label %1376, label %1373 1373: ; preds = %1372 %1374 = and i32 %1360, -1073741824 @@ -53085,16 +53080,16 @@ zend_jit_trace_call_frame.exit4824: ; preds = %._crit_edge140, %12 %1391 = load i32, ptr %1390, align 8 %1392 = and i32 %1391, 1023 %1393 = shl nuw i32 1, %1387 - %.not4614 = icmp eq i32 %1392, %1393 - br i1 %.not4614, label %thread-pre-split, label %1394 + %.not4613 = icmp eq i32 %1392, %1393 + br i1 %.not4613, label %thread-pre-split, label %1394 1394: ; preds = %1386 %1395 = load ptr, ptr %796, align 8 %1396 = getelementptr inbounds nuw %struct._zend_ssa_var, ptr %1395, i64 %1389, i32 7 %1397 = load i8, ptr %1396, align 8 %1398 = and i8 %1397, 12 - %.not4615 = icmp eq i8 %1398, 0 - br i1 %.not4615, label %1401, label %1399 + %.not4614 = icmp eq i8 %1398, 0 + br i1 %.not4614, label %1401, label %1399 1399: ; preds = %1394 %1400 = or i32 %1391, 268435456 @@ -53109,8 +53104,8 @@ zend_jit_trace_call_frame.exit4824: ; preds = %._crit_edge140, %12 br i1 %1404, label %1412, label %1405 1405: ; preds = %1401 - %.not4616 = icmp eq i8 %spec.store.select13, 7 - br i1 %.not4616, label %1409, label %1406 + %.not4615 = icmp eq i8 %spec.store.select13, 7 + br i1 %.not4615, label %1409, label %1406 1406: ; preds = %1405 %1407 = and i32 %1391, -1073741824 @@ -53139,12 +53134,12 @@ zend_jit_trace_call_frame.exit4824: ; preds = %._crit_edge140, %12 1417: ; preds = %1414 %1418 = getelementptr inbounds nuw i8, ptr %1308, i64 31 %1419 = load i8, ptr %1418, align 1 - %.not4585 = icmp eq i8 %1419, 0 - br i1 %.not4585, label %1420, label %thread-pre-split + %.not4584 = icmp eq i8 %1419, 0 + br i1 %.not4584, label %1420, label %thread-pre-split 1420: ; preds = %1417 - %.not4586 = icmp eq i8 %spec.store.select196, -1 - br i1 %.not4586, label %1426, label %1421 + %.not4585 = icmp eq i8 %spec.store.select196, -1 + br i1 %.not4585, label %1426, label %1421 1421: ; preds = %1420 %1422 = zext nneg i8 %spec.store.select196 to i32 @@ -53192,16 +53187,16 @@ zend_jit_trace_call_frame.exit4824: ; preds = %._crit_edge140, %12 %1453 = load i32, ptr %1452, align 8 %1454 = and i32 %1453, 1023 %1455 = shl nuw i32 1, %1449 - %.not4595 = icmp eq i32 %1454, %1455 - br i1 %.not4595, label %1473, label %1456 + %.not4594 = icmp eq i32 %1454, %1455 + br i1 %.not4594, label %1473, label %1456 1456: ; preds = %1448 %1457 = load ptr, ptr %796, align 8 %1458 = getelementptr inbounds nuw %struct._zend_ssa_var, ptr %1457, i64 %1451, i32 7 %1459 = load i8, ptr %1458, align 8 %1460 = and i8 %1459, 12 - %.not4596 = icmp eq i8 %1460, 0 - br i1 %.not4596, label %1461, label %.sink.split341 + %.not4595 = icmp eq i8 %1460, 0 + br i1 %.not4595, label %1461, label %.sink.split341 1461: ; preds = %1456 %1462 = and i32 %1453, %1455 @@ -53211,8 +53206,8 @@ zend_jit_trace_call_frame.exit4824: ; preds = %._crit_edge140, %12 br i1 %1464, label %.sink.split341, label %1465 1465: ; preds = %1461 - %.not4597 = icmp eq i8 %spec.store.select196, 7 - br i1 %.not4597, label %1469, label %1466 + %.not4596 = icmp eq i8 %spec.store.select196, 7 + br i1 %.not4596, label %1469, label %1466 1466: ; preds = %1465 %1467 = and i32 %1453, -1073741824 @@ -53247,16 +53242,16 @@ zend_jit_trace_call_frame.exit4824: ; preds = %._crit_edge140, %12 %1484 = load i32, ptr %1483, align 8 %1485 = and i32 %1484, 1023 %1486 = shl nuw i32 1, %1480 - %.not4598 = icmp eq i32 %1485, %1486 - br i1 %.not4598, label %1504, label %1487 + %.not4597 = icmp eq i32 %1485, %1486 + br i1 %.not4597, label %1504, label %1487 1487: ; preds = %1479 %1488 = load ptr, ptr %796, align 8 %1489 = getelementptr inbounds nuw %struct._zend_ssa_var, ptr %1488, i64 %1482, i32 7 %1490 = load i8, ptr %1489, align 8 %1491 = and i8 %1490, 12 - %.not4599 = icmp eq i8 %1491, 0 - br i1 %.not4599, label %1492, label %.sink.split343 + %.not4598 = icmp eq i8 %1491, 0 + br i1 %.not4598, label %1492, label %.sink.split343 1492: ; preds = %1487 %1493 = and i32 %1484, %1486 @@ -53266,8 +53261,8 @@ zend_jit_trace_call_frame.exit4824: ; preds = %._crit_edge140, %12 br i1 %1495, label %.sink.split343, label %1496 1496: ; preds = %1492 - %.not4600 = icmp eq i8 %spec.store.select13, 7 - br i1 %.not4600, label %1500, label %1497 + %.not4599 = icmp eq i8 %spec.store.select13, 7 + br i1 %.not4599, label %1500, label %1497 1497: ; preds = %1496 %1498 = and i32 %1484, -1073741824 @@ -53301,16 +53296,16 @@ zend_jit_trace_call_frame.exit4824: ; preds = %._crit_edge140, %12 %1514 = load i32, ptr %1513, align 8 %1515 = and i32 %1514, 1023 %1516 = shl nuw i32 1, %1510 - %.not4601 = icmp eq i32 %1515, %1516 - br i1 %.not4601, label %1615, label %1517 + %.not4600 = icmp eq i32 %1515, %1516 + br i1 %.not4600, label %1615, label %1517 1517: ; preds = %1509 %1518 = load ptr, ptr %796, align 8 %1519 = getelementptr inbounds nuw %struct._zend_ssa_var, ptr %1518, i64 %1512, i32 7 %1520 = load i8, ptr %1519, align 8 %1521 = and i8 %1520, 12 - %.not4602 = icmp eq i8 %1521, 0 - br i1 %.not4602, label %1524, label %1522 + %.not4601 = icmp eq i8 %1521, 0 + br i1 %.not4601, label %1524, label %1522 1522: ; preds = %1517 %1523 = or i32 %1514, 268435456 @@ -53325,8 +53320,8 @@ zend_jit_trace_call_frame.exit4824: ; preds = %._crit_edge140, %12 br i1 %1527, label %1535, label %1528 1528: ; preds = %1524 - %.not4603 = icmp eq i8 %1317, 7 - br i1 %.not4603, label %1532, label %1529 + %.not4602 = icmp eq i8 %1317, 7 + br i1 %.not4602, label %1532, label %1529 1529: ; preds = %1528 %1530 = and i32 %1514, -1073741824 @@ -53345,11 +53340,11 @@ zend_jit_trace_call_frame.exit4824: ; preds = %._crit_edge140, %12 br label %1615 1537: ; preds = %1426 - %.not4587 = icmp eq i8 %1310, -1 + %.not4586 = icmp eq i8 %1310, -1 %1538 = and i32 %1315, 64 - %.not4588 = icmp eq i32 %1538, 0 - %or.cond4771 = select i1 %.not4587, i1 true, i1 %.not4588 - br i1 %or.cond4771, label %1615, label %1539 + %.not4587 = icmp eq i32 %1538, 0 + %or.cond4770 = select i1 %.not4586, i1 true, i1 %.not4587 + br i1 %or.cond4770, label %1615, label %1539 1539: ; preds = %1537 %1540 = getelementptr inbounds nuw i8, ptr %1308, i64 31 @@ -53384,16 +53379,16 @@ zend_jit_trace_call_frame.exit4824: ; preds = %._crit_edge140, %12 %1558 = load i32, ptr %1557, align 8 %1559 = and i32 %1558, 1023 %1560 = shl nuw i32 1, %1554 - %.not4589 = icmp eq i32 %1559, %1560 - br i1 %.not4589, label %1581, label %1561 + %.not4588 = icmp eq i32 %1559, %1560 + br i1 %.not4588, label %1581, label %1561 1561: ; preds = %1553 %1562 = load ptr, ptr %796, align 8 %1563 = getelementptr inbounds nuw %struct._zend_ssa_var, ptr %1562, i64 %1556, i32 7 %1564 = load i8, ptr %1563, align 8 %1565 = and i8 %1564, 12 - %.not4590 = icmp eq i8 %1565, 0 - br i1 %.not4590, label %1568, label %1566 + %.not4589 = icmp eq i8 %1565, 0 + br i1 %.not4589, label %1568, label %1566 1566: ; preds = %1561 %1567 = or i32 %1558, 268435456 @@ -53408,8 +53403,8 @@ zend_jit_trace_call_frame.exit4824: ; preds = %._crit_edge140, %12 br i1 %1571, label %1579, label %1572 1572: ; preds = %1568 - %.not4591 = icmp eq i8 %spec.store.select196, 7 - br i1 %.not4591, label %1576, label %1573 + %.not4590 = icmp eq i8 %spec.store.select196, 7 + br i1 %.not4590, label %1576, label %1573 1573: ; preds = %1572 %1574 = and i32 %1558, -1073741824 @@ -53445,16 +53440,16 @@ zend_jit_trace_call_frame.exit4824: ; preds = %._crit_edge140, %12 %1592 = load i32, ptr %1591, align 8 %1593 = and i32 %1592, 1023 %1594 = shl nuw i32 1, %1588 - %.not4592 = icmp eq i32 %1593, %1594 - br i1 %.not4592, label %1615, label %1595 + %.not4591 = icmp eq i32 %1593, %1594 + br i1 %.not4591, label %1615, label %1595 1595: ; preds = %1587 %1596 = load ptr, ptr %796, align 8 %1597 = getelementptr inbounds nuw %struct._zend_ssa_var, ptr %1596, i64 %1590, i32 7 %1598 = load i8, ptr %1597, align 8 %1599 = and i8 %1598, 12 - %.not4593 = icmp eq i8 %1599, 0 - br i1 %.not4593, label %1602, label %1600 + %.not4592 = icmp eq i8 %1599, 0 + br i1 %.not4592, label %1602, label %1600 1600: ; preds = %1595 %1601 = or i32 %1592, 268435456 @@ -53469,8 +53464,8 @@ zend_jit_trace_call_frame.exit4824: ; preds = %._crit_edge140, %12 br i1 %1605, label %1613, label %1606 1606: ; preds = %1602 - %.not4594 = icmp eq i8 %spec.store.select13, 7 - br i1 %.not4594, label %1610, label %1607 + %.not4593 = icmp eq i8 %spec.store.select13, 7 + br i1 %.not4593, label %1610, label %1607 1607: ; preds = %1606 %1608 = and i32 %1592, -1073741824 @@ -53489,7 +53484,7 @@ zend_jit_trace_call_frame.exit4824: ; preds = %._crit_edge140, %12 br label %1615 1615: ; preds = %1537, %1539, %1581, %1600, %1613, %1587, %1509, %1535, %1522, %1504 - %1616 = icmp eq i8 %spec.select4770, 7 + %1616 = icmp eq i8 %spec.select4769, 7 br i1 %1616, label %1617, label %thread-pre-split 1617: ; preds = %1615 @@ -53514,8 +53509,8 @@ zend_jit_trace_call_frame.exit4824: ; preds = %._crit_edge140, %12 1631: ; preds = %1629, %1621 %1632 = and i32 %1315, 16 - %.not4604 = icmp eq i32 %1632, 0 - br i1 %.not4604, label %1633, label %1647 + %.not4603 = icmp eq i32 %1632, 0 + br i1 %.not4603, label %1633, label %1647 1633: ; preds = %1631 %1634 = load ptr, ptr %973, align 8 @@ -53527,11 +53522,11 @@ zend_jit_trace_call_frame.exit4824: ; preds = %._crit_edge140, %12 %1640 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %1634, i64 %1639 %1641 = load i32, ptr %1640, align 8 %1642 = and i32 %1641, 2097152 - %.not4605 = icmp eq i32 %1642, 0 + %.not4604 = icmp eq i32 %1642, 0 %1643 = and i32 %1641, 12582912 - %.not4606 = icmp eq i32 %1643, 0 - %or.cond4772 = or i1 %.not4605, %.not4606 - br i1 %or.cond4772, label %thread-pre-split, label %1644 + %.not4605 = icmp eq i32 %1643, 0 + %or.cond4771 = or i1 %.not4604, %.not4605 + br i1 %or.cond4771, label %thread-pre-split, label %1644 1644: ; preds = %1633 %1645 = and i32 %1641, -136314881 @@ -53562,11 +53557,11 @@ switch.early.test: ; preds = %1647 %1657 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %1651, i64 %1656 %1658 = load i32, ptr %1657, align 8 %1659 = and i32 %1658, 2097152 - %.not4607 = icmp eq i32 %1659, 0 + %.not4606 = icmp eq i32 %1659, 0 %1660 = and i32 %1658, 12582912 - %.not4608 = icmp eq i32 %1660, 0 - %or.cond4773 = or i1 %.not4607, %.not4608 - br i1 %or.cond4773, label %thread-pre-split, label %1661 + %.not4607 = icmp eq i32 %1660, 0 + %or.cond4772 = or i1 %.not4606, %.not4607 + br i1 %or.cond4772, label %thread-pre-split, label %1661 1661: ; preds = %1650 %1662 = and i32 %1658, -146800641 @@ -53585,14 +53580,14 @@ switch.early.test: ; preds = %1647 1667: ; preds = %1664 %1668 = getelementptr inbounds nuw i8, ptr %1308, i64 31 %1669 = load i8, ptr %1668, align 1 - %.not4576 = icmp eq i8 %1669, 0 - br i1 %.not4576, label %1670, label %thread-pre-split + %.not4575 = icmp eq i8 %1669, 0 + br i1 %.not4575, label %1670, label %thread-pre-split 1670: ; preds = %1667, %1337, %1337, %1337, %1337, %1337 %1671 = getelementptr inbounds nuw i8, ptr %1308, i64 30 %1672 = load i8, ptr %1671, align 2 - %.not4577 = icmp eq i8 %1672, 1 - br i1 %.not4577, label %1673, label %thread-pre-split + %.not4576 = icmp eq i8 %1672, 1 + br i1 %.not4576, label %1673, label %thread-pre-split 1673: ; preds = %1670 %1674 = getelementptr inbounds nuw i8, ptr %1308, i64 12 @@ -53601,8 +53596,8 @@ switch.early.test: ; preds = %1647 %1677 = getelementptr inbounds i8, ptr %1308, i64 %1676 %1678 = getelementptr inbounds nuw i8, ptr %1677, i64 8 %1679 = load i8, ptr %1678, align 8 - %.not4578 = icmp eq i8 %1679, 6 - br i1 %.not4578, label %1680, label %thread-pre-split + %.not4577 = icmp eq i8 %1679, 6 + br i1 %.not4577, label %1680, label %thread-pre-split 1680: ; preds = %1673 %1681 = load ptr, ptr %1677, align 8 @@ -53658,16 +53653,16 @@ switch.early.test: ; preds = %1647 %1714 = load i32, ptr %1713, align 8 %1715 = and i32 %1714, 1023 %1716 = shl nuw i32 1, %1710 - %.not4579 = icmp eq i32 %1715, %1716 - br i1 %.not4579, label %1737, label %1717 + %.not4578 = icmp eq i32 %1715, %1716 + br i1 %.not4578, label %1737, label %1717 1717: ; preds = %1709 %1718 = load ptr, ptr %796, align 8 %1719 = getelementptr inbounds nuw %struct._zend_ssa_var, ptr %1718, i64 %1712, i32 7 %1720 = load i8, ptr %1719, align 8 %1721 = and i8 %1720, 12 - %.not4580 = icmp eq i8 %1721, 0 - br i1 %.not4580, label %1724, label %1722 + %.not4579 = icmp eq i8 %1721, 0 + br i1 %.not4579, label %1724, label %1722 1722: ; preds = %1717 %1723 = or i32 %1714, 268435456 @@ -53682,8 +53677,8 @@ switch.early.test: ; preds = %1647 br i1 %1727, label %1735, label %1728 1728: ; preds = %1724 - %.not4581 = icmp eq i8 %spec.store.select196, 7 - br i1 %.not4581, label %1732, label %1729 + %.not4580 = icmp eq i8 %spec.store.select196, 7 + br i1 %.not4580, label %1732, label %1729 1729: ; preds = %1728 %1730 = and i32 %1714, -1073741824 @@ -53718,16 +53713,16 @@ switch.early.test: ; preds = %1647 %1747 = load i32, ptr %1746, align 8 %1748 = and i32 %1747, 1023 %1749 = shl nuw i32 1, %1743 - %.not4582 = icmp eq i32 %1748, %1749 - br i1 %.not4582, label %thread-pre-split, label %1750 + %.not4581 = icmp eq i32 %1748, %1749 + br i1 %.not4581, label %thread-pre-split, label %1750 1750: ; preds = %1742 %1751 = load ptr, ptr %796, align 8 %1752 = getelementptr inbounds nuw %struct._zend_ssa_var, ptr %1751, i64 %1745, i32 7 %1753 = load i8, ptr %1752, align 8 %1754 = and i8 %1753, 12 - %.not4583 = icmp eq i8 %1754, 0 - br i1 %.not4583, label %1757, label %1755 + %.not4582 = icmp eq i8 %1754, 0 + br i1 %.not4582, label %1757, label %1755 1755: ; preds = %1750 %1756 = or i32 %1747, 268435456 @@ -53742,8 +53737,8 @@ switch.early.test: ; preds = %1647 br i1 %1760, label %1768, label %1761 1761: ; preds = %1757 - %.not4584 = icmp eq i8 %1317, 7 - br i1 %.not4584, label %1765, label %1762 + %.not4583 = icmp eq i8 %1317, 7 + br i1 %.not4583, label %1765, label %1762 1762: ; preds = %1761 %1763 = and i32 %1747, -1073741824 @@ -53795,16 +53790,16 @@ switch.early.test: ; preds = %1647 %1792 = load i32, ptr %1791, align 8 %1793 = and i32 %1792, 1023 %1794 = shl nuw i32 1, %1788 - %.not4570 = icmp eq i32 %1793, %1794 - br i1 %.not4570, label %1812, label %1795 + %.not4569 = icmp eq i32 %1793, %1794 + br i1 %.not4569, label %1812, label %1795 1795: ; preds = %1787 %1796 = load ptr, ptr %796, align 8 %1797 = getelementptr inbounds nuw %struct._zend_ssa_var, ptr %1796, i64 %1790, i32 7 %1798 = load i8, ptr %1797, align 8 %1799 = and i8 %1798, 12 - %.not4571 = icmp eq i8 %1799, 0 - br i1 %.not4571, label %1800, label %.sink.split345 + %.not4570 = icmp eq i8 %1799, 0 + br i1 %.not4570, label %1800, label %.sink.split345 1800: ; preds = %1795 %1801 = and i32 %1792, %1794 @@ -53814,8 +53809,8 @@ switch.early.test: ; preds = %1647 br i1 %1803, label %.sink.split345, label %1804 1804: ; preds = %1800 - %.not4572 = icmp eq i8 %spec.store.select13, 7 - br i1 %.not4572, label %1808, label %1805 + %.not4571 = icmp eq i8 %spec.store.select13, 7 + br i1 %.not4571, label %1808, label %1805 1805: ; preds = %1804 %1806 = and i32 %1792, -1073741824 @@ -53849,16 +53844,16 @@ switch.early.test: ; preds = %1647 %1822 = load i32, ptr %1821, align 8 %1823 = and i32 %1822, 1023 %1824 = shl nuw i32 1, %1818 - %.not4573 = icmp eq i32 %1823, %1824 - br i1 %.not4573, label %thread-pre-split, label %1825 + %.not4572 = icmp eq i32 %1823, %1824 + br i1 %.not4572, label %thread-pre-split, label %1825 1825: ; preds = %1817 %1826 = load ptr, ptr %796, align 8 %1827 = getelementptr inbounds nuw %struct._zend_ssa_var, ptr %1826, i64 %1820, i32 7 %1828 = load i8, ptr %1827, align 8 %1829 = and i8 %1828, 12 - %.not4574 = icmp eq i8 %1829, 0 - br i1 %.not4574, label %1832, label %1830 + %.not4573 = icmp eq i8 %1829, 0 + br i1 %.not4573, label %1832, label %1830 1830: ; preds = %1825 %1831 = or i32 %1822, 268435456 @@ -53873,8 +53868,8 @@ switch.early.test: ; preds = %1647 br i1 %1835, label %1843, label %1836 1836: ; preds = %1832 - %.not4575 = icmp eq i8 %1317, 7 - br i1 %.not4575, label %1840, label %1837 + %.not4574 = icmp eq i8 %1317, 7 + br i1 %.not4574, label %1840, label %1837 1837: ; preds = %1836 %1838 = and i32 %1822, -1073741824 @@ -53916,16 +53911,16 @@ switch.early.test: ; preds = %1647 %1860 = load i32, ptr %1859, align 8 %1861 = and i32 %1860, 1023 %1862 = shl nuw i32 1, %1856 - %.not4564 = icmp eq i32 %1861, %1862 - br i1 %.not4564, label %1880, label %1863 + %.not4563 = icmp eq i32 %1861, %1862 + br i1 %.not4563, label %1880, label %1863 1863: ; preds = %1855 %1864 = load ptr, ptr %796, align 8 %1865 = getelementptr inbounds nuw %struct._zend_ssa_var, ptr %1864, i64 %1858, i32 7 %1866 = load i8, ptr %1865, align 8 %1867 = and i8 %1866, 12 - %.not4565 = icmp eq i8 %1867, 0 - br i1 %.not4565, label %1868, label %.sink.split347 + %.not4564 = icmp eq i8 %1867, 0 + br i1 %.not4564, label %1868, label %.sink.split347 1868: ; preds = %1863 %1869 = and i32 %1860, %1862 @@ -53935,8 +53930,8 @@ switch.early.test: ; preds = %1647 br i1 %1871, label %.sink.split347, label %1872 1872: ; preds = %1868 - %.not4566 = icmp eq i8 %spec.store.select13, 7 - br i1 %.not4566, label %1876, label %1873 + %.not4565 = icmp eq i8 %spec.store.select13, 7 + br i1 %.not4565, label %1876, label %1873 1873: ; preds = %1872 %1874 = and i32 %1860, -1073741824 @@ -53971,16 +53966,16 @@ switch.early.test: ; preds = %1647 %1891 = load i32, ptr %1890, align 8 %1892 = and i32 %1891, 1023 %1893 = shl nuw i32 1, %1887 - %.not4567 = icmp eq i32 %1892, %1893 - br i1 %.not4567, label %thread-pre-split, label %1894 + %.not4566 = icmp eq i32 %1892, %1893 + br i1 %.not4566, label %thread-pre-split, label %1894 1894: ; preds = %1886 %1895 = load ptr, ptr %796, align 8 %1896 = getelementptr inbounds nuw %struct._zend_ssa_var, ptr %1895, i64 %1889, i32 7 %1897 = load i8, ptr %1896, align 8 %1898 = and i8 %1897, 12 - %.not4568 = icmp eq i8 %1898, 0 - br i1 %.not4568, label %1901, label %1899 + %.not4567 = icmp eq i8 %1898, 0 + br i1 %.not4567, label %1901, label %1899 1899: ; preds = %1894 %1900 = or i32 %1891, 268435456 @@ -53995,8 +53990,8 @@ switch.early.test: ; preds = %1647 br i1 %1904, label %1912, label %1905 1905: ; preds = %1901 - %.not4569 = icmp eq i8 %1317, 7 - br i1 %.not4569, label %1909, label %1906 + %.not4568 = icmp eq i8 %1317, 7 + br i1 %.not4568, label %1909, label %1906 1906: ; preds = %1905 %1907 = and i32 %1891, -1073741824 @@ -54031,16 +54026,16 @@ switch.early.test: ; preds = %1647 %1925 = load i32, ptr %1924, align 8 %1926 = and i32 %1925, 1023 %1927 = shl nuw i32 1, %1921 - %.not4558 = icmp eq i32 %1926, %1927 - br i1 %.not4558, label %1945, label %1928 + %.not4557 = icmp eq i32 %1926, %1927 + br i1 %.not4557, label %1945, label %1928 1928: ; preds = %1920 %1929 = load ptr, ptr %796, align 8 %1930 = getelementptr inbounds nuw %struct._zend_ssa_var, ptr %1929, i64 %1923, i32 7 %1931 = load i8, ptr %1930, align 8 %1932 = and i8 %1931, 12 - %.not4559 = icmp eq i8 %1932, 0 - br i1 %.not4559, label %1933, label %.sink.split350 + %.not4558 = icmp eq i8 %1932, 0 + br i1 %.not4558, label %1933, label %.sink.split350 1933: ; preds = %1928 %1934 = and i32 %1925, %1927 @@ -54050,8 +54045,8 @@ switch.early.test: ; preds = %1647 br i1 %1936, label %.sink.split350, label %1937 1937: ; preds = %1933 - %.not4560 = icmp eq i8 %1317, 7 - br i1 %.not4560, label %1941, label %1938 + %.not4559 = icmp eq i8 %1317, 7 + br i1 %.not4559, label %1941, label %1938 1938: ; preds = %1937 %1939 = and i32 %1925, -1073741824 @@ -54070,11 +54065,11 @@ switch.early.test: ; preds = %1647 br label %1945 1945: ; preds = %.sink.split350, %1914, %1920 - %1946 = icmp eq i8 %spec.select4770, 7 + %1946 = icmp eq i8 %spec.select4769, 7 %1947 = and i32 %1315, 239 %1948 = icmp eq i32 %1947, 7 - %or.cond4775 = select i1 %1946, i1 %1948, i1 false - br i1 %or.cond4775, label %1949, label %thread-pre-split + %or.cond4774 = select i1 %1946, i1 %1948, i1 false + br i1 %or.cond4774, label %1949, label %thread-pre-split 1949: ; preds = %1945 %1950 = load ptr, ptr %973, align 8 @@ -54085,17 +54080,17 @@ switch.early.test: ; preds = %1647 %1955 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %1950, i64 %1954 %1956 = load i32, ptr %1955, align 8 %1957 = and i32 %1956, 2097152 - %.not4561 = icmp eq i32 %1957, 0 + %.not4560 = icmp eq i32 %1957, 0 %1958 = and i32 %1956, 12582912 - %.not4562 = icmp eq i32 %1958, 0 - %or.cond4776 = or i1 %.not4561, %.not4562 - br i1 %or.cond4776, label %thread-pre-split, label %1959 + %.not4561 = icmp eq i32 %1958, 0 + %or.cond4775 = or i1 %.not4560, %.not4561 + br i1 %or.cond4775, label %thread-pre-split, label %1959 1959: ; preds = %1949 %1960 = or i32 %1956, 134217728 store i32 %1960, ptr %1955, align 8 - %.not4563 = icmp ult i8 %1310, 16 - br i1 %.not4563, label %1963, label %1961 + %.not4562 = icmp ult i8 %1310, 16 + br i1 %.not4562, label %1963, label %1961 1961: ; preds = %1959 %1962 = and i32 %1960, -12582913 @@ -54110,15 +54105,15 @@ switch.early.test: ; preds = %1647 1965: ; preds = %1337 %1966 = getelementptr inbounds nuw i8, ptr %1308, i64 29 %1967 = load i8, ptr %1966, align 1 - %switch4810 = icmp ult i8 %1967, 2 - br i1 %switch4810, label %.thread11, label %1968 + %switch4809 = icmp ult i8 %1967, 2 + br i1 %switch4809, label %.thread11, label %1968 1968: ; preds = %1965 %1969 = getelementptr inbounds nuw i8, ptr %.43957, i64 4 %1970 = load i32, ptr %1969, align 4 %1971 = and i32 %1970, 4096 - %.not4554 = icmp eq i32 %1971, 0 - br i1 %.not4554, label %1972, label %thread-pre-split + %.not4553 = icmp eq i32 %1971, 0 + br i1 %.not4553, label %1972, label %thread-pre-split 1972: ; preds = %1968 %1973 = load ptr, ptr %483, align 8 @@ -54137,16 +54132,16 @@ switch.early.test: ; preds = %1647 %1983 = load i32, ptr %1982, align 8 %1984 = and i32 %1983, 1023 %1985 = shl nuw i32 1, %1979 - %.not4555 = icmp eq i32 %1984, %1985 - br i1 %.not4555, label %thread-pre-split, label %1986 + %.not4554 = icmp eq i32 %1984, %1985 + br i1 %.not4554, label %thread-pre-split, label %1986 1986: ; preds = %1978 %1987 = load ptr, ptr %796, align 8 %1988 = getelementptr inbounds nuw %struct._zend_ssa_var, ptr %1987, i64 %1981, i32 7 %1989 = load i8, ptr %1988, align 8 %1990 = and i8 %1989, 12 - %.not4556 = icmp eq i8 %1990, 0 - br i1 %.not4556, label %1993, label %1991 + %.not4555 = icmp eq i8 %1990, 0 + br i1 %.not4555, label %1993, label %1991 1991: ; preds = %1986 %1992 = or i32 %1983, 268435456 @@ -54161,8 +54156,8 @@ switch.early.test: ; preds = %1647 br i1 %1996, label %2004, label %1997 1997: ; preds = %1993 - %.not4557 = icmp eq i8 %1317, 7 - br i1 %.not4557, label %2001, label %1998 + %.not4556 = icmp eq i8 %1317, 7 + br i1 %.not4556, label %2001, label %1998 1998: ; preds = %1997 %1999 = and i32 %1983, -1073741824 @@ -54181,26 +54176,26 @@ switch.early.test: ; preds = %1647 br label %thread-pre-split 2006: ; preds = %1337 - %.not4544 = icmp eq ptr %.23868, null - br i1 %.not4544, label %.thread11, label %2007 + %.not4543 = icmp eq ptr %.23868, null + br i1 %.not4543, label %.thread11, label %2007 2007: ; preds = %2006 %2008 = load ptr, ptr %.23868, align 8 - %.not4545 = icmp eq ptr %2008, null - br i1 %.not4545, label %thread-pre-split, label %2009 + %.not4544 = icmp eq ptr %2008, null + br i1 %.not4544, label %thread-pre-split, label %2009 2009: ; preds = %2007 %2010 = getelementptr inbounds nuw i8, ptr %2008, i64 16 %2011 = load ptr, ptr %2010, align 8 - %.not4546 = icmp eq ptr %2011, null - br i1 %.not4546, label %thread-pre-split, label %2012 + %.not4545 = icmp eq ptr %2011, null + br i1 %.not4545, label %thread-pre-split, label %2012 2012: ; preds = %2009 %2013 = getelementptr inbounds nuw i8, ptr %2008, i64 44 %2014 = load i32, ptr %2013, align 4 %2015 = and i32 %2014, 4 - %.not4547 = icmp eq i32 %2015, 0 - br i1 %.not4547, label %thread-pre-split, label %2016 + %.not4546 = icmp eq i32 %2015, 0 + br i1 %.not4546, label %thread-pre-split, label %2016 2016: ; preds = %2012 %2017 = load ptr, ptr %483, align 8 @@ -54220,16 +54215,16 @@ switch.early.test: ; preds = %1647 %2028 = load i32, ptr %2027, align 8 %2029 = and i32 %2028, 1023 %2030 = shl nuw i32 1, %2024 - %.not4548 = icmp eq i32 %2029, %2030 - br i1 %.not4548, label %2048, label %2031 + %.not4547 = icmp eq i32 %2029, %2030 + br i1 %.not4547, label %2048, label %2031 2031: ; preds = %2023 %2032 = load ptr, ptr %796, align 8 %2033 = getelementptr inbounds nuw %struct._zend_ssa_var, ptr %2032, i64 %2026, i32 7 %2034 = load i8, ptr %2033, align 8 %2035 = and i8 %2034, 12 - %.not4549 = icmp eq i8 %2035, 0 - br i1 %.not4549, label %2036, label %.sink.split353 + %.not4548 = icmp eq i8 %2035, 0 + br i1 %.not4548, label %2036, label %.sink.split353 2036: ; preds = %2031 %2037 = and i32 %2028, %2030 @@ -54239,8 +54234,8 @@ switch.early.test: ; preds = %1647 br i1 %2039, label %.sink.split353, label %2040 2040: ; preds = %2036 - %.not4550 = icmp eq i8 %spec.store.select13, 7 - br i1 %.not4550, label %2044, label %2041 + %.not4549 = icmp eq i8 %spec.store.select13, 7 + br i1 %.not4549, label %2044, label %2041 2041: ; preds = %2040 %2042 = and i32 %2028, -1073741824 @@ -54274,16 +54269,16 @@ switch.early.test: ; preds = %1647 %2058 = load i32, ptr %2057, align 8 %2059 = and i32 %2058, 1023 %2060 = shl nuw i32 1, %2054 - %.not4551 = icmp eq i32 %2059, %2060 - br i1 %.not4551, label %thread-pre-split, label %2061 + %.not4550 = icmp eq i32 %2059, %2060 + br i1 %.not4550, label %thread-pre-split, label %2061 2061: ; preds = %2053 %2062 = load ptr, ptr %796, align 8 %2063 = getelementptr inbounds nuw %struct._zend_ssa_var, ptr %2062, i64 %2056, i32 7 %2064 = load i8, ptr %2063, align 8 %2065 = and i8 %2064, 12 - %.not4552 = icmp eq i8 %2065, 0 - br i1 %.not4552, label %2068, label %2066 + %.not4551 = icmp eq i8 %2065, 0 + br i1 %.not4551, label %2068, label %2066 2066: ; preds = %2061 %2067 = or i32 %2058, 268435456 @@ -54298,8 +54293,8 @@ switch.early.test: ; preds = %1647 br i1 %2071, label %2079, label %2072 2072: ; preds = %2068 - %.not4553 = icmp eq i8 %1317, 7 - br i1 %.not4553, label %2076, label %2073 + %.not4552 = icmp eq i8 %1317, 7 + br i1 %.not4552, label %2076, label %2073 2073: ; preds = %2072 %2074 = and i32 %2058, -1073741824 @@ -54320,8 +54315,8 @@ switch.early.test: ; preds = %1647 2081: ; preds = %1337, %1337, %1337, %1337 %2082 = getelementptr inbounds nuw i8, ptr %1308, i64 29 %2083 = load i8, ptr %2082, align 1 - %.not4540 = icmp eq i8 %2083, 8 - br i1 %.not4540, label %2084, label %thread-pre-split + %.not4539 = icmp eq i8 %2083, 8 + br i1 %.not4539, label %2084, label %thread-pre-split 2084: ; preds = %2081 %2085 = load ptr, ptr %483, align 8 @@ -54340,16 +54335,16 @@ switch.early.test: ; preds = %1647 %2095 = load i32, ptr %2094, align 8 %2096 = and i32 %2095, 1023 %2097 = shl nuw i32 1, %2091 - %.not4541 = icmp eq i32 %2096, %2097 - br i1 %.not4541, label %thread-pre-split, label %2098 + %.not4540 = icmp eq i32 %2096, %2097 + br i1 %.not4540, label %thread-pre-split, label %2098 2098: ; preds = %2090 %2099 = load ptr, ptr %796, align 8 %2100 = getelementptr inbounds nuw %struct._zend_ssa_var, ptr %2099, i64 %2093, i32 7 %2101 = load i8, ptr %2100, align 8 %2102 = and i8 %2101, 12 - %.not4542 = icmp eq i8 %2102, 0 - br i1 %.not4542, label %2105, label %2103 + %.not4541 = icmp eq i8 %2102, 0 + br i1 %.not4541, label %2105, label %2103 2103: ; preds = %2098 %2104 = or i32 %2095, 268435456 @@ -54364,8 +54359,8 @@ switch.early.test: ; preds = %1647 br i1 %2108, label %2116, label %2109 2109: ; preds = %2105 - %.not4543 = icmp eq i8 %1317, 7 - br i1 %.not4543, label %2113, label %2110 + %.not4542 = icmp eq i8 %1317, 7 + br i1 %.not4542, label %2113, label %2110 2110: ; preds = %2109 %2111 = and i32 %2095, -1073741824 @@ -54386,8 +54381,8 @@ switch.early.test: ; preds = %1647 2118: ; preds = %1337 %2119 = getelementptr inbounds nuw i8, ptr %1308, i64 29 %2120 = load i8, ptr %2119, align 1 - %.not4531 = icmp eq i8 %2120, 8 - br i1 %.not4531, label %2121, label %.thread11 + %.not4530 = icmp eq i8 %2120, 8 + br i1 %.not4530, label %2121, label %.thread11 2121: ; preds = %2118 %2122 = load ptr, ptr %483, align 8 @@ -54407,16 +54402,16 @@ switch.early.test: ; preds = %1647 %2133 = load i32, ptr %2132, align 8 %2134 = and i32 %2133, 1023 %2135 = shl nuw i32 1, %2129 - %.not4532 = icmp eq i32 %2134, %2135 - br i1 %.not4532, label %2153, label %2136 + %.not4531 = icmp eq i32 %2134, %2135 + br i1 %.not4531, label %2153, label %2136 2136: ; preds = %2128 %2137 = load ptr, ptr %796, align 8 %2138 = getelementptr inbounds nuw %struct._zend_ssa_var, ptr %2137, i64 %2131, i32 7 %2139 = load i8, ptr %2138, align 8 %2140 = and i8 %2139, 12 - %.not4533 = icmp eq i8 %2140, 0 - br i1 %.not4533, label %2141, label %.sink.split355 + %.not4532 = icmp eq i8 %2140, 0 + br i1 %.not4532, label %2141, label %.sink.split355 2141: ; preds = %2136 %2142 = and i32 %2133, %2135 @@ -54426,8 +54421,8 @@ switch.early.test: ; preds = %1647 br i1 %2144, label %.sink.split355, label %2145 2145: ; preds = %2141 - %.not4534 = icmp eq i8 %spec.store.select13, 7 - br i1 %.not4534, label %2149, label %2146 + %.not4533 = icmp eq i8 %spec.store.select13, 7 + br i1 %.not4533, label %2149, label %2146 2146: ; preds = %2145 %2147 = and i32 %2133, -1073741824 @@ -54446,7 +54441,7 @@ switch.early.test: ; preds = %1647 br label %2153 2153: ; preds = %.sink.split355, %2121, %2128 - %2154 = zext nneg i8 %spec.select4770 to i32 + %2154 = zext nneg i8 %spec.select4769 to i32 br i1 %.not4448, label %2155, label %thread-pre-split 2155: ; preds = %2153 @@ -54458,24 +54453,24 @@ switch.early.test: ; preds = %1647 %2161 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %2156, i64 %2160 %2162 = load i32, ptr %2161, align 8 %2163 = and i32 %2162, 1024 - %.not4536 = icmp ne i32 %2163, 0 + %.not4535 = icmp ne i32 %2163, 0 %2164 = icmp sgt i32 %2159, -1 - %or.cond4777 = and i1 %2164, %.not4536 - br i1 %or.cond4777, label %2165, label %thread-pre-split + %or.cond4776 = and i1 %2164, %.not4535 + br i1 %or.cond4776, label %2165, label %thread-pre-split 2165: ; preds = %2155 %2166 = and i32 %2162, 1023 %2167 = shl nuw i32 1, %2154 - %.not4537 = icmp eq i32 %2166, %2167 - br i1 %.not4537, label %thread-pre-split, label %2168 + %.not4536 = icmp eq i32 %2166, %2167 + br i1 %.not4536, label %thread-pre-split, label %2168 2168: ; preds = %2165 %2169 = load ptr, ptr %796, align 8 %2170 = getelementptr inbounds nuw %struct._zend_ssa_var, ptr %2169, i64 %2160, i32 7 %2171 = load i8, ptr %2170, align 8 %2172 = and i8 %2171, 12 - %.not4538 = icmp eq i8 %2172, 0 - br i1 %.not4538, label %2175, label %2173 + %.not4537 = icmp eq i8 %2172, 0 + br i1 %.not4537, label %2175, label %2173 2173: ; preds = %2168 %2174 = or i32 %2162, 268435456 @@ -54490,8 +54485,8 @@ switch.early.test: ; preds = %1647 br i1 %2178, label %2186, label %2179 2179: ; preds = %2175 - %.not4539 = icmp eq i8 %1317, 7 - br i1 %.not4539, label %2183, label %2180 + %.not4538 = icmp eq i8 %1317, 7 + br i1 %.not4538, label %2183, label %2180 2180: ; preds = %2179 %2181 = and i32 %2162, -1073741824 @@ -54512,9 +54507,9 @@ switch.early.test: ; preds = %1647 2188: ; preds = %1337 %2189 = getelementptr inbounds nuw i8, ptr %1308, i64 20 %2190 = load i32, ptr %2189, align 4 - %2191 = zext i8 %spec.select4770 to i32 - %.not4527 = icmp eq i32 %2190, %2191 - br i1 %.not4527, label %2192, label %thread-pre-split + %2191 = zext i8 %spec.select4769 to i32 + %.not4526 = icmp eq i32 %2190, %2191 + br i1 %.not4526, label %2192, label %thread-pre-split 2192: ; preds = %2188 %2193 = load ptr, ptr %483, align 8 @@ -54532,16 +54527,16 @@ switch.early.test: ; preds = %1647 %2202 = load i32, ptr %2201, align 8 %2203 = and i32 %2202, 1023 %2204 = shl nuw i32 1, %2191 - %.not4528 = icmp eq i32 %2203, %2204 - br i1 %.not4528, label %thread-pre-split, label %2205 + %.not4527 = icmp eq i32 %2203, %2204 + br i1 %.not4527, label %thread-pre-split, label %2205 2205: ; preds = %2198 %2206 = load ptr, ptr %796, align 8 %2207 = getelementptr inbounds nuw %struct._zend_ssa_var, ptr %2206, i64 %2200, i32 7 %2208 = load i8, ptr %2207, align 8 %2209 = and i8 %2208, 12 - %.not4529 = icmp eq i8 %2209, 0 - br i1 %.not4529, label %2212, label %2210 + %.not4528 = icmp eq i8 %2209, 0 + br i1 %.not4528, label %2212, label %2210 2210: ; preds = %2205 %2211 = or i32 %2202, 268435456 @@ -54556,8 +54551,8 @@ switch.early.test: ; preds = %1647 br i1 %2215, label %2223, label %2216 2216: ; preds = %2212 - %.not4530 = icmp eq i8 %1317, 7 - br i1 %.not4530, label %2220, label %2217 + %.not4529 = icmp eq i8 %1317, 7 + br i1 %.not4529, label %2220, label %2217 2217: ; preds = %2216 %2218 = and i32 %2202, -1073741824 @@ -54592,16 +54587,16 @@ switch.early.test: ; preds = %1647 %2236 = load i32, ptr %2235, align 8 %2237 = and i32 %2236, 1023 %2238 = shl nuw i32 1, %2232 - %.not4524 = icmp eq i32 %2237, %2238 - br i1 %.not4524, label %thread-pre-split, label %2239 + %.not4523 = icmp eq i32 %2237, %2238 + br i1 %.not4523, label %thread-pre-split, label %2239 2239: ; preds = %2231 %2240 = load ptr, ptr %796, align 8 %2241 = getelementptr inbounds nuw %struct._zend_ssa_var, ptr %2240, i64 %2234, i32 7 %2242 = load i8, ptr %2241, align 8 %2243 = and i8 %2242, 12 - %.not4525 = icmp eq i8 %2243, 0 - br i1 %.not4525, label %2246, label %2244 + %.not4524 = icmp eq i8 %2243, 0 + br i1 %.not4524, label %2246, label %2244 2244: ; preds = %2239 %2245 = or i32 %2236, 268435456 @@ -54616,8 +54611,8 @@ switch.early.test: ; preds = %1647 br i1 %2249, label %2257, label %2250 2250: ; preds = %2246 - %.not4526 = icmp eq i8 %1317, 7 - br i1 %.not4526, label %2254, label %2251 + %.not4525 = icmp eq i8 %1317, 7 + br i1 %.not4525, label %2254, label %2251 2251: ; preds = %2250 %2252 = and i32 %2236, -1073741824 @@ -54639,8 +54634,8 @@ switch.early.test: ; preds = %1647 %2260 = getelementptr inbounds nuw i8, ptr %1308, i64 20 %2261 = load i32, ptr %2260, align 4 %2262 = and i32 %2261, 1 - %.not4520 = icmp eq i32 %2262, 0 - br i1 %.not4520, label %2263, label %thread-pre-split + %.not4519 = icmp eq i32 %2262, 0 + br i1 %.not4519, label %2263, label %thread-pre-split 2263: ; preds = %2259 %2264 = load ptr, ptr %483, align 8 @@ -54659,16 +54654,16 @@ switch.early.test: ; preds = %1647 %2274 = load i32, ptr %2273, align 8 %2275 = and i32 %2274, 1023 %2276 = shl nuw i32 1, %2270 - %.not4521 = icmp eq i32 %2275, %2276 - br i1 %.not4521, label %thread-pre-split, label %2277 + %.not4520 = icmp eq i32 %2275, %2276 + br i1 %.not4520, label %thread-pre-split, label %2277 2277: ; preds = %2269 %2278 = load ptr, ptr %796, align 8 %2279 = getelementptr inbounds nuw %struct._zend_ssa_var, ptr %2278, i64 %2272, i32 7 %2280 = load i8, ptr %2279, align 8 %2281 = and i8 %2280, 12 - %.not4522 = icmp eq i8 %2281, 0 - br i1 %.not4522, label %2284, label %2282 + %.not4521 = icmp eq i8 %2281, 0 + br i1 %.not4521, label %2284, label %2282 2282: ; preds = %2277 %2283 = or i32 %2274, 268435456 @@ -54683,8 +54678,8 @@ switch.early.test: ; preds = %1647 br i1 %2287, label %2295, label %2288 2288: ; preds = %2284 - %.not4523 = icmp eq i8 %1317, 7 - br i1 %.not4523, label %2292, label %2289 + %.not4522 = icmp eq i8 %1317, 7 + br i1 %.not4522, label %2292, label %2289 2289: ; preds = %2288 %2290 = and i32 %2274, -1073741824 @@ -54727,16 +54722,16 @@ switch.early.test: ; preds = %1647 %2311 = load i32, ptr %2310, align 8 %2312 = and i32 %2311, 1023 %2313 = shl nuw i32 1, %2307 - %.not4517 = icmp eq i32 %2312, %2313 - br i1 %.not4517, label %thread-pre-split, label %2314 + %.not4516 = icmp eq i32 %2312, %2313 + br i1 %.not4516, label %thread-pre-split, label %2314 2314: ; preds = %2306 %2315 = load ptr, ptr %796, align 8 %2316 = getelementptr inbounds nuw %struct._zend_ssa_var, ptr %2315, i64 %2309, i32 7 %2317 = load i8, ptr %2316, align 8 %2318 = and i8 %2317, 12 - %.not4518 = icmp eq i8 %2318, 0 - br i1 %.not4518, label %2321, label %2319 + %.not4517 = icmp eq i8 %2318, 0 + br i1 %.not4517, label %2321, label %2319 2319: ; preds = %2314 %2320 = or i32 %2311, 268435456 @@ -54751,8 +54746,8 @@ switch.early.test: ; preds = %1647 br i1 %2324, label %2332, label %2325 2325: ; preds = %2321 - %.not4519 = icmp eq i8 %1317, 7 - br i1 %.not4519, label %2329, label %2326 + %.not4518 = icmp eq i8 %1317, 7 + br i1 %.not4518, label %2329, label %2326 2326: ; preds = %2325 %2327 = and i32 %2311, -1073741824 @@ -54774,8 +54769,8 @@ switch.early.test: ; preds = %1647 %2335 = getelementptr inbounds nuw i8, ptr %1308, i64 20 %2336 = load i32, ptr %2335, align 4 %2337 = and i32 %2336, 1 - %.not4506 = icmp eq i32 %2337, 0 - br i1 %.not4506, label %2338, label %thread-pre-split + %.not4505 = icmp eq i32 %2337, 0 + br i1 %.not4505, label %2338, label %thread-pre-split 2338: ; preds = %1337, %1337, %1337, %2334 %2339 = load ptr, ptr %483, align 8 @@ -54794,16 +54789,16 @@ switch.early.test: ; preds = %1647 %2349 = load i32, ptr %2348, align 8 %2350 = and i32 %2349, 1023 %2351 = shl nuw i32 1, %2345 - %.not4507 = icmp eq i32 %2350, %2351 - br i1 %.not4507, label %2369, label %2352 + %.not4506 = icmp eq i32 %2350, %2351 + br i1 %.not4506, label %2369, label %2352 2352: ; preds = %2344 %2353 = load ptr, ptr %796, align 8 %2354 = getelementptr inbounds nuw %struct._zend_ssa_var, ptr %2353, i64 %2347, i32 7 %2355 = load i8, ptr %2354, align 8 %2356 = and i8 %2355, 12 - %.not4508 = icmp eq i8 %2356, 0 - br i1 %.not4508, label %2357, label %.sink.split358 + %.not4507 = icmp eq i8 %2356, 0 + br i1 %.not4507, label %2357, label %.sink.split358 2357: ; preds = %2352 %2358 = and i32 %2349, %2351 @@ -54813,8 +54808,8 @@ switch.early.test: ; preds = %1647 br i1 %2360, label %.sink.split358, label %2361 2361: ; preds = %2357 - %.not4509 = icmp eq i8 %1317, 7 - br i1 %.not4509, label %2365, label %2362 + %.not4508 = icmp eq i8 %1317, 7 + br i1 %.not4508, label %2365, label %2362 2362: ; preds = %2361 %2363 = and i32 %2349, -1073741824 @@ -54849,16 +54844,16 @@ switch.early.test: ; preds = %1647 %2380 = load i32, ptr %2379, align 8 %2381 = and i32 %2380, 1023 %2382 = shl nuw i32 1, %2376 - %.not4510 = icmp eq i32 %2381, %2382 - br i1 %.not4510, label %2400, label %2383 + %.not4509 = icmp eq i32 %2381, %2382 + br i1 %.not4509, label %2400, label %2383 2383: ; preds = %2375 %2384 = load ptr, ptr %796, align 8 %2385 = getelementptr inbounds nuw %struct._zend_ssa_var, ptr %2384, i64 %2378, i32 7 %2386 = load i8, ptr %2385, align 8 %2387 = and i8 %2386, 12 - %.not4511 = icmp eq i8 %2387, 0 - br i1 %.not4511, label %2388, label %.sink.split360 + %.not4510 = icmp eq i8 %2387, 0 + br i1 %.not4510, label %2388, label %.sink.split360 2388: ; preds = %2383 %2389 = and i32 %2380, %2382 @@ -54868,8 +54863,8 @@ switch.early.test: ; preds = %1647 br i1 %2391, label %.sink.split360, label %2392 2392: ; preds = %2388 - %.not4512 = icmp eq i8 %spec.store.select13, 7 - br i1 %.not4512, label %2396, label %2393 + %.not4511 = icmp eq i8 %spec.store.select13, 7 + br i1 %.not4511, label %2396, label %2393 2393: ; preds = %2392 %2394 = and i32 %2380, -1073741824 @@ -54888,14 +54883,14 @@ switch.early.test: ; preds = %1647 br label %2400 2400: ; preds = %.sink.split360, %2369, %2375 - %2401 = icmp eq i8 %spec.select4770, 7 + %2401 = icmp eq i8 %spec.select4769, 7 br i1 %2401, label %2402, label %thread-pre-split 2402: ; preds = %2400 %2403 = getelementptr inbounds nuw i8, ptr %1308, i64 29 %2404 = load i8, ptr %2403, align 1 - %.not4513 = icmp eq i8 %2404, 1 - br i1 %.not4513, label %thread-pre-split, label %2405 + %.not4512 = icmp eq i8 %2404, 1 + br i1 %.not4512, label %thread-pre-split, label %2405 2405: ; preds = %2402 %2406 = getelementptr inbounds nuw i8, ptr %1308, i64 30 @@ -54926,18 +54921,18 @@ switch.early.test: ; preds = %1647 %2425 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %2420, i64 %2424 %2426 = load i32, ptr %2425, align 8 %2427 = and i32 %2426, 2097152 - %.not4514 = icmp eq i32 %2427, 0 + %.not4513 = icmp eq i32 %2427, 0 %2428 = and i32 %2426, 12582912 - %.not4515 = icmp eq i32 %2428, 0 - %or.cond4778 = or i1 %.not4514, %.not4515 - br i1 %or.cond4778, label %thread-pre-split, label %2429 + %.not4514 = icmp eq i32 %2428, 0 + %or.cond4777 = or i1 %.not4513, %.not4514 + br i1 %or.cond4777, label %thread-pre-split, label %2429 2429: ; preds = %2419 %2430 = or i32 %2426, 134217728 store i32 %2430, ptr %2425, align 8 %2431 = and i32 %1315, 16 - %.not4516 = icmp eq i32 %2431, 0 - br i1 %.not4516, label %2434, label %2432 + %.not4515 = icmp eq i32 %2431, 0 + br i1 %.not4515, label %2434, label %2432 2432: ; preds = %2429 %2433 = and i32 %2430, -12582913 @@ -54952,15 +54947,15 @@ switch.early.test: ; preds = %1647 2436: ; preds = %1337, %1337, %1337 %2437 = getelementptr inbounds nuw i8, ptr %1308, i64 29 %2438 = load i8, ptr %2437, align 1 - %.not4495 = icmp eq i8 %2438, 8 - br i1 %.not4495, label %2442, label %2439 + %.not4494 = icmp eq i8 %2438, 8 + br i1 %.not4494, label %2442, label %2439 2439: ; preds = %2436 %2440 = icmp eq i8 %1310, -1 %2441 = and i32 %1315, 64 - %.not4496 = icmp eq i32 %2441, 0 - %or.cond4779 = select i1 %2440, i1 true, i1 %.not4496 - br i1 %or.cond4779, label %thread-pre-split, label %2442 + %.not4495 = icmp eq i32 %2441, 0 + %or.cond4778 = select i1 %2440, i1 true, i1 %.not4495 + br i1 %or.cond4778, label %thread-pre-split, label %2442 2442: ; preds = %2439, %2436 %2443 = load ptr, ptr %483, align 8 @@ -54979,16 +54974,16 @@ switch.early.test: ; preds = %1647 %2453 = load i32, ptr %2452, align 8 %2454 = and i32 %2453, 1023 %2455 = shl nuw i32 1, %2449 - %.not4497 = icmp eq i32 %2454, %2455 - br i1 %.not4497, label %2473, label %2456 + %.not4496 = icmp eq i32 %2454, %2455 + br i1 %.not4496, label %2473, label %2456 2456: ; preds = %2448 %2457 = load ptr, ptr %796, align 8 %2458 = getelementptr inbounds nuw %struct._zend_ssa_var, ptr %2457, i64 %2451, i32 7 %2459 = load i8, ptr %2458, align 8 %2460 = and i8 %2459, 12 - %.not4498 = icmp eq i8 %2460, 0 - br i1 %.not4498, label %2461, label %.sink.split363 + %.not4497 = icmp eq i8 %2460, 0 + br i1 %.not4497, label %2461, label %.sink.split363 2461: ; preds = %2456 %2462 = and i32 %2453, %2455 @@ -54998,8 +54993,8 @@ switch.early.test: ; preds = %1647 br i1 %2464, label %.sink.split363, label %2465 2465: ; preds = %2461 - %.not4499 = icmp eq i8 %1317, 7 - br i1 %.not4499, label %2469, label %2466 + %.not4498 = icmp eq i8 %1317, 7 + br i1 %.not4498, label %2469, label %2466 2466: ; preds = %2465 %2467 = and i32 %2453, -1073741824 @@ -55034,16 +55029,16 @@ switch.early.test: ; preds = %1647 %2484 = load i32, ptr %2483, align 8 %2485 = and i32 %2484, 1023 %2486 = shl nuw i32 1, %2480 - %.not4500 = icmp eq i32 %2485, %2486 - br i1 %.not4500, label %2504, label %2487 + %.not4499 = icmp eq i32 %2485, %2486 + br i1 %.not4499, label %2504, label %2487 2487: ; preds = %2479 %2488 = load ptr, ptr %796, align 8 %2489 = getelementptr inbounds nuw %struct._zend_ssa_var, ptr %2488, i64 %2482, i32 7 %2490 = load i8, ptr %2489, align 8 %2491 = and i8 %2490, 12 - %.not4501 = icmp eq i8 %2491, 0 - br i1 %.not4501, label %2492, label %.sink.split365 + %.not4500 = icmp eq i8 %2491, 0 + br i1 %.not4500, label %2492, label %.sink.split365 2492: ; preds = %2487 %2493 = and i32 %2484, %2486 @@ -55053,8 +55048,8 @@ switch.early.test: ; preds = %1647 br i1 %2495, label %.sink.split365, label %2496 2496: ; preds = %2492 - %.not4502 = icmp eq i8 %spec.store.select13, 7 - br i1 %.not4502, label %2500, label %2497 + %.not4501 = icmp eq i8 %spec.store.select13, 7 + br i1 %.not4501, label %2500, label %2497 2497: ; preds = %2496 %2498 = and i32 %2484, -1073741824 @@ -55073,11 +55068,11 @@ switch.early.test: ; preds = %1647 br label %2504 2504: ; preds = %.sink.split365, %2473, %2479 - %2505 = icmp eq i8 %spec.select4770, 7 + %2505 = icmp eq i8 %spec.select4769, 7 %2506 = and i32 %1315, 16 - %.not4503 = icmp eq i32 %2506, 0 - %or.cond4780 = select i1 %2505, i1 %.not4503, i1 false - br i1 %or.cond4780, label %2507, label %thread-pre-split + %.not4502 = icmp eq i32 %2506, 0 + %or.cond4779 = select i1 %2505, i1 %.not4502, i1 false + br i1 %or.cond4779, label %2507, label %thread-pre-split 2507: ; preds = %2504 %2508 = getelementptr inbounds nuw i8, ptr %1308, i64 30 @@ -55108,11 +55103,11 @@ switch.early.test: ; preds = %1647 %2527 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %2522, i64 %2526 %2528 = load i32, ptr %2527, align 8 %2529 = and i32 %2528, 2097152 - %.not4504 = icmp eq i32 %2529, 0 + %.not4503 = icmp eq i32 %2529, 0 %2530 = and i32 %2528, 12582912 - %.not4505 = icmp eq i32 %2530, 0 - %or.cond4781 = or i1 %.not4504, %.not4505 - br i1 %or.cond4781, label %thread-pre-split, label %2531 + %.not4504 = icmp eq i32 %2530, 0 + %or.cond4780 = or i1 %.not4503, %.not4504 + br i1 %or.cond4780, label %thread-pre-split, label %2531 2531: ; preds = %2521 %2532 = and i32 %2528, -136314881 @@ -55155,16 +55150,16 @@ switch.early.test: ; preds = %1647 %2557 = load i32, ptr %2556, align 8 %2558 = and i32 %2557, 1023 %2559 = shl nuw i32 1, %2553 - %.not4482 = icmp eq i32 %2558, %2559 - br i1 %.not4482, label %2577, label %2560 + %.not4481 = icmp eq i32 %2558, %2559 + br i1 %.not4481, label %2577, label %2560 2560: ; preds = %2552 %2561 = load ptr, ptr %796, align 8 %2562 = getelementptr inbounds nuw %struct._zend_ssa_var, ptr %2561, i64 %2555, i32 7 %2563 = load i8, ptr %2562, align 8 %2564 = and i8 %2563, 12 - %.not4483 = icmp eq i8 %2564, 0 - br i1 %.not4483, label %2565, label %.sink.split368 + %.not4482 = icmp eq i8 %2564, 0 + br i1 %.not4482, label %2565, label %.sink.split368 2565: ; preds = %2560 %2566 = and i32 %2557, %2559 @@ -55174,8 +55169,8 @@ switch.early.test: ; preds = %1647 br i1 %2568, label %.sink.split368, label %2569 2569: ; preds = %2565 - %.not4484 = icmp eq i8 %1317, 7 - br i1 %.not4484, label %2573, label %2570 + %.not4483 = icmp eq i8 %1317, 7 + br i1 %.not4483, label %2573, label %2570 2570: ; preds = %2569 %2571 = and i32 %2557, -1073741824 @@ -55195,14 +55190,14 @@ switch.early.test: ; preds = %1647 2577: ; preds = %.sink.split368, %2552, %2546, %2538 %2578 = load ptr, ptr %.23868, align 8 - %.not4485 = icmp eq ptr %2578, null - br i1 %.not4485, label %thread-pre-split, label %2579 + %.not4484 = icmp eq ptr %2578, null + br i1 %.not4484, label %thread-pre-split, label %2579 2579: ; preds = %2577 %2580 = getelementptr inbounds nuw i8, ptr %2578, i64 16 %2581 = load ptr, ptr %2580, align 8 - %.not4486 = icmp eq ptr %2581, null - br i1 %.not4486, label %thread-pre-split, label %2582 + %.not4485 = icmp eq ptr %2581, null + br i1 %.not4485, label %thread-pre-split, label %2582 2582: ; preds = %2579 %2583 = load i8, ptr %2581, align 8 @@ -55214,8 +55209,8 @@ switch.early.test: ; preds = %1647 %2587 = load i32, ptr %2586, align 4 %2588 = getelementptr inbounds nuw i8, ptr %2581, i64 32 %2589 = load i32, ptr %2588, align 8 - %.not4487 = icmp ugt i32 %2587, %2589 - br i1 %.not4487, label %thread-pre-split, label %2590 + %.not4486 = icmp ugt i32 %2587, %2589 + br i1 %.not4486, label %thread-pre-split, label %2590 2590: ; preds = %2585 %2591 = getelementptr inbounds nuw i8, ptr %1308, i64 29 @@ -55248,8 +55243,8 @@ switch.early.test: ; preds = %1647 %2605 = shl nuw i32 1, %2604 %2606 = getelementptr inbounds nuw i8, ptr %2598, i64 9 %2607 = load i8, ptr %2606, align 1 - %.not4488 = icmp eq i8 %2607, 0 - br i1 %.not4488, label %2610, label %2608 + %.not4487 = icmp eq i8 %2607, 0 + br i1 %.not4487, label %2610, label %2608 2608: ; preds = %2603 %2609 = or i32 %2605, -1073741824 @@ -55257,7 +55252,7 @@ switch.early.test: ; preds = %1647 2610: ; preds = %2603 %2611 = icmp eq i8 %2600, 6 - %spec.select4782 = select i1 %2611, i32 -2147483584, i32 %2605 + %spec.select4781 = select i1 %2611, i32 -2147483584, i32 %2605 br label %2621 2612: ; preds = %2590 @@ -55276,12 +55271,12 @@ switch.early.test: ; preds = %1647 %.pre276 = phi i32 [ %2587, %2612 ], [ %.pre276.pre, %2601 ], [ %2587, %2594 ], [ %2587, %2608 ], [ %2587, %2610 ] %2622 = phi ptr [ %2581, %2612 ], [ %.pre270, %2601 ], [ %2581, %2594 ], [ %2581, %2608 ], [ %2581, %2610 ] %2623 = phi ptr [ %2578, %2612 ], [ %.pre268, %2601 ], [ %2578, %2594 ], [ %2578, %2608 ], [ %2578, %2610 ] - %.03838 = phi i32 [ %2620, %2612 ], [ %2602, %2601 ], [ -521143298, %2594 ], [ %2609, %2608 ], [ %spec.select4782, %2610 ] + %.03838 = phi i32 [ %2620, %2612 ], [ %2602, %2601 ], [ -521143298, %2594 ], [ %2609, %2608 ], [ %spec.select4781, %2610 ] %2624 = getelementptr inbounds nuw i8, ptr %2622, i64 4 %2625 = load i32, ptr %2624, align 4 %2626 = and i32 %2625, 256 - %.not4489 = icmp eq i32 %2626, 0 - br i1 %.not4489, label %2639, label %2627 + %.not4488 = icmp eq i32 %2626, 0 + br i1 %.not4488, label %2639, label %2627 2627: ; preds = %2621 %2628 = getelementptr inbounds nuw i8, ptr %2622, i64 40 @@ -55292,14 +55287,14 @@ switch.early.test: ; preds = %1647 %2633 = getelementptr inbounds nuw i8, ptr %2632, i64 16 %2634 = load i32, ptr %2633, align 8 %2635 = and i32 %2634, 33554431 - %.not4490 = icmp eq i32 %2635, 0 - br i1 %.not4490, label %2639, label %2636 + %.not4489 = icmp eq i32 %2635, 0 + br i1 %.not4489, label %2639, label %2636 2636: ; preds = %2627 %2637 = call i32 @zend_fetch_arg_info_type(ptr noundef null, ptr noundef nonnull %2632, ptr noundef nonnull %16) #33 %2638 = and i32 %2637, %.03838 - %.not4491 = icmp eq i32 %2638, 0 - br i1 %.not4491, label %thread-pre-split, label %._crit_edge271 + %.not4490 = icmp eq i32 %2638, 0 + br i1 %.not4490, label %thread-pre-split, label %._crit_edge271 ._crit_edge271: ; preds = %2636 %.pre272 = load ptr, ptr %.23868, align 8 @@ -55316,20 +55311,20 @@ switch.early.test: ; preds = %1647 %2643 = load i8, ptr %2591, align 1 %2644 = icmp ne i8 %2643, 8 %2645 = and i32 %.13839, 1073741824 - %.not4492 = icmp eq i32 %2645, 0 - %or.cond4783 = select i1 %2644, i1 true, i1 %.not4492 + %.not4491 = icmp eq i32 %2645, 0 + %or.cond4782 = select i1 %2644, i1 true, i1 %.not4491 %2646 = or i32 %.13839, -2147483648 - %.23840 = select i1 %or.cond4783, i32 %.13839, i32 %2646 + %.23840 = select i1 %or.cond4782, i32 %.13839, i32 %2646 %2647 = and i32 %.23840, 1 - %.not4493 = icmp eq i32 %2647, 0 + %.not4492 = icmp eq i32 %2647, 0 %2648 = and i32 %.23840, -4 %2649 = or disjoint i32 %2648, 2 - %.33841 = select i1 %.not4493, i32 %.23840, i32 %2649 + %.33841 = select i1 %.not4492, i32 %.23840, i32 %2649 %2650 = add i32 %2640, -1 %2651 = getelementptr inbounds nuw i8, ptr %2641, i64 32 %2652 = load i32, ptr %2651, align 8 - %.not4494 = icmp ult i32 %2650, %2652 - br i1 %.not4494, label %2658, label %2653 + %.not4493 = icmp ult i32 %2650, %2652 + br i1 %.not4493, label %2658, label %2653 2653: ; preds = %2639 %2654 = getelementptr inbounds nuw i8, ptr %2641, i64 4 @@ -55377,16 +55372,16 @@ switch.early.test: ; preds = %1647 %2681 = load i32, ptr %2680, align 8 %2682 = and i32 %2681, 1023 %2683 = shl nuw i32 1, %2677 - %.not4476 = icmp eq i32 %2682, %2683 - br i1 %.not4476, label %2701, label %2684 + %.not4475 = icmp eq i32 %2682, %2683 + br i1 %.not4475, label %2701, label %2684 2684: ; preds = %2676 %2685 = load ptr, ptr %796, align 8 %2686 = getelementptr inbounds nuw %struct._zend_ssa_var, ptr %2685, i64 %2679, i32 7 %2687 = load i8, ptr %2686, align 8 %2688 = and i8 %2687, 12 - %.not4477 = icmp eq i8 %2688, 0 - br i1 %.not4477, label %2689, label %.sink.split370 + %.not4476 = icmp eq i8 %2688, 0 + br i1 %.not4476, label %2689, label %.sink.split370 2689: ; preds = %2684 %2690 = and i32 %2681, %2683 @@ -55396,8 +55391,8 @@ switch.early.test: ; preds = %1647 br i1 %2692, label %.sink.split370, label %2693 2693: ; preds = %2689 - %.not4478 = icmp eq i8 %1317, 7 - br i1 %.not4478, label %2697, label %2694 + %.not4477 = icmp eq i8 %1317, 7 + br i1 %.not4477, label %2697, label %2694 2694: ; preds = %2693 %2695 = and i32 %2681, -1073741824 @@ -55444,8 +55439,8 @@ switch.early.test: ; preds = %1647 %2715 = shl nuw i32 1, %2714 %2716 = getelementptr inbounds nuw i8, ptr %2708, i64 9 %2717 = load i8, ptr %2716, align 1 - %.not4481 = icmp eq i8 %2717, 0 - br i1 %.not4481, label %2720, label %2718 + %.not4480 = icmp eq i8 %2717, 0 + br i1 %.not4480, label %2720, label %2718 2718: ; preds = %2713 %2719 = or i32 %2715, -1073741824 @@ -55453,7 +55448,7 @@ switch.early.test: ; preds = %1647 2720: ; preds = %2713 %2721 = icmp eq i8 %2710, 6 - %spec.select4785 = select i1 %2721, i32 -2147483584, i32 %2715 + %spec.select4784 = select i1 %2721, i32 -2147483584, i32 %2715 br label %thread-pre-split 2722: ; preds = %2701 @@ -55467,31 +55462,31 @@ switch.early.test: ; preds = %1647 %.sroa.20.0..sroa_idx = getelementptr inbounds nuw i8, ptr %2727, i64 4 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(36) %.sroa.20, ptr noundef nonnull align 4 dereferenceable(36) %.sroa.20.0..sroa_idx, i64 36, i1 false) %2728 = and i32 %.sroa.0.0.copyload, 1 - %.not4479 = icmp eq i32 %2728, 0 + %.not4478 = icmp eq i32 %2728, 0 %2729 = and i32 %.sroa.0.0.copyload, -4 %2730 = or disjoint i32 %2729, 2 - %.sroa.0.2 = select i1 %.not4479, i32 %.sroa.0.0.copyload, i32 %2730 + %.sroa.0.2 = select i1 %.not4478, i32 %.sroa.0.0.copyload, i32 %2730 %2731 = and i32 %.sroa.0.2, 960 - %.not4480 = icmp eq i32 %2731, 0 + %.not4479 = icmp eq i32 %2731, 0 %2732 = or i32 %.sroa.0.2, 1073741824 - %.sroa.0.3 = select i1 %.not4480, i32 %.sroa.0.2, i32 %2732 + %.sroa.0.3 = select i1 %.not4479, i32 %.sroa.0.2, i32 %2732 %2733 = and i32 %.sroa.0.3, -268435457 br label %thread-pre-split 2734: ; preds = %1337 - %.not4472 = icmp eq ptr %.23868, null - br i1 %.not4472, label %.thread11, label %2735 + %.not4471 = icmp eq ptr %.23868, null + br i1 %.not4471, label %.thread11, label %2735 2735: ; preds = %2734 %2736 = load ptr, ptr %.23868, align 8 - %.not4473 = icmp eq ptr %2736, null - br i1 %.not4473, label %thread-pre-split, label %2737 + %.not4472 = icmp eq ptr %2736, null + br i1 %.not4472, label %thread-pre-split, label %2737 2737: ; preds = %2735 %2738 = getelementptr inbounds nuw i8, ptr %2736, i64 16 %2739 = load ptr, ptr %2738, align 8 - %.not4474 = icmp eq ptr %2739, null - br i1 %.not4474, label %thread-pre-split, label %2740 + %.not4473 = icmp eq ptr %2739, null + br i1 %.not4473, label %thread-pre-split, label %2740 2740: ; preds = %2737 %2741 = getelementptr inbounds nuw i8, ptr %1308, i64 30 @@ -55521,15 +55516,15 @@ switch.early.test: ; preds = %1647 %2757 = add nsw i32 %2746, -1 %2758 = getelementptr inbounds nuw i8, ptr %2739, i64 32 %2759 = load i32, ptr %2758, align 8 - %.not4475 = icmp ult i32 %2757, %2759 - br i1 %.not4475, label %2765, label %2760 + %.not4474 = icmp ult i32 %2757, %2759 + br i1 %.not4474, label %2765, label %2760 2760: ; preds = %2756 %2761 = getelementptr inbounds nuw i8, ptr %2739, i64 4 %2762 = load i32, ptr %2761, align 4 %2763 = and i32 %2762, 16384 %2764 = icmp eq i32 %2763, 0 - br i1 %2764, label %.critedge4787, label %2765 + br i1 %2764, label %.critedge4786, label %2765 2765: ; preds = %2760, %2756 %.03998 = phi i32 [ %2757, %2756 ], [ %2759, %2760 ] @@ -55540,7 +55535,7 @@ switch.early.test: ; preds = %1647 %2770 = load i32, ptr %2769, align 8 %2771 = and i32 %2770, 100663296 %.not31 = icmp eq i32 %2771, 0 - br i1 %.not31, label %.critedge4787, label %2772 + br i1 %.not31, label %.critedge4786, label %2772 2772: ; preds = %2765 %2773 = getelementptr inbounds nuw i8, ptr %2736, i64 44 @@ -55554,7 +55549,7 @@ switch.early.test: ; preds = %1647 store i32 %2779, ptr %2777, align 4 br label %thread-pre-split -.critedge4787: ; preds = %2760, %2765 +.critedge4786: ; preds = %2760, %2765 %2780 = getelementptr inbounds nuw i8, ptr %2736, i64 44 %2781 = load i32, ptr %2780, align 4 %2782 = or i32 %2781, 4 @@ -55567,32 +55562,32 @@ switch.early.test: ; preds = %1647 br label %thread-pre-split 2787: ; preds = %1337 - %.not4464 = icmp eq ptr %.23868, null - br i1 %.not4464, label %.thread11, label %2788 + %.not4463 = icmp eq ptr %.23868, null + br i1 %.not4463, label %.thread11, label %2788 2788: ; preds = %2787 %2789 = load ptr, ptr %.23868, align 8 - %.not4465 = icmp eq ptr %2789, null - br i1 %.not4465, label %thread-pre-split, label %2790 + %.not4464 = icmp eq ptr %2789, null + br i1 %.not4464, label %thread-pre-split, label %2790 2790: ; preds = %2788 %2791 = getelementptr inbounds nuw i8, ptr %2789, i64 16 %2792 = load ptr, ptr %2791, align 8 - %.not4466 = icmp eq ptr %2792, null - br i1 %.not4466, label %thread-pre-split, label %2793 + %.not4465 = icmp eq ptr %2792, null + br i1 %.not4465, label %thread-pre-split, label %2793 2793: ; preds = %2790 %2794 = getelementptr inbounds nuw i8, ptr %2789, i64 44 %2795 = load i32, ptr %2794, align 4 %2796 = and i32 %2795, 4 - %.not4467 = icmp eq i32 %2796, 0 - br i1 %.not4467, label %thread-pre-split, label %2797 + %.not4466 = icmp eq i32 %2796, 0 + br i1 %.not4466, label %thread-pre-split, label %2797 2797: ; preds = %2793, %1337, %1337, %1337 %2798 = getelementptr inbounds nuw i8, ptr %1308, i64 30 %2799 = load i8, ptr %2798, align 2 - %.not4468 = icmp eq i8 %2799, 1 - br i1 %.not4468, label %2800, label %thread-pre-split + %.not4467 = icmp eq i8 %2799, 1 + br i1 %.not4467, label %2800, label %thread-pre-split 2800: ; preds = %2797 %2801 = getelementptr inbounds nuw i8, ptr %1308, i64 12 @@ -55601,8 +55596,8 @@ switch.early.test: ; preds = %1647 %2804 = getelementptr inbounds i8, ptr %1308, i64 %2803 %2805 = getelementptr inbounds nuw i8, ptr %2804, i64 8 %2806 = load i8, ptr %2805, align 8 - %.not4469 = icmp eq i8 %2806, 6 - br i1 %.not4469, label %2807, label %thread-pre-split + %.not4468 = icmp eq i8 %2806, 6 + br i1 %.not4468, label %2807, label %thread-pre-split 2807: ; preds = %2800 %2808 = load ptr, ptr %2804, align 8 @@ -55615,7 +55610,7 @@ switch.early.test: ; preds = %1647 %2813 = getelementptr inbounds nuw i8, ptr %1308, i64 29 %2814 = load i8, ptr %2813, align 1 %2815 = icmp ne i8 %2814, 0 - %2816 = icmp eq i8 %spec.select4770, 8 + %2816 = icmp eq i8 %spec.select4769, 8 %or.cond130 = and i1 %2816, %2815 br i1 %or.cond130, label %2817, label %thread-pre-split @@ -55633,16 +55628,16 @@ switch.early.test: ; preds = %1647 %2826 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %2824, i64 %2825 %2827 = load i32, ptr %2826, align 8 %2828 = and i32 %2827, 1023 - %.not4470 = icmp eq i32 %2828, 256 - br i1 %.not4470, label %thread-pre-split, label %2829 + %.not4469 = icmp eq i32 %2828, 256 + br i1 %.not4469, label %thread-pre-split, label %2829 2829: ; preds = %2823 %2830 = load ptr, ptr %796, align 8 %2831 = getelementptr inbounds nuw %struct._zend_ssa_var, ptr %2830, i64 %2825, i32 7 %2832 = load i8, ptr %2831, align 8 %2833 = and i8 %2832, 12 - %.not4471 = icmp eq i8 %2833, 0 - br i1 %.not4471, label %2836, label %2834 + %.not4470 = icmp eq i8 %2833, 0 + br i1 %.not4470, label %2836, label %2834 2834: ; preds = %2829 %2835 = or i32 %2827, 268435456 @@ -55661,8 +55656,8 @@ switch.early.test: ; preds = %1647 2841: ; preds = %1337 %2842 = getelementptr inbounds nuw i8, ptr %1308, i64 30 %2843 = load i8, ptr %2842, align 2 - %.not4459 = icmp eq i8 %2843, 1 - br i1 %.not4459, label %2844, label %.thread11 + %.not4458 = icmp eq i8 %2843, 1 + br i1 %.not4458, label %2844, label %.thread11 2844: ; preds = %2841 %2845 = getelementptr inbounds nuw i8, ptr %1308, i64 12 @@ -55671,8 +55666,8 @@ switch.early.test: ; preds = %1647 %2848 = getelementptr inbounds i8, ptr %1308, i64 %2847 %2849 = getelementptr inbounds nuw i8, ptr %2848, i64 8 %2850 = load i8, ptr %2849, align 8 - %.not4460 = icmp eq i8 %2850, 6 - br i1 %.not4460, label %2851, label %thread-pre-split + %.not4459 = icmp eq i8 %2850, 6 + br i1 %.not4459, label %2851, label %thread-pre-split 2851: ; preds = %2844 %2852 = load ptr, ptr %483, align 8 @@ -55691,16 +55686,16 @@ switch.early.test: ; preds = %1647 %2862 = load i32, ptr %2861, align 8 %2863 = and i32 %2862, 1023 %2864 = shl nuw i32 1, %2858 - %.not4461 = icmp eq i32 %2863, %2864 - br i1 %.not4461, label %thread-pre-split, label %2865 + %.not4460 = icmp eq i32 %2863, %2864 + br i1 %.not4460, label %thread-pre-split, label %2865 2865: ; preds = %2857 %2866 = load ptr, ptr %796, align 8 %2867 = getelementptr inbounds nuw %struct._zend_ssa_var, ptr %2866, i64 %2860, i32 7 %2868 = load i8, ptr %2867, align 8 %2869 = and i8 %2868, 12 - %.not4462 = icmp eq i8 %2869, 0 - br i1 %.not4462, label %2872, label %2870 + %.not4461 = icmp eq i8 %2869, 0 + br i1 %.not4461, label %2872, label %2870 2870: ; preds = %2865 %2871 = or i32 %2862, 268435456 @@ -55715,8 +55710,8 @@ switch.early.test: ; preds = %1647 br i1 %2875, label %2883, label %2876 2876: ; preds = %2872 - %.not4463 = icmp eq i8 %1317, 7 - br i1 %.not4463, label %2880, label %2877 + %.not4462 = icmp eq i8 %1317, 7 + br i1 %.not4462, label %2880, label %2877 2877: ; preds = %2876 %2878 = and i32 %2862, -1073741824 @@ -55738,8 +55733,8 @@ switch.early.test: ; preds = %1647 %2886 = icmp eq i8 %1312, 8 %2887 = load ptr, ptr @zend_ce_closure, align 8 %2888 = icmp eq ptr %.03847, %2887 - %or.cond4789 = select i1 %2886, i1 %2888, i1 false - br i1 %or.cond4789, label %2889, label %thread-pre-split + %or.cond4788 = select i1 %2886, i1 %2888, i1 false + br i1 %or.cond4788, label %2889, label %thread-pre-split 2889: ; preds = %2885 %2890 = load ptr, ptr %483, align 8 @@ -55794,8 +55789,8 @@ switch.early.test: ; preds = %1647 %2920 = icmp eq i32 %2915, %2919 %2921 = sub nsw i32 1022, %2919 %2922 = icmp eq i32 %2915, %2921 - %or.cond4791 = select i1 %2920, i1 true, i1 %2922 - br i1 %or.cond4791, label %2923, label %thread-pre-split + %or.cond4790 = select i1 %2920, i1 true, i1 %2922 + br i1 %or.cond4790, label %2923, label %thread-pre-split 2923: ; preds = %2917 %2924 = load ptr, ptr %483, align 8 @@ -55897,10 +55892,10 @@ switch.early.test: ; preds = %1647 store i32 %2980, ptr %2966, align 8 br label %thread-pre-split -thread-pre-split: ; preds = %1337, %1337, %1337, %1337, %2511, %2409, %1621, %2748, %1346, %1343, %1380, %1399, %1412, %1386, %1417, %1421, %1434, %1644, %1633, %1650, %1661, %1629, %1615, %1667, %1680, %1673, %1670, %1695, %1737, %1755, %1768, %1742, %1817, %1843, %1830, %1812, %1775, %1770, %1845, %1880, %1899, %1912, %1886, %1949, %1963, %1961, %1945, %1968, %1972, %1991, %2004, %1978, %2012, %2009, %2007, %2048, %2066, %2079, %2053, %2081, %2084, %2103, %2116, %2090, %2165, %2186, %2173, %2155, %2153, %2188, %2192, %2210, %2223, %2198, %2225, %2244, %2257, %2231, %2259, %2263, %2282, %2295, %2269, %2300, %2319, %2332, %2306, %2334, %2419, %2434, %2432, %2417, %2402, %2400, %2439, %2521, %2531, %2519, %2504, %2534, %2542, %2636, %.thread8, %2585, %2582, %2579, %2577, %2722, %2737, %2735, %.critedge4787, %2772, %2793, %2790, %2788, %2807, %2800, %2797, %2823, %2836, %2834, %2817, %2812, %2844, %2851, %2870, %2883, %2857, %2895, %2908, %2906, %2889, %2885, %2913, %2929, %2953, %2940, %2923, %2963, %2976, %2974, %2957, %2955, %2701, %2718, %2704, %2711, %2917, %2720 - %.23892.ph = phi i32 [ %.13891, %2917 ], [ %.13891, %2711 ], [ %.13891, %2704 ], [ %.13891, %2720 ], [ %.13891, %2718 ], [ %.13891, %2701 ], [ %.13891, %1380 ], [ %.13891, %1386 ], [ %.13891, %1412 ], [ %.13891, %1399 ], [ %.13891, %1346 ], [ %.13891, %1343 ], [ %.13891, %1421 ], [ %.13891, %1417 ], [ %.13891, %1615 ], [ %.13891, %1629 ], [ %.13891, %1633 ], [ %.13891, %1644 ], [ %.13891, %1650 ], [ %.13891, %1661 ], [ %.13891, %1434 ], [ %.13891, %1667 ], [ %.13891, %1737 ], [ %.13891, %1742 ], [ %.13891, %1768 ], [ %.13891, %1755 ], [ %.13891, %1695 ], [ %.13891, %1680 ], [ %.13891, %1673 ], [ %.13891, %1670 ], [ %.13891, %1770 ], [ %.13891, %1775 ], [ %.13891, %1812 ], [ %.13891, %1817 ], [ %.13891, %1843 ], [ %.13891, %1830 ], [ %.13891, %1845 ], [ %.13891, %1880 ], [ %.13891, %1886 ], [ %.13891, %1912 ], [ %.13891, %1899 ], [ %.13891, %1945 ], [ %.13891, %1949 ], [ %.13891, %1963 ], [ %.13891, %1961 ], [ %.13891, %1972 ], [ %.13891, %1978 ], [ %.13891, %2004 ], [ %.13891, %1991 ], [ %.13891, %1968 ], [ %.13891, %2007 ], [ %.13891, %2009 ], [ %.13891, %2012 ], [ %.13891, %2048 ], [ %.13891, %2053 ], [ %.13891, %2079 ], [ %.13891, %2066 ], [ %.13891, %2084 ], [ %.13891, %2090 ], [ %.13891, %2116 ], [ %.13891, %2103 ], [ %.13891, %2081 ], [ %.13891, %2153 ], [ %.13891, %2155 ], [ %.13891, %2165 ], [ %.13891, %2186 ], [ %.13891, %2173 ], [ %.13891, %2192 ], [ %.13891, %2198 ], [ %.13891, %2223 ], [ %.13891, %2210 ], [ %.13891, %2188 ], [ %.13891, %2225 ], [ %.13891, %2231 ], [ %.13891, %2257 ], [ %.13891, %2244 ], [ %.13891, %2263 ], [ %.13891, %2269 ], [ %.13891, %2295 ], [ %.13891, %2282 ], [ %.13891, %2259 ], [ %.13891, %2300 ], [ %.13891, %2306 ], [ %.13891, %2332 ], [ %.13891, %2319 ], [ %.13891, %2334 ], [ %.13891, %2400 ], [ %.13891, %2402 ], [ %.13891, %2417 ], [ %.13891, %2419 ], [ %.13891, %2434 ], [ %.13891, %2432 ], [ %.13891, %2504 ], [ %.13891, %2519 ], [ %.13891, %2521 ], [ %.13891, %2531 ], [ %.13891, %2439 ], [ %.13891, %2534 ], [ %.13891, %2577 ], [ %.13891, %2579 ], [ %.13891, %2582 ], [ %.13891, %2585 ], [ %.13891, %2636 ], [ %.13891, %.thread8 ], [ %.13891, %2542 ], [ %.13891, %2722 ], [ %.13891, %2735 ], [ %.13891, %2737 ], [ %.13891, %.critedge4787 ], [ %.13891, %2772 ], [ %.13891, %2748 ], [ %.13891, %2788 ], [ %.13891, %2790 ], [ %.13891, %2793 ], [ %.13891, %2812 ], [ %.13891, %2817 ], [ %.13891, %2823 ], [ %.13891, %2836 ], [ %.13891, %2834 ], [ %.13891, %2807 ], [ %.13891, %2800 ], [ %.13891, %2797 ], [ %.13891, %2851 ], [ %.13891, %2857 ], [ %.13891, %2883 ], [ %.13891, %2870 ], [ %.13891, %2844 ], [ %.13891, %2885 ], [ %.13891, %2889 ], [ %.13891, %2895 ], [ %.13891, %2908 ], [ %.13891, %2906 ], [ %.13891, %2913 ], [ %.13891, %2923 ], [ %.13891, %2929 ], [ %.13891, %2953 ], [ %.13891, %2940 ], [ %.13891, %2955 ], [ %.13891, %2957 ], [ %.13891, %2963 ], [ %.13891, %2976 ], [ %.13891, %2974 ], [ %.13891, %1621 ], [ %.13891, %2409 ], [ %.13891, %2511 ], [ -1, %1337 ], [ -1, %1337 ], [ -1, %1337 ], [ -1, %1337 ] - %.23888.ph = phi i32 [ %.13887, %2917 ], [ %.13887, %2711 ], [ %.13887, %2704 ], [ %.13887, %2720 ], [ %.13887, %2718 ], [ %.13887, %2701 ], [ %.13887, %1380 ], [ %.13887, %1386 ], [ %.13887, %1412 ], [ %.13887, %1399 ], [ %.13887, %1346 ], [ %.13887, %1343 ], [ %.13887, %1421 ], [ %.13887, %1417 ], [ %.13887, %1615 ], [ %.13887, %1629 ], [ %.13887, %1633 ], [ %.13887, %1644 ], [ %.13887, %1650 ], [ %.13887, %1661 ], [ %.13887, %1434 ], [ %.13887, %1667 ], [ %.13887, %1737 ], [ %.13887, %1742 ], [ %.13887, %1768 ], [ %.13887, %1755 ], [ %.13887, %1695 ], [ %.13887, %1680 ], [ %.13887, %1673 ], [ %.13887, %1670 ], [ %.13887, %1770 ], [ %.13887, %1775 ], [ %.13887, %1812 ], [ %.13887, %1817 ], [ %.13887, %1843 ], [ %.13887, %1830 ], [ %.13887, %1845 ], [ %.13887, %1880 ], [ %.13887, %1886 ], [ %.13887, %1912 ], [ %.13887, %1899 ], [ %.13887, %1945 ], [ %.13887, %1949 ], [ %.13887, %1963 ], [ %.13887, %1961 ], [ %.13887, %1972 ], [ %.13887, %1978 ], [ %.13887, %2004 ], [ %.13887, %1991 ], [ %.13887, %1968 ], [ %.13887, %2007 ], [ %.13887, %2009 ], [ %.13887, %2012 ], [ %.13887, %2048 ], [ %.13887, %2053 ], [ %.13887, %2079 ], [ %.13887, %2066 ], [ %.13887, %2084 ], [ %.13887, %2090 ], [ %.13887, %2116 ], [ %.13887, %2103 ], [ %.13887, %2081 ], [ %.13887, %2153 ], [ %.13887, %2155 ], [ %.13887, %2165 ], [ %.13887, %2186 ], [ %.13887, %2173 ], [ %.13887, %2192 ], [ %.13887, %2198 ], [ %.13887, %2223 ], [ %.13887, %2210 ], [ %.13887, %2188 ], [ %.13887, %2225 ], [ %.13887, %2231 ], [ %.13887, %2257 ], [ %.13887, %2244 ], [ %.13887, %2263 ], [ %.13887, %2269 ], [ %.13887, %2295 ], [ %.13887, %2282 ], [ %.13887, %2259 ], [ %.13887, %2300 ], [ %.13887, %2306 ], [ %.13887, %2332 ], [ %.13887, %2319 ], [ %.13887, %2334 ], [ %.13887, %2400 ], [ %.13887, %2402 ], [ %.13887, %2417 ], [ %.13887, %2419 ], [ %.13887, %2434 ], [ %.13887, %2432 ], [ %.13887, %2504 ], [ %.13887, %2519 ], [ %.13887, %2521 ], [ %.13887, %2531 ], [ %.13887, %2439 ], [ %.13887, %2534 ], [ %.13887, %2577 ], [ %.13887, %2579 ], [ %.13887, %2582 ], [ %.13887, %2585 ], [ %.13887, %2636 ], [ %.13887, %.thread8 ], [ %.13887, %2542 ], [ %.13887, %2722 ], [ %.13887, %2735 ], [ %.13887, %2737 ], [ %.13887, %.critedge4787 ], [ %.13887, %2772 ], [ %.13887, %2748 ], [ %.13887, %2788 ], [ %.13887, %2790 ], [ %.13887, %2793 ], [ %.13887, %2812 ], [ %.13887, %2817 ], [ %.13887, %2823 ], [ %.13887, %2836 ], [ %.13887, %2834 ], [ %.13887, %2807 ], [ %.13887, %2800 ], [ %.13887, %2797 ], [ %.13887, %2851 ], [ %.13887, %2857 ], [ %.13887, %2883 ], [ %.13887, %2870 ], [ %.13887, %2844 ], [ %.13887, %2885 ], [ %.13887, %2889 ], [ %.13887, %2895 ], [ %.13887, %2908 ], [ %.13887, %2906 ], [ %.13887, %2913 ], [ %.13887, %2923 ], [ %.13887, %2929 ], [ %.13887, %2953 ], [ %.13887, %2940 ], [ %.13887, %2955 ], [ %.13887, %2957 ], [ %.13887, %2963 ], [ %.13887, %2976 ], [ %.13887, %2974 ], [ %.13887, %1621 ], [ %.13887, %2409 ], [ %.13887, %2511 ], [ -1, %1337 ], [ -1, %1337 ], [ -1, %1337 ], [ -1, %1337 ] - %.sroa.0.1.ph = phi i32 [ %.sroa.0.0, %2917 ], [ %2712, %2711 ], [ -521143298, %2704 ], [ %spec.select4785, %2720 ], [ %2719, %2718 ], [ 2, %2701 ], [ %.sroa.0.0, %1380 ], [ %.sroa.0.0, %1386 ], [ %.sroa.0.0, %1412 ], [ %.sroa.0.0, %1399 ], [ %.sroa.0.0, %1346 ], [ %.sroa.0.0, %1343 ], [ %.sroa.0.0, %1421 ], [ %.sroa.0.0, %1417 ], [ %.sroa.0.0, %1615 ], [ %.sroa.0.0, %1629 ], [ %.sroa.0.0, %1633 ], [ %.sroa.0.0, %1644 ], [ %.sroa.0.0, %1650 ], [ %.sroa.0.0, %1661 ], [ %.sroa.0.0, %1434 ], [ %.sroa.0.0, %1667 ], [ %.sroa.0.0, %1737 ], [ %.sroa.0.0, %1742 ], [ %.sroa.0.0, %1768 ], [ %.sroa.0.0, %1755 ], [ %.sroa.0.0, %1695 ], [ %.sroa.0.0, %1680 ], [ %.sroa.0.0, %1673 ], [ %.sroa.0.0, %1670 ], [ %.sroa.0.0, %1770 ], [ %.sroa.0.0, %1775 ], [ %.sroa.0.0, %1812 ], [ %.sroa.0.0, %1817 ], [ %.sroa.0.0, %1843 ], [ %.sroa.0.0, %1830 ], [ %.sroa.0.0, %1845 ], [ %.sroa.0.0, %1880 ], [ %.sroa.0.0, %1886 ], [ %.sroa.0.0, %1912 ], [ %.sroa.0.0, %1899 ], [ %.sroa.0.0, %1945 ], [ %.sroa.0.0, %1949 ], [ %.sroa.0.0, %1963 ], [ %.sroa.0.0, %1961 ], [ %.sroa.0.0, %1972 ], [ %.sroa.0.0, %1978 ], [ %.sroa.0.0, %2004 ], [ %.sroa.0.0, %1991 ], [ %.sroa.0.0, %1968 ], [ %.sroa.0.0, %2007 ], [ %.sroa.0.0, %2009 ], [ %.sroa.0.0, %2012 ], [ %.sroa.0.0, %2048 ], [ %.sroa.0.0, %2053 ], [ %.sroa.0.0, %2079 ], [ %.sroa.0.0, %2066 ], [ %.sroa.0.0, %2084 ], [ %.sroa.0.0, %2090 ], [ %.sroa.0.0, %2116 ], [ %.sroa.0.0, %2103 ], [ %.sroa.0.0, %2081 ], [ %.sroa.0.0, %2153 ], [ %.sroa.0.0, %2155 ], [ %.sroa.0.0, %2165 ], [ %.sroa.0.0, %2186 ], [ %.sroa.0.0, %2173 ], [ %.sroa.0.0, %2192 ], [ %.sroa.0.0, %2198 ], [ %.sroa.0.0, %2223 ], [ %.sroa.0.0, %2210 ], [ %.sroa.0.0, %2188 ], [ %.sroa.0.0, %2225 ], [ %.sroa.0.0, %2231 ], [ %.sroa.0.0, %2257 ], [ %.sroa.0.0, %2244 ], [ %.sroa.0.0, %2263 ], [ %.sroa.0.0, %2269 ], [ %.sroa.0.0, %2295 ], [ %.sroa.0.0, %2282 ], [ %.sroa.0.0, %2259 ], [ %.sroa.0.0, %2300 ], [ %.sroa.0.0, %2306 ], [ %.sroa.0.0, %2332 ], [ %.sroa.0.0, %2319 ], [ %.sroa.0.0, %2334 ], [ %.sroa.0.0, %2400 ], [ %.sroa.0.0, %2402 ], [ %.sroa.0.0, %2417 ], [ %.sroa.0.0, %2419 ], [ %.sroa.0.0, %2434 ], [ %.sroa.0.0, %2432 ], [ %.sroa.0.0, %2504 ], [ %.sroa.0.0, %2519 ], [ %.sroa.0.0, %2521 ], [ %.sroa.0.0, %2531 ], [ %.sroa.0.0, %2439 ], [ %.sroa.0.0, %2534 ], [ %.sroa.0.0, %2577 ], [ %.sroa.0.0, %2579 ], [ %.sroa.0.0, %2582 ], [ %.sroa.0.0, %2585 ], [ %.sroa.0.0, %2636 ], [ %.sroa.0.0, %.thread8 ], [ %.sroa.0.0, %2542 ], [ %2733, %2722 ], [ %.sroa.0.0, %2735 ], [ %.sroa.0.0, %2737 ], [ %.sroa.0.0, %.critedge4787 ], [ %.sroa.0.0, %2772 ], [ %.sroa.0.0, %2748 ], [ %.sroa.0.0, %2788 ], [ %.sroa.0.0, %2790 ], [ %.sroa.0.0, %2793 ], [ %.sroa.0.0, %2812 ], [ %.sroa.0.0, %2817 ], [ %.sroa.0.0, %2823 ], [ %.sroa.0.0, %2836 ], [ %.sroa.0.0, %2834 ], [ %.sroa.0.0, %2807 ], [ %.sroa.0.0, %2800 ], [ %.sroa.0.0, %2797 ], [ %.sroa.0.0, %2851 ], [ %.sroa.0.0, %2857 ], [ %.sroa.0.0, %2883 ], [ %.sroa.0.0, %2870 ], [ %.sroa.0.0, %2844 ], [ %.sroa.0.0, %2885 ], [ %.sroa.0.0, %2889 ], [ %.sroa.0.0, %2895 ], [ %.sroa.0.0, %2908 ], [ %.sroa.0.0, %2906 ], [ %.sroa.0.0, %2913 ], [ %.sroa.0.0, %2923 ], [ %.sroa.0.0, %2929 ], [ %.sroa.0.0, %2953 ], [ %.sroa.0.0, %2940 ], [ %.sroa.0.0, %2955 ], [ %.sroa.0.0, %2957 ], [ %.sroa.0.0, %2963 ], [ %.sroa.0.0, %2976 ], [ %.sroa.0.0, %2974 ], [ %.sroa.0.0, %1621 ], [ %.sroa.0.0, %2409 ], [ %.sroa.0.0, %2511 ], [ %.sroa.0.0, %1337 ], [ %.sroa.0.0, %1337 ], [ %.sroa.0.0, %1337 ], [ %.sroa.0.0, %1337 ] +thread-pre-split: ; preds = %1337, %1337, %1337, %1337, %2511, %2409, %1621, %2748, %1346, %1343, %1380, %1399, %1412, %1386, %1417, %1421, %1434, %1644, %1633, %1650, %1661, %1629, %1615, %1667, %1680, %1673, %1670, %1695, %1737, %1755, %1768, %1742, %1817, %1843, %1830, %1812, %1775, %1770, %1845, %1880, %1899, %1912, %1886, %1949, %1963, %1961, %1945, %1968, %1972, %1991, %2004, %1978, %2012, %2009, %2007, %2048, %2066, %2079, %2053, %2081, %2084, %2103, %2116, %2090, %2165, %2186, %2173, %2155, %2153, %2188, %2192, %2210, %2223, %2198, %2225, %2244, %2257, %2231, %2259, %2263, %2282, %2295, %2269, %2300, %2319, %2332, %2306, %2334, %2419, %2434, %2432, %2417, %2402, %2400, %2439, %2521, %2531, %2519, %2504, %2534, %2542, %2636, %.thread8, %2585, %2582, %2579, %2577, %2722, %2737, %2735, %.critedge4786, %2772, %2793, %2790, %2788, %2807, %2800, %2797, %2823, %2836, %2834, %2817, %2812, %2844, %2851, %2870, %2883, %2857, %2895, %2908, %2906, %2889, %2885, %2913, %2929, %2953, %2940, %2923, %2963, %2976, %2974, %2957, %2955, %2701, %2718, %2704, %2711, %2917, %2720 + %.23892.ph = phi i32 [ %.13891, %2917 ], [ %.13891, %2711 ], [ %.13891, %2704 ], [ %.13891, %2720 ], [ %.13891, %2718 ], [ %.13891, %2701 ], [ %.13891, %1380 ], [ %.13891, %1386 ], [ %.13891, %1412 ], [ %.13891, %1399 ], [ %.13891, %1346 ], [ %.13891, %1343 ], [ %.13891, %1421 ], [ %.13891, %1417 ], [ %.13891, %1615 ], [ %.13891, %1629 ], [ %.13891, %1633 ], [ %.13891, %1644 ], [ %.13891, %1650 ], [ %.13891, %1661 ], [ %.13891, %1434 ], [ %.13891, %1667 ], [ %.13891, %1737 ], [ %.13891, %1742 ], [ %.13891, %1768 ], [ %.13891, %1755 ], [ %.13891, %1695 ], [ %.13891, %1680 ], [ %.13891, %1673 ], [ %.13891, %1670 ], [ %.13891, %1770 ], [ %.13891, %1775 ], [ %.13891, %1812 ], [ %.13891, %1817 ], [ %.13891, %1843 ], [ %.13891, %1830 ], [ %.13891, %1845 ], [ %.13891, %1880 ], [ %.13891, %1886 ], [ %.13891, %1912 ], [ %.13891, %1899 ], [ %.13891, %1945 ], [ %.13891, %1949 ], [ %.13891, %1963 ], [ %.13891, %1961 ], [ %.13891, %1972 ], [ %.13891, %1978 ], [ %.13891, %2004 ], [ %.13891, %1991 ], [ %.13891, %1968 ], [ %.13891, %2007 ], [ %.13891, %2009 ], [ %.13891, %2012 ], [ %.13891, %2048 ], [ %.13891, %2053 ], [ %.13891, %2079 ], [ %.13891, %2066 ], [ %.13891, %2084 ], [ %.13891, %2090 ], [ %.13891, %2116 ], [ %.13891, %2103 ], [ %.13891, %2081 ], [ %.13891, %2153 ], [ %.13891, %2155 ], [ %.13891, %2165 ], [ %.13891, %2186 ], [ %.13891, %2173 ], [ %.13891, %2192 ], [ %.13891, %2198 ], [ %.13891, %2223 ], [ %.13891, %2210 ], [ %.13891, %2188 ], [ %.13891, %2225 ], [ %.13891, %2231 ], [ %.13891, %2257 ], [ %.13891, %2244 ], [ %.13891, %2263 ], [ %.13891, %2269 ], [ %.13891, %2295 ], [ %.13891, %2282 ], [ %.13891, %2259 ], [ %.13891, %2300 ], [ %.13891, %2306 ], [ %.13891, %2332 ], [ %.13891, %2319 ], [ %.13891, %2334 ], [ %.13891, %2400 ], [ %.13891, %2402 ], [ %.13891, %2417 ], [ %.13891, %2419 ], [ %.13891, %2434 ], [ %.13891, %2432 ], [ %.13891, %2504 ], [ %.13891, %2519 ], [ %.13891, %2521 ], [ %.13891, %2531 ], [ %.13891, %2439 ], [ %.13891, %2534 ], [ %.13891, %2577 ], [ %.13891, %2579 ], [ %.13891, %2582 ], [ %.13891, %2585 ], [ %.13891, %2636 ], [ %.13891, %.thread8 ], [ %.13891, %2542 ], [ %.13891, %2722 ], [ %.13891, %2735 ], [ %.13891, %2737 ], [ %.13891, %.critedge4786 ], [ %.13891, %2772 ], [ %.13891, %2748 ], [ %.13891, %2788 ], [ %.13891, %2790 ], [ %.13891, %2793 ], [ %.13891, %2812 ], [ %.13891, %2817 ], [ %.13891, %2823 ], [ %.13891, %2836 ], [ %.13891, %2834 ], [ %.13891, %2807 ], [ %.13891, %2800 ], [ %.13891, %2797 ], [ %.13891, %2851 ], [ %.13891, %2857 ], [ %.13891, %2883 ], [ %.13891, %2870 ], [ %.13891, %2844 ], [ %.13891, %2885 ], [ %.13891, %2889 ], [ %.13891, %2895 ], [ %.13891, %2908 ], [ %.13891, %2906 ], [ %.13891, %2913 ], [ %.13891, %2923 ], [ %.13891, %2929 ], [ %.13891, %2953 ], [ %.13891, %2940 ], [ %.13891, %2955 ], [ %.13891, %2957 ], [ %.13891, %2963 ], [ %.13891, %2976 ], [ %.13891, %2974 ], [ %.13891, %1621 ], [ %.13891, %2409 ], [ %.13891, %2511 ], [ -1, %1337 ], [ -1, %1337 ], [ -1, %1337 ], [ -1, %1337 ] + %.23888.ph = phi i32 [ %.13887, %2917 ], [ %.13887, %2711 ], [ %.13887, %2704 ], [ %.13887, %2720 ], [ %.13887, %2718 ], [ %.13887, %2701 ], [ %.13887, %1380 ], [ %.13887, %1386 ], [ %.13887, %1412 ], [ %.13887, %1399 ], [ %.13887, %1346 ], [ %.13887, %1343 ], [ %.13887, %1421 ], [ %.13887, %1417 ], [ %.13887, %1615 ], [ %.13887, %1629 ], [ %.13887, %1633 ], [ %.13887, %1644 ], [ %.13887, %1650 ], [ %.13887, %1661 ], [ %.13887, %1434 ], [ %.13887, %1667 ], [ %.13887, %1737 ], [ %.13887, %1742 ], [ %.13887, %1768 ], [ %.13887, %1755 ], [ %.13887, %1695 ], [ %.13887, %1680 ], [ %.13887, %1673 ], [ %.13887, %1670 ], [ %.13887, %1770 ], [ %.13887, %1775 ], [ %.13887, %1812 ], [ %.13887, %1817 ], [ %.13887, %1843 ], [ %.13887, %1830 ], [ %.13887, %1845 ], [ %.13887, %1880 ], [ %.13887, %1886 ], [ %.13887, %1912 ], [ %.13887, %1899 ], [ %.13887, %1945 ], [ %.13887, %1949 ], [ %.13887, %1963 ], [ %.13887, %1961 ], [ %.13887, %1972 ], [ %.13887, %1978 ], [ %.13887, %2004 ], [ %.13887, %1991 ], [ %.13887, %1968 ], [ %.13887, %2007 ], [ %.13887, %2009 ], [ %.13887, %2012 ], [ %.13887, %2048 ], [ %.13887, %2053 ], [ %.13887, %2079 ], [ %.13887, %2066 ], [ %.13887, %2084 ], [ %.13887, %2090 ], [ %.13887, %2116 ], [ %.13887, %2103 ], [ %.13887, %2081 ], [ %.13887, %2153 ], [ %.13887, %2155 ], [ %.13887, %2165 ], [ %.13887, %2186 ], [ %.13887, %2173 ], [ %.13887, %2192 ], [ %.13887, %2198 ], [ %.13887, %2223 ], [ %.13887, %2210 ], [ %.13887, %2188 ], [ %.13887, %2225 ], [ %.13887, %2231 ], [ %.13887, %2257 ], [ %.13887, %2244 ], [ %.13887, %2263 ], [ %.13887, %2269 ], [ %.13887, %2295 ], [ %.13887, %2282 ], [ %.13887, %2259 ], [ %.13887, %2300 ], [ %.13887, %2306 ], [ %.13887, %2332 ], [ %.13887, %2319 ], [ %.13887, %2334 ], [ %.13887, %2400 ], [ %.13887, %2402 ], [ %.13887, %2417 ], [ %.13887, %2419 ], [ %.13887, %2434 ], [ %.13887, %2432 ], [ %.13887, %2504 ], [ %.13887, %2519 ], [ %.13887, %2521 ], [ %.13887, %2531 ], [ %.13887, %2439 ], [ %.13887, %2534 ], [ %.13887, %2577 ], [ %.13887, %2579 ], [ %.13887, %2582 ], [ %.13887, %2585 ], [ %.13887, %2636 ], [ %.13887, %.thread8 ], [ %.13887, %2542 ], [ %.13887, %2722 ], [ %.13887, %2735 ], [ %.13887, %2737 ], [ %.13887, %.critedge4786 ], [ %.13887, %2772 ], [ %.13887, %2748 ], [ %.13887, %2788 ], [ %.13887, %2790 ], [ %.13887, %2793 ], [ %.13887, %2812 ], [ %.13887, %2817 ], [ %.13887, %2823 ], [ %.13887, %2836 ], [ %.13887, %2834 ], [ %.13887, %2807 ], [ %.13887, %2800 ], [ %.13887, %2797 ], [ %.13887, %2851 ], [ %.13887, %2857 ], [ %.13887, %2883 ], [ %.13887, %2870 ], [ %.13887, %2844 ], [ %.13887, %2885 ], [ %.13887, %2889 ], [ %.13887, %2895 ], [ %.13887, %2908 ], [ %.13887, %2906 ], [ %.13887, %2913 ], [ %.13887, %2923 ], [ %.13887, %2929 ], [ %.13887, %2953 ], [ %.13887, %2940 ], [ %.13887, %2955 ], [ %.13887, %2957 ], [ %.13887, %2963 ], [ %.13887, %2976 ], [ %.13887, %2974 ], [ %.13887, %1621 ], [ %.13887, %2409 ], [ %.13887, %2511 ], [ -1, %1337 ], [ -1, %1337 ], [ -1, %1337 ], [ -1, %1337 ] + %.sroa.0.1.ph = phi i32 [ %.sroa.0.0, %2917 ], [ %2712, %2711 ], [ -521143298, %2704 ], [ %spec.select4784, %2720 ], [ %2719, %2718 ], [ 2, %2701 ], [ %.sroa.0.0, %1380 ], [ %.sroa.0.0, %1386 ], [ %.sroa.0.0, %1412 ], [ %.sroa.0.0, %1399 ], [ %.sroa.0.0, %1346 ], [ %.sroa.0.0, %1343 ], [ %.sroa.0.0, %1421 ], [ %.sroa.0.0, %1417 ], [ %.sroa.0.0, %1615 ], [ %.sroa.0.0, %1629 ], [ %.sroa.0.0, %1633 ], [ %.sroa.0.0, %1644 ], [ %.sroa.0.0, %1650 ], [ %.sroa.0.0, %1661 ], [ %.sroa.0.0, %1434 ], [ %.sroa.0.0, %1667 ], [ %.sroa.0.0, %1737 ], [ %.sroa.0.0, %1742 ], [ %.sroa.0.0, %1768 ], [ %.sroa.0.0, %1755 ], [ %.sroa.0.0, %1695 ], [ %.sroa.0.0, %1680 ], [ %.sroa.0.0, %1673 ], [ %.sroa.0.0, %1670 ], [ %.sroa.0.0, %1770 ], [ %.sroa.0.0, %1775 ], [ %.sroa.0.0, %1812 ], [ %.sroa.0.0, %1817 ], [ %.sroa.0.0, %1843 ], [ %.sroa.0.0, %1830 ], [ %.sroa.0.0, %1845 ], [ %.sroa.0.0, %1880 ], [ %.sroa.0.0, %1886 ], [ %.sroa.0.0, %1912 ], [ %.sroa.0.0, %1899 ], [ %.sroa.0.0, %1945 ], [ %.sroa.0.0, %1949 ], [ %.sroa.0.0, %1963 ], [ %.sroa.0.0, %1961 ], [ %.sroa.0.0, %1972 ], [ %.sroa.0.0, %1978 ], [ %.sroa.0.0, %2004 ], [ %.sroa.0.0, %1991 ], [ %.sroa.0.0, %1968 ], [ %.sroa.0.0, %2007 ], [ %.sroa.0.0, %2009 ], [ %.sroa.0.0, %2012 ], [ %.sroa.0.0, %2048 ], [ %.sroa.0.0, %2053 ], [ %.sroa.0.0, %2079 ], [ %.sroa.0.0, %2066 ], [ %.sroa.0.0, %2084 ], [ %.sroa.0.0, %2090 ], [ %.sroa.0.0, %2116 ], [ %.sroa.0.0, %2103 ], [ %.sroa.0.0, %2081 ], [ %.sroa.0.0, %2153 ], [ %.sroa.0.0, %2155 ], [ %.sroa.0.0, %2165 ], [ %.sroa.0.0, %2186 ], [ %.sroa.0.0, %2173 ], [ %.sroa.0.0, %2192 ], [ %.sroa.0.0, %2198 ], [ %.sroa.0.0, %2223 ], [ %.sroa.0.0, %2210 ], [ %.sroa.0.0, %2188 ], [ %.sroa.0.0, %2225 ], [ %.sroa.0.0, %2231 ], [ %.sroa.0.0, %2257 ], [ %.sroa.0.0, %2244 ], [ %.sroa.0.0, %2263 ], [ %.sroa.0.0, %2269 ], [ %.sroa.0.0, %2295 ], [ %.sroa.0.0, %2282 ], [ %.sroa.0.0, %2259 ], [ %.sroa.0.0, %2300 ], [ %.sroa.0.0, %2306 ], [ %.sroa.0.0, %2332 ], [ %.sroa.0.0, %2319 ], [ %.sroa.0.0, %2334 ], [ %.sroa.0.0, %2400 ], [ %.sroa.0.0, %2402 ], [ %.sroa.0.0, %2417 ], [ %.sroa.0.0, %2419 ], [ %.sroa.0.0, %2434 ], [ %.sroa.0.0, %2432 ], [ %.sroa.0.0, %2504 ], [ %.sroa.0.0, %2519 ], [ %.sroa.0.0, %2521 ], [ %.sroa.0.0, %2531 ], [ %.sroa.0.0, %2439 ], [ %.sroa.0.0, %2534 ], [ %.sroa.0.0, %2577 ], [ %.sroa.0.0, %2579 ], [ %.sroa.0.0, %2582 ], [ %.sroa.0.0, %2585 ], [ %.sroa.0.0, %2636 ], [ %.sroa.0.0, %.thread8 ], [ %.sroa.0.0, %2542 ], [ %2733, %2722 ], [ %.sroa.0.0, %2735 ], [ %.sroa.0.0, %2737 ], [ %.sroa.0.0, %.critedge4786 ], [ %.sroa.0.0, %2772 ], [ %.sroa.0.0, %2748 ], [ %.sroa.0.0, %2788 ], [ %.sroa.0.0, %2790 ], [ %.sroa.0.0, %2793 ], [ %.sroa.0.0, %2812 ], [ %.sroa.0.0, %2817 ], [ %.sroa.0.0, %2823 ], [ %.sroa.0.0, %2836 ], [ %.sroa.0.0, %2834 ], [ %.sroa.0.0, %2807 ], [ %.sroa.0.0, %2800 ], [ %.sroa.0.0, %2797 ], [ %.sroa.0.0, %2851 ], [ %.sroa.0.0, %2857 ], [ %.sroa.0.0, %2883 ], [ %.sroa.0.0, %2870 ], [ %.sroa.0.0, %2844 ], [ %.sroa.0.0, %2885 ], [ %.sroa.0.0, %2889 ], [ %.sroa.0.0, %2895 ], [ %.sroa.0.0, %2908 ], [ %.sroa.0.0, %2906 ], [ %.sroa.0.0, %2913 ], [ %.sroa.0.0, %2923 ], [ %.sroa.0.0, %2929 ], [ %.sroa.0.0, %2953 ], [ %.sroa.0.0, %2940 ], [ %.sroa.0.0, %2955 ], [ %.sroa.0.0, %2957 ], [ %.sroa.0.0, %2963 ], [ %.sroa.0.0, %2976 ], [ %.sroa.0.0, %2974 ], [ %.sroa.0.0, %1621 ], [ %.sroa.0.0, %2409 ], [ %.sroa.0.0, %2511 ], [ %.sroa.0.0, %1337 ], [ %.sroa.0.0, %1337 ], [ %.sroa.0.0, %1337 ], [ %.sroa.0.0, %1337 ] %.pr = load i8, ptr %1338, align 4 br label %2981 @@ -55936,11 +55931,11 @@ thread-pre-split: ; preds = %1337, %1337, %1337, br i1 %2988, label %.lr.ph162, label %.thread22 .lr.ph162: ; preds = %.preheader, %.lr.ph162 - %.pn4617161 = phi ptr [ %.04012, %.lr.ph162 ], [ %1308, %.preheader ] + %.pn4616161 = phi ptr [ %.04012, %.lr.ph162 ], [ %1308, %.preheader ] %.04014160 = phi i32 [ %2989, %.lr.ph162 ], [ 1, %.preheader ] - %.04012 = getelementptr inbounds nuw i8, ptr %.pn4617161, i64 32 + %.04012 = getelementptr inbounds nuw i8, ptr %.pn4616161, i64 32 %2989 = add nuw nsw i32 %.04014160, 1 - %2990 = getelementptr inbounds nuw i8, ptr %.pn4617161, i64 92 + %2990 = getelementptr inbounds nuw i8, ptr %.pn4616161, i64 92 %2991 = load i8, ptr %2990, align 4 %2992 = icmp eq i8 %2991, 64 br i1 %2992, label %.lr.ph162, label %.thread22 @@ -55962,24 +55957,24 @@ thread-pre-split: ; preds = %1337, %1337, %1337, %2997 = getelementptr inbounds nuw i8, ptr %1308, i64 31 %2998 = load i8, ptr %2997, align 1 %2999 = and i8 %2998, 48 - %.not4618 = icmp eq i8 %2999, 0 - %.4792 = select i1 %.not4618, i32 1, i32 2 + %.not4617 = icmp eq i8 %2999, 0 + %.4791 = select i1 %.not4617, i32 1, i32 2 br label %.thread22 .thread22: ; preds = %.lr.ph158, %.lr.ph162, %switch.early.test, %switch.early.test, %.preheader36, %.preheader, %1414, %1414, %1664, %1664, %.thread11, %2981, %2981, %2981, %2981, %2981, %2981, %2981, %2981, %2981 %.sroa.0.119 = phi i32 [ %.sroa.0.1, %2981 ], [ %.sroa.0.1, %2981 ], [ %.sroa.0.1, %2981 ], [ %.sroa.0.1, %2981 ], [ %.sroa.0.1, %2981 ], [ %.sroa.0.1, %2981 ], [ %.sroa.0.1, %2981 ], [ %.sroa.0.1, %2981 ], [ %.sroa.0.1, %2981 ], [ %.sroa.0.120, %.thread11 ], [ %.sroa.0.0, %1664 ], [ %.sroa.0.0, %1664 ], [ %.sroa.0.0, %1414 ], [ %.sroa.0.0, %1414 ], [ %.sroa.0.1, %.preheader ], [ %.sroa.0.1, %.preheader36 ], [ %.sroa.0.0, %switch.early.test ], [ %.sroa.0.0, %switch.early.test ], [ %.sroa.0.1, %.lr.ph162 ], [ %.sroa.0.1, %.lr.ph158 ] %.2388817 = phi i32 [ %.23888, %2981 ], [ %.23888, %2981 ], [ %.23888, %2981 ], [ %.23888, %2981 ], [ %.23888, %2981 ], [ %.23888, %2981 ], [ %.23888, %2981 ], [ %.23888, %2981 ], [ %.23888, %2981 ], [ %.2388818, %.thread11 ], [ %.13887, %1664 ], [ %.13887, %1664 ], [ %.13887, %1414 ], [ %.13887, %1414 ], [ %.23888, %.preheader ], [ %.23888, %.preheader36 ], [ %.13887, %switch.early.test ], [ %.13887, %switch.early.test ], [ %.23888, %.lr.ph162 ], [ %.23888, %.lr.ph158 ] %.2389215 = phi i32 [ %.23892, %2981 ], [ %.23892, %2981 ], [ %.23892, %2981 ], [ %.23892, %2981 ], [ %.23892, %2981 ], [ %.23892, %2981 ], [ %.23892, %2981 ], [ %.23892, %2981 ], [ %.23892, %2981 ], [ %.2389216, %.thread11 ], [ %.13891, %1664 ], [ %.13891, %1664 ], [ %.13891, %1414 ], [ %.13891, %1414 ], [ %.23892, %.preheader ], [ %.23892, %.preheader36 ], [ %.13891, %switch.early.test ], [ %.13891, %switch.early.test ], [ %.23892, %.lr.ph162 ], [ %.23892, %.lr.ph158 ] - %.04011 = phi i32 [ 2, %2981 ], [ 2, %2981 ], [ 2, %2981 ], [ 2, %2981 ], [ 2, %2981 ], [ 2, %2981 ], [ 2, %2981 ], [ 2, %2981 ], [ 2, %2981 ], [ %.4792, %.thread11 ], [ 2, %1664 ], [ 2, %1664 ], [ 2, %1414 ], [ 2, %1414 ], [ 1, %.preheader ], [ 1, %.preheader36 ], [ 2, %switch.early.test ], [ 2, %switch.early.test ], [ %2989, %.lr.ph162 ], [ %2993, %.lr.ph158 ] + %.04011 = phi i32 [ 2, %2981 ], [ 2, %2981 ], [ 2, %2981 ], [ 2, %2981 ], [ 2, %2981 ], [ 2, %2981 ], [ 2, %2981 ], [ 2, %2981 ], [ 2, %2981 ], [ %.4791, %.thread11 ], [ 2, %1664 ], [ 2, %1664 ], [ 2, %1414 ], [ 2, %1414 ], [ 1, %.preheader ], [ 1, %.preheader36 ], [ 2, %switch.early.test ], [ 2, %switch.early.test ], [ %2989, %.lr.ph162 ], [ %2993, %.lr.ph158 ] %3000 = getelementptr inbounds nuw i8, ptr %.33873, i64 72 %3001 = load ptr, ptr %3000, align 8 - %.not4619 = icmp eq ptr %3001, null + %.not4618 = icmp eq ptr %3001, null %3002 = sext i32 %.43927 to i64 %3003 = getelementptr inbounds %struct._zend_ssa_op, ptr %.04017, i64 %3002 %3004 = getelementptr inbounds nuw i8, ptr %3003, i64 12 %3005 = load i32, ptr %3004, align 4 %3006 = icmp sgt i32 %3005, -1 - br i1 %.not4619, label %3040, label %3007 + br i1 %.not4618, label %3040, label %3007 3007: ; preds = %.thread22 br i1 %3006, label %3008, label %3009 @@ -56058,27 +56053,27 @@ thread-pre-split: ; preds = %1337, %1337, %1337, %3045 = add nsw i32 %3044, -5 %3046 = getelementptr inbounds nuw i8, ptr %.43957, i64 80 %3047 = load i32, ptr %3046, align 8 - %.not4620 = icmp ult i32 %3045, %3047 - br i1 %.not4620, label %3048, label %3074 + %.not4619 = icmp ult i32 %3045, %3047 + br i1 %.not4619, label %3048, label %3074 3048: ; preds = %3041 %3049 = getelementptr inbounds nuw i8, ptr %.43957, i64 8 %3050 = load ptr, ptr %3049, align 8 - %.not4621 = icmp eq ptr %3050, null - br i1 %.not4621, label %3074, label %3051 + %.not4620 = icmp eq ptr %3050, null + br i1 %.not4620, label %3074, label %3051 3051: ; preds = %3048 %3052 = getelementptr inbounds nuw i8, ptr %.33873, i64 32 %3053 = load i32, ptr %3052, align 8 %3054 = and i32 %3053, 1 - %.not4622 = icmp eq i32 %3054, 0 - br i1 %.not4622, label %3055, label %3074 + %.not4621 = icmp eq i32 %3054, 0 + br i1 %.not4621, label %3055, label %3074 3055: ; preds = %3051 %3056 = getelementptr inbounds nuw i8, ptr %.33873, i64 64 %3057 = load ptr, ptr %3056, align 8 - %.not4623 = icmp eq ptr %3057, null - br i1 %.not4623, label %3063, label %3058 + %.not4622 = icmp eq ptr %3057, null + br i1 %.not4622, label %3063, label %3058 3058: ; preds = %3055 %3059 = zext i32 %3045 to i64 @@ -56100,9 +56095,9 @@ thread-pre-split: ; preds = %1337, %1337, %1337, 3072: ; preds = %3063 %3073 = getelementptr inbounds nuw i8, ptr %3068, i64 24 - %bcmp4624 = call i32 @bcmp(ptr noundef nonnull dereferenceable(20) %3073, ptr noundef nonnull dereferenceable(20) @.str.150, i64 20) - %.not4625 = icmp eq i32 %bcmp4624, 0 - br i1 %.not4625, label %3074, label %.critedge147 + %bcmp4623 = call i32 @bcmp(ptr noundef nonnull dereferenceable(20) %3073, ptr noundef nonnull dereferenceable(20) @.str.150, i64 20) + %.not4624 = icmp eq i32 %bcmp4623, 0 + br i1 %.not4624, label %3074, label %.critedge147 .critedge147: ; preds = %3063, %3072 br label %3074 @@ -56124,8 +56119,8 @@ thread-pre-split: ; preds = %1337, %1337, %1337, %3084 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %.04020, i64 %3083 %3085 = load i32, ptr %3084, align 8 %3086 = and i32 %3085, 1024 - %.not4626 = icmp eq i32 %3086, 0 - br i1 %.not4626, label %3087, label %3124 + %.not4625 = icmp eq i32 %3086, 0 + br i1 %.not4625, label %3087, label %3124 3087: ; preds = %3082, %3074 %3088 = load i32, ptr %3004, align 4 @@ -56193,27 +56188,27 @@ zend_jit_trace_propagate_range.exit: ; preds = %3087, %3096, %3105 %3132 = add nsw i32 %3131, -5 %3133 = getelementptr inbounds nuw i8, ptr %.43957, i64 80 %3134 = load i32, ptr %3133, align 8 - %.not4627 = icmp ult i32 %3132, %3134 - br i1 %.not4627, label %3135, label %3161 + %.not4626 = icmp ult i32 %3132, %3134 + br i1 %.not4626, label %3135, label %3161 3135: ; preds = %3128 %3136 = getelementptr inbounds nuw i8, ptr %.43957, i64 8 %3137 = load ptr, ptr %3136, align 8 - %.not4628 = icmp eq ptr %3137, null - br i1 %.not4628, label %3161, label %3138 + %.not4627 = icmp eq ptr %3137, null + br i1 %.not4627, label %3161, label %3138 3138: ; preds = %3135 %3139 = getelementptr inbounds nuw i8, ptr %.33873, i64 32 %3140 = load i32, ptr %3139, align 8 %3141 = and i32 %3140, 1 - %.not4629 = icmp eq i32 %3141, 0 - br i1 %.not4629, label %3142, label %3161 + %.not4628 = icmp eq i32 %3141, 0 + br i1 %.not4628, label %3142, label %3161 3142: ; preds = %3138 %3143 = getelementptr inbounds nuw i8, ptr %.33873, i64 64 %3144 = load ptr, ptr %3143, align 8 - %.not4630 = icmp eq ptr %3144, null - br i1 %.not4630, label %3150, label %3145 + %.not4629 = icmp eq ptr %3144, null + br i1 %.not4629, label %3150, label %3145 3145: ; preds = %3142 %3146 = zext i32 %3132 to i64 @@ -56235,9 +56230,9 @@ zend_jit_trace_propagate_range.exit: ; preds = %3087, %3096, %3105 3159: ; preds = %3150 %3160 = getelementptr inbounds nuw i8, ptr %3155, i64 24 - %bcmp4631 = call i32 @bcmp(ptr noundef nonnull dereferenceable(20) %3160, ptr noundef nonnull dereferenceable(20) @.str.150, i64 20) - %.not4632 = icmp eq i32 %bcmp4631, 0 - br i1 %.not4632, label %3161, label %.critedge149 + %bcmp4630 = call i32 @bcmp(ptr noundef nonnull dereferenceable(20) %3160, ptr noundef nonnull dereferenceable(20) @.str.150, i64 20) + %.not4631 = icmp eq i32 %bcmp4630, 0 + br i1 %.not4631, label %3161, label %.critedge149 .critedge149: ; preds = %3150, %3159 br label %3161 @@ -56260,8 +56255,8 @@ zend_jit_trace_propagate_range.exit: ; preds = %3087, %3096, %3105 %3172 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %.04020, i64 %3171 %3173 = load i32, ptr %3172, align 8 %3174 = and i32 %3173, 1024 - %.not4633 = icmp eq i32 %3174, 0 - br i1 %.not4633, label %3175, label %3212 + %.not4632 = icmp eq i32 %3174, 0 + br i1 %.not4632, label %3175, label %3212 3175: ; preds = %3170, %3161 %3176 = load i32, ptr %3125, align 4 @@ -56273,7 +56268,7 @@ zend_jit_trace_propagate_range.exit: ; preds = %3087, %3096, %3105 %3181 = load i8, ptr %3180, align 8 %3182 = and i8 %3181, 12 %3183 = icmp eq i8 %3182, 0 - br i1 %3183, label %3184, label %zend_jit_trace_propagate_range.exit4825 + br i1 %3183, label %3184, label %zend_jit_trace_propagate_range.exit4824 3184: ; preds = %3175 %3185 = getelementptr inbounds nuw i8, ptr %3179, i64 8 @@ -56284,7 +56279,7 @@ zend_jit_trace_propagate_range.exit: ; preds = %3087, %3096, %3105 %3190 = load ptr, ptr %483, align 8 %3191 = getelementptr inbounds %struct._zend_ssa_op, ptr %3190, i64 %3187 %3192 = call zeroext i1 @zend_inference_propagate_range(ptr noundef nonnull %.43957, ptr noundef nonnull %.04035, ptr noundef %3189, ptr noundef %3191, i32 noundef %3176, ptr noundef nonnull %13) #33 - br i1 %3192, label %3193, label %zend_jit_trace_propagate_range.exit4825 + br i1 %3192, label %3193, label %zend_jit_trace_propagate_range.exit4824 3193: ; preds = %3184 %3194 = load i64, ptr %13, align 8 @@ -56310,13 +56305,13 @@ zend_jit_trace_propagate_range.exit: ; preds = %3087, %3096, %3105 %3210 = load i8, ptr %3209, align 4 %3211 = or i8 %3210, 1 store i8 %3211, ptr %3209, align 4 - br label %zend_jit_trace_propagate_range.exit4825 + br label %zend_jit_trace_propagate_range.exit4824 -zend_jit_trace_propagate_range.exit4825: ; preds = %3175, %3184, %3193 +zend_jit_trace_propagate_range.exit4824: ; preds = %3175, %3184, %3193 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %13) br label %3212 -3212: ; preds = %3170, %zend_jit_trace_propagate_range.exit4825, %3124 +3212: ; preds = %3170, %zend_jit_trace_propagate_range.exit4824, %3124 %3213 = getelementptr inbounds nuw i8, ptr %3003, i64 20 %3214 = load i32, ptr %3213, align 4 %3215 = icmp sgt i32 %3214, -1 @@ -56329,27 +56324,27 @@ zend_jit_trace_propagate_range.exit4825: ; preds = %3175, %3184, %3193 %3220 = add nsw i32 %3219, -5 %3221 = getelementptr inbounds nuw i8, ptr %.43957, i64 80 %3222 = load i32, ptr %3221, align 8 - %.not4634 = icmp ult i32 %3220, %3222 - br i1 %.not4634, label %3223, label %3249 + %.not4633 = icmp ult i32 %3220, %3222 + br i1 %.not4633, label %3223, label %3249 3223: ; preds = %3216 %3224 = getelementptr inbounds nuw i8, ptr %.43957, i64 8 %3225 = load ptr, ptr %3224, align 8 - %.not4635 = icmp eq ptr %3225, null - br i1 %.not4635, label %3249, label %3226 + %.not4634 = icmp eq ptr %3225, null + br i1 %.not4634, label %3249, label %3226 3226: ; preds = %3223 %3227 = getelementptr inbounds nuw i8, ptr %.33873, i64 32 %3228 = load i32, ptr %3227, align 8 %3229 = and i32 %3228, 1 - %.not4636 = icmp eq i32 %3229, 0 - br i1 %.not4636, label %3230, label %3249 + %.not4635 = icmp eq i32 %3229, 0 + br i1 %.not4635, label %3230, label %3249 3230: ; preds = %3226 %3231 = getelementptr inbounds nuw i8, ptr %.33873, i64 64 %3232 = load ptr, ptr %3231, align 8 - %.not4637 = icmp eq ptr %3232, null - br i1 %.not4637, label %3238, label %3233 + %.not4636 = icmp eq ptr %3232, null + br i1 %.not4636, label %3238, label %3233 3233: ; preds = %3230 %3234 = zext i32 %3220 to i64 @@ -56371,9 +56366,9 @@ zend_jit_trace_propagate_range.exit4825: ; preds = %3175, %3184, %3193 3247: ; preds = %3238 %3248 = getelementptr inbounds nuw i8, ptr %3243, i64 24 - %bcmp4638 = call i32 @bcmp(ptr noundef nonnull dereferenceable(20) %3248, ptr noundef nonnull dereferenceable(20) @.str.150, i64 20) - %.not4639 = icmp eq i32 %bcmp4638, 0 - br i1 %.not4639, label %3249, label %.critedge151 + %bcmp4637 = call i32 @bcmp(ptr noundef nonnull dereferenceable(20) %3248, ptr noundef nonnull dereferenceable(20) @.str.150, i64 20) + %.not4638 = icmp eq i32 %bcmp4637, 0 + br i1 %.not4638, label %3249, label %.critedge151 .critedge151: ; preds = %3238, %3247 br label %3249 @@ -56396,8 +56391,8 @@ zend_jit_trace_propagate_range.exit4825: ; preds = %3175, %3184, %3193 %3260 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %.04020, i64 %3259 %3261 = load i32, ptr %3260, align 8 %3262 = and i32 %3261, 1024 - %.not4640 = icmp eq i32 %3262, 0 - br i1 %.not4640, label %3263, label %3300 + %.not4639 = icmp eq i32 %3262, 0 + br i1 %.not4639, label %3263, label %3300 3263: ; preds = %3258, %3249 %3264 = load i32, ptr %3213, align 4 @@ -56409,7 +56404,7 @@ zend_jit_trace_propagate_range.exit4825: ; preds = %3175, %3184, %3193 %3269 = load i8, ptr %3268, align 8 %3270 = and i8 %3269, 12 %3271 = icmp eq i8 %3270, 0 - br i1 %3271, label %3272, label %zend_jit_trace_propagate_range.exit4826 + br i1 %3271, label %3272, label %zend_jit_trace_propagate_range.exit4825 3272: ; preds = %3263 %3273 = getelementptr inbounds nuw i8, ptr %3267, i64 8 @@ -56420,7 +56415,7 @@ zend_jit_trace_propagate_range.exit4825: ; preds = %3175, %3184, %3193 %3278 = load ptr, ptr %483, align 8 %3279 = getelementptr inbounds %struct._zend_ssa_op, ptr %3278, i64 %3275 %3280 = call zeroext i1 @zend_inference_propagate_range(ptr noundef nonnull %.43957, ptr noundef nonnull %.04035, ptr noundef %3277, ptr noundef %3279, i32 noundef %3264, ptr noundef nonnull %12) #33 - br i1 %3280, label %3281, label %zend_jit_trace_propagate_range.exit4826 + br i1 %3280, label %3281, label %zend_jit_trace_propagate_range.exit4825 3281: ; preds = %3272 %3282 = load i64, ptr %12, align 8 @@ -56446,13 +56441,13 @@ zend_jit_trace_propagate_range.exit4825: ; preds = %3175, %3184, %3193 %3298 = load i8, ptr %3297, align 4 %3299 = or i8 %3298, 1 store i8 %3299, ptr %3297, align 4 - br label %zend_jit_trace_propagate_range.exit4826 + br label %zend_jit_trace_propagate_range.exit4825 -zend_jit_trace_propagate_range.exit4826: ; preds = %3263, %3272, %3281 +zend_jit_trace_propagate_range.exit4825: ; preds = %3263, %3272, %3281 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %12) br label %3300 -3300: ; preds = %3258, %zend_jit_trace_propagate_range.exit4826, %3212 +3300: ; preds = %3258, %zend_jit_trace_propagate_range.exit4825, %3212 %3301 = icmp eq i32 %.04011, 2 br i1 %3301, label %3302, label %3570 @@ -56476,27 +56471,27 @@ zend_jit_trace_propagate_range.exit4826: ; preds = %3263, %3272, %3281 %3315 = add nsw i32 %3314, -5 %3316 = getelementptr inbounds nuw i8, ptr %.43957, i64 80 %3317 = load i32, ptr %3316, align 8 - %.not4641 = icmp ult i32 %3315, %3317 - br i1 %.not4641, label %3318, label %3344 + %.not4640 = icmp ult i32 %3315, %3317 + br i1 %.not4640, label %3318, label %3344 3318: ; preds = %3311 %3319 = getelementptr inbounds nuw i8, ptr %.43957, i64 8 %3320 = load ptr, ptr %3319, align 8 - %.not4642 = icmp eq ptr %3320, null - br i1 %.not4642, label %3344, label %3321 + %.not4641 = icmp eq ptr %3320, null + br i1 %.not4641, label %3344, label %3321 3321: ; preds = %3318 %3322 = getelementptr inbounds nuw i8, ptr %.33873, i64 32 %3323 = load i32, ptr %3322, align 8 %3324 = and i32 %3323, 1 - %.not4643 = icmp eq i32 %3324, 0 - br i1 %.not4643, label %3325, label %3344 + %.not4642 = icmp eq i32 %3324, 0 + br i1 %.not4642, label %3325, label %3344 3325: ; preds = %3321 %3326 = getelementptr inbounds nuw i8, ptr %.33873, i64 64 %3327 = load ptr, ptr %3326, align 8 - %.not4644 = icmp eq ptr %3327, null - br i1 %.not4644, label %3333, label %3328 + %.not4643 = icmp eq ptr %3327, null + br i1 %.not4643, label %3333, label %3328 3328: ; preds = %3325 %3329 = zext i32 %3315 to i64 @@ -56518,9 +56513,9 @@ zend_jit_trace_propagate_range.exit4826: ; preds = %3263, %3272, %3281 3342: ; preds = %3333 %3343 = getelementptr inbounds nuw i8, ptr %3338, i64 24 - %bcmp4645 = call i32 @bcmp(ptr noundef nonnull dereferenceable(20) %3343, ptr noundef nonnull dereferenceable(20) @.str.150, i64 20) - %.not4646 = icmp eq i32 %bcmp4645, 0 - br i1 %.not4646, label %3344, label %.critedge153 + %bcmp4644 = call i32 @bcmp(ptr noundef nonnull dereferenceable(20) %3343, ptr noundef nonnull dereferenceable(20) @.str.150, i64 20) + %.not4645 = icmp eq i32 %bcmp4644, 0 + br i1 %.not4645, label %3344, label %.critedge153 .critedge153: ; preds = %3333, %3342 br label %3344 @@ -56542,8 +56537,8 @@ zend_jit_trace_propagate_range.exit4826: ; preds = %3263, %3272, %3281 %3354 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %.04020, i64 %3353 %3355 = load i32, ptr %3354, align 8 %3356 = and i32 %3355, 1024 - %.not4647 = icmp eq i32 %3356, 0 - br i1 %.not4647, label %3357, label %3394 + %.not4646 = icmp eq i32 %3356, 0 + br i1 %.not4646, label %3357, label %3394 3357: ; preds = %3352, %3344 %3358 = load i32, ptr %3308, align 4 @@ -56555,7 +56550,7 @@ zend_jit_trace_propagate_range.exit4826: ; preds = %3263, %3272, %3281 %3363 = load i8, ptr %3362, align 8 %3364 = and i8 %3363, 12 %3365 = icmp eq i8 %3364, 0 - br i1 %3365, label %3366, label %zend_jit_trace_propagate_range.exit4827 + br i1 %3365, label %3366, label %zend_jit_trace_propagate_range.exit4826 3366: ; preds = %3357 %3367 = getelementptr inbounds nuw i8, ptr %3361, i64 8 @@ -56566,7 +56561,7 @@ zend_jit_trace_propagate_range.exit4826: ; preds = %3263, %3272, %3281 %3372 = load ptr, ptr %483, align 8 %3373 = getelementptr inbounds %struct._zend_ssa_op, ptr %3372, i64 %3369 %3374 = call zeroext i1 @zend_inference_propagate_range(ptr noundef nonnull %.43957, ptr noundef nonnull %.04035, ptr noundef %3371, ptr noundef %3373, i32 noundef %3358, ptr noundef nonnull %11) #33 - br i1 %3374, label %3375, label %zend_jit_trace_propagate_range.exit4827 + br i1 %3374, label %3375, label %zend_jit_trace_propagate_range.exit4826 3375: ; preds = %3366 %3376 = load i64, ptr %11, align 8 @@ -56592,13 +56587,13 @@ zend_jit_trace_propagate_range.exit4826: ; preds = %3263, %3272, %3281 %3392 = load i8, ptr %3391, align 4 %3393 = or i8 %3392, 1 store i8 %3393, ptr %3391, align 4 - br label %zend_jit_trace_propagate_range.exit4827 + br label %zend_jit_trace_propagate_range.exit4826 -zend_jit_trace_propagate_range.exit4827: ; preds = %3357, %3366, %3375 +zend_jit_trace_propagate_range.exit4826: ; preds = %3357, %3366, %3375 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %11) br label %3394 -3394: ; preds = %3352, %zend_jit_trace_propagate_range.exit4827, %3306 +3394: ; preds = %3352, %zend_jit_trace_propagate_range.exit4826, %3306 %3395 = getelementptr i8, ptr %3003, i64 52 %3396 = load i32, ptr %3395, align 4 %3397 = icmp sgt i32 %3396, -1 @@ -56611,27 +56606,27 @@ zend_jit_trace_propagate_range.exit4827: ; preds = %3357, %3366, %3375 %3402 = add nsw i32 %3401, -5 %3403 = getelementptr inbounds nuw i8, ptr %.43957, i64 80 %3404 = load i32, ptr %3403, align 8 - %.not4648 = icmp ult i32 %3402, %3404 - br i1 %.not4648, label %3405, label %3431 + %.not4647 = icmp ult i32 %3402, %3404 + br i1 %.not4647, label %3405, label %3431 3405: ; preds = %3398 %3406 = getelementptr inbounds nuw i8, ptr %.43957, i64 8 %3407 = load ptr, ptr %3406, align 8 - %.not4649 = icmp eq ptr %3407, null - br i1 %.not4649, label %3431, label %3408 + %.not4648 = icmp eq ptr %3407, null + br i1 %.not4648, label %3431, label %3408 3408: ; preds = %3405 %3409 = getelementptr inbounds nuw i8, ptr %.33873, i64 32 %3410 = load i32, ptr %3409, align 8 %3411 = and i32 %3410, 1 - %.not4650 = icmp eq i32 %3411, 0 - br i1 %.not4650, label %3412, label %3431 + %.not4649 = icmp eq i32 %3411, 0 + br i1 %.not4649, label %3412, label %3431 3412: ; preds = %3408 %3413 = getelementptr inbounds nuw i8, ptr %.33873, i64 64 %3414 = load ptr, ptr %3413, align 8 - %.not4651 = icmp eq ptr %3414, null - br i1 %.not4651, label %3420, label %3415 + %.not4650 = icmp eq ptr %3414, null + br i1 %.not4650, label %3420, label %3415 3415: ; preds = %3412 %3416 = zext i32 %3402 to i64 @@ -56653,9 +56648,9 @@ zend_jit_trace_propagate_range.exit4827: ; preds = %3357, %3366, %3375 3429: ; preds = %3420 %3430 = getelementptr inbounds nuw i8, ptr %3425, i64 24 - %bcmp4652 = call i32 @bcmp(ptr noundef nonnull dereferenceable(20) %3430, ptr noundef nonnull dereferenceable(20) @.str.150, i64 20) - %.not4653 = icmp eq i32 %bcmp4652, 0 - br i1 %.not4653, label %3431, label %.critedge155 + %bcmp4651 = call i32 @bcmp(ptr noundef nonnull dereferenceable(20) %3430, ptr noundef nonnull dereferenceable(20) @.str.150, i64 20) + %.not4652 = icmp eq i32 %bcmp4651, 0 + br i1 %.not4652, label %3431, label %.critedge155 .critedge155: ; preds = %3420, %3429 br label %3431 @@ -56678,8 +56673,8 @@ zend_jit_trace_propagate_range.exit4827: ; preds = %3357, %3366, %3375 %3442 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %.04020, i64 %3441 %3443 = load i32, ptr %3442, align 8 %3444 = and i32 %3443, 1024 - %.not4654 = icmp eq i32 %3444, 0 - br i1 %.not4654, label %3445, label %3482 + %.not4653 = icmp eq i32 %3444, 0 + br i1 %.not4653, label %3445, label %3482 3445: ; preds = %3440, %3431 %3446 = load i32, ptr %3395, align 4 @@ -56691,7 +56686,7 @@ zend_jit_trace_propagate_range.exit4827: ; preds = %3357, %3366, %3375 %3451 = load i8, ptr %3450, align 8 %3452 = and i8 %3451, 12 %3453 = icmp eq i8 %3452, 0 - br i1 %3453, label %3454, label %zend_jit_trace_propagate_range.exit4828 + br i1 %3453, label %3454, label %zend_jit_trace_propagate_range.exit4827 3454: ; preds = %3445 %3455 = getelementptr inbounds nuw i8, ptr %3449, i64 8 @@ -56702,7 +56697,7 @@ zend_jit_trace_propagate_range.exit4827: ; preds = %3357, %3366, %3375 %3460 = load ptr, ptr %483, align 8 %3461 = getelementptr inbounds %struct._zend_ssa_op, ptr %3460, i64 %3457 %3462 = call zeroext i1 @zend_inference_propagate_range(ptr noundef nonnull %.43957, ptr noundef nonnull %.04035, ptr noundef %3459, ptr noundef %3461, i32 noundef %3446, ptr noundef nonnull %10) #33 - br i1 %3462, label %3463, label %zend_jit_trace_propagate_range.exit4828 + br i1 %3462, label %3463, label %zend_jit_trace_propagate_range.exit4827 3463: ; preds = %3454 %3464 = load i64, ptr %10, align 8 @@ -56728,13 +56723,13 @@ zend_jit_trace_propagate_range.exit4827: ; preds = %3357, %3366, %3375 %3480 = load i8, ptr %3479, align 4 %3481 = or i8 %3480, 1 store i8 %3481, ptr %3479, align 4 - br label %zend_jit_trace_propagate_range.exit4828 + br label %zend_jit_trace_propagate_range.exit4827 -zend_jit_trace_propagate_range.exit4828: ; preds = %3445, %3454, %3463 +zend_jit_trace_propagate_range.exit4827: ; preds = %3445, %3454, %3463 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %10) br label %3482 -3482: ; preds = %3440, %zend_jit_trace_propagate_range.exit4828, %3394 +3482: ; preds = %3440, %zend_jit_trace_propagate_range.exit4827, %3394 %3483 = getelementptr i8, ptr %3003, i64 56 %3484 = load i32, ptr %3483, align 4 %3485 = icmp sgt i32 %3484, -1 @@ -56747,27 +56742,27 @@ zend_jit_trace_propagate_range.exit4828: ; preds = %3445, %3454, %3463 %3490 = add nsw i32 %3489, -5 %3491 = getelementptr inbounds nuw i8, ptr %.43957, i64 80 %3492 = load i32, ptr %3491, align 8 - %.not4655 = icmp ult i32 %3490, %3492 - br i1 %.not4655, label %3493, label %3519 + %.not4654 = icmp ult i32 %3490, %3492 + br i1 %.not4654, label %3493, label %3519 3493: ; preds = %3486 %3494 = getelementptr inbounds nuw i8, ptr %.43957, i64 8 %3495 = load ptr, ptr %3494, align 8 - %.not4656 = icmp eq ptr %3495, null - br i1 %.not4656, label %3519, label %3496 + %.not4655 = icmp eq ptr %3495, null + br i1 %.not4655, label %3519, label %3496 3496: ; preds = %3493 %3497 = getelementptr inbounds nuw i8, ptr %.33873, i64 32 %3498 = load i32, ptr %3497, align 8 %3499 = and i32 %3498, 1 - %.not4657 = icmp eq i32 %3499, 0 - br i1 %.not4657, label %3500, label %3519 + %.not4656 = icmp eq i32 %3499, 0 + br i1 %.not4656, label %3500, label %3519 3500: ; preds = %3496 %3501 = getelementptr inbounds nuw i8, ptr %.33873, i64 64 %3502 = load ptr, ptr %3501, align 8 - %.not4658 = icmp eq ptr %3502, null - br i1 %.not4658, label %3508, label %3503 + %.not4657 = icmp eq ptr %3502, null + br i1 %.not4657, label %3508, label %3503 3503: ; preds = %3500 %3504 = zext i32 %3490 to i64 @@ -56789,9 +56784,9 @@ zend_jit_trace_propagate_range.exit4828: ; preds = %3445, %3454, %3463 3517: ; preds = %3508 %3518 = getelementptr inbounds nuw i8, ptr %3513, i64 24 - %bcmp4659 = call i32 @bcmp(ptr noundef nonnull dereferenceable(20) %3518, ptr noundef nonnull dereferenceable(20) @.str.150, i64 20) - %.not4660 = icmp eq i32 %bcmp4659, 0 - br i1 %.not4660, label %3519, label %.critedge157 + %bcmp4658 = call i32 @bcmp(ptr noundef nonnull dereferenceable(20) %3518, ptr noundef nonnull dereferenceable(20) @.str.150, i64 20) + %.not4659 = icmp eq i32 %bcmp4658, 0 + br i1 %.not4659, label %3519, label %.critedge157 .critedge157: ; preds = %3508, %3517 br label %3519 @@ -56814,8 +56809,8 @@ zend_jit_trace_propagate_range.exit4828: ; preds = %3445, %3454, %3463 %3530 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %.04020, i64 %3529 %3531 = load i32, ptr %3530, align 8 %3532 = and i32 %3531, 1024 - %.not4661 = icmp eq i32 %3532, 0 - br i1 %.not4661, label %3533, label %3570 + %.not4660 = icmp eq i32 %3532, 0 + br i1 %.not4660, label %3533, label %3570 3533: ; preds = %3528, %3519 %3534 = load i32, ptr %3483, align 4 @@ -56827,7 +56822,7 @@ zend_jit_trace_propagate_range.exit4828: ; preds = %3445, %3454, %3463 %3539 = load i8, ptr %3538, align 8 %3540 = and i8 %3539, 12 %3541 = icmp eq i8 %3540, 0 - br i1 %3541, label %3542, label %zend_jit_trace_propagate_range.exit4829 + br i1 %3541, label %3542, label %zend_jit_trace_propagate_range.exit4828 3542: ; preds = %3533 %3543 = getelementptr inbounds nuw i8, ptr %3537, i64 8 @@ -56838,7 +56833,7 @@ zend_jit_trace_propagate_range.exit4828: ; preds = %3445, %3454, %3463 %3548 = load ptr, ptr %483, align 8 %3549 = getelementptr inbounds %struct._zend_ssa_op, ptr %3548, i64 %3545 %3550 = call zeroext i1 @zend_inference_propagate_range(ptr noundef nonnull %.43957, ptr noundef nonnull %.04035, ptr noundef %3547, ptr noundef %3549, i32 noundef %3534, ptr noundef nonnull %9) #33 - br i1 %3550, label %3551, label %zend_jit_trace_propagate_range.exit4829 + br i1 %3550, label %3551, label %zend_jit_trace_propagate_range.exit4828 3551: ; preds = %3542 %3552 = load i64, ptr %9, align 8 @@ -56864,13 +56859,13 @@ zend_jit_trace_propagate_range.exit4828: ; preds = %3445, %3454, %3463 %3568 = load i8, ptr %3567, align 4 %3569 = or i8 %3568, 1 store i8 %3569, ptr %3567, align 4 - br label %zend_jit_trace_propagate_range.exit4829 + br label %zend_jit_trace_propagate_range.exit4828 -zend_jit_trace_propagate_range.exit4829: ; preds = %3533, %3542, %3551 +zend_jit_trace_propagate_range.exit4828: ; preds = %3533, %3542, %3551 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %9) br label %3570 -3570: ; preds = %3300, %3302, %3528, %zend_jit_trace_propagate_range.exit4829, %3482, %3019, %3021, %3039, %3035 +3570: ; preds = %3300, %3302, %3528, %zend_jit_trace_propagate_range.exit4828, %3482, %3019, %3021, %3039, %3035 %3571 = load i8, ptr %1338, align 4 switch i8 %3571, label %.thread26 [ i8 64, label %3572 @@ -56882,8 +56877,8 @@ zend_jit_trace_propagate_range.exit4829: ; preds = %3533, %3542, %3551 %3573 = getelementptr inbounds nuw i8, ptr %.43957, i64 4 %3574 = load i32, ptr %3573, align 4 %3575 = and i32 %3574, 256 - %.not4662 = icmp eq i32 %3575, 0 - br i1 %.not4662, label %3576, label %.thread26 + %.not4661 = icmp eq i32 %3575, 0 + br i1 %.not4661, label %3576, label %.thread26 3576: ; preds = %3572 %3577 = getelementptr inbounds nuw i8, ptr %1308, i64 12 @@ -56906,8 +56901,8 @@ zend_jit_trace_propagate_range.exit4829: ; preds = %3533, %3542, %3551 %3587 = shl nuw i32 1, %3586 %3588 = getelementptr inbounds nuw i8, ptr %3580, i64 9 %3589 = load i8, ptr %3588, align 1 - %.not4663 = icmp eq i8 %3589, 0 - br i1 %.not4663, label %3592, label %3590 + %.not4662 = icmp eq i8 %3589, 0 + br i1 %.not4662, label %3592, label %3590 3590: ; preds = %3585 %3591 = or i32 %3587, -1073741824 @@ -56915,11 +56910,11 @@ zend_jit_trace_propagate_range.exit4829: ; preds = %3533, %3542, %3551 3592: ; preds = %3585 %3593 = icmp eq i8 %3582, 6 - %spec.select4793 = select i1 %3593, i32 -2147483584, i32 %3587 + %spec.select4792 = select i1 %3593, i32 -2147483584, i32 %3587 br label %3594 3594: ; preds = %3592, %3590, %3576, %3583 - %.03823 = phi i32 [ %3584, %3583 ], [ -521143298, %3576 ], [ %3591, %3590 ], [ %spec.select4793, %3592 ] + %.03823 = phi i32 [ %3584, %3583 ], [ -521143298, %3576 ], [ %3591, %3590 ], [ %spec.select4792, %3592 ] %3595 = sext i32 %.43927 to i64 %3596 = getelementptr inbounds %struct._zend_ssa_op, ptr %.04017, i64 %3595, i32 5 %3597 = load i32, ptr %3596, align 4 @@ -56972,7 +56967,7 @@ zend_jit_trace_propagate_range.exit4829: ; preds = %3533, %3542, %3551 %3628 = getelementptr inbounds nuw i8, ptr %3623, i64 12 %3629 = load i32, ptr %3628, align 4 %3630 = icmp sgt i32 %3629, 0 - %3631 = icmp eq i8 %spec.select4770, 7 + %3631 = icmp eq i8 %spec.select4769, 7 %or.cond160 = and i1 %3631, %3630 br i1 %or.cond160, label %3632, label %.thread27 @@ -57015,8 +57010,8 @@ zend_jit_trace_propagate_range.exit4829: ; preds = %3533, %3542, %3551 .thread27: ; preds = %3642, %3617, %3613, %3608, %3652, %3650, %3632, %3627, %.thread26, %3594 %3657 = load ptr, ptr %3000, align 8 - %.not4664 = icmp eq ptr %3657, null - br i1 %.not4664, label %3727, label %3658 + %.not4663 = icmp eq ptr %3657, null + br i1 %.not4663, label %3727, label %3658 3658: ; preds = %.thread27 %3659 = sext i32 %.43927 to i64 @@ -57035,14 +57030,14 @@ zend_jit_trace_propagate_range.exit4829: ; preds = %3533, %3542, %3551 3668: ; preds = %3664 %3669 = load ptr, ptr %.23868, align 8 - %.not4665 = icmp eq ptr %3669, null - br i1 %.not4665, label %3708, label %3670 + %.not4664 = icmp eq ptr %3669, null + br i1 %.not4664, label %3708, label %3670 3670: ; preds = %3668 %3671 = getelementptr inbounds nuw i8, ptr %3669, i64 16 %3672 = load ptr, ptr %3671, align 8 - %.not4666 = icmp eq ptr %3672, null - br i1 %.not4666, label %3708, label %3673 + %.not4665 = icmp eq ptr %3672, null + br i1 %.not4665, label %3708, label %3673 3673: ; preds = %3670 %3674 = getelementptr inbounds nuw i8, ptr %1308, i64 12 @@ -57050,15 +57045,15 @@ zend_jit_trace_propagate_range.exit4829: ; preds = %3533, %3542, %3551 %3676 = add i32 %3675, -1 %3677 = getelementptr inbounds nuw i8, ptr %3672, i64 32 %3678 = load i32, ptr %3677, align 8 - %.not4667 = icmp ult i32 %3676, %3678 - br i1 %.not4667, label %3684, label %3679 + %.not4666 = icmp ult i32 %3676, %3678 + br i1 %.not4666, label %3684, label %3679 3679: ; preds = %3673 %3680 = getelementptr inbounds nuw i8, ptr %3672, i64 4 %3681 = load i32, ptr %3680, align 4 %3682 = and i32 %3681, 16384 %3683 = icmp eq i32 %3682, 0 - br i1 %3683, label %.critedge4795, label %3684 + br i1 %3683, label %.critedge4794, label %3684 3684: ; preds = %3679, %3673 %.04000 = phi i32 [ %3676, %3673 ], [ %3678, %3679 ] @@ -57069,9 +57064,9 @@ zend_jit_trace_propagate_range.exit4829: ; preds = %3533, %3542, %3551 %3689 = load i32, ptr %3688, align 8 %3690 = and i32 %3689, 100663296 %.not34 = icmp eq i32 %3690, 0 - br i1 %.not34, label %.critedge4795, label %3708 + br i1 %.not34, label %.critedge4794, label %3708 -.critedge4795: ; preds = %3679, %3684 +.critedge4794: ; preds = %3679, %3684 %3691 = zext nneg i32 %3662 to i64 %3692 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %.04020, i64 %3691 %3693 = load i32, ptr %3660, align 4 @@ -57089,10 +57084,10 @@ zend_jit_trace_propagate_range.exit4829: ; preds = %3533, %3542, %3551 %3703 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %.04020, i64 %3702 %3704 = load i32, ptr %3703, align 8 %3705 = and i32 %3704, 1073741824 - %.not4668 = icmp eq i32 %3705, 0 - br i1 %.not4668, label %3709, label %3706 + %.not4667 = icmp eq i32 %3705, 0 + br i1 %.not4667, label %3709, label %3706 -3706: ; preds = %.critedge4795 +3706: ; preds = %.critedge4794 %3707 = or i32 %3704, -2147483648 store i32 %3707, ptr %3703, align 8 br label %3709 @@ -57101,7 +57096,7 @@ zend_jit_trace_propagate_range.exit4829: ; preds = %3533, %3542, %3551 call fastcc void @zend_jit_trace_restrict_ssa_var_info(ptr noundef %.43957, ptr noundef nonnull %.33873, ptr noundef %.04025, ptr noundef %.04035, i32 noundef %3662) br label %3709 -3709: ; preds = %3708, %3706, %.critedge4795, %3658 +3709: ; preds = %3708, %3706, %.critedge4794, %3658 %3710 = getelementptr inbounds nuw i8, ptr %3660, i64 16 %3711 = load i32, ptr %3710, align 4 %3712 = icmp sgt i32 %3711, -1 @@ -57121,8 +57116,8 @@ zend_jit_trace_propagate_range.exit4829: ; preds = %3533, %3542, %3551 %3718 = load i32, ptr %3717, align 4 %3719 = sext i32 %3718 to i64 %3720 = getelementptr inbounds i8, ptr %1308, i64 %3719 - %.not4671 = icmp eq ptr %3716, %3720 - br i1 %.not4671, label %3722, label %3721 + %.not4670 = icmp eq ptr %3716, %3720 + br i1 %.not4670, label %3722, label %3721 3721: ; preds = %3713, %3715 call fastcc void @zend_jit_trace_restrict_ssa_var_info(ptr noundef %.43957, ptr noundef nonnull %.33873, ptr noundef %.04025, ptr noundef %.04035, i32 noundef %3711) @@ -57160,17 +57155,17 @@ zend_jit_trace_propagate_range.exit4829: ; preds = %3533, %3542, %3551 %3737 = getelementptr inbounds nuw i8, ptr %.23951165, i64 32 %3738 = getelementptr inbounds nuw i8, ptr %.23951165, i64 60 %3739 = load i8, ptr %3738, align 4 - %.not4672 = icmp eq i8 %3739, -119 - br i1 %.not4672, label %4035, label %3740 + %.not4671 = icmp eq i8 %3739, -119 + br i1 %.not4671, label %4035, label %3740 3740: ; preds = %3736 %3741 = load ptr, ptr %3000, align 8 - %.not4673 = icmp eq ptr %3741, null + %.not4672 = icmp eq ptr %3741, null %3742 = getelementptr inbounds %struct._zend_ssa_op, ptr %.04017, i64 %indvars.iv258 %3743 = getelementptr inbounds nuw i8, ptr %3742, i64 12 %3744 = load i32, ptr %3743, align 4 %3745 = icmp sgt i32 %3744, -1 - br i1 %.not4673, label %3758, label %3746 + br i1 %.not4672, label %3758, label %3746 3746: ; preds = %3740 br i1 %3745, label %3747, label %3748 @@ -57208,24 +57203,24 @@ zend_jit_trace_propagate_range.exit4829: ; preds = %3533, %3542, %3551 %3762 = lshr i32 %3761, 4 %3763 = add nsw i32 %3762, -5 %3764 = load i32, ptr %3729, align 8 - %.not4674 = icmp ult i32 %3763, %3764 - br i1 %.not4674, label %3765, label %3787 + %.not4673 = icmp ult i32 %3763, %3764 + br i1 %.not4673, label %3765, label %3787 3765: ; preds = %3759 %3766 = load ptr, ptr %3730, align 8 - %.not4675 = icmp eq ptr %3766, null - br i1 %.not4675, label %3787, label %3767 + %.not4674 = icmp eq ptr %3766, null + br i1 %.not4674, label %3787, label %3767 3767: ; preds = %3765 %3768 = load i32, ptr %3731, align 8 %3769 = and i32 %3768, 1 - %.not4676 = icmp eq i32 %3769, 0 - br i1 %.not4676, label %3770, label %3787 + %.not4675 = icmp eq i32 %3769, 0 + br i1 %.not4675, label %3770, label %3787 3770: ; preds = %3767 %3771 = load ptr, ptr %3732, align 8 - %.not4677 = icmp eq ptr %3771, null - br i1 %.not4677, label %3777, label %3772 + %.not4676 = icmp eq ptr %3771, null + br i1 %.not4676, label %3777, label %3772 3772: ; preds = %3770 %3773 = zext i32 %3763 to i64 @@ -57246,9 +57241,9 @@ zend_jit_trace_propagate_range.exit4829: ; preds = %3533, %3542, %3551 3785: ; preds = %3777 %3786 = getelementptr inbounds nuw i8, ptr %3781, i64 24 - %bcmp4678 = call i32 @bcmp(ptr noundef nonnull dereferenceable(20) %3786, ptr noundef nonnull dereferenceable(20) @.str.150, i64 20) - %.not4679 = icmp eq i32 %bcmp4678, 0 - br i1 %.not4679, label %3787, label %.critedge173 + %bcmp4677 = call i32 @bcmp(ptr noundef nonnull dereferenceable(20) %3786, ptr noundef nonnull dereferenceable(20) @.str.150, i64 20) + %.not4678 = icmp eq i32 %bcmp4677, 0 + br i1 %.not4678, label %3787, label %.critedge173 .critedge173: ; preds = %3777, %3785 br label %3787 @@ -57270,8 +57265,8 @@ zend_jit_trace_propagate_range.exit4829: ; preds = %3533, %3542, %3551 %3797 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %.04020, i64 %3796 %3798 = load i32, ptr %3797, align 8 %3799 = and i32 %3798, 1024 - %.not4680 = icmp eq i32 %3799, 0 - br i1 %.not4680, label %3800, label %3837 + %.not4679 = icmp eq i32 %3799, 0 + br i1 %.not4679, label %3800, label %3837 3800: ; preds = %3795, %3787 %3801 = load i32, ptr %3743, align 4 @@ -57283,7 +57278,7 @@ zend_jit_trace_propagate_range.exit4829: ; preds = %3533, %3542, %3551 %3806 = load i8, ptr %3805, align 8 %3807 = and i8 %3806, 12 %3808 = icmp eq i8 %3807, 0 - br i1 %3808, label %3809, label %zend_jit_trace_propagate_range.exit4830 + br i1 %3808, label %3809, label %zend_jit_trace_propagate_range.exit4829 3809: ; preds = %3800 %3810 = getelementptr inbounds nuw i8, ptr %3804, i64 8 @@ -57294,7 +57289,7 @@ zend_jit_trace_propagate_range.exit4829: ; preds = %3533, %3542, %3551 %3815 = load ptr, ptr %483, align 8 %3816 = getelementptr inbounds %struct._zend_ssa_op, ptr %3815, i64 %3812 %3817 = call zeroext i1 @zend_inference_propagate_range(ptr noundef nonnull %.43957, ptr noundef nonnull %.04035, ptr noundef %3814, ptr noundef %3816, i32 noundef %3801, ptr noundef nonnull %8) #33 - br i1 %3817, label %3818, label %zend_jit_trace_propagate_range.exit4830 + br i1 %3817, label %3818, label %zend_jit_trace_propagate_range.exit4829 3818: ; preds = %3809 %3819 = load i64, ptr %8, align 8 @@ -57320,13 +57315,13 @@ zend_jit_trace_propagate_range.exit4829: ; preds = %3533, %3542, %3551 %3835 = load i8, ptr %3834, align 4 %3836 = or i8 %3835, 1 store i8 %3836, ptr %3834, align 4 - br label %zend_jit_trace_propagate_range.exit4830 + br label %zend_jit_trace_propagate_range.exit4829 -zend_jit_trace_propagate_range.exit4830: ; preds = %3800, %3809, %3818 +zend_jit_trace_propagate_range.exit4829: ; preds = %3800, %3809, %3818 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %8) br label %3837 -3837: ; preds = %3795, %zend_jit_trace_propagate_range.exit4830, %3758 +3837: ; preds = %3795, %zend_jit_trace_propagate_range.exit4829, %3758 %3838 = getelementptr inbounds nuw i8, ptr %3742, i64 16 %3839 = load i32, ptr %3838, align 4 %3840 = icmp sgt i32 %3839, -1 @@ -57338,24 +57333,24 @@ zend_jit_trace_propagate_range.exit4830: ; preds = %3800, %3809, %3818 %3844 = lshr i32 %3843, 4 %3845 = add nsw i32 %3844, -5 %3846 = load i32, ptr %3729, align 8 - %.not4681 = icmp ult i32 %3845, %3846 - br i1 %.not4681, label %3847, label %3869 + %.not4680 = icmp ult i32 %3845, %3846 + br i1 %.not4680, label %3847, label %3869 3847: ; preds = %3841 %3848 = load ptr, ptr %3730, align 8 - %.not4682 = icmp eq ptr %3848, null - br i1 %.not4682, label %3869, label %3849 + %.not4681 = icmp eq ptr %3848, null + br i1 %.not4681, label %3869, label %3849 3849: ; preds = %3847 %3850 = load i32, ptr %3731, align 8 %3851 = and i32 %3850, 1 - %.not4683 = icmp eq i32 %3851, 0 - br i1 %.not4683, label %3852, label %3869 + %.not4682 = icmp eq i32 %3851, 0 + br i1 %.not4682, label %3852, label %3869 3852: ; preds = %3849 %3853 = load ptr, ptr %3732, align 8 - %.not4684 = icmp eq ptr %3853, null - br i1 %.not4684, label %3859, label %3854 + %.not4683 = icmp eq ptr %3853, null + br i1 %.not4683, label %3859, label %3854 3854: ; preds = %3852 %3855 = zext i32 %3845 to i64 @@ -57376,9 +57371,9 @@ zend_jit_trace_propagate_range.exit4830: ; preds = %3800, %3809, %3818 3867: ; preds = %3859 %3868 = getelementptr inbounds nuw i8, ptr %3863, i64 24 - %bcmp4685 = call i32 @bcmp(ptr noundef nonnull dereferenceable(20) %3868, ptr noundef nonnull dereferenceable(20) @.str.150, i64 20) - %.not4686 = icmp eq i32 %bcmp4685, 0 - br i1 %.not4686, label %3869, label %.critedge175 + %bcmp4684 = call i32 @bcmp(ptr noundef nonnull dereferenceable(20) %3868, ptr noundef nonnull dereferenceable(20) @.str.150, i64 20) + %.not4685 = icmp eq i32 %bcmp4684, 0 + br i1 %.not4685, label %3869, label %.critedge175 .critedge175: ; preds = %3859, %3867 br label %3869 @@ -57401,8 +57396,8 @@ zend_jit_trace_propagate_range.exit4830: ; preds = %3800, %3809, %3818 %3880 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %.04020, i64 %3879 %3881 = load i32, ptr %3880, align 8 %3882 = and i32 %3881, 1024 - %.not4687 = icmp eq i32 %3882, 0 - br i1 %.not4687, label %3883, label %3920 + %.not4686 = icmp eq i32 %3882, 0 + br i1 %.not4686, label %3883, label %3920 3883: ; preds = %3878, %3869 %3884 = load i32, ptr %3838, align 4 @@ -57414,7 +57409,7 @@ zend_jit_trace_propagate_range.exit4830: ; preds = %3800, %3809, %3818 %3889 = load i8, ptr %3888, align 8 %3890 = and i8 %3889, 12 %3891 = icmp eq i8 %3890, 0 - br i1 %3891, label %3892, label %zend_jit_trace_propagate_range.exit4831 + br i1 %3891, label %3892, label %zend_jit_trace_propagate_range.exit4830 3892: ; preds = %3883 %3893 = getelementptr inbounds nuw i8, ptr %3887, i64 8 @@ -57425,7 +57420,7 @@ zend_jit_trace_propagate_range.exit4830: ; preds = %3800, %3809, %3818 %3898 = load ptr, ptr %483, align 8 %3899 = getelementptr inbounds %struct._zend_ssa_op, ptr %3898, i64 %3895 %3900 = call zeroext i1 @zend_inference_propagate_range(ptr noundef nonnull %.43957, ptr noundef nonnull %.04035, ptr noundef %3897, ptr noundef %3899, i32 noundef %3884, ptr noundef nonnull %7) #33 - br i1 %3900, label %3901, label %zend_jit_trace_propagate_range.exit4831 + br i1 %3900, label %3901, label %zend_jit_trace_propagate_range.exit4830 3901: ; preds = %3892 %3902 = load i64, ptr %7, align 8 @@ -57451,13 +57446,13 @@ zend_jit_trace_propagate_range.exit4830: ; preds = %3800, %3809, %3818 %3918 = load i8, ptr %3917, align 4 %3919 = or i8 %3918, 1 store i8 %3919, ptr %3917, align 4 - br label %zend_jit_trace_propagate_range.exit4831 + br label %zend_jit_trace_propagate_range.exit4830 -zend_jit_trace_propagate_range.exit4831: ; preds = %3883, %3892, %3901 +zend_jit_trace_propagate_range.exit4830: ; preds = %3883, %3892, %3901 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %7) br label %3920 -3920: ; preds = %3878, %zend_jit_trace_propagate_range.exit4831, %3837 +3920: ; preds = %3878, %zend_jit_trace_propagate_range.exit4830, %3837 %3921 = getelementptr inbounds nuw i8, ptr %3742, i64 20 %3922 = load i32, ptr %3921, align 4 %3923 = icmp sgt i32 %3922, -1 @@ -57469,24 +57464,24 @@ zend_jit_trace_propagate_range.exit4831: ; preds = %3883, %3892, %3901 %3927 = lshr i32 %3926, 4 %3928 = add nsw i32 %3927, -5 %3929 = load i32, ptr %3729, align 8 - %.not4688 = icmp ult i32 %3928, %3929 - br i1 %.not4688, label %3930, label %3952 + %.not4687 = icmp ult i32 %3928, %3929 + br i1 %.not4687, label %3930, label %3952 3930: ; preds = %3924 %3931 = load ptr, ptr %3730, align 8 - %.not4689 = icmp eq ptr %3931, null - br i1 %.not4689, label %3952, label %3932 + %.not4688 = icmp eq ptr %3931, null + br i1 %.not4688, label %3952, label %3932 3932: ; preds = %3930 %3933 = load i32, ptr %3731, align 8 %3934 = and i32 %3933, 1 - %.not4690 = icmp eq i32 %3934, 0 - br i1 %.not4690, label %3935, label %3952 + %.not4689 = icmp eq i32 %3934, 0 + br i1 %.not4689, label %3935, label %3952 3935: ; preds = %3932 %3936 = load ptr, ptr %3732, align 8 - %.not4691 = icmp eq ptr %3936, null - br i1 %.not4691, label %3942, label %3937 + %.not4690 = icmp eq ptr %3936, null + br i1 %.not4690, label %3942, label %3937 3937: ; preds = %3935 %3938 = zext i32 %3928 to i64 @@ -57507,9 +57502,9 @@ zend_jit_trace_propagate_range.exit4831: ; preds = %3883, %3892, %3901 3950: ; preds = %3942 %3951 = getelementptr inbounds nuw i8, ptr %3946, i64 24 - %bcmp4692 = call i32 @bcmp(ptr noundef nonnull dereferenceable(20) %3951, ptr noundef nonnull dereferenceable(20) @.str.150, i64 20) - %.not4693 = icmp eq i32 %bcmp4692, 0 - br i1 %.not4693, label %3952, label %.critedge177 + %bcmp4691 = call i32 @bcmp(ptr noundef nonnull dereferenceable(20) %3951, ptr noundef nonnull dereferenceable(20) @.str.150, i64 20) + %.not4692 = icmp eq i32 %bcmp4691, 0 + br i1 %.not4692, label %3952, label %.critedge177 .critedge177: ; preds = %3942, %3950 br label %3952 @@ -57532,8 +57527,8 @@ zend_jit_trace_propagate_range.exit4831: ; preds = %3883, %3892, %3901 %3963 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %.04020, i64 %3962 %3964 = load i32, ptr %3963, align 8 %3965 = and i32 %3964, 1024 - %.not4694 = icmp eq i32 %3965, 0 - br i1 %.not4694, label %3966, label %4003 + %.not4693 = icmp eq i32 %3965, 0 + br i1 %.not4693, label %3966, label %4003 3966: ; preds = %3961, %3952 %3967 = load i32, ptr %3921, align 4 @@ -57545,7 +57540,7 @@ zend_jit_trace_propagate_range.exit4831: ; preds = %3883, %3892, %3901 %3972 = load i8, ptr %3971, align 8 %3973 = and i8 %3972, 12 %3974 = icmp eq i8 %3973, 0 - br i1 %3974, label %3975, label %zend_jit_trace_propagate_range.exit4832 + br i1 %3974, label %3975, label %zend_jit_trace_propagate_range.exit4831 3975: ; preds = %3966 %3976 = getelementptr inbounds nuw i8, ptr %3970, i64 8 @@ -57556,7 +57551,7 @@ zend_jit_trace_propagate_range.exit4831: ; preds = %3883, %3892, %3901 %3981 = load ptr, ptr %483, align 8 %3982 = getelementptr inbounds %struct._zend_ssa_op, ptr %3981, i64 %3978 %3983 = call zeroext i1 @zend_inference_propagate_range(ptr noundef nonnull %.43957, ptr noundef nonnull %.04035, ptr noundef %3980, ptr noundef %3982, i32 noundef %3967, ptr noundef nonnull %6) #33 - br i1 %3983, label %3984, label %zend_jit_trace_propagate_range.exit4832 + br i1 %3983, label %3984, label %zend_jit_trace_propagate_range.exit4831 3984: ; preds = %3975 %3985 = load i64, ptr %6, align 8 @@ -57582,13 +57577,13 @@ zend_jit_trace_propagate_range.exit4831: ; preds = %3883, %3892, %3901 %4001 = load i8, ptr %4000, align 4 %4002 = or i8 %4001, 1 store i8 %4002, ptr %4000, align 4 - br label %zend_jit_trace_propagate_range.exit4832 + br label %zend_jit_trace_propagate_range.exit4831 -zend_jit_trace_propagate_range.exit4832: ; preds = %3966, %3975, %3984 +zend_jit_trace_propagate_range.exit4831: ; preds = %3966, %3975, %3984 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %6) br label %4003 -4003: ; preds = %3920, %zend_jit_trace_propagate_range.exit4832, %3961, %3753, %3757 +4003: ; preds = %3920, %zend_jit_trace_propagate_range.exit4831, %3961, %3753, %3757 %4004 = load i8, ptr %3738, align 4 %4005 = icmp eq i8 %4004, 64 br i1 %4005, label %4006, label %4032 @@ -57596,8 +57591,8 @@ zend_jit_trace_propagate_range.exit4832: ; preds = %3966, %3975, %3984 4006: ; preds = %4003 %4007 = load i32, ptr %3734, align 4 %4008 = and i32 %4007, 256 - %.not4695 = icmp eq i32 %4008, 0 - br i1 %.not4695, label %4009, label %4032 + %.not4694 = icmp eq i32 %4008, 0 + br i1 %.not4694, label %4009, label %4032 4009: ; preds = %4006 %4010 = getelementptr inbounds nuw i8, ptr %.23951165, i64 44 @@ -57620,8 +57615,8 @@ zend_jit_trace_propagate_range.exit4832: ; preds = %3966, %3975, %3984 %4020 = shl nuw i32 1, %4019 %4021 = getelementptr inbounds nuw i8, ptr %4013, i64 9 %4022 = load i8, ptr %4021, align 1 - %.not4696 = icmp eq i8 %4022, 0 - br i1 %.not4696, label %4025, label %4023 + %.not4695 = icmp eq i8 %4022, 0 + br i1 %.not4695, label %4025, label %4023 4023: ; preds = %4018 %4024 = or i32 %4020, -1073741824 @@ -57629,11 +57624,11 @@ zend_jit_trace_propagate_range.exit4832: ; preds = %3966, %3975, %3984 4025: ; preds = %4018 %4026 = icmp eq i8 %4015, 6 - %spec.select4796 = select i1 %4026, i32 -2147483584, i32 %4020 + %spec.select4795 = select i1 %4026, i32 -2147483584, i32 %4020 br label %4027 4027: ; preds = %4025, %4023, %4009, %4016 - %.03825 = phi i32 [ %4017, %4016 ], [ -521143298, %4009 ], [ %4024, %4023 ], [ %spec.select4796, %4025 ] + %.03825 = phi i32 [ %4017, %4016 ], [ -521143298, %4009 ], [ %4024, %4023 ], [ %spec.select4795, %4025 ] %4028 = getelementptr inbounds %struct._zend_ssa_op, ptr %.04017, i64 %indvars.iv258, i32 5 %4029 = load i32, ptr %4028, align 4 %4030 = sext i32 %4029 to i64 @@ -57648,8 +57643,8 @@ zend_jit_trace_propagate_range.exit4832: ; preds = %3966, %3975, %3984 4035: ; preds = %4027, %4032, %3736 %4036 = load ptr, ptr %3000, align 8 - %.not4697 = icmp eq ptr %4036, null - br i1 %.not4697, label %4053, label %4037 + %.not4696 = icmp eq ptr %4036, null + br i1 %.not4696, label %4053, label %4037 4037: ; preds = %4035 %4038 = getelementptr inbounds %struct._zend_ssa_op, ptr %.04017, i64 %indvars.iv258 @@ -57723,20 +57718,20 @@ zend_jit_trace_propagate_range.exit4832: ; preds = %3966, %3975, %3984 %4077 = getelementptr inbounds nuw i8, ptr %4058, i64 72 %4078 = load i32, ptr %4077, align 8 %4079 = add i32 %4078, %4076 - br label %zend_jit_trace_call_frame.exit4835 + br label %zend_jit_trace_call_frame.exit4834 4080: ; preds = %4066 %4081 = getelementptr inbounds nuw i8, ptr %4058, i64 32 %4082 = load i32, ptr %4081, align 8 - br label %zend_jit_trace_call_frame.exit4835 - -zend_jit_trace_call_frame.exit4835: ; preds = %4074, %4080 - %.0.i4834.in.in.in.in = phi i32 [ %4079, %4074 ], [ %4082, %4080 ] - %.0.i4834.in.in.in = zext i32 %.0.i4834.in.in.in.in to i64 - %.0.i4834.in.in = shl nuw nsw i64 %.0.i4834.in.in.in, 3 - %.0.i4834.in = add nuw nsw i64 %.0.i4834.in.in, 67 - %.0.i4834 = and i64 %.0.i4834.in, 68719476728 - %4083 = getelementptr inbounds nuw i8, ptr %.03862, i64 %.0.i4834 + br label %zend_jit_trace_call_frame.exit4834 + +zend_jit_trace_call_frame.exit4834: ; preds = %4074, %4080 + %.0.i4833.in.in.in.in = phi i32 [ %4079, %4074 ], [ %4082, %4080 ] + %.0.i4833.in.in.in = zext i32 %.0.i4833.in.in.in.in to i64 + %.0.i4833.in.in = shl nuw nsw i64 %.0.i4833.in.in.in, 3 + %.0.i4833.in = add nuw nsw i64 %.0.i4833.in.in, 67 + %.0.i4833 = and i64 %.0.i4833.in, 68719476728 + %4083 = getelementptr inbounds nuw i8, ptr %.03862, i64 %.0.i4833 br label %4088 4084: ; preds = %4056 @@ -57748,10 +57743,10 @@ zend_jit_trace_call_frame.exit4835: ; preds = %4074, %4080 %.pre265 = load ptr, ptr %.phi.trans.insert264, align 8 br label %4088 -4088: ; preds = %4084, %zend_jit_trace_call_frame.exit4835 - %4089 = phi ptr [ %.pre265, %4084 ], [ null, %zend_jit_trace_call_frame.exit4835 ] - %.13863 = phi ptr [ %.03862, %4084 ], [ %4083, %zend_jit_trace_call_frame.exit4835 ] - %.03861 = phi ptr [ %4065, %4084 ], [ %.03862, %zend_jit_trace_call_frame.exit4835 ] +4088: ; preds = %4084, %zend_jit_trace_call_frame.exit4834 + %4089 = phi ptr [ %.pre265, %4084 ], [ null, %zend_jit_trace_call_frame.exit4834 ] + %.13863 = phi ptr [ %.03862, %4084 ], [ %4083, %zend_jit_trace_call_frame.exit4834 ] + %.03861 = phi ptr [ %4065, %4084 ], [ %.03862, %zend_jit_trace_call_frame.exit4834 ] %4090 = getelementptr inbounds nuw i8, ptr %.03861, i64 8 store ptr %4089, ptr %.23868, align 8 store ptr %.23868, ptr %4090, align 8 @@ -57759,7 +57754,7 @@ zend_jit_trace_call_frame.exit4835: ; preds = %4074, %4080 %4092 = sext i32 %.43927 to i64 %4093 = load i8, ptr %4091, align 8 %4094 = icmp eq i8 %4093, 0 - br i1 %4094, label %._crit_edge.i, label %.lr.ph.i4836 + br i1 %4094, label %._crit_edge.i, label %.lr.ph.i4835 ._crit_edge.i: ; preds = %4107, %4088 %4095 = phi ptr [ %.23943, %4088 ], [ %.0913.i, %4107 ] @@ -57776,30 +57771,30 @@ zend_jit_trace_call_frame.exit4835: ; preds = %4074, %4080 4100: ; preds = %._crit_edge.i, %._crit_edge.i, %._crit_edge.i %4101 = getelementptr inbounds nuw i8, ptr %4097, i64 31 %4102 = load i8, ptr %4101, align 1 - %.not.i4838 = icmp eq i8 %4102, 0 - br i1 %.not.i4838, label %find_return_ssa_var.exit, label %4103 + %.not.i4837 = icmp eq i8 %4102, 0 + br i1 %.not.i4837, label %find_return_ssa_var.exit, label %4103 4103: ; preds = %4100 %gep = getelementptr %struct._zend_ssa_op, ptr %invariant.gep, i64 %4092 %4104 = load i32, ptr %gep, align 4 br label %find_return_ssa_var.exit -.lr.ph.i4836: ; preds = %4088, %4107 +.lr.ph.i4835: ; preds = %4088, %4107 %4105 = phi i8 [ %4109, %4107 ], [ %4093, %4088 ] %.0913.i = phi ptr [ %4108, %4107 ], [ %4091, %4088 ] %4106 = icmp ult i8 %4105, 4 br i1 %4106, label %4107, label %find_return_ssa_var.exit -4107: ; preds = %.lr.ph.i4836 +4107: ; preds = %.lr.ph.i4835 %4108 = getelementptr inbounds i8, ptr %.0913.i, i64 -16 %4109 = load i8, ptr %4108, align 8 %4110 = icmp eq i8 %4109, 0 - br i1 %4110, label %._crit_edge.i, label %.lr.ph.i4836 + br i1 %4110, label %._crit_edge.i, label %.lr.ph.i4835 -find_return_ssa_var.exit: ; preds = %.lr.ph.i4836, %._crit_edge.i, %4100, %4103 - %.0.i4837 = phi i32 [ %4104, %4103 ], [ -1, %._crit_edge.i ], [ -1, %4100 ], [ -1, %.lr.ph.i4836 ] +find_return_ssa_var.exit: ; preds = %.lr.ph.i4835, %._crit_edge.i, %4100, %4103 + %.0.i4836 = phi i32 [ %4104, %4103 ], [ -1, %._crit_edge.i ], [ -1, %4100 ], [ -1, %.lr.ph.i4835 ] %4111 = getelementptr inbounds nuw i8, ptr %.03861, i64 44 - store i32 %.0.i4837, ptr %4111, align 4 + store i32 %.0.i4836, ptr %4111, align 4 %4112 = add nsw i32 %.5, 1 %4113 = getelementptr inbounds nuw i8, ptr %4058, i64 80 %4114 = load i32, ptr %4113, align 8 @@ -57908,9 +57903,9 @@ find_return_ssa_var.exit: ; preds = %.lr.ph.i4836, %._cr %4173 = and i32 %4172, 100663296 %.not4445 = icmp eq i32 %4173, 0 %4174 = or i32 %4170, 1024 - %spec.select4797 = select i1 %.not4445, i32 %4170, i32 %4174 + %spec.select4796 = select i1 %.not4445, i32 %4170, i32 %4174 %4175 = getelementptr inbounds nuw %struct._zend_ssa_var_info, ptr %.04020, i64 %indvars.iv253 - store i32 %spec.select4797, ptr %4175, align 8 + store i32 %spec.select4796, ptr %4175, align 8 %4176 = load ptr, ptr %17, align 8 %4177 = getelementptr inbounds nuw i8, ptr %4175, i64 32 store ptr %4176, ptr %4177, align 8 @@ -58240,8 +58235,8 @@ find_return_ssa_var.exit: ; preds = %.lr.ph.i4836, %._cr br label %.loopexit35 4344: ; preds = %4331 - %.not.i4839 = icmp eq ptr %4246, null - br i1 %.not.i4839, label %zend_jit_trace_ret_frame.exit4841, label %4345 + %.not.i4838 = icmp eq ptr %4246, null + br i1 %.not.i4838, label %zend_jit_trace_ret_frame.exit4840, label %4345 4345: ; preds = %4344 %4346 = load i8, ptr %4246, align 8 @@ -58258,7 +58253,7 @@ find_return_ssa_var.exit: ; preds = %.lr.ph.i4836, %._cr %4355 = shl nuw nsw i64 %4354, 3 %4356 = add nuw nsw i64 %4355, 67 %4357 = and i64 %4356, 68719476728 - br label %zend_jit_trace_ret_frame.exit4841 + br label %zend_jit_trace_ret_frame.exit4840 4358: ; preds = %4345 %4359 = getelementptr inbounds nuw i8, ptr %4246, i64 32 @@ -58267,11 +58262,11 @@ find_return_ssa_var.exit: ; preds = %.lr.ph.i4836, %._cr %4362 = shl nuw nsw i64 %4361, 3 %4363 = add nuw nsw i64 %4362, 67 %4364 = and i64 %4363, 68719476728 - br label %zend_jit_trace_ret_frame.exit4841 + br label %zend_jit_trace_ret_frame.exit4840 -zend_jit_trace_ret_frame.exit4841: ; preds = %4344, %4348, %4358 - %.0.i4840 = phi i64 [ %4357, %4348 ], [ %4364, %4358 ], [ 64, %4344 ] - %4365 = sub nsw i64 0, %.0.i4840 +zend_jit_trace_ret_frame.exit4840: ; preds = %4344, %4348, %4358 + %.0.i4839 = phi i64 [ %4357, %4348 ], [ %4364, %4358 ], [ 64, %4344 ] + %4365 = sub nsw i64 0, %.0.i4839 %4366 = getelementptr inbounds i8, ptr %.23868, i64 %4365 %4367 = getelementptr inbounds nuw i8, ptr %4366, i64 16 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %4366, i8 0, i64 16, i1 false) @@ -58305,26 +58300,26 @@ zend_jit_trace_ret_frame.exit4841: ; preds = %4344, %4348, %4358 store i32 0, ptr %4381, align 8 store ptr %.03862, ptr %.23868, align 8 %4382 = load ptr, ptr %4374, align 8 - %.not.i4842 = icmp eq ptr %4382, null - br i1 %.not.i4842, label %zend_jit_trace_call_frame.exit4844, label %4383 + %.not.i4841 = icmp eq ptr %4382, null + br i1 %.not.i4841, label %zend_jit_trace_call_frame.exit4843, label %4383 4383: ; preds = %4372 %4384 = load i8, ptr %4382, align 8 %4385 = icmp eq i8 %4384, 2 br i1 %4385, label %.preheader43, label %4387 -zend_jit_trace_call_frame.exit4844: ; preds = %4372 +zend_jit_trace_call_frame.exit4843: ; preds = %4372 %4386 = getelementptr inbounds nuw i8, ptr %.03862, i64 64 br label %.loopexit44 4387: ; preds = %4383 %4388 = getelementptr inbounds nuw i8, ptr %4382, i64 32 %4389 = load i32, ptr %4388, align 8 - %.0.i4843.ph.in.in.in = zext i32 %4389 to i64 - %.0.i4843.ph.in.in = shl nuw nsw i64 %.0.i4843.ph.in.in.in, 3 - %.0.i4843.ph.in = add nuw nsw i64 %.0.i4843.ph.in.in, 67 - %.0.i4843.ph = and i64 %.0.i4843.ph.in, 68719476728 - %4390 = getelementptr inbounds nuw i8, ptr %.03862, i64 %.0.i4843.ph + %.0.i4842.ph.in.in.in = zext i32 %4389 to i64 + %.0.i4842.ph.in.in = shl nuw nsw i64 %.0.i4842.ph.in.in.in, 3 + %.0.i4842.ph.in = add nuw nsw i64 %.0.i4842.ph.in.in, 67 + %.0.i4842.ph = and i64 %.0.i4842.ph.in, 68719476728 + %4390 = getelementptr inbounds nuw i8, ptr %.03862, i64 %.0.i4842.ph br label %.loopexit44 .preheader43: ; preds = %4383 @@ -58333,11 +58328,11 @@ zend_jit_trace_call_frame.exit4844: ; preds = %4372 %4393 = getelementptr inbounds nuw i8, ptr %4382, i64 72 %4394 = load i32, ptr %4393, align 8 %4395 = add i32 %4394, %4392 - %.0.i4843.ph.in.in.in294 = zext i32 %4395 to i64 - %.0.i4843.ph.in.in295 = shl nuw nsw i64 %.0.i4843.ph.in.in.in294, 3 - %.0.i4843.ph.in296 = add nuw nsw i64 %.0.i4843.ph.in.in295, 67 - %.0.i4843.ph297 = and i64 %.0.i4843.ph.in296, 68719476728 - %4396 = getelementptr inbounds nuw i8, ptr %.03862, i64 %.0.i4843.ph297 + %.0.i4842.ph.in.in.in294 = zext i32 %4395 to i64 + %.0.i4842.ph.in.in295 = shl nuw nsw i64 %.0.i4842.ph.in.in.in294, 3 + %.0.i4842.ph.in296 = add nuw nsw i64 %.0.i4842.ph.in.in295, 67 + %.0.i4842.ph297 = and i64 %.0.i4842.ph.in296, 68719476728 + %4396 = getelementptr inbounds nuw i8, ptr %.03862, i64 %.0.i4842.ph297 %4397 = getelementptr inbounds nuw i8, ptr %4382, i64 80 %4398 = load i32, ptr %4397, align 8 %4399 = getelementptr inbounds nuw i8, ptr %4382, i64 72 @@ -58365,9 +58360,9 @@ zend_jit_trace_call_frame.exit4844: ; preds = %4372 %4412 = icmp samesign ult i64 %indvars.iv.next246, %4411 br i1 %4412, label %4403, label %.loopexit44 -.loopexit44: ; preds = %4403, %4387, %.preheader43, %zend_jit_trace_call_frame.exit4844 - %4413 = phi ptr [ %4382, %4387 ], [ null, %zend_jit_trace_call_frame.exit4844 ], [ %4382, %.preheader43 ], [ %4405, %4403 ] - %4414 = phi ptr [ %4390, %4387 ], [ %4386, %zend_jit_trace_call_frame.exit4844 ], [ %4396, %.preheader43 ], [ %4396, %4403 ] +.loopexit44: ; preds = %4403, %4387, %.preheader43, %zend_jit_trace_call_frame.exit4843 + %4413 = phi ptr [ %4382, %4387 ], [ null, %zend_jit_trace_call_frame.exit4843 ], [ %4382, %.preheader43 ], [ %4405, %4403 ] + %4414 = phi ptr [ %4390, %4387 ], [ %4386, %zend_jit_trace_call_frame.exit4843 ], [ %4396, %.preheader43 ], [ %4396, %4403 ] %4415 = icmp sgt i32 %.13891, -1 br i1 %4415, label %4416, label %.loopexit35 @@ -58416,9 +58411,9 @@ zend_jit_trace_call_frame.exit4844: ; preds = %4372 %4439 = load i32, ptr %4438, align 8 %4440 = getelementptr inbounds nuw i8, ptr %4413, i64 32 %4441 = load i32, ptr %4440, align 8 - %.4798 = call i32 @llvm.umin.i32(i32 %4441, i32 %4431) + %.4797 = call i32 @llvm.umin.i32(i32 %4441, i32 %4431) %4442 = add i32 %4439, %4435 - %4443 = sub i32 %4442, %.4798 + %4443 = sub i32 %4442, %.4797 br label %4444 4444: ; preds = %4437, %4429 @@ -58427,7 +58422,7 @@ zend_jit_trace_call_frame.exit4844: ; preds = %4372 %4446 = getelementptr inbounds nuw i8, ptr %.23868, i64 48 store i32 %4445, ptr %4446, align 8 %4447 = add nsw i32 %4445, %.13891 - %spec.select4799 = call i32 @llvm.smax.i32(i32 %4447, i32 %.13887) + %spec.select4798 = call i32 @llvm.smax.i32(i32 %4447, i32 %.13887) br label %.loopexit35 4448: ; preds = %1304 @@ -58460,8 +58455,8 @@ zend_jit_trace_call_frame.exit4844: ; preds = %4372 %4464 = getelementptr inbounds nuw i8, ptr %4463, i64 4 %4465 = load i32, ptr %4464, align 4 %4466 = and i32 %4465, 12288 - %or.cond4800 = icmp eq i32 %4466, 8192 - br i1 %or.cond4800, label %switch.edge, label %.loopexit35 + %or.cond4799 = icmp eq i32 %4466, 8192 + br i1 %or.cond4799, label %switch.edge, label %.loopexit35 switch.edge: ; preds = %4461 %4467 = getelementptr inbounds nuw ptr, ptr %.04025, i64 %4457 @@ -58490,26 +58485,26 @@ switch.edge: ; preds = %4461 %4482 = trunc nsw i64 %indvars.iv.next259 to i32 br label %.loopexit35 -.loopexit35: ; preds = %4240, %.loopexit35.loopexit, %find_return_ssa_var.exit, %3727, %4444, %1304, %4424, %4419, %4421, %zend_jit_trace_ret_frame.exit4841, %4340, %switch.edge, %4472, %4461, %4455, %4453, %.loopexit44, %4416 - %.53958 = phi ptr [ %4246, %4340 ], [ %4246, %zend_jit_trace_ret_frame.exit4841 ], [ %.43957, %4416 ], [ %.43957, %.loopexit44 ], [ %.43957, %4472 ], [ %.43957, %switch.edge ], [ %.43957, %4461 ], [ %.43957, %4455 ], [ %.43957, %4453 ], [ %.43957, %4421 ], [ %.43957, %4419 ], [ %.43957, %4444 ], [ %.43957, %4424 ], [ %.43957, %1304 ], [ %.43957, %3727 ], [ %4058, %find_return_ssa_var.exit ], [ %.43957, %.loopexit35.loopexit ], [ %4058, %4240 ] - %.33952 = phi ptr [ %.13950, %4340 ], [ %.13950, %zend_jit_trace_ret_frame.exit4841 ], [ %.13950, %4416 ], [ %.13950, %.loopexit44 ], [ %.13950, %4472 ], [ %.13950, %switch.edge ], [ %.13950, %4461 ], [ %.13950, %4455 ], [ %.13950, %4453 ], [ %.13950, %4421 ], [ %.13950, %4419 ], [ %.13950, %4444 ], [ %.13950, %4424 ], [ %.13950, %1304 ], [ %1308, %3727 ], [ %.13950, %find_return_ssa_var.exit ], [ %3737, %.loopexit35.loopexit ], [ %.13950, %4240 ] - %.63947 = phi ptr [ %.23943, %4340 ], [ %.23943, %zend_jit_trace_ret_frame.exit4841 ], [ %.23943, %4416 ], [ %.23943, %.loopexit44 ], [ %.23943, %4472 ], [ %.23943, %switch.edge ], [ %.23943, %4461 ], [ %.23943, %4455 ], [ %.23943, %4453 ], [ %.23943, %4421 ], [ %.23943, %4419 ], [ %.23943, %4444 ], [ %.23943, %4424 ], [ %.23943, %1304 ], [ %.53946, %3727 ], [ %.23943, %find_return_ssa_var.exit ], [ %.53946, %.loopexit35.loopexit ], [ %.23943, %4240 ] - %.63929 = phi i32 [ %.43927, %4340 ], [ %.43927, %zend_jit_trace_ret_frame.exit4841 ], [ %.43927, %4416 ], [ %.43927, %.loopexit44 ], [ %.43927, %4472 ], [ %.43927, %switch.edge ], [ %.43927, %4461 ], [ %.43927, %4455 ], [ %.43927, %4453 ], [ %.43927, %4421 ], [ %.43927, %4419 ], [ %.43927, %4444 ], [ %.43927, %4424 ], [ %.43927, %1304 ], [ %.53928164, %3727 ], [ %.43927, %find_return_ssa_var.exit ], [ %4482, %.loopexit35.loopexit ], [ %.43927, %4240 ] - %.7 = phi i32 [ %.6, %4340 ], [ %.6, %zend_jit_trace_ret_frame.exit4841 ], [ %.5, %4416 ], [ %.5, %.loopexit44 ], [ %.5, %4472 ], [ %.5, %switch.edge ], [ %.5, %4461 ], [ %.5, %4455 ], [ %.5, %4453 ], [ %.5, %4421 ], [ %.5, %4419 ], [ %.5, %4444 ], [ %.5, %4424 ], [ %.5, %1304 ], [ %.5, %3727 ], [ %4112, %find_return_ssa_var.exit ], [ %.5, %.loopexit35.loopexit ], [ %4112, %4240 ] - %.43894 = phi i32 [ %.33893, %4340 ], [ -1, %zend_jit_trace_ret_frame.exit4841 ], [ %.13891, %4416 ], [ %.13891, %.loopexit44 ], [ %.13891, %4472 ], [ %.13891, %switch.edge ], [ %.13891, %4461 ], [ %.13891, %4455 ], [ %.13891, %4453 ], [ -1, %4421 ], [ -1, %4419 ], [ %4447, %4444 ], [ -1, %4424 ], [ %.13891, %1304 ], [ %.2389215, %3727 ], [ %.13891, %find_return_ssa_var.exit ], [ %.2389215, %.loopexit35.loopexit ], [ %.13891, %4240 ] - %.33889 = phi i32 [ %.13887, %4340 ], [ -1, %zend_jit_trace_ret_frame.exit4841 ], [ %.13887, %4416 ], [ %.13887, %.loopexit44 ], [ %.13887, %4472 ], [ %.13887, %switch.edge ], [ %.13887, %4461 ], [ %.13887, %4455 ], [ %.13887, %4453 ], [ -1, %4421 ], [ -1, %4419 ], [ %spec.select4799, %4444 ], [ -1, %4424 ], [ %.13887, %1304 ], [ %.2388817, %3727 ], [ %.13887, %find_return_ssa_var.exit ], [ %.2388817, %.loopexit35.loopexit ], [ %.13887, %4240 ] - %.43874 = phi ptr [ %4252, %4340 ], [ %4252, %zend_jit_trace_ret_frame.exit4841 ], [ %.33873, %4416 ], [ %.33873, %.loopexit44 ], [ %.33873, %4472 ], [ %.33873, %switch.edge ], [ %.33873, %4461 ], [ %.33873, %4455 ], [ %.33873, %4453 ], [ %.33873, %4421 ], [ %.33873, %4419 ], [ %.33873, %4444 ], [ %.33873, %4424 ], [ %.33873, %1304 ], [ %.33873, %3727 ], [ %4064, %find_return_ssa_var.exit ], [ %.33873, %.loopexit35.loopexit ], [ %4064, %4240 ] - %.33869 = phi ptr [ %4333, %4340 ], [ %4366, %zend_jit_trace_ret_frame.exit4841 ], [ %.23868, %4416 ], [ %.23868, %.loopexit44 ], [ %.23868, %4472 ], [ %.23868, %switch.edge ], [ %.23868, %4461 ], [ %.23868, %4455 ], [ %.23868, %4453 ], [ %.23868, %4421 ], [ %.23868, %4419 ], [ %.23868, %4444 ], [ %.23868, %4424 ], [ %.23868, %1304 ], [ %.23868, %3727 ], [ %.03861, %find_return_ssa_var.exit ], [ %.23868, %.loopexit35.loopexit ], [ %.03861, %4240 ] - %.33865 = phi ptr [ %.23868, %4340 ], [ %.23868, %zend_jit_trace_ret_frame.exit4841 ], [ %4414, %4416 ], [ %4414, %.loopexit44 ], [ %.23864, %4472 ], [ %.23864, %switch.edge ], [ %.23864, %4461 ], [ %.23864, %4455 ], [ %.23864, %4453 ], [ %4414, %4421 ], [ %4414, %4419 ], [ %4414, %4444 ], [ %4414, %4424 ], [ %.03862, %1304 ], [ %.03862, %3727 ], [ %.13863, %find_return_ssa_var.exit ], [ %.03862, %.loopexit35.loopexit ], [ %.13863, %4240 ] - %.sroa.0.5 = phi i32 [ 0, %4340 ], [ 0, %zend_jit_trace_ret_frame.exit4841 ], [ %.sroa.0.0, %4416 ], [ %.sroa.0.0, %.loopexit44 ], [ %.sroa.0.0, %4472 ], [ %.sroa.0.0, %switch.edge ], [ %.sroa.0.0, %4461 ], [ %.sroa.0.0, %4455 ], [ %.sroa.0.0, %4453 ], [ %.sroa.0.0, %4421 ], [ %.sroa.0.0, %4419 ], [ %.sroa.0.0, %4444 ], [ %.sroa.0.0, %4424 ], [ %.sroa.0.0, %1304 ], [ %.sroa.0.119, %3727 ], [ %.sroa.0.0, %find_return_ssa_var.exit ], [ %.sroa.0.119, %.loopexit35.loopexit ], [ %.sroa.0.0, %4240 ] +.loopexit35: ; preds = %4240, %.loopexit35.loopexit, %find_return_ssa_var.exit, %3727, %4444, %1304, %4424, %4419, %4421, %zend_jit_trace_ret_frame.exit4840, %4340, %switch.edge, %4472, %4461, %4455, %4453, %.loopexit44, %4416 + %.53958 = phi ptr [ %4246, %4340 ], [ %4246, %zend_jit_trace_ret_frame.exit4840 ], [ %.43957, %4416 ], [ %.43957, %.loopexit44 ], [ %.43957, %4472 ], [ %.43957, %switch.edge ], [ %.43957, %4461 ], [ %.43957, %4455 ], [ %.43957, %4453 ], [ %.43957, %4421 ], [ %.43957, %4419 ], [ %.43957, %4444 ], [ %.43957, %4424 ], [ %.43957, %1304 ], [ %.43957, %3727 ], [ %4058, %find_return_ssa_var.exit ], [ %.43957, %.loopexit35.loopexit ], [ %4058, %4240 ] + %.33952 = phi ptr [ %.13950, %4340 ], [ %.13950, %zend_jit_trace_ret_frame.exit4840 ], [ %.13950, %4416 ], [ %.13950, %.loopexit44 ], [ %.13950, %4472 ], [ %.13950, %switch.edge ], [ %.13950, %4461 ], [ %.13950, %4455 ], [ %.13950, %4453 ], [ %.13950, %4421 ], [ %.13950, %4419 ], [ %.13950, %4444 ], [ %.13950, %4424 ], [ %.13950, %1304 ], [ %1308, %3727 ], [ %.13950, %find_return_ssa_var.exit ], [ %3737, %.loopexit35.loopexit ], [ %.13950, %4240 ] + %.63947 = phi ptr [ %.23943, %4340 ], [ %.23943, %zend_jit_trace_ret_frame.exit4840 ], [ %.23943, %4416 ], [ %.23943, %.loopexit44 ], [ %.23943, %4472 ], [ %.23943, %switch.edge ], [ %.23943, %4461 ], [ %.23943, %4455 ], [ %.23943, %4453 ], [ %.23943, %4421 ], [ %.23943, %4419 ], [ %.23943, %4444 ], [ %.23943, %4424 ], [ %.23943, %1304 ], [ %.53946, %3727 ], [ %.23943, %find_return_ssa_var.exit ], [ %.53946, %.loopexit35.loopexit ], [ %.23943, %4240 ] + %.63929 = phi i32 [ %.43927, %4340 ], [ %.43927, %zend_jit_trace_ret_frame.exit4840 ], [ %.43927, %4416 ], [ %.43927, %.loopexit44 ], [ %.43927, %4472 ], [ %.43927, %switch.edge ], [ %.43927, %4461 ], [ %.43927, %4455 ], [ %.43927, %4453 ], [ %.43927, %4421 ], [ %.43927, %4419 ], [ %.43927, %4444 ], [ %.43927, %4424 ], [ %.43927, %1304 ], [ %.53928164, %3727 ], [ %.43927, %find_return_ssa_var.exit ], [ %4482, %.loopexit35.loopexit ], [ %.43927, %4240 ] + %.7 = phi i32 [ %.6, %4340 ], [ %.6, %zend_jit_trace_ret_frame.exit4840 ], [ %.5, %4416 ], [ %.5, %.loopexit44 ], [ %.5, %4472 ], [ %.5, %switch.edge ], [ %.5, %4461 ], [ %.5, %4455 ], [ %.5, %4453 ], [ %.5, %4421 ], [ %.5, %4419 ], [ %.5, %4444 ], [ %.5, %4424 ], [ %.5, %1304 ], [ %.5, %3727 ], [ %4112, %find_return_ssa_var.exit ], [ %.5, %.loopexit35.loopexit ], [ %4112, %4240 ] + %.43894 = phi i32 [ %.33893, %4340 ], [ -1, %zend_jit_trace_ret_frame.exit4840 ], [ %.13891, %4416 ], [ %.13891, %.loopexit44 ], [ %.13891, %4472 ], [ %.13891, %switch.edge ], [ %.13891, %4461 ], [ %.13891, %4455 ], [ %.13891, %4453 ], [ -1, %4421 ], [ -1, %4419 ], [ %4447, %4444 ], [ -1, %4424 ], [ %.13891, %1304 ], [ %.2389215, %3727 ], [ %.13891, %find_return_ssa_var.exit ], [ %.2389215, %.loopexit35.loopexit ], [ %.13891, %4240 ] + %.33889 = phi i32 [ %.13887, %4340 ], [ -1, %zend_jit_trace_ret_frame.exit4840 ], [ %.13887, %4416 ], [ %.13887, %.loopexit44 ], [ %.13887, %4472 ], [ %.13887, %switch.edge ], [ %.13887, %4461 ], [ %.13887, %4455 ], [ %.13887, %4453 ], [ -1, %4421 ], [ -1, %4419 ], [ %spec.select4798, %4444 ], [ -1, %4424 ], [ %.13887, %1304 ], [ %.2388817, %3727 ], [ %.13887, %find_return_ssa_var.exit ], [ %.2388817, %.loopexit35.loopexit ], [ %.13887, %4240 ] + %.43874 = phi ptr [ %4252, %4340 ], [ %4252, %zend_jit_trace_ret_frame.exit4840 ], [ %.33873, %4416 ], [ %.33873, %.loopexit44 ], [ %.33873, %4472 ], [ %.33873, %switch.edge ], [ %.33873, %4461 ], [ %.33873, %4455 ], [ %.33873, %4453 ], [ %.33873, %4421 ], [ %.33873, %4419 ], [ %.33873, %4444 ], [ %.33873, %4424 ], [ %.33873, %1304 ], [ %.33873, %3727 ], [ %4064, %find_return_ssa_var.exit ], [ %.33873, %.loopexit35.loopexit ], [ %4064, %4240 ] + %.33869 = phi ptr [ %4333, %4340 ], [ %4366, %zend_jit_trace_ret_frame.exit4840 ], [ %.23868, %4416 ], [ %.23868, %.loopexit44 ], [ %.23868, %4472 ], [ %.23868, %switch.edge ], [ %.23868, %4461 ], [ %.23868, %4455 ], [ %.23868, %4453 ], [ %.23868, %4421 ], [ %.23868, %4419 ], [ %.23868, %4444 ], [ %.23868, %4424 ], [ %.23868, %1304 ], [ %.23868, %3727 ], [ %.03861, %find_return_ssa_var.exit ], [ %.23868, %.loopexit35.loopexit ], [ %.03861, %4240 ] + %.33865 = phi ptr [ %.23868, %4340 ], [ %.23868, %zend_jit_trace_ret_frame.exit4840 ], [ %4414, %4416 ], [ %4414, %.loopexit44 ], [ %.23864, %4472 ], [ %.23864, %switch.edge ], [ %.23864, %4461 ], [ %.23864, %4455 ], [ %.23864, %4453 ], [ %4414, %4421 ], [ %4414, %4419 ], [ %4414, %4444 ], [ %4414, %4424 ], [ %.03862, %1304 ], [ %.03862, %3727 ], [ %.13863, %find_return_ssa_var.exit ], [ %.03862, %.loopexit35.loopexit ], [ %.13863, %4240 ] + %.sroa.0.5 = phi i32 [ 0, %4340 ], [ 0, %zend_jit_trace_ret_frame.exit4840 ], [ %.sroa.0.0, %4416 ], [ %.sroa.0.0, %.loopexit44 ], [ %.sroa.0.0, %4472 ], [ %.sroa.0.0, %switch.edge ], [ %.sroa.0.0, %4461 ], [ %.sroa.0.0, %4455 ], [ %.sroa.0.0, %4453 ], [ %.sroa.0.0, %4421 ], [ %.sroa.0.0, %4419 ], [ %.sroa.0.0, %4444 ], [ %.sroa.0.0, %4424 ], [ %.sroa.0.0, %1304 ], [ %.sroa.0.119, %3727 ], [ %.sroa.0.0, %find_return_ssa_var.exit ], [ %.sroa.0.119, %.loopexit35.loopexit ], [ %.sroa.0.0, %4240 ] %4483 = getelementptr inbounds nuw i8, ptr %.63947, i64 16 br label %1304 4484: ; preds = %1304 store i32 %.13887, ptr %455, align 8 %4485 = load i8, ptr %414, align 1 - %switch4812 = icmp ult i8 %4485, 3 - br i1 %switch4812, label %4486, label %.loopexit + %switch4811 = icmp ult i8 %4485, 3 + br i1 %switch4811, label %4486, label %.loopexit 4486: ; preds = %4484 %4487 = load ptr, ptr %384, align 8 @@ -58589,11 +58584,11 @@ switch.edge: ; preds = %4461 %4533 = and i32 %4493, 128 %.not4406 = icmp eq i32 %4533, 0 %4534 = and i32 %4532, -553646209 - %spec.select4801 = select i1 %.not4406, i32 %4534, i32 %4532 - %4535 = and i32 %spec.select4801, 960 + %spec.select4800 = select i1 %.not4406, i32 %4534, i32 %4532 + %4535 = and i32 %spec.select4800, 960 %.not4407 = icmp eq i32 %4535, 0 - %4536 = and i32 %spec.select4801, 1073740863 - %.13820 = select i1 %.not4407, i32 %4536, i32 %spec.select4801 + %4536 = and i32 %spec.select4800, 1073740863 + %.13820 = select i1 %.not4407, i32 %4536, i32 %spec.select4800 %4537 = load ptr, ptr %4502, align 8 %4538 = load i32, ptr %4537, align 4 %4539 = sext i32 %4538 to i64 @@ -58620,11 +58615,11 @@ switch.edge: ; preds = %4461 %4553 = and i32 %4548, 128 %.not4397 = icmp eq i32 %4553, 0 %4554 = and i32 %4552, -553646209 - %spec.select4802 = select i1 %.not4397, i32 %4554, i32 %4552 - %4555 = and i32 %spec.select4802, 960 + %spec.select4801 = select i1 %.not4397, i32 %4554, i32 %4552 + %4555 = and i32 %spec.select4801, 960 %.not4398 = icmp eq i32 %4555, 0 - %4556 = and i32 %spec.select4802, 1073740863 - %.3 = select i1 %.not4398, i32 %4556, i32 %spec.select4802 + %4556 = and i32 %spec.select4801, 1073740863 + %.3 = select i1 %.not4398, i32 %4556, i32 %spec.select4801 store i32 %.3, ptr %4506, align 8 br label %4557 @@ -58650,11 +58645,11 @@ switch.edge: ; preds = %4461 %4570 = and i32 %4558, 128 %.not4402 = icmp eq i32 %4570, 0 %4571 = and i32 %4569, -553646209 - %spec.select4803 = select i1 %.not4402, i32 %4571, i32 %4569 - %4572 = and i32 %spec.select4803, 960 + %spec.select4802 = select i1 %.not4402, i32 %4571, i32 %4569 + %4572 = and i32 %spec.select4802, 960 %.not4403 = icmp eq i32 %4572, 0 - %4573 = and i32 %spec.select4803, 1073740863 - %.1 = select i1 %.not4403, i32 %4573, i32 %spec.select4803 + %4573 = and i32 %spec.select4802, 1073740863 + %.1 = select i1 %.not4403, i32 %4573, i32 %spec.select4802 %4574 = sext i32 %4563 to i64 %4575 = getelementptr inbounds %struct._zend_ssa_var_info, ptr %.04020, i64 %4574 store i32 %.1, ptr %4575, align 8 @@ -58720,8 +58715,8 @@ switch.edge: ; preds = %4461 %4617 = icmp eq i32 %4616, %4609 %4618 = and i32 %4606, 134217728 %.not4410 = icmp eq i32 %4618, 0 - %or.cond4804 = and i1 %4617, %.not4410 - br i1 %or.cond4804, label %4619, label %4629 + %or.cond4803 = and i1 %4617, %.not4410 + br i1 %or.cond4803, label %4619, label %4629 4619: ; preds = %4615 %4620 = and i32 %.03821, -134217729 @@ -58780,7 +58775,7 @@ switch.edge: ; preds = %4461 %4648 = load ptr, ptr %4647, align 8 %.not4394 = icmp eq ptr %4648, null %4649 = getelementptr inbounds nuw i8, ptr %4648, i64 24 - %spec.select4805 = select i1 %.not4394, ptr @.str.12, ptr %4649 + %spec.select4804 = select i1 %.not4394, ptr @.str.12, ptr %4649 %4650 = getelementptr inbounds nuw i8, ptr %4637, i64 152 %4651 = load ptr, ptr %4650, align 8 %4652 = getelementptr inbounds nuw i8, ptr %4651, i64 24 @@ -58788,7 +58783,7 @@ switch.edge: ; preds = %4461 %4654 = load ptr, ptr %4653, align 8 %4655 = getelementptr inbounds nuw i8, ptr %4654, i64 24 %4656 = load i32, ptr %4655, align 8 - %4657 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4633, ptr noundef nonnull @.str.106, i32 noundef %4635, i32 noundef %1, i32 noundef %2, ptr noundef nonnull %4646, ptr noundef nonnull %4645, ptr noundef nonnull %spec.select4805, ptr noundef nonnull %4652, i32 noundef %4656) #38 + %4657 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4633, ptr noundef nonnull @.str.106, i32 noundef %4635, i32 noundef %1, i32 noundef %2, ptr noundef nonnull %4646, ptr noundef nonnull %4645, ptr noundef nonnull %spec.select4804, ptr noundef nonnull %4652, i32 noundef %4656) #38 br label %4684 4658: ; preds = %4632 @@ -58798,8 +58793,8 @@ switch.edge: ; preds = %4461 %.not4387 = icmp eq i32 %4661, 0 %4662 = and i32 %4660, 2 %.not4388 = icmp eq i32 %4662, 0 - %spec.select4813 = select i1 %.not4388, ptr @.str.47, ptr @.str.46 - %.03979 = select i1 %.not4387, ptr %spec.select4813, ptr @.str.45 + %spec.select4812 = select i1 %.not4388, ptr @.str.47, ptr @.str.46 + %.03979 = select i1 %.not4387, ptr %spec.select4812, ptr @.str.45 %4663 = load ptr, ptr %19, align 8 %4664 = getelementptr inbounds nuw i8, ptr %4663, i64 16 %4665 = load ptr, ptr %4664, align 8 @@ -58819,7 +58814,7 @@ switch.edge: ; preds = %4461 %4674 = load ptr, ptr %4673, align 8 %.not4391 = icmp eq ptr %4674, null %4675 = getelementptr inbounds nuw i8, ptr %4674, i64 24 - %spec.select4806 = select i1 %.not4391, ptr @.str.12, ptr %4675 + %spec.select4805 = select i1 %.not4391, ptr @.str.12, ptr %4675 %4676 = getelementptr inbounds nuw i8, ptr %4663, i64 152 %4677 = load ptr, ptr %4676, align 8 %4678 = getelementptr inbounds nuw i8, ptr %4677, i64 24 @@ -58827,7 +58822,7 @@ switch.edge: ; preds = %4461 %4680 = load ptr, ptr %4679, align 8 %4681 = getelementptr inbounds nuw i8, ptr %4680, i64 24 %4682 = load i32, ptr %4681, align 8 - %4683 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4633, ptr noundef nonnull @.str.107, i32 noundef %4635, ptr noundef nonnull %.03979, ptr noundef nonnull %4672, ptr noundef nonnull %4671, ptr noundef nonnull %spec.select4806, ptr noundef nonnull %4678, i32 noundef %4682) #38 + %4683 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4633, ptr noundef nonnull @.str.107, i32 noundef %4635, ptr noundef nonnull %.03979, ptr noundef nonnull %4672, ptr noundef nonnull %4671, ptr noundef nonnull %spec.select4805, ptr noundef nonnull %4678, i32 noundef %4682) #38 br label %4684 4684: ; preds = %4670, %4644 @@ -58849,23 +58844,23 @@ switch.edge: ; preds = %4461 br i1 %4696, label %.lr.ph.preheader.i, label %zend_jit_find_trace.exit .lr.ph.preheader.i: ; preds = %4687 - %wide.trip.count.i4846 = zext i32 %4695 to i64 - br label %.lr.ph.i4847 + %wide.trip.count.i4845 = zext i32 %4695 to i64 + br label %.lr.ph.i4846 -.lr.ph.i4847: ; preds = %4700, %.lr.ph.preheader.i - %indvars.iv.i4848 = phi i64 [ 1, %.lr.ph.preheader.i ], [ %indvars.iv.next.i4849, %4700 ] - %4697 = getelementptr inbounds nuw %struct._zend_jit_trace_info, ptr %4694, i64 %indvars.iv.i4848, i32 14 +.lr.ph.i4846: ; preds = %4700, %.lr.ph.preheader.i + %indvars.iv.i4847 = phi i64 [ 1, %.lr.ph.preheader.i ], [ %indvars.iv.next.i4848, %4700 ] + %4697 = getelementptr inbounds nuw %struct._zend_jit_trace_info, ptr %4694, i64 %indvars.iv.i4847, i32 14 %4698 = load ptr, ptr %4697, align 8 %4699 = icmp eq ptr %4698, %4693 br i1 %4699, label %._crit_edge.loopexit.split.loop.exit10.i, label %4700 -4700: ; preds = %.lr.ph.i4847 - %indvars.iv.next.i4849 = add nuw nsw i64 %indvars.iv.i4848, 1 - %exitcond.not.i4850 = icmp eq i64 %indvars.iv.next.i4849, %wide.trip.count.i4846 - br i1 %exitcond.not.i4850, label %zend_jit_find_trace.exit, label %.lr.ph.i4847 +4700: ; preds = %.lr.ph.i4846 + %indvars.iv.next.i4848 = add nuw nsw i64 %indvars.iv.i4847, 1 + %exitcond.not.i4849 = icmp eq i64 %indvars.iv.next.i4848, %wide.trip.count.i4845 + br i1 %exitcond.not.i4849, label %zend_jit_find_trace.exit, label %.lr.ph.i4846 -._crit_edge.loopexit.split.loop.exit10.i: ; preds = %.lr.ph.i4847 - %4701 = trunc nuw i64 %indvars.iv.i4848 to i32 +._crit_edge.loopexit.split.loop.exit10.i: ; preds = %.lr.ph.i4846 + %4701 = trunc nuw i64 %indvars.iv.i4847 to i32 br label %zend_jit_find_trace.exit zend_jit_find_trace.exit: ; preds = %4700, %4687, %._crit_edge.loopexit.split.loop.exit10.i @@ -134701,11 +134696,7 @@ declare ptr @zval_try_get_string_func(ptr noundef) local_unnamed_addr #4 ; Function Attrs: nounwind uwtable define internal fastcc void @zend_jit_update_regs(ptr noundef nonnull %0, i32 noundef %1, i64 noundef %2, i64 noundef %3, i32 noundef %4) unnamed_addr #0 { %6 = icmp eq i64 %2, %3 - br i1 %6, label %..critedge_crit_edge, label %7 - -..critedge_crit_edge: ; preds = %5 - %.pre = and i64 %3, 3 - br label %.critedge + br i1 %6, label %.critedge, label %7 7: ; preds = %5 %8 = and i64 %2, 3 @@ -134728,7 +134719,7 @@ define internal fastcc void @zend_jit_update_regs(ptr noundef nonnull %0, i32 no 16: ; preds = %14 %.unshifted = xor i64 %3, %2 %17 = icmp ult i64 %.unshifted, 4 - br i1 %17, label %.critedge, label %.critedge128.thread129 + br i1 %17, label %.critedge.thread138, label %.critedge128.thread129 .critedge128: ; preds = %14 br i1 %9, label %18, label %.critedge128.thread129 @@ -134788,7 +134779,7 @@ zend_jit_use_reg.exit: ; preds = %27, %51 tail call fastcc void @zend_jit_def_reg(ptr noundef nonnull %0, i64 noundef %3, i32 noundef %.027.i) %54 = load ptr, ptr %20, align 8 %.not111 = icmp eq ptr %54, null - br i1 %.not111, label %176, label %55 + br i1 %.not111, label %.critedge.thread138, label %55 55: ; preds = %zend_jit_use_reg.exit %56 = getelementptr inbounds nuw %struct._zend_jit_reg_var, ptr %54, i64 %19 @@ -134801,28 +134792,28 @@ zend_jit_use_reg.exit: ; preds = %27, %51 %60 = load i32, ptr %59, align 4 %61 = and i32 %60, 1 %.not113 = icmp eq i32 %61, 0 - br i1 %.not113, label %62, label %176 + br i1 %.not113, label %62, label %.critedge.thread138 62: ; preds = %58 %63 = getelementptr inbounds nuw i8, ptr %56, i64 4 %64 = load i32, ptr %63, align 4 %65 = and i32 %64, 2 %.not116 = icmp eq i32 %65, 0 - br i1 %.not116, label %.thread135, label %176 + br i1 %.not116, label %.thread135, label %.critedge.thread138 .thread135: ; preds = %55, %62 %66 = lshr i64 %3, 2 %67 = getelementptr inbounds nuw %struct._zend_jit_reg_var, ptr %54, i64 %66 %68 = load i32, ptr %67, align 4 %.not118 = icmp eq i32 %68, 0 - br i1 %.not118, label %176, label %69 + br i1 %.not118, label %.critedge.thread138, label %69 69: ; preds = %.thread135 %70 = getelementptr inbounds nuw i8, ptr %67, i64 4 %71 = load i32, ptr %70, align 4 %72 = and i32 %71, 2 %.not119 = icmp eq i32 %72, 0 - br i1 %.not119, label %176, label %73 + br i1 %.not119, label %.critedge.thread138, label %73 73: ; preds = %69 %74 = zext i32 %1 to i64 @@ -134856,7 +134847,7 @@ zend_jit_use_reg.exit: ; preds = %27, %51 95: ; preds = %90, %81, %73 %96 = phi i1 [ true, %81 ], [ true, %73 ], [ %94, %90 ] tail call fastcc void @zend_jit_spill_store(ptr noundef %0, i64 noundef %3, i64 noundef %76, i32 noundef %4, i1 noundef zeroext %96) - br label %176 + br label %.critedge.thread138 97: ; preds = %18 %98 = icmp eq i64 %10, 1 @@ -134878,14 +134869,14 @@ zend_jit_use_reg.exit: ; preds = %27, %51 %107 = load i32, ptr %106, align 4 %108 = and i32 %107, 1 %.not107 = icmp eq i32 %108, 0 - br i1 %.not107, label %109, label %176 + br i1 %.not107, label %109, label %.critedge.thread138 109: ; preds = %105 %110 = getelementptr inbounds nuw i8, ptr %103, i64 4 %111 = load i32, ptr %110, align 4 %112 = and i32 %111, 2 %.not110 = icmp eq i32 %112, 0 - br i1 %.not110, label %.thread136, label %176 + br i1 %.not110, label %.thread136, label %.critedge.thread138 .thread136: ; preds = %101, %97, %109 %113 = load i8, ptr getelementptr inbounds nuw (i8, ptr @jit_globals, i64 2), align 2 @@ -134916,7 +134907,7 @@ zend_jit_use_reg.exit: ; preds = %27, %51 131: ; preds = %126, %117, %.thread136 %132 = phi i1 [ true, %117 ], [ true, %.thread136 ], [ %130, %126 ] tail call fastcc void @zend_jit_spill_store(ptr noundef %0, i64 noundef %2, i64 noundef %3, i32 noundef %4, i1 noundef zeroext %132) - br label %176 + br label %.critedge.thread138 .critedge128.thread129: ; preds = %16, %.critedge128 %133 = icmp eq i64 %8, 1 @@ -134939,32 +134930,32 @@ zend_jit_use_reg.exit: ; preds = %27, %51 zend_jit_load_reg.exit: ; preds = %136, %138 %.sink.i = phi i32 [ %140, %138 ], [ %137, %136 ] tail call fastcc void @zend_jit_def_reg(ptr noundef nonnull %0, i64 noundef %3, i32 noundef %.sink.i) - br label %176 + br label %.critedge.thread138 -.critedge: ; preds = %..critedge_crit_edge, %16 - %.pre-phi = phi i64 [ %.pre, %..critedge_crit_edge ], [ %10, %16 ] - %141 = icmp eq i64 %.pre-phi, 2 - br i1 %141, label %.critedge.thread, label %176 +.critedge: ; preds = %5 + %.pre = and i64 %3, 3 + %141 = icmp eq i64 %.pre, 2 + br i1 %141, label %.critedge.thread, label %.critedge.thread138 .critedge.thread: ; preds = %12, %.critedge %142 = getelementptr inbounds nuw i8, ptr %0, i64 776 %143 = load ptr, ptr %142, align 8 %.not120 = icmp eq ptr %143, null - br i1 %.not120, label %176, label %144 + br i1 %.not120, label %.critedge.thread138, label %144 144: ; preds = %.critedge.thread %145 = lshr i64 %3, 2 %146 = getelementptr inbounds nuw %struct._zend_jit_reg_var, ptr %143, i64 %145 %147 = load i32, ptr %146, align 4 %.not121 = icmp eq i32 %147, 0 - br i1 %.not121, label %176, label %148 + br i1 %.not121, label %.critedge.thread138, label %148 148: ; preds = %144 %149 = getelementptr inbounds nuw i8, ptr %146, i64 4 %150 = load i32, ptr %149, align 4 %151 = and i32 %150, 2 %.not122 = icmp eq i32 %151, 0 - br i1 %.not122, label %176, label %152 + br i1 %.not122, label %.critedge.thread138, label %152 152: ; preds = %148 %153 = zext i32 %1 to i64 @@ -134998,9 +134989,9 @@ zend_jit_load_reg.exit: ; preds = %136, %138 174: ; preds = %169, %160, %152 %175 = phi i1 [ true, %160 ], [ true, %152 ], [ %173, %169 ] tail call fastcc void @zend_jit_spill_store(ptr noundef %0, i64 noundef %2, i64 noundef %155, i32 noundef %4, i1 noundef zeroext %175) - br label %176 + br label %.critedge.thread138 -176: ; preds = %zend_jit_use_reg.exit, %.thread135, %69, %62, %58, %105, %109, %.critedge.thread, %144, %148, %.critedge, %95, %131, %zend_jit_load_reg.exit, %174 +.critedge.thread138: ; preds = %16, %zend_jit_use_reg.exit, %.thread135, %69, %62, %58, %105, %109, %.critedge.thread, %144, %148, %.critedge, %95, %131, %zend_jit_load_reg.exit, %174 ret void } diff --git a/bench/postgres/optimized/heapam.ll b/bench/postgres/optimized/heapam.ll index 9b5c6b13f23..522ab293c4c 100644 --- a/bench/postgres/optimized/heapam.ll +++ b/bench/postgres/optimized/heapam.ll @@ -5341,33 +5341,33 @@ define internal fastcc void @compute_new_xmax_infomask(i32 noundef %0, i16 nound %18 = icmp eq i32 %0, %3 %19 = and i32 %15, 4096 %.not88 = icmp eq i32 %19, 0 - br i1 %.not88, label %83, label %29 + br i1 %.not88, label %80, label %29 -.outer._crit_edge: ; preds = %166, %167, %128, %126, %MultiXactIdGetUpdateXid.exit, %37, %29, %.outer, %9 - %.080.ph.lcssa198 = phi i32 [ %4, %9 ], [ %spec.select, %.outer ], [ %4, %29 ], [ %4, %37 ], [ %4, %MultiXactIdGetUpdateXid.exit ], [ %4, %126 ], [ %4, %128 ], [ %4, %167 ], [ %4, %166 ] +.outer._crit_edge: ; preds = %163, %164, %125, %123, %34, %MultiXactIdGetUpdateXid.exit, %29, %.outer, %9 + %.080.ph.lcssa198 = phi i32 [ %4, %9 ], [ %spec.select, %.outer ], [ %4, %29 ], [ %4, %MultiXactIdGetUpdateXid.exit ], [ %4, %34 ], [ %4, %123 ], [ %4, %125 ], [ %4, %164 ], [ %4, %163 ] br i1 %5, label %20, label %22 20: ; preds = %.outer._crit_edge %21 = icmp eq i32 %.080.ph.lcssa198, 3 %spec.select183 = select i1 %21, i16 8192, i16 0 - br label %201 + br label %198 22: ; preds = %.outer._crit_edge switch i32 %.080.ph.lcssa198, label %26 [ - i32 0, label %201 + i32 0, label %198 i32 1, label %23 i32 2, label %24 i32 3, label %25 ] 23: ; preds = %22 - br label %201 + br label %198 24: ; preds = %22 - br label %201 + br label %198 25: ; preds = %22 - br label %201 + br label %198 26: ; preds = %22 %27 = call zeroext i1 @errstart_cold(i32 noundef 21, ptr noundef null) #12 @@ -5377,495 +5377,492 @@ define internal fastcc void @compute_new_xmax_infomask(i32 noundef %0, i16 nound unreachable 29: ; preds = %.lr.ph.lr.ph - %30 = and i32 %15, 208 - %or.cond = icmp eq i32 %30, 128 - br i1 %or.cond, label %.outer._crit_edge, label %31 - -31: ; preds = %29 - %32 = and i32 %15, 128 - %.not96 = icmp ne i32 %32, 0 - %33 = and i32 %15, 4176 - %34 = icmp eq i32 %33, 64 - %35 = or i1 %.not96, %34 - %36 = tail call zeroext i1 @MultiXactIdIsRunning(i32 noundef %0, i1 noundef zeroext %35) #11 - br i1 %36, label %51, label %37 - -37: ; preds = %31 - br i1 %35, label %.outer._crit_edge, label %38 - -38: ; preds = %37 + %30 = and i32 %15, 128 + %.not96 = icmp ne i32 %30, 0 + %31 = and i32 %15, 208 + %or.cond = icmp eq i32 %31, 128 + br i1 %or.cond, label %.outer._crit_edge, label %32 + +32: ; preds = %29 + %33 = tail call zeroext i1 @MultiXactIdIsRunning(i32 noundef %0, i1 noundef zeroext %.not96) #11 + br i1 %33, label %48, label %34 + +34: ; preds = %32 + br i1 %.not96, label %.outer._crit_edge, label %35 + +35: ; preds = %34 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %14) - %39 = call i32 @GetMultiXactIdMembers(i32 noundef %0, ptr noundef nonnull %14, i1 noundef zeroext false, i1 noundef zeroext false) #11 - %40 = icmp sgt i32 %39, 0 - br i1 %40, label %.preheader.i, label %MultiXactIdGetUpdateXid.exit + %36 = call i32 @GetMultiXactIdMembers(i32 noundef %0, ptr noundef nonnull %14, i1 noundef zeroext false, i1 noundef zeroext false) #11 + %37 = icmp sgt i32 %36, 0 + br i1 %37, label %.preheader.i, label %MultiXactIdGetUpdateXid.exit -.preheader.i: ; preds = %38 - %41 = load ptr, ptr %14, align 8 - %wide.trip.count.i = zext nneg i32 %39 to i64 - br label %43 +.preheader.i: ; preds = %35 + %38 = load ptr, ptr %14, align 8 + %wide.trip.count.i = zext nneg i32 %36 to i64 + br label %40 -42: ; preds = %43 +39: ; preds = %40 %indvars.iv.next.i = add nuw nsw i64 %indvars.iv.i, 1 %exitcond.not.i = icmp eq i64 %indvars.iv.next.i, %wide.trip.count.i - br i1 %exitcond.not.i, label %.loopexit.i, label %43, !llvm.loop !7 + br i1 %exitcond.not.i, label %.loopexit.i, label %40, !llvm.loop !7 -43: ; preds = %42, %.preheader.i - %indvars.iv.i = phi i64 [ 0, %.preheader.i ], [ %indvars.iv.next.i, %42 ] - %44 = getelementptr %struct.MultiXactMember, ptr %41, i64 %indvars.iv.i - %45 = getelementptr inbounds nuw i8, ptr %44, i64 4 - %46 = load i32, ptr %45, align 4 - %47 = icmp ugt i32 %46, 3 - br i1 %47, label %48, label %42 +40: ; preds = %39, %.preheader.i + %indvars.iv.i = phi i64 [ 0, %.preheader.i ], [ %indvars.iv.next.i, %39 ] + %41 = getelementptr %struct.MultiXactMember, ptr %38, i64 %indvars.iv.i + %42 = getelementptr inbounds nuw i8, ptr %41, i64 4 + %43 = load i32, ptr %42, align 4 + %44 = icmp ugt i32 %43, 3 + br i1 %44, label %45, label %39 -48: ; preds = %43 - %49 = load i32, ptr %44, align 4 +45: ; preds = %40 + %46 = load i32, ptr %41, align 4 br label %.loopexit.i -.loopexit.i: ; preds = %42, %48 - %.1.i = phi i32 [ %49, %48 ], [ 0, %42 ] - call void @pfree(ptr noundef nonnull %41) #11 +.loopexit.i: ; preds = %39, %45 + %.1.i = phi i32 [ %46, %45 ], [ 0, %39 ] + call void @pfree(ptr noundef nonnull %38) #11 br label %MultiXactIdGetUpdateXid.exit -MultiXactIdGetUpdateXid.exit: ; preds = %38, %.loopexit.i - %.08.i = phi i32 [ %.1.i, %.loopexit.i ], [ 0, %38 ] +MultiXactIdGetUpdateXid.exit: ; preds = %35, %.loopexit.i + %.08.i = phi i32 [ %.1.i, %.loopexit.i ], [ 0, %35 ] call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %14) - %50 = call zeroext i1 @TransactionIdDidCommit(i32 noundef %.08.i) #11 - br i1 %50, label %51, label %.outer._crit_edge - -51: ; preds = %MultiXactIdGetUpdateXid.exit, %31 - %52 = zext i32 %4 to i64 - %53 = getelementptr [4 x %struct.anon], ptr @tupleLockExtraInfo, i64 0, i64 %52, i32 2 - %54 = getelementptr [4 x %struct.anon], ptr @tupleLockExtraInfo, i64 0, i64 %52, i32 1 - %.0.in.i = select i1 %5, ptr %53, ptr %54 + %47 = call zeroext i1 @TransactionIdDidCommit(i32 noundef %.08.i) #11 + br i1 %47, label %48, label %.outer._crit_edge + +48: ; preds = %MultiXactIdGetUpdateXid.exit, %32 + %49 = zext i32 %4 to i64 + %50 = getelementptr [4 x %struct.anon], ptr @tupleLockExtraInfo, i64 0, i64 %49, i32 2 + %51 = getelementptr [4 x %struct.anon], ptr @tupleLockExtraInfo, i64 0, i64 %49, i32 1 + %.0.in.i = select i1 %5, ptr %50, ptr %51 %.0.i = load i32, ptr %.0.in.i, align 4 - %55 = icmp eq i32 %.0.i, -1 - br i1 %55, label %56, label %get_mxact_status_for_lock.exit - -56: ; preds = %51 - %57 = call zeroext i1 @errstart_cold(i32 noundef 21, ptr noundef null) #12 - call void @llvm.assume(i1 %57) - %58 = select i1 %5, ptr @.str.30, ptr @.str.31 - %59 = call i32 (ptr, ...) @errmsg_internal(ptr noundef nonnull @.str.29, i32 noundef %4, ptr noundef nonnull %58) #11 + %52 = icmp eq i32 %.0.i, -1 + br i1 %52, label %53, label %get_mxact_status_for_lock.exit + +53: ; preds = %48 + %54 = call zeroext i1 @errstart_cold(i32 noundef 21, ptr noundef null) #12 + call void @llvm.assume(i1 %54) + %55 = select i1 %5, ptr @.str.30, ptr @.str.31 + %56 = call i32 (ptr, ...) @errmsg_internal(ptr noundef nonnull @.str.29, i32 noundef %4, ptr noundef nonnull %55) #11 call void @errfinish(ptr noundef nonnull @.str.1, i32 noundef 4107, ptr noundef nonnull @__func__.get_mxact_status_for_lock) #11 unreachable -get_mxact_status_for_lock.exit: ; preds = %51 - %60 = call i32 @MultiXactIdExpand(i32 noundef %0, i32 noundef %3, i32 noundef %.0.i) #11 +get_mxact_status_for_lock.exit: ; preds = %48 + %57 = call i32 @MultiXactIdExpand(i32 noundef %0, i32 noundef %3, i32 noundef %.0.i) #11 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %13) - %61 = call i32 @GetMultiXactIdMembers(i32 noundef %60, ptr noundef nonnull %13, i1 noundef zeroext false, i1 noundef zeroext false) #11 - %62 = icmp sgt i32 %61, 0 - br i1 %62, label %.lr.ph.i, label %GetMultiXactIdHintBits.exit + %58 = call i32 @GetMultiXactIdMembers(i32 noundef %57, ptr noundef nonnull %13, i1 noundef zeroext false, i1 noundef zeroext false) #11 + %59 = icmp sgt i32 %58, 0 + br i1 %59, label %.lr.ph.i, label %GetMultiXactIdHintBits.exit .lr.ph.i: ; preds = %get_mxact_status_for_lock.exit - %63 = load ptr, ptr %13, align 8 - %wide.trip.count.i105 = zext nneg i32 %61 to i64 - br label %64 + %60 = load ptr, ptr %13, align 8 + %wide.trip.count.i105 = zext nneg i32 %58 to i64 + br label %61 -64: ; preds = %75, %.lr.ph.i - %indvars.iv.i106 = phi i64 [ 0, %.lr.ph.i ], [ %indvars.iv.next.i107, %75 ] - %.02539.i = phi i32 [ 0, %.lr.ph.i ], [ %spec.select.i, %75 ] - %.02638.i = phi i1 [ false, %.lr.ph.i ], [ %.127.i, %75 ] - %.02837.i = phi i16 [ 0, %.lr.ph.i ], [ %.129.i, %75 ] - %65 = getelementptr %struct.MultiXactMember, ptr %63, i64 %indvars.iv.i106, i32 1 +61: ; preds = %72, %.lr.ph.i + %indvars.iv.i106 = phi i64 [ 0, %.lr.ph.i ], [ %indvars.iv.next.i107, %72 ] + %.02539.i = phi i32 [ 0, %.lr.ph.i ], [ %spec.select.i, %72 ] + %.02638.i = phi i1 [ false, %.lr.ph.i ], [ %.127.i, %72 ] + %.02837.i = phi i16 [ 0, %.lr.ph.i ], [ %.129.i, %72 ] + %62 = getelementptr %struct.MultiXactMember, ptr %60, i64 %indvars.iv.i106, i32 1 + %63 = load i32, ptr %62, align 4 + %64 = zext i32 %63 to i64 + %65 = getelementptr [6 x i32], ptr @MultiXactStatusLock, i64 0, i64 %64 %66 = load i32, ptr %65, align 4 - %67 = zext i32 %66 to i64 - %68 = getelementptr [6 x i32], ptr @MultiXactStatusLock, i64 0, i64 %67 - %69 = load i32, ptr %68, align 4 - %.fr.i = freeze i32 %69 + %.fr.i = freeze i32 %66 %spec.select.i = call i32 @llvm.umax.i32(i32 %.fr.i, i32 %.02539.i) - switch i32 %66, label %75 [ - i32 5, label %73 - i32 4, label %72 - i32 3, label %70 + switch i32 %63, label %72 [ + i32 5, label %70 + i32 4, label %69 + i32 3, label %67 ] -70: ; preds = %64 - %71 = or i16 %.02837.i, 8192 - br label %75 +67: ; preds = %61 + %68 = or i16 %.02837.i, 8192 + br label %72 -72: ; preds = %64 - br label %75 +69: ; preds = %61 + br label %72 -73: ; preds = %64 - %74 = or i16 %.02837.i, 8192 - br label %75 +70: ; preds = %61 + %71 = or i16 %.02837.i, 8192 + br label %72 -75: ; preds = %73, %72, %70, %64 - %.129.i = phi i16 [ %.02837.i, %64 ], [ %71, %70 ], [ %.02837.i, %72 ], [ %74, %73 ] - %.127.i = phi i1 [ %.02638.i, %64 ], [ %.02638.i, %70 ], [ true, %72 ], [ true, %73 ] +72: ; preds = %70, %69, %67, %61 + %.129.i = phi i16 [ %.02837.i, %61 ], [ %68, %67 ], [ %.02837.i, %69 ], [ %71, %70 ] + %.127.i = phi i1 [ %.02638.i, %61 ], [ %.02638.i, %67 ], [ true, %69 ], [ true, %70 ] %indvars.iv.next.i107 = add nuw nsw i64 %indvars.iv.i106, 1 %exitcond.not.i108 = icmp eq i64 %indvars.iv.next.i107, %wide.trip.count.i105 - br i1 %exitcond.not.i108, label %._crit_edge.i, label %64, !llvm.loop !22 + br i1 %exitcond.not.i108, label %._crit_edge.i, label %61, !llvm.loop !22 -._crit_edge.i: ; preds = %75 - call void @pfree(ptr noundef nonnull %63) #11 - %76 = and i32 %spec.select.i, -2 - %or.cond.i = icmp eq i32 %76, 2 - br i1 %or.cond.i, label %77, label %78 +._crit_edge.i: ; preds = %72 + call void @pfree(ptr noundef nonnull %60) #11 + %73 = and i32 %spec.select.i, -2 + %or.cond.i = icmp eq i32 %73, 2 + br i1 %or.cond.i, label %74, label %75 -77: ; preds = %._crit_edge.i - br i1 %.127.i, label %80, label %GetMultiXactIdHintBits.exit +74: ; preds = %._crit_edge.i + br i1 %.127.i, label %77, label %GetMultiXactIdHintBits.exit -78: ; preds = %._crit_edge.i +75: ; preds = %._crit_edge.i %switch.selectcmp35.i = icmp eq i32 %spec.select.i, 1 %switch.selectcmp.i = icmp eq i32 %spec.select.i, 0 %..i = select i1 %switch.selectcmp.i, i16 4112, i16 4096 %...i = select i1 %switch.selectcmp35.i, i16 4176, i16 %..i - %79 = or disjoint i16 %...i, 128 - br i1 %.127.i, label %80, label %GetMultiXactIdHintBits.exit + %76 = or disjoint i16 %...i, 128 + br i1 %.127.i, label %77, label %GetMultiXactIdHintBits.exit -80: ; preds = %78, %77 - %81 = phi i16 [ 4160, %77 ], [ %...i, %78 ] +77: ; preds = %75, %74 + %78 = phi i16 [ 4160, %74 ], [ %...i, %75 ] br label %GetMultiXactIdHintBits.exit -GetMultiXactIdHintBits.exit: ; preds = %get_mxact_status_for_lock.exit, %77, %78, %80 - %.028.lcssa4658728694.i = phi i16 [ %.129.i, %80 ], [ %.129.i, %78 ], [ %.129.i, %77 ], [ 0, %get_mxact_status_for_lock.exit ] - %82 = phi i16 [ %81, %80 ], [ %79, %78 ], [ 4288, %77 ], [ 4240, %get_mxact_status_for_lock.exit ] +GetMultiXactIdHintBits.exit: ; preds = %get_mxact_status_for_lock.exit, %74, %75, %77 + %.028.lcssa4658728694.i = phi i16 [ %.129.i, %77 ], [ %.129.i, %75 ], [ %.129.i, %74 ], [ 0, %get_mxact_status_for_lock.exit ] + %79 = phi i16 [ %78, %77 ], [ %76, %75 ], [ 4288, %74 ], [ 4240, %get_mxact_status_for_lock.exit ] call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %13) - br label %201 - -83: ; preds = %.lr.ph.lr.ph - %84 = and i32 %15, 1024 - %.not89 = icmp eq i32 %84, 0 - br i1 %.not89, label %117, label %85 - -85: ; preds = %83 - %86 = zext i32 %4 to i64 - %87 = getelementptr [4 x %struct.anon], ptr @tupleLockExtraInfo, i64 0, i64 %86, i32 2 - %88 = getelementptr [4 x %struct.anon], ptr @tupleLockExtraInfo, i64 0, i64 %86, i32 1 - %.0.in.i109 = select i1 %5, ptr %87, ptr %88 + br label %198 + +80: ; preds = %.lr.ph.lr.ph + %81 = and i32 %15, 1024 + %.not89 = icmp eq i32 %81, 0 + br i1 %.not89, label %114, label %82 + +82: ; preds = %80 + %83 = zext i32 %4 to i64 + %84 = getelementptr [4 x %struct.anon], ptr @tupleLockExtraInfo, i64 0, i64 %83, i32 2 + %85 = getelementptr [4 x %struct.anon], ptr @tupleLockExtraInfo, i64 0, i64 %83, i32 1 + %.0.in.i109 = select i1 %5, ptr %84, ptr %85 %.0.i110 = load i32, ptr %.0.in.i109, align 4 - %89 = icmp eq i32 %.0.i110, -1 - br i1 %89, label %90, label %get_mxact_status_for_lock.exit111 - -90: ; preds = %85 - %91 = tail call zeroext i1 @errstart_cold(i32 noundef 21, ptr noundef null) #12 - tail call void @llvm.assume(i1 %91) - %92 = select i1 %5, ptr @.str.30, ptr @.str.31 - %93 = tail call i32 (ptr, ...) @errmsg_internal(ptr noundef nonnull @.str.29, i32 noundef %4, ptr noundef nonnull %92) #11 + %86 = icmp eq i32 %.0.i110, -1 + br i1 %86, label %87, label %get_mxact_status_for_lock.exit111 + +87: ; preds = %82 + %88 = tail call zeroext i1 @errstart_cold(i32 noundef 21, ptr noundef null) #12 + tail call void @llvm.assume(i1 %88) + %89 = select i1 %5, ptr @.str.30, ptr @.str.31 + %90 = tail call i32 (ptr, ...) @errmsg_internal(ptr noundef nonnull @.str.29, i32 noundef %4, ptr noundef nonnull %89) #11 tail call void @errfinish(ptr noundef nonnull @.str.1, i32 noundef 4107, ptr noundef nonnull @__func__.get_mxact_status_for_lock) #11 unreachable -get_mxact_status_for_lock.exit111: ; preds = %85 - %94 = tail call i32 @MultiXactIdCreate(i32 noundef %0, i32 noundef %.101, i32 noundef %3, i32 noundef %.0.i110) #11 +get_mxact_status_for_lock.exit111: ; preds = %82 + %91 = tail call i32 @MultiXactIdCreate(i32 noundef %0, i32 noundef %.101, i32 noundef %3, i32 noundef %.0.i110) #11 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %12) - %95 = call i32 @GetMultiXactIdMembers(i32 noundef %94, ptr noundef nonnull %12, i1 noundef zeroext false, i1 noundef zeroext false) #11 - %96 = icmp sgt i32 %95, 0 - br i1 %96, label %.lr.ph.i113, label %GetMultiXactIdHintBits.exit131 + %92 = call i32 @GetMultiXactIdMembers(i32 noundef %91, ptr noundef nonnull %12, i1 noundef zeroext false, i1 noundef zeroext false) #11 + %93 = icmp sgt i32 %92, 0 + br i1 %93, label %.lr.ph.i113, label %GetMultiXactIdHintBits.exit131 .lr.ph.i113: ; preds = %get_mxact_status_for_lock.exit111 - %97 = load ptr, ptr %12, align 8 - %wide.trip.count.i114 = zext nneg i32 %95 to i64 - br label %98 - -98: ; preds = %109, %.lr.ph.i113 - %indvars.iv.i115 = phi i64 [ 0, %.lr.ph.i113 ], [ %indvars.iv.next.i123, %109 ] - %.02539.i116 = phi i32 [ 0, %.lr.ph.i113 ], [ %spec.select.i120, %109 ] - %.02638.i117 = phi i1 [ false, %.lr.ph.i113 ], [ %.127.i122, %109 ] - %.02837.i118 = phi i16 [ 0, %.lr.ph.i113 ], [ %.129.i121, %109 ] - %99 = getelementptr %struct.MultiXactMember, ptr %97, i64 %indvars.iv.i115, i32 1 + %94 = load ptr, ptr %12, align 8 + %wide.trip.count.i114 = zext nneg i32 %92 to i64 + br label %95 + +95: ; preds = %106, %.lr.ph.i113 + %indvars.iv.i115 = phi i64 [ 0, %.lr.ph.i113 ], [ %indvars.iv.next.i123, %106 ] + %.02539.i116 = phi i32 [ 0, %.lr.ph.i113 ], [ %spec.select.i120, %106 ] + %.02638.i117 = phi i1 [ false, %.lr.ph.i113 ], [ %.127.i122, %106 ] + %.02837.i118 = phi i16 [ 0, %.lr.ph.i113 ], [ %.129.i121, %106 ] + %96 = getelementptr %struct.MultiXactMember, ptr %94, i64 %indvars.iv.i115, i32 1 + %97 = load i32, ptr %96, align 4 + %98 = zext i32 %97 to i64 + %99 = getelementptr [6 x i32], ptr @MultiXactStatusLock, i64 0, i64 %98 %100 = load i32, ptr %99, align 4 - %101 = zext i32 %100 to i64 - %102 = getelementptr [6 x i32], ptr @MultiXactStatusLock, i64 0, i64 %101 - %103 = load i32, ptr %102, align 4 - %.fr.i119 = freeze i32 %103 + %.fr.i119 = freeze i32 %100 %spec.select.i120 = call i32 @llvm.umax.i32(i32 %.fr.i119, i32 %.02539.i116) - switch i32 %100, label %109 [ - i32 5, label %107 - i32 4, label %106 - i32 3, label %104 + switch i32 %97, label %106 [ + i32 5, label %104 + i32 4, label %103 + i32 3, label %101 ] -104: ; preds = %98 - %105 = or i16 %.02837.i118, 8192 - br label %109 +101: ; preds = %95 + %102 = or i16 %.02837.i118, 8192 + br label %106 -106: ; preds = %98 - br label %109 +103: ; preds = %95 + br label %106 -107: ; preds = %98 - %108 = or i16 %.02837.i118, 8192 - br label %109 +104: ; preds = %95 + %105 = or i16 %.02837.i118, 8192 + br label %106 -109: ; preds = %107, %106, %104, %98 - %.129.i121 = phi i16 [ %.02837.i118, %98 ], [ %105, %104 ], [ %.02837.i118, %106 ], [ %108, %107 ] - %.127.i122 = phi i1 [ %.02638.i117, %98 ], [ %.02638.i117, %104 ], [ true, %106 ], [ true, %107 ] +106: ; preds = %104, %103, %101, %95 + %.129.i121 = phi i16 [ %.02837.i118, %95 ], [ %102, %101 ], [ %.02837.i118, %103 ], [ %105, %104 ] + %.127.i122 = phi i1 [ %.02638.i117, %95 ], [ %.02638.i117, %101 ], [ true, %103 ], [ true, %104 ] %indvars.iv.next.i123 = add nuw nsw i64 %indvars.iv.i115, 1 %exitcond.not.i124 = icmp eq i64 %indvars.iv.next.i123, %wide.trip.count.i114 - br i1 %exitcond.not.i124, label %._crit_edge.i125, label %98, !llvm.loop !22 + br i1 %exitcond.not.i124, label %._crit_edge.i125, label %95, !llvm.loop !22 -._crit_edge.i125: ; preds = %109 - call void @pfree(ptr noundef nonnull %97) #11 - %110 = and i32 %spec.select.i120, -2 - %or.cond.i126 = icmp eq i32 %110, 2 - br i1 %or.cond.i126, label %111, label %112 +._crit_edge.i125: ; preds = %106 + call void @pfree(ptr noundef nonnull %94) #11 + %107 = and i32 %spec.select.i120, -2 + %or.cond.i126 = icmp eq i32 %107, 2 + br i1 %or.cond.i126, label %108, label %109 -111: ; preds = %._crit_edge.i125 - br i1 %.127.i122, label %114, label %GetMultiXactIdHintBits.exit131 +108: ; preds = %._crit_edge.i125 + br i1 %.127.i122, label %111, label %GetMultiXactIdHintBits.exit131 -112: ; preds = %._crit_edge.i125 +109: ; preds = %._crit_edge.i125 %switch.selectcmp35.i127 = icmp eq i32 %spec.select.i120, 1 %switch.selectcmp.i128 = icmp eq i32 %spec.select.i120, 0 %..i129 = select i1 %switch.selectcmp.i128, i16 4112, i16 4096 %...i130 = select i1 %switch.selectcmp35.i127, i16 4176, i16 %..i129 - %113 = or disjoint i16 %...i130, 128 - br i1 %.127.i122, label %114, label %GetMultiXactIdHintBits.exit131 + %110 = or disjoint i16 %...i130, 128 + br i1 %.127.i122, label %111, label %GetMultiXactIdHintBits.exit131 -114: ; preds = %112, %111 - %115 = phi i16 [ 4160, %111 ], [ %...i130, %112 ] +111: ; preds = %109, %108 + %112 = phi i16 [ 4160, %108 ], [ %...i130, %109 ] br label %GetMultiXactIdHintBits.exit131 -GetMultiXactIdHintBits.exit131: ; preds = %get_mxact_status_for_lock.exit111, %111, %112, %114 - %.028.lcssa4658728694.i112 = phi i16 [ %.129.i121, %114 ], [ %.129.i121, %112 ], [ %.129.i121, %111 ], [ 0, %get_mxact_status_for_lock.exit111 ] - %116 = phi i16 [ %115, %114 ], [ %113, %112 ], [ 4288, %111 ], [ 4240, %get_mxact_status_for_lock.exit111 ] +GetMultiXactIdHintBits.exit131: ; preds = %get_mxact_status_for_lock.exit111, %108, %109, %111 + %.028.lcssa4658728694.i112 = phi i16 [ %.129.i121, %111 ], [ %.129.i121, %109 ], [ %.129.i121, %108 ], [ 0, %get_mxact_status_for_lock.exit111 ] + %113 = phi i16 [ %112, %111 ], [ %110, %109 ], [ 4288, %108 ], [ 4240, %get_mxact_status_for_lock.exit111 ] call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %12) - br label %201 - -117: ; preds = %83 - %118 = tail call zeroext i1 @TransactionIdIsInProgress(i32 noundef %0) #11 - %119 = and i32 %15, 128 - %.not92 = icmp ne i32 %119, 0 - %120 = and i32 %15, 80 - %121 = icmp eq i32 %120, 64 - %or.cond99 = or i1 %.not92, %121 - br i1 %118, label %122, label %166 - -122: ; preds = %117 - br i1 %or.cond99, label %123, label %130 - -123: ; preds = %122 - %124 = lshr exact i32 %120, 4 - switch i32 %124, label %.unreachabledefault [ + br label %198 + +114: ; preds = %80 + %115 = tail call zeroext i1 @TransactionIdIsInProgress(i32 noundef %0) #11 + %116 = and i32 %15, 128 + %.not92 = icmp ne i32 %116, 0 + %117 = and i32 %15, 80 + %118 = icmp eq i32 %117, 64 + %or.cond99 = or i1 %.not92, %118 + br i1 %115, label %119, label %163 + +119: ; preds = %114 + br i1 %or.cond99, label %120, label %127 + +120: ; preds = %119 + %121 = lshr exact i32 %117, 4 + switch i32 %121, label %.unreachabledefault [ i32 1, label %.loopexit - i32 5, label %130 - i32 4, label %125 - i32 0, label %126 + i32 5, label %127 + i32 4, label %122 + i32 0, label %123 ] -125: ; preds = %123 - br label %130 +122: ; preds = %120 + br label %127 -.unreachabledefault: ; preds = %123 +.unreachabledefault: ; preds = %120 unreachable -126: ; preds = %123 - %127 = tail call zeroext i1 @errstart(i32 noundef 19, ptr noundef null) #11 - br i1 %127, label %128, label %.outer._crit_edge +123: ; preds = %120 + %124 = tail call zeroext i1 @errstart(i32 noundef 19, ptr noundef null) #11 + br i1 %124, label %125, label %.outer._crit_edge -128: ; preds = %126 - %129 = tail call i32 (ptr, ...) @errmsg_internal(ptr noundef nonnull @.str.33, i32 noundef %0) #11 +125: ; preds = %123 + %126 = tail call i32 (ptr, ...) @errmsg_internal(ptr noundef nonnull @.str.33, i32 noundef %0) #11 tail call void @errfinish(ptr noundef nonnull @.str.1, i32 noundef 5064, ptr noundef nonnull @__func__.compute_new_xmax_infomask) #11 br label %.outer._crit_edge -.loopexit: ; preds = %123 - br label %130 +.loopexit: ; preds = %120 + br label %127 -130: ; preds = %122, %123, %.loopexit, %125 - %.081 = phi i32 [ %.100, %125 ], [ 0, %.loopexit ], [ 1, %123 ], [ %.101, %122 ] - br i1 %18, label %.outer, label %134 +127: ; preds = %119, %120, %.loopexit, %122 + %.081 = phi i32 [ %.100, %122 ], [ 0, %.loopexit ], [ 1, %120 ], [ %.101, %119 ] + br i1 %18, label %.outer, label %131 -.outer: ; preds = %130 - %131 = zext nneg i32 %.081 to i64 - %132 = getelementptr [6 x i32], ptr @MultiXactStatusLock, i64 0, i64 %131 - %133 = load i32, ptr %132, align 4 - %spec.select = tail call i32 @llvm.umax.i32(i32 %4, i32 %133) +.outer: ; preds = %127 + %128 = zext nneg i32 %.081 to i64 + %129 = getelementptr [6 x i32], ptr @MultiXactStatusLock, i64 0, i64 %128 + %130 = load i32, ptr %129, align 4 + %spec.select = tail call i32 @llvm.umax.i32(i32 %4, i32 %130) br label %.outer._crit_edge -134: ; preds = %130 - %135 = zext i32 %4 to i64 - %136 = getelementptr [4 x %struct.anon], ptr @tupleLockExtraInfo, i64 0, i64 %135, i32 2 - %137 = getelementptr [4 x %struct.anon], ptr @tupleLockExtraInfo, i64 0, i64 %135, i32 1 - %.0.in.i132 = select i1 %5, ptr %136, ptr %137 +131: ; preds = %127 + %132 = zext i32 %4 to i64 + %133 = getelementptr [4 x %struct.anon], ptr @tupleLockExtraInfo, i64 0, i64 %132, i32 2 + %134 = getelementptr [4 x %struct.anon], ptr @tupleLockExtraInfo, i64 0, i64 %132, i32 1 + %.0.in.i132 = select i1 %5, ptr %133, ptr %134 %.0.i133 = load i32, ptr %.0.in.i132, align 4 - %138 = icmp eq i32 %.0.i133, -1 - br i1 %138, label %139, label %get_mxact_status_for_lock.exit134 - -139: ; preds = %134 - %140 = tail call zeroext i1 @errstart_cold(i32 noundef 21, ptr noundef null) #12 - tail call void @llvm.assume(i1 %140) - %141 = select i1 %5, ptr @.str.30, ptr @.str.31 - %142 = tail call i32 (ptr, ...) @errmsg_internal(ptr noundef nonnull @.str.29, i32 noundef %4, ptr noundef nonnull %141) #11 + %135 = icmp eq i32 %.0.i133, -1 + br i1 %135, label %136, label %get_mxact_status_for_lock.exit134 + +136: ; preds = %131 + %137 = tail call zeroext i1 @errstart_cold(i32 noundef 21, ptr noundef null) #12 + tail call void @llvm.assume(i1 %137) + %138 = select i1 %5, ptr @.str.30, ptr @.str.31 + %139 = tail call i32 (ptr, ...) @errmsg_internal(ptr noundef nonnull @.str.29, i32 noundef %4, ptr noundef nonnull %138) #11 tail call void @errfinish(ptr noundef nonnull @.str.1, i32 noundef 4107, ptr noundef nonnull @__func__.get_mxact_status_for_lock) #11 unreachable -get_mxact_status_for_lock.exit134: ; preds = %134 - %143 = tail call i32 @MultiXactIdCreate(i32 noundef %0, i32 noundef %.081, i32 noundef %3, i32 noundef %.0.i133) #11 +get_mxact_status_for_lock.exit134: ; preds = %131 + %140 = tail call i32 @MultiXactIdCreate(i32 noundef %0, i32 noundef %.081, i32 noundef %3, i32 noundef %.0.i133) #11 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %11) - %144 = call i32 @GetMultiXactIdMembers(i32 noundef %143, ptr noundef nonnull %11, i1 noundef zeroext false, i1 noundef zeroext false) #11 - %145 = icmp sgt i32 %144, 0 - br i1 %145, label %.lr.ph.i136, label %GetMultiXactIdHintBits.exit154 + %141 = call i32 @GetMultiXactIdMembers(i32 noundef %140, ptr noundef nonnull %11, i1 noundef zeroext false, i1 noundef zeroext false) #11 + %142 = icmp sgt i32 %141, 0 + br i1 %142, label %.lr.ph.i136, label %GetMultiXactIdHintBits.exit154 .lr.ph.i136: ; preds = %get_mxact_status_for_lock.exit134 - %146 = load ptr, ptr %11, align 8 - %wide.trip.count.i137 = zext nneg i32 %144 to i64 - br label %147 - -147: ; preds = %158, %.lr.ph.i136 - %indvars.iv.i138 = phi i64 [ 0, %.lr.ph.i136 ], [ %indvars.iv.next.i146, %158 ] - %.02539.i139 = phi i32 [ 0, %.lr.ph.i136 ], [ %spec.select.i143, %158 ] - %.02638.i140 = phi i1 [ false, %.lr.ph.i136 ], [ %.127.i145, %158 ] - %.02837.i141 = phi i16 [ 0, %.lr.ph.i136 ], [ %.129.i144, %158 ] - %148 = getelementptr %struct.MultiXactMember, ptr %146, i64 %indvars.iv.i138, i32 1 + %143 = load ptr, ptr %11, align 8 + %wide.trip.count.i137 = zext nneg i32 %141 to i64 + br label %144 + +144: ; preds = %155, %.lr.ph.i136 + %indvars.iv.i138 = phi i64 [ 0, %.lr.ph.i136 ], [ %indvars.iv.next.i146, %155 ] + %.02539.i139 = phi i32 [ 0, %.lr.ph.i136 ], [ %spec.select.i143, %155 ] + %.02638.i140 = phi i1 [ false, %.lr.ph.i136 ], [ %.127.i145, %155 ] + %.02837.i141 = phi i16 [ 0, %.lr.ph.i136 ], [ %.129.i144, %155 ] + %145 = getelementptr %struct.MultiXactMember, ptr %143, i64 %indvars.iv.i138, i32 1 + %146 = load i32, ptr %145, align 4 + %147 = zext i32 %146 to i64 + %148 = getelementptr [6 x i32], ptr @MultiXactStatusLock, i64 0, i64 %147 %149 = load i32, ptr %148, align 4 - %150 = zext i32 %149 to i64 - %151 = getelementptr [6 x i32], ptr @MultiXactStatusLock, i64 0, i64 %150 - %152 = load i32, ptr %151, align 4 - %.fr.i142 = freeze i32 %152 + %.fr.i142 = freeze i32 %149 %spec.select.i143 = call i32 @llvm.umax.i32(i32 %.fr.i142, i32 %.02539.i139) - switch i32 %149, label %158 [ - i32 5, label %156 - i32 4, label %155 - i32 3, label %153 + switch i32 %146, label %155 [ + i32 5, label %153 + i32 4, label %152 + i32 3, label %150 ] -153: ; preds = %147 - %154 = or i16 %.02837.i141, 8192 - br label %158 +150: ; preds = %144 + %151 = or i16 %.02837.i141, 8192 + br label %155 -155: ; preds = %147 - br label %158 +152: ; preds = %144 + br label %155 -156: ; preds = %147 - %157 = or i16 %.02837.i141, 8192 - br label %158 +153: ; preds = %144 + %154 = or i16 %.02837.i141, 8192 + br label %155 -158: ; preds = %156, %155, %153, %147 - %.129.i144 = phi i16 [ %.02837.i141, %147 ], [ %154, %153 ], [ %.02837.i141, %155 ], [ %157, %156 ] - %.127.i145 = phi i1 [ %.02638.i140, %147 ], [ %.02638.i140, %153 ], [ true, %155 ], [ true, %156 ] +155: ; preds = %153, %152, %150, %144 + %.129.i144 = phi i16 [ %.02837.i141, %144 ], [ %151, %150 ], [ %.02837.i141, %152 ], [ %154, %153 ] + %.127.i145 = phi i1 [ %.02638.i140, %144 ], [ %.02638.i140, %150 ], [ true, %152 ], [ true, %153 ] %indvars.iv.next.i146 = add nuw nsw i64 %indvars.iv.i138, 1 %exitcond.not.i147 = icmp eq i64 %indvars.iv.next.i146, %wide.trip.count.i137 - br i1 %exitcond.not.i147, label %._crit_edge.i148, label %147, !llvm.loop !22 + br i1 %exitcond.not.i147, label %._crit_edge.i148, label %144, !llvm.loop !22 -._crit_edge.i148: ; preds = %158 - call void @pfree(ptr noundef nonnull %146) #11 - %159 = and i32 %spec.select.i143, -2 - %or.cond.i149 = icmp eq i32 %159, 2 - br i1 %or.cond.i149, label %160, label %161 +._crit_edge.i148: ; preds = %155 + call void @pfree(ptr noundef nonnull %143) #11 + %156 = and i32 %spec.select.i143, -2 + %or.cond.i149 = icmp eq i32 %156, 2 + br i1 %or.cond.i149, label %157, label %158 -160: ; preds = %._crit_edge.i148 - br i1 %.127.i145, label %163, label %GetMultiXactIdHintBits.exit154 +157: ; preds = %._crit_edge.i148 + br i1 %.127.i145, label %160, label %GetMultiXactIdHintBits.exit154 -161: ; preds = %._crit_edge.i148 +158: ; preds = %._crit_edge.i148 %switch.selectcmp35.i150 = icmp eq i32 %spec.select.i143, 1 %switch.selectcmp.i151 = icmp eq i32 %spec.select.i143, 0 %..i152 = select i1 %switch.selectcmp.i151, i16 4112, i16 4096 %...i153 = select i1 %switch.selectcmp35.i150, i16 4176, i16 %..i152 - %162 = or disjoint i16 %...i153, 128 - br i1 %.127.i145, label %163, label %GetMultiXactIdHintBits.exit154 + %159 = or disjoint i16 %...i153, 128 + br i1 %.127.i145, label %160, label %GetMultiXactIdHintBits.exit154 -163: ; preds = %161, %160 - %164 = phi i16 [ 4160, %160 ], [ %...i153, %161 ] +160: ; preds = %158, %157 + %161 = phi i16 [ 4160, %157 ], [ %...i153, %158 ] br label %GetMultiXactIdHintBits.exit154 -GetMultiXactIdHintBits.exit154: ; preds = %get_mxact_status_for_lock.exit134, %160, %161, %163 - %.028.lcssa4658728694.i135 = phi i16 [ %.129.i144, %163 ], [ %.129.i144, %161 ], [ %.129.i144, %160 ], [ 0, %get_mxact_status_for_lock.exit134 ] - %165 = phi i16 [ %164, %163 ], [ %162, %161 ], [ 4288, %160 ], [ 4240, %get_mxact_status_for_lock.exit134 ] +GetMultiXactIdHintBits.exit154: ; preds = %get_mxact_status_for_lock.exit134, %157, %158, %160 + %.028.lcssa4658728694.i135 = phi i16 [ %.129.i144, %160 ], [ %.129.i144, %158 ], [ %.129.i144, %157 ], [ 0, %get_mxact_status_for_lock.exit134 ] + %162 = phi i16 [ %161, %160 ], [ %159, %158 ], [ 4288, %157 ], [ 4240, %get_mxact_status_for_lock.exit134 ] call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %11) - br label %201 + br label %198 -166: ; preds = %117 - br i1 %or.cond99, label %.outer._crit_edge, label %167 +163: ; preds = %114 + br i1 %or.cond99, label %.outer._crit_edge, label %164 -167: ; preds = %166 - %168 = tail call zeroext i1 @TransactionIdDidCommit(i32 noundef %0) #11 - br i1 %168, label %169, label %.outer._crit_edge +164: ; preds = %163 + %165 = tail call zeroext i1 @TransactionIdDidCommit(i32 noundef %0) #11 + br i1 %165, label %166, label %.outer._crit_edge -169: ; preds = %167 - %170 = zext i32 %4 to i64 - %171 = getelementptr [4 x %struct.anon], ptr @tupleLockExtraInfo, i64 0, i64 %170, i32 2 - %172 = getelementptr [4 x %struct.anon], ptr @tupleLockExtraInfo, i64 0, i64 %170, i32 1 - %.0.in.i155 = select i1 %5, ptr %171, ptr %172 +166: ; preds = %164 + %167 = zext i32 %4 to i64 + %168 = getelementptr [4 x %struct.anon], ptr @tupleLockExtraInfo, i64 0, i64 %167, i32 2 + %169 = getelementptr [4 x %struct.anon], ptr @tupleLockExtraInfo, i64 0, i64 %167, i32 1 + %.0.in.i155 = select i1 %5, ptr %168, ptr %169 %.0.i156 = load i32, ptr %.0.in.i155, align 4 - %173 = icmp eq i32 %.0.i156, -1 - br i1 %173, label %174, label %get_mxact_status_for_lock.exit157 - -174: ; preds = %169 - %175 = tail call zeroext i1 @errstart_cold(i32 noundef 21, ptr noundef null) #12 - tail call void @llvm.assume(i1 %175) - %176 = select i1 %5, ptr @.str.30, ptr @.str.31 - %177 = tail call i32 (ptr, ...) @errmsg_internal(ptr noundef nonnull @.str.29, i32 noundef %4, ptr noundef nonnull %176) #11 + %170 = icmp eq i32 %.0.i156, -1 + br i1 %170, label %171, label %get_mxact_status_for_lock.exit157 + +171: ; preds = %166 + %172 = tail call zeroext i1 @errstart_cold(i32 noundef 21, ptr noundef null) #12 + tail call void @llvm.assume(i1 %172) + %173 = select i1 %5, ptr @.str.30, ptr @.str.31 + %174 = tail call i32 (ptr, ...) @errmsg_internal(ptr noundef nonnull @.str.29, i32 noundef %4, ptr noundef nonnull %173) #11 tail call void @errfinish(ptr noundef nonnull @.str.1, i32 noundef 4107, ptr noundef nonnull @__func__.get_mxact_status_for_lock) #11 unreachable -get_mxact_status_for_lock.exit157: ; preds = %169 - %178 = tail call i32 @MultiXactIdCreate(i32 noundef %0, i32 noundef %.101, i32 noundef %3, i32 noundef %.0.i156) #11 +get_mxact_status_for_lock.exit157: ; preds = %166 + %175 = tail call i32 @MultiXactIdCreate(i32 noundef %0, i32 noundef %.101, i32 noundef %3, i32 noundef %.0.i156) #11 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %10) - %179 = call i32 @GetMultiXactIdMembers(i32 noundef %178, ptr noundef nonnull %10, i1 noundef zeroext false, i1 noundef zeroext false) #11 - %180 = icmp sgt i32 %179, 0 - br i1 %180, label %.lr.ph.i159, label %GetMultiXactIdHintBits.exit177 + %176 = call i32 @GetMultiXactIdMembers(i32 noundef %175, ptr noundef nonnull %10, i1 noundef zeroext false, i1 noundef zeroext false) #11 + %177 = icmp sgt i32 %176, 0 + br i1 %177, label %.lr.ph.i159, label %GetMultiXactIdHintBits.exit177 .lr.ph.i159: ; preds = %get_mxact_status_for_lock.exit157 - %181 = load ptr, ptr %10, align 8 - %wide.trip.count.i160 = zext nneg i32 %179 to i64 - br label %182 - -182: ; preds = %193, %.lr.ph.i159 - %indvars.iv.i161 = phi i64 [ 0, %.lr.ph.i159 ], [ %indvars.iv.next.i169, %193 ] - %.02539.i162 = phi i32 [ 0, %.lr.ph.i159 ], [ %spec.select.i166, %193 ] - %.02638.i163 = phi i1 [ false, %.lr.ph.i159 ], [ %.127.i168, %193 ] - %.02837.i164 = phi i16 [ 0, %.lr.ph.i159 ], [ %.129.i167, %193 ] - %183 = getelementptr %struct.MultiXactMember, ptr %181, i64 %indvars.iv.i161, i32 1 + %178 = load ptr, ptr %10, align 8 + %wide.trip.count.i160 = zext nneg i32 %176 to i64 + br label %179 + +179: ; preds = %190, %.lr.ph.i159 + %indvars.iv.i161 = phi i64 [ 0, %.lr.ph.i159 ], [ %indvars.iv.next.i169, %190 ] + %.02539.i162 = phi i32 [ 0, %.lr.ph.i159 ], [ %spec.select.i166, %190 ] + %.02638.i163 = phi i1 [ false, %.lr.ph.i159 ], [ %.127.i168, %190 ] + %.02837.i164 = phi i16 [ 0, %.lr.ph.i159 ], [ %.129.i167, %190 ] + %180 = getelementptr %struct.MultiXactMember, ptr %178, i64 %indvars.iv.i161, i32 1 + %181 = load i32, ptr %180, align 4 + %182 = zext i32 %181 to i64 + %183 = getelementptr [6 x i32], ptr @MultiXactStatusLock, i64 0, i64 %182 %184 = load i32, ptr %183, align 4 - %185 = zext i32 %184 to i64 - %186 = getelementptr [6 x i32], ptr @MultiXactStatusLock, i64 0, i64 %185 - %187 = load i32, ptr %186, align 4 - %.fr.i165 = freeze i32 %187 + %.fr.i165 = freeze i32 %184 %spec.select.i166 = call i32 @llvm.umax.i32(i32 %.fr.i165, i32 %.02539.i162) - switch i32 %184, label %193 [ - i32 5, label %191 - i32 4, label %190 - i32 3, label %188 + switch i32 %181, label %190 [ + i32 5, label %188 + i32 4, label %187 + i32 3, label %185 ] -188: ; preds = %182 - %189 = or i16 %.02837.i164, 8192 - br label %193 +185: ; preds = %179 + %186 = or i16 %.02837.i164, 8192 + br label %190 -190: ; preds = %182 - br label %193 +187: ; preds = %179 + br label %190 -191: ; preds = %182 - %192 = or i16 %.02837.i164, 8192 - br label %193 +188: ; preds = %179 + %189 = or i16 %.02837.i164, 8192 + br label %190 -193: ; preds = %191, %190, %188, %182 - %.129.i167 = phi i16 [ %.02837.i164, %182 ], [ %189, %188 ], [ %.02837.i164, %190 ], [ %192, %191 ] - %.127.i168 = phi i1 [ %.02638.i163, %182 ], [ %.02638.i163, %188 ], [ true, %190 ], [ true, %191 ] +190: ; preds = %188, %187, %185, %179 + %.129.i167 = phi i16 [ %.02837.i164, %179 ], [ %186, %185 ], [ %.02837.i164, %187 ], [ %189, %188 ] + %.127.i168 = phi i1 [ %.02638.i163, %179 ], [ %.02638.i163, %185 ], [ true, %187 ], [ true, %188 ] %indvars.iv.next.i169 = add nuw nsw i64 %indvars.iv.i161, 1 %exitcond.not.i170 = icmp eq i64 %indvars.iv.next.i169, %wide.trip.count.i160 - br i1 %exitcond.not.i170, label %._crit_edge.i171, label %182, !llvm.loop !22 + br i1 %exitcond.not.i170, label %._crit_edge.i171, label %179, !llvm.loop !22 -._crit_edge.i171: ; preds = %193 - call void @pfree(ptr noundef nonnull %181) #11 - %194 = and i32 %spec.select.i166, -2 - %or.cond.i172 = icmp eq i32 %194, 2 - br i1 %or.cond.i172, label %195, label %196 +._crit_edge.i171: ; preds = %190 + call void @pfree(ptr noundef nonnull %178) #11 + %191 = and i32 %spec.select.i166, -2 + %or.cond.i172 = icmp eq i32 %191, 2 + br i1 %or.cond.i172, label %192, label %193 -195: ; preds = %._crit_edge.i171 - br i1 %.127.i168, label %198, label %GetMultiXactIdHintBits.exit177 +192: ; preds = %._crit_edge.i171 + br i1 %.127.i168, label %195, label %GetMultiXactIdHintBits.exit177 -196: ; preds = %._crit_edge.i171 +193: ; preds = %._crit_edge.i171 %switch.selectcmp35.i173 = icmp eq i32 %spec.select.i166, 1 %switch.selectcmp.i174 = icmp eq i32 %spec.select.i166, 0 %..i175 = select i1 %switch.selectcmp.i174, i16 4112, i16 4096 %...i176 = select i1 %switch.selectcmp35.i173, i16 4176, i16 %..i175 - %197 = or disjoint i16 %...i176, 128 - br i1 %.127.i168, label %198, label %GetMultiXactIdHintBits.exit177 + %194 = or disjoint i16 %...i176, 128 + br i1 %.127.i168, label %195, label %GetMultiXactIdHintBits.exit177 -198: ; preds = %196, %195 - %199 = phi i16 [ 4160, %195 ], [ %...i176, %196 ] +195: ; preds = %193, %192 + %196 = phi i16 [ 4160, %192 ], [ %...i176, %193 ] br label %GetMultiXactIdHintBits.exit177 -GetMultiXactIdHintBits.exit177: ; preds = %get_mxact_status_for_lock.exit157, %195, %196, %198 - %.028.lcssa4658728694.i158 = phi i16 [ %.129.i167, %198 ], [ %.129.i167, %196 ], [ %.129.i167, %195 ], [ 0, %get_mxact_status_for_lock.exit157 ] - %200 = phi i16 [ %199, %198 ], [ %197, %196 ], [ 4288, %195 ], [ 4240, %get_mxact_status_for_lock.exit157 ] +GetMultiXactIdHintBits.exit177: ; preds = %get_mxact_status_for_lock.exit157, %192, %193, %195 + %.028.lcssa4658728694.i158 = phi i16 [ %.129.i167, %195 ], [ %.129.i167, %193 ], [ %.129.i167, %192 ], [ 0, %get_mxact_status_for_lock.exit157 ] + %197 = phi i16 [ %196, %195 ], [ %194, %193 ], [ 4288, %192 ], [ 4240, %get_mxact_status_for_lock.exit157 ] call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %10) - br label %201 + br label %198 -201: ; preds = %20, %22, %GetMultiXactIdHintBits.exit, %GetMultiXactIdHintBits.exit154, %GetMultiXactIdHintBits.exit177, %GetMultiXactIdHintBits.exit131, %25, %24, %23 - %.0182 = phi i16 [ %165, %GetMultiXactIdHintBits.exit154 ], [ %200, %GetMultiXactIdHintBits.exit177 ], [ %116, %GetMultiXactIdHintBits.exit131 ], [ %82, %GetMultiXactIdHintBits.exit ], [ 192, %25 ], [ 192, %24 ], [ 208, %23 ], [ 144, %22 ], [ 0, %20 ] +198: ; preds = %20, %22, %GetMultiXactIdHintBits.exit, %GetMultiXactIdHintBits.exit154, %GetMultiXactIdHintBits.exit177, %GetMultiXactIdHintBits.exit131, %25, %24, %23 + %.0182 = phi i16 [ %162, %GetMultiXactIdHintBits.exit154 ], [ %197, %GetMultiXactIdHintBits.exit177 ], [ %113, %GetMultiXactIdHintBits.exit131 ], [ %79, %GetMultiXactIdHintBits.exit ], [ 192, %25 ], [ 192, %24 ], [ 208, %23 ], [ 144, %22 ], [ 0, %20 ] %.0181 = phi i16 [ %.028.lcssa4658728694.i135, %GetMultiXactIdHintBits.exit154 ], [ %.028.lcssa4658728694.i158, %GetMultiXactIdHintBits.exit177 ], [ %.028.lcssa4658728694.i112, %GetMultiXactIdHintBits.exit131 ], [ %.028.lcssa4658728694.i, %GetMultiXactIdHintBits.exit ], [ 8192, %25 ], [ 0, %24 ], [ 0, %23 ], [ 0, %22 ], [ %spec.select183, %20 ] - %.082 = phi i32 [ %143, %GetMultiXactIdHintBits.exit154 ], [ %178, %GetMultiXactIdHintBits.exit177 ], [ %94, %GetMultiXactIdHintBits.exit131 ], [ %60, %GetMultiXactIdHintBits.exit ], [ %3, %25 ], [ %3, %24 ], [ %3, %23 ], [ %3, %22 ], [ %3, %20 ] + %.082 = phi i32 [ %140, %GetMultiXactIdHintBits.exit154 ], [ %175, %GetMultiXactIdHintBits.exit177 ], [ %91, %GetMultiXactIdHintBits.exit131 ], [ %57, %GetMultiXactIdHintBits.exit ], [ %3, %25 ], [ %3, %24 ], [ %3, %23 ], [ %3, %22 ], [ %3, %20 ] store i16 %.0182, ptr %7, align 2 store i16 %.0181, ptr %8, align 2 store i32 %.082, ptr %6, align 4 @@ -7950,771 +7947,768 @@ BufferGetPage.exit290: ; preds = %48, %54 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 2 dereferenceable(6) %14, ptr noundef nonnull readonly align 2 dereferenceable(6) %88, i64 6, i1 false) %89 = load i32, ptr %6, align 4 call void @LockBuffer(i32 noundef %89, i32 noundef 0) #11 - br i1 %.0214, label %90, label %128 + br i1 %.0214, label %90, label %125 90: ; preds = %80 %91 = zext i16 %85 to i32 %92 = and i32 %91, 4096 %.not = icmp eq i32 %92, 0 - br i1 %.not, label %116, label %93 + br i1 %.not, label %113, label %93 93: ; preds = %90 %94 = and i32 %91, 128 %95 = icmp ne i32 %94, 0 - %96 = and i32 %91, 4176 - %97 = icmp eq i32 %96, 64 - %98 = or i1 %95, %97 - %99 = call i32 @GetMultiXactIdMembers(i32 noundef %83, ptr noundef nonnull %15, i1 noundef zeroext false, i1 noundef zeroext %98) #11 - %100 = icmp sgt i32 %99, 0 - br i1 %100, label %.lr.ph.preheader, label %._crit_edge + %96 = call i32 @GetMultiXactIdMembers(i32 noundef %83, ptr noundef nonnull %15, i1 noundef zeroext false, i1 noundef zeroext %95) #11 + %97 = icmp sgt i32 %96, 0 + br i1 %97, label %.lr.ph.preheader, label %._crit_edge .lr.ph.preheader: ; preds = %93 - %wide.trip.count = zext nneg i32 %99 to i64 + %wide.trip.count = zext nneg i32 %96 to i64 br label %.lr.ph -.lr.ph: ; preds = %.lr.ph.preheader, %113 - %indvars.iv = phi i64 [ 0, %.lr.ph.preheader ], [ %indvars.iv.next, %113 ] - %.2219423 = phi i1 [ %.0217, %.lr.ph.preheader ], [ %.3, %113 ] - %101 = load ptr, ptr %15, align 8 - %102 = getelementptr %struct.MultiXactMember, ptr %101, i64 %indvars.iv - %103 = load i32, ptr %102, align 4 - %104 = call zeroext i1 @TransactionIdIsCurrentTransactionId(i32 noundef %103) #11 - br i1 %104, label %105, label %113 +.lr.ph: ; preds = %.lr.ph.preheader, %110 + %indvars.iv = phi i64 [ 0, %.lr.ph.preheader ], [ %indvars.iv.next, %110 ] + %.2219423 = phi i1 [ %.0217, %.lr.ph.preheader ], [ %.3, %110 ] + %98 = load ptr, ptr %15, align 8 + %99 = getelementptr %struct.MultiXactMember, ptr %98, i64 %indvars.iv + %100 = load i32, ptr %99, align 4 + %101 = call zeroext i1 @TransactionIdIsCurrentTransactionId(i32 noundef %100) #11 + br i1 %101, label %102, label %110 -105: ; preds = %.lr.ph - %106 = load ptr, ptr %15, align 8 - %107 = getelementptr %struct.MultiXactMember, ptr %106, i64 %indvars.iv, i32 1 +102: ; preds = %.lr.ph + %103 = load ptr, ptr %15, align 8 + %104 = getelementptr %struct.MultiXactMember, ptr %103, i64 %indvars.iv, i32 1 + %105 = load i32, ptr %104, align 4 + %106 = zext i32 %105 to i64 + %107 = getelementptr [6 x i32], ptr @MultiXactStatusLock, i64 0, i64 %106 %108 = load i32, ptr %107, align 4 - %109 = zext i32 %108 to i64 - %110 = getelementptr [6 x i32], ptr @MultiXactStatusLock, i64 0, i64 %109 - %111 = load i32, ptr %110, align 4 - %.not256 = icmp ult i32 %111, %3 - br i1 %.not256, label %113, label %112 - -112: ; preds = %105 - call void @pfree(ptr noundef nonnull %106) #11 + %.not256 = icmp ult i32 %108, %3 + br i1 %.not256, label %110, label %109 + +109: ; preds = %102 + call void @pfree(ptr noundef nonnull %103) #11 br label %.loopexit374 -113: ; preds = %105, %.lr.ph - %.3 = phi i1 [ %.2219423, %.lr.ph ], [ true, %105 ] +110: ; preds = %102, %.lr.ph + %.3 = phi i1 [ %.2219423, %.lr.ph ], [ true, %102 ] %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 !26 -._crit_edge: ; preds = %113, %93 - %.2219.lcssa = phi i1 [ %.0217, %93 ], [ %.3, %113 ] - %114 = load ptr, ptr %15, align 8 - %.not234 = icmp eq ptr %114, null - br i1 %.not234, label %128, label %115 +._crit_edge: ; preds = %110, %93 + %.2219.lcssa = phi i1 [ %.0217, %93 ], [ %.3, %110 ] + %111 = load ptr, ptr %15, align 8 + %.not234 = icmp eq ptr %111, null + br i1 %.not234, label %125, label %112 -115: ; preds = %._crit_edge - call void @pfree(ptr noundef nonnull %114) #11 - br label %128 +112: ; preds = %._crit_edge + call void @pfree(ptr noundef nonnull %111) #11 + br label %125 -116: ; preds = %90 - %117 = call zeroext i1 @TransactionIdIsCurrentTransactionId(i32 noundef %83) #11 - br i1 %117, label %118, label %128 +113: ; preds = %90 + %114 = call zeroext i1 @TransactionIdIsCurrentTransactionId(i32 noundef %83) #11 + br i1 %114, label %115, label %125 -118: ; preds = %116 - switch i32 %3, label %128 [ +115: ; preds = %113 + switch i32 %3, label %125 [ i32 0, label %.loopexit374 - i32 1, label %119 - i32 2, label %121 - i32 3, label %124 + i32 1, label %116 + i32 2, label %118 + i32 3, label %121 ] -119: ; preds = %118 - %120 = and i32 %91, 80 - switch i32 %120, label %.thread306 [ +116: ; preds = %115 + %117 = and i32 %91, 80 + switch i32 %117, label %.thread306 [ i32 80, label %.loopexit374 i32 64, label %.loopexit374 ] -121: ; preds = %118 - %122 = and i32 %91, 80 - %123 = icmp eq i32 %122, 64 - br i1 %123, label %.loopexit374, label %.thread311.thread +118: ; preds = %115 + %119 = and i32 %91, 80 + %120 = icmp eq i32 %119, 64 + br i1 %120, label %.loopexit374, label %.thread311.thread -124: ; preds = %118 - %125 = and i32 %91, 80 - %126 = icmp ne i32 %125, 64 - %127 = and i16 %87, 8192 - %.not233 = icmp eq i16 %127, 0 - %or.cond = select i1 %126, i1 true, i1 %.not233 +121: ; preds = %115 + %122 = and i32 %91, 80 + %123 = icmp ne i32 %122, 64 + %124 = and i16 %87, 8192 + %.not233 = icmp eq i16 %124, 0 + %or.cond = select i1 %123, i1 true, i1 %.not233 br i1 %or.cond, label %.thread, label %.loopexit374 -128: ; preds = %115, %._crit_edge, %118, %116, %80 - %.1218 = phi i1 [ %.2219.lcssa, %115 ], [ %.2219.lcssa, %._crit_edge ], [ %.0217, %118 ], [ %.0217, %116 ], [ %.0217, %80 ] +125: ; preds = %112, %._crit_edge, %115, %113, %80 + %.1218 = phi i1 [ %.2219.lcssa, %112 ], [ %.2219.lcssa, %._crit_edge ], [ %.0217, %115 ], [ %.0217, %113 ], [ %.0217, %80 ] switch i32 %3, label %.thread [ - i32 0, label %129 + i32 0, label %126 i32 1, label %..thread306_crit_edge i32 2, label %.thread311 ] -..thread306_crit_edge: ; preds = %128 +..thread306_crit_edge: ; preds = %125 %.pre470 = zext i16 %85 to i32 %.pre471 = and i32 %.pre470, 80 br label %.thread306 -129: ; preds = %128 - %130 = and i16 %87, 8192 - %.not238 = icmp eq i16 %130, 0 - br i1 %.not238, label %131, label %.thread +126: ; preds = %125 + %127 = and i16 %87, 8192 + %.not238 = icmp eq i16 %127, 0 + br i1 %.not238, label %128, label %.thread -131: ; preds = %129 - %132 = zext i16 %85 to i32 - %133 = and i32 %132, 128 - %134 = icmp ne i32 %133, 0 - %135 = and i32 %132, 4176 - %136 = icmp eq i32 %135, 64 - %.not241.not368 = or i1 %134, %136 +128: ; preds = %126 + %129 = zext i16 %85 to i32 + %130 = and i32 %129, 128 + %131 = icmp ne i32 %130, 0 + %132 = and i32 %129, 4176 + %133 = icmp eq i32 %132, 64 + %.not241.not368 = or i1 %131, %133 %brmerge = select i1 %.not257, i1 true, i1 %.not241.not368 - br i1 %brmerge, label %142, label %137 + br i1 %brmerge, label %139, label %134 -137: ; preds = %131 - %138 = call i32 @GetCurrentTransactionId() #11 - %139 = call fastcc i32 @heap_lock_updated_tuple(ptr noundef %0, ptr noundef nonnull %1, ptr noundef %14, i32 noundef %138, i32 noundef 0) - %.not242 = icmp eq i32 %139, 0 - br i1 %.not242, label %142, label %140 +134: ; preds = %128 + %135 = call i32 @GetCurrentTransactionId() #11 + %136 = call fastcc i32 @heap_lock_updated_tuple(ptr noundef %0, ptr noundef nonnull %1, ptr noundef %14, i32 noundef %135, i32 noundef 0) + %.not242 = icmp eq i32 %136, 0 + br i1 %.not242, label %139, label %137 -140: ; preds = %137 - %141 = load i32, ptr %6, align 4 - call void @LockBuffer(i32 noundef %141, i32 noundef 2) #11 +137: ; preds = %134 + %138 = load i32, ptr %6, align 4 + call void @LockBuffer(i32 noundef %138, i32 noundef 2) #11 br label %.critedge.thread -142: ; preds = %131, %137 - %143 = load i32, ptr %6, align 4 - call void @LockBuffer(i32 noundef %143, i32 noundef 2) #11 - %144 = load ptr, ptr %68, align 8 - %145 = call zeroext i1 @HeapTupleHeaderIsOnlyLocked(ptr noundef %144) #11 - br i1 %145, label %.critedge.thread349, label %146 +139: ; preds = %128, %134 + %140 = load i32, ptr %6, align 4 + call void @LockBuffer(i32 noundef %140, i32 noundef 2) #11 + %141 = load ptr, ptr %68, align 8 + %142 = call zeroext i1 @HeapTupleHeaderIsOnlyLocked(ptr noundef %141) #11 + br i1 %142, label %.critedge.thread349, label %143 -146: ; preds = %142 - %147 = load ptr, ptr %68, align 8 - %148 = getelementptr inbounds nuw i8, ptr %147, i64 18 - %149 = load i16, ptr %148, align 2 - %150 = and i16 %149, 8192 - %.not243 = icmp ne i16 %150, 0 +143: ; preds = %139 + %144 = load ptr, ptr %68, align 8 + %145 = getelementptr inbounds nuw i8, ptr %144, i64 18 + %146 = load i16, ptr %145, align 2 + %147 = and i16 %146, 8192 + %.not243 = icmp ne i16 %147, 0 %brmerge259 = select i1 %.not243, i1 true, i1 %.not241.not368 br i1 %brmerge259, label %.backedge.backedge, label %.critedge.thread349 -.thread306: ; preds = %..thread306_crit_edge, %119 - %.pre-phi472 = phi i32 [ %.pre471, %..thread306_crit_edge ], [ %120, %119 ] - %.pre-phi = phi i32 [ %.pre470, %..thread306_crit_edge ], [ %91, %119 ] - %.1218309 = phi i1 [ %.1218, %..thread306_crit_edge ], [ %.0217, %119 ] - %151 = and i32 %.pre-phi, 128 - %.not236 = icmp eq i32 %151, 0 - %152 = and i32 %.pre-phi, 4176 - %153 = icmp ne i32 %152, 64 - %or.cond261.not363 = and i1 %.not236, %153 - %154 = icmp eq i32 %.pre-phi472, 64 - %or.cond263 = or i1 %154, %or.cond261.not363 - br i1 %or.cond263, label %.thread, label %155 - -155: ; preds = %.thread306 - %156 = load i32, ptr %6, align 4 - call void @LockBuffer(i32 noundef %156, i32 noundef 2) #11 - %157 = load ptr, ptr %68, align 8 - %158 = getelementptr inbounds nuw i8, ptr %157, i64 20 - %159 = load i16, ptr %158, align 4 - %160 = zext i16 %159 to i32 - %161 = and i32 %160, 128 - %.not237 = icmp eq i32 %161, 0 - %162 = and i32 %160, 4176 - %163 = icmp ne i32 %162, 64 - %or.cond265.not365 = and i1 %.not237, %163 - %164 = and i16 %159, 80 - %165 = icmp eq i16 %164, 64 - %or.cond360 = or i1 %165, %or.cond265.not365 +.thread306: ; preds = %..thread306_crit_edge, %116 + %.pre-phi472 = phi i32 [ %.pre471, %..thread306_crit_edge ], [ %117, %116 ] + %.pre-phi = phi i32 [ %.pre470, %..thread306_crit_edge ], [ %91, %116 ] + %.1218309 = phi i1 [ %.1218, %..thread306_crit_edge ], [ %.0217, %116 ] + %148 = and i32 %.pre-phi, 128 + %.not236 = icmp eq i32 %148, 0 + %149 = and i32 %.pre-phi, 4176 + %150 = icmp ne i32 %149, 64 + %or.cond261.not363 = and i1 %.not236, %150 + %151 = icmp eq i32 %.pre-phi472, 64 + %or.cond263 = or i1 %151, %or.cond261.not363 + br i1 %or.cond263, label %.thread, label %152 + +152: ; preds = %.thread306 + %153 = load i32, ptr %6, align 4 + call void @LockBuffer(i32 noundef %153, i32 noundef 2) #11 + %154 = load ptr, ptr %68, align 8 + %155 = getelementptr inbounds nuw i8, ptr %154, i64 20 + %156 = load i16, ptr %155, align 4 + %157 = zext i16 %156 to i32 + %158 = and i32 %157, 128 + %.not237 = icmp eq i32 %158, 0 + %159 = and i32 %157, 4176 + %160 = icmp ne i32 %159, 64 + %or.cond265.not365 = and i1 %.not237, %160 + %161 = and i16 %156, 80 + %162 = icmp eq i16 %161, 64 + %or.cond360 = or i1 %162, %or.cond265.not365 br i1 %or.cond360, label %.backedge.backedge, label %.critedge.thread349 -.thread311: ; preds = %128 +.thread311: ; preds = %125 %.pre473 = zext i16 %85 to i32 %.pre475 = and i32 %.pre473, 4096 - %166 = icmp eq i32 %.pre475, 0 - br i1 %166, label %.thread311.thread, label %167 - -167: ; preds = %.thread311 - %168 = call fastcc zeroext i1 @DoesMultiXactIdConflict(i32 noundef %83, i16 noundef zeroext %85, i32 noundef 2, ptr noundef null) - br i1 %168, label %.thread, label %169 - -169: ; preds = %167 - %170 = load i32, ptr %6, align 4 - call void @LockBuffer(i32 noundef %170, i32 noundef 2) #11 - %171 = load ptr, ptr %68, align 8 - %172 = getelementptr inbounds nuw i8, ptr %171, i64 20 - %173 = load i16, ptr %172, align 4 - %174 = xor i16 %173, %85 - %175 = and i16 %174, 4304 - %.not.i.not = icmp eq i16 %175, 0 - br i1 %.not.i.not, label %176, label %.backedge.backedge - -176: ; preds = %169 - %177 = getelementptr inbounds nuw i8, ptr %171, i64 4 - %178 = load i32, ptr %177, align 4 - %179 = icmp eq i32 %178, %83 - br i1 %179, label %.critedge.thread349, label %.backedge.backedge - -.thread311.thread: ; preds = %121, %.thread311 - %.1218314481 = phi i1 [ %.1218, %.thread311 ], [ %.0217, %121 ] - %.pre-phi474480 = phi i32 [ %.pre473, %.thread311 ], [ %91, %121 ] - %180 = and i32 %.pre-phi474480, 80 - %181 = icmp eq i32 %180, 16 - br i1 %181, label %182, label %.thread - -182: ; preds = %.thread311.thread - %183 = load i32, ptr %6, align 4 - call void @LockBuffer(i32 noundef %183, i32 noundef 2) #11 - %184 = load ptr, ptr %68, align 8 - %185 = getelementptr inbounds nuw i8, ptr %184, i64 20 - %186 = load i16, ptr %185, align 4 - %187 = xor i16 %186, %85 - %188 = and i16 %187, 4304 - %.not.i291.not = icmp eq i16 %188, 0 - br i1 %.not.i291.not, label %189, label %.backedge.backedge + %163 = icmp eq i32 %.pre475, 0 + br i1 %163, label %.thread311.thread, label %164 -189: ; preds = %182 - %190 = getelementptr inbounds nuw i8, ptr %184, i64 4 - %191 = load i32, ptr %190, align 4 - %192 = icmp eq i32 %191, %83 - br i1 %192, label %.critedge.thread349, label %.backedge.backedge - -.thread: ; preds = %124, %128, %.thread306, %167, %.thread311.thread, %129 - %.1218304 = phi i1 [ %.1218, %129 ], [ %.1218, %167 ], [ %.1218314481, %.thread311.thread ], [ %.1218309, %.thread306 ], [ %.1218, %128 ], [ %.0217, %124 ] - %193 = and i16 %85, 4096 - %.not244 = icmp eq i16 %193, 0 - br i1 %.not244, label %194, label %207 - -194: ; preds = %.thread - %195 = call zeroext i1 @TransactionIdIsCurrentTransactionId(i32 noundef %83) #11 - br i1 %195, label %196, label %207 - -196: ; preds = %194 - %197 = load i32, ptr %6, align 4 - call void @LockBuffer(i32 noundef %197, i32 noundef 2) #11 - %198 = load ptr, ptr %68, align 8 - %199 = getelementptr inbounds nuw i8, ptr %198, i64 20 - %200 = load i16, ptr %199, align 4 - %201 = xor i16 %200, %85 - %202 = and i16 %201, 4304 - %.not.i292.not = icmp eq i16 %202, 0 - br i1 %.not.i292.not, label %203, label %.backedge.backedge +164: ; preds = %.thread311 + %165 = call fastcc zeroext i1 @DoesMultiXactIdConflict(i32 noundef %83, i16 noundef zeroext %85, i32 noundef 2, ptr noundef null) + br i1 %165, label %.thread, label %166 -.backedge.backedge: ; preds = %196, %203, %182, %189, %169, %176, %146, %155 - %.0217.be = phi i1 [ %.1218, %146 ], [ %.1218309, %155 ], [ %.1218, %176 ], [ %.1218, %169 ], [ %.1218314481, %189 ], [ %.1218314481, %182 ], [ %.1218304, %203 ], [ %.1218304, %196 ] +166: ; preds = %164 + %167 = load i32, ptr %6, align 4 + call void @LockBuffer(i32 noundef %167, i32 noundef 2) #11 + %168 = load ptr, ptr %68, align 8 + %169 = getelementptr inbounds nuw i8, ptr %168, i64 20 + %170 = load i16, ptr %169, align 4 + %171 = xor i16 %170, %85 + %172 = and i16 %171, 4304 + %.not.i.not = icmp eq i16 %172, 0 + br i1 %.not.i.not, label %173, label %.backedge.backedge + +173: ; preds = %166 + %174 = getelementptr inbounds nuw i8, ptr %168, i64 4 + %175 = load i32, ptr %174, align 4 + %176 = icmp eq i32 %175, %83 + br i1 %176, label %.critedge.thread349, label %.backedge.backedge + +.thread311.thread: ; preds = %118, %.thread311 + %.1218314481 = phi i1 [ %.1218, %.thread311 ], [ %.0217, %118 ] + %.pre-phi474480 = phi i32 [ %.pre473, %.thread311 ], [ %91, %118 ] + %177 = and i32 %.pre-phi474480, 80 + %178 = icmp eq i32 %177, 16 + br i1 %178, label %179, label %.thread + +179: ; preds = %.thread311.thread + %180 = load i32, ptr %6, align 4 + call void @LockBuffer(i32 noundef %180, i32 noundef 2) #11 + %181 = load ptr, ptr %68, align 8 + %182 = getelementptr inbounds nuw i8, ptr %181, i64 20 + %183 = load i16, ptr %182, align 4 + %184 = xor i16 %183, %85 + %185 = and i16 %184, 4304 + %.not.i291.not = icmp eq i16 %185, 0 + br i1 %.not.i291.not, label %186, label %.backedge.backedge + +186: ; preds = %179 + %187 = getelementptr inbounds nuw i8, ptr %181, i64 4 + %188 = load i32, ptr %187, align 4 + %189 = icmp eq i32 %188, %83 + br i1 %189, label %.critedge.thread349, label %.backedge.backedge + +.thread: ; preds = %121, %125, %.thread306, %164, %.thread311.thread, %126 + %.1218304 = phi i1 [ %.1218, %126 ], [ %.1218, %164 ], [ %.1218314481, %.thread311.thread ], [ %.1218309, %.thread306 ], [ %.1218, %125 ], [ %.0217, %121 ] + %190 = and i16 %85, 4096 + %.not244 = icmp eq i16 %190, 0 + br i1 %.not244, label %191, label %204 + +191: ; preds = %.thread + %192 = call zeroext i1 @TransactionIdIsCurrentTransactionId(i32 noundef %83) #11 + br i1 %192, label %193, label %204 + +193: ; preds = %191 + %194 = load i32, ptr %6, align 4 + call void @LockBuffer(i32 noundef %194, i32 noundef 2) #11 + %195 = load ptr, ptr %68, align 8 + %196 = getelementptr inbounds nuw i8, ptr %195, i64 20 + %197 = load i16, ptr %196, align 4 + %198 = xor i16 %197, %85 + %199 = and i16 %198, 4304 + %.not.i292.not = icmp eq i16 %199, 0 + br i1 %.not.i292.not, label %200, label %.backedge.backedge + +.backedge.backedge: ; preds = %193, %200, %179, %186, %166, %173, %143, %152 + %.0217.be = phi i1 [ %.1218, %143 ], [ %.1218309, %152 ], [ %.1218, %173 ], [ %.1218, %166 ], [ %.1218314481, %186 ], [ %.1218314481, %179 ], [ %.1218304, %200 ], [ %.1218304, %193 ] br label %.backedge -203: ; preds = %196 - %204 = getelementptr inbounds nuw i8, ptr %198, i64 4 - %205 = load i32, ptr %204, align 4 - %206 = icmp eq i32 %205, %83 - br i1 %206, label %.critedge.thread349, label %.backedge.backedge +200: ; preds = %193 + %201 = getelementptr inbounds nuw i8, ptr %195, i64 4 + %202 = load i32, ptr %201, align 4 + %203 = icmp eq i32 %202, %83 + br i1 %203, label %.critedge.thread349, label %.backedge.backedge -207: ; preds = %194, %.thread - %208 = add nsw i32 %79, -3 - %or.cond5 = icmp ult i32 %208, 2 - br i1 %or.cond5, label %209, label %211 +204: ; preds = %191, %.thread + %205 = add nsw i32 %79, -3 + %or.cond5 = icmp ult i32 %205, 2 + br i1 %or.cond5, label %206, label %208 -209: ; preds = %207 - %210 = load i32, ptr %6, align 4 - call void @LockBuffer(i32 noundef %210, i32 noundef 2) #11 +206: ; preds = %204 + %207 = load i32, ptr %6, align 4 + call void @LockBuffer(i32 noundef %207, i32 noundef 2) #11 br label %.critedge.thread -211: ; preds = %207 - br i1 %.1218304, label %heap_acquire_tuplock.exit.thread, label %212 +208: ; preds = %204 + br i1 %.1218304, label %heap_acquire_tuplock.exit.thread, label %209 -212: ; preds = %211 - %213 = trunc i8 %.0297.ph to i1 - br i1 %213, label %heap_acquire_tuplock.exit.thread, label %214 +209: ; preds = %208 + %210 = trunc i8 %.0297.ph to i1 + br i1 %210, label %heap_acquire_tuplock.exit.thread, label %211 -214: ; preds = %212 +211: ; preds = %209 switch i32 %4, label %heap_acquire_tuplock.exit.thread [ - i32 0, label %215 - i32 1, label %217 - i32 2, label %220 + i32 0, label %212 + i32 1, label %214 + i32 2, label %217 ] -215: ; preds = %214 - %216 = load i32, ptr %75, align 4 - call void @LockTuple(ptr noundef %0, ptr noundef nonnull %17, i32 noundef %216) #11 +212: ; preds = %211 + %213 = load i32, ptr %75, align 4 + call void @LockTuple(ptr noundef %0, ptr noundef nonnull %17, i32 noundef %213) #11 br label %heap_acquire_tuplock.exit.thread -217: ; preds = %214 +214: ; preds = %211 + %215 = load i32, ptr %75, align 4 + %216 = call zeroext i1 @ConditionalLockTuple(ptr noundef %0, ptr noundef nonnull %17, i32 noundef %215) #11 + br i1 %216, label %heap_acquire_tuplock.exit.thread, label %heap_acquire_tuplock.exit + +217: ; preds = %211 %218 = load i32, ptr %75, align 4 %219 = call zeroext i1 @ConditionalLockTuple(ptr noundef %0, ptr noundef nonnull %17, i32 noundef %218) #11 - br i1 %219, label %heap_acquire_tuplock.exit.thread, label %heap_acquire_tuplock.exit - -220: ; preds = %214 - %221 = load i32, ptr %75, align 4 - %222 = call zeroext i1 @ConditionalLockTuple(ptr noundef %0, ptr noundef nonnull %17, i32 noundef %221) #11 - br i1 %222, label %heap_acquire_tuplock.exit.thread, label %223 - -223: ; preds = %220 - %224 = call zeroext i1 @errstart_cold(i32 noundef 21, ptr noundef null) #12 - call void @llvm.assume(i1 %224) - %225 = call i32 @errcode(i32 noundef 50463045) #11 - %226 = getelementptr inbounds nuw i8, ptr %0, i64 56 - %227 = load ptr, ptr %226, align 8 - %228 = getelementptr inbounds nuw i8, ptr %227, i64 4 - %229 = call i32 (ptr, ...) @errmsg(ptr noundef nonnull @.str.13, ptr noundef nonnull %228) #11 + br i1 %219, label %heap_acquire_tuplock.exit.thread, label %220 + +220: ; preds = %217 + %221 = call zeroext i1 @errstart_cold(i32 noundef 21, ptr noundef null) #12 + call void @llvm.assume(i1 %221) + %222 = call i32 @errcode(i32 noundef 50463045) #11 + %223 = getelementptr inbounds nuw i8, ptr %0, i64 56 + %224 = load ptr, ptr %223, align 8 + %225 = getelementptr inbounds nuw i8, ptr %224, i64 4 + %226 = call i32 (ptr, ...) @errmsg(ptr noundef nonnull @.str.13, ptr noundef nonnull %225) #11 call void @errfinish(ptr noundef nonnull @.str.1, i32 noundef 4864, ptr noundef nonnull @__func__.heap_acquire_tuplock) #11 unreachable -heap_acquire_tuplock.exit: ; preds = %217 - %230 = load i32, ptr %6, align 4 - call void @LockBuffer(i32 noundef %230, i32 noundef 2) #11 +heap_acquire_tuplock.exit: ; preds = %214 + %227 = load i32, ptr %6, align 4 + call void @LockBuffer(i32 noundef %227, i32 noundef 2) #11 br label %.critedge.thread -heap_acquire_tuplock.exit.thread: ; preds = %214, %215, %217, %220, %212, %211 - %.4301 = phi i8 [ %.0297.ph, %211 ], [ %.0297.ph, %212 ], [ 1, %220 ], [ 1, %217 ], [ 1, %215 ], [ 1, %214 ] - %231 = zext i16 %85 to i32 - %232 = and i32 %231, 4096 - %.not245 = icmp eq i32 %232, 0 - br i1 %.not245, label %248, label %get_mxact_status_for_lock.exit +heap_acquire_tuplock.exit.thread: ; preds = %211, %212, %214, %217, %209, %208 + %.4301 = phi i8 [ %.0297.ph, %208 ], [ %.0297.ph, %209 ], [ 1, %217 ], [ 1, %214 ], [ 1, %212 ], [ 1, %211 ] + %228 = zext i16 %85 to i32 + %229 = and i32 %228, 4096 + %.not245 = icmp eq i32 %229, 0 + br i1 %.not245, label %245, label %get_mxact_status_for_lock.exit get_mxact_status_for_lock.exit: ; preds = %heap_acquire_tuplock.exit.thread %.0.i293 = load i32, ptr %76, align 4 - switch i32 %4, label %263 [ - i32 0, label %233 - i32 1, label %235 - i32 2, label %239 + switch i32 %4, label %260 [ + i32 0, label %230 + i32 1, label %232 + i32 2, label %236 ] -233: ; preds = %get_mxact_status_for_lock.exit - %234 = call fastcc zeroext i1 @Do_MultiXactIdWait(i32 noundef %83, i32 noundef range(i32 0, 6) %.0.i293, i16 noundef zeroext %85, i1 noundef zeroext false, ptr noundef %0, ptr noundef nonnull %17, i32 noundef 3, ptr noundef null) - br label %263 +230: ; preds = %get_mxact_status_for_lock.exit + %231 = call fastcc zeroext i1 @Do_MultiXactIdWait(i32 noundef %83, i32 noundef range(i32 0, 6) %.0.i293, i16 noundef zeroext %85, i1 noundef zeroext false, ptr noundef %0, ptr noundef nonnull %17, i32 noundef 3, ptr noundef null) + br label %260 -235: ; preds = %get_mxact_status_for_lock.exit - %236 = call fastcc noundef zeroext i1 @Do_MultiXactIdWait(i32 noundef %83, i32 noundef range(i32 0, 4) %.0.i293, i16 noundef zeroext %85, i1 noundef zeroext true, ptr noundef %0, ptr noundef null, i32 noundef 0, ptr noundef null) - br i1 %236, label %263, label %237 +232: ; preds = %get_mxact_status_for_lock.exit + %233 = call fastcc noundef zeroext i1 @Do_MultiXactIdWait(i32 noundef %83, i32 noundef range(i32 0, 4) %.0.i293, i16 noundef zeroext %85, i1 noundef zeroext true, ptr noundef %0, ptr noundef null, i32 noundef 0, ptr noundef null) + br i1 %233, label %260, label %234 -237: ; preds = %235 - %238 = load i32, ptr %6, align 4 - call void @LockBuffer(i32 noundef %238, i32 noundef 2) #11 +234: ; preds = %232 + %235 = load i32, ptr %6, align 4 + call void @LockBuffer(i32 noundef %235, i32 noundef 2) #11 br label %.critedge.thread -239: ; preds = %get_mxact_status_for_lock.exit - %240 = call fastcc noundef zeroext i1 @Do_MultiXactIdWait(i32 noundef %83, i32 noundef range(i32 0, 4) %.0.i293, i16 noundef zeroext %85, i1 noundef zeroext true, ptr noundef %0, ptr noundef null, i32 noundef 0, ptr noundef null) - br i1 %240, label %263, label %241 - -241: ; preds = %239 - %242 = call zeroext i1 @errstart_cold(i32 noundef 21, ptr noundef null) #12 - call void @llvm.assume(i1 %242) - %243 = call i32 @errcode(i32 noundef 50463045) #11 - %244 = getelementptr inbounds nuw i8, ptr %0, i64 56 - %245 = load ptr, ptr %244, align 8 - %246 = getelementptr inbounds nuw i8, ptr %245, i64 4 - %247 = call i32 (ptr, ...) @errmsg(ptr noundef nonnull @.str.13, ptr noundef nonnull %246) #11 +236: ; preds = %get_mxact_status_for_lock.exit + %237 = call fastcc noundef zeroext i1 @Do_MultiXactIdWait(i32 noundef %83, i32 noundef range(i32 0, 4) %.0.i293, i16 noundef zeroext %85, i1 noundef zeroext true, ptr noundef %0, ptr noundef null, i32 noundef 0, ptr noundef null) + br i1 %237, label %260, label %238 + +238: ; preds = %236 + %239 = call zeroext i1 @errstart_cold(i32 noundef 21, ptr noundef null) #12 + call void @llvm.assume(i1 %239) + %240 = call i32 @errcode(i32 noundef 50463045) #11 + %241 = getelementptr inbounds nuw i8, ptr %0, i64 56 + %242 = load ptr, ptr %241, align 8 + %243 = getelementptr inbounds nuw i8, ptr %242, i64 4 + %244 = call i32 (ptr, ...) @errmsg(ptr noundef nonnull @.str.13, ptr noundef nonnull %243) #11 call void @errfinish(ptr noundef nonnull @.str.1, i32 noundef 4561, ptr noundef nonnull @__func__.heap_lock_tuple) #11 unreachable -248: ; preds = %heap_acquire_tuplock.exit.thread - switch i32 %4, label %263 [ - i32 0, label %249 - i32 1, label %250 - i32 2, label %254 +245: ; preds = %heap_acquire_tuplock.exit.thread + switch i32 %4, label %260 [ + i32 0, label %246 + i32 1, label %247 + i32 2, label %251 ] -249: ; preds = %248 +246: ; preds = %245 call void @XactLockTableWait(i32 noundef %83, ptr noundef %0, ptr noundef nonnull %17, i32 noundef 3) #11 - br label %263 + br label %260 -250: ; preds = %248 - %251 = call zeroext i1 @ConditionalXactLockTableWait(i32 noundef %83) #11 - br i1 %251, label %263, label %252 +247: ; preds = %245 + %248 = call zeroext i1 @ConditionalXactLockTableWait(i32 noundef %83) #11 + br i1 %248, label %260, label %249 -252: ; preds = %250 - %253 = load i32, ptr %6, align 4 - call void @LockBuffer(i32 noundef %253, i32 noundef 2) #11 +249: ; preds = %247 + %250 = load i32, ptr %6, align 4 + call void @LockBuffer(i32 noundef %250, i32 noundef 2) #11 br label %.critedge.thread -254: ; preds = %248 - %255 = call zeroext i1 @ConditionalXactLockTableWait(i32 noundef %83) #11 - br i1 %255, label %263, label %256 - -256: ; preds = %254 - %257 = call zeroext i1 @errstart_cold(i32 noundef 21, ptr noundef null) #12 - call void @llvm.assume(i1 %257) - %258 = call i32 @errcode(i32 noundef 50463045) #11 - %259 = getelementptr inbounds nuw i8, ptr %0, i64 56 - %260 = load ptr, ptr %259, align 8 - %261 = getelementptr inbounds nuw i8, ptr %260, i64 4 - %262 = call i32 (ptr, ...) @errmsg(ptr noundef nonnull @.str.13, ptr noundef nonnull %261) #11 +251: ; preds = %245 + %252 = call zeroext i1 @ConditionalXactLockTableWait(i32 noundef %83) #11 + br i1 %252, label %260, label %253 + +253: ; preds = %251 + %254 = call zeroext i1 @errstart_cold(i32 noundef 21, ptr noundef null) #12 + call void @llvm.assume(i1 %254) + %255 = call i32 @errcode(i32 noundef 50463045) #11 + %256 = getelementptr inbounds nuw i8, ptr %0, i64 56 + %257 = load ptr, ptr %256, align 8 + %258 = getelementptr inbounds nuw i8, ptr %257, i64 4 + %259 = call i32 (ptr, ...) @errmsg(ptr noundef nonnull @.str.13, ptr noundef nonnull %258) #11 call void @errfinish(ptr noundef nonnull @.str.1, i32 noundef 4599, ptr noundef nonnull @__func__.heap_lock_tuple) #11 unreachable -263: ; preds = %248, %249, %250, %254, %get_mxact_status_for_lock.exit, %233, %235, %239 - %264 = and i32 %231, 128 - %.not246 = icmp eq i32 %264, 0 - %265 = and i32 %231, 4176 - %266 = icmp ne i32 %265, 64 - %267 = and i1 %.not246, %266 - %or.cond270.not = and i1 %5, %267 - br i1 %or.cond270.not, label %268, label %273 - -268: ; preds = %263 - %269 = call i32 @GetCurrentTransactionId() #11 - %270 = call fastcc i32 @heap_lock_updated_tuple(ptr noundef %0, ptr noundef nonnull %1, ptr noundef %14, i32 noundef %269, i32 noundef %3) - %.not247 = icmp eq i32 %270, 0 - br i1 %.not247, label %273, label %271 - -271: ; preds = %268 - %272 = load i32, ptr %6, align 4 - call void @LockBuffer(i32 noundef %272, i32 noundef 2) #11 +260: ; preds = %245, %246, %247, %251, %get_mxact_status_for_lock.exit, %230, %232, %236 + %261 = and i32 %228, 128 + %.not246 = icmp eq i32 %261, 0 + %262 = and i32 %228, 4176 + %263 = icmp ne i32 %262, 64 + %264 = and i1 %.not246, %263 + %or.cond270.not = and i1 %5, %264 + br i1 %or.cond270.not, label %265, label %270 + +265: ; preds = %260 + %266 = call i32 @GetCurrentTransactionId() #11 + %267 = call fastcc i32 @heap_lock_updated_tuple(ptr noundef %0, ptr noundef nonnull %1, ptr noundef %14, i32 noundef %266, i32 noundef %3) + %.not247 = icmp eq i32 %267, 0 + br i1 %.not247, label %270, label %268 + +268: ; preds = %265 + %269 = load i32, ptr %6, align 4 + call void @LockBuffer(i32 noundef %269, i32 noundef 2) #11 br label %.critedge.thread -273: ; preds = %268, %263 - %274 = load i32, ptr %6, align 4 - call void @LockBuffer(i32 noundef %274, i32 noundef 2) #11 - %275 = load ptr, ptr %68, align 8 - %276 = getelementptr inbounds nuw i8, ptr %275, i64 20 - %277 = load i16, ptr %276, align 4 - %278 = xor i16 %277, %85 - %279 = and i16 %278, 4304 - %.not.i294.not = icmp eq i16 %279, 0 - br i1 %.not.i294.not, label %280, label %.outer.backedge - -.outer.backedge: ; preds = %273, %280, %344 - %.0297.ph.be = phi i8 [ %.3300355, %344 ], [ %.4301, %280 ], [ %.4301, %273 ] - %.0217.ph.be = phi i1 [ %.4356, %344 ], [ %.1218304, %280 ], [ %.1218304, %273 ] - %.0214.ph.be = phi i1 [ %.2216357, %344 ], [ false, %280 ], [ false, %273 ] +270: ; preds = %265, %260 + %271 = load i32, ptr %6, align 4 + call void @LockBuffer(i32 noundef %271, i32 noundef 2) #11 + %272 = load ptr, ptr %68, align 8 + %273 = getelementptr inbounds nuw i8, ptr %272, i64 20 + %274 = load i16, ptr %273, align 4 + %275 = xor i16 %274, %85 + %276 = and i16 %275, 4304 + %.not.i294.not = icmp eq i16 %276, 0 + br i1 %.not.i294.not, label %277, label %.outer.backedge + +.outer.backedge: ; preds = %270, %277, %341 + %.0297.ph.be = phi i8 [ %.3300355, %341 ], [ %.4301, %277 ], [ %.4301, %270 ] + %.0217.ph.be = phi i1 [ %.4356, %341 ], [ %.1218304, %277 ], [ %.1218304, %270 ] + %.0214.ph.be = phi i1 [ %.2216357, %341 ], [ false, %277 ], [ false, %270 ] br label %.outer -280: ; preds = %273 - %281 = getelementptr inbounds nuw i8, ptr %275, i64 4 - %282 = load i32, ptr %281, align 4 - %283 = icmp eq i32 %282, %83 - br i1 %283, label %284, label %.outer.backedge - -284: ; preds = %280 - br i1 %.not245, label %285, label %UpdateXmaxHintBits.exit - -285: ; preds = %284 - %286 = load i32, ptr %6, align 4 - %287 = zext i16 %277 to i32 - %288 = and i32 %287, 3072 - %.not.i295 = icmp eq i32 %288, 0 - br i1 %.not.i295, label %289, label %UpdateXmaxHintBits.exit - -289: ; preds = %285 - %290 = and i32 %287, 128 - %.not8.i = icmp ne i32 %290, 0 - %291 = and i32 %287, 4176 - %292 = icmp eq i32 %291, 64 - %or.cond.i = or i1 %.not8.i, %292 - br i1 %or.cond.i, label %296, label %293 - -293: ; preds = %289 - %294 = call zeroext i1 @TransactionIdDidCommit(i32 noundef %83) #11 - br i1 %294, label %295, label %296 - -295: ; preds = %293 - call void @HeapTupleSetHintBits(ptr noundef nonnull %275, i32 noundef %286, i16 noundef zeroext 1024, i32 noundef %83) #11 +277: ; preds = %270 + %278 = getelementptr inbounds nuw i8, ptr %272, i64 4 + %279 = load i32, ptr %278, align 4 + %280 = icmp eq i32 %279, %83 + br i1 %280, label %281, label %.outer.backedge + +281: ; preds = %277 + br i1 %.not245, label %282, label %UpdateXmaxHintBits.exit + +282: ; preds = %281 + %283 = load i32, ptr %6, align 4 + %284 = zext i16 %274 to i32 + %285 = and i32 %284, 3072 + %.not.i295 = icmp eq i32 %285, 0 + br i1 %.not.i295, label %286, label %UpdateXmaxHintBits.exit + +286: ; preds = %282 + %287 = and i32 %284, 128 + %.not8.i = icmp ne i32 %287, 0 + %288 = and i32 %284, 4176 + %289 = icmp eq i32 %288, 64 + %or.cond.i = or i1 %.not8.i, %289 + br i1 %or.cond.i, label %293, label %290 + +290: ; preds = %286 + %291 = call zeroext i1 @TransactionIdDidCommit(i32 noundef %83) #11 + br i1 %291, label %292, label %293 + +292: ; preds = %290 + call void @HeapTupleSetHintBits(ptr noundef nonnull %272, i32 noundef %283, i16 noundef zeroext 1024, i32 noundef %83) #11 br label %UpdateXmaxHintBits.exit -296: ; preds = %293, %289 - call void @HeapTupleSetHintBits(ptr noundef nonnull %275, i32 noundef %286, i16 noundef zeroext 2048, i32 noundef 0) #11 +293: ; preds = %290, %286 + call void @HeapTupleSetHintBits(ptr noundef nonnull %272, i32 noundef %283, i16 noundef zeroext 2048, i32 noundef 0) #11 br label %UpdateXmaxHintBits.exit -UpdateXmaxHintBits.exit: ; preds = %284, %285, %295, %296 - %297 = load ptr, ptr %68, align 8 - %298 = getelementptr inbounds nuw i8, ptr %297, i64 20 - %299 = load i16, ptr %298, align 4 - %300 = zext i16 %299 to i32 - %301 = and i32 %300, 2176 - %or.cond271 = icmp ne i32 %301, 0 - %302 = and i32 %300, 4176 - %303 = icmp eq i32 %302, 64 - %or.cond273 = or i1 %or.cond271, %303 - br i1 %or.cond273, label %.critedge.thread349, label %304 - -304: ; preds = %UpdateXmaxHintBits.exit - %305 = call zeroext i1 @HeapTupleHeaderIsOnlyLocked(ptr noundef nonnull %297) #11 - br i1 %305, label %.critedge.thread349, label %306 - -306: ; preds = %304 - %307 = load ptr, ptr %68, align 8 - %308 = getelementptr inbounds nuw i8, ptr %307, i64 12 - %309 = call zeroext i1 @ItemPointerEquals(ptr noundef nonnull %17, ptr noundef nonnull %308) #11 - %. = select i1 %309, i32 4, i32 3 +UpdateXmaxHintBits.exit: ; preds = %281, %282, %292, %293 + %294 = load ptr, ptr %68, align 8 + %295 = getelementptr inbounds nuw i8, ptr %294, i64 20 + %296 = load i16, ptr %295, align 4 + %297 = zext i16 %296 to i32 + %298 = and i32 %297, 2176 + %or.cond271 = icmp ne i32 %298, 0 + %299 = and i32 %297, 4176 + %300 = icmp eq i32 %299, 64 + %or.cond273 = or i1 %or.cond271, %300 + br i1 %or.cond273, label %.critedge.thread349, label %301 + +301: ; preds = %UpdateXmaxHintBits.exit + %302 = call zeroext i1 @HeapTupleHeaderIsOnlyLocked(ptr noundef nonnull %294) #11 + br i1 %302, label %.critedge.thread349, label %303 + +303: ; preds = %301 + %304 = load ptr, ptr %68, align 8 + %305 = getelementptr inbounds nuw i8, ptr %304, i64 12 + %306 = call zeroext i1 @ItemPointerEquals(ptr noundef nonnull %17, ptr noundef nonnull %305) #11 + %. = select i1 %306, i32 4, i32 3 br label %.critedge.thread -.critedge.thread: ; preds = %.backedge, %306, %140, %heap_acquire_tuplock.exit, %252, %237, %271, %209 - %.2346 = phi i32 [ %., %306 ], [ %139, %140 ], [ 6, %heap_acquire_tuplock.exit ], [ 6, %252 ], [ 6, %237 ], [ %270, %271 ], [ %79, %209 ], [ %79, %.backedge ] - %.3300345 = phi i8 [ %.4301, %306 ], [ %.0297.ph, %140 ], [ %.0297.ph, %heap_acquire_tuplock.exit ], [ %.4301, %252 ], [ %.4301, %237 ], [ %.4301, %271 ], [ %.0297.ph, %209 ], [ %.0297.ph, %.backedge ] - %310 = load ptr, ptr %68, align 8 - %311 = getelementptr inbounds nuw i8, ptr %310, i64 12 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(6) %7, ptr noundef nonnull align 4 dereferenceable(6) %311, i64 6, i1 false) - %312 = load ptr, ptr %68, align 8 - %313 = getelementptr inbounds nuw i8, ptr %312, i64 20 - %314 = load i16, ptr %313, align 4 - %315 = and i16 %314, 6272 - %or.cond275 = icmp eq i16 %315, 4096 - %316 = getelementptr inbounds nuw i8, ptr %312, i64 4 - %317 = load i32, ptr %316, align 4 - br i1 %or.cond275, label %318, label %330 - -318: ; preds = %.critedge.thread +.critedge.thread: ; preds = %.backedge, %303, %137, %heap_acquire_tuplock.exit, %249, %234, %268, %206 + %.2346 = phi i32 [ %., %303 ], [ %136, %137 ], [ 6, %heap_acquire_tuplock.exit ], [ 6, %249 ], [ 6, %234 ], [ %267, %268 ], [ %79, %206 ], [ %79, %.backedge ] + %.3300345 = phi i8 [ %.4301, %303 ], [ %.0297.ph, %137 ], [ %.0297.ph, %heap_acquire_tuplock.exit ], [ %.4301, %249 ], [ %.4301, %234 ], [ %.4301, %268 ], [ %.0297.ph, %206 ], [ %.0297.ph, %.backedge ] + %307 = load ptr, ptr %68, align 8 + %308 = getelementptr inbounds nuw i8, ptr %307, i64 12 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(6) %7, ptr noundef nonnull align 4 dereferenceable(6) %308, i64 6, i1 false) + %309 = load ptr, ptr %68, align 8 + %310 = getelementptr inbounds nuw i8, ptr %309, i64 20 + %311 = load i16, ptr %310, align 4 + %312 = and i16 %311, 6272 + %or.cond275 = icmp eq i16 %312, 4096 + %313 = getelementptr inbounds nuw i8, ptr %309, i64 4 + %314 = load i32, ptr %313, align 4 + br i1 %or.cond275, label %315, label %327 + +315: ; preds = %.critedge.thread call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %9) - %319 = call i32 @GetMultiXactIdMembers(i32 noundef %317, ptr noundef nonnull %9, i1 noundef zeroext false, i1 noundef zeroext false) #11 - %320 = icmp sgt i32 %319, 0 - br i1 %320, label %.preheader.i.i, label %HeapTupleGetUpdateXid.exit + %316 = call i32 @GetMultiXactIdMembers(i32 noundef %314, ptr noundef nonnull %9, i1 noundef zeroext false, i1 noundef zeroext false) #11 + %317 = icmp sgt i32 %316, 0 + br i1 %317, label %.preheader.i.i, label %HeapTupleGetUpdateXid.exit -.preheader.i.i: ; preds = %318 - %321 = load ptr, ptr %9, align 8 - %wide.trip.count.i.i = zext nneg i32 %319 to i64 - br label %323 +.preheader.i.i: ; preds = %315 + %318 = load ptr, ptr %9, align 8 + %wide.trip.count.i.i = zext nneg i32 %316 to i64 + br label %320 -322: ; preds = %323 +319: ; preds = %320 %indvars.iv.next.i.i = add nuw nsw i64 %indvars.iv.i.i, 1 %exitcond.not.i.i = icmp eq i64 %indvars.iv.next.i.i, %wide.trip.count.i.i - br i1 %exitcond.not.i.i, label %.loopexit.i.i, label %323, !llvm.loop !7 - -323: ; preds = %322, %.preheader.i.i - %indvars.iv.i.i = phi i64 [ 0, %.preheader.i.i ], [ %indvars.iv.next.i.i, %322 ] - %324 = getelementptr %struct.MultiXactMember, ptr %321, i64 %indvars.iv.i.i - %325 = getelementptr inbounds nuw i8, ptr %324, i64 4 - %326 = load i32, ptr %325, align 4 - %327 = icmp ugt i32 %326, 3 - br i1 %327, label %328, label %322 - -328: ; preds = %323 - %329 = load i32, ptr %324, align 4 + br i1 %exitcond.not.i.i, label %.loopexit.i.i, label %320, !llvm.loop !7 + +320: ; preds = %319, %.preheader.i.i + %indvars.iv.i.i = phi i64 [ 0, %.preheader.i.i ], [ %indvars.iv.next.i.i, %319 ] + %321 = getelementptr %struct.MultiXactMember, ptr %318, i64 %indvars.iv.i.i + %322 = getelementptr inbounds nuw i8, ptr %321, i64 4 + %323 = load i32, ptr %322, align 4 + %324 = icmp ugt i32 %323, 3 + br i1 %324, label %325, label %319 + +325: ; preds = %320 + %326 = load i32, ptr %321, align 4 br label %.loopexit.i.i -.loopexit.i.i: ; preds = %322, %328 - %.1.i.i = phi i32 [ %329, %328 ], [ 0, %322 ] - call void @pfree(ptr noundef nonnull %321) #11 +.loopexit.i.i: ; preds = %319, %325 + %.1.i.i = phi i32 [ %326, %325 ], [ 0, %319 ] + call void @pfree(ptr noundef nonnull %318) #11 br label %HeapTupleGetUpdateXid.exit -HeapTupleGetUpdateXid.exit: ; preds = %318, %.loopexit.i.i - %.08.i.i = phi i32 [ %.1.i.i, %.loopexit.i.i ], [ 0, %318 ] +HeapTupleGetUpdateXid.exit: ; preds = %315, %.loopexit.i.i + %.08.i.i = phi i32 [ %.1.i.i, %.loopexit.i.i ], [ 0, %315 ] call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %9) - br label %330 - -330: ; preds = %.critedge.thread, %HeapTupleGetUpdateXid.exit - %331 = phi i32 [ %.08.i.i, %HeapTupleGetUpdateXid.exit ], [ %317, %.critedge.thread ] - %332 = getelementptr inbounds nuw i8, ptr %7, i64 8 - store i32 %331, ptr %332, align 4 - %333 = icmp eq i32 %.2346, 2 - br i1 %333, label %334, label %338 - -334: ; preds = %330 - %335 = load ptr, ptr %68, align 8 - %336 = call i32 @HeapTupleHeaderGetCmax(ptr noundef %335) #11 - %337 = getelementptr inbounds nuw i8, ptr %7, i64 12 - store i32 %336, ptr %337, align 4 + br label %327 + +327: ; preds = %.critedge.thread, %HeapTupleGetUpdateXid.exit + %328 = phi i32 [ %.08.i.i, %HeapTupleGetUpdateXid.exit ], [ %314, %.critedge.thread ] + %329 = getelementptr inbounds nuw i8, ptr %7, i64 8 + store i32 %328, ptr %329, align 4 + %330 = icmp eq i32 %.2346, 2 + br i1 %330, label %331, label %335 + +331: ; preds = %327 + %332 = load ptr, ptr %68, align 8 + %333 = call i32 @HeapTupleHeaderGetCmax(ptr noundef %332) #11 + %334 = getelementptr inbounds nuw i8, ptr %7, i64 12 + store i32 %333, ptr %334, align 4 br label %.loopexit -338: ; preds = %330 - %339 = getelementptr inbounds nuw i8, ptr %7, i64 12 - store i32 -1, ptr %339, align 4 +335: ; preds = %327 + %336 = getelementptr inbounds nuw i8, ptr %7, i64 12 + store i32 -1, ptr %336, align 4 br label %.loopexit -.critedge.thread349: ; preds = %.backedge, %155, %189, %176, %142, %146, %203, %UpdateXmaxHintBits.exit, %304 - %.2216357 = phi i1 [ false, %UpdateXmaxHintBits.exit ], [ false, %304 ], [ %.0214, %.backedge ], [ false, %155 ], [ false, %146 ], [ false, %142 ], [ false, %176 ], [ false, %189 ], [ false, %203 ] - %.4356 = phi i1 [ %.1218304, %UpdateXmaxHintBits.exit ], [ %.1218304, %304 ], [ %.0217, %.backedge ], [ %.1218309, %155 ], [ %.1218, %146 ], [ %.1218, %142 ], [ %.1218, %176 ], [ %.1218314481, %189 ], [ %.1218304, %203 ] - %.3300355 = phi i8 [ %.4301, %UpdateXmaxHintBits.exit ], [ %.4301, %304 ], [ %.0297.ph, %203 ], [ %.0297.ph, %146 ], [ %.0297.ph, %142 ], [ %.0297.ph, %176 ], [ %.0297.ph, %189 ], [ %.0297.ph, %155 ], [ %.0297.ph, %.backedge ] - %340 = load i32, ptr %10, align 4 - %341 = icmp eq i32 %340, 0 - br i1 %341, label %342, label %347 +.critedge.thread349: ; preds = %.backedge, %152, %186, %173, %139, %143, %200, %UpdateXmaxHintBits.exit, %301 + %.2216357 = phi i1 [ false, %UpdateXmaxHintBits.exit ], [ false, %301 ], [ %.0214, %.backedge ], [ false, %152 ], [ false, %143 ], [ false, %139 ], [ false, %173 ], [ false, %186 ], [ false, %200 ] + %.4356 = phi i1 [ %.1218304, %UpdateXmaxHintBits.exit ], [ %.1218304, %301 ], [ %.0217, %.backedge ], [ %.1218309, %152 ], [ %.1218, %143 ], [ %.1218, %139 ], [ %.1218, %173 ], [ %.1218314481, %186 ], [ %.1218304, %200 ] + %.3300355 = phi i8 [ %.4301, %UpdateXmaxHintBits.exit ], [ %.4301, %301 ], [ %.0297.ph, %200 ], [ %.0297.ph, %143 ], [ %.0297.ph, %139 ], [ %.0297.ph, %173 ], [ %.0297.ph, %186 ], [ %.0297.ph, %152 ], [ %.0297.ph, %.backedge ] + %337 = load i32, ptr %10, align 4 + %338 = icmp eq i32 %337, 0 + br i1 %338, label %339, label %344 -342: ; preds = %.critedge.thread349 +339: ; preds = %.critedge.thread349 %.val280 = load i16, ptr %77, align 2 - %343 = and i16 %.val280, 4 - %.not370 = icmp eq i16 %343, 0 - br i1 %.not370, label %347, label %344 + %340 = and i16 %.val280, 4 + %.not370 = icmp eq i16 %340, 0 + br i1 %.not370, label %344, label %341 -344: ; preds = %342 - %345 = load i32, ptr %6, align 4 - call void @LockBuffer(i32 noundef %345, i32 noundef 0) #11 +341: ; preds = %339 + %342 = load i32, ptr %6, align 4 + call void @LockBuffer(i32 noundef %342, i32 noundef 0) #11 call void @visibilitymap_pin(ptr noundef %0, i32 noundef %27, ptr noundef nonnull %10) #11 - %346 = load i32, ptr %6, align 4 - call void @LockBuffer(i32 noundef %346, i32 noundef 2) #11 + %343 = load i32, ptr %6, align 4 + call void @LockBuffer(i32 noundef %343, i32 noundef 2) #11 br label %.outer.backedge -347: ; preds = %342, %.critedge.thread349 - %348 = load ptr, ptr %68, align 8 - %349 = getelementptr inbounds nuw i8, ptr %348, i64 4 - %350 = load i32, ptr %349, align 4 - %351 = getelementptr inbounds nuw i8, ptr %348, i64 20 - %352 = load i16, ptr %351, align 4 +344: ; preds = %339, %.critedge.thread349 + %345 = load ptr, ptr %68, align 8 + %346 = getelementptr inbounds nuw i8, ptr %345, i64 4 + %347 = load i32, ptr %346, align 4 + %348 = getelementptr inbounds nuw i8, ptr %345, i64 20 + %349 = load i16, ptr %348, align 4 call void @MultiXactIdSetOldestMember() #11 - %353 = load ptr, ptr %68, align 8 - %354 = getelementptr inbounds nuw i8, ptr %353, i64 18 - %355 = load i16, ptr %354, align 2 - %356 = call i32 @GetCurrentTransactionId() #11 - call fastcc void @compute_new_xmax_infomask(i32 noundef %350, i16 noundef zeroext %352, i16 noundef zeroext %355, i32 noundef %356, i32 noundef %3, i1 noundef zeroext false, ptr noundef %11, ptr noundef %12, ptr noundef %13) - %357 = load volatile i32, ptr @CritSectionCount, align 4 - %358 = add i32 %357, 1 - store volatile i32 %358, ptr @CritSectionCount, align 4 - %359 = load ptr, ptr %68, align 8 - %360 = getelementptr inbounds nuw i8, ptr %359, i64 20 - %361 = load i16, ptr %360, align 4 - %362 = and i16 %361, -7377 - store i16 %362, ptr %360, align 4 - %363 = load ptr, ptr %68, align 8 - %364 = getelementptr inbounds nuw i8, ptr %363, i64 18 - %365 = load i16, ptr %364, align 2 - %366 = and i16 %365, -8193 - store i16 %366, ptr %364, align 2 - %367 = load i16, ptr %12, align 2 - %368 = load ptr, ptr %68, align 8 - %369 = getelementptr inbounds nuw i8, ptr %368, i64 20 - %370 = load i16, ptr %369, align 4 - %371 = or i16 %370, %367 - store i16 %371, ptr %369, align 4 - %372 = load i16, ptr %13, align 2 - %373 = load ptr, ptr %68, align 8 - %374 = getelementptr inbounds nuw i8, ptr %373, i64 18 - %375 = load i16, ptr %374, align 2 - %376 = or i16 %375, %372 - store i16 %376, ptr %374, align 2 - %377 = zext i16 %367 to i32 - %378 = and i32 %377, 128 - %.not251 = icmp ne i32 %378, 0 - %379 = and i32 %377, 4176 - %380 = icmp eq i32 %379, 64 - %or.cond277 = or i1 %.not251, %380 - br i1 %or.cond277, label %385, label %381 - -381: ; preds = %347 - %382 = load i32, ptr %11, align 4 + %350 = load ptr, ptr %68, align 8 + %351 = getelementptr inbounds nuw i8, ptr %350, i64 18 + %352 = load i16, ptr %351, align 2 + %353 = call i32 @GetCurrentTransactionId() #11 + call fastcc void @compute_new_xmax_infomask(i32 noundef %347, i16 noundef zeroext %349, i16 noundef zeroext %352, i32 noundef %353, i32 noundef %3, i1 noundef zeroext false, ptr noundef %11, ptr noundef %12, ptr noundef %13) + %354 = load volatile i32, ptr @CritSectionCount, align 4 + %355 = add i32 %354, 1 + store volatile i32 %355, ptr @CritSectionCount, align 4 + %356 = load ptr, ptr %68, align 8 + %357 = getelementptr inbounds nuw i8, ptr %356, i64 20 + %358 = load i16, ptr %357, align 4 + %359 = and i16 %358, -7377 + store i16 %359, ptr %357, align 4 + %360 = load ptr, ptr %68, align 8 + %361 = getelementptr inbounds nuw i8, ptr %360, i64 18 + %362 = load i16, ptr %361, align 2 + %363 = and i16 %362, -8193 + store i16 %363, ptr %361, align 2 + %364 = load i16, ptr %12, align 2 + %365 = load ptr, ptr %68, align 8 + %366 = getelementptr inbounds nuw i8, ptr %365, i64 20 + %367 = load i16, ptr %366, align 4 + %368 = or i16 %367, %364 + store i16 %368, ptr %366, align 4 + %369 = load i16, ptr %13, align 2 + %370 = load ptr, ptr %68, align 8 + %371 = getelementptr inbounds nuw i8, ptr %370, i64 18 + %372 = load i16, ptr %371, align 2 + %373 = or i16 %372, %369 + store i16 %373, ptr %371, align 2 + %374 = zext i16 %364 to i32 + %375 = and i32 %374, 128 + %.not251 = icmp ne i32 %375, 0 + %376 = and i32 %374, 4176 + %377 = icmp eq i32 %376, 64 + %or.cond277 = or i1 %.not251, %377 + br i1 %or.cond277, label %382, label %378 + +378: ; preds = %344 + %379 = load i32, ptr %11, align 4 + %380 = load ptr, ptr %68, align 8 + %381 = getelementptr inbounds nuw i8, ptr %380, i64 4 + store i32 %379, ptr %381, align 4 + br label %392 + +382: ; preds = %344 %383 = load ptr, ptr %68, align 8 - %384 = getelementptr inbounds nuw i8, ptr %383, i64 4 - store i32 %382, ptr %384, align 4 - br label %395 - -385: ; preds = %347 - %386 = load ptr, ptr %68, align 8 - %387 = getelementptr inbounds nuw i8, ptr %386, i64 18 - %388 = load i16, ptr %387, align 2 - %389 = and i16 %388, -16385 - store i16 %389, ptr %387, align 2 - %390 = load i32, ptr %11, align 4 - %391 = load ptr, ptr %68, align 8 - %392 = getelementptr inbounds nuw i8, ptr %391, i64 4 - store i32 %390, ptr %392, align 4 - %393 = load ptr, ptr %68, align 8 - %394 = getelementptr inbounds nuw i8, ptr %393, i64 12 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(6) %394, ptr noundef nonnull align 2 dereferenceable(6) %17, i64 6, i1 false) - br label %395 - -395: ; preds = %381, %385 - %396 = phi i32 [ %382, %381 ], [ %390, %385 ] + %384 = getelementptr inbounds nuw i8, ptr %383, i64 18 + %385 = load i16, ptr %384, align 2 + %386 = and i16 %385, -16385 + store i16 %386, ptr %384, align 2 + %387 = load i32, ptr %11, align 4 + %388 = load ptr, ptr %68, align 8 + %389 = getelementptr inbounds nuw i8, ptr %388, i64 4 + store i32 %387, ptr %389, align 4 + %390 = load ptr, ptr %68, align 8 + %391 = getelementptr inbounds nuw i8, ptr %390, i64 12 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(6) %391, ptr noundef nonnull align 2 dereferenceable(6) %17, i64 6, i1 false) + br label %392 + +392: ; preds = %378, %382 + %393 = phi i32 [ %379, %378 ], [ %387, %382 ] %.val = load i16, ptr %77, align 2 - %397 = and i16 %.val, 4 - %.not371 = icmp eq i16 %397, 0 - br i1 %.not371, label %401, label %398 - -398: ; preds = %395 - %399 = load i32, ptr %10, align 4 - %400 = call zeroext i1 @visibilitymap_clear(ptr noundef %0, i32 noundef %27, i32 noundef %399, i8 noundef zeroext 2) #11 - %spec.select = zext i1 %400 to i8 - br label %401 - -401: ; preds = %398, %395 - %.0220 = phi i8 [ 0, %395 ], [ %spec.select, %398 ] - %402 = load i32, ptr %6, align 4 - call void @MarkBufferDirty(i32 noundef %402) #11 - %403 = getelementptr inbounds nuw i8, ptr %0, i64 56 - %404 = load ptr, ptr %403, align 8 - %405 = getelementptr inbounds nuw i8, ptr %404, i64 114 - %406 = load i8, ptr %405, align 2 - %407 = icmp eq i8 %406, 112 - br i1 %407, label %408, label %446 - -408: ; preds = %401 - %409 = load i32, ptr @wal_level, align 4 - %410 = icmp sgt i32 %409, 0 - br i1 %410, label %419, label %411 - -411: ; preds = %408 - %412 = getelementptr inbounds nuw i8, ptr %0, i64 40 - %413 = load i32, ptr %412, align 8 - %414 = icmp eq i32 %413, 0 - br i1 %414, label %415, label %446 - -415: ; preds = %411 - %416 = getelementptr inbounds nuw i8, ptr %0, i64 48 - %417 = load i32, ptr %416, align 8 - %418 = icmp eq i32 %417, 0 - br i1 %418, label %419, label %446 - -419: ; preds = %415, %408 + %394 = and i16 %.val, 4 + %.not371 = icmp eq i16 %394, 0 + br i1 %.not371, label %398, label %395 + +395: ; preds = %392 + %396 = load i32, ptr %10, align 4 + %397 = call zeroext i1 @visibilitymap_clear(ptr noundef %0, i32 noundef %27, i32 noundef %396, i8 noundef zeroext 2) #11 + %spec.select = zext i1 %397 to i8 + br label %398 + +398: ; preds = %395, %392 + %.0220 = phi i8 [ 0, %392 ], [ %spec.select, %395 ] + %399 = load i32, ptr %6, align 4 + call void @MarkBufferDirty(i32 noundef %399) #11 + %400 = getelementptr inbounds nuw i8, ptr %0, i64 56 + %401 = load ptr, ptr %400, align 8 + %402 = getelementptr inbounds nuw i8, ptr %401, i64 114 + %403 = load i8, ptr %402, align 2 + %404 = icmp eq i8 %403, 112 + br i1 %404, label %405, label %443 + +405: ; preds = %398 + %406 = load i32, ptr @wal_level, align 4 + %407 = icmp sgt i32 %406, 0 + br i1 %407, label %416, label %408 + +408: ; preds = %405 + %409 = getelementptr inbounds nuw i8, ptr %0, i64 40 + %410 = load i32, ptr %409, align 8 + %411 = icmp eq i32 %410, 0 + br i1 %411, label %412, label %443 + +412: ; preds = %408 + %413 = getelementptr inbounds nuw i8, ptr %0, i64 48 + %414 = load i32, ptr %413, align 8 + %415 = icmp eq i32 %414, 0 + br i1 %415, label %416, label %443 + +416: ; preds = %412, %405 call void @XLogBeginInsert() #11 - %420 = load i32, ptr %6, align 4 - call void @XLogRegisterBuffer(i8 noundef zeroext 0, i32 noundef %420, i8 noundef zeroext 8) #11 + %417 = load i32, ptr %6, align 4 + call void @XLogRegisterBuffer(i8 noundef zeroext 0, i32 noundef %417, i8 noundef zeroext 8) #11 %.val287 = load i16, ptr %60, align 2 - %421 = getelementptr inbounds nuw i8, ptr %16, i64 4 - store i16 %.val287, ptr %421, align 4 - store i32 %396, ptr %16, align 4 - %422 = load ptr, ptr %68, align 8 - %423 = getelementptr inbounds nuw i8, ptr %422, i64 18 - %424 = load i16, ptr %423, align 2 - %425 = lshr i16 %367, 12 - %.lobit.i = and i16 %425, 1 - %426 = lshr i16 %367, 6 - %427 = and i16 %426, 2 - %428 = or disjoint i16 %.lobit.i, %427 - %429 = lshr i16 %367, 4 - %430 = and i16 %429, 4 + %418 = getelementptr inbounds nuw i8, ptr %16, i64 4 + store i16 %.val287, ptr %418, align 4 + store i32 %393, ptr %16, align 4 + %419 = load ptr, ptr %68, align 8 + %420 = getelementptr inbounds nuw i8, ptr %419, i64 18 + %421 = load i16, ptr %420, align 2 + %422 = lshr i16 %364, 12 + %.lobit.i = and i16 %422, 1 + %423 = lshr i16 %364, 6 + %424 = and i16 %423, 2 + %425 = or disjoint i16 %.lobit.i, %424 + %426 = lshr i16 %364, 4 + %427 = and i16 %426, 4 + %428 = or disjoint i16 %425, %427 + %429 = lshr i16 %364, 1 + %430 = and i16 %429, 8 %431 = or disjoint i16 %428, %430 - %432 = lshr i16 %367, 1 - %433 = and i16 %432, 8 + %432 = lshr i16 %421, 9 + %433 = and i16 %432, 16 %434 = or disjoint i16 %431, %433 - %435 = lshr i16 %424, 9 - %436 = and i16 %435, 16 - %437 = or disjoint i16 %434, %436 - %438 = trunc nuw nsw i16 %437 to i8 - %439 = getelementptr inbounds nuw i8, ptr %16, i64 6 - store i8 %438, ptr %439, align 2 - %440 = getelementptr inbounds nuw i8, ptr %16, i64 7 - store i8 %.0220, ptr %440, align 1 + %435 = trunc nuw nsw i16 %434 to i8 + %436 = getelementptr inbounds nuw i8, ptr %16, i64 6 + store i8 %435, ptr %436, align 2 + %437 = getelementptr inbounds nuw i8, ptr %16, i64 7 + store i8 %.0220, ptr %437, align 1 call void @XLogRegisterData(ptr noundef nonnull %16, i32 noundef 8) #11 - %441 = call i64 @XLogInsert(i8 noundef zeroext 10, i8 noundef zeroext 96) #11 - %442 = lshr i64 %441, 32 - %443 = trunc nuw i64 %442 to i32 - store i32 %443, ptr %.0.i.i289, align 4 - %444 = trunc i64 %441 to i32 - %445 = getelementptr inbounds nuw i8, ptr %.0.i.i289, i64 4 - store i32 %444, ptr %445, align 4 - br label %446 - -446: ; preds = %401, %411, %415, %419 - %447 = load volatile i32, ptr @CritSectionCount, align 4 - %448 = add i32 %447, -1 - store volatile i32 %448, ptr @CritSectionCount, align 4 + %438 = call i64 @XLogInsert(i8 noundef zeroext 10, i8 noundef zeroext 96) #11 + %439 = lshr i64 %438, 32 + %440 = trunc nuw i64 %439 to i32 + store i32 %440, ptr %.0.i.i289, align 4 + %441 = trunc i64 %438 to i32 + %442 = getelementptr inbounds nuw i8, ptr %.0.i.i289, i64 4 + store i32 %441, ptr %442, align 4 + br label %443 + +443: ; preds = %398, %408, %412, %416 + %444 = load volatile i32, ptr @CritSectionCount, align 4 + %445 = add i32 %444, -1 + store volatile i32 %445, ptr @CritSectionCount, align 4 br label %.loopexit -.loopexit: ; preds = %.backedge, %334, %338, %446 - %.1298 = phi i8 [ %.3300355, %446 ], [ %.3300345, %334 ], [ %.3300345, %338 ], [ %.0297.ph, %.backedge ] - %.0 = phi i32 [ 0, %446 ], [ 2, %334 ], [ %.2346, %338 ], [ %79, %.backedge ] - %449 = load i32, ptr %6, align 4 - call void @LockBuffer(i32 noundef %449, i32 noundef 0) #11 +.loopexit: ; preds = %.backedge, %331, %335, %443 + %.1298 = phi i8 [ %.3300355, %443 ], [ %.3300345, %331 ], [ %.3300345, %335 ], [ %.0297.ph, %.backedge ] + %.0 = phi i32 [ 0, %443 ], [ 2, %331 ], [ %.2346, %335 ], [ %79, %.backedge ] + %446 = load i32, ptr %6, align 4 + call void @LockBuffer(i32 noundef %446, i32 noundef 0) #11 br label %.loopexit374 -.loopexit374: ; preds = %124, %121, %119, %119, %118, %.loopexit, %112 - %.2299 = phi i8 [ %.1298, %.loopexit ], [ %.0297.ph, %112 ], [ %.0297.ph, %118 ], [ %.0297.ph, %119 ], [ %.0297.ph, %119 ], [ %.0297.ph, %121 ], [ %.0297.ph, %124 ] - %.1 = phi i32 [ %.0, %.loopexit ], [ 0, %112 ], [ 0, %124 ], [ 0, %121 ], [ 0, %119 ], [ 0, %119 ], [ %3, %118 ] - %450 = load i32, ptr %10, align 4 - %.not373 = icmp eq i32 %450, 0 - br i1 %.not373, label %452, label %451 +.loopexit374: ; preds = %121, %118, %116, %116, %115, %.loopexit, %109 + %.2299 = phi i8 [ %.1298, %.loopexit ], [ %.0297.ph, %109 ], [ %.0297.ph, %115 ], [ %.0297.ph, %116 ], [ %.0297.ph, %116 ], [ %.0297.ph, %118 ], [ %.0297.ph, %121 ] + %.1 = phi i32 [ %.0, %.loopexit ], [ 0, %109 ], [ 0, %121 ], [ 0, %118 ], [ 0, %116 ], [ 0, %116 ], [ %3, %115 ] + %447 = load i32, ptr %10, align 4 + %.not373 = icmp eq i32 %447, 0 + br i1 %.not373, label %449, label %448 -451: ; preds = %.loopexit374 - call void @ReleaseBuffer(i32 noundef %450) #11 - br label %452 +448: ; preds = %.loopexit374 + call void @ReleaseBuffer(i32 noundef %447) #11 + br label %449 -452: ; preds = %451, %.loopexit374 - %453 = trunc i8 %.2299 to i1 - br i1 %453, label %454, label %456 +449: ; preds = %448, %.loopexit374 + %450 = trunc i8 %.2299 to i1 + br i1 %450, label %451, label %453 -454: ; preds = %452 - %455 = load i32, ptr %75, align 4 - call void @UnlockTuple(ptr noundef %0, ptr noundef nonnull %17, i32 noundef %455) #11 - br label %456 +451: ; preds = %449 + %452 = load i32, ptr %75, align 4 + call void @UnlockTuple(ptr noundef %0, ptr noundef nonnull %17, i32 noundef %452) #11 + br label %453 -456: ; preds = %454, %452 +453: ; preds = %451, %449 ret i32 %.1 } @@ -8749,12 +8743,12 @@ ItemPointerIndicatesMovedPartitions.exit: ; preds = %5 %24 = zext i16 %.val2.i to i32 %25 = or disjoint i32 %23, %24 %26 = icmp eq i32 %25, -1 - br i1 %26, label %281, label %ItemPointerIndicatesMovedPartitions.exit.thread + br i1 %26, label %278, label %ItemPointerIndicatesMovedPartitions.exit.thread ItemPointerIndicatesMovedPartitions.exit.thread: ; preds = %5, %ItemPointerIndicatesMovedPartitions.exit %27 = getelementptr inbounds nuw i8, ptr %1, i64 4 %28 = tail call zeroext i1 @ItemPointerEquals(ptr noundef nonnull %27, ptr noundef nonnull %2) #11 - br i1 %28, label %281, label %29 + br i1 %28, label %278, label %29 29: ; preds = %ItemPointerIndicatesMovedPartitions.exit.thread tail call void @MultiXactIdSetOldestMember() #11 @@ -8798,10 +8792,10 @@ ItemPointerIndicatesMovedPartitions.exit.thread: ; preds = %5, %ItemPointerIndi %42 = getelementptr inbounds nuw i8, ptr %15, i64 7 br label %.preheader.i -.preheader.i: ; preds = %270, %.preheader.lr.ph.i - %43 = phi i32 [ %35, %.preheader.lr.ph.i ], [ %277, %270 ] - %.050170.i = phi i32 [ 0, %.preheader.lr.ph.i ], [ %272, %270 ] - %.053168.i = phi i8 [ 0, %.preheader.lr.ph.i ], [ %.154.i, %270 ] +.preheader.i: ; preds = %267, %.preheader.lr.ph.i + %43 = phi i32 [ %35, %.preheader.lr.ph.i ], [ %274, %267 ] + %.050170.i = phi i32 [ 0, %.preheader.lr.ph.i ], [ %269, %267 ] + %.053168.i = phi i8 [ 0, %.preheader.lr.ph.i ], [ %.154.i, %267 ] %44 = load i32, ptr %8, align 4 %45 = icmp slt i32 %44, 0 %46 = add nsw i32 %44, -1 @@ -8926,400 +8920,397 @@ BufferGetPage.exit85.i: ; preds = %67, %63 %.not63.i = icmp eq i32 %98, 0 %99 = and i32 %95, 128 %.not64.i = icmp ne i32 %99, 0 - br i1 %.not63.i, label %129, label %100 + br i1 %.not63.i, label %126, label %100 100: ; preds = %97 - %101 = and i32 %95, 4176 - %102 = icmp eq i32 %101, 64 - %103 = or i1 %.not64.i, %102 - %104 = call i32 @GetMultiXactIdMembers(i32 noundef %94, ptr noundef nonnull %14, i1 noundef zeroext false, i1 noundef zeroext %103) #11 - %105 = icmp sgt i32 %104, 0 - br i1 %105, label %.lr.ph.preheader.i, label %._crit_edge.i + %101 = call i32 @GetMultiXactIdMembers(i32 noundef %94, ptr noundef nonnull %14, i1 noundef zeroext false, i1 noundef zeroext %.not64.i) #11 + %102 = icmp sgt i32 %101, 0 + br i1 %102, label %.lr.ph.preheader.i, label %._crit_edge.i .lr.ph.preheader.i: ; preds = %100 - %wide.trip.count.i = zext nneg i32 %104 to i64 + %wide.trip.count.i = zext nneg i32 %101 to i64 br label %.lr.ph.i -106: ; preds = %124 +103: ; preds = %121 %indvars.iv.next.i = add nuw nsw i64 %indvars.iv.i, 1 %exitcond.not.i = icmp eq i64 %indvars.iv.next.i, %wide.trip.count.i br i1 %exitcond.not.i, label %._crit_edge.i, label %.lr.ph.i, !llvm.loop !27 -.lr.ph.i: ; preds = %106, %.lr.ph.preheader.i - %indvars.iv.i = phi i64 [ 0, %.lr.ph.preheader.i ], [ %indvars.iv.next.i, %106 ] - %107 = load ptr, ptr %14, align 8 - %108 = getelementptr %struct.MultiXactMember, ptr %107, i64 %indvars.iv.i - %109 = getelementptr inbounds nuw i8, ptr %108, i64 4 - %110 = load i32, ptr %109, align 4 - %111 = load i32, ptr %108, align 4 - %112 = call fastcc i32 @test_lockmode_for_conflict(i32 noundef %110, i32 noundef %111, i32 noundef %4, ptr noundef %7, ptr noundef %13) - %113 = icmp eq i32 %112, 2 - br i1 %113, label %114, label %116 - -114: ; preds = %.lr.ph.i - %115 = load ptr, ptr %14, align 8 - call void @pfree(ptr noundef %115) #11 +.lr.ph.i: ; preds = %103, %.lr.ph.preheader.i + %indvars.iv.i = phi i64 [ 0, %.lr.ph.preheader.i ], [ %indvars.iv.next.i, %103 ] + %104 = load ptr, ptr %14, align 8 + %105 = getelementptr %struct.MultiXactMember, ptr %104, i64 %indvars.iv.i + %106 = getelementptr inbounds nuw i8, ptr %105, i64 4 + %107 = load i32, ptr %106, align 4 + %108 = load i32, ptr %105, align 4 + %109 = call fastcc i32 @test_lockmode_for_conflict(i32 noundef %107, i32 noundef %108, i32 noundef %4, ptr noundef %7, ptr noundef %13) + %110 = icmp eq i32 %109, 2 + br i1 %110, label %111, label %113 + +111: ; preds = %.lr.ph.i + %112 = load ptr, ptr %14, align 8 + call void @pfree(ptr noundef %112) #11 br label %.loopexit105.i -116: ; preds = %.lr.ph.i - %117 = load i8, ptr %13, align 1 - %118 = trunc i8 %117 to i1 - br i1 %118, label %119, label %124 +113: ; preds = %.lr.ph.i + %114 = load i8, ptr %13, align 1 + %115 = trunc i8 %114 to i1 + br i1 %115, label %116, label %121 -119: ; preds = %116 +116: ; preds = %113 call void @LockBuffer(i32 noundef %44, i32 noundef 0) #11 + %117 = load ptr, ptr %14, align 8 + %118 = getelementptr %struct.MultiXactMember, ptr %117, i64 %indvars.iv.i + %119 = load i32, ptr %118, align 4 + call void @XactLockTableWait(i32 noundef %119, ptr noundef %0, ptr noundef nonnull %30, i32 noundef 4) #11 %120 = load ptr, ptr %14, align 8 - %121 = getelementptr %struct.MultiXactMember, ptr %120, i64 %indvars.iv.i - %122 = load i32, ptr %121, align 4 - call void @XactLockTableWait(i32 noundef %122, ptr noundef %0, ptr noundef nonnull %30, i32 noundef 4) #11 - %123 = load ptr, ptr %14, align 8 - call void @pfree(ptr noundef %123) #11 + call void @pfree(ptr noundef %120) #11 br label %.backedge.i.backedge -124: ; preds = %116 - %.not69.i = icmp eq i32 %112, 0 - br i1 %.not69.i, label %106, label %125 +121: ; preds = %113 + %.not69.i = icmp eq i32 %109, 0 + br i1 %.not69.i, label %103, label %122 -125: ; preds = %124 - %126 = load ptr, ptr %14, align 8 - call void @pfree(ptr noundef %126) #11 +122: ; preds = %121 + %123 = load ptr, ptr %14, align 8 + call void @pfree(ptr noundef %123) #11 br label %.loopexit.i -._crit_edge.i: ; preds = %100, %106 - %127 = load ptr, ptr %14, align 8 - %.not68.i = icmp eq ptr %127, null - br i1 %.not68.i, label %.loopexit104.i, label %128 +._crit_edge.i: ; preds = %100, %103 + %124 = load ptr, ptr %14, align 8 + %.not68.i = icmp eq ptr %124, null + br i1 %.not68.i, label %.loopexit104.i, label %125 -128: ; preds = %._crit_edge.i - call void @pfree(ptr noundef nonnull %127) #11 +125: ; preds = %._crit_edge.i + call void @pfree(ptr noundef nonnull %124) #11 br label %.loopexit104.i -129: ; preds = %97 - %130 = and i32 %95, 80 - %131 = icmp eq i32 %130, 64 - %or.cond.i = or i1 %.not64.i, %131 - br i1 %or.cond.i, label %132, label %140 - -132: ; preds = %129 - %133 = lshr exact i32 %130, 4 - switch i32 %133, label %.unreachabledefault.i [ - i32 1, label %142 - i32 5, label %134 - i32 4, label %135 - i32 0, label %137 +126: ; preds = %97 + %127 = and i32 %95, 80 + %128 = icmp eq i32 %127, 64 + %or.cond.i = or i1 %.not64.i, %128 + br i1 %or.cond.i, label %129, label %137 + +129: ; preds = %126 + %130 = lshr exact i32 %127, 4 + switch i32 %130, label %.unreachabledefault.i [ + i32 1, label %139 + i32 5, label %131 + i32 4, label %132 + i32 0, label %134 ] -134: ; preds = %132 - br label %142 +131: ; preds = %129 + br label %139 -135: ; preds = %132 - %136 = and i16 %92, 8192 - %.not66.i = icmp eq i16 %136, 0 +132: ; preds = %129 + %133 = and i16 %92, 8192 + %.not66.i = icmp eq i16 %133, 0 %..i = select i1 %.not66.i, i32 2, i32 3 - br label %142 + br label %139 -.unreachabledefault.i: ; preds = %132 +.unreachabledefault.i: ; preds = %129 unreachable -137: ; preds = %132 - %138 = call zeroext i1 @errstart_cold(i32 noundef 21, ptr noundef null) #12 - call void @llvm.assume(i1 %138) - %139 = call i32 (ptr, ...) @errmsg_internal(ptr noundef nonnull @.str.34) #11 +134: ; preds = %129 + %135 = call zeroext i1 @errstart_cold(i32 noundef 21, ptr noundef null) #12 + call void @llvm.assume(i1 %135) + %136 = call i32 (ptr, ...) @errmsg_internal(ptr noundef nonnull @.str.34) #11 call void @errfinish(ptr noundef nonnull @.str.1, i32 noundef 5469, ptr noundef nonnull @__func__.heap_lock_updated_tuple_rec) #11 unreachable -140: ; preds = %129 - %141 = and i16 %92, 8192 - %.not65.i = icmp eq i16 %141, 0 +137: ; preds = %126 + %138 = and i16 %92, 8192 + %.not65.i = icmp eq i16 %138, 0 %.76.i = select i1 %.not65.i, i32 4, i32 5 - br label %142 + br label %139 -142: ; preds = %140, %135, %134, %132 - %.051.i = phi i32 [ 1, %134 ], [ 0, %132 ], [ %..i, %135 ], [ %.76.i, %140 ] - %143 = call fastcc i32 @test_lockmode_for_conflict(i32 noundef %.051.i, i32 noundef %94, i32 noundef %4, ptr noundef %7, ptr noundef %13) - %144 = icmp eq i32 %143, 2 - br i1 %144, label %.loopexit105.i, label %145 +139: ; preds = %137, %132, %131, %129 + %.051.i = phi i32 [ 1, %131 ], [ 0, %129 ], [ %..i, %132 ], [ %.76.i, %137 ] + %140 = call fastcc i32 @test_lockmode_for_conflict(i32 noundef %.051.i, i32 noundef %94, i32 noundef %4, ptr noundef %7, ptr noundef %13) + %141 = icmp eq i32 %140, 2 + br i1 %141, label %.loopexit105.i, label %142 -145: ; preds = %142 - %146 = load i8, ptr %13, align 1 - %147 = trunc i8 %146 to i1 - br i1 %147, label %148, label %149 +142: ; preds = %139 + %143 = load i8, ptr %13, align 1 + %144 = trunc i8 %143 to i1 + br i1 %144, label %145, label %146 -148: ; preds = %145 +145: ; preds = %142 call void @LockBuffer(i32 noundef %44, i32 noundef 0) #11 call void @XactLockTableWait(i32 noundef %94, ptr noundef %0, ptr noundef nonnull %30, i32 noundef 4) #11 br label %.backedge.i.backedge -.backedge.i.backedge: ; preds = %148, %119 +.backedge.i.backedge: ; preds = %145, %116 br label %.backedge.i -149: ; preds = %145 - %.not67.i = icmp eq i32 %143, 0 +146: ; preds = %142 + %.not67.i = icmp eq i32 %140, 0 br i1 %.not67.i, label %.loopexit104.i, label %.loopexit.i -.loopexit104.i: ; preds = %87, %149, %128, %._crit_edge.i - %150 = load ptr, ptr %36, align 8 - %151 = getelementptr inbounds nuw i8, ptr %150, i64 18 - %152 = load i16, ptr %151, align 2 - call fastcc void @compute_new_xmax_infomask(i32 noundef %94, i16 noundef zeroext %90, i16 noundef zeroext %152, i32 noundef %3, i32 noundef %4, i1 noundef zeroext false, ptr noundef %11, ptr noundef %9, ptr noundef %10) - br i1 %45, label %153, label %157 - -153: ; preds = %.loopexit104.i - %154 = load ptr, ptr @LocalBufferBlockPointers, align 8 - %155 = getelementptr ptr, ptr %154, i64 %50 - %156 = load ptr, ptr %155, align 8 +.loopexit104.i: ; preds = %87, %146, %125, %._crit_edge.i + %147 = load ptr, ptr %36, align 8 + %148 = getelementptr inbounds nuw i8, ptr %147, i64 18 + %149 = load i16, ptr %148, align 2 + call fastcc void @compute_new_xmax_infomask(i32 noundef %94, i16 noundef zeroext %90, i16 noundef zeroext %149, i32 noundef %3, i32 noundef %4, i1 noundef zeroext false, ptr noundef %11, ptr noundef %9, ptr noundef %10) + br i1 %45, label %150, label %154 + +150: ; preds = %.loopexit104.i + %151 = load ptr, ptr @LocalBufferBlockPointers, align 8 + %152 = getelementptr ptr, ptr %151, i64 %50 + %153 = load ptr, ptr %152, align 8 br label %BufferGetPage.exit87.i -157: ; preds = %.loopexit104.i - %158 = load ptr, ptr @BufferBlocks, align 8 - %159 = getelementptr i8, ptr %158, i64 %48 +154: ; preds = %.loopexit104.i + %155 = load ptr, ptr @BufferBlocks, align 8 + %156 = getelementptr i8, ptr %155, i64 %48 br label %BufferGetPage.exit87.i -BufferGetPage.exit87.i: ; preds = %157, %153 - %.0.i.i86.i = phi ptr [ %156, %153 ], [ %159, %157 ] - %160 = getelementptr i8, ptr %.0.i.i86.i, i64 10 - %.val.i7 = load i16, ptr %160, align 2 - %161 = and i16 %.val.i7, 4 - %.not102.i = icmp eq i16 %161, 0 - br i1 %.not102.i, label %165, label %162 - -162: ; preds = %BufferGetPage.exit87.i - %163 = load i32, ptr %12, align 4 - %164 = call zeroext i1 @visibilitymap_clear(ptr noundef %0, i32 noundef %43, i32 noundef %163, i8 noundef zeroext 2) #11 - %spec.select.i = select i1 %164, i8 1, i8 %.053168.i - br label %165 - -165: ; preds = %162, %BufferGetPage.exit87.i - %.2.i = phi i8 [ %.053168.i, %BufferGetPage.exit87.i ], [ %spec.select.i, %162 ] - %166 = load volatile i32, ptr @CritSectionCount, align 4 - %167 = add i32 %166, 1 - store volatile i32 %167, ptr @CritSectionCount, align 4 - %168 = load i32, ptr %11, align 4 - %169 = load ptr, ptr %36, align 8 - %170 = getelementptr inbounds nuw i8, ptr %169, i64 4 - store i32 %168, ptr %170, align 4 - %171 = load ptr, ptr %36, align 8 - %172 = getelementptr inbounds nuw i8, ptr %171, i64 20 - %173 = load i16, ptr %172, align 4 - %174 = and i16 %173, -7377 - store i16 %174, ptr %172, align 4 - %175 = load ptr, ptr %36, align 8 - %176 = getelementptr inbounds nuw i8, ptr %175, i64 18 - %177 = load i16, ptr %176, align 2 - %178 = and i16 %177, -8193 - store i16 %178, ptr %176, align 2 - %179 = load i16, ptr %9, align 2 - %180 = load ptr, ptr %36, align 8 - %181 = getelementptr inbounds nuw i8, ptr %180, i64 20 - %182 = load i16, ptr %181, align 4 - %183 = or i16 %182, %179 - store i16 %183, ptr %181, align 4 - %184 = load i16, ptr %10, align 2 - %185 = load ptr, ptr %36, align 8 - %186 = getelementptr inbounds nuw i8, ptr %185, i64 18 - %187 = load i16, ptr %186, align 2 - %188 = or i16 %187, %184 - store i16 %188, ptr %186, align 2 +BufferGetPage.exit87.i: ; preds = %154, %150 + %.0.i.i86.i = phi ptr [ %153, %150 ], [ %156, %154 ] + %157 = getelementptr i8, ptr %.0.i.i86.i, i64 10 + %.val.i7 = load i16, ptr %157, align 2 + %158 = and i16 %.val.i7, 4 + %.not102.i = icmp eq i16 %158, 0 + br i1 %.not102.i, label %162, label %159 + +159: ; preds = %BufferGetPage.exit87.i + %160 = load i32, ptr %12, align 4 + %161 = call zeroext i1 @visibilitymap_clear(ptr noundef %0, i32 noundef %43, i32 noundef %160, i8 noundef zeroext 2) #11 + %spec.select.i = select i1 %161, i8 1, i8 %.053168.i + br label %162 + +162: ; preds = %159, %BufferGetPage.exit87.i + %.2.i = phi i8 [ %.053168.i, %BufferGetPage.exit87.i ], [ %spec.select.i, %159 ] + %163 = load volatile i32, ptr @CritSectionCount, align 4 + %164 = add i32 %163, 1 + store volatile i32 %164, ptr @CritSectionCount, align 4 + %165 = load i32, ptr %11, align 4 + %166 = load ptr, ptr %36, align 8 + %167 = getelementptr inbounds nuw i8, ptr %166, i64 4 + store i32 %165, ptr %167, align 4 + %168 = load ptr, ptr %36, align 8 + %169 = getelementptr inbounds nuw i8, ptr %168, i64 20 + %170 = load i16, ptr %169, align 4 + %171 = and i16 %170, -7377 + store i16 %171, ptr %169, align 4 + %172 = load ptr, ptr %36, align 8 + %173 = getelementptr inbounds nuw i8, ptr %172, i64 18 + %174 = load i16, ptr %173, align 2 + %175 = and i16 %174, -8193 + store i16 %175, ptr %173, align 2 + %176 = load i16, ptr %9, align 2 + %177 = load ptr, ptr %36, align 8 + %178 = getelementptr inbounds nuw i8, ptr %177, i64 20 + %179 = load i16, ptr %178, align 4 + %180 = or i16 %179, %176 + store i16 %180, ptr %178, align 4 + %181 = load i16, ptr %10, align 2 + %182 = load ptr, ptr %36, align 8 + %183 = getelementptr inbounds nuw i8, ptr %182, i64 18 + %184 = load i16, ptr %183, align 2 + %185 = or i16 %184, %181 + store i16 %185, ptr %183, align 2 call void @MarkBufferDirty(i32 noundef %44) #11 - %189 = load ptr, ptr %37, align 8 - %190 = getelementptr inbounds nuw i8, ptr %189, i64 114 - %191 = load i8, ptr %190, align 2 - %192 = icmp eq i8 %191, 112 - br i1 %192, label %193, label %230 - -193: ; preds = %165 - %194 = load i32, ptr @wal_level, align 4 - %195 = icmp sgt i32 %194, 0 - br i1 %195, label %202, label %196 + %186 = load ptr, ptr %37, align 8 + %187 = getelementptr inbounds nuw i8, ptr %186, i64 114 + %188 = load i8, ptr %187, align 2 + %189 = icmp eq i8 %188, 112 + br i1 %189, label %190, label %227 + +190: ; preds = %162 + %191 = load i32, ptr @wal_level, align 4 + %192 = icmp sgt i32 %191, 0 + br i1 %192, label %199, label %193 + +193: ; preds = %190 + %194 = load i32, ptr %38, align 8 + %195 = icmp eq i32 %194, 0 + br i1 %195, label %196, label %227 196: ; preds = %193 - %197 = load i32, ptr %38, align 8 + %197 = load i32, ptr %39, align 8 %198 = icmp eq i32 %197, 0 - br i1 %198, label %199, label %230 - -199: ; preds = %196 - %200 = load i32, ptr %39, align 8 - %201 = icmp eq i32 %200, 0 - br i1 %201, label %202, label %230 + br i1 %198, label %199, label %227 -202: ; preds = %199, %193 - br i1 %45, label %203, label %207 +199: ; preds = %196, %190 + br i1 %45, label %200, label %204 -203: ; preds = %202 - %204 = load ptr, ptr @LocalBufferBlockPointers, align 8 - %205 = getelementptr ptr, ptr %204, i64 %50 - %206 = load ptr, ptr %205, align 8 +200: ; preds = %199 + %201 = load ptr, ptr @LocalBufferBlockPointers, align 8 + %202 = getelementptr ptr, ptr %201, i64 %50 + %203 = load ptr, ptr %202, align 8 br label %BufferGetPage.exit89.i -207: ; preds = %202 - %208 = load ptr, ptr @BufferBlocks, align 8 - %209 = getelementptr i8, ptr %208, i64 %48 +204: ; preds = %199 + %205 = load ptr, ptr @BufferBlocks, align 8 + %206 = getelementptr i8, ptr %205, i64 %48 br label %BufferGetPage.exit89.i -BufferGetPage.exit89.i: ; preds = %207, %203 - %.0.i.i88.i = phi ptr [ %206, %203 ], [ %209, %207 ] +BufferGetPage.exit89.i: ; preds = %204, %200 + %.0.i.i88.i = phi ptr [ %203, %200 ], [ %206, %204 ] call void @XLogBeginInsert() #11 call void @XLogRegisterBuffer(i8 noundef zeroext 0, i32 noundef %44, i8 noundef zeroext 8) #11 %.val83.i = load i16, ptr %.sroa.5.0..sroa_idx96.i, align 8 store i16 %.val83.i, ptr %40, align 4 - store i32 %168, ptr %15, align 4 - %210 = lshr i16 %179, 12 - %.lobit.i.i = and i16 %210, 1 - %211 = lshr i16 %179, 6 - %212 = and i16 %211, 2 - %213 = or disjoint i16 %.lobit.i.i, %212 - %214 = lshr i16 %179, 4 - %215 = and i16 %214, 4 + store i32 %165, ptr %15, align 4 + %207 = lshr i16 %176, 12 + %.lobit.i.i = and i16 %207, 1 + %208 = lshr i16 %176, 6 + %209 = and i16 %208, 2 + %210 = or disjoint i16 %.lobit.i.i, %209 + %211 = lshr i16 %176, 4 + %212 = and i16 %211, 4 + %213 = or disjoint i16 %210, %212 + %214 = lshr i16 %176, 1 + %215 = and i16 %214, 8 %216 = or disjoint i16 %213, %215 - %217 = lshr i16 %179, 1 - %218 = and i16 %217, 8 + %217 = lshr i16 %181, 9 + %218 = and i16 %217, 16 %219 = or disjoint i16 %216, %218 - %220 = lshr i16 %184, 9 - %221 = and i16 %220, 16 - %222 = or disjoint i16 %219, %221 - %223 = trunc nuw nsw i16 %222 to i8 - store i8 %223, ptr %41, align 2 - %224 = and i8 %.2.i, 1 - store i8 %224, ptr %42, align 1 + %220 = trunc nuw nsw i16 %219 to i8 + store i8 %220, ptr %41, align 2 + %221 = and i8 %.2.i, 1 + store i8 %221, ptr %42, align 1 call void @XLogRegisterData(ptr noundef nonnull %15, i32 noundef 8) #11 - %225 = call i64 @XLogInsert(i8 noundef zeroext 9, i8 noundef zeroext 96) #11 - %226 = lshr i64 %225, 32 - %227 = trunc nuw i64 %226 to i32 - store i32 %227, ptr %.0.i.i88.i, align 4 - %228 = trunc i64 %225 to i32 - %229 = getelementptr inbounds nuw i8, ptr %.0.i.i88.i, i64 4 - store i32 %228, ptr %229, align 4 - br label %230 + %222 = call i64 @XLogInsert(i8 noundef zeroext 9, i8 noundef zeroext 96) #11 + %223 = lshr i64 %222, 32 + %224 = trunc nuw i64 %223 to i32 + store i32 %224, ptr %.0.i.i88.i, align 4 + %225 = trunc i64 %222 to i32 + %226 = getelementptr inbounds nuw i8, ptr %.0.i.i88.i, i64 4 + store i32 %225, ptr %226, align 4 + br label %227 -230: ; preds = %BufferGetPage.exit89.i, %199, %196, %165 - %231 = load volatile i32, ptr @CritSectionCount, align 4 - %232 = add i32 %231, -1 - store volatile i32 %232, ptr @CritSectionCount, align 4 +227: ; preds = %BufferGetPage.exit89.i, %196, %193, %162 + %228 = load volatile i32, ptr @CritSectionCount, align 4 + %229 = add i32 %228, -1 + store volatile i32 %229, ptr @CritSectionCount, align 4 br label %.loopexit105.i -.loopexit105.i: ; preds = %142, %230, %114 - %.154.i = phi i8 [ %.2.i, %230 ], [ %.053168.i, %114 ], [ %.053168.i, %142 ] - %233 = load ptr, ptr %36, align 8 - %234 = getelementptr inbounds nuw i8, ptr %233, i64 20 - %235 = load i16, ptr %234, align 4 - %236 = and i16 %235, 2048 - %.not70.i = icmp eq i16 %236, 0 - br i1 %.not70.i, label %237, label %.loopexit.i - -237: ; preds = %.loopexit105.i - %238 = getelementptr inbounds nuw i8, ptr %233, i64 12 - %239 = getelementptr i8, ptr %233, i64 16 - %.val3.i.i = load i16, ptr %239, align 2 - %240 = icmp eq i16 %.val3.i.i, -3 - br i1 %240, label %ItemPointerIndicatesMovedPartitions.exit.i, label %ItemPointerIndicatesMovedPartitions.exit.thread.i - -ItemPointerIndicatesMovedPartitions.exit.i: ; preds = %237 - %.val.i.i = load i16, ptr %238, align 2 - %241 = getelementptr i8, ptr %233, i64 14 - %.val2.i.i = load i16, ptr %241, align 2 - %242 = zext i16 %.val.i.i to i32 - %243 = shl nuw i32 %242, 16 - %244 = zext i16 %.val2.i.i to i32 - %245 = or disjoint i32 %243, %244 - %246 = icmp eq i32 %245, -1 - br i1 %246, label %.loopexit.i, label %ItemPointerIndicatesMovedPartitions.exit.thread.i - -ItemPointerIndicatesMovedPartitions.exit.thread.i: ; preds = %ItemPointerIndicatesMovedPartitions.exit.i, %237 - %247 = call zeroext i1 @ItemPointerEquals(ptr noundef nonnull %30, ptr noundef nonnull %238) #11 +.loopexit105.i: ; preds = %139, %227, %111 + %.154.i = phi i8 [ %.2.i, %227 ], [ %.053168.i, %111 ], [ %.053168.i, %139 ] + %230 = load ptr, ptr %36, align 8 + %231 = getelementptr inbounds nuw i8, ptr %230, i64 20 + %232 = load i16, ptr %231, align 4 + %233 = and i16 %232, 2048 + %.not70.i = icmp eq i16 %233, 0 + br i1 %.not70.i, label %234, label %.loopexit.i + +234: ; preds = %.loopexit105.i + %235 = getelementptr inbounds nuw i8, ptr %230, i64 12 + %236 = getelementptr i8, ptr %230, i64 16 + %.val3.i.i = load i16, ptr %236, align 2 + %237 = icmp eq i16 %.val3.i.i, -3 + br i1 %237, label %ItemPointerIndicatesMovedPartitions.exit.i, label %ItemPointerIndicatesMovedPartitions.exit.thread.i + +ItemPointerIndicatesMovedPartitions.exit.i: ; preds = %234 + %.val.i.i = load i16, ptr %235, align 2 + %238 = getelementptr i8, ptr %230, i64 14 + %.val2.i.i = load i16, ptr %238, align 2 + %239 = zext i16 %.val.i.i to i32 + %240 = shl nuw i32 %239, 16 + %241 = zext i16 %.val2.i.i to i32 + %242 = or disjoint i32 %240, %241 + %243 = icmp eq i32 %242, -1 + br i1 %243, label %.loopexit.i, label %ItemPointerIndicatesMovedPartitions.exit.thread.i + +ItemPointerIndicatesMovedPartitions.exit.thread.i: ; preds = %ItemPointerIndicatesMovedPartitions.exit.i, %234 + %244 = call zeroext i1 @ItemPointerEquals(ptr noundef nonnull %30, ptr noundef nonnull %235) #11 + br i1 %244, label %.loopexit.i, label %245 + +245: ; preds = %ItemPointerIndicatesMovedPartitions.exit.thread.i + %246 = load ptr, ptr %36, align 8 + %247 = call zeroext i1 @HeapTupleHeaderIsOnlyLocked(ptr noundef %246) #11 br i1 %247, label %.loopexit.i, label %248 -248: ; preds = %ItemPointerIndicatesMovedPartitions.exit.thread.i +248: ; preds = %245 %249 = load ptr, ptr %36, align 8 - %250 = call zeroext i1 @HeapTupleHeaderIsOnlyLocked(ptr noundef %249) #11 - br i1 %250, label %.loopexit.i, label %251 - -251: ; preds = %248 - %252 = load ptr, ptr %36, align 8 - %253 = getelementptr inbounds nuw i8, ptr %252, i64 20 - %254 = load i16, ptr %253, align 4 - %255 = and i16 %254, 6272 - %or.cond78.i = icmp eq i16 %255, 4096 - %256 = getelementptr inbounds nuw i8, ptr %252, i64 4 - %257 = load i32, ptr %256, align 4 - br i1 %or.cond78.i, label %258, label %270 - -258: ; preds = %251 + %250 = getelementptr inbounds nuw i8, ptr %249, i64 20 + %251 = load i16, ptr %250, align 4 + %252 = and i16 %251, 6272 + %or.cond78.i = icmp eq i16 %252, 4096 + %253 = getelementptr inbounds nuw i8, ptr %249, i64 4 + %254 = load i32, ptr %253, align 4 + br i1 %or.cond78.i, label %255, label %267 + +255: ; preds = %248 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %6) - %259 = call i32 @GetMultiXactIdMembers(i32 noundef %257, ptr noundef nonnull %6, i1 noundef zeroext false, i1 noundef zeroext false) #11 - %260 = icmp sgt i32 %259, 0 - br i1 %260, label %.preheader.i.i.i, label %HeapTupleGetUpdateXid.exit.i + %256 = call i32 @GetMultiXactIdMembers(i32 noundef %254, ptr noundef nonnull %6, i1 noundef zeroext false, i1 noundef zeroext false) #11 + %257 = icmp sgt i32 %256, 0 + br i1 %257, label %.preheader.i.i.i, label %HeapTupleGetUpdateXid.exit.i -.preheader.i.i.i: ; preds = %258 - %261 = load ptr, ptr %6, align 8 - %wide.trip.count.i.i.i = zext nneg i32 %259 to i64 - br label %263 +.preheader.i.i.i: ; preds = %255 + %258 = load ptr, ptr %6, align 8 + %wide.trip.count.i.i.i = zext nneg i32 %256 to i64 + br label %260 -262: ; preds = %263 +259: ; preds = %260 %indvars.iv.next.i.i.i = add nuw nsw i64 %indvars.iv.i.i.i, 1 %exitcond.not.i.i.i = icmp eq i64 %indvars.iv.next.i.i.i, %wide.trip.count.i.i.i - br i1 %exitcond.not.i.i.i, label %.loopexit.i.i.i, label %263, !llvm.loop !7 + br i1 %exitcond.not.i.i.i, label %.loopexit.i.i.i, label %260, !llvm.loop !7 -263: ; preds = %262, %.preheader.i.i.i - %indvars.iv.i.i.i = phi i64 [ 0, %.preheader.i.i.i ], [ %indvars.iv.next.i.i.i, %262 ] - %264 = getelementptr %struct.MultiXactMember, ptr %261, i64 %indvars.iv.i.i.i - %265 = getelementptr inbounds nuw i8, ptr %264, i64 4 - %266 = load i32, ptr %265, align 4 - %267 = icmp ugt i32 %266, 3 - br i1 %267, label %268, label %262 +260: ; preds = %259, %.preheader.i.i.i + %indvars.iv.i.i.i = phi i64 [ 0, %.preheader.i.i.i ], [ %indvars.iv.next.i.i.i, %259 ] + %261 = getelementptr %struct.MultiXactMember, ptr %258, i64 %indvars.iv.i.i.i + %262 = getelementptr inbounds nuw i8, ptr %261, i64 4 + %263 = load i32, ptr %262, align 4 + %264 = icmp ugt i32 %263, 3 + br i1 %264, label %265, label %259 -268: ; preds = %263 - %269 = load i32, ptr %264, align 4 +265: ; preds = %260 + %266 = load i32, ptr %261, align 4 br label %.loopexit.i.i.i -.loopexit.i.i.i: ; preds = %262, %268 - %.1.i.i.i = phi i32 [ %269, %268 ], [ 0, %262 ] - call void @pfree(ptr noundef nonnull %261) #11 +.loopexit.i.i.i: ; preds = %259, %265 + %.1.i.i.i = phi i32 [ %266, %265 ], [ 0, %259 ] + call void @pfree(ptr noundef nonnull %258) #11 br label %HeapTupleGetUpdateXid.exit.i -HeapTupleGetUpdateXid.exit.i: ; preds = %.loopexit.i.i.i, %258 - %.08.i.i.i = phi i32 [ %.1.i.i.i, %.loopexit.i.i.i ], [ 0, %258 ] +HeapTupleGetUpdateXid.exit.i: ; preds = %.loopexit.i.i.i, %255 + %.08.i.i.i = phi i32 [ %.1.i.i.i, %.loopexit.i.i.i ], [ 0, %255 ] call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %6) %.pre210.i = load ptr, ptr %36, align 8 - br label %270 - -270: ; preds = %HeapTupleGetUpdateXid.exit.i, %251 - %271 = phi ptr [ %.pre210.i, %HeapTupleGetUpdateXid.exit.i ], [ %252, %251 ] - %272 = phi i32 [ %.08.i.i.i, %HeapTupleGetUpdateXid.exit.i ], [ %257, %251 ] - %273 = getelementptr inbounds nuw i8, ptr %271, i64 12 - %.sroa.0.0.copyload91.i = load i16, ptr %273, align 2 - %.sroa.4.0..sroa_idx94.i = getelementptr inbounds nuw i8, ptr %271, i64 14 + br label %267 + +267: ; preds = %HeapTupleGetUpdateXid.exit.i, %248 + %268 = phi ptr [ %.pre210.i, %HeapTupleGetUpdateXid.exit.i ], [ %249, %248 ] + %269 = phi i32 [ %.08.i.i.i, %HeapTupleGetUpdateXid.exit.i ], [ %254, %248 ] + %270 = getelementptr inbounds nuw i8, ptr %268, i64 12 + %.sroa.0.0.copyload91.i = load i16, ptr %270, align 2 + %.sroa.4.0..sroa_idx94.i = getelementptr inbounds nuw i8, ptr %268, i64 14 %.sroa.4.0.copyload95.i = load i16, ptr %.sroa.4.0..sroa_idx94.i, align 2 - %.sroa.5.0..sroa_idx98.i = getelementptr inbounds nuw i8, ptr %271, i64 16 + %.sroa.5.0..sroa_idx98.i = getelementptr inbounds nuw i8, ptr %268, i64 16 %.sroa.5.0.copyload99.i = load i16, ptr %.sroa.5.0..sroa_idx98.i, align 2 call void @UnlockReleaseBuffer(i32 noundef %44) #11 store i16 0, ptr %9, align 2 store i32 0, ptr %11, align 4 - %274 = zext i16 %.sroa.0.0.copyload91.i to i32 - %275 = shl nuw i32 %274, 16 - %276 = zext i16 %.sroa.4.0.copyload95.i to i32 - %277 = or disjoint i32 %275, %276 + %271 = zext i16 %.sroa.0.0.copyload91.i to i32 + %272 = shl nuw i32 %271, 16 + %273 = zext i16 %.sroa.4.0.copyload95.i to i32 + %274 = or disjoint i32 %272, %273 store i16 %.sroa.0.0.copyload91.i, ptr %30, align 4 store i16 %.sroa.4.0.copyload95.i, ptr %.sroa.4.0..sroa_idx92.i, align 2 store i16 %.sroa.5.0.copyload99.i, ptr %.sroa.5.0..sroa_idx96.i, align 8 - %278 = call zeroext i1 @heap_fetch(ptr noundef %0, ptr noundef nonnull @SnapshotAnyData, ptr noundef nonnull %7, ptr noundef nonnull %8, i1 noundef zeroext false) - br i1 %278, label %.preheader.i, label %.loopexit106.i + %275 = call zeroext i1 @heap_fetch(ptr noundef %0, ptr noundef nonnull @SnapshotAnyData, ptr noundef nonnull %7, ptr noundef nonnull %8, i1 noundef zeroext false) + br i1 %275, label %.preheader.i, label %.loopexit106.i -.loopexit.i: ; preds = %248, %ItemPointerIndicatesMovedPartitions.exit.thread.i, %ItemPointerIndicatesMovedPartitions.exit.i, %.loopexit105.i, %149, %84, %78, %125 - %.1.i = phi i32 [ %112, %125 ], [ 0, %78 ], [ 0, %84 ], [ %143, %149 ], [ 0, %248 ], [ 0, %ItemPointerIndicatesMovedPartitions.exit.thread.i ], [ 0, %ItemPointerIndicatesMovedPartitions.exit.i ], [ 0, %.loopexit105.i ] +.loopexit.i: ; preds = %245, %ItemPointerIndicatesMovedPartitions.exit.thread.i, %ItemPointerIndicatesMovedPartitions.exit.i, %.loopexit105.i, %146, %84, %78, %122 + %.1.i = phi i32 [ %109, %122 ], [ 0, %78 ], [ 0, %84 ], [ %140, %146 ], [ 0, %245 ], [ 0, %ItemPointerIndicatesMovedPartitions.exit.thread.i ], [ 0, %ItemPointerIndicatesMovedPartitions.exit.i ], [ 0, %.loopexit105.i ] call void @UnlockReleaseBuffer(i32 noundef %44) #11 br label %.loopexit106.i -.loopexit106.i: ; preds = %270, %.loopexit.i, %29 - %.0.i = phi i32 [ %.1.i, %.loopexit.i ], [ 0, %29 ], [ 0, %270 ] - %279 = load i32, ptr %12, align 4 - %.not74.i = icmp eq i32 %279, 0 - br i1 %.not74.i, label %heap_lock_updated_tuple_rec.exit, label %280 +.loopexit106.i: ; preds = %267, %.loopexit.i, %29 + %.0.i = phi i32 [ %.1.i, %.loopexit.i ], [ 0, %29 ], [ 0, %267 ] + %276 = load i32, ptr %12, align 4 + %.not74.i = icmp eq i32 %276, 0 + br i1 %.not74.i, label %heap_lock_updated_tuple_rec.exit, label %277 -280: ; preds = %.loopexit106.i - call void @ReleaseBuffer(i32 noundef %279) #11 +277: ; preds = %.loopexit106.i + call void @ReleaseBuffer(i32 noundef %276) #11 br label %heap_lock_updated_tuple_rec.exit -heap_lock_updated_tuple_rec.exit: ; preds = %.loopexit106.i, %280 +heap_lock_updated_tuple_rec.exit: ; preds = %.loopexit106.i, %277 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %7) call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %8) call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %9) @@ -9329,9 +9320,9 @@ heap_lock_updated_tuple_rec.exit: ; preds = %.loopexit106.i, %28 call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %13) call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %14) call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %15) - br label %281 + br label %278 -281: ; preds = %ItemPointerIndicatesMovedPartitions.exit, %ItemPointerIndicatesMovedPartitions.exit.thread, %heap_lock_updated_tuple_rec.exit +278: ; preds = %ItemPointerIndicatesMovedPartitions.exit, %ItemPointerIndicatesMovedPartitions.exit.thread, %heap_lock_updated_tuple_rec.exit %.0 = phi i32 [ %.0.i, %heap_lock_updated_tuple_rec.exit ], [ 0, %ItemPointerIndicatesMovedPartitions.exit.thread ], [ 0, %ItemPointerIndicatesMovedPartitions.exit ] ret i32 %.0 } @@ -9931,7 +9922,7 @@ thread-pre-split: ; preds = %37, %33, %22 %49 = load i32, ptr %3, align 4 %50 = and i16 %47, 4096 %.not90 = icmp eq i16 %50, 0 - br i1 %.not90, label %232, label %51 + br i1 %.not90, label %229, label %51 51: ; preds = %.thread121 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %8) @@ -9965,508 +9956,505 @@ thread-pre-split: ; preds = %37, %33, %22 %67 = load i32, ptr %66, align 4 %68 = tail call zeroext i1 @MultiXactIdPrecedes(i32 noundef %49, i32 noundef %67) #11 %69 = icmp ne i32 %54, 0 - %70 = and i32 %53, 4176 - %71 = icmp eq i32 %70, 64 - %72 = or i1 %69, %71 - br i1 %68, label %73, label %111 - -73: ; preds = %65 - %74 = tail call zeroext i1 @MultiXactIdIsRunning(i32 noundef %49, i1 noundef zeroext %72) #11 - br i1 %74, label %75, label %80 - -75: ; preds = %73 - %76 = tail call zeroext i1 @errstart_cold(i32 noundef 21, ptr noundef null) #12 - tail call void @llvm.assume(i1 %76) - %77 = tail call i32 @errcode(i32 noundef 16779816) #11 - %78 = load i32, ptr %66, align 4 - %79 = tail call i32 (ptr, ...) @errmsg_internal(ptr noundef nonnull @.str.36, i32 noundef %49, i32 noundef %78) #11 + br i1 %68, label %70, label %108 + +70: ; preds = %65 + %71 = tail call zeroext i1 @MultiXactIdIsRunning(i32 noundef %49, i1 noundef zeroext %69) #11 + br i1 %71, label %72, label %77 + +72: ; preds = %70 + %73 = tail call zeroext i1 @errstart_cold(i32 noundef 21, ptr noundef null) #12 + tail call void @llvm.assume(i1 %73) + %74 = tail call i32 @errcode(i32 noundef 16779816) #11 + %75 = load i32, ptr %66, align 4 + %76 = tail call i32 (ptr, ...) @errmsg_internal(ptr noundef nonnull @.str.36, i32 noundef %49, i32 noundef %75) #11 tail call void @errfinish(ptr noundef nonnull @.str.1, i32 noundef 6076, ptr noundef nonnull @__func__.FreezeMultiXactId) #11 unreachable -80: ; preds = %73 - br i1 %72, label %FreezeMultiXactId.exit.thread, label %81 +77: ; preds = %70 + br i1 %69, label %FreezeMultiXactId.exit.thread, label %78 -81: ; preds = %80 +78: ; preds = %77 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %7) - %82 = call i32 @GetMultiXactIdMembers(i32 noundef %49, ptr noundef nonnull %7, i1 noundef zeroext false, i1 noundef zeroext false) #11 - %83 = icmp sgt i32 %82, 0 - br i1 %83, label %.preheader.i.i, label %MultiXactIdGetUpdateXid.exit.i + %79 = call i32 @GetMultiXactIdMembers(i32 noundef %49, ptr noundef nonnull %7, i1 noundef zeroext false, i1 noundef zeroext false) #11 + %80 = icmp sgt i32 %79, 0 + br i1 %80, label %.preheader.i.i, label %MultiXactIdGetUpdateXid.exit.i -.preheader.i.i: ; preds = %81 - %84 = load ptr, ptr %7, align 8 - %wide.trip.count.i.i = zext nneg i32 %82 to i64 - br label %86 +.preheader.i.i: ; preds = %78 + %81 = load ptr, ptr %7, align 8 + %wide.trip.count.i.i = zext nneg i32 %79 to i64 + br label %83 -85: ; preds = %86 +82: ; preds = %83 %indvars.iv.next.i.i = add nuw nsw i64 %indvars.iv.i.i, 1 %exitcond.not.i.i = icmp eq i64 %indvars.iv.next.i.i, %wide.trip.count.i.i - br i1 %exitcond.not.i.i, label %.loopexit.i.i, label %86, !llvm.loop !7 - -86: ; preds = %85, %.preheader.i.i - %indvars.iv.i.i = phi i64 [ 0, %.preheader.i.i ], [ %indvars.iv.next.i.i, %85 ] - %87 = getelementptr %struct.MultiXactMember, ptr %84, i64 %indvars.iv.i.i - %88 = getelementptr inbounds nuw i8, ptr %87, i64 4 - %89 = load i32, ptr %88, align 4 - %90 = icmp ugt i32 %89, 3 - br i1 %90, label %91, label %85 - -91: ; preds = %86 - %92 = load i32, ptr %87, align 4 + br i1 %exitcond.not.i.i, label %.loopexit.i.i, label %83, !llvm.loop !7 + +83: ; preds = %82, %.preheader.i.i + %indvars.iv.i.i = phi i64 [ 0, %.preheader.i.i ], [ %indvars.iv.next.i.i, %82 ] + %84 = getelementptr %struct.MultiXactMember, ptr %81, i64 %indvars.iv.i.i + %85 = getelementptr inbounds nuw i8, ptr %84, i64 4 + %86 = load i32, ptr %85, align 4 + %87 = icmp ugt i32 %86, 3 + br i1 %87, label %88, label %82 + +88: ; preds = %83 + %89 = load i32, ptr %84, align 4 br label %.loopexit.i.i -.loopexit.i.i: ; preds = %85, %91 - %.1.i.i = phi i32 [ %92, %91 ], [ 0, %85 ] - call void @pfree(ptr noundef nonnull %84) #11 +.loopexit.i.i: ; preds = %82, %88 + %.1.i.i = phi i32 [ %89, %88 ], [ 0, %82 ] + call void @pfree(ptr noundef nonnull %81) #11 br label %MultiXactIdGetUpdateXid.exit.i -MultiXactIdGetUpdateXid.exit.i: ; preds = %.loopexit.i.i, %81 - %.08.i.i = phi i32 [ %.1.i.i, %.loopexit.i.i ], [ 0, %81 ] +MultiXactIdGetUpdateXid.exit.i: ; preds = %.loopexit.i.i, %78 + %.08.i.i = phi i32 [ %.1.i.i, %.loopexit.i.i ], [ 0, %78 ] call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %7) - %93 = load i32, ptr %1, align 4 - %94 = call zeroext i1 @TransactionIdPrecedes(i32 noundef %.08.i.i, i32 noundef %93) #11 - br i1 %94, label %95, label %100 - -95: ; preds = %MultiXactIdGetUpdateXid.exit.i - %96 = call zeroext i1 @errstart_cold(i32 noundef 21, ptr noundef null) #12 - call void @llvm.assume(i1 %96) - %97 = call i32 @errcode(i32 noundef 16779816) #11 - %98 = load i32, ptr %1, align 4 - %99 = call i32 (ptr, ...) @errmsg_internal(ptr noundef nonnull @.str.37, i32 noundef %49, i32 noundef %.08.i.i, i32 noundef %98) #11 + %90 = load i32, ptr %1, align 4 + %91 = call zeroext i1 @TransactionIdPrecedes(i32 noundef %.08.i.i, i32 noundef %90) #11 + br i1 %91, label %92, label %97 + +92: ; preds = %MultiXactIdGetUpdateXid.exit.i + %93 = call zeroext i1 @errstart_cold(i32 noundef 21, ptr noundef null) #12 + call void @llvm.assume(i1 %93) + %94 = call i32 @errcode(i32 noundef 16779816) #11 + %95 = load i32, ptr %1, align 4 + %96 = call i32 (ptr, ...) @errmsg_internal(ptr noundef nonnull @.str.37, i32 noundef %49, i32 noundef %.08.i.i, i32 noundef %95) #11 call void @errfinish(ptr noundef nonnull @.str.1, i32 noundef 6092, ptr noundef nonnull @__func__.FreezeMultiXactId) #11 unreachable -100: ; preds = %MultiXactIdGetUpdateXid.exit.i - %101 = getelementptr inbounds nuw i8, ptr %1, i64 8 - %102 = load i32, ptr %101, align 4 - %103 = call zeroext i1 @TransactionIdPrecedes(i32 noundef %.08.i.i, i32 noundef %102) #11 - br i1 %103, label %104, label %FreezeMultiXactId.exit.thread - -104: ; preds = %100 - %105 = call zeroext i1 @TransactionIdDidCommit(i32 noundef %.08.i.i) #11 - br i1 %105, label %106, label %FreezeMultiXactId.exit.thread - -106: ; preds = %104 - %107 = call zeroext i1 @errstart_cold(i32 noundef 21, ptr noundef null) #12 - call void @llvm.assume(i1 %107) - %108 = call i32 @errcode(i32 noundef 16779816) #11 - %109 = load i32, ptr %101, align 4 - %110 = call i32 (ptr, ...) @errmsg_internal(ptr noundef nonnull @.str.38, i32 noundef %49, i32 noundef %.08.i.i, i32 noundef %109) #11 +97: ; preds = %MultiXactIdGetUpdateXid.exit.i + %98 = getelementptr inbounds nuw i8, ptr %1, i64 8 + %99 = load i32, ptr %98, align 4 + %100 = call zeroext i1 @TransactionIdPrecedes(i32 noundef %.08.i.i, i32 noundef %99) #11 + br i1 %100, label %101, label %FreezeMultiXactId.exit.thread + +101: ; preds = %97 + %102 = call zeroext i1 @TransactionIdDidCommit(i32 noundef %.08.i.i) #11 + br i1 %102, label %103, label %FreezeMultiXactId.exit.thread + +103: ; preds = %101 + %104 = call zeroext i1 @errstart_cold(i32 noundef 21, ptr noundef null) #12 + call void @llvm.assume(i1 %104) + %105 = call i32 @errcode(i32 noundef 16779816) #11 + %106 = load i32, ptr %98, align 4 + %107 = call i32 (ptr, ...) @errmsg_internal(ptr noundef nonnull @.str.38, i32 noundef %49, i32 noundef %.08.i.i, i32 noundef %106) #11 call void @errfinish(ptr noundef nonnull @.str.1, i32 noundef 6105, ptr noundef nonnull @__func__.FreezeMultiXactId) #11 unreachable -111: ; preds = %65 - %112 = call i32 @GetMultiXactIdMembers(i32 noundef %49, ptr noundef nonnull %8, i1 noundef zeroext false, i1 noundef zeroext %72) #11 - %113 = icmp slt i32 %112, 1 - br i1 %113, label %FreezeMultiXactId.exit.thread, label %114 - -114: ; preds = %111 - %115 = getelementptr inbounds nuw i8, ptr %2, i64 4 - %116 = load i32, ptr %115, align 4 - %117 = getelementptr inbounds nuw i8, ptr %1, i64 16 - %wide.trip.count.i = zext nneg i32 %112 to i64 - br label %118 +108: ; preds = %65 + %109 = call i32 @GetMultiXactIdMembers(i32 noundef %49, ptr noundef nonnull %8, i1 noundef zeroext false, i1 noundef zeroext %69) #11 + %110 = icmp slt i32 %109, 1 + br i1 %110, label %FreezeMultiXactId.exit.thread, label %111 + +111: ; preds = %108 + %112 = getelementptr inbounds nuw i8, ptr %2, i64 4 + %113 = load i32, ptr %112, align 4 + %114 = getelementptr inbounds nuw i8, ptr %1, i64 16 + %wide.trip.count.i = zext nneg i32 %109 to i64 + br label %115 + +115: ; preds = %121, %111 + %indvars.iv.i = phi i64 [ 0, %111 ], [ %indvars.iv.next.i, %121 ] + %.0122163.i = phi i32 [ %113, %111 ], [ %spec.select.i, %121 ] + %116 = load ptr, ptr %8, align 8 + %117 = getelementptr %struct.MultiXactMember, ptr %116, i64 %indvars.iv.i + %118 = load i32, ptr %117, align 4 + %119 = load i32, ptr %114, align 4 + %120 = call zeroext i1 @TransactionIdPrecedes(i32 noundef %118, i32 noundef %119) #11 + br i1 %120, label %.lr.ph.i, label %121 -118: ; preds = %124, %114 - %indvars.iv.i = phi i64 [ 0, %114 ], [ %indvars.iv.next.i, %124 ] - %.0122163.i = phi i32 [ %116, %114 ], [ %spec.select.i, %124 ] - %119 = load ptr, ptr %8, align 8 - %120 = getelementptr %struct.MultiXactMember, ptr %119, i64 %indvars.iv.i - %121 = load i32, ptr %120, align 4 - %122 = load i32, ptr %117, align 4 - %123 = call zeroext i1 @TransactionIdPrecedes(i32 noundef %121, i32 noundef %122) #11 - br i1 %123, label %.lr.ph.i, label %124 - -124: ; preds = %118 - %125 = call zeroext i1 @TransactionIdPrecedes(i32 noundef %121, i32 noundef %.0122163.i) #11 - %spec.select.i = select i1 %125, i32 %121, i32 %.0122163.i +121: ; preds = %115 + %122 = call zeroext i1 @TransactionIdPrecedes(i32 noundef %118, i32 noundef %.0122163.i) #11 + %spec.select.i = select i1 %122, i32 %118, i32 %.0122163.i %indvars.iv.next.i = add nuw nsw i64 %indvars.iv.i, 1 %exitcond.not.i = icmp eq i64 %indvars.iv.next.i, %wide.trip.count.i - br i1 %exitcond.not.i, label %126, label %118, !llvm.loop !28 - -126: ; preds = %124 - %127 = getelementptr inbounds nuw i8, ptr %1, i64 20 - %128 = load i32, ptr %127, align 4 - %129 = call zeroext i1 @MultiXactIdPrecedes(i32 noundef %49, i32 noundef %128) #11 - br i1 %129, label %.lr.ph.i, label %130 - -130: ; preds = %126 - store i32 %spec.select.i, ptr %115, align 4 - %131 = getelementptr inbounds nuw i8, ptr %2, i64 8 - %132 = load i32, ptr %131, align 4 - %133 = call zeroext i1 @MultiXactIdPrecedes(i32 noundef %49, i32 noundef %132) #11 - br i1 %133, label %134, label %FreezeMultiXactId.exit.thread127 - -134: ; preds = %130 - store i32 %49, ptr %131, align 4 + br i1 %exitcond.not.i, label %123, label %115, !llvm.loop !28 + +123: ; preds = %121 + %124 = getelementptr inbounds nuw i8, ptr %1, i64 20 + %125 = load i32, ptr %124, align 4 + %126 = call zeroext i1 @MultiXactIdPrecedes(i32 noundef %49, i32 noundef %125) #11 + br i1 %126, label %.lr.ph.i, label %127 + +127: ; preds = %123 + store i32 %spec.select.i, ptr %112, align 4 + %128 = getelementptr inbounds nuw i8, ptr %2, i64 8 + %129 = load i32, ptr %128, align 4 + %130 = call zeroext i1 @MultiXactIdPrecedes(i32 noundef %49, i32 noundef %129) #11 + br i1 %130, label %131, label %FreezeMultiXactId.exit.thread127 + +131: ; preds = %127 + store i32 %49, ptr %128, align 4 br label %FreezeMultiXactId.exit.thread127 -FreezeMultiXactId.exit.thread127: ; preds = %130, %134 - %135 = load ptr, ptr %8, align 8 - call void @pfree(ptr noundef %135) #11 +FreezeMultiXactId.exit.thread127: ; preds = %127, %131 + %132 = load ptr, ptr %8, align 8 + call void @pfree(ptr noundef %132) #11 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %8) - br label %262 - -.lr.ph.i: ; preds = %118, %126 - %136 = shl nuw nsw i64 %wide.trip.count.i, 3 - %137 = call ptr @palloc(i64 noundef %136) #11 - %138 = getelementptr inbounds nuw i8, ptr %1, i64 8 - br label %139 - -139: ; preds = %184, %.lr.ph.i - %indvars.iv182.i = phi i64 [ 0, %.lr.ph.i ], [ %indvars.iv.next183.i, %184 ] - %.0120168.i = phi i32 [ 0, %.lr.ph.i ], [ %.1121.i, %184 ] - %.0124167.i = phi i1 [ false, %.lr.ph.i ], [ %.1125.i, %184 ] - %.0126166.i = phi i32 [ 0, %.lr.ph.i ], [ %.1127.i, %184 ] - %.0129165.i = phi i1 [ false, %.lr.ph.i ], [ %.1130.i, %184 ] - %140 = load ptr, ptr %8, align 8 - %141 = getelementptr %struct.MultiXactMember, ptr %140, i64 %indvars.iv182.i - %142 = load i32, ptr %141, align 4 - %143 = getelementptr inbounds nuw i8, ptr %141, i64 4 - %144 = load i32, ptr %143, align 4 - %145 = icmp ugt i32 %144, 3 - br i1 %145, label %158, label %146 - -146: ; preds = %139 - %147 = call zeroext i1 @TransactionIdIsCurrentTransactionId(i32 noundef %142) #11 - br i1 %147, label %150, label %148 + br label %259 -148: ; preds = %146 - %149 = call zeroext i1 @TransactionIdIsInProgress(i32 noundef %142) #11 - br i1 %149, label %150, label %184 - -150: ; preds = %148, %146 - %151 = load i32, ptr %138, align 4 - %152 = call zeroext i1 @TransactionIdPrecedes(i32 noundef %142, i32 noundef %151) #11 - br i1 %152, label %153, label %.sink.split.i - -153: ; preds = %150 - %154 = call zeroext i1 @errstart_cold(i32 noundef 21, ptr noundef null) #12 - call void @llvm.assume(i1 %154) - %155 = call i32 @errcode(i32 noundef 16779816) #11 - %156 = load i32, ptr %138, align 4 - %157 = call i32 (ptr, ...) @errmsg_internal(ptr noundef nonnull @.str.39, i32 noundef %49, i32 noundef %142, i32 noundef %156) #11 +.lr.ph.i: ; preds = %115, %123 + %133 = shl nuw nsw i64 %wide.trip.count.i, 3 + %134 = call ptr @palloc(i64 noundef %133) #11 + %135 = getelementptr inbounds nuw i8, ptr %1, i64 8 + br label %136 + +136: ; preds = %181, %.lr.ph.i + %indvars.iv182.i = phi i64 [ 0, %.lr.ph.i ], [ %indvars.iv.next183.i, %181 ] + %.0120168.i = phi i32 [ 0, %.lr.ph.i ], [ %.1121.i, %181 ] + %.0124167.i = phi i1 [ false, %.lr.ph.i ], [ %.1125.i, %181 ] + %.0126166.i = phi i32 [ 0, %.lr.ph.i ], [ %.1127.i, %181 ] + %.0129165.i = phi i1 [ false, %.lr.ph.i ], [ %.1130.i, %181 ] + %137 = load ptr, ptr %8, align 8 + %138 = getelementptr %struct.MultiXactMember, ptr %137, i64 %indvars.iv182.i + %139 = load i32, ptr %138, align 4 + %140 = getelementptr inbounds nuw i8, ptr %138, i64 4 + %141 = load i32, ptr %140, align 4 + %142 = icmp ugt i32 %141, 3 + br i1 %142, label %155, label %143 + +143: ; preds = %136 + %144 = call zeroext i1 @TransactionIdIsCurrentTransactionId(i32 noundef %139) #11 + br i1 %144, label %147, label %145 + +145: ; preds = %143 + %146 = call zeroext i1 @TransactionIdIsInProgress(i32 noundef %139) #11 + br i1 %146, label %147, label %181 + +147: ; preds = %145, %143 + %148 = load i32, ptr %135, align 4 + %149 = call zeroext i1 @TransactionIdPrecedes(i32 noundef %139, i32 noundef %148) #11 + br i1 %149, label %150, label %.sink.split.i + +150: ; preds = %147 + %151 = call zeroext i1 @errstart_cold(i32 noundef 21, ptr noundef null) #12 + call void @llvm.assume(i1 %151) + %152 = call i32 @errcode(i32 noundef 16779816) #11 + %153 = load i32, ptr %135, align 4 + %154 = call i32 (ptr, ...) @errmsg_internal(ptr noundef nonnull @.str.39, i32 noundef %49, i32 noundef %139, i32 noundef %153) #11 call void @errfinish(ptr noundef nonnull @.str.1, i32 noundef 6226, ptr noundef nonnull @__func__.FreezeMultiXactId) #11 unreachable -158: ; preds = %139 +155: ; preds = %136 %.not136.i = icmp eq i32 %.0126166.i, 0 - br i1 %.not136.i, label %164, label %159 - -159: ; preds = %158 - %160 = call zeroext i1 @errstart_cold(i32 noundef 21, ptr noundef null) #12 - call void @llvm.assume(i1 %160) - %161 = call i32 @errcode(i32 noundef 16779816) #11 - %162 = call i32 (ptr, ...) @errmsg_internal(ptr noundef nonnull @.str.40, i32 noundef %49) #11 - %163 = call i32 (ptr, ...) @errdetail_internal(ptr noundef nonnull @.str.41, i32 noundef %.0126166.i, i32 noundef %142) #11 + br i1 %.not136.i, label %161, label %156 + +156: ; preds = %155 + %157 = call zeroext i1 @errstart_cold(i32 noundef 21, ptr noundef null) #12 + call void @llvm.assume(i1 %157) + %158 = call i32 @errcode(i32 noundef 16779816) #11 + %159 = call i32 (ptr, ...) @errmsg_internal(ptr noundef nonnull @.str.40, i32 noundef %49) #11 + %160 = call i32 (ptr, ...) @errdetail_internal(ptr noundef nonnull @.str.41, i32 noundef %.0126166.i, i32 noundef %139) #11 call void @errfinish(ptr noundef nonnull @.str.1, i32 noundef 6251, ptr noundef nonnull @__func__.FreezeMultiXactId) #11 unreachable -164: ; preds = %158 - %165 = call zeroext i1 @TransactionIdIsCurrentTransactionId(i32 noundef %142) #11 - br i1 %165, label %170, label %166 - -166: ; preds = %164 - %167 = call zeroext i1 @TransactionIdIsInProgress(i32 noundef %142) #11 - br i1 %167, label %170, label %168 - -168: ; preds = %166 - %169 = call zeroext i1 @TransactionIdDidCommit(i32 noundef %142) #11 - br i1 %169, label %170, label %184 - -170: ; preds = %168, %166, %164 - %.2.i = phi i1 [ %.0124167.i, %166 ], [ %.0124167.i, %164 ], [ true, %168 ] - %171 = load i32, ptr %138, align 4 - %172 = call zeroext i1 @TransactionIdPrecedes(i32 noundef %142, i32 noundef %171) #11 - br i1 %172, label %173, label %.sink.split.i - -173: ; preds = %170 - %174 = call zeroext i1 @errstart_cold(i32 noundef 21, ptr noundef null) #12 - call void @llvm.assume(i1 %174) - %175 = call i32 @errcode(i32 noundef 16779816) #11 - %176 = load i32, ptr %138, align 4 - %177 = call i32 (ptr, ...) @errmsg_internal(ptr noundef nonnull @.str.38, i32 noundef %49, i32 noundef %142, i32 noundef %176) #11 +161: ; preds = %155 + %162 = call zeroext i1 @TransactionIdIsCurrentTransactionId(i32 noundef %139) #11 + br i1 %162, label %167, label %163 + +163: ; preds = %161 + %164 = call zeroext i1 @TransactionIdIsInProgress(i32 noundef %139) #11 + br i1 %164, label %167, label %165 + +165: ; preds = %163 + %166 = call zeroext i1 @TransactionIdDidCommit(i32 noundef %139) #11 + br i1 %166, label %167, label %181 + +167: ; preds = %165, %163, %161 + %.2.i = phi i1 [ %.0124167.i, %163 ], [ %.0124167.i, %161 ], [ true, %165 ] + %168 = load i32, ptr %135, align 4 + %169 = call zeroext i1 @TransactionIdPrecedes(i32 noundef %139, i32 noundef %168) #11 + br i1 %169, label %170, label %.sink.split.i + +170: ; preds = %167 + %171 = call zeroext i1 @errstart_cold(i32 noundef 21, ptr noundef null) #12 + call void @llvm.assume(i1 %171) + %172 = call i32 @errcode(i32 noundef 16779816) #11 + %173 = load i32, ptr %135, align 4 + %174 = call i32 (ptr, ...) @errmsg_internal(ptr noundef nonnull @.str.38, i32 noundef %49, i32 noundef %139, i32 noundef %173) #11 call void @errfinish(ptr noundef nonnull @.str.1, i32 noundef 6288, ptr noundef nonnull @__func__.FreezeMultiXactId) #11 unreachable -.sink.split.i: ; preds = %170, %150 - %.1130.ph.i = phi i1 [ true, %150 ], [ %.0129165.i, %170 ] - %.1127.ph.i = phi i32 [ %.0126166.i, %150 ], [ %142, %170 ] - %.1125.ph.i = phi i1 [ %.0124167.i, %150 ], [ %.2.i, %170 ] - %178 = add i32 %.0120168.i, 1 - %179 = sext i32 %.0120168.i to i64 - %180 = getelementptr %struct.MultiXactMember, ptr %137, i64 %179 - %181 = load ptr, ptr %8, align 8 - %182 = getelementptr %struct.MultiXactMember, ptr %181, i64 %indvars.iv182.i - %183 = load i64, ptr %182, align 4 - store i64 %183, ptr %180, align 4 - br label %184 - -184: ; preds = %.sink.split.i, %168, %148 - %.1130.i = phi i1 [ %.0129165.i, %168 ], [ %.0129165.i, %148 ], [ %.1130.ph.i, %.sink.split.i ] - %.1127.i = phi i32 [ 0, %168 ], [ %.0126166.i, %148 ], [ %.1127.ph.i, %.sink.split.i ] - %.1125.i = phi i1 [ %.0124167.i, %168 ], [ %.0124167.i, %148 ], [ %.1125.ph.i, %.sink.split.i ] - %.1121.i = phi i32 [ %.0120168.i, %168 ], [ %.0120168.i, %148 ], [ %178, %.sink.split.i ] +.sink.split.i: ; preds = %167, %147 + %.1130.ph.i = phi i1 [ true, %147 ], [ %.0129165.i, %167 ] + %.1127.ph.i = phi i32 [ %.0126166.i, %147 ], [ %139, %167 ] + %.1125.ph.i = phi i1 [ %.0124167.i, %147 ], [ %.2.i, %167 ] + %175 = add i32 %.0120168.i, 1 + %176 = sext i32 %.0120168.i to i64 + %177 = getelementptr %struct.MultiXactMember, ptr %134, i64 %176 + %178 = load ptr, ptr %8, align 8 + %179 = getelementptr %struct.MultiXactMember, ptr %178, i64 %indvars.iv182.i + %180 = load i64, ptr %179, align 4 + store i64 %180, ptr %177, align 4 + br label %181 + +181: ; preds = %.sink.split.i, %165, %145 + %.1130.i = phi i1 [ %.0129165.i, %165 ], [ %.0129165.i, %145 ], [ %.1130.ph.i, %.sink.split.i ] + %.1127.i = phi i32 [ 0, %165 ], [ %.0126166.i, %145 ], [ %.1127.ph.i, %.sink.split.i ] + %.1125.i = phi i1 [ %.0124167.i, %165 ], [ %.0124167.i, %145 ], [ %.1125.ph.i, %.sink.split.i ] + %.1121.i = phi i32 [ %.0120168.i, %165 ], [ %.0120168.i, %145 ], [ %175, %.sink.split.i ] %indvars.iv.next183.i = add nuw nsw i64 %indvars.iv182.i, 1 %exitcond185.not.i = icmp eq i64 %indvars.iv.next183.i, %wide.trip.count.i - br i1 %exitcond185.not.i, label %._crit_edge.i, label %139, !llvm.loop !29 + br i1 %exitcond185.not.i, label %._crit_edge.i, label %136, !llvm.loop !29 -._crit_edge.i: ; preds = %184 - %185 = load ptr, ptr %8, align 8 - call void @pfree(ptr noundef %185) #11 - %186 = icmp eq i32 %.1121.i, 0 - br i1 %186, label %FreezeMultiXactId.exit, label %187 +._crit_edge.i: ; preds = %181 + %182 = load ptr, ptr %8, align 8 + call void @pfree(ptr noundef %182) #11 + %183 = icmp eq i32 %.1121.i, 0 + br i1 %183, label %FreezeMultiXactId.exit, label %184 -187: ; preds = %._crit_edge.i +184: ; preds = %._crit_edge.i %.not135.i = icmp eq i32 %.1127.i, 0 %brmerge.i = select i1 %.not135.i, i1 true, i1 %.1130.i - br i1 %brmerge.i, label %189, label %188 + br i1 %brmerge.i, label %186, label %185 -188: ; preds = %187 +185: ; preds = %184 %spec.select139.v.i = select i1 %.1125.i, i16 20, i16 4 br label %FreezeMultiXactId.exit -189: ; preds = %187 - %190 = call i32 @MultiXactIdCreateFromMembers(i32 noundef %.1121.i, ptr noundef %137) #11 +186: ; preds = %184 + %187 = call i32 @MultiXactIdCreateFromMembers(i32 noundef %.1121.i, ptr noundef %134) #11 br label %FreezeMultiXactId.exit -FreezeMultiXactId.exit: ; preds = %188, %189, %._crit_edge.i - %spec.select139.sink.i = phi i16 [ %spec.select139.v.i, %188 ], [ 8, %189 ], [ 2, %._crit_edge.i ] - %.0116.i = phi i32 [ %.1127.i, %188 ], [ %190, %189 ], [ 0, %._crit_edge.i ] - call void @pfree(ptr noundef %137) #11 +FreezeMultiXactId.exit: ; preds = %185, %186, %._crit_edge.i + %spec.select139.sink.i = phi i16 [ %spec.select139.v.i, %185 ], [ 8, %186 ], [ 2, %._crit_edge.i ] + %.0116.i = phi i32 [ %.1127.i, %185 ], [ %187, %186 ], [ 0, %._crit_edge.i ] + call void @pfree(ptr noundef %134) #11 br label %FreezeMultiXactId.exit.thread -FreezeMultiXactId.exit.thread: ; preds = %52, %51, %80, %104, %100, %111, %FreezeMultiXactId.exit - %.0.i126 = phi i32 [ %.0116.i, %FreezeMultiXactId.exit ], [ 0, %52 ], [ 0, %51 ], [ 0, %80 ], [ 0, %104 ], [ %.08.i.i, %100 ], [ 0, %111 ] - %.0125 = phi i16 [ %spec.select139.sink.i, %FreezeMultiXactId.exit ], [ 2, %52 ], [ 2, %51 ], [ 2, %80 ], [ 2, %104 ], [ 4, %100 ], [ 2, %111 ] +FreezeMultiXactId.exit.thread: ; preds = %52, %51, %77, %101, %97, %108, %FreezeMultiXactId.exit + %.0.i126 = phi i32 [ %.0116.i, %FreezeMultiXactId.exit ], [ 0, %52 ], [ 0, %51 ], [ 0, %77 ], [ 0, %101 ], [ %.08.i.i, %97 ], [ 0, %108 ] + %.0125 = phi i16 [ %spec.select139.sink.i, %FreezeMultiXactId.exit ], [ 2, %52 ], [ 2, %51 ], [ 2, %77 ], [ 2, %101 ], [ 4, %97 ], [ 2, %108 ] store i8 1, ptr %2, align 4 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %8) - %191 = zext nneg i16 %.0125 to i32 - %192 = and i32 %191, 4 - %.not94 = icmp eq i32 %192, 0 - br i1 %.not94, label %199, label %193 - -193: ; preds = %FreezeMultiXactId.exit.thread - %194 = load i16, ptr %16, align 2 - %195 = and i16 %194, -7377 - store i16 %195, ptr %16, align 2 + %188 = zext nneg i16 %.0125 to i32 + %189 = and i32 %188, 4 + %.not94 = icmp eq i32 %189, 0 + br i1 %.not94, label %196, label %190 + +190: ; preds = %FreezeMultiXactId.exit.thread + %191 = load i16, ptr %16, align 2 + %192 = and i16 %191, -7377 + store i16 %192, ptr %16, align 2 store i32 %.0.i126, ptr %3, align 4 - %196 = and i16 %.0125, 16 - %.not96 = icmp eq i16 %196, 0 - br i1 %.not96, label %262, label %197 - -197: ; preds = %193 - %198 = or disjoint i16 %195, 1024 - store i16 %198, ptr %16, align 2 - br label %262 - -199: ; preds = %FreezeMultiXactId.exit.thread - %200 = and i32 %191, 8 - %.not95 = icmp eq i32 %200, 0 - br i1 %.not95, label %262, label %201 - -201: ; preds = %199 - %202 = load i16, ptr %16, align 2 - %203 = and i16 %202, -7377 - store i16 %203, ptr %16, align 2 - %204 = load i16, ptr %13, align 4 - %205 = and i16 %204, -8193 - store i16 %205, ptr %13, align 4 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %6) - %206 = call i32 @GetMultiXactIdMembers(i32 noundef %.0.i126, ptr noundef nonnull %6, i1 noundef zeroext false, i1 noundef zeroext false) #11 - %207 = icmp sgt i32 %206, 0 - br i1 %207, label %.lr.ph.i103, label %GetMultiXactIdHintBits.exit + %193 = and i16 %.0125, 16 + %.not96 = icmp eq i16 %193, 0 + br i1 %.not96, label %259, label %194 -.lr.ph.i103: ; preds = %201 - %208 = load ptr, ptr %6, align 8 - %wide.trip.count.i104 = zext nneg i32 %206 to i64 - br label %209 +194: ; preds = %190 + %195 = or disjoint i16 %192, 1024 + store i16 %195, ptr %16, align 2 + br label %259 -209: ; preds = %220, %.lr.ph.i103 - %indvars.iv.i105 = phi i64 [ 0, %.lr.ph.i103 ], [ %indvars.iv.next.i107, %220 ] - %.02539.i = phi i32 [ 0, %.lr.ph.i103 ], [ %spec.select.i106, %220 ] - %.02638.i = phi i1 [ false, %.lr.ph.i103 ], [ %.127.i, %220 ] - %.02837.i = phi i16 [ 0, %.lr.ph.i103 ], [ %.129.i, %220 ] - %210 = getelementptr %struct.MultiXactMember, ptr %208, i64 %indvars.iv.i105, i32 1 +196: ; preds = %FreezeMultiXactId.exit.thread + %197 = and i32 %188, 8 + %.not95 = icmp eq i32 %197, 0 + br i1 %.not95, label %259, label %198 + +198: ; preds = %196 + %199 = load i16, ptr %16, align 2 + %200 = and i16 %199, -7377 + store i16 %200, ptr %16, align 2 + %201 = load i16, ptr %13, align 4 + %202 = and i16 %201, -8193 + store i16 %202, ptr %13, align 4 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %6) + %203 = call i32 @GetMultiXactIdMembers(i32 noundef %.0.i126, ptr noundef nonnull %6, i1 noundef zeroext false, i1 noundef zeroext false) #11 + %204 = icmp sgt i32 %203, 0 + br i1 %204, label %.lr.ph.i103, label %GetMultiXactIdHintBits.exit + +.lr.ph.i103: ; preds = %198 + %205 = load ptr, ptr %6, align 8 + %wide.trip.count.i104 = zext nneg i32 %203 to i64 + br label %206 + +206: ; preds = %217, %.lr.ph.i103 + %indvars.iv.i105 = phi i64 [ 0, %.lr.ph.i103 ], [ %indvars.iv.next.i107, %217 ] + %.02539.i = phi i32 [ 0, %.lr.ph.i103 ], [ %spec.select.i106, %217 ] + %.02638.i = phi i1 [ false, %.lr.ph.i103 ], [ %.127.i, %217 ] + %.02837.i = phi i16 [ 0, %.lr.ph.i103 ], [ %.129.i, %217 ] + %207 = getelementptr %struct.MultiXactMember, ptr %205, i64 %indvars.iv.i105, i32 1 + %208 = load i32, ptr %207, align 4 + %209 = zext i32 %208 to i64 + %210 = getelementptr [6 x i32], ptr @MultiXactStatusLock, i64 0, i64 %209 %211 = load i32, ptr %210, align 4 - %212 = zext i32 %211 to i64 - %213 = getelementptr [6 x i32], ptr @MultiXactStatusLock, i64 0, i64 %212 - %214 = load i32, ptr %213, align 4 - %.fr.i = freeze i32 %214 + %.fr.i = freeze i32 %211 %spec.select.i106 = call i32 @llvm.umax.i32(i32 %.fr.i, i32 %.02539.i) - switch i32 %211, label %220 [ - i32 5, label %218 - i32 4, label %217 - i32 3, label %215 + switch i32 %208, label %217 [ + i32 5, label %215 + i32 4, label %214 + i32 3, label %212 ] -215: ; preds = %209 - %216 = or i16 %.02837.i, 8192 - br label %220 +212: ; preds = %206 + %213 = or i16 %.02837.i, 8192 + br label %217 -217: ; preds = %209 - br label %220 +214: ; preds = %206 + br label %217 -218: ; preds = %209 - %219 = or i16 %.02837.i, 8192 - br label %220 +215: ; preds = %206 + %216 = or i16 %.02837.i, 8192 + br label %217 -220: ; preds = %218, %217, %215, %209 - %.129.i = phi i16 [ %.02837.i, %209 ], [ %216, %215 ], [ %.02837.i, %217 ], [ %219, %218 ] - %.127.i = phi i1 [ %.02638.i, %209 ], [ %.02638.i, %215 ], [ true, %217 ], [ true, %218 ] +217: ; preds = %215, %214, %212, %206 + %.129.i = phi i16 [ %.02837.i, %206 ], [ %213, %212 ], [ %.02837.i, %214 ], [ %216, %215 ] + %.127.i = phi i1 [ %.02638.i, %206 ], [ %.02638.i, %212 ], [ true, %214 ], [ true, %215 ] %indvars.iv.next.i107 = add nuw nsw i64 %indvars.iv.i105, 1 %exitcond.not.i108 = icmp eq i64 %indvars.iv.next.i107, %wide.trip.count.i104 - br i1 %exitcond.not.i108, label %._crit_edge.i109, label %209, !llvm.loop !22 + br i1 %exitcond.not.i108, label %._crit_edge.i109, label %206, !llvm.loop !22 -._crit_edge.i109: ; preds = %220 - call void @pfree(ptr noundef nonnull %208) #11 - %221 = and i32 %spec.select.i106, -2 - %or.cond.i = icmp eq i32 %221, 2 - br i1 %or.cond.i, label %222, label %223 +._crit_edge.i109: ; preds = %217 + call void @pfree(ptr noundef nonnull %205) #11 + %218 = and i32 %spec.select.i106, -2 + %or.cond.i = icmp eq i32 %218, 2 + br i1 %or.cond.i, label %219, label %220 -222: ; preds = %._crit_edge.i109 - br i1 %.127.i, label %225, label %GetMultiXactIdHintBits.exit +219: ; preds = %._crit_edge.i109 + br i1 %.127.i, label %222, label %GetMultiXactIdHintBits.exit -223: ; preds = %._crit_edge.i109 +220: ; preds = %._crit_edge.i109 %switch.selectcmp35.i = icmp eq i32 %spec.select.i106, 1 %switch.selectcmp.i = icmp eq i32 %spec.select.i106, 0 %..i = select i1 %switch.selectcmp.i, i16 4112, i16 4096 %...i = select i1 %switch.selectcmp35.i, i16 4176, i16 %..i - %224 = or disjoint i16 %...i, 128 - br i1 %.127.i, label %225, label %GetMultiXactIdHintBits.exit + %221 = or disjoint i16 %...i, 128 + br i1 %.127.i, label %222, label %GetMultiXactIdHintBits.exit -225: ; preds = %223, %222 - %226 = phi i16 [ 4160, %222 ], [ %...i, %223 ] +222: ; preds = %220, %219 + %223 = phi i16 [ 4160, %219 ], [ %...i, %220 ] br label %GetMultiXactIdHintBits.exit -GetMultiXactIdHintBits.exit: ; preds = %201, %222, %223, %225 - %.028.lcssa4658728694.i = phi i16 [ %.129.i, %225 ], [ %.129.i, %223 ], [ %.129.i, %222 ], [ 0, %201 ] - %227 = phi i16 [ %226, %225 ], [ %224, %223 ], [ 4288, %222 ], [ 4240, %201 ] +GetMultiXactIdHintBits.exit: ; preds = %198, %219, %220, %222 + %.028.lcssa4658728694.i = phi i16 [ %.129.i, %222 ], [ %.129.i, %220 ], [ %.129.i, %219 ], [ 0, %198 ] + %224 = phi i16 [ %223, %222 ], [ %221, %220 ], [ 4288, %219 ], [ 4240, %198 ] call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %6) - %228 = load i16, ptr %16, align 2 - %229 = or i16 %228, %227 - store i16 %229, ptr %16, align 2 - %230 = load i16, ptr %13, align 4 - %231 = or i16 %230, %.028.lcssa4658728694.i - store i16 %231, ptr %13, align 4 + %225 = load i16, ptr %16, align 2 + %226 = or i16 %225, %224 + store i16 %226, ptr %16, align 2 + %227 = load i16, ptr %13, align 4 + %228 = or i16 %227, %.028.lcssa4658728694.i + store i16 %228, ptr %13, align 4 store i32 %.0.i126, ptr %3, align 4 - br label %262 - -232: ; preds = %.thread121 - %233 = icmp ugt i32 %49, 2 - br i1 %233, label %234, label %255 + br label %259 -234: ; preds = %232 - %235 = load i32, ptr %1, align 4 - %236 = tail call zeroext i1 @TransactionIdPrecedes(i32 noundef %49, i32 noundef %235) #11 - br i1 %236, label %237, label %242 - -237: ; preds = %234 - %238 = tail call zeroext i1 @errstart_cold(i32 noundef 21, ptr noundef null) #12 - tail call void @llvm.assume(i1 %238) - %239 = tail call i32 @errcode(i32 noundef 16779816) #11 - %240 = load i32, ptr %1, align 4 - %241 = tail call i32 (ptr, ...) @errmsg_internal(ptr noundef nonnull @.str.19, i32 noundef %49, i32 noundef %240) #11 +229: ; preds = %.thread121 + %230 = icmp ugt i32 %49, 2 + br i1 %230, label %231, label %252 + +231: ; preds = %229 + %232 = load i32, ptr %1, align 4 + %233 = tail call zeroext i1 @TransactionIdPrecedes(i32 noundef %49, i32 noundef %232) #11 + br i1 %233, label %234, label %239 + +234: ; preds = %231 + %235 = tail call zeroext i1 @errstart_cold(i32 noundef 21, ptr noundef null) #12 + tail call void @llvm.assume(i1 %235) + %236 = tail call i32 @errcode(i32 noundef 16779816) #11 + %237 = load i32, ptr %1, align 4 + %238 = tail call i32 (ptr, ...) @errmsg_internal(ptr noundef nonnull @.str.19, i32 noundef %49, i32 noundef %237) #11 tail call void @errfinish(ptr noundef nonnull @.str.1, i32 noundef 6551, ptr noundef nonnull @__func__.heap_prepare_freeze_tuple) #11 unreachable -242: ; preds = %234 - %243 = getelementptr inbounds nuw i8, ptr %1, i64 8 - %244 = load i32, ptr %243, align 4 - %245 = tail call zeroext i1 @TransactionIdPrecedes(i32 noundef %49, i32 noundef %244) #11 - br i1 %245, label %246, label %262 +239: ; preds = %231 + %240 = getelementptr inbounds nuw i8, ptr %1, i64 8 + %241 = load i32, ptr %240, align 4 + %242 = tail call zeroext i1 @TransactionIdPrecedes(i32 noundef %49, i32 noundef %241) #11 + br i1 %242, label %243, label %259 + +243: ; preds = %239 + %244 = load i16, ptr %14, align 4 + %245 = zext i16 %244 to i32 + %246 = and i32 %245, 128 + %.not92 = icmp ne i32 %246, 0 + %247 = and i32 %245, 4176 + %248 = icmp eq i32 %247, 64 + %or.cond = or i1 %.not92, %248 + br i1 %or.cond, label %259, label %249 + +249: ; preds = %243 + %250 = load i8, ptr %18, align 1 + %251 = or i8 %250, 2 + store i8 %251, ptr %18, align 1 + br label %259 -246: ; preds = %242 - %247 = load i16, ptr %14, align 4 - %248 = zext i16 %247 to i32 - %249 = and i32 %248, 128 - %.not92 = icmp ne i32 %249, 0 - %250 = and i32 %248, 4176 - %251 = icmp eq i32 %250, 64 - %or.cond = or i1 %.not92, %251 - br i1 %or.cond, label %262, label %252 - -252: ; preds = %246 - %253 = load i8, ptr %18, align 1 - %254 = or i8 %253, 2 - store i8 %254, ptr %18, align 1 - br label %262 - -255: ; preds = %232 +252: ; preds = %229 %.not91 = icmp eq i32 %49, 0 - br i1 %.not91, label %262, label %256 - -256: ; preds = %255 - %257 = tail call zeroext i1 @errstart_cold(i32 noundef 21, ptr noundef null) #12 - tail call void @llvm.assume(i1 %257) - %258 = tail call i32 @errcode(i32 noundef 16779816) #11 - %259 = load i16, ptr %14, align 4 - %260 = zext i16 %259 to i32 - %261 = tail call i32 (ptr, ...) @errmsg_internal(ptr noundef nonnull @.str.20, i32 noundef %49, i32 noundef %260) #11 + br i1 %.not91, label %259, label %253 + +253: ; preds = %252 + %254 = tail call zeroext i1 @errstart_cold(i32 noundef 21, ptr noundef null) #12 + tail call void @llvm.assume(i1 %254) + %255 = tail call i32 @errcode(i32 noundef 16779816) #11 + %256 = load i16, ptr %14, align 4 + %257 = zext i16 %256 to i32 + %258 = tail call i32 (ptr, ...) @errmsg_internal(ptr noundef nonnull @.str.20, i32 noundef %49, i32 noundef %257) #11 tail call void @errfinish(ptr noundef nonnull @.str.1, i32 noundef 6574, ptr noundef nonnull @__func__.heap_prepare_freeze_tuple) #11 unreachable -262: ; preds = %FreezeMultiXactId.exit.thread127, %255, %199, %193, %197, %252, %246, %242, %GetMultiXactIdHintBits.exit - %.087 = phi i1 [ false, %GetMultiXactIdHintBits.exit ], [ false, %246 ], [ false, %252 ], [ false, %242 ], [ false, %197 ], [ false, %193 ], [ false, %199 ], [ true, %255 ], [ false, %FreezeMultiXactId.exit.thread127 ] - %.084 = phi i1 [ true, %GetMultiXactIdHintBits.exit ], [ true, %246 ], [ true, %252 ], [ false, %242 ], [ true, %197 ], [ true, %193 ], [ true, %199 ], [ false, %255 ], [ false, %FreezeMultiXactId.exit.thread127 ] - %.083.shrunk = phi i1 [ false, %GetMultiXactIdHintBits.exit ], [ true, %246 ], [ true, %252 ], [ false, %242 ], [ false, %197 ], [ false, %193 ], [ true, %199 ], [ false, %255 ], [ false, %FreezeMultiXactId.exit.thread127 ] - br i1 %.086.shrunk, label %263, label %266 +259: ; preds = %FreezeMultiXactId.exit.thread127, %252, %196, %190, %194, %249, %243, %239, %GetMultiXactIdHintBits.exit + %.087 = phi i1 [ false, %GetMultiXactIdHintBits.exit ], [ false, %243 ], [ false, %249 ], [ false, %239 ], [ false, %194 ], [ false, %190 ], [ false, %196 ], [ true, %252 ], [ false, %FreezeMultiXactId.exit.thread127 ] + %.084 = phi i1 [ true, %GetMultiXactIdHintBits.exit ], [ true, %243 ], [ true, %249 ], [ false, %239 ], [ true, %194 ], [ true, %190 ], [ true, %196 ], [ false, %252 ], [ false, %FreezeMultiXactId.exit.thread127 ] + %.083.shrunk = phi i1 [ false, %GetMultiXactIdHintBits.exit ], [ true, %243 ], [ true, %249 ], [ false, %239 ], [ false, %194 ], [ false, %190 ], [ true, %196 ], [ false, %252 ], [ false, %FreezeMultiXactId.exit.thread127 ] + br i1 %.086.shrunk, label %260, label %263 -263: ; preds = %262 - %264 = load i16, ptr %16, align 2 - %265 = or i16 %264, 768 - store i16 %265, ptr %16, align 2 - br label %266 +260: ; preds = %259 + %261 = load i16, ptr %16, align 2 + %262 = or i16 %261, 768 + store i16 %262, ptr %16, align 2 + br label %263 -266: ; preds = %263, %262 - br i1 %48, label %.sink.split, label %271 +263: ; preds = %260, %259 + br i1 %48, label %.sink.split, label %268 -.sink.split: ; preds = %266 - %267 = load i16, ptr %14, align 4 - %268 = and i16 %267, 16384 - %.not97 = icmp eq i16 %268, 0 - %269 = load i8, ptr %17, align 4 +.sink.split: ; preds = %263 + %264 = load i16, ptr %14, align 4 + %265 = and i16 %264, 16384 + %.not97 = icmp eq i16 %265, 0 + %266 = load i8, ptr %17, align 4 %. = select i1 %.not97, i8 2, i8 4 - %270 = or i8 %269, %. - store i8 %270, ptr %17, align 4 - br label %271 + %267 = or i8 %266, %. + store i8 %267, ptr %17, align 4 + br label %268 -271: ; preds = %.sink.split, %266 - br i1 %.083.shrunk, label %272, label %278 +268: ; preds = %.sink.split, %263 + br i1 %.083.shrunk, label %269, label %275 -272: ; preds = %271 +269: ; preds = %268 store i32 0, ptr %3, align 4 - %273 = load i16, ptr %16, align 2 - %274 = and i16 %273, -7377 - %275 = or disjoint i16 %274, 2048 - store i16 %275, ptr %16, align 2 - %276 = load i16, ptr %13, align 4 - %277 = and i16 %276, -24577 - store i16 %277, ptr %13, align 4 - br label %278 + %270 = load i16, ptr %16, align 2 + %271 = and i16 %270, -7377 + %272 = or disjoint i16 %271, 2048 + store i16 %272, ptr %16, align 2 + %273 = load i16, ptr %13, align 4 + %274 = and i16 %273, -24577 + store i16 %274, ptr %13, align 4 + br label %275 -278: ; preds = %272, %271 +275: ; preds = %269, %268 %brmerge = or i1 %41, %.086.shrunk - %279 = or i1 %.087, %.083.shrunk - %narrow = and i1 %brmerge, %279 - %280 = zext i1 %narrow to i8 - store i8 %280, ptr %4, align 1 - %281 = load i8, ptr %2, align 4 - %282 = trunc i8 %281 to i1 + %276 = or i1 %.087, %.083.shrunk + %narrow = and i1 %brmerge, %276 + %277 = zext i1 %narrow to i8 + store i8 %277, ptr %4, align 1 + %278 = load i8, ptr %2, align 4 + %279 = trunc i8 %278 to i1 %brmerge100.demorgan = and i1 %41, %.087 - %or.cond131 = or i1 %brmerge100.demorgan, %282 - br i1 %or.cond131, label %288, label %283 - -283: ; preds = %278 - %284 = getelementptr inbounds nuw i8, ptr %2, i64 12 - %285 = getelementptr inbounds nuw i8, ptr %2, i64 16 - %286 = call zeroext i1 @heap_tuple_should_freeze(ptr noundef %0, ptr noundef %1, ptr noundef nonnull %284, ptr noundef nonnull %285) - %287 = zext i1 %286 to i8 - store i8 %287, ptr %2, align 4 - br label %288 - -288: ; preds = %283, %278 - %289 = or i1 %48, %.084 - %spec.select102 = or i1 %289, %.086.shrunk + %or.cond131 = or i1 %brmerge100.demorgan, %279 + br i1 %or.cond131, label %285, label %280 + +280: ; preds = %275 + %281 = getelementptr inbounds nuw i8, ptr %2, i64 12 + %282 = getelementptr inbounds nuw i8, ptr %2, i64 16 + %283 = call zeroext i1 @heap_tuple_should_freeze(ptr noundef %0, ptr noundef %1, ptr noundef nonnull %281, ptr noundef nonnull %282) + %284 = zext i1 %283 to i8 + store i8 %284, ptr %2, align 4 + br label %285 + +285: ; preds = %280, %275 + %286 = or i1 %48, %.084 + %spec.select102 = or i1 %286, %.086.shrunk ret i1 %spec.select102 } diff --git a/bench/postgres/optimized/heapam_visibility.ll b/bench/postgres/optimized/heapam_visibility.ll index 632e9857569..479d42673f1 100644 --- a/bench/postgres/optimized/heapam_visibility.ll +++ b/bench/postgres/optimized/heapam_visibility.ll @@ -79,7 +79,7 @@ define dso_local range(i32 0, 6) i32 @HeapTupleSatisfiesUpdate(ptr noundef %0, i 10: ; preds = %3 %11 = and i32 %8, 512 %.not98 = icmp eq i32 %11, 0 - br i1 %.not98, label %12, label %181 + br i1 %.not98, label %12, label %179 12: ; preds = %10 %13 = and i32 %8, 16384 @@ -90,7 +90,7 @@ define dso_local range(i32 0, 6) i32 @HeapTupleSatisfiesUpdate(ptr noundef %0, i %15 = getelementptr inbounds nuw i8, ptr %5, i64 8 %16 = load i32, ptr %15, align 4 %17 = tail call zeroext i1 @TransactionIdIsCurrentTransactionId(i32 noundef %16) #3 - br i1 %17, label %181, label %18 + br i1 %17, label %179, label %18 18: ; preds = %14 %19 = tail call zeroext i1 @TransactionIdIsInProgress(i32 noundef %16) #3 @@ -105,7 +105,7 @@ define dso_local range(i32 0, 6) i32 @HeapTupleSatisfiesUpdate(ptr noundef %0, i %24 = or i16 %22, 512 store i16 %24, ptr %6, align 4 tail call void @MarkBufferDirtyHint(i32 noundef %2, i1 noundef zeroext true) #3 - br label %181 + br label %179 25: ; preds = %20 %26 = or i16 %22, 256 @@ -125,7 +125,7 @@ define dso_local range(i32 0, 6) i32 @HeapTupleSatisfiesUpdate(ptr noundef %0, i 32: ; preds = %28 %33 = tail call zeroext i1 @TransactionIdIsInProgress(i32 noundef %30) #3 - br i1 %33, label %181, label %34 + br i1 %33, label %179, label %34 34: ; preds = %32 %35 = tail call zeroext i1 @TransactionIdDidCommit(i32 noundef %30) #3 @@ -142,7 +142,7 @@ define dso_local range(i32 0, 6) i32 @HeapTupleSatisfiesUpdate(ptr noundef %0, i %40 = or i16 %36, 512 store i16 %40, ptr %6, align 4 tail call void @MarkBufferDirtyHint(i32 noundef %2, i1 noundef zeroext true) #3 - br label %181 + br label %179 41: ; preds = %27 %42 = load i32, ptr %5, align 4 @@ -152,14 +152,14 @@ define dso_local range(i32 0, 6) i32 @HeapTupleSatisfiesUpdate(ptr noundef %0, i 44: ; preds = %41 %45 = tail call i32 @HeapTupleHeaderGetCmin(ptr noundef nonnull %5) #3 %.not101 = icmp ult i32 %45, %1 - br i1 %.not101, label %46, label %181 + br i1 %.not101, label %46, label %179 46: ; preds = %44 %47 = load i16, ptr %6, align 4 %48 = zext i16 %47 to i32 %49 = and i32 %48, 2048 %.not102 = icmp eq i32 %49, 0 - br i1 %.not102, label %50, label %181 + br i1 %.not102, label %50, label %179 50: ; preds = %46 %51 = and i32 %48, 128 @@ -179,12 +179,12 @@ define dso_local range(i32 0, 6) i32 @HeapTupleSatisfiesUpdate(ptr noundef %0, i 58: ; preds = %54 %59 = tail call zeroext i1 @MultiXactIdIsRunning(i32 noundef %56, i1 noundef zeroext true) #3 %. = select i1 %59, i32 5, i32 0 - br label %181 + br label %179 60: ; preds = %54 %61 = tail call zeroext i1 @TransactionIdIsInProgress(i32 noundef %56) #3 %.120 = select i1 %61, i32 5, i32 0 - br label %181 + br label %179 62: ; preds = %50 %63 = and i32 %48, 4096 @@ -201,13 +201,13 @@ define dso_local range(i32 0, 6) i32 @HeapTupleSatisfiesUpdate(ptr noundef %0, i %69 = load i32, ptr %68, align 4 %70 = tail call zeroext i1 @MultiXactIdIsRunning(i32 noundef %69, i1 noundef zeroext false) #3 %.121 = select i1 %70, i32 5, i32 0 - br label %181 + br label %179 71: ; preds = %64 %72 = tail call i32 @HeapTupleHeaderGetCmax(ptr noundef nonnull %5) #3 %.not106 = icmp ult i32 %72, %1 %.122 = select i1 %.not106, i32 1, i32 2 - br label %181 + br label %179 73: ; preds = %62 %74 = getelementptr inbounds nuw i8, ptr %5, i64 4 @@ -220,18 +220,18 @@ define dso_local range(i32 0, 6) i32 @HeapTupleSatisfiesUpdate(ptr noundef %0, i %79 = or i16 %78, 2048 store i16 %79, ptr %6, align 4 tail call void @MarkBufferDirtyHint(i32 noundef %2, i1 noundef zeroext true) #3 - br label %181 + br label %179 80: ; preds = %73 %81 = tail call i32 @HeapTupleHeaderGetCmax(ptr noundef nonnull %5) #3 %.not105 = icmp ult i32 %81, %1 %.123 = select i1 %.not105, i32 1, i32 2 - br label %181 + br label %179 82: ; preds = %41 %83 = load i32, ptr %5, align 4 %84 = tail call zeroext i1 @TransactionIdIsInProgress(i32 noundef %83) #3 - br i1 %84, label %181, label %85 + br i1 %84, label %179, label %85 85: ; preds = %82 %86 = load i32, ptr %5, align 4 @@ -248,14 +248,14 @@ define dso_local range(i32 0, 6) i32 @HeapTupleSatisfiesUpdate(ptr noundef %0, i %92 = or i16 %91, 512 store i16 %92, ptr %6, align 4 tail call void @MarkBufferDirtyHint(i32 noundef %2, i1 noundef zeroext true) #3 - br label %181 + br label %179 93: ; preds = %25, %18, %28, %37, %88, %3 %94 = load i16, ptr %6, align 4 %95 = zext i16 %94 to i32 %96 = and i32 %95, 2048 %.not108 = icmp eq i32 %96, 0 - br i1 %.not108, label %97, label %181 + br i1 %.not108, label %97, label %179 97: ; preds = %93 %98 = and i32 %95, 1024 @@ -268,161 +268,158 @@ define dso_local range(i32 0, 6) i32 @HeapTupleSatisfiesUpdate(ptr noundef %0, i %101 = and i32 %95, 4176 %102 = icmp eq i32 %101, 64 %or.cond125 = or i1 %.not118, %102 - br i1 %or.cond125, label %181, label %103 + br i1 %or.cond125, label %179, label %103 103: ; preds = %99 %104 = getelementptr inbounds nuw i8, ptr %0, i64 4 %105 = getelementptr inbounds nuw i8, ptr %5, i64 12 %106 = tail call zeroext i1 @ItemPointerEquals(ptr noundef nonnull %104, ptr noundef nonnull %105) #3 %.126 = select i1 %106, i32 4, i32 3 - br label %181 + br label %179 107: ; preds = %97 %108 = and i32 %95, 4096 %.not110 = icmp eq i32 %108, 0 - br i1 %.not110, label %148, label %109 + br i1 %.not110, label %146, label %109 109: ; preds = %107 %110 = and i32 %95, 208 %or.cond128 = icmp eq i32 %110, 128 - br i1 %or.cond128, label %181, label %111 + br i1 %or.cond128, label %179, label %111 111: ; preds = %109 %112 = and i32 %95, 128 - %.not114 = icmp ne i32 %112, 0 - %113 = and i32 %95, 4176 - %114 = icmp eq i32 %113, 64 - %or.cond130 = or i1 %.not114, %114 - br i1 %or.cond130, label %115, label %122 - -115: ; preds = %111 - %116 = getelementptr inbounds nuw i8, ptr %5, i64 4 - %117 = load i32, ptr %116, align 4 - %118 = tail call zeroext i1 @MultiXactIdIsRunning(i32 noundef %117, i1 noundef zeroext true) #3 - br i1 %118, label %181, label %119 - -119: ; preds = %115 - %120 = load i16, ptr %6, align 4 - %121 = or i16 %120, 2048 - store i16 %121, ptr %6, align 4 + %.not114.not = icmp eq i32 %112, 0 + br i1 %.not114.not, label %120, label %113 + +113: ; preds = %111 + %114 = getelementptr inbounds nuw i8, ptr %5, i64 4 + %115 = load i32, ptr %114, align 4 + %116 = tail call zeroext i1 @MultiXactIdIsRunning(i32 noundef %115, i1 noundef zeroext true) #3 + br i1 %116, label %179, label %117 + +117: ; preds = %113 + %118 = load i16, ptr %6, align 4 + %119 = or i16 %118, 2048 + store i16 %119, ptr %6, align 4 tail call void @MarkBufferDirtyHint(i32 noundef %2, i1 noundef zeroext true) #3 - br label %181 - -122: ; preds = %111 - %123 = tail call i32 @HeapTupleGetUpdateXid(ptr noundef nonnull %5) #3 - %.not116 = icmp eq i32 %123, 0 - br i1 %.not116, label %124, label %128 - -124: ; preds = %122 - %125 = getelementptr inbounds nuw i8, ptr %5, i64 4 - %126 = load i32, ptr %125, align 4 - %127 = tail call zeroext i1 @MultiXactIdIsRunning(i32 noundef %126, i1 noundef zeroext false) #3 - br i1 %127, label %181, label %128 - -128: ; preds = %124, %122 - %129 = tail call zeroext i1 @TransactionIdIsCurrentTransactionId(i32 noundef %123) #3 - br i1 %129, label %130, label %132 - -130: ; preds = %128 - %131 = tail call i32 @HeapTupleHeaderGetCmax(ptr noundef nonnull %5) #3 - %.not117 = icmp ult i32 %131, %1 + br label %179 + +120: ; preds = %111 + %121 = tail call i32 @HeapTupleGetUpdateXid(ptr noundef nonnull %5) #3 + %.not116 = icmp eq i32 %121, 0 + br i1 %.not116, label %122, label %126 + +122: ; preds = %120 + %123 = getelementptr inbounds nuw i8, ptr %5, i64 4 + %124 = load i32, ptr %123, align 4 + %125 = tail call zeroext i1 @MultiXactIdIsRunning(i32 noundef %124, i1 noundef zeroext false) #3 + br i1 %125, label %179, label %126 + +126: ; preds = %122, %120 + %127 = tail call zeroext i1 @TransactionIdIsCurrentTransactionId(i32 noundef %121) #3 + br i1 %127, label %128, label %130 + +128: ; preds = %126 + %129 = tail call i32 @HeapTupleHeaderGetCmax(ptr noundef nonnull %5) #3 + %.not117 = icmp ult i32 %129, %1 %.131 = select i1 %.not117, i32 1, i32 2 - br label %181 - -132: ; preds = %128 - %133 = getelementptr inbounds nuw i8, ptr %5, i64 4 - %134 = load i32, ptr %133, align 4 - %135 = tail call zeroext i1 @MultiXactIdIsRunning(i32 noundef %134, i1 noundef zeroext false) #3 - br i1 %135, label %181, label %136 - -136: ; preds = %132 - %137 = tail call zeroext i1 @TransactionIdDidCommit(i32 noundef %123) #3 - br i1 %137, label %138, label %142 - -138: ; preds = %136 - %139 = getelementptr inbounds nuw i8, ptr %0, i64 4 - %140 = getelementptr inbounds nuw i8, ptr %5, i64 12 - %141 = tail call zeroext i1 @ItemPointerEquals(ptr noundef nonnull %139, ptr noundef nonnull %140) #3 - %.132 = select i1 %141, i32 4, i32 3 - br label %181 - -142: ; preds = %136 - %143 = load i32, ptr %133, align 4 - %144 = tail call zeroext i1 @MultiXactIdIsRunning(i32 noundef %143, i1 noundef zeroext false) #3 - br i1 %144, label %181, label %145 - -145: ; preds = %142 - %146 = load i16, ptr %6, align 4 - %147 = or i16 %146, 2048 - store i16 %147, ptr %6, align 4 + br label %179 + +130: ; preds = %126 + %131 = getelementptr inbounds nuw i8, ptr %5, i64 4 + %132 = load i32, ptr %131, align 4 + %133 = tail call zeroext i1 @MultiXactIdIsRunning(i32 noundef %132, i1 noundef zeroext false) #3 + br i1 %133, label %179, label %134 + +134: ; preds = %130 + %135 = tail call zeroext i1 @TransactionIdDidCommit(i32 noundef %121) #3 + br i1 %135, label %136, label %140 + +136: ; preds = %134 + %137 = getelementptr inbounds nuw i8, ptr %0, i64 4 + %138 = getelementptr inbounds nuw i8, ptr %5, i64 12 + %139 = tail call zeroext i1 @ItemPointerEquals(ptr noundef nonnull %137, ptr noundef nonnull %138) #3 + %.132 = select i1 %139, i32 4, i32 3 + br label %179 + +140: ; preds = %134 + %141 = load i32, ptr %131, align 4 + %142 = tail call zeroext i1 @MultiXactIdIsRunning(i32 noundef %141, i1 noundef zeroext false) #3 + br i1 %142, label %179, label %143 + +143: ; preds = %140 + %144 = load i16, ptr %6, align 4 + %145 = or i16 %144, 2048 + store i16 %145, ptr %6, align 4 tail call void @MarkBufferDirtyHint(i32 noundef %2, i1 noundef zeroext true) #3 - br label %181 - -148: ; preds = %107 - %149 = getelementptr inbounds nuw i8, ptr %5, i64 4 - %150 = load i32, ptr %149, align 4 - %151 = tail call zeroext i1 @TransactionIdIsCurrentTransactionId(i32 noundef %150) #3 - br i1 %151, label %152, label %160 - -152: ; preds = %148 - %153 = load i16, ptr %6, align 4 - %154 = zext i16 %153 to i32 - %155 = and i32 %154, 128 - %.not112 = icmp ne i32 %155, 0 - %156 = and i32 %154, 4176 - %157 = icmp eq i32 %156, 64 - %or.cond134 = or i1 %.not112, %157 - br i1 %or.cond134, label %181, label %158 - -158: ; preds = %152 - %159 = tail call i32 @HeapTupleHeaderGetCmax(ptr noundef nonnull %5) #3 - %.not113 = icmp ult i32 %159, %1 + br label %179 + +146: ; preds = %107 + %147 = getelementptr inbounds nuw i8, ptr %5, i64 4 + %148 = load i32, ptr %147, align 4 + %149 = tail call zeroext i1 @TransactionIdIsCurrentTransactionId(i32 noundef %148) #3 + br i1 %149, label %150, label %158 + +150: ; preds = %146 + %151 = load i16, ptr %6, align 4 + %152 = zext i16 %151 to i32 + %153 = and i32 %152, 128 + %.not112 = icmp ne i32 %153, 0 + %154 = and i32 %152, 4176 + %155 = icmp eq i32 %154, 64 + %or.cond134 = or i1 %.not112, %155 + br i1 %or.cond134, label %179, label %156 + +156: ; preds = %150 + %157 = tail call i32 @HeapTupleHeaderGetCmax(ptr noundef nonnull %5) #3 + %.not113 = icmp ult i32 %157, %1 %.135 = select i1 %.not113, i32 1, i32 2 - br label %181 - -160: ; preds = %148 - %161 = load i32, ptr %149, align 4 - %162 = tail call zeroext i1 @TransactionIdIsInProgress(i32 noundef %161) #3 - br i1 %162, label %181, label %163 - -163: ; preds = %160 - %164 = load i32, ptr %149, align 4 - %165 = tail call zeroext i1 @TransactionIdDidCommit(i32 noundef %164) #3 - %166 = load i16, ptr %6, align 4 - br i1 %165, label %169, label %167 - -167: ; preds = %163 - %168 = or i16 %166, 2048 - store i16 %168, ptr %6, align 4 + br label %179 + +158: ; preds = %146 + %159 = load i32, ptr %147, align 4 + %160 = tail call zeroext i1 @TransactionIdIsInProgress(i32 noundef %159) #3 + br i1 %160, label %179, label %161 + +161: ; preds = %158 + %162 = load i32, ptr %147, align 4 + %163 = tail call zeroext i1 @TransactionIdDidCommit(i32 noundef %162) #3 + %164 = load i16, ptr %6, align 4 + br i1 %163, label %167, label %165 + +165: ; preds = %161 + %166 = or i16 %164, 2048 + store i16 %166, ptr %6, align 4 tail call void @MarkBufferDirtyHint(i32 noundef %2, i1 noundef zeroext true) #3 - br label %181 - -169: ; preds = %163 - %170 = zext i16 %166 to i32 - %171 = and i32 %170, 128 - %.not111 = icmp ne i32 %171, 0 - %172 = and i32 %170, 4176 - %173 = icmp eq i32 %172, 64 - %or.cond137 = or i1 %.not111, %173 - br i1 %or.cond137, label %174, label %176 - -174: ; preds = %169 - %175 = or i16 %166, 2048 - store i16 %175, ptr %6, align 4 + br label %179 + +167: ; preds = %161 + %168 = zext i16 %164 to i32 + %169 = and i32 %168, 128 + %.not111 = icmp ne i32 %169, 0 + %170 = and i32 %168, 4176 + %171 = icmp eq i32 %170, 64 + %or.cond137 = or i1 %.not111, %171 + br i1 %or.cond137, label %172, label %174 + +172: ; preds = %167 + %173 = or i16 %164, 2048 + store i16 %173, ptr %6, align 4 tail call void @MarkBufferDirtyHint(i32 noundef %2, i1 noundef zeroext true) #3 - br label %181 - -176: ; preds = %169 - %177 = load i32, ptr %149, align 4 - tail call fastcc void @SetHintBits(ptr noundef nonnull %5, i32 noundef %2, i16 noundef zeroext 1024, i32 noundef %177) - %178 = getelementptr inbounds nuw i8, ptr %0, i64 4 - %179 = getelementptr inbounds nuw i8, ptr %5, i64 12 - %180 = tail call zeroext i1 @ItemPointerEquals(ptr noundef nonnull %178, ptr noundef nonnull %179) #3 - %.138 = select i1 %180, i32 4, i32 3 - br label %181 - -181: ; preds = %176, %160, %158, %152, %142, %138, %132, %130, %124, %115, %109, %103, %99, %93, %82, %80, %71, %67, %60, %58, %46, %44, %32, %14, %10, %174, %167, %145, %119, %90, %77, %39, %23 - %.0 = phi i32 [ 0, %119 ], [ 0, %145 ], [ 0, %174 ], [ 0, %167 ], [ 1, %23 ], [ 1, %39 ], [ 0, %77 ], [ 1, %90 ], [ 1, %10 ], [ 1, %14 ], [ 1, %32 ], [ 1, %44 ], [ 0, %46 ], [ %., %58 ], [ %.120, %60 ], [ %.121, %67 ], [ %.122, %71 ], [ %.123, %80 ], [ 1, %82 ], [ 0, %93 ], [ 0, %99 ], [ %.126, %103 ], [ 0, %109 ], [ 5, %115 ], [ 5, %124 ], [ %.131, %130 ], [ 5, %132 ], [ %.132, %138 ], [ 5, %142 ], [ 5, %152 ], [ %.135, %158 ], [ 5, %160 ], [ %.138, %176 ] + br label %179 + +174: ; preds = %167 + %175 = load i32, ptr %147, align 4 + tail call fastcc void @SetHintBits(ptr noundef nonnull %5, i32 noundef %2, i16 noundef zeroext 1024, i32 noundef %175) + %176 = getelementptr inbounds nuw i8, ptr %0, i64 4 + %177 = getelementptr inbounds nuw i8, ptr %5, i64 12 + %178 = tail call zeroext i1 @ItemPointerEquals(ptr noundef nonnull %176, ptr noundef nonnull %177) #3 + %.138 = select i1 %178, i32 4, i32 3 + br label %179 + +179: ; preds = %174, %158, %156, %150, %140, %136, %130, %128, %122, %113, %109, %103, %99, %93, %82, %80, %71, %67, %60, %58, %46, %44, %32, %14, %10, %172, %165, %143, %117, %90, %77, %39, %23 + %.0 = phi i32 [ 0, %117 ], [ 0, %143 ], [ 0, %172 ], [ 0, %165 ], [ 1, %23 ], [ 1, %39 ], [ 0, %77 ], [ 1, %90 ], [ 1, %10 ], [ 1, %14 ], [ 1, %32 ], [ 1, %44 ], [ 0, %46 ], [ %., %58 ], [ %.120, %60 ], [ %.121, %67 ], [ %.122, %71 ], [ %.123, %80 ], [ 1, %82 ], [ 0, %93 ], [ 0, %99 ], [ %.126, %103 ], [ 0, %109 ], [ 5, %113 ], [ 5, %122 ], [ %.131, %128 ], [ 5, %130 ], [ %.132, %136 ], [ 5, %140 ], [ 5, %150 ], [ %.135, %156 ], [ 5, %158 ], [ %.138, %174 ] ret i32 %.0 } @@ -835,11 +832,11 @@ define dso_local zeroext i1 @HeapTupleSatisfiesVisibility(ptr noundef %0, ptr no switch i32 %13, label %HeapTupleSatisfiesMVCC.exit [ i32 0, label %14 i32 1, label %146 - i32 2, label %268 - i32 3, label %269 - i32 4, label %307 - i32 5, label %453 - i32 6, label %548 + i32 2, label %266 + i32 3, label %267 + i32 4, label %305 + i32 5, label %449 + i32 6, label %544 ] 14: ; preds = %3 @@ -1269,696 +1266,690 @@ define dso_local zeroext i1 @HeapTupleSatisfiesVisibility(ptr noundef %0, ptr no 227: ; preds = %221 %228 = and i32 %219, 4096 %.not73.i = icmp eq i32 %228, 0 - br i1 %.not73.i, label %240, label %229 + br i1 %.not73.i, label %238, label %229 229: ; preds = %227 %230 = and i32 %219, 128 - %.not76.i = icmp ne i32 %230, 0 - %231 = and i32 %219, 4176 - %232 = icmp eq i32 %231, 64 - %or.cond82.i = or i1 %.not76.i, %232 - br i1 %or.cond82.i, label %HeapTupleSatisfiesMVCC.exit, label %233 - -233: ; preds = %229 - %234 = tail call i32 @HeapTupleGetUpdateXid(ptr noundef nonnull %.val22) #3 - %235 = tail call zeroext i1 @TransactionIdIsCurrentTransactionId(i32 noundef %234) #3 - br i1 %235, label %HeapTupleSatisfiesMVCC.exit, label %236 + %.not76.i = icmp eq i32 %230, 0 + br i1 %.not76.i, label %231, label %HeapTupleSatisfiesMVCC.exit -236: ; preds = %233 - %237 = tail call zeroext i1 @TransactionIdIsInProgress(i32 noundef %234) #3 - br i1 %237, label %HeapTupleSatisfiesMVCC.exit, label %238 +231: ; preds = %229 + %232 = tail call i32 @HeapTupleGetUpdateXid(ptr noundef nonnull %.val22) #3 + %233 = tail call zeroext i1 @TransactionIdIsCurrentTransactionId(i32 noundef %232) #3 + br i1 %233, label %HeapTupleSatisfiesMVCC.exit, label %234 + +234: ; preds = %231 + %235 = tail call zeroext i1 @TransactionIdIsInProgress(i32 noundef %232) #3 + br i1 %235, label %HeapTupleSatisfiesMVCC.exit, label %236 -238: ; preds = %236 - %239 = tail call zeroext i1 @TransactionIdDidCommit(i32 noundef %234) #3 - %not..i28 = xor i1 %239, true +236: ; preds = %234 + %237 = tail call zeroext i1 @TransactionIdDidCommit(i32 noundef %232) #3 + %not..i28 = xor i1 %237, true br label %HeapTupleSatisfiesMVCC.exit -240: ; preds = %227 - %241 = getelementptr inbounds nuw i8, ptr %.val22, i64 4 - %242 = load i32, ptr %241, align 4 - %243 = tail call zeroext i1 @TransactionIdIsCurrentTransactionId(i32 noundef %242) #3 - br i1 %243, label %244, label %250 - -244: ; preds = %240 - %245 = load i16, ptr %148, align 4 - %246 = zext i16 %245 to i32 - %247 = and i32 %246, 128 - %.not75.i = icmp ne i32 %247, 0 - %248 = and i32 %246, 4176 - %249 = icmp eq i32 %248, 64 - %or.cond85.i = or i1 %.not75.i, %249 +238: ; preds = %227 + %239 = getelementptr inbounds nuw i8, ptr %.val22, i64 4 + %240 = load i32, ptr %239, align 4 + %241 = tail call zeroext i1 @TransactionIdIsCurrentTransactionId(i32 noundef %240) #3 + br i1 %241, label %242, label %248 + +242: ; preds = %238 + %243 = load i16, ptr %148, align 4 + %244 = zext i16 %243 to i32 + %245 = and i32 %244, 128 + %.not75.i = icmp ne i32 %245, 0 + %246 = and i32 %244, 4176 + %247 = icmp eq i32 %246, 64 + %or.cond83.i = or i1 %.not75.i, %247 br label %HeapTupleSatisfiesMVCC.exit -250: ; preds = %240 - %251 = load i32, ptr %241, align 4 - %252 = tail call zeroext i1 @TransactionIdIsInProgress(i32 noundef %251) #3 - br i1 %252, label %HeapTupleSatisfiesMVCC.exit, label %253 +248: ; preds = %238 + %249 = load i32, ptr %239, align 4 + %250 = tail call zeroext i1 @TransactionIdIsInProgress(i32 noundef %249) #3 + br i1 %250, label %HeapTupleSatisfiesMVCC.exit, label %251 -253: ; preds = %250 - %254 = load i32, ptr %241, align 4 - %255 = tail call zeroext i1 @TransactionIdDidCommit(i32 noundef %254) #3 - %256 = load i16, ptr %148, align 4 - br i1 %255, label %259, label %257 +251: ; preds = %248 + %252 = load i32, ptr %239, align 4 + %253 = tail call zeroext i1 @TransactionIdDidCommit(i32 noundef %252) #3 + %254 = load i16, ptr %148, align 4 + br i1 %253, label %257, label %255 -257: ; preds = %253 - %258 = or i16 %256, 2048 - store i16 %258, ptr %148, align 4 +255: ; preds = %251 + %256 = or i16 %254, 2048 + store i16 %256, ptr %148, align 4 tail call void @MarkBufferDirtyHint(i32 noundef %2, i1 noundef zeroext true) #3 br label %HeapTupleSatisfiesMVCC.exit -259: ; preds = %253 - %260 = zext i16 %256 to i32 - %261 = and i32 %260, 128 - %.not74.i = icmp ne i32 %261, 0 - %262 = and i32 %260, 4176 - %263 = icmp eq i32 %262, 64 - %or.cond87.i = or i1 %.not74.i, %263 - br i1 %or.cond87.i, label %264, label %266 - -264: ; preds = %259 - %265 = or i16 %256, 2048 - store i16 %265, ptr %148, align 4 +257: ; preds = %251 + %258 = zext i16 %254 to i32 + %259 = and i32 %258, 128 + %.not74.i = icmp ne i32 %259, 0 + %260 = and i32 %258, 4176 + %261 = icmp eq i32 %260, 64 + %or.cond85.i = or i1 %.not74.i, %261 + br i1 %or.cond85.i, label %262, label %264 + +262: ; preds = %257 + %263 = or i16 %254, 2048 + store i16 %263, ptr %148, align 4 tail call void @MarkBufferDirtyHint(i32 noundef %2, i1 noundef zeroext true) #3 br label %HeapTupleSatisfiesMVCC.exit -266: ; preds = %259 - %267 = load i32, ptr %241, align 4 - tail call fastcc void @SetHintBits(ptr noundef nonnull %.val22, i32 noundef %2, i16 noundef zeroext 1024, i32 noundef %267) +264: ; preds = %257 + %265 = load i32, ptr %239, align 4 + tail call fastcc void @SetHintBits(ptr noundef nonnull %.val22, i32 noundef %2, i16 noundef zeroext 1024, i32 noundef %265) br label %HeapTupleSatisfiesMVCC.exit -268: ; preds = %3 +266: ; preds = %3 br label %HeapTupleSatisfiesMVCC.exit -269: ; preds = %3 - %270 = getelementptr i8, ptr %0, i64 16 - %.val23 = load ptr, ptr %270, align 8 - %271 = getelementptr inbounds nuw i8, ptr %.val23, i64 20 - %272 = load i16, ptr %271, align 4 - %273 = zext i16 %272 to i32 - %274 = and i32 %273, 256 - %.not.i30 = icmp eq i32 %274, 0 - br i1 %.not.i30, label %275, label %306 - -275: ; preds = %269 - %276 = and i32 %273, 512 - %.not26.i = icmp eq i32 %276, 0 - br i1 %.not26.i, label %277, label %HeapTupleSatisfiesMVCC.exit +267: ; preds = %3 + %268 = getelementptr i8, ptr %0, i64 16 + %.val23 = load ptr, ptr %268, align 8 + %269 = getelementptr inbounds nuw i8, ptr %.val23, i64 20 + %270 = load i16, ptr %269, align 4 + %271 = zext i16 %270 to i32 + %272 = and i32 %271, 256 + %.not.i30 = icmp eq i32 %272, 0 + br i1 %.not.i30, label %273, label %304 + +273: ; preds = %267 + %274 = and i32 %271, 512 + %.not26.i = icmp eq i32 %274, 0 + br i1 %.not26.i, label %275, label %HeapTupleSatisfiesMVCC.exit + +275: ; preds = %273 + %276 = and i32 %271, 16384 + %.not27.i = icmp eq i32 %276, 0 + br i1 %.not27.i, label %288, label %277 277: ; preds = %275 - %278 = and i32 %273, 16384 - %.not27.i = icmp eq i32 %278, 0 - br i1 %.not27.i, label %290, label %279 - -279: ; preds = %277 - %280 = getelementptr inbounds nuw i8, ptr %.val23, i64 8 - %281 = load i32, ptr %280, align 4 - %282 = tail call zeroext i1 @TransactionIdIsCurrentTransactionId(i32 noundef %281) #3 - br i1 %282, label %HeapTupleSatisfiesMVCC.exit, label %283 - -283: ; preds = %279 - %284 = tail call zeroext i1 @TransactionIdIsInProgress(i32 noundef %281) #3 - br i1 %284, label %306, label %285 - -285: ; preds = %283 - %286 = tail call zeroext i1 @TransactionIdDidCommit(i32 noundef %281) #3 - %287 = load i16, ptr %271, align 4 - br i1 %286, label %288, label %.sink.split.i - -288: ; preds = %285 - %289 = or i16 %287, 512 - store i16 %289, ptr %271, align 4 + %278 = getelementptr inbounds nuw i8, ptr %.val23, i64 8 + %279 = load i32, ptr %278, align 4 + %280 = tail call zeroext i1 @TransactionIdIsCurrentTransactionId(i32 noundef %279) #3 + br i1 %280, label %HeapTupleSatisfiesMVCC.exit, label %281 + +281: ; preds = %277 + %282 = tail call zeroext i1 @TransactionIdIsInProgress(i32 noundef %279) #3 + br i1 %282, label %304, label %283 + +283: ; preds = %281 + %284 = tail call zeroext i1 @TransactionIdDidCommit(i32 noundef %279) #3 + %285 = load i16, ptr %269, align 4 + br i1 %284, label %286, label %.sink.split.i + +286: ; preds = %283 + %287 = or i16 %285, 512 + store i16 %287, ptr %269, align 4 tail call void @MarkBufferDirtyHint(i32 noundef %2, i1 noundef zeroext true) #3 br label %HeapTupleSatisfiesMVCC.exit -290: ; preds = %277 - %.not28.i = icmp sgt i16 %272, -1 - br i1 %.not28.i, label %302, label %291 +288: ; preds = %275 + %.not28.i = icmp sgt i16 %270, -1 + br i1 %.not28.i, label %300, label %289 -291: ; preds = %290 - %292 = getelementptr inbounds nuw i8, ptr %.val23, i64 8 - %293 = load i32, ptr %292, align 4 - %294 = tail call zeroext i1 @TransactionIdIsCurrentTransactionId(i32 noundef %293) #3 - br i1 %294, label %306, label %295 +289: ; preds = %288 + %290 = getelementptr inbounds nuw i8, ptr %.val23, i64 8 + %291 = load i32, ptr %290, align 4 + %292 = tail call zeroext i1 @TransactionIdIsCurrentTransactionId(i32 noundef %291) #3 + br i1 %292, label %304, label %293 -295: ; preds = %291 - %296 = tail call zeroext i1 @TransactionIdIsInProgress(i32 noundef %293) #3 - br i1 %296, label %HeapTupleSatisfiesMVCC.exit, label %297 +293: ; preds = %289 + %294 = tail call zeroext i1 @TransactionIdIsInProgress(i32 noundef %291) #3 + br i1 %294, label %HeapTupleSatisfiesMVCC.exit, label %295 -297: ; preds = %295 - %298 = tail call zeroext i1 @TransactionIdDidCommit(i32 noundef %293) #3 - %299 = load i16, ptr %271, align 4 - br i1 %298, label %.sink.split.i, label %300 +295: ; preds = %293 + %296 = tail call zeroext i1 @TransactionIdDidCommit(i32 noundef %291) #3 + %297 = load i16, ptr %269, align 4 + br i1 %296, label %.sink.split.i, label %298 -300: ; preds = %297 - %301 = or i16 %299, 512 - store i16 %301, ptr %271, align 4 +298: ; preds = %295 + %299 = or i16 %297, 512 + store i16 %299, ptr %269, align 4 tail call void @MarkBufferDirtyHint(i32 noundef %2, i1 noundef zeroext true) #3 br label %HeapTupleSatisfiesMVCC.exit -302: ; preds = %290 - %303 = load i32, ptr %.val23, align 4 - %304 = icmp eq i32 %303, 0 - br i1 %304, label %HeapTupleSatisfiesMVCC.exit, label %306 +300: ; preds = %288 + %301 = load i32, ptr %.val23, align 4 + %302 = icmp eq i32 %301, 0 + br i1 %302, label %HeapTupleSatisfiesMVCC.exit, label %304 -.sink.split.i: ; preds = %297, %285 - %.sink1.i = phi i16 [ %287, %285 ], [ %299, %297 ] - %305 = or i16 %.sink1.i, 256 - store i16 %305, ptr %271, align 4 +.sink.split.i: ; preds = %295, %283 + %.sink1.i = phi i16 [ %285, %283 ], [ %297, %295 ] + %303 = or i16 %.sink1.i, 256 + store i16 %303, ptr %269, align 4 tail call void @MarkBufferDirtyHint(i32 noundef %2, i1 noundef zeroext true) #3 - br label %306 + br label %304 -306: ; preds = %.sink.split.i, %302, %291, %283, %269 +304: ; preds = %.sink.split.i, %300, %289, %281, %267 br label %HeapTupleSatisfiesMVCC.exit -307: ; preds = %3 - %308 = getelementptr i8, ptr %0, i64 16 - %.val24 = load ptr, ptr %308, align 8 - %309 = getelementptr inbounds nuw i8, ptr %1, i64 8 - store i32 0, ptr %309, align 8 - %310 = getelementptr inbounds nuw i8, ptr %1, i64 4 - store i32 0, ptr %310, align 4 - %311 = getelementptr inbounds nuw i8, ptr %1, i64 52 - store i32 0, ptr %311, align 4 - %312 = getelementptr inbounds nuw i8, ptr %.val24, i64 20 - %313 = load i16, ptr %312, align 4 - %314 = zext i16 %313 to i32 - %315 = and i32 %314, 256 - %.not.i32 = icmp eq i32 %315, 0 - br i1 %.not.i32, label %316, label %393 - -316: ; preds = %307 - %317 = and i32 %314, 512 - %.not79.i43 = icmp eq i32 %317, 0 - br i1 %.not79.i43, label %318, label %HeapTupleSatisfiesMVCC.exit +305: ; preds = %3 + %306 = getelementptr i8, ptr %0, i64 16 + %.val24 = load ptr, ptr %306, align 8 + %307 = getelementptr inbounds nuw i8, ptr %1, i64 8 + store i32 0, ptr %307, align 8 + %308 = getelementptr inbounds nuw i8, ptr %1, i64 4 + store i32 0, ptr %308, align 4 + %309 = getelementptr inbounds nuw i8, ptr %1, i64 52 + store i32 0, ptr %309, align 4 + %310 = getelementptr inbounds nuw i8, ptr %.val24, i64 20 + %311 = load i16, ptr %310, align 4 + %312 = zext i16 %311 to i32 + %313 = and i32 %312, 256 + %.not.i32 = icmp eq i32 %313, 0 + br i1 %.not.i32, label %314, label %391 + +314: ; preds = %305 + %315 = and i32 %312, 512 + %.not79.i43 = icmp eq i32 %315, 0 + br i1 %.not79.i43, label %316, label %HeapTupleSatisfiesMVCC.exit + +316: ; preds = %314 + %317 = and i32 %312, 16384 + %.not80.i44 = icmp eq i32 %317, 0 + br i1 %.not80.i44, label %331, label %318 318: ; preds = %316 - %319 = and i32 %314, 16384 - %.not80.i44 = icmp eq i32 %319, 0 - br i1 %.not80.i44, label %333, label %320 - -320: ; preds = %318 - %321 = getelementptr inbounds nuw i8, ptr %.val24, i64 8 - %322 = load i32, ptr %321, align 4 - %323 = tail call zeroext i1 @TransactionIdIsCurrentTransactionId(i32 noundef %322) #3 - br i1 %323, label %HeapTupleSatisfiesMVCC.exit, label %324 - -324: ; preds = %320 - %325 = tail call zeroext i1 @TransactionIdIsInProgress(i32 noundef %322) #3 - br i1 %325, label %393, label %326 - -326: ; preds = %324 - %327 = tail call zeroext i1 @TransactionIdDidCommit(i32 noundef %322) #3 - %328 = load i16, ptr %312, align 4 - br i1 %327, label %329, label %331 - -329: ; preds = %326 - %330 = or i16 %328, 512 - store i16 %330, ptr %312, align 4 + %319 = getelementptr inbounds nuw i8, ptr %.val24, i64 8 + %320 = load i32, ptr %319, align 4 + %321 = tail call zeroext i1 @TransactionIdIsCurrentTransactionId(i32 noundef %320) #3 + br i1 %321, label %HeapTupleSatisfiesMVCC.exit, label %322 + +322: ; preds = %318 + %323 = tail call zeroext i1 @TransactionIdIsInProgress(i32 noundef %320) #3 + br i1 %323, label %391, label %324 + +324: ; preds = %322 + %325 = tail call zeroext i1 @TransactionIdDidCommit(i32 noundef %320) #3 + %326 = load i16, ptr %310, align 4 + br i1 %325, label %327, label %329 + +327: ; preds = %324 + %328 = or i16 %326, 512 + store i16 %328, ptr %310, align 4 tail call void @MarkBufferDirtyHint(i32 noundef %2, i1 noundef zeroext true) #3 br label %HeapTupleSatisfiesMVCC.exit -331: ; preds = %326 - %332 = or i16 %328, 256 - store i16 %332, ptr %312, align 4 +329: ; preds = %324 + %330 = or i16 %326, 256 + store i16 %330, ptr %310, align 4 tail call void @MarkBufferDirtyHint(i32 noundef %2, i1 noundef zeroext true) #3 - br label %393 - -333: ; preds = %318 - %.not81.i45 = icmp sgt i16 %313, -1 - br i1 %.not81.i45, label %347, label %334 - -334: ; preds = %333 - %335 = getelementptr inbounds nuw i8, ptr %.val24, i64 8 - %336 = load i32, ptr %335, align 4 - %337 = tail call zeroext i1 @TransactionIdIsCurrentTransactionId(i32 noundef %336) #3 - br i1 %337, label %393, label %338 - -338: ; preds = %334 - %339 = tail call zeroext i1 @TransactionIdIsInProgress(i32 noundef %336) #3 - br i1 %339, label %HeapTupleSatisfiesMVCC.exit, label %340 - -340: ; preds = %338 - %341 = tail call zeroext i1 @TransactionIdDidCommit(i32 noundef %336) #3 - %342 = load i16, ptr %312, align 4 - br i1 %341, label %343, label %345 - -343: ; preds = %340 - %344 = or i16 %342, 256 - store i16 %344, ptr %312, align 4 + br label %391 + +331: ; preds = %316 + %.not81.i45 = icmp sgt i16 %311, -1 + br i1 %.not81.i45, label %345, label %332 + +332: ; preds = %331 + %333 = getelementptr inbounds nuw i8, ptr %.val24, i64 8 + %334 = load i32, ptr %333, align 4 + %335 = tail call zeroext i1 @TransactionIdIsCurrentTransactionId(i32 noundef %334) #3 + br i1 %335, label %391, label %336 + +336: ; preds = %332 + %337 = tail call zeroext i1 @TransactionIdIsInProgress(i32 noundef %334) #3 + br i1 %337, label %HeapTupleSatisfiesMVCC.exit, label %338 + +338: ; preds = %336 + %339 = tail call zeroext i1 @TransactionIdDidCommit(i32 noundef %334) #3 + %340 = load i16, ptr %310, align 4 + br i1 %339, label %341, label %343 + +341: ; preds = %338 + %342 = or i16 %340, 256 + store i16 %342, ptr %310, align 4 tail call void @MarkBufferDirtyHint(i32 noundef %2, i1 noundef zeroext true) #3 - br label %393 + br label %391 -345: ; preds = %340 - %346 = or i16 %342, 512 - store i16 %346, ptr %312, align 4 +343: ; preds = %338 + %344 = or i16 %340, 512 + store i16 %344, ptr %310, align 4 tail call void @MarkBufferDirtyHint(i32 noundef %2, i1 noundef zeroext true) #3 br label %HeapTupleSatisfiesMVCC.exit -347: ; preds = %333 - %348 = load i32, ptr %.val24, align 4 - %349 = tail call zeroext i1 @TransactionIdIsCurrentTransactionId(i32 noundef %348) #3 - br i1 %349, label %350, label %370 - -350: ; preds = %347 - %351 = load i16, ptr %312, align 4 - %352 = zext i16 %351 to i32 - %353 = and i32 %352, 2048 - %.not82.i46 = icmp eq i32 %353, 0 - br i1 %.not82.i46, label %354, label %HeapTupleSatisfiesMVCC.exit - -354: ; preds = %350 - %355 = and i32 %352, 128 - %.not83.i47 = icmp ne i32 %355, 0 - %356 = and i32 %352, 4176 - %357 = icmp eq i32 %356, 64 - %or.cond.i48 = or i1 %.not83.i47, %357 - br i1 %or.cond.i48, label %HeapTupleSatisfiesMVCC.exit, label %358 - -358: ; preds = %354 - %359 = and i32 %352, 4096 - %.not84.i49 = icmp eq i32 %359, 0 - br i1 %.not84.i49, label %363, label %360 - -360: ; preds = %358 - %361 = tail call i32 @HeapTupleGetUpdateXid(ptr noundef nonnull %.val24) #3 - %362 = tail call zeroext i1 @TransactionIdIsCurrentTransactionId(i32 noundef %361) #3 - %not.1.i50 = xor i1 %362, true +345: ; preds = %331 + %346 = load i32, ptr %.val24, align 4 + %347 = tail call zeroext i1 @TransactionIdIsCurrentTransactionId(i32 noundef %346) #3 + br i1 %347, label %348, label %368 + +348: ; preds = %345 + %349 = load i16, ptr %310, align 4 + %350 = zext i16 %349 to i32 + %351 = and i32 %350, 2048 + %.not82.i46 = icmp eq i32 %351, 0 + br i1 %.not82.i46, label %352, label %HeapTupleSatisfiesMVCC.exit + +352: ; preds = %348 + %353 = and i32 %350, 128 + %.not83.i47 = icmp ne i32 %353, 0 + %354 = and i32 %350, 4176 + %355 = icmp eq i32 %354, 64 + %or.cond.i48 = or i1 %.not83.i47, %355 + br i1 %or.cond.i48, label %HeapTupleSatisfiesMVCC.exit, label %356 + +356: ; preds = %352 + %357 = and i32 %350, 4096 + %.not84.i49 = icmp eq i32 %357, 0 + br i1 %.not84.i49, label %361, label %358 + +358: ; preds = %356 + %359 = tail call i32 @HeapTupleGetUpdateXid(ptr noundef nonnull %.val24) #3 + %360 = tail call zeroext i1 @TransactionIdIsCurrentTransactionId(i32 noundef %359) #3 + %not.1.i50 = xor i1 %360, true br label %HeapTupleSatisfiesMVCC.exit -363: ; preds = %358 - %364 = getelementptr inbounds nuw i8, ptr %.val24, i64 4 - %365 = load i32, ptr %364, align 4 - %366 = tail call zeroext i1 @TransactionIdIsCurrentTransactionId(i32 noundef %365) #3 - br i1 %366, label %HeapTupleSatisfiesMVCC.exit, label %367 +361: ; preds = %356 + %362 = getelementptr inbounds nuw i8, ptr %.val24, i64 4 + %363 = load i32, ptr %362, align 4 + %364 = tail call zeroext i1 @TransactionIdIsCurrentTransactionId(i32 noundef %363) #3 + br i1 %364, label %HeapTupleSatisfiesMVCC.exit, label %365 -367: ; preds = %363 - %368 = load i16, ptr %312, align 4 - %369 = or i16 %368, 2048 - store i16 %369, ptr %312, align 4 +365: ; preds = %361 + %366 = load i16, ptr %310, align 4 + %367 = or i16 %366, 2048 + store i16 %367, ptr %310, align 4 tail call void @MarkBufferDirtyHint(i32 noundef %2, i1 noundef zeroext true) #3 br label %HeapTupleSatisfiesMVCC.exit -370: ; preds = %347 - %371 = load i32, ptr %.val24, align 4 - %372 = tail call zeroext i1 @TransactionIdIsInProgress(i32 noundef %371) #3 - br i1 %372, label %373, label %385 - -373: ; preds = %370 - %374 = getelementptr i8, ptr %.val24, i64 16 - %.val.i = load i16, ptr %374, align 2 - %375 = icmp eq i16 %.val.i, -2 - br i1 %375, label %376, label %383 - -376: ; preds = %373 - %377 = getelementptr inbounds nuw i8, ptr %.val24, i64 12 - %.val106.i = load i16, ptr %377, align 2 - %378 = getelementptr i8, ptr %.val24, i64 14 - %.val107.i = load i16, ptr %378, align 2 - %379 = zext i16 %.val106.i to i32 - %380 = shl nuw i32 %379, 16 - %381 = zext i16 %.val107.i to i32 - %382 = or disjoint i32 %380, %381 - store i32 %382, ptr %311, align 4 - br label %383 - -383: ; preds = %376, %373 - %384 = load i32, ptr %.val24, align 4 - store i32 %384, ptr %310, align 4 +368: ; preds = %345 + %369 = load i32, ptr %.val24, align 4 + %370 = tail call zeroext i1 @TransactionIdIsInProgress(i32 noundef %369) #3 + br i1 %370, label %371, label %383 + +371: ; preds = %368 + %372 = getelementptr i8, ptr %.val24, i64 16 + %.val.i = load i16, ptr %372, align 2 + %373 = icmp eq i16 %.val.i, -2 + br i1 %373, label %374, label %381 + +374: ; preds = %371 + %375 = getelementptr inbounds nuw i8, ptr %.val24, i64 12 + %.val104.i = load i16, ptr %375, align 2 + %376 = getelementptr i8, ptr %.val24, i64 14 + %.val105.i = load i16, ptr %376, align 2 + %377 = zext i16 %.val104.i to i32 + %378 = shl nuw i32 %377, 16 + %379 = zext i16 %.val105.i to i32 + %380 = or disjoint i32 %378, %379 + store i32 %380, ptr %309, align 4 + br label %381 + +381: ; preds = %374, %371 + %382 = load i32, ptr %.val24, align 4 + store i32 %382, ptr %308, align 4 br label %HeapTupleSatisfiesMVCC.exit -385: ; preds = %370 - %386 = load i32, ptr %.val24, align 4 - %387 = tail call zeroext i1 @TransactionIdDidCommit(i32 noundef %386) #3 - br i1 %387, label %388, label %390 - -388: ; preds = %385 - %389 = load i32, ptr %.val24, align 4 - tail call fastcc void @SetHintBits(ptr noundef nonnull %.val24, i32 noundef %2, i16 noundef zeroext 256, i32 noundef %389) - br label %393 - -390: ; preds = %385 - %391 = load i16, ptr %312, align 4 - %392 = or i16 %391, 512 - store i16 %392, ptr %312, align 4 +383: ; preds = %368 + %384 = load i32, ptr %.val24, align 4 + %385 = tail call zeroext i1 @TransactionIdDidCommit(i32 noundef %384) #3 + br i1 %385, label %386, label %388 + +386: ; preds = %383 + %387 = load i32, ptr %.val24, align 4 + tail call fastcc void @SetHintBits(ptr noundef nonnull %.val24, i32 noundef %2, i16 noundef zeroext 256, i32 noundef %387) + br label %391 + +388: ; preds = %383 + %389 = load i16, ptr %310, align 4 + %390 = or i16 %389, 512 + store i16 %390, ptr %310, align 4 tail call void @MarkBufferDirtyHint(i32 noundef %2, i1 noundef zeroext true) #3 br label %HeapTupleSatisfiesMVCC.exit -393: ; preds = %388, %343, %334, %331, %324, %307 - %394 = load i16, ptr %312, align 4 - %395 = zext i16 %394 to i32 - %396 = and i32 %395, 2048 - %.not85.i33 = icmp eq i32 %396, 0 - br i1 %.not85.i33, label %397, label %HeapTupleSatisfiesMVCC.exit - -397: ; preds = %393 - %398 = and i32 %395, 1024 - %.not86.i35 = icmp eq i32 %398, 0 - br i1 %.not86.i35, label %403, label %399 - -399: ; preds = %397 - %400 = and i32 %395, 128 - %.not92.i = icmp ne i32 %400, 0 - %401 = and i32 %395, 4176 - %402 = icmp eq i32 %401, 64 - %or.cond95.i36 = or i1 %.not92.i, %402 +391: ; preds = %386, %341, %332, %329, %322, %305 + %392 = load i16, ptr %310, align 4 + %393 = zext i16 %392 to i32 + %394 = and i32 %393, 2048 + %.not85.i33 = icmp eq i32 %394, 0 + br i1 %.not85.i33, label %395, label %HeapTupleSatisfiesMVCC.exit + +395: ; preds = %391 + %396 = and i32 %393, 1024 + %.not86.i35 = icmp eq i32 %396, 0 + br i1 %.not86.i35, label %401, label %397 + +397: ; preds = %395 + %398 = and i32 %393, 128 + %.not92.i = icmp ne i32 %398, 0 + %399 = and i32 %393, 4176 + %400 = icmp eq i32 %399, 64 + %or.cond95.i36 = or i1 %.not92.i, %400 br label %HeapTupleSatisfiesMVCC.exit -403: ; preds = %397 - %404 = and i32 %395, 4096 - %.not87.i37 = icmp eq i32 %404, 0 - br i1 %.not87.i37, label %417, label %405 +401: ; preds = %395 + %402 = and i32 %393, 4096 + %.not87.i37 = icmp eq i32 %402, 0 + br i1 %.not87.i37, label %413, label %403 + +403: ; preds = %401 + %404 = and i32 %393, 128 + %.not91.i38 = icmp eq i32 %404, 0 + br i1 %.not91.i38, label %405, label %HeapTupleSatisfiesMVCC.exit 405: ; preds = %403 - %406 = and i32 %395, 128 - %.not91.i38 = icmp ne i32 %406, 0 - %407 = and i32 %395, 4176 - %408 = icmp eq i32 %407, 64 - %or.cond97.i = or i1 %.not91.i38, %408 - br i1 %or.cond97.i, label %HeapTupleSatisfiesMVCC.exit, label %409 - -409: ; preds = %405 - %410 = tail call i32 @HeapTupleGetUpdateXid(ptr noundef nonnull %.val24) #3 - %411 = tail call zeroext i1 @TransactionIdIsCurrentTransactionId(i32 noundef %410) #3 - br i1 %411, label %HeapTupleSatisfiesMVCC.exit, label %412 - -412: ; preds = %409 - %413 = tail call zeroext i1 @TransactionIdIsInProgress(i32 noundef %410) #3 - br i1 %413, label %414, label %415 - -414: ; preds = %412 - store i32 %410, ptr %309, align 8 + %406 = tail call i32 @HeapTupleGetUpdateXid(ptr noundef nonnull %.val24) #3 + %407 = tail call zeroext i1 @TransactionIdIsCurrentTransactionId(i32 noundef %406) #3 + br i1 %407, label %HeapTupleSatisfiesMVCC.exit, label %408 + +408: ; preds = %405 + %409 = tail call zeroext i1 @TransactionIdIsInProgress(i32 noundef %406) #3 + br i1 %409, label %410, label %411 + +410: ; preds = %408 + store i32 %406, ptr %307, align 8 br label %HeapTupleSatisfiesMVCC.exit -415: ; preds = %412 - %416 = tail call zeroext i1 @TransactionIdDidCommit(i32 noundef %410) #3 - %not..i39 = xor i1 %416, true +411: ; preds = %408 + %412 = tail call zeroext i1 @TransactionIdDidCommit(i32 noundef %406) #3 + %not..i39 = xor i1 %412, true br label %HeapTupleSatisfiesMVCC.exit -417: ; preds = %403 - %418 = getelementptr inbounds nuw i8, ptr %.val24, i64 4 - %419 = load i32, ptr %418, align 4 - %420 = tail call zeroext i1 @TransactionIdIsCurrentTransactionId(i32 noundef %419) #3 - br i1 %420, label %421, label %427 - -421: ; preds = %417 - %422 = load i16, ptr %312, align 4 - %423 = zext i16 %422 to i32 - %424 = and i32 %423, 128 - %.not90.i42 = icmp ne i32 %424, 0 - %425 = and i32 %423, 4176 - %426 = icmp eq i32 %425, 64 - %or.cond100.i = or i1 %.not90.i42, %426 +413: ; preds = %401 + %414 = getelementptr inbounds nuw i8, ptr %.val24, i64 4 + %415 = load i32, ptr %414, align 4 + %416 = tail call zeroext i1 @TransactionIdIsCurrentTransactionId(i32 noundef %415) #3 + br i1 %416, label %417, label %423 + +417: ; preds = %413 + %418 = load i16, ptr %310, align 4 + %419 = zext i16 %418 to i32 + %420 = and i32 %419, 128 + %.not90.i42 = icmp ne i32 %420, 0 + %421 = and i32 %419, 4176 + %422 = icmp eq i32 %421, 64 + %or.cond98.i = or i1 %.not90.i42, %422 br label %HeapTupleSatisfiesMVCC.exit -427: ; preds = %417 - %428 = load i32, ptr %418, align 4 - %429 = tail call zeroext i1 @TransactionIdIsInProgress(i32 noundef %428) #3 - br i1 %429, label %430, label %438 - -430: ; preds = %427 - %431 = load i16, ptr %312, align 4 - %432 = zext i16 %431 to i32 - %433 = and i32 %432, 128 - %.not89.i41 = icmp ne i32 %433, 0 - %434 = and i32 %432, 4176 - %435 = icmp eq i32 %434, 64 - %or.cond102.i = or i1 %.not89.i41, %435 - br i1 %or.cond102.i, label %HeapTupleSatisfiesMVCC.exit, label %436 - -436: ; preds = %430 - %437 = load i32, ptr %418, align 4 - store i32 %437, ptr %309, align 8 +423: ; preds = %413 + %424 = load i32, ptr %414, align 4 + %425 = tail call zeroext i1 @TransactionIdIsInProgress(i32 noundef %424) #3 + br i1 %425, label %426, label %434 + +426: ; preds = %423 + %427 = load i16, ptr %310, align 4 + %428 = zext i16 %427 to i32 + %429 = and i32 %428, 128 + %.not89.i41 = icmp ne i32 %429, 0 + %430 = and i32 %428, 4176 + %431 = icmp eq i32 %430, 64 + %or.cond100.i = or i1 %.not89.i41, %431 + br i1 %or.cond100.i, label %HeapTupleSatisfiesMVCC.exit, label %432 + +432: ; preds = %426 + %433 = load i32, ptr %414, align 4 + store i32 %433, ptr %307, align 8 br label %HeapTupleSatisfiesMVCC.exit -438: ; preds = %427 - %439 = load i32, ptr %418, align 4 - %440 = tail call zeroext i1 @TransactionIdDidCommit(i32 noundef %439) #3 - %441 = load i16, ptr %312, align 4 - br i1 %440, label %444, label %442 +434: ; preds = %423 + %435 = load i32, ptr %414, align 4 + %436 = tail call zeroext i1 @TransactionIdDidCommit(i32 noundef %435) #3 + %437 = load i16, ptr %310, align 4 + br i1 %436, label %440, label %438 -442: ; preds = %438 - %443 = or i16 %441, 2048 - store i16 %443, ptr %312, align 4 +438: ; preds = %434 + %439 = or i16 %437, 2048 + store i16 %439, ptr %310, align 4 tail call void @MarkBufferDirtyHint(i32 noundef %2, i1 noundef zeroext true) #3 br label %HeapTupleSatisfiesMVCC.exit -444: ; preds = %438 - %445 = zext i16 %441 to i32 - %446 = and i32 %445, 128 - %.not88.i40 = icmp ne i32 %446, 0 - %447 = and i32 %445, 4176 - %448 = icmp eq i32 %447, 64 - %or.cond104.i = or i1 %.not88.i40, %448 - br i1 %or.cond104.i, label %449, label %451 - -449: ; preds = %444 - %450 = or i16 %441, 2048 - store i16 %450, ptr %312, align 4 +440: ; preds = %434 + %441 = zext i16 %437 to i32 + %442 = and i32 %441, 128 + %.not88.i40 = icmp ne i32 %442, 0 + %443 = and i32 %441, 4176 + %444 = icmp eq i32 %443, 64 + %or.cond102.i = or i1 %.not88.i40, %444 + br i1 %or.cond102.i, label %445, label %447 + +445: ; preds = %440 + %446 = or i16 %437, 2048 + store i16 %446, ptr %310, align 4 tail call void @MarkBufferDirtyHint(i32 noundef %2, i1 noundef zeroext true) #3 br label %HeapTupleSatisfiesMVCC.exit -451: ; preds = %444 - %452 = load i32, ptr %418, align 4 - tail call fastcc void @SetHintBits(ptr noundef nonnull %.val24, i32 noundef %2, i16 noundef zeroext 1024, i32 noundef %452) +447: ; preds = %440 + %448 = load i32, ptr %414, align 4 + tail call fastcc void @SetHintBits(ptr noundef nonnull %.val24, i32 noundef %2, i16 noundef zeroext 1024, i32 noundef %448) br label %HeapTupleSatisfiesMVCC.exit -453: ; preds = %3 +449: ; preds = %3 call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %9) call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %10) call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %11) call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %12) - %454 = getelementptr inbounds nuw i8, ptr %0, i64 16 - %455 = load ptr, ptr %454, align 8 - %456 = getelementptr inbounds nuw i8, ptr %455, i64 20 - %457 = load i16, ptr %456, align 4 - %458 = and i16 %457, 768 - %459 = icmp eq i16 %458, 768 - br i1 %459, label %.thread.i, label %460 - -460: ; preds = %453 - %461 = load i32, ptr %455, align 4 - %462 = icmp eq i16 %458, 512 - br i1 %462, label %HeapTupleSatisfiesHistoricMVCC.exit, label %.thread.i - -.thread.i: ; preds = %460, %453 - %463 = phi i32 [ %461, %460 ], [ 2, %453 ] - %.in.i = getelementptr inbounds nuw i8, ptr %455, i64 4 - %464 = load i32, ptr %.in.i, align 4 - %465 = getelementptr inbounds nuw i8, ptr %1, i64 32 - %466 = load ptr, ptr %465, align 8 - %467 = getelementptr inbounds nuw i8, ptr %1, i64 40 - %468 = load i32, ptr %467, align 8 + %450 = getelementptr inbounds nuw i8, ptr %0, i64 16 + %451 = load ptr, ptr %450, align 8 + %452 = getelementptr inbounds nuw i8, ptr %451, i64 20 + %453 = load i16, ptr %452, align 4 + %454 = and i16 %453, 768 + %455 = icmp eq i16 %454, 768 + br i1 %455, label %.thread.i, label %456 + +456: ; preds = %449 + %457 = load i32, ptr %451, align 4 + %458 = icmp eq i16 %454, 512 + br i1 %458, label %HeapTupleSatisfiesHistoricMVCC.exit, label %.thread.i + +.thread.i: ; preds = %456, %449 + %459 = phi i32 [ %457, %456 ], [ 2, %449 ] + %.in.i = getelementptr inbounds nuw i8, ptr %451, i64 4 + %460 = load i32, ptr %.in.i, align 4 + %461 = getelementptr inbounds nuw i8, ptr %1, i64 32 + %462 = load ptr, ptr %461, align 8 + %463 = getelementptr inbounds nuw i8, ptr %1, i64 40 + %464 = load i32, ptr %463, align 8 call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %8) - store i32 %463, ptr %8, align 4 - %.not.i.i = icmp eq i32 %468, 0 + store i32 %459, ptr %8, align 4 + %.not.i.i = icmp eq i32 %464, 0 br i1 %.not.i.i, label %TransactionIdInArray.exit.thread.i, label %TransactionIdInArray.exit.i TransactionIdInArray.exit.thread.i: ; preds = %.thread.i call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %8) - br label %480 + br label %476 TransactionIdInArray.exit.i: ; preds = %.thread.i - %469 = sext i32 %468 to i64 - %470 = call ptr @bsearch(ptr noundef nonnull %8, ptr noundef %466, i64 noundef range(i64 -2147483648, 4294967296) %469, i64 noundef 4, ptr noundef nonnull @xidComparator) #3 - %.not65.i51 = icmp eq ptr %470, null + %465 = sext i32 %464 to i64 + %466 = call ptr @bsearch(ptr noundef nonnull %8, ptr noundef %462, i64 noundef range(i64 -2147483648, 4294967296) %465, i64 noundef 4, ptr noundef nonnull @xidComparator) #3 + %.not65.i51 = icmp eq ptr %466, null call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %8) - br i1 %.not65.i51, label %480, label %471 + br i1 %.not65.i51, label %476, label %467 -471: ; preds = %TransactionIdInArray.exit.i - %472 = getelementptr inbounds nuw i8, ptr %455, i64 8 - %473 = load i32, ptr %472, align 4 - store i32 %473, ptr %9, align 4 +467: ; preds = %TransactionIdInArray.exit.i + %468 = getelementptr inbounds nuw i8, ptr %451, i64 8 + %469 = load i32, ptr %468, align 4 + store i32 %469, ptr %9, align 4 store i32 -1, ptr %10, align 4 - %474 = call ptr @HistoricSnapshotGetTupleCids() #3 - %475 = call zeroext i1 @ResolveCminCmaxDuringDecoding(ptr noundef %474, ptr noundef nonnull %1, ptr noundef nonnull %0, i32 noundef %2, ptr noundef nonnull %9, ptr noundef nonnull %10) #3 - br i1 %475, label %476, label %HeapTupleSatisfiesHistoricMVCC.exit - -476: ; preds = %471 - %477 = load i32, ptr %9, align 4 - %478 = getelementptr inbounds nuw i8, ptr %1, i64 48 - %479 = load i32, ptr %478, align 8 - %.not50.i = icmp ult i32 %477, %479 - br i1 %.not50.i, label %500, label %HeapTupleSatisfiesHistoricMVCC.exit - -480: ; preds = %TransactionIdInArray.exit.i, %TransactionIdInArray.exit.thread.i - %481 = getelementptr inbounds nuw i8, ptr %1, i64 4 - %482 = load i32, ptr %481, align 4 - %483 = call zeroext i1 @TransactionIdPrecedes(i32 noundef %463, i32 noundef %482) #3 - br i1 %483, label %484, label %489 - -484: ; preds = %480 - %485 = load i16, ptr %456, align 4 - %486 = and i16 %485, 256 - %.not49.i = icmp eq i16 %486, 0 - br i1 %.not49.i, label %487, label %500 - -487: ; preds = %484 - %488 = call zeroext i1 @TransactionIdDidCommit(i32 noundef %463) #3 - br i1 %488, label %500, label %HeapTupleSatisfiesHistoricMVCC.exit - -489: ; preds = %480 - %490 = getelementptr inbounds nuw i8, ptr %1, i64 8 - %491 = load i32, ptr %490, align 8 - %492 = call zeroext i1 @TransactionIdFollowsOrEquals(i32 noundef %463, i32 noundef %491) #3 - br i1 %492, label %HeapTupleSatisfiesHistoricMVCC.exit, label %493 - -493: ; preds = %489 - %494 = getelementptr inbounds nuw i8, ptr %1, i64 16 - %495 = load ptr, ptr %494, align 8 - %496 = getelementptr inbounds nuw i8, ptr %1, i64 24 - %497 = load i32, ptr %496, align 8 + %470 = call ptr @HistoricSnapshotGetTupleCids() #3 + %471 = call zeroext i1 @ResolveCminCmaxDuringDecoding(ptr noundef %470, ptr noundef nonnull %1, ptr noundef nonnull %0, i32 noundef %2, ptr noundef nonnull %9, ptr noundef nonnull %10) #3 + br i1 %471, label %472, label %HeapTupleSatisfiesHistoricMVCC.exit + +472: ; preds = %467 + %473 = load i32, ptr %9, align 4 + %474 = getelementptr inbounds nuw i8, ptr %1, i64 48 + %475 = load i32, ptr %474, align 8 + %.not50.i = icmp ult i32 %473, %475 + br i1 %.not50.i, label %496, label %HeapTupleSatisfiesHistoricMVCC.exit + +476: ; preds = %TransactionIdInArray.exit.i, %TransactionIdInArray.exit.thread.i + %477 = getelementptr inbounds nuw i8, ptr %1, i64 4 + %478 = load i32, ptr %477, align 4 + %479 = call zeroext i1 @TransactionIdPrecedes(i32 noundef %459, i32 noundef %478) #3 + br i1 %479, label %480, label %485 + +480: ; preds = %476 + %481 = load i16, ptr %452, align 4 + %482 = and i16 %481, 256 + %.not49.i = icmp eq i16 %482, 0 + br i1 %.not49.i, label %483, label %496 + +483: ; preds = %480 + %484 = call zeroext i1 @TransactionIdDidCommit(i32 noundef %459) #3 + br i1 %484, label %496, label %HeapTupleSatisfiesHistoricMVCC.exit + +485: ; preds = %476 + %486 = getelementptr inbounds nuw i8, ptr %1, i64 8 + %487 = load i32, ptr %486, align 8 + %488 = call zeroext i1 @TransactionIdFollowsOrEquals(i32 noundef %459, i32 noundef %487) #3 + br i1 %488, label %HeapTupleSatisfiesHistoricMVCC.exit, label %489 + +489: ; preds = %485 + %490 = getelementptr inbounds nuw i8, ptr %1, i64 16 + %491 = load ptr, ptr %490, align 8 + %492 = getelementptr inbounds nuw i8, ptr %1, i64 24 + %493 = load i32, ptr %492, align 8 call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %7) - store i32 %463, ptr %7, align 4 - %.not.i58.i = icmp eq i32 %497, 0 + store i32 %459, ptr %7, align 4 + %.not.i58.i = icmp eq i32 %493, 0 br i1 %.not.i58.i, label %TransactionIdInArray.exit59.thread.i, label %TransactionIdInArray.exit59.i -TransactionIdInArray.exit59.thread.i: ; preds = %493 +TransactionIdInArray.exit59.thread.i: ; preds = %489 call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %7) br label %HeapTupleSatisfiesHistoricMVCC.exit -TransactionIdInArray.exit59.i: ; preds = %493 - %498 = zext i32 %497 to i64 - %499 = call ptr @bsearch(ptr noundef nonnull %7, ptr noundef %495, i64 noundef range(i64 -2147483648, 4294967296) %498, i64 noundef 4, ptr noundef nonnull @xidComparator) #3 - %.not66.i57 = icmp eq ptr %499, null +TransactionIdInArray.exit59.i: ; preds = %489 + %494 = zext i32 %493 to i64 + %495 = call ptr @bsearch(ptr noundef nonnull %7, ptr noundef %491, i64 noundef range(i64 -2147483648, 4294967296) %494, i64 noundef 4, ptr noundef nonnull @xidComparator) #3 + %.not66.i57 = icmp eq ptr %495, null call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %7) - br i1 %.not66.i57, label %HeapTupleSatisfiesHistoricMVCC.exit, label %500 - -500: ; preds = %TransactionIdInArray.exit59.i, %487, %484, %476 - %501 = load i16, ptr %456, align 4 - %502 = zext i16 %501 to i32 - %503 = and i32 %502, 2048 - %.not51.i = icmp eq i32 %503, 0 - br i1 %.not51.i, label %504, label %HeapTupleSatisfiesHistoricMVCC.exit + br i1 %.not66.i57, label %HeapTupleSatisfiesHistoricMVCC.exit, label %496 + +496: ; preds = %TransactionIdInArray.exit59.i, %483, %480, %472 + %497 = load i16, ptr %452, align 4 + %498 = zext i16 %497 to i32 + %499 = and i32 %498, 2048 + %.not51.i = icmp eq i32 %499, 0 + br i1 %.not51.i, label %500, label %HeapTupleSatisfiesHistoricMVCC.exit + +500: ; preds = %496 + %501 = and i32 %498, 128 + %.not52.i = icmp ne i32 %501, 0 + %502 = and i32 %498, 4176 + %503 = icmp eq i32 %502, 64 + %or.cond.i53 = or i1 %.not52.i, %503 + br i1 %or.cond.i53, label %HeapTupleSatisfiesHistoricMVCC.exit, label %504 504: ; preds = %500 - %505 = and i32 %502, 128 - %.not52.i = icmp ne i32 %505, 0 - %506 = and i32 %502, 4176 - %507 = icmp eq i32 %506, 64 - %or.cond.i53 = or i1 %.not52.i, %507 - br i1 %or.cond.i53, label %HeapTupleSatisfiesHistoricMVCC.exit, label %508 - -508: ; preds = %504 - %509 = and i32 %502, 4096 - %.not53.i = icmp eq i32 %509, 0 - br i1 %.not53.i, label %512, label %510 - -510: ; preds = %508 - %511 = call i32 @HeapTupleGetUpdateXid(ptr noundef nonnull %455) #3 - br label %512 - -512: ; preds = %510, %508 - %.047.i = phi i32 [ %511, %510 ], [ %464, %508 ] - %513 = load ptr, ptr %465, align 8 - %514 = load i32, ptr %467, align 8 + %505 = and i32 %498, 4096 + %.not53.i = icmp eq i32 %505, 0 + br i1 %.not53.i, label %508, label %506 + +506: ; preds = %504 + %507 = call i32 @HeapTupleGetUpdateXid(ptr noundef nonnull %451) #3 + br label %508 + +508: ; preds = %506, %504 + %.047.i = phi i32 [ %507, %506 ], [ %460, %504 ] + %509 = load ptr, ptr %461, align 8 + %510 = load i32, ptr %463, align 8 call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %6) store i32 %.047.i, ptr %6, align 4 - %.not.i60.i = icmp eq i32 %514, 0 + %.not.i60.i = icmp eq i32 %510, 0 br i1 %.not.i60.i, label %TransactionIdInArray.exit61.thread.i, label %TransactionIdInArray.exit61.i -TransactionIdInArray.exit61.thread.i: ; preds = %512 +TransactionIdInArray.exit61.thread.i: ; preds = %508 call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %6) - br label %527 + br label %523 -TransactionIdInArray.exit61.i: ; preds = %512 - %515 = sext i32 %514 to i64 - %516 = call ptr @bsearch(ptr noundef nonnull %6, ptr noundef %513, i64 noundef range(i64 -2147483648, 4294967296) %515, i64 noundef 4, ptr noundef nonnull @xidComparator) #3 - %.not67.i54 = icmp eq ptr %516, null +TransactionIdInArray.exit61.i: ; preds = %508 + %511 = sext i32 %510 to i64 + %512 = call ptr @bsearch(ptr noundef nonnull %6, ptr noundef %509, i64 noundef range(i64 -2147483648, 4294967296) %511, i64 noundef 4, ptr noundef nonnull @xidComparator) #3 + %.not67.i54 = icmp eq ptr %512, null call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %6) - br i1 %.not67.i54, label %527, label %517 - -517: ; preds = %TransactionIdInArray.exit61.i - %518 = getelementptr inbounds nuw i8, ptr %455, i64 8 - %519 = load i32, ptr %518, align 4 - store i32 %519, ptr %12, align 4 - %520 = call ptr @HistoricSnapshotGetTupleCids() #3 - %521 = call zeroext i1 @ResolveCminCmaxDuringDecoding(ptr noundef %520, ptr noundef nonnull %1, ptr noundef nonnull %0, i32 noundef %2, ptr noundef nonnull %11, ptr noundef nonnull %12) #3 - %522 = load i32, ptr %12, align 4 - %523 = icmp ne i32 %522, -1 - %or.cond.not.i = select i1 %521, i1 %523, i1 false - br i1 %or.cond.not.i, label %524, label %HeapTupleSatisfiesHistoricMVCC.exit - -524: ; preds = %517 - %525 = getelementptr inbounds nuw i8, ptr %1, i64 48 - %526 = load i32, ptr %525, align 8 - %.not.i55 = icmp uge i32 %522, %526 + br i1 %.not67.i54, label %523, label %513 + +513: ; preds = %TransactionIdInArray.exit61.i + %514 = getelementptr inbounds nuw i8, ptr %451, i64 8 + %515 = load i32, ptr %514, align 4 + store i32 %515, ptr %12, align 4 + %516 = call ptr @HistoricSnapshotGetTupleCids() #3 + %517 = call zeroext i1 @ResolveCminCmaxDuringDecoding(ptr noundef %516, ptr noundef nonnull %1, ptr noundef nonnull %0, i32 noundef %2, ptr noundef nonnull %11, ptr noundef nonnull %12) #3 + %518 = load i32, ptr %12, align 4 + %519 = icmp ne i32 %518, -1 + %or.cond.not.i = select i1 %517, i1 %519, i1 false + br i1 %or.cond.not.i, label %520, label %HeapTupleSatisfiesHistoricMVCC.exit + +520: ; preds = %513 + %521 = getelementptr inbounds nuw i8, ptr %1, i64 48 + %522 = load i32, ptr %521, align 8 + %.not.i55 = icmp uge i32 %518, %522 br label %HeapTupleSatisfiesHistoricMVCC.exit -527: ; preds = %TransactionIdInArray.exit61.i, %TransactionIdInArray.exit61.thread.i - %528 = getelementptr inbounds nuw i8, ptr %1, i64 4 - %529 = load i32, ptr %528, align 4 - %530 = call zeroext i1 @TransactionIdPrecedes(i32 noundef %.047.i, i32 noundef %529) #3 - br i1 %530, label %531, label %537 - -531: ; preds = %527 - %532 = load i16, ptr %456, align 4 - %533 = and i16 %532, 1024 - %.not54.i = icmp eq i16 %533, 0 - br i1 %.not54.i, label %534, label %HeapTupleSatisfiesHistoricMVCC.exit - -534: ; preds = %531 - %535 = call zeroext i1 @TransactionIdDidCommit(i32 noundef %.047.i) #3 - %536 = xor i1 %535, true +523: ; preds = %TransactionIdInArray.exit61.i, %TransactionIdInArray.exit61.thread.i + %524 = getelementptr inbounds nuw i8, ptr %1, i64 4 + %525 = load i32, ptr %524, align 4 + %526 = call zeroext i1 @TransactionIdPrecedes(i32 noundef %.047.i, i32 noundef %525) #3 + br i1 %526, label %527, label %533 + +527: ; preds = %523 + %528 = load i16, ptr %452, align 4 + %529 = and i16 %528, 1024 + %.not54.i = icmp eq i16 %529, 0 + br i1 %.not54.i, label %530, label %HeapTupleSatisfiesHistoricMVCC.exit + +530: ; preds = %527 + %531 = call zeroext i1 @TransactionIdDidCommit(i32 noundef %.047.i) #3 + %532 = xor i1 %531, true br label %HeapTupleSatisfiesHistoricMVCC.exit -537: ; preds = %527 - %538 = getelementptr inbounds nuw i8, ptr %1, i64 8 - %539 = load i32, ptr %538, align 8 - %540 = call zeroext i1 @TransactionIdFollowsOrEquals(i32 noundef %.047.i, i32 noundef %539) #3 - br i1 %540, label %HeapTupleSatisfiesHistoricMVCC.exit, label %541 - -541: ; preds = %537 - %542 = getelementptr inbounds nuw i8, ptr %1, i64 16 - %543 = load ptr, ptr %542, align 8 - %544 = getelementptr inbounds nuw i8, ptr %1, i64 24 - %545 = load i32, ptr %544, align 8 +533: ; preds = %523 + %534 = getelementptr inbounds nuw i8, ptr %1, i64 8 + %535 = load i32, ptr %534, align 8 + %536 = call zeroext i1 @TransactionIdFollowsOrEquals(i32 noundef %.047.i, i32 noundef %535) #3 + br i1 %536, label %HeapTupleSatisfiesHistoricMVCC.exit, label %537 + +537: ; preds = %533 + %538 = getelementptr inbounds nuw i8, ptr %1, i64 16 + %539 = load ptr, ptr %538, align 8 + %540 = getelementptr inbounds nuw i8, ptr %1, i64 24 + %541 = load i32, ptr %540, align 8 call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %5) store i32 %.047.i, ptr %5, align 4 - %.not.i62.i = icmp eq i32 %545, 0 + %.not.i62.i = icmp eq i32 %541, 0 br i1 %.not.i62.i, label %TransactionIdInArray.exit63.thread.i, label %TransactionIdInArray.exit63.i -TransactionIdInArray.exit63.thread.i: ; preds = %541 +TransactionIdInArray.exit63.thread.i: ; preds = %537 call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %5) br label %HeapTupleSatisfiesHistoricMVCC.exit -TransactionIdInArray.exit63.i: ; preds = %541 - %546 = zext i32 %545 to i64 - %547 = call ptr @bsearch(ptr noundef nonnull %5, ptr noundef %543, i64 noundef range(i64 -2147483648, 4294967296) %546, i64 noundef 4, ptr noundef nonnull @xidComparator) #3 - %.fr.i = freeze ptr %547 +TransactionIdInArray.exit63.i: ; preds = %537 + %542 = zext i32 %541 to i64 + %543 = call ptr @bsearch(ptr noundef nonnull %5, ptr noundef %539, i64 noundef range(i64 -2147483648, 4294967296) %542, i64 noundef 4, ptr noundef nonnull @xidComparator) #3 + %.fr.i = freeze ptr %543 %.not68.i56 = icmp eq ptr %.fr.i, null call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %5) br label %HeapTupleSatisfiesHistoricMVCC.exit -HeapTupleSatisfiesHistoricMVCC.exit: ; preds = %460, %471, %476, %487, %489, %TransactionIdInArray.exit59.thread.i, %TransactionIdInArray.exit59.i, %500, %504, %517, %524, %531, %534, %537, %TransactionIdInArray.exit63.thread.i, %TransactionIdInArray.exit63.i - %.0.i52 = phi i1 [ %536, %534 ], [ false, %460 ], [ false, %471 ], [ false, %476 ], [ false, %487 ], [ false, %489 ], [ false, %TransactionIdInArray.exit59.i ], [ true, %500 ], [ true, %504 ], [ true, %517 ], [ %.not.i55, %524 ], [ false, %531 ], [ true, %537 ], [ false, %TransactionIdInArray.exit59.thread.i ], [ true, %TransactionIdInArray.exit63.thread.i ], [ %.not68.i56, %TransactionIdInArray.exit63.i ] +HeapTupleSatisfiesHistoricMVCC.exit: ; preds = %456, %467, %472, %483, %485, %TransactionIdInArray.exit59.thread.i, %TransactionIdInArray.exit59.i, %496, %500, %513, %520, %527, %530, %533, %TransactionIdInArray.exit63.thread.i, %TransactionIdInArray.exit63.i + %.0.i52 = phi i1 [ %532, %530 ], [ false, %456 ], [ false, %467 ], [ false, %472 ], [ false, %483 ], [ false, %485 ], [ false, %TransactionIdInArray.exit59.i ], [ true, %496 ], [ true, %500 ], [ true, %513 ], [ %.not.i55, %520 ], [ false, %527 ], [ true, %533 ], [ false, %TransactionIdInArray.exit59.thread.i ], [ true, %TransactionIdInArray.exit63.thread.i ], [ %.not68.i56, %TransactionIdInArray.exit63.i ] call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %9) call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %10) call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %11) call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %12) br label %HeapTupleSatisfiesMVCC.exit -548: ; preds = %3 +544: ; preds = %3 call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %4) - %549 = call i32 @HeapTupleSatisfiesVacuumHorizon(ptr noundef readonly %0, i32 noundef %2, ptr noundef nonnull %4) - %550 = icmp eq i32 %549, 2 - br i1 %550, label %551, label %HeapTupleSatisfiesNonVacuumable.exit - -551: ; preds = %548 - %552 = getelementptr inbounds nuw i8, ptr %1, i64 56 - %553 = load ptr, ptr %552, align 8 - %554 = load i32, ptr %4, align 4 - %555 = tail call zeroext i1 @GlobalVisTestIsRemovableXid(ptr noundef %553, i32 noundef %554) #3 - %spec.select.i = select i1 %555, i32 0, i32 2 + %545 = call i32 @HeapTupleSatisfiesVacuumHorizon(ptr noundef readonly %0, i32 noundef %2, ptr noundef nonnull %4) + %546 = icmp eq i32 %545, 2 + br i1 %546, label %547, label %HeapTupleSatisfiesNonVacuumable.exit + +547: ; preds = %544 + %548 = getelementptr inbounds nuw i8, ptr %1, i64 56 + %549 = load ptr, ptr %548, align 8 + %550 = load i32, ptr %4, align 4 + %551 = tail call zeroext i1 @GlobalVisTestIsRemovableXid(ptr noundef %549, i32 noundef %550) #3 + %spec.select.i = select i1 %551, i32 0, i32 2 br label %HeapTupleSatisfiesNonVacuumable.exit -HeapTupleSatisfiesNonVacuumable.exit: ; preds = %548, %551 - %.0.i58 = phi i32 [ %549, %548 ], [ %spec.select.i, %551 ] - %556 = icmp ne i32 %.0.i58, 0 +HeapTupleSatisfiesNonVacuumable.exit: ; preds = %544, %547 + %.0.i58 = phi i32 [ %545, %544 ], [ %spec.select.i, %547 ] + %552 = icmp ne i32 %.0.i58, 0 call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %4) br label %HeapTupleSatisfiesMVCC.exit -HeapTupleSatisfiesMVCC.exit: ; preds = %451, %449, %442, %436, %430, %421, %415, %414, %409, %405, %399, %393, %390, %383, %367, %363, %360, %354, %350, %345, %338, %329, %320, %316, %306, %302, %300, %295, %288, %279, %275, %266, %264, %257, %250, %244, %238, %236, %233, %229, %223, %217, %214, %206, %203, %199, %196, %190, %186, %181, %174, %165, %156, %152, %145, %143, %138, %132, %128, %120, %118, %114, %105, %101, %98, %92, %84, %81, %78, %71, %68, %62, %58, %54, %49, %42, %33, %24, %20, %3, %HeapTupleSatisfiesNonVacuumable.exit, %HeapTupleSatisfiesHistoricMVCC.exit, %268 - %.0 = phi i1 [ %556, %HeapTupleSatisfiesNonVacuumable.exit ], [ %.0.i52, %HeapTupleSatisfiesHistoricMVCC.exit ], [ true, %268 ], [ false, %3 ], [ false, %145 ], [ true, %138 ], [ false, %33 ], [ false, %49 ], [ true, %78 ], [ false, %92 ], [ false, %20 ], [ false, %24 ], [ false, %42 ], [ false, %54 ], [ true, %58 ], [ true, %62 ], [ true, %68 ], [ %.not85.i, %71 ], [ %.not84.i, %81 ], [ false, %84 ], [ false, %98 ], [ true, %101 ], [ true, %105 ], [ %.not91.i, %114 ], [ true, %118 ], [ %not..i, %120 ], [ %.not90.i, %128 ], [ true, %132 ], [ true, %143 ], [ true, %264 ], [ false, %266 ], [ true, %257 ], [ false, %165 ], [ false, %181 ], [ true, %203 ], [ false, %214 ], [ false, %152 ], [ false, %156 ], [ false, %174 ], [ true, %186 ], [ true, %190 ], [ %not.1.i, %196 ], [ false, %199 ], [ false, %206 ], [ true, %217 ], [ true, %229 ], [ false, %233 ], [ true, %236 ], [ %not..i28, %238 ], [ true, %250 ], [ %or.cond80.i, %223 ], [ %or.cond85.i, %244 ], [ true, %306 ], [ false, %288 ], [ false, %300 ], [ false, %275 ], [ false, %279 ], [ false, %295 ], [ false, %302 ], [ true, %414 ], [ true, %449 ], [ false, %451 ], [ true, %442 ], [ false, %329 ], [ false, %345 ], [ true, %367 ], [ true, %383 ], [ false, %390 ], [ false, %316 ], [ false, %320 ], [ false, %338 ], [ true, %350 ], [ true, %354 ], [ %not.1.i50, %360 ], [ false, %363 ], [ true, %393 ], [ true, %405 ], [ false, %409 ], [ %not..i39, %415 ], [ true, %436 ], [ true, %430 ], [ %or.cond95.i36, %399 ], [ %or.cond100.i, %421 ] +HeapTupleSatisfiesMVCC.exit: ; preds = %447, %445, %438, %432, %426, %417, %411, %410, %405, %403, %397, %391, %388, %381, %365, %361, %358, %352, %348, %343, %336, %327, %318, %314, %304, %300, %298, %293, %286, %277, %273, %264, %262, %255, %248, %242, %236, %234, %231, %229, %223, %217, %214, %206, %203, %199, %196, %190, %186, %181, %174, %165, %156, %152, %145, %143, %138, %132, %128, %120, %118, %114, %105, %101, %98, %92, %84, %81, %78, %71, %68, %62, %58, %54, %49, %42, %33, %24, %20, %3, %HeapTupleSatisfiesNonVacuumable.exit, %HeapTupleSatisfiesHistoricMVCC.exit, %266 + %.0 = phi i1 [ %552, %HeapTupleSatisfiesNonVacuumable.exit ], [ %.0.i52, %HeapTupleSatisfiesHistoricMVCC.exit ], [ true, %266 ], [ false, %3 ], [ false, %145 ], [ true, %138 ], [ false, %33 ], [ false, %49 ], [ true, %78 ], [ false, %92 ], [ false, %20 ], [ false, %24 ], [ false, %42 ], [ false, %54 ], [ true, %58 ], [ true, %62 ], [ true, %68 ], [ %.not85.i, %71 ], [ %.not84.i, %81 ], [ false, %84 ], [ false, %98 ], [ true, %101 ], [ true, %105 ], [ %.not91.i, %114 ], [ true, %118 ], [ %not..i, %120 ], [ %.not90.i, %128 ], [ true, %132 ], [ true, %143 ], [ true, %262 ], [ false, %264 ], [ true, %255 ], [ false, %165 ], [ false, %181 ], [ true, %203 ], [ false, %214 ], [ false, %152 ], [ false, %156 ], [ false, %174 ], [ true, %186 ], [ true, %190 ], [ %not.1.i, %196 ], [ false, %199 ], [ false, %206 ], [ true, %217 ], [ true, %229 ], [ false, %231 ], [ true, %234 ], [ %not..i28, %236 ], [ true, %248 ], [ %or.cond80.i, %223 ], [ %or.cond83.i, %242 ], [ true, %304 ], [ false, %286 ], [ false, %298 ], [ false, %273 ], [ false, %277 ], [ false, %293 ], [ false, %300 ], [ true, %410 ], [ true, %445 ], [ false, %447 ], [ true, %438 ], [ false, %327 ], [ false, %343 ], [ true, %365 ], [ true, %381 ], [ false, %388 ], [ false, %314 ], [ false, %318 ], [ false, %336 ], [ true, %348 ], [ true, %352 ], [ %not.1.i50, %358 ], [ false, %361 ], [ true, %391 ], [ true, %403 ], [ false, %405 ], [ %not..i39, %411 ], [ true, %432 ], [ true, %426 ], [ %or.cond95.i36, %397 ], [ %or.cond98.i, %417 ] ret i1 %.0 } diff --git a/bench/ruby/optimized/vm.ll b/bench/ruby/optimized/vm.ll index f57a8941af9..81c1787bb45 100644 --- a/bench/ruby/optimized/vm.ll +++ b/bench/ruby/optimized/vm.ll @@ -272,7 +272,7 @@ target triple = "x86_64-pc-linux-gnu" @.str.173 = private unnamed_addr constant [31 x i8] c"super called outside of method\00", align 1 @.str.174 = private unnamed_addr constant [23 x i8] c"no block given (yield)\00", align 1 @rb_cHash = external local_unnamed_addr global i64, align 8 -@vm_exec_core.insns_address_table = internal constant [210 x ptr] [ptr blockaddress(@vm_exec_core, %29), ptr blockaddress(@vm_exec_core, %33), ptr blockaddress(@vm_exec_core, %54), ptr blockaddress(@vm_exec_core, %89), ptr blockaddress(@vm_exec_core, %148), ptr blockaddress(@vm_exec_core, %185), ptr blockaddress(@vm_exec_core, %241), ptr blockaddress(@vm_exec_core, %302), ptr blockaddress(@vm_exec_core, %321), ptr blockaddress(@vm_exec_core, %410), ptr blockaddress(@vm_exec_core, %427), ptr blockaddress(@vm_exec_core, %443), ptr blockaddress(@vm_exec_core, %472), ptr blockaddress(@vm_exec_core, %483), ptr blockaddress(@vm_exec_core, %500), ptr blockaddress(@vm_exec_core, %534), ptr blockaddress(@vm_exec_core, %544), ptr blockaddress(@vm_exec_core, %557), ptr blockaddress(@vm_exec_core, %564), ptr blockaddress(@vm_exec_core, %573), ptr blockaddress(@vm_exec_core, %582), ptr blockaddress(@vm_exec_core, %616), ptr blockaddress(@vm_exec_core, %626), ptr blockaddress(@vm_exec_core, %641), ptr blockaddress(@vm_exec_core, %655), ptr blockaddress(@vm_exec_core, %675), ptr blockaddress(@vm_exec_core, %686), ptr blockaddress(@vm_exec_core, %701), ptr blockaddress(@vm_exec_core, %731), ptr blockaddress(@vm_exec_core, %759), ptr blockaddress(@vm_exec_core, %801), ptr blockaddress(@vm_exec_core, %846), ptr blockaddress(@vm_exec_core, %947), ptr blockaddress(@vm_exec_core, %975), ptr blockaddress(@vm_exec_core, %994), ptr blockaddress(@vm_exec_core, %1010), ptr blockaddress(@vm_exec_core, %1030), ptr blockaddress(@vm_exec_core, %1048), ptr blockaddress(@vm_exec_core, %1090), ptr blockaddress(@vm_exec_core, %1107), ptr blockaddress(@vm_exec_core, %1114), ptr blockaddress(@vm_exec_core, %1125), ptr blockaddress(@vm_exec_core, %1141), ptr blockaddress(@vm_exec_core, %1153), ptr blockaddress(@vm_exec_core, %1175), ptr blockaddress(@vm_exec_core, %1188), ptr blockaddress(@vm_exec_core, %1203), ptr blockaddress(@vm_exec_core, %1213), ptr blockaddress(@vm_exec_core, %1230), ptr blockaddress(@vm_exec_core, %1325), ptr blockaddress(@vm_exec_core, %1369), ptr blockaddress(@vm_exec_core, %1399), ptr blockaddress(@vm_exec_core, %1429), ptr blockaddress(@vm_exec_core, %1609), ptr blockaddress(@vm_exec_core, %1617), ptr blockaddress(@vm_exec_core, %1629), ptr blockaddress(@vm_exec_core, %1660), ptr blockaddress(@vm_exec_core, %1686), ptr blockaddress(@vm_exec_core, %1818), ptr blockaddress(@vm_exec_core, %1839), ptr blockaddress(@vm_exec_core, %1862), ptr blockaddress(@vm_exec_core, %1883), ptr blockaddress(@vm_exec_core, %1922), ptr blockaddress(@vm_exec_core, %1953), ptr blockaddress(@vm_exec_core, %1979), ptr blockaddress(@vm_exec_core, %2021), ptr blockaddress(@vm_exec_core, %2032), ptr blockaddress(@vm_exec_core, %2043), ptr blockaddress(@vm_exec_core, %2063), ptr blockaddress(@vm_exec_core, %2083), ptr blockaddress(@vm_exec_core, %2103), ptr blockaddress(@vm_exec_core, %2156), ptr blockaddress(@vm_exec_core, %2221), ptr blockaddress(@vm_exec_core, %2373), ptr blockaddress(@vm_exec_core, %2497), ptr blockaddress(@vm_exec_core, %2625), ptr blockaddress(@vm_exec_core, %2705), ptr blockaddress(@vm_exec_core, %2836), ptr blockaddress(@vm_exec_core, %2862), ptr blockaddress(@vm_exec_core, %2894), ptr blockaddress(@vm_exec_core, %2981), ptr blockaddress(@vm_exec_core, %3069), ptr blockaddress(@vm_exec_core, %3156), ptr blockaddress(@vm_exec_core, %3244), ptr blockaddress(@vm_exec_core, %3295), ptr blockaddress(@vm_exec_core, %3313), ptr blockaddress(@vm_exec_core, %3332), ptr blockaddress(@vm_exec_core, %3405), ptr blockaddress(@vm_exec_core, %3449), ptr blockaddress(@vm_exec_core, %3490), ptr blockaddress(@vm_exec_core, %3530), ptr blockaddress(@vm_exec_core, %3544), ptr blockaddress(@vm_exec_core, %3558), ptr blockaddress(@vm_exec_core, %3571), ptr blockaddress(@vm_exec_core, %3609), ptr blockaddress(@vm_exec_core, %3629), ptr blockaddress(@vm_exec_core, %3687), ptr blockaddress(@vm_exec_core, %3710), ptr blockaddress(@vm_exec_core, %3748), ptr blockaddress(@vm_exec_core, %3796), ptr blockaddress(@vm_exec_core, %.lr.ph.i2526), ptr blockaddress(@vm_exec_core, %3827), ptr blockaddress(@vm_exec_core, %.lr.ph.i2537), ptr blockaddress(@vm_exec_core, %3886), ptr blockaddress(@vm_exec_core, %3893), ptr blockaddress(@vm_exec_core, %3900), ptr blockaddress(@vm_exec_core, %3901), ptr blockaddress(@vm_exec_core, %3902), ptr blockaddress(@vm_exec_core, %3903), ptr blockaddress(@vm_exec_core, %3904), ptr blockaddress(@vm_exec_core, %3905), ptr blockaddress(@vm_exec_core, %3906), ptr blockaddress(@vm_exec_core, %3907), ptr blockaddress(@vm_exec_core, %3908), ptr blockaddress(@vm_exec_core, %3909), ptr blockaddress(@vm_exec_core, %3910), ptr blockaddress(@vm_exec_core, %3911), ptr blockaddress(@vm_exec_core, %3912), ptr blockaddress(@vm_exec_core, %3913), ptr blockaddress(@vm_exec_core, %3914), ptr blockaddress(@vm_exec_core, %3915), ptr blockaddress(@vm_exec_core, %3916), ptr blockaddress(@vm_exec_core, %3917), ptr blockaddress(@vm_exec_core, %3918), ptr blockaddress(@vm_exec_core, %3919), ptr blockaddress(@vm_exec_core, %3920), ptr blockaddress(@vm_exec_core, %3921), ptr blockaddress(@vm_exec_core, %3922), ptr blockaddress(@vm_exec_core, %3923), ptr blockaddress(@vm_exec_core, %3924), ptr blockaddress(@vm_exec_core, %3925), ptr blockaddress(@vm_exec_core, %3926), ptr blockaddress(@vm_exec_core, %3927), ptr blockaddress(@vm_exec_core, %3928), ptr blockaddress(@vm_exec_core, %3929), ptr blockaddress(@vm_exec_core, %3930), ptr blockaddress(@vm_exec_core, %3931), ptr blockaddress(@vm_exec_core, %3932), ptr blockaddress(@vm_exec_core, %3933), ptr blockaddress(@vm_exec_core, %3934), ptr blockaddress(@vm_exec_core, %3935), ptr blockaddress(@vm_exec_core, %3936), ptr blockaddress(@vm_exec_core, %3937), ptr blockaddress(@vm_exec_core, %3938), ptr blockaddress(@vm_exec_core, %3939), ptr blockaddress(@vm_exec_core, %3940), ptr blockaddress(@vm_exec_core, %3941), ptr blockaddress(@vm_exec_core, %3942), ptr blockaddress(@vm_exec_core, %3943), ptr blockaddress(@vm_exec_core, %3944), ptr blockaddress(@vm_exec_core, %3945), ptr blockaddress(@vm_exec_core, %3946), ptr blockaddress(@vm_exec_core, %3947), ptr blockaddress(@vm_exec_core, %3948), ptr blockaddress(@vm_exec_core, %3949), ptr blockaddress(@vm_exec_core, %3950), ptr blockaddress(@vm_exec_core, %3951), ptr blockaddress(@vm_exec_core, %3952), ptr blockaddress(@vm_exec_core, %3953), ptr blockaddress(@vm_exec_core, %3954), ptr blockaddress(@vm_exec_core, %3955), ptr blockaddress(@vm_exec_core, %3956), ptr blockaddress(@vm_exec_core, %3957), ptr blockaddress(@vm_exec_core, %3958), ptr blockaddress(@vm_exec_core, %3959), ptr blockaddress(@vm_exec_core, %3960), ptr blockaddress(@vm_exec_core, %3961), ptr blockaddress(@vm_exec_core, %3962), ptr blockaddress(@vm_exec_core, %3963), ptr blockaddress(@vm_exec_core, %3964), ptr blockaddress(@vm_exec_core, %3965), ptr blockaddress(@vm_exec_core, %3966), ptr blockaddress(@vm_exec_core, %3967), ptr blockaddress(@vm_exec_core, %3968), ptr blockaddress(@vm_exec_core, %3969), ptr blockaddress(@vm_exec_core, %3970), ptr blockaddress(@vm_exec_core, %3971), ptr blockaddress(@vm_exec_core, %3972), ptr blockaddress(@vm_exec_core, %3973), ptr blockaddress(@vm_exec_core, %3974), ptr blockaddress(@vm_exec_core, %3975), ptr blockaddress(@vm_exec_core, %3976), ptr blockaddress(@vm_exec_core, %3977), ptr blockaddress(@vm_exec_core, %3978), ptr blockaddress(@vm_exec_core, %3980), ptr blockaddress(@vm_exec_core, %3981), ptr blockaddress(@vm_exec_core, %3982), ptr blockaddress(@vm_exec_core, %3983), ptr blockaddress(@vm_exec_core, %3984), ptr blockaddress(@vm_exec_core, %3985), ptr blockaddress(@vm_exec_core, %3986), ptr blockaddress(@vm_exec_core, %3987), ptr blockaddress(@vm_exec_core, %3988), ptr blockaddress(@vm_exec_core, %3989), ptr blockaddress(@vm_exec_core, %3990), ptr blockaddress(@vm_exec_core, %3991), ptr blockaddress(@vm_exec_core, %3992), ptr blockaddress(@vm_exec_core, %3993), ptr blockaddress(@vm_exec_core, %3994), ptr blockaddress(@vm_exec_core, %3995), ptr blockaddress(@vm_exec_core, %3996), ptr blockaddress(@vm_exec_core, %3997), ptr blockaddress(@vm_exec_core, %3998), ptr blockaddress(@vm_exec_core, %3999), ptr blockaddress(@vm_exec_core, %4000), ptr blockaddress(@vm_exec_core, %4001), ptr blockaddress(@vm_exec_core, %4002), ptr blockaddress(@vm_exec_core, %4003), ptr blockaddress(@vm_exec_core, %4004), ptr blockaddress(@vm_exec_core, %4005)], align 16 +@vm_exec_core.insns_address_table = internal constant [210 x ptr] [ptr blockaddress(@vm_exec_core, %29), ptr blockaddress(@vm_exec_core, %33), ptr blockaddress(@vm_exec_core, %54), ptr blockaddress(@vm_exec_core, %89), ptr blockaddress(@vm_exec_core, %148), ptr blockaddress(@vm_exec_core, %185), ptr blockaddress(@vm_exec_core, %241), ptr blockaddress(@vm_exec_core, %302), ptr blockaddress(@vm_exec_core, %321), ptr blockaddress(@vm_exec_core, %410), ptr blockaddress(@vm_exec_core, %427), ptr blockaddress(@vm_exec_core, %443), ptr blockaddress(@vm_exec_core, %472), ptr blockaddress(@vm_exec_core, %483), ptr blockaddress(@vm_exec_core, %500), ptr blockaddress(@vm_exec_core, %534), ptr blockaddress(@vm_exec_core, %544), ptr blockaddress(@vm_exec_core, %557), ptr blockaddress(@vm_exec_core, %564), ptr blockaddress(@vm_exec_core, %573), ptr blockaddress(@vm_exec_core, %582), ptr blockaddress(@vm_exec_core, %616), ptr blockaddress(@vm_exec_core, %626), ptr blockaddress(@vm_exec_core, %641), ptr blockaddress(@vm_exec_core, %655), ptr blockaddress(@vm_exec_core, %675), ptr blockaddress(@vm_exec_core, %686), ptr blockaddress(@vm_exec_core, %701), ptr blockaddress(@vm_exec_core, %731), ptr blockaddress(@vm_exec_core, %759), ptr blockaddress(@vm_exec_core, %801), ptr blockaddress(@vm_exec_core, %846), ptr blockaddress(@vm_exec_core, %947), ptr blockaddress(@vm_exec_core, %975), ptr blockaddress(@vm_exec_core, %994), ptr blockaddress(@vm_exec_core, %1010), ptr blockaddress(@vm_exec_core, %1030), ptr blockaddress(@vm_exec_core, %1048), ptr blockaddress(@vm_exec_core, %1090), ptr blockaddress(@vm_exec_core, %1107), ptr blockaddress(@vm_exec_core, %1114), ptr blockaddress(@vm_exec_core, %1125), ptr blockaddress(@vm_exec_core, %1141), ptr blockaddress(@vm_exec_core, %1153), ptr blockaddress(@vm_exec_core, %1175), ptr blockaddress(@vm_exec_core, %1188), ptr blockaddress(@vm_exec_core, %1203), ptr blockaddress(@vm_exec_core, %1213), ptr blockaddress(@vm_exec_core, %1230), ptr blockaddress(@vm_exec_core, %1325), ptr blockaddress(@vm_exec_core, %1369), ptr blockaddress(@vm_exec_core, %1399), ptr blockaddress(@vm_exec_core, %1429), ptr blockaddress(@vm_exec_core, %1609), ptr blockaddress(@vm_exec_core, %1617), ptr blockaddress(@vm_exec_core, %1629), ptr blockaddress(@vm_exec_core, %1660), ptr blockaddress(@vm_exec_core, %1686), ptr blockaddress(@vm_exec_core, %1818), ptr blockaddress(@vm_exec_core, %1839), ptr blockaddress(@vm_exec_core, %1862), ptr blockaddress(@vm_exec_core, %1883), ptr blockaddress(@vm_exec_core, %1922), ptr blockaddress(@vm_exec_core, %1953), ptr blockaddress(@vm_exec_core, %1979), ptr blockaddress(@vm_exec_core, %2021), ptr blockaddress(@vm_exec_core, %2032), ptr blockaddress(@vm_exec_core, %2043), ptr blockaddress(@vm_exec_core, %2063), ptr blockaddress(@vm_exec_core, %2083), ptr blockaddress(@vm_exec_core, %2103), ptr blockaddress(@vm_exec_core, %2156), ptr blockaddress(@vm_exec_core, %2221), ptr blockaddress(@vm_exec_core, %2373), ptr blockaddress(@vm_exec_core, %2497), ptr blockaddress(@vm_exec_core, %2625), ptr blockaddress(@vm_exec_core, %2705), ptr blockaddress(@vm_exec_core, %2836), ptr blockaddress(@vm_exec_core, %2862), ptr blockaddress(@vm_exec_core, %2894), ptr blockaddress(@vm_exec_core, %2981), ptr blockaddress(@vm_exec_core, %3069), ptr blockaddress(@vm_exec_core, %3156), ptr blockaddress(@vm_exec_core, %3244), ptr blockaddress(@vm_exec_core, %3295), ptr blockaddress(@vm_exec_core, %3311), ptr blockaddress(@vm_exec_core, %3330), ptr blockaddress(@vm_exec_core, %3403), ptr blockaddress(@vm_exec_core, %3447), ptr blockaddress(@vm_exec_core, %3488), ptr blockaddress(@vm_exec_core, %3528), ptr blockaddress(@vm_exec_core, %3542), ptr blockaddress(@vm_exec_core, %3556), ptr blockaddress(@vm_exec_core, %3569), ptr blockaddress(@vm_exec_core, %3607), ptr blockaddress(@vm_exec_core, %3627), ptr blockaddress(@vm_exec_core, %3685), ptr blockaddress(@vm_exec_core, %3708), ptr blockaddress(@vm_exec_core, %3746), ptr blockaddress(@vm_exec_core, %3794), ptr blockaddress(@vm_exec_core, %.lr.ph.i2526), ptr blockaddress(@vm_exec_core, %3825), ptr blockaddress(@vm_exec_core, %.lr.ph.i2537), ptr blockaddress(@vm_exec_core, %3884), ptr blockaddress(@vm_exec_core, %3891), ptr blockaddress(@vm_exec_core, %3898), ptr blockaddress(@vm_exec_core, %3899), ptr blockaddress(@vm_exec_core, %3900), ptr blockaddress(@vm_exec_core, %3901), ptr blockaddress(@vm_exec_core, %3902), ptr blockaddress(@vm_exec_core, %3903), ptr blockaddress(@vm_exec_core, %3904), ptr blockaddress(@vm_exec_core, %3905), ptr blockaddress(@vm_exec_core, %3906), ptr blockaddress(@vm_exec_core, %3907), ptr blockaddress(@vm_exec_core, %3908), ptr blockaddress(@vm_exec_core, %3909), ptr blockaddress(@vm_exec_core, %3910), ptr blockaddress(@vm_exec_core, %3911), ptr blockaddress(@vm_exec_core, %3912), ptr blockaddress(@vm_exec_core, %3913), ptr blockaddress(@vm_exec_core, %3914), ptr blockaddress(@vm_exec_core, %3915), ptr blockaddress(@vm_exec_core, %3916), ptr blockaddress(@vm_exec_core, %3917), ptr blockaddress(@vm_exec_core, %3918), ptr blockaddress(@vm_exec_core, %3919), ptr blockaddress(@vm_exec_core, %3920), ptr blockaddress(@vm_exec_core, %3921), ptr blockaddress(@vm_exec_core, %3922), ptr blockaddress(@vm_exec_core, %3923), ptr blockaddress(@vm_exec_core, %3924), ptr blockaddress(@vm_exec_core, %3925), ptr blockaddress(@vm_exec_core, %3926), ptr blockaddress(@vm_exec_core, %3927), ptr blockaddress(@vm_exec_core, %3928), ptr blockaddress(@vm_exec_core, %3929), ptr blockaddress(@vm_exec_core, %3930), ptr blockaddress(@vm_exec_core, %3931), ptr blockaddress(@vm_exec_core, %3932), ptr blockaddress(@vm_exec_core, %3933), ptr blockaddress(@vm_exec_core, %3934), ptr blockaddress(@vm_exec_core, %3935), ptr blockaddress(@vm_exec_core, %3936), ptr blockaddress(@vm_exec_core, %3937), ptr blockaddress(@vm_exec_core, %3938), ptr blockaddress(@vm_exec_core, %3939), ptr blockaddress(@vm_exec_core, %3940), ptr blockaddress(@vm_exec_core, %3941), ptr blockaddress(@vm_exec_core, %3942), ptr blockaddress(@vm_exec_core, %3943), ptr blockaddress(@vm_exec_core, %3944), ptr blockaddress(@vm_exec_core, %3945), ptr blockaddress(@vm_exec_core, %3946), ptr blockaddress(@vm_exec_core, %3947), ptr blockaddress(@vm_exec_core, %3948), ptr blockaddress(@vm_exec_core, %3949), ptr blockaddress(@vm_exec_core, %3950), ptr blockaddress(@vm_exec_core, %3951), ptr blockaddress(@vm_exec_core, %3952), ptr blockaddress(@vm_exec_core, %3953), ptr blockaddress(@vm_exec_core, %3954), ptr blockaddress(@vm_exec_core, %3955), ptr blockaddress(@vm_exec_core, %3956), ptr blockaddress(@vm_exec_core, %3957), ptr blockaddress(@vm_exec_core, %3958), ptr blockaddress(@vm_exec_core, %3959), ptr blockaddress(@vm_exec_core, %3960), ptr blockaddress(@vm_exec_core, %3961), ptr blockaddress(@vm_exec_core, %3962), ptr blockaddress(@vm_exec_core, %3963), ptr blockaddress(@vm_exec_core, %3964), ptr blockaddress(@vm_exec_core, %3965), ptr blockaddress(@vm_exec_core, %3966), ptr blockaddress(@vm_exec_core, %3967), ptr blockaddress(@vm_exec_core, %3968), ptr blockaddress(@vm_exec_core, %3969), ptr blockaddress(@vm_exec_core, %3970), ptr blockaddress(@vm_exec_core, %3971), ptr blockaddress(@vm_exec_core, %3972), ptr blockaddress(@vm_exec_core, %3973), ptr blockaddress(@vm_exec_core, %3974), ptr blockaddress(@vm_exec_core, %3975), ptr blockaddress(@vm_exec_core, %3976), ptr blockaddress(@vm_exec_core, %3978), ptr blockaddress(@vm_exec_core, %3979), ptr blockaddress(@vm_exec_core, %3980), ptr blockaddress(@vm_exec_core, %3981), ptr blockaddress(@vm_exec_core, %3982), ptr blockaddress(@vm_exec_core, %3983), ptr blockaddress(@vm_exec_core, %3984), ptr blockaddress(@vm_exec_core, %3985), ptr blockaddress(@vm_exec_core, %3986), ptr blockaddress(@vm_exec_core, %3987), ptr blockaddress(@vm_exec_core, %3988), ptr blockaddress(@vm_exec_core, %3989), ptr blockaddress(@vm_exec_core, %3990), ptr blockaddress(@vm_exec_core, %3991), ptr blockaddress(@vm_exec_core, %3992), ptr blockaddress(@vm_exec_core, %3993), ptr blockaddress(@vm_exec_core, %3994), ptr blockaddress(@vm_exec_core, %3995), ptr blockaddress(@vm_exec_core, %3996), ptr blockaddress(@vm_exec_core, %3997), ptr blockaddress(@vm_exec_core, %3998), ptr blockaddress(@vm_exec_core, %3999), ptr blockaddress(@vm_exec_core, %4000), ptr blockaddress(@vm_exec_core, %4001), ptr blockaddress(@vm_exec_core, %4002), ptr blockaddress(@vm_exec_core, %4003)], align 16 @ruby_array__create_semaphore = external global i16, section ".probes", align 2 @.str.175 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 @ruby_hash__create_semaphore = external global i16, section ".probes", align 2 @@ -6517,7 +6517,7 @@ define internal fastcc i64 @vm_exec_core(ptr noundef %0) #2 { %14 = alloca i32, align 4 %15 = alloca ptr, align 8 %16 = icmp eq ptr %0, null - br i1 %16, label %.loopexit2663, label %17 + br i1 %16, label %.loopexit2664, label %17 17: ; preds = %1 %18 = getelementptr inbounds nuw i8, ptr %0, i64 16 @@ -6533,7 +6533,7 @@ define internal fastcc i64 @vm_exec_core(ptr noundef %0) #2 { %28 = getelementptr inbounds nuw i8, ptr %0, i64 96 br label %.backedge -29: ; preds = %.backedge, %3900 +29: ; preds = %.backedge, %3898 %30 = getelementptr i8, ptr %.02113, i64 8 store ptr %30, ptr %.02114, align 8 %31 = load i64, ptr @rb_vm_insns_count, align 8 @@ -6541,7 +6541,7 @@ define internal fastcc i64 @vm_exec_core(ptr noundef %0) #2 { store i64 %32, ptr @rb_vm_insns_count, align 8 br label %.backedge.backedge -33: ; preds = %.backedge, %3901 +33: ; preds = %.backedge, %3899 %34 = getelementptr i8, ptr %.02113, i64 8 %35 = load i64, ptr %34, align 8 %36 = getelementptr i8, ptr %.02113, i64 16 @@ -6579,7 +6579,7 @@ vm_get_ep.exit: ; preds = %.lr.ph.i, %33 store i64 %50, ptr %52, align 8 br label %.backedge.backedge -54: ; preds = %.backedge, %3902 +54: ; preds = %.backedge, %3900 %55 = getelementptr i8, ptr %.02113, i64 8 %56 = load i64, ptr %55, align 8 %57 = getelementptr i8, ptr %.02113, i64 16 @@ -6642,7 +6642,7 @@ vm_env_write.exit: ; preds = %78, %81 store ptr %88, ptr %59, align 8 br label %.backedge.backedge -89: ; preds = %.backedge, %3903 +89: ; preds = %.backedge, %3901 %90 = getelementptr i8, ptr %.02113, i64 8 %91 = load i64, ptr %90, align 8 %92 = getelementptr i8, ptr %.02113, i64 16 @@ -6730,7 +6730,7 @@ rb_vm_bh_to_procval.exit: ; preds = %105, %113, %RB_SYMB %130 = sext i32 %125 to i64 %131 = getelementptr i64, ptr %.0.lcssa.i2201, i64 %130 store i64 %.0.i, ptr %131, align 8 - %.pre2922 = load i64, ptr %.0.lcssa.i2201, align 8 + %.pre2923 = load i64, ptr %.0.lcssa.i2201, align 8 br label %vm_env_write.exit2205 132: ; preds = %rb_vm_bh_to_procval.exit @@ -6745,7 +6745,7 @@ rb_vm_bh_to_procval.exit: ; preds = %105, %113, %RB_SYMB br label %vm_env_write.exit2205 vm_env_write.exit2205: ; preds = %129, %132 - %138 = phi i64 [ %.pre2922, %129 ], [ %137, %132 ] + %138 = phi i64 [ %.pre2923, %129 ], [ %137, %132 ] %139 = or i64 %138, 512 store i64 %139, ptr %.0.lcssa.i2201, align 8 br label %144 @@ -6765,7 +6765,7 @@ vm_env_write.exit2205: ; preds = %129, %132 store i64 %.02115, ptr %146, align 8 br label %.backedge.backedge -148: ; preds = %.backedge, %3904 +148: ; preds = %.backedge, %3902 %149 = getelementptr i8, ptr %.02113, i64 8 %150 = load i64, ptr %149, align 8 %151 = getelementptr i8, ptr %.02113, i64 16 @@ -6808,7 +6808,7 @@ vm_get_ep.exit2212: ; preds = %.lr.ph.i2207, %148 %173 = sext i32 %168 to i64 %174 = getelementptr i64, ptr %.0.lcssa.i2211, i64 %173 store i64 %156, ptr %174, align 8 - %.pre2921 = load i64, ptr %.0.lcssa.i2211, align 8 + %.pre2922 = load i64, ptr %.0.lcssa.i2211, align 8 br label %vm_env_write.exit2214 175: ; preds = %vm_get_ep.exit2212 @@ -6823,7 +6823,7 @@ vm_get_ep.exit2212: ; preds = %.lr.ph.i2207, %148 br label %vm_env_write.exit2214 vm_env_write.exit2214: ; preds = %172, %175 - %181 = phi i64 [ %.pre2921, %172 ], [ %180, %175 ] + %181 = phi i64 [ %.pre2922, %172 ], [ %180, %175 ] %182 = or i64 %181, 512 store i64 %182, ptr %.0.lcssa.i2211, align 8 %183 = load ptr, ptr %153, align 8 @@ -6831,7 +6831,7 @@ vm_env_write.exit2214: ; preds = %172, %175 store ptr %184, ptr %153, align 8 br label %.backedge.backedge -185: ; preds = %.backedge, %3905 +185: ; preds = %.backedge, %3903 %186 = getelementptr i8, ptr %.02113, i64 8 %187 = load i64, ptr %186, align 8 %188 = getelementptr i8, ptr %.02113, i64 16 @@ -6884,8 +6884,8 @@ vm_get_ep.exit2221: ; preds = %.lr.ph.i2216, %185 208: ; preds = %205 %209 = and i64 %.val2178, 7 - %.not2661 = icmp eq i64 %209, 0 - br i1 %.not2661, label %RB_SYMBOL_P.exit.i, label %216 + %.not2662 = icmp eq i64 %209, 0 + br i1 %.not2662, label %RB_SYMBOL_P.exit.i, label %216 RB_SYMBOL_P.exit.i: ; preds = %208 %210 = inttoptr i64 %.val2178 to ptr @@ -6901,11 +6901,11 @@ RB_SYMBOL_P.exit.thread7.fold.split.i: ; preds = %203, %203 vm_block_handler_type.exit: ; preds = %RB_SYMBOL_P.exit.i, %205 %215 = call i64 @rb_sym_to_proc(i64 noundef %.val2178) #21 - %.pre2919 = load i64, ptr %.0.lcssa.i2220, align 8 + %.pre2920 = load i64, ptr %.0.lcssa.i2220, align 8 br label %216 216: ; preds = %208, %RB_SYMBOL_P.exit.i, %201, %vm_block_handler_type.exit - %217 = phi i64 [ %.pre2919, %vm_block_handler_type.exit ], [ %.val2176, %201 ], [ %.val2176, %RB_SYMBOL_P.exit.i ], [ %.val2176, %208 ] + %217 = phi i64 [ %.pre2920, %vm_block_handler_type.exit ], [ %.val2176, %201 ], [ %.val2176, %RB_SYMBOL_P.exit.i ], [ %.val2176, %208 ] %.02116 = phi i64 [ %215, %vm_block_handler_type.exit ], [ 4, %201 ], [ %.val2178, %RB_SYMBOL_P.exit.i ], [ %.val2178, %208 ] %218 = trunc i64 %187 to i32 %219 = sub i32 0, %218 @@ -6917,7 +6917,7 @@ vm_block_handler_type.exit: ; preds = %RB_SYMBOL_P.exit.i, %223 = sext i32 %219 to i64 %224 = getelementptr i64, ptr %.0.lcssa.i2220, i64 %223 store i64 %.02116, ptr %224, align 8 - %.pre2920 = load i64, ptr %.0.lcssa.i2220, align 8 + %.pre2921 = load i64, ptr %.0.lcssa.i2220, align 8 br label %vm_env_write.exit2224 225: ; preds = %216 @@ -6932,7 +6932,7 @@ vm_block_handler_type.exit: ; preds = %RB_SYMBOL_P.exit.i, br label %vm_env_write.exit2224 vm_env_write.exit2224: ; preds = %222, %225 - %231 = phi i64 [ %.pre2920, %222 ], [ %230, %225 ] + %231 = phi i64 [ %.pre2921, %222 ], [ %230, %225 ] %232 = or i64 %231, 512 store i64 %232, ptr %.0.lcssa.i2220, align 8 br label %237 @@ -6952,7 +6952,7 @@ vm_env_write.exit2224: ; preds = %222, %225 store i64 %.12117, ptr %239, align 8 br label %.backedge.backedge -241: ; preds = %.backedge, %3906 +241: ; preds = %.backedge, %3904 %242 = getelementptr i8, ptr %.02113, i64 8 %243 = load i64, ptr %242, align 8 %244 = getelementptr i8, ptr %.02113, i64 16 @@ -7091,7 +7091,7 @@ vm_getspecial.exit: ; preds = %lep_svar.exit.i.i, store i64 %.0.i2229, ptr %300, align 8 br label %.backedge.backedge -302: ; preds = %.backedge, %3907 +302: ; preds = %.backedge, %3905 %303 = getelementptr i8, ptr %.02113, i64 8 %304 = load i64, ptr %303, align 8 %305 = getelementptr inbounds nuw i8, ptr %.02114, i64 8 @@ -7129,7 +7129,7 @@ VM_EP_LEP.exit2238: ; preds = %.lr.ph.i2233, %302 store ptr %320, ptr %305, align 8 br label %.backedge.backedge -321: ; preds = %.backedge, %3908 +321: ; preds = %.backedge, %3906 %322 = getelementptr i8, ptr %.02113, i64 8 %323 = load i64, ptr %322, align 8 %324 = getelementptr i8, ptr %.02113, i64 16 @@ -7320,7 +7320,7 @@ vm_getinstancevariable.exit: ; preds = %321, %353, %364, %3 store i64 %.0.i2239, ptr %408, align 8 br label %.backedge.backedge -410: ; preds = %.backedge, %3909 +410: ; preds = %.backedge, %3907 %411 = getelementptr i8, ptr %.02113, i64 8 %412 = load i64, ptr %411, align 8 %413 = getelementptr i8, ptr %.02113, i64 16 @@ -7343,7 +7343,7 @@ vm_getinstancevariable.exit: ; preds = %321, %353, %364, %3 store ptr %426, ptr %416, align 8 br label %.backedge.backedge -427: ; preds = %.backedge, %3910 +427: ; preds = %.backedge, %3908 %428 = getelementptr i8, ptr %.02113, i64 8 %429 = load i64, ptr %428, align 8 %430 = getelementptr i8, ptr %.02113, i64 16 @@ -7366,7 +7366,7 @@ vm_getinstancevariable.exit: ; preds = %321, %353, %364, %3 store i64 %439, ptr %441, align 8 br label %.backedge.backedge -443: ; preds = %.backedge, %3911 +443: ; preds = %.backedge, %3909 %444 = getelementptr i8, ptr %.02113, i64 8 %445 = load i64, ptr %444, align 8 %446 = getelementptr i8, ptr %.02113, i64 16 @@ -7411,7 +7411,7 @@ vm_ensure_not_refinement_module.exit: ; preds = %443, %462, %466 store ptr %471, ptr %449, align 8 br label %.backedge.backedge -472: ; preds = %.backedge, %3912 +472: ; preds = %.backedge, %3910 %473 = getelementptr i8, ptr %.02113, i64 8 %474 = load i64, ptr %473, align 8 %475 = inttoptr i64 %474 to ptr @@ -7428,7 +7428,7 @@ vm_ensure_not_refinement_module.exit: ; preds = %443, %462, %466 store i64 %479, ptr %481, align 8 br label %.backedge.backedge -483: ; preds = %.backedge, %3913 +483: ; preds = %.backedge, %3911 %484 = getelementptr i8, ptr %.02113, i64 8 %485 = load i64, ptr %484, align 8 %486 = getelementptr inbounds nuw i8, ptr %.02114, i64 8 @@ -7451,7 +7451,7 @@ vm_ensure_not_refinement_module.exit: ; preds = %443, %462, %466 store i64 %496, ptr %499, align 8 br label %.backedge.backedge -500: ; preds = %.backedge, %3914 +500: ; preds = %.backedge, %3912 %501 = getelementptr i8, ptr %.02113, i64 8 %502 = load i64, ptr %501, align 8 %503 = getelementptr inbounds nuw i8, ptr %.02114, i64 8 @@ -7510,7 +7510,7 @@ vm_ensure_not_refinement_module.exit2243: ; preds = %vm_check_if_namespa store ptr %533, ptr %503, align 8 br label %.backedge.backedge -534: ; preds = %.backedge, %3915 +534: ; preds = %.backedge, %3913 %535 = getelementptr i8, ptr %.02113, i64 8 %536 = load i64, ptr %535, align 8 %537 = getelementptr i8, ptr %.02113, i64 16 @@ -7526,7 +7526,7 @@ vm_ensure_not_refinement_module.exit2243: ; preds = %vm_check_if_namespa store i64 %540, ptr %542, align 8 br label %.backedge.backedge -544: ; preds = %.backedge, %3916 +544: ; preds = %.backedge, %3914 %545 = getelementptr i8, ptr %.02113, i64 8 %546 = load i64, ptr %545, align 8 %547 = getelementptr inbounds nuw i8, ptr %.02114, i64 8 @@ -7544,7 +7544,7 @@ vm_ensure_not_refinement_module.exit2243: ; preds = %vm_check_if_namespa store ptr %556, ptr %547, align 8 br label %.backedge.backedge -557: ; preds = %.backedge, %3917 +557: ; preds = %.backedge, %3915 %558 = getelementptr i8, ptr %.02113, i64 8 store ptr %558, ptr %.02114, align 8 %559 = load i64, ptr @rb_vm_insns_count, align 8 @@ -7557,7 +7557,7 @@ vm_ensure_not_refinement_module.exit2243: ; preds = %vm_check_if_namespa store i64 4, ptr %562, align 8 br label %.backedge.backedge -564: ; preds = %.backedge, %3918 +564: ; preds = %.backedge, %3916 %565 = getelementptr i8, ptr %.02113, i64 8 store ptr %565, ptr %.02114, align 8 %566 = load i64, ptr @rb_vm_insns_count, align 8 @@ -7572,7 +7572,7 @@ vm_ensure_not_refinement_module.exit2243: ; preds = %vm_check_if_namespa store i64 %569, ptr %571, align 8 br label %.backedge.backedge -573: ; preds = %.backedge, %3919 +573: ; preds = %.backedge, %3917 %574 = getelementptr i8, ptr %.02113, i64 8 %575 = load i64, ptr %574, align 8 %576 = getelementptr i8, ptr %.02113, i64 16 @@ -7587,7 +7587,7 @@ vm_ensure_not_refinement_module.exit2243: ; preds = %vm_check_if_namespa store i64 %575, ptr %580, align 8 br label %.backedge.backedge -582: ; preds = %.backedge, %3920 +582: ; preds = %.backedge, %3918 %583 = getelementptr i8, ptr %.02113, i64 8 %584 = load i64, ptr %583, align 8 %585 = getelementptr i8, ptr %.02113, i64 16 @@ -7675,7 +7675,7 @@ vm_get_special_object.exit: ; preds = %vm_get_cref.exit.i5 store i64 %.0.i2245, ptr %614, align 8 br label %.backedge.backedge -616: ; preds = %.backedge, %3921 +616: ; preds = %.backedge, %3919 %617 = getelementptr i8, ptr %.02113, i64 8 %618 = load i64, ptr %617, align 8 %619 = getelementptr i8, ptr %.02113, i64 16 @@ -7691,7 +7691,7 @@ vm_get_special_object.exit: ; preds = %vm_get_cref.exit.i5 store i64 %622, ptr %624, align 8 br label %.backedge.backedge -626: ; preds = %.backedge, %3922 +626: ; preds = %.backedge, %3920 %627 = getelementptr i8, ptr %.02113, i64 8 %628 = load i64, ptr %627, align 8 %629 = getelementptr i8, ptr %.02113, i64 16 @@ -7712,7 +7712,7 @@ vm_get_special_object.exit: ; preds = %vm_get_cref.exit.i5 store i64 %636, ptr %640, align 8 br label %.backedge.backedge -641: ; preds = %.backedge, %3923 +641: ; preds = %.backedge, %3921 %642 = getelementptr inbounds nuw i8, ptr %.02114, i64 8 %643 = load ptr, ptr %642, align 8 %644 = getelementptr i8, ptr %643, i64 -8 @@ -7732,7 +7732,7 @@ vm_get_special_object.exit: ; preds = %vm_get_cref.exit.i5 store i64 %651, ptr %654, align 8 br label %.backedge.backedge -655: ; preds = %.backedge, %3924 +655: ; preds = %.backedge, %3922 %656 = getelementptr i8, ptr %.02113, i64 8 %657 = load i64, ptr %656, align 8 %658 = getelementptr i8, ptr %.02113, i64 16 @@ -7758,7 +7758,7 @@ vm_get_special_object.exit: ; preds = %vm_get_cref.exit.i5 store i64 %669, ptr %674, align 8 br label %.backedge.backedge -675: ; preds = %.backedge, %3925 +675: ; preds = %.backedge, %3923 %676 = getelementptr inbounds nuw i8, ptr %.02114, i64 8 %677 = load ptr, ptr %676, align 8 %678 = getelementptr i8, ptr %677, i64 -8 @@ -7774,7 +7774,7 @@ vm_get_special_object.exit: ; preds = %vm_get_cref.exit.i5 store i64 %683, ptr %685, align 8 br label %.backedge.backedge -686: ; preds = %.backedge, %3926 +686: ; preds = %.backedge, %3924 %687 = getelementptr i8, ptr %.02113, i64 8 %688 = load i64, ptr %687, align 8 %689 = getelementptr i8, ptr %.02113, i64 16 @@ -7795,7 +7795,7 @@ vm_get_special_object.exit: ; preds = %vm_get_cref.exit.i5 store i64 %696, ptr %700, align 8 br label %.backedge.backedge -701: ; preds = %.backedge, %3927 +701: ; preds = %.backedge, %3925 %702 = getelementptr i8, ptr %.02113, i64 8 %703 = load i64, ptr %702, align 8 %704 = getelementptr i8, ptr %.02113, i64 16 @@ -7841,7 +7841,7 @@ RHASH_EMPTY_P.exit: ; preds = %714, %717 store i64 %726, ptr %730, align 8 br label %.backedge.backedge -731: ; preds = %.backedge, %3928 +731: ; preds = %.backedge, %3926 %732 = getelementptr inbounds nuw i8, ptr %.02114, i64 8 %733 = load ptr, ptr %732, align 8 %734 = getelementptr i8, ptr %733, i64 -8 @@ -7878,18 +7878,18 @@ RHASH_EMPTY_P.exit2250: ; preds = %744, %747 753: ; preds = %RHASH_EMPTY_P.exit2250 %754 = call i64 @rb_ary_push(i64 noundef %736, i64 noundef %737) #21 - %.pre2918 = load ptr, ptr %732, align 8 + %.pre2919 = load ptr, ptr %732, align 8 br label %755 755: ; preds = %753, %RHASH_EMPTY_P.exit2250 - %756 = phi ptr [ %.pre2918, %753 ], [ %733, %RHASH_EMPTY_P.exit2250 ] + %756 = phi ptr [ %.pre2919, %753 ], [ %733, %RHASH_EMPTY_P.exit2250 ] %757 = getelementptr i8, ptr %756, i64 -8 store ptr %757, ptr %732, align 8 %758 = getelementptr i8, ptr %756, i64 -16 store i64 %736, ptr %758, align 8 br label %.backedge.backedge -759: ; preds = %.backedge, %3929 +759: ; preds = %.backedge, %3927 %760 = getelementptr i8, ptr %.02113, i64 8 %761 = load i64, ptr %760, align 8 %762 = getelementptr i8, ptr %.02113, i64 16 @@ -7983,7 +7983,7 @@ rb_array_len.exit: ; preds = %790, %793 store i64 %797, ptr %799, align 8 br label %.backedge.backedge -801: ; preds = %.backedge, %3930 +801: ; preds = %.backedge, %3928 %802 = getelementptr i8, ptr %.02113, i64 8 %803 = load i64, ptr %802, align 8 %804 = getelementptr i8, ptr %.02113, i64 16 @@ -8080,7 +8080,7 @@ RHASH_SIZE.exit: ; preds = %832, %835 store i64 %842, ptr %844, align 8 br label %.backedge.backedge -846: ; preds = %.backedge, %3931 +846: ; preds = %.backedge, %3929 %847 = getelementptr i8, ptr %.02113, i64 8 %848 = load i64, ptr %847, align 8 %849 = getelementptr i8, ptr %.02113, i64 16 @@ -8311,7 +8311,7 @@ vm_expandarray.exit: ; preds = %938, %931, %rb_arra call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %5) br label %.backedge.backedge -947: ; preds = %.backedge, %3932 +947: ; preds = %.backedge, %3930 %948 = getelementptr inbounds nuw i8, ptr %.02114, i64 8 %949 = load ptr, ptr %948, align 8 %950 = getelementptr i8, ptr %949, i64 -8 @@ -8363,7 +8363,7 @@ vm_concat_array.exit: ; preds = %968, %970 store i64 %.0.i2278, ptr %974, align 8 br label %.backedge.backedge -975: ; preds = %.backedge, %3933 +975: ; preds = %.backedge, %3931 %976 = getelementptr inbounds nuw i8, ptr %.02114, i64 8 %977 = load ptr, ptr %976, align 8 %978 = getelementptr i8, ptr %977, i64 -8 @@ -8396,7 +8396,7 @@ vm_concat_to_array.exit: ; preds = %987, %989 store i64 %.0.i2279, ptr %993, align 8 br label %.backedge.backedge -994: ; preds = %.backedge, %3934 +994: ; preds = %.backedge, %3932 %995 = getelementptr i8, ptr %.02113, i64 8 %996 = load i64, ptr %995, align 8 %997 = getelementptr i8, ptr %.02113, i64 16 @@ -8418,7 +8418,7 @@ vm_concat_to_array.exit: ; preds = %987, %989 store i64 %1006, ptr %1009, align 8 br label %.backedge.backedge -1010: ; preds = %.backedge, %3935 +1010: ; preds = %.backedge, %3933 %1011 = getelementptr i8, ptr %.02113, i64 8 %1012 = load i64, ptr %1011, align 8 %1013 = getelementptr inbounds nuw i8, ptr %.02114, i64 8 @@ -8454,7 +8454,7 @@ vm_splat_array.exit: ; preds = %1022, %1024, %1026 store i64 %.0.i2281, ptr %1029, align 8 br label %.backedge.backedge -1030: ; preds = %.backedge, %3936 +1030: ; preds = %.backedge, %3934 %1031 = getelementptr inbounds nuw i8, ptr %.02114, i64 8 %1032 = load ptr, ptr %1031, align 8 %1033 = getelementptr i8, ptr %1032, i64 -8 @@ -8471,11 +8471,11 @@ vm_splat_array.exit: ; preds = %1022, %1024, %1026 1041: ; preds = %1030 %1042 = call i64 @rb_to_hash_type(i64 noundef %1035) #21 - %.pre2917 = load ptr, ptr %1031, align 8 + %.pre2918 = load ptr, ptr %1031, align 8 br label %1043 1043: ; preds = %1030, %1041 - %1044 = phi ptr [ %.pre2917, %1041 ], [ %1032, %1030 ] + %1044 = phi ptr [ %.pre2918, %1041 ], [ %1032, %1030 ] %.02119 = phi i64 [ %1042, %1041 ], [ 4, %1030 ] %1045 = getelementptr i8, ptr %1044, i64 -8 store i64 %1036, ptr %1045, align 8 @@ -8484,7 +8484,7 @@ vm_splat_array.exit: ; preds = %1022, %1024, %1026 store i64 %.02119, ptr %1047, align 8 br label %.backedge.backedge -1048: ; preds = %.backedge, %3937 +1048: ; preds = %.backedge, %3935 %1049 = getelementptr i8, ptr %.02113, i64 8 %1050 = load i64, ptr %1049, align 8 %1051 = getelementptr i8, ptr %.02113, i64 16 @@ -8581,7 +8581,7 @@ rb_source_location_cstr.exit2296: ; preds = %1063, %1055, %rb_vm store i64 %.02120, ptr %1089, align 8 br label %.backedge.backedge -1090: ; preds = %.backedge, %3938 +1090: ; preds = %.backedge, %3936 %1091 = getelementptr i8, ptr %.02113, i64 8 %1092 = load i64, ptr %1091, align 8 %1093 = getelementptr inbounds nuw i8, ptr %.02114, i64 8 @@ -8604,7 +8604,7 @@ rb_source_location_cstr.exit2296: ; preds = %1063, %1055, %rb_vm store i64 %1103, ptr %1106, align 8 br label %.backedge.backedge -1107: ; preds = %.backedge, %3939 +1107: ; preds = %.backedge, %3937 %1108 = getelementptr inbounds nuw i8, ptr %.02114, i64 8 %1109 = getelementptr i8, ptr %.02113, i64 8 store ptr %1109, ptr %.02114, align 8 @@ -8616,7 +8616,7 @@ rb_source_location_cstr.exit2296: ; preds = %1063, %1055, %rb_vm store ptr %1113, ptr %1108, align 8 br label %.backedge.backedge -1114: ; preds = %.backedge, %3940 +1114: ; preds = %.backedge, %3938 %1115 = getelementptr inbounds nuw i8, ptr %.02114, i64 8 %1116 = load ptr, ptr %1115, align 8 %1117 = getelementptr i8, ptr %1116, i64 -8 @@ -8634,7 +8634,7 @@ rb_source_location_cstr.exit2296: ; preds = %1063, %1055, %rb_vm store i64 %1118, ptr %1124, align 8 br label %.backedge.backedge -1125: ; preds = %.backedge, %3941 +1125: ; preds = %.backedge, %3939 %1126 = getelementptr i8, ptr %.02113, i64 8 %1127 = load i64, ptr %1126, align 8 %1128 = getelementptr i8, ptr %.02113, i64 16 @@ -8660,16 +8660,16 @@ rbimpl_size_mul_or_raise.exit: ; preds = %1125 1137: ; preds = %rbimpl_size_mul_or_raise.exit %1138 = shl nuw i64 %1127, 3 call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 1 %1132, ptr readonly align 1 %1134, i64 %1138, i1 false) - %.pre2916 = load ptr, ptr %1131, align 8 + %.pre2917 = load ptr, ptr %1131, align 8 br label %ruby_nonempty_memcpy.exit ruby_nonempty_memcpy.exit: ; preds = %rbimpl_size_mul_or_raise.exit, %1137 - %1139 = phi ptr [ %1132, %rbimpl_size_mul_or_raise.exit ], [ %.pre2916, %1137 ] + %1139 = phi ptr [ %1132, %rbimpl_size_mul_or_raise.exit ], [ %.pre2917, %1137 ] %1140 = getelementptr i64, ptr %1139, i64 %1127 store ptr %1140, ptr %1131, align 8 br label %.backedge.backedge -1141: ; preds = %.backedge, %3942 +1141: ; preds = %.backedge, %3940 %1142 = getelementptr inbounds nuw i8, ptr %.02114, i64 8 %1143 = load ptr, ptr %1142, align 8 %1144 = getelementptr i8, ptr %1143, i64 -8 @@ -8687,7 +8687,7 @@ ruby_nonempty_memcpy.exit: ; preds = %rbimpl_size_mul_or_ store i64 %1147, ptr %1152, align 8 br label %.backedge.backedge -1153: ; preds = %.backedge, %3943 +1153: ; preds = %.backedge, %3941 %1154 = getelementptr i8, ptr %.02113, i64 8 %1155 = load i64, ptr %1154, align 8 %1156 = getelementptr i8, ptr %.02113, i64 16 @@ -8700,20 +8700,20 @@ ruby_nonempty_memcpy.exit: ; preds = %rbimpl_size_mul_or_ %1161 = sub i64 0, %1155 %1162 = getelementptr i64, ptr %1160, i64 %1161 %1163 = lshr i64 %1155, 1 - %.not2780 = icmp ult i64 %1155, 2 - br i1 %.not2780, label %.backedge.backedge, label %.lr.ph2779 + %.not2781 = icmp ult i64 %1155, 2 + br i1 %.not2781, label %.backedge.backedge, label %.lr.ph2780 -.backedge.backedge: ; preds = %.lr.ph2779, %1153, %29, %vm_get_ep.exit, %vm_env_write.exit, %144, %vm_env_write.exit2214, %237, %vm_getspecial.exit, %VM_EP_LEP.exit2238, %vm_getinstancevariable.exit, %410, %427, %vm_ensure_not_refinement_module.exit, %472, %483, %vm_ensure_not_refinement_module.exit2243, %534, %544, %557, %564, %573, %vm_get_special_object.exit, %616, %626, %641, %655, %675, %686, %RHASH_EMPTY_P.exit, %755, %796, %841, %vm_expandarray.exit, %vm_concat_array.exit, %vm_concat_to_array.exit, %994, %vm_splat_array.exit, %1043, %1085, %1090, %1107, %1114, %ruby_nonempty_memcpy.exit, %1141, %1175, %1188, %1203, %1213, %1320, %vm_check_match.exit, %vm_check_keyword.exit, %rb_type.exit, %vm_push_frame.exit, %1609, %1617, %.thread2581, %.thread2583, %.thread2587, %.thread2589, %1815, %1835, %1859, %1879, %vm_opt_newarray_hash.exit, %.thread2596, %.thread2598, %.thread2602, %.thread2604, %2015, %rb_vm_check_ints.exit, %2060, %2080, %2100, %vm_once_dispatch.exit, %2218, %vm_opt_plus.exit.thread2611, %vm_opt_minus.exit.thread2616, %vm_opt_mult.exit.thread2621, %2701, %vm_opt_mod.exit.thread2630, %2858, %vm_opt_neq.exit, %vm_opt_lt.exit, %vm_opt_le.exit, %vm_opt_gt.exit, %vm_opt_ge.exit, %3291, %3312, %3331, %vm_opt_aref.exit.thread2646, %3445, %3480, %3527, %3541, %3555, %3568, %vm_opt_succ.exit.thread2653, %3624, %3683, %3687, %vm_invoke_builtin_delegate.exit, %3791, %3796, %.lr.ph.i2526, %vm_env_write.exit2536, %vm_env_write.exit2545, %3886, %3893 - %.02114.be = phi ptr [ %.02114, %29 ], [ %.02114, %3893 ], [ %.02114, %3886 ], [ %.02114, %vm_env_write.exit2545 ], [ %.02114, %vm_env_write.exit2536 ], [ %.02114, %.lr.ph.i2526 ], [ %.02114, %3796 ], [ %3789, %3791 ], [ %.02114, %vm_invoke_builtin_delegate.exit ], [ %.02114, %3687 ], [ %1681, %.thread2587 ], [ %.02114, %.thread2589 ], [ %.02114, %3527 ], [ %.02114, %3480 ], [ %.02114, %2218 ], [ %.02114, %vm_once_dispatch.exit ], [ %.02114, %2100 ], [ %.02114, %2080 ], [ %.02114, %2060 ], [ %.02114, %rb_vm_check_ints.exit ], [ %2013, %2015 ], [ %1974, %.thread2602 ], [ %.02114, %.thread2604 ], [ %1948, %.thread2596 ], [ %.02114, %.thread2598 ], [ %.02114, %vm_opt_newarray_hash.exit ], [ %.02114, %1879 ], [ %.02114, %1835 ], [ %.02114, %1815 ], [ %1655, %.thread2581 ], [ %.02114, %.thread2583 ], [ %.02114, %1617 ], [ %.02114, %1609 ], [ %1596, %vm_push_frame.exit ], [ %.02114, %rb_type.exit ], [ %.02114, %vm_check_keyword.exit ], [ %.02114, %vm_check_match.exit ], [ %.02114, %1320 ], [ %.02114, %1213 ], [ %.02114, %1203 ], [ %.02114, %1188 ], [ %.02114, %1175 ], [ %.02114, %1141 ], [ %.02114, %ruby_nonempty_memcpy.exit ], [ %.02114, %1114 ], [ %.02114, %1107 ], [ %.02114, %1090 ], [ %.02114, %1085 ], [ %.02114, %1043 ], [ %.02114, %vm_splat_array.exit ], [ %.02114, %994 ], [ %.02114, %vm_concat_to_array.exit ], [ %.02114, %vm_concat_array.exit ], [ %.02114, %vm_expandarray.exit ], [ %.02114, %841 ], [ %.02114, %796 ], [ %.02114, %755 ], [ %.02114, %RHASH_EMPTY_P.exit ], [ %.02114, %686 ], [ %.02114, %675 ], [ %.02114, %655 ], [ %.02114, %641 ], [ %.02114, %626 ], [ %.02114, %616 ], [ %.02114, %vm_get_special_object.exit ], [ %.02114, %573 ], [ %.02114, %564 ], [ %.02114, %557 ], [ %.02114, %544 ], [ %.02114, %534 ], [ %.02114, %vm_ensure_not_refinement_module.exit2243 ], [ %.02114, %483 ], [ %.02114, %472 ], [ %.02114, %vm_ensure_not_refinement_module.exit ], [ %.02114, %427 ], [ %.02114, %410 ], [ %.02114, %vm_getinstancevariable.exit ], [ %.02114, %VM_EP_LEP.exit2238 ], [ %.02114, %vm_getspecial.exit ], [ %.02114, %237 ], [ %.02114, %vm_env_write.exit2214 ], [ %.02114, %144 ], [ %.02114, %vm_env_write.exit ], [ %.02114, %vm_get_ep.exit ], [ %.02114, %3683 ], [ %.02114, %3624 ], [ %.02114, %vm_opt_succ.exit.thread2653 ], [ %.02114, %3568 ], [ %.02114, %3555 ], [ %.02114, %3541 ], [ %.02114, %3445 ], [ %.02114, %vm_opt_aref.exit.thread2646 ], [ %.02114, %3331 ], [ %.02114, %3312 ], [ %.02114, %3291 ], [ %.02114, %vm_opt_ge.exit ], [ %.02114, %vm_opt_gt.exit ], [ %.02114, %vm_opt_le.exit ], [ %.02114, %vm_opt_lt.exit ], [ %.02114, %vm_opt_neq.exit ], [ %.02114, %2858 ], [ %.02114, %vm_opt_mod.exit.thread2630 ], [ %.02114, %2701 ], [ %.02114, %vm_opt_mult.exit.thread2621 ], [ %.02114, %vm_opt_minus.exit.thread2616 ], [ %.02114, %vm_opt_plus.exit.thread2611 ], [ %.02114, %1859 ], [ %.02114, %1153 ], [ %.02114, %.lr.ph2779 ] - %.02113.be = phi ptr [ %30, %29 ], [ %3894, %3893 ], [ %3887, %3886 ], [ %3861, %vm_env_write.exit2545 ], [ %3834, %vm_env_write.exit2536 ], [ %3812, %.lr.ph.i2526 ], [ %3799, %3796 ], [ %3792, %3791 ], [ %3716, %vm_invoke_builtin_delegate.exit ], [ %3691, %3687 ], [ %1682, %.thread2587 ], [ %1664, %.thread2589 ], [ %3497, %3527 ], [ %3458, %3480 ], [ %.5, %2218 ], [ %2110, %vm_once_dispatch.exit ], [ %.4, %2100 ], [ %.3, %2080 ], [ %.2, %2060 ], [ %2042, %rb_vm_check_ints.exit ], [ %2016, %2015 ], [ %1975, %.thread2602 ], [ %1957, %.thread2604 ], [ %1949, %.thread2596 ], [ %1929, %.thread2598 ], [ %1888, %vm_opt_newarray_hash.exit ], [ %1865, %1879 ], [ %1821, %1835 ], [ %1694, %1815 ], [ %1656, %.thread2581 ], [ %1636, %.thread2583 ], [ %1626, %1617 ], [ %1614, %1609 ], [ %1608, %vm_push_frame.exit ], [ %1406, %rb_type.exit ], [ %1374, %vm_check_keyword.exit ], [ %1334, %vm_check_match.exit ], [ %1238, %1320 ], [ %1224, %1213 ], [ %1206, %1203 ], [ %1195, %1188 ], [ %1178, %1175 ], [ %1148, %1141 ], [ %1128, %ruby_nonempty_memcpy.exit ], [ %1119, %1114 ], [ %1109, %1107 ], [ %1099, %1090 ], [ %1051, %1085 ], [ %1037, %1043 ], [ %1017, %vm_splat_array.exit ], [ %997, %994 ], [ %982, %vm_concat_to_array.exit ], [ %954, %vm_concat_array.exit ], [ %855, %vm_expandarray.exit ], [ %804, %841 ], [ %762, %796 ], [ %738, %755 ], [ %704, %RHASH_EMPTY_P.exit ], [ %689, %686 ], [ %680, %675 ], [ %660, %655 ], [ %648, %641 ], [ %629, %626 ], [ %619, %616 ], [ %585, %vm_get_special_object.exit ], [ %576, %573 ], [ %565, %564 ], [ %558, %557 ], [ %551, %544 ], [ %537, %534 ], [ %509, %vm_ensure_not_refinement_module.exit2243 ], [ %492, %483 ], [ %476, %472 ], [ %453, %vm_ensure_not_refinement_module.exit ], [ %433, %427 ], [ %420, %410 ], [ %327, %vm_getinstancevariable.exit ], [ %309, %VM_EP_LEP.exit2238 ], [ %246, %vm_getspecial.exit ], [ %190, %237 ], [ %157, %vm_env_write.exit2214 ], [ %94, %144 ], [ %63, %vm_env_write.exit ], [ %38, %vm_get_ep.exit ], [ %3636, %3683 ], [ %3617, %3624 ], [ %3576, %vm_opt_succ.exit.thread2653 ], [ %3563, %3568 ], [ %3549, %3555 ], [ %3535, %3541 ], [ %3414, %3445 ], [ %3339, %vm_opt_aref.exit.thread2646 ], [ %3320, %3331 ], [ %3302, %3312 ], [ %3251, %3291 ], [ %3163, %vm_opt_ge.exit ], [ %3076, %vm_opt_gt.exit ], [ %2988, %vm_opt_le.exit ], [ %2901, %vm_opt_lt.exit ], [ %2875, %vm_opt_neq.exit ], [ %2845, %2858 ], [ %2712, %vm_opt_mod.exit.thread2630 ], [ %2632, %2701 ], [ %2504, %vm_opt_mult.exit.thread2621 ], [ %2380, %vm_opt_minus.exit.thread2616 ], [ %2228, %vm_opt_plus.exit.thread2611 ], [ %1847, %1859 ], [ %1156, %1153 ], [ %1156, %.lr.ph2779 ] +.backedge.backedge: ; preds = %.lr.ph2780, %1153, %29, %vm_get_ep.exit, %vm_env_write.exit, %144, %vm_env_write.exit2214, %237, %vm_getspecial.exit, %VM_EP_LEP.exit2238, %vm_getinstancevariable.exit, %410, %427, %vm_ensure_not_refinement_module.exit, %472, %483, %vm_ensure_not_refinement_module.exit2243, %534, %544, %557, %564, %573, %vm_get_special_object.exit, %616, %626, %641, %655, %675, %686, %RHASH_EMPTY_P.exit, %755, %796, %841, %vm_expandarray.exit, %vm_concat_array.exit, %vm_concat_to_array.exit, %994, %vm_splat_array.exit, %1043, %1085, %1090, %1107, %1114, %ruby_nonempty_memcpy.exit, %1141, %1175, %1188, %1203, %1213, %1320, %vm_check_match.exit, %vm_check_keyword.exit, %rb_type.exit, %vm_push_frame.exit, %1609, %1617, %.thread2581, %.thread2583, %.thread2587, %.thread2589, %1815, %1835, %1859, %1879, %vm_opt_newarray_hash.exit, %.thread2596, %.thread2598, %.thread2602, %.thread2604, %2015, %rb_vm_check_ints.exit, %2060, %2080, %2100, %vm_once_dispatch.exit, %2218, %vm_opt_plus.exit.thread2611, %vm_opt_minus.exit.thread2616, %vm_opt_mult.exit.thread2621, %2701, %vm_opt_mod.exit.thread2630, %2858, %vm_opt_neq.exit, %vm_opt_lt.exit, %vm_opt_le.exit, %vm_opt_gt.exit, %vm_opt_ge.exit, %3291, %3310, %3329, %vm_opt_aref.exit.thread2646, %3443, %3478, %3525, %3539, %3553, %3566, %vm_opt_succ.exit.thread2653, %3622, %3681, %3685, %vm_invoke_builtin_delegate.exit, %3789, %3794, %.lr.ph.i2526, %vm_env_write.exit2536, %vm_env_write.exit2545, %3884, %3891 + %.02114.be = phi ptr [ %.02114, %29 ], [ %.02114, %3891 ], [ %.02114, %3884 ], [ %.02114, %vm_env_write.exit2545 ], [ %.02114, %vm_env_write.exit2536 ], [ %.02114, %.lr.ph.i2526 ], [ %.02114, %3794 ], [ %3787, %3789 ], [ %.02114, %vm_invoke_builtin_delegate.exit ], [ %.02114, %3685 ], [ %1681, %.thread2587 ], [ %.02114, %.thread2589 ], [ %.02114, %3525 ], [ %.02114, %3478 ], [ %.02114, %2218 ], [ %.02114, %vm_once_dispatch.exit ], [ %.02114, %2100 ], [ %.02114, %2080 ], [ %.02114, %2060 ], [ %.02114, %rb_vm_check_ints.exit ], [ %2013, %2015 ], [ %1974, %.thread2602 ], [ %.02114, %.thread2604 ], [ %1948, %.thread2596 ], [ %.02114, %.thread2598 ], [ %.02114, %vm_opt_newarray_hash.exit ], [ %.02114, %1879 ], [ %.02114, %1835 ], [ %.02114, %1815 ], [ %1655, %.thread2581 ], [ %.02114, %.thread2583 ], [ %.02114, %1617 ], [ %.02114, %1609 ], [ %1596, %vm_push_frame.exit ], [ %.02114, %rb_type.exit ], [ %.02114, %vm_check_keyword.exit ], [ %.02114, %vm_check_match.exit ], [ %.02114, %1320 ], [ %.02114, %1213 ], [ %.02114, %1203 ], [ %.02114, %1188 ], [ %.02114, %1175 ], [ %.02114, %1141 ], [ %.02114, %ruby_nonempty_memcpy.exit ], [ %.02114, %1114 ], [ %.02114, %1107 ], [ %.02114, %1090 ], [ %.02114, %1085 ], [ %.02114, %1043 ], [ %.02114, %vm_splat_array.exit ], [ %.02114, %994 ], [ %.02114, %vm_concat_to_array.exit ], [ %.02114, %vm_concat_array.exit ], [ %.02114, %vm_expandarray.exit ], [ %.02114, %841 ], [ %.02114, %796 ], [ %.02114, %755 ], [ %.02114, %RHASH_EMPTY_P.exit ], [ %.02114, %686 ], [ %.02114, %675 ], [ %.02114, %655 ], [ %.02114, %641 ], [ %.02114, %626 ], [ %.02114, %616 ], [ %.02114, %vm_get_special_object.exit ], [ %.02114, %573 ], [ %.02114, %564 ], [ %.02114, %557 ], [ %.02114, %544 ], [ %.02114, %534 ], [ %.02114, %vm_ensure_not_refinement_module.exit2243 ], [ %.02114, %483 ], [ %.02114, %472 ], [ %.02114, %vm_ensure_not_refinement_module.exit ], [ %.02114, %427 ], [ %.02114, %410 ], [ %.02114, %vm_getinstancevariable.exit ], [ %.02114, %VM_EP_LEP.exit2238 ], [ %.02114, %vm_getspecial.exit ], [ %.02114, %237 ], [ %.02114, %vm_env_write.exit2214 ], [ %.02114, %144 ], [ %.02114, %vm_env_write.exit ], [ %.02114, %vm_get_ep.exit ], [ %.02114, %3681 ], [ %.02114, %3622 ], [ %.02114, %vm_opt_succ.exit.thread2653 ], [ %.02114, %3566 ], [ %.02114, %3553 ], [ %.02114, %3539 ], [ %.02114, %3443 ], [ %.02114, %vm_opt_aref.exit.thread2646 ], [ %.02114, %3329 ], [ %.02114, %3310 ], [ %.02114, %3291 ], [ %.02114, %vm_opt_ge.exit ], [ %.02114, %vm_opt_gt.exit ], [ %.02114, %vm_opt_le.exit ], [ %.02114, %vm_opt_lt.exit ], [ %.02114, %vm_opt_neq.exit ], [ %.02114, %2858 ], [ %.02114, %vm_opt_mod.exit.thread2630 ], [ %.02114, %2701 ], [ %.02114, %vm_opt_mult.exit.thread2621 ], [ %.02114, %vm_opt_minus.exit.thread2616 ], [ %.02114, %vm_opt_plus.exit.thread2611 ], [ %.02114, %1859 ], [ %.02114, %1153 ], [ %.02114, %.lr.ph2780 ] + %.02113.be = phi ptr [ %30, %29 ], [ %3892, %3891 ], [ %3885, %3884 ], [ %3859, %vm_env_write.exit2545 ], [ %3832, %vm_env_write.exit2536 ], [ %3810, %.lr.ph.i2526 ], [ %3797, %3794 ], [ %3790, %3789 ], [ %3714, %vm_invoke_builtin_delegate.exit ], [ %3689, %3685 ], [ %1682, %.thread2587 ], [ %1664, %.thread2589 ], [ %3495, %3525 ], [ %3456, %3478 ], [ %.5, %2218 ], [ %2110, %vm_once_dispatch.exit ], [ %.4, %2100 ], [ %.3, %2080 ], [ %.2, %2060 ], [ %2042, %rb_vm_check_ints.exit ], [ %2016, %2015 ], [ %1975, %.thread2602 ], [ %1957, %.thread2604 ], [ %1949, %.thread2596 ], [ %1929, %.thread2598 ], [ %1888, %vm_opt_newarray_hash.exit ], [ %1865, %1879 ], [ %1821, %1835 ], [ %1694, %1815 ], [ %1656, %.thread2581 ], [ %1636, %.thread2583 ], [ %1626, %1617 ], [ %1614, %1609 ], [ %1608, %vm_push_frame.exit ], [ %1406, %rb_type.exit ], [ %1374, %vm_check_keyword.exit ], [ %1334, %vm_check_match.exit ], [ %1238, %1320 ], [ %1224, %1213 ], [ %1206, %1203 ], [ %1195, %1188 ], [ %1178, %1175 ], [ %1148, %1141 ], [ %1128, %ruby_nonempty_memcpy.exit ], [ %1119, %1114 ], [ %1109, %1107 ], [ %1099, %1090 ], [ %1051, %1085 ], [ %1037, %1043 ], [ %1017, %vm_splat_array.exit ], [ %997, %994 ], [ %982, %vm_concat_to_array.exit ], [ %954, %vm_concat_array.exit ], [ %855, %vm_expandarray.exit ], [ %804, %841 ], [ %762, %796 ], [ %738, %755 ], [ %704, %RHASH_EMPTY_P.exit ], [ %689, %686 ], [ %680, %675 ], [ %660, %655 ], [ %648, %641 ], [ %629, %626 ], [ %619, %616 ], [ %585, %vm_get_special_object.exit ], [ %576, %573 ], [ %565, %564 ], [ %558, %557 ], [ %551, %544 ], [ %537, %534 ], [ %509, %vm_ensure_not_refinement_module.exit2243 ], [ %492, %483 ], [ %476, %472 ], [ %453, %vm_ensure_not_refinement_module.exit ], [ %433, %427 ], [ %420, %410 ], [ %327, %vm_getinstancevariable.exit ], [ %309, %VM_EP_LEP.exit2238 ], [ %246, %vm_getspecial.exit ], [ %190, %237 ], [ %157, %vm_env_write.exit2214 ], [ %94, %144 ], [ %63, %vm_env_write.exit ], [ %38, %vm_get_ep.exit ], [ %3634, %3681 ], [ %3615, %3622 ], [ %3574, %vm_opt_succ.exit.thread2653 ], [ %3561, %3566 ], [ %3547, %3553 ], [ %3533, %3539 ], [ %3412, %3443 ], [ %3337, %vm_opt_aref.exit.thread2646 ], [ %3318, %3329 ], [ %3302, %3310 ], [ %3251, %3291 ], [ %3163, %vm_opt_ge.exit ], [ %3076, %vm_opt_gt.exit ], [ %2988, %vm_opt_le.exit ], [ %2901, %vm_opt_lt.exit ], [ %2875, %vm_opt_neq.exit ], [ %2845, %2858 ], [ %2712, %vm_opt_mod.exit.thread2630 ], [ %2632, %2701 ], [ %2504, %vm_opt_mult.exit.thread2621 ], [ %2380, %vm_opt_minus.exit.thread2616 ], [ %2228, %vm_opt_plus.exit.thread2611 ], [ %1847, %1859 ], [ %1156, %1153 ], [ %1156, %.lr.ph2780 ] br label %.backedge -.lr.ph2779: ; preds = %1153, %.lr.ph2779 - %.021212778 = phi i64 [ %1174, %.lr.ph2779 ], [ 0, %1153 ] - %1164 = getelementptr i64, ptr %1162, i64 %.021212778 +.lr.ph2780: ; preds = %1153, %.lr.ph2780 + %.021212779 = phi i64 [ %1174, %.lr.ph2780 ], [ 0, %1153 ] + %1164 = getelementptr i64, ptr %1162, i64 %.021212779 %1165 = load i64, ptr %1164, align 8 %1166 = load ptr, ptr %1159, align 8 - %1167 = sub nsw i64 0, %.021212778 + %1167 = sub nsw i64 0, %.021212779 %1168 = getelementptr i64, ptr %1166, i64 %1167 %1169 = getelementptr i8, ptr %1168, i64 -8 %1170 = load i64, ptr %1169, align 8 @@ -8722,11 +8722,11 @@ ruby_nonempty_memcpy.exit: ; preds = %rbimpl_size_mul_or_ %1172 = getelementptr i64, ptr %1171, i64 %1167 %1173 = getelementptr i8, ptr %1172, i64 -8 store i64 %1165, ptr %1173, align 8 - %1174 = add nuw nsw i64 %.021212778, 1 - %exitcond2895.not = icmp eq i64 %1174, %1163 - br i1 %exitcond2895.not, label %.backedge.backedge, label %.lr.ph2779, !llvm.loop !59 + %1174 = add nuw nsw i64 %.021212779, 1 + %exitcond2896.not = icmp eq i64 %1174, %1163 + br i1 %exitcond2896.not, label %.backedge.backedge, label %.lr.ph2780, !llvm.loop !59 -1175: ; preds = %.backedge, %3944 +1175: ; preds = %.backedge, %3942 %1176 = getelementptr i8, ptr %.02113, i64 8 %1177 = load i64, ptr %1176, align 8 %1178 = getelementptr i8, ptr %.02113, i64 16 @@ -8745,7 +8745,7 @@ ruby_nonempty_memcpy.exit: ; preds = %rbimpl_size_mul_or_ store i64 %1186, ptr %1182, align 8 br label %.backedge.backedge -1188: ; preds = %.backedge, %3945 +1188: ; preds = %.backedge, %3943 %1189 = getelementptr i8, ptr %.02113, i64 8 %1190 = load i64, ptr %1189, align 8 %1191 = getelementptr inbounds nuw i8, ptr %.02114, i64 8 @@ -8766,7 +8766,7 @@ ruby_nonempty_memcpy.exit: ; preds = %rbimpl_size_mul_or_ store i64 %1194, ptr %1202, align 8 br label %.backedge.backedge -1203: ; preds = %.backedge, %3946 +1203: ; preds = %.backedge, %3944 %1204 = getelementptr i8, ptr %.02113, i64 8 %1205 = load i64, ptr %1204, align 8 %1206 = getelementptr i8, ptr %.02113, i64 16 @@ -8781,7 +8781,7 @@ ruby_nonempty_memcpy.exit: ; preds = %rbimpl_size_mul_or_ store ptr %1212, ptr %1210, align 8 br label %.backedge.backedge -1213: ; preds = %.backedge, %3947 +1213: ; preds = %.backedge, %3945 %1214 = getelementptr i8, ptr %.02113, i64 8 %1215 = load i64, ptr %1214, align 8 %1216 = getelementptr i8, ptr %.02113, i64 16 @@ -8804,7 +8804,7 @@ ruby_nonempty_memcpy.exit: ; preds = %rbimpl_size_mul_or_ store i64 %spec.select, ptr %1229, align 8 br label %.backedge.backedge -1230: ; preds = %.backedge, %3948 +1230: ; preds = %.backedge, %3946 %1231 = getelementptr i8, ptr %.02113, i64 8 %1232 = load i64, ptr %1231, align 8 %1233 = getelementptr i8, ptr %.02113, i64 16 @@ -8937,10 +8937,10 @@ ROBJECT_IVPTR.exit: ; preds = %1257, %1254, %rb_ra 1296: ; preds = %1295 %1297 = call i32 @rb_st_lookup(ptr noundef nonnull %.02111, i64 noundef %1232, ptr noundef nonnull %11) #21 %.not2164 = icmp eq i32 %1297, 0 - br i1 %.not2164, label %.thread2577.sink.split, label %._crit_edge2914 + br i1 %.not2164, label %.thread2577.sink.split, label %._crit_edge2915 -._crit_edge2914: ; preds = %1296 - %.pre2915 = load i64, ptr %11, align 8 +._crit_edge2915: ; preds = %1296 + %.pre2916 = load i64, ptr %11, align 8 br label %1318 1298: ; preds = %1281 @@ -8950,24 +8950,24 @@ ROBJECT_IVPTR.exit: ; preds = %1257, %1254, %rb_ra 1300: ; preds = %1298 %1301 = load i32, ptr %13, align 4 %.not2161 = icmp eq i32 %1301, %1271 - %.pre2913 = load i32, ptr %14, align 4 + %.pre2914 = load i32, ptr %14, align 4 br i1 %.not2161, label %1308, label %1302 1302: ; preds = %1300 %1303 = zext i32 %1301 to i64 %1304 = shl nuw i64 %1303, 32 - %1305 = add i32 %.pre2913, 1 + %1305 = add i32 %.pre2914, 1 %1306 = zext i32 %1305 to i64 %1307 = or disjoint i64 %1304, %1306 store i64 %1307, ptr %1235, align 8 br label %1308 1308: ; preds = %1302, %1300 - %1309 = icmp eq i32 %.pre2913, -1 + %1309 = icmp eq i32 %.pre2914, -1 br i1 %1309, label %.thread2577.sink.split, label %1310 1310: ; preds = %1308 - %1311 = zext i32 %.pre2913 to i64 + %1311 = zext i32 %.pre2914 to i64 %1312 = getelementptr i64, ptr %.02110, i64 %1311 %1313 = load i64, ptr %1312, align 8 store i64 %1313, ptr %11, align 8 @@ -8982,8 +8982,8 @@ ROBJECT_IVPTR.exit: ; preds = %1257, %1254, %rb_ra %1317 = call i64 @rb_ivar_get(i64 noundef %1242, i64 noundef %1232) #21 br label %1318 -1318: ; preds = %1277, %1310, %._crit_edge2914, %1316 - %.0 = phi i64 [ %1317, %1316 ], [ %.pre2915, %._crit_edge2914 ], [ %1313, %1310 ], [ %1280, %1277 ] +1318: ; preds = %1277, %1310, %._crit_edge2915, %1316 + %.0 = phi i64 [ %1317, %1316 ], [ %.pre2916, %._crit_edge2915 ], [ %1313, %1310 ], [ %1280, %1277 ] %.0.fr = freeze i64 %.0 %1319 = icmp eq i64 %.0.fr, 36 br i1 %1319, label %.thread2577, label %1320 @@ -9004,7 +9004,7 @@ ROBJECT_IVPTR.exit: ; preds = %1257, %1254, %rb_ra store i64 %1321, ptr %1323, align 8 br label %.backedge.backedge -1325: ; preds = %.backedge, %3949 +1325: ; preds = %.backedge, %3947 %1326 = getelementptr i8, ptr %.02113, i64 8 %1327 = load i64, ptr %1326, align 8 %1328 = getelementptr inbounds nuw i8, ptr %.02114, i64 8 @@ -9052,12 +9052,12 @@ rb_array_len.exit2550: ; preds = %1344, %1347 br label %1355 1353: ; preds = %RARRAY_AREF.exit - %1354 = add nuw nsw i64 %.018.i2776, 1 + %1354 = add nuw nsw i64 %.018.i2777, 1 %exitcond.not = icmp eq i64 %1354, %.0.i2549 br i1 %exitcond.not, label %vm_check_match.exit, label %1355, !llvm.loop !23 1355: ; preds = %.lr.ph, %1353 - %.018.i2776 = phi i64 [ 0, %.lr.ph ], [ %1354, %1353 ] + %.018.i2777 = phi i64 [ 0, %.lr.ph ], [ %1354, %1353 ] %1356 = load i64, ptr %1341, align 8 %1357 = and i64 %1356, 8192 %.not.i.i2546 = icmp eq i64 %1357, 0 @@ -9069,12 +9069,12 @@ rb_array_len.exit2550: ; preds = %1344, %1347 RARRAY_AREF.exit: ; preds = %1355, %1358 %.0.i.i2547 = phi ptr [ %1359, %1358 ], [ %1351, %1355 ] - %1360 = getelementptr i64, ptr %.0.i.i2547, i64 %.018.i2776 + %1360 = getelementptr i64, ptr %.0.i.i2547, i64 %.018.i2777 %1361 = load i64, ptr %1360, align 8 %1362 = call fastcc i64 @check_match(ptr noundef %0, i64 noundef %1361, i64 noundef %1332, i32 noundef %1338) %1363 = and i64 %1362, -5 - %.not2660 = icmp eq i64 %1363, 0 - br i1 %.not2660, label %1353, label %vm_check_match.exit + %.not2661 = icmp eq i64 %1363, 0 + br i1 %.not2661, label %1353, label %vm_check_match.exit 1364: ; preds = %1325 %1365 = call fastcc i64 @check_match(ptr noundef %0, i64 noundef %1333, i64 noundef %1332, i32 noundef %1338) @@ -9089,7 +9089,7 @@ vm_check_match.exit: ; preds = %RARRAY_AREF.exit, % store i64 %.0.i2303, ptr %1368, align 8 br label %.backedge.backedge -1369: ; preds = %.backedge, %3950 +1369: ; preds = %.backedge, %3948 %1370 = getelementptr i8, ptr %.02113, i64 8 %1371 = load i64, ptr %1370, align 8 %1372 = getelementptr i8, ptr %.02113, i64 16 @@ -9140,7 +9140,7 @@ vm_check_keyword.exit: ; preds = %1385, %1391, %1395 store i64 %.0.i2304, ptr %1397, align 8 br label %.backedge.backedge -1399: ; preds = %.backedge, %3951 +1399: ; preds = %.backedge, %3949 %1400 = getelementptr i8, ptr %.02113, i64 8 %1401 = load i64, ptr %1400, align 8 %1402 = getelementptr inbounds nuw i8, ptr %.02114, i64 8 @@ -9200,7 +9200,7 @@ rb_type.exit: ; preds = %switch.lookup, %141 store i64 %1428, ptr %1404, align 8 br label %.backedge.backedge -1429: ; preds = %.backedge, %3952 +1429: ; preds = %.backedge, %3950 %1430 = getelementptr i8, ptr %.02113, i64 8 %1431 = load i64, ptr %1430, align 8 %1432 = getelementptr i8, ptr %.02113, i64 16 @@ -9631,7 +9631,7 @@ vm_push_frame.exit: ; preds = %.lr.ph.i2337, %.pre %1608 = load ptr, ptr %1596, align 8 br label %.backedge.backedge -1609: ; preds = %.backedge, %3953 +1609: ; preds = %.backedge, %3951 %1610 = getelementptr i8, ptr %.02113, i64 8 %1611 = load i64, ptr %1610, align 8 %1612 = getelementptr i8, ptr %.02113, i64 16 @@ -9644,7 +9644,7 @@ vm_push_frame.exit: ; preds = %.lr.ph.i2337, %.pre call fastcc void @vm_define_method(ptr noundef %0, i64 noundef 4, i64 noundef %1611, i64 noundef %1613, i32 noundef 0) br label %.backedge.backedge -1617: ; preds = %.backedge, %3954 +1617: ; preds = %.backedge, %3952 %1618 = getelementptr i8, ptr %.02113, i64 8 %1619 = load i64, ptr %1618, align 8 %1620 = getelementptr i8, ptr %.02113, i64 16 @@ -9662,7 +9662,7 @@ vm_push_frame.exit: ; preds = %.lr.ph.i2337, %.pre call fastcc void @vm_define_method(ptr noundef %0, i64 noundef %1625, i64 noundef %1619, i64 noundef %1621, i32 noundef 1) br label %.backedge.backedge -1629: ; preds = %.backedge, %3955 +1629: ; preds = %.backedge, %3953 %1630 = getelementptr i8, ptr %.02113, i64 8 %1631 = load i64, ptr %1630, align 8 %1632 = inttoptr i64 %1631 to ptr @@ -9689,27 +9689,27 @@ vm_push_frame.exit: ; preds = %.lr.ph.i2337, %.pre 1646: ; preds = %1644 %1647 = call fastcc ptr @jit_compile(ptr noundef nonnull %0) %.not2158 = icmp eq ptr %1647, null - %.pre2912 = load ptr, ptr %18, align 8 + %.pre2913 = load ptr, ptr %18, align 8 br i1 %.not2158, label %.thread2581, label %1648 1648: ; preds = %1646 - %1649 = call i64 %1647(ptr noundef nonnull %0, ptr noundef %.pre2912) #21 + %1649 = call i64 %1647(ptr noundef nonnull %0, ptr noundef %.pre2913) #21 %1650 = load ptr, ptr %25, align 8 %1651 = getelementptr inbounds nuw i8, ptr %1650, i64 64 %1652 = load i32, ptr %1651, align 8 %.not2159 = icmp eq i32 %1652, 0 - br i1 %.not2159, label %1653, label %.loopexit2663 + br i1 %.not2159, label %1653, label %.loopexit2664 1653: ; preds = %1648 %1654 = icmp eq i64 %1649, 36 br i1 %1654, label %..thread2581_crit_edge, label %.thread2583 ..thread2581_crit_edge: ; preds = %1653 - %.pre2911 = load ptr, ptr %18, align 8 + %.pre2912 = load ptr, ptr %18, align 8 br label %.thread2581 .thread2581: ; preds = %..thread2581_crit_edge, %1644, %1646 - %1655 = phi ptr [ %.pre2911, %..thread2581_crit_edge ], [ %1645, %1644 ], [ %.pre2912, %1646 ] + %1655 = phi ptr [ %.pre2912, %..thread2581_crit_edge ], [ %1645, %1644 ], [ %.pre2913, %1646 ] %1656 = load ptr, ptr %1655, align 8 br label %.backedge.backedge @@ -9722,8 +9722,8 @@ vm_push_frame.exit: ; preds = %.lr.ph.i2337, %.pre store ptr %1659, ptr %1637, align 8 br label %.backedge.backedge -1660: ; preds = %.backedge, %3996, %3995, %3994, %3993, %3992, %3991, %3988, %3987, %3986, %3985, %3984, %3983, %3982, %3981, %3980, %3978, %3977, %3976, %3975, %3974, %3973, %3972, %3959, %3956, %vm_opt_regexpmatch2.exit.thread, %3623, %vm_opt_succ.exit.thread, %3567, %3554, %3540, %vm_opt_aref_with.exit.thread, %vm_opt_aset_with.exit.thread, %vm_opt_aset.exit.thread, %vm_opt_aref.exit.thread, %vm_opt_or.exit.thread, %vm_opt_and.exit.thread, %vm_opt_ltlt.exit.thread, %3243, %3154, %3068, %2979, %vm_opt_neq.exit.thread, %opt_equality.exit, %vm_opt_mod.exit.thread, %vm_opt_div.exit.thread, %vm_opt_mult.exit.thread, %vm_opt_minus.exit.thread, %vm_opt_plus.exit.thread, %1873, %vm_opt_nil_p.exit, %1829, %vm_objtostring.exit.thread - %.1 = phi ptr [ %.02113, %3996 ], [ %.02113, %3995 ], [ %.02113, %3994 ], [ %.02113, %3993 ], [ %.02113, %3992 ], [ %.02113, %3991 ], [ %3491, %vm_opt_aref_with.exit.thread ], [ %3450, %vm_opt_aset_with.exit.thread ], [ %.02113, %3988 ], [ %.02113, %3987 ], [ %.02113, %3986 ], [ %.02113, %3985 ], [ %.02113, %3984 ], [ %.02113, %3983 ], [ %.02113, %3982 ], [ %.02113, %3981 ], [ %.02113, %3980 ], [ %3979, %3978 ], [ %.02113, %3977 ], [ %.02113, %3976 ], [ %.02113, %3975 ], [ %.02113, %3974 ], [ %.02113, %3973 ], [ %.02113, %3972 ], [ %1863, %1873 ], [ %.02113, %3959 ], [ %1819, %1829 ], [ %.02113, %vm_objtostring.exit.thread ], [ %.02113, %3956 ], [ %.02113, %vm_opt_regexpmatch2.exit.thread ], [ %.02113, %3623 ], [ %.02113, %vm_opt_succ.exit.thread ], [ %.02113, %3567 ], [ %.02113, %3554 ], [ %.02113, %3540 ], [ %.02113, %vm_opt_aset.exit.thread ], [ %.02113, %vm_opt_aref.exit.thread ], [ %.02113, %vm_opt_or.exit.thread ], [ %.02113, %vm_opt_and.exit.thread ], [ %.02113, %vm_opt_ltlt.exit.thread ], [ %.02113, %3243 ], [ %.02113, %3154 ], [ %.02113, %3068 ], [ %.02113, %2979 ], [ %2863, %vm_opt_neq.exit.thread ], [ %.02113, %opt_equality.exit ], [ %.02113, %vm_opt_mod.exit.thread ], [ %.02113, %vm_opt_div.exit.thread ], [ %.02113, %vm_opt_mult.exit.thread ], [ %.02113, %vm_opt_minus.exit.thread ], [ %.02113, %vm_opt_plus.exit.thread ], [ %.02113, %vm_opt_nil_p.exit ], [ %.02113, %.backedge ] +1660: ; preds = %.backedge, %3994, %3993, %3992, %3991, %3990, %3989, %3986, %3985, %3984, %3983, %3982, %3981, %3980, %3979, %3978, %3976, %3975, %3974, %3973, %3972, %3971, %3970, %3957, %3954, %vm_opt_regexpmatch2.exit.thread, %3621, %vm_opt_succ.exit.thread, %3565, %3552, %3538, %vm_opt_aref_with.exit.thread, %vm_opt_aset_with.exit.thread, %vm_opt_aset.exit.thread, %vm_opt_aref.exit.thread, %vm_opt_or.exit.thread, %vm_opt_and.exit.thread, %vm_opt_ltlt.exit.thread, %3243, %3154, %3068, %2979, %vm_opt_neq.exit.thread, %opt_equality.exit, %vm_opt_mod.exit.thread, %vm_opt_div.exit.thread, %vm_opt_mult.exit.thread, %vm_opt_minus.exit.thread, %vm_opt_plus.exit.thread, %1873, %vm_opt_nil_p.exit, %1829, %vm_objtostring.exit.thread + %.1 = phi ptr [ %.02113, %3994 ], [ %.02113, %3993 ], [ %.02113, %3992 ], [ %.02113, %3991 ], [ %.02113, %3990 ], [ %.02113, %3989 ], [ %3489, %vm_opt_aref_with.exit.thread ], [ %3448, %vm_opt_aset_with.exit.thread ], [ %.02113, %3986 ], [ %.02113, %3985 ], [ %.02113, %3984 ], [ %.02113, %3983 ], [ %.02113, %3982 ], [ %.02113, %3981 ], [ %.02113, %3980 ], [ %.02113, %3979 ], [ %.02113, %3978 ], [ %3977, %3976 ], [ %.02113, %3975 ], [ %.02113, %3974 ], [ %.02113, %3973 ], [ %.02113, %3972 ], [ %.02113, %3971 ], [ %.02113, %3970 ], [ %1863, %1873 ], [ %.02113, %3957 ], [ %1819, %1829 ], [ %.02113, %vm_objtostring.exit.thread ], [ %.02113, %3954 ], [ %.02113, %vm_opt_regexpmatch2.exit.thread ], [ %.02113, %3621 ], [ %.02113, %vm_opt_succ.exit.thread ], [ %.02113, %3565 ], [ %.02113, %3552 ], [ %.02113, %3538 ], [ %.02113, %vm_opt_aset.exit.thread ], [ %.02113, %vm_opt_aref.exit.thread ], [ %.02113, %vm_opt_or.exit.thread ], [ %.02113, %vm_opt_and.exit.thread ], [ %.02113, %vm_opt_ltlt.exit.thread ], [ %.02113, %3243 ], [ %.02113, %3154 ], [ %.02113, %3068 ], [ %.02113, %2979 ], [ %2863, %vm_opt_neq.exit.thread ], [ %.02113, %opt_equality.exit ], [ %.02113, %vm_opt_mod.exit.thread ], [ %.02113, %vm_opt_div.exit.thread ], [ %.02113, %vm_opt_mult.exit.thread ], [ %.02113, %vm_opt_minus.exit.thread ], [ %.02113, %vm_opt_plus.exit.thread ], [ %.02113, %vm_opt_nil_p.exit ], [ %.02113, %.backedge ] %1661 = getelementptr i8, ptr %.1, i64 8 %1662 = load i64, ptr %1661, align 8 %1663 = inttoptr i64 %1662 to ptr @@ -9745,27 +9745,27 @@ vm_push_frame.exit: ; preds = %.lr.ph.i2337, %.pre 1672: ; preds = %1670 %1673 = call fastcc ptr @jit_compile(ptr noundef nonnull %0) %.not2155 = icmp eq ptr %1673, null - %.pre2910 = load ptr, ptr %18, align 8 + %.pre2911 = load ptr, ptr %18, align 8 br i1 %.not2155, label %.thread2587, label %1674 1674: ; preds = %1672 - %1675 = call i64 %1673(ptr noundef nonnull %0, ptr noundef %.pre2910) #21 + %1675 = call i64 %1673(ptr noundef nonnull %0, ptr noundef %.pre2911) #21 %1676 = load ptr, ptr %25, align 8 %1677 = getelementptr inbounds nuw i8, ptr %1676, i64 64 %1678 = load i32, ptr %1677, align 8 %.not2156 = icmp eq i32 %1678, 0 - br i1 %.not2156, label %1679, label %.loopexit2663 + br i1 %.not2156, label %1679, label %.loopexit2664 1679: ; preds = %1674 %1680 = icmp eq i64 %1675, 36 br i1 %1680, label %..thread2587_crit_edge, label %.thread2589 ..thread2587_crit_edge: ; preds = %1679 - %.pre2909 = load ptr, ptr %18, align 8 + %.pre2910 = load ptr, ptr %18, align 8 br label %.thread2587 .thread2587: ; preds = %..thread2587_crit_edge, %1670, %1672 - %1681 = phi ptr [ %.pre2909, %..thread2587_crit_edge ], [ %1671, %1670 ], [ %.pre2910, %1672 ] + %1681 = phi ptr [ %.pre2910, %..thread2587_crit_edge ], [ %1671, %1670 ], [ %.pre2911, %1672 ] %1682 = load ptr, ptr %1681, align 8 br label %.backedge.backedge @@ -9778,7 +9778,7 @@ vm_push_frame.exit: ; preds = %.lr.ph.i2337, %.pre store ptr %1685, ptr %1665, align 8 br label %.backedge.backedge -1686: ; preds = %.backedge, %3957 +1686: ; preds = %.backedge, %3955 %1687 = getelementptr i8, ptr %.02113, i64 8 %1688 = load i64, ptr %1687, align 8 %1689 = inttoptr i64 %1688 to ptr @@ -9802,9 +9802,9 @@ vm_push_frame.exit: ; preds = %.lr.ph.i2337, %.pre 1703: ; preds = %1686 %1704 = call i64 @llvm.fshl.i64(i64 %1693, i64 %1693, i64 62) %1705 = icmp ult i64 %1704, 10 - br i1 %1705, label %switch.hole_check3157, label %1706 + br i1 %1705, label %switch.hole_check3158, label %1706 -1706: ; preds = %switch.hole_check3157, %1703 +1706: ; preds = %switch.hole_check3158, %1703 %1707 = and i64 %1693, 1 %.not.i.i2346 = icmp eq i64 %1707, 0 br i1 %.not.i.i2346, label %1708, label %1718 @@ -9827,19 +9827,19 @@ rb_type.exit.i: ; preds = %1686 %1717 = getelementptr inbounds nuw i8, ptr %1711, i64 8 br label %rb_class_of.exit.i.i -switch.hole_check3157: ; preds = %1703 - %switch.maskindex3159 = trunc nuw i64 %1704 to i16 - %switch.shifted3160 = lshr i16 547, %switch.maskindex3159 - %switch.lobit3161 = trunc i16 %switch.shifted3160 to i1 - br i1 %switch.lobit3161, label %switch.lookup3158, label %1706 +switch.hole_check3158: ; preds = %1703 + %switch.maskindex3160 = trunc nuw i64 %1704 to i16 + %switch.shifted3161 = lshr i16 547, %switch.maskindex3160 + %switch.lobit3162 = trunc i16 %switch.shifted3161 to i1 + br i1 %switch.lobit3162, label %switch.lookup3159, label %1706 -switch.lookup3158: ; preds = %switch.hole_check3157 - %switch.gep3162 = getelementptr inbounds nuw [10 x i32], ptr @switch.table.vm_exec_core.108, i64 0, i64 %1704 - %switch.load3163 = load i32, ptr %switch.gep3162, align 4 +switch.lookup3159: ; preds = %switch.hole_check3158 + %switch.gep3163 = getelementptr inbounds nuw [10 x i32], ptr @switch.table.vm_exec_core.108, i64 0, i64 %1704 + %switch.load3164 = load i32, ptr %switch.gep3163, align 4 br label %1718 -1718: ; preds = %switch.lookup3158, %1708, %1706 - %.0.i.ph.i = phi i32 [ %spec.select.i.i, %1708 ], [ 21, %1706 ], [ %switch.load3163, %switch.lookup3158 ] +1718: ; preds = %switch.lookup3159, %1708, %1706 + %.0.i.ph.i = phi i32 [ %spec.select.i.i, %1708 ], [ 21, %1706 ], [ %switch.load3164, %switch.lookup3159 ] switch i64 %1693, label %1721 [ i64 0, label %rb_class_of.exit.i.i i64 4, label %1719 @@ -10080,7 +10080,7 @@ vm_objtostring.exit.thread: ; preds = %1805, %1803, %1794, store i64 %.0.i2342, ptr %1817, align 8 br label %.backedge.backedge -1818: ; preds = %.backedge, %3958 +1818: ; preds = %.backedge, %3956 %1819 = getelementptr i8, ptr %.02113, i64 8 %1820 = load i64, ptr %1819, align 8 %1821 = getelementptr i8, ptr %.02113, i64 24 @@ -10144,7 +10144,7 @@ vm_objtostring.exit.thread: ; preds = %1805, %1803, %1794, br i1 %.not.i2347, label %vm_opt_nil_p.exit, label %._crit_edge ._crit_edge: ; preds = %1857 - %.pre2908 = load ptr, ptr %1843, align 8 + %.pre2909 = load ptr, ptr %1843, align 8 br label %1859 vm_opt_nil_p.exit: ; preds = %1857 @@ -10152,13 +10152,13 @@ vm_opt_nil_p.exit: ; preds = %1857 br label %1660 1859: ; preds = %._crit_edge, %1853 - %1860 = phi ptr [ %.pre2908, %._crit_edge ], [ %1844, %1853 ] + %1860 = phi ptr [ %.pre2909, %._crit_edge ], [ %1844, %1853 ] %.0.i2349.ph = phi i64 [ 0, %._crit_edge ], [ 20, %1853 ] %1861 = getelementptr i8, ptr %1860, i64 -8 store i64 %.0.i2349.ph, ptr %1861, align 8 br label %.backedge.backedge -1862: ; preds = %.backedge, %3960 +1862: ; preds = %.backedge, %3958 %1863 = getelementptr i8, ptr %.02113, i64 8 %1864 = load i64, ptr %1863, align 8 %1865 = getelementptr i8, ptr %.02113, i64 24 @@ -10192,7 +10192,7 @@ vm_opt_nil_p.exit: ; preds = %1857 store i64 %1864, ptr %1881, align 8 br label %.backedge.backedge -1883: ; preds = %.backedge, %3961 +1883: ; preds = %.backedge, %3959 %1884 = getelementptr i8, ptr %.02113, i64 8 %1885 = load i64, ptr %1884, align 8 %1886 = getelementptr i8, ptr %.02113, i64 16 @@ -10258,7 +10258,7 @@ vm_opt_newarray_hash.exit: ; preds = %1901, %1899, %1910, store i64 %.02126, ptr %1921, align 8 br label %.backedge.backedge -1922: ; preds = %.backedge, %3962 +1922: ; preds = %.backedge, %3960 %1923 = getelementptr i8, ptr %.02113, i64 8 %1924 = load i64, ptr %1923, align 8 %1925 = inttoptr i64 %1924 to ptr @@ -10285,27 +10285,27 @@ vm_opt_newarray_hash.exit: ; preds = %1901, %1899, %1910, 1939: ; preds = %1937 %1940 = call fastcc ptr @jit_compile(ptr noundef nonnull %0) %.not2152 = icmp eq ptr %1940, null - %.pre2907 = load ptr, ptr %18, align 8 + %.pre2908 = load ptr, ptr %18, align 8 br i1 %.not2152, label %.thread2596, label %1941 1941: ; preds = %1939 - %1942 = call i64 %1940(ptr noundef nonnull %0, ptr noundef %.pre2907) #21 + %1942 = call i64 %1940(ptr noundef nonnull %0, ptr noundef %.pre2908) #21 %1943 = load ptr, ptr %25, align 8 %1944 = getelementptr inbounds nuw i8, ptr %1943, i64 64 %1945 = load i32, ptr %1944, align 8 %.not2153 = icmp eq i32 %1945, 0 - br i1 %.not2153, label %1946, label %.loopexit2663 + br i1 %.not2153, label %1946, label %.loopexit2664 1946: ; preds = %1941 %1947 = icmp eq i64 %1942, 36 br i1 %1947, label %..thread2596_crit_edge, label %.thread2598 ..thread2596_crit_edge: ; preds = %1946 - %.pre2906 = load ptr, ptr %18, align 8 + %.pre2907 = load ptr, ptr %18, align 8 br label %.thread2596 .thread2596: ; preds = %..thread2596_crit_edge, %1937, %1939 - %1948 = phi ptr [ %.pre2906, %..thread2596_crit_edge ], [ %1938, %1937 ], [ %.pre2907, %1939 ] + %1948 = phi ptr [ %.pre2907, %..thread2596_crit_edge ], [ %1938, %1937 ], [ %.pre2908, %1939 ] %1949 = load ptr, ptr %1948, align 8 br label %.backedge.backedge @@ -10318,7 +10318,7 @@ vm_opt_newarray_hash.exit: ; preds = %1901, %1899, %1910, store ptr %1952, ptr %1930, align 8 br label %.backedge.backedge -1953: ; preds = %.backedge, %3963 +1953: ; preds = %.backedge, %3961 %1954 = getelementptr i8, ptr %.02113, i64 8 %1955 = load i64, ptr %1954, align 8 %1956 = inttoptr i64 %1955 to ptr @@ -10340,27 +10340,27 @@ vm_opt_newarray_hash.exit: ; preds = %1901, %1899, %1910, 1965: ; preds = %1963 %1966 = call fastcc ptr @jit_compile(ptr noundef nonnull %0) %.not2149 = icmp eq ptr %1966, null - %.pre2905 = load ptr, ptr %18, align 8 + %.pre2906 = load ptr, ptr %18, align 8 br i1 %.not2149, label %.thread2602, label %1967 1967: ; preds = %1965 - %1968 = call i64 %1966(ptr noundef nonnull %0, ptr noundef %.pre2905) #21 + %1968 = call i64 %1966(ptr noundef nonnull %0, ptr noundef %.pre2906) #21 %1969 = load ptr, ptr %25, align 8 %1970 = getelementptr inbounds nuw i8, ptr %1969, i64 64 %1971 = load i32, ptr %1970, align 8 %.not2150 = icmp eq i32 %1971, 0 - br i1 %.not2150, label %1972, label %.loopexit2663 + br i1 %.not2150, label %1972, label %.loopexit2664 1972: ; preds = %1967 %1973 = icmp eq i64 %1968, 36 br i1 %1973, label %..thread2602_crit_edge, label %.thread2604 ..thread2602_crit_edge: ; preds = %1972 - %.pre2904 = load ptr, ptr %18, align 8 + %.pre2905 = load ptr, ptr %18, align 8 br label %.thread2602 .thread2602: ; preds = %..thread2602_crit_edge, %1963, %1965 - %1974 = phi ptr [ %.pre2904, %..thread2602_crit_edge ], [ %1964, %1963 ], [ %.pre2905, %1965 ] + %1974 = phi ptr [ %.pre2905, %..thread2602_crit_edge ], [ %1964, %1963 ], [ %.pre2906, %1965 ] %1975 = load ptr, ptr %1974, align 8 br label %.backedge.backedge @@ -10373,7 +10373,7 @@ vm_opt_newarray_hash.exit: ; preds = %1901, %1899, %1910, store ptr %1978, ptr %1958, align 8 br label %.backedge.backedge -1979: ; preds = %.backedge, %3964 +1979: ; preds = %.backedge, %3962 %1980 = getelementptr inbounds nuw i8, ptr %.02114, i64 8 %1981 = load ptr, ptr %1980, align 8 %1982 = getelementptr i8, ptr %1981, i64 -8 @@ -10447,7 +10447,7 @@ vm_pop_frame.exit: ; preds = %2006, %2011 store ptr %2013, ptr %18, align 8 %2014 = and i64 %.val2180, 32 %.not2147 = icmp eq i64 %2014, 0 - br i1 %.not2147, label %2015, label %.loopexit2663 + br i1 %.not2147, label %2015, label %.loopexit2664 2015: ; preds = %vm_pop_frame.exit %2016 = load ptr, ptr %2013, align 8 @@ -10459,7 +10459,7 @@ vm_pop_frame.exit: ; preds = %2006, %2011 store ptr %2020, ptr %2017, align 8 br label %.backedge.backedge -2021: ; preds = %.backedge, %3965 +2021: ; preds = %.backedge, %3963 %2022 = getelementptr i8, ptr %.02113, i64 8 %2023 = load i64, ptr %2022, align 8 %2024 = getelementptr inbounds nuw i8, ptr %.02114, i64 8 @@ -10472,9 +10472,9 @@ vm_pop_frame.exit: ; preds = %2006, %2011 %2030 = add i64 %2029, 1 store i64 %2030, ptr @rb_vm_insns_count, align 8 %2031 = call fastcc i64 @vm_throw(ptr noundef %0, ptr noundef nonnull %.02114, i64 noundef %2023, i64 noundef %2027) - br label %.loopexit2663 + br label %.loopexit2664 -2032: ; preds = %.backedge, %3966 +2032: ; preds = %.backedge, %3964 %2033 = getelementptr i8, ptr %.02113, i64 8 %2034 = load i64, ptr %2033, align 8 %2035 = getelementptr i8, ptr %.02113, i64 16 @@ -10499,7 +10499,7 @@ rb_vm_check_ints.exit: ; preds = %2032, %2040 store ptr %2042, ptr %.02114, align 8 br label %.backedge.backedge -2043: ; preds = %.backedge, %3967 +2043: ; preds = %.backedge, %3965 %2044 = getelementptr i8, ptr %.02113, i64 8 %2045 = load i64, ptr %2044, align 8 %2046 = getelementptr inbounds nuw i8, ptr %.02114, i64 8 @@ -10512,8 +10512,8 @@ rb_vm_check_ints.exit: ; preds = %2032, %2040 %2052 = add i64 %2051, 1 store i64 %2052, ptr @rb_vm_insns_count, align 8 %2053 = and i64 %2049, -5 - %.not2659 = icmp eq i64 %2053, 0 - br i1 %.not2659, label %2060, label %2054 + %.not2660 = icmp eq i64 %2053, 0 + br i1 %.not2660, label %2060, label %2054 2054: ; preds = %2043 %.val2.i2359 = load i32, ptr %21, align 8 @@ -10526,23 +10526,23 @@ rb_vm_check_ints.exit: ; preds = %2032, %2040 2057: ; preds = %2054 %.val.i2362 = load ptr, ptr %23, align 8 %2058 = call i32 @rb_threadptr_execute_interrupts(ptr noundef %.val.i2362, i32 noundef 0) #21 - %.pre2903.pre = load ptr, ptr %2046, align 8 + %.pre2904.pre = load ptr, ptr %2046, align 8 br label %rb_vm_check_ints.exit2363 rb_vm_check_ints.exit2363: ; preds = %2054, %2057 - %.pre2903 = phi ptr [ %2047, %2054 ], [ %.pre2903.pre, %2057 ] + %.pre2904 = phi ptr [ %2047, %2054 ], [ %.pre2904.pre, %2057 ] %2059 = getelementptr i64, ptr %2050, i64 %2045 store ptr %2059, ptr %.02114, align 8 br label %2060 2060: ; preds = %rb_vm_check_ints.exit2363, %2043 - %2061 = phi ptr [ %.pre2903, %rb_vm_check_ints.exit2363 ], [ %2047, %2043 ] + %2061 = phi ptr [ %.pre2904, %rb_vm_check_ints.exit2363 ], [ %2047, %2043 ] %.2 = phi ptr [ %2059, %rb_vm_check_ints.exit2363 ], [ %2050, %2043 ] %2062 = getelementptr i8, ptr %2061, i64 -8 store ptr %2062, ptr %2046, align 8 br label %.backedge.backedge -2063: ; preds = %.backedge, %3968 +2063: ; preds = %.backedge, %3966 %2064 = getelementptr i8, ptr %.02113, i64 8 %2065 = load i64, ptr %2064, align 8 %2066 = getelementptr inbounds nuw i8, ptr %.02114, i64 8 @@ -10555,8 +10555,8 @@ rb_vm_check_ints.exit2363: ; preds = %2054, %2057 %2072 = add i64 %2071, 1 store i64 %2072, ptr @rb_vm_insns_count, align 8 %2073 = and i64 %2069, -5 - %.not2658 = icmp eq i64 %2073, 0 - br i1 %.not2658, label %2074, label %2080 + %.not2659 = icmp eq i64 %2073, 0 + br i1 %.not2659, label %2074, label %2080 2074: ; preds = %2063 %.val2.i2364 = load i32, ptr %21, align 8 @@ -10569,23 +10569,23 @@ rb_vm_check_ints.exit2363: ; preds = %2054, %2057 2077: ; preds = %2074 %.val.i2367 = load ptr, ptr %23, align 8 %2078 = call i32 @rb_threadptr_execute_interrupts(ptr noundef %.val.i2367, i32 noundef 0) #21 - %.pre2902.pre = load ptr, ptr %2066, align 8 + %.pre2903.pre = load ptr, ptr %2066, align 8 br label %rb_vm_check_ints.exit2368 rb_vm_check_ints.exit2368: ; preds = %2074, %2077 - %.pre2902 = phi ptr [ %2067, %2074 ], [ %.pre2902.pre, %2077 ] + %.pre2903 = phi ptr [ %2067, %2074 ], [ %.pre2903.pre, %2077 ] %2079 = getelementptr i64, ptr %2070, i64 %2065 store ptr %2079, ptr %.02114, align 8 br label %2080 2080: ; preds = %rb_vm_check_ints.exit2368, %2063 - %2081 = phi ptr [ %2067, %2063 ], [ %.pre2902, %rb_vm_check_ints.exit2368 ] + %2081 = phi ptr [ %2067, %2063 ], [ %.pre2903, %rb_vm_check_ints.exit2368 ] %.3 = phi ptr [ %2070, %2063 ], [ %2079, %rb_vm_check_ints.exit2368 ] %2082 = getelementptr i8, ptr %2081, i64 -8 store ptr %2082, ptr %2066, align 8 br label %.backedge.backedge -2083: ; preds = %.backedge, %3969 +2083: ; preds = %.backedge, %3967 %2084 = getelementptr i8, ptr %.02113, i64 8 %2085 = load i64, ptr %2084, align 8 %2086 = getelementptr inbounds nuw i8, ptr %.02114, i64 8 @@ -10611,23 +10611,23 @@ rb_vm_check_ints.exit2368: ; preds = %2074, %2077 2097: ; preds = %2094 %.val.i2372 = load ptr, ptr %23, align 8 %2098 = call i32 @rb_threadptr_execute_interrupts(ptr noundef %.val.i2372, i32 noundef 0) #21 - %.pre2901.pre = load ptr, ptr %2086, align 8 + %.pre2902.pre = load ptr, ptr %2086, align 8 br label %rb_vm_check_ints.exit2373 rb_vm_check_ints.exit2373: ; preds = %2094, %2097 - %.pre2901 = phi ptr [ %2087, %2094 ], [ %.pre2901.pre, %2097 ] + %.pre2902 = phi ptr [ %2087, %2094 ], [ %.pre2902.pre, %2097 ] %2099 = getelementptr i64, ptr %2090, i64 %2085 store ptr %2099, ptr %.02114, align 8 br label %2100 2100: ; preds = %rb_vm_check_ints.exit2373, %2083 - %2101 = phi ptr [ %.pre2901, %rb_vm_check_ints.exit2373 ], [ %2087, %2083 ] + %2101 = phi ptr [ %.pre2902, %rb_vm_check_ints.exit2373 ], [ %2087, %2083 ] %.4 = phi ptr [ %2099, %rb_vm_check_ints.exit2373 ], [ %2090, %2083 ] %2102 = getelementptr i8, ptr %2101, i64 -8 store ptr %2102, ptr %2086, align 8 br label %.backedge.backedge -2103: ; preds = %.backedge, %3970 +2103: ; preds = %.backedge, %3968 %2104 = getelementptr i8, ptr %.02113, i64 8 %2105 = load i64, ptr %2104, align 8 %2106 = inttoptr i64 %2105 to ptr @@ -10747,7 +10747,7 @@ vm_once_dispatch.exit: ; preds = %2116, %rb_obj_write store ptr %2155, ptr %2111, align 8 br label %.backedge.backedge -2156: ; preds = %.backedge, %3971 +2156: ; preds = %.backedge, %3969 %2157 = getelementptr i8, ptr %.02113, i64 8 %2158 = load i64, ptr %2157, align 8 %2159 = getelementptr i8, ptr %.02113, i64 16 @@ -11123,7 +11123,7 @@ vm_opt_plus.exit: ; preds = %2339, %2237, %2242, br i1 %2369, label %vm_opt_plus.exit.thread, label %vm_opt_plus.exit.vm_opt_plus.exit.thread2611_crit_edge vm_opt_plus.exit.vm_opt_plus.exit.thread2611_crit_edge: ; preds = %vm_opt_plus.exit - %.pre2900 = load ptr, ptr %2222, align 8 + %.pre2901 = load ptr, ptr %2222, align 8 br label %vm_opt_plus.exit.thread2611 vm_opt_plus.exit.thread: ; preds = %2355, %2358, %2363, %2297, %2302, %vm_opt_plus.exit @@ -11131,7 +11131,7 @@ vm_opt_plus.exit.thread: ; preds = %2355, %2358, %2363, br label %1660 vm_opt_plus.exit.thread2611: ; preds = %vm_opt_plus.exit.vm_opt_plus.exit.thread2611_crit_edge, %2337, %2333, %2293, %2289 - %2370 = phi ptr [ %.pre2900, %vm_opt_plus.exit.vm_opt_plus.exit.thread2611_crit_edge ], [ %2223, %2337 ], [ %2223, %2333 ], [ %2223, %2293 ], [ %2223, %2289 ] + %2370 = phi ptr [ %.pre2901, %vm_opt_plus.exit.vm_opt_plus.exit.thread2611_crit_edge ], [ %2223, %2337 ], [ %2223, %2333 ], [ %2223, %2293 ], [ %2223, %2289 ] %.0.i23882613 = phi i64 [ %.0.i2388, %vm_opt_plus.exit.vm_opt_plus.exit.thread2611_crit_edge ], [ -9223372036854775806, %2337 ], [ %2336, %2333 ], [ -9223372036854775806, %2293 ], [ %2292, %2289 ] %2371 = getelementptr i8, ptr %2370, i64 -8 store ptr %2371, ptr %2222, align 8 @@ -11340,7 +11340,7 @@ vm_opt_minus.exit: ; preds = %2491, %2389, %2394, br i1 %2493, label %vm_opt_minus.exit.thread, label %vm_opt_minus.exit.vm_opt_minus.exit.thread2616_crit_edge vm_opt_minus.exit.vm_opt_minus.exit.thread2616_crit_edge: ; preds = %vm_opt_minus.exit - %.pre2899 = load ptr, ptr %2374, align 8 + %.pre2900 = load ptr, ptr %2374, align 8 br label %vm_opt_minus.exit.thread2616 vm_opt_minus.exit.thread: ; preds = %2459, %2465, %2470, %2449, %2454, %vm_opt_minus.exit @@ -11348,7 +11348,7 @@ vm_opt_minus.exit.thread: ; preds = %2459, %2465, %2470, br label %1660 vm_opt_minus.exit.thread2616: ; preds = %vm_opt_minus.exit.vm_opt_minus.exit.thread2616_crit_edge, %2489, %2485, %2445, %2441 - %2494 = phi ptr [ %.pre2899, %vm_opt_minus.exit.vm_opt_minus.exit.thread2616_crit_edge ], [ %2375, %2489 ], [ %2375, %2485 ], [ %2375, %2445 ], [ %2375, %2441 ] + %2494 = phi ptr [ %.pre2900, %vm_opt_minus.exit.vm_opt_minus.exit.thread2616_crit_edge ], [ %2375, %2489 ], [ %2375, %2485 ], [ %2375, %2445 ], [ %2375, %2441 ] %.0.i23942618 = phi i64 [ %.0.i2394, %vm_opt_minus.exit.vm_opt_minus.exit.thread2616_crit_edge ], [ -9223372036854775806, %2489 ], [ %2488, %2485 ], [ -9223372036854775806, %2445 ], [ %2444, %2441 ] %2495 = getelementptr i8, ptr %2494, i64 -8 store ptr %2495, ptr %2374, align 8 @@ -11566,7 +11566,7 @@ vm_opt_mult.exit: ; preds = %2619, %2524, %2575 br i1 %2621, label %vm_opt_mult.exit.thread, label %vm_opt_mult.exit.vm_opt_mult.exit.thread2621_crit_edge vm_opt_mult.exit.vm_opt_mult.exit.thread2621_crit_edge: ; preds = %vm_opt_mult.exit - %.pre2898 = load ptr, ptr %2498, align 8 + %.pre2899 = load ptr, ptr %2498, align 8 br label %vm_opt_mult.exit.thread2621 vm_opt_mult.exit.thread: ; preds = %2587, %2593, %2598, %2577, %2582, %vm_opt_mult.exit @@ -11574,7 +11574,7 @@ vm_opt_mult.exit.thread: ; preds = %2587, %2593, %2598, br label %1660 vm_opt_mult.exit.thread2621: ; preds = %vm_opt_mult.exit.vm_opt_mult.exit.thread2621_crit_edge, %2617, %2613, %2573, %2569, %2521 - %2622 = phi ptr [ %.pre2898, %vm_opt_mult.exit.vm_opt_mult.exit.thread2621_crit_edge ], [ %2499, %2617 ], [ %2499, %2613 ], [ %2499, %2573 ], [ %2499, %2569 ], [ %2499, %2521 ] + %2622 = phi ptr [ %.pre2899, %vm_opt_mult.exit.vm_opt_mult.exit.thread2621_crit_edge ], [ %2499, %2617 ], [ %2499, %2613 ], [ %2499, %2573 ], [ %2499, %2569 ], [ %2499, %2521 ] %.0.i24022623 = phi i64 [ %.0.i2402, %vm_opt_mult.exit.vm_opt_mult.exit.thread2621_crit_edge ], [ -9223372036854775806, %2617 ], [ %2616, %2613 ], [ -9223372036854775806, %2573 ], [ %2572, %2569 ], [ %2523, %2521 ] %2623 = getelementptr i8, ptr %2622, i64 -8 store ptr %2623, ptr %2498, align 8 @@ -11708,7 +11708,7 @@ vm_opt_div.exit: ; preds = %2648, %2671, %2698 br i1 %2700, label %vm_opt_div.exit.thread, label %vm_opt_div.exit._crit_edge vm_opt_div.exit._crit_edge: ; preds = %vm_opt_div.exit - %.pre2897 = load ptr, ptr %2626, align 8 + %.pre2898 = load ptr, ptr %2626, align 8 br label %2701 vm_opt_div.exit.thread: ; preds = %2683, %2689, %2694, %2673, %2678, %2641, %vm_opt_div.exit @@ -11716,7 +11716,7 @@ vm_opt_div.exit.thread: ; preds = %2683, %2689, %2694, br label %1660 2701: ; preds = %vm_opt_div.exit._crit_edge, %vm_opt_div.exit.thread2625 - %2702 = phi ptr [ %2627, %vm_opt_div.exit.thread2625 ], [ %.pre2897, %vm_opt_div.exit._crit_edge ] + %2702 = phi ptr [ %2627, %vm_opt_div.exit.thread2625 ], [ %.pre2898, %vm_opt_div.exit._crit_edge ] %.0.i24122627 = phi i64 [ %2661, %vm_opt_div.exit.thread2625 ], [ %.0.i2412, %vm_opt_div.exit._crit_edge ] %2703 = getelementptr i8, ptr %2702, i64 -8 store ptr %2703, ptr %2626, align 8 @@ -11934,8 +11934,8 @@ rb_float_value_inline.exit25.i2417: ; preds = %2810 br i1 %2830, label %vm_opt_mod.exit.thread2630, label %vm_opt_mod.exit vm_opt_mod.exit: ; preds = %rb_float_value_inline.exit25.i2417, %2829, %rb_float_value_inline.exit20.i2420, %2787 - %.sink3042 = phi double [ %2776, %2787 ], [ %2776, %rb_float_value_inline.exit20.i2420 ], [ %2818, %2829 ], [ %2818, %rb_float_value_inline.exit25.i2417 ] - %2831 = call i64 @rb_float_new_in_heap(double noundef %.sink3042) #21 + %.sink3043 = phi double [ %2776, %2787 ], [ %2776, %rb_float_value_inline.exit20.i2420 ], [ %2818, %2829 ], [ %2818, %rb_float_value_inline.exit25.i2417 ] + %2831 = call i64 @rb_float_new_in_heap(double noundef %.sink3043) #21 %2832 = icmp eq i64 %2831, 36 br i1 %2832, label %vm_opt_mod.exit.thread, label %vm_opt_mod.exit.thread2630 @@ -12194,8 +12194,8 @@ rb_float_value_inline.exit23.i: ; preds = %2970 br label %1660 vm_opt_lt.exit: ; preds = %rb_float_value_inline.exit23.i, %rb_float_value_inline.exit19.i2442, %2910 - %.sink3043 = phi i1 [ %2978, %rb_float_value_inline.exit23.i ], [ %2948, %rb_float_value_inline.exit19.i2442 ], [ %2911, %2910 ] - %2980 = select i1 %.sink3043, i64 20, i64 0 + %.sink3044 = phi i1 [ %2978, %rb_float_value_inline.exit23.i ], [ %2948, %rb_float_value_inline.exit19.i2442 ], [ %2911, %2910 ] + %2980 = select i1 %.sink3044, i64 20, i64 0 store ptr %2897, ptr %2895, align 8 store i64 %2980, ptr %2898, align 8 br label %.backedge.backedge @@ -12494,8 +12494,8 @@ rb_float_value_inline.exit23.i2463: ; preds = %3145 br label %1660 vm_opt_gt.exit: ; preds = %rb_float_value_inline.exit23.i2463, %rb_float_value_inline.exit19.i2466, %3085 - %.sink3044 = phi i1 [ %3153, %rb_float_value_inline.exit23.i2463 ], [ %3123, %rb_float_value_inline.exit19.i2466 ], [ %3086, %3085 ] - %3155 = select i1 %.sink3044, i64 20, i64 0 + %.sink3045 = phi i1 [ %3153, %rb_float_value_inline.exit23.i2463 ], [ %3123, %rb_float_value_inline.exit19.i2466 ], [ %3086, %3085 ] + %3155 = select i1 %.sink3045, i64 20, i64 0 store ptr %3072, ptr %3070, align 8 store i64 %3155, ptr %3073, align 8 br label %.backedge.backedge @@ -12757,1319 +12757,1325 @@ vm_opt_ltlt.exit.thread: ; preds = %3281, %3284, %3244, 3307: ; preds = %3295 %3308 = load i16, ptr getelementptr inbounds nuw (i8, ptr @ruby_vm_redefined_flag, i64 56), align 8 %3309 = and i16 %3308, 1 - %3310 = icmp ne i16 %3309, 0 - %3311 = icmp eq i64 %3305, 36 - %or.cond = or i1 %3311, %3310 - br i1 %or.cond, label %vm_opt_and.exit.thread, label %3312 + %.not2658 = icmp eq i16 %3309, 0 + br i1 %.not2658, label %3310, label %vm_opt_and.exit.thread vm_opt_and.exit.thread: ; preds = %3307, %3295 store ptr %.02113, ptr %.02114, align 8 br label %1660 -3312: ; preds = %3307 +3310: ; preds = %3307 store ptr %3298, ptr %3296, align 8 store i64 %3305, ptr %3299, align 8 br label %.backedge.backedge -3313: ; preds = %.backedge - %3314 = getelementptr inbounds nuw i8, ptr %.02114, i64 8 - %3315 = load ptr, ptr %3314, align 8 - %3316 = getelementptr i8, ptr %3315, i64 -8 - %3317 = getelementptr i8, ptr %3315, i64 -16 - %3318 = load i64, ptr %3317, align 8 - %3319 = load i64, ptr %3316, align 8 - %3320 = getelementptr i8, ptr %.02113, i64 16 - store ptr %3320, ptr %.02114, align 8 - %3321 = load i64, ptr @rb_vm_insns_count, align 8 - %3322 = add i64 %3321, 1 - store i64 %3322, ptr @rb_vm_insns_count, align 8 - %3323 = and i64 %3318, 1 - %3324 = and i64 %3323, %3319 - %.not.i2488 = icmp eq i64 %3324, 0 - br i1 %.not.i2488, label %vm_opt_or.exit.thread, label %3325 - -3325: ; preds = %3313 - %3326 = load i16, ptr getelementptr inbounds nuw (i8, ptr @ruby_vm_redefined_flag, i64 58), align 2 - %3327 = and i16 %3326, 1 - %3328 = icmp ne i16 %3327, 0 - %3329 = or i64 %3319, %3318 - %3330 = icmp eq i64 %3329, 36 - %or.cond2657 = or i1 %3330, %3328 - br i1 %or.cond2657, label %vm_opt_or.exit.thread, label %3331 - -vm_opt_or.exit.thread: ; preds = %3325, %3313 +3311: ; preds = %.backedge + %3312 = getelementptr inbounds nuw i8, ptr %.02114, i64 8 + %3313 = load ptr, ptr %3312, align 8 + %3314 = getelementptr i8, ptr %3313, i64 -8 + %3315 = getelementptr i8, ptr %3313, i64 -16 + %3316 = load i64, ptr %3315, align 8 + %3317 = load i64, ptr %3314, align 8 + %3318 = getelementptr i8, ptr %.02113, i64 16 + store ptr %3318, ptr %.02114, align 8 + %3319 = load i64, ptr @rb_vm_insns_count, align 8 + %3320 = add i64 %3319, 1 + store i64 %3320, ptr @rb_vm_insns_count, align 8 + %3321 = and i64 %3316, 1 + %3322 = and i64 %3321, %3317 + %.not.i2488 = icmp eq i64 %3322, 0 + br i1 %.not.i2488, label %vm_opt_or.exit.thread, label %3323 + +3323: ; preds = %3311 + %3324 = load i16, ptr getelementptr inbounds nuw (i8, ptr @ruby_vm_redefined_flag, i64 58), align 2 + %3325 = and i16 %3324, 1 + %3326 = icmp ne i16 %3325, 0 + %3327 = or i64 %3317, %3316 + %3328 = icmp eq i64 %3327, 36 + %or.cond2657 = or i1 %3328, %3326 + br i1 %or.cond2657, label %vm_opt_or.exit.thread, label %3329 + +vm_opt_or.exit.thread: ; preds = %3323, %3311 store ptr %.02113, ptr %.02114, align 8 br label %1660 -3331: ; preds = %3325 - store ptr %3316, ptr %3314, align 8 - store i64 %3329, ptr %3317, align 8 +3329: ; preds = %3323 + store ptr %3314, ptr %3312, align 8 + store i64 %3327, ptr %3315, align 8 br label %.backedge.backedge -3332: ; preds = %.backedge - %3333 = getelementptr inbounds nuw i8, ptr %.02114, i64 8 - %3334 = load ptr, ptr %3333, align 8 - %3335 = getelementptr i8, ptr %3334, i64 -8 - %3336 = getelementptr i8, ptr %3334, i64 -16 - %3337 = load i64, ptr %3336, align 8 - %3338 = load i64, ptr %3335, align 8 - %3339 = getelementptr i8, ptr %.02113, i64 16 - store ptr %3339, ptr %.02114, align 8 - %3340 = load i64, ptr @rb_vm_insns_count, align 8 - %3341 = add i64 %3340, 1 - store i64 %3341, ptr @rb_vm_insns_count, align 8 - %3342 = and i64 %3337, 7 - %3343 = icmp ne i64 %3342, 0 - %3344 = icmp eq i64 %3337, 0 - %3345 = or i1 %3344, %3343 - br i1 %3345, label %3346, label %3355 - -3346: ; preds = %3332 - %3347 = and i64 %3338, 1 - %3348 = and i64 %3347, %3337 - %.not15.i = icmp eq i64 %3348, 0 - br i1 %.not15.i, label %vm_opt_aref.exit.thread, label %3349 - -3349: ; preds = %3346 - %3350 = load i16, ptr getelementptr inbounds nuw (i8, ptr @ruby_vm_redefined_flag, i64 20), align 4 - %3351 = and i16 %3350, 1 - %3352 = icmp eq i16 %3351, 0 - br i1 %3352, label %3353, label %vm_opt_aref.exit.thread - -3353: ; preds = %3349 - %3354 = call i64 @rb_fix_aref(i64 noundef %3337, i64 noundef %3338) #21 +3330: ; preds = %.backedge + %3331 = getelementptr inbounds nuw i8, ptr %.02114, i64 8 + %3332 = load ptr, ptr %3331, align 8 + %3333 = getelementptr i8, ptr %3332, i64 -8 + %3334 = getelementptr i8, ptr %3332, i64 -16 + %3335 = load i64, ptr %3334, align 8 + %3336 = load i64, ptr %3333, align 8 + %3337 = getelementptr i8, ptr %.02113, i64 16 + store ptr %3337, ptr %.02114, align 8 + %3338 = load i64, ptr @rb_vm_insns_count, align 8 + %3339 = add i64 %3338, 1 + store i64 %3339, ptr @rb_vm_insns_count, align 8 + %3340 = and i64 %3335, 7 + %3341 = icmp ne i64 %3340, 0 + %3342 = icmp eq i64 %3335, 0 + %3343 = or i1 %3342, %3341 + br i1 %3343, label %3344, label %3353 + +3344: ; preds = %3330 + %3345 = and i64 %3336, 1 + %3346 = and i64 %3345, %3335 + %.not15.i = icmp eq i64 %3346, 0 + br i1 %.not15.i, label %vm_opt_aref.exit.thread, label %3347 + +3347: ; preds = %3344 + %3348 = load i16, ptr getelementptr inbounds nuw (i8, ptr @ruby_vm_redefined_flag, i64 20), align 4 + %3349 = and i16 %3348, 1 + %3350 = icmp eq i16 %3349, 0 + br i1 %3350, label %3351, label %vm_opt_aref.exit.thread + +3351: ; preds = %3347 + %3352 = call i64 @rb_fix_aref(i64 noundef %3335, i64 noundef %3336) #21 br label %vm_opt_aref.exit -3355: ; preds = %3332 - %3356 = inttoptr i64 %3337 to ptr - %3357 = getelementptr inbounds nuw i8, ptr %3356, i64 8 - %3358 = load i64, ptr %3357, align 8 - %3359 = load i64, ptr @rb_cArray, align 8 - %3360 = icmp eq i64 %3358, %3359 - br i1 %3360, label %3361, label %3392 - -3361: ; preds = %3355 - %3362 = load i16, ptr getelementptr inbounds nuw (i8, ptr @ruby_vm_redefined_flag, i64 20), align 4 - %3363 = and i16 %3362, 8 - %3364 = icmp eq i16 %3363, 0 - br i1 %3364, label %3365, label %3392 - -3365: ; preds = %3361 - %3366 = and i64 %3338, 1 - %.not.i2492 = icmp eq i64 %3366, 0 - br i1 %.not.i2492, label %3390, label %3367 - -3367: ; preds = %3365 - %3368 = ashr i64 %3338, 1 - %3369 = load i64, ptr %3356, align 8 - %3370 = and i64 %3369, 8192 - %.not.i.i.i2493 = icmp eq i64 %3370, 0 - br i1 %.not.i.i.i2493, label %3375, label %3371 - -3371: ; preds = %3367 - %3372 = lshr i64 %3369, 15 - %3373 = and i64 %3372, 127 - %3374 = getelementptr inbounds nuw i8, ptr %3356, i64 16 +3353: ; preds = %3330 + %3354 = inttoptr i64 %3335 to ptr + %3355 = getelementptr inbounds nuw i8, ptr %3354, i64 8 + %3356 = load i64, ptr %3355, align 8 + %3357 = load i64, ptr @rb_cArray, align 8 + %3358 = icmp eq i64 %3356, %3357 + br i1 %3358, label %3359, label %3390 + +3359: ; preds = %3353 + %3360 = load i16, ptr getelementptr inbounds nuw (i8, ptr @ruby_vm_redefined_flag, i64 20), align 4 + %3361 = and i16 %3360, 8 + %3362 = icmp eq i16 %3361, 0 + br i1 %3362, label %3363, label %3390 + +3363: ; preds = %3359 + %3364 = and i64 %3336, 1 + %.not.i2492 = icmp eq i64 %3364, 0 + br i1 %.not.i2492, label %3388, label %3365 + +3365: ; preds = %3363 + %3366 = ashr i64 %3336, 1 + %3367 = load i64, ptr %3354, align 8 + %3368 = and i64 %3367, 8192 + %.not.i.i.i2493 = icmp eq i64 %3368, 0 + br i1 %.not.i.i.i2493, label %3373, label %3369 + +3369: ; preds = %3365 + %3370 = lshr i64 %3367, 15 + %3371 = and i64 %3370, 127 + %3372 = getelementptr inbounds nuw i8, ptr %3354, i64 16 br label %rb_array_const_ptr.exit.i.i -3375: ; preds = %3367 - %3376 = getelementptr inbounds nuw i8, ptr %3356, i64 16 - %3377 = load i64, ptr %3376, align 8 - %3378 = getelementptr inbounds nuw i8, ptr %3356, i64 32 - %3379 = load ptr, ptr %3378, align 8 +3373: ; preds = %3365 + %3374 = getelementptr inbounds nuw i8, ptr %3354, i64 16 + %3375 = load i64, ptr %3374, align 8 + %3376 = getelementptr inbounds nuw i8, ptr %3354, i64 32 + %3377 = load ptr, ptr %3376, align 8 br label %rb_array_const_ptr.exit.i.i -rb_array_const_ptr.exit.i.i: ; preds = %3375, %3371 - %.0.i18.i.i = phi i64 [ %3373, %3371 ], [ %3377, %3375 ] - %.0.i16.i.i = phi ptr [ %3374, %3371 ], [ %3379, %3375 ] - %3380 = icmp eq i64 %.0.i18.i.i, 0 - br i1 %3380, label %vm_opt_aref.exit.thread2646, label %3381 - -3381: ; preds = %rb_array_const_ptr.exit.i.i - %3382 = icmp slt i64 %3368, 0 - br i1 %3382, label %3383, label %3386 - -3383: ; preds = %3381 - %3384 = add i64 %.0.i18.i.i, %3368 - %3385 = icmp slt i64 %3384, 0 - br i1 %3385, label %vm_opt_aref.exit.thread2646, label %3387 - -3386: ; preds = %3381 - %.not.i.i2494 = icmp sgt i64 %.0.i18.i.i, %3368 - br i1 %.not.i.i2494, label %3387, label %vm_opt_aref.exit.thread2646 - -3387: ; preds = %3386, %3383 - %.011.i.i = phi i64 [ %3384, %3383 ], [ %3368, %3386 ] - %3388 = getelementptr i64, ptr %.0.i16.i.i, i64 %.011.i.i - %3389 = load i64, ptr %3388, align 8 +rb_array_const_ptr.exit.i.i: ; preds = %3373, %3369 + %.0.i18.i.i = phi i64 [ %3371, %3369 ], [ %3375, %3373 ] + %.0.i16.i.i = phi ptr [ %3372, %3369 ], [ %3377, %3373 ] + %3378 = icmp eq i64 %.0.i18.i.i, 0 + br i1 %3378, label %vm_opt_aref.exit.thread2646, label %3379 + +3379: ; preds = %rb_array_const_ptr.exit.i.i + %3380 = icmp slt i64 %3366, 0 + br i1 %3380, label %3381, label %3384 + +3381: ; preds = %3379 + %3382 = add i64 %.0.i18.i.i, %3366 + %3383 = icmp slt i64 %3382, 0 + br i1 %3383, label %vm_opt_aref.exit.thread2646, label %3385 + +3384: ; preds = %3379 + %.not.i.i2494 = icmp sgt i64 %.0.i18.i.i, %3366 + br i1 %.not.i.i2494, label %3385, label %vm_opt_aref.exit.thread2646 + +3385: ; preds = %3384, %3381 + %.011.i.i = phi i64 [ %3382, %3381 ], [ %3366, %3384 ] + %3386 = getelementptr i64, ptr %.0.i16.i.i, i64 %.011.i.i + %3387 = load i64, ptr %3386, align 8 br label %vm_opt_aref.exit -3390: ; preds = %3365 - %3391 = call i64 @rb_ary_aref1(i64 noundef %3337, i64 noundef %3338) #21 +3388: ; preds = %3363 + %3389 = call i64 @rb_ary_aref1(i64 noundef %3335, i64 noundef %3336) #21 br label %vm_opt_aref.exit -3392: ; preds = %3361, %3355 - %3393 = load i64, ptr @rb_cHash, align 8 - %3394 = icmp eq i64 %3358, %3393 - br i1 %3394, label %3395, label %vm_opt_aref.exit.thread +3390: ; preds = %3359, %3353 + %3391 = load i64, ptr @rb_cHash, align 8 + %3392 = icmp eq i64 %3356, %3391 + br i1 %3392, label %3393, label %vm_opt_aref.exit.thread -3395: ; preds = %3392 - %3396 = load i16, ptr getelementptr inbounds nuw (i8, ptr @ruby_vm_redefined_flag, i64 20), align 4 - %3397 = and i16 %3396, 16 - %3398 = icmp eq i16 %3397, 0 - br i1 %3398, label %3399, label %vm_opt_aref.exit.thread +3393: ; preds = %3390 + %3394 = load i16, ptr getelementptr inbounds nuw (i8, ptr @ruby_vm_redefined_flag, i64 20), align 4 + %3395 = and i16 %3394, 16 + %3396 = icmp eq i16 %3395, 0 + br i1 %3396, label %3397, label %vm_opt_aref.exit.thread -3399: ; preds = %3395 - %3400 = call i64 @rb_hash_aref(i64 noundef %3337, i64 noundef %3338) #21 +3397: ; preds = %3393 + %3398 = call i64 @rb_hash_aref(i64 noundef %3335, i64 noundef %3336) #21 br label %vm_opt_aref.exit -vm_opt_aref.exit: ; preds = %3353, %3387, %3390, %3399 - %.0.i2491 = phi i64 [ %3354, %3353 ], [ %3391, %3390 ], [ %3400, %3399 ], [ %3389, %3387 ] - %3401 = icmp eq i64 %.0.i2491, 36 - br i1 %3401, label %vm_opt_aref.exit.thread, label %vm_opt_aref.exit.vm_opt_aref.exit.thread2646_crit_edge +vm_opt_aref.exit: ; preds = %3351, %3385, %3388, %3397 + %.0.i2491 = phi i64 [ %3352, %3351 ], [ %3389, %3388 ], [ %3398, %3397 ], [ %3387, %3385 ] + %3399 = icmp eq i64 %.0.i2491, 36 + br i1 %3399, label %vm_opt_aref.exit.thread, label %vm_opt_aref.exit.vm_opt_aref.exit.thread2646_crit_edge vm_opt_aref.exit.vm_opt_aref.exit.thread2646_crit_edge: ; preds = %vm_opt_aref.exit - %.pre2896 = load ptr, ptr %3333, align 8 + %.pre2897 = load ptr, ptr %3331, align 8 br label %vm_opt_aref.exit.thread2646 -vm_opt_aref.exit.thread: ; preds = %3392, %3395, %3346, %3349, %vm_opt_aref.exit +vm_opt_aref.exit.thread: ; preds = %3390, %3393, %3344, %3347, %vm_opt_aref.exit store ptr %.02113, ptr %.02114, align 8 br label %1660 -vm_opt_aref.exit.thread2646: ; preds = %vm_opt_aref.exit.vm_opt_aref.exit.thread2646_crit_edge, %3386, %3383, %rb_array_const_ptr.exit.i.i - %3402 = phi ptr [ %.pre2896, %vm_opt_aref.exit.vm_opt_aref.exit.thread2646_crit_edge ], [ %3334, %rb_array_const_ptr.exit.i.i ], [ %3334, %3383 ], [ %3334, %3386 ] - %.0.i24912648 = phi i64 [ %.0.i2491, %vm_opt_aref.exit.vm_opt_aref.exit.thread2646_crit_edge ], [ 4, %rb_array_const_ptr.exit.i.i ], [ 4, %3383 ], [ 4, %3386 ] - %3403 = getelementptr i8, ptr %3402, i64 -8 - store ptr %3403, ptr %3333, align 8 - %3404 = getelementptr i8, ptr %3402, i64 -16 - store i64 %.0.i24912648, ptr %3404, align 8 +vm_opt_aref.exit.thread2646: ; preds = %vm_opt_aref.exit.vm_opt_aref.exit.thread2646_crit_edge, %3384, %3381, %rb_array_const_ptr.exit.i.i + %3400 = phi ptr [ %.pre2897, %vm_opt_aref.exit.vm_opt_aref.exit.thread2646_crit_edge ], [ %3332, %rb_array_const_ptr.exit.i.i ], [ %3332, %3381 ], [ %3332, %3384 ] + %.0.i24912648 = phi i64 [ %.0.i2491, %vm_opt_aref.exit.vm_opt_aref.exit.thread2646_crit_edge ], [ 4, %rb_array_const_ptr.exit.i.i ], [ 4, %3381 ], [ 4, %3384 ] + %3401 = getelementptr i8, ptr %3400, i64 -8 + store ptr %3401, ptr %3331, align 8 + %3402 = getelementptr i8, ptr %3400, i64 -16 + store i64 %.0.i24912648, ptr %3402, align 8 br label %.backedge.backedge -3405: ; preds = %.backedge - %3406 = getelementptr inbounds nuw i8, ptr %.02114, i64 8 - %3407 = load ptr, ptr %3406, align 8 - %3408 = getelementptr i8, ptr %3407, i64 -24 - %3409 = load i64, ptr %3408, align 8 - %3410 = getelementptr i8, ptr %3407, i64 -8 - %3411 = getelementptr i8, ptr %3407, i64 -16 - %3412 = load i64, ptr %3411, align 8 - %3413 = load i64, ptr %3410, align 8 - %3414 = getelementptr i8, ptr %.02113, i64 16 - store ptr %3414, ptr %.02114, align 8 - %3415 = load i64, ptr @rb_vm_insns_count, align 8 - %3416 = add i64 %3415, 1 - store i64 %3416, ptr @rb_vm_insns_count, align 8 - %3417 = and i64 %3409, 7 - %3418 = icmp ne i64 %3417, 0 - %3419 = icmp eq i64 %3409, 0 - %3420 = or i1 %3419, %3418 - br i1 %3420, label %vm_opt_aset.exit.thread, label %3421 - -3421: ; preds = %3405 - %3422 = inttoptr i64 %3409 to ptr - %3423 = getelementptr inbounds nuw i8, ptr %3422, i64 8 - %3424 = load i64, ptr %3423, align 8 - %3425 = load i64, ptr @rb_cArray, align 8 - %3426 = icmp eq i64 %3424, %3425 - br i1 %3426, label %3427, label %3435 - -3427: ; preds = %3421 - %3428 = load i16, ptr getelementptr inbounds nuw (i8, ptr @ruby_vm_redefined_flag, i64 22), align 2 - %3429 = and i16 %3428, 8 - %3430 = icmp eq i16 %3429, 0 - %3431 = and i64 %3412, 1 - %3432 = icmp ne i64 %3431, 0 - %or.cond.i2496 = and i1 %3432, %3430 - br i1 %or.cond.i2496, label %3433, label %3435 - -3433: ; preds = %3427 - %3434 = ashr i64 %3412, 1 - call void @rb_ary_store(i64 noundef %3409, i64 noundef %3434, i64 noundef %3413) #21 +3403: ; preds = %.backedge + %3404 = getelementptr inbounds nuw i8, ptr %.02114, i64 8 + %3405 = load ptr, ptr %3404, align 8 + %3406 = getelementptr i8, ptr %3405, i64 -24 + %3407 = load i64, ptr %3406, align 8 + %3408 = getelementptr i8, ptr %3405, i64 -8 + %3409 = getelementptr i8, ptr %3405, i64 -16 + %3410 = load i64, ptr %3409, align 8 + %3411 = load i64, ptr %3408, align 8 + %3412 = getelementptr i8, ptr %.02113, i64 16 + store ptr %3412, ptr %.02114, align 8 + %3413 = load i64, ptr @rb_vm_insns_count, align 8 + %3414 = add i64 %3413, 1 + store i64 %3414, ptr @rb_vm_insns_count, align 8 + %3415 = and i64 %3407, 7 + %3416 = icmp ne i64 %3415, 0 + %3417 = icmp eq i64 %3407, 0 + %3418 = or i1 %3417, %3416 + br i1 %3418, label %vm_opt_aset.exit.thread, label %3419 + +3419: ; preds = %3403 + %3420 = inttoptr i64 %3407 to ptr + %3421 = getelementptr inbounds nuw i8, ptr %3420, i64 8 + %3422 = load i64, ptr %3421, align 8 + %3423 = load i64, ptr @rb_cArray, align 8 + %3424 = icmp eq i64 %3422, %3423 + br i1 %3424, label %3425, label %3433 + +3425: ; preds = %3419 + %3426 = load i16, ptr getelementptr inbounds nuw (i8, ptr @ruby_vm_redefined_flag, i64 22), align 2 + %3427 = and i16 %3426, 8 + %3428 = icmp eq i16 %3427, 0 + %3429 = and i64 %3410, 1 + %3430 = icmp ne i64 %3429, 0 + %or.cond.i2496 = and i1 %3430, %3428 + br i1 %or.cond.i2496, label %3431, label %3433 + +3431: ; preds = %3425 + %3432 = ashr i64 %3410, 1 + call void @rb_ary_store(i64 noundef %3407, i64 noundef %3432, i64 noundef %3411) #21 br label %vm_opt_aset.exit -3435: ; preds = %3427, %3421 - %3436 = load i64, ptr @rb_cHash, align 8 - %3437 = icmp eq i64 %3424, %3436 - br i1 %3437, label %3438, label %vm_opt_aset.exit.thread +3433: ; preds = %3425, %3419 + %3434 = load i64, ptr @rb_cHash, align 8 + %3435 = icmp eq i64 %3422, %3434 + br i1 %3435, label %3436, label %vm_opt_aset.exit.thread -3438: ; preds = %3435 - %3439 = load i16, ptr getelementptr inbounds nuw (i8, ptr @ruby_vm_redefined_flag, i64 22), align 2 - %3440 = and i16 %3439, 16 - %3441 = icmp eq i16 %3440, 0 - br i1 %3441, label %3442, label %vm_opt_aset.exit.thread +3436: ; preds = %3433 + %3437 = load i16, ptr getelementptr inbounds nuw (i8, ptr @ruby_vm_redefined_flag, i64 22), align 2 + %3438 = and i16 %3437, 16 + %3439 = icmp eq i16 %3438, 0 + br i1 %3439, label %3440, label %vm_opt_aset.exit.thread -3442: ; preds = %3438 - %3443 = call i64 @rb_hash_aset(i64 noundef %3409, i64 noundef %3412, i64 noundef %3413) #21 +3440: ; preds = %3436 + %3441 = call i64 @rb_hash_aset(i64 noundef %3407, i64 noundef %3410, i64 noundef %3411) #21 br label %vm_opt_aset.exit -vm_opt_aset.exit: ; preds = %3433, %3442 - %3444 = icmp eq i64 %3413, 36 - br i1 %3444, label %vm_opt_aset.exit.thread, label %3445 +vm_opt_aset.exit: ; preds = %3431, %3440 + %3442 = icmp eq i64 %3411, 36 + br i1 %3442, label %vm_opt_aset.exit.thread, label %3443 -vm_opt_aset.exit.thread: ; preds = %3435, %3438, %3405, %vm_opt_aset.exit +vm_opt_aset.exit.thread: ; preds = %3433, %3436, %3403, %vm_opt_aset.exit store ptr %.02113, ptr %.02114, align 8 br label %1660 -3445: ; preds = %vm_opt_aset.exit - %3446 = load ptr, ptr %3406, align 8 - %3447 = getelementptr i8, ptr %3446, i64 -16 - store ptr %3447, ptr %3406, align 8 - %3448 = getelementptr i8, ptr %3446, i64 -24 - store i64 %3413, ptr %3448, align 8 +3443: ; preds = %vm_opt_aset.exit + %3444 = load ptr, ptr %3404, align 8 + %3445 = getelementptr i8, ptr %3444, i64 -16 + store ptr %3445, ptr %3404, align 8 + %3446 = getelementptr i8, ptr %3444, i64 -24 + store i64 %3411, ptr %3446, align 8 br label %.backedge.backedge -3449: ; preds = %.backedge, %3989 - %3450 = getelementptr i8, ptr %.02113, i64 8 - %3451 = load i64, ptr %3450, align 8 - %3452 = getelementptr inbounds nuw i8, ptr %.02114, i64 8 - %3453 = load ptr, ptr %3452, align 8 - %3454 = getelementptr i8, ptr %3453, i64 -8 - %3455 = getelementptr i8, ptr %3453, i64 -16 - %3456 = load i64, ptr %3455, align 8 - %3457 = load i64, ptr %3454, align 8 - %3458 = getelementptr i8, ptr %.02113, i64 24 - store ptr %3458, ptr %.02114, align 8 - %3459 = load i64, ptr @rb_vm_insns_count, align 8 - %3460 = add i64 %3459, 1 - store i64 %3460, ptr @rb_vm_insns_count, align 8 - %3461 = and i64 %3456, 7 - %3462 = icmp ne i64 %3461, 0 - %3463 = icmp eq i64 %3456, 0 - %3464 = or i1 %3463, %3462 - br i1 %3464, label %vm_opt_aset_with.exit.thread, label %3465 - -3465: ; preds = %3449 - %3466 = inttoptr i64 %3456 to ptr - %3467 = getelementptr inbounds nuw i8, ptr %3466, i64 8 - %3468 = load i64, ptr %3467, align 8 - %3469 = load i64, ptr @rb_cHash, align 8 - %3470 = icmp eq i64 %3468, %3469 - br i1 %3470, label %3471, label %vm_opt_aset_with.exit.thread - -3471: ; preds = %3465 - %3472 = load i16, ptr getelementptr inbounds nuw (i8, ptr @ruby_vm_redefined_flag, i64 22), align 2 - %3473 = and i16 %3472, 16 - %3474 = icmp eq i16 %3473, 0 - br i1 %3474, label %3475, label %vm_opt_aset_with.exit.thread - -3475: ; preds = %3471 - %3476 = call i64 @rb_hash_compare_by_id_p(i64 noundef %3456) #21 - %3477 = icmp eq i64 %3476, 0 - br i1 %3477, label %vm_opt_aset_with.exit, label %vm_opt_aset_with.exit.thread - -vm_opt_aset_with.exit: ; preds = %3475 - %3478 = call i64 @rb_hash_aset(i64 noundef %3456, i64 noundef %3451, i64 noundef %3457) #21 - %3479 = icmp eq i64 %3478, 36 - br i1 %3479, label %vm_opt_aset_with.exit.thread, label %3480 - -3480: ; preds = %vm_opt_aset_with.exit - %3481 = load ptr, ptr %3452, align 8 - %3482 = getelementptr i8, ptr %3481, i64 -8 - store ptr %3482, ptr %3452, align 8 - %3483 = getelementptr i8, ptr %3481, i64 -16 - store i64 %3478, ptr %3483, align 8 +3447: ; preds = %.backedge, %3987 + %3448 = getelementptr i8, ptr %.02113, i64 8 + %3449 = load i64, ptr %3448, align 8 + %3450 = getelementptr inbounds nuw i8, ptr %.02114, i64 8 + %3451 = load ptr, ptr %3450, align 8 + %3452 = getelementptr i8, ptr %3451, i64 -8 + %3453 = getelementptr i8, ptr %3451, i64 -16 + %3454 = load i64, ptr %3453, align 8 + %3455 = load i64, ptr %3452, align 8 + %3456 = getelementptr i8, ptr %.02113, i64 24 + store ptr %3456, ptr %.02114, align 8 + %3457 = load i64, ptr @rb_vm_insns_count, align 8 + %3458 = add i64 %3457, 1 + store i64 %3458, ptr @rb_vm_insns_count, align 8 + %3459 = and i64 %3454, 7 + %3460 = icmp ne i64 %3459, 0 + %3461 = icmp eq i64 %3454, 0 + %3462 = or i1 %3461, %3460 + br i1 %3462, label %vm_opt_aset_with.exit.thread, label %3463 + +3463: ; preds = %3447 + %3464 = inttoptr i64 %3454 to ptr + %3465 = getelementptr inbounds nuw i8, ptr %3464, i64 8 + %3466 = load i64, ptr %3465, align 8 + %3467 = load i64, ptr @rb_cHash, align 8 + %3468 = icmp eq i64 %3466, %3467 + br i1 %3468, label %3469, label %vm_opt_aset_with.exit.thread + +3469: ; preds = %3463 + %3470 = load i16, ptr getelementptr inbounds nuw (i8, ptr @ruby_vm_redefined_flag, i64 22), align 2 + %3471 = and i16 %3470, 16 + %3472 = icmp eq i16 %3471, 0 + br i1 %3472, label %3473, label %vm_opt_aset_with.exit.thread + +3473: ; preds = %3469 + %3474 = call i64 @rb_hash_compare_by_id_p(i64 noundef %3454) #21 + %3475 = icmp eq i64 %3474, 0 + br i1 %3475, label %vm_opt_aset_with.exit, label %vm_opt_aset_with.exit.thread + +vm_opt_aset_with.exit: ; preds = %3473 + %3476 = call i64 @rb_hash_aset(i64 noundef %3454, i64 noundef %3449, i64 noundef %3455) #21 + %3477 = icmp eq i64 %3476, 36 + br i1 %3477, label %vm_opt_aset_with.exit.thread, label %3478 + +3478: ; preds = %vm_opt_aset_with.exit + %3479 = load ptr, ptr %3450, align 8 + %3480 = getelementptr i8, ptr %3479, i64 -8 + store ptr %3480, ptr %3450, align 8 + %3481 = getelementptr i8, ptr %3479, i64 -16 + store i64 %3476, ptr %3481, align 8 br label %.backedge.backedge -vm_opt_aset_with.exit.thread: ; preds = %3449, %3465, %3471, %3475, %vm_opt_aset_with.exit - %3484 = call i64 @rb_str_resurrect(i64 noundef %3451) #21 - %3485 = load ptr, ptr %3452, align 8 - %3486 = getelementptr i8, ptr %3485, i64 -8 - store i64 %3484, ptr %3486, align 8 - %3487 = load ptr, ptr %3452, align 8 - store i64 %3457, ptr %3487, align 8 - %3488 = load ptr, ptr %3452, align 8 - %3489 = getelementptr i8, ptr %3488, i64 8 - store ptr %3489, ptr %3452, align 8 - store ptr %3450, ptr %.02114, align 8 +vm_opt_aset_with.exit.thread: ; preds = %3447, %3463, %3469, %3473, %vm_opt_aset_with.exit + %3482 = call i64 @rb_str_resurrect(i64 noundef %3449) #21 + %3483 = load ptr, ptr %3450, align 8 + %3484 = getelementptr i8, ptr %3483, i64 -8 + store i64 %3482, ptr %3484, align 8 + %3485 = load ptr, ptr %3450, align 8 + store i64 %3455, ptr %3485, align 8 + %3486 = load ptr, ptr %3450, align 8 + %3487 = getelementptr i8, ptr %3486, i64 8 + store ptr %3487, ptr %3450, align 8 + store ptr %3448, ptr %.02114, align 8 br label %1660 -3490: ; preds = %.backedge, %3990 - %3491 = getelementptr i8, ptr %.02113, i64 8 - %3492 = load i64, ptr %3491, align 8 - %3493 = getelementptr inbounds nuw i8, ptr %.02114, i64 8 - %3494 = load ptr, ptr %3493, align 8 - %3495 = getelementptr i8, ptr %3494, i64 -8 - %3496 = load i64, ptr %3495, align 8 - %3497 = getelementptr i8, ptr %.02113, i64 24 - store ptr %3497, ptr %.02114, align 8 - %3498 = load i64, ptr @rb_vm_insns_count, align 8 - %3499 = add i64 %3498, 1 - store i64 %3499, ptr @rb_vm_insns_count, align 8 - %3500 = and i64 %3496, 7 - %3501 = icmp ne i64 %3500, 0 - %3502 = icmp eq i64 %3496, 0 - %3503 = or i1 %3502, %3501 - br i1 %3503, label %vm_opt_aref_with.exit.thread, label %3504 - -3504: ; preds = %3490 - %3505 = inttoptr i64 %3496 to ptr - %3506 = getelementptr inbounds nuw i8, ptr %3505, i64 8 - %3507 = load i64, ptr %3506, align 8 - %3508 = load i64, ptr @rb_cHash, align 8 - %3509 = icmp eq i64 %3507, %3508 - br i1 %3509, label %3510, label %vm_opt_aref_with.exit.thread - -3510: ; preds = %3504 - %3511 = load i16, ptr getelementptr inbounds nuw (i8, ptr @ruby_vm_redefined_flag, i64 20), align 4 - %3512 = and i16 %3511, 16 - %3513 = icmp eq i16 %3512, 0 - br i1 %3513, label %3514, label %vm_opt_aref_with.exit.thread - -3514: ; preds = %3510 - %3515 = call i64 @rb_hash_compare_by_id_p(i64 noundef %3496) #21 - %3516 = icmp eq i64 %3515, 0 - br i1 %3516, label %RB_FL_TEST.exit.i, label %vm_opt_aref_with.exit.thread - -RB_FL_TEST.exit.i: ; preds = %3514 - %3517 = load i64, ptr %3505, align 8 - %3518 = and i64 %3517, 31 - %3519 = icmp eq i64 %3518, 27 - %3520 = and i64 %3517, 16384 - %.not7.i = icmp eq i64 %3520, 0 - %.not.i2499 = or i1 %3519, %.not7.i +3488: ; preds = %.backedge, %3988 + %3489 = getelementptr i8, ptr %.02113, i64 8 + %3490 = load i64, ptr %3489, align 8 + %3491 = getelementptr inbounds nuw i8, ptr %.02114, i64 8 + %3492 = load ptr, ptr %3491, align 8 + %3493 = getelementptr i8, ptr %3492, i64 -8 + %3494 = load i64, ptr %3493, align 8 + %3495 = getelementptr i8, ptr %.02113, i64 24 + store ptr %3495, ptr %.02114, align 8 + %3496 = load i64, ptr @rb_vm_insns_count, align 8 + %3497 = add i64 %3496, 1 + store i64 %3497, ptr @rb_vm_insns_count, align 8 + %3498 = and i64 %3494, 7 + %3499 = icmp ne i64 %3498, 0 + %3500 = icmp eq i64 %3494, 0 + %3501 = or i1 %3500, %3499 + br i1 %3501, label %vm_opt_aref_with.exit.thread, label %3502 + +3502: ; preds = %3488 + %3503 = inttoptr i64 %3494 to ptr + %3504 = getelementptr inbounds nuw i8, ptr %3503, i64 8 + %3505 = load i64, ptr %3504, align 8 + %3506 = load i64, ptr @rb_cHash, align 8 + %3507 = icmp eq i64 %3505, %3506 + br i1 %3507, label %3508, label %vm_opt_aref_with.exit.thread + +3508: ; preds = %3502 + %3509 = load i16, ptr getelementptr inbounds nuw (i8, ptr @ruby_vm_redefined_flag, i64 20), align 4 + %3510 = and i16 %3509, 16 + %3511 = icmp eq i16 %3510, 0 + br i1 %3511, label %3512, label %vm_opt_aref_with.exit.thread + +3512: ; preds = %3508 + %3513 = call i64 @rb_hash_compare_by_id_p(i64 noundef %3494) #21 + %3514 = icmp eq i64 %3513, 0 + br i1 %3514, label %RB_FL_TEST.exit.i, label %vm_opt_aref_with.exit.thread + +RB_FL_TEST.exit.i: ; preds = %3512 + %3515 = load i64, ptr %3503, align 8 + %3516 = and i64 %3515, 31 + %3517 = icmp eq i64 %3516, 27 + %3518 = and i64 %3515, 16384 + %.not7.i = icmp eq i64 %3518, 0 + %.not.i2499 = or i1 %3517, %.not7.i br i1 %.not.i2499, label %vm_opt_aref_with.exit, label %vm_opt_aref_with.exit.thread vm_opt_aref_with.exit: ; preds = %RB_FL_TEST.exit.i - %3521 = call i64 @rb_hash_aref(i64 noundef %3496, i64 noundef %3492) #21 - %3522 = icmp eq i64 %3521, 36 - br i1 %3522, label %vm_opt_aref_with.exit.thread, label %3527 - -vm_opt_aref_with.exit.thread: ; preds = %3490, %3504, %3510, %3514, %RB_FL_TEST.exit.i, %vm_opt_aref_with.exit - %3523 = call i64 @rb_str_resurrect(i64 noundef %3492) #21 - %3524 = load ptr, ptr %3493, align 8 - store i64 %3523, ptr %3524, align 8 - %3525 = load ptr, ptr %3493, align 8 - %3526 = getelementptr i8, ptr %3525, i64 8 - store ptr %3526, ptr %3493, align 8 - store ptr %3491, ptr %.02114, align 8 + %3519 = call i64 @rb_hash_aref(i64 noundef %3494, i64 noundef %3490) #21 + %3520 = icmp eq i64 %3519, 36 + br i1 %3520, label %vm_opt_aref_with.exit.thread, label %3525 + +vm_opt_aref_with.exit.thread: ; preds = %3488, %3502, %3508, %3512, %RB_FL_TEST.exit.i, %vm_opt_aref_with.exit + %3521 = call i64 @rb_str_resurrect(i64 noundef %3490) #21 + %3522 = load ptr, ptr %3491, align 8 + store i64 %3521, ptr %3522, align 8 + %3523 = load ptr, ptr %3491, align 8 + %3524 = getelementptr i8, ptr %3523, i64 8 + store ptr %3524, ptr %3491, align 8 + store ptr %3489, ptr %.02114, align 8 br label %1660 -3527: ; preds = %vm_opt_aref_with.exit - %3528 = load ptr, ptr %3493, align 8 - %3529 = getelementptr i8, ptr %3528, i64 -8 - store i64 %3521, ptr %3529, align 8 +3525: ; preds = %vm_opt_aref_with.exit + %3526 = load ptr, ptr %3491, align 8 + %3527 = getelementptr i8, ptr %3526, i64 -8 + store i64 %3519, ptr %3527, align 8 br label %.backedge.backedge -3530: ; preds = %.backedge - %3531 = getelementptr inbounds nuw i8, ptr %.02114, i64 8 - %3532 = load ptr, ptr %3531, align 8 - %3533 = getelementptr i8, ptr %3532, i64 -8 - %3534 = load i64, ptr %3533, align 8 - %3535 = getelementptr i8, ptr %.02113, i64 16 - store ptr %3535, ptr %.02114, align 8 - %3536 = load i64, ptr @rb_vm_insns_count, align 8 - %3537 = add i64 %3536, 1 - store i64 %3537, ptr @rb_vm_insns_count, align 8 - %3538 = call fastcc i64 @vm_opt_length(i64 noundef %3534, i32 noundef 12) - %3539 = icmp eq i64 %3538, 36 - br i1 %3539, label %3540, label %3541 - -3540: ; preds = %3530 +3528: ; preds = %.backedge + %3529 = getelementptr inbounds nuw i8, ptr %.02114, i64 8 + %3530 = load ptr, ptr %3529, align 8 + %3531 = getelementptr i8, ptr %3530, i64 -8 + %3532 = load i64, ptr %3531, align 8 + %3533 = getelementptr i8, ptr %.02113, i64 16 + store ptr %3533, ptr %.02114, align 8 + %3534 = load i64, ptr @rb_vm_insns_count, align 8 + %3535 = add i64 %3534, 1 + store i64 %3535, ptr @rb_vm_insns_count, align 8 + %3536 = call fastcc i64 @vm_opt_length(i64 noundef %3532, i32 noundef 12) + %3537 = icmp eq i64 %3536, 36 + br i1 %3537, label %3538, label %3539 + +3538: ; preds = %3528 store ptr %.02113, ptr %.02114, align 8 br label %1660 -3541: ; preds = %3530 - %3542 = load ptr, ptr %3531, align 8 - %3543 = getelementptr i8, ptr %3542, i64 -8 - store i64 %3538, ptr %3543, align 8 +3539: ; preds = %3528 + %3540 = load ptr, ptr %3529, align 8 + %3541 = getelementptr i8, ptr %3540, i64 -8 + store i64 %3536, ptr %3541, align 8 br label %.backedge.backedge -3544: ; preds = %.backedge - %3545 = getelementptr inbounds nuw i8, ptr %.02114, i64 8 - %3546 = load ptr, ptr %3545, align 8 - %3547 = getelementptr i8, ptr %3546, i64 -8 - %3548 = load i64, ptr %3547, align 8 - %3549 = getelementptr i8, ptr %.02113, i64 16 - store ptr %3549, ptr %.02114, align 8 - %3550 = load i64, ptr @rb_vm_insns_count, align 8 - %3551 = add i64 %3550, 1 - store i64 %3551, ptr @rb_vm_insns_count, align 8 - %3552 = call fastcc i64 @vm_opt_length(i64 noundef %3548, i32 noundef 13) - %3553 = icmp eq i64 %3552, 36 - br i1 %3553, label %3554, label %3555 - -3554: ; preds = %3544 +3542: ; preds = %.backedge + %3543 = getelementptr inbounds nuw i8, ptr %.02114, i64 8 + %3544 = load ptr, ptr %3543, align 8 + %3545 = getelementptr i8, ptr %3544, i64 -8 + %3546 = load i64, ptr %3545, align 8 + %3547 = getelementptr i8, ptr %.02113, i64 16 + store ptr %3547, ptr %.02114, align 8 + %3548 = load i64, ptr @rb_vm_insns_count, align 8 + %3549 = add i64 %3548, 1 + store i64 %3549, ptr @rb_vm_insns_count, align 8 + %3550 = call fastcc i64 @vm_opt_length(i64 noundef %3546, i32 noundef 13) + %3551 = icmp eq i64 %3550, 36 + br i1 %3551, label %3552, label %3553 + +3552: ; preds = %3542 store ptr %.02113, ptr %.02114, align 8 br label %1660 -3555: ; preds = %3544 - %3556 = load ptr, ptr %3545, align 8 - %3557 = getelementptr i8, ptr %3556, i64 -8 - store i64 %3552, ptr %3557, align 8 +3553: ; preds = %3542 + %3554 = load ptr, ptr %3543, align 8 + %3555 = getelementptr i8, ptr %3554, i64 -8 + store i64 %3550, ptr %3555, align 8 br label %.backedge.backedge -3558: ; preds = %.backedge - %3559 = getelementptr inbounds nuw i8, ptr %.02114, i64 8 - %3560 = load ptr, ptr %3559, align 8 - %3561 = getelementptr i8, ptr %3560, i64 -8 - %3562 = load i64, ptr %3561, align 8 - %3563 = getelementptr i8, ptr %.02113, i64 16 - store ptr %3563, ptr %.02114, align 8 - %3564 = load i64, ptr @rb_vm_insns_count, align 8 - %3565 = add i64 %3564, 1 - store i64 %3565, ptr @rb_vm_insns_count, align 8 - %3566 = call fastcc i64 @vm_opt_length(i64 noundef %3562, i32 noundef 14) - %switch.selectcmp2.i = icmp eq i64 %3566, 36 - br i1 %switch.selectcmp2.i, label %3567, label %3568 - -3567: ; preds = %3558 +3556: ; preds = %.backedge + %3557 = getelementptr inbounds nuw i8, ptr %.02114, i64 8 + %3558 = load ptr, ptr %3557, align 8 + %3559 = getelementptr i8, ptr %3558, i64 -8 + %3560 = load i64, ptr %3559, align 8 + %3561 = getelementptr i8, ptr %.02113, i64 16 + store ptr %3561, ptr %.02114, align 8 + %3562 = load i64, ptr @rb_vm_insns_count, align 8 + %3563 = add i64 %3562, 1 + store i64 %3563, ptr @rb_vm_insns_count, align 8 + %3564 = call fastcc i64 @vm_opt_length(i64 noundef %3560, i32 noundef 14) + %switch.selectcmp2.i = icmp eq i64 %3564, 36 + br i1 %switch.selectcmp2.i, label %3565, label %3566 + +3565: ; preds = %3556 store ptr %.02113, ptr %.02114, align 8 br label %1660 -3568: ; preds = %3558 - %switch.selectcmp.i = icmp eq i64 %3566, 1 +3566: ; preds = %3556 + %switch.selectcmp.i = icmp eq i64 %3564, 1 %switch.select.i = select i1 %switch.selectcmp.i, i64 20, i64 0 - %3569 = load ptr, ptr %3559, align 8 - %3570 = getelementptr i8, ptr %3569, i64 -8 - store i64 %switch.select.i, ptr %3570, align 8 + %3567 = load ptr, ptr %3557, align 8 + %3568 = getelementptr i8, ptr %3567, i64 -8 + store i64 %switch.select.i, ptr %3568, align 8 br label %.backedge.backedge -3571: ; preds = %.backedge - %3572 = getelementptr inbounds nuw i8, ptr %.02114, i64 8 - %3573 = load ptr, ptr %3572, align 8 - %3574 = getelementptr i8, ptr %3573, i64 -8 - %3575 = load i64, ptr %3574, align 8 - %3576 = getelementptr i8, ptr %.02113, i64 16 - store ptr %3576, ptr %.02114, align 8 - %3577 = load i64, ptr @rb_vm_insns_count, align 8 - %3578 = add i64 %3577, 1 - store i64 %3578, ptr @rb_vm_insns_count, align 8 - %3579 = and i64 %3575, 1 - %.not.i2500 = icmp eq i64 %3579, 0 - br i1 %.not.i2500, label %3589, label %3580 - -3580: ; preds = %3571 - %3581 = load i16, ptr getelementptr inbounds nuw (i8, ptr @ruby_vm_redefined_flag, i64 32), align 16 - %3582 = and i16 %3581, 1 - %3583 = icmp eq i16 %3582, 0 - br i1 %3583, label %3584, label %3589 - -3584: ; preds = %3580 - switch i64 %3575, label %3587 [ +3569: ; preds = %.backedge + %3570 = getelementptr inbounds nuw i8, ptr %.02114, i64 8 + %3571 = load ptr, ptr %3570, align 8 + %3572 = getelementptr i8, ptr %3571, i64 -8 + %3573 = load i64, ptr %3572, align 8 + %3574 = getelementptr i8, ptr %.02113, i64 16 + store ptr %3574, ptr %.02114, align 8 + %3575 = load i64, ptr @rb_vm_insns_count, align 8 + %3576 = add i64 %3575, 1 + store i64 %3576, ptr @rb_vm_insns_count, align 8 + %3577 = and i64 %3573, 1 + %.not.i2500 = icmp eq i64 %3577, 0 + br i1 %.not.i2500, label %3587, label %3578 + +3578: ; preds = %3569 + %3579 = load i16, ptr getelementptr inbounds nuw (i8, ptr @ruby_vm_redefined_flag, i64 32), align 16 + %3580 = and i16 %3579, 1 + %3581 = icmp eq i16 %3580, 0 + br i1 %3581, label %3582, label %3587 + +3582: ; preds = %3578 + switch i64 %3573, label %3585 [ i64 -1, label %vm_opt_succ.exit.thread2653 - i64 9223372036854775807, label %3585 + i64 9223372036854775807, label %3583 ] -3585: ; preds = %3584 - %3586 = call i64 @rb_uint2big(i64 noundef 4611686018427387904) #21 +3583: ; preds = %3582 + %3584 = call i64 @rb_uint2big(i64 noundef 4611686018427387904) #21 br label %vm_opt_succ.exit -3587: ; preds = %3584 - %3588 = add i64 %3575, 2 +3585: ; preds = %3582 + %3586 = add i64 %3573, 2 br label %vm_opt_succ.exit -3589: ; preds = %3580, %3571 - %3590 = and i64 %3575, 7 - %3591 = icmp ne i64 %3590, 0 - %3592 = icmp eq i64 %3575, 0 - %3593 = or i1 %3592, %3591 - br i1 %3593, label %vm_opt_succ.exit.thread, label %3594 - -3594: ; preds = %3589 - %3595 = inttoptr i64 %3575 to ptr - %3596 = getelementptr inbounds nuw i8, ptr %3595, i64 8 - %3597 = load i64, ptr %3596, align 8 - %3598 = load i64, ptr @rb_cString, align 8 - %3599 = icmp eq i64 %3597, %3598 - br i1 %3599, label %3600, label %vm_opt_succ.exit.thread - -3600: ; preds = %3594 - %3601 = load i16, ptr getelementptr inbounds nuw (i8, ptr @ruby_vm_redefined_flag, i64 32), align 16 - %3602 = and i16 %3601, 4 - %3603 = icmp eq i16 %3602, 0 - br i1 %3603, label %3604, label %vm_opt_succ.exit.thread - -3604: ; preds = %3600 - %3605 = call i64 @rb_str_succ(i64 noundef %3575) #21 +3587: ; preds = %3578, %3569 + %3588 = and i64 %3573, 7 + %3589 = icmp ne i64 %3588, 0 + %3590 = icmp eq i64 %3573, 0 + %3591 = or i1 %3590, %3589 + br i1 %3591, label %vm_opt_succ.exit.thread, label %3592 + +3592: ; preds = %3587 + %3593 = inttoptr i64 %3573 to ptr + %3594 = getelementptr inbounds nuw i8, ptr %3593, i64 8 + %3595 = load i64, ptr %3594, align 8 + %3596 = load i64, ptr @rb_cString, align 8 + %3597 = icmp eq i64 %3595, %3596 + br i1 %3597, label %3598, label %vm_opt_succ.exit.thread + +3598: ; preds = %3592 + %3599 = load i16, ptr getelementptr inbounds nuw (i8, ptr @ruby_vm_redefined_flag, i64 32), align 16 + %3600 = and i16 %3599, 4 + %3601 = icmp eq i16 %3600, 0 + br i1 %3601, label %3602, label %vm_opt_succ.exit.thread + +3602: ; preds = %3598 + %3603 = call i64 @rb_str_succ(i64 noundef %3573) #21 br label %vm_opt_succ.exit -vm_opt_succ.exit: ; preds = %3585, %3587, %3604 - %.0.i2501 = phi i64 [ %3605, %3604 ], [ %3588, %3587 ], [ %3586, %3585 ] - %3606 = icmp eq i64 %.0.i2501, 36 - br i1 %3606, label %vm_opt_succ.exit.thread, label %vm_opt_succ.exit.vm_opt_succ.exit.thread2653_crit_edge +vm_opt_succ.exit: ; preds = %3583, %3585, %3602 + %.0.i2501 = phi i64 [ %3603, %3602 ], [ %3586, %3585 ], [ %3584, %3583 ] + %3604 = icmp eq i64 %.0.i2501, 36 + br i1 %3604, label %vm_opt_succ.exit.thread, label %vm_opt_succ.exit.vm_opt_succ.exit.thread2653_crit_edge vm_opt_succ.exit.vm_opt_succ.exit.thread2653_crit_edge: ; preds = %vm_opt_succ.exit - %.pre = load ptr, ptr %3572, align 8 + %.pre = load ptr, ptr %3570, align 8 br label %vm_opt_succ.exit.thread2653 -vm_opt_succ.exit.thread: ; preds = %3594, %3600, %3589, %vm_opt_succ.exit +vm_opt_succ.exit.thread: ; preds = %3592, %3598, %3587, %vm_opt_succ.exit store ptr %.02113, ptr %.02114, align 8 br label %1660 -vm_opt_succ.exit.thread2653: ; preds = %vm_opt_succ.exit.vm_opt_succ.exit.thread2653_crit_edge, %3584 - %3607 = phi ptr [ %.pre, %vm_opt_succ.exit.vm_opt_succ.exit.thread2653_crit_edge ], [ %3573, %3584 ] - %.0.i25012655 = phi i64 [ %.0.i2501, %vm_opt_succ.exit.vm_opt_succ.exit.thread2653_crit_edge ], [ 1, %3584 ] - %3608 = getelementptr i8, ptr %3607, i64 -8 - store i64 %.0.i25012655, ptr %3608, align 8 +vm_opt_succ.exit.thread2653: ; preds = %vm_opt_succ.exit.vm_opt_succ.exit.thread2653_crit_edge, %3582 + %3605 = phi ptr [ %.pre, %vm_opt_succ.exit.vm_opt_succ.exit.thread2653_crit_edge ], [ %3571, %3582 ] + %.0.i25012655 = phi i64 [ %.0.i2501, %vm_opt_succ.exit.vm_opt_succ.exit.thread2653_crit_edge ], [ 1, %3582 ] + %3606 = getelementptr i8, ptr %3605, i64 -8 + store i64 %.0.i25012655, ptr %3606, align 8 br label %.backedge.backedge -3609: ; preds = %.backedge - %3610 = getelementptr i8, ptr %.02113, i64 8 - %3611 = load i64, ptr %3610, align 8 - %3612 = inttoptr i64 %3611 to ptr - %3613 = getelementptr inbounds nuw i8, ptr %.02114, i64 8 - %3614 = load ptr, ptr %3613, align 8 - %3615 = getelementptr i8, ptr %3614, i64 -8 - %3616 = load i64, ptr %3615, align 8 - %3617 = getelementptr i8, ptr %.02113, i64 16 - store ptr %3617, ptr %.02114, align 8 - %3618 = load i64, ptr @rb_vm_insns_count, align 8 - %3619 = add i64 %3618, 1 - store i64 %3619, ptr @rb_vm_insns_count, align 8 - %3620 = getelementptr inbounds nuw i8, ptr %.02114, i64 16 - %3621 = load ptr, ptr %3620, align 8 - %3622 = call fastcc i32 @vm_method_cfunc_is(ptr noundef %3621, ptr noundef %3612, i64 noundef %3616, ptr nonnull @rb_obj_not) - %.not.i2502 = icmp eq i32 %3622, 0 - br i1 %.not.i2502, label %3623, label %3624 - -3623: ; preds = %3609 +3607: ; preds = %.backedge + %3608 = getelementptr i8, ptr %.02113, i64 8 + %3609 = load i64, ptr %3608, align 8 + %3610 = inttoptr i64 %3609 to ptr + %3611 = getelementptr inbounds nuw i8, ptr %.02114, i64 8 + %3612 = load ptr, ptr %3611, align 8 + %3613 = getelementptr i8, ptr %3612, i64 -8 + %3614 = load i64, ptr %3613, align 8 + %3615 = getelementptr i8, ptr %.02113, i64 16 + store ptr %3615, ptr %.02114, align 8 + %3616 = load i64, ptr @rb_vm_insns_count, align 8 + %3617 = add i64 %3616, 1 + store i64 %3617, ptr @rb_vm_insns_count, align 8 + %3618 = getelementptr inbounds nuw i8, ptr %.02114, i64 16 + %3619 = load ptr, ptr %3618, align 8 + %3620 = call fastcc i32 @vm_method_cfunc_is(ptr noundef %3619, ptr noundef %3610, i64 noundef %3614, ptr nonnull @rb_obj_not) + %.not.i2502 = icmp eq i32 %3620, 0 + br i1 %.not.i2502, label %3621, label %3622 + +3621: ; preds = %3607 store ptr %.02113, ptr %.02114, align 8 br label %1660 -3624: ; preds = %3609 - %3625 = and i64 %3616, -5 - %.not4.i = icmp eq i64 %3625, 0 - %3626 = select i1 %.not4.i, i64 20, i64 0 - %3627 = load ptr, ptr %3613, align 8 - %3628 = getelementptr i8, ptr %3627, i64 -8 - store i64 %3626, ptr %3628, align 8 +3622: ; preds = %3607 + %3623 = and i64 %3614, -5 + %.not4.i = icmp eq i64 %3623, 0 + %3624 = select i1 %.not4.i, i64 20, i64 0 + %3625 = load ptr, ptr %3611, align 8 + %3626 = getelementptr i8, ptr %3625, i64 -8 + store i64 %3624, ptr %3626, align 8 br label %.backedge.backedge -3629: ; preds = %.backedge - %3630 = getelementptr inbounds nuw i8, ptr %.02114, i64 8 - %3631 = load ptr, ptr %3630, align 8 - %3632 = getelementptr i8, ptr %3631, i64 -8 - %3633 = getelementptr i8, ptr %3631, i64 -16 - %3634 = load i64, ptr %3633, align 8 - %3635 = load i64, ptr %3632, align 8 - %3636 = getelementptr i8, ptr %.02113, i64 16 - store ptr %3636, ptr %.02114, align 8 - %3637 = load i64, ptr @rb_vm_insns_count, align 8 - %3638 = add i64 %3637, 1 - store i64 %3638, ptr @rb_vm_insns_count, align 8 - %3639 = and i64 %3634, 7 - %3640 = icmp ne i64 %3639, 0 - %3641 = icmp eq i64 %3634, 0 - %3642 = or i1 %3641, %3640 - br i1 %3642, label %vm_opt_regexpmatch2.exit.thread, label %3643 - -3643: ; preds = %3629 - %3644 = inttoptr i64 %3634 to ptr - %3645 = getelementptr inbounds nuw i8, ptr %3644, i64 8 - %3646 = load i64, ptr %3645, align 8 - %3647 = load i64, ptr @rb_cString, align 8 - %3648 = icmp eq i64 %3646, %3647 - br i1 %3648, label %3649, label %._crit_edge.i2504 - -._crit_edge.i2504: ; preds = %3643 +3627: ; preds = %.backedge + %3628 = getelementptr inbounds nuw i8, ptr %.02114, i64 8 + %3629 = load ptr, ptr %3628, align 8 + %3630 = getelementptr i8, ptr %3629, i64 -8 + %3631 = getelementptr i8, ptr %3629, i64 -16 + %3632 = load i64, ptr %3631, align 8 + %3633 = load i64, ptr %3630, align 8 + %3634 = getelementptr i8, ptr %.02113, i64 16 + store ptr %3634, ptr %.02114, align 8 + %3635 = load i64, ptr @rb_vm_insns_count, align 8 + %3636 = add i64 %3635, 1 + store i64 %3636, ptr @rb_vm_insns_count, align 8 + %3637 = and i64 %3632, 7 + %3638 = icmp ne i64 %3637, 0 + %3639 = icmp eq i64 %3632, 0 + %3640 = or i1 %3639, %3638 + br i1 %3640, label %vm_opt_regexpmatch2.exit.thread, label %3641 + +3641: ; preds = %3627 + %3642 = inttoptr i64 %3632 to ptr + %3643 = getelementptr inbounds nuw i8, ptr %3642, i64 8 + %3644 = load i64, ptr %3643, align 8 + %3645 = load i64, ptr @rb_cString, align 8 + %3646 = icmp eq i64 %3644, %3645 + br i1 %3646, label %3647, label %._crit_edge.i2504 + +._crit_edge.i2504: ; preds = %3641 %.pre.i2505 = load i64, ptr @rb_cRegexp, align 8 - br label %3673 - -3649: ; preds = %3643 - %3650 = and i64 %3635, 7 - %3651 = icmp ne i64 %3650, 0 - %3652 = icmp eq i64 %3635, 0 - %3653 = or i1 %3652, %3651 - br i1 %3653, label %3657, label %3654 - -3654: ; preds = %3649 - %3655 = inttoptr i64 %3635 to ptr - %3656 = getelementptr inbounds nuw i8, ptr %3655, i64 8 + br label %3671 + +3647: ; preds = %3641 + %3648 = and i64 %3633, 7 + %3649 = icmp ne i64 %3648, 0 + %3650 = icmp eq i64 %3633, 0 + %3651 = or i1 %3650, %3649 + br i1 %3651, label %3655, label %3652 + +3652: ; preds = %3647 + %3653 = inttoptr i64 %3633 to ptr + %3654 = getelementptr inbounds nuw i8, ptr %3653, i64 8 br label %rb_class_of.exit.i -3657: ; preds = %3649 - switch i64 %3635, label %3660 [ +3655: ; preds = %3647 + switch i64 %3633, label %3658 [ i64 0, label %rb_class_of.exit.i - i64 4, label %3658 - i64 20, label %3659 + i64 4, label %3656 + i64 20, label %3657 ] -3658: ; preds = %3657 +3656: ; preds = %3655 br label %rb_class_of.exit.i -3659: ; preds = %3657 +3657: ; preds = %3655 br label %rb_class_of.exit.i -3660: ; preds = %3657 - %3661 = and i64 %3635, 1 - %.not.i.i2508 = icmp eq i64 %3661, 0 - br i1 %.not.i.i2508, label %3662, label %rb_class_of.exit.i +3658: ; preds = %3655 + %3659 = and i64 %3633, 1 + %.not.i.i2508 = icmp eq i64 %3659, 0 + br i1 %.not.i.i2508, label %3660, label %rb_class_of.exit.i -3662: ; preds = %3660 - %3663 = and i64 %3635, 254 - %3664 = icmp eq i64 %3663, 12 - %spec.select.i.i2509 = select i1 %3664, ptr @rb_cSymbol, ptr @rb_cFloat +3660: ; preds = %3658 + %3661 = and i64 %3633, 254 + %3662 = icmp eq i64 %3661, 12 + %spec.select.i.i2509 = select i1 %3662, ptr @rb_cSymbol, ptr @rb_cFloat br label %rb_class_of.exit.i -rb_class_of.exit.i: ; preds = %3662, %3660, %3659, %3658, %3657, %3654 - %.0.in.i.i = phi ptr [ @rb_cNilClass, %3658 ], [ @rb_cTrueClass, %3659 ], [ %3656, %3654 ], [ @rb_cFalseClass, %3657 ], [ @rb_cInteger, %3660 ], [ %spec.select.i.i2509, %3662 ] +rb_class_of.exit.i: ; preds = %3660, %3658, %3657, %3656, %3655, %3652 + %.0.in.i.i = phi ptr [ @rb_cNilClass, %3656 ], [ @rb_cTrueClass, %3657 ], [ %3654, %3652 ], [ @rb_cFalseClass, %3655 ], [ @rb_cInteger, %3658 ], [ %spec.select.i.i2509, %3660 ] %.0.i.i2507 = load i64, ptr %.0.in.i.i, align 8 - %3665 = load i64, ptr @rb_cRegexp, align 8 - %3666 = icmp eq i64 %.0.i.i2507, %3665 - br i1 %3666, label %3667, label %3673 - -3667: ; preds = %rb_class_of.exit.i - %3668 = load i16, ptr getelementptr inbounds nuw (i8, ptr @ruby_vm_redefined_flag, i64 42), align 2 - %3669 = and i16 %3668, 4 - %3670 = icmp eq i16 %3669, 0 - br i1 %3670, label %3671, label %3673 - -3671: ; preds = %3667 - %3672 = call i64 @rb_reg_match(i64 noundef %3635, i64 noundef %3634) #21 + %3663 = load i64, ptr @rb_cRegexp, align 8 + %3664 = icmp eq i64 %.0.i.i2507, %3663 + br i1 %3664, label %3665, label %3671 + +3665: ; preds = %rb_class_of.exit.i + %3666 = load i16, ptr getelementptr inbounds nuw (i8, ptr @ruby_vm_redefined_flag, i64 42), align 2 + %3667 = and i16 %3666, 4 + %3668 = icmp eq i16 %3667, 0 + br i1 %3668, label %3669, label %3671 + +3669: ; preds = %3665 + %3670 = call i64 @rb_reg_match(i64 noundef %3633, i64 noundef %3632) #21 br label %vm_opt_regexpmatch2.exit -3673: ; preds = %3667, %rb_class_of.exit.i, %._crit_edge.i2504 - %3674 = phi i64 [ %.pre.i2505, %._crit_edge.i2504 ], [ %.0.i.i2507, %3667 ], [ %3665, %rb_class_of.exit.i ] - %3675 = icmp eq i64 %3646, %3674 - br i1 %3675, label %3676, label %vm_opt_regexpmatch2.exit.thread +3671: ; preds = %3665, %rb_class_of.exit.i, %._crit_edge.i2504 + %3672 = phi i64 [ %.pre.i2505, %._crit_edge.i2504 ], [ %.0.i.i2507, %3665 ], [ %3663, %rb_class_of.exit.i ] + %3673 = icmp eq i64 %3644, %3672 + br i1 %3673, label %3674, label %vm_opt_regexpmatch2.exit.thread -3676: ; preds = %3673 - %3677 = load i16, ptr getelementptr inbounds nuw (i8, ptr @ruby_vm_redefined_flag, i64 42), align 2 - %3678 = and i16 %3677, 256 - %3679 = icmp eq i16 %3678, 0 - br i1 %3679, label %3680, label %vm_opt_regexpmatch2.exit.thread +3674: ; preds = %3671 + %3675 = load i16, ptr getelementptr inbounds nuw (i8, ptr @ruby_vm_redefined_flag, i64 42), align 2 + %3676 = and i16 %3675, 256 + %3677 = icmp eq i16 %3676, 0 + br i1 %3677, label %3678, label %vm_opt_regexpmatch2.exit.thread -3680: ; preds = %3676 - %3681 = call i64 @rb_reg_match(i64 noundef %3634, i64 noundef %3635) #21 +3678: ; preds = %3674 + %3679 = call i64 @rb_reg_match(i64 noundef %3632, i64 noundef %3633) #21 br label %vm_opt_regexpmatch2.exit -vm_opt_regexpmatch2.exit: ; preds = %3671, %3680 - %.0.i2506 = phi i64 [ %3672, %3671 ], [ %3681, %3680 ] - %3682 = icmp eq i64 %.0.i2506, 36 - br i1 %3682, label %vm_opt_regexpmatch2.exit.thread, label %3683 +vm_opt_regexpmatch2.exit: ; preds = %3669, %3678 + %.0.i2506 = phi i64 [ %3670, %3669 ], [ %3679, %3678 ] + %3680 = icmp eq i64 %.0.i2506, 36 + br i1 %3680, label %vm_opt_regexpmatch2.exit.thread, label %3681 -vm_opt_regexpmatch2.exit.thread: ; preds = %3673, %3676, %3629, %vm_opt_regexpmatch2.exit +vm_opt_regexpmatch2.exit.thread: ; preds = %3671, %3674, %3627, %vm_opt_regexpmatch2.exit store ptr %.02113, ptr %.02114, align 8 br label %1660 -3683: ; preds = %vm_opt_regexpmatch2.exit - %3684 = load ptr, ptr %3630, align 8 - %3685 = getelementptr i8, ptr %3684, i64 -8 - store ptr %3685, ptr %3630, align 8 - %3686 = getelementptr i8, ptr %3684, i64 -16 - store i64 %.0.i2506, ptr %3686, align 8 +3681: ; preds = %vm_opt_regexpmatch2.exit + %3682 = load ptr, ptr %3628, align 8 + %3683 = getelementptr i8, ptr %3682, i64 -8 + store ptr %3683, ptr %3628, align 8 + %3684 = getelementptr i8, ptr %3682, i64 -16 + store i64 %.0.i2506, ptr %3684, align 8 br label %.backedge.backedge -3687: ; preds = %.backedge, %3997 - %3688 = getelementptr i8, ptr %.02113, i64 8 - %3689 = load i64, ptr %3688, align 8 - %3690 = inttoptr i64 %3689 to ptr - %3691 = getelementptr i8, ptr %.02113, i64 16 - store ptr %3691, ptr %.02114, align 8 - %3692 = load i64, ptr @rb_vm_insns_count, align 8 - %3693 = add i64 %3692, 1 - store i64 %3693, ptr @rb_vm_insns_count, align 8 - %3694 = getelementptr inbounds nuw i8, ptr %.02114, i64 8 - %3695 = load ptr, ptr %3694, align 8 - %3696 = getelementptr inbounds nuw i8, ptr %3690, i64 8 - %3697 = load i32, ptr %3696, align 8 - %3698 = sext i32 %3697 to i64 - %3699 = sub nsw i64 0, %3698 - %3700 = getelementptr i64, ptr %3695, i64 %3699 - %3701 = getelementptr i8, ptr %.02114, i64 24 - %.02114.val2185 = load i64, ptr %3701, align 8 - %.val2186 = load ptr, ptr %3690, align 8 - %3702 = getelementptr [16 x ptr], ptr @lookup_builtin_invoker.invokers, i64 0, i64 %3698 - %3703 = load ptr, ptr %3702, align 8 - %3704 = call i64 %3703(ptr noundef nonnull %0, i64 noundef %.02114.val2185, ptr noundef %3700, ptr noundef %.val2186) #21 - %.val2188 = load i32, ptr %3696, align 8 - %3705 = sub i32 1, %.val2188 - %3706 = sext i32 %3705 to i64 - %3707 = load ptr, ptr %3694, align 8 - %3708 = getelementptr i64, ptr %3707, i64 %3706 - store ptr %3708, ptr %3694, align 8 - %3709 = getelementptr i8, ptr %3708, i64 -8 - store i64 %3704, ptr %3709, align 8 +3685: ; preds = %.backedge, %3995 + %3686 = getelementptr i8, ptr %.02113, i64 8 + %3687 = load i64, ptr %3686, align 8 + %3688 = inttoptr i64 %3687 to ptr + %3689 = getelementptr i8, ptr %.02113, i64 16 + store ptr %3689, ptr %.02114, align 8 + %3690 = load i64, ptr @rb_vm_insns_count, align 8 + %3691 = add i64 %3690, 1 + store i64 %3691, ptr @rb_vm_insns_count, align 8 + %3692 = getelementptr inbounds nuw i8, ptr %.02114, i64 8 + %3693 = load ptr, ptr %3692, align 8 + %3694 = getelementptr inbounds nuw i8, ptr %3688, i64 8 + %3695 = load i32, ptr %3694, align 8 + %3696 = sext i32 %3695 to i64 + %3697 = sub nsw i64 0, %3696 + %3698 = getelementptr i64, ptr %3693, i64 %3697 + %3699 = getelementptr i8, ptr %.02114, i64 24 + %.02114.val2185 = load i64, ptr %3699, align 8 + %.val2186 = load ptr, ptr %3688, align 8 + %3700 = getelementptr [16 x ptr], ptr @lookup_builtin_invoker.invokers, i64 0, i64 %3696 + %3701 = load ptr, ptr %3700, align 8 + %3702 = call i64 %3701(ptr noundef nonnull %0, i64 noundef %.02114.val2185, ptr noundef %3698, ptr noundef %.val2186) #21 + %.val2188 = load i32, ptr %3694, align 8 + %3703 = sub i32 1, %.val2188 + %3704 = sext i32 %3703 to i64 + %3705 = load ptr, ptr %3692, align 8 + %3706 = getelementptr i64, ptr %3705, i64 %3704 + store ptr %3706, ptr %3692, align 8 + %3707 = getelementptr i8, ptr %3706, i64 -8 + store i64 %3702, ptr %3707, align 8 br label %.backedge.backedge -3710: ; preds = %.backedge, %3998 - %3711 = getelementptr i8, ptr %.02113, i64 8 - %3712 = load i64, ptr %3711, align 8 - %3713 = inttoptr i64 %3712 to ptr - %3714 = getelementptr i8, ptr %.02113, i64 16 - %3715 = load i64, ptr %3714, align 8 - %3716 = getelementptr i8, ptr %.02113, i64 24 - store ptr %3716, ptr %.02114, align 8 - %3717 = load i64, ptr @rb_vm_insns_count, align 8 - %3718 = add i64 %3717, 1 - store i64 %3718, ptr @rb_vm_insns_count, align 8 - %3719 = getelementptr inbounds nuw i8, ptr %3713, i64 8 - %3720 = load i32, ptr %3719, align 8 - %3721 = icmp eq i32 %3720, 0 - br i1 %3721, label %3722, label %3725 - -3722: ; preds = %3710 - %3723 = getelementptr i8, ptr %.02114, i64 24 - %.val.i2511 = load i64, ptr %3723, align 8 - %.val11.i = load ptr, ptr %3713, align 8 - %3724 = call i64 %.val11.i(ptr noundef nonnull %0, i64 noundef %.val.i2511) #21 +3708: ; preds = %.backedge, %3996 + %3709 = getelementptr i8, ptr %.02113, i64 8 + %3710 = load i64, ptr %3709, align 8 + %3711 = inttoptr i64 %3710 to ptr + %3712 = getelementptr i8, ptr %.02113, i64 16 + %3713 = load i64, ptr %3712, align 8 + %3714 = getelementptr i8, ptr %.02113, i64 24 + store ptr %3714, ptr %.02114, align 8 + %3715 = load i64, ptr @rb_vm_insns_count, align 8 + %3716 = add i64 %3715, 1 + store i64 %3716, ptr @rb_vm_insns_count, align 8 + %3717 = getelementptr inbounds nuw i8, ptr %3711, i64 8 + %3718 = load i32, ptr %3717, align 8 + %3719 = icmp eq i32 %3718, 0 + br i1 %3719, label %3720, label %3723 + +3720: ; preds = %3708 + %3721 = getelementptr i8, ptr %.02114, i64 24 + %.val.i2511 = load i64, ptr %3721, align 8 + %.val11.i = load ptr, ptr %3711, align 8 + %3722 = call i64 %.val11.i(ptr noundef nonnull %0, i64 noundef %.val.i2511) #21 br label %vm_invoke_builtin_delegate.exit -3725: ; preds = %3710 - %3726 = getelementptr inbounds nuw i8, ptr %.02114, i64 32 +3723: ; preds = %3708 + %3724 = getelementptr inbounds nuw i8, ptr %.02114, i64 32 + %3725 = load ptr, ptr %3724, align 8 + %3726 = getelementptr inbounds nuw i8, ptr %.02114, i64 16 %3727 = load ptr, ptr %3726, align 8 - %3728 = getelementptr inbounds nuw i8, ptr %.02114, i64 16 + %3728 = getelementptr inbounds nuw i8, ptr %3727, i64 16 %3729 = load ptr, ptr %3728, align 8 - %3730 = getelementptr inbounds nuw i8, ptr %3729, i64 16 - %3731 = load ptr, ptr %3730, align 8 - %3732 = getelementptr inbounds nuw i8, ptr %3731, i64 232 - %3733 = load i32, ptr %3732, align 8 - %3734 = zext i32 %3733 to i64 - %3735 = sub nsw i64 0, %3734 - %3736 = getelementptr i64, ptr %3727, i64 %3735 - %3737 = getelementptr i8, ptr %3736, i64 -16 - %3738 = and i64 %3715, 4294967295 - %3739 = getelementptr i64, ptr %3737, i64 %3738 - %3740 = getelementptr i8, ptr %.02114, i64 24 - %.val13.i = load i64, ptr %3740, align 8 - %.val14.i = load ptr, ptr %3713, align 8 - %3741 = sext i32 %3720 to i64 - %3742 = getelementptr [16 x ptr], ptr @lookup_builtin_invoker.invokers, i64 0, i64 %3741 - %3743 = load ptr, ptr %3742, align 8 - %3744 = call i64 %3743(ptr noundef nonnull %0, i64 noundef %.val13.i, ptr noundef %3739, ptr noundef %.val14.i) #21 + %3730 = getelementptr inbounds nuw i8, ptr %3729, i64 232 + %3731 = load i32, ptr %3730, align 8 + %3732 = zext i32 %3731 to i64 + %3733 = sub nsw i64 0, %3732 + %3734 = getelementptr i64, ptr %3725, i64 %3733 + %3735 = getelementptr i8, ptr %3734, i64 -16 + %3736 = and i64 %3713, 4294967295 + %3737 = getelementptr i64, ptr %3735, i64 %3736 + %3738 = getelementptr i8, ptr %.02114, i64 24 + %.val13.i = load i64, ptr %3738, align 8 + %.val14.i = load ptr, ptr %3711, align 8 + %3739 = sext i32 %3718 to i64 + %3740 = getelementptr [16 x ptr], ptr @lookup_builtin_invoker.invokers, i64 0, i64 %3739 + %3741 = load ptr, ptr %3740, align 8 + %3742 = call i64 %3741(ptr noundef nonnull %0, i64 noundef %.val13.i, ptr noundef %3737, ptr noundef %.val14.i) #21 br label %vm_invoke_builtin_delegate.exit -vm_invoke_builtin_delegate.exit: ; preds = %3722, %3725 - %.0.i2510 = phi i64 [ %3724, %3722 ], [ %3744, %3725 ] - %3745 = getelementptr inbounds nuw i8, ptr %.02114, i64 8 - %3746 = load ptr, ptr %3745, align 8 - %3747 = getelementptr i8, ptr %3746, i64 8 - store ptr %3747, ptr %3745, align 8 - store i64 %.0.i2510, ptr %3746, align 8 +vm_invoke_builtin_delegate.exit: ; preds = %3720, %3723 + %.0.i2510 = phi i64 [ %3722, %3720 ], [ %3742, %3723 ] + %3743 = getelementptr inbounds nuw i8, ptr %.02114, i64 8 + %3744 = load ptr, ptr %3743, align 8 + %3745 = getelementptr i8, ptr %3744, i64 8 + store ptr %3745, ptr %3743, align 8 + store i64 %.0.i2510, ptr %3744, align 8 br label %.backedge.backedge -3748: ; preds = %.backedge, %3999 - %3749 = getelementptr i8, ptr %.02113, i64 8 - %3750 = load i64, ptr %3749, align 8 - %3751 = inttoptr i64 %3750 to ptr - %3752 = getelementptr i8, ptr %.02113, i64 16 - %3753 = load i64, ptr %3752, align 8 - %3754 = getelementptr i8, ptr %.02113, i64 24 - store ptr %3754, ptr %.02114, align 8 - %3755 = load i64, ptr @rb_vm_insns_count, align 8 - %3756 = add i64 %3755, 1 - store i64 %3756, ptr @rb_vm_insns_count, align 8 - %3757 = getelementptr inbounds nuw i8, ptr %3751, i64 8 - %3758 = load i32, ptr %3757, align 8 - %3759 = icmp eq i32 %3758, 0 - br i1 %3759, label %3760, label %3763 - -3760: ; preds = %3748 - %3761 = getelementptr i8, ptr %.02114, i64 24 - %.val.i2515 = load i64, ptr %3761, align 8 - %.val11.i2516 = load ptr, ptr %3751, align 8 - %3762 = call i64 %.val11.i2516(ptr noundef nonnull %0, i64 noundef %.val.i2515) #21 +3746: ; preds = %.backedge, %3997 + %3747 = getelementptr i8, ptr %.02113, i64 8 + %3748 = load i64, ptr %3747, align 8 + %3749 = inttoptr i64 %3748 to ptr + %3750 = getelementptr i8, ptr %.02113, i64 16 + %3751 = load i64, ptr %3750, align 8 + %3752 = getelementptr i8, ptr %.02113, i64 24 + store ptr %3752, ptr %.02114, align 8 + %3753 = load i64, ptr @rb_vm_insns_count, align 8 + %3754 = add i64 %3753, 1 + store i64 %3754, ptr @rb_vm_insns_count, align 8 + %3755 = getelementptr inbounds nuw i8, ptr %3749, i64 8 + %3756 = load i32, ptr %3755, align 8 + %3757 = icmp eq i32 %3756, 0 + br i1 %3757, label %3758, label %3761 + +3758: ; preds = %3746 + %3759 = getelementptr i8, ptr %.02114, i64 24 + %.val.i2515 = load i64, ptr %3759, align 8 + %.val11.i2516 = load ptr, ptr %3749, align 8 + %3760 = call i64 %.val11.i2516(ptr noundef nonnull %0, i64 noundef %.val.i2515) #21 br label %vm_invoke_builtin_delegate.exit2517 -3763: ; preds = %3748 - %3764 = getelementptr inbounds nuw i8, ptr %.02114, i64 32 +3761: ; preds = %3746 + %3762 = getelementptr inbounds nuw i8, ptr %.02114, i64 32 + %3763 = load ptr, ptr %3762, align 8 + %3764 = getelementptr inbounds nuw i8, ptr %.02114, i64 16 %3765 = load ptr, ptr %3764, align 8 - %3766 = getelementptr inbounds nuw i8, ptr %.02114, i64 16 + %3766 = getelementptr inbounds nuw i8, ptr %3765, i64 16 %3767 = load ptr, ptr %3766, align 8 - %3768 = getelementptr inbounds nuw i8, ptr %3767, i64 16 - %3769 = load ptr, ptr %3768, align 8 - %3770 = getelementptr inbounds nuw i8, ptr %3769, i64 232 - %3771 = load i32, ptr %3770, align 8 - %3772 = zext i32 %3771 to i64 - %3773 = sub nsw i64 0, %3772 - %3774 = getelementptr i64, ptr %3765, i64 %3773 - %3775 = getelementptr i8, ptr %3774, i64 -16 - %3776 = and i64 %3753, 4294967295 - %3777 = getelementptr i64, ptr %3775, i64 %3776 - %3778 = getelementptr i8, ptr %.02114, i64 24 - %.val13.i2512 = load i64, ptr %3778, align 8 - %.val14.i2513 = load ptr, ptr %3751, align 8 - %3779 = sext i32 %3758 to i64 - %3780 = getelementptr [16 x ptr], ptr @lookup_builtin_invoker.invokers, i64 0, i64 %3779 - %3781 = load ptr, ptr %3780, align 8 - %3782 = call i64 %3781(ptr noundef nonnull %0, i64 noundef %.val13.i2512, ptr noundef %3777, ptr noundef %.val14.i2513) #21 + %3768 = getelementptr inbounds nuw i8, ptr %3767, i64 232 + %3769 = load i32, ptr %3768, align 8 + %3770 = zext i32 %3769 to i64 + %3771 = sub nsw i64 0, %3770 + %3772 = getelementptr i64, ptr %3763, i64 %3771 + %3773 = getelementptr i8, ptr %3772, i64 -16 + %3774 = and i64 %3751, 4294967295 + %3775 = getelementptr i64, ptr %3773, i64 %3774 + %3776 = getelementptr i8, ptr %.02114, i64 24 + %.val13.i2512 = load i64, ptr %3776, align 8 + %.val14.i2513 = load ptr, ptr %3749, align 8 + %3777 = sext i32 %3756 to i64 + %3778 = getelementptr [16 x ptr], ptr @lookup_builtin_invoker.invokers, i64 0, i64 %3777 + %3779 = load ptr, ptr %3778, align 8 + %3780 = call i64 %3779(ptr noundef nonnull %0, i64 noundef %.val13.i2512, ptr noundef %3775, ptr noundef %.val14.i2513) #21 br label %vm_invoke_builtin_delegate.exit2517 -vm_invoke_builtin_delegate.exit2517: ; preds = %3760, %3763 - %.0.i2514 = phi i64 [ %3762, %3760 ], [ %3782, %3763 ] - %3783 = getelementptr inbounds nuw i8, ptr %.02114, i64 32 - %3784 = load ptr, ptr %3783, align 8 - %.val2179 = load i64, ptr %3784, align 8 +vm_invoke_builtin_delegate.exit2517: ; preds = %3758, %3761 + %.0.i2514 = phi i64 [ %3760, %3758 ], [ %3780, %3761 ] + %3781 = getelementptr inbounds nuw i8, ptr %.02114, i64 32 + %3782 = load ptr, ptr %3781, align 8 + %.val2179 = load i64, ptr %3782, align 8 %.val2.i.i2518 = load i32, ptr %21, align 8 %.val3.i.i2519 = load i32, ptr %22, align 4 - %3785 = xor i32 %.val3.i.i2519, -1 - %3786 = and i32 %.val2.i.i2518, %3785 - %.not.i.i2520 = icmp eq i32 %3786, 0 - br i1 %.not.i.i2520, label %vm_pop_frame.exit2523, label %3787 + %3783 = xor i32 %.val3.i.i2519, -1 + %3784 = and i32 %.val2.i.i2518, %3783 + %.not.i.i2520 = icmp eq i32 %3784, 0 + br i1 %.not.i.i2520, label %vm_pop_frame.exit2523, label %3785 -3787: ; preds = %vm_invoke_builtin_delegate.exit2517 +3785: ; preds = %vm_invoke_builtin_delegate.exit2517 %.val.i.i2521 = load ptr, ptr %23, align 8 - %3788 = call i32 @rb_threadptr_execute_interrupts(ptr noundef %.val.i.i2521, i32 noundef 0) #21 + %3786 = call i32 @rb_threadptr_execute_interrupts(ptr noundef %.val.i.i2521, i32 noundef 0) #21 br label %vm_pop_frame.exit2523 -vm_pop_frame.exit2523: ; preds = %vm_invoke_builtin_delegate.exit2517, %3787 - %3789 = getelementptr i8, ptr %.02114, i64 56 - store ptr %3789, ptr %18, align 8 - %3790 = and i64 %.val2179, 32 - %.not = icmp eq i64 %3790, 0 - br i1 %.not, label %3791, label %.loopexit2663 - -3791: ; preds = %vm_pop_frame.exit2523 - %3792 = load ptr, ptr %3789, align 8 - %3793 = getelementptr i8, ptr %.02114, i64 64 - %3794 = load ptr, ptr %3793, align 8 - %3795 = getelementptr i8, ptr %3794, i64 8 - store ptr %3795, ptr %3793, align 8 - store i64 %.0.i2514, ptr %3794, align 8 +vm_pop_frame.exit2523: ; preds = %vm_invoke_builtin_delegate.exit2517, %3785 + %3787 = getelementptr i8, ptr %.02114, i64 56 + store ptr %3787, ptr %18, align 8 + %3788 = and i64 %.val2179, 32 + %.not = icmp eq i64 %3788, 0 + br i1 %.not, label %3789, label %.loopexit2664 + +3789: ; preds = %vm_pop_frame.exit2523 + %3790 = load ptr, ptr %3787, align 8 + %3791 = getelementptr i8, ptr %.02114, i64 64 + %3792 = load ptr, ptr %3791, align 8 + %3793 = getelementptr i8, ptr %3792, i64 8 + store ptr %3793, ptr %3791, align 8 + store i64 %.0.i2514, ptr %3792, align 8 br label %.backedge.backedge -3796: ; preds = %.backedge, %4000 - %3797 = getelementptr i8, ptr %.02113, i64 8 - %3798 = load i64, ptr %3797, align 8 - %3799 = getelementptr i8, ptr %.02113, i64 16 - store ptr %3799, ptr %.02114, align 8 - %3800 = load i64, ptr @rb_vm_insns_count, align 8 - %3801 = add i64 %3800, 1 - store i64 %3801, ptr @rb_vm_insns_count, align 8 - %3802 = getelementptr inbounds nuw i8, ptr %.02114, i64 32 - %3803 = load ptr, ptr %3802, align 8 - %3804 = sub i64 0, %3798 - %3805 = getelementptr i64, ptr %3803, i64 %3804 - %3806 = load i64, ptr %3805, align 8 - %3807 = getelementptr inbounds nuw i8, ptr %.02114, i64 8 - %3808 = load ptr, ptr %3807, align 8 - %3809 = getelementptr i8, ptr %3808, i64 8 - store ptr %3809, ptr %3807, align 8 - store i64 %3806, ptr %3808, align 8 +3794: ; preds = %.backedge, %3998 + %3795 = getelementptr i8, ptr %.02113, i64 8 + %3796 = load i64, ptr %3795, align 8 + %3797 = getelementptr i8, ptr %.02113, i64 16 + store ptr %3797, ptr %.02114, align 8 + %3798 = load i64, ptr @rb_vm_insns_count, align 8 + %3799 = add i64 %3798, 1 + store i64 %3799, ptr @rb_vm_insns_count, align 8 + %3800 = getelementptr inbounds nuw i8, ptr %.02114, i64 32 + %3801 = load ptr, ptr %3800, align 8 + %3802 = sub i64 0, %3796 + %3803 = getelementptr i64, ptr %3801, i64 %3802 + %3804 = load i64, ptr %3803, align 8 + %3805 = getelementptr inbounds nuw i8, ptr %.02114, i64 8 + %3806 = load ptr, ptr %3805, align 8 + %3807 = getelementptr i8, ptr %3806, i64 8 + store ptr %3807, ptr %3805, align 8 + store i64 %3804, ptr %3806, align 8 br label %.backedge.backedge -.lr.ph.i2526: ; preds = %.backedge, %4001 - %3810 = getelementptr i8, ptr %.02113, i64 8 - %3811 = load i64, ptr %3810, align 8 - %3812 = getelementptr i8, ptr %.02113, i64 16 - store ptr %3812, ptr %.02114, align 8 - %3813 = load i64, ptr @rb_vm_insns_count, align 8 - %3814 = add i64 %3813, 1 - store i64 %3814, ptr @rb_vm_insns_count, align 8 - %3815 = getelementptr inbounds nuw i8, ptr %.02114, i64 32 - %3816 = load ptr, ptr %3815, align 8 - %3817 = getelementptr i8, ptr %3816, i64 -8 - %3818 = load i64, ptr %3817, align 8 - %3819 = and i64 %3818, -4 - %3820 = inttoptr i64 %3819 to ptr - %3821 = sub i64 0, %3811 - %3822 = getelementptr i64, ptr %3820, i64 %3821 - %3823 = load i64, ptr %3822, align 8 - %3824 = getelementptr inbounds nuw i8, ptr %.02114, i64 8 - %3825 = load ptr, ptr %3824, align 8 - %3826 = getelementptr i8, ptr %3825, i64 8 - store ptr %3826, ptr %3824, align 8 - store i64 %3823, ptr %3825, align 8 +.lr.ph.i2526: ; preds = %.backedge, %3999 + %3808 = getelementptr i8, ptr %.02113, i64 8 + %3809 = load i64, ptr %3808, align 8 + %3810 = getelementptr i8, ptr %.02113, i64 16 + store ptr %3810, ptr %.02114, align 8 + %3811 = load i64, ptr @rb_vm_insns_count, align 8 + %3812 = add i64 %3811, 1 + store i64 %3812, ptr @rb_vm_insns_count, align 8 + %3813 = getelementptr inbounds nuw i8, ptr %.02114, i64 32 + %3814 = load ptr, ptr %3813, align 8 + %3815 = getelementptr i8, ptr %3814, i64 -8 + %3816 = load i64, ptr %3815, align 8 + %3817 = and i64 %3816, -4 + %3818 = inttoptr i64 %3817 to ptr + %3819 = sub i64 0, %3809 + %3820 = getelementptr i64, ptr %3818, i64 %3819 + %3821 = load i64, ptr %3820, align 8 + %3822 = getelementptr inbounds nuw i8, ptr %.02114, i64 8 + %3823 = load ptr, ptr %3822, align 8 + %3824 = getelementptr i8, ptr %3823, i64 8 + store ptr %3824, ptr %3822, align 8 + store i64 %3821, ptr %3823, align 8 br label %.backedge.backedge -3827: ; preds = %.backedge, %4002 - %3828 = getelementptr i8, ptr %.02113, i64 8 - %3829 = load i64, ptr %3828, align 8 - %3830 = getelementptr inbounds nuw i8, ptr %.02114, i64 8 - %3831 = load ptr, ptr %3830, align 8 - %3832 = getelementptr i8, ptr %3831, i64 -8 - %3833 = load i64, ptr %3832, align 8 - %3834 = getelementptr i8, ptr %.02113, i64 16 - store ptr %3834, ptr %.02114, align 8 - %3835 = load i64, ptr @rb_vm_insns_count, align 8 - %3836 = add i64 %3835, 1 - store i64 %3836, ptr @rb_vm_insns_count, align 8 - %3837 = getelementptr inbounds nuw i8, ptr %.02114, i64 32 - %3838 = load ptr, ptr %3837, align 8 - %3839 = trunc i64 %3829 to i32 - %3840 = sub i32 0, %3839 - %3841 = load i64, ptr %3838, align 8 - %3842 = and i64 %3841, 8 - %3843 = icmp eq i64 %3842, 0 - br i1 %3843, label %3844, label %3847 - -3844: ; preds = %3827 - %3845 = sext i32 %3840 to i64 - %3846 = getelementptr i64, ptr %3838, i64 %3845 - store i64 %3833, ptr %3846, align 8 +3825: ; preds = %.backedge, %4000 + %3826 = getelementptr i8, ptr %.02113, i64 8 + %3827 = load i64, ptr %3826, align 8 + %3828 = getelementptr inbounds nuw i8, ptr %.02114, i64 8 + %3829 = load ptr, ptr %3828, align 8 + %3830 = getelementptr i8, ptr %3829, i64 -8 + %3831 = load i64, ptr %3830, align 8 + %3832 = getelementptr i8, ptr %.02113, i64 16 + store ptr %3832, ptr %.02114, align 8 + %3833 = load i64, ptr @rb_vm_insns_count, align 8 + %3834 = add i64 %3833, 1 + store i64 %3834, ptr @rb_vm_insns_count, align 8 + %3835 = getelementptr inbounds nuw i8, ptr %.02114, i64 32 + %3836 = load ptr, ptr %3835, align 8 + %3837 = trunc i64 %3827 to i32 + %3838 = sub i32 0, %3837 + %3839 = load i64, ptr %3836, align 8 + %3840 = and i64 %3839, 8 + %3841 = icmp eq i64 %3840, 0 + br i1 %3841, label %3842, label %3845 + +3842: ; preds = %3825 + %3843 = sext i32 %3838 to i64 + %3844 = getelementptr i64, ptr %3836, i64 %3843 + store i64 %3831, ptr %3844, align 8 br label %vm_env_write.exit2536 -3847: ; preds = %3827 - %3848 = getelementptr i8, ptr %3838, i64 8 - %.val.i.i2535 = load i64, ptr %3848, align 8 +3845: ; preds = %3825 + %3846 = getelementptr i8, ptr %3836, i64 8 + %.val.i.i2535 = load i64, ptr %3846, align 8 call void @rb_gc_writebarrier_remember(i64 noundef %.val.i.i2535) #21 - %3849 = sext i32 %3840 to i64 - %3850 = getelementptr i64, ptr %3838, i64 %3849 - store i64 %3833, ptr %3850, align 8 - %3851 = load i64, ptr %3838, align 8 - %3852 = and i64 %3851, -9 - store i64 %3852, ptr %3838, align 8 + %3847 = sext i32 %3838 to i64 + %3848 = getelementptr i64, ptr %3836, i64 %3847 + store i64 %3831, ptr %3848, align 8 + %3849 = load i64, ptr %3836, align 8 + %3850 = and i64 %3849, -9 + store i64 %3850, ptr %3836, align 8 br label %vm_env_write.exit2536 -vm_env_write.exit2536: ; preds = %3844, %3847 - %3853 = load ptr, ptr %3830, align 8 - %3854 = getelementptr i8, ptr %3853, i64 -8 - store ptr %3854, ptr %3830, align 8 +vm_env_write.exit2536: ; preds = %3842, %3845 + %3851 = load ptr, ptr %3828, align 8 + %3852 = getelementptr i8, ptr %3851, i64 -8 + store ptr %3852, ptr %3828, align 8 br label %.backedge.backedge -.lr.ph.i2537: ; preds = %.backedge, %4003 - %3855 = getelementptr i8, ptr %.02113, i64 8 - %3856 = load i64, ptr %3855, align 8 - %3857 = getelementptr inbounds nuw i8, ptr %.02114, i64 8 - %3858 = load ptr, ptr %3857, align 8 - %3859 = getelementptr i8, ptr %3858, i64 -8 - %3860 = load i64, ptr %3859, align 8 - %3861 = getelementptr i8, ptr %.02113, i64 16 - store ptr %3861, ptr %.02114, align 8 - %3862 = load i64, ptr @rb_vm_insns_count, align 8 - %3863 = add i64 %3862, 1 - store i64 %3863, ptr @rb_vm_insns_count, align 8 - %3864 = getelementptr inbounds nuw i8, ptr %.02114, i64 32 - %3865 = load ptr, ptr %3864, align 8 - %3866 = getelementptr i8, ptr %3865, i64 -8 - %3867 = load i64, ptr %3866, align 8 - %3868 = and i64 %3867, -4 - %3869 = inttoptr i64 %3868 to ptr - %3870 = trunc i64 %3856 to i32 - %3871 = sub i32 0, %3870 - %3872 = load i64, ptr %3869, align 8 - %3873 = and i64 %3872, 8 - %3874 = icmp eq i64 %3873, 0 - br i1 %3874, label %3875, label %3878 - -3875: ; preds = %.lr.ph.i2537 - %3876 = sext i32 %3871 to i64 - %3877 = getelementptr i64, ptr %3869, i64 %3876 - store i64 %3860, ptr %3877, align 8 +.lr.ph.i2537: ; preds = %.backedge, %4001 + %3853 = getelementptr i8, ptr %.02113, i64 8 + %3854 = load i64, ptr %3853, align 8 + %3855 = getelementptr inbounds nuw i8, ptr %.02114, i64 8 + %3856 = load ptr, ptr %3855, align 8 + %3857 = getelementptr i8, ptr %3856, i64 -8 + %3858 = load i64, ptr %3857, align 8 + %3859 = getelementptr i8, ptr %.02113, i64 16 + store ptr %3859, ptr %.02114, align 8 + %3860 = load i64, ptr @rb_vm_insns_count, align 8 + %3861 = add i64 %3860, 1 + store i64 %3861, ptr @rb_vm_insns_count, align 8 + %3862 = getelementptr inbounds nuw i8, ptr %.02114, i64 32 + %3863 = load ptr, ptr %3862, align 8 + %3864 = getelementptr i8, ptr %3863, i64 -8 + %3865 = load i64, ptr %3864, align 8 + %3866 = and i64 %3865, -4 + %3867 = inttoptr i64 %3866 to ptr + %3868 = trunc i64 %3854 to i32 + %3869 = sub i32 0, %3868 + %3870 = load i64, ptr %3867, align 8 + %3871 = and i64 %3870, 8 + %3872 = icmp eq i64 %3871, 0 + br i1 %3872, label %3873, label %3876 + +3873: ; preds = %.lr.ph.i2537 + %3874 = sext i32 %3869 to i64 + %3875 = getelementptr i64, ptr %3867, i64 %3874 + store i64 %3858, ptr %3875, align 8 br label %vm_env_write.exit2545 -3878: ; preds = %.lr.ph.i2537 - %3879 = getelementptr i8, ptr %3869, i64 8 - %.val.i.i2544 = load i64, ptr %3879, align 8 +3876: ; preds = %.lr.ph.i2537 + %3877 = getelementptr i8, ptr %3867, i64 8 + %.val.i.i2544 = load i64, ptr %3877, align 8 call void @rb_gc_writebarrier_remember(i64 noundef %.val.i.i2544) #21 - %3880 = sext i32 %3871 to i64 - %3881 = getelementptr i64, ptr %3869, i64 %3880 - store i64 %3860, ptr %3881, align 8 - %3882 = load i64, ptr %3869, align 8 - %3883 = and i64 %3882, -9 - store i64 %3883, ptr %3869, align 8 + %3878 = sext i32 %3869 to i64 + %3879 = getelementptr i64, ptr %3867, i64 %3878 + store i64 %3858, ptr %3879, align 8 + %3880 = load i64, ptr %3867, align 8 + %3881 = and i64 %3880, -9 + store i64 %3881, ptr %3867, align 8 br label %vm_env_write.exit2545 -vm_env_write.exit2545: ; preds = %3875, %3878 - %3884 = load ptr, ptr %3857, align 8 - %3885 = getelementptr i8, ptr %3884, i64 -8 - store ptr %3885, ptr %3857, align 8 +vm_env_write.exit2545: ; preds = %3873, %3876 + %3882 = load ptr, ptr %3855, align 8 + %3883 = getelementptr i8, ptr %3882, i64 -8 + store ptr %3883, ptr %3855, align 8 br label %.backedge.backedge -3886: ; preds = %.backedge, %4004 - %3887 = getelementptr i8, ptr %.02113, i64 8 - store ptr %3887, ptr %.02114, align 8 - %3888 = load i64, ptr @rb_vm_insns_count, align 8 - %3889 = add i64 %3888, 1 - store i64 %3889, ptr @rb_vm_insns_count, align 8 - %3890 = getelementptr inbounds nuw i8, ptr %.02114, i64 8 - %3891 = load ptr, ptr %3890, align 8 - %3892 = getelementptr i8, ptr %3891, i64 8 - store ptr %3892, ptr %3890, align 8 - store i64 1, ptr %3891, align 8 +3884: ; preds = %.backedge, %4002 + %3885 = getelementptr i8, ptr %.02113, i64 8 + store ptr %3885, ptr %.02114, align 8 + %3886 = load i64, ptr @rb_vm_insns_count, align 8 + %3887 = add i64 %3886, 1 + store i64 %3887, ptr @rb_vm_insns_count, align 8 + %3888 = getelementptr inbounds nuw i8, ptr %.02114, i64 8 + %3889 = load ptr, ptr %3888, align 8 + %3890 = getelementptr i8, ptr %3889, i64 8 + store ptr %3890, ptr %3888, align 8 + store i64 1, ptr %3889, align 8 br label %.backedge.backedge -3893: ; preds = %.backedge, %4005 - %3894 = getelementptr i8, ptr %.02113, i64 8 - store ptr %3894, ptr %.02114, align 8 - %3895 = load i64, ptr @rb_vm_insns_count, align 8 - %3896 = add i64 %3895, 1 - store i64 %3896, ptr @rb_vm_insns_count, align 8 - %3897 = getelementptr inbounds nuw i8, ptr %.02114, i64 8 - %3898 = load ptr, ptr %3897, align 8 - %3899 = getelementptr i8, ptr %3898, i64 8 - store ptr %3899, ptr %3897, align 8 - store i64 3, ptr %3898, align 8 +3891: ; preds = %.backedge, %4003 + %3892 = getelementptr i8, ptr %.02113, i64 8 + store ptr %3892, ptr %.02114, align 8 + %3893 = load i64, ptr @rb_vm_insns_count, align 8 + %3894 = add i64 %3893, 1 + store i64 %3894, ptr @rb_vm_insns_count, align 8 + %3895 = getelementptr inbounds nuw i8, ptr %.02114, i64 8 + %3896 = load ptr, ptr %3895, align 8 + %3897 = getelementptr i8, ptr %3896, i64 8 + store ptr %3897, ptr %3895, align 8 + store i64 3, ptr %3896, align 8 br label %.backedge.backedge -3900: ; preds = %.backedge +3898: ; preds = %.backedge call fastcc void @vm_trace(ptr noundef %0, ptr noundef nonnull %.02114) br label %29 -3901: ; preds = %.backedge +3899: ; preds = %.backedge call fastcc void @vm_trace(ptr noundef %0, ptr noundef nonnull %.02114) br label %33 -3902: ; preds = %.backedge +3900: ; preds = %.backedge call fastcc void @vm_trace(ptr noundef %0, ptr noundef nonnull %.02114) br label %54 -3903: ; preds = %.backedge +3901: ; preds = %.backedge call fastcc void @vm_trace(ptr noundef %0, ptr noundef nonnull %.02114) br label %89 -3904: ; preds = %.backedge +3902: ; preds = %.backedge call fastcc void @vm_trace(ptr noundef %0, ptr noundef nonnull %.02114) br label %148 -3905: ; preds = %.backedge +3903: ; preds = %.backedge call fastcc void @vm_trace(ptr noundef %0, ptr noundef nonnull %.02114) br label %185 -3906: ; preds = %.backedge +3904: ; preds = %.backedge call fastcc void @vm_trace(ptr noundef %0, ptr noundef nonnull %.02114) br label %241 -3907: ; preds = %.backedge +3905: ; preds = %.backedge call fastcc void @vm_trace(ptr noundef %0, ptr noundef nonnull %.02114) br label %302 -3908: ; preds = %.backedge +3906: ; preds = %.backedge call fastcc void @vm_trace(ptr noundef %0, ptr noundef nonnull %.02114) br label %321 -3909: ; preds = %.backedge +3907: ; preds = %.backedge call fastcc void @vm_trace(ptr noundef %0, ptr noundef nonnull %.02114) br label %410 -3910: ; preds = %.backedge +3908: ; preds = %.backedge call fastcc void @vm_trace(ptr noundef %0, ptr noundef nonnull %.02114) br label %427 -3911: ; preds = %.backedge +3909: ; preds = %.backedge call fastcc void @vm_trace(ptr noundef %0, ptr noundef nonnull %.02114) br label %443 -3912: ; preds = %.backedge +3910: ; preds = %.backedge call fastcc void @vm_trace(ptr noundef %0, ptr noundef nonnull %.02114) br label %472 -3913: ; preds = %.backedge +3911: ; preds = %.backedge call fastcc void @vm_trace(ptr noundef %0, ptr noundef nonnull %.02114) br label %483 -3914: ; preds = %.backedge +3912: ; preds = %.backedge call fastcc void @vm_trace(ptr noundef %0, ptr noundef nonnull %.02114) br label %500 -3915: ; preds = %.backedge +3913: ; preds = %.backedge call fastcc void @vm_trace(ptr noundef %0, ptr noundef nonnull %.02114) br label %534 -3916: ; preds = %.backedge +3914: ; preds = %.backedge call fastcc void @vm_trace(ptr noundef %0, ptr noundef nonnull %.02114) br label %544 -3917: ; preds = %.backedge +3915: ; preds = %.backedge call fastcc void @vm_trace(ptr noundef %0, ptr noundef nonnull %.02114) br label %557 -3918: ; preds = %.backedge +3916: ; preds = %.backedge call fastcc void @vm_trace(ptr noundef %0, ptr noundef nonnull %.02114) br label %564 -3919: ; preds = %.backedge +3917: ; preds = %.backedge call fastcc void @vm_trace(ptr noundef %0, ptr noundef nonnull %.02114) br label %573 -3920: ; preds = %.backedge +3918: ; preds = %.backedge call fastcc void @vm_trace(ptr noundef %0, ptr noundef nonnull %.02114) br label %582 -3921: ; preds = %.backedge +3919: ; preds = %.backedge call fastcc void @vm_trace(ptr noundef %0, ptr noundef nonnull %.02114) br label %616 -3922: ; preds = %.backedge +3920: ; preds = %.backedge call fastcc void @vm_trace(ptr noundef %0, ptr noundef nonnull %.02114) br label %626 -3923: ; preds = %.backedge +3921: ; preds = %.backedge call fastcc void @vm_trace(ptr noundef %0, ptr noundef nonnull %.02114) br label %641 -3924: ; preds = %.backedge +3922: ; preds = %.backedge call fastcc void @vm_trace(ptr noundef %0, ptr noundef nonnull %.02114) br label %655 -3925: ; preds = %.backedge +3923: ; preds = %.backedge call fastcc void @vm_trace(ptr noundef %0, ptr noundef nonnull %.02114) br label %675 -3926: ; preds = %.backedge +3924: ; preds = %.backedge call fastcc void @vm_trace(ptr noundef %0, ptr noundef nonnull %.02114) br label %686 -3927: ; preds = %.backedge +3925: ; preds = %.backedge call fastcc void @vm_trace(ptr noundef %0, ptr noundef nonnull %.02114) br label %701 -3928: ; preds = %.backedge +3926: ; preds = %.backedge call fastcc void @vm_trace(ptr noundef %0, ptr noundef nonnull %.02114) br label %731 -3929: ; preds = %.backedge +3927: ; preds = %.backedge call fastcc void @vm_trace(ptr noundef %0, ptr noundef nonnull %.02114) br label %759 -3930: ; preds = %.backedge +3928: ; preds = %.backedge call fastcc void @vm_trace(ptr noundef %0, ptr noundef nonnull %.02114) br label %801 -3931: ; preds = %.backedge +3929: ; preds = %.backedge call fastcc void @vm_trace(ptr noundef %0, ptr noundef nonnull %.02114) br label %846 -3932: ; preds = %.backedge +3930: ; preds = %.backedge call fastcc void @vm_trace(ptr noundef %0, ptr noundef nonnull %.02114) br label %947 -3933: ; preds = %.backedge +3931: ; preds = %.backedge call fastcc void @vm_trace(ptr noundef %0, ptr noundef nonnull %.02114) br label %975 -3934: ; preds = %.backedge +3932: ; preds = %.backedge call fastcc void @vm_trace(ptr noundef %0, ptr noundef nonnull %.02114) br label %994 -3935: ; preds = %.backedge +3933: ; preds = %.backedge call fastcc void @vm_trace(ptr noundef %0, ptr noundef nonnull %.02114) br label %1010 -3936: ; preds = %.backedge +3934: ; preds = %.backedge call fastcc void @vm_trace(ptr noundef %0, ptr noundef nonnull %.02114) br label %1030 -3937: ; preds = %.backedge +3935: ; preds = %.backedge call fastcc void @vm_trace(ptr noundef %0, ptr noundef nonnull %.02114) br label %1048 -3938: ; preds = %.backedge +3936: ; preds = %.backedge call fastcc void @vm_trace(ptr noundef %0, ptr noundef nonnull %.02114) br label %1090 -3939: ; preds = %.backedge +3937: ; preds = %.backedge call fastcc void @vm_trace(ptr noundef %0, ptr noundef nonnull %.02114) br label %1107 -3940: ; preds = %.backedge +3938: ; preds = %.backedge call fastcc void @vm_trace(ptr noundef %0, ptr noundef nonnull %.02114) br label %1114 -3941: ; preds = %.backedge +3939: ; preds = %.backedge call fastcc void @vm_trace(ptr noundef %0, ptr noundef nonnull %.02114) br label %1125 -3942: ; preds = %.backedge +3940: ; preds = %.backedge call fastcc void @vm_trace(ptr noundef %0, ptr noundef nonnull %.02114) br label %1141 -3943: ; preds = %.backedge +3941: ; preds = %.backedge call fastcc void @vm_trace(ptr noundef %0, ptr noundef nonnull %.02114) br label %1153 -3944: ; preds = %.backedge +3942: ; preds = %.backedge call fastcc void @vm_trace(ptr noundef %0, ptr noundef nonnull %.02114) br label %1175 -3945: ; preds = %.backedge +3943: ; preds = %.backedge call fastcc void @vm_trace(ptr noundef %0, ptr noundef nonnull %.02114) br label %1188 -3946: ; preds = %.backedge +3944: ; preds = %.backedge call fastcc void @vm_trace(ptr noundef %0, ptr noundef nonnull %.02114) br label %1203 -3947: ; preds = %.backedge +3945: ; preds = %.backedge call fastcc void @vm_trace(ptr noundef %0, ptr noundef nonnull %.02114) br label %1213 -3948: ; preds = %.backedge +3946: ; preds = %.backedge call fastcc void @vm_trace(ptr noundef %0, ptr noundef nonnull %.02114) br label %1230 -3949: ; preds = %.backedge +3947: ; preds = %.backedge call fastcc void @vm_trace(ptr noundef %0, ptr noundef nonnull %.02114) br label %1325 -3950: ; preds = %.backedge +3948: ; preds = %.backedge call fastcc void @vm_trace(ptr noundef %0, ptr noundef nonnull %.02114) br label %1369 -3951: ; preds = %.backedge +3949: ; preds = %.backedge call fastcc void @vm_trace(ptr noundef %0, ptr noundef nonnull %.02114) br label %1399 -3952: ; preds = %.backedge +3950: ; preds = %.backedge call fastcc void @vm_trace(ptr noundef %0, ptr noundef nonnull %.02114) br label %1429 -3953: ; preds = %.backedge +3951: ; preds = %.backedge call fastcc void @vm_trace(ptr noundef %0, ptr noundef nonnull %.02114) br label %1609 -3954: ; preds = %.backedge +3952: ; preds = %.backedge call fastcc void @vm_trace(ptr noundef %0, ptr noundef nonnull %.02114) br label %1617 -3955: ; preds = %.backedge +3953: ; preds = %.backedge call fastcc void @vm_trace(ptr noundef %0, ptr noundef nonnull %.02114) br label %1629 -3956: ; preds = %.backedge +3954: ; preds = %.backedge call fastcc void @vm_trace(ptr noundef %0, ptr noundef nonnull %.02114) br label %1660 -3957: ; preds = %.backedge +3955: ; preds = %.backedge call fastcc void @vm_trace(ptr noundef %0, ptr noundef nonnull %.02114) br label %1686 -3958: ; preds = %.backedge +3956: ; preds = %.backedge call fastcc void @vm_trace(ptr noundef %0, ptr noundef nonnull %.02114) br label %1818 -3959: ; preds = %.backedge +3957: ; preds = %.backedge call fastcc void @vm_trace(ptr noundef %0, ptr noundef nonnull %.02114) br label %1660 -3960: ; preds = %.backedge +3958: ; preds = %.backedge call fastcc void @vm_trace(ptr noundef %0, ptr noundef nonnull %.02114) br label %1862 -3961: ; preds = %.backedge +3959: ; preds = %.backedge call fastcc void @vm_trace(ptr noundef %0, ptr noundef nonnull %.02114) br label %1883 -3962: ; preds = %.backedge +3960: ; preds = %.backedge call fastcc void @vm_trace(ptr noundef %0, ptr noundef nonnull %.02114) br label %1922 -3963: ; preds = %.backedge +3961: ; preds = %.backedge call fastcc void @vm_trace(ptr noundef %0, ptr noundef nonnull %.02114) br label %1953 -3964: ; preds = %.backedge +3962: ; preds = %.backedge call fastcc void @vm_trace(ptr noundef %0, ptr noundef nonnull %.02114) br label %1979 -3965: ; preds = %.backedge +3963: ; preds = %.backedge call fastcc void @vm_trace(ptr noundef %0, ptr noundef nonnull %.02114) br label %2021 -3966: ; preds = %.backedge +3964: ; preds = %.backedge call fastcc void @vm_trace(ptr noundef %0, ptr noundef nonnull %.02114) br label %2032 -3967: ; preds = %.backedge +3965: ; preds = %.backedge call fastcc void @vm_trace(ptr noundef %0, ptr noundef nonnull %.02114) br label %2043 -3968: ; preds = %.backedge +3966: ; preds = %.backedge call fastcc void @vm_trace(ptr noundef %0, ptr noundef nonnull %.02114) br label %2063 -3969: ; preds = %.backedge +3967: ; preds = %.backedge call fastcc void @vm_trace(ptr noundef %0, ptr noundef nonnull %.02114) br label %2083 -3970: ; preds = %.backedge +3968: ; preds = %.backedge call fastcc void @vm_trace(ptr noundef %0, ptr noundef nonnull %.02114) br label %2103 -3971: ; preds = %.backedge +3969: ; preds = %.backedge call fastcc void @vm_trace(ptr noundef %0, ptr noundef nonnull %.02114) br label %2156 +3970: ; preds = %.backedge + call fastcc void @vm_trace(ptr noundef %0, ptr noundef nonnull %.02114) + br label %1660 + +3971: ; preds = %.backedge + call fastcc void @vm_trace(ptr noundef %0, ptr noundef nonnull %.02114) + br label %1660 + 3972: ; preds = %.backedge call fastcc void @vm_trace(ptr noundef %0, ptr noundef nonnull %.02114) br label %1660 @@ -14088,16 +14094,16 @@ vm_env_write.exit2545: ; preds = %3875, %3878 3976: ; preds = %.backedge call fastcc void @vm_trace(ptr noundef %0, ptr noundef nonnull %.02114) + %3977 = getelementptr i8, ptr %.02113, i64 8 + store ptr %3977, ptr %.02114, align 8 br label %1660 -3977: ; preds = %.backedge +3978: ; preds = %.backedge call fastcc void @vm_trace(ptr noundef %0, ptr noundef nonnull %.02114) br label %1660 -3978: ; preds = %.backedge +3979: ; preds = %.backedge call fastcc void @vm_trace(ptr noundef %0, ptr noundef nonnull %.02114) - %3979 = getelementptr i8, ptr %.02113, i64 8 - store ptr %3979, ptr %.02114, align 8 br label %1660 3980: ; preds = %.backedge @@ -14130,19 +14136,19 @@ vm_env_write.exit2545: ; preds = %3875, %3878 3987: ; preds = %.backedge call fastcc void @vm_trace(ptr noundef %0, ptr noundef nonnull %.02114) - br label %1660 + br label %3447 3988: ; preds = %.backedge call fastcc void @vm_trace(ptr noundef %0, ptr noundef nonnull %.02114) - br label %1660 + br label %3488 3989: ; preds = %.backedge call fastcc void @vm_trace(ptr noundef %0, ptr noundef nonnull %.02114) - br label %3449 + br label %1660 3990: ; preds = %.backedge call fastcc void @vm_trace(ptr noundef %0, ptr noundef nonnull %.02114) - br label %3490 + br label %1660 3991: ; preds = %.backedge call fastcc void @vm_trace(ptr noundef %0, ptr noundef nonnull %.02114) @@ -14162,49 +14168,41 @@ vm_env_write.exit2545: ; preds = %3875, %3878 3995: ; preds = %.backedge call fastcc void @vm_trace(ptr noundef %0, ptr noundef nonnull %.02114) - br label %1660 + br label %3685 3996: ; preds = %.backedge call fastcc void @vm_trace(ptr noundef %0, ptr noundef nonnull %.02114) - br label %1660 + br label %3708 3997: ; preds = %.backedge call fastcc void @vm_trace(ptr noundef %0, ptr noundef nonnull %.02114) - br label %3687 + br label %3746 3998: ; preds = %.backedge call fastcc void @vm_trace(ptr noundef %0, ptr noundef nonnull %.02114) - br label %3710 + br label %3794 3999: ; preds = %.backedge call fastcc void @vm_trace(ptr noundef %0, ptr noundef nonnull %.02114) - br label %3748 + br label %.lr.ph.i2526 4000: ; preds = %.backedge call fastcc void @vm_trace(ptr noundef %0, ptr noundef nonnull %.02114) - br label %3796 + br label %3825 4001: ; preds = %.backedge call fastcc void @vm_trace(ptr noundef %0, ptr noundef nonnull %.02114) - br label %.lr.ph.i2526 + br label %.lr.ph.i2537 4002: ; preds = %.backedge call fastcc void @vm_trace(ptr noundef %0, ptr noundef nonnull %.02114) - br label %3827 + br label %3884 4003: ; preds = %.backedge call fastcc void @vm_trace(ptr noundef %0, ptr noundef nonnull %.02114) - br label %.lr.ph.i2537 - -4004: ; preds = %.backedge - call fastcc void @vm_trace(ptr noundef %0, ptr noundef nonnull %.02114) - br label %3886 + br label %3891 -4005: ; preds = %.backedge - call fastcc void @vm_trace(ptr noundef %0, ptr noundef nonnull %.02114) - br label %3893 - -.loopexit2663: ; preds = %vm_pop_frame.exit2523, %vm_pop_frame.exit, %1967, %1941, %1674, %1648, %1, %2021 +.loopexit2664: ; preds = %vm_pop_frame.exit2523, %vm_pop_frame.exit, %1967, %1941, %1674, %1648, %1, %2021 %.02112 = phi i64 [ %2031, %2021 ], [ ptrtoint (ptr @vm_exec_core.insns_address_table to i64), %1 ], [ %.0.i2514, %vm_pop_frame.exit2523 ], [ %1983, %vm_pop_frame.exit ], [ %1968, %1967 ], [ %1942, %1941 ], [ %1675, %1674 ], [ %1649, %1648 ] ret i64 %.02112 @@ -14212,8 +14210,8 @@ vm_env_write.exit2545: ; preds = %3875, %3878 %.02114 = phi ptr [ %19, %17 ], [ %.02114.be, %.backedge.backedge ] %.02113 = phi ptr [ %20, %17 ], [ %.02113.be, %.backedge.backedge ] %.in = load i64, ptr %.02113, align 8 - %4006 = inttoptr i64 %.in to ptr - indirectbr ptr %4006, [label %29, label %33, label %54, label %89, label %148, label %185, label %241, label %302, label %321, label %410, label %427, label %443, label %472, label %483, label %500, label %534, label %544, label %557, label %564, label %573, label %582, label %616, label %626, label %641, label %655, label %675, label %686, label %701, label %731, label %759, label %801, label %846, label %947, label %975, label %994, label %1010, label %1030, label %1048, label %1090, label %1107, label %1114, label %1125, label %1141, label %1153, label %1175, label %1188, label %1203, label %1213, label %1230, label %1325, label %1369, label %1399, label %1429, label %1609, label %1617, label %1629, label %1660, label %1686, label %1818, label %1839, label %1862, label %1883, label %1922, label %1953, label %1979, label %2021, label %2032, label %2043, label %2063, label %2083, label %2103, label %2156, label %2221, label %2373, label %2497, label %2625, label %2705, label %2836, label %2862, label %2894, label %2981, label %3069, label %3156, label %3244, label %3295, label %3313, label %3332, label %3405, label %3449, label %3490, label %3530, label %3544, label %3558, label %3571, label %3609, label %3629, label %3687, label %3710, label %3748, label %3796, label %.lr.ph.i2526, label %3827, label %.lr.ph.i2537, label %3886, label %3893, label %3900, label %3901, label %3902, label %3903, label %3904, label %3905, label %3906, label %3907, label %3908, label %3909, label %3910, label %3911, label %3912, label %3913, label %3914, label %3915, label %3916, label %3917, label %3918, label %3919, label %3920, label %3921, label %3922, label %3923, label %3924, label %3925, label %3926, label %3927, label %3928, label %3929, label %3930, label %3931, label %3932, label %3933, label %3934, label %3935, label %3936, label %3937, label %3938, label %3939, label %3940, label %3941, label %3942, label %3943, label %3944, label %3945, label %3946, label %3947, label %3948, label %3949, label %3950, label %3951, label %3952, label %3953, label %3954, label %3955, label %3956, label %3957, label %3958, label %3959, label %3960, label %3961, label %3962, label %3963, label %3964, label %3965, label %3966, label %3967, label %3968, label %3969, label %3970, label %3971, label %3972, label %3973, label %3974, label %3975, label %3976, label %3977, label %3978, label %3980, label %3981, label %3982, label %3983, label %3984, label %3985, label %3986, label %3987, label %3988, label %3989, label %3990, label %3991, label %3992, label %3993, label %3994, label %3995, label %3996, label %3997, label %3998, label %3999, label %4000, label %4001, label %4002, label %4003, label %4004, label %4005] + %4004 = inttoptr i64 %.in to ptr + indirectbr ptr %4004, [label %29, label %33, label %54, label %89, label %148, label %185, label %241, label %302, label %321, label %410, label %427, label %443, label %472, label %483, label %500, label %534, label %544, label %557, label %564, label %573, label %582, label %616, label %626, label %641, label %655, label %675, label %686, label %701, label %731, label %759, label %801, label %846, label %947, label %975, label %994, label %1010, label %1030, label %1048, label %1090, label %1107, label %1114, label %1125, label %1141, label %1153, label %1175, label %1188, label %1203, label %1213, label %1230, label %1325, label %1369, label %1399, label %1429, label %1609, label %1617, label %1629, label %1660, label %1686, label %1818, label %1839, label %1862, label %1883, label %1922, label %1953, label %1979, label %2021, label %2032, label %2043, label %2063, label %2083, label %2103, label %2156, label %2221, label %2373, label %2497, label %2625, label %2705, label %2836, label %2862, label %2894, label %2981, label %3069, label %3156, label %3244, label %3295, label %3311, label %3330, label %3403, label %3447, label %3488, label %3528, label %3542, label %3556, label %3569, label %3607, label %3627, label %3685, label %3708, label %3746, label %3794, label %.lr.ph.i2526, label %3825, label %.lr.ph.i2537, label %3884, label %3891, label %3898, label %3899, label %3900, label %3901, label %3902, label %3903, label %3904, label %3905, label %3906, label %3907, label %3908, label %3909, label %3910, label %3911, label %3912, label %3913, label %3914, label %3915, label %3916, label %3917, label %3918, label %3919, label %3920, label %3921, label %3922, label %3923, label %3924, label %3925, label %3926, label %3927, label %3928, label %3929, label %3930, label %3931, label %3932, label %3933, label %3934, label %3935, label %3936, label %3937, label %3938, label %3939, label %3940, label %3941, label %3942, label %3943, label %3944, label %3945, label %3946, label %3947, label %3948, label %3949, label %3950, label %3951, label %3952, label %3953, label %3954, label %3955, label %3956, label %3957, label %3958, label %3959, label %3960, label %3961, label %3962, label %3963, label %3964, label %3965, label %3966, label %3967, label %3968, label %3969, label %3970, label %3971, label %3972, label %3973, label %3974, label %3975, label %3976, label %3978, label %3979, label %3980, label %3981, label %3982, label %3983, label %3984, label %3985, label %3986, label %3987, label %3988, label %3989, label %3990, label %3991, label %3992, label %3993, label %3994, label %3995, label %3996, label %3997, label %3998, label %3999, label %4000, label %4001, label %4002, label %4003] } ; Function Attrs: cold nounwind sspstrong uwtable @@ -47779,7 +47777,7 @@ vm_proc_to_block_handler.exit: ; preds = %vm_proc_to_block_ha 8: ; preds = %vm_proc_to_block_handler.exit %9 = and i64 %.09, 255 %10 = icmp eq i64 %9, 12 - br i1 %10, label %39, label %11 + br i1 %10, label %vm_block_handler_type.exit.i, label %11 11: ; preds = %8 %12 = and i64 %.09, 7 @@ -47794,7 +47792,7 @@ RB_SYMBOL_P.exit.i: ; preds = %11 %.fr10.i = freeze i64 %16 %17 = and i64 %.fr10.i, 31 %18 = icmp eq i64 %17, 20 - br i1 %18, label %.thread, label %vm_block_handler_type.exit.thread14 + br i1 %18, label %RB_SYMBOL_P.exit.i.i, label %vm_block_handler_type.exit.thread14 vm_block_handler_type.exit: ; preds = %11 br i1 %14, label %block_proc_is_lambda.exit, label %vm_block_handler_type.exit.thread14 @@ -47846,32 +47844,24 @@ vm_proc_to_block_handler.exit.backedge: ; preds = %28, %31, %34, %36 38: ; preds = %block_proc_is_lambda.exit unreachable -39: ; preds = %8 - %cond = icmp eq i64 %7, 1 - br i1 %cond, label %vm_invoke_block.exit, label %vm_block_handler_type.exit.i - -.thread: ; preds = %RB_SYMBOL_P.exit.i - %cond45 = icmp eq i64 %7, 1 - br i1 %cond45, label %vm_invoke_block.exit, label %RB_SYMBOL_P.exit.i.i - -RB_SYMBOL_P.exit.i.i: ; preds = %.thread - %40 = inttoptr i64 %.09 to ptr - %41 = load i64, ptr %40, align 8 - %.fr10.i.i = freeze i64 %41 - %42 = and i64 %.fr10.i.i, 31 - %43 = icmp eq i64 %42, 20 - br i1 %43, label %vm_block_handler_type.exit.i, label %vm_invoke_block.exit +RB_SYMBOL_P.exit.i.i: ; preds = %RB_SYMBOL_P.exit.i + %39 = inttoptr i64 %.09 to ptr + %40 = load i64, ptr %39, align 8 + %.fr10.i.i = freeze i64 %40 + %41 = and i64 %.fr10.i.i, 31 + %42 = icmp eq i64 %41, 20 + br i1 %42, label %vm_block_handler_type.exit.i, label %vm_invoke_block.exit -vm_block_handler_type.exit.i: ; preds = %39, %RB_SYMBOL_P.exit.i.i +vm_block_handler_type.exit.i: ; preds = %8, %RB_SYMBOL_P.exit.i.i br label %vm_invoke_block.exit vm_invoke_block.exit.loopexit: ; preds = %vm_proc_to_block_handler.exit br label %vm_invoke_block.exit -vm_invoke_block.exit: ; preds = %vm_proc_to_block_handler.exit, %vm_invoke_block.exit.loopexit, %.thread, %39, %RB_SYMBOL_P.exit.i.i, %vm_block_handler_type.exit.i - %.0.i12 = phi ptr [ @vm_invoke_symbol_block, %vm_block_handler_type.exit.i ], [ @vm_invoke_proc_block, %RB_SYMBOL_P.exit.i.i ], [ @vm_invoke_iseq_block, %39 ], [ @vm_invoke_iseq_block, %.thread ], [ @vm_invoke_ifunc_block, %vm_invoke_block.exit.loopexit ], [ @vm_invoke_iseq_block, %vm_proc_to_block_handler.exit ] - %44 = tail call i64 %.0.i12(ptr noundef %0, ptr noundef %1, ptr noundef %2, ptr noundef %3, i1 noundef zeroext %.0.in, i64 noundef %.09) #21, !callees !25 - ret i64 %44 +vm_invoke_block.exit: ; preds = %vm_proc_to_block_handler.exit, %vm_invoke_block.exit.loopexit, %RB_SYMBOL_P.exit.i.i, %vm_block_handler_type.exit.i + %.0.i12 = phi ptr [ @vm_invoke_symbol_block, %vm_block_handler_type.exit.i ], [ @vm_invoke_proc_block, %RB_SYMBOL_P.exit.i.i ], [ @vm_invoke_ifunc_block, %vm_invoke_block.exit.loopexit ], [ @vm_invoke_iseq_block, %vm_proc_to_block_handler.exit ] + %43 = tail call i64 %.0.i12(ptr noundef %0, ptr noundef %1, ptr noundef %2, ptr noundef %3, i1 noundef zeroext %.0.in, i64 noundef %.09) #21, !callees !25 + ret i64 %43 } ; Function Attrs: nounwind sspstrong uwtable diff --git a/bench/tree-sitter-rs/optimized/55e7aotywrgrb7st.ll b/bench/tree-sitter-rs/optimized/55e7aotywrgrb7st.ll index 68efe24f2e4..73fe4a1c28a 100644 --- a/bench/tree-sitter-rs/optimized/55e7aotywrgrb7st.ll +++ b/bench/tree-sitter-rs/optimized/55e7aotywrgrb7st.ll @@ -8481,7 +8481,7 @@ define internal fastcc noundef ptr @_ZN15tree_sitter_cli8generate12build_tables1 194: ; preds = %200 %195 = trunc nuw i8 %.3182 to i1 - br i1 %195, label %2700, label %.thread + br i1 %195, label %2698, label %.thread 196: ; preds = %"_ZN4core3ptr45drop_in_place$LT$smallbitvec..SmallBitVec$GT$17h9713162d70069c8cE.exit.i346", %"_ZN4core3ptr45drop_in_place$LT$smallbitvec..SmallBitVec$GT$17h9713162d70069c8cE.exit.i" %197 = landingpad { ptr, i32 } @@ -8517,10 +8517,10 @@ _ZN3std4hash6random11RandomState3new4KEYS7__getit17h08c022e240b705e4E.exit.i: ; .noexc241: ; preds = %203 unreachable -.body: ; preds = %.loopexit483, %.loopexit.split-lp.loopexit.split-lp.loopexit, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.loopexit, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.loopexit.split-lp, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit, %.loopexit.split-lp.loopexit, %2178, %.loopexit.split-lp.i435, %2014, %"_ZN4core3ptr125drop_in_place$LT$std..collections..hash..set..HashSet$LT$$RF$tree_sitter_cli..generate..build_tables..item..ParseItem$GT$$GT$17h409f9efc37644a94E.exit", %"_ZN4core3ptr143drop_in_place$LT$alloc..vec..Vec$LT$$LP$$RF$tree_sitter_cli..generate..rules..Precedence$C$tree_sitter_cli..generate..rules..Symbol$RP$$GT$$GT$17h1cc4420422d14f3bE.exit", %577, %.thread359, %.thread366, %2661, %.body553, %598 - %.5184 = phi i8 [ 0, %598 ], [ 1, %2661 ], [ 1, %.body553 ], [ 1, %.thread366 ], [ 0, %.thread359 ], [ 0, %577 ], [ 0, %"_ZN4core3ptr143drop_in_place$LT$alloc..vec..Vec$LT$$LP$$RF$tree_sitter_cli..generate..rules..Precedence$C$tree_sitter_cli..generate..rules..Symbol$RP$$GT$$GT$17h1cc4420422d14f3bE.exit" ], [ 0, %"_ZN4core3ptr125drop_in_place$LT$std..collections..hash..set..HashSet$LT$$RF$tree_sitter_cli..generate..build_tables..item..ParseItem$GT$$GT$17h409f9efc37644a94E.exit" ], [ 1, %2014 ], [ 1, %.loopexit.split-lp.i435 ], [ 1, %2178 ], [ 0, %.loopexit483 ], [ 0, %.loopexit.split-lp.loopexit ], [ 0, %.loopexit.split-lp.loopexit.split-lp.loopexit ], [ 1, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ 1, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ 1, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.loopexit.split-lp ], [ 1, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.loopexit ], [ 1, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %.4183.ph.ph.ph.ph.ph.ph.ph, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp ] - %.5 = phi i8 [ 0, %598 ], [ 1, %2661 ], [ 1, %.body553 ], [ 0, %.thread366 ], [ 0, %.thread359 ], [ 0, %577 ], [ 0, %"_ZN4core3ptr143drop_in_place$LT$alloc..vec..Vec$LT$$LP$$RF$tree_sitter_cli..generate..rules..Precedence$C$tree_sitter_cli..generate..rules..Symbol$RP$$GT$$GT$17h1cc4420422d14f3bE.exit" ], [ 0, %"_ZN4core3ptr125drop_in_place$LT$std..collections..hash..set..HashSet$LT$$RF$tree_sitter_cli..generate..build_tables..item..ParseItem$GT$$GT$17h409f9efc37644a94E.exit" ], [ 1, %2014 ], [ 1, %.loopexit.split-lp.i435 ], [ 1, %2178 ], [ 0, %.loopexit483 ], [ 0, %.loopexit.split-lp.loopexit ], [ 0, %.loopexit.split-lp.loopexit.split-lp.loopexit ], [ 1, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ 1, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ 1, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.loopexit.split-lp ], [ 1, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.loopexit ], [ 1, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %.4.ph.ph.ph.ph.ph.ph.ph, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp ] - %.pn202 = phi { ptr, i32 } [ %.pn199.pn, %598 ], [ %2662, %2661 ], [ %eh.lpad-body554, %.body553 ], [ %.pn, %.thread366 ], [ %.pn196, %.thread359 ], [ %578, %577 ], [ %.pn268.pn.i1515, %"_ZN4core3ptr143drop_in_place$LT$alloc..vec..Vec$LT$$LP$$RF$tree_sitter_cli..generate..rules..Precedence$C$tree_sitter_cli..generate..rules..Symbol$RP$$GT$$GT$17h1cc4420422d14f3bE.exit" ], [ %.pn268.pn.i, %"_ZN4core3ptr125drop_in_place$LT$std..collections..hash..set..HashSet$LT$$RF$tree_sitter_cli..generate..build_tables..item..ParseItem$GT$$GT$17h409f9efc37644a94E.exit" ], [ %2015, %2014 ], [ %eh.lpad-body.ph.i, %.loopexit.split-lp.i435 ], [ %2179, %2178 ], [ %lpad.loopexit, %.loopexit483 ], [ %lpad.loopexit484, %.loopexit.split-lp.loopexit ], [ %lpad.loopexit504, %.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit535, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit538, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit.split-lp545, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.loopexit.split-lp ], [ %lpad.loopexit544, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.loopexit ], [ %lpad.loopexit556, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit.split-lp557, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp ] +.body: ; preds = %.loopexit483, %.loopexit.split-lp.loopexit.split-lp.loopexit, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.loopexit, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.loopexit.split-lp, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit, %.loopexit.split-lp.loopexit, %2176, %.loopexit.split-lp.i435, %2012, %"_ZN4core3ptr125drop_in_place$LT$std..collections..hash..set..HashSet$LT$$RF$tree_sitter_cli..generate..build_tables..item..ParseItem$GT$$GT$17h409f9efc37644a94E.exit", %"_ZN4core3ptr143drop_in_place$LT$alloc..vec..Vec$LT$$LP$$RF$tree_sitter_cli..generate..rules..Precedence$C$tree_sitter_cli..generate..rules..Symbol$RP$$GT$$GT$17h1cc4420422d14f3bE.exit", %577, %.thread359, %.thread366, %2659, %.body553, %598 + %.5184 = phi i8 [ 0, %598 ], [ 1, %2659 ], [ 1, %.body553 ], [ 1, %.thread366 ], [ 0, %.thread359 ], [ 0, %577 ], [ 0, %"_ZN4core3ptr143drop_in_place$LT$alloc..vec..Vec$LT$$LP$$RF$tree_sitter_cli..generate..rules..Precedence$C$tree_sitter_cli..generate..rules..Symbol$RP$$GT$$GT$17h1cc4420422d14f3bE.exit" ], [ 0, %"_ZN4core3ptr125drop_in_place$LT$std..collections..hash..set..HashSet$LT$$RF$tree_sitter_cli..generate..build_tables..item..ParseItem$GT$$GT$17h409f9efc37644a94E.exit" ], [ 1, %2012 ], [ 1, %.loopexit.split-lp.i435 ], [ 1, %2176 ], [ 0, %.loopexit483 ], [ 0, %.loopexit.split-lp.loopexit ], [ 0, %.loopexit.split-lp.loopexit.split-lp.loopexit ], [ 1, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ 1, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ 1, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.loopexit.split-lp ], [ 1, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.loopexit ], [ 1, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %.4183.ph.ph.ph.ph.ph.ph.ph, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp ] + %.5 = phi i8 [ 0, %598 ], [ 1, %2659 ], [ 1, %.body553 ], [ 0, %.thread366 ], [ 0, %.thread359 ], [ 0, %577 ], [ 0, %"_ZN4core3ptr143drop_in_place$LT$alloc..vec..Vec$LT$$LP$$RF$tree_sitter_cli..generate..rules..Precedence$C$tree_sitter_cli..generate..rules..Symbol$RP$$GT$$GT$17h1cc4420422d14f3bE.exit" ], [ 0, %"_ZN4core3ptr125drop_in_place$LT$std..collections..hash..set..HashSet$LT$$RF$tree_sitter_cli..generate..build_tables..item..ParseItem$GT$$GT$17h409f9efc37644a94E.exit" ], [ 1, %2012 ], [ 1, %.loopexit.split-lp.i435 ], [ 1, %2176 ], [ 0, %.loopexit483 ], [ 0, %.loopexit.split-lp.loopexit ], [ 0, %.loopexit.split-lp.loopexit.split-lp.loopexit ], [ 1, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ 1, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ 1, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.loopexit.split-lp ], [ 1, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.loopexit ], [ 1, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %.4.ph.ph.ph.ph.ph.ph.ph, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp ] + %.pn202 = phi { ptr, i32 } [ %.pn199.pn, %598 ], [ %2660, %2659 ], [ %eh.lpad-body554, %.body553 ], [ %.pn, %.thread366 ], [ %.pn196, %.thread359 ], [ %578, %577 ], [ %.pn268.pn.i1515, %"_ZN4core3ptr143drop_in_place$LT$alloc..vec..Vec$LT$$LP$$RF$tree_sitter_cli..generate..rules..Precedence$C$tree_sitter_cli..generate..rules..Symbol$RP$$GT$$GT$17h1cc4420422d14f3bE.exit" ], [ %.pn268.pn.i, %"_ZN4core3ptr125drop_in_place$LT$std..collections..hash..set..HashSet$LT$$RF$tree_sitter_cli..generate..build_tables..item..ParseItem$GT$$GT$17h409f9efc37644a94E.exit" ], [ %2013, %2012 ], [ %eh.lpad-body.ph.i, %.loopexit.split-lp.i435 ], [ %2177, %2176 ], [ %lpad.loopexit, %.loopexit483 ], [ %lpad.loopexit484, %.loopexit.split-lp.loopexit ], [ %lpad.loopexit504, %.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit535, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit538, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit.split-lp545, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.loopexit.split-lp ], [ %lpad.loopexit544, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.loopexit ], [ %lpad.loopexit556, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit.split-lp557, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp ] invoke void @"_ZN4core3ptr181drop_in_place$LT$std..collections..hash..map..HashMap$LT$tree_sitter_cli..generate..rules..Symbol$C$tree_sitter_cli..generate..build_tables..build_parse_table..ReductionInfo$GT$$GT$17ha313f1c89f15fc78E"(ptr noalias noundef nonnull align 8 dereferenceable(48) %184) #47 to label %200 unwind label %640 @@ -8539,34 +8539,34 @@ _ZN3std4hash6random11RandomState3new4KEYS7__getit17h08c022e240b705e4E.exit.i: ; cleanup br label %.body -.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit: ; preds = %2034, %.lr.ph.i.i405 +.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit: ; preds = %2032, %.lr.ph.i.i405 %lpad.loopexit535 = landingpad { ptr, i32 } cleanup br label %.body -.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit: ; preds = %.lr.ph.i.i375, %1979 +.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit: ; preds = %.lr.ph.i.i375, %1977 %lpad.loopexit538 = landingpad { ptr, i32 } cleanup br label %.body -.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.loopexit: ; preds = %2511, %"_ZN8indexmap3map4core5entry18Entry$LT$K$C$V$GT$14or_insert_with17h022089156c9e195aE.exit508", %2468, %2488, %2500 +.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.loopexit: ; preds = %2509, %"_ZN8indexmap3map4core5entry18Entry$LT$K$C$V$GT$14or_insert_with17h022089156c9e195aE.exit508", %2466, %2486, %2498 %lpad.loopexit544 = landingpad { ptr, i32 } cleanup br label %.body -.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.loopexit.split-lp: ; preds = %2650, %2510, %2537, %2544, %2570, %_ZN11smallbitvec11SmallBitVec3set17h72321cce85bb7443E.llvm.16258808753110442553.exit.i, %"_ZN81_$LT$smallbitvec..SmallBitVec$u20$as$u20$core..ops..index..Index$LT$usize$GT$$GT$5index17ha8f59f4558b0eed8E.llvm.16258808753110442553.exit.i", %_ZN11smallbitvec11SmallBitVec3set17h72321cce85bb7443E.llvm.16258808753110442553.exit.i539, %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$7reserve17hce23499df57aba93E.llvm.1408760718162522189.exit.i" +.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.loopexit.split-lp: ; preds = %2648, %2508, %2535, %2542, %2568, %_ZN11smallbitvec11SmallBitVec3set17h72321cce85bb7443E.llvm.16258808753110442553.exit.i, %"_ZN81_$LT$smallbitvec..SmallBitVec$u20$as$u20$core..ops..index..Index$LT$usize$GT$$GT$5index17ha8f59f4558b0eed8E.llvm.16258808753110442553.exit.i", %_ZN11smallbitvec11SmallBitVec3set17h72321cce85bb7443E.llvm.16258808753110442553.exit.i539, %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$7reserve17hce23499df57aba93E.llvm.1408760718162522189.exit.i" %lpad.loopexit.split-lp545 = landingpad { ptr, i32 } cleanup br label %.body -.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit: ; preds = %.invoke, %1994, %2056, %_ZN15tree_sitter_cli8generate12build_tables4item9ParseItem13associativity17h162631bf723aa0c7E.exit, %1975, %2006, %2030, %.loopexit56.i +.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit: ; preds = %.invoke, %1992, %2054, %_ZN15tree_sitter_cli8generate12build_tables4item9ParseItem13associativity17h162631bf723aa0c7E.exit, %1973, %2004, %2028, %.loopexit56.i %lpad.loopexit556 = landingpad { ptr, i32 } cleanup br label %.body -.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp: ; preds = %.invoke1938, %.invoke1936, %.invoke1934, %.invoke1932, %select.unfold.invoke, %"_ZN4core3ptr171drop_in_place$LT$alloc..collections..btree..map..IntoIter$LT$tree_sitter_cli..generate..rules..Symbol$C$tree_sitter_cli..generate..build_tables..item..ParseItemSet$GT$$GT$17hcdc46b4fc9b11161E.exit274", %.loopexit526, %.loopexit522, %"_ZN8indexmap3map4core25IndexMapCore$LT$K$C$V$GT$12get_index_of17hbbb3f3bf9b4857a1E.exit.i.i", %_ZN3std4hash6random11RandomState3new4KEYS7__getit17h08c022e240b705e4E.exit.i.i.i, %571, %634, %.noexc314, %1318, %1321, %2584, %.thread11.i, %2628 - %.4183.ph.ph.ph.ph.ph.ph.ph = phi i8 [ 1, %2628 ], [ 1, %.thread11.i ], [ 1, %2584 ], [ 0, %1321 ], [ 0, %1318 ], [ 0, %.noexc314 ], [ 0, %634 ], [ 0, %571 ], [ 0, %_ZN3std4hash6random11RandomState3new4KEYS7__getit17h08c022e240b705e4E.exit.i.i.i ], [ 0, %"_ZN8indexmap3map4core25IndexMapCore$LT$K$C$V$GT$12get_index_of17hbbb3f3bf9b4857a1E.exit.i.i" ], [ 0, %.loopexit522 ], [ 1, %.loopexit526 ], [ 0, %"_ZN4core3ptr171drop_in_place$LT$alloc..collections..btree..map..IntoIter$LT$tree_sitter_cli..generate..rules..Symbol$C$tree_sitter_cli..generate..build_tables..item..ParseItemSet$GT$$GT$17hcdc46b4fc9b11161E.exit274" ], [ 0, %select.unfold.invoke ], [ 1, %.invoke1932 ], [ 0, %.invoke1934 ], [ 0, %.invoke1936 ], [ 1, %.invoke1938 ] - %.4.ph.ph.ph.ph.ph.ph.ph = phi i8 [ 1, %2628 ], [ 1, %.thread11.i ], [ 1, %2584 ], [ 0, %1321 ], [ 0, %1318 ], [ 0, %.noexc314 ], [ 0, %634 ], [ 0, %571 ], [ 0, %_ZN3std4hash6random11RandomState3new4KEYS7__getit17h08c022e240b705e4E.exit.i.i.i ], [ 0, %"_ZN8indexmap3map4core25IndexMapCore$LT$K$C$V$GT$12get_index_of17hbbb3f3bf9b4857a1E.exit.i.i" ], [ 0, %.loopexit522 ], [ 0, %.loopexit526 ], [ 0, %"_ZN4core3ptr171drop_in_place$LT$alloc..collections..btree..map..IntoIter$LT$tree_sitter_cli..generate..rules..Symbol$C$tree_sitter_cli..generate..build_tables..item..ParseItemSet$GT$$GT$17hcdc46b4fc9b11161E.exit274" ], [ 0, %select.unfold.invoke ], [ 1, %.invoke1932 ], [ 0, %.invoke1934 ], [ 0, %.invoke1936 ], [ 1, %.invoke1938 ] +.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp: ; preds = %.invoke1938, %.invoke1936, %.invoke1934, %.invoke1932, %select.unfold.invoke, %"_ZN4core3ptr171drop_in_place$LT$alloc..collections..btree..map..IntoIter$LT$tree_sitter_cli..generate..rules..Symbol$C$tree_sitter_cli..generate..build_tables..item..ParseItemSet$GT$$GT$17hcdc46b4fc9b11161E.exit274", %.loopexit526, %.loopexit522, %"_ZN8indexmap3map4core25IndexMapCore$LT$K$C$V$GT$12get_index_of17hbbb3f3bf9b4857a1E.exit.i.i", %_ZN3std4hash6random11RandomState3new4KEYS7__getit17h08c022e240b705e4E.exit.i.i.i, %571, %634, %.noexc314, %1318, %1321, %2582, %.thread11.i, %2626 + %.4183.ph.ph.ph.ph.ph.ph.ph = phi i8 [ 1, %2626 ], [ 1, %.thread11.i ], [ 1, %2582 ], [ 0, %1321 ], [ 0, %1318 ], [ 0, %.noexc314 ], [ 0, %634 ], [ 0, %571 ], [ 0, %_ZN3std4hash6random11RandomState3new4KEYS7__getit17h08c022e240b705e4E.exit.i.i.i ], [ 0, %"_ZN8indexmap3map4core25IndexMapCore$LT$K$C$V$GT$12get_index_of17hbbb3f3bf9b4857a1E.exit.i.i" ], [ 0, %.loopexit522 ], [ 1, %.loopexit526 ], [ 0, %"_ZN4core3ptr171drop_in_place$LT$alloc..collections..btree..map..IntoIter$LT$tree_sitter_cli..generate..rules..Symbol$C$tree_sitter_cli..generate..build_tables..item..ParseItemSet$GT$$GT$17hcdc46b4fc9b11161E.exit274" ], [ 0, %select.unfold.invoke ], [ 1, %.invoke1932 ], [ 0, %.invoke1934 ], [ 0, %.invoke1936 ], [ 1, %.invoke1938 ] + %.4.ph.ph.ph.ph.ph.ph.ph = phi i8 [ 1, %2626 ], [ 1, %.thread11.i ], [ 1, %2582 ], [ 0, %1321 ], [ 0, %1318 ], [ 0, %.noexc314 ], [ 0, %634 ], [ 0, %571 ], [ 0, %_ZN3std4hash6random11RandomState3new4KEYS7__getit17h08c022e240b705e4E.exit.i.i.i ], [ 0, %"_ZN8indexmap3map4core25IndexMapCore$LT$K$C$V$GT$12get_index_of17hbbb3f3bf9b4857a1E.exit.i.i" ], [ 0, %.loopexit522 ], [ 0, %.loopexit526 ], [ 0, %"_ZN4core3ptr171drop_in_place$LT$alloc..collections..btree..map..IntoIter$LT$tree_sitter_cli..generate..rules..Symbol$C$tree_sitter_cli..generate..build_tables..item..ParseItemSet$GT$$GT$17hcdc46b4fc9b11161E.exit274" ], [ 0, %select.unfold.invoke ], [ 1, %.invoke1932 ], [ 0, %.invoke1934 ], [ 0, %.invoke1936 ], [ 1, %.invoke1938 ] %lpad.loopexit.split-lp557 = landingpad { ptr, i32 } cleanup br label %.body @@ -8776,7 +8776,7 @@ _ZN3std4hash6random11RandomState3new4KEYS7__getit17h08c022e240b705e4E.exit.i: ; %281 = load i32, ptr %280, align 4, !alias.scope !1239, !noundef !14 %282 = zext i32 %281 to i64 %283 = icmp ugt i64 %279, %282 - br i1 %283, label %1957, label %2060 + br i1 %283, label %1955, label %2058 "_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h20f9becab9b1fc1cE.exit.thread": ; preds = %.thread426, %204 %.sroa.0103.0.copyload = load ptr, ptr %187, align 8 @@ -8821,7 +8821,7 @@ _ZN3std4hash6random11RandomState3new4KEYS7__getit17h08c022e240b705e4E.exit.i: ; %291 = getelementptr inbounds nuw i8, ptr %70, i64 24 br label %292 -292: ; preds = %1949, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h20f9becab9b1fc1cE.exit.thread" +292: ; preds = %1947, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h20f9becab9b1fc1cE.exit.thread" call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %156), !noalias !1240 invoke void @"_ZN5alloc11collections5btree3map25IntoIter$LT$K$C$V$C$A$GT$10dying_next17h7faac5589b94d36bE"(ptr noalias noundef nonnull sret({ ptr, [2 x i64] }) align 8 captures(none) dereferenceable(24) %156, ptr noalias noundef nonnull align 8 dereferenceable(72) %176) to label %.noexc243 unwind label %295 @@ -8835,8 +8835,8 @@ _ZN3std4hash6random11RandomState3new4KEYS7__getit17h08c022e240b705e4E.exit.i: ; call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %156), !noalias !1240 br label %.loopexit526 -.thread366: ; preds = %.thread366.loopexit, %.thread366.loopexit.split-lp, %1956, %295 - %.pn = phi { ptr, i32 } [ %lpad.thr_comm.split-lp365, %1956 ], [ %296, %295 ], [ %lpad.loopexit527, %.thread366.loopexit ], [ %lpad.loopexit.split-lp528, %.thread366.loopexit.split-lp ] +.thread366: ; preds = %.thread366.loopexit, %.thread366.loopexit.split-lp, %1954, %295 + %.pn = phi { ptr, i32 } [ %lpad.thr_comm.split-lp365, %1954 ], [ %296, %295 ], [ %lpad.loopexit527, %.thread366.loopexit ], [ %lpad.loopexit.split-lp528, %.thread366.loopexit.split-lp ] invoke void @"_ZN99_$LT$alloc..collections..btree..map..IntoIter$LT$K$C$V$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h3435e3ae41c425acE.llvm.15559585470061597875"(ptr noalias noundef nonnull align 8 dereferenceable(72) %176) to label %.body unwind label %640 @@ -8870,15 +8870,15 @@ _ZN3std4hash6random11RandomState3new4KEYS7__getit17h08c022e240b705e4E.exit.i: ; %306 = load i64, ptr %284, align 8, !alias.scope !1249, !noundef !14 %307 = load i64, ptr %1, align 8, !alias.scope !1249, !noundef !14 %308 = icmp eq i64 %306, %307 - br i1 %308, label %309, label %1886 + br i1 %308, label %309, label %1884 309: ; preds = %305 invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$16reserve_for_push17h6da63cc9c98271c7E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %1, i64 noundef %306) - to label %.noexc247 unwind label %1956 + to label %.noexc247 unwind label %1954 .noexc247: ; preds = %309 %.pre.i = load i64, ptr %284, align 8, !alias.scope !1249 - br label %1886 + br label %1884 "_ZN4core3ptr171drop_in_place$LT$alloc..collections..btree..map..IntoIter$LT$tree_sitter_cli..generate..rules..Symbol$C$tree_sitter_cli..generate..build_tables..item..ParseItemSet$GT$$GT$17hcdc46b4fc9b11161E.exit246": ; preds = %.loopexit526 call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %176) @@ -8926,8 +8926,8 @@ _ZN3std4hash6random11RandomState3new4KEYS7__getit17h08c022e240b705e4E.exit.i: ; call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %155), !noalias !1252 br label %.loopexit522 -.thread359: ; preds = %.thread359.loopexit, %.thread359.loopexit.split-lp, %1885, %313 - %.pn196 = phi { ptr, i32 } [ %lpad.thr_comm.split-lp, %1885 ], [ %314, %313 ], [ %lpad.loopexit523, %.thread359.loopexit ], [ %lpad.loopexit.split-lp524, %.thread359.loopexit.split-lp ] +.thread359: ; preds = %.thread359.loopexit, %.thread359.loopexit.split-lp, %1883, %313 + %.pn196 = phi { ptr, i32 } [ %lpad.thr_comm.split-lp, %1883 ], [ %314, %313 ], [ %lpad.loopexit523, %.thread359.loopexit ], [ %lpad.loopexit.split-lp524, %.thread359.loopexit.split-lp ] invoke void @"_ZN99_$LT$alloc..collections..btree..map..IntoIter$LT$K$C$V$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h3435e3ae41c425acE.llvm.15559585470061597875"(ptr noalias noundef nonnull align 8 dereferenceable(72) %172) to label %.body unwind label %640 @@ -8961,15 +8961,15 @@ _ZN3std4hash6random11RandomState3new4KEYS7__getit17h08c022e240b705e4E.exit.i: ; %324 = load i64, ptr %284, align 8, !alias.scope !1261, !noundef !14 %325 = load i64, ptr %1, align 8, !alias.scope !1261, !noundef !14 %326 = icmp eq i64 %324, %325 - br i1 %326, label %327, label %1860 + br i1 %326, label %327, label %1858 327: ; preds = %323 invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$16reserve_for_push17h6da63cc9c98271c7E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %1, i64 noundef %324) - to label %.noexc276 unwind label %1885 + to label %.noexc276 unwind label %1883 .noexc276: ; preds = %327 %.pre.i275 = load i64, ptr %284, align 8, !alias.scope !1261 - br label %1860 + br label %1858 "_ZN4core3ptr171drop_in_place$LT$alloc..collections..btree..map..IntoIter$LT$tree_sitter_cli..generate..rules..Symbol$C$tree_sitter_cli..generate..build_tables..item..ParseItemSet$GT$$GT$17hcdc46b4fc9b11161E.exit274": ; preds = %.loopexit522 call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %172) @@ -9089,15 +9089,15 @@ _ZN3std4hash6random11RandomState3new4KEYS7__getit17h08c022e240b705e4E.exit.i: ; %376 = getelementptr inbounds nuw i8, ptr %72, i64 16 br label %377 -377: ; preds = %1847, %328 - %.sroa.10150.0 = phi i64 [ %.sroa.10150.0.copyload, %328 ], [ %.sroa.10150.4276323, %1847 ] - %.sroa.13152.0 = phi i64 [ %.sroa.13152.0.copyload, %328 ], [ %.sroa.13152.4278322, %1847 ] - %.sroa.22.0 = phi i8 [ %.sroa.22.0.copyload, %328 ], [ %.sroa.22.1324, %1847 ] - %.sroa.20158.0 = phi i8 [ %.sroa.20158.0.copyload, %328 ], [ %.sroa.20158.2280321, %1847 ] - %.sroa.18156.0 = phi i64 [ %.sroa.18156.0.copyload, %328 ], [ %.sroa.18156.4282320, %1847 ] - %.sroa.16154.0 = phi i64 [ %.sroa.16154.0.copyload, %328 ], [ %.sroa.16154.4284319, %1847 ] - %.sroa.8149.0 = phi i64 [ %.sroa.8149.0.copyload, %328 ], [ %.sroa.8149.3286318, %1847 ] - %.sroa.0147.0 = phi i64 [ %.sroa.0147.0.copyload, %328 ], [ %.sroa.0147.2288317, %1847 ] +377: ; preds = %1845, %328 + %.sroa.10150.0 = phi i64 [ %.sroa.10150.0.copyload, %328 ], [ %.sroa.10150.4276323, %1845 ] + %.sroa.13152.0 = phi i64 [ %.sroa.13152.0.copyload, %328 ], [ %.sroa.13152.4278322, %1845 ] + %.sroa.22.0 = phi i8 [ %.sroa.22.0.copyload, %328 ], [ %.sroa.22.1324, %1845 ] + %.sroa.20158.0 = phi i8 [ %.sroa.20158.0.copyload, %328 ], [ %.sroa.20158.2280321, %1845 ] + %.sroa.18156.0 = phi i64 [ %.sroa.18156.0.copyload, %328 ], [ %.sroa.18156.4282320, %1845 ] + %.sroa.16154.0 = phi i64 [ %.sroa.16154.0.copyload, %328 ], [ %.sroa.16154.4284319, %1845 ] + %.sroa.8149.0 = phi i64 [ %.sroa.8149.0.copyload, %328 ], [ %.sroa.8149.3286318, %1845 ] + %.sroa.0147.0 = phi i64 [ %.sroa.0147.0.copyload, %328 ], [ %.sroa.0147.2288317, %1845 ] %378 = icmp eq i64 %.sroa.0147.0, 2 br i1 %378, label %_ZN4core3ops8function6FnOnce9call_once17h4b75a0778e16e091E.exit.thread16.i, label %379 @@ -9671,7 +9671,7 @@ _ZN3std4hash6random11RandomState3new4KEYS7__getit17h08c022e240b705e4E.exit.i.i.i 585: ; preds = %.thread.thread, %586 %.pn208 = phi { ptr, i32 } [ %587, %586 ], [ %.pn206251479, %.thread.thread ] invoke void @"_ZN4core3ptr84drop_in_place$LT$alloc..vec..Vec$LT$tree_sitter_cli..generate..rules..Symbol$GT$$GT$17h9f9eb7a2fc792556E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %1) #47 - to label %2702 unwind label %640 + to label %2700 unwind label %640 586: ; preds = %"_ZN4core3ptr63drop_in_place$LT$tree_sitter_cli..generate..rules..TokenSet$GT$17h396ba17e58616e58E.exit350", %"_ZN4core3ptr63drop_in_place$LT$tree_sitter_cli..generate..rules..TokenSet$GT$17h396ba17e58616e58E.exit" %587 = landingpad { ptr, i32 } @@ -9811,8 +9811,8 @@ _ZN3std4hash6random11RandomState3new4KEYS7__getit17h08c022e240b705e4E.exit.i.i.i call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %168) br label %636 -636: ; preds = %1848, %"_ZN4core3ptr68drop_in_place$LT$std..collections..hash..set..HashSet$LT$u32$GT$$GT$17hbeefc529703e514aE.exit" - %.1 = phi ptr [ %627, %"_ZN4core3ptr68drop_in_place$LT$std..collections..hash..set..HashSet$LT$u32$GT$$GT$17hbeefc529703e514aE.exit" ], [ %1289, %1848 ] +636: ; preds = %1846, %"_ZN4core3ptr68drop_in_place$LT$std..collections..hash..set..HashSet$LT$u32$GT$$GT$17hbeefc529703e514aE.exit" + %.1 = phi ptr [ %627, %"_ZN4core3ptr68drop_in_place$LT$std..collections..hash..set..HashSet$LT$u32$GT$$GT$17hbeefc529703e514aE.exit" ], [ %1289, %1846 ] %637 = load i64, ptr %336, align 8, !alias.scope !1481, !noalias !1492, !noundef !14 %638 = icmp eq i64 %637, 0 br i1 %638, label %"_ZN4core3ptr181drop_in_place$LT$std..collections..hash..map..HashMap$LT$tree_sitter_cli..generate..rules..Symbol$C$tree_sitter_cli..generate..build_tables..build_parse_table..ReductionInfo$GT$$GT$17ha313f1c89f15fc78E.exit318", label %639 @@ -9825,7 +9825,7 @@ _ZN3std4hash6random11RandomState3new4KEYS7__getit17h08c022e240b705e4E.exit.i.i.i invoke void @_ZN9hashbrown3raw13RawTableInner12free_buckets17h958d12c39117e753E.llvm.4513845701186752324(ptr noalias noundef nonnull align 8 dereferenceable(48) %184, ptr noalias noundef nonnull readonly align 1 %.sroa.4127.0..sroa_idx, i64 noundef 72, i64 noundef 16) to label %"_ZN4core3ptr181drop_in_place$LT$std..collections..hash..map..HashMap$LT$tree_sitter_cli..generate..rules..Symbol$C$tree_sitter_cli..generate..build_tables..build_parse_table..ReductionInfo$GT$$GT$17ha313f1c89f15fc78E.exit318" unwind label %201 -640: ; preds = %.thread359, %.thread366, %2701, %.thread.thread, %2700, %1956, %1885, %680, %598, %585, %.body, %200 +640: ; preds = %.thread359, %.thread366, %2699, %.thread.thread, %2698, %1954, %1883, %680, %598, %585, %.body, %200 %641 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer call void @_ZN4core9panicking16panic_in_cleanup17h55eb1d85cadde1a1E() #48 @@ -10002,7 +10002,7 @@ select.unfold.cont: ; preds = %select.unfold.invok %708 = icmp ult i64 %.sroa.5.0.i8.i.i, %686 br i1 %708, label %709, label %.invoke1934, !prof !204 -default.unreachable: ; preds = %2526, %2530, %_ZN15tree_sitter_cli8generate12build_tables16item_set_builder19ParseItemSetBuilder9first_set17h21d1e5824ef44decE.exit.i, %1577, %940 +default.unreachable: ; preds = %2524, %2528, %_ZN15tree_sitter_cli8generate12build_tables16item_set_builder19ParseItemSetBuilder9first_set17h21d1e5824ef44decE.exit.i, %1577, %940 unreachable 709: ; preds = %706 @@ -10033,7 +10033,7 @@ default.unreachable: ; preds = %2526, %2530, %_ZN15 %.1232.i = phi i8 [ %.3234.i, %.body.i ], [ %.323495.i, %.noexc570 ], [ %.323495.i, %.thread.i ], [ %.0231.i.ph, %.loopexit508 ] %.pn268.pn.i = phi { ptr, i32 } [ %.pn268.i, %.body.i ], [ %.pn26896.i, %.noexc570 ], [ %.pn26896.i, %.thread.i ], [ %lpad.loopexit510, %.loopexit508 ] %713 = trunc nuw i8 %.1232.i to i1 - br i1 %713, label %1840, label %.body + br i1 %713, label %1838, label %.body .loopexit508: ; preds = %709, %952, %.noexc309.i %.0231.i.ph = phi i8 [ %.5236.i, %.noexc309.i ], [ %.5236.i, %952 ], [ 1, %709 ] @@ -10044,7 +10044,7 @@ default.unreachable: ; preds = %2526, %2530, %_ZN15 "_ZN4core3ptr125drop_in_place$LT$std..collections..hash..set..HashSet$LT$$RF$tree_sitter_cli..generate..build_tables..item..ParseItem$GT$$GT$17h409f9efc37644a94E.exit.thread": ; preds = %712 %lpad.loopexit.split-lp511 = landingpad { ptr, i32 } cleanup - br label %1840 + br label %1838 .body.i: ; preds = %.loopexit.split-lp231.loopexit.split-lp.loopexit.split-lp.i.loopexit.split-lp.loopexit.split-lp, %"_ZN4core3ptr84drop_in_place$LT$alloc..vec..Vec$LT$tree_sitter_cli..generate..rules..Symbol$GT$$GT$17h9f9eb7a2fc792556E.exit605" %.3234.i = phi i8 [ %.4235.i, %"_ZN4core3ptr84drop_in_place$LT$alloc..vec..Vec$LT$tree_sitter_cli..generate..rules..Symbol$GT$$GT$17h9f9eb7a2fc792556E.exit605" ], [ %.2233.ph.ph.ph.i.ph.ph513, %.loopexit.split-lp231.loopexit.split-lp.loopexit.split-lp.i.loopexit.split-lp.loopexit.split-lp ] @@ -10063,7 +10063,7 @@ default.unreachable: ; preds = %2526, %2530, %_ZN15 cleanup br label %.thread.i -.loopexit.split-lp231.loopexit.split-lp.loopexit.i.loopexit: ; preds = %1703, %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$7reserve17hf5d38a8e86720e3fE.llvm.1408760718162522189.exit.i.i", %1835, %1692, %1695, %1626, %.noexc587, %.noexc588, %.noexc589, %.noexc590, %1614, %1617 +.loopexit.split-lp231.loopexit.split-lp.loopexit.i.loopexit: ; preds = %1703, %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$7reserve17hf5d38a8e86720e3fE.llvm.1408760718162522189.exit.i.i", %1833, %1692, %1695, %1626, %.noexc587, %.noexc588, %.noexc589, %.noexc590, %1614, %1617 %lpad.loopexit499 = landingpad { ptr, i32 } cleanup br label %.thread.i @@ -10633,7 +10633,7 @@ default.unreachable: ; preds = %2526, %2530, %_ZN15 946: ; preds = %940 br label %942 -947: ; preds = %990, %.loopexit.split-lp221.i, %.noexc570, %1839, %1843, %1840, %.thread110.i, %1499, %1498, %1497, %.thread146.i, %1433, %1350, %1330, %1299, %1174, %.loopexit.split-lp.i, %1146, %1065, %811 +947: ; preds = %990, %.loopexit.split-lp221.i, %.noexc570, %1837, %1841, %1838, %.thread110.i, %1499, %1498, %1497, %.thread146.i, %1433, %1350, %1330, %1299, %1174, %.loopexit.split-lp.i, %1146, %1065, %811 %948 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer call void @_ZN4core9panicking16panic_in_cleanup17h55eb1d85cadde1a1E() #48, !noalias !1526 @@ -11679,7 +11679,7 @@ default.unreachable: ; preds = %2526, %2530, %_ZN15 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %135), !noalias !1528 call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %142), !noalias !1528 %1317 = trunc nuw i8 %.4235.i to i1 - br i1 %1317, label %1318, label %1848 + br i1 %1317, label %1318, label %1846 1318: ; preds = %1316 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %80), !noalias !1957 @@ -11701,7 +11701,7 @@ default.unreachable: ; preds = %2526, %2530, %_ZN15 "_ZN4core3ptr143drop_in_place$LT$alloc..vec..Vec$LT$$LP$$RF$tree_sitter_cli..generate..rules..Precedence$C$tree_sitter_cli..generate..rules..Symbol$RP$$GT$$GT$17h1cc4420422d14f3bE.exit.i": ; preds = %1321, %.noexc337 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %80), !noalias !1957 - br label %1848 + br label %1846 1325: ; preds = %"_ZN4core6result19Result$LT$T$C$E$GT$6unwrap17h3b3a45854500a51fE.exit402.i", %1284 call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %98), !noalias !1528 @@ -12366,7 +12366,7 @@ _ZN5alloc6string6String4push17hda7d9bb0deee805fE.exit434.i: ; preds = %.noexc433 "_ZN4core3ptr125drop_in_place$LT$std..collections..hash..set..HashSet$LT$$RF$tree_sitter_cli..generate..build_tables..item..ParseItem$GT$$GT$17h409f9efc37644a94E.exit.i": ; preds = %.noexc309.i, %949 call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %142), !noalias !1528 %1517 = trunc nuw i8 %.5236.i to i1 - br i1 %1517, label %1518, label %1847 + br i1 %1517, label %1518, label %1845 1518: ; preds = %"_ZN4core3ptr125drop_in_place$LT$std..collections..hash..set..HashSet$LT$$RF$tree_sitter_cli..generate..build_tables..item..ParseItem$GT$$GT$17h409f9efc37644a94E.exit.i" call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %72), !noalias !2110 @@ -12386,7 +12386,7 @@ _ZN5alloc6string6String4push17hda7d9bb0deee805fE.exit434.i: ; preds = %.noexc433 "_ZN4core3ptr143drop_in_place$LT$alloc..vec..Vec$LT$$LP$$RF$tree_sitter_cli..generate..rules..Precedence$C$tree_sitter_cli..generate..rules..Symbol$RP$$GT$$GT$17h1cc4420422d14f3bE.exit461.i": ; preds = %1520, %.noexc339 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %72), !noalias !2110 - br label %1847 + br label %1845 1523: ; preds = %1009 %1524 = load ptr, ptr %1013, align 8, !noalias !1526, !nonnull !14, !align !82, !noundef !14 @@ -12543,12 +12543,12 @@ _ZN11smallbitvec11SmallBitVec3len17hd19085f87d1dfa85E.llvm.16258808753110442553. 1594: ; preds = %1577 %1595 = getelementptr inbounds nuw i8, ptr %.sroa.01.0264.i, i64 40 %1596 = load i8, ptr %1595, align 8, !range !317, !alias.scope !2144, !noalias !2154, !noundef !14 - br label %1830 + br label %1828 1597: ; preds = %1577 %1598 = getelementptr inbounds nuw i8, ptr %.sroa.01.0264.i, i64 41 %1599 = load i8, ptr %1598, align 1, !range !317, !alias.scope !2144, !noalias !2154, !noundef !14 - br label %1830 + br label %1828 1600: ; preds = %1577 %1601 = load i64, ptr %144, align 8, !alias.scope !2147, !noalias !2149, !noundef !14 @@ -12584,7 +12584,7 @@ _ZN11smallbitvec11SmallBitVec3len17hd19085f87d1dfa85E.llvm.16258808753110442553. .noexc599: ; preds = %1614 %1616 = zext i1 %1615 to i8 - br label %1830 + br label %1828 1617: ; preds = %_ZN11smallbitvec11SmallBitVec3len17hd19085f87d1dfa85E.llvm.16258808753110442553.exit10.i592 %1618 = invoke noundef zeroext i1 @_ZN11smallbitvec11SmallBitVec13get_unchecked17h45f351e04506b1cbE.llvm.16258808753110442553(ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %1578, i64 noundef %1601) @@ -12592,7 +12592,7 @@ _ZN11smallbitvec11SmallBitVec3len17hd19085f87d1dfa85E.llvm.16258808753110442553. .noexc600: ; preds = %1617 %1619 = zext i1 %1618 to i8 - br label %1830 + br label %1828 1620: ; preds = %1576 %1621 = getelementptr inbounds nuw i8, ptr %718, i64 8 @@ -12970,9 +12970,9 @@ _ZN11smallbitvec11SmallBitVec3len17hd19085f87d1dfa85E.llvm.16258808753110442553. br i1 %1730, label %.lr.ph.split.split.us.i.i, label %.lr.ph.split.split.i.i .lr.ph.split.split.us.i.i: ; preds = %.lr.ph.split.i.i, %.thread40.us64.i.i - %.046.us48.i.i = phi i64 [ %1796, %.thread40.us64.i.i ], [ %1723, %.lr.ph.split.i.i ] - %.01945.us49.i.i = phi i64 [ %1795, %.thread40.us64.i.i ], [ 0, %.lr.ph.split.i.i ] - %.02044.us50.i.i = phi i64 [ %1794, %.thread40.us64.i.i ], [ %1723, %.lr.ph.split.i.i ] + %.046.us48.i.i = phi i64 [ %1795, %.thread40.us64.i.i ], [ %1723, %.lr.ph.split.i.i ] + %.01945.us49.i.i = phi i64 [ %1794, %.thread40.us64.i.i ], [ 0, %.lr.ph.split.i.i ] + %.02044.us50.i.i = phi i64 [ %1793, %.thread40.us64.i.i ], [ %1723, %.lr.ph.split.i.i ] %1774 = lshr i64 %.046.us48.i.i, 1 %1775 = add i64 %1774, %.01945.us49.i.i %1776 = icmp ult i64 %1775, %1723 @@ -12989,80 +12989,78 @@ _ZN11smallbitvec11SmallBitVec3len17hd19085f87d1dfa85E.llvm.16258808753110442553. br i1 %1780, label %.thread35.us63.i.i, label %1781 1781: ; preds = %.lr.ph.split.split.us.i.i - %1782 = call i64 @llvm.umin.i64(i64 %1779, i64 2) - %1783 = icmp eq i64 %1782, %1726 - br i1 %1783, label %1784, label %.thread40.us64.i.i - -1784: ; preds = %1781 - %1785 = getelementptr inbounds nuw i8, ptr %.val7.i.i.us51.i.i, i64 8 - %1786 = load i32, ptr %1785, align 8, !alias.scope !2256, !noalias !2257, !noundef !14 - %1787 = load i32, ptr %1728, align 8, !alias.scope !2241, !noalias !2244, !noundef !14 - %1788 = icmp slt i32 %1786, %1787 - br i1 %1788, label %.thread35.us63.i.i, label %"_ZN4core3cmp5impls50_$LT$impl$u20$core..cmp..Ord$u20$for$u20$$RF$A$GT$3cmp17hbe7f8463deb9f879E.exit.i.i.us52.i.i" - -"_ZN4core3cmp5impls50_$LT$impl$u20$core..cmp..Ord$u20$for$u20$$RF$A$GT$3cmp17hbe7f8463deb9f879E.exit.i.i.us52.i.i": ; preds = %1784 - %.not81.i.i = icmp eq i32 %1786, %1787 + %1782 = icmp eq i64 %1779, %1726 + br i1 %1782, label %1783, label %.thread40.us64.i.i + +1783: ; preds = %1781 + %1784 = getelementptr inbounds nuw i8, ptr %.val7.i.i.us51.i.i, i64 8 + %1785 = load i32, ptr %1784, align 8, !alias.scope !2256, !noalias !2257, !noundef !14 + %1786 = load i32, ptr %1728, align 8, !alias.scope !2241, !noalias !2244, !noundef !14 + %1787 = icmp slt i32 %1785, %1786 + br i1 %1787, label %.thread35.us63.i.i, label %"_ZN4core3cmp5impls50_$LT$impl$u20$core..cmp..Ord$u20$for$u20$$RF$A$GT$3cmp17hbe7f8463deb9f879E.exit.i.i.us52.i.i" + +"_ZN4core3cmp5impls50_$LT$impl$u20$core..cmp..Ord$u20$for$u20$$RF$A$GT$3cmp17hbe7f8463deb9f879E.exit.i.i.us52.i.i": ; preds = %1783 + %.not81.i.i = icmp eq i32 %1785, %1786 br i1 %.not81.i.i, label %"_ZN4core3cmp5impls50_$LT$impl$u20$core..cmp..Ord$u20$for$u20$$RF$A$GT$3cmp17hbe7f8463deb9f879E.exit.thread.i.i.us55.i.i", label %.thread40.us64.i.i "_ZN4core3cmp5impls50_$LT$impl$u20$core..cmp..Ord$u20$for$u20$$RF$A$GT$3cmp17hbe7f8463deb9f879E.exit.thread.i.i.us55.i.i": ; preds = %"_ZN4core3cmp5impls50_$LT$impl$u20$core..cmp..Ord$u20$for$u20$$RF$A$GT$3cmp17hbe7f8463deb9f879E.exit.i.i.us52.i.i" - %1789 = getelementptr inbounds nuw i8, ptr %1777, i64 8 - %.val.i.i.us56.i.i = load i64, ptr %1789, align 8, !alias.scope !2254, !noalias !2255 + %1788 = getelementptr inbounds nuw i8, ptr %1777, i64 8 + %.val.i.i.us56.i.i = load i64, ptr %1788, align 8, !alias.scope !2254, !noalias !2255 %.val.i.i.us56.i.fr.i = freeze i64 %.val.i.i.us56.i.i - %1790 = getelementptr inbounds nuw i8, ptr %1777, i64 16 - %.val4.i.i.us57.i.i = load i8, ptr %1790, align 8, !range !415, !alias.scope !2254, !noalias !2255, !noundef !14 - %1791 = icmp samesign ult i8 %.val4.i.i.us57.i.i, 4 - %1792 = icmp ult i64 %.val.i.i.us56.i.fr.i, %1721 - %or.cond182.i = or i1 %1791, %1792 + %1789 = getelementptr inbounds nuw i8, ptr %1777, i64 16 + %.val4.i.i.us57.i.i = load i8, ptr %1789, align 8, !range !415, !alias.scope !2254, !noalias !2255, !noundef !14 + %1790 = icmp samesign ult i8 %.val4.i.i.us57.i.i, 4 + %1791 = icmp ult i64 %.val.i.i.us56.i.fr.i, %1721 + %or.cond182.i = or i1 %1790, %1791 br i1 %or.cond182.i, label %.thread35.us63.i.i, label %"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$13binary_search28_$u7b$$u7b$closure$u7d$$u7d$17hfad6128ad947e4f3E.exit.thread29.us60.i.i" "_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$13binary_search28_$u7b$$u7b$closure$u7d$$u7d$17hfad6128ad947e4f3E.exit.thread29.us60.i.i": ; preds = %"_ZN4core3cmp5impls50_$LT$impl$u20$core..cmp..Ord$u20$for$u20$$RF$A$GT$3cmp17hbe7f8463deb9f879E.exit.thread.i.i.us55.i.i" %.not185.i = icmp eq i64 %.val.i.i.us56.i.fr.i, %1721 br i1 %.not185.i, label %.thread169.i, label %.thread40.us64.i.i -.thread35.us63.i.i: ; preds = %"_ZN4core3cmp5impls50_$LT$impl$u20$core..cmp..Ord$u20$for$u20$$RF$A$GT$3cmp17hbe7f8463deb9f879E.exit.thread.i.i.us55.i.i", %1784, %.lr.ph.split.split.us.i.i - %1793 = add nuw i64 %1775, 1 +.thread35.us63.i.i: ; preds = %"_ZN4core3cmp5impls50_$LT$impl$u20$core..cmp..Ord$u20$for$u20$$RF$A$GT$3cmp17hbe7f8463deb9f879E.exit.thread.i.i.us55.i.i", %1783, %.lr.ph.split.split.us.i.i + %1792 = add nuw i64 %1775, 1 br label %.thread40.us64.i.i .thread40.us64.i.i: ; preds = %.thread35.us63.i.i, %"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$13binary_search28_$u7b$$u7b$closure$u7d$$u7d$17hfad6128ad947e4f3E.exit.thread29.us60.i.i", %"_ZN4core3cmp5impls50_$LT$impl$u20$core..cmp..Ord$u20$for$u20$$RF$A$GT$3cmp17hbe7f8463deb9f879E.exit.i.i.us52.i.i", %1781 - %1794 = phi i64 [ %.02044.us50.i.i, %.thread35.us63.i.i ], [ %1775, %1781 ], [ %1775, %"_ZN4core3cmp5impls50_$LT$impl$u20$core..cmp..Ord$u20$for$u20$$RF$A$GT$3cmp17hbe7f8463deb9f879E.exit.i.i.us52.i.i" ], [ %1775, %"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$13binary_search28_$u7b$$u7b$closure$u7d$$u7d$17hfad6128ad947e4f3E.exit.thread29.us60.i.i" ] - %1795 = phi i64 [ %1793, %.thread35.us63.i.i ], [ %.01945.us49.i.i, %1781 ], [ %.01945.us49.i.i, %"_ZN4core3cmp5impls50_$LT$impl$u20$core..cmp..Ord$u20$for$u20$$RF$A$GT$3cmp17hbe7f8463deb9f879E.exit.i.i.us52.i.i" ], [ %.01945.us49.i.i, %"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$13binary_search28_$u7b$$u7b$closure$u7d$$u7d$17hfad6128ad947e4f3E.exit.thread29.us60.i.i" ] - %1796 = sub i64 %1794, %1795 - %1797 = icmp ult i64 %1795, %1794 - br i1 %1797, label %.lr.ph.split.split.us.i.i, label %.loopexit239.i + %1793 = phi i64 [ %.02044.us50.i.i, %.thread35.us63.i.i ], [ %1775, %1781 ], [ %1775, %"_ZN4core3cmp5impls50_$LT$impl$u20$core..cmp..Ord$u20$for$u20$$RF$A$GT$3cmp17hbe7f8463deb9f879E.exit.i.i.us52.i.i" ], [ %1775, %"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$13binary_search28_$u7b$$u7b$closure$u7d$$u7d$17hfad6128ad947e4f3E.exit.thread29.us60.i.i" ] + %1794 = phi i64 [ %1792, %.thread35.us63.i.i ], [ %.01945.us49.i.i, %1781 ], [ %.01945.us49.i.i, %"_ZN4core3cmp5impls50_$LT$impl$u20$core..cmp..Ord$u20$for$u20$$RF$A$GT$3cmp17hbe7f8463deb9f879E.exit.i.i.us52.i.i" ], [ %.01945.us49.i.i, %"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$13binary_search28_$u7b$$u7b$closure$u7d$$u7d$17hfad6128ad947e4f3E.exit.thread29.us60.i.i" ] + %1795 = sub i64 %1793, %1794 + %1796 = icmp ult i64 %1794, %1793 + br i1 %1796, label %.lr.ph.split.split.us.i.i, label %.loopexit239.i .lr.ph.split.split.i.i: ; preds = %.lr.ph.split.i.i, %.thread40.i.i - %.046.i.i = phi i64 [ %1815, %.thread40.i.i ], [ %1723, %.lr.ph.split.i.i ] - %.01945.i.i = phi i64 [ %1814, %.thread40.i.i ], [ 0, %.lr.ph.split.i.i ] - %.02044.i.i = phi i64 [ %1813, %.thread40.i.i ], [ %1723, %.lr.ph.split.i.i ] - %1798 = lshr i64 %.046.i.i, 1 - %1799 = add i64 %1798, %.01945.i.i - %1800 = icmp ult i64 %1799, %1723 - call void @llvm.assume(i1 %1800) - %1801 = getelementptr inbounds { ptr, { i64, i8 } }, ptr %1722, i64 %1799 + %.046.i.i = phi i64 [ %1813, %.thread40.i.i ], [ %1723, %.lr.ph.split.i.i ] + %.01945.i.i = phi i64 [ %1812, %.thread40.i.i ], [ 0, %.lr.ph.split.i.i ] + %.02044.i.i = phi i64 [ %1811, %.thread40.i.i ], [ %1723, %.lr.ph.split.i.i ] + %1797 = lshr i64 %.046.i.i, 1 + %1798 = add i64 %1797, %.01945.i.i + %1799 = icmp ult i64 %1798, %1723 + call void @llvm.assume(i1 %1799) + %1800 = getelementptr inbounds { ptr, { i64, i8 } }, ptr %1722, i64 %1798 call void @llvm.experimental.noalias.scope.decl(metadata !2252) call void @llvm.experimental.noalias.scope.decl(metadata !2253) - %.val7.i.i.i.i = load ptr, ptr %1801, align 8, !alias.scope !2254, !noalias !2255, !nonnull !14, !align !82, !noundef !14 + %.val7.i.i.i.i = load ptr, ptr %1800, align 8, !alias.scope !2254, !noalias !2255, !nonnull !14, !align !82, !noundef !14 call void @llvm.experimental.noalias.scope.decl(metadata !2256) call void @llvm.experimental.noalias.scope.decl(metadata !2241) - %1802 = load i64, ptr %.val7.i.i.i.i, align 8, !range !1069, !alias.scope !2256, !noalias !2257, !noundef !14 - %1803 = xor i64 %1802, -9223372036854775808 - %1804 = icmp ult i64 %1803, %1726 - br i1 %1804, label %.thread35.i.i, label %1805 - -1805: ; preds = %.lr.ph.split.split.i.i - %1806 = call i64 @llvm.umin.i64(i64 %1803, i64 2) - %1807 = icmp eq i64 %1806, %1726 - br i1 %1807, label %"_ZN4core3cmp5impls50_$LT$impl$u20$core..cmp..Ord$u20$for$u20$$RF$A$GT$3cmp17hbe7f8463deb9f879E.exit.thread.i.i.i.i", label %.thread40.i.i - -"_ZN4core3cmp5impls50_$LT$impl$u20$core..cmp..Ord$u20$for$u20$$RF$A$GT$3cmp17hbe7f8463deb9f879E.exit.thread.i.i.i.i": ; preds = %1805 - %1808 = getelementptr inbounds nuw i8, ptr %1801, i64 8 - %.val.i.i.i.i = load i64, ptr %1808, align 8, !alias.scope !2254, !noalias !2255 + %1801 = load i64, ptr %.val7.i.i.i.i, align 8, !range !1069, !alias.scope !2256, !noalias !2257, !noundef !14 + %1802 = xor i64 %1801, -9223372036854775808 + %1803 = icmp ult i64 %1802, %1726 + br i1 %1803, label %.thread35.i.i, label %1804 + +1804: ; preds = %.lr.ph.split.split.i.i + %1805 = icmp eq i64 %1802, %1726 + br i1 %1805, label %"_ZN4core3cmp5impls50_$LT$impl$u20$core..cmp..Ord$u20$for$u20$$RF$A$GT$3cmp17hbe7f8463deb9f879E.exit.thread.i.i.i.i", label %.thread40.i.i + +"_ZN4core3cmp5impls50_$LT$impl$u20$core..cmp..Ord$u20$for$u20$$RF$A$GT$3cmp17hbe7f8463deb9f879E.exit.thread.i.i.i.i": ; preds = %1804 + %1806 = getelementptr inbounds nuw i8, ptr %1800, i64 8 + %.val.i.i.i.i = load i64, ptr %1806, align 8, !alias.scope !2254, !noalias !2255 %.val.i.i.i.fr.i = freeze i64 %.val.i.i.i.i - %1809 = getelementptr inbounds nuw i8, ptr %1801, i64 16 - %.val4.i.i.i.i332 = load i8, ptr %1809, align 8, !range !415, !alias.scope !2254, !noalias !2255, !noundef !14 - %1810 = icmp samesign ult i8 %.val4.i.i.i.i332, 4 - %1811 = icmp ult i64 %.val.i.i.i.fr.i, %1721 - %or.cond183.i = or i1 %1810, %1811 + %1807 = getelementptr inbounds nuw i8, ptr %1800, i64 16 + %.val4.i.i.i.i332 = load i8, ptr %1807, align 8, !range !415, !alias.scope !2254, !noalias !2255, !noundef !14 + %1808 = icmp samesign ult i8 %.val4.i.i.i.i332, 4 + %1809 = icmp ult i64 %.val.i.i.i.fr.i, %1721 + %or.cond183.i = or i1 %1808, %1809 br i1 %or.cond183.i, label %.thread35.i.i, label %"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$13binary_search28_$u7b$$u7b$closure$u7d$$u7d$17hfad6128ad947e4f3E.exit.thread29.i.i" "_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$13binary_search28_$u7b$$u7b$closure$u7d$$u7d$17hfad6128ad947e4f3E.exit.thread29.i.i": ; preds = %"_ZN4core3cmp5impls50_$LT$impl$u20$core..cmp..Ord$u20$for$u20$$RF$A$GT$3cmp17hbe7f8463deb9f879E.exit.thread.i.i.i.i" @@ -13070,23 +13068,23 @@ _ZN11smallbitvec11SmallBitVec3len17hd19085f87d1dfa85E.llvm.16258808753110442553. br i1 %.not184.i, label %.thread169.i, label %.thread40.i.i .thread35.i.i: ; preds = %"_ZN4core3cmp5impls50_$LT$impl$u20$core..cmp..Ord$u20$for$u20$$RF$A$GT$3cmp17hbe7f8463deb9f879E.exit.thread.i.i.i.i", %.lr.ph.split.split.i.i - %1812 = add nuw i64 %1799, 1 + %1810 = add nuw i64 %1798, 1 br label %.thread40.i.i -.thread40.i.i: ; preds = %.thread35.i.i, %"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$13binary_search28_$u7b$$u7b$closure$u7d$$u7d$17hfad6128ad947e4f3E.exit.thread29.i.i", %1805 - %1813 = phi i64 [ %.02044.i.i, %.thread35.i.i ], [ %1799, %"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$13binary_search28_$u7b$$u7b$closure$u7d$$u7d$17hfad6128ad947e4f3E.exit.thread29.i.i" ], [ %1799, %1805 ] - %1814 = phi i64 [ %1812, %.thread35.i.i ], [ %.01945.i.i, %"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$13binary_search28_$u7b$$u7b$closure$u7d$$u7d$17hfad6128ad947e4f3E.exit.thread29.i.i" ], [ %.01945.i.i, %1805 ] - %1815 = sub i64 %1813, %1814 - %1816 = icmp ult i64 %1814, %1813 - br i1 %1816, label %.lr.ph.split.split.i.i, label %.loopexit239.i +.thread40.i.i: ; preds = %.thread35.i.i, %"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$13binary_search28_$u7b$$u7b$closure$u7d$$u7d$17hfad6128ad947e4f3E.exit.thread29.i.i", %1804 + %1811 = phi i64 [ %.02044.i.i, %.thread35.i.i ], [ %1798, %"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$13binary_search28_$u7b$$u7b$closure$u7d$$u7d$17hfad6128ad947e4f3E.exit.thread29.i.i" ], [ %1798, %1804 ] + %1812 = phi i64 [ %1810, %.thread35.i.i ], [ %.01945.i.i, %"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$13binary_search28_$u7b$$u7b$closure$u7d$$u7d$17hfad6128ad947e4f3E.exit.thread29.i.i" ], [ %.01945.i.i, %1804 ] + %1813 = sub i64 %1811, %1812 + %1814 = icmp ult i64 %1812, %1811 + br i1 %1814, label %.lr.ph.split.split.i.i, label %.loopexit239.i .loopexit239.i: ; preds = %.thread40.i.i, %.thread40.us64.i.i, %.thread40.us.i.i, %1717 - %.019.lcssa.i.i = phi i64 [ 0, %1717 ], [ %1771, %.thread40.us.i.i ], [ %1795, %.thread40.us64.i.i ], [ %1814, %.thread40.i.i ] - %1817 = icmp ule i64 %.019.lcssa.i.i, %1723 - call void @llvm.assume(i1 %1817) - %1818 = load i64, ptr %143, align 8, !alias.scope !2263, !noalias !2266, !noundef !14 - %1819 = icmp eq i64 %1723, %1818 - br i1 %1819, label %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$7reserve17hf5d38a8e86720e3fE.llvm.1408760718162522189.exit.i.i", label %.noexc476.i + %.019.lcssa.i.i = phi i64 [ 0, %1717 ], [ %1771, %.thread40.us.i.i ], [ %1794, %.thread40.us64.i.i ], [ %1812, %.thread40.i.i ] + %1815 = icmp ule i64 %.019.lcssa.i.i, %1723 + call void @llvm.assume(i1 %1815) + %1816 = load i64, ptr %143, align 8, !alias.scope !2263, !noalias !2266, !noundef !14 + %1817 = icmp eq i64 %1723, %1816 + br i1 %1817, label %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$7reserve17hf5d38a8e86720e3fE.llvm.1408760718162522189.exit.i.i", label %.noexc476.i "_ZN5alloc3vec16Vec$LT$T$C$A$GT$7reserve17hf5d38a8e86720e3fE.llvm.1408760718162522189.exit.i.i": ; preds = %.loopexit239.i invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$7reserve21do_reserve_and_handle17h5b31102b7f96d089E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %143, i64 noundef %1723, i64 noundef 1) @@ -13097,92 +13095,92 @@ _ZN11smallbitvec11SmallBitVec3len17hd19085f87d1dfa85E.llvm.16258808753110442553. br label %.noexc476.i .noexc476.i: ; preds = %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$7reserve17hf5d38a8e86720e3fE.llvm.1408760718162522189.exit.i..noexc476_crit_edge.i", %.loopexit239.i - %1820 = phi ptr [ %.pre.i331, %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$7reserve17hf5d38a8e86720e3fE.llvm.1408760718162522189.exit.i..noexc476_crit_edge.i" ], [ %1722, %.loopexit239.i ] - %1821 = getelementptr inbounds { ptr, { i64, i8 } }, ptr %1820, i64 %.019.lcssa.i.i - %1822 = icmp ult i64 %.019.lcssa.i.i, %1723 - br i1 %1822, label %1823, label %1827 - -1823: ; preds = %.noexc476.i - %1824 = getelementptr inbounds nuw i8, ptr %1821, i64 24 - %1825 = sub nuw i64 %1723, %.019.lcssa.i.i - %1826 = mul i64 %1825, 24 - call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %1824, ptr nonnull align 8 %1821, i64 %1826, i1 false), !noalias !2268 - br label %1827 - -1827: ; preds = %1823, %.noexc476.i - store ptr %spec.select.i.i.i, ptr %1821, align 8, !noalias !1526 - %.sroa.4.0..sroa_idx.i330 = getelementptr inbounds nuw i8, ptr %1821, i64 8 + %1818 = phi ptr [ %.pre.i331, %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$7reserve17hf5d38a8e86720e3fE.llvm.1408760718162522189.exit.i..noexc476_crit_edge.i" ], [ %1722, %.loopexit239.i ] + %1819 = getelementptr inbounds { ptr, { i64, i8 } }, ptr %1818, i64 %.019.lcssa.i.i + %1820 = icmp ult i64 %.019.lcssa.i.i, %1723 + br i1 %1820, label %1821, label %1825 + +1821: ; preds = %.noexc476.i + %1822 = getelementptr inbounds nuw i8, ptr %1819, i64 24 + %1823 = sub nuw i64 %1723, %.019.lcssa.i.i + %1824 = mul i64 %1823, 24 + call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %1822, ptr nonnull align 8 %1819, i64 %1824, i1 false), !noalias !2268 + br label %1825 + +1825: ; preds = %1821, %.noexc476.i + store ptr %spec.select.i.i.i, ptr %1819, align 8, !noalias !1526 + %.sroa.4.0..sroa_idx.i330 = getelementptr inbounds nuw i8, ptr %1819, i64 8 store i64 %1721, ptr %.sroa.4.0..sroa_idx.i330, align 8, !noalias !1526 - %.sroa.55.0..sroa_idx.i = getelementptr inbounds nuw i8, ptr %1821, i64 16 + %.sroa.55.0..sroa_idx.i = getelementptr inbounds nuw i8, ptr %1819, i64 16 store i8 4, ptr %.sroa.55.0..sroa_idx.i, align 8, !noalias !1526 - %1828 = add i64 %1723, 1 - store i64 %1828, ptr %341, align 8, !alias.scope !2263, !noalias !2266 + %1826 = add i64 %1723, 1 + store i64 %1826, ptr %341, align 8, !alias.scope !2263, !noalias !2266 br label %.thread169.i -.thread169.i: ; preds = %"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$13binary_search28_$u7b$$u7b$closure$u7d$$u7d$17hfad6128ad947e4f3E.exit.thread29.i.i", %"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$13binary_search28_$u7b$$u7b$closure$u7d$$u7d$17hfad6128ad947e4f3E.exit.thread29.us60.i.i", %"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$13binary_search28_$u7b$$u7b$closure$u7d$$u7d$17hfad6128ad947e4f3E.exit.thread29.us.i.i", %_ZN11smallbitvec11SmallBitVec3len17hd19085f87d1dfa85E.llvm.16258808753110442553.exit10.i592, %_ZN11smallbitvec11SmallBitVec3len17hd19085f87d1dfa85E.llvm.16258808753110442553.exit.i595, %_ZN11smallbitvec11SmallBitVec3len17hd19085f87d1dfa85E.llvm.16258808753110442553.exit10.i, %_ZN11smallbitvec11SmallBitVec3len17hd19085f87d1dfa85E.llvm.16258808753110442553.exit.i573, %1835, %1832, %1830, %1827, %1698, %1576 - %1829 = icmp eq ptr %717, %210 - br i1 %1829, label %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h20f9becab9b1fc1cE.exit.thread.i", label %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h20f9becab9b1fc1cE.exit.i" +.thread169.i: ; preds = %"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$13binary_search28_$u7b$$u7b$closure$u7d$$u7d$17hfad6128ad947e4f3E.exit.thread29.i.i", %"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$13binary_search28_$u7b$$u7b$closure$u7d$$u7d$17hfad6128ad947e4f3E.exit.thread29.us60.i.i", %"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$13binary_search28_$u7b$$u7b$closure$u7d$$u7d$17hfad6128ad947e4f3E.exit.thread29.us.i.i", %_ZN11smallbitvec11SmallBitVec3len17hd19085f87d1dfa85E.llvm.16258808753110442553.exit10.i592, %_ZN11smallbitvec11SmallBitVec3len17hd19085f87d1dfa85E.llvm.16258808753110442553.exit.i595, %_ZN11smallbitvec11SmallBitVec3len17hd19085f87d1dfa85E.llvm.16258808753110442553.exit10.i, %_ZN11smallbitvec11SmallBitVec3len17hd19085f87d1dfa85E.llvm.16258808753110442553.exit.i573, %1833, %1830, %1828, %1825, %1698, %1576 + %1827 = icmp eq ptr %717, %210 + br i1 %1827, label %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h20f9becab9b1fc1cE.exit.thread.i", label %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h20f9becab9b1fc1cE.exit.i" -1830: ; preds = %.noexc600, %.noexc599, %1597, %1594 +1828: ; preds = %.noexc600, %.noexc599, %1597, %1594 %.0.i594 = phi i8 [ %1599, %1597 ], [ %1596, %1594 ], [ %1616, %.noexc599 ], [ %1619, %.noexc600 ] - %1831 = trunc nuw i8 %.0.i594 to i1 - br i1 %1831, label %1832, label %.thread169.i + %1829 = trunc nuw i8 %.0.i594 to i1 + br i1 %1829, label %1830, label %.thread169.i -1832: ; preds = %1830 - %1833 = getelementptr inbounds nuw i8, ptr %.sroa.01.0264.i, i64 8 - %1834 = load i32, ptr %1833, align 8, !noalias !1528, !noundef !14 - %.not248.i = icmp eq i32 %1834, -1 - br i1 %.not248.i, label %.thread169.i, label %1835 +1830: ; preds = %1828 + %1831 = getelementptr inbounds nuw i8, ptr %.sroa.01.0264.i, i64 8 + %1832 = load i32, ptr %1831, align 8, !noalias !1528, !noundef !14 + %.not248.i = icmp eq i32 %1832, -1 + br i1 %.not248.i, label %.thread169.i, label %1833 -1835: ; preds = %1832 - %1836 = invoke noundef zeroext i1 @"_ZN9hashbrown3map28HashMap$LT$K$C$V$C$S$C$A$GT$6insert17h84b4e0d88f7e5c75E"(ptr noalias noundef nonnull align 8 dereferenceable(48) %142, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %.sroa.01.0264.i) +1833: ; preds = %1830 + %1834 = invoke noundef zeroext i1 @"_ZN9hashbrown3map28HashMap$LT$K$C$V$C$S$C$A$GT$6insert17h84b4e0d88f7e5c75E"(ptr noalias noundef nonnull align 8 dereferenceable(48) %142, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %.sroa.01.0264.i) to label %.thread169.i unwind label %.loopexit.split-lp231.loopexit.split-lp.loopexit.i.loopexit, !noalias !1526 .thread.i: ; preds = %.loopexit.split-lp231.loopexit.split-lp.loopexit.split-lp.i.loopexit.split-lp.loopexit, %.loopexit.split-lp231.loopexit.split-lp.loopexit.split-lp.i.loopexit, %.loopexit.split-lp231.loopexit.split-lp.loopexit.i.loopexit, %.loopexit.split-lp231.loopexit.split-lp.loopexit.i.loopexit.split-lp, %817, %811, %.loopexit.split-lp231.loopexit.i, %.loopexit230.i, %.body.i %.pn26896.i = phi { ptr, i32 } [ %.pn268.i, %.body.i ], [ %812, %811 ], [ %818, %817 ], [ %lpad.loopexit236.i, %.loopexit.split-lp231.loopexit.i ], [ %lpad.loopexit232.i, %.loopexit230.i ], [ %lpad.loopexit499, %.loopexit.split-lp231.loopexit.split-lp.loopexit.i.loopexit ], [ %lpad.loopexit.split-lp500, %.loopexit.split-lp231.loopexit.split-lp.loopexit.i.loopexit.split-lp ], [ %lpad.loopexit514, %.loopexit.split-lp231.loopexit.split-lp.loopexit.split-lp.i.loopexit.split-lp.loopexit ], [ %lpad.loopexit496, %.loopexit.split-lp231.loopexit.split-lp.loopexit.split-lp.i.loopexit ] %.323495.i = phi i8 [ %.3234.i, %.body.i ], [ 0, %811 ], [ 0, %817 ], [ 1, %.loopexit.split-lp231.loopexit.i ], [ 0, %.loopexit230.i ], [ 1, %.loopexit.split-lp231.loopexit.split-lp.loopexit.i.loopexit ], [ 1, %.loopexit.split-lp231.loopexit.split-lp.loopexit.i.loopexit.split-lp ], [ %.2233.ph.ph.ph.i.ph.ph, %.loopexit.split-lp231.loopexit.split-lp.loopexit.split-lp.i.loopexit.split-lp.loopexit ], [ 0, %.loopexit.split-lp231.loopexit.split-lp.loopexit.split-lp.i.loopexit ] - %1837 = load i64, ptr %352, align 8, !alias.scope !2269, !noalias !2282, !noundef !14 - %1838 = icmp eq i64 %1837, 0 - br i1 %1838, label %"_ZN4core3ptr125drop_in_place$LT$std..collections..hash..set..HashSet$LT$$RF$tree_sitter_cli..generate..build_tables..item..ParseItem$GT$$GT$17h409f9efc37644a94E.exit", label %1839 + %1835 = load i64, ptr %352, align 8, !alias.scope !2269, !noalias !2282, !noundef !14 + %1836 = icmp eq i64 %1835, 0 + br i1 %1836, label %"_ZN4core3ptr125drop_in_place$LT$std..collections..hash..set..HashSet$LT$$RF$tree_sitter_cli..generate..build_tables..item..ParseItem$GT$$GT$17h409f9efc37644a94E.exit", label %1837 -1839: ; preds = %.thread.i +1837: ; preds = %.thread.i invoke void @_ZN9hashbrown3raw13RawTableInner13drop_elements17h79e75b29e91657bfE.llvm.4513845701186752324(ptr noalias noundef nonnull align 8 dereferenceable(48) %142) to label %.noexc570 unwind label %947 -.noexc570: ; preds = %1839 +.noexc570: ; preds = %1837 invoke void @_ZN9hashbrown3raw13RawTableInner12free_buckets17h958d12c39117e753E.llvm.4513845701186752324(ptr noalias noundef nonnull align 8 dereferenceable(48) %142, ptr noalias noundef nonnull readonly align 1 %.sroa.0116.sroa.4.0..sroa_idx.i, i64 noundef 8, i64 noundef 16) to label %"_ZN4core3ptr125drop_in_place$LT$std..collections..hash..set..HashSet$LT$$RF$tree_sitter_cli..generate..build_tables..item..ParseItem$GT$$GT$17h409f9efc37644a94E.exit" unwind label %947 -1840: ; preds = %"_ZN4core3ptr125drop_in_place$LT$std..collections..hash..set..HashSet$LT$$RF$tree_sitter_cli..generate..build_tables..item..ParseItem$GT$$GT$17h409f9efc37644a94E.exit.thread", %"_ZN4core3ptr125drop_in_place$LT$std..collections..hash..set..HashSet$LT$$RF$tree_sitter_cli..generate..build_tables..item..ParseItem$GT$$GT$17h409f9efc37644a94E.exit" +1838: ; preds = %"_ZN4core3ptr125drop_in_place$LT$std..collections..hash..set..HashSet$LT$$RF$tree_sitter_cli..generate..build_tables..item..ParseItem$GT$$GT$17h409f9efc37644a94E.exit.thread", %"_ZN4core3ptr125drop_in_place$LT$std..collections..hash..set..HashSet$LT$$RF$tree_sitter_cli..generate..build_tables..item..ParseItem$GT$$GT$17h409f9efc37644a94E.exit" %.pn268.pn.i1515 = phi { ptr, i32 } [ %lpad.loopexit.split-lp511, %"_ZN4core3ptr125drop_in_place$LT$std..collections..hash..set..HashSet$LT$$RF$tree_sitter_cli..generate..build_tables..item..ParseItem$GT$$GT$17h409f9efc37644a94E.exit.thread" ], [ %.pn268.pn.i, %"_ZN4core3ptr125drop_in_place$LT$std..collections..hash..set..HashSet$LT$$RF$tree_sitter_cli..generate..build_tables..item..ParseItem$GT$$GT$17h409f9efc37644a94E.exit" ] call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %24), !noalias !2284 invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17hc7415a467461d6d7E.llvm.15559585470061597875"(ptr noalias noundef nonnull sret({ [1 x i64], i64, [1 x i64] }) align 8 captures(none) dereferenceable(24) %24, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %143) to label %.noexc568 unwind label %947 -.noexc568: ; preds = %1840 - %1841 = getelementptr inbounds nuw i8, ptr %24, i64 8 - %1842 = load i64, ptr %1841, align 8, !range !215, !noalias !2284, !noundef !14 - %.not.i.i.i567 = icmp eq i64 %1842, 0 - br i1 %.not.i.i.i567, label %"_ZN4core3ptr143drop_in_place$LT$alloc..vec..Vec$LT$$LP$$RF$tree_sitter_cli..generate..rules..Precedence$C$tree_sitter_cli..generate..rules..Symbol$RP$$GT$$GT$17h1cc4420422d14f3bE.exit", label %1843 - -1843: ; preds = %.noexc568 - %1844 = load ptr, ptr %24, align 8, !noalias !2284, !nonnull !14, !noundef !14 - %1845 = getelementptr inbounds nuw i8, ptr %24, i64 16 - %1846 = load i64, ptr %1845, align 8, !noalias !2284, !noundef !14 - invoke void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17hae8e459b587c5295E.llvm.15559585470061597875"(ptr noalias noundef nonnull readonly align 1 %341, ptr noundef nonnull %1844, i64 noundef %1842, i64 noundef %1846) +.noexc568: ; preds = %1838 + %1839 = getelementptr inbounds nuw i8, ptr %24, i64 8 + %1840 = load i64, ptr %1839, align 8, !range !215, !noalias !2284, !noundef !14 + %.not.i.i.i567 = icmp eq i64 %1840, 0 + br i1 %.not.i.i.i567, label %"_ZN4core3ptr143drop_in_place$LT$alloc..vec..Vec$LT$$LP$$RF$tree_sitter_cli..generate..rules..Precedence$C$tree_sitter_cli..generate..rules..Symbol$RP$$GT$$GT$17h1cc4420422d14f3bE.exit", label %1841 + +1841: ; preds = %.noexc568 + %1842 = load ptr, ptr %24, align 8, !noalias !2284, !nonnull !14, !noundef !14 + %1843 = getelementptr inbounds nuw i8, ptr %24, i64 16 + %1844 = load i64, ptr %1843, align 8, !noalias !2284, !noundef !14 + invoke void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17hae8e459b587c5295E.llvm.15559585470061597875"(ptr noalias noundef nonnull readonly align 1 %341, ptr noundef nonnull %1842, i64 noundef %1840, i64 noundef %1844) to label %"_ZN4core3ptr143drop_in_place$LT$alloc..vec..Vec$LT$$LP$$RF$tree_sitter_cli..generate..rules..Precedence$C$tree_sitter_cli..generate..rules..Symbol$RP$$GT$$GT$17h1cc4420422d14f3bE.exit" unwind label %947 -"_ZN4core3ptr143drop_in_place$LT$alloc..vec..Vec$LT$$LP$$RF$tree_sitter_cli..generate..rules..Precedence$C$tree_sitter_cli..generate..rules..Symbol$RP$$GT$$GT$17h1cc4420422d14f3bE.exit": ; preds = %1843, %.noexc568 +"_ZN4core3ptr143drop_in_place$LT$alloc..vec..Vec$LT$$LP$$RF$tree_sitter_cli..generate..rules..Precedence$C$tree_sitter_cli..generate..rules..Symbol$RP$$GT$$GT$17h1cc4420422d14f3bE.exit": ; preds = %1841, %.noexc568 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %24), !noalias !2284 br label %.body -1847: ; preds = %"_ZN4core3ptr143drop_in_place$LT$alloc..vec..Vec$LT$$LP$$RF$tree_sitter_cli..generate..rules..Precedence$C$tree_sitter_cli..generate..rules..Symbol$RP$$GT$$GT$17h1cc4420422d14f3bE.exit461.i", %"_ZN4core3ptr125drop_in_place$LT$std..collections..hash..set..HashSet$LT$$RF$tree_sitter_cli..generate..build_tables..item..ParseItem$GT$$GT$17h409f9efc37644a94E.exit.i" +1845: ; preds = %"_ZN4core3ptr143drop_in_place$LT$alloc..vec..Vec$LT$$LP$$RF$tree_sitter_cli..generate..rules..Precedence$C$tree_sitter_cli..generate..rules..Symbol$RP$$GT$$GT$17h1cc4420422d14f3bE.exit461.i", %"_ZN4core3ptr125drop_in_place$LT$std..collections..hash..set..HashSet$LT$$RF$tree_sitter_cli..generate..build_tables..item..ParseItem$GT$$GT$17h409f9efc37644a94E.exit.i" call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %143), !noalias !1528 call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %124) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %144) br label %377 -1848: ; preds = %1316, %"_ZN4core3ptr143drop_in_place$LT$alloc..vec..Vec$LT$$LP$$RF$tree_sitter_cli..generate..rules..Precedence$C$tree_sitter_cli..generate..rules..Symbol$RP$$GT$$GT$17h1cc4420422d14f3bE.exit.i" +1846: ; preds = %1316, %"_ZN4core3ptr143drop_in_place$LT$alloc..vec..Vec$LT$$LP$$RF$tree_sitter_cli..generate..rules..Precedence$C$tree_sitter_cli..generate..rules..Symbol$RP$$GT$$GT$17h1cc4420422d14f3bE.exit.i" call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %143), !noalias !1528 call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %124) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %144) @@ -13191,20 +13189,20 @@ _ZN11smallbitvec11SmallBitVec3len17hd19085f87d1dfa85E.llvm.16258808753110442553. "_ZN4core3ptr181drop_in_place$LT$std..collections..hash..map..HashMap$LT$tree_sitter_cli..generate..rules..Symbol$C$tree_sitter_cli..generate..build_tables..build_parse_table..ReductionInfo$GT$$GT$17ha313f1c89f15fc78E.exit318": ; preds = %636, %.noexc316 call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %184) invoke void @"_ZN66_$LT$smallbitvec..SmallBitVec$u20$as$u20$core..ops..drop..Drop$GT$4drop17h7b238e93c8769f52E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %185) - to label %"_ZN4core3ptr45drop_in_place$LT$smallbitvec..SmallBitVec$GT$17h9713162d70069c8cE.exit.i346" unwind label %1849 + to label %"_ZN4core3ptr45drop_in_place$LT$smallbitvec..SmallBitVec$GT$17h9713162d70069c8cE.exit.i346" unwind label %1847 -1849: ; preds = %"_ZN4core3ptr181drop_in_place$LT$std..collections..hash..map..HashMap$LT$tree_sitter_cli..generate..rules..Symbol$C$tree_sitter_cli..generate..build_tables..build_parse_table..ReductionInfo$GT$$GT$17ha313f1c89f15fc78E.exit318" - %1850 = landingpad { ptr, i32 } +1847: ; preds = %"_ZN4core3ptr181drop_in_place$LT$std..collections..hash..map..HashMap$LT$tree_sitter_cli..generate..rules..Symbol$C$tree_sitter_cli..generate..build_tables..build_parse_table..ReductionInfo$GT$$GT$17ha313f1c89f15fc78E.exit318" + %1848 = landingpad { ptr, i32 } cleanup invoke void @"_ZN66_$LT$smallbitvec..SmallBitVec$u20$as$u20$core..ops..drop..Drop$GT$4drop17h7b238e93c8769f52E"(ptr noalias noundef nonnull align 8 dereferenceable(8) %190) - to label %.thread.thread unwind label %1851 + to label %.thread.thread unwind label %1849 "_ZN4core3ptr45drop_in_place$LT$smallbitvec..SmallBitVec$GT$17h9713162d70069c8cE.exit.i346": ; preds = %"_ZN4core3ptr181drop_in_place$LT$std..collections..hash..map..HashMap$LT$tree_sitter_cli..generate..rules..Symbol$C$tree_sitter_cli..generate..build_tables..build_parse_table..ReductionInfo$GT$$GT$17ha313f1c89f15fc78E.exit318" invoke void @"_ZN66_$LT$smallbitvec..SmallBitVec$u20$as$u20$core..ops..drop..Drop$GT$4drop17h7b238e93c8769f52E"(ptr noalias noundef nonnull align 8 dereferenceable(8) %190) to label %"_ZN4core3ptr63drop_in_place$LT$tree_sitter_cli..generate..rules..TokenSet$GT$17h396ba17e58616e58E.exit350" unwind label %196 -1851: ; preds = %1849 - %1852 = landingpad { ptr, i32 } +1849: ; preds = %1847 + %1850 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer call void @_ZN4core9panicking16panic_in_cleanup17h55eb1d85cadde1a1E() #48 unreachable @@ -13214,105 +13212,105 @@ _ZN11smallbitvec11SmallBitVec3len17hd19085f87d1dfa85E.llvm.16258808753110442553. call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %186) call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %187) invoke void @"_ZN4core3ptr123drop_in_place$LT$alloc..vec..Vec$LT$tree_sitter_cli..generate..build_tables..build_parse_table..AuxiliarySymbolInfo$GT$$GT$17hef974d05da1465a5E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %2) - to label %1853 unwind label %586 + to label %1851 unwind label %586 -1853: ; preds = %"_ZN4core3ptr63drop_in_place$LT$tree_sitter_cli..generate..rules..TokenSet$GT$17h396ba17e58616e58E.exit350" +1851: ; preds = %"_ZN4core3ptr63drop_in_place$LT$tree_sitter_cli..generate..rules..TokenSet$GT$17h396ba17e58616e58E.exit350" call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %71), !noalias !2291 call void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h8a9e96d781a37305E.llvm.15559585470061597875"(ptr noalias noundef nonnull sret({ [1 x i64], i64, [1 x i64] }) align 8 captures(none) dereferenceable(24) %71, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %1) - %1854 = getelementptr inbounds nuw i8, ptr %71, i64 8 - %1855 = load i64, ptr %1854, align 8, !range !215, !noalias !2291, !noundef !14 - %.not.i.i.i351 = icmp eq i64 %1855, 0 - br i1 %.not.i.i.i351, label %"_ZN4core3ptr84drop_in_place$LT$alloc..vec..Vec$LT$tree_sitter_cli..generate..rules..Symbol$GT$$GT$17h9f9eb7a2fc792556E.exit352", label %1856 - -1856: ; preds = %1853 - %1857 = load ptr, ptr %71, align 8, !noalias !2291, !nonnull !14, !noundef !14 - %1858 = getelementptr inbounds nuw i8, ptr %71, i64 16 - %1859 = load i64, ptr %1858, align 8, !noalias !2291, !noundef !14 - call void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17hae8e459b587c5295E.llvm.15559585470061597875"(ptr noalias noundef nonnull readonly align 1 %284, ptr noundef nonnull %1857, i64 noundef %1855, i64 noundef %1859) + %1852 = getelementptr inbounds nuw i8, ptr %71, i64 8 + %1853 = load i64, ptr %1852, align 8, !range !215, !noalias !2291, !noundef !14 + %.not.i.i.i351 = icmp eq i64 %1853, 0 + br i1 %.not.i.i.i351, label %"_ZN4core3ptr84drop_in_place$LT$alloc..vec..Vec$LT$tree_sitter_cli..generate..rules..Symbol$GT$$GT$17h9f9eb7a2fc792556E.exit352", label %1854 + +1854: ; preds = %1851 + %1855 = load ptr, ptr %71, align 8, !noalias !2291, !nonnull !14, !noundef !14 + %1856 = getelementptr inbounds nuw i8, ptr %71, i64 16 + %1857 = load i64, ptr %1856, align 8, !noalias !2291, !noundef !14 + call void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17hae8e459b587c5295E.llvm.15559585470061597875"(ptr noalias noundef nonnull readonly align 1 %284, ptr noundef nonnull %1855, i64 noundef %1853, i64 noundef %1857) br label %"_ZN4core3ptr84drop_in_place$LT$alloc..vec..Vec$LT$tree_sitter_cli..generate..rules..Symbol$GT$$GT$17h9f9eb7a2fc792556E.exit352" -"_ZN4core3ptr84drop_in_place$LT$alloc..vec..Vec$LT$tree_sitter_cli..generate..rules..Symbol$GT$$GT$17h9f9eb7a2fc792556E.exit352": ; preds = %1853, %1856 +"_ZN4core3ptr84drop_in_place$LT$alloc..vec..Vec$LT$tree_sitter_cli..generate..rules..Symbol$GT$$GT$17h9f9eb7a2fc792556E.exit352": ; preds = %1851, %1854 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %71), !noalias !2291 br label %595 -.thread359.loopexit: ; preds = %1878, %1860 +.thread359.loopexit: ; preds = %1876, %1858 %lpad.loopexit523 = landingpad { ptr, i32 } cleanup br label %.thread359 -.thread359.loopexit.split-lp: ; preds = %1877 +.thread359.loopexit.split-lp: ; preds = %1875 %lpad.loopexit.split-lp524 = landingpad { ptr, i32 } cleanup br label %.thread359 -1860: ; preds = %.noexc276, %323 - %1861 = phi i64 [ %.pre.i275, %.noexc276 ], [ %324, %323 ] - %1862 = load ptr, ptr %285, align 8, !alias.scope !1261, !nonnull !14, !noundef !14 - %1863 = getelementptr inbounds { i64, i8 }, ptr %1862, i64 %1861 - store i64 %317, ptr %1863, align 8 - %1864 = getelementptr inbounds nuw i8, ptr %1863, i64 8 - store i8 %319, ptr %1864, align 8 - %1865 = load i64, ptr %284, align 8, !alias.scope !1261, !noundef !14 - %1866 = add i64 %1865, 1 - store i64 %1866, ptr %284, align 8, !alias.scope !1261 +1858: ; preds = %.noexc276, %323 + %1859 = phi i64 [ %.pre.i275, %.noexc276 ], [ %324, %323 ] + %1860 = load ptr, ptr %285, align 8, !alias.scope !1261, !nonnull !14, !noundef !14 + %1861 = getelementptr inbounds { i64, i8 }, ptr %1860, i64 %1859 + store i64 %317, ptr %1861, align 8 + %1862 = getelementptr inbounds nuw i8, ptr %1861, i64 8 + store i8 %319, ptr %1862, align 8 + %1863 = load i64, ptr %284, align 8, !alias.scope !1261, !noundef !14 + %1864 = add i64 %1863, 1 + store i64 %1864, ptr %284, align 8, !alias.scope !1261 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %170) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %170, ptr noundef nonnull align 8 dereferenceable(24) %171, i64 24, i1 false) %.val219 = load ptr, ptr %285, align 8 %.val221 = load ptr, ptr %286, align 8 %.val222 = load i64, ptr %287, align 8 - %1867 = invoke fastcc noundef i64 @_ZN15tree_sitter_cli8generate12build_tables17build_parse_table17ParseTableBuilder15add_parse_state17h2176b3907a5f5238E(ptr noalias noundef align 8 dereferenceable(512) %0, ptr %.val219, i64 %1866, ptr %.val221, i64 %.val222, ptr noalias noundef align 8 captures(none) dereferenceable(24) %170) - to label %1868 unwind label %.thread359.loopexit + %1865 = invoke fastcc noundef i64 @_ZN15tree_sitter_cli8generate12build_tables17build_parse_table17ParseTableBuilder15add_parse_state17h2176b3907a5f5238E(ptr noalias noundef align 8 dereferenceable(512) %0, ptr %.val219, i64 %1864, ptr %.val221, i64 %.val222, ptr noalias noundef align 8 captures(none) dereferenceable(24) %170) + to label %1866 unwind label %.thread359.loopexit -1868: ; preds = %1860 +1866: ; preds = %1858 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %170) - %1869 = load i64, ptr %284, align 8, !alias.scope !2298, !noundef !14 - %1870 = icmp eq i64 %1869, 0 - br i1 %1870, label %1875, label %1871 - -1871: ; preds = %1868 - %1872 = add i64 %1869, -1 - store i64 %1872, ptr %284, align 8, !alias.scope !2298 - %1873 = load i64, ptr %1, align 8, !alias.scope !2298, !noundef !14 - %1874 = icmp ult i64 %1872, %1873 - call void @llvm.assume(i1 %1874) - br label %1875 - -1875: ; preds = %1871, %1868 + %1867 = load i64, ptr %284, align 8, !alias.scope !2298, !noundef !14 + %1868 = icmp eq i64 %1867, 0 + br i1 %1868, label %1873, label %1869 + +1869: ; preds = %1866 + %1870 = add i64 %1867, -1 + store i64 %1870, ptr %284, align 8, !alias.scope !2298 + %1871 = load i64, ptr %1, align 8, !alias.scope !2298, !noundef !14 + %1872 = icmp ult i64 %1870, %1871 + call void @llvm.assume(i1 %1872) + br label %1873 + +1873: ; preds = %1869, %1866 %.val228 = load i64, ptr %288, align 8, !noundef !14 - %1876 = icmp ult i64 %3, %.val228 - br i1 %1876, label %1878, label %1877, !prof !204 + %1874 = icmp ult i64 %3, %.val228 + br i1 %1874, label %1876, label %1875, !prof !204 -1877: ; preds = %1875 +1875: ; preds = %1873 invoke void @_ZN4core9panicking18panic_bounds_check17h8331054858f0bf20E(i64 noundef %3, i64 noundef %.val228, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.f4ab2160caa6653ef344418ff3b39bb7.68) #45 to label %.noexc355 unwind label %.thread359.loopexit.split-lp -.noexc355: ; preds = %1877 +.noexc355: ; preds = %1875 unreachable -1878: ; preds = %1875 +1876: ; preds = %1873 %.val227 = load ptr, ptr %289, align 8, !nonnull !14, !noundef !14 - %1879 = getelementptr inbounds [0 x { { { { { i64, ptr }, i64 }, { { ptr, i64, i64, i64 }, {}, {} } }, { {} } }, { { { { i64, ptr }, i64 }, { { ptr, i64, i64, i64 }, {}, {} } }, { {} } }, i64, i64, i64, i64 }], ptr %.val227, i64 0, i64 %3, i32 1 + %1877 = getelementptr inbounds [0 x { { { { { i64, ptr }, i64 }, { { ptr, i64, i64, i64 }, {}, {} } }, { {} } }, { { { { i64, ptr }, i64 }, { { ptr, i64, i64, i64 }, {}, {} } }, { {} } }, i64, i64, i64, i64 }], ptr %.val227, i64 0, i64 %3, i32 1 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %158) - %1880 = zext nneg i8 %319 to i64 - %1881 = mul i64 %1880, 5871781006564002453 - %1882 = call i64 @llvm.fshl.i64(i64 %1881, i64 %1881, i64 5) - %1883 = xor i64 %1882, %317 - %1884 = mul i64 %1883, 5871781006564002453 - invoke void @"_ZN8indexmap3map4core25IndexMapCore$LT$K$C$V$GT$11insert_full17h2e78c119a4cb4071E"(ptr noalias noundef nonnull sret({ i64, { i64, i64 } }) align 8 captures(none) dereferenceable(24) %158, ptr noalias noundef nonnull align 8 dereferenceable(56) %1879, i64 noundef %1884, i64 noundef %317, i8 noundef %319, i64 noundef 0, i64 %1867) + %1878 = zext nneg i8 %319 to i64 + %1879 = mul i64 %1878, 5871781006564002453 + %1880 = call i64 @llvm.fshl.i64(i64 %1879, i64 %1879, i64 5) + %1881 = xor i64 %1880, %317 + %1882 = mul i64 %1881, 5871781006564002453 + invoke void @"_ZN8indexmap3map4core25IndexMapCore$LT$K$C$V$GT$11insert_full17h2e78c119a4cb4071E"(ptr noalias noundef nonnull sret({ i64, { i64, i64 } }) align 8 captures(none) dereferenceable(24) %158, ptr noalias noundef nonnull align 8 dereferenceable(56) %1877, i64 noundef %1882, i64 noundef %317, i8 noundef %319, i64 noundef 0, i64 %1865) to label %"_ZN8indexmap3map25IndexMap$LT$K$C$V$C$S$GT$11insert_full17h9cda9bf036179109E.exit358" unwind label %.thread359.loopexit -"_ZN8indexmap3map25IndexMap$LT$K$C$V$C$S$GT$11insert_full17h9cda9bf036179109E.exit358": ; preds = %1878 +"_ZN8indexmap3map25IndexMap$LT$K$C$V$C$S$GT$11insert_full17h9cda9bf036179109E.exit358": ; preds = %1876 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %158) call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %171) br label %310 -1885: ; preds = %327 +1883: ; preds = %327 %lpad.thr_comm.split-lp = landingpad { ptr, i32 } cleanup invoke void @"_ZN4core3ptr80drop_in_place$LT$tree_sitter_cli..generate..build_tables..item..ParseItemSet$GT$17h2f587ff327fc8446E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %171) #47 to label %.thread359 unwind label %640 -.thread366.loopexit: ; preds = %1948, %1926, %1903, %1886, %1943 +.thread366.loopexit: ; preds = %1946, %1924, %1901, %1884, %1941 %lpad.loopexit527 = landingpad { ptr, i32 } cleanup br label %.thread366 @@ -13322,84 +13320,84 @@ _ZN11smallbitvec11SmallBitVec3len17hd19085f87d1dfa85E.llvm.16258808753110442553. cleanup br label %.thread366 -1886: ; preds = %.noexc247, %305 - %1887 = phi i64 [ %.pre.i, %.noexc247 ], [ %306, %305 ] - %1888 = load ptr, ptr %285, align 8, !alias.scope !1249, !nonnull !14, !noundef !14 - %1889 = getelementptr inbounds { i64, i8 }, ptr %1888, i64 %1887 - store i64 %299, ptr %1889, align 8 - %1890 = getelementptr inbounds nuw i8, ptr %1889, i64 8 - store i8 %301, ptr %1890, align 8 - %1891 = load i64, ptr %284, align 8, !alias.scope !1249, !noundef !14 - %1892 = add i64 %1891, 1 - store i64 %1892, ptr %284, align 8, !alias.scope !1249 +1884: ; preds = %.noexc247, %305 + %1885 = phi i64 [ %.pre.i, %.noexc247 ], [ %306, %305 ] + %1886 = load ptr, ptr %285, align 8, !alias.scope !1249, !nonnull !14, !noundef !14 + %1887 = getelementptr inbounds { i64, i8 }, ptr %1886, i64 %1885 + store i64 %299, ptr %1887, align 8 + %1888 = getelementptr inbounds nuw i8, ptr %1887, i64 8 + store i8 %301, ptr %1888, align 8 + %1889 = load i64, ptr %284, align 8, !alias.scope !1249, !noundef !14 + %1890 = add i64 %1889, 1 + store i64 %1890, ptr %284, align 8, !alias.scope !1249 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %174) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %174, ptr noundef nonnull align 8 dereferenceable(24) %175, i64 24, i1 false) %.val215 = load ptr, ptr %285, align 8 %.val217 = load ptr, ptr %286, align 8 %.val218 = load i64, ptr %287, align 8 - %1893 = invoke fastcc noundef i64 @_ZN15tree_sitter_cli8generate12build_tables17build_parse_table17ParseTableBuilder15add_parse_state17h2176b3907a5f5238E(ptr noalias noundef align 8 dereferenceable(512) %0, ptr %.val215, i64 %1892, ptr %.val217, i64 %.val218, ptr noalias noundef align 8 captures(none) dereferenceable(24) %174) - to label %1894 unwind label %.thread366.loopexit + %1891 = invoke fastcc noundef i64 @_ZN15tree_sitter_cli8generate12build_tables17build_parse_table17ParseTableBuilder15add_parse_state17h2176b3907a5f5238E(ptr noalias noundef align 8 dereferenceable(512) %0, ptr %.val215, i64 %1890, ptr %.val217, i64 %.val218, ptr noalias noundef align 8 captures(none) dereferenceable(24) %174) + to label %1892 unwind label %.thread366.loopexit -1894: ; preds = %1886 +1892: ; preds = %1884 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %174) - %1895 = load i64, ptr %284, align 8, !alias.scope !2301, !noundef !14 - %1896 = icmp eq i64 %1895, 0 - br i1 %1896, label %1901, label %1897 - -1897: ; preds = %1894 - %1898 = add i64 %1895, -1 - store i64 %1898, ptr %284, align 8, !alias.scope !2301 - %1899 = load i64, ptr %1, align 8, !alias.scope !2301, !noundef !14 - %1900 = icmp ult i64 %1898, %1899 - call void @llvm.assume(i1 %1900) - br label %1901 - -1901: ; preds = %1897, %1894 + %1893 = load i64, ptr %284, align 8, !alias.scope !2301, !noundef !14 + %1894 = icmp eq i64 %1893, 0 + br i1 %1894, label %1899, label %1895 + +1895: ; preds = %1892 + %1896 = add i64 %1893, -1 + store i64 %1896, ptr %284, align 8, !alias.scope !2301 + %1897 = load i64, ptr %1, align 8, !alias.scope !2301, !noundef !14 + %1898 = icmp ult i64 %1896, %1897 + call void @llvm.assume(i1 %1898) + br label %1899 + +1899: ; preds = %1895, %1892 call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %173) %.val226 = load i64, ptr %288, align 8, !noundef !14 - %1902 = icmp ult i64 %3, %.val226 - br i1 %1902, label %1903, label %.invoke1946, !prof !204 + %1900 = icmp ult i64 %3, %.val226 + br i1 %1900, label %1901, label %.invoke1946, !prof !204 -1903: ; preds = %1901 +1901: ; preds = %1899 %.val225 = load ptr, ptr %289, align 8, !nonnull !14, !noundef !14 - %1904 = getelementptr inbounds [0 x { { { { { i64, ptr }, i64 }, { { ptr, i64, i64, i64 }, {}, {} } }, { {} } }, { { { { i64, ptr }, i64 }, { { ptr, i64, i64, i64 }, {}, {} } }, { {} } }, i64, i64, i64, i64 }], ptr %.val225, i64 0, i64 %3 - %1905 = zext nneg i8 %301 to i64 - %1906 = mul i64 %1905, 5871781006564002453 - %1907 = call i64 @llvm.fshl.i64(i64 %1906, i64 %1906, i64 5) - %1908 = xor i64 %1907, %299 - %1909 = mul i64 %1908, 5871781006564002453 - invoke void @"_ZN8indexmap3map4core5entry64_$LT$impl$u20$indexmap..map..core..IndexMapCore$LT$K$C$V$GT$$GT$5entry17h3ec7757540be6419E"(ptr noalias noundef nonnull sret({ [24 x i8], i8, [7 x i8] }) align 8 captures(none) dereferenceable(32) %173, ptr noalias noundef nonnull align 8 dereferenceable(56) %1904, i64 noundef %1909, i64 noundef %299, i8 noundef %301) + %1902 = getelementptr inbounds [0 x { { { { { i64, ptr }, i64 }, { { ptr, i64, i64, i64 }, {}, {} } }, { {} } }, { { { { i64, ptr }, i64 }, { { ptr, i64, i64, i64 }, {}, {} } }, { {} } }, i64, i64, i64, i64 }], ptr %.val225, i64 0, i64 %3 + %1903 = zext nneg i8 %301 to i64 + %1904 = mul i64 %1903, 5871781006564002453 + %1905 = call i64 @llvm.fshl.i64(i64 %1904, i64 %1904, i64 5) + %1906 = xor i64 %1905, %299 + %1907 = mul i64 %1906, 5871781006564002453 + invoke void @"_ZN8indexmap3map4core5entry64_$LT$impl$u20$indexmap..map..core..IndexMapCore$LT$K$C$V$GT$$GT$5entry17h3ec7757540be6419E"(ptr noalias noundef nonnull sret({ [24 x i8], i8, [7 x i8] }) align 8 captures(none) dereferenceable(32) %173, ptr noalias noundef nonnull align 8 dereferenceable(56) %1902, i64 noundef %1907, i64 noundef %299, i8 noundef %301) to label %"_ZN8indexmap3map25IndexMap$LT$K$C$V$C$S$GT$5entry17h7dbe78f66ea307a4E.exit365" unwind label %.thread366.loopexit -"_ZN8indexmap3map25IndexMap$LT$K$C$V$C$S$GT$5entry17h7dbe78f66ea307a4E.exit365": ; preds = %1903 - %1910 = load i8, ptr %290, align 8, !range !638, !noundef !14 - %1911 = icmp eq i8 %1910, 5 - br i1 %1911, label %1912, label %1926 +"_ZN8indexmap3map25IndexMap$LT$K$C$V$C$S$GT$5entry17h7dbe78f66ea307a4E.exit365": ; preds = %1901 + %1908 = load i8, ptr %290, align 8, !range !638, !noundef !14 + %1909 = icmp eq i8 %1908, 5 + br i1 %1909, label %1910, label %1924 -1912: ; preds = %"_ZN8indexmap3map25IndexMap$LT$K$C$V$C$S$GT$5entry17h7dbe78f66ea307a4E.exit365" +1910: ; preds = %"_ZN8indexmap3map25IndexMap$LT$K$C$V$C$S$GT$5entry17h7dbe78f66ea307a4E.exit365" call void @llvm.experimental.noalias.scope.decl(metadata !2304) - %1913 = load ptr, ptr %173, align 8, !alias.scope !2304, !nonnull !14, !align !82, !noundef !14 - %1914 = load ptr, ptr %.sroa.5112.0..sroa_idx, align 8, !alias.scope !2304, !nonnull !14, !noundef !14 - %1915 = getelementptr inbounds i8, ptr %1914, i64 -8 - %1916 = load i64, ptr %1915, align 8, !noalias !2304, !noundef !14 - %1917 = getelementptr inbounds nuw i8, ptr %1913, i64 16 - %1918 = load i64, ptr %1917, align 8, !alias.scope !2307, !noalias !2310, !noundef !14 - %1919 = icmp ult i64 %1916, %1918 - br i1 %1919, label %1937, label %.invoke1946, !prof !204 - -1920: ; preds = %._crit_edge, %1937 - %1921 = phi i64 [ %.pre1509, %._crit_edge ], [ %1918, %1937 ] - %1922 = phi i64 [ %.pre1508, %._crit_edge ], [ %1916, %1937 ] + %1911 = load ptr, ptr %173, align 8, !alias.scope !2304, !nonnull !14, !align !82, !noundef !14 + %1912 = load ptr, ptr %.sroa.5112.0..sroa_idx, align 8, !alias.scope !2304, !nonnull !14, !noundef !14 + %1913 = getelementptr inbounds i8, ptr %1912, i64 -8 + %1914 = load i64, ptr %1913, align 8, !noalias !2304, !noundef !14 + %1915 = getelementptr inbounds nuw i8, ptr %1911, i64 16 + %1916 = load i64, ptr %1915, align 8, !alias.scope !2307, !noalias !2310, !noundef !14 + %1917 = icmp ult i64 %1914, %1916 + br i1 %1917, label %1935, label %.invoke1946, !prof !204 + +1918: ; preds = %._crit_edge, %1935 + %1919 = phi i64 [ %.pre1509, %._crit_edge ], [ %1916, %1935 ] + %1920 = phi i64 [ %.pre1508, %._crit_edge ], [ %1914, %1935 ] call void @llvm.experimental.noalias.scope.decl(metadata !2312) - %1923 = icmp ult i64 %1922, %1921 - br i1 %1923, label %"_ZN8indexmap3map4core5entry26OccupiedEntry$LT$K$C$V$GT$8into_mut17h36e6138cdcc26ef0E.llvm.13013766950239737229.exit.i", label %.invoke1946, !prof !204 + %1921 = icmp ult i64 %1920, %1919 + br i1 %1921, label %"_ZN8indexmap3map4core5entry26OccupiedEntry$LT$K$C$V$GT$8into_mut17h36e6138cdcc26ef0E.llvm.13013766950239737229.exit.i", label %.invoke1946, !prof !204 -"_ZN8indexmap3map4core5entry26OccupiedEntry$LT$K$C$V$GT$8into_mut17h36e6138cdcc26ef0E.llvm.13013766950239737229.exit.i": ; preds = %1920 - %1924 = load ptr, ptr %1938, align 8, !alias.scope !2315, !noalias !2318, !nonnull !14, !noundef !14 - %1925 = getelementptr inbounds [0 x { { { { i64, ptr }, i64 }, i8, [7 x i8] }, { i64, i8 }, i64 }], ptr %1924, i64 0, i64 %1922 +"_ZN8indexmap3map4core5entry26OccupiedEntry$LT$K$C$V$GT$8into_mut17h36e6138cdcc26ef0E.llvm.13013766950239737229.exit.i": ; preds = %1918 + %1922 = load ptr, ptr %1936, align 8, !alias.scope !2315, !noalias !2318, !nonnull !14, !noundef !14 + %1923 = getelementptr inbounds [0 x { { { { i64, ptr }, i64 }, i8, [7 x i8] }, { i64, i8 }, i64 }], ptr %1922, i64 0, i64 %1920 br label %"_ZN8indexmap3map4core5entry18Entry$LT$K$C$V$GT$14or_insert_with17h022089156c9e195aE.exit" -1926: ; preds = %"_ZN8indexmap3map25IndexMap$LT$K$C$V$C$S$GT$5entry17h7dbe78f66ea307a4E.exit365" +1924: ; preds = %"_ZN8indexmap3map25IndexMap$LT$K$C$V$C$S$GT$5entry17h7dbe78f66ea307a4E.exit365" %.sroa.0111.0.copyload = load i64, ptr %173, align 8 %.sroa.5112.0.copyload = load ptr, ptr %.sroa.5112.0..sroa_idx, align 8, !nonnull !14, !noundef !14 %.sroa.6113.0.copyload = load i64, ptr %.sroa.6113.0..sroa_idx, align 8 @@ -13408,147 +13406,147 @@ _ZN11smallbitvec11SmallBitVec3len17hd19085f87d1dfa85E.llvm.16258808753110442553. store ptr inttoptr (i64 8 to ptr), ptr %.sroa.4.0..sroa_idx.i.i.i367, align 8, !alias.scope !2323, !noalias !2322 store i64 0, ptr %.sroa.5.0..sroa_idx.i.i.i, align 8, !alias.scope !2323, !noalias !2322 store i8 1, ptr %291, align 8, !alias.scope !2323, !noalias !2322 - %1927 = invoke noundef i64 @"_ZN8indexmap3map4core25IndexMapCore$LT$K$C$V$GT$13insert_unique17h83de7fb54998dc0aE"(ptr noalias noundef nonnull align 8 dereferenceable(56) %.sroa.5112.0.copyload, i64 noundef %.sroa.0111.0.copyload, i64 noundef %.sroa.6113.0.copyload, i8 noundef %1910, ptr noalias noundef nonnull align 8 captures(none) dereferenceable(32) %70) + %1925 = invoke noundef i64 @"_ZN8indexmap3map4core25IndexMapCore$LT$K$C$V$GT$13insert_unique17h83de7fb54998dc0aE"(ptr noalias noundef nonnull align 8 dereferenceable(56) %.sroa.5112.0.copyload, i64 noundef %.sroa.0111.0.copyload, i64 noundef %.sroa.6113.0.copyload, i8 noundef %1908, ptr noalias noundef nonnull align 8 captures(none) dereferenceable(32) %70) to label %.noexc370 unwind label %.thread366.loopexit -.noexc370: ; preds = %1926 - %1928 = getelementptr inbounds nuw i8, ptr %.sroa.5112.0.copyload, i64 16 - %1929 = load i64, ptr %1928, align 8, !alias.scope !2328, !noalias !2331, !noundef !14 - %1930 = icmp ult i64 %1927, %1929 - br i1 %1930, label %"_ZN8indexmap3map4core5entry24VacantEntry$LT$K$C$V$GT$6insert17h67da38960209a3f8E.llvm.13013766950239737229.exit.i", label %.invoke1946, !prof !204 - -.invoke1946: ; preds = %.noexc370, %1920, %1912, %1901 - %1931 = phi i64 [ %3, %1901 ], [ %1916, %1912 ], [ %1922, %1920 ], [ %1927, %.noexc370 ] - %1932 = phi i64 [ %.val226, %1901 ], [ %1918, %1912 ], [ %1921, %1920 ], [ %1929, %.noexc370 ] - %1933 = phi ptr [ @anon.f4ab2160caa6653ef344418ff3b39bb7.69, %1901 ], [ @anon.f31d50c2a975b2e4c3e6185a4e00145e.167.llvm.13013766950239737229, %1912 ], [ @anon.f31d50c2a975b2e4c3e6185a4e00145e.168.llvm.13013766950239737229, %1920 ], [ @anon.f31d50c2a975b2e4c3e6185a4e00145e.165.llvm.13013766950239737229, %.noexc370 ] - invoke void @_ZN4core9panicking18panic_bounds_check17h8331054858f0bf20E(i64 noundef %1931, i64 noundef %1932, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %1933) #45 +.noexc370: ; preds = %1924 + %1926 = getelementptr inbounds nuw i8, ptr %.sroa.5112.0.copyload, i64 16 + %1927 = load i64, ptr %1926, align 8, !alias.scope !2328, !noalias !2331, !noundef !14 + %1928 = icmp ult i64 %1925, %1927 + br i1 %1928, label %"_ZN8indexmap3map4core5entry24VacantEntry$LT$K$C$V$GT$6insert17h67da38960209a3f8E.llvm.13013766950239737229.exit.i", label %.invoke1946, !prof !204 + +.invoke1946: ; preds = %.noexc370, %1918, %1910, %1899 + %1929 = phi i64 [ %3, %1899 ], [ %1914, %1910 ], [ %1920, %1918 ], [ %1925, %.noexc370 ] + %1930 = phi i64 [ %.val226, %1899 ], [ %1916, %1910 ], [ %1919, %1918 ], [ %1927, %.noexc370 ] + %1931 = phi ptr [ @anon.f4ab2160caa6653ef344418ff3b39bb7.69, %1899 ], [ @anon.f31d50c2a975b2e4c3e6185a4e00145e.167.llvm.13013766950239737229, %1910 ], [ @anon.f31d50c2a975b2e4c3e6185a4e00145e.168.llvm.13013766950239737229, %1918 ], [ @anon.f31d50c2a975b2e4c3e6185a4e00145e.165.llvm.13013766950239737229, %.noexc370 ] + invoke void @_ZN4core9panicking18panic_bounds_check17h8331054858f0bf20E(i64 noundef %1929, i64 noundef %1930, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %1931) #45 to label %.cont1947 unwind label %.thread366.loopexit.split-lp .cont1947: ; preds = %.invoke1946 unreachable "_ZN8indexmap3map4core5entry24VacantEntry$LT$K$C$V$GT$6insert17h67da38960209a3f8E.llvm.13013766950239737229.exit.i": ; preds = %.noexc370 - %1934 = getelementptr inbounds nuw i8, ptr %.sroa.5112.0.copyload, i64 8 - %1935 = load ptr, ptr %1934, align 8, !alias.scope !2328, !noalias !2331, !nonnull !14, !noundef !14 - %1936 = getelementptr inbounds [0 x { { { { i64, ptr }, i64 }, i8, [7 x i8] }, { i64, i8 }, i64 }], ptr %1935, i64 0, i64 %1927 + %1932 = getelementptr inbounds nuw i8, ptr %.sroa.5112.0.copyload, i64 8 + %1933 = load ptr, ptr %1932, align 8, !alias.scope !2328, !noalias !2331, !nonnull !14, !noundef !14 + %1934 = getelementptr inbounds [0 x { { { { i64, ptr }, i64 }, i8, [7 x i8] }, { i64, i8 }, i64 }], ptr %1933, i64 0, i64 %1925 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %70), !noalias !2322 br label %"_ZN8indexmap3map4core5entry18Entry$LT$K$C$V$GT$14or_insert_with17h022089156c9e195aE.exit" -1937: ; preds = %1912 - %1938 = getelementptr inbounds nuw i8, ptr %1913, i64 8 - %1939 = load ptr, ptr %1938, align 8, !alias.scope !2307, !noalias !2310, !nonnull !14, !noundef !14 - %1940 = getelementptr inbounds [0 x { { { { i64, ptr }, i64 }, i8, [7 x i8] }, { i64, i8 }, i64 }], ptr %1939, i64 0, i64 %1916, i32 0, i32 0, i32 1 - %1941 = load i64, ptr %1940, align 8, !noundef !14 - %1942 = icmp eq i64 %1941, 0 - br i1 %1942, label %1920, label %1943 +1935: ; preds = %1910 + %1936 = getelementptr inbounds nuw i8, ptr %1911, i64 8 + %1937 = load ptr, ptr %1936, align 8, !alias.scope !2307, !noalias !2310, !nonnull !14, !noundef !14 + %1938 = getelementptr inbounds [0 x { { { { i64, ptr }, i64 }, i8, [7 x i8] }, { i64, i8 }, i64 }], ptr %1937, i64 0, i64 %1914, i32 0, i32 0, i32 1 + %1939 = load i64, ptr %1938, align 8, !noundef !14 + %1940 = icmp eq i64 %1939, 0 + br i1 %1940, label %1918, label %1941 -1943: ; preds = %1937 +1941: ; preds = %1935 invoke void @_ZN15tree_sitter_cli8generate5rules8TokenSet6insert17hd5ca867a7dd68ffaE(ptr noalias noundef nonnull align 8 dereferenceable(24) %185, i64 noundef %299, i8 noundef %301) to label %._crit_edge unwind label %.thread366.loopexit -._crit_edge: ; preds = %1943 - %.pre1508 = load i64, ptr %1915, align 8, !noalias !2336 - %.pre1509 = load i64, ptr %1917, align 8, !alias.scope !2315, !noalias !2318 - br label %1920 +._crit_edge: ; preds = %1941 + %.pre1508 = load i64, ptr %1913, align 8, !noalias !2336 + %.pre1509 = load i64, ptr %1915, align 8, !alias.scope !2315, !noalias !2318 + br label %1918 "_ZN8indexmap3map4core5entry18Entry$LT$K$C$V$GT$14or_insert_with17h022089156c9e195aE.exit": ; preds = %"_ZN8indexmap3map4core5entry24VacantEntry$LT$K$C$V$GT$6insert17h67da38960209a3f8E.llvm.13013766950239737229.exit.i", %"_ZN8indexmap3map4core5entry26OccupiedEntry$LT$K$C$V$GT$8into_mut17h36e6138cdcc26ef0E.llvm.13013766950239737229.exit.i" - %.0.i368 = phi ptr [ %1936, %"_ZN8indexmap3map4core5entry24VacantEntry$LT$K$C$V$GT$6insert17h67da38960209a3f8E.llvm.13013766950239737229.exit.i" ], [ %1925, %"_ZN8indexmap3map4core5entry26OccupiedEntry$LT$K$C$V$GT$8into_mut17h36e6138cdcc26ef0E.llvm.13013766950239737229.exit.i" ] - %1944 = getelementptr inbounds nuw i8, ptr %.0.i368, i64 16 - %1945 = load i64, ptr %1944, align 8, !alias.scope !2337, !noalias !2340, !noundef !14 - %1946 = load i64, ptr %.0.i368, align 8, !alias.scope !2337, !noalias !2340, !noundef !14 - %1947 = icmp eq i64 %1945, %1946 - br i1 %1947, label %1948, label %1949 - -1948: ; preds = %"_ZN8indexmap3map4core5entry18Entry$LT$K$C$V$GT$14or_insert_with17h022089156c9e195aE.exit" - invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$16reserve_for_push17h1cfe722fbfcf91a1E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %.0.i368, i64 noundef %1945) + %.0.i368 = phi ptr [ %1934, %"_ZN8indexmap3map4core5entry24VacantEntry$LT$K$C$V$GT$6insert17h67da38960209a3f8E.llvm.13013766950239737229.exit.i" ], [ %1923, %"_ZN8indexmap3map4core5entry26OccupiedEntry$LT$K$C$V$GT$8into_mut17h36e6138cdcc26ef0E.llvm.13013766950239737229.exit.i" ] + %1942 = getelementptr inbounds nuw i8, ptr %.0.i368, i64 16 + %1943 = load i64, ptr %1942, align 8, !alias.scope !2337, !noalias !2340, !noundef !14 + %1944 = load i64, ptr %.0.i368, align 8, !alias.scope !2337, !noalias !2340, !noundef !14 + %1945 = icmp eq i64 %1943, %1944 + br i1 %1945, label %1946, label %1947 + +1946: ; preds = %"_ZN8indexmap3map4core5entry18Entry$LT$K$C$V$GT$14or_insert_with17h022089156c9e195aE.exit" + invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$16reserve_for_push17h1cfe722fbfcf91a1E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %.0.i368, i64 noundef %1943) to label %.noexc373 unwind label %.thread366.loopexit -.noexc373: ; preds = %1948 - %.pre.i372 = load i64, ptr %1944, align 8, !alias.scope !2337, !noalias !2340 - br label %1949 - -1949: ; preds = %.noexc373, %"_ZN8indexmap3map4core5entry18Entry$LT$K$C$V$GT$14or_insert_with17h022089156c9e195aE.exit" - %1950 = phi i64 [ %.pre.i372, %.noexc373 ], [ %1945, %"_ZN8indexmap3map4core5entry18Entry$LT$K$C$V$GT$14or_insert_with17h022089156c9e195aE.exit" ] - %1951 = getelementptr inbounds nuw i8, ptr %.0.i368, i64 8 - %1952 = load ptr, ptr %1951, align 8, !alias.scope !2337, !noalias !2340, !nonnull !14, !noundef !14 - %1953 = getelementptr inbounds { i8, [39 x i8] }, ptr %1952, i64 %1950 - store i8 1, ptr %1953, align 8 - %.sroa.4117.0..sroa_idx = getelementptr inbounds nuw i8, ptr %1953, i64 1 +.noexc373: ; preds = %1946 + %.pre.i372 = load i64, ptr %1942, align 8, !alias.scope !2337, !noalias !2340 + br label %1947 + +1947: ; preds = %.noexc373, %"_ZN8indexmap3map4core5entry18Entry$LT$K$C$V$GT$14or_insert_with17h022089156c9e195aE.exit" + %1948 = phi i64 [ %.pre.i372, %.noexc373 ], [ %1943, %"_ZN8indexmap3map4core5entry18Entry$LT$K$C$V$GT$14or_insert_with17h022089156c9e195aE.exit" ] + %1949 = getelementptr inbounds nuw i8, ptr %.0.i368, i64 8 + %1950 = load ptr, ptr %1949, align 8, !alias.scope !2337, !noalias !2340, !nonnull !14, !noundef !14 + %1951 = getelementptr inbounds { i8, [39 x i8] }, ptr %1950, i64 %1948 + store i8 1, ptr %1951, align 8 + %.sroa.4117.0..sroa_idx = getelementptr inbounds nuw i8, ptr %1951, i64 1 store i8 0, ptr %.sroa.4117.0..sroa_idx, align 1 - %.sroa.5119.0..sroa_idx = getelementptr inbounds nuw i8, ptr %1953, i64 8 - store i64 %1893, ptr %.sroa.5119.0..sroa_idx, align 8 - %1954 = load i64, ptr %1944, align 8, !alias.scope !2337, !noalias !2340, !noundef !14 - %1955 = add i64 %1954, 1 - store i64 %1955, ptr %1944, align 8, !alias.scope !2337, !noalias !2340 + %.sroa.5119.0..sroa_idx = getelementptr inbounds nuw i8, ptr %1951, i64 8 + store i64 %1891, ptr %.sroa.5119.0..sroa_idx, align 8 + %1952 = load i64, ptr %1942, align 8, !alias.scope !2337, !noalias !2340, !noundef !14 + %1953 = add i64 %1952, 1 + store i64 %1953, ptr %1942, align 8, !alias.scope !2337, !noalias !2340 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %173) call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %175) br label %292 -1956: ; preds = %309 +1954: ; preds = %309 %lpad.thr_comm.split-lp365 = landingpad { ptr, i32 } cleanup invoke void @"_ZN4core3ptr80drop_in_place$LT$tree_sitter_cli..generate..build_tables..item..ParseItemSet$GT$17h2f587ff327fc8446E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %175) #47 to label %.thread366 unwind label %640 -1957: ; preds = %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h20f9becab9b1fc1cE.exit" - %1958 = getelementptr inbounds nuw i8, ptr %277, i64 8 - %1959 = load ptr, ptr %1958, align 8, !noalias !1239, !nonnull !14, !noundef !14 - %1960 = getelementptr inbounds nuw { { i64, [3 x i64] }, { i64, [2 x i64] }, { i64, [2 x i64] }, { i64, i8 }, i8, [7 x i8] }, ptr %1959, i64 %282 - %1961 = getelementptr inbounds nuw i8, ptr %1960, i64 80 - %1962 = load i64, ptr %1961, align 8, !noalias !1233, !noundef !14 - %1963 = getelementptr inbounds nuw i8, ptr %1960, i64 88 - %1964 = load i8, ptr %1963, align 8, !range !415, !noalias !1233, !noundef !14 +1955: ; preds = %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h20f9becab9b1fc1cE.exit" + %1956 = getelementptr inbounds nuw i8, ptr %277, i64 8 + %1957 = load ptr, ptr %1956, align 8, !noalias !1239, !nonnull !14, !noundef !14 + %1958 = getelementptr inbounds nuw { { i64, [3 x i64] }, { i64, [2 x i64] }, { i64, [2 x i64] }, { i64, i8 }, i8, [7 x i8] }, ptr %1957, i64 %282 + %1959 = getelementptr inbounds nuw i8, ptr %1958, i64 80 + %1960 = load i64, ptr %1959, align 8, !noalias !1233, !noundef !14 + %1961 = getelementptr inbounds nuw i8, ptr %1958, i64 88 + %1962 = load i8, ptr %1961, align 8, !range !415, !noalias !1233, !noundef !14 call void @llvm.experimental.noalias.scope.decl(metadata !2342) call void @llvm.experimental.noalias.scope.decl(metadata !2345) - %1965 = getelementptr inbounds nuw i8, ptr %.sroa.01.01087, i64 8 - %1966 = load i32, ptr %1965, align 8, !alias.scope !2345, !noalias !2342, !noundef !14 - %1967 = add i32 %281, 1 - %1968 = getelementptr inbounds nuw i8, ptr %.sroa.01.01087, i64 16 - %1969 = load i8, ptr %1968, align 8, !range !317, !alias.scope !2345, !noalias !2342, !noundef !14 - store i32 %1966, ptr %255, align 8, !alias.scope !2342, !noalias !2345 - store i32 %1967, ptr %256, align 4, !alias.scope !2342, !noalias !2345 + %1963 = getelementptr inbounds nuw i8, ptr %.sroa.01.01087, i64 8 + %1964 = load i32, ptr %1963, align 8, !alias.scope !2345, !noalias !2342, !noundef !14 + %1965 = add i32 %281, 1 + %1966 = getelementptr inbounds nuw i8, ptr %.sroa.01.01087, i64 16 + %1967 = load i8, ptr %1966, align 8, !range !317, !alias.scope !2345, !noalias !2342, !noundef !14 + store i32 %1964, ptr %255, align 8, !alias.scope !2342, !noalias !2345 + store i32 %1965, ptr %256, align 4, !alias.scope !2342, !noalias !2345 store ptr %277, ptr %180, align 8, !alias.scope !2342, !noalias !2345 - store i8 %1969, ptr %257, align 8, !alias.scope !2342, !noalias !2345 - %1970 = icmp eq i8 %1964, 4 - br i1 %1970, label %1989, label %1971 + store i8 %1967, ptr %257, align 8, !alias.scope !2342, !noalias !2345 + %1968 = icmp eq i8 %1962, 4 + br i1 %1968, label %1987, label %1969 -1971: ; preds = %1957 +1969: ; preds = %1955 call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %181) call void @llvm.experimental.noalias.scope.decl(metadata !2347) call void @llvm.experimental.noalias.scope.decl(metadata !2350) call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %69) - store i64 %1962, ptr %69, align 8, !noalias !2352 - store i8 %1964, ptr %258, align 8, !noalias !2352 - %1972 = load ptr, ptr %187, align 8, !alias.scope !2350, !noalias !2347, !noundef !14 - %1973 = icmp eq ptr %1972, null - br i1 %1973, label %1974, label %1975 + store i64 %1960, ptr %69, align 8, !noalias !2352 + store i8 %1962, ptr %258, align 8, !noalias !2352 + %1970 = load ptr, ptr %187, align 8, !alias.scope !2350, !noalias !2347, !noundef !14 + %1971 = icmp eq ptr %1970, null + br i1 %1971, label %1972, label %1973 -1974: ; preds = %1971 +1972: ; preds = %1969 store ptr null, ptr %181, align 8, !alias.scope !2347, !noalias !2350 store ptr %187, ptr %.sroa.47.0..sroa_idx.i376, align 8, !alias.scope !2347, !noalias !2350 - store i64 %1962, ptr %.sroa.58.0..sroa_idx.i377, align 8, !alias.scope !2347, !noalias !2350 - br label %1994 + store i64 %1960, ptr %.sroa.58.0..sroa_idx.i377, align 8, !alias.scope !2347, !noalias !2350 + br label %1992 -1975: ; preds = %1971 - %1976 = load i64, ptr %259, align 8, !alias.scope !2350, !noalias !2347, !noundef !14 +1973: ; preds = %1969 + %1974 = load i64, ptr %259, align 8, !alias.scope !2350, !noalias !2347, !noundef !14 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %68), !noalias !2352 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %66), !noalias !2353 - store ptr %1972, ptr %66, align 8, !noalias !2357 - store i64 %1976, ptr %260, align 8, !noalias !2357 - %1977 = invoke { i64, i64 } @"_ZN5alloc11collections5btree6search91_$LT$impl$u20$alloc..collections..btree..node..NodeRef$LT$BorrowType$C$K$C$V$C$Type$GT$$GT$14find_key_index17h1edf14dea3060105E.llvm.17454970623020605724"(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %66, ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %69, i64 noundef 0) + store ptr %1970, ptr %66, align 8, !noalias !2357 + store i64 %1974, ptr %260, align 8, !noalias !2357 + %1975 = invoke { i64, i64 } @"_ZN5alloc11collections5btree6search91_$LT$impl$u20$alloc..collections..btree..node..NodeRef$LT$BorrowType$C$K$C$V$C$Type$GT$$GT$14find_key_index17h1edf14dea3060105E.llvm.17454970623020605724"(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %66, ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %69, i64 noundef 0) to label %.noexc382 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit -.noexc382: ; preds = %1975 - %.fca.0.extract.i21.i.i = extractvalue { i64, i64 } %1977, 0 - %.fca.1.extract.i22.i.i = extractvalue { i64, i64 } %1977, 1 +.noexc382: ; preds = %1973 + %.fca.0.extract.i21.i.i = extractvalue { i64, i64 } %1975, 0 + %.fca.1.extract.i22.i.i = extractvalue { i64, i64 } %1975, 1 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %66), !noalias !2353 %trunc23.i.i = trunc nuw i64 %.fca.0.extract.i21.i.i to i1 br i1 %trunc23.i.i, label %.lr.ph.i.i375, label %.loopexit.i374 .lr.ph.i.i375: ; preds = %.noexc382, %.noexc384 %.fca.1.extract.i26.i.i = phi i64 [ %.fca.1.extract.i.i.i, %.noexc384 ], [ %.fca.1.extract.i22.i.i, %.noexc382 ] - %.sroa.0.025.i.i = phi ptr [ %1983, %.noexc384 ], [ %1972, %.noexc382 ] - %.sroa.3.024.i.i = phi i64 [ %1984, %.noexc384 ], [ %1976, %.noexc382 ] + %.sroa.0.025.i.i = phi ptr [ %1981, %.noexc384 ], [ %1970, %.noexc382 ] + %.sroa.3.024.i.i = phi i64 [ %1982, %.noexc384 ], [ %1974, %.noexc382 ] store ptr %.sroa.0.025.i.i, ptr %68, align 8, !noalias !2353 store i64 %.sroa.3.024.i.i, ptr %.sroa.8.8..sroa_idx.i.i, align 8, !noalias !2353 store i64 %.fca.1.extract.i26.i.i, ptr %.sroa.9.8..sroa_idx.i.i, align 8, !noalias !2353 @@ -13557,192 +13555,192 @@ _ZN11smallbitvec11SmallBitVec3len17hd19085f87d1dfa85E.llvm.16258808753110442553. to label %.noexc383 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit .noexc383: ; preds = %.lr.ph.i.i375 - %1978 = load i64, ptr %67, align 8, !range !86, !noalias !2353, !noundef !14 - %trunc9.i.i = trunc nuw i64 %1978 to i1 + %1976 = load i64, ptr %67, align 8, !range !86, !noalias !2353, !noundef !14 + %trunc9.i.i = trunc nuw i64 %1976 to i1 %.sroa.04.0.copyload.i.i = load ptr, ptr %261, align 8, !noalias !2361 %.sroa.45.0.copyload.i.i = load i64, ptr %.sroa.45.0..sroa_idx.i.i, align 8, !noalias !2361 %.sroa.56.0.copyload.i.i = load i64, ptr %.sroa.56.0..sroa_idx.i.i, align 8, !noalias !2361 - br i1 %trunc9.i.i, label %1979, label %1986 - -1979: ; preds = %.noexc383 - %1980 = getelementptr inbounds nuw i8, ptr %.sroa.04.0.copyload.i.i, i64 456 - %1981 = icmp ult i64 %.sroa.56.0.copyload.i.i, 12 - call void @llvm.assume(i1 %1981) - %1982 = getelementptr inbounds nuw ptr, ptr %1980, i64 %.sroa.56.0.copyload.i.i - %1983 = load ptr, ptr %1982, align 8, !noalias !2362, !nonnull !14, !noundef !14 - %1984 = add i64 %.sroa.45.0.copyload.i.i, -1 + br i1 %trunc9.i.i, label %1977, label %1984 + +1977: ; preds = %.noexc383 + %1978 = getelementptr inbounds nuw i8, ptr %.sroa.04.0.copyload.i.i, i64 456 + %1979 = icmp ult i64 %.sroa.56.0.copyload.i.i, 12 + call void @llvm.assume(i1 %1979) + %1980 = getelementptr inbounds nuw ptr, ptr %1978, i64 %.sroa.56.0.copyload.i.i + %1981 = load ptr, ptr %1980, align 8, !noalias !2362, !nonnull !14, !noundef !14 + %1982 = add i64 %.sroa.45.0.copyload.i.i, -1 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %67), !noalias !2353 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %66), !noalias !2353 - store ptr %1983, ptr %66, align 8, !noalias !2357 - store i64 %1984, ptr %260, align 8, !noalias !2357 - %1985 = invoke { i64, i64 } @"_ZN5alloc11collections5btree6search91_$LT$impl$u20$alloc..collections..btree..node..NodeRef$LT$BorrowType$C$K$C$V$C$Type$GT$$GT$14find_key_index17h1edf14dea3060105E.llvm.17454970623020605724"(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %66, ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %69, i64 noundef 0) + store ptr %1981, ptr %66, align 8, !noalias !2357 + store i64 %1982, ptr %260, align 8, !noalias !2357 + %1983 = invoke { i64, i64 } @"_ZN5alloc11collections5btree6search91_$LT$impl$u20$alloc..collections..btree..node..NodeRef$LT$BorrowType$C$K$C$V$C$Type$GT$$GT$14find_key_index17h1edf14dea3060105E.llvm.17454970623020605724"(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %66, ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %69, i64 noundef 0) to label %.noexc384 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit -.noexc384: ; preds = %1979 - %.fca.0.extract.i.i.i = extractvalue { i64, i64 } %1985, 0 - %.fca.1.extract.i.i.i = extractvalue { i64, i64 } %1985, 1 +.noexc384: ; preds = %1977 + %.fca.0.extract.i.i.i = extractvalue { i64, i64 } %1983, 0 + %.fca.1.extract.i.i.i = extractvalue { i64, i64 } %1983, 1 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %66), !noalias !2353 %trunc.i.i = trunc nuw i64 %.fca.0.extract.i.i.i to i1 br i1 %trunc.i.i, label %.lr.ph.i.i375, label %.loopexit.i374 .loopexit.i374: ; preds = %.noexc384, %.noexc382 %.sroa.10.0.ph.i = phi i64 [ %.fca.1.extract.i22.i.i, %.noexc382 ], [ %.fca.1.extract.i.i.i, %.noexc384 ] - %.sroa.9.0.ph.i = phi i64 [ %1976, %.noexc382 ], [ %1984, %.noexc384 ] - %.sroa.5.0.ph.i = phi ptr [ %1972, %.noexc382 ], [ %1983, %.noexc384 ] + %.sroa.9.0.ph.i = phi i64 [ %1974, %.noexc382 ], [ %1982, %.noexc384 ] + %.sroa.5.0.ph.i = phi ptr [ %1970, %.noexc382 ], [ %1981, %.noexc384 ] call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %68), !noalias !2352 store ptr %.sroa.5.0.ph.i, ptr %181, align 8, !alias.scope !2347, !noalias !2350 store i64 %.sroa.9.0.ph.i, ptr %.sroa.06.sroa.4.0..sroa_idx.i, align 8, !alias.scope !2347, !noalias !2350 store i64 %.sroa.10.0.ph.i, ptr %.sroa.06.sroa.5.0..sroa_idx.i, align 8, !alias.scope !2347, !noalias !2350 store ptr %187, ptr %.sroa.47.0..sroa_idx.i376, align 8, !alias.scope !2347, !noalias !2350 - br label %1994 + br label %1992 -1986: ; preds = %.noexc383 +1984: ; preds = %.noexc383 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %67), !noalias !2353 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %68), !noalias !2352 - %1987 = load i64, ptr %69, align 8, !noalias !2352, !noundef !14 - %1988 = load i8, ptr %258, align 8, !range !415, !noalias !2352, !noundef !14 + %1985 = load i64, ptr %69, align 8, !noalias !2352, !noundef !14 + %1986 = load i8, ptr %258, align 8, !range !415, !noalias !2352, !noundef !14 store ptr %.sroa.04.0.copyload.i.i, ptr %181, align 8, !alias.scope !2347, !noalias !2350 store i64 %.sroa.45.0.copyload.i.i, ptr %.sroa.06.sroa.4.0..sroa_idx.i, align 8, !alias.scope !2347, !noalias !2350 store i64 %.sroa.56.0.copyload.i.i, ptr %.sroa.06.sroa.5.0..sroa_idx.i, align 8, !alias.scope !2347, !noalias !2350 store ptr %187, ptr %.sroa.47.0..sroa_idx.i376, align 8, !alias.scope !2347, !noalias !2350 - store i64 %1987, ptr %.sroa.58.0..sroa_idx.i377, align 8, !alias.scope !2347, !noalias !2350 - br label %1994 - -1989: ; preds = %1957 - %1990 = load ptr, ptr %213, align 8, !nonnull !14, !align !82, !noundef !14 - %1991 = getelementptr inbounds nuw i8, ptr %1990, i64 16 - %1992 = load i64, ptr %1991, align 8, !alias.scope !2363, !noalias !2366, !noundef !14 - %1993 = icmp ult i64 %1962, %1992 - br i1 %1993, label %2000, label %.invoke1932, !prof !204 - -1994: ; preds = %1986, %.loopexit.i374, %1974 - %.sink1948 = phi i8 [ %1988, %1986 ], [ 5, %.loopexit.i374 ], [ %1964, %1974 ] + store i64 %1985, ptr %.sroa.58.0..sroa_idx.i377, align 8, !alias.scope !2347, !noalias !2350 + br label %1992 + +1987: ; preds = %1955 + %1988 = load ptr, ptr %213, align 8, !nonnull !14, !align !82, !noundef !14 + %1989 = getelementptr inbounds nuw i8, ptr %1988, i64 16 + %1990 = load i64, ptr %1989, align 8, !alias.scope !2363, !noalias !2366, !noundef !14 + %1991 = icmp ult i64 %1960, %1990 + br i1 %1991, label %1998, label %.invoke1932, !prof !204 + +1992: ; preds = %1984, %.loopexit.i374, %1972 + %.sink1948 = phi i8 [ %1986, %1984 ], [ 5, %.loopexit.i374 ], [ %1962, %1972 ] store i8 %.sink1948, ptr %.sroa.69.0..sroa_idx.i378, align 8, !alias.scope !2347, !noalias !2350 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %69) - %1995 = invoke fastcc noundef align 8 dereferenceable(24) ptr @"_ZN5alloc11collections5btree3map5entry22Entry$LT$K$C$V$C$A$GT$14or_insert_with17he2f71b2c41e01fb3E"(ptr noalias noundef align 8 captures(none) dereferenceable(48) %181) - to label %1996 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit + %1993 = invoke fastcc noundef align 8 dereferenceable(24) ptr @"_ZN5alloc11collections5btree3map5entry22Entry$LT$K$C$V$C$A$GT$14or_insert_with17he2f71b2c41e01fb3E"(ptr noalias noundef align 8 captures(none) dereferenceable(48) %181) + to label %1994 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit -1996: ; preds = %1994 +1994: ; preds = %1992 call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %181) br label %.invoke -.invoke: ; preds = %2058, %1996 - %1997 = phi ptr [ %1995, %1996 ], [ %2057, %2058 ] - %1998 = getelementptr inbounds nuw i8, ptr %.sroa.01.01087, i64 24 - %1999 = invoke noundef align 8 dereferenceable(24) ptr @_ZN15tree_sitter_cli8generate12build_tables4item12ParseItemSet6insert17h21ff3c7f0c345f66E(ptr noalias noundef nonnull align 8 dereferenceable(24) %1997, ptr noalias noundef nonnull align 8 captures(none) dereferenceable(24) %180, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %1998) +.invoke: ; preds = %2056, %1994 + %1995 = phi ptr [ %1993, %1994 ], [ %2055, %2056 ] + %1996 = getelementptr inbounds nuw i8, ptr %.sroa.01.01087, i64 24 + %1997 = invoke noundef align 8 dereferenceable(24) ptr @_ZN15tree_sitter_cli8generate12build_tables4item12ParseItemSet6insert17h21ff3c7f0c345f66E(ptr noalias noundef nonnull align 8 dereferenceable(24) %1995, ptr noalias noundef nonnull align 8 captures(none) dereferenceable(24) %180, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %1996) to label %.thread426 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit -2000: ; preds = %1989 - %2001 = getelementptr inbounds nuw i8, ptr %1990, i64 8 - %2002 = load ptr, ptr %2001, align 8, !alias.scope !2363, !noalias !2366, !nonnull !14, !noundef !14 - %2003 = getelementptr inbounds [0 x { { { { i64, ptr }, i64 } }, { { i64, ptr }, i64 }, i8, [7 x i8] }], ptr %2002, i64 0, i64 %1962, i32 2 - %2004 = load i8, ptr %2003, align 8, !range !1591, !noundef !14 - %2005 = icmp eq i8 %2004, 1 - br i1 %2005, label %2006, label %2024 +1998: ; preds = %1987 + %1999 = getelementptr inbounds nuw i8, ptr %1988, i64 8 + %2000 = load ptr, ptr %1999, align 8, !alias.scope !2363, !noalias !2366, !nonnull !14, !noundef !14 + %2001 = getelementptr inbounds [0 x { { { { i64, ptr }, i64 } }, { { i64, ptr }, i64 }, i8, [7 x i8] }], ptr %2000, i64 0, i64 %1960, i32 2 + %2002 = load i8, ptr %2001, align 8, !range !1591, !noundef !14 + %2003 = icmp eq i8 %2002, 1 + br i1 %2003, label %2004, label %2022 -2006: ; preds = %2000 +2004: ; preds = %1998 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %183) call void @llvm.experimental.noalias.scope.decl(metadata !2368) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %63) call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %64) call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %65) - store i64 %1962, ptr %65, align 8, !noalias !2368 + store i64 %1960, ptr %65, align 8, !noalias !2368 store i8 4, ptr %262, align 8, !noalias !2368 store ptr %.8.val, ptr %63, align 8, !noalias !2368 store ptr %210, ptr %263, align 8, !noalias !2368 store ptr %65, ptr %264, align 8, !noalias !2368 - store ptr %1990, ptr %265, align 8, !noalias !2368 + store ptr %1988, ptr %265, align 8, !noalias !2368 invoke void @"_ZN111_$LT$alloc..vec..Vec$LT$T$GT$$u20$as$u20$alloc..vec..spec_from_iter_nested..SpecFromIterNested$LT$T$C$I$GT$$GT$9from_iter17h8f6d39a77eb203a2E.llvm.1408760718162522189"(ptr noalias noundef nonnull sret({ { i64, ptr }, i64 }) align 8 captures(none) dereferenceable(24) %64, ptr noalias noundef nonnull align 8 captures(none) dereferenceable(32) %63) - to label %2007 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit + to label %2005 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit -2007: ; preds = %2006 - %2008 = load i64, ptr %65, align 8, !noalias !2368, !noundef !14 - %2009 = load i8, ptr %262, align 8, !range !415, !noalias !2368, !noundef !14 - store i64 %2008, ptr %266, align 8, !alias.scope !2368 - store i8 %2009, ptr %267, align 8, !alias.scope !2368 +2005: ; preds = %2004 + %2006 = load i64, ptr %65, align 8, !noalias !2368, !noundef !14 + %2007 = load i8, ptr %262, align 8, !range !415, !noalias !2368, !noundef !14 + store i64 %2006, ptr %266, align 8, !alias.scope !2368 + store i8 %2007, ptr %267, align 8, !alias.scope !2368 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %183, ptr noundef nonnull align 8 dereferenceable(24) %64, i64 24, i1 false) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %63) call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %64) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %65) - %2010 = load i64, ptr %268, align 8, !alias.scope !2371, !noalias !2374, !noundef !14 - %2011 = load i64, ptr %2, align 8, !alias.scope !2371, !noalias !2374, !noundef !14 - %2012 = icmp eq i64 %2010, %2011 - br i1 %2012, label %2013, label %2018 + %2008 = load i64, ptr %268, align 8, !alias.scope !2371, !noalias !2374, !noundef !14 + %2009 = load i64, ptr %2, align 8, !alias.scope !2371, !noalias !2374, !noundef !14 + %2010 = icmp eq i64 %2008, %2009 + br i1 %2010, label %2011, label %2016 -2013: ; preds = %2007 - invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$16reserve_for_push17he37a8ecd29f8028fE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %2, i64 noundef %2010) - to label %._crit_edge.i389 unwind label %2014, !noalias !2374 +2011: ; preds = %2005 + invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$16reserve_for_push17he37a8ecd29f8028fE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %2, i64 noundef %2008) + to label %._crit_edge.i389 unwind label %2012, !noalias !2374 -._crit_edge.i389: ; preds = %2013 +._crit_edge.i389: ; preds = %2011 %.pre.i390 = load i64, ptr %268, align 8, !alias.scope !2371, !noalias !2374 - br label %2018 + br label %2016 -2014: ; preds = %2013 - %2015 = landingpad { ptr, i32 } +2012: ; preds = %2011 + %2013 = landingpad { ptr, i32 } cleanup invoke void @"_ZN4core3ptr100drop_in_place$LT$tree_sitter_cli..generate..build_tables..build_parse_table..AuxiliarySymbolInfo$GT$17hf86981c74374e0b2E"(ptr noalias noundef nonnull align 8 dereferenceable(40) %183) #47 - to label %.body unwind label %2016 + to label %.body unwind label %2014 -2016: ; preds = %2014 - %2017 = landingpad { ptr, i32 } +2014: ; preds = %2012 + %2015 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer call void @_ZN4core9panicking16panic_in_cleanup17h55eb1d85cadde1a1E() #48 unreachable -2018: ; preds = %._crit_edge.i389, %2007 - %2019 = phi i64 [ %.pre.i390, %._crit_edge.i389 ], [ %2010, %2007 ] - %2020 = load ptr, ptr %269, align 8, !alias.scope !2371, !noalias !2374, !nonnull !14, !noundef !14 - %2021 = getelementptr inbounds { { { i64, ptr }, i64 }, { i64, i8 } }, ptr %2020, i64 %2019 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %2021, ptr noundef nonnull align 8 dereferenceable(40) %183, i64 40, i1 false) - %2022 = load i64, ptr %268, align 8, !alias.scope !2371, !noalias !2374, !noundef !14 - %2023 = add i64 %2022, 1 - store i64 %2023, ptr %268, align 8, !alias.scope !2371, !noalias !2374 +2016: ; preds = %._crit_edge.i389, %2005 + %2017 = phi i64 [ %.pre.i390, %._crit_edge.i389 ], [ %2008, %2005 ] + %2018 = load ptr, ptr %269, align 8, !alias.scope !2371, !noalias !2374, !nonnull !14, !noundef !14 + %2019 = getelementptr inbounds { { { i64, ptr }, i64 }, { i64, i8 } }, ptr %2018, i64 %2017 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %2019, ptr noundef nonnull align 8 dereferenceable(40) %183, i64 40, i1 false) + %2020 = load i64, ptr %268, align 8, !alias.scope !2371, !noalias !2374, !noundef !14 + %2021 = add i64 %2020, 1 + store i64 %2021, ptr %268, align 8, !alias.scope !2371, !noalias !2374 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %183) - %.pr383 = load i8, ptr %2003, align 8, !alias.scope !2376 - br label %2024 + %.pr383 = load i8, ptr %2001, align 8, !alias.scope !2376 + br label %2022 -2024: ; preds = %2000, %2018 - %2025 = phi i8 [ %2004, %2000 ], [ %.pr383, %2018 ] - %.0.i387 = icmp samesign ult i8 %2025, 2 - br i1 %.0.i387, label %2044, label %2026 +2022: ; preds = %1998, %2016 + %2023 = phi i8 [ %2002, %1998 ], [ %.pr383, %2016 ] + %.0.i387 = icmp samesign ult i8 %2023, 2 + br i1 %.0.i387, label %2042, label %2024 -2026: ; preds = %2047, %2055, %2024 +2024: ; preds = %2045, %2053, %2022 call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %182) call void @llvm.experimental.noalias.scope.decl(metadata !2379) call void @llvm.experimental.noalias.scope.decl(metadata !2382) call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %62) - store i64 %1962, ptr %62, align 8, !noalias !2384 + store i64 %1960, ptr %62, align 8, !noalias !2384 store i8 4, ptr %270, align 8, !noalias !2384 - %2027 = load ptr, ptr %186, align 8, !alias.scope !2382, !noalias !2379, !noundef !14 - %2028 = icmp eq ptr %2027, null - br i1 %2028, label %2029, label %2030 + %2025 = load ptr, ptr %186, align 8, !alias.scope !2382, !noalias !2379, !noundef !14 + %2026 = icmp eq ptr %2025, null + br i1 %2026, label %2027, label %2028 -2029: ; preds = %2026 +2027: ; preds = %2024 store ptr null, ptr %182, align 8, !alias.scope !2379, !noalias !2382 store ptr %186, ptr %.sroa.47.0..sroa_idx.i419, align 8, !alias.scope !2379, !noalias !2382 - store i64 %1962, ptr %.sroa.58.0..sroa_idx.i420, align 8, !alias.scope !2379, !noalias !2382 - br label %2056 + store i64 %1960, ptr %.sroa.58.0..sroa_idx.i420, align 8, !alias.scope !2379, !noalias !2382 + br label %2054 -2030: ; preds = %2026 - %2031 = load i64, ptr %271, align 8, !alias.scope !2382, !noalias !2379, !noundef !14 +2028: ; preds = %2024 + %2029 = load i64, ptr %271, align 8, !alias.scope !2382, !noalias !2379, !noundef !14 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %61), !noalias !2384 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %59), !noalias !2385 - store ptr %2027, ptr %59, align 8, !noalias !2389 - store i64 %2031, ptr %272, align 8, !noalias !2389 - %2032 = invoke { i64, i64 } @"_ZN5alloc11collections5btree6search91_$LT$impl$u20$alloc..collections..btree..node..NodeRef$LT$BorrowType$C$K$C$V$C$Type$GT$$GT$14find_key_index17h1edf14dea3060105E.llvm.17454970623020605724"(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %59, ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %62, i64 noundef 0) + store ptr %2025, ptr %59, align 8, !noalias !2389 + store i64 %2029, ptr %272, align 8, !noalias !2389 + %2030 = invoke { i64, i64 } @"_ZN5alloc11collections5btree6search91_$LT$impl$u20$alloc..collections..btree..node..NodeRef$LT$BorrowType$C$K$C$V$C$Type$GT$$GT$14find_key_index17h1edf14dea3060105E.llvm.17454970623020605724"(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %59, ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %62, i64 noundef 0) to label %.noexc428 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit -.noexc428: ; preds = %2030 - %.fca.0.extract.i21.i.i395 = extractvalue { i64, i64 } %2032, 0 - %.fca.1.extract.i22.i.i396 = extractvalue { i64, i64 } %2032, 1 +.noexc428: ; preds = %2028 + %.fca.0.extract.i21.i.i395 = extractvalue { i64, i64 } %2030, 0 + %.fca.1.extract.i22.i.i396 = extractvalue { i64, i64 } %2030, 1 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %59), !noalias !2385 %trunc23.i.i397 = trunc nuw i64 %.fca.0.extract.i21.i.i395 to i1 br i1 %trunc23.i.i397, label %.lr.ph.i.i405, label %.loopexit.i398 .lr.ph.i.i405: ; preds = %.noexc428, %.noexc430 %.fca.1.extract.i26.i.i410 = phi i64 [ %.fca.1.extract.i.i.i423, %.noexc430 ], [ %.fca.1.extract.i22.i.i396, %.noexc428 ] - %.sroa.0.025.i.i411 = phi ptr [ %2038, %.noexc430 ], [ %2027, %.noexc428 ] - %.sroa.3.024.i.i412 = phi i64 [ %2039, %.noexc430 ], [ %2031, %.noexc428 ] + %.sroa.0.025.i.i411 = phi ptr [ %2036, %.noexc430 ], [ %2025, %.noexc428 ] + %.sroa.3.024.i.i412 = phi i64 [ %2037, %.noexc430 ], [ %2029, %.noexc428 ] store ptr %.sroa.0.025.i.i411, ptr %61, align 8, !noalias !2385 store i64 %.sroa.3.024.i.i412, ptr %.sroa.8.8..sroa_idx.i.i406, align 8, !noalias !2385 store i64 %.fca.1.extract.i26.i.i410, ptr %.sroa.9.8..sroa_idx.i.i407, align 8, !noalias !2385 @@ -13751,91 +13749,91 @@ _ZN11smallbitvec11SmallBitVec3len17hd19085f87d1dfa85E.llvm.16258808753110442553. to label %.noexc429 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit .noexc429: ; preds = %.lr.ph.i.i405 - %2033 = load i64, ptr %60, align 8, !range !86, !noalias !2385, !noundef !14 - %trunc9.i.i413 = trunc nuw i64 %2033 to i1 + %2031 = load i64, ptr %60, align 8, !range !86, !noalias !2385, !noundef !14 + %trunc9.i.i413 = trunc nuw i64 %2031 to i1 %.sroa.04.0.copyload.i.i414 = load ptr, ptr %273, align 8, !noalias !2393 %.sroa.45.0.copyload.i.i415 = load i64, ptr %.sroa.45.0..sroa_idx.i.i408, align 8, !noalias !2393 %.sroa.56.0.copyload.i.i416 = load i64, ptr %.sroa.56.0..sroa_idx.i.i409, align 8, !noalias !2393 - br i1 %trunc9.i.i413, label %2034, label %2041 - -2034: ; preds = %.noexc429 - %2035 = getelementptr inbounds nuw i8, ptr %.sroa.04.0.copyload.i.i414, i64 456 - %2036 = icmp ult i64 %.sroa.56.0.copyload.i.i416, 12 - call void @llvm.assume(i1 %2036) - %2037 = getelementptr inbounds nuw ptr, ptr %2035, i64 %.sroa.56.0.copyload.i.i416 - %2038 = load ptr, ptr %2037, align 8, !noalias !2394, !nonnull !14, !noundef !14 - %2039 = add i64 %.sroa.45.0.copyload.i.i415, -1 + br i1 %trunc9.i.i413, label %2032, label %2039 + +2032: ; preds = %.noexc429 + %2033 = getelementptr inbounds nuw i8, ptr %.sroa.04.0.copyload.i.i414, i64 456 + %2034 = icmp ult i64 %.sroa.56.0.copyload.i.i416, 12 + call void @llvm.assume(i1 %2034) + %2035 = getelementptr inbounds nuw ptr, ptr %2033, i64 %.sroa.56.0.copyload.i.i416 + %2036 = load ptr, ptr %2035, align 8, !noalias !2394, !nonnull !14, !noundef !14 + %2037 = add i64 %.sroa.45.0.copyload.i.i415, -1 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %60), !noalias !2385 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %59), !noalias !2385 - store ptr %2038, ptr %59, align 8, !noalias !2389 - store i64 %2039, ptr %272, align 8, !noalias !2389 - %2040 = invoke { i64, i64 } @"_ZN5alloc11collections5btree6search91_$LT$impl$u20$alloc..collections..btree..node..NodeRef$LT$BorrowType$C$K$C$V$C$Type$GT$$GT$14find_key_index17h1edf14dea3060105E.llvm.17454970623020605724"(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %59, ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %62, i64 noundef 0) + store ptr %2036, ptr %59, align 8, !noalias !2389 + store i64 %2037, ptr %272, align 8, !noalias !2389 + %2038 = invoke { i64, i64 } @"_ZN5alloc11collections5btree6search91_$LT$impl$u20$alloc..collections..btree..node..NodeRef$LT$BorrowType$C$K$C$V$C$Type$GT$$GT$14find_key_index17h1edf14dea3060105E.llvm.17454970623020605724"(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %59, ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %62, i64 noundef 0) to label %.noexc430 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit -.noexc430: ; preds = %2034 - %.fca.0.extract.i.i.i422 = extractvalue { i64, i64 } %2040, 0 - %.fca.1.extract.i.i.i423 = extractvalue { i64, i64 } %2040, 1 +.noexc430: ; preds = %2032 + %.fca.0.extract.i.i.i422 = extractvalue { i64, i64 } %2038, 0 + %.fca.1.extract.i.i.i423 = extractvalue { i64, i64 } %2038, 1 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %59), !noalias !2385 %trunc.i.i424 = trunc nuw i64 %.fca.0.extract.i.i.i422 to i1 br i1 %trunc.i.i424, label %.lr.ph.i.i405, label %.loopexit.i398 .loopexit.i398: ; preds = %.noexc430, %.noexc428 %.sroa.10.0.ph.i399 = phi i64 [ %.fca.1.extract.i22.i.i396, %.noexc428 ], [ %.fca.1.extract.i.i.i423, %.noexc430 ] - %.sroa.9.0.ph.i400 = phi i64 [ %2031, %.noexc428 ], [ %2039, %.noexc430 ] - %.sroa.5.0.ph.i401 = phi ptr [ %2027, %.noexc428 ], [ %2038, %.noexc430 ] + %.sroa.9.0.ph.i400 = phi i64 [ %2029, %.noexc428 ], [ %2037, %.noexc430 ] + %.sroa.5.0.ph.i401 = phi ptr [ %2025, %.noexc428 ], [ %2036, %.noexc430 ] call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %61), !noalias !2384 store ptr %.sroa.5.0.ph.i401, ptr %182, align 8, !alias.scope !2379, !noalias !2382 store i64 %.sroa.9.0.ph.i400, ptr %.sroa.06.sroa.4.0..sroa_idx.i417, align 8, !alias.scope !2379, !noalias !2382 store i64 %.sroa.10.0.ph.i399, ptr %.sroa.06.sroa.5.0..sroa_idx.i418, align 8, !alias.scope !2379, !noalias !2382 store ptr %186, ptr %.sroa.47.0..sroa_idx.i419, align 8, !alias.scope !2379, !noalias !2382 - br label %2056 + br label %2054 -2041: ; preds = %.noexc429 +2039: ; preds = %.noexc429 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %60), !noalias !2385 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %61), !noalias !2384 - %2042 = load i64, ptr %62, align 8, !noalias !2384, !noundef !14 - %2043 = load i8, ptr %270, align 8, !range !415, !noalias !2384, !noundef !14 + %2040 = load i64, ptr %62, align 8, !noalias !2384, !noundef !14 + %2041 = load i8, ptr %270, align 8, !range !415, !noalias !2384, !noundef !14 store ptr %.sroa.04.0.copyload.i.i414, ptr %182, align 8, !alias.scope !2379, !noalias !2382 store i64 %.sroa.45.0.copyload.i.i415, ptr %.sroa.06.sroa.4.0..sroa_idx.i417, align 8, !alias.scope !2379, !noalias !2382 store i64 %.sroa.56.0.copyload.i.i416, ptr %.sroa.06.sroa.5.0..sroa_idx.i418, align 8, !alias.scope !2379, !noalias !2382 store ptr %186, ptr %.sroa.47.0..sroa_idx.i419, align 8, !alias.scope !2379, !noalias !2382 - store i64 %2042, ptr %.sroa.58.0..sroa_idx.i420, align 8, !alias.scope !2379, !noalias !2382 - br label %2056 - -2044: ; preds = %2024 - %2045 = load i64, ptr %214, align 8, !noundef !14 - %2046 = icmp ult i64 %1962, %2045 - br i1 %2046, label %2047, label %.invoke1932, !prof !204 - -2047: ; preds = %2044 - %2048 = load ptr, ptr %215, align 8, !nonnull !14, !align !82, !noundef !14 - %2049 = getelementptr inbounds [0 x { { { { i64, ptr }, i64 }, { i8, i8, i8 }, [5 x i8] }, { { { i64, ptr }, i64 }, { i8, i8, i8 }, [5 x i8] }, { { { { ptr, i64, i64, i64 }, {}, {} }, { i64, i64 } } }, i8, [7 x i8] }], ptr %2048, i64 0, i64 %1962, i32 2, i32 0, i32 0, i32 0, i32 3 - %2050 = load i64, ptr %2049, align 8, !noundef !14 - %2051 = icmp eq i64 %2050, 0 - br i1 %2051, label %2026, label %2055 - -.invoke1932: ; preds = %2399, %2044, %1989, %.noexc506, %2478, %.thread439 - %2052 = phi i64 [ %3, %.thread439 ], [ %2481, %2478 ], [ %2489, %.noexc506 ], [ %1962, %1989 ], [ %1962, %2044 ], [ %2402, %2399 ] - %2053 = phi i64 [ %.val224, %.thread439 ], [ %2483, %2478 ], [ %2491, %.noexc506 ], [ %1992, %1989 ], [ %2045, %2044 ], [ %2404, %2399 ] - %2054 = phi ptr [ @anon.f4ab2160caa6653ef344418ff3b39bb7.72, %.thread439 ], [ @anon.f31d50c2a975b2e4c3e6185a4e00145e.168.llvm.13013766950239737229, %2478 ], [ @anon.f31d50c2a975b2e4c3e6185a4e00145e.165.llvm.13013766950239737229, %.noexc506 ], [ @anon.f4ab2160caa6653ef344418ff3b39bb7.70, %1989 ], [ @anon.f4ab2160caa6653ef344418ff3b39bb7.71, %2044 ], [ @anon.f4ab2160caa6653ef344418ff3b39bb7.172.llvm.18097807149992804452, %2399 ] - invoke void @_ZN4core9panicking18panic_bounds_check17h8331054858f0bf20E(i64 noundef %2052, i64 noundef %2053, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %2054) #45 + store i64 %2040, ptr %.sroa.58.0..sroa_idx.i420, align 8, !alias.scope !2379, !noalias !2382 + br label %2054 + +2042: ; preds = %2022 + %2043 = load i64, ptr %214, align 8, !noundef !14 + %2044 = icmp ult i64 %1960, %2043 + br i1 %2044, label %2045, label %.invoke1932, !prof !204 + +2045: ; preds = %2042 + %2046 = load ptr, ptr %215, align 8, !nonnull !14, !align !82, !noundef !14 + %2047 = getelementptr inbounds [0 x { { { { i64, ptr }, i64 }, { i8, i8, i8 }, [5 x i8] }, { { { i64, ptr }, i64 }, { i8, i8, i8 }, [5 x i8] }, { { { { ptr, i64, i64, i64 }, {}, {} }, { i64, i64 } } }, i8, [7 x i8] }], ptr %2046, i64 0, i64 %1960, i32 2, i32 0, i32 0, i32 0, i32 3 + %2048 = load i64, ptr %2047, align 8, !noundef !14 + %2049 = icmp eq i64 %2048, 0 + br i1 %2049, label %2024, label %2053 + +.invoke1932: ; preds = %2397, %2042, %1987, %.noexc506, %2476, %.thread439 + %2050 = phi i64 [ %3, %.thread439 ], [ %2479, %2476 ], [ %2487, %.noexc506 ], [ %1960, %1987 ], [ %1960, %2042 ], [ %2400, %2397 ] + %2051 = phi i64 [ %.val224, %.thread439 ], [ %2481, %2476 ], [ %2489, %.noexc506 ], [ %1990, %1987 ], [ %2043, %2042 ], [ %2402, %2397 ] + %2052 = phi ptr [ @anon.f4ab2160caa6653ef344418ff3b39bb7.72, %.thread439 ], [ @anon.f31d50c2a975b2e4c3e6185a4e00145e.168.llvm.13013766950239737229, %2476 ], [ @anon.f31d50c2a975b2e4c3e6185a4e00145e.165.llvm.13013766950239737229, %.noexc506 ], [ @anon.f4ab2160caa6653ef344418ff3b39bb7.70, %1987 ], [ @anon.f4ab2160caa6653ef344418ff3b39bb7.71, %2042 ], [ @anon.f4ab2160caa6653ef344418ff3b39bb7.172.llvm.18097807149992804452, %2397 ] + invoke void @_ZN4core9panicking18panic_bounds_check17h8331054858f0bf20E(i64 noundef %2050, i64 noundef %2051, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %2052) #45 to label %.cont1933 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp .cont1933: ; preds = %.invoke1932 unreachable -2055: ; preds = %2047 +2053: ; preds = %2045 store i8 1, ptr %257, align 8 - br label %2026 + br label %2024 -2056: ; preds = %2041, %.loopexit.i398, %2029 - %.sink1949 = phi i8 [ %2043, %2041 ], [ 5, %.loopexit.i398 ], [ 4, %2029 ] +2054: ; preds = %2039, %.loopexit.i398, %2027 + %.sink1949 = phi i8 [ %2041, %2039 ], [ 5, %.loopexit.i398 ], [ 4, %2027 ] store i8 %.sink1949, ptr %.sroa.69.0..sroa_idx.i421, align 8, !alias.scope !2379, !noalias !2382 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %62) - %2057 = invoke fastcc noundef align 8 dereferenceable(24) ptr @"_ZN5alloc11collections5btree3map5entry22Entry$LT$K$C$V$C$A$GT$14or_insert_with17he2f71b2c41e01fb3E"(ptr noalias noundef align 8 captures(none) dereferenceable(48) %182) - to label %2058 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit + %2055 = invoke fastcc noundef align 8 dereferenceable(24) ptr @"_ZN5alloc11collections5btree3map5entry22Entry$LT$K$C$V$C$A$GT$14or_insert_with17he2f71b2c41e01fb3E"(ptr noalias noundef align 8 captures(none) dereferenceable(48) %182) + to label %2056 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit -2058: ; preds = %2056 +2056: ; preds = %2054 call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %182) br label %.invoke @@ -13847,39 +13845,39 @@ _ZN11smallbitvec11SmallBitVec3len17hd19085f87d1dfa85E.llvm.16258808753110442553. %.sroa.9.1 = phi i64 [ %.sroa.9.01091, %.invoke ], [ %.sroa.9.2, %_ZN4core3ops8function6FnOnce9call_once17h4b75a0778e16e091E.exit.thread16.i471 ] %.sroa.8.1 = phi i64 [ %.sroa.8.01092, %.invoke ], [ %.sroa.8.2, %_ZN4core3ops8function6FnOnce9call_once17h4b75a0778e16e091E.exit.thread16.i471 ] %.sroa.713.1 = phi i32 [ %.sroa.713.01093, %.invoke ], [ %.sroa.713.2, %_ZN4core3ops8function6FnOnce9call_once17h4b75a0778e16e091E.exit.thread16.i471 ] - %2059 = icmp eq ptr %276, %210 - br i1 %2059, label %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h20f9becab9b1fc1cE.exit.thread", label %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h20f9becab9b1fc1cE.exit" - -2060: ; preds = %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h20f9becab9b1fc1cE.exit" - %2061 = getelementptr inbounds nuw i8, ptr %.sroa.01.01087, i64 8 - %2062 = load i32, ptr %2061, align 8, !noundef !14 - %2063 = zext i32 %2062 to i64 - %2064 = icmp eq i32 %2062, -1 - br i1 %2064, label %2397, label %2065 - -2065: ; preds = %2060 - %2066 = getelementptr inbounds nuw i8, ptr %277, i64 24 - %2067 = load i32, ptr %2066, align 8, !noundef !14 + %2057 = icmp eq ptr %276, %210 + br i1 %2057, label %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h20f9becab9b1fc1cE.exit.thread", label %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h20f9becab9b1fc1cE.exit" + +2058: ; preds = %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h20f9becab9b1fc1cE.exit" + %2059 = getelementptr inbounds nuw i8, ptr %.sroa.01.01087, i64 8 + %2060 = load i32, ptr %2059, align 8, !noundef !14 + %2061 = zext i32 %2060 to i64 + %2062 = icmp eq i32 %2060, -1 + br i1 %2062, label %2395, label %2063 + +2063: ; preds = %2058 + %2064 = getelementptr inbounds nuw i8, ptr %277, i64 24 + %2065 = load i32, ptr %2064, align 8, !noundef !14 call void @llvm.experimental.noalias.scope.decl(metadata !2395) call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %58), !noalias !2395 store i64 0, ptr %58, align 8, !noalias !2395 store ptr inttoptr (i64 8 to ptr), ptr %.sroa.4.0..sroa_idx.i432, align 8, !noalias !2395 store i64 0, ptr %.sroa.53.0..sroa_idx.i, align 8, !noalias !2395 - %2068 = getelementptr inbounds nuw i8, ptr %277, i64 8 + %2066 = getelementptr inbounds nuw i8, ptr %277, i64 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.sroa.5.0..sroa_idx.i433, i8 0, i64 16, i1 false), !noalias !2395 - %2069 = load ptr, ptr %2068, align 8, !noalias !2395, !nonnull !14, !noundef !14 - %2070 = load i64, ptr %278, align 8, !noalias !2395, !noundef !14 - %2071 = getelementptr inbounds { { i64, [3 x i64] }, { i64, [2 x i64] }, { i64, [2 x i64] }, { i64, i8 }, i8, [7 x i8] }, ptr %2069, i64 %2070 - %2072 = icmp eq i64 %2070, 0 - br i1 %2072, label %.critedge.i439, label %.lr.ph129.i + %2067 = load ptr, ptr %2066, align 8, !noalias !2395, !nonnull !14, !noundef !14 + %2068 = load i64, ptr %278, align 8, !noalias !2395, !noundef !14 + %2069 = getelementptr inbounds { { i64, [3 x i64] }, { i64, [2 x i64] }, { i64, [2 x i64] }, { i64, i8 }, i8, [7 x i8] }, ptr %2067, i64 %2068 + %2070 = icmp eq i64 %2068, 0 + br i1 %2070, label %.critedge.i439, label %.lr.ph129.i -.preheader.i: ; preds = %2329 +.preheader.i: ; preds = %2327 %.pre.i438 = load i64, ptr %.sroa.5.0..sroa_idx.i433, align 8, !noalias !2395 %.pre183.i = load ptr, ptr %.sroa.4.0..sroa_idx.i432, align 8, !noalias !2395 %.not65130.i = icmp eq i64 %.pre.i438, 0 br i1 %.not65130.i, label %.critedge.i439, label %.lr.ph131.i -.loopexit.i445: ; preds = %"_ZN108_$LT$alloc..collections..btree..map..Iter$LT$K$C$V$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0f4d7b484fcf9a78E.exit24.i.i.i.i.i.i.i.i", %2146, %"_ZN108_$LT$alloc..collections..btree..map..Iter$LT$K$C$V$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0f4d7b484fcf9a78E.exit.i.i.i.i.i.i.i.i", %2129 +.loopexit.i445: ; preds = %"_ZN108_$LT$alloc..collections..btree..map..Iter$LT$K$C$V$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0f4d7b484fcf9a78E.exit24.i.i.i.i.i.i.i.i", %2144, %"_ZN108_$LT$alloc..collections..btree..map..Iter$LT$K$C$V$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0f4d7b484fcf9a78E.exit.i.i.i.i.i.i.i.i", %2127 %lpad.loopexit.i446 = landingpad { ptr, i32 } cleanup br label %.loopexit.split-lp.i435 @@ -13889,17 +13887,17 @@ _ZN11smallbitvec11SmallBitVec3len17hd19085f87d1dfa85E.llvm.16258808753110442553. cleanup br label %.loopexit.split-lp.i435 -.loopexit.split-lp.loopexit.split-lp.loopexit.i: ; preds = %2195, %2193 +.loopexit.split-lp.loopexit.split-lp.loopexit.i: ; preds = %2193, %2191 %lpad.loopexit63.i = landingpad { ptr, i32 } cleanup br label %.loopexit.split-lp.i435 -.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.i: ; preds = %2385, %.noexc.i95.i, %2349, %.loopexit57.i.i, %2327, %.lr.ph.i449 +.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.i: ; preds = %2383, %.noexc.i95.i, %2347, %.loopexit57.i.i, %2325, %.lr.ph.i449 %lpad.loopexit65.i = landingpad { ptr, i32 } cleanup br label %.loopexit.split-lp.i435 -.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.i: ; preds = %2245, %.loopexit57.i, %.noexc.i609, %2281, %2222, %2201 +.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.i: ; preds = %2243, %.loopexit57.i, %.noexc.i609, %2279, %2220, %2199 %lpad.loopexit72.i = landingpad { ptr, i32 } cleanup br label %.loopexit.split-lp.i435 @@ -13909,99 +13907,99 @@ _ZN11smallbitvec11SmallBitVec3len17hd19085f87d1dfa85E.llvm.16258808753110442553. cleanup br label %.loopexit.split-lp.i435 -.lr.ph129.i: ; preds = %2065, %2329 - %.sroa.19241.2 = phi i64 [ %.sroa.19241.4, %2329 ], [ %.sroa.19241.01085, %2065 ] - %.sroa.20242.2 = phi i64 [ %.sroa.20242.4, %2329 ], [ %.sroa.20242.01086, %2065 ] - %.sroa.0.0128.i = phi ptr [ %2073, %2329 ], [ %2069, %2065 ] - %.sroa.7.0127.i = phi i64 [ %2074, %2329 ], [ 0, %2065 ] - %.sroa.19.0126.i = phi i64 [ %.sroa.19.2.i, %2329 ], [ undef, %2065 ] - %.sroa.20.0125.i = phi i64 [ %.sroa.20.2.i, %2329 ], [ undef, %2065 ] - %2073 = getelementptr inbounds nuw i8, ptr %.sroa.0.0128.i, i64 104 - %2074 = add nuw nsw i64 %.sroa.7.0127.i, 1 +.lr.ph129.i: ; preds = %2063, %2327 + %.sroa.19241.2 = phi i64 [ %.sroa.19241.4, %2327 ], [ %.sroa.19241.01085, %2063 ] + %.sroa.20242.2 = phi i64 [ %.sroa.20242.4, %2327 ], [ %.sroa.20242.01086, %2063 ] + %.sroa.0.0128.i = phi ptr [ %2071, %2327 ], [ %2067, %2063 ] + %.sroa.7.0127.i = phi i64 [ %2072, %2327 ], [ 0, %2063 ] + %.sroa.19.0126.i = phi i64 [ %.sroa.19.2.i, %2327 ], [ undef, %2063 ] + %.sroa.20.0125.i = phi i64 [ %.sroa.20.2.i, %2327 ], [ undef, %2063 ] + %2071 = getelementptr inbounds nuw i8, ptr %.sroa.0.0128.i, i64 104 + %2072 = add nuw nsw i64 %.sroa.7.0127.i, 1 call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %57), !noalias !2395 - %2075 = load i64, ptr %.sroa.0.0128.i, align 8, !range !215, !noalias !2395, !noundef !14 - %2076 = icmp eq i64 %2075, -9223372036854775808 - br i1 %2076, label %2200, label %2201 + %2073 = load i64, ptr %.sroa.0.0128.i, align 8, !range !215, !noalias !2395, !noundef !14 + %2074 = icmp eq i64 %2073, -9223372036854775808 + br i1 %2074, label %2198, label %2199 .lr.ph131.i: ; preds = %.preheader.i, %"_ZN4core3ptr116drop_in_place$LT$core..option..Option$LT$core..option..Option$LT$tree_sitter_cli..generate..rules..Alias$GT$$GT$$GT$17h01099a8a679ac622E.exit.i" - %2077 = phi ptr [ %2198, %"_ZN4core3ptr116drop_in_place$LT$core..option..Option$LT$core..option..Option$LT$tree_sitter_cli..generate..rules..Alias$GT$$GT$$GT$17h01099a8a679ac622E.exit.i" ], [ %.pre183.i, %.preheader.i ] - %2078 = phi i64 [ %2199, %"_ZN4core3ptr116drop_in_place$LT$core..option..Option$LT$core..option..Option$LT$tree_sitter_cli..generate..rules..Alias$GT$$GT$$GT$17h01099a8a679ac622E.exit.i" ], [ %.pre.i438, %.preheader.i ] - %2079 = add i64 %2078, -1 - %2080 = getelementptr inbounds [0 x { i64, [3 x i64] }], ptr %2077, i64 0, i64 %2079 - %.057.val.i = load i64, ptr %2080, align 8, !range !215, !noalias !2395, !noundef !14 - %2081 = icmp eq i64 %.057.val.i, -9223372036854775808 - br i1 %2081, label %2189, label %.critedge.i439 - -.critedge.i439: ; preds = %"_ZN4core3ptr116drop_in_place$LT$core..option..Option$LT$core..option..Option$LT$tree_sitter_cli..generate..rules..Alias$GT$$GT$$GT$17h01099a8a679ac622E.exit.i", %.lr.ph131.i, %.preheader.i, %2065 - %.sroa.19241.3 = phi i64 [ %.sroa.19241.01085, %2065 ], [ %.sroa.19241.4, %.preheader.i ], [ %.sroa.19241.4, %.lr.ph131.i ], [ %.sroa.19241.4, %"_ZN4core3ptr116drop_in_place$LT$core..option..Option$LT$core..option..Option$LT$tree_sitter_cli..generate..rules..Alias$GT$$GT$$GT$17h01099a8a679ac622E.exit.i" ] - %.sroa.20242.3 = phi i64 [ %.sroa.20242.01086, %2065 ], [ %.sroa.20242.4, %.preheader.i ], [ %.sroa.20242.4, %.lr.ph131.i ], [ %.sroa.20242.4, %"_ZN4core3ptr116drop_in_place$LT$core..option..Option$LT$core..option..Option$LT$tree_sitter_cli..generate..rules..Alias$GT$$GT$$GT$17h01099a8a679ac622E.exit.i" ] - %.lcssa83.i = phi i64 [ 0, %2065 ], [ 0, %.preheader.i ], [ 0, %"_ZN4core3ptr116drop_in_place$LT$core..option..Option$LT$core..option..Option$LT$tree_sitter_cli..generate..rules..Alias$GT$$GT$$GT$17h01099a8a679ac622E.exit.i" ], [ %2078, %.lr.ph131.i ] - %.lcssa.i = phi ptr [ inttoptr (i64 8 to ptr), %2065 ], [ %.pre183.i, %.preheader.i ], [ %2198, %"_ZN4core3ptr116drop_in_place$LT$core..option..Option$LT$core..option..Option$LT$tree_sitter_cli..generate..rules..Alias$GT$$GT$$GT$17h01099a8a679ac622E.exit.i" ], [ %2077, %.lr.ph131.i ] - %2082 = load i64, ptr %278, align 8, !noalias !2395, !noundef !14 - %2083 = load i64, ptr %234, align 8, !alias.scope !2395, !noundef !14 - %2084 = icmp ugt i64 %2082, %2083 - br i1 %2084, label %2085, label %2086 - -2085: ; preds = %.critedge.i439 - store i64 %2082, ptr %234, align 8, !alias.scope !2395 - br label %2086 - -2086: ; preds = %2085, %.critedge.i439 - %2087 = load ptr, ptr %236, align 8, !alias.scope !2395, !nonnull !14, !noundef !14 - %2088 = load i64, ptr %237, align 8, !alias.scope !2395, !noundef !14 - %2089 = getelementptr inbounds { { { i64, ptr }, i64 }, { { ptr, i64 }, i64, { {} }, {} } }, ptr %2087, i64 %2088 + %2075 = phi ptr [ %2196, %"_ZN4core3ptr116drop_in_place$LT$core..option..Option$LT$core..option..Option$LT$tree_sitter_cli..generate..rules..Alias$GT$$GT$$GT$17h01099a8a679ac622E.exit.i" ], [ %.pre183.i, %.preheader.i ] + %2076 = phi i64 [ %2197, %"_ZN4core3ptr116drop_in_place$LT$core..option..Option$LT$core..option..Option$LT$tree_sitter_cli..generate..rules..Alias$GT$$GT$$GT$17h01099a8a679ac622E.exit.i" ], [ %.pre.i438, %.preheader.i ] + %2077 = add i64 %2076, -1 + %2078 = getelementptr inbounds [0 x { i64, [3 x i64] }], ptr %2075, i64 0, i64 %2077 + %.057.val.i = load i64, ptr %2078, align 8, !range !215, !noalias !2395, !noundef !14 + %2079 = icmp eq i64 %.057.val.i, -9223372036854775808 + br i1 %2079, label %2187, label %.critedge.i439 + +.critedge.i439: ; preds = %"_ZN4core3ptr116drop_in_place$LT$core..option..Option$LT$core..option..Option$LT$tree_sitter_cli..generate..rules..Alias$GT$$GT$$GT$17h01099a8a679ac622E.exit.i", %.lr.ph131.i, %.preheader.i, %2063 + %.sroa.19241.3 = phi i64 [ %.sroa.19241.01085, %2063 ], [ %.sroa.19241.4, %.preheader.i ], [ %.sroa.19241.4, %.lr.ph131.i ], [ %.sroa.19241.4, %"_ZN4core3ptr116drop_in_place$LT$core..option..Option$LT$core..option..Option$LT$tree_sitter_cli..generate..rules..Alias$GT$$GT$$GT$17h01099a8a679ac622E.exit.i" ] + %.sroa.20242.3 = phi i64 [ %.sroa.20242.01086, %2063 ], [ %.sroa.20242.4, %.preheader.i ], [ %.sroa.20242.4, %.lr.ph131.i ], [ %.sroa.20242.4, %"_ZN4core3ptr116drop_in_place$LT$core..option..Option$LT$core..option..Option$LT$tree_sitter_cli..generate..rules..Alias$GT$$GT$$GT$17h01099a8a679ac622E.exit.i" ] + %.lcssa83.i = phi i64 [ 0, %2063 ], [ 0, %.preheader.i ], [ 0, %"_ZN4core3ptr116drop_in_place$LT$core..option..Option$LT$core..option..Option$LT$tree_sitter_cli..generate..rules..Alias$GT$$GT$$GT$17h01099a8a679ac622E.exit.i" ], [ %2076, %.lr.ph131.i ] + %.lcssa.i = phi ptr [ inttoptr (i64 8 to ptr), %2063 ], [ %.pre183.i, %.preheader.i ], [ %2196, %"_ZN4core3ptr116drop_in_place$LT$core..option..Option$LT$core..option..Option$LT$tree_sitter_cli..generate..rules..Alias$GT$$GT$$GT$17h01099a8a679ac622E.exit.i" ], [ %2075, %.lr.ph131.i ] + %2080 = load i64, ptr %278, align 8, !noalias !2395, !noundef !14 + %2081 = load i64, ptr %234, align 8, !alias.scope !2395, !noundef !14 + %2082 = icmp ugt i64 %2080, %2081 + br i1 %2082, label %2083, label %2084 + +2083: ; preds = %.critedge.i439 + store i64 %2080, ptr %234, align 8, !alias.scope !2395 + br label %2084 + +2084: ; preds = %2083, %.critedge.i439 + %2085 = load ptr, ptr %236, align 8, !alias.scope !2395, !nonnull !14, !noundef !14 + %2086 = load i64, ptr %237, align 8, !alias.scope !2395, !noundef !14 + %2087 = getelementptr inbounds { { { i64, ptr }, i64 }, { { ptr, i64 }, i64, { {} }, {} } }, ptr %2085, i64 %2086 call void @llvm.experimental.noalias.scope.decl(metadata !2398) - %2090 = icmp eq i64 %2088, 0 - br i1 %2090, label %.loopexit62.i, label %.lr.ph.i.i440 - -.lr.ph.i.i440: ; preds = %2086 - %2091 = load i64, ptr %.sroa.53.0..sroa_idx.i, align 8, !alias.scope !2398, !noalias !2401 - %.fr143.i = freeze i64 %2091 - %2092 = load ptr, ptr %212, align 8, !alias.scope !2398, !noalias !2401 - %.not.i.i.i.i.i.i.i.i = icmp ne ptr %2092, null - %2093 = load i64, ptr %216, align 8, !alias.scope !2398, !noalias !2401 - %.sroa.6.0.i.i.i.i.i.i = select i1 %.not.i.i.i.i.i.i.i.i, i64 %2093, i64 undef + %2088 = icmp eq i64 %2086, 0 + br i1 %2088, label %.loopexit62.i, label %.lr.ph.i.i440 + +.lr.ph.i.i440: ; preds = %2084 + %2089 = load i64, ptr %.sroa.53.0..sroa_idx.i, align 8, !alias.scope !2398, !noalias !2401 + %.fr143.i = freeze i64 %2089 + %2090 = load ptr, ptr %212, align 8, !alias.scope !2398, !noalias !2401 + %.not.i.i.i.i.i.i.i.i = icmp ne ptr %2090, null + %2091 = load i64, ptr %216, align 8, !alias.scope !2398, !noalias !2401 + %.sroa.6.0.i.i.i.i.i.i = select i1 %.not.i.i.i.i.i.i.i.i, i64 %2091, i64 undef %.sink22.i.i.i.i.i.i.i.i = zext i1 %.not.i.i.i.i.i.i.i.i to i64 - %2094 = getelementptr inbounds { i64, [3 x i64] }, ptr %.lcssa.i, i64 %.lcssa83.i + %2092 = getelementptr inbounds { i64, [3 x i64] }, ptr %.lcssa.i, i64 %.lcssa83.i %.sink.i.i.i.i.i.i.i.i = select i1 %.not.i.i.i.i.i.i.i.i, i64 %.fr143.i, i64 0 %.not144.i = icmp eq i64 %.fr143.i, 0 br i1 %.not144.i, label %.lr.ph.i.split.us.i, label %.lr.ph.i.split.i .lr.ph.i.split.us.i: ; preds = %.lr.ph.i.i440, %"_ZN15tree_sitter_cli8generate12build_tables17build_parse_table17ParseTableBuilder17get_production_id28_$u7b$$u7b$closure$u7d$$u7d$17he35fe33b3f339f01E.exit.thread.i.us.i" - %.019.i.us.i = phi i64 [ %2105, %"_ZN15tree_sitter_cli8generate12build_tables17build_parse_table17ParseTableBuilder17get_production_id28_$u7b$$u7b$closure$u7d$$u7d$17he35fe33b3f339f01E.exit.thread.i.us.i" ], [ 0, %.lr.ph.i.i440 ] - %2095 = phi ptr [ %2096, %"_ZN15tree_sitter_cli8generate12build_tables17build_parse_table17ParseTableBuilder17get_production_id28_$u7b$$u7b$closure$u7d$$u7d$17he35fe33b3f339f01E.exit.thread.i.us.i" ], [ %2087, %.lr.ph.i.i440 ] - %2096 = getelementptr inbounds nuw i8, ptr %2095, i64 48 + %.019.i.us.i = phi i64 [ %2103, %"_ZN15tree_sitter_cli8generate12build_tables17build_parse_table17ParseTableBuilder17get_production_id28_$u7b$$u7b$closure$u7d$$u7d$17he35fe33b3f339f01E.exit.thread.i.us.i" ], [ 0, %.lr.ph.i.i440 ] + %2093 = phi ptr [ %2094, %"_ZN15tree_sitter_cli8generate12build_tables17build_parse_table17ParseTableBuilder17get_production_id28_$u7b$$u7b$closure$u7d$$u7d$17he35fe33b3f339f01E.exit.thread.i.us.i" ], [ %2085, %.lr.ph.i.i440 ] + %2094 = getelementptr inbounds nuw i8, ptr %2093, i64 48 call void @llvm.experimental.noalias.scope.decl(metadata !2403) call void @llvm.experimental.noalias.scope.decl(metadata !2406) - %2097 = getelementptr inbounds nuw i8, ptr %2095, i64 16 - %.val3.i.i.i.us.i = load i64, ptr %2097, align 8, !alias.scope !2409, !noalias !2410, !noundef !14 + %2095 = getelementptr inbounds nuw i8, ptr %2093, i64 16 + %.val3.i.i.i.us.i = load i64, ptr %2095, align 8, !alias.scope !2409, !noalias !2410, !noundef !14 %.not.i.i.i.i.us.i = icmp eq i64 %.val3.i.i.i.us.i, %.lcssa83.i br i1 %.not.i.i.i.i.us.i, label %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h1780e60f14ad6749E.exit.i.i.i.us.i", label %"_ZN15tree_sitter_cli8generate12build_tables17build_parse_table17ParseTableBuilder17get_production_id28_$u7b$$u7b$closure$u7d$$u7d$17he35fe33b3f339f01E.exit.thread.i.us.i" "_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h1780e60f14ad6749E.exit.i.i.i.us.i": ; preds = %.lr.ph.i.split.us.i - %2098 = getelementptr inbounds nuw i8, ptr %2095, i64 8 - %.val2.i.i.i.us.i = load ptr, ptr %2098, align 8, !alias.scope !2409, !noalias !2410, !nonnull !14, !noundef !14 + %2096 = getelementptr inbounds nuw i8, ptr %2093, i64 8 + %.val2.i.i.i.us.i = load ptr, ptr %2096, align 8, !alias.scope !2409, !noalias !2410, !nonnull !14, !noundef !14 call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %50), !noalias !2412 - %2099 = getelementptr inbounds { i64, [3 x i64] }, ptr %.val2.i.i.i.us.i, i64 %.lcssa83.i - invoke void @"_ZN111_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..adapters..zip..ZipImpl$LT$A$C$B$GT$$GT$3new17h79533b148574605aE"(ptr noalias noundef nonnull sret({ { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }) align 8 captures(none) dereferenceable(56) %50, ptr noundef nonnull readonly align 8 %.val2.i.i.i.us.i, ptr noundef nonnull readonly %2099, ptr noundef nonnull readonly align 8 %.lcssa.i, ptr noundef nonnull readonly %2094) + %2097 = getelementptr inbounds { i64, [3 x i64] }, ptr %.val2.i.i.i.us.i, i64 %.lcssa83.i + invoke void @"_ZN111_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..adapters..zip..ZipImpl$LT$A$C$B$GT$$GT$3new17h79533b148574605aE"(ptr noalias noundef nonnull sret({ { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }) align 8 captures(none) dereferenceable(56) %50, ptr noundef nonnull readonly align 8 %.val2.i.i.i.us.i, ptr noundef nonnull readonly %2097, ptr noundef nonnull readonly align 8 %.lcssa.i, ptr noundef nonnull readonly %2092) to label %.noexc.us.i unwind label %.loopexit.split-lp.loopexit.split.us.i, !noalias !2395 .noexc.us.i: ; preds = %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h1780e60f14ad6749E.exit.i.i.i.us.i" - %2100 = invoke noundef zeroext i1 @_ZN4core4iter6traits8iterator8Iterator8try_fold17h97dd15fe86af6808E.llvm.10393017446704266758(ptr noalias noundef nonnull align 8 dereferenceable(56) %50) + %2098 = invoke noundef zeroext i1 @_ZN4core4iter6traits8iterator8Iterator8try_fold17h97dd15fe86af6808E.llvm.10393017446704266758(ptr noalias noundef nonnull align 8 dereferenceable(56) %50) to label %.noexc67.us.i unwind label %.loopexit.split-lp.loopexit.split.us.i, !noalias !2395 .noexc67.us.i: ; preds = %.noexc.us.i call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %50), !noalias !2412 - br i1 %2100, label %"_ZN15tree_sitter_cli8generate12build_tables17build_parse_table17ParseTableBuilder17get_production_id28_$u7b$$u7b$closure$u7d$$u7d$17he35fe33b3f339f01E.exit.thread.i.us.i", label %2101 + br i1 %2098, label %"_ZN15tree_sitter_cli8generate12build_tables17build_parse_table17ParseTableBuilder17get_production_id28_$u7b$$u7b$closure$u7d$$u7d$17he35fe33b3f339f01E.exit.thread.i.us.i", label %2099 -2101: ; preds = %.noexc67.us.i +2099: ; preds = %.noexc67.us.i call void @llvm.experimental.noalias.scope.decl(metadata !2416) - %2102 = getelementptr inbounds nuw i8, ptr %2095, i64 40 - %2103 = load i64, ptr %2102, align 8, !alias.scope !2419, !noalias !2420, !noundef !14 - %2104 = icmp eq i64 %2103, 0 - br i1 %2104, label %"_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$4iter17h40669b31a47c1953E.exit.i.i.i.i.us.i", label %"_ZN15tree_sitter_cli8generate12build_tables17build_parse_table17ParseTableBuilder17get_production_id28_$u7b$$u7b$closure$u7d$$u7d$17he35fe33b3f339f01E.exit.thread.i.us.i" + %2100 = getelementptr inbounds nuw i8, ptr %2093, i64 40 + %2101 = load i64, ptr %2100, align 8, !alias.scope !2419, !noalias !2420, !noundef !14 + %2102 = icmp eq i64 %2101, 0 + br i1 %2102, label %"_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$4iter17h40669b31a47c1953E.exit.i.i.i.i.us.i", label %"_ZN15tree_sitter_cli8generate12build_tables17build_parse_table17ParseTableBuilder17get_production_id28_$u7b$$u7b$closure$u7d$$u7d$17he35fe33b3f339f01E.exit.thread.i.us.i" -"_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$4iter17h40669b31a47c1953E.exit.i.i.i.i.us.i": ; preds = %2101 +"_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$4iter17h40669b31a47c1953E.exit.i.i.i.i.us.i": ; preds = %2099 call void @llvm.lifetime.start.p0(i64 168, ptr nonnull %49), !noalias !2422 call void @llvm.experimental.noalias.scope.decl(metadata !2423) call void @llvm.experimental.noalias.scope.decl(metadata !2426) @@ -14009,10 +14007,10 @@ _ZN11smallbitvec11SmallBitVec3len17hd19085f87d1dfa85E.llvm.16258808753110442553. call void @llvm.experimental.noalias.scope.decl(metadata !2431) br label %.loopexit56.i -"_ZN15tree_sitter_cli8generate12build_tables17build_parse_table17ParseTableBuilder17get_production_id28_$u7b$$u7b$closure$u7d$$u7d$17he35fe33b3f339f01E.exit.thread.i.us.i": ; preds = %2101, %.noexc67.us.i, %.lr.ph.i.split.us.i - %2105 = add nuw nsw i64 %.019.i.us.i, 1 - %2106 = icmp eq ptr %2096, %2089 - br i1 %2106, label %.loopexit62.i, label %.lr.ph.i.split.us.i +"_ZN15tree_sitter_cli8generate12build_tables17build_parse_table17ParseTableBuilder17get_production_id28_$u7b$$u7b$closure$u7d$$u7d$17he35fe33b3f339f01E.exit.thread.i.us.i": ; preds = %2099, %.noexc67.us.i, %.lr.ph.i.split.us.i + %2103 = add nuw nsw i64 %.019.i.us.i, 1 + %2104 = icmp eq ptr %2094, %2087 + br i1 %2104, label %.loopexit62.i, label %.lr.ph.i.split.us.i .loopexit.split-lp.loopexit.split.us.i: ; preds = %.noexc.us.i, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h1780e60f14ad6749E.exit.i.i.i.us.i" %lpad.loopexit58.us.i = landingpad { ptr, i32 } @@ -14020,66 +14018,66 @@ _ZN11smallbitvec11SmallBitVec3len17hd19085f87d1dfa85E.llvm.16258808753110442553. br label %.loopexit.split-lp.i435 .lr.ph.i.split.i: ; preds = %.lr.ph.i.i440, %"_ZN15tree_sitter_cli8generate12build_tables17build_parse_table17ParseTableBuilder17get_production_id28_$u7b$$u7b$closure$u7d$$u7d$17he35fe33b3f339f01E.exit.thread.i.i" - %.019.i.i = phi i64 [ %2173, %"_ZN15tree_sitter_cli8generate12build_tables17build_parse_table17ParseTableBuilder17get_production_id28_$u7b$$u7b$closure$u7d$$u7d$17he35fe33b3f339f01E.exit.thread.i.i" ], [ 0, %.lr.ph.i.i440 ] - %2107 = phi ptr [ %2108, %"_ZN15tree_sitter_cli8generate12build_tables17build_parse_table17ParseTableBuilder17get_production_id28_$u7b$$u7b$closure$u7d$$u7d$17he35fe33b3f339f01E.exit.thread.i.i" ], [ %2087, %.lr.ph.i.i440 ] - %2108 = getelementptr inbounds nuw i8, ptr %2107, i64 48 + %.019.i.i = phi i64 [ %2171, %"_ZN15tree_sitter_cli8generate12build_tables17build_parse_table17ParseTableBuilder17get_production_id28_$u7b$$u7b$closure$u7d$$u7d$17he35fe33b3f339f01E.exit.thread.i.i" ], [ 0, %.lr.ph.i.i440 ] + %2105 = phi ptr [ %2106, %"_ZN15tree_sitter_cli8generate12build_tables17build_parse_table17ParseTableBuilder17get_production_id28_$u7b$$u7b$closure$u7d$$u7d$17he35fe33b3f339f01E.exit.thread.i.i" ], [ %2085, %.lr.ph.i.i440 ] + %2106 = getelementptr inbounds nuw i8, ptr %2105, i64 48 call void @llvm.experimental.noalias.scope.decl(metadata !2403) call void @llvm.experimental.noalias.scope.decl(metadata !2406) - %2109 = getelementptr inbounds nuw i8, ptr %2107, i64 16 - %.val3.i.i.i.i = load i64, ptr %2109, align 8, !alias.scope !2409, !noalias !2410, !noundef !14 + %2107 = getelementptr inbounds nuw i8, ptr %2105, i64 16 + %.val3.i.i.i.i = load i64, ptr %2107, align 8, !alias.scope !2409, !noalias !2410, !noundef !14 %.not.i.i.i.i.i441 = icmp eq i64 %.val3.i.i.i.i, %.lcssa83.i br i1 %.not.i.i.i.i.i441, label %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h1780e60f14ad6749E.exit.i.i.i.i", label %"_ZN15tree_sitter_cli8generate12build_tables17build_parse_table17ParseTableBuilder17get_production_id28_$u7b$$u7b$closure$u7d$$u7d$17he35fe33b3f339f01E.exit.thread.i.i" "_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h1780e60f14ad6749E.exit.i.i.i.i": ; preds = %.lr.ph.i.split.i - %2110 = getelementptr inbounds nuw i8, ptr %2107, i64 8 - %.val2.i.i.i.i = load ptr, ptr %2110, align 8, !alias.scope !2409, !noalias !2410, !nonnull !14, !noundef !14 + %2108 = getelementptr inbounds nuw i8, ptr %2105, i64 8 + %.val2.i.i.i.i = load ptr, ptr %2108, align 8, !alias.scope !2409, !noalias !2410, !nonnull !14, !noundef !14 call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %50), !noalias !2412 - %2111 = getelementptr inbounds { i64, [3 x i64] }, ptr %.val2.i.i.i.i, i64 %.lcssa83.i - invoke void @"_ZN111_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..adapters..zip..ZipImpl$LT$A$C$B$GT$$GT$3new17h79533b148574605aE"(ptr noalias noundef nonnull sret({ { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }) align 8 captures(none) dereferenceable(56) %50, ptr noundef nonnull readonly align 8 %.val2.i.i.i.i, ptr noundef nonnull readonly %2111, ptr noundef nonnull readonly align 8 %.lcssa.i, ptr noundef nonnull readonly %2094) + %2109 = getelementptr inbounds { i64, [3 x i64] }, ptr %.val2.i.i.i.i, i64 %.lcssa83.i + invoke void @"_ZN111_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..adapters..zip..ZipImpl$LT$A$C$B$GT$$GT$3new17h79533b148574605aE"(ptr noalias noundef nonnull sret({ { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }) align 8 captures(none) dereferenceable(56) %50, ptr noundef nonnull readonly align 8 %.val2.i.i.i.i, ptr noundef nonnull readonly %2109, ptr noundef nonnull readonly align 8 %.lcssa.i, ptr noundef nonnull readonly %2092) to label %.noexc.i443 unwind label %.loopexit.split-lp.loopexit.split.i, !noalias !2395 .noexc.i443: ; preds = %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h1780e60f14ad6749E.exit.i.i.i.i" - %2112 = invoke noundef zeroext i1 @_ZN4core4iter6traits8iterator8Iterator8try_fold17h97dd15fe86af6808E.llvm.10393017446704266758(ptr noalias noundef nonnull align 8 dereferenceable(56) %50) + %2110 = invoke noundef zeroext i1 @_ZN4core4iter6traits8iterator8Iterator8try_fold17h97dd15fe86af6808E.llvm.10393017446704266758(ptr noalias noundef nonnull align 8 dereferenceable(56) %50) to label %.noexc67.i unwind label %.loopexit.split-lp.loopexit.split.i, !noalias !2395 .noexc67.i: ; preds = %.noexc.i443 call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %50), !noalias !2412 - br i1 %2112, label %"_ZN15tree_sitter_cli8generate12build_tables17build_parse_table17ParseTableBuilder17get_production_id28_$u7b$$u7b$closure$u7d$$u7d$17he35fe33b3f339f01E.exit.thread.i.i", label %2113 + br i1 %2110, label %"_ZN15tree_sitter_cli8generate12build_tables17build_parse_table17ParseTableBuilder17get_production_id28_$u7b$$u7b$closure$u7d$$u7d$17he35fe33b3f339f01E.exit.thread.i.i", label %2111 -2113: ; preds = %.noexc67.i +2111: ; preds = %.noexc67.i call void @llvm.experimental.noalias.scope.decl(metadata !2416) - %2114 = getelementptr inbounds nuw i8, ptr %2107, i64 40 - %2115 = load i64, ptr %2114, align 8, !alias.scope !2419, !noalias !2420, !noundef !14 - %2116 = icmp eq i64 %2115, %.fr143.i - br i1 %2116, label %"_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$4iter17h40669b31a47c1953E.exit.i.i.i.i.i", label %"_ZN15tree_sitter_cli8generate12build_tables17build_parse_table17ParseTableBuilder17get_production_id28_$u7b$$u7b$closure$u7d$$u7d$17he35fe33b3f339f01E.exit.thread.i.i" + %2112 = getelementptr inbounds nuw i8, ptr %2105, i64 40 + %2113 = load i64, ptr %2112, align 8, !alias.scope !2419, !noalias !2420, !noundef !14 + %2114 = icmp eq i64 %2113, %.fr143.i + br i1 %2114, label %"_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$4iter17h40669b31a47c1953E.exit.i.i.i.i.i", label %"_ZN15tree_sitter_cli8generate12build_tables17build_parse_table17ParseTableBuilder17get_production_id28_$u7b$$u7b$closure$u7d$$u7d$17he35fe33b3f339f01E.exit.thread.i.i" -"_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$4iter17h40669b31a47c1953E.exit.i.i.i.i.i": ; preds = %2113 - %2117 = getelementptr inbounds nuw i8, ptr %2107, i64 24 +"_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$4iter17h40669b31a47c1953E.exit.i.i.i.i.i": ; preds = %2111 + %2115 = getelementptr inbounds nuw i8, ptr %2105, i64 24 call void @llvm.lifetime.start.p0(i64 168, ptr nonnull %49), !noalias !2422 - %2118 = load ptr, ptr %2117, align 8, !alias.scope !2434, !noalias !2437, !noundef !14 - %.not.i.i.i.i.i.i444 = icmp ne ptr %2118, null - %2119 = getelementptr inbounds nuw i8, ptr %2107, i64 32 - %2120 = load i64, ptr %2119, align 8, !alias.scope !2419, !noalias !2420 - %.sroa.6.0.i.i.i.i.i = select i1 %.not.i.i.i.i.i.i444, i64 %2120, i64 undef + %2116 = load ptr, ptr %2115, align 8, !alias.scope !2434, !noalias !2437, !noundef !14 + %.not.i.i.i.i.i.i444 = icmp ne ptr %2116, null + %2117 = getelementptr inbounds nuw i8, ptr %2105, i64 32 + %2118 = load i64, ptr %2117, align 8, !alias.scope !2419, !noalias !2420 + %.sroa.6.0.i.i.i.i.i = select i1 %.not.i.i.i.i.i.i444, i64 %2118, i64 undef %.sink22.i.i.i.i.i.i = zext i1 %.not.i.i.i.i.i.i444 to i64 call void @llvm.experimental.noalias.scope.decl(metadata !2423) call void @llvm.experimental.noalias.scope.decl(metadata !2426) call void @llvm.experimental.noalias.scope.decl(metadata !2429) store i64 %.sink22.i.i.i.i.i.i, ptr %49, align 8, !alias.scope !2439, !noalias !2442 store ptr null, ptr %.sroa.4.0..sroa_idx.i.i.i.i.i, align 8, !alias.scope !2439, !noalias !2442 - store ptr %2118, ptr %.sroa.5.0..sroa_idx.i.i.i.i.i, align 8, !alias.scope !2439, !noalias !2442 + store ptr %2116, ptr %.sroa.5.0..sroa_idx.i.i.i.i.i, align 8, !alias.scope !2439, !noalias !2442 store i64 %.sroa.6.0.i.i.i.i.i, ptr %.sroa.6.0..sroa_idx.i.i.i.i.i, align 8, !alias.scope !2439, !noalias !2442 store i64 %.sink22.i.i.i.i.i.i, ptr %.sroa.7.0..sroa_idx.i.i.i.i.i, align 8, !alias.scope !2439, !noalias !2442 store ptr null, ptr %.sroa.8.0..sroa_idx.i.i.i.i.i, align 8, !alias.scope !2439, !noalias !2442 - store ptr %2118, ptr %.sroa.9.0..sroa_idx.i.i.i.i.i, align 8, !alias.scope !2439, !noalias !2442 + store ptr %2116, ptr %.sroa.9.0..sroa_idx.i.i.i.i.i, align 8, !alias.scope !2439, !noalias !2442 store i64 %.sroa.6.0.i.i.i.i.i, ptr %.sroa.10.0..sroa_idx.i.i.i.i.i, align 8, !alias.scope !2439, !noalias !2442 store i64 %.sink22.i.i.i.i.i.i.i.i, ptr %238, align 8, !alias.scope !2444, !noalias !2445 store ptr null, ptr %.sroa.4.0..sroa_idx.i.i.i.i.i.i, align 8, !alias.scope !2444, !noalias !2445 - store ptr %2092, ptr %.sroa.5.0..sroa_idx.i.i.i.i.i.i, align 8, !alias.scope !2444, !noalias !2445 + store ptr %2090, ptr %.sroa.5.0..sroa_idx.i.i.i.i.i.i, align 8, !alias.scope !2444, !noalias !2445 store i64 %.sroa.6.0.i.i.i.i.i.i, ptr %.sroa.6.0..sroa_idx.i.i.i.i.i.i, align 8, !alias.scope !2444, !noalias !2445 store i64 %.sink22.i.i.i.i.i.i.i.i, ptr %.sroa.7.0..sroa_idx.i.i.i.i.i.i, align 8, !alias.scope !2444, !noalias !2445 store ptr null, ptr %.sroa.8.0..sroa_idx.i.i.i.i.i.i, align 8, !alias.scope !2444, !noalias !2445 - store ptr %2092, ptr %.sroa.9.0..sroa_idx.i.i.i.i.i.i, align 8, !alias.scope !2444, !noalias !2445 + store ptr %2090, ptr %.sroa.9.0..sroa_idx.i.i.i.i.i.i, align 8, !alias.scope !2444, !noalias !2445 store i64 %.sroa.6.0.i.i.i.i.i.i, ptr %.sroa.10.0..sroa_idx.i.i.i.i.i.i, align 8, !alias.scope !2444, !noalias !2445 store i64 %.sink.i.i.i.i.i.i.i.i, ptr %.sroa.11.0..sroa_idx.i.i.i.i.i.i, align 8, !alias.scope !2444, !noalias !2445 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %239, i8 0, i64 24, i1 false), !alias.scope !2446, !noalias !2447 @@ -14087,338 +14085,338 @@ _ZN11smallbitvec11SmallBitVec3len17hd19085f87d1dfa85E.llvm.16258808753110442553. br i1 %.not.i.i.i.i.i.i444, label %.lr.ph.i.i.i.i.i.i, label %.loopexit56.i "_ZN4core4iter6traits8iterator8Iterator3all5check28_$u7b$$u7b$closure$u7d$$u7d$17hf02b203b94fe1d5dE.exit.loopexit.i.i.i.i.i.i": ; preds = %.preheader.i.i.i.i.i.i.i.i.i.i.i - %2121 = load i64, ptr %.sroa.11.0..sroa_idx.i.i.i.i.i, align 8, !alias.scope !2448, !noalias !2455, !noundef !14 - %2122 = icmp eq i64 %2121, 0 - br i1 %2122, label %.loopexit56.i, label %.lr.ph.i.i.i.i.i.i + %2119 = load i64, ptr %.sroa.11.0..sroa_idx.i.i.i.i.i, align 8, !alias.scope !2448, !noalias !2455, !noundef !14 + %2120 = icmp eq i64 %2119, 0 + br i1 %2120, label %.loopexit56.i, label %.lr.ph.i.i.i.i.i.i .lr.ph.i.i.i.i.i.i: ; preds = %"_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$4iter17h40669b31a47c1953E.exit.i.i.i.i.i", %"_ZN4core4iter6traits8iterator8Iterator3all5check28_$u7b$$u7b$closure$u7d$$u7d$17hf02b203b94fe1d5dE.exit.loopexit.i.i.i.i.i.i" - %2123 = phi i64 [ %2121, %"_ZN4core4iter6traits8iterator8Iterator3all5check28_$u7b$$u7b$closure$u7d$$u7d$17hf02b203b94fe1d5dE.exit.loopexit.i.i.i.i.i.i" ], [ %.fr143.i, %"_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$4iter17h40669b31a47c1953E.exit.i.i.i.i.i" ] - %2124 = add i64 %2123, -1 - store i64 %2124, ptr %.sroa.11.0..sroa_idx.i.i.i.i.i, align 8, !alias.scope !2458, !noalias !2455 - %2125 = load i64, ptr %49, align 8, !range !86, !alias.scope !2462, !noalias !2455, !noundef !14 - %.not.not.i.i.i.i.i.i.i.i.i.i = icmp eq i64 %2125, 0 - br i1 %.not.not.i.i.i.i.i.i.i.i.i.i, label %.invoke223.i, label %2126 - -2126: ; preds = %.lr.ph.i.i.i.i.i.i - %2127 = load ptr, ptr %.sroa.4.0..sroa_idx.i.i.i.i.i, align 8, !alias.scope !2462, !noalias !2455, !noundef !14 - %2128 = icmp eq ptr %2127, null - br i1 %2128, label %2129, label %"_ZN108_$LT$alloc..collections..btree..map..Iter$LT$K$C$V$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0f4d7b484fcf9a78E.exit.i.i.i.i.i.i.i.i" - -2129: ; preds = %2126 - %2130 = load ptr, ptr %.sroa.5.0..sroa_idx.i.i.i.i.i, align 8, !alias.scope !2462, !noalias !2455, !nonnull !14, !noundef !14 - %2131 = load i64, ptr %.sroa.6.0..sroa_idx.i.i.i.i.i, align 8, !alias.scope !2462, !noalias !2455, !noundef !14 - invoke void @"_ZN5alloc11collections5btree8navigate142_$LT$impl$u20$alloc..collections..btree..node..NodeRef$LT$BorrowType$C$K$C$V$C$alloc..collections..btree..node..marker..LeafOrInternal$GT$$GT$15first_leaf_edge17h26703e180f2cb085E.llvm.17454970623020605724"(ptr noalias noundef nonnull sret({ { ptr, i64 }, i64, {} }) align 8 captures(none) dereferenceable(24) %.sroa.4.0..sroa_idx.i.i.i.i.i, ptr noundef nonnull %2130, i64 noundef %2131) + %2121 = phi i64 [ %2119, %"_ZN4core4iter6traits8iterator8Iterator3all5check28_$u7b$$u7b$closure$u7d$$u7d$17hf02b203b94fe1d5dE.exit.loopexit.i.i.i.i.i.i" ], [ %.fr143.i, %"_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$4iter17h40669b31a47c1953E.exit.i.i.i.i.i" ] + %2122 = add i64 %2121, -1 + store i64 %2122, ptr %.sroa.11.0..sroa_idx.i.i.i.i.i, align 8, !alias.scope !2458, !noalias !2455 + %2123 = load i64, ptr %49, align 8, !range !86, !alias.scope !2462, !noalias !2455, !noundef !14 + %.not.not.i.i.i.i.i.i.i.i.i.i = icmp eq i64 %2123, 0 + br i1 %.not.not.i.i.i.i.i.i.i.i.i.i, label %.invoke223.i, label %2124 + +2124: ; preds = %.lr.ph.i.i.i.i.i.i + %2125 = load ptr, ptr %.sroa.4.0..sroa_idx.i.i.i.i.i, align 8, !alias.scope !2462, !noalias !2455, !noundef !14 + %2126 = icmp eq ptr %2125, null + br i1 %2126, label %2127, label %"_ZN108_$LT$alloc..collections..btree..map..Iter$LT$K$C$V$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0f4d7b484fcf9a78E.exit.i.i.i.i.i.i.i.i" + +2127: ; preds = %2124 + %2128 = load ptr, ptr %.sroa.5.0..sroa_idx.i.i.i.i.i, align 8, !alias.scope !2462, !noalias !2455, !nonnull !14, !noundef !14 + %2129 = load i64, ptr %.sroa.6.0..sroa_idx.i.i.i.i.i, align 8, !alias.scope !2462, !noalias !2455, !noundef !14 + invoke void @"_ZN5alloc11collections5btree8navigate142_$LT$impl$u20$alloc..collections..btree..node..NodeRef$LT$BorrowType$C$K$C$V$C$alloc..collections..btree..node..marker..LeafOrInternal$GT$$GT$15first_leaf_edge17h26703e180f2cb085E.llvm.17454970623020605724"(ptr noalias noundef nonnull sret({ { ptr, i64 }, i64, {} }) align 8 captures(none) dereferenceable(24) %.sroa.4.0..sroa_idx.i.i.i.i.i, ptr noundef nonnull %2128, i64 noundef %2129) to label %.noexc68.i unwind label %.loopexit.i445, !noalias !2395 -.noexc68.i: ; preds = %2129 +.noexc68.i: ; preds = %2127 store i64 1, ptr %49, align 8, !alias.scope !2462, !noalias !2455 br label %"_ZN108_$LT$alloc..collections..btree..map..Iter$LT$K$C$V$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0f4d7b484fcf9a78E.exit.i.i.i.i.i.i.i.i" -.invoke223.i: ; preds = %2140, %.lr.ph.i.i.i.i.i.i +.invoke223.i: ; preds = %2138, %.lr.ph.i.i.i.i.i.i invoke void @_ZN4core9panicking5panic17hb837a5ebbbe5b188E(ptr noalias noundef nonnull readonly align 1 @anon.f4ab2160caa6653ef344418ff3b39bb7.0.llvm.18097807149992804452, i64 noundef 43, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.f4ab2160caa6653ef344418ff3b39bb7.2.llvm.18097807149992804452) #45 to label %.cont224.i unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.i, !noalias !2395 .cont224.i: ; preds = %.invoke223.i unreachable -"_ZN108_$LT$alloc..collections..btree..map..Iter$LT$K$C$V$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0f4d7b484fcf9a78E.exit.i.i.i.i.i.i.i.i": ; preds = %.noexc68.i, %2126 - %2132 = invoke { ptr, ptr } @_ZN5alloc11collections5btree3mem7replace17h4626f0a6d3f23fd5E.llvm.18097807149992804452(ptr noalias noundef nonnull align 8 dereferenceable(24) %.sroa.4.0..sroa_idx.i.i.i.i.i) +"_ZN108_$LT$alloc..collections..btree..map..Iter$LT$K$C$V$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0f4d7b484fcf9a78E.exit.i.i.i.i.i.i.i.i": ; preds = %.noexc68.i, %2124 + %2130 = invoke { ptr, ptr } @_ZN5alloc11collections5btree3mem7replace17h4626f0a6d3f23fd5E.llvm.18097807149992804452(ptr noalias noundef nonnull align 8 dereferenceable(24) %.sroa.4.0..sroa_idx.i.i.i.i.i) to label %.noexc70.i unwind label %.loopexit.i445, !noalias !2395 .noexc70.i: ; preds = %"_ZN108_$LT$alloc..collections..btree..map..Iter$LT$K$C$V$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0f4d7b484fcf9a78E.exit.i.i.i.i.i.i.i.i" - %2133 = extractvalue { ptr, ptr } %2132, 0 - %2134 = extractvalue { ptr, ptr } %2132, 1 - %2135 = icmp eq ptr %2133, null - br i1 %2135, label %.loopexit56.i, label %2136 - -2136: ; preds = %.noexc70.i - %2137 = icmp ne ptr %2134, null - call void @llvm.assume(i1 %2137) - %2138 = load i64, ptr %.sroa.11.0..sroa_idx.i.i.i.i.i.i, align 8, !alias.scope !2465, !noalias !2455, !noundef !14 - %2139 = icmp eq i64 %2138, 0 - br i1 %2139, label %.loopexit56.i, label %2140 - -2140: ; preds = %2136 - %2141 = add i64 %2138, -1 - store i64 %2141, ptr %.sroa.11.0..sroa_idx.i.i.i.i.i.i, align 8, !alias.scope !2465, !noalias !2455 - %2142 = load i64, ptr %238, align 8, !range !86, !alias.scope !2468, !noalias !2455, !noundef !14 - %.not.not.i.i21.i.i.i.i.i.i.i.i = icmp eq i64 %2142, 0 - br i1 %.not.not.i.i21.i.i.i.i.i.i.i.i, label %.invoke223.i, label %2143 - -2143: ; preds = %2140 - %2144 = load ptr, ptr %.sroa.4.0..sroa_idx.i.i.i.i.i.i, align 8, !alias.scope !2468, !noalias !2455, !noundef !14 - %2145 = icmp eq ptr %2144, null - br i1 %2145, label %2146, label %"_ZN108_$LT$alloc..collections..btree..map..Iter$LT$K$C$V$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0f4d7b484fcf9a78E.exit24.i.i.i.i.i.i.i.i" - -2146: ; preds = %2143 - %2147 = load ptr, ptr %.sroa.5.0..sroa_idx.i.i.i.i.i.i, align 8, !alias.scope !2468, !noalias !2455, !nonnull !14, !noundef !14 - %2148 = load i64, ptr %.sroa.6.0..sroa_idx.i.i.i.i.i.i, align 8, !alias.scope !2468, !noalias !2455, !noundef !14 - invoke void @"_ZN5alloc11collections5btree8navigate142_$LT$impl$u20$alloc..collections..btree..node..NodeRef$LT$BorrowType$C$K$C$V$C$alloc..collections..btree..node..marker..LeafOrInternal$GT$$GT$15first_leaf_edge17h26703e180f2cb085E.llvm.17454970623020605724"(ptr noalias noundef nonnull sret({ { ptr, i64 }, i64, {} }) align 8 captures(none) dereferenceable(24) %.sroa.4.0..sroa_idx.i.i.i.i.i.i, ptr noundef nonnull %2147, i64 noundef %2148) + %2131 = extractvalue { ptr, ptr } %2130, 0 + %2132 = extractvalue { ptr, ptr } %2130, 1 + %2133 = icmp eq ptr %2131, null + br i1 %2133, label %.loopexit56.i, label %2134 + +2134: ; preds = %.noexc70.i + %2135 = icmp ne ptr %2132, null + call void @llvm.assume(i1 %2135) + %2136 = load i64, ptr %.sroa.11.0..sroa_idx.i.i.i.i.i.i, align 8, !alias.scope !2465, !noalias !2455, !noundef !14 + %2137 = icmp eq i64 %2136, 0 + br i1 %2137, label %.loopexit56.i, label %2138 + +2138: ; preds = %2134 + %2139 = add i64 %2136, -1 + store i64 %2139, ptr %.sroa.11.0..sroa_idx.i.i.i.i.i.i, align 8, !alias.scope !2465, !noalias !2455 + %2140 = load i64, ptr %238, align 8, !range !86, !alias.scope !2468, !noalias !2455, !noundef !14 + %.not.not.i.i21.i.i.i.i.i.i.i.i = icmp eq i64 %2140, 0 + br i1 %.not.not.i.i21.i.i.i.i.i.i.i.i, label %.invoke223.i, label %2141 + +2141: ; preds = %2138 + %2142 = load ptr, ptr %.sroa.4.0..sroa_idx.i.i.i.i.i.i, align 8, !alias.scope !2468, !noalias !2455, !noundef !14 + %2143 = icmp eq ptr %2142, null + br i1 %2143, label %2144, label %"_ZN108_$LT$alloc..collections..btree..map..Iter$LT$K$C$V$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0f4d7b484fcf9a78E.exit24.i.i.i.i.i.i.i.i" + +2144: ; preds = %2141 + %2145 = load ptr, ptr %.sroa.5.0..sroa_idx.i.i.i.i.i.i, align 8, !alias.scope !2468, !noalias !2455, !nonnull !14, !noundef !14 + %2146 = load i64, ptr %.sroa.6.0..sroa_idx.i.i.i.i.i.i, align 8, !alias.scope !2468, !noalias !2455, !noundef !14 + invoke void @"_ZN5alloc11collections5btree8navigate142_$LT$impl$u20$alloc..collections..btree..node..NodeRef$LT$BorrowType$C$K$C$V$C$alloc..collections..btree..node..marker..LeafOrInternal$GT$$GT$15first_leaf_edge17h26703e180f2cb085E.llvm.17454970623020605724"(ptr noalias noundef nonnull sret({ { ptr, i64 }, i64, {} }) align 8 captures(none) dereferenceable(24) %.sroa.4.0..sroa_idx.i.i.i.i.i.i, ptr noundef nonnull %2145, i64 noundef %2146) to label %.noexc71.i unwind label %.loopexit.i445, !noalias !2395 -.noexc71.i: ; preds = %2146 +.noexc71.i: ; preds = %2144 store i64 1, ptr %238, align 8, !alias.scope !2468, !noalias !2455 br label %"_ZN108_$LT$alloc..collections..btree..map..Iter$LT$K$C$V$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0f4d7b484fcf9a78E.exit24.i.i.i.i.i.i.i.i" -"_ZN108_$LT$alloc..collections..btree..map..Iter$LT$K$C$V$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0f4d7b484fcf9a78E.exit24.i.i.i.i.i.i.i.i": ; preds = %.noexc71.i, %2143 - %2149 = invoke { ptr, ptr } @_ZN5alloc11collections5btree3mem7replace17h4626f0a6d3f23fd5E.llvm.18097807149992804452(ptr noalias noundef nonnull align 8 dereferenceable(24) %.sroa.4.0..sroa_idx.i.i.i.i.i.i) +"_ZN108_$LT$alloc..collections..btree..map..Iter$LT$K$C$V$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0f4d7b484fcf9a78E.exit24.i.i.i.i.i.i.i.i": ; preds = %.noexc71.i, %2141 + %2147 = invoke { ptr, ptr } @_ZN5alloc11collections5btree3mem7replace17h4626f0a6d3f23fd5E.llvm.18097807149992804452(ptr noalias noundef nonnull align 8 dereferenceable(24) %.sroa.4.0..sroa_idx.i.i.i.i.i.i) to label %.noexc73.i unwind label %.loopexit.i445, !noalias !2395 .noexc73.i: ; preds = %"_ZN108_$LT$alloc..collections..btree..map..Iter$LT$K$C$V$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0f4d7b484fcf9a78E.exit24.i.i.i.i.i.i.i.i" - %2150 = extractvalue { ptr, ptr } %2149, 0 - %2151 = icmp eq ptr %2150, null - br i1 %2151, label %.loopexit56.i, label %2152 - -2152: ; preds = %.noexc73.i - %2153 = extractvalue { ptr, ptr } %2149, 1 - %2154 = icmp ne ptr %2153, null - call void @llvm.assume(i1 %2154) - %2155 = getelementptr i8, ptr %2133, i64 16 - %.val1.i.i.i.i.i.i.i.i = load i64, ptr %2155, align 8, !noalias !2471, !noundef !14 - %2156 = getelementptr i8, ptr %2150, i64 16 - %.val3.i.i.i.i.i.i.i.i = load i64, ptr %2156, align 8, !noalias !2471, !noundef !14 + %2148 = extractvalue { ptr, ptr } %2147, 0 + %2149 = icmp eq ptr %2148, null + br i1 %2149, label %.loopexit56.i, label %2150 + +2150: ; preds = %.noexc73.i + %2151 = extractvalue { ptr, ptr } %2147, 1 + %2152 = icmp ne ptr %2151, null + call void @llvm.assume(i1 %2152) + %2153 = getelementptr i8, ptr %2131, i64 16 + %.val1.i.i.i.i.i.i.i.i = load i64, ptr %2153, align 8, !noalias !2471, !noundef !14 + %2154 = getelementptr i8, ptr %2148, i64 16 + %.val3.i.i.i.i.i.i.i.i = load i64, ptr %2154, align 8, !noalias !2471, !noundef !14 %.not.i.i.i.i.i.i.i.i.i.i = icmp eq i64 %.val1.i.i.i.i.i.i.i.i, %.val3.i.i.i.i.i.i.i.i br i1 %.not.i.i.i.i.i.i.i.i.i.i, label %"_ZN62_$LT$alloc..string..String$u20$as$u20$core..cmp..PartialEq$GT$2eq17hb3d5e3fda35a1e76E.exit.i.i.i.i.i.i.i.i", label %"_ZN15tree_sitter_cli8generate12build_tables17build_parse_table17ParseTableBuilder17get_production_id28_$u7b$$u7b$closure$u7d$$u7d$17he35fe33b3f339f01E.exit.i.i" -"_ZN62_$LT$alloc..string..String$u20$as$u20$core..cmp..PartialEq$GT$2eq17hb3d5e3fda35a1e76E.exit.i.i.i.i.i.i.i.i": ; preds = %2152 - %2157 = getelementptr i8, ptr %2150, i64 8 - %.val2.i.i.i.i.i.i.i.i = load ptr, ptr %2157, align 8, !noalias !2471, !nonnull !14, !noundef !14 - %2158 = getelementptr i8, ptr %2133, i64 8 - %.val.i.i.i.i.i.i.i.i = load ptr, ptr %2158, align 8, !noalias !2471, !nonnull !14, !noundef !14 +"_ZN62_$LT$alloc..string..String$u20$as$u20$core..cmp..PartialEq$GT$2eq17hb3d5e3fda35a1e76E.exit.i.i.i.i.i.i.i.i": ; preds = %2150 + %2155 = getelementptr i8, ptr %2148, i64 8 + %.val2.i.i.i.i.i.i.i.i = load ptr, ptr %2155, align 8, !noalias !2471, !nonnull !14, !noundef !14 + %2156 = getelementptr i8, ptr %2131, i64 8 + %.val.i.i.i.i.i.i.i.i = load ptr, ptr %2156, align 8, !noalias !2471, !nonnull !14, !noundef !14 %bcmp.i.i.i.i.i.i.i.i.i.i = call i32 @bcmp(ptr nonnull readonly align 1 %.val.i.i.i.i.i.i.i.i, ptr nonnull readonly align 1 %.val2.i.i.i.i.i.i.i.i, i64 %.val1.i.i.i.i.i.i.i.i), !alias.scope !2476, !noalias !2480 - %2159 = icmp eq i32 %bcmp.i.i.i.i.i.i.i.i.i.i, 0 - br i1 %2159, label %2160, label %"_ZN15tree_sitter_cli8generate12build_tables17build_parse_table17ParseTableBuilder17get_production_id28_$u7b$$u7b$closure$u7d$$u7d$17he35fe33b3f339f01E.exit.i.i" - -2160: ; preds = %"_ZN62_$LT$alloc..string..String$u20$as$u20$core..cmp..PartialEq$GT$2eq17hb3d5e3fda35a1e76E.exit.i.i.i.i.i.i.i.i" - %2161 = getelementptr i8, ptr %2134, i64 8 - %.val.i.i.i.i.i.i.i.i.i = load ptr, ptr %2161, align 8, !noalias !2471, !nonnull !14, !noundef !14 - %2162 = getelementptr i8, ptr %2134, i64 16 - %.val1.i.i.i.i.i.i.i.i.i = load i64, ptr %2162, align 8, !noalias !2471, !noundef !14 - %2163 = getelementptr i8, ptr %2153, i64 8 - %.val2.i.i.i.i.i.i.i.i.i = load ptr, ptr %2163, align 8, !noalias !2471, !nonnull !14, !noundef !14 - %2164 = getelementptr i8, ptr %2153, i64 16 - %.val3.i.i.i.i.i.i.i.i.i = load i64, ptr %2164, align 8, !noalias !2471, !noundef !14 + %2157 = icmp eq i32 %bcmp.i.i.i.i.i.i.i.i.i.i, 0 + br i1 %2157, label %2158, label %"_ZN15tree_sitter_cli8generate12build_tables17build_parse_table17ParseTableBuilder17get_production_id28_$u7b$$u7b$closure$u7d$$u7d$17he35fe33b3f339f01E.exit.i.i" + +2158: ; preds = %"_ZN62_$LT$alloc..string..String$u20$as$u20$core..cmp..PartialEq$GT$2eq17hb3d5e3fda35a1e76E.exit.i.i.i.i.i.i.i.i" + %2159 = getelementptr i8, ptr %2132, i64 8 + %.val.i.i.i.i.i.i.i.i.i = load ptr, ptr %2159, align 8, !noalias !2471, !nonnull !14, !noundef !14 + %2160 = getelementptr i8, ptr %2132, i64 16 + %.val1.i.i.i.i.i.i.i.i.i = load i64, ptr %2160, align 8, !noalias !2471, !noundef !14 + %2161 = getelementptr i8, ptr %2151, i64 8 + %.val2.i.i.i.i.i.i.i.i.i = load ptr, ptr %2161, align 8, !noalias !2471, !nonnull !14, !noundef !14 + %2162 = getelementptr i8, ptr %2151, i64 16 + %.val3.i.i.i.i.i.i.i.i.i = load i64, ptr %2162, align 8, !noalias !2471, !noundef !14 call void @llvm.experimental.noalias.scope.decl(metadata !2481) call void @llvm.experimental.noalias.scope.decl(metadata !2484) %.not.i.i.i.i.i.i.i.i.i.i.i = icmp eq i64 %.val1.i.i.i.i.i.i.i.i.i, %.val3.i.i.i.i.i.i.i.i.i br i1 %.not.i.i.i.i.i.i.i.i.i.i.i, label %.preheader.i.i.i.i.i.i.i.i.i.i.i, label %"_ZN15tree_sitter_cli8generate12build_tables17build_parse_table17ParseTableBuilder17get_production_id28_$u7b$$u7b$closure$u7d$$u7d$17he35fe33b3f339f01E.exit.i.i" -.preheader.i.i.i.i.i.i.i.i.i.i.i: ; preds = %2160, %2166 - %2165 = phi i64 [ %2167, %2166 ], [ 0, %2160 ] - %exitcond.not.i.i.i.i.not.i.i.i.i.i.i.i = icmp eq i64 %2165, %.val1.i.i.i.i.i.i.i.i.i - br i1 %exitcond.not.i.i.i.i.not.i.i.i.i.i.i.i, label %"_ZN4core4iter6traits8iterator8Iterator3all5check28_$u7b$$u7b$closure$u7d$$u7d$17hf02b203b94fe1d5dE.exit.loopexit.i.i.i.i.i.i", label %2166 - -2166: ; preds = %.preheader.i.i.i.i.i.i.i.i.i.i.i - %2167 = add i64 %2165, 1 - %2168 = getelementptr inbounds { i64, i8 }, ptr %.val.i.i.i.i.i.i.i.i.i, i64 %2165 - %2169 = getelementptr inbounds { i64, i8 }, ptr %.val2.i.i.i.i.i.i.i.i.i, i64 %2165 - %.fca.0.extract.val.i.i.i.i.i.i.i.i.i.i.i.i = load i64, ptr %2168, align 8, !alias.scope !2481, !noalias !2486, !noundef !14 - %2170 = getelementptr i8, ptr %2168, i64 8 - %.fca.0.extract.val6.i.i.i.i.i.i.i.i.i.i.i.i = load i8, ptr %2170, align 8, !alias.scope !2481, !noalias !2486 - %.fca.1.extract.val.i.i.i.i.i.i.i.i.i.i.i.i = load i64, ptr %2169, align 8, !alias.scope !2484, !noalias !2489, !noundef !14 - %2171 = getelementptr i8, ptr %2169, i64 8 - %.fca.1.extract.val7.i.i.i.i.i.i.i.i.i.i.i.i = load i8, ptr %2171, align 8, !alias.scope !2484, !noalias !2489 - %2172 = icmp eq i64 %.fca.0.extract.val.i.i.i.i.i.i.i.i.i.i.i.i, %.fca.1.extract.val.i.i.i.i.i.i.i.i.i.i.i.i +.preheader.i.i.i.i.i.i.i.i.i.i.i: ; preds = %2158, %2164 + %2163 = phi i64 [ %2165, %2164 ], [ 0, %2158 ] + %exitcond.not.i.i.i.i.not.i.i.i.i.i.i.i = icmp eq i64 %2163, %.val1.i.i.i.i.i.i.i.i.i + br i1 %exitcond.not.i.i.i.i.not.i.i.i.i.i.i.i, label %"_ZN4core4iter6traits8iterator8Iterator3all5check28_$u7b$$u7b$closure$u7d$$u7d$17hf02b203b94fe1d5dE.exit.loopexit.i.i.i.i.i.i", label %2164 + +2164: ; preds = %.preheader.i.i.i.i.i.i.i.i.i.i.i + %2165 = add i64 %2163, 1 + %2166 = getelementptr inbounds { i64, i8 }, ptr %.val.i.i.i.i.i.i.i.i.i, i64 %2163 + %2167 = getelementptr inbounds { i64, i8 }, ptr %.val2.i.i.i.i.i.i.i.i.i, i64 %2163 + %.fca.0.extract.val.i.i.i.i.i.i.i.i.i.i.i.i = load i64, ptr %2166, align 8, !alias.scope !2481, !noalias !2486, !noundef !14 + %2168 = getelementptr i8, ptr %2166, i64 8 + %.fca.0.extract.val6.i.i.i.i.i.i.i.i.i.i.i.i = load i8, ptr %2168, align 8, !alias.scope !2481, !noalias !2486 + %.fca.1.extract.val.i.i.i.i.i.i.i.i.i.i.i.i = load i64, ptr %2167, align 8, !alias.scope !2484, !noalias !2489, !noundef !14 + %2169 = getelementptr i8, ptr %2167, i64 8 + %.fca.1.extract.val7.i.i.i.i.i.i.i.i.i.i.i.i = load i8, ptr %2169, align 8, !alias.scope !2484, !noalias !2489 + %2170 = icmp eq i64 %.fca.0.extract.val.i.i.i.i.i.i.i.i.i.i.i.i, %.fca.1.extract.val.i.i.i.i.i.i.i.i.i.i.i.i %.not.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i = icmp eq i8 %.fca.0.extract.val6.i.i.i.i.i.i.i.i.i.i.i.i, %.fca.1.extract.val7.i.i.i.i.i.i.i.i.i.i.i.i - %.0.i.i.not.i.not.i.i.i.i.i.i.i.i.i.i.i.i = select i1 %2172, i1 %.not.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i, i1 false + %.0.i.i.not.i.not.i.i.i.i.i.i.i.i.i.i.i.i = select i1 %2170, i1 %.not.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i, i1 false br i1 %.0.i.i.not.i.not.i.i.i.i.i.i.i.i.i.i.i.i, label %.preheader.i.i.i.i.i.i.i.i.i.i.i, label %"_ZN15tree_sitter_cli8generate12build_tables17build_parse_table17ParseTableBuilder17get_production_id28_$u7b$$u7b$closure$u7d$$u7d$17he35fe33b3f339f01E.exit.i.i" -"_ZN15tree_sitter_cli8generate12build_tables17build_parse_table17ParseTableBuilder17get_production_id28_$u7b$$u7b$closure$u7d$$u7d$17he35fe33b3f339f01E.exit.i.i": ; preds = %2160, %"_ZN62_$LT$alloc..string..String$u20$as$u20$core..cmp..PartialEq$GT$2eq17hb3d5e3fda35a1e76E.exit.i.i.i.i.i.i.i.i", %2152, %2166 +"_ZN15tree_sitter_cli8generate12build_tables17build_parse_table17ParseTableBuilder17get_production_id28_$u7b$$u7b$closure$u7d$$u7d$17he35fe33b3f339f01E.exit.i.i": ; preds = %2158, %"_ZN62_$LT$alloc..string..String$u20$as$u20$core..cmp..PartialEq$GT$2eq17hb3d5e3fda35a1e76E.exit.i.i.i.i.i.i.i.i", %2150, %2164 call void @llvm.lifetime.end.p0(i64 168, ptr nonnull %49), !noalias !2422 br label %"_ZN15tree_sitter_cli8generate12build_tables17build_parse_table17ParseTableBuilder17get_production_id28_$u7b$$u7b$closure$u7d$$u7d$17he35fe33b3f339f01E.exit.thread.i.i" -"_ZN15tree_sitter_cli8generate12build_tables17build_parse_table17ParseTableBuilder17get_production_id28_$u7b$$u7b$closure$u7d$$u7d$17he35fe33b3f339f01E.exit.thread.i.i": ; preds = %"_ZN15tree_sitter_cli8generate12build_tables17build_parse_table17ParseTableBuilder17get_production_id28_$u7b$$u7b$closure$u7d$$u7d$17he35fe33b3f339f01E.exit.i.i", %2113, %.noexc67.i, %.lr.ph.i.split.i - %2173 = add nuw nsw i64 %.019.i.i, 1 - %2174 = icmp eq ptr %2108, %2089 - br i1 %2174, label %.loopexit62.i, label %.lr.ph.i.split.i +"_ZN15tree_sitter_cli8generate12build_tables17build_parse_table17ParseTableBuilder17get_production_id28_$u7b$$u7b$closure$u7d$$u7d$17he35fe33b3f339f01E.exit.thread.i.i": ; preds = %"_ZN15tree_sitter_cli8generate12build_tables17build_parse_table17ParseTableBuilder17get_production_id28_$u7b$$u7b$closure$u7d$$u7d$17he35fe33b3f339f01E.exit.i.i", %2111, %.noexc67.i, %.lr.ph.i.split.i + %2171 = add nuw nsw i64 %.019.i.i, 1 + %2172 = icmp eq ptr %2106, %2087 + br i1 %2172, label %.loopexit62.i, label %.lr.ph.i.split.i -.loopexit62.i: ; preds = %"_ZN15tree_sitter_cli8generate12build_tables17build_parse_table17ParseTableBuilder17get_production_id28_$u7b$$u7b$closure$u7d$$u7d$17he35fe33b3f339f01E.exit.thread.i.i", %"_ZN15tree_sitter_cli8generate12build_tables17build_parse_table17ParseTableBuilder17get_production_id28_$u7b$$u7b$closure$u7d$$u7d$17he35fe33b3f339f01E.exit.thread.i.us.i", %2086 +.loopexit62.i: ; preds = %"_ZN15tree_sitter_cli8generate12build_tables17build_parse_table17ParseTableBuilder17get_production_id28_$u7b$$u7b$closure$u7d$$u7d$17he35fe33b3f339f01E.exit.thread.i.i", %"_ZN15tree_sitter_cli8generate12build_tables17build_parse_table17ParseTableBuilder17get_production_id28_$u7b$$u7b$closure$u7d$$u7d$17he35fe33b3f339f01E.exit.thread.i.us.i", %2084 call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %52), !noalias !2395 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %52, ptr noundef nonnull align 8 dereferenceable(48) %58, i64 48, i1 false), !noalias !2395 - %2175 = load i64, ptr %235, align 8, !alias.scope !2490, !noalias !2493, !noundef !14 - %2176 = icmp eq i64 %2088, %2175 - br i1 %2176, label %2177, label %2182 + %2173 = load i64, ptr %235, align 8, !alias.scope !2490, !noalias !2493, !noundef !14 + %2174 = icmp eq i64 %2086, %2173 + br i1 %2174, label %2175, label %2180 -2177: ; preds = %.loopexit62.i - invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$16reserve_for_push17h14649f852dcef174E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %235, i64 noundef %2088) - to label %._crit_edge.i.i unwind label %2178, !noalias !2493 +2175: ; preds = %.loopexit62.i + invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$16reserve_for_push17h14649f852dcef174E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %235, i64 noundef %2086) + to label %._crit_edge.i.i unwind label %2176, !noalias !2493 -._crit_edge.i.i: ; preds = %2177 +._crit_edge.i.i: ; preds = %2175 %.pre.i.i442 = load i64, ptr %237, align 8, !alias.scope !2490, !noalias !2493 %.pre186.i = load ptr, ptr %236, align 8, !alias.scope !2490, !noalias !2493 - br label %2182 + br label %2180 -2178: ; preds = %2177 - %2179 = landingpad { ptr, i32 } +2176: ; preds = %2175 + %2177 = landingpad { ptr, i32 } cleanup invoke void @"_ZN4core3ptr70drop_in_place$LT$tree_sitter_cli..generate..tables..ProductionInfo$GT$17h6fe4acfd634f21c1E"(ptr noalias noundef nonnull align 8 dereferenceable(48) %52) #47 - to label %.body unwind label %2180 + to label %.body unwind label %2178 -2180: ; preds = %2178 - %2181 = landingpad { ptr, i32 } +2178: ; preds = %2176 + %2179 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer call void @_ZN4core9panicking16panic_in_cleanup17h55eb1d85cadde1a1E() #48 unreachable -2182: ; preds = %._crit_edge.i.i, %.loopexit62.i - %2183 = phi ptr [ %.pre186.i, %._crit_edge.i.i ], [ %2087, %.loopexit62.i ] - %2184 = phi i64 [ %.pre.i.i442, %._crit_edge.i.i ], [ %2088, %.loopexit62.i ] - %2185 = getelementptr inbounds { { { i64, ptr }, i64 }, { { ptr, i64 }, i64, { {} }, {} } }, ptr %2183, i64 %2184 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %2185, ptr noundef nonnull align 8 dereferenceable(48) %52, i64 48, i1 false) - %2186 = load i64, ptr %237, align 8, !alias.scope !2490, !noalias !2493, !noundef !14 - %2187 = add i64 %2186, 1 - store i64 %2187, ptr %237, align 8, !alias.scope !2490, !noalias !2493 +2180: ; preds = %._crit_edge.i.i, %.loopexit62.i + %2181 = phi ptr [ %.pre186.i, %._crit_edge.i.i ], [ %2085, %.loopexit62.i ] + %2182 = phi i64 [ %.pre.i.i442, %._crit_edge.i.i ], [ %2086, %.loopexit62.i ] + %2183 = getelementptr inbounds { { { i64, ptr }, i64 }, { { ptr, i64 }, i64, { {} }, {} } }, ptr %2181, i64 %2182 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %2183, ptr noundef nonnull align 8 dereferenceable(48) %52, i64 48, i1 false) + %2184 = load i64, ptr %237, align 8, !alias.scope !2490, !noalias !2493, !noundef !14 + %2185 = add i64 %2184, 1 + store i64 %2185, ptr %237, align 8, !alias.scope !2490, !noalias !2493 call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %52), !noalias !2395 - br label %2396 + br label %2394 -.loopexit56.i: ; preds = %"_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$4iter17h40669b31a47c1953E.exit.i.i.i.i.i", %.noexc73.i, %2136, %.noexc70.i, %"_ZN4core4iter6traits8iterator8Iterator3all5check28_$u7b$$u7b$closure$u7d$$u7d$17hf02b203b94fe1d5dE.exit.loopexit.i.i.i.i.i.i", %"_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$4iter17h40669b31a47c1953E.exit.i.i.i.i.us.i" - %.019.i81.i = phi i64 [ %.019.i.us.i, %"_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$4iter17h40669b31a47c1953E.exit.i.i.i.i.us.i" ], [ %.019.i.i, %"_ZN4core4iter6traits8iterator8Iterator3all5check28_$u7b$$u7b$closure$u7d$$u7d$17hf02b203b94fe1d5dE.exit.loopexit.i.i.i.i.i.i" ], [ %.019.i.i, %.noexc70.i ], [ %.019.i.i, %2136 ], [ %.019.i.i, %.noexc73.i ], [ %.019.i.i, %"_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$4iter17h40669b31a47c1953E.exit.i.i.i.i.i" ] +.loopexit56.i: ; preds = %"_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$4iter17h40669b31a47c1953E.exit.i.i.i.i.i", %.noexc73.i, %2134, %.noexc70.i, %"_ZN4core4iter6traits8iterator8Iterator3all5check28_$u7b$$u7b$closure$u7d$$u7d$17hf02b203b94fe1d5dE.exit.loopexit.i.i.i.i.i.i", %"_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$4iter17h40669b31a47c1953E.exit.i.i.i.i.us.i" + %.019.i81.i = phi i64 [ %.019.i.us.i, %"_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$4iter17h40669b31a47c1953E.exit.i.i.i.i.us.i" ], [ %.019.i.i, %"_ZN4core4iter6traits8iterator8Iterator3all5check28_$u7b$$u7b$closure$u7d$$u7d$17hf02b203b94fe1d5dE.exit.loopexit.i.i.i.i.i.i" ], [ %.019.i.i, %.noexc70.i ], [ %.019.i.i, %2134 ], [ %.019.i.i, %.noexc73.i ], [ %.019.i.i, %"_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$4iter17h40669b31a47c1953E.exit.i.i.i.i.i" ] call void @llvm.lifetime.end.p0(i64 168, ptr nonnull %49), !noalias !2422 - %2188 = icmp ult i64 %.019.i81.i, %2088 - call void @llvm.assume(i1 %2188) + %2186 = icmp ult i64 %.019.i81.i, %2086 + call void @llvm.assume(i1 %2186) invoke void @"_ZN4core3ptr70drop_in_place$LT$tree_sitter_cli..generate..tables..ProductionInfo$GT$17h6fe4acfd634f21c1E"(ptr noalias noundef nonnull align 8 dereferenceable(48) %58) - to label %2396 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit + to label %2394 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit -2189: ; preds = %.lr.ph131.i +2187: ; preds = %.lr.ph131.i call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %53), !noalias !2395 call void @llvm.experimental.noalias.scope.decl(metadata !2495) - store i64 %2079, ptr %.sroa.5.0..sroa_idx.i433, align 8, !alias.scope !2495, !noalias !2498 - %2190 = load i64, ptr %58, align 8, !alias.scope !2495, !noalias !2498, !noundef !14 - %2191 = icmp ult i64 %2079, %2190 - call void @llvm.assume(i1 %2191) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %53, ptr noundef nonnull align 8 dereferenceable(32) %2080, i64 32, i1 false), !noalias !2500 + store i64 %2077, ptr %.sroa.5.0..sroa_idx.i433, align 8, !alias.scope !2495, !noalias !2498 + %2188 = load i64, ptr %58, align 8, !alias.scope !2495, !noalias !2498, !noundef !14 + %2189 = icmp ult i64 %2077, %2188 + call void @llvm.assume(i1 %2189) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %53, ptr noundef nonnull align 8 dereferenceable(32) %2078, i64 32, i1 false), !noalias !2500 call void @llvm.experimental.noalias.scope.decl(metadata !2501) - %2192 = load i64, ptr %53, align 8, !range !1069, !alias.scope !2501, !noalias !2395, !noundef !14 - %switch.i.i = icmp slt i64 %2192, -9223372036854775806 - br i1 %switch.i.i, label %"_ZN4core3ptr116drop_in_place$LT$core..option..Option$LT$core..option..Option$LT$tree_sitter_cli..generate..rules..Alias$GT$$GT$$GT$17h01099a8a679ac622E.exit.i", label %2193 + %2190 = load i64, ptr %53, align 8, !range !1069, !alias.scope !2501, !noalias !2395, !noundef !14 + %switch.i.i = icmp slt i64 %2190, -9223372036854775806 + br i1 %switch.i.i, label %"_ZN4core3ptr116drop_in_place$LT$core..option..Option$LT$core..option..Option$LT$tree_sitter_cli..generate..rules..Alias$GT$$GT$$GT$17h01099a8a679ac622E.exit.i", label %2191 -2193: ; preds = %2189 +2191: ; preds = %2187 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %48), !noalias !2504 invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h843100ac3ff507c4E.llvm.15559585470061597875"(ptr noalias noundef nonnull sret({ [1 x i64], i64, [1 x i64] }) align 8 captures(none) dereferenceable(24) %48, ptr noalias noundef nonnull readonly align 8 dereferenceable(32) %53) to label %.noexc75.i unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.i, !noalias !2395 -.noexc75.i: ; preds = %2193 - %2194 = load i64, ptr %231, align 8, !range !215, !noalias !2504, !noundef !14 - %.not.i.i.i.i.i.i.i74.i = icmp eq i64 %2194, 0 - br i1 %.not.i.i.i.i.i.i.i74.i, label %"_ZN4core3ptr60drop_in_place$LT$tree_sitter_cli..generate..rules..Alias$GT$17h4272a451e12367d6E.exit.i.i.i", label %2195 +.noexc75.i: ; preds = %2191 + %2192 = load i64, ptr %231, align 8, !range !215, !noalias !2504, !noundef !14 + %.not.i.i.i.i.i.i.i74.i = icmp eq i64 %2192, 0 + br i1 %.not.i.i.i.i.i.i.i74.i, label %"_ZN4core3ptr60drop_in_place$LT$tree_sitter_cli..generate..rules..Alias$GT$17h4272a451e12367d6E.exit.i.i.i", label %2193 -2195: ; preds = %.noexc75.i - %2196 = load ptr, ptr %48, align 8, !noalias !2504, !nonnull !14, !noundef !14 - %2197 = load i64, ptr %232, align 8, !noalias !2504, !noundef !14 - invoke void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17hae8e459b587c5295E.llvm.15559585470061597875"(ptr noalias noundef nonnull readonly align 1 %233, ptr noundef nonnull %2196, i64 noundef %2194, i64 noundef %2197) +2193: ; preds = %.noexc75.i + %2194 = load ptr, ptr %48, align 8, !noalias !2504, !nonnull !14, !noundef !14 + %2195 = load i64, ptr %232, align 8, !noalias !2504, !noundef !14 + invoke void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17hae8e459b587c5295E.llvm.15559585470061597875"(ptr noalias noundef nonnull readonly align 1 %233, ptr noundef nonnull %2194, i64 noundef %2192, i64 noundef %2195) to label %"_ZN4core3ptr60drop_in_place$LT$tree_sitter_cli..generate..rules..Alias$GT$17h4272a451e12367d6E.exit.i.i.i" unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.i, !noalias !2395 -"_ZN4core3ptr60drop_in_place$LT$tree_sitter_cli..generate..rules..Alias$GT$17h4272a451e12367d6E.exit.i.i.i": ; preds = %2195, %.noexc75.i +"_ZN4core3ptr60drop_in_place$LT$tree_sitter_cli..generate..rules..Alias$GT$17h4272a451e12367d6E.exit.i.i.i": ; preds = %2193, %.noexc75.i call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %48), !noalias !2504 %.pre184.i = load i64, ptr %.sroa.5.0..sroa_idx.i433, align 8, !noalias !2395 %.pre185.i = load ptr, ptr %.sroa.4.0..sroa_idx.i432, align 8, !noalias !2395 br label %"_ZN4core3ptr116drop_in_place$LT$core..option..Option$LT$core..option..Option$LT$tree_sitter_cli..generate..rules..Alias$GT$$GT$$GT$17h01099a8a679ac622E.exit.i" -"_ZN4core3ptr116drop_in_place$LT$core..option..Option$LT$core..option..Option$LT$tree_sitter_cli..generate..rules..Alias$GT$$GT$$GT$17h01099a8a679ac622E.exit.i": ; preds = %"_ZN4core3ptr60drop_in_place$LT$tree_sitter_cli..generate..rules..Alias$GT$17h4272a451e12367d6E.exit.i.i.i", %2189 - %2198 = phi ptr [ %.pre185.i, %"_ZN4core3ptr60drop_in_place$LT$tree_sitter_cli..generate..rules..Alias$GT$17h4272a451e12367d6E.exit.i.i.i" ], [ %2077, %2189 ] - %2199 = phi i64 [ %.pre184.i, %"_ZN4core3ptr60drop_in_place$LT$tree_sitter_cli..generate..rules..Alias$GT$17h4272a451e12367d6E.exit.i.i.i" ], [ %2079, %2189 ] +"_ZN4core3ptr116drop_in_place$LT$core..option..Option$LT$core..option..Option$LT$tree_sitter_cli..generate..rules..Alias$GT$$GT$$GT$17h01099a8a679ac622E.exit.i": ; preds = %"_ZN4core3ptr60drop_in_place$LT$tree_sitter_cli..generate..rules..Alias$GT$17h4272a451e12367d6E.exit.i.i.i", %2187 + %2196 = phi ptr [ %.pre185.i, %"_ZN4core3ptr60drop_in_place$LT$tree_sitter_cli..generate..rules..Alias$GT$17h4272a451e12367d6E.exit.i.i.i" ], [ %2075, %2187 ] + %2197 = phi i64 [ %.pre184.i, %"_ZN4core3ptr60drop_in_place$LT$tree_sitter_cli..generate..rules..Alias$GT$17h4272a451e12367d6E.exit.i.i.i" ], [ %2077, %2187 ] call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %53), !noalias !2395 - %.not65.i = icmp eq i64 %2199, 0 + %.not65.i = icmp eq i64 %2197, 0 br i1 %.not65.i, label %.critedge.i439, label %.lr.ph131.i -2200: ; preds = %.lr.ph129.i +2198: ; preds = %.lr.ph129.i store i64 -9223372036854775808, ptr %57, align 8, !noalias !2395 - br label %2202 + br label %2200 -2201: ; preds = %.lr.ph129.i +2199: ; preds = %.lr.ph129.i call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %51), !noalias !2395 invoke void @"_ZN60_$LT$alloc..string..String$u20$as$u20$core..clone..Clone$GT$5clone17hebbb1fc2363025c1E"(ptr noalias noundef nonnull sret({ { { i64, ptr }, i64 } }) align 8 captures(none) dereferenceable(24) %51, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %.sroa.0.0128.i) - to label %2211 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.i, !noalias !2395 + to label %2209 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.i, !noalias !2395 -2202: ; preds = %2211, %2200 - %2203 = load i64, ptr %.sroa.5.0..sroa_idx.i433, align 8, !alias.scope !2517, !noalias !2520, !noundef !14 - %2204 = load i64, ptr %58, align 8, !alias.scope !2517, !noalias !2520, !noundef !14 - %2205 = icmp eq i64 %2203, %2204 - br i1 %2205, label %2206, label %2214 +2200: ; preds = %2209, %2198 + %2201 = load i64, ptr %.sroa.5.0..sroa_idx.i433, align 8, !alias.scope !2517, !noalias !2520, !noundef !14 + %2202 = load i64, ptr %58, align 8, !alias.scope !2517, !noalias !2520, !noundef !14 + %2203 = icmp eq i64 %2201, %2202 + br i1 %2203, label %2204, label %2212 -2206: ; preds = %2202 - invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$16reserve_for_push17he37232b04d69afa4E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %58, i64 noundef %2203) - to label %._crit_edge.i77.i unwind label %2207, !noalias !2520 +2204: ; preds = %2200 + invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$16reserve_for_push17he37232b04d69afa4E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %58, i64 noundef %2201) + to label %._crit_edge.i77.i unwind label %2205, !noalias !2520 -._crit_edge.i77.i: ; preds = %2206 +._crit_edge.i77.i: ; preds = %2204 %.pre.i78.i = load i64, ptr %.sroa.5.0..sroa_idx.i433, align 8, !alias.scope !2517, !noalias !2520 - br label %2214 + br label %2212 -2207: ; preds = %2206 - %2208 = landingpad { ptr, i32 } +2205: ; preds = %2204 + %2206 = landingpad { ptr, i32 } cleanup invoke fastcc void @"_ZN4core3ptr88drop_in_place$LT$core..option..Option$LT$tree_sitter_cli..generate..rules..Alias$GT$$GT$17hc8a497799ab12abcE"(ptr noalias noundef nonnull align 8 dereferenceable(32) %57) #47 - to label %.loopexit.split-lp.i435 unwind label %2209, !noalias !2395 + to label %.loopexit.split-lp.i435 unwind label %2207, !noalias !2395 -2209: ; preds = %2207 - %2210 = landingpad { ptr, i32 } +2207: ; preds = %2205 + %2208 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer call void @_ZN4core9panicking16panic_in_cleanup17h55eb1d85cadde1a1E() #48, !noalias !2395 unreachable -2211: ; preds = %2201 - %2212 = getelementptr inbounds nuw i8, ptr %.sroa.0.0128.i, i64 24 - %2213 = load i8, ptr %2212, align 8, !range !317, !noalias !2395, !noundef !14 +2209: ; preds = %2199 + %2210 = getelementptr inbounds nuw i8, ptr %.sroa.0.0128.i, i64 24 + %2211 = load i8, ptr %2210, align 8, !range !317, !noalias !2395, !noundef !14 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %57, ptr noundef nonnull align 8 dereferenceable(24) %51, i64 24, i1 false), !noalias !2395 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %51), !noalias !2395 - store i8 %2213, ptr %.sroa.435.0..sroa_idx.i, align 8, !noalias !2395 - br label %2202 - -2214: ; preds = %._crit_edge.i77.i, %2202 - %2215 = phi i64 [ %.pre.i78.i, %._crit_edge.i77.i ], [ %2203, %2202 ] - %2216 = load ptr, ptr %.sroa.4.0..sroa_idx.i432, align 8, !alias.scope !2517, !noalias !2520, !nonnull !14, !noundef !14 - %2217 = getelementptr inbounds { i64, [3 x i64] }, ptr %2216, i64 %2215 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %2217, ptr noundef nonnull align 8 dereferenceable(32) %57, i64 32, i1 false), !noalias !2395 - %2218 = load i64, ptr %.sroa.5.0..sroa_idx.i433, align 8, !alias.scope !2517, !noalias !2520, !noundef !14 - %2219 = add i64 %2218, 1 - store i64 %2219, ptr %.sroa.5.0..sroa_idx.i433, align 8, !alias.scope !2517, !noalias !2520 + store i8 %2211, ptr %.sroa.435.0..sroa_idx.i, align 8, !noalias !2395 + br label %2200 + +2212: ; preds = %._crit_edge.i77.i, %2200 + %2213 = phi i64 [ %.pre.i78.i, %._crit_edge.i77.i ], [ %2201, %2200 ] + %2214 = load ptr, ptr %.sroa.4.0..sroa_idx.i432, align 8, !alias.scope !2517, !noalias !2520, !nonnull !14, !noundef !14 + %2215 = getelementptr inbounds { i64, [3 x i64] }, ptr %2214, i64 %2213 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %2215, ptr noundef nonnull align 8 dereferenceable(32) %57, i64 32, i1 false), !noalias !2395 + %2216 = load i64, ptr %.sroa.5.0..sroa_idx.i433, align 8, !alias.scope !2517, !noalias !2520, !noundef !14 + %2217 = add i64 %2216, 1 + store i64 %2217, ptr %.sroa.5.0..sroa_idx.i433, align 8, !alias.scope !2517, !noalias !2520 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %57), !noalias !2395 - %2220 = getelementptr inbounds nuw i8, ptr %.sroa.0.0128.i, i64 32 - %2221 = load i64, ptr %2220, align 8, !range !215, !noalias !2395, !noundef !14 - %.not.i437 = icmp eq i64 %2221, -9223372036854775808 - br i1 %.not.i437, label %2223, label %2222 + %2218 = getelementptr inbounds nuw i8, ptr %.sroa.0.0128.i, i64 32 + %2219 = load i64, ptr %2218, align 8, !range !215, !noalias !2395, !noundef !14 + %.not.i437 = icmp eq i64 %2219, -9223372036854775808 + br i1 %.not.i437, label %2221, label %2220 -2222: ; preds = %2214 +2220: ; preds = %2212 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %56), !noalias !2395 - invoke void @"_ZN60_$LT$alloc..string..String$u20$as$u20$core..clone..Clone$GT$5clone17hebbb1fc2363025c1E"(ptr noalias noundef nonnull sret({ { { i64, ptr }, i64 } }) align 8 captures(none) dereferenceable(24) %56, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %2220) - to label %2227 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.i, !noalias !2395 - -2223: ; preds = %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17ha000b5326d0daf03E.exit.i", %2214 - %.sroa.19241.4 = phi i64 [ %.sroa.19241.2, %2214 ], [ %.sroa.19241.5393, %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17ha000b5326d0daf03E.exit.i" ] - %.sroa.20242.4 = phi i64 [ %.sroa.20242.2, %2214 ], [ %.sroa.20242.5395, %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17ha000b5326d0daf03E.exit.i" ] - %2224 = getelementptr inbounds nuw i8, ptr %.sroa.0.0128.i, i64 88 - %2225 = load i8, ptr %2224, align 8, !range !415, !noalias !2395, !noundef !14 - %2226 = icmp eq i8 %2225, 4 - br i1 %2226, label %2289, label %2329 - -2227: ; preds = %2222 + invoke void @"_ZN60_$LT$alloc..string..String$u20$as$u20$core..clone..Clone$GT$5clone17hebbb1fc2363025c1E"(ptr noalias noundef nonnull sret({ { { i64, ptr }, i64 } }) align 8 captures(none) dereferenceable(24) %56, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %2218) + to label %2225 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.i, !noalias !2395 + +2221: ; preds = %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17ha000b5326d0daf03E.exit.i", %2212 + %.sroa.19241.4 = phi i64 [ %.sroa.19241.2, %2212 ], [ %.sroa.19241.5393, %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17ha000b5326d0daf03E.exit.i" ] + %.sroa.20242.4 = phi i64 [ %.sroa.20242.2, %2212 ], [ %.sroa.20242.5395, %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17ha000b5326d0daf03E.exit.i" ] + %2222 = getelementptr inbounds nuw i8, ptr %.sroa.0.0128.i, i64 88 + %2223 = load i8, ptr %2222, align 8, !range !415, !noalias !2395, !noundef !14 + %2224 = icmp eq i8 %2223, 4 + br i1 %2224, label %2287, label %2327 + +2225: ; preds = %2220 call void @llvm.experimental.noalias.scope.decl(metadata !2522) call void @llvm.experimental.noalias.scope.decl(metadata !2525) call void @llvm.experimental.noalias.scope.decl(metadata !2527) - %2228 = load ptr, ptr %212, align 8, !alias.scope !2525, !noalias !2529, !noundef !14 - %2229 = icmp eq ptr %2228, null - br i1 %2229, label %"_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$5entry17h292b98d5e305c970E.exit", label %2230 + %2226 = load ptr, ptr %212, align 8, !alias.scope !2525, !noalias !2529, !noundef !14 + %2227 = icmp eq ptr %2226, null + br i1 %2227, label %"_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$5entry17h292b98d5e305c970E.exit", label %2228 -2230: ; preds = %2227 - %2231 = load i64, ptr %216, align 8, !alias.scope !2525, !noalias !2529, !noundef !14 +2228: ; preds = %2225 + %2229 = load i64, ptr %216, align 8, !alias.scope !2525, !noalias !2529, !noundef !14 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %9), !noalias !2530 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %7), !noalias !2531 - store ptr %2228, ptr %7, align 8, !noalias !2535 - store i64 %2231, ptr %224, align 8, !noalias !2535 - %2232 = invoke { i64, i64 } @"_ZN5alloc11collections5btree6search91_$LT$impl$u20$alloc..collections..btree..node..NodeRef$LT$BorrowType$C$K$C$V$C$Type$GT$$GT$14find_key_index17h7e73963af3270845E.llvm.17454970623020605724"(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %7, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %56, i64 noundef 0) + store ptr %2226, ptr %7, align 8, !noalias !2535 + store i64 %2229, ptr %224, align 8, !noalias !2535 + %2230 = invoke { i64, i64 } @"_ZN5alloc11collections5btree6search91_$LT$impl$u20$alloc..collections..btree..node..NodeRef$LT$BorrowType$C$K$C$V$C$Type$GT$$GT$14find_key_index17h7e73963af3270845E.llvm.17454970623020605724"(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %7, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %56, i64 noundef 0) to label %.noexc.i620 unwind label %.loopexit.split-lp.i617, !noalias !2539 -.noexc.i620: ; preds = %2230 - %.fca.0.extract.i21.i.i621 = extractvalue { i64, i64 } %2232, 0 - %.fca.1.extract.i22.i.i622 = extractvalue { i64, i64 } %2232, 1 +.noexc.i620: ; preds = %2228 + %.fca.0.extract.i21.i.i621 = extractvalue { i64, i64 } %2230, 0 + %.fca.1.extract.i22.i.i622 = extractvalue { i64, i64 } %2230, 1 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %7), !noalias !2531 %trunc23.i.i623 = trunc nuw i64 %.fca.0.extract.i21.i.i621 to i1 br i1 %trunc23.i.i623, label %.lr.ph.i.i628, label %.loopexit57.i .lr.ph.i.i628: ; preds = %.noexc.i620, %.noexc18.i %.fca.1.extract.i26.i.i633 = phi i64 [ %.fca.1.extract.i.i.i643, %.noexc18.i ], [ %.fca.1.extract.i22.i.i622, %.noexc.i620 ] - %.sroa.0.025.i.i634 = phi ptr [ %2238, %.noexc18.i ], [ %2228, %.noexc.i620 ] - %.sroa.3.024.i.i635 = phi i64 [ %2239, %.noexc18.i ], [ %2231, %.noexc.i620 ] + %.sroa.0.025.i.i634 = phi ptr [ %2236, %.noexc18.i ], [ %2226, %.noexc.i620 ] + %.sroa.3.024.i.i635 = phi i64 [ %2237, %.noexc18.i ], [ %2229, %.noexc.i620 ] store ptr %.sroa.0.025.i.i634, ptr %9, align 8, !noalias !2531 store i64 %.sroa.3.024.i.i635, ptr %.sroa.8.8..sroa_idx.i.i629, align 8, !noalias !2531 store i64 %.fca.1.extract.i26.i.i633, ptr %.sroa.9.8..sroa_idx.i.i630, align 8, !noalias !2531 @@ -14427,107 +14425,107 @@ _ZN11smallbitvec11SmallBitVec3len17hd19085f87d1dfa85E.llvm.16258808753110442553. to label %.noexc17.i unwind label %.loopexit.i636, !noalias !2539 .noexc17.i: ; preds = %.lr.ph.i.i628 - %2233 = load i64, ptr %8, align 8, !range !86, !noalias !2531, !noundef !14 - %trunc9.i.i638 = trunc nuw i64 %2233 to i1 + %2231 = load i64, ptr %8, align 8, !range !86, !noalias !2531, !noundef !14 + %trunc9.i.i638 = trunc nuw i64 %2231 to i1 %.sroa.04.0.copyload.i.i639 = load ptr, ptr %225, align 8, !noalias !2540 %.sroa.45.0.copyload.i.i640 = load i64, ptr %.sroa.45.0..sroa_idx.i.i631, align 8, !noalias !2540 %.sroa.56.0.copyload.i.i641 = load i64, ptr %.sroa.56.0..sroa_idx.i.i632, align 8, !noalias !2540 - br i1 %trunc9.i.i638, label %2234, label %2243 - -2234: ; preds = %.noexc17.i - %2235 = getelementptr inbounds nuw i8, ptr %.sroa.04.0.copyload.i.i639, i64 544 - %2236 = icmp ult i64 %.sroa.56.0.copyload.i.i641, 12 - call void @llvm.assume(i1 %2236), !noalias !2395 - %2237 = getelementptr inbounds nuw ptr, ptr %2235, i64 %.sroa.56.0.copyload.i.i641 - %2238 = load ptr, ptr %2237, align 8, !noalias !2541, !nonnull !14, !noundef !14 - %2239 = add i64 %.sroa.45.0.copyload.i.i640, -1 + br i1 %trunc9.i.i638, label %2232, label %2241 + +2232: ; preds = %.noexc17.i + %2233 = getelementptr inbounds nuw i8, ptr %.sroa.04.0.copyload.i.i639, i64 544 + %2234 = icmp ult i64 %.sroa.56.0.copyload.i.i641, 12 + call void @llvm.assume(i1 %2234), !noalias !2395 + %2235 = getelementptr inbounds nuw ptr, ptr %2233, i64 %.sroa.56.0.copyload.i.i641 + %2236 = load ptr, ptr %2235, align 8, !noalias !2541, !nonnull !14, !noundef !14 + %2237 = add i64 %.sroa.45.0.copyload.i.i640, -1 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %8), !noalias !2531 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %7), !noalias !2531 - store ptr %2238, ptr %7, align 8, !noalias !2535 - store i64 %2239, ptr %224, align 8, !noalias !2535 - %2240 = invoke { i64, i64 } @"_ZN5alloc11collections5btree6search91_$LT$impl$u20$alloc..collections..btree..node..NodeRef$LT$BorrowType$C$K$C$V$C$Type$GT$$GT$14find_key_index17h7e73963af3270845E.llvm.17454970623020605724"(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %7, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %56, i64 noundef 0) + store ptr %2236, ptr %7, align 8, !noalias !2535 + store i64 %2237, ptr %224, align 8, !noalias !2535 + %2238 = invoke { i64, i64 } @"_ZN5alloc11collections5btree6search91_$LT$impl$u20$alloc..collections..btree..node..NodeRef$LT$BorrowType$C$K$C$V$C$Type$GT$$GT$14find_key_index17h7e73963af3270845E.llvm.17454970623020605724"(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %7, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %56, i64 noundef 0) to label %.noexc18.i unwind label %.loopexit.i636, !noalias !2539 -.noexc18.i: ; preds = %2234 - %.fca.0.extract.i.i.i642 = extractvalue { i64, i64 } %2240, 0 - %.fca.1.extract.i.i.i643 = extractvalue { i64, i64 } %2240, 1 +.noexc18.i: ; preds = %2232 + %.fca.0.extract.i.i.i642 = extractvalue { i64, i64 } %2238, 0 + %.fca.1.extract.i.i.i643 = extractvalue { i64, i64 } %2238, 1 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %7), !noalias !2531 %trunc.i.i644 = trunc nuw i64 %.fca.0.extract.i.i.i642 to i1 br i1 %trunc.i.i644, label %.lr.ph.i.i628, label %.loopexit57.i -2241: ; preds = %2248 - %2242 = landingpad { ptr, i32 } +2239: ; preds = %2246 + %2240 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer call void @_ZN4core9panicking16panic_in_cleanup17h55eb1d85cadde1a1E() #48, !noalias !2539 unreachable -2243: ; preds = %.noexc17.i +2241: ; preds = %.noexc17.i call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %8), !noalias !2531 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %9), !noalias !2530 br label %"_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$5entry17h292b98d5e305c970E.exit" .loopexit57.i: ; preds = %.noexc18.i, %.noexc.i620 %.sroa.10.0.ph.i624 = phi i64 [ %.fca.1.extract.i22.i.i622, %.noexc.i620 ], [ %.fca.1.extract.i.i.i643, %.noexc18.i ] - %.sroa.520.0.ph.i = phi ptr [ %2228, %.noexc.i620 ], [ %2238, %.noexc18.i ] + %.sroa.520.0.ph.i = phi ptr [ %2226, %.noexc.i620 ], [ %2236, %.noexc18.i ] call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %9), !noalias !2530 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %6), !noalias !2542 invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h843100ac3ff507c4E.llvm.15559585470061597875"(ptr noalias noundef nonnull sret({ [1 x i64], i64, [1 x i64] }) align 8 captures(none) dereferenceable(24) %6, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %56) to label %.noexc648 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.i .noexc648: ; preds = %.loopexit57.i - %2244 = load i64, ptr %226, align 8, !range !215, !noalias !2542, !noundef !14 - %.not.i.i.i.i.i626 = icmp eq i64 %2244, 0 - br i1 %.not.i.i.i.i.i626, label %"_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$5entry17h292b98d5e305c970E.exit.thread", label %2245 - -2245: ; preds = %.noexc648 - %2246 = load ptr, ptr %6, align 8, !noalias !2542, !nonnull !14, !noundef !14 - %2247 = load i64, ptr %227, align 8, !noalias !2542, !noundef !14 - invoke void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17hae8e459b587c5295E.llvm.15559585470061597875"(ptr noalias noundef nonnull readonly align 1 %.sroa.10232.0..sroa_idx235, ptr noundef nonnull %2246, i64 noundef %2244, i64 noundef %2247) + %2242 = load i64, ptr %226, align 8, !range !215, !noalias !2542, !noundef !14 + %.not.i.i.i.i.i626 = icmp eq i64 %2242, 0 + br i1 %.not.i.i.i.i.i626, label %"_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$5entry17h292b98d5e305c970E.exit.thread", label %2243 + +2243: ; preds = %.noexc648 + %2244 = load ptr, ptr %6, align 8, !noalias !2542, !nonnull !14, !noundef !14 + %2245 = load i64, ptr %227, align 8, !noalias !2542, !noundef !14 + invoke void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17hae8e459b587c5295E.llvm.15559585470061597875"(ptr noalias noundef nonnull readonly align 1 %.sroa.10232.0..sroa_idx235, ptr noundef nonnull %2244, i64 noundef %2242, i64 noundef %2245) to label %"_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$5entry17h292b98d5e305c970E.exit.thread" unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.i -"_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$5entry17h292b98d5e305c970E.exit.thread": ; preds = %.noexc648, %2245 +"_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$5entry17h292b98d5e305c970E.exit.thread": ; preds = %.noexc648, %2243 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %6), !noalias !2542 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %56), !noalias !2395 - br label %2250 + br label %2248 -.loopexit.i636: ; preds = %2234, %.lr.ph.i.i628 +.loopexit.i636: ; preds = %2232, %.lr.ph.i.i628 %lpad.loopexit.i637 = landingpad { ptr, i32 } cleanup - br label %2248 + br label %2246 -.loopexit.split-lp.i617: ; preds = %2230 +.loopexit.split-lp.i617: ; preds = %2228 %lpad.loopexit.split-lp.i618 = landingpad { ptr, i32 } cleanup - br label %2248 + br label %2246 -2248: ; preds = %.loopexit.split-lp.i617, %.loopexit.i636 +2246: ; preds = %.loopexit.split-lp.i617, %.loopexit.i636 %lpad.phi.i = phi { ptr, i32 } [ %lpad.loopexit.i637, %.loopexit.i636 ], [ %lpad.loopexit.split-lp.i618, %.loopexit.split-lp.i617 ] invoke void @"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h80292f77b629338bE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %56) #47 - to label %.loopexit.split-lp.i435 unwind label %2241, !noalias !2539 + to label %.loopexit.split-lp.i435 unwind label %2239, !noalias !2539 -"_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$5entry17h292b98d5e305c970E.exit": ; preds = %2227, %2243 - %.sroa.15240.0 = phi ptr [ %.sroa.04.0.copyload.i.i639, %2243 ], [ null, %2227 ] - %.sroa.19241.5 = phi i64 [ %.sroa.45.0.copyload.i.i640, %2243 ], [ %.sroa.19241.2, %2227 ] - %.sroa.20242.5 = phi i64 [ %.sroa.56.0.copyload.i.i641, %2243 ], [ %.sroa.20242.2, %2227 ] +"_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$5entry17h292b98d5e305c970E.exit": ; preds = %2225, %2241 + %.sroa.15240.0 = phi ptr [ %.sroa.04.0.copyload.i.i639, %2241 ], [ null, %2225 ] + %.sroa.19241.5 = phi i64 [ %.sroa.45.0.copyload.i.i640, %2241 ], [ %.sroa.19241.2, %2225 ] + %.sroa.20242.5 = phi i64 [ %.sroa.56.0.copyload.i.i641, %2241 ], [ %.sroa.20242.2, %2225 ] %.sroa.8225.0.copyload229 = load ptr, ptr %.sroa.8225.0..sroa_idx228, align 8, !alias.scope !2551, !noalias !2552 %.sroa.10232.0.copyload236 = load i64, ptr %.sroa.10232.0..sroa_idx235, align 8, !alias.scope !2551, !noalias !2552 %.sroa.0221.0 = load i64, ptr %56, align 8, !alias.scope !2551, !noalias !2552 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %56), !noalias !2395 - %2249 = icmp eq i64 %.sroa.0221.0, -9223372036854775808 - br i1 %2249, label %2250, label %2254 + %2247 = icmp eq i64 %.sroa.0221.0, -9223372036854775808 + br i1 %2247, label %2248, label %2252 -2250: ; preds = %"_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$5entry17h292b98d5e305c970E.exit.thread", %"_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$5entry17h292b98d5e305c970E.exit" +2248: ; preds = %"_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$5entry17h292b98d5e305c970E.exit.thread", %"_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$5entry17h292b98d5e305c970E.exit" %.sroa.20242.5396 = phi i64 [ %.sroa.20242.2, %"_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$5entry17h292b98d5e305c970E.exit.thread" ], [ %.sroa.20242.5, %"_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$5entry17h292b98d5e305c970E.exit" ] %.sroa.19241.5394 = phi i64 [ %.sroa.19241.2, %"_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$5entry17h292b98d5e305c970E.exit.thread" ], [ %.sroa.19241.5, %"_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$5entry17h292b98d5e305c970E.exit" ] %.sroa.11239.0392 = phi i64 [ %.sroa.10.0.ph.i624, %"_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$5entry17h292b98d5e305c970E.exit.thread" ], [ %.sroa.11.0.i, %"_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$5entry17h292b98d5e305c970E.exit" ] %.sroa.8225.0391 = phi ptr [ %.sroa.520.0.ph.i, %"_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$5entry17h292b98d5e305c970E.exit.thread" ], [ %.sroa.8225.0.copyload229, %"_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$5entry17h292b98d5e305c970E.exit" ] - %2251 = icmp ne ptr %.sroa.8225.0391, null - call void @llvm.assume(i1 %2251) - %2252 = getelementptr inbounds nuw i8, ptr %.sroa.8225.0391, i64 272 - %2253 = getelementptr inbounds { [3 x i64] }, ptr %2252, i64 %.sroa.11239.0392 + %2249 = icmp ne ptr %.sroa.8225.0391, null + call void @llvm.assume(i1 %2249) + %2250 = getelementptr inbounds nuw i8, ptr %.sroa.8225.0391, i64 272 + %2251 = getelementptr inbounds { [3 x i64] }, ptr %2250, i64 %.sroa.11239.0392 br label %"_ZN5alloc11collections5btree3map5entry22Entry$LT$K$C$V$C$A$GT$10or_default17h05f49cea752df50dE.exit" -2254: ; preds = %"_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$5entry17h292b98d5e305c970E.exit" +2252: ; preds = %"_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$5entry17h292b98d5e305c970E.exit" call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %15), !noalias !2553 store i64 %.sroa.0221.0, ptr %15, align 8, !noalias !2395 store ptr %.sroa.8225.0.copyload229, ptr %.sroa.8225.0..sroa_idx, align 8, !noalias !2395 @@ -14543,38 +14541,38 @@ _ZN11smallbitvec11SmallBitVec3len17hd19085f87d1dfa85E.llvm.16258808753110442553. call void @llvm.experimental.noalias.scope.decl(metadata !2559), !noalias !2395 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %12), !noalias !2553 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %13), !noalias !2553 - %2255 = icmp eq ptr %.sroa.15240.0, null - br i1 %2255, label %2256, label %.noexc.i609 + %2253 = icmp eq ptr %.sroa.15240.0, null + br i1 %2253, label %2254, label %.noexc.i609 -2256: ; preds = %2254 - %2257 = invoke noundef align 8 ptr @"_ZN5alloc5boxed16Box$LT$T$C$A$GT$17try_new_uninit_in17h7b2af4b6d5c28869E.llvm.10393017446704266758"() +2254: ; preds = %2252 + %2255 = invoke noundef align 8 ptr @"_ZN5alloc5boxed16Box$LT$T$C$A$GT$17try_new_uninit_in17h7b2af4b6d5c28869E.llvm.10393017446704266758"() to label %.noexc.i.i613 unwind label %.loopexit551, !noalias !2562 -.noexc.i.i613: ; preds = %2256 - %2258 = icmp eq ptr %2257, null - br i1 %2258, label %2259, label %2260 +.noexc.i.i613: ; preds = %2254 + %2256 = icmp eq ptr %2255, null + br i1 %2256, label %2257, label %2258 -2259: ; preds = %.noexc.i.i613 +2257: ; preds = %.noexc.i.i613 invoke void @_ZN5alloc5alloc18handle_alloc_error17h81706c48453a6249E(i64 noundef 8, i64 noundef 544) #45 to label %.noexc19.i.i unwind label %.loopexit.split-lp552, !noalias !2562 -.noexc19.i.i: ; preds = %2259 +.noexc19.i.i: ; preds = %2257 unreachable -2260: ; preds = %.noexc.i.i613 - store ptr null, ptr %2257, align 8, !noalias !2562 - %2261 = getelementptr inbounds nuw i8, ptr %2257, i64 538 - store i16 1, ptr %2261, align 2, !noalias !2564 - %2262 = getelementptr inbounds nuw i8, ptr %2257, i64 8 - call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %2262, ptr noundef nonnull align 8 dereferenceable(24) %15, i64 24, i1 false), !noalias !2553 - %2263 = getelementptr inbounds nuw i8, ptr %2257, i64 272 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %2263, ptr noundef nonnull align 8 dereferenceable(24) %14, i64 24, i1 false), !noalias !2569 - store ptr %2257, ptr %212, align 8, !noalias !2562 +2258: ; preds = %.noexc.i.i613 + store ptr null, ptr %2255, align 8, !noalias !2562 + %2259 = getelementptr inbounds nuw i8, ptr %2255, i64 538 + store i16 1, ptr %2259, align 2, !noalias !2564 + %2260 = getelementptr inbounds nuw i8, ptr %2255, i64 8 + call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %2260, ptr noundef nonnull align 8 dereferenceable(24) %15, i64 24, i1 false), !noalias !2553 + %2261 = getelementptr inbounds nuw i8, ptr %2255, i64 272 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %2261, ptr noundef nonnull align 8 dereferenceable(24) %14, i64 24, i1 false), !noalias !2569 + store ptr %2255, ptr %212, align 8, !noalias !2562 store i64 0, ptr %274, align 8, !noalias !2562 store i64 1, ptr %275, align 8, !noalias !2562 - br label %2276 + br label %2274 -.noexc.i609: ; preds = %2254 +.noexc.i609: ; preds = %2252 store ptr %.sroa.15240.0, ptr %13, align 8, !noalias !2395 store i64 %.sroa.19241.5, ptr %.sroa.19241.32..sroa_idx, align 8, !noalias !2395 store i64 %.sroa.20242.5, ptr %.sroa.20242.32..sroa_idx, align 8, !noalias !2395 @@ -14590,196 +14588,196 @@ _ZN11smallbitvec11SmallBitVec3len17hd19085f87d1dfa85E.llvm.16258808753110442553. .noexc615: ; preds = %.noexc.i609 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %10), !noalias !2562 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %11), !noalias !2562 - %2264 = load ptr, ptr %12, align 8, !alias.scope !2570, !noalias !2562, !nonnull !14, !noundef !14 - %2265 = getelementptr inbounds nuw i8, ptr %2264, i64 272 - %2266 = load i64, ptr %230, align 8, !alias.scope !2570, !noalias !2562, !noundef !14 - %2267 = getelementptr inbounds { [3 x i64] }, ptr %2265, i64 %2266 - %2268 = load ptr, ptr %.sroa.11239.0..sroa_idx, align 8, !alias.scope !2559, !noalias !2573, !nonnull !14, !noundef !14 - %2269 = getelementptr inbounds nuw i8, ptr %2268, i64 16 - %2270 = load i64, ptr %2269, align 8, !noalias !2573, !noundef !14 - %2271 = add i64 %2270, 1 - store i64 %2271, ptr %2269, align 8, !noalias !2573 - br label %2276 - -2272: ; preds = %2275, %2274 - %2273 = landingpad { ptr, i32 } + %2262 = load ptr, ptr %12, align 8, !alias.scope !2570, !noalias !2562, !nonnull !14, !noundef !14 + %2263 = getelementptr inbounds nuw i8, ptr %2262, i64 272 + %2264 = load i64, ptr %230, align 8, !alias.scope !2570, !noalias !2562, !noundef !14 + %2265 = getelementptr inbounds { [3 x i64] }, ptr %2263, i64 %2264 + %2266 = load ptr, ptr %.sroa.11239.0..sroa_idx, align 8, !alias.scope !2559, !noalias !2573, !nonnull !14, !noundef !14 + %2267 = getelementptr inbounds nuw i8, ptr %2266, i64 16 + %2268 = load i64, ptr %2267, align 8, !noalias !2573, !noundef !14 + %2269 = add i64 %2268, 1 + store i64 %2269, ptr %2267, align 8, !noalias !2573 + br label %2274 + +2270: ; preds = %2273, %2272 + %2271 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer call void @_ZN4core9panicking16panic_in_cleanup17h55eb1d85cadde1a1E() #48, !noalias !2553 unreachable -.loopexit551: ; preds = %2256 +.loopexit551: ; preds = %2254 %lpad.loopexit553 = landingpad { ptr, i32 } cleanup - br label %2274 + br label %2272 -.loopexit.split-lp552: ; preds = %2259 +.loopexit.split-lp552: ; preds = %2257 %lpad.loopexit.split-lp554 = landingpad { ptr, i32 } cleanup - br label %2274 + br label %2272 -2274: ; preds = %.loopexit.split-lp552, %.loopexit551 +2272: ; preds = %.loopexit.split-lp552, %.loopexit551 %lpad.phi555 = phi { ptr, i32 } [ %lpad.loopexit553, %.loopexit551 ], [ %lpad.loopexit.split-lp554, %.loopexit.split-lp552 ] invoke void @"_ZN4core3ptr92drop_in_place$LT$alloc..vec..Vec$LT$tree_sitter_cli..generate..tables..FieldLocation$GT$$GT$17h1f8db976a2f56a37E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %14) #47 - to label %2275 unwind label %2272, !noalias !2569 + to label %2273 unwind label %2270, !noalias !2569 -2275: ; preds = %2274 +2273: ; preds = %2272 invoke void @"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h80292f77b629338bE"(ptr noalias noundef nonnull align 8 dereferenceable(56) %15) #47 - to label %.loopexit.split-lp.i435 unwind label %2272, !noalias !2553 + to label %.loopexit.split-lp.i435 unwind label %2270, !noalias !2553 -2276: ; preds = %.noexc615, %2260 - %.0.i.i610 = phi ptr [ %2263, %2260 ], [ %2267, %.noexc615 ] +2274: ; preds = %.noexc615, %2258 + %.0.i.i610 = phi ptr [ %2261, %2258 ], [ %2265, %.noexc615 ] call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %12), !noalias !2553 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %13), !noalias !2553 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %14), !noalias !2553 call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %15), !noalias !2553 br label %"_ZN5alloc11collections5btree3map5entry22Entry$LT$K$C$V$C$A$GT$10or_default17h05f49cea752df50dE.exit" -"_ZN5alloc11collections5btree3map5entry22Entry$LT$K$C$V$C$A$GT$10or_default17h05f49cea752df50dE.exit": ; preds = %2276, %2250 - %.sroa.20242.5395 = phi i64 [ %.sroa.20242.5396, %2250 ], [ %.sroa.20242.5, %2276 ] - %.sroa.19241.5393 = phi i64 [ %.sroa.19241.5394, %2250 ], [ %.sroa.19241.5, %2276 ] - %.0.i611 = phi ptr [ %2253, %2250 ], [ %.0.i.i610, %2276 ] - %2277 = getelementptr inbounds nuw i8, ptr %.0.i611, i64 16 - %2278 = load i64, ptr %2277, align 8, !alias.scope !2574, !noalias !2395, !noundef !14 - %2279 = load i64, ptr %.0.i611, align 8, !alias.scope !2574, !noalias !2395, !noundef !14 - %2280 = icmp eq i64 %2278, %2279 - br i1 %2280, label %2281, label %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17ha000b5326d0daf03E.exit.i" - -2281: ; preds = %"_ZN5alloc11collections5btree3map5entry22Entry$LT$K$C$V$C$A$GT$10or_default17h05f49cea752df50dE.exit" - invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$16reserve_for_push17h37c2bf212b8094b1E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %.0.i611, i64 noundef %2278) +"_ZN5alloc11collections5btree3map5entry22Entry$LT$K$C$V$C$A$GT$10or_default17h05f49cea752df50dE.exit": ; preds = %2274, %2248 + %.sroa.20242.5395 = phi i64 [ %.sroa.20242.5396, %2248 ], [ %.sroa.20242.5, %2274 ] + %.sroa.19241.5393 = phi i64 [ %.sroa.19241.5394, %2248 ], [ %.sroa.19241.5, %2274 ] + %.0.i611 = phi ptr [ %2251, %2248 ], [ %.0.i.i610, %2274 ] + %2275 = getelementptr inbounds nuw i8, ptr %.0.i611, i64 16 + %2276 = load i64, ptr %2275, align 8, !alias.scope !2574, !noalias !2395, !noundef !14 + %2277 = load i64, ptr %.0.i611, align 8, !alias.scope !2574, !noalias !2395, !noundef !14 + %2278 = icmp eq i64 %2276, %2277 + br i1 %2278, label %2279, label %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17ha000b5326d0daf03E.exit.i" + +2279: ; preds = %"_ZN5alloc11collections5btree3map5entry22Entry$LT$K$C$V$C$A$GT$10or_default17h05f49cea752df50dE.exit" + invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$16reserve_for_push17h37c2bf212b8094b1E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %.0.i611, i64 noundef %2276) to label %.noexc82.i unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.i, !noalias !2395 -.noexc82.i: ; preds = %2281 - %.pre.i81.i = load i64, ptr %2277, align 8, !alias.scope !2574, !noalias !2395 +.noexc82.i: ; preds = %2279 + %.pre.i81.i = load i64, ptr %2275, align 8, !alias.scope !2574, !noalias !2395 br label %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17ha000b5326d0daf03E.exit.i" "_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17ha000b5326d0daf03E.exit.i": ; preds = %.noexc82.i, %"_ZN5alloc11collections5btree3map5entry22Entry$LT$K$C$V$C$A$GT$10or_default17h05f49cea752df50dE.exit" - %2282 = phi i64 [ %.pre.i81.i, %.noexc82.i ], [ %2278, %"_ZN5alloc11collections5btree3map5entry22Entry$LT$K$C$V$C$A$GT$10or_default17h05f49cea752df50dE.exit" ] - %2283 = getelementptr inbounds nuw i8, ptr %.0.i611, i64 8 - %2284 = load ptr, ptr %2283, align 8, !alias.scope !2574, !noalias !2395, !nonnull !14, !noundef !14 - %2285 = getelementptr inbounds { i64, i8 }, ptr %2284, i64 %2282 - store i64 %.sroa.7.0127.i, ptr %2285, align 8, !noalias !2395 - %2286 = getelementptr inbounds nuw i8, ptr %2285, i64 8 - store i8 0, ptr %2286, align 8, !noalias !2395 - %2287 = load i64, ptr %2277, align 8, !alias.scope !2574, !noalias !2395, !noundef !14 - %2288 = add i64 %2287, 1 - store i64 %2288, ptr %2277, align 8, !alias.scope !2574, !noalias !2395 - br label %2223 - -2289: ; preds = %2223 - %2290 = getelementptr inbounds nuw i8, ptr %.sroa.0.0128.i, i64 80 - %2291 = load ptr, ptr %213, align 8, !alias.scope !2395, !nonnull !14, !align !82, !noundef !14 - %2292 = load i64, ptr %2290, align 8, !noalias !2395, !noundef !14 - %2293 = getelementptr inbounds nuw i8, ptr %2291, i64 16 - %2294 = load i64, ptr %2293, align 8, !alias.scope !2577, !noalias !2580, !noundef !14 - %2295 = icmp ult i64 %2292, %2294 - br i1 %2295, label %2296, label %.invoke.i447, !prof !204 - -2296: ; preds = %2289 - %2297 = getelementptr inbounds nuw i8, ptr %2291, i64 8 - %2298 = load ptr, ptr %2297, align 8, !alias.scope !2577, !noalias !2580, !nonnull !14, !noundef !14 - %2299 = getelementptr inbounds [0 x { { { { i64, ptr }, i64 } }, { { i64, ptr }, i64 }, i8, [7 x i8] }], ptr %2298, i64 0, i64 %2292, i32 2 - %2300 = load i8, ptr %2299, align 8, !range !1591, !noalias !2395, !noundef !14 - %.0.i.not.i = icmp samesign ult i8 %2300, 2 - br i1 %.0.i.not.i, label %2301, label %2329 - -2301: ; preds = %2296 - %2302 = load i64, ptr %214, align 8, !alias.scope !2395, !noundef !14 - %2303 = icmp ult i64 %2292, %2302 - br i1 %2303, label %2306, label %.invoke.i447, !prof !204 - -.invoke.i447: ; preds = %2301, %2289 - %2304 = phi i64 [ %2294, %2289 ], [ %2302, %2301 ] - %2305 = phi ptr [ @anon.f4ab2160caa6653ef344418ff3b39bb7.133, %2289 ], [ @anon.f4ab2160caa6653ef344418ff3b39bb7.134, %2301 ] - invoke void @_ZN4core9panicking18panic_bounds_check17h8331054858f0bf20E(i64 noundef %2292, i64 noundef %2304, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %2305) #45 + %2280 = phi i64 [ %.pre.i81.i, %.noexc82.i ], [ %2276, %"_ZN5alloc11collections5btree3map5entry22Entry$LT$K$C$V$C$A$GT$10or_default17h05f49cea752df50dE.exit" ] + %2281 = getelementptr inbounds nuw i8, ptr %.0.i611, i64 8 + %2282 = load ptr, ptr %2281, align 8, !alias.scope !2574, !noalias !2395, !nonnull !14, !noundef !14 + %2283 = getelementptr inbounds { i64, i8 }, ptr %2282, i64 %2280 + store i64 %.sroa.7.0127.i, ptr %2283, align 8, !noalias !2395 + %2284 = getelementptr inbounds nuw i8, ptr %2283, i64 8 + store i8 0, ptr %2284, align 8, !noalias !2395 + %2285 = load i64, ptr %2275, align 8, !alias.scope !2574, !noalias !2395, !noundef !14 + %2286 = add i64 %2285, 1 + store i64 %2286, ptr %2275, align 8, !alias.scope !2574, !noalias !2395 + br label %2221 + +2287: ; preds = %2221 + %2288 = getelementptr inbounds nuw i8, ptr %.sroa.0.0128.i, i64 80 + %2289 = load ptr, ptr %213, align 8, !alias.scope !2395, !nonnull !14, !align !82, !noundef !14 + %2290 = load i64, ptr %2288, align 8, !noalias !2395, !noundef !14 + %2291 = getelementptr inbounds nuw i8, ptr %2289, i64 16 + %2292 = load i64, ptr %2291, align 8, !alias.scope !2577, !noalias !2580, !noundef !14 + %2293 = icmp ult i64 %2290, %2292 + br i1 %2293, label %2294, label %.invoke.i447, !prof !204 + +2294: ; preds = %2287 + %2295 = getelementptr inbounds nuw i8, ptr %2289, i64 8 + %2296 = load ptr, ptr %2295, align 8, !alias.scope !2577, !noalias !2580, !nonnull !14, !noundef !14 + %2297 = getelementptr inbounds [0 x { { { { i64, ptr }, i64 } }, { { i64, ptr }, i64 }, i8, [7 x i8] }], ptr %2296, i64 0, i64 %2290, i32 2 + %2298 = load i8, ptr %2297, align 8, !range !1591, !noalias !2395, !noundef !14 + %.0.i.not.i = icmp samesign ult i8 %2298, 2 + br i1 %.0.i.not.i, label %2299, label %2327 + +2299: ; preds = %2294 + %2300 = load i64, ptr %214, align 8, !alias.scope !2395, !noundef !14 + %2301 = icmp ult i64 %2290, %2300 + br i1 %2301, label %2304, label %.invoke.i447, !prof !204 + +.invoke.i447: ; preds = %2299, %2287 + %2302 = phi i64 [ %2292, %2287 ], [ %2300, %2299 ] + %2303 = phi ptr [ @anon.f4ab2160caa6653ef344418ff3b39bb7.133, %2287 ], [ @anon.f4ab2160caa6653ef344418ff3b39bb7.134, %2299 ] + invoke void @_ZN4core9panicking18panic_bounds_check17h8331054858f0bf20E(i64 noundef %2290, i64 noundef %2302, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %2303) #45 to label %.cont.i448 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.i, !noalias !2395 .cont.i448: ; preds = %.invoke.i447 unreachable -2306: ; preds = %2301 - %2307 = load ptr, ptr %215, align 8, !alias.scope !2395, !nonnull !14, !align !82, !noundef !14 - %2308 = getelementptr inbounds [0 x { { { { i64, ptr }, i64 }, { i8, i8, i8 }, [5 x i8] }, { { { i64, ptr }, i64 }, { i8, i8, i8 }, [5 x i8] }, { { { { ptr, i64, i64, i64 }, {}, {} }, { i64, i64 } } }, i8, [7 x i8] }], ptr %2307, i64 0, i64 %2292, i32 2 +2304: ; preds = %2299 + %2305 = load ptr, ptr %215, align 8, !alias.scope !2395, !nonnull !14, !align !82, !noundef !14 + %2306 = getelementptr inbounds [0 x { { { { i64, ptr }, i64 }, { i8, i8, i8 }, [5 x i8] }, { { { i64, ptr }, i64 }, { i8, i8, i8 }, [5 x i8] }, { { { { ptr, i64, i64, i64 }, {}, {} }, { i64, i64 } } }, i8, [7 x i8] }], ptr %2305, i64 0, i64 %2290, i32 2 call void @llvm.experimental.noalias.scope.decl(metadata !2582) - %2309 = load ptr, ptr %2308, align 8, !alias.scope !2582, !noalias !2585, !nonnull !14, !noundef !14 - %2310 = getelementptr inbounds nuw i8, ptr %2308, i64 8 - %2311 = load i64, ptr %2310, align 8, !alias.scope !2582, !noalias !2585, !noundef !14 - %2312 = getelementptr i8, ptr %2309, i64 %2311 - %2313 = getelementptr i8, ptr %2312, i64 1 - %2314 = load <16 x i8>, ptr %2309, align 16, !noalias !2587 - %2315 = icmp slt <16 x i8> %2314, zeroinitializer - %2316 = bitcast <16 x i1> %2315 to i16 - %2317 = xor i16 %2316, -1 - %2318 = getelementptr inbounds nuw i8, ptr %2309, i64 16 - %2319 = getelementptr inbounds nuw i8, ptr %2308, i64 24 - %2320 = load i64, ptr %2319, align 8, !alias.scope !2582, !noalias !2585, !noundef !14 + %2307 = load ptr, ptr %2306, align 8, !alias.scope !2582, !noalias !2585, !nonnull !14, !noundef !14 + %2308 = getelementptr inbounds nuw i8, ptr %2306, i64 8 + %2309 = load i64, ptr %2308, align 8, !alias.scope !2582, !noalias !2585, !noundef !14 + %2310 = getelementptr i8, ptr %2307, i64 %2309 + %2311 = getelementptr i8, ptr %2310, i64 1 + %2312 = load <16 x i8>, ptr %2307, align 16, !noalias !2587 + %2313 = icmp slt <16 x i8> %2312, zeroinitializer + %2314 = bitcast <16 x i1> %2313 to i16 + %2315 = xor i16 %2314, -1 + %2316 = getelementptr inbounds nuw i8, ptr %2307, i64 16 + %2317 = getelementptr inbounds nuw i8, ptr %2306, i64 24 + %2318 = load i64, ptr %2317, align 8, !alias.scope !2582, !noalias !2585, !noundef !14 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %55), !noalias !2395 - store ptr %2309, ptr %55, align 8, !noalias !2395 - store ptr %2318, ptr %.sroa.012.sroa.2.0..sroa_idx.i, align 8, !noalias !2395 - store ptr %2313, ptr %.sroa.012.sroa.3.0..sroa_idx.i, align 8, !noalias !2395 - store i16 %2317, ptr %.sroa.012.sroa.4.0..sroa_idx.i, align 8, !noalias !2395 - store i64 %2320, ptr %.sroa.012.sroa.6.0..sroa_idx.i, align 8, !noalias !2395 - %2321 = icmp eq i64 %2320, 0 - br i1 %2321, label %.thread38.i, label %.lr.ph.i449 - -.lr.ph.i449: ; preds = %2306, %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17ha000b5326d0daf03E.exit103.i" - %.sroa.19.1120.i = phi i64 [ %.sroa.19.352.i, %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17ha000b5326d0daf03E.exit103.i" ], [ %.sroa.19.0126.i, %2306 ] - %.sroa.20.1119.i = phi i64 [ %.sroa.20.350.i, %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17ha000b5326d0daf03E.exit103.i" ], [ %.sroa.20.0125.i, %2306 ] - %2322 = invoke noundef ptr @"_ZN9hashbrown3raw21RawIterRange$LT$T$GT$9next_impl17h8530a8afa4d2bc70E.llvm.4513845701186752324"(ptr noalias noundef nonnull align 8 dereferenceable(40) %55) - to label %2323 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.i, !noalias !2395 - -2323: ; preds = %.lr.ph.i449 - %2324 = load i64, ptr %.sroa.012.sroa.6.0..sroa_idx.i, align 8, !alias.scope !2592, !noalias !2395, !noundef !14 - %2325 = add i64 %2324, -1 - store i64 %2325, ptr %.sroa.012.sroa.6.0..sroa_idx.i, align 8, !alias.scope !2592, !noalias !2395 - %2326 = icmp eq ptr %2322, null - br i1 %2326, label %.thread38.i, label %2327 - -.thread38.i: ; preds = %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17ha000b5326d0daf03E.exit103.i", %2323, %2306 - %.sroa.20.1.lcssa.i = phi i64 [ %.sroa.20.0125.i, %2306 ], [ %.sroa.20.1119.i, %2323 ], [ %.sroa.20.350.i, %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17ha000b5326d0daf03E.exit103.i" ] - %.sroa.19.1.lcssa.i = phi i64 [ %.sroa.19.0126.i, %2306 ], [ %.sroa.19.1120.i, %2323 ], [ %.sroa.19.352.i, %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17ha000b5326d0daf03E.exit103.i" ] + store ptr %2307, ptr %55, align 8, !noalias !2395 + store ptr %2316, ptr %.sroa.012.sroa.2.0..sroa_idx.i, align 8, !noalias !2395 + store ptr %2311, ptr %.sroa.012.sroa.3.0..sroa_idx.i, align 8, !noalias !2395 + store i16 %2315, ptr %.sroa.012.sroa.4.0..sroa_idx.i, align 8, !noalias !2395 + store i64 %2318, ptr %.sroa.012.sroa.6.0..sroa_idx.i, align 8, !noalias !2395 + %2319 = icmp eq i64 %2318, 0 + br i1 %2319, label %.thread38.i, label %.lr.ph.i449 + +.lr.ph.i449: ; preds = %2304, %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17ha000b5326d0daf03E.exit103.i" + %.sroa.19.1120.i = phi i64 [ %.sroa.19.352.i, %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17ha000b5326d0daf03E.exit103.i" ], [ %.sroa.19.0126.i, %2304 ] + %.sroa.20.1119.i = phi i64 [ %.sroa.20.350.i, %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17ha000b5326d0daf03E.exit103.i" ], [ %.sroa.20.0125.i, %2304 ] + %2320 = invoke noundef ptr @"_ZN9hashbrown3raw21RawIterRange$LT$T$GT$9next_impl17h8530a8afa4d2bc70E.llvm.4513845701186752324"(ptr noalias noundef nonnull align 8 dereferenceable(40) %55) + to label %2321 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.i, !noalias !2395 + +2321: ; preds = %.lr.ph.i449 + %2322 = load i64, ptr %.sroa.012.sroa.6.0..sroa_idx.i, align 8, !alias.scope !2592, !noalias !2395, !noundef !14 + %2323 = add i64 %2322, -1 + store i64 %2323, ptr %.sroa.012.sroa.6.0..sroa_idx.i, align 8, !alias.scope !2592, !noalias !2395 + %2324 = icmp eq ptr %2320, null + br i1 %2324, label %.thread38.i, label %2325 + +.thread38.i: ; preds = %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17ha000b5326d0daf03E.exit103.i", %2321, %2304 + %.sroa.20.1.lcssa.i = phi i64 [ %.sroa.20.0125.i, %2304 ], [ %.sroa.20.1119.i, %2321 ], [ %.sroa.20.350.i, %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17ha000b5326d0daf03E.exit103.i" ] + %.sroa.19.1.lcssa.i = phi i64 [ %.sroa.19.0126.i, %2304 ], [ %.sroa.19.1120.i, %2321 ], [ %.sroa.19.352.i, %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17ha000b5326d0daf03E.exit103.i" ] call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %55), !noalias !2395 - br label %2329 + br label %2327 -2327: ; preds = %2323 - %2328 = getelementptr inbounds i8, ptr %2322, i64 -56 +2325: ; preds = %2321 + %2326 = getelementptr inbounds i8, ptr %2320, i64 -56 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %54), !noalias !2395 - invoke void @"_ZN60_$LT$alloc..string..String$u20$as$u20$core..clone..Clone$GT$5clone17hebbb1fc2363025c1E"(ptr noalias noundef nonnull sret({ { { i64, ptr }, i64 } }) align 8 captures(none) dereferenceable(24) %54, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %2328) - to label %2331 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.i, !noalias !2395 + invoke void @"_ZN60_$LT$alloc..string..String$u20$as$u20$core..clone..Clone$GT$5clone17hebbb1fc2363025c1E"(ptr noalias noundef nonnull sret({ { { i64, ptr }, i64 } }) align 8 captures(none) dereferenceable(24) %54, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %2326) + to label %2329 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.i, !noalias !2395 -2329: ; preds = %.thread38.i, %2296, %2223 - %.sroa.20.2.i = phi i64 [ %.sroa.20.0125.i, %2296 ], [ %.sroa.20.1.lcssa.i, %.thread38.i ], [ %.sroa.20.0125.i, %2223 ] - %.sroa.19.2.i = phi i64 [ %.sroa.19.0126.i, %2296 ], [ %.sroa.19.1.lcssa.i, %.thread38.i ], [ %.sroa.19.0126.i, %2223 ] - %2330 = icmp eq ptr %2073, %2071 - br i1 %2330, label %.preheader.i, label %.lr.ph129.i +2327: ; preds = %.thread38.i, %2294, %2221 + %.sroa.20.2.i = phi i64 [ %.sroa.20.0125.i, %2294 ], [ %.sroa.20.1.lcssa.i, %.thread38.i ], [ %.sroa.20.0125.i, %2221 ] + %.sroa.19.2.i = phi i64 [ %.sroa.19.0126.i, %2294 ], [ %.sroa.19.1.lcssa.i, %.thread38.i ], [ %.sroa.19.0126.i, %2221 ] + %2328 = icmp eq ptr %2071, %2069 + br i1 %2328, label %.preheader.i, label %.lr.ph129.i -2331: ; preds = %2327 +2329: ; preds = %2325 call void @llvm.experimental.noalias.scope.decl(metadata !2597) call void @llvm.experimental.noalias.scope.decl(metadata !2600) call void @llvm.experimental.noalias.scope.decl(metadata !2602) - %2332 = load ptr, ptr %212, align 8, !alias.scope !2600, !noalias !2604, !noundef !14 - %2333 = icmp eq ptr %2332, null - br i1 %2333, label %"_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$5entry17h292b98d5e305c970E.exit.i", label %2334 + %2330 = load ptr, ptr %212, align 8, !alias.scope !2600, !noalias !2604, !noundef !14 + %2331 = icmp eq ptr %2330, null + br i1 %2331, label %"_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$5entry17h292b98d5e305c970E.exit.i", label %2332 -2334: ; preds = %2331 - %2335 = load i64, ptr %216, align 8, !alias.scope !2600, !noalias !2604, !noundef !14 +2332: ; preds = %2329 + %2333 = load i64, ptr %216, align 8, !alias.scope !2600, !noalias !2604, !noundef !14 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %47), !noalias !2605 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %45), !noalias !2606 - store ptr %2332, ptr %45, align 8, !noalias !2610 - store i64 %2335, ptr %217, align 8, !noalias !2610 - %2336 = invoke { i64, i64 } @"_ZN5alloc11collections5btree6search91_$LT$impl$u20$alloc..collections..btree..node..NodeRef$LT$BorrowType$C$K$C$V$C$Type$GT$$GT$14find_key_index17h7e73963af3270845E.llvm.17454970623020605724"(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %45, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %54, i64 noundef 0) + store ptr %2330, ptr %45, align 8, !noalias !2610 + store i64 %2333, ptr %217, align 8, !noalias !2610 + %2334 = invoke { i64, i64 } @"_ZN5alloc11collections5btree6search91_$LT$impl$u20$alloc..collections..btree..node..NodeRef$LT$BorrowType$C$K$C$V$C$Type$GT$$GT$14find_key_index17h7e73963af3270845E.llvm.17454970623020605724"(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %45, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %54, i64 noundef 0) to label %.noexc.i.i unwind label %.loopexit.split-lp.i.i, !noalias !2614 -.noexc.i.i: ; preds = %2334 - %.fca.0.extract.i21.i.i.i = extractvalue { i64, i64 } %2336, 0 - %.fca.1.extract.i22.i.i.i = extractvalue { i64, i64 } %2336, 1 +.noexc.i.i: ; preds = %2332 + %.fca.0.extract.i21.i.i.i = extractvalue { i64, i64 } %2334, 0 + %.fca.1.extract.i22.i.i.i = extractvalue { i64, i64 } %2334, 1 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %45), !noalias !2606 %trunc23.i.i.i = trunc nuw i64 %.fca.0.extract.i21.i.i.i to i1 br i1 %trunc23.i.i.i, label %.lr.ph.i.i.i, label %.loopexit57.i.i .lr.ph.i.i.i: ; preds = %.noexc.i.i, %.noexc18.i.i %.fca.1.extract.i26.i.i.i = phi i64 [ %.fca.1.extract.i.i.i.i, %.noexc18.i.i ], [ %.fca.1.extract.i22.i.i.i, %.noexc.i.i ] - %.sroa.0.025.i.i.i = phi ptr [ %2342, %.noexc18.i.i ], [ %2332, %.noexc.i.i ] - %.sroa.3.024.i.i.i = phi i64 [ %2343, %.noexc18.i.i ], [ %2335, %.noexc.i.i ] + %.sroa.0.025.i.i.i = phi ptr [ %2340, %.noexc18.i.i ], [ %2330, %.noexc.i.i ] + %.sroa.3.024.i.i.i = phi i64 [ %2341, %.noexc18.i.i ], [ %2333, %.noexc.i.i ] store ptr %.sroa.0.025.i.i.i, ptr %47, align 8, !noalias !2606 store i64 %.sroa.3.024.i.i.i, ptr %.sroa.8.8..sroa_idx.i.i.i, align 8, !noalias !2606 store i64 %.fca.1.extract.i26.i.i.i, ptr %.sroa.9.8..sroa_idx.i.i.i, align 8, !noalias !2606 @@ -14788,107 +14786,107 @@ _ZN11smallbitvec11SmallBitVec3len17hd19085f87d1dfa85E.llvm.16258808753110442553. to label %.noexc17.i.i unwind label %.loopexit.i88.i, !noalias !2614 .noexc17.i.i: ; preds = %.lr.ph.i.i.i - %2337 = load i64, ptr %46, align 8, !range !86, !noalias !2606, !noundef !14 - %trunc9.i.i.i = trunc nuw i64 %2337 to i1 + %2335 = load i64, ptr %46, align 8, !range !86, !noalias !2606, !noundef !14 + %trunc9.i.i.i = trunc nuw i64 %2335 to i1 %.sroa.04.0.copyload.i.i.i = load ptr, ptr %218, align 8, !noalias !2615 %.sroa.45.0.copyload.i.i.i = load i64, ptr %.sroa.45.0..sroa_idx.i.i.i, align 8, !noalias !2615 %.sroa.56.0.copyload.i.i.i = load i64, ptr %.sroa.56.0..sroa_idx.i.i.i434, align 8, !noalias !2615 - br i1 %trunc9.i.i.i, label %2338, label %2347 - -2338: ; preds = %.noexc17.i.i - %2339 = getelementptr inbounds nuw i8, ptr %.sroa.04.0.copyload.i.i.i, i64 544 - %2340 = icmp ult i64 %.sroa.56.0.copyload.i.i.i, 12 - call void @llvm.assume(i1 %2340) - %2341 = getelementptr inbounds nuw ptr, ptr %2339, i64 %.sroa.56.0.copyload.i.i.i - %2342 = load ptr, ptr %2341, align 8, !noalias !2616, !nonnull !14, !noundef !14 - %2343 = add i64 %.sroa.45.0.copyload.i.i.i, -1 + br i1 %trunc9.i.i.i, label %2336, label %2345 + +2336: ; preds = %.noexc17.i.i + %2337 = getelementptr inbounds nuw i8, ptr %.sroa.04.0.copyload.i.i.i, i64 544 + %2338 = icmp ult i64 %.sroa.56.0.copyload.i.i.i, 12 + call void @llvm.assume(i1 %2338) + %2339 = getelementptr inbounds nuw ptr, ptr %2337, i64 %.sroa.56.0.copyload.i.i.i + %2340 = load ptr, ptr %2339, align 8, !noalias !2616, !nonnull !14, !noundef !14 + %2341 = add i64 %.sroa.45.0.copyload.i.i.i, -1 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %46), !noalias !2606 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %45), !noalias !2606 - store ptr %2342, ptr %45, align 8, !noalias !2610 - store i64 %2343, ptr %217, align 8, !noalias !2610 - %2344 = invoke { i64, i64 } @"_ZN5alloc11collections5btree6search91_$LT$impl$u20$alloc..collections..btree..node..NodeRef$LT$BorrowType$C$K$C$V$C$Type$GT$$GT$14find_key_index17h7e73963af3270845E.llvm.17454970623020605724"(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %45, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %54, i64 noundef 0) + store ptr %2340, ptr %45, align 8, !noalias !2610 + store i64 %2341, ptr %217, align 8, !noalias !2610 + %2342 = invoke { i64, i64 } @"_ZN5alloc11collections5btree6search91_$LT$impl$u20$alloc..collections..btree..node..NodeRef$LT$BorrowType$C$K$C$V$C$Type$GT$$GT$14find_key_index17h7e73963af3270845E.llvm.17454970623020605724"(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %45, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %54, i64 noundef 0) to label %.noexc18.i.i unwind label %.loopexit.i88.i, !noalias !2614 -.noexc18.i.i: ; preds = %2338 - %.fca.0.extract.i.i.i.i = extractvalue { i64, i64 } %2344, 0 - %.fca.1.extract.i.i.i.i = extractvalue { i64, i64 } %2344, 1 +.noexc18.i.i: ; preds = %2336 + %.fca.0.extract.i.i.i.i = extractvalue { i64, i64 } %2342, 0 + %.fca.1.extract.i.i.i.i = extractvalue { i64, i64 } %2342, 1 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %45), !noalias !2606 %trunc.i.i.i452 = trunc nuw i64 %.fca.0.extract.i.i.i.i to i1 br i1 %trunc.i.i.i452, label %.lr.ph.i.i.i, label %.loopexit57.i.i -2345: ; preds = %2352 - %2346 = landingpad { ptr, i32 } +2343: ; preds = %2350 + %2344 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer call void @_ZN4core9panicking16panic_in_cleanup17h55eb1d85cadde1a1E() #48, !noalias !2614 unreachable -2347: ; preds = %.noexc17.i.i +2345: ; preds = %.noexc17.i.i call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %46), !noalias !2606 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %47), !noalias !2605 br label %"_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$5entry17h292b98d5e305c970E.exit.i" .loopexit57.i.i: ; preds = %.noexc18.i.i, %.noexc.i.i %.sroa.10.0.ph.i.i = phi i64 [ %.fca.1.extract.i22.i.i.i, %.noexc.i.i ], [ %.fca.1.extract.i.i.i.i, %.noexc18.i.i ] - %.sroa.520.0.ph.i.i = phi ptr [ %2332, %.noexc.i.i ], [ %2342, %.noexc18.i.i ] + %.sroa.520.0.ph.i.i = phi ptr [ %2330, %.noexc.i.i ], [ %2340, %.noexc18.i.i ] call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %47), !noalias !2605 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %44), !noalias !2617 invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h843100ac3ff507c4E.llvm.15559585470061597875"(ptr noalias noundef nonnull sret({ [1 x i64], i64, [1 x i64] }) align 8 captures(none) dereferenceable(24) %44, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %54) to label %.noexc91.i unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.i, !noalias !2395 .noexc91.i: ; preds = %.loopexit57.i.i - %2348 = load i64, ptr %219, align 8, !range !215, !noalias !2617, !noundef !14 - %.not.i.i.i.i.i87.i = icmp eq i64 %2348, 0 - br i1 %.not.i.i.i.i.i87.i, label %"_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$5entry17h292b98d5e305c970E.exit.thread.i", label %2349 - -2349: ; preds = %.noexc91.i - %2350 = load ptr, ptr %44, align 8, !noalias !2617, !nonnull !14, !noundef !14 - %2351 = load i64, ptr %220, align 8, !noalias !2617, !noundef !14 - invoke void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17hae8e459b587c5295E.llvm.15559585470061597875"(ptr noalias noundef nonnull readonly align 1 %.sroa.10.0..sroa_idx11.i, ptr noundef nonnull %2350, i64 noundef %2348, i64 noundef %2351) + %2346 = load i64, ptr %219, align 8, !range !215, !noalias !2617, !noundef !14 + %.not.i.i.i.i.i87.i = icmp eq i64 %2346, 0 + br i1 %.not.i.i.i.i.i87.i, label %"_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$5entry17h292b98d5e305c970E.exit.thread.i", label %2347 + +2347: ; preds = %.noexc91.i + %2348 = load ptr, ptr %44, align 8, !noalias !2617, !nonnull !14, !noundef !14 + %2349 = load i64, ptr %220, align 8, !noalias !2617, !noundef !14 + invoke void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17hae8e459b587c5295E.llvm.15559585470061597875"(ptr noalias noundef nonnull readonly align 1 %.sroa.10.0..sroa_idx11.i, ptr noundef nonnull %2348, i64 noundef %2346, i64 noundef %2349) to label %"_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$5entry17h292b98d5e305c970E.exit.thread.i" unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.i, !noalias !2395 -"_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$5entry17h292b98d5e305c970E.exit.thread.i": ; preds = %2349, %.noexc91.i +"_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$5entry17h292b98d5e305c970E.exit.thread.i": ; preds = %2347, %.noexc91.i call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %44), !noalias !2617 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %54), !noalias !2395 - br label %2354 + br label %2352 -.loopexit.i88.i: ; preds = %2338, %.lr.ph.i.i.i +.loopexit.i88.i: ; preds = %2336, %.lr.ph.i.i.i %lpad.loopexit.i.i = landingpad { ptr, i32 } cleanup - br label %2352 + br label %2350 -.loopexit.split-lp.i.i: ; preds = %2334 +.loopexit.split-lp.i.i: ; preds = %2332 %lpad.loopexit.split-lp.i.i = landingpad { ptr, i32 } cleanup - br label %2352 + br label %2350 -2352: ; preds = %.loopexit.split-lp.i.i, %.loopexit.i88.i +2350: ; preds = %.loopexit.split-lp.i.i, %.loopexit.i88.i %lpad.phi.i.i = phi { ptr, i32 } [ %lpad.loopexit.i.i, %.loopexit.i88.i ], [ %lpad.loopexit.split-lp.i.i, %.loopexit.split-lp.i.i ] invoke void @"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h80292f77b629338bE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %54) #47 - to label %.loopexit.split-lp.i435 unwind label %2345, !noalias !2614 + to label %.loopexit.split-lp.i435 unwind label %2343, !noalias !2614 -"_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$5entry17h292b98d5e305c970E.exit.i": ; preds = %2347, %2331 - %.sroa.20.3.i = phi i64 [ %.sroa.56.0.copyload.i.i.i, %2347 ], [ %.sroa.20.1119.i, %2331 ] - %.sroa.19.3.i = phi i64 [ %.sroa.45.0.copyload.i.i.i, %2347 ], [ %.sroa.19.1120.i, %2331 ] - %.sroa.15.0.i = phi ptr [ %.sroa.04.0.copyload.i.i.i, %2347 ], [ null, %2331 ] +"_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$5entry17h292b98d5e305c970E.exit.i": ; preds = %2345, %2329 + %.sroa.20.3.i = phi i64 [ %.sroa.56.0.copyload.i.i.i, %2345 ], [ %.sroa.20.1119.i, %2329 ] + %.sroa.19.3.i = phi i64 [ %.sroa.45.0.copyload.i.i.i, %2345 ], [ %.sroa.19.1120.i, %2329 ] + %.sroa.15.0.i = phi ptr [ %.sroa.04.0.copyload.i.i.i, %2345 ], [ null, %2329 ] %.sroa.8.0.copyload6.i = load ptr, ptr %.sroa.8.0..sroa_idx5.i, align 8, !alias.scope !2626, !noalias !2627 %.sroa.10.0.copyload12.i = load i64, ptr %.sroa.10.0..sroa_idx11.i, align 8, !alias.scope !2626, !noalias !2627 %.sroa.01.0.i = load i64, ptr %54, align 8, !alias.scope !2626, !noalias !2627 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %54), !noalias !2395 - %2353 = icmp eq i64 %.sroa.01.0.i, -9223372036854775808 - br i1 %2353, label %2354, label %2358 + %2351 = icmp eq i64 %.sroa.01.0.i, -9223372036854775808 + br i1 %2351, label %2352, label %2356 -2354: ; preds = %"_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$5entry17h292b98d5e305c970E.exit.i", %"_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$5entry17h292b98d5e305c970E.exit.thread.i" +2352: ; preds = %"_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$5entry17h292b98d5e305c970E.exit.i", %"_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$5entry17h292b98d5e305c970E.exit.thread.i" %.sroa.8.055.i = phi ptr [ %.sroa.520.0.ph.i.i, %"_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$5entry17h292b98d5e305c970E.exit.thread.i" ], [ %.sroa.8.0.copyload6.i, %"_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$5entry17h292b98d5e305c970E.exit.i" ] %.sroa.11.054.i = phi i64 [ %.sroa.10.0.ph.i.i, %"_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$5entry17h292b98d5e305c970E.exit.thread.i" ], [ %.sroa.11.0.i, %"_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$5entry17h292b98d5e305c970E.exit.i" ] %.sroa.19.353.i = phi i64 [ %.sroa.19.1120.i, %"_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$5entry17h292b98d5e305c970E.exit.thread.i" ], [ %.sroa.19.3.i, %"_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$5entry17h292b98d5e305c970E.exit.i" ] %.sroa.20.351.i = phi i64 [ %.sroa.20.1119.i, %"_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$5entry17h292b98d5e305c970E.exit.thread.i" ], [ %.sroa.20.3.i, %"_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$5entry17h292b98d5e305c970E.exit.i" ] - %2355 = icmp ne ptr %.sroa.8.055.i, null - call void @llvm.assume(i1 %2355) - %2356 = getelementptr inbounds nuw i8, ptr %.sroa.8.055.i, i64 272 - %2357 = getelementptr inbounds { [3 x i64] }, ptr %2356, i64 %.sroa.11.054.i + %2353 = icmp ne ptr %.sroa.8.055.i, null + call void @llvm.assume(i1 %2353) + %2354 = getelementptr inbounds nuw i8, ptr %.sroa.8.055.i, i64 272 + %2355 = getelementptr inbounds { [3 x i64] }, ptr %2354, i64 %.sroa.11.054.i br label %"_ZN5alloc11collections5btree3map5entry22Entry$LT$K$C$V$C$A$GT$10or_default17h05f49cea752df50dE.exit.i" -2358: ; preds = %"_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$5entry17h292b98d5e305c970E.exit.i" +2356: ; preds = %"_ZN5alloc11collections5btree3map25BTreeMap$LT$K$C$V$C$A$GT$5entry17h292b98d5e305c970E.exit.i" call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %43), !noalias !2628 store i64 %.sroa.01.0.i, ptr %43, align 8, !noalias !2395 store ptr %.sroa.8.0.copyload6.i, ptr %.sroa.8.0..sroa_idx.i, align 8, !noalias !2395 @@ -14904,38 +14902,38 @@ _ZN11smallbitvec11SmallBitVec3len17hd19085f87d1dfa85E.llvm.16258808753110442553. call void @llvm.experimental.noalias.scope.decl(metadata !2634) call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %40), !noalias !2628 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %41), !noalias !2628 - %2359 = icmp eq ptr %.sroa.15.0.i, null - br i1 %2359, label %2360, label %.noexc.i95.i + %2357 = icmp eq ptr %.sroa.15.0.i, null + br i1 %2357, label %2358, label %.noexc.i95.i -2360: ; preds = %2358 - %2361 = invoke noundef align 8 ptr @"_ZN5alloc5boxed16Box$LT$T$C$A$GT$17try_new_uninit_in17h7b2af4b6d5c28869E.llvm.10393017446704266758"() +2358: ; preds = %2356 + %2359 = invoke noundef align 8 ptr @"_ZN5alloc5boxed16Box$LT$T$C$A$GT$17try_new_uninit_in17h7b2af4b6d5c28869E.llvm.10393017446704266758"() to label %.noexc.i.i.i unwind label %.loopexit68.i, !noalias !2637 -.noexc.i.i.i: ; preds = %2360 - %2362 = icmp eq ptr %2361, null - br i1 %2362, label %2363, label %2364 +.noexc.i.i.i: ; preds = %2358 + %2360 = icmp eq ptr %2359, null + br i1 %2360, label %2361, label %2362 -2363: ; preds = %.noexc.i.i.i +2361: ; preds = %.noexc.i.i.i invoke void @_ZN5alloc5alloc18handle_alloc_error17h81706c48453a6249E(i64 noundef 8, i64 noundef 544) #45 to label %.noexc19.i.i.i unwind label %.loopexit.split-lp69.i, !noalias !2637 -.noexc19.i.i.i: ; preds = %2363 +.noexc19.i.i.i: ; preds = %2361 unreachable -2364: ; preds = %.noexc.i.i.i - store ptr null, ptr %2361, align 8, !noalias !2637 - %2365 = getelementptr inbounds nuw i8, ptr %2361, i64 538 - store i16 1, ptr %2365, align 2, !noalias !2639 - %2366 = getelementptr inbounds nuw i8, ptr %2361, i64 8 - call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %2366, ptr noundef nonnull align 8 dereferenceable(24) %43, i64 24, i1 false), !noalias !2628 - %2367 = getelementptr inbounds nuw i8, ptr %2361, i64 272 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %2367, ptr noundef nonnull align 8 dereferenceable(24) %42, i64 24, i1 false), !noalias !2644 - store ptr %2361, ptr %212, align 8, !noalias !2637 +2362: ; preds = %.noexc.i.i.i + store ptr null, ptr %2359, align 8, !noalias !2637 + %2363 = getelementptr inbounds nuw i8, ptr %2359, i64 538 + store i16 1, ptr %2363, align 2, !noalias !2639 + %2364 = getelementptr inbounds nuw i8, ptr %2359, i64 8 + call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %2364, ptr noundef nonnull align 8 dereferenceable(24) %43, i64 24, i1 false), !noalias !2628 + %2365 = getelementptr inbounds nuw i8, ptr %2359, i64 272 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %2365, ptr noundef nonnull align 8 dereferenceable(24) %42, i64 24, i1 false), !noalias !2644 + store ptr %2359, ptr %212, align 8, !noalias !2637 store i64 0, ptr %216, align 8, !noalias !2637 store i64 1, ptr %.sroa.53.0..sroa_idx.i, align 8, !noalias !2637 - br label %2380 + br label %2378 -.noexc.i95.i: ; preds = %2358 +.noexc.i95.i: ; preds = %2356 store ptr %.sroa.15.0.i, ptr %41, align 8, !noalias !2395 store i64 %.sroa.19.3.i, ptr %.sroa.19.32..sroa_idx.i, align 8, !noalias !2395 store i64 %.sroa.20.3.i, ptr %.sroa.20.32..sroa_idx.i, align 8, !noalias !2395 @@ -14951,139 +14949,139 @@ _ZN11smallbitvec11SmallBitVec3len17hd19085f87d1dfa85E.llvm.16258808753110442553. .noexc98.i: ; preds = %.noexc.i95.i call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %38), !noalias !2637 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %39), !noalias !2637 - %2368 = load ptr, ptr %40, align 8, !alias.scope !2645, !noalias !2637, !nonnull !14, !noundef !14 - %2369 = getelementptr inbounds nuw i8, ptr %2368, i64 272 - %2370 = load i64, ptr %223, align 8, !alias.scope !2645, !noalias !2637, !noundef !14 - %2371 = getelementptr inbounds { [3 x i64] }, ptr %2369, i64 %2370 - %2372 = load ptr, ptr %.sroa.11.0..sroa_idx.i, align 8, !alias.scope !2634, !noalias !2648, !nonnull !14, !noundef !14 - %2373 = getelementptr inbounds nuw i8, ptr %2372, i64 16 - %2374 = load i64, ptr %2373, align 8, !noalias !2648, !noundef !14 - %2375 = add i64 %2374, 1 - store i64 %2375, ptr %2373, align 8, !noalias !2648 - br label %2380 - -2376: ; preds = %2379, %2378 - %2377 = landingpad { ptr, i32 } + %2366 = load ptr, ptr %40, align 8, !alias.scope !2645, !noalias !2637, !nonnull !14, !noundef !14 + %2367 = getelementptr inbounds nuw i8, ptr %2366, i64 272 + %2368 = load i64, ptr %223, align 8, !alias.scope !2645, !noalias !2637, !noundef !14 + %2369 = getelementptr inbounds { [3 x i64] }, ptr %2367, i64 %2368 + %2370 = load ptr, ptr %.sroa.11.0..sroa_idx.i, align 8, !alias.scope !2634, !noalias !2648, !nonnull !14, !noundef !14 + %2371 = getelementptr inbounds nuw i8, ptr %2370, i64 16 + %2372 = load i64, ptr %2371, align 8, !noalias !2648, !noundef !14 + %2373 = add i64 %2372, 1 + store i64 %2373, ptr %2371, align 8, !noalias !2648 + br label %2378 + +2374: ; preds = %2377, %2376 + %2375 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer call void @_ZN4core9panicking16panic_in_cleanup17h55eb1d85cadde1a1E() #48, !noalias !2628 unreachable -.loopexit68.i: ; preds = %2360 +.loopexit68.i: ; preds = %2358 %lpad.loopexit70.i = landingpad { ptr, i32 } cleanup - br label %2378 + br label %2376 -.loopexit.split-lp69.i: ; preds = %2363 +.loopexit.split-lp69.i: ; preds = %2361 %lpad.loopexit.split-lp.i451 = landingpad { ptr, i32 } cleanup - br label %2378 + br label %2376 -2378: ; preds = %.loopexit.split-lp69.i, %.loopexit68.i +2376: ; preds = %.loopexit.split-lp69.i, %.loopexit68.i %lpad.phi71.i = phi { ptr, i32 } [ %lpad.loopexit70.i, %.loopexit68.i ], [ %lpad.loopexit.split-lp.i451, %.loopexit.split-lp69.i ] invoke void @"_ZN4core3ptr92drop_in_place$LT$alloc..vec..Vec$LT$tree_sitter_cli..generate..tables..FieldLocation$GT$$GT$17h1f8db976a2f56a37E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %42) #47 - to label %2379 unwind label %2376, !noalias !2644 + to label %2377 unwind label %2374, !noalias !2644 -2379: ; preds = %2378 +2377: ; preds = %2376 invoke void @"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h80292f77b629338bE"(ptr noalias noundef nonnull align 8 dereferenceable(56) %43) #47 - to label %.loopexit.split-lp.i435 unwind label %2376, !noalias !2628 + to label %.loopexit.split-lp.i435 unwind label %2374, !noalias !2628 -2380: ; preds = %.noexc98.i, %2364 - %.0.i.i96.i = phi ptr [ %2367, %2364 ], [ %2371, %.noexc98.i ] +2378: ; preds = %.noexc98.i, %2362 + %.0.i.i96.i = phi ptr [ %2365, %2362 ], [ %2369, %.noexc98.i ] call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %40), !noalias !2628 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %41), !noalias !2628 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %42), !noalias !2628 call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %43), !noalias !2628 br label %"_ZN5alloc11collections5btree3map5entry22Entry$LT$K$C$V$C$A$GT$10or_default17h05f49cea752df50dE.exit.i" -"_ZN5alloc11collections5btree3map5entry22Entry$LT$K$C$V$C$A$GT$10or_default17h05f49cea752df50dE.exit.i": ; preds = %2380, %2354 - %.sroa.19.352.i = phi i64 [ %.sroa.19.353.i, %2354 ], [ %.sroa.19.3.i, %2380 ] - %.sroa.20.350.i = phi i64 [ %.sroa.20.351.i, %2354 ], [ %.sroa.20.3.i, %2380 ] - %.0.i97.i = phi ptr [ %2357, %2354 ], [ %.0.i.i96.i, %2380 ] - %2381 = getelementptr inbounds nuw i8, ptr %.0.i97.i, i64 16 - %2382 = load i64, ptr %2381, align 8, !alias.scope !2649, !noalias !2395, !noundef !14 - %2383 = load i64, ptr %.0.i97.i, align 8, !alias.scope !2649, !noalias !2395, !noundef !14 - %2384 = icmp eq i64 %2382, %2383 - br i1 %2384, label %2385, label %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17ha000b5326d0daf03E.exit103.i" - -2385: ; preds = %"_ZN5alloc11collections5btree3map5entry22Entry$LT$K$C$V$C$A$GT$10or_default17h05f49cea752df50dE.exit.i" - invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$16reserve_for_push17h37c2bf212b8094b1E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %.0.i97.i, i64 noundef %2382) +"_ZN5alloc11collections5btree3map5entry22Entry$LT$K$C$V$C$A$GT$10or_default17h05f49cea752df50dE.exit.i": ; preds = %2378, %2352 + %.sroa.19.352.i = phi i64 [ %.sroa.19.353.i, %2352 ], [ %.sroa.19.3.i, %2378 ] + %.sroa.20.350.i = phi i64 [ %.sroa.20.351.i, %2352 ], [ %.sroa.20.3.i, %2378 ] + %.0.i97.i = phi ptr [ %2355, %2352 ], [ %.0.i.i96.i, %2378 ] + %2379 = getelementptr inbounds nuw i8, ptr %.0.i97.i, i64 16 + %2380 = load i64, ptr %2379, align 8, !alias.scope !2649, !noalias !2395, !noundef !14 + %2381 = load i64, ptr %.0.i97.i, align 8, !alias.scope !2649, !noalias !2395, !noundef !14 + %2382 = icmp eq i64 %2380, %2381 + br i1 %2382, label %2383, label %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17ha000b5326d0daf03E.exit103.i" + +2383: ; preds = %"_ZN5alloc11collections5btree3map5entry22Entry$LT$K$C$V$C$A$GT$10or_default17h05f49cea752df50dE.exit.i" + invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$16reserve_for_push17h37c2bf212b8094b1E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %.0.i97.i, i64 noundef %2380) to label %.noexc102.i unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.i, !noalias !2395 -.noexc102.i: ; preds = %2385 - %.pre.i101.i = load i64, ptr %2381, align 8, !alias.scope !2649, !noalias !2395 +.noexc102.i: ; preds = %2383 + %.pre.i101.i = load i64, ptr %2379, align 8, !alias.scope !2649, !noalias !2395 br label %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17ha000b5326d0daf03E.exit103.i" "_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17ha000b5326d0daf03E.exit103.i": ; preds = %.noexc102.i, %"_ZN5alloc11collections5btree3map5entry22Entry$LT$K$C$V$C$A$GT$10or_default17h05f49cea752df50dE.exit.i" - %2386 = phi i64 [ %.pre.i101.i, %.noexc102.i ], [ %2382, %"_ZN5alloc11collections5btree3map5entry22Entry$LT$K$C$V$C$A$GT$10or_default17h05f49cea752df50dE.exit.i" ] - %2387 = getelementptr inbounds nuw i8, ptr %.0.i97.i, i64 8 - %2388 = load ptr, ptr %2387, align 8, !alias.scope !2649, !noalias !2395, !nonnull !14, !noundef !14 - %2389 = getelementptr inbounds { i64, i8 }, ptr %2388, i64 %2386 - store i64 %.sroa.7.0127.i, ptr %2389, align 8, !noalias !2395 - %2390 = getelementptr inbounds nuw i8, ptr %2389, i64 8 - store i8 1, ptr %2390, align 8, !noalias !2395 - %2391 = load i64, ptr %2381, align 8, !alias.scope !2649, !noalias !2395, !noundef !14 - %2392 = add i64 %2391, 1 - store i64 %2392, ptr %2381, align 8, !alias.scope !2649, !noalias !2395 + %2384 = phi i64 [ %.pre.i101.i, %.noexc102.i ], [ %2380, %"_ZN5alloc11collections5btree3map5entry22Entry$LT$K$C$V$C$A$GT$10or_default17h05f49cea752df50dE.exit.i" ] + %2385 = getelementptr inbounds nuw i8, ptr %.0.i97.i, i64 8 + %2386 = load ptr, ptr %2385, align 8, !alias.scope !2649, !noalias !2395, !nonnull !14, !noundef !14 + %2387 = getelementptr inbounds { i64, i8 }, ptr %2386, i64 %2384 + store i64 %.sroa.7.0127.i, ptr %2387, align 8, !noalias !2395 + %2388 = getelementptr inbounds nuw i8, ptr %2387, i64 8 + store i8 1, ptr %2388, align 8, !noalias !2395 + %2389 = load i64, ptr %2379, align 8, !alias.scope !2649, !noalias !2395, !noundef !14 + %2390 = add i64 %2389, 1 + store i64 %2390, ptr %2379, align 8, !alias.scope !2649, !noalias !2395 %.pr.i450 = load i64, ptr %.sroa.012.sroa.6.0..sroa_idx.i, align 8, !alias.scope !2592, !noalias !2395 - %2393 = icmp eq i64 %.pr.i450, 0 - br i1 %2393, label %.thread38.i, label %.lr.ph.i449 + %2391 = icmp eq i64 %.pr.i450, 0 + br i1 %2391, label %.thread38.i, label %.lr.ph.i449 -.loopexit.split-lp.i435: ; preds = %2275, %2248, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.i, %2379, %2352, %2207, %.loopexit.split-lp.loopexit.split.us.i, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.i, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.i, %.loopexit.split-lp.loopexit.split-lp.loopexit.i, %.loopexit.split-lp.loopexit.split.i, %.loopexit.i445 - %eh.lpad-body.ph.i = phi { ptr, i32 } [ %2208, %2207 ], [ %lpad.phi.i.i, %2352 ], [ %lpad.phi71.i, %2379 ], [ %lpad.loopexit.i446, %.loopexit.i445 ], [ %lpad.loopexit58.i, %.loopexit.split-lp.loopexit.split.i ], [ %lpad.loopexit58.us.i, %.loopexit.split-lp.loopexit.split.us.i ], [ %lpad.loopexit63.i, %.loopexit.split-lp.loopexit.split-lp.loopexit.i ], [ %lpad.loopexit65.i, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.i ], [ %lpad.loopexit.split-lp73.i, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.i ], [ %lpad.loopexit72.i, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.i ], [ %lpad.phi.i, %2248 ], [ %lpad.phi555, %2275 ] +.loopexit.split-lp.i435: ; preds = %2273, %2246, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.i, %2377, %2350, %2205, %.loopexit.split-lp.loopexit.split.us.i, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.i, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.i, %.loopexit.split-lp.loopexit.split-lp.loopexit.i, %.loopexit.split-lp.loopexit.split.i, %.loopexit.i445 + %eh.lpad-body.ph.i = phi { ptr, i32 } [ %2206, %2205 ], [ %lpad.phi.i.i, %2350 ], [ %lpad.phi71.i, %2377 ], [ %lpad.loopexit.i446, %.loopexit.i445 ], [ %lpad.loopexit58.i, %.loopexit.split-lp.loopexit.split.i ], [ %lpad.loopexit58.us.i, %.loopexit.split-lp.loopexit.split.us.i ], [ %lpad.loopexit63.i, %.loopexit.split-lp.loopexit.split-lp.loopexit.i ], [ %lpad.loopexit65.i, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.i ], [ %lpad.loopexit.split-lp73.i, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.i ], [ %lpad.loopexit72.i, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.i ], [ %lpad.phi.i, %2246 ], [ %lpad.phi555, %2273 ] invoke void @"_ZN4core3ptr70drop_in_place$LT$tree_sitter_cli..generate..tables..ProductionInfo$GT$17h6fe4acfd634f21c1E"(ptr noalias noundef nonnull align 8 dereferenceable(48) %58) #47 - to label %.body unwind label %2394, !noalias !2395 + to label %.body unwind label %2392, !noalias !2395 -2394: ; preds = %.loopexit.split-lp.i435 - %2395 = landingpad { ptr, i32 } +2392: ; preds = %.loopexit.split-lp.i435 + %2393 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer call void @_ZN4core9panicking16panic_in_cleanup17h55eb1d85cadde1a1E() #48, !noalias !2395 unreachable -2396: ; preds = %2182, %.loopexit56.i - %.036.i = phi i64 [ %2186, %2182 ], [ %.019.i81.i, %.loopexit56.i ] +2394: ; preds = %2180, %.loopexit56.i + %.036.i = phi i64 [ %2184, %2180 ], [ %.019.i81.i, %.loopexit56.i ] call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %58), !noalias !2395 %.pre = load i32, ptr %280, align 4, !alias.scope !2652 - br label %2397 - -2397: ; preds = %2060, %2396 - %2398 = phi i32 [ %281, %2060 ], [ %.pre, %2396 ] - %.sroa.19241.6 = phi i64 [ %.sroa.19241.01085, %2060 ], [ %.sroa.19241.3, %2396 ] - %.sroa.20242.6 = phi i64 [ %.sroa.20242.01086, %2060 ], [ %.sroa.20242.3, %2396 ] - %.sroa.10.2 = phi i64 [ %.sroa.10.01090, %2060 ], [ %2063, %2396 ] - %.sroa.9.2 = phi i64 [ %.sroa.9.01091, %2060 ], [ %.036.i, %2396 ] - %.sroa.8.2 = phi i64 [ %.sroa.8.01092, %2060 ], [ %282, %2396 ] - %.sroa.713.2 = phi i32 [ %.sroa.713.01093, %2060 ], [ %2067, %2396 ] - %.sroa.07.0 = phi i8 [ 0, %2060 ], [ 4, %2396 ] + br label %2395 + +2395: ; preds = %2058, %2394 + %2396 = phi i32 [ %281, %2058 ], [ %.pre, %2394 ] + %.sroa.19241.6 = phi i64 [ %.sroa.19241.01085, %2058 ], [ %.sroa.19241.3, %2394 ] + %.sroa.20242.6 = phi i64 [ %.sroa.20242.01086, %2058 ], [ %.sroa.20242.3, %2394 ] + %.sroa.10.2 = phi i64 [ %.sroa.10.01090, %2058 ], [ %2061, %2394 ] + %.sroa.9.2 = phi i64 [ %.sroa.9.01091, %2058 ], [ %.036.i, %2394 ] + %.sroa.8.2 = phi i64 [ %.sroa.8.01092, %2058 ], [ %282, %2394 ] + %.sroa.713.2 = phi i32 [ %.sroa.713.01093, %2058 ], [ %2065, %2394 ] + %.sroa.07.0 = phi i8 [ 0, %2058 ], [ 4, %2394 ] call void @llvm.experimental.noalias.scope.decl(metadata !2657) call void @llvm.experimental.noalias.scope.decl(metadata !2658) - %.not.i.i458 = icmp eq i32 %2398, 0 - br i1 %.not.i.i458, label %_ZN15tree_sitter_cli8generate12build_tables4item9ParseItem13associativity17h162631bf723aa0c7E.exit, label %2399 - -2399: ; preds = %2397 - %2400 = load ptr, ptr %.sroa.01.01087, align 8, !alias.scope !2652, !nonnull !14, !align !82, !noundef !14 - %2401 = zext i32 %2398 to i64 - %2402 = add nsw i64 %2401, -1 - %2403 = getelementptr inbounds nuw i8, ptr %2400, i64 16 - %2404 = load i64, ptr %2403, align 8, !alias.scope !2659, !noalias !2662, !noundef !14 - %2405 = icmp ult i64 %2402, %2404 - br i1 %2405, label %2406, label %.invoke1932, !prof !204 - -2406: ; preds = %2399 - %2407 = getelementptr inbounds nuw i8, ptr %2400, i64 8 - %2408 = load ptr, ptr %2407, align 8, !alias.scope !2659, !noalias !2662, !nonnull !14, !noundef !14 - %2409 = getelementptr inbounds [0 x { { i64, [3 x i64] }, { i64, [2 x i64] }, { i64, [2 x i64] }, { i64, i8 }, i8, [7 x i8] }], ptr %2408, i64 0, i64 %2402, i32 2 - %2410 = getelementptr inbounds [0 x { { i64, [3 x i64] }, { i64, [2 x i64] }, { i64, [2 x i64] }, { i64, i8 }, i8, [7 x i8] }], ptr %2408, i64 0, i64 %2402, i32 4 - %2411 = load i8, ptr %2410, align 8, !range !1079, !noalias !2664, !noundef !14 + %.not.i.i458 = icmp eq i32 %2396, 0 + br i1 %.not.i.i458, label %_ZN15tree_sitter_cli8generate12build_tables4item9ParseItem13associativity17h162631bf723aa0c7E.exit, label %2397 + +2397: ; preds = %2395 + %2398 = load ptr, ptr %.sroa.01.01087, align 8, !alias.scope !2652, !nonnull !14, !align !82, !noundef !14 + %2399 = zext i32 %2396 to i64 + %2400 = add nsw i64 %2399, -1 + %2401 = getelementptr inbounds nuw i8, ptr %2398, i64 16 + %2402 = load i64, ptr %2401, align 8, !alias.scope !2659, !noalias !2662, !noundef !14 + %2403 = icmp ult i64 %2400, %2402 + br i1 %2403, label %2404, label %.invoke1932, !prof !204 + +2404: ; preds = %2397 + %2405 = getelementptr inbounds nuw i8, ptr %2398, i64 8 + %2406 = load ptr, ptr %2405, align 8, !alias.scope !2659, !noalias !2662, !nonnull !14, !noundef !14 + %2407 = getelementptr inbounds [0 x { { i64, [3 x i64] }, { i64, [2 x i64] }, { i64, [2 x i64] }, { i64, i8 }, i8, [7 x i8] }], ptr %2406, i64 0, i64 %2400, i32 2 + %2408 = getelementptr inbounds [0 x { { i64, [3 x i64] }, { i64, [2 x i64] }, { i64, [2 x i64] }, { i64, i8 }, i8, [7 x i8] }], ptr %2406, i64 0, i64 %2400, i32 4 + %2409 = load i8, ptr %2408, align 8, !range !1079, !noalias !2664, !noundef !14 br label %_ZN15tree_sitter_cli8generate12build_tables4item9ParseItem13associativity17h162631bf723aa0c7E.exit -_ZN15tree_sitter_cli8generate12build_tables4item9ParseItem13associativity17h162631bf723aa0c7E.exit: ; preds = %2397, %2406 - %spec.select.i.i400 = phi ptr [ %2409, %2406 ], [ @anon.f4ab2160caa6653ef344418ff3b39bb7.170.llvm.18097807149992804452, %2397 ] - %.0.i462 = phi i8 [ %2411, %2406 ], [ 2, %2397 ] - %2412 = getelementptr inbounds nuw i8, ptr %.sroa.01.01087, i64 24 - invoke void @_ZN15tree_sitter_cli8generate5rules8TokenSet4iter17hd36df5225347388dE(ptr noalias noundef nonnull sret({ { i64, [10 x i64] }, { i64, i8 } }) align 8 captures(none) dereferenceable(104) %179, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %2412) - to label %2413 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit +_ZN15tree_sitter_cli8generate12build_tables4item9ParseItem13associativity17h162631bf723aa0c7E.exit: ; preds = %2395, %2404 + %spec.select.i.i400 = phi ptr [ %2407, %2404 ], [ @anon.f4ab2160caa6653ef344418ff3b39bb7.170.llvm.18097807149992804452, %2395 ] + %.0.i462 = phi i8 [ %2409, %2404 ], [ 2, %2395 ] + %2410 = getelementptr inbounds nuw i8, ptr %.sroa.01.01087, i64 24 + invoke void @_ZN15tree_sitter_cli8generate5rules8TokenSet4iter17hd36df5225347388dE(ptr noalias noundef nonnull sret({ { i64, [10 x i64] }, { i64, i8 } }) align 8 captures(none) dereferenceable(104) %179, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %2410) + to label %2411 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit -2413: ; preds = %_ZN15tree_sitter_cli8generate12build_tables4item9ParseItem13associativity17h162631bf723aa0c7E.exit +2411: ; preds = %_ZN15tree_sitter_cli8generate12build_tables4item9ParseItem13associativity17h162631bf723aa0c7E.exit %.sroa.027.0.copyload = load i64, ptr %179, align 8 %.sroa.729.0.copyload = load i64, ptr %.sroa.729.0..sroa_idx, align 8 %.sroa.9.0.copyload = load i64, ptr %.sroa.9.0..sroa_idx30, align 8 @@ -15097,148 +15095,148 @@ _ZN15tree_sitter_cli8generate12build_tables4item9ParseItem13associativity17h1626 %.sroa.19.0.copyload = load i8, ptr %.sroa.19.0..sroa_idx, align 8 %.sroa.2033.0.copyload = load i64, ptr %.sroa.2033.0..sroa_idx, align 8 %.sroa.21.0.copyload = load i8, ptr %.sroa.21.0..sroa_idx, align 8 - %2414 = inttoptr i64 %.sroa.14.0.copyload to ptr - %2415 = icmp eq i64 %.sroa.14.0.copyload, 0 - %2416 = getelementptr inbounds nuw i8, ptr %spec.select.i.i400, i64 8 - %2417 = icmp eq i8 %.0.i462, 2 + %2412 = inttoptr i64 %.sroa.14.0.copyload to ptr + %2413 = icmp eq i64 %.sroa.14.0.copyload, 0 + %2414 = getelementptr inbounds nuw i8, ptr %spec.select.i.i400, i64 8 + %2415 = icmp eq i8 %.0.i462, 2 %trunc194 = trunc i8 %.0.i462 to i1 br label %.outer -.outer: ; preds = %.outer.backedge, %2413 - %.sroa.027.0.ph = phi i64 [ %.sroa.027.0.copyload, %2413 ], [ %.sroa.027.2412458, %.outer.backedge ] - %.sroa.729.0.ph = phi i64 [ %.sroa.729.0.copyload, %2413 ], [ %.sroa.729.3414457, %.outer.backedge ] - %.sroa.15.0.ph = phi i64 [ %.sroa.15.0.copyload, %2413 ], [ %.sroa.15.4416456, %.outer.backedge ] - %.sroa.17.0.ph = phi i64 [ %.sroa.17.0.copyload, %2413 ], [ %.sroa.17.4418455, %.outer.backedge ] - %.sroa.19.0.ph = phi i8 [ %.sroa.19.0.copyload, %2413 ], [ %.sroa.19.2420454, %.outer.backedge ] - %.sroa.21.0.ph = phi i8 [ %.sroa.21.0.copyload, %2413 ], [ %.sroa.21.1459, %.outer.backedge ] - %.sroa.1232.0.ph = phi i64 [ %.sroa.1232.0.copyload, %2413 ], [ %.sroa.1232.4422453, %.outer.backedge ] - %.sroa.9.0243.ph = phi i64 [ %.sroa.9.0.copyload, %2413 ], [ %.sroa.9.4424452, %.outer.backedge ] - %.sroa.760.2.ph = phi i32 [ %.sroa.760.01088, %2413 ], [ %.sroa.760.3, %.outer.backedge ] - br label %2418 - -2418: ; preds = %.outer, %2531 - %.sroa.027.0 = phi i64 [ %.sroa.027.2412458, %2531 ], [ %.sroa.027.0.ph, %.outer ] - %.sroa.729.0 = phi i64 [ %.sroa.729.3414457, %2531 ], [ %.sroa.729.0.ph, %.outer ] - %.sroa.15.0 = phi i64 [ %.sroa.15.4416456, %2531 ], [ %.sroa.15.0.ph, %.outer ] - %.sroa.17.0 = phi i64 [ %.sroa.17.4418455, %2531 ], [ %.sroa.17.0.ph, %.outer ] - %.sroa.19.0 = phi i8 [ %.sroa.19.2420454, %2531 ], [ %.sroa.19.0.ph, %.outer ] - %.sroa.21.0 = phi i8 [ %.sroa.21.1459, %2531 ], [ %.sroa.21.0.ph, %.outer ] - %.sroa.1232.0 = phi i64 [ %.sroa.1232.4422453, %2531 ], [ %.sroa.1232.0.ph, %.outer ] - %.sroa.9.0243 = phi i64 [ %.sroa.9.4424452, %2531 ], [ %.sroa.9.0243.ph, %.outer ] - %2419 = icmp eq i64 %.sroa.027.0, 2 - br i1 %2419, label %_ZN4core3ops8function6FnOnce9call_once17h4b75a0778e16e091E.exit.thread16.i471, label %2420 - -2420: ; preds = %2418 +.outer: ; preds = %.outer.backedge, %2411 + %.sroa.027.0.ph = phi i64 [ %.sroa.027.0.copyload, %2411 ], [ %.sroa.027.2412458, %.outer.backedge ] + %.sroa.729.0.ph = phi i64 [ %.sroa.729.0.copyload, %2411 ], [ %.sroa.729.3414457, %.outer.backedge ] + %.sroa.15.0.ph = phi i64 [ %.sroa.15.0.copyload, %2411 ], [ %.sroa.15.4416456, %.outer.backedge ] + %.sroa.17.0.ph = phi i64 [ %.sroa.17.0.copyload, %2411 ], [ %.sroa.17.4418455, %.outer.backedge ] + %.sroa.19.0.ph = phi i8 [ %.sroa.19.0.copyload, %2411 ], [ %.sroa.19.2420454, %.outer.backedge ] + %.sroa.21.0.ph = phi i8 [ %.sroa.21.0.copyload, %2411 ], [ %.sroa.21.1459, %.outer.backedge ] + %.sroa.1232.0.ph = phi i64 [ %.sroa.1232.0.copyload, %2411 ], [ %.sroa.1232.4422453, %.outer.backedge ] + %.sroa.9.0243.ph = phi i64 [ %.sroa.9.0.copyload, %2411 ], [ %.sroa.9.4424452, %.outer.backedge ] + %.sroa.760.2.ph = phi i32 [ %.sroa.760.01088, %2411 ], [ %.sroa.760.3, %.outer.backedge ] + br label %2416 + +2416: ; preds = %.outer, %2529 + %.sroa.027.0 = phi i64 [ %.sroa.027.2412458, %2529 ], [ %.sroa.027.0.ph, %.outer ] + %.sroa.729.0 = phi i64 [ %.sroa.729.3414457, %2529 ], [ %.sroa.729.0.ph, %.outer ] + %.sroa.15.0 = phi i64 [ %.sroa.15.4416456, %2529 ], [ %.sroa.15.0.ph, %.outer ] + %.sroa.17.0 = phi i64 [ %.sroa.17.4418455, %2529 ], [ %.sroa.17.0.ph, %.outer ] + %.sroa.19.0 = phi i8 [ %.sroa.19.2420454, %2529 ], [ %.sroa.19.0.ph, %.outer ] + %.sroa.21.0 = phi i8 [ %.sroa.21.1459, %2529 ], [ %.sroa.21.0.ph, %.outer ] + %.sroa.1232.0 = phi i64 [ %.sroa.1232.4422453, %2529 ], [ %.sroa.1232.0.ph, %.outer ] + %.sroa.9.0243 = phi i64 [ %.sroa.9.4424452, %2529 ], [ %.sroa.9.0243.ph, %.outer ] + %2417 = icmp eq i64 %.sroa.027.0, 2 + br i1 %2417, label %_ZN4core3ops8function6FnOnce9call_once17h4b75a0778e16e091E.exit.thread16.i471, label %2418 + +2418: ; preds = %2416 %trunc.i.i.i.i465 = trunc nuw i64 %.sroa.027.0 to i1 - br i1 %trunc.i.i.i.i465, label %2421, label %.cont - -2421: ; preds = %2420 - %2422 = inttoptr i64 %.sroa.729.0 to ptr - %2423 = icmp eq i64 %.sroa.729.0, 0 - br i1 %2423, label %.cont46, label %.preheader532 - -.preheader532: ; preds = %2421, %"_ZN76_$LT$smallbitvec..Iter$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hd1b6a64934494676E.exit.i.i.i.i.i.i.i.i.i.i.i.i483" - %.sroa.1232.1 = phi i64 [ %2445, %"_ZN76_$LT$smallbitvec..Iter$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hd1b6a64934494676E.exit.i.i.i.i.i.i.i.i.i.i.i.i483" ], [ %.sroa.1232.0, %2421 ] - %.sroa.9.1244 = phi i64 [ %2426, %"_ZN76_$LT$smallbitvec..Iter$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hd1b6a64934494676E.exit.i.i.i.i.i.i.i.i.i.i.i.i483" ], [ %.sroa.9.0243, %2421 ] - %2424 = icmp ult i64 %.sroa.9.1244, %.sroa.11.0.copyload - br i1 %2424, label %2425, label %.cont46 - -2425: ; preds = %.preheader532 - %2426 = add nuw i64 %.sroa.9.1244, 1 - %.val.i.i.i.i.i.i.i.i.i.i.i.i.i482 = load i64, ptr %2422, align 8, !noalias !2667, !noundef !14 - %2427 = and i64 %.val.i.i.i.i.i.i.i.i.i.i.i.i.i482, 1 - %2428 = icmp eq i64 %2427, 0 - br i1 %2428, label %2429, label %2433 - -2429: ; preds = %2425 - %2430 = and i64 %.sroa.9.1244, 63 - %2431 = xor i64 %2430, 63 - %2432 = lshr i64 %.val.i.i.i.i.i.i.i.i.i.i.i.i.i482, %2431 + br i1 %trunc.i.i.i.i465, label %2419, label %.cont + +2419: ; preds = %2418 + %2420 = inttoptr i64 %.sroa.729.0 to ptr + %2421 = icmp eq i64 %.sroa.729.0, 0 + br i1 %2421, label %.cont46, label %.preheader532 + +.preheader532: ; preds = %2419, %"_ZN76_$LT$smallbitvec..Iter$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hd1b6a64934494676E.exit.i.i.i.i.i.i.i.i.i.i.i.i483" + %.sroa.1232.1 = phi i64 [ %2443, %"_ZN76_$LT$smallbitvec..Iter$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hd1b6a64934494676E.exit.i.i.i.i.i.i.i.i.i.i.i.i483" ], [ %.sroa.1232.0, %2419 ] + %.sroa.9.1244 = phi i64 [ %2424, %"_ZN76_$LT$smallbitvec..Iter$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hd1b6a64934494676E.exit.i.i.i.i.i.i.i.i.i.i.i.i483" ], [ %.sroa.9.0243, %2419 ] + %2422 = icmp ult i64 %.sroa.9.1244, %.sroa.11.0.copyload + br i1 %2422, label %2423, label %.cont46 + +2423: ; preds = %.preheader532 + %2424 = add nuw i64 %.sroa.9.1244, 1 + %.val.i.i.i.i.i.i.i.i.i.i.i.i.i482 = load i64, ptr %2420, align 8, !noalias !2667, !noundef !14 + %2425 = and i64 %.val.i.i.i.i.i.i.i.i.i.i.i.i.i482, 1 + %2426 = icmp eq i64 %2425, 0 + br i1 %2426, label %2427, label %2431 + +2427: ; preds = %2423 + %2428 = and i64 %.sroa.9.1244, 63 + %2429 = xor i64 %2428, 63 + %2430 = lshr i64 %.val.i.i.i.i.i.i.i.i.i.i.i.i.i482, %2429 br label %"_ZN76_$LT$smallbitvec..Iter$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hd1b6a64934494676E.exit.i.i.i.i.i.i.i.i.i.i.i.i483" -2433: ; preds = %2425 - %2434 = and i64 %.val.i.i.i.i.i.i.i.i.i.i.i.i.i482, -2 - %2435 = inttoptr i64 %2434 to ptr - %2436 = getelementptr inbounds nuw i8, ptr %2435, i64 8 - %2437 = load i64, ptr %2436, align 8, !noalias !2667, !noundef !14 - %2438 = getelementptr inbounds nuw i8, ptr %2435, i64 16 - %2439 = lshr i64 %.sroa.9.1244, 6 - %2440 = and i64 %.sroa.9.1244, 63 - %2441 = icmp ult i64 %2439, %2437 - call void @llvm.assume(i1 %2441) - %2442 = getelementptr inbounds nuw i64, ptr %2438, i64 %2439 - %2443 = load i64, ptr %2442, align 8, !noalias !2667, !noundef !14 - %2444 = lshr i64 %2443, %2440 +2431: ; preds = %2423 + %2432 = and i64 %.val.i.i.i.i.i.i.i.i.i.i.i.i.i482, -2 + %2433 = inttoptr i64 %2432 to ptr + %2434 = getelementptr inbounds nuw i8, ptr %2433, i64 8 + %2435 = load i64, ptr %2434, align 8, !noalias !2667, !noundef !14 + %2436 = getelementptr inbounds nuw i8, ptr %2433, i64 16 + %2437 = lshr i64 %.sroa.9.1244, 6 + %2438 = and i64 %.sroa.9.1244, 63 + %2439 = icmp ult i64 %2437, %2435 + call void @llvm.assume(i1 %2439) + %2440 = getelementptr inbounds nuw i64, ptr %2436, i64 %2437 + %2441 = load i64, ptr %2440, align 8, !noalias !2667, !noundef !14 + %2442 = lshr i64 %2441, %2438 br label %"_ZN76_$LT$smallbitvec..Iter$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hd1b6a64934494676E.exit.i.i.i.i.i.i.i.i.i.i.i.i483" -"_ZN76_$LT$smallbitvec..Iter$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hd1b6a64934494676E.exit.i.i.i.i.i.i.i.i.i.i.i.i483": ; preds = %2433, %2429 - %.0.in.in.i.i.i.i.i.i.i.i.i.i.i.i.i.i484 = phi i64 [ %2432, %2429 ], [ %2444, %2433 ] +"_ZN76_$LT$smallbitvec..Iter$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hd1b6a64934494676E.exit.i.i.i.i.i.i.i.i.i.i.i.i483": ; preds = %2431, %2427 + %.0.in.in.i.i.i.i.i.i.i.i.i.i.i.i.i.i484 = phi i64 [ %2430, %2427 ], [ %2442, %2431 ] %.0.in.i.i.i.i.i.i.i.i.i.i.i.i.i.i485 = trunc i64 %.0.in.in.i.i.i.i.i.i.i.i.i.i.i.i.i.i484 to i1 - %2445 = add i64 %.sroa.1232.1, 1 + %2443 = add i64 %.sroa.1232.1, 1 br i1 %.0.in.i.i.i.i.i.i.i.i.i.i.i.i.i.i485, label %.thread439, label %.preheader532 -.cont46: ; preds = %.preheader532, %2421 - %.sroa.1232.2 = phi i64 [ %.sroa.1232.0, %2421 ], [ %.sroa.1232.1, %.preheader532 ] - %.sroa.9.2245 = phi i64 [ %.sroa.9.0243, %2421 ], [ %.sroa.9.1244, %.preheader532 ] - br i1 %2415, label %.cont, label %.cont38 +.cont46: ; preds = %.preheader532, %2419 + %.sroa.1232.2 = phi i64 [ %.sroa.1232.0, %2419 ], [ %.sroa.1232.1, %.preheader532 ] + %.sroa.9.2245 = phi i64 [ %.sroa.9.0243, %2419 ], [ %.sroa.9.1244, %.preheader532 ] + br i1 %2413, label %.cont, label %.cont38 .cont38: ; preds = %.cont46, %"_ZN76_$LT$smallbitvec..Iter$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hd1b6a64934494676E.exit.i.i.i.i.i.i4.i.i.i.i.i.i479.cont" - %.sroa.15.1 = phi i64 [ %2447, %"_ZN76_$LT$smallbitvec..Iter$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hd1b6a64934494676E.exit.i.i.i.i.i.i4.i.i.i.i.i.i479.cont" ], [ %.sroa.15.0, %.cont46 ] - %.sroa.17.1 = phi i64 [ %2466, %"_ZN76_$LT$smallbitvec..Iter$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hd1b6a64934494676E.exit.i.i.i.i.i.i4.i.i.i.i.i.i479.cont" ], [ %.sroa.17.0, %.cont46 ] - %2446 = icmp ult i64 %.sroa.15.1, %.sroa.16.0.copyload - br i1 %2446, label %.cont43, label %.cont + %.sroa.15.1 = phi i64 [ %2445, %"_ZN76_$LT$smallbitvec..Iter$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hd1b6a64934494676E.exit.i.i.i.i.i.i4.i.i.i.i.i.i479.cont" ], [ %.sroa.15.0, %.cont46 ] + %.sroa.17.1 = phi i64 [ %2464, %"_ZN76_$LT$smallbitvec..Iter$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hd1b6a64934494676E.exit.i.i.i.i.i.i4.i.i.i.i.i.i479.cont" ], [ %.sroa.17.0, %.cont46 ] + %2444 = icmp ult i64 %.sroa.15.1, %.sroa.16.0.copyload + br i1 %2444, label %.cont43, label %.cont .cont43: ; preds = %.cont38 - %2447 = add nuw i64 %.sroa.15.1, 1 - %.val.i.i.i.i.i.i.i3.i.i.i.i.i.i478 = load i64, ptr %2414, align 8, !noalias !2695, !noundef !14 - %2448 = and i64 %.val.i.i.i.i.i.i.i3.i.i.i.i.i.i478, 1 - %2449 = icmp eq i64 %2448, 0 - br i1 %2449, label %2450, label %2454 - -2450: ; preds = %.cont43 - %2451 = and i64 %.sroa.15.1, 63 - %2452 = xor i64 %2451, 63 - %2453 = lshr i64 %.val.i.i.i.i.i.i.i3.i.i.i.i.i.i478, %2452 + %2445 = add nuw i64 %.sroa.15.1, 1 + %.val.i.i.i.i.i.i.i3.i.i.i.i.i.i478 = load i64, ptr %2412, align 8, !noalias !2695, !noundef !14 + %2446 = and i64 %.val.i.i.i.i.i.i.i3.i.i.i.i.i.i478, 1 + %2447 = icmp eq i64 %2446, 0 + br i1 %2447, label %2448, label %2452 + +2448: ; preds = %.cont43 + %2449 = and i64 %.sroa.15.1, 63 + %2450 = xor i64 %2449, 63 + %2451 = lshr i64 %.val.i.i.i.i.i.i.i3.i.i.i.i.i.i478, %2450 br label %"_ZN76_$LT$smallbitvec..Iter$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hd1b6a64934494676E.exit.i.i.i.i.i.i4.i.i.i.i.i.i479.cont" -2454: ; preds = %.cont43 - %2455 = and i64 %.val.i.i.i.i.i.i.i3.i.i.i.i.i.i478, -2 - %2456 = inttoptr i64 %2455 to ptr - %2457 = getelementptr inbounds nuw i8, ptr %2456, i64 8 - %2458 = load i64, ptr %2457, align 8, !noalias !2695, !noundef !14 - %2459 = getelementptr inbounds nuw i8, ptr %2456, i64 16 - %2460 = lshr i64 %.sroa.15.1, 6 - %2461 = and i64 %.sroa.15.1, 63 - %2462 = icmp ult i64 %2460, %2458 - call void @llvm.assume(i1 %2462) - %2463 = getelementptr inbounds nuw i64, ptr %2459, i64 %2460 - %2464 = load i64, ptr %2463, align 8, !noalias !2695, !noundef !14 - %2465 = lshr i64 %2464, %2461 +2452: ; preds = %.cont43 + %2453 = and i64 %.val.i.i.i.i.i.i.i3.i.i.i.i.i.i478, -2 + %2454 = inttoptr i64 %2453 to ptr + %2455 = getelementptr inbounds nuw i8, ptr %2454, i64 8 + %2456 = load i64, ptr %2455, align 8, !noalias !2695, !noundef !14 + %2457 = getelementptr inbounds nuw i8, ptr %2454, i64 16 + %2458 = lshr i64 %.sroa.15.1, 6 + %2459 = and i64 %.sroa.15.1, 63 + %2460 = icmp ult i64 %2458, %2456 + call void @llvm.assume(i1 %2460) + %2461 = getelementptr inbounds nuw i64, ptr %2457, i64 %2458 + %2462 = load i64, ptr %2461, align 8, !noalias !2695, !noundef !14 + %2463 = lshr i64 %2462, %2459 br label %"_ZN76_$LT$smallbitvec..Iter$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hd1b6a64934494676E.exit.i.i.i.i.i.i4.i.i.i.i.i.i479.cont" -"_ZN76_$LT$smallbitvec..Iter$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hd1b6a64934494676E.exit.i.i.i.i.i.i4.i.i.i.i.i.i479.cont": ; preds = %2454, %2450 - %.0.in.in.i.i.i.i.i.i.i.i5.i.i.i.i.i.i480 = phi i64 [ %2453, %2450 ], [ %2465, %2454 ] +"_ZN76_$LT$smallbitvec..Iter$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hd1b6a64934494676E.exit.i.i.i.i.i.i4.i.i.i.i.i.i479.cont": ; preds = %2452, %2448 + %.0.in.in.i.i.i.i.i.i.i.i5.i.i.i.i.i.i480 = phi i64 [ %2451, %2448 ], [ %2463, %2452 ] %.0.in.i.i.i.i.i.i.i.i6.i.i.i.i.i.i481 = trunc i64 %.0.in.in.i.i.i.i.i.i.i.i5.i.i.i.i.i.i480 to i1 - %2466 = add i64 %.sroa.17.1, 1 + %2464 = add i64 %.sroa.17.1, 1 br i1 %.0.in.i.i.i.i.i.i.i.i6.i.i.i.i.i.i481, label %.thread439, label %.cont38 -.cont: ; preds = %.cont38, %2420, %.cont46 - %.sroa.027.1 = phi i64 [ %.sroa.027.0, %2420 ], [ 0, %.cont46 ], [ 0, %.cont38 ] - %.sroa.729.2 = phi i64 [ %.sroa.729.0, %2420 ], [ 0, %.cont46 ], [ 0, %.cont38 ] - %.sroa.15.3 = phi i64 [ %.sroa.15.0, %2420 ], [ %.sroa.15.0, %.cont46 ], [ %.sroa.15.1, %.cont38 ] - %.sroa.17.3 = phi i64 [ %.sroa.17.0, %2420 ], [ %.sroa.17.0, %.cont46 ], [ %.sroa.17.1, %.cont38 ] - %.sroa.1232.3 = phi i64 [ %.sroa.1232.0, %2420 ], [ %.sroa.1232.2, %.cont46 ], [ %.sroa.1232.2, %.cont38 ] - %.sroa.9.3 = phi i64 [ %.sroa.9.0243, %2420 ], [ %.sroa.9.2245, %.cont46 ], [ %.sroa.9.2245, %.cont38 ] +.cont: ; preds = %.cont38, %2418, %.cont46 + %.sroa.027.1 = phi i64 [ %.sroa.027.0, %2418 ], [ 0, %.cont46 ], [ 0, %.cont38 ] + %.sroa.729.2 = phi i64 [ %.sroa.729.0, %2418 ], [ 0, %.cont46 ], [ 0, %.cont38 ] + %.sroa.15.3 = phi i64 [ %.sroa.15.0, %2418 ], [ %.sroa.15.0, %.cont46 ], [ %.sroa.15.1, %.cont38 ] + %.sroa.17.3 = phi i64 [ %.sroa.17.0, %2418 ], [ %.sroa.17.0, %.cont46 ], [ %.sroa.17.1, %.cont38 ] + %.sroa.1232.3 = phi i64 [ %.sroa.1232.0, %2418 ], [ %.sroa.1232.2, %.cont46 ], [ %.sroa.1232.2, %.cont38 ] + %.sroa.9.3 = phi i64 [ %.sroa.9.0243, %2418 ], [ %.sroa.9.2245, %.cont46 ], [ %.sroa.9.2245, %.cont38 ] %.sroa.19.0.off = add i8 %.sroa.19.0, -5 %switch2228 = icmp ult i8 %.sroa.19.0.off, 2 br i1 %switch2228, label %_ZN4core3ops8function6FnOnce9call_once17h4b75a0778e16e091E.exit.thread16.i471, label %.thread439 -_ZN4core3ops8function6FnOnce9call_once17h4b75a0778e16e091E.exit.thread16.i471: ; preds = %.cont, %2418 - %.sroa.729.3.ph = phi i64 [ %.sroa.729.0, %2418 ], [ %.sroa.729.2, %.cont ] - %.sroa.15.4.ph = phi i64 [ %.sroa.15.0, %2418 ], [ %.sroa.15.3, %.cont ] - %.sroa.17.4.ph = phi i64 [ %.sroa.17.0, %2418 ], [ %.sroa.17.3, %.cont ] - %.sroa.1232.4.ph = phi i64 [ %.sroa.1232.0, %2418 ], [ %.sroa.1232.3, %.cont ] - %.sroa.9.4.ph = phi i64 [ %.sroa.9.0243, %2418 ], [ %.sroa.9.3, %.cont ] +_ZN4core3ops8function6FnOnce9call_once17h4b75a0778e16e091E.exit.thread16.i471: ; preds = %.cont, %2416 + %.sroa.729.3.ph = phi i64 [ %.sroa.729.0, %2416 ], [ %.sroa.729.2, %.cont ] + %.sroa.15.4.ph = phi i64 [ %.sroa.15.0, %2416 ], [ %.sroa.15.3, %.cont ] + %.sroa.17.4.ph = phi i64 [ %.sroa.17.0, %2416 ], [ %.sroa.17.3, %.cont ] + %.sroa.1232.4.ph = phi i64 [ %.sroa.1232.0, %2416 ], [ %.sroa.1232.3, %.cont ] + %.sroa.9.4.ph = phi i64 [ %.sroa.9.0243, %2416 ], [ %.sroa.9.3, %.cont ] %.sroa.21.0.off = add i8 %.sroa.21.0, -5 %switch482 = icmp ult i8 %.sroa.21.0.off, 2 br i1 %switch482, label %.thread426, label %.thread439 @@ -15249,51 +15247,51 @@ _ZN4core3ops8function6FnOnce9call_once17h4b75a0778e16e091E.exit.thread16.i471: ; %.sroa.21.1459 = phi i8 [ %.sroa.21.0, %.cont ], [ 5, %_ZN4core3ops8function6FnOnce9call_once17h4b75a0778e16e091E.exit.thread16.i471 ], [ %.sroa.21.0, %"_ZN76_$LT$smallbitvec..Iter$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hd1b6a64934494676E.exit.i.i.i.i.i.i4.i.i.i.i.i.i479.cont" ], [ %.sroa.21.0, %"_ZN76_$LT$smallbitvec..Iter$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hd1b6a64934494676E.exit.i.i.i.i.i.i.i.i.i.i.i.i483" ] %.sroa.027.2412458 = phi i64 [ %.sroa.027.1, %.cont ], [ 2, %_ZN4core3ops8function6FnOnce9call_once17h4b75a0778e16e091E.exit.thread16.i471 ], [ %.sroa.027.0, %"_ZN76_$LT$smallbitvec..Iter$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hd1b6a64934494676E.exit.i.i.i.i.i.i4.i.i.i.i.i.i479.cont" ], [ %.sroa.027.0, %"_ZN76_$LT$smallbitvec..Iter$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hd1b6a64934494676E.exit.i.i.i.i.i.i.i.i.i.i.i.i483" ] %.sroa.729.3414457 = phi i64 [ %.sroa.729.2, %.cont ], [ %.sroa.729.3.ph, %_ZN4core3ops8function6FnOnce9call_once17h4b75a0778e16e091E.exit.thread16.i471 ], [ 0, %"_ZN76_$LT$smallbitvec..Iter$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hd1b6a64934494676E.exit.i.i.i.i.i.i4.i.i.i.i.i.i479.cont" ], [ %.sroa.729.0, %"_ZN76_$LT$smallbitvec..Iter$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hd1b6a64934494676E.exit.i.i.i.i.i.i.i.i.i.i.i.i483" ] - %.sroa.15.4416456 = phi i64 [ %.sroa.15.3, %.cont ], [ %.sroa.15.4.ph, %_ZN4core3ops8function6FnOnce9call_once17h4b75a0778e16e091E.exit.thread16.i471 ], [ %2447, %"_ZN76_$LT$smallbitvec..Iter$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hd1b6a64934494676E.exit.i.i.i.i.i.i4.i.i.i.i.i.i479.cont" ], [ %.sroa.15.0, %"_ZN76_$LT$smallbitvec..Iter$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hd1b6a64934494676E.exit.i.i.i.i.i.i.i.i.i.i.i.i483" ] - %.sroa.17.4418455 = phi i64 [ %.sroa.17.3, %.cont ], [ %.sroa.17.4.ph, %_ZN4core3ops8function6FnOnce9call_once17h4b75a0778e16e091E.exit.thread16.i471 ], [ %2466, %"_ZN76_$LT$smallbitvec..Iter$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hd1b6a64934494676E.exit.i.i.i.i.i.i4.i.i.i.i.i.i479.cont" ], [ %.sroa.17.0, %"_ZN76_$LT$smallbitvec..Iter$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hd1b6a64934494676E.exit.i.i.i.i.i.i.i.i.i.i.i.i483" ] + %.sroa.15.4416456 = phi i64 [ %.sroa.15.3, %.cont ], [ %.sroa.15.4.ph, %_ZN4core3ops8function6FnOnce9call_once17h4b75a0778e16e091E.exit.thread16.i471 ], [ %2445, %"_ZN76_$LT$smallbitvec..Iter$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hd1b6a64934494676E.exit.i.i.i.i.i.i4.i.i.i.i.i.i479.cont" ], [ %.sroa.15.0, %"_ZN76_$LT$smallbitvec..Iter$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hd1b6a64934494676E.exit.i.i.i.i.i.i.i.i.i.i.i.i483" ] + %.sroa.17.4418455 = phi i64 [ %.sroa.17.3, %.cont ], [ %.sroa.17.4.ph, %_ZN4core3ops8function6FnOnce9call_once17h4b75a0778e16e091E.exit.thread16.i471 ], [ %2464, %"_ZN76_$LT$smallbitvec..Iter$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hd1b6a64934494676E.exit.i.i.i.i.i.i4.i.i.i.i.i.i479.cont" ], [ %.sroa.17.0, %"_ZN76_$LT$smallbitvec..Iter$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hd1b6a64934494676E.exit.i.i.i.i.i.i.i.i.i.i.i.i483" ] %.sroa.19.2420454 = phi i8 [ 5, %.cont ], [ %.sroa.19.0, %_ZN4core3ops8function6FnOnce9call_once17h4b75a0778e16e091E.exit.thread16.i471 ], [ %.sroa.19.0, %"_ZN76_$LT$smallbitvec..Iter$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hd1b6a64934494676E.exit.i.i.i.i.i.i4.i.i.i.i.i.i479.cont" ], [ %.sroa.19.0, %"_ZN76_$LT$smallbitvec..Iter$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hd1b6a64934494676E.exit.i.i.i.i.i.i.i.i.i.i.i.i483" ] - %.sroa.1232.4422453 = phi i64 [ %.sroa.1232.3, %.cont ], [ %.sroa.1232.4.ph, %_ZN4core3ops8function6FnOnce9call_once17h4b75a0778e16e091E.exit.thread16.i471 ], [ %.sroa.1232.2, %"_ZN76_$LT$smallbitvec..Iter$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hd1b6a64934494676E.exit.i.i.i.i.i.i4.i.i.i.i.i.i479.cont" ], [ %2445, %"_ZN76_$LT$smallbitvec..Iter$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hd1b6a64934494676E.exit.i.i.i.i.i.i.i.i.i.i.i.i483" ] - %.sroa.9.4424452 = phi i64 [ %.sroa.9.3, %.cont ], [ %.sroa.9.4.ph, %_ZN4core3ops8function6FnOnce9call_once17h4b75a0778e16e091E.exit.thread16.i471 ], [ %.sroa.9.2245, %"_ZN76_$LT$smallbitvec..Iter$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hd1b6a64934494676E.exit.i.i.i.i.i.i4.i.i.i.i.i.i479.cont" ], [ %2426, %"_ZN76_$LT$smallbitvec..Iter$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hd1b6a64934494676E.exit.i.i.i.i.i.i.i.i.i.i.i.i483" ] + %.sroa.1232.4422453 = phi i64 [ %.sroa.1232.3, %.cont ], [ %.sroa.1232.4.ph, %_ZN4core3ops8function6FnOnce9call_once17h4b75a0778e16e091E.exit.thread16.i471 ], [ %.sroa.1232.2, %"_ZN76_$LT$smallbitvec..Iter$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hd1b6a64934494676E.exit.i.i.i.i.i.i4.i.i.i.i.i.i479.cont" ], [ %2443, %"_ZN76_$LT$smallbitvec..Iter$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hd1b6a64934494676E.exit.i.i.i.i.i.i.i.i.i.i.i.i483" ] + %.sroa.9.4424452 = phi i64 [ %.sroa.9.3, %.cont ], [ %.sroa.9.4.ph, %_ZN4core3ops8function6FnOnce9call_once17h4b75a0778e16e091E.exit.thread16.i471 ], [ %.sroa.9.2245, %"_ZN76_$LT$smallbitvec..Iter$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hd1b6a64934494676E.exit.i.i.i.i.i.i4.i.i.i.i.i.i479.cont" ], [ %2424, %"_ZN76_$LT$smallbitvec..Iter$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hd1b6a64934494676E.exit.i.i.i.i.i.i.i.i.i.i.i.i483" ] call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %178) %.val224 = load i64, ptr %240, align 8, !noundef !14 - %2467 = icmp ult i64 %3, %.val224 - br i1 %2467, label %2468, label %.invoke1932, !prof !204 + %2465 = icmp ult i64 %3, %.val224 + br i1 %2465, label %2466, label %.invoke1932, !prof !204 -2468: ; preds = %.thread439 +2466: ; preds = %.thread439 %.val223 = load ptr, ptr %241, align 8, !nonnull !14, !noundef !14 - %2469 = getelementptr inbounds [0 x { { { { { i64, ptr }, i64 }, { { ptr, i64, i64, i64 }, {}, {} } }, { {} } }, { { { { i64, ptr }, i64 }, { { ptr, i64, i64, i64 }, {}, {} } }, { {} } }, i64, i64, i64, i64 }], ptr %.val223, i64 0, i64 %3 - %2470 = zext nneg i8 %.sroa.2.0.i.pn.i489461 to i64 - %2471 = mul i64 %2470, 5871781006564002453 - %2472 = call i64 @llvm.fshl.i64(i64 %2471, i64 %2471, i64 5) - %2473 = xor i64 %2472, %.sroa.0.0.i.pn.i488460 - %2474 = mul i64 %2473, 5871781006564002453 - invoke void @"_ZN8indexmap3map4core5entry64_$LT$impl$u20$indexmap..map..core..IndexMapCore$LT$K$C$V$GT$$GT$5entry17h3ec7757540be6419E"(ptr noalias noundef nonnull sret({ [24 x i8], i8, [7 x i8] }) align 8 captures(none) dereferenceable(32) %178, ptr noalias noundef nonnull align 8 dereferenceable(56) %2469, i64 noundef %2474, i64 noundef %.sroa.0.0.i.pn.i488460, i8 noundef %.sroa.2.0.i.pn.i489461) + %2467 = getelementptr inbounds [0 x { { { { { i64, ptr }, i64 }, { { ptr, i64, i64, i64 }, {}, {} } }, { {} } }, { { { { i64, ptr }, i64 }, { { ptr, i64, i64, i64 }, {}, {} } }, { {} } }, i64, i64, i64, i64 }], ptr %.val223, i64 0, i64 %3 + %2468 = zext nneg i8 %.sroa.2.0.i.pn.i489461 to i64 + %2469 = mul i64 %2468, 5871781006564002453 + %2470 = call i64 @llvm.fshl.i64(i64 %2469, i64 %2469, i64 5) + %2471 = xor i64 %2470, %.sroa.0.0.i.pn.i488460 + %2472 = mul i64 %2471, 5871781006564002453 + invoke void @"_ZN8indexmap3map4core5entry64_$LT$impl$u20$indexmap..map..core..IndexMapCore$LT$K$C$V$GT$$GT$5entry17h3ec7757540be6419E"(ptr noalias noundef nonnull sret({ [24 x i8], i8, [7 x i8] }) align 8 captures(none) dereferenceable(32) %178, ptr noalias noundef nonnull align 8 dereferenceable(56) %2467, i64 noundef %2472, i64 noundef %.sroa.0.0.i.pn.i488460, i8 noundef %.sroa.2.0.i.pn.i489461) to label %"_ZN8indexmap3map25IndexMap$LT$K$C$V$C$S$GT$5entry17h7dbe78f66ea307a4E.exit496" unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.loopexit -"_ZN8indexmap3map25IndexMap$LT$K$C$V$C$S$GT$5entry17h7dbe78f66ea307a4E.exit496": ; preds = %2468 +"_ZN8indexmap3map25IndexMap$LT$K$C$V$C$S$GT$5entry17h7dbe78f66ea307a4E.exit496": ; preds = %2466 call void @llvm.experimental.noalias.scope.decl(metadata !2711) - %2475 = load i8, ptr %242, align 8, !range !638, !alias.scope !2711, !noundef !14 - %2476 = icmp eq i8 %2475, 5 - %2477 = load ptr, ptr %243, align 8, !alias.scope !2711, !nonnull !14, !noundef !14 - br i1 %2476, label %2478, label %2488 + %2473 = load i8, ptr %242, align 8, !range !638, !alias.scope !2711, !noundef !14 + %2474 = icmp eq i8 %2473, 5 + %2475 = load ptr, ptr %243, align 8, !alias.scope !2711, !nonnull !14, !noundef !14 + br i1 %2474, label %2476, label %2486 -2478: ; preds = %"_ZN8indexmap3map25IndexMap$LT$K$C$V$C$S$GT$5entry17h7dbe78f66ea307a4E.exit496" - %2479 = load ptr, ptr %178, align 8, !alias.scope !2711, !nonnull !14, !align !82, !noundef !14 +2476: ; preds = %"_ZN8indexmap3map25IndexMap$LT$K$C$V$C$S$GT$5entry17h7dbe78f66ea307a4E.exit496" + %2477 = load ptr, ptr %178, align 8, !alias.scope !2711, !nonnull !14, !align !82, !noundef !14 call void @llvm.experimental.noalias.scope.decl(metadata !2714) - %2480 = getelementptr inbounds i8, ptr %2477, i64 -8 - %2481 = load i64, ptr %2480, align 8, !noalias !2717, !noundef !14 - %2482 = getelementptr inbounds nuw i8, ptr %2479, i64 16 - %2483 = load i64, ptr %2482, align 8, !alias.scope !2718, !noalias !2721, !noundef !14 - %2484 = icmp ult i64 %2481, %2483 - br i1 %2484, label %"_ZN8indexmap3map4core5entry26OccupiedEntry$LT$K$C$V$GT$8into_mut17h36e6138cdcc26ef0E.llvm.13013766950239737229.exit.i504", label %.invoke1932, !prof !204 - -"_ZN8indexmap3map4core5entry26OccupiedEntry$LT$K$C$V$GT$8into_mut17h36e6138cdcc26ef0E.llvm.13013766950239737229.exit.i504": ; preds = %2478 - %2485 = getelementptr inbounds nuw i8, ptr %2479, i64 8 - %2486 = load ptr, ptr %2485, align 8, !alias.scope !2718, !noalias !2721, !nonnull !14, !noundef !14 - %2487 = getelementptr inbounds [0 x { { { { i64, ptr }, i64 }, i8, [7 x i8] }, { i64, i8 }, i64 }], ptr %2486, i64 0, i64 %2481 + %2478 = getelementptr inbounds i8, ptr %2475, i64 -8 + %2479 = load i64, ptr %2478, align 8, !noalias !2717, !noundef !14 + %2480 = getelementptr inbounds nuw i8, ptr %2477, i64 16 + %2481 = load i64, ptr %2480, align 8, !alias.scope !2718, !noalias !2721, !noundef !14 + %2482 = icmp ult i64 %2479, %2481 + br i1 %2482, label %"_ZN8indexmap3map4core5entry26OccupiedEntry$LT$K$C$V$GT$8into_mut17h36e6138cdcc26ef0E.llvm.13013766950239737229.exit.i504", label %.invoke1932, !prof !204 + +"_ZN8indexmap3map4core5entry26OccupiedEntry$LT$K$C$V$GT$8into_mut17h36e6138cdcc26ef0E.llvm.13013766950239737229.exit.i504": ; preds = %2476 + %2483 = getelementptr inbounds nuw i8, ptr %2477, i64 8 + %2484 = load ptr, ptr %2483, align 8, !alias.scope !2718, !noalias !2721, !nonnull !14, !noundef !14 + %2485 = getelementptr inbounds [0 x { { { { i64, ptr }, i64 }, i8, [7 x i8] }, { i64, i8 }, i64 }], ptr %2484, i64 0, i64 %2479 br label %"_ZN8indexmap3map4core5entry18Entry$LT$K$C$V$GT$14or_insert_with17h022089156c9e195aE.exit508" -2488: ; preds = %"_ZN8indexmap3map25IndexMap$LT$K$C$V$C$S$GT$5entry17h7dbe78f66ea307a4E.exit496" +2486: ; preds = %"_ZN8indexmap3map25IndexMap$LT$K$C$V$C$S$GT$5entry17h7dbe78f66ea307a4E.exit496" %.sroa.02.0.copyload.i497 = load i64, ptr %178, align 8, !alias.scope !2711 %.sroa.54.0.copyload.i499 = load i64, ptr %.sroa.54.0..sroa_idx.i498, align 8, !alias.scope !2711 call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %37), !noalias !2711 @@ -15301,41 +15299,41 @@ _ZN4core3ops8function6FnOnce9call_once17h4b75a0778e16e091E.exit.thread16.i471: ; store ptr inttoptr (i64 8 to ptr), ptr %.sroa.4.0..sroa_idx.i.i.i500, align 8, !alias.scope !2723, !noalias !2711 store i64 0, ptr %.sroa.5.0..sroa_idx.i.i.i501, align 8, !alias.scope !2723, !noalias !2711 store i8 1, ptr %244, align 8, !alias.scope !2723, !noalias !2711 - %2489 = invoke noundef i64 @"_ZN8indexmap3map4core25IndexMapCore$LT$K$C$V$GT$13insert_unique17h83de7fb54998dc0aE"(ptr noalias noundef nonnull align 8 dereferenceable(56) %2477, i64 noundef %.sroa.02.0.copyload.i497, i64 noundef %.sroa.54.0.copyload.i499, i8 noundef %2475, ptr noalias noundef nonnull align 8 captures(none) dereferenceable(32) %37) + %2487 = invoke noundef i64 @"_ZN8indexmap3map4core25IndexMapCore$LT$K$C$V$GT$13insert_unique17h83de7fb54998dc0aE"(ptr noalias noundef nonnull align 8 dereferenceable(56) %2475, i64 noundef %.sroa.02.0.copyload.i497, i64 noundef %.sroa.54.0.copyload.i499, i8 noundef %2473, ptr noalias noundef nonnull align 8 captures(none) dereferenceable(32) %37) to label %.noexc506 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.loopexit -.noexc506: ; preds = %2488 - %2490 = getelementptr inbounds nuw i8, ptr %2477, i64 16 - %2491 = load i64, ptr %2490, align 8, !alias.scope !2728, !noalias !2731, !noundef !14 - %2492 = icmp ult i64 %2489, %2491 - br i1 %2492, label %"_ZN8indexmap3map4core5entry24VacantEntry$LT$K$C$V$GT$6insert17h67da38960209a3f8E.llvm.13013766950239737229.exit.i502", label %.invoke1932, !prof !204 +.noexc506: ; preds = %2486 + %2488 = getelementptr inbounds nuw i8, ptr %2475, i64 16 + %2489 = load i64, ptr %2488, align 8, !alias.scope !2728, !noalias !2731, !noundef !14 + %2490 = icmp ult i64 %2487, %2489 + br i1 %2490, label %"_ZN8indexmap3map4core5entry24VacantEntry$LT$K$C$V$GT$6insert17h67da38960209a3f8E.llvm.13013766950239737229.exit.i502", label %.invoke1932, !prof !204 "_ZN8indexmap3map4core5entry24VacantEntry$LT$K$C$V$GT$6insert17h67da38960209a3f8E.llvm.13013766950239737229.exit.i502": ; preds = %.noexc506 - %2493 = getelementptr inbounds nuw i8, ptr %2477, i64 8 - %2494 = load ptr, ptr %2493, align 8, !alias.scope !2728, !noalias !2731, !nonnull !14, !noundef !14 - %2495 = getelementptr inbounds [0 x { { { { i64, ptr }, i64 }, i8, [7 x i8] }, { i64, i8 }, i64 }], ptr %2494, i64 0, i64 %2489 + %2491 = getelementptr inbounds nuw i8, ptr %2475, i64 8 + %2492 = load ptr, ptr %2491, align 8, !alias.scope !2728, !noalias !2731, !nonnull !14, !noundef !14 + %2493 = getelementptr inbounds [0 x { { { { i64, ptr }, i64 }, i8, [7 x i8] }, { i64, i8 }, i64 }], ptr %2492, i64 0, i64 %2487 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %37), !noalias !2711 br label %"_ZN8indexmap3map4core5entry18Entry$LT$K$C$V$GT$14or_insert_with17h022089156c9e195aE.exit508" "_ZN8indexmap3map4core5entry18Entry$LT$K$C$V$GT$14or_insert_with17h022089156c9e195aE.exit508": ; preds = %"_ZN8indexmap3map4core5entry24VacantEntry$LT$K$C$V$GT$6insert17h67da38960209a3f8E.llvm.13013766950239737229.exit.i502", %"_ZN8indexmap3map4core5entry26OccupiedEntry$LT$K$C$V$GT$8into_mut17h36e6138cdcc26ef0E.llvm.13013766950239737229.exit.i504" - %.0.i503 = phi ptr [ %2495, %"_ZN8indexmap3map4core5entry24VacantEntry$LT$K$C$V$GT$6insert17h67da38960209a3f8E.llvm.13013766950239737229.exit.i502" ], [ %2487, %"_ZN8indexmap3map4core5entry26OccupiedEntry$LT$K$C$V$GT$8into_mut17h36e6138cdcc26ef0E.llvm.13013766950239737229.exit.i504" ] + %.0.i503 = phi ptr [ %2493, %"_ZN8indexmap3map4core5entry24VacantEntry$LT$K$C$V$GT$6insert17h67da38960209a3f8E.llvm.13013766950239737229.exit.i502" ], [ %2485, %"_ZN8indexmap3map4core5entry26OccupiedEntry$LT$K$C$V$GT$8into_mut17h36e6138cdcc26ef0E.llvm.13013766950239737229.exit.i504" ] call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %178) call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %160) invoke void @"_ZN9hashbrown11rustc_entry62_$LT$impl$u20$hashbrown..map..HashMap$LT$K$C$V$C$S$C$A$GT$$GT$11rustc_entry17hfd9dfc9263ee520dE"(ptr noalias noundef nonnull sret({ i64, [4 x i64] }) align 8 captures(none) dereferenceable(40) %160, ptr noalias noundef nonnull align 8 dereferenceable(48) %184, i64 noundef %.sroa.0.0.i.pn.i488460, i8 noundef %.sroa.2.0.i.pn.i489461) - to label %2496 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.loopexit + to label %2494 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.loopexit -2496: ; preds = %"_ZN8indexmap3map4core5entry18Entry$LT$K$C$V$GT$14or_insert_with17h022089156c9e195aE.exit508" - %2497 = load i64, ptr %160, align 8, !range !86, !noundef !14 - %trunc = trunc nuw i64 %2497 to i1 +2494: ; preds = %"_ZN8indexmap3map4core5entry18Entry$LT$K$C$V$GT$14or_insert_with17h022089156c9e195aE.exit508" + %2495 = load i64, ptr %160, align 8, !range !86, !noundef !14 + %trunc = trunc nuw i64 %2495 to i1 %.sroa.0207.0.copyload = load i64, ptr %245, align 8 - br i1 %trunc, label %2500, label %2498 + br i1 %trunc, label %2498, label %2496 -2498: ; preds = %2496 +2496: ; preds = %2494 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %160) - %2499 = inttoptr i64 %.sroa.0207.0.copyload to ptr - br label %2502 + %2497 = inttoptr i64 %.sroa.0207.0.copyload to ptr + br label %2500 -2500: ; preds = %2496 +2498: ; preds = %2494 %.sroa.4208.0.copyload = load ptr, ptr %.sroa.4208.0..sroa_idx, align 8, !nonnull !14, !noundef !14 %.sroa.5209.0.copyload = load i64, ptr %.sroa.5209.0..sroa_idx, align 8 %.sroa.6210.0.copyload = load i8, ptr %.sroa.6210.0..sroa_idx, align 8 @@ -15350,187 +15348,187 @@ _ZN4core3ops8function6FnOnce9call_once17h4b75a0778e16e091E.exit.thread16.i471: ; store i8 0, ptr %.sroa.75.0..sroa_idx.i, align 8, !noalias !2742 store i8 0, ptr %.sroa.8.0..sroa_idx.i515, align 1, !noalias !2742 store i8 0, ptr %.sroa.9.0..sroa_idx.i, align 2, !noalias !2742 - %2501 = invoke noundef nonnull ptr @"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$14insert_no_grow17hafb1f5621733fc9cE"(ptr noalias noundef nonnull align 8 dereferenceable(32) %.sroa.4208.0.copyload, i64 noundef %.sroa.0207.0.copyload, ptr noalias noundef nonnull align 8 captures(none) dereferenceable(72) %36) + %2499 = invoke noundef nonnull ptr @"_ZN9hashbrown3raw21RawTable$LT$T$C$A$GT$14insert_no_grow17hafb1f5621733fc9cE"(ptr noalias noundef nonnull align 8 dereferenceable(32) %.sroa.4208.0.copyload, i64 noundef %.sroa.0207.0.copyload, ptr noalias noundef nonnull align 8 captures(none) dereferenceable(72) %36) to label %.noexc516 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.loopexit -.noexc516: ; preds = %2500 +.noexc516: ; preds = %2498 call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %36), !noalias !2736 - br label %2502 + br label %2500 -2502: ; preds = %.noexc516, %2498 - %.pn.i510 = phi ptr [ %2501, %.noexc516 ], [ %2499, %2498 ] - %2503 = getelementptr inbounds nuw i8, ptr %.0.i503, i64 16 - %2504 = load i64, ptr %2503, align 8, !noundef !14 - %2505 = icmp eq i64 %2504, 0 - br i1 %2505, label %2506, label %2511 +2500: ; preds = %.noexc516, %2496 + %.pn.i510 = phi ptr [ %2499, %.noexc516 ], [ %2497, %2496 ] + %2501 = getelementptr inbounds nuw i8, ptr %.0.i503, i64 16 + %2502 = load i64, ptr %2501, align 8, !noundef !14 + %2503 = icmp eq i64 %2502, 0 + br i1 %2503, label %2504, label %2509 -2506: ; preds = %2502 - %2507 = getelementptr inbounds nuw i8, ptr %.0.i503, i64 16 +2504: ; preds = %2500 + %2505 = getelementptr inbounds nuw i8, ptr %.0.i503, i64 16 %.0.i511.le1083 = getelementptr inbounds i8, ptr %.pn.i510, i64 -56 - %2508 = load i64, ptr %.0.i503, align 8, !alias.scope !2743, !noalias !2746, !noundef !14 - %2509 = icmp eq i64 %2508, 0 - br i1 %2509, label %2510, label %2519 + %2506 = load i64, ptr %.0.i503, align 8, !alias.scope !2743, !noalias !2746, !noundef !14 + %2507 = icmp eq i64 %2506, 0 + br i1 %2507, label %2508, label %2517 -2510: ; preds = %2506 +2508: ; preds = %2504 invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$16reserve_for_push17h1cfe722fbfcf91a1E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %.0.i503, i64 noundef 0) to label %.noexc518 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.loopexit.split-lp -.noexc518: ; preds = %2510 - %.pre.i517 = load i64, ptr %2507, align 8, !alias.scope !2743, !noalias !2746 - br label %2519 +.noexc518: ; preds = %2508 + %.pre.i517 = load i64, ptr %2505, align 8, !alias.scope !2743, !noalias !2746 + br label %2517 -2511: ; preds = %2502 - %2512 = load ptr, ptr %213, align 8, !nonnull !14, !align !82, !noundef !14 +2509: ; preds = %2500 + %2510 = load ptr, ptr %213, align 8, !nonnull !14, !align !82, !noundef !14 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %177) - store i64 %2063, ptr %177, align 8 + store i64 %2061, ptr %177, align 8 store i8 4, ptr %248, align 8 - %2513 = getelementptr inbounds i8, ptr %.pn.i510, i64 -32 - %2514 = getelementptr inbounds i8, ptr %.pn.i510, i64 -48 - %2515 = load ptr, ptr %2514, align 8, !nonnull !14, !noundef !14 - %2516 = getelementptr inbounds i8, ptr %.pn.i510, i64 -40 - %2517 = load i64, ptr %2516, align 8, !noundef !14 - %2518 = invoke fastcc noundef i8 @_ZN15tree_sitter_cli8generate12build_tables17build_parse_table17ParseTableBuilder18compare_precedence17h91294802838a9eb5E(ptr noalias noundef readonly align 8 dereferenceable(184) %2512, ptr noalias noundef readonly align 8 dereferenceable(24) %spec.select.i.i400, ptr noalias noundef nonnull readonly align 8 %177, ptr noalias noundef readonly align 8 dereferenceable(24) %2513, ptr noalias noundef nonnull readonly align 8 %2515, i64 noundef %2517) - to label %2530 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.loopexit - -2519: ; preds = %.noexc518, %2506 - %2520 = phi i64 [ %.pre.i517, %.noexc518 ], [ 0, %2506 ] - %2521 = getelementptr inbounds nuw i8, ptr %.0.i503, i64 8 - %2522 = load ptr, ptr %2521, align 8, !alias.scope !2743, !noalias !2746, !nonnull !14, !noundef !14 - %2523 = getelementptr inbounds { i8, [39 x i8] }, ptr %2522, i64 %2520 - store i8 %.sroa.07.0, ptr %2523, align 8 - %.sroa.4.0..sroa_idx = getelementptr inbounds nuw i8, ptr %2523, i64 1 + %2511 = getelementptr inbounds i8, ptr %.pn.i510, i64 -32 + %2512 = getelementptr inbounds i8, ptr %.pn.i510, i64 -48 + %2513 = load ptr, ptr %2512, align 8, !nonnull !14, !noundef !14 + %2514 = getelementptr inbounds i8, ptr %.pn.i510, i64 -40 + %2515 = load i64, ptr %2514, align 8, !noundef !14 + %2516 = invoke fastcc noundef i8 @_ZN15tree_sitter_cli8generate12build_tables17build_parse_table17ParseTableBuilder18compare_precedence17h91294802838a9eb5E(ptr noalias noundef readonly align 8 dereferenceable(184) %2510, ptr noalias noundef readonly align 8 dereferenceable(24) %spec.select.i.i400, ptr noalias noundef nonnull readonly align 8 %177, ptr noalias noundef readonly align 8 dereferenceable(24) %2511, ptr noalias noundef nonnull readonly align 8 %2513, i64 noundef %2515) + to label %2528 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.loopexit + +2517: ; preds = %.noexc518, %2504 + %2518 = phi i64 [ %.pre.i517, %.noexc518 ], [ 0, %2504 ] + %2519 = getelementptr inbounds nuw i8, ptr %.0.i503, i64 8 + %2520 = load ptr, ptr %2519, align 8, !alias.scope !2743, !noalias !2746, !nonnull !14, !noundef !14 + %2521 = getelementptr inbounds { i8, [39 x i8] }, ptr %2520, i64 %2518 + store i8 %.sroa.07.0, ptr %2521, align 8 + %.sroa.4.0..sroa_idx = getelementptr inbounds nuw i8, ptr %2521, i64 1 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(3) %.sroa.4.0..sroa_idx, ptr noundef nonnull align 1 dereferenceable(3) %.sroa.710, i64 3, i1 false) - %.sroa.573.0..sroa_idx = getelementptr inbounds nuw i8, ptr %2523, i64 4 + %.sroa.573.0..sroa_idx = getelementptr inbounds nuw i8, ptr %2521, i64 4 store i32 %.sroa.713.2, ptr %.sroa.573.0..sroa_idx, align 4 - %.sroa.6.0..sroa_idx = getelementptr inbounds nuw i8, ptr %2523, i64 8 + %.sroa.6.0..sroa_idx = getelementptr inbounds nuw i8, ptr %2521, i64 8 store i64 %.sroa.8.2, ptr %.sroa.6.0..sroa_idx, align 8 - %.sroa.774.0..sroa_idx = getelementptr inbounds nuw i8, ptr %2523, i64 16 + %.sroa.774.0..sroa_idx = getelementptr inbounds nuw i8, ptr %2521, i64 16 store i64 %.sroa.9.2, ptr %.sroa.774.0..sroa_idx, align 8 - %.sroa.875.0..sroa_idx = getelementptr inbounds nuw i8, ptr %2523, i64 24 + %.sroa.875.0..sroa_idx = getelementptr inbounds nuw i8, ptr %2521, i64 24 store i64 %.sroa.10.2, ptr %.sroa.875.0..sroa_idx, align 8 - %.sroa.976.0..sroa_idx = getelementptr inbounds nuw i8, ptr %2523, i64 32 + %.sroa.976.0..sroa_idx = getelementptr inbounds nuw i8, ptr %2521, i64 32 store i8 4, ptr %.sroa.976.0..sroa_idx, align 8 - %.sroa.1077.0..sroa_idx = getelementptr inbounds nuw i8, ptr %2523, i64 33 + %.sroa.1077.0..sroa_idx = getelementptr inbounds nuw i8, ptr %2521, i64 33 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(7) %.sroa.1077.0..sroa_idx, ptr noundef nonnull align 1 dereferenceable(7) %.sroa.12, i64 7, i1 false) - %2524 = load i64, ptr %2507, align 8, !alias.scope !2743, !noalias !2746, !noundef !14 - %2525 = add i64 %2524, 1 - store i64 %2525, ptr %2507, align 8, !alias.scope !2743, !noalias !2746 - br label %2526 + %2522 = load i64, ptr %2505, align 8, !alias.scope !2743, !noalias !2746, !noundef !14 + %2523 = add i64 %2522, 1 + store i64 %2523, ptr %2505, align 8, !alias.scope !2743, !noalias !2746 + br label %2524 -2526: ; preds = %_ZN15tree_sitter_cli8generate5rules8TokenSet6insert17hd5ca867a7dd68ffaE.exit, %2519 - %.0.i511976 = phi ptr [ %.0.i511977, %_ZN15tree_sitter_cli8generate5rules8TokenSet6insert17hd5ca867a7dd68ffaE.exit ], [ %.0.i511.le1083, %2519 ] +2524: ; preds = %_ZN15tree_sitter_cli8generate5rules8TokenSet6insert17hd5ca867a7dd68ffaE.exit, %2517 + %.0.i511976 = phi ptr [ %.0.i511977, %_ZN15tree_sitter_cli8generate5rules8TokenSet6insert17hd5ca867a7dd68ffaE.exit ], [ %.0.i511.le1083, %2517 ] call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %.sroa.865) - %2527 = load i64, ptr %spec.select.i.i400, align 8, !range !1069, !noundef !14 - %2528 = xor i64 %2527, -9223372036854775808 - %2529 = call i64 @llvm.umin.i64(i64 %2528, i64 2) - switch i64 %2529, label %default.unreachable [ - i64 0, label %2651 - i64 1, label %2648 - i64 2, label %2650 + %2525 = load i64, ptr %spec.select.i.i400, align 8, !range !1069, !noundef !14 + %2526 = xor i64 %2525, -9223372036854775808 + %2527 = call i64 @llvm.umin.i64(i64 %2526, i64 2) + switch i64 %2527, label %default.unreachable [ + i64 0, label %2649 + i64 1, label %2646 + i64 2, label %2648 ] -2530: ; preds = %2511 - switch i8 %2518, label %default.unreachable [ - i8 -1, label %2531 - i8 0, label %2532 - i8 1, label %2538 +2528: ; preds = %2509 + switch i8 %2516, label %default.unreachable [ + i8 -1, label %2529 + i8 0, label %2530 + i8 1, label %2536 ] -2531: ; preds = %2530 +2529: ; preds = %2528 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %177) - br label %2418 + br label %2416 -2532: ; preds = %2530 - %2533 = getelementptr inbounds nuw i8, ptr %.0.i503, i64 16 +2530: ; preds = %2528 + %2531 = getelementptr inbounds nuw i8, ptr %.0.i503, i64 16 %.0.i511.le1081 = getelementptr inbounds i8, ptr %.pn.i510, i64 -56 - %2534 = load i64, ptr %2533, align 8, !alias.scope !2748, !noalias !2751, !noundef !14 - %2535 = load i64, ptr %.0.i503, align 8, !alias.scope !2748, !noalias !2751, !noundef !14 - %2536 = icmp eq i64 %2534, %2535 - br i1 %2536, label %2537, label %2545 + %2532 = load i64, ptr %2531, align 8, !alias.scope !2748, !noalias !2751, !noundef !14 + %2533 = load i64, ptr %.0.i503, align 8, !alias.scope !2748, !noalias !2751, !noundef !14 + %2534 = icmp eq i64 %2532, %2533 + br i1 %2534, label %2535, label %2543 -2537: ; preds = %2532 - invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$16reserve_for_push17h1cfe722fbfcf91a1E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %.0.i503, i64 noundef %2534) +2535: ; preds = %2530 + invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$16reserve_for_push17h1cfe722fbfcf91a1E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %.0.i503, i64 noundef %2532) to label %.noexc521 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.loopexit.split-lp -.noexc521: ; preds = %2537 - %.pre.i520 = load i64, ptr %2533, align 8, !alias.scope !2748, !noalias !2751 - br label %2545 +.noexc521: ; preds = %2535 + %.pre.i520 = load i64, ptr %2531, align 8, !alias.scope !2748, !noalias !2751 + br label %2543 -2538: ; preds = %2530 - %2539 = getelementptr inbounds nuw i8, ptr %.0.i503, i64 16 - %2540 = getelementptr inbounds i8, ptr %.pn.i510, i64 -48 - %2541 = getelementptr inbounds i8, ptr %.pn.i510, i64 -40 +2536: ; preds = %2528 + %2537 = getelementptr inbounds nuw i8, ptr %.0.i503, i64 16 + %2538 = getelementptr inbounds i8, ptr %.pn.i510, i64 -48 + %2539 = getelementptr inbounds i8, ptr %.pn.i510, i64 -40 %.0.i511.le = getelementptr inbounds i8, ptr %.pn.i510, i64 -56 - store i64 0, ptr %2539, align 8 - %2542 = load i64, ptr %.0.i503, align 8, !alias.scope !2753, !noalias !2756, !noundef !14 - %2543 = icmp eq i64 %2542, 0 - br i1 %2543, label %2544, label %2586 + store i64 0, ptr %2537, align 8 + %2540 = load i64, ptr %.0.i503, align 8, !alias.scope !2753, !noalias !2756, !noundef !14 + %2541 = icmp eq i64 %2540, 0 + br i1 %2541, label %2542, label %2584 -2544: ; preds = %2538 +2542: ; preds = %2536 invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$16reserve_for_push17h1cfe722fbfcf91a1E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %.0.i503, i64 noundef 0) to label %.noexc524 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.loopexit.split-lp -.noexc524: ; preds = %2544 - %.pre.i523 = load i64, ptr %2539, align 8, !alias.scope !2753, !noalias !2756 - br label %2586 - -2545: ; preds = %.noexc521, %2532 - %2546 = phi i64 [ %.pre.i520, %.noexc521 ], [ %2534, %2532 ] - %2547 = getelementptr inbounds nuw i8, ptr %.0.i503, i64 8 - %2548 = load ptr, ptr %2547, align 8, !alias.scope !2748, !noalias !2751, !nonnull !14, !noundef !14 - %2549 = getelementptr inbounds { i8, [39 x i8] }, ptr %2548, i64 %2546 - store i8 %.sroa.07.0, ptr %2549, align 8 - %.sroa.487.0..sroa_idx = getelementptr inbounds nuw i8, ptr %2549, i64 1 +.noexc524: ; preds = %2542 + %.pre.i523 = load i64, ptr %2537, align 8, !alias.scope !2753, !noalias !2756 + br label %2584 + +2543: ; preds = %.noexc521, %2530 + %2544 = phi i64 [ %.pre.i520, %.noexc521 ], [ %2532, %2530 ] + %2545 = getelementptr inbounds nuw i8, ptr %.0.i503, i64 8 + %2546 = load ptr, ptr %2545, align 8, !alias.scope !2748, !noalias !2751, !nonnull !14, !noundef !14 + %2547 = getelementptr inbounds { i8, [39 x i8] }, ptr %2546, i64 %2544 + store i8 %.sroa.07.0, ptr %2547, align 8 + %.sroa.487.0..sroa_idx = getelementptr inbounds nuw i8, ptr %2547, i64 1 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(3) %.sroa.487.0..sroa_idx, ptr noundef nonnull align 1 dereferenceable(3) %.sroa.710, i64 3, i1 false) - %.sroa.588.0..sroa_idx = getelementptr inbounds nuw i8, ptr %2549, i64 4 + %.sroa.588.0..sroa_idx = getelementptr inbounds nuw i8, ptr %2547, i64 4 store i32 %.sroa.713.2, ptr %.sroa.588.0..sroa_idx, align 4 - %.sroa.689.0..sroa_idx = getelementptr inbounds nuw i8, ptr %2549, i64 8 + %.sroa.689.0..sroa_idx = getelementptr inbounds nuw i8, ptr %2547, i64 8 store i64 %.sroa.8.2, ptr %.sroa.689.0..sroa_idx, align 8 - %.sroa.790.0..sroa_idx = getelementptr inbounds nuw i8, ptr %2549, i64 16 + %.sroa.790.0..sroa_idx = getelementptr inbounds nuw i8, ptr %2547, i64 16 store i64 %.sroa.9.2, ptr %.sroa.790.0..sroa_idx, align 8 - %.sroa.891.0..sroa_idx = getelementptr inbounds nuw i8, ptr %2549, i64 24 + %.sroa.891.0..sroa_idx = getelementptr inbounds nuw i8, ptr %2547, i64 24 store i64 %.sroa.10.2, ptr %.sroa.891.0..sroa_idx, align 8 - %.sroa.992.0..sroa_idx = getelementptr inbounds nuw i8, ptr %2549, i64 32 + %.sroa.992.0..sroa_idx = getelementptr inbounds nuw i8, ptr %2547, i64 32 store i8 4, ptr %.sroa.992.0..sroa_idx, align 8 - %.sroa.1093.0..sroa_idx = getelementptr inbounds nuw i8, ptr %2549, i64 33 + %.sroa.1093.0..sroa_idx = getelementptr inbounds nuw i8, ptr %2547, i64 33 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(7) %.sroa.1093.0..sroa_idx, ptr noundef nonnull align 1 dereferenceable(7) %.sroa.12, i64 7, i1 false) - %2550 = load i64, ptr %2533, align 8, !alias.scope !2748, !noalias !2751, !noundef !14 - %2551 = add i64 %2550, 1 - store i64 %2551, ptr %2533, align 8, !alias.scope !2748, !noalias !2751 + %2548 = load i64, ptr %2531, align 8, !alias.scope !2748, !noalias !2751, !noundef !14 + %2549 = add i64 %2548, 1 + store i64 %2549, ptr %2531, align 8, !alias.scope !2748, !noalias !2751 call void @llvm.experimental.noalias.scope.decl(metadata !2758) - switch i8 %.sroa.2.0.i.pn.i489461, label %2552 [ - i8 0, label %2553 - i8 1, label %2554 - i8 2, label %2555 - i8 3, label %2559 - i8 4, label %2556 + switch i8 %.sroa.2.0.i.pn.i489461, label %2550 [ + i8 0, label %2551 + i8 1, label %2552 + i8 2, label %2553 + i8 3, label %2557 + i8 4, label %2554 ] -2552: ; preds = %2545 +2550: ; preds = %2543 unreachable -2553: ; preds = %2545 - br label %2559 +2551: ; preds = %2543 + br label %2557 -2554: ; preds = %2545 +2552: ; preds = %2543 store i8 1, ptr %191, align 8, !alias.scope !2758 br label %_ZN15tree_sitter_cli8generate5rules8TokenSet6insert17hd5ca867a7dd68ffaE.exit -2555: ; preds = %2545 +2553: ; preds = %2543 store i8 1, ptr %192, align 1, !alias.scope !2758 br label %_ZN15tree_sitter_cli8generate5rules8TokenSet6insert17hd5ca867a7dd68ffaE.exit -2556: ; preds = %2545 +2554: ; preds = %2543 call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %35), !noalias !2758 br label %.invoke1938.sink.split -.invoke1938.sink.split: ; preds = %2556, %2600 - %.sink1959.sroa.phi = phi ptr [ %.sink1959.sroa.gep, %2600 ], [ %.sink1959.sroa.gep2495, %2556 ] - %.sink1959.sroa.phi2496 = phi ptr [ %.sink1959.sroa.gep2497, %2600 ], [ %.sink1959.sroa.gep2498, %2556 ] - %.sink1959.sroa.phi2499 = phi ptr [ %.sink1959.sroa.gep2500, %2600 ], [ %.sink1959.sroa.gep2501, %2556 ] - %.sink1959.sroa.phi2502 = phi ptr [ %.sink1959.sroa.gep2503, %2600 ], [ %.sink1959.sroa.gep2504, %2556 ] - %.sink1959 = phi ptr [ %31, %2600 ], [ %35, %2556 ] - %.ph1950 = phi ptr [ @anon.63c56c029849d52f8e59e08c8a58f399.169.llvm.16258808753110442553, %2600 ], [ @anon.63c56c029849d52f8e59e08c8a58f399.167.llvm.16258808753110442553, %2556 ] +.invoke1938.sink.split: ; preds = %2554, %2598 + %.sink1959.sroa.phi = phi ptr [ %.sink1959.sroa.gep, %2598 ], [ %.sink1959.sroa.gep2495, %2554 ] + %.sink1959.sroa.phi2496 = phi ptr [ %.sink1959.sroa.gep2497, %2598 ], [ %.sink1959.sroa.gep2498, %2554 ] + %.sink1959.sroa.phi2499 = phi ptr [ %.sink1959.sroa.gep2500, %2598 ], [ %.sink1959.sroa.gep2501, %2554 ] + %.sink1959.sroa.phi2502 = phi ptr [ %.sink1959.sroa.gep2503, %2598 ], [ %.sink1959.sroa.gep2504, %2554 ] + %.sink1959 = phi ptr [ %31, %2598 ], [ %35, %2554 ] + %.ph1950 = phi ptr [ @anon.63c56c029849d52f8e59e08c8a58f399.169.llvm.16258808753110442553, %2598 ], [ @anon.63c56c029849d52f8e59e08c8a58f399.167.llvm.16258808753110442553, %2554 ] store ptr @anon.63c56c029849d52f8e59e08c8a58f399.164.llvm.16258808753110442553, ptr %.sink1959, align 8, !noalias !14 store i64 1, ptr %.sink1959.sroa.phi, align 8, !noalias !14 store ptr null, ptr %.sink1959.sroa.phi2496, align 8, !noalias !14 @@ -15538,80 +15536,80 @@ _ZN4core3ops8function6FnOnce9call_once17h4b75a0778e16e091E.exit.thread16.i471: ; store i64 0, ptr %.sink1959.sroa.phi2502, align 8, !noalias !14 br label %.invoke1938 -.invoke1938: ; preds = %.invoke1938.sink.split, %2628, %2584 - %2557 = phi ptr [ %33, %2584 ], [ %29, %2628 ], [ %.sink1959, %.invoke1938.sink.split ] - %2558 = phi ptr [ @anon.63c56c029849d52f8e59e08c8a58f399.29.llvm.16258808753110442553, %2584 ], [ @anon.63c56c029849d52f8e59e08c8a58f399.29.llvm.16258808753110442553, %2628 ], [ %.ph1950, %.invoke1938.sink.split ] - invoke void @_ZN4core9panicking9panic_fmt17h784f20a50eaab275E(ptr noalias noundef nonnull align 8 captures(none) dereferenceable(48) %2557, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %2558) #45 +.invoke1938: ; preds = %.invoke1938.sink.split, %2626, %2582 + %2555 = phi ptr [ %33, %2582 ], [ %29, %2626 ], [ %.sink1959, %.invoke1938.sink.split ] + %2556 = phi ptr [ @anon.63c56c029849d52f8e59e08c8a58f399.29.llvm.16258808753110442553, %2582 ], [ @anon.63c56c029849d52f8e59e08c8a58f399.29.llvm.16258808753110442553, %2626 ], [ %.ph1950, %.invoke1938.sink.split ] + invoke void @_ZN4core9panicking9panic_fmt17h784f20a50eaab275E(ptr noalias noundef nonnull align 8 captures(none) dereferenceable(48) %2555, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %2556) #45 to label %.cont1939 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp .cont1939: ; preds = %.invoke1938 unreachable -2559: ; preds = %2553, %2545 - %.0.i526 = phi ptr [ %190, %2553 ], [ %185, %2545 ] +2557: ; preds = %2551, %2543 + %.0.i526 = phi ptr [ %190, %2551 ], [ %185, %2543 ] call void @llvm.experimental.noalias.scope.decl(metadata !2761) - %2560 = load i64, ptr %.0.i526, align 8, !alias.scope !2764, !noundef !14 - %2561 = and i64 %2560, 1 - %2562 = icmp eq i64 %2561, 0 - br i1 %2562, label %2563, label %2566 - -2563: ; preds = %2559 - %2564 = call range(i64 1, 65) i64 @llvm.cttz.i64(i64 %2560, i1 false) - %2565 = sub nsw i64 63, %2564 + %2558 = load i64, ptr %.0.i526, align 8, !alias.scope !2764, !noundef !14 + %2559 = and i64 %2558, 1 + %2560 = icmp eq i64 %2559, 0 + br i1 %2560, label %2561, label %2564 + +2561: ; preds = %2557 + %2562 = call range(i64 1, 65) i64 @llvm.cttz.i64(i64 %2558, i1 false) + %2563 = sub nsw i64 63, %2562 br label %_ZN11smallbitvec11SmallBitVec3len17hd19085f87d1dfa85E.llvm.16258808753110442553.exit.i -2566: ; preds = %2559 - %2567 = and i64 %2560, -2 - %2568 = inttoptr i64 %2567 to ptr - %2569 = load i64, ptr %2568, align 8, !noalias !2764, !noundef !14 +2564: ; preds = %2557 + %2565 = and i64 %2558, -2 + %2566 = inttoptr i64 %2565 to ptr + %2567 = load i64, ptr %2566, align 8, !noalias !2764, !noundef !14 br label %_ZN11smallbitvec11SmallBitVec3len17hd19085f87d1dfa85E.llvm.16258808753110442553.exit.i -_ZN11smallbitvec11SmallBitVec3len17hd19085f87d1dfa85E.llvm.16258808753110442553.exit.i: ; preds = %2566, %2563 - %.0.i.i527 = phi i64 [ %2565, %2563 ], [ %2569, %2566 ] +_ZN11smallbitvec11SmallBitVec3len17hd19085f87d1dfa85E.llvm.16258808753110442553.exit.i: ; preds = %2564, %2561 + %.0.i.i527 = phi i64 [ %2563, %2561 ], [ %2567, %2564 ] %.not.i528 = icmp ult i64 %.sroa.0.0.i.pn.i488460, %.0.i.i527 - br i1 %.not.i528, label %2572, label %2570 + br i1 %.not.i528, label %2570, label %2568 -2570: ; preds = %_ZN11smallbitvec11SmallBitVec3len17hd19085f87d1dfa85E.llvm.16258808753110442553.exit.i - %2571 = add i64 %.sroa.0.0.i.pn.i488460, 1 - invoke void @_ZN11smallbitvec11SmallBitVec6resize17h475ccac4fba74d2cE(ptr noalias noundef nonnull align 8 dereferenceable(8) %.0.i526, i64 noundef %2571, i1 noundef zeroext false) +2568: ; preds = %_ZN11smallbitvec11SmallBitVec3len17hd19085f87d1dfa85E.llvm.16258808753110442553.exit.i + %2569 = add i64 %.sroa.0.0.i.pn.i488460, 1 + invoke void @_ZN11smallbitvec11SmallBitVec6resize17h475ccac4fba74d2cE(ptr noalias noundef nonnull align 8 dereferenceable(8) %.0.i526, i64 noundef %2569, i1 noundef zeroext false) to label %.noexc532 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.loopexit.split-lp -.noexc532: ; preds = %2570 +.noexc532: ; preds = %2568 %.pre.i529 = load i64, ptr %.0.i526, align 8, !alias.scope !2765 - br label %2572 + br label %2570 -2572: ; preds = %.noexc532, %_ZN11smallbitvec11SmallBitVec3len17hd19085f87d1dfa85E.llvm.16258808753110442553.exit.i - %2573 = phi i64 [ %2560, %_ZN11smallbitvec11SmallBitVec3len17hd19085f87d1dfa85E.llvm.16258808753110442553.exit.i ], [ %.pre.i529, %.noexc532 ] +2570: ; preds = %.noexc532, %_ZN11smallbitvec11SmallBitVec3len17hd19085f87d1dfa85E.llvm.16258808753110442553.exit.i + %2571 = phi i64 [ %2558, %_ZN11smallbitvec11SmallBitVec3len17hd19085f87d1dfa85E.llvm.16258808753110442553.exit.i ], [ %.pre.i529, %.noexc532 ] call void @llvm.experimental.noalias.scope.decl(metadata !2770) call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %34), !noalias !2758 store i64 %.sroa.0.0.i.pn.i488460, ptr %34, align 8, !noalias !2771 call void @llvm.experimental.noalias.scope.decl(metadata !2772) - %2574 = and i64 %2573, 1 - %2575 = icmp eq i64 %2574, 0 - br i1 %2575, label %2576, label %2579 + %2572 = and i64 %2571, 1 + %2573 = icmp eq i64 %2572, 0 + br i1 %2573, label %2574, label %2577 -2576: ; preds = %2572 - %2577 = call range(i64 1, 65) i64 @llvm.cttz.i64(i64 %2573, i1 false) - %2578 = sub nsw i64 63, %2577 +2574: ; preds = %2570 + %2575 = call range(i64 1, 65) i64 @llvm.cttz.i64(i64 %2571, i1 false) + %2576 = sub nsw i64 63, %2575 br label %_ZN11smallbitvec11SmallBitVec3len17hd19085f87d1dfa85E.llvm.16258808753110442553.exit.i.i -2579: ; preds = %2572 - %2580 = and i64 %2573, -2 - %2581 = inttoptr i64 %2580 to ptr - %2582 = load i64, ptr %2581, align 8, !noalias !2773, !noundef !14 +2577: ; preds = %2570 + %2578 = and i64 %2571, -2 + %2579 = inttoptr i64 %2578 to ptr + %2580 = load i64, ptr %2579, align 8, !noalias !2773, !noundef !14 br label %_ZN11smallbitvec11SmallBitVec3len17hd19085f87d1dfa85E.llvm.16258808753110442553.exit.i.i -_ZN11smallbitvec11SmallBitVec3len17hd19085f87d1dfa85E.llvm.16258808753110442553.exit.i.i: ; preds = %2579, %2576 - %.0.i.i.i530 = phi i64 [ %2578, %2576 ], [ %2582, %2579 ] - %2583 = icmp ult i64 %.sroa.0.0.i.pn.i488460, %.0.i.i.i530 - br i1 %2583, label %_ZN11smallbitvec11SmallBitVec3set17h72321cce85bb7443E.llvm.16258808753110442553.exit.i, label %2584 +_ZN11smallbitvec11SmallBitVec3len17hd19085f87d1dfa85E.llvm.16258808753110442553.exit.i.i: ; preds = %2577, %2574 + %.0.i.i.i530 = phi i64 [ %2576, %2574 ], [ %2580, %2577 ] + %2581 = icmp ult i64 %.sroa.0.0.i.pn.i488460, %.0.i.i.i530 + br i1 %2581, label %_ZN11smallbitvec11SmallBitVec3set17h72321cce85bb7443E.llvm.16258808753110442553.exit.i, label %2582 -2584: ; preds = %_ZN11smallbitvec11SmallBitVec3len17hd19085f87d1dfa85E.llvm.16258808753110442553.exit.i.i +2582: ; preds = %_ZN11smallbitvec11SmallBitVec3len17hd19085f87d1dfa85E.llvm.16258808753110442553.exit.i.i call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %33), !noalias !2771 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %32), !noalias !2771 store ptr %34, ptr %32, align 8, !noalias !2771 - %2585 = getelementptr inbounds nuw i8, ptr %32, i64 8 - store ptr @"_ZN4core3fmt3num3imp54_$LT$impl$u20$core..fmt..Display$u20$for$u20$usize$GT$3fmt17h54d4af2b1bb3d966E", ptr %2585, align 8, !noalias !2771 + %2583 = getelementptr inbounds nuw i8, ptr %32, i64 8 + store ptr @"_ZN4core3fmt3num3imp54_$LT$impl$u20$core..fmt..Display$u20$for$u20$usize$GT$3fmt17h54d4af2b1bb3d966E", ptr %2583, align 8, !noalias !2771 invoke void @_ZN4core3fmt9Arguments6new_v117h14574ab706dc1eb0E.llvm.16258808753110442553(ptr noalias noundef nonnull sret({ { ptr, i64 }, { ptr, i64 }, { ptr, i64 } }) align 8 captures(none) dereferenceable(48) %33, ptr noalias noundef nonnull readonly align 8 @anon.63c56c029849d52f8e59e08c8a58f399.28.llvm.16258808753110442553, i64 noundef 2, ptr noalias noundef nonnull readonly align 8 %32, i64 noundef 1) to label %.invoke1938 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp @@ -15623,103 +15621,103 @@ _ZN11smallbitvec11SmallBitVec3set17h72321cce85bb7443E.llvm.16258808753110442553. call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %34), !noalias !2758 br label %_ZN15tree_sitter_cli8generate5rules8TokenSet6insert17hd5ca867a7dd68ffaE.exit -_ZN15tree_sitter_cli8generate5rules8TokenSet6insert17hd5ca867a7dd68ffaE.exit: ; preds = %.noexc535, %2555, %2554, %2647 - %.0.i511977 = phi ptr [ %.0.i511.le1081, %.noexc535 ], [ %.0.i511.le1081, %2555 ], [ %.0.i511.le1081, %2554 ], [ %.0.i511.le, %2647 ] +_ZN15tree_sitter_cli8generate5rules8TokenSet6insert17hd5ca867a7dd68ffaE.exit: ; preds = %.noexc535, %2553, %2552, %2645 + %.0.i511977 = phi ptr [ %.0.i511.le1081, %.noexc535 ], [ %.0.i511.le1081, %2553 ], [ %.0.i511.le1081, %2552 ], [ %.0.i511.le, %2645 ] call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %177) - br label %2526 - -2586: ; preds = %.noexc524, %2538 - %2587 = phi i64 [ %.pre.i523, %.noexc524 ], [ 0, %2538 ] - %2588 = getelementptr inbounds nuw i8, ptr %.0.i503, i64 8 - %2589 = load ptr, ptr %2588, align 8, !alias.scope !2753, !noalias !2756, !nonnull !14, !noundef !14 - %2590 = getelementptr inbounds { i8, [39 x i8] }, ptr %2589, i64 %2587 - store i8 %.sroa.07.0, ptr %2590, align 8 - %.sroa.479.0..sroa_idx = getelementptr inbounds nuw i8, ptr %2590, i64 1 + br label %2524 + +2584: ; preds = %.noexc524, %2536 + %2585 = phi i64 [ %.pre.i523, %.noexc524 ], [ 0, %2536 ] + %2586 = getelementptr inbounds nuw i8, ptr %.0.i503, i64 8 + %2587 = load ptr, ptr %2586, align 8, !alias.scope !2753, !noalias !2756, !nonnull !14, !noundef !14 + %2588 = getelementptr inbounds { i8, [39 x i8] }, ptr %2587, i64 %2585 + store i8 %.sroa.07.0, ptr %2588, align 8 + %.sroa.479.0..sroa_idx = getelementptr inbounds nuw i8, ptr %2588, i64 1 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(3) %.sroa.479.0..sroa_idx, ptr noundef nonnull align 1 dereferenceable(3) %.sroa.710, i64 3, i1 false) - %.sroa.580.0..sroa_idx = getelementptr inbounds nuw i8, ptr %2590, i64 4 + %.sroa.580.0..sroa_idx = getelementptr inbounds nuw i8, ptr %2588, i64 4 store i32 %.sroa.713.2, ptr %.sroa.580.0..sroa_idx, align 4 - %.sroa.681.0..sroa_idx = getelementptr inbounds nuw i8, ptr %2590, i64 8 + %.sroa.681.0..sroa_idx = getelementptr inbounds nuw i8, ptr %2588, i64 8 store i64 %.sroa.8.2, ptr %.sroa.681.0..sroa_idx, align 8 - %.sroa.782.0..sroa_idx = getelementptr inbounds nuw i8, ptr %2590, i64 16 + %.sroa.782.0..sroa_idx = getelementptr inbounds nuw i8, ptr %2588, i64 16 store i64 %.sroa.9.2, ptr %.sroa.782.0..sroa_idx, align 8 - %.sroa.883.0..sroa_idx = getelementptr inbounds nuw i8, ptr %2590, i64 24 + %.sroa.883.0..sroa_idx = getelementptr inbounds nuw i8, ptr %2588, i64 24 store i64 %.sroa.10.2, ptr %.sroa.883.0..sroa_idx, align 8 - %.sroa.984.0..sroa_idx = getelementptr inbounds nuw i8, ptr %2590, i64 32 + %.sroa.984.0..sroa_idx = getelementptr inbounds nuw i8, ptr %2588, i64 32 store i8 4, ptr %.sroa.984.0..sroa_idx, align 8 - %.sroa.1085.0..sroa_idx = getelementptr inbounds nuw i8, ptr %2590, i64 33 + %.sroa.1085.0..sroa_idx = getelementptr inbounds nuw i8, ptr %2588, i64 33 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(7) %.sroa.1085.0..sroa_idx, ptr noundef nonnull align 1 dereferenceable(7) %.sroa.12, i64 7, i1 false) - %2591 = load i64, ptr %2539, align 8, !alias.scope !2753, !noalias !2756, !noundef !14 - %2592 = add i64 %2591, 1 - store i64 %2592, ptr %2539, align 8, !alias.scope !2753, !noalias !2756 + %2589 = load i64, ptr %2537, align 8, !alias.scope !2753, !noalias !2756, !noundef !14 + %2590 = add i64 %2589, 1 + store i64 %2590, ptr %2537, align 8, !alias.scope !2753, !noalias !2756 call void @llvm.experimental.noalias.scope.decl(metadata !2774) switch i8 %.sroa.2.0.i.pn.i489461, label %default.unreachable13.i [ - i8 0, label %2593 - i8 1, label %2594 - i8 2, label %2597 - i8 3, label %2601 - i8 4, label %2600 + i8 0, label %2591 + i8 1, label %2592 + i8 2, label %2595 + i8 3, label %2599 + i8 4, label %2598 ] -default.unreachable13.i: ; preds = %2586 +default.unreachable13.i: ; preds = %2584 unreachable -2593: ; preds = %2586 - br label %2601 +2591: ; preds = %2584 + br label %2599 -2594: ; preds = %2586 - %2595 = load i8, ptr %191, align 8, !range !317, !alias.scope !2774, !noalias !2777, !noundef !14 - %2596 = trunc nuw i8 %2595 to i1 - br i1 %2596, label %2612, label %_ZN15tree_sitter_cli8generate5rules8TokenSet6remove17h96235b2a844d2007E.exit +2592: ; preds = %2584 + %2593 = load i8, ptr %191, align 8, !range !317, !alias.scope !2774, !noalias !2777, !noundef !14 + %2594 = trunc nuw i8 %2593 to i1 + br i1 %2594, label %2610, label %_ZN15tree_sitter_cli8generate5rules8TokenSet6remove17h96235b2a844d2007E.exit -2597: ; preds = %2586 - %2598 = load i8, ptr %192, align 1, !range !317, !alias.scope !2774, !noalias !2777, !noundef !14 - %2599 = trunc nuw i8 %2598 to i1 - br i1 %2599, label %2613, label %_ZN15tree_sitter_cli8generate5rules8TokenSet6remove17h96235b2a844d2007E.exit +2595: ; preds = %2584 + %2596 = load i8, ptr %192, align 1, !range !317, !alias.scope !2774, !noalias !2777, !noundef !14 + %2597 = trunc nuw i8 %2596 to i1 + br i1 %2597, label %2611, label %_ZN15tree_sitter_cli8generate5rules8TokenSet6remove17h96235b2a844d2007E.exit -2600: ; preds = %2586 +2598: ; preds = %2584 call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %31), !noalias !2779 br label %.invoke1938.sink.split -2601: ; preds = %2593, %2586 - %.03.i = phi ptr [ %190, %2593 ], [ %185, %2586 ] +2599: ; preds = %2591, %2584 + %.03.i = phi ptr [ %190, %2591 ], [ %185, %2584 ] call void @llvm.experimental.noalias.scope.decl(metadata !2780) - %2602 = load i64, ptr %.03.i, align 8, !alias.scope !2783, !noalias !2777, !noundef !14 - %2603 = and i64 %2602, 1 - %2604 = icmp eq i64 %2603, 0 - br i1 %2604, label %_ZN11smallbitvec11SmallBitVec3len17hd19085f87d1dfa85E.llvm.16258808753110442553.exit.i540, label %_ZN11smallbitvec11SmallBitVec3len17hd19085f87d1dfa85E.llvm.16258808753110442553.exit.thread.i - -_ZN11smallbitvec11SmallBitVec3len17hd19085f87d1dfa85E.llvm.16258808753110442553.exit.i540: ; preds = %2601 - %2605 = call range(i64 1, 65) i64 @llvm.cttz.i64(i64 %2602, i1 false) - %2606 = sub nsw i64 63, %2605 - %2607 = icmp ult i64 %.sroa.0.0.i.pn.i488460, %2606 - br i1 %2607, label %_ZN11smallbitvec11SmallBitVec3len17hd19085f87d1dfa85E.llvm.16258808753110442553.exit7.i, label %_ZN15tree_sitter_cli8generate5rules8TokenSet6remove17h96235b2a844d2007E.exit - -_ZN11smallbitvec11SmallBitVec3len17hd19085f87d1dfa85E.llvm.16258808753110442553.exit.thread.i: ; preds = %2601 - %2608 = and i64 %2602, -2 - %2609 = inttoptr i64 %2608 to ptr - %2610 = load i64, ptr %2609, align 8, !noalias !2784, !noundef !14 - %2611 = icmp ult i64 %.sroa.0.0.i.pn.i488460, %2610 - br i1 %2611, label %_ZN11smallbitvec11SmallBitVec3len17hd19085f87d1dfa85E.llvm.16258808753110442553.exit7.i, label %_ZN15tree_sitter_cli8generate5rules8TokenSet6remove17h96235b2a844d2007E.exit - -2612: ; preds = %2594 + %2600 = load i64, ptr %.03.i, align 8, !alias.scope !2783, !noalias !2777, !noundef !14 + %2601 = and i64 %2600, 1 + %2602 = icmp eq i64 %2601, 0 + br i1 %2602, label %_ZN11smallbitvec11SmallBitVec3len17hd19085f87d1dfa85E.llvm.16258808753110442553.exit.i540, label %_ZN11smallbitvec11SmallBitVec3len17hd19085f87d1dfa85E.llvm.16258808753110442553.exit.thread.i + +_ZN11smallbitvec11SmallBitVec3len17hd19085f87d1dfa85E.llvm.16258808753110442553.exit.i540: ; preds = %2599 + %2603 = call range(i64 1, 65) i64 @llvm.cttz.i64(i64 %2600, i1 false) + %2604 = sub nsw i64 63, %2603 + %2605 = icmp ult i64 %.sroa.0.0.i.pn.i488460, %2604 + br i1 %2605, label %_ZN11smallbitvec11SmallBitVec3len17hd19085f87d1dfa85E.llvm.16258808753110442553.exit7.i, label %_ZN15tree_sitter_cli8generate5rules8TokenSet6remove17h96235b2a844d2007E.exit + +_ZN11smallbitvec11SmallBitVec3len17hd19085f87d1dfa85E.llvm.16258808753110442553.exit.thread.i: ; preds = %2599 + %2606 = and i64 %2600, -2 + %2607 = inttoptr i64 %2606 to ptr + %2608 = load i64, ptr %2607, align 8, !noalias !2784, !noundef !14 + %2609 = icmp ult i64 %.sroa.0.0.i.pn.i488460, %2608 + br i1 %2609, label %_ZN11smallbitvec11SmallBitVec3len17hd19085f87d1dfa85E.llvm.16258808753110442553.exit7.i, label %_ZN15tree_sitter_cli8generate5rules8TokenSet6remove17h96235b2a844d2007E.exit + +2610: ; preds = %2592 store i8 0, ptr %191, align 8, !alias.scope !2774, !noalias !2777 br label %_ZN15tree_sitter_cli8generate5rules8TokenSet6remove17h96235b2a844d2007E.exit -2613: ; preds = %2597 +2611: ; preds = %2595 store i8 0, ptr %192, align 1, !alias.scope !2774, !noalias !2777 br label %_ZN15tree_sitter_cli8generate5rules8TokenSet6remove17h96235b2a844d2007E.exit _ZN11smallbitvec11SmallBitVec3len17hd19085f87d1dfa85E.llvm.16258808753110442553.exit7.i: ; preds = %_ZN11smallbitvec11SmallBitVec3len17hd19085f87d1dfa85E.llvm.16258808753110442553.exit.thread.i, %_ZN11smallbitvec11SmallBitVec3len17hd19085f87d1dfa85E.llvm.16258808753110442553.exit.i540 - %.0.i6.i = phi i64 [ %2606, %_ZN11smallbitvec11SmallBitVec3len17hd19085f87d1dfa85E.llvm.16258808753110442553.exit.i540 ], [ %2610, %_ZN11smallbitvec11SmallBitVec3len17hd19085f87d1dfa85E.llvm.16258808753110442553.exit.thread.i ] - %2614 = icmp ult i64 %.sroa.0.0.i.pn.i488460, %.0.i6.i - br i1 %2614, label %"_ZN81_$LT$smallbitvec..SmallBitVec$u20$as$u20$core..ops..index..Index$LT$usize$GT$$GT$5index17ha8f59f4558b0eed8E.llvm.16258808753110442553.exit.i", label %.thread11.i + %.0.i6.i = phi i64 [ %2604, %_ZN11smallbitvec11SmallBitVec3len17hd19085f87d1dfa85E.llvm.16258808753110442553.exit.i540 ], [ %2608, %_ZN11smallbitvec11SmallBitVec3len17hd19085f87d1dfa85E.llvm.16258808753110442553.exit.thread.i ] + %2612 = icmp ult i64 %.sroa.0.0.i.pn.i488460, %.0.i6.i + br i1 %2612, label %"_ZN81_$LT$smallbitvec..SmallBitVec$u20$as$u20$core..ops..index..Index$LT$usize$GT$$GT$5index17ha8f59f4558b0eed8E.llvm.16258808753110442553.exit.i", label %.thread11.i "_ZN81_$LT$smallbitvec..SmallBitVec$u20$as$u20$core..ops..index..Index$LT$usize$GT$$GT$5index17ha8f59f4558b0eed8E.llvm.16258808753110442553.exit.i": ; preds = %_ZN11smallbitvec11SmallBitVec3len17hd19085f87d1dfa85E.llvm.16258808753110442553.exit7.i - %2615 = invoke noundef zeroext i1 @_ZN11smallbitvec11SmallBitVec13get_unchecked17h45f351e04506b1cbE.llvm.16258808753110442553(ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %.03.i, i64 noundef %.sroa.0.0.i.pn.i488460) + %2613 = invoke noundef zeroext i1 @_ZN11smallbitvec11SmallBitVec13get_unchecked17h45f351e04506b1cbE.llvm.16258808753110442553(ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %.03.i, i64 noundef %.sroa.0.0.i.pn.i488460) to label %.noexc542 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.loopexit.split-lp .noexc542: ; preds = %"_ZN81_$LT$smallbitvec..SmallBitVec$u20$as$u20$core..ops..index..Index$LT$usize$GT$$GT$5index17ha8f59f4558b0eed8E.llvm.16258808753110442553.exit.i" - br i1 %2615, label %2616, label %_ZN15tree_sitter_cli8generate5rules8TokenSet6remove17h96235b2a844d2007E.exit + br i1 %2613, label %2614, label %_ZN15tree_sitter_cli8generate5rules8TokenSet6remove17h96235b2a844d2007E.exit .thread11.i: ; preds = %_ZN11smallbitvec11SmallBitVec3len17hd19085f87d1dfa85E.llvm.16258808753110442553.exit7.i invoke void @_ZN4core9panicking5panic17hb837a5ebbbe5b188E(ptr noalias noundef nonnull readonly align 1 @anon.63c56c029849d52f8e59e08c8a58f399.100.llvm.16258808753110442553, i64 noundef 43, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.63c56c029849d52f8e59e08c8a58f399.168.llvm.16258808753110442553) #45 @@ -15728,38 +15726,38 @@ _ZN11smallbitvec11SmallBitVec3len17hd19085f87d1dfa85E.llvm.16258808753110442553. .noexc543: ; preds = %.thread11.i unreachable -2616: ; preds = %.noexc542 +2614: ; preds = %.noexc542 call void @llvm.experimental.noalias.scope.decl(metadata !2785) call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %30), !noalias !2779 store i64 %.sroa.0.0.i.pn.i488460, ptr %30, align 8, !noalias !2788 call void @llvm.experimental.noalias.scope.decl(metadata !2789) - %2617 = load i64, ptr %.03.i, align 8, !alias.scope !2792, !noalias !2777, !noundef !14 - %2618 = and i64 %2617, 1 - %2619 = icmp eq i64 %2618, 0 - br i1 %2619, label %2620, label %2623 - -2620: ; preds = %2616 - %2621 = call range(i64 1, 65) i64 @llvm.cttz.i64(i64 %2617, i1 false) - %2622 = sub nsw i64 63, %2621 + %2615 = load i64, ptr %.03.i, align 8, !alias.scope !2792, !noalias !2777, !noundef !14 + %2616 = and i64 %2615, 1 + %2617 = icmp eq i64 %2616, 0 + br i1 %2617, label %2618, label %2621 + +2618: ; preds = %2614 + %2619 = call range(i64 1, 65) i64 @llvm.cttz.i64(i64 %2615, i1 false) + %2620 = sub nsw i64 63, %2619 br label %_ZN11smallbitvec11SmallBitVec3len17hd19085f87d1dfa85E.llvm.16258808753110442553.exit.i.i537 -2623: ; preds = %2616 - %2624 = and i64 %2617, -2 - %2625 = inttoptr i64 %2624 to ptr - %2626 = load i64, ptr %2625, align 8, !noalias !2793, !noundef !14 +2621: ; preds = %2614 + %2622 = and i64 %2615, -2 + %2623 = inttoptr i64 %2622 to ptr + %2624 = load i64, ptr %2623, align 8, !noalias !2793, !noundef !14 br label %_ZN11smallbitvec11SmallBitVec3len17hd19085f87d1dfa85E.llvm.16258808753110442553.exit.i.i537 -_ZN11smallbitvec11SmallBitVec3len17hd19085f87d1dfa85E.llvm.16258808753110442553.exit.i.i537: ; preds = %2623, %2620 - %.0.i.i.i538 = phi i64 [ %2622, %2620 ], [ %2626, %2623 ] - %2627 = icmp ult i64 %.sroa.0.0.i.pn.i488460, %.0.i.i.i538 - br i1 %2627, label %_ZN11smallbitvec11SmallBitVec3set17h72321cce85bb7443E.llvm.16258808753110442553.exit.i539, label %2628 +_ZN11smallbitvec11SmallBitVec3len17hd19085f87d1dfa85E.llvm.16258808753110442553.exit.i.i537: ; preds = %2621, %2618 + %.0.i.i.i538 = phi i64 [ %2620, %2618 ], [ %2624, %2621 ] + %2625 = icmp ult i64 %.sroa.0.0.i.pn.i488460, %.0.i.i.i538 + br i1 %2625, label %_ZN11smallbitvec11SmallBitVec3set17h72321cce85bb7443E.llvm.16258808753110442553.exit.i539, label %2626 -2628: ; preds = %_ZN11smallbitvec11SmallBitVec3len17hd19085f87d1dfa85E.llvm.16258808753110442553.exit.i.i537 +2626: ; preds = %_ZN11smallbitvec11SmallBitVec3len17hd19085f87d1dfa85E.llvm.16258808753110442553.exit.i.i537 call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %29), !noalias !2788 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %28), !noalias !2788 store ptr %30, ptr %28, align 8, !noalias !2788 - %2629 = getelementptr inbounds nuw i8, ptr %28, i64 8 - store ptr @"_ZN4core3fmt3num3imp54_$LT$impl$u20$core..fmt..Display$u20$for$u20$usize$GT$3fmt17h54d4af2b1bb3d966E", ptr %2629, align 8, !noalias !2788 + %2627 = getelementptr inbounds nuw i8, ptr %28, i64 8 + store ptr @"_ZN4core3fmt3num3imp54_$LT$impl$u20$core..fmt..Display$u20$for$u20$usize$GT$3fmt17h54d4af2b1bb3d966E", ptr %2627, align 8, !noalias !2788 invoke void @_ZN4core3fmt9Arguments6new_v117h14574ab706dc1eb0E.llvm.16258808753110442553(ptr noalias noundef nonnull sret({ { ptr, i64 }, { ptr, i64 }, { ptr, i64 } }) align 8 captures(none) dereferenceable(48) %29, ptr noalias noundef nonnull readonly align 8 @anon.63c56c029849d52f8e59e08c8a58f399.28.llvm.16258808753110442553, i64 noundef 2, ptr noalias noundef nonnull readonly align 8 %28, i64 noundef 1) to label %.invoke1938 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp @@ -15771,75 +15769,75 @@ _ZN11smallbitvec11SmallBitVec3set17h72321cce85bb7443E.llvm.16258808753110442553. call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %30), !noalias !2779 br label %_ZN15tree_sitter_cli8generate5rules8TokenSet6remove17h96235b2a844d2007E.exit -_ZN15tree_sitter_cli8generate5rules8TokenSet6remove17h96235b2a844d2007E.exit: ; preds = %.noexc546, %.noexc542, %2613, %2612, %_ZN11smallbitvec11SmallBitVec3len17hd19085f87d1dfa85E.llvm.16258808753110442553.exit.thread.i, %_ZN11smallbitvec11SmallBitVec3len17hd19085f87d1dfa85E.llvm.16258808753110442553.exit.i540, %2597, %2594 +_ZN15tree_sitter_cli8generate5rules8TokenSet6remove17h96235b2a844d2007E.exit: ; preds = %.noexc546, %.noexc542, %2611, %2610, %_ZN11smallbitvec11SmallBitVec3len17hd19085f87d1dfa85E.llvm.16258808753110442553.exit.thread.i, %_ZN11smallbitvec11SmallBitVec3len17hd19085f87d1dfa85E.llvm.16258808753110442553.exit.i540, %2595, %2592 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %.sroa.045.sroa.6) call void @llvm.lifetime.start.p0(i64 5, ptr nonnull %.sroa.955) call void @llvm.experimental.noalias.scope.decl(metadata !2794) call void @llvm.experimental.noalias.scope.decl(metadata !2797) - %2630 = load i64, ptr %2513, align 8, !range !1069, !alias.scope !2800, !noundef !14 - %switch.i.i547 = icmp slt i64 %2630, -9223372036854775806 - br i1 %switch.i.i547, label %"_ZN4core3ptr65drop_in_place$LT$tree_sitter_cli..generate..rules..Precedence$GT$17he25aa4704d81d7b1E.llvm.15559585470061597875.exit.i", label %2631 + %2628 = load i64, ptr %2511, align 8, !range !1069, !alias.scope !2800, !noundef !14 + %switch.i.i547 = icmp slt i64 %2628, -9223372036854775806 + br i1 %switch.i.i547, label %"_ZN4core3ptr65drop_in_place$LT$tree_sitter_cli..generate..rules..Precedence$GT$17he25aa4704d81d7b1E.llvm.15559585470061597875.exit.i", label %2629 -2631: ; preds = %_ZN15tree_sitter_cli8generate5rules8TokenSet6remove17h96235b2a844d2007E.exit +2629: ; preds = %_ZN15tree_sitter_cli8generate5rules8TokenSet6remove17h96235b2a844d2007E.exit call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %27), !noalias !2801 - invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h843100ac3ff507c4E.llvm.15559585470061597875"(ptr noalias noundef nonnull sret({ [1 x i64], i64, [1 x i64] }) align 8 captures(none) dereferenceable(24) %27, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %2513) - to label %.noexc.i548 unwind label %2637 - -.noexc.i548: ; preds = %2631 - %2632 = load i64, ptr %249, align 8, !range !215, !noalias !2801, !noundef !14 - %.not.i.i.i.i.i.i549 = icmp eq i64 %2632, 0 - br i1 %.not.i.i.i.i.i.i549, label %"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h80292f77b629338bE.exit.i.i", label %2633 - -2633: ; preds = %.noexc.i548 - %2634 = load ptr, ptr %27, align 8, !noalias !2801, !nonnull !14, !noundef !14 - %2635 = load i64, ptr %250, align 8, !noalias !2801, !noundef !14 - %2636 = getelementptr inbounds i8, ptr %.pn.i510, i64 -16 - invoke void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17hae8e459b587c5295E.llvm.15559585470061597875"(ptr noalias noundef nonnull readonly align 1 %2636, ptr noundef nonnull %2634, i64 noundef %2632, i64 noundef %2635) - to label %"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h80292f77b629338bE.exit.i.i" unwind label %2637 - -"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h80292f77b629338bE.exit.i.i": ; preds = %2633, %.noexc.i548 + invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h843100ac3ff507c4E.llvm.15559585470061597875"(ptr noalias noundef nonnull sret({ [1 x i64], i64, [1 x i64] }) align 8 captures(none) dereferenceable(24) %27, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %2511) + to label %.noexc.i548 unwind label %2635 + +.noexc.i548: ; preds = %2629 + %2630 = load i64, ptr %249, align 8, !range !215, !noalias !2801, !noundef !14 + %.not.i.i.i.i.i.i549 = icmp eq i64 %2630, 0 + br i1 %.not.i.i.i.i.i.i549, label %"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h80292f77b629338bE.exit.i.i", label %2631 + +2631: ; preds = %.noexc.i548 + %2632 = load ptr, ptr %27, align 8, !noalias !2801, !nonnull !14, !noundef !14 + %2633 = load i64, ptr %250, align 8, !noalias !2801, !noundef !14 + %2634 = getelementptr inbounds i8, ptr %.pn.i510, i64 -16 + invoke void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17hae8e459b587c5295E.llvm.15559585470061597875"(ptr noalias noundef nonnull readonly align 1 %2634, ptr noundef nonnull %2632, i64 noundef %2630, i64 noundef %2633) + to label %"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h80292f77b629338bE.exit.i.i" unwind label %2635 + +"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h80292f77b629338bE.exit.i.i": ; preds = %2631, %.noexc.i548 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %27), !noalias !2801 br label %"_ZN4core3ptr65drop_in_place$LT$tree_sitter_cli..generate..rules..Precedence$GT$17he25aa4704d81d7b1E.llvm.15559585470061597875.exit.i" -2637: ; preds = %2633, %2631 - %2638 = landingpad { ptr, i32 } +2635: ; preds = %2631, %2629 + %2636 = landingpad { ptr, i32 } cleanup invoke void @"_ZN4core3ptr84drop_in_place$LT$alloc..vec..Vec$LT$tree_sitter_cli..generate..rules..Symbol$GT$$GT$17h9f9eb7a2fc792556E"(ptr noalias noundef nonnull align 8 dereferenceable(56) %.0.i511.le) #47 - to label %.body553 unwind label %2643 + to label %.body553 unwind label %2641 "_ZN4core3ptr65drop_in_place$LT$tree_sitter_cli..generate..rules..Precedence$GT$17he25aa4704d81d7b1E.llvm.15559585470061597875.exit.i": ; preds = %"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h80292f77b629338bE.exit.i.i", %_ZN15tree_sitter_cli8generate5rules8TokenSet6remove17h96235b2a844d2007E.exit call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %26), !noalias !2810 invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h8a9e96d781a37305E.llvm.15559585470061597875"(ptr noalias noundef nonnull sret({ [1 x i64], i64, [1 x i64] }) align 8 captures(none) dereferenceable(24) %26, ptr noalias noundef nonnull readonly align 8 dereferenceable(56) %.0.i511.le) - to label %.noexc551 unwind label %2645 + to label %.noexc551 unwind label %2643 .noexc551: ; preds = %"_ZN4core3ptr65drop_in_place$LT$tree_sitter_cli..generate..rules..Precedence$GT$17he25aa4704d81d7b1E.llvm.15559585470061597875.exit.i" - %2639 = load i64, ptr %251, align 8, !range !215, !noalias !2810, !noundef !14 - %.not.i.i.i.i550 = icmp eq i64 %2639, 0 - br i1 %.not.i.i.i.i550, label %2647, label %2640 - -2640: ; preds = %.noexc551 - %2641 = load ptr, ptr %26, align 8, !noalias !2810, !nonnull !14, !noundef !14 - %2642 = load i64, ptr %252, align 8, !noalias !2810, !noundef !14 - invoke void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17hae8e459b587c5295E.llvm.15559585470061597875"(ptr noalias noundef nonnull readonly align 1 %2541, ptr noundef nonnull %2641, i64 noundef %2639, i64 noundef %2642) - to label %2647 unwind label %2645 - -2643: ; preds = %2637 - %2644 = landingpad { ptr, i32 } + %2637 = load i64, ptr %251, align 8, !range !215, !noalias !2810, !noundef !14 + %.not.i.i.i.i550 = icmp eq i64 %2637, 0 + br i1 %.not.i.i.i.i550, label %2645, label %2638 + +2638: ; preds = %.noexc551 + %2639 = load ptr, ptr %26, align 8, !noalias !2810, !nonnull !14, !noundef !14 + %2640 = load i64, ptr %252, align 8, !noalias !2810, !noundef !14 + invoke void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17hae8e459b587c5295E.llvm.15559585470061597875"(ptr noalias noundef nonnull readonly align 1 %2539, ptr noundef nonnull %2639, i64 noundef %2637, i64 noundef %2640) + to label %2645 unwind label %2643 + +2641: ; preds = %2635 + %2642 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer call void @_ZN4core9panicking16panic_in_cleanup17h55eb1d85cadde1a1E() #48 unreachable -2645: ; preds = %2640, %"_ZN4core3ptr65drop_in_place$LT$tree_sitter_cli..generate..rules..Precedence$GT$17he25aa4704d81d7b1E.llvm.15559585470061597875.exit.i" - %2646 = landingpad { ptr, i32 } +2643: ; preds = %2638, %"_ZN4core3ptr65drop_in_place$LT$tree_sitter_cli..generate..rules..Precedence$GT$17he25aa4704d81d7b1E.llvm.15559585470061597875.exit.i" + %2644 = landingpad { ptr, i32 } cleanup br label %.body553 -.body553: ; preds = %2637, %2645 - %eh.lpad-body554 = phi { ptr, i32 } [ %2646, %2645 ], [ %2638, %2637 ] +.body553: ; preds = %2635, %2643 + %eh.lpad-body554 = phi { ptr, i32 } [ %2644, %2643 ], [ %2636, %2635 ] store i64 0, ptr %.0.i511.le, align 8 - store ptr inttoptr (i64 8 to ptr), ptr %2540, align 8 - store i64 0, ptr %2541, align 8 - store i64 -9223372036854775808, ptr %2513, align 8 + store ptr inttoptr (i64 8 to ptr), ptr %2538, align 8 + store i64 0, ptr %2539, align 8 + store i64 -9223372036854775808, ptr %2511, align 8 %.sroa.045.sroa.6.0..sroa_idx = getelementptr inbounds i8, ptr %.pn.i510, i64 -24 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.sroa.045.sroa.6.0..sroa_idx, ptr noundef nonnull align 8 dereferenceable(16) %.sroa.045.sroa.6, i64 16, i1 false) %.sroa.646.0..sroa_idx = getelementptr inbounds i8, ptr %.pn.i510, i64 -8 @@ -15852,12 +15850,12 @@ _ZN15tree_sitter_cli8generate5rules8TokenSet6remove17h96235b2a844d2007E.exit: ; call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(5) %.sroa.955.0..sroa_idx, ptr noundef nonnull align 1 dereferenceable(5) %.sroa.955, i64 5, i1 false) br label %.body -2647: ; preds = %.noexc551, %2640 +2645: ; preds = %.noexc551, %2638 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %26), !noalias !2810 store i64 0, ptr %.0.i511.le, align 8 - store ptr inttoptr (i64 8 to ptr), ptr %2540, align 8 - store i64 0, ptr %2541, align 8 - store i64 -9223372036854775808, ptr %2513, align 8 + store ptr inttoptr (i64 8 to ptr), ptr %2538, align 8 + store i64 0, ptr %2539, align 8 + store i64 -9223372036854775808, ptr %2511, align 8 %.sroa.646.0..sroa_idx47 = getelementptr inbounds i8, ptr %.pn.i510, i64 -8 store i8 0, ptr %.sroa.646.0..sroa_idx47, align 8 %.sroa.749.0..sroa_idx50 = getelementptr inbounds i8, ptr %.pn.i510, i64 -7 @@ -15868,188 +15866,188 @@ _ZN15tree_sitter_cli8generate5rules8TokenSet6remove17h96235b2a844d2007E.exit: ; call void @llvm.lifetime.end.p0(i64 5, ptr nonnull %.sroa.955) br label %_ZN15tree_sitter_cli8generate5rules8TokenSet6insert17hd5ca867a7dd68ffaE.exit -2648: ; preds = %2526 - %2649 = load i32, ptr %2416, align 8, !noundef !14 - br label %2651 +2646: ; preds = %2524 + %2647 = load i32, ptr %2414, align 8, !noundef !14 + br label %2649 -2650: ; preds = %2526 +2648: ; preds = %2524 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %159) invoke void @"_ZN60_$LT$alloc..string..String$u20$as$u20$core..clone..Clone$GT$5clone17hebbb1fc2363025c1E"(ptr noalias noundef nonnull sret({ { { i64, ptr }, i64 } }) align 8 captures(none) dereferenceable(24) %159, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %spec.select.i.i400) - to label %2660 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.loopexit.split-lp + to label %2658 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.loopexit.split-lp -2651: ; preds = %2526, %2660, %2648 - %.sroa.057.0 = phi i64 [ %.sroa.057.0.copyload, %2660 ], [ -9223372036854775807, %2648 ], [ -9223372036854775808, %2526 ] - %.sroa.760.3 = phi i32 [ %.sroa.760.0.copyload, %2660 ], [ %2649, %2648 ], [ %.sroa.760.2.ph, %2526 ] - %2652 = getelementptr inbounds i8, ptr %.pn.i510, i64 -32 +2649: ; preds = %2524, %2658, %2646 + %.sroa.057.0 = phi i64 [ %.sroa.057.0.copyload, %2658 ], [ -9223372036854775807, %2646 ], [ -9223372036854775808, %2524 ] + %.sroa.760.3 = phi i32 [ %.sroa.760.0.copyload, %2658 ], [ %2647, %2646 ], [ %.sroa.760.2.ph, %2524 ] + %2650 = getelementptr inbounds i8, ptr %.pn.i510, i64 -32 call void @llvm.experimental.noalias.scope.decl(metadata !2817) - %2653 = load i64, ptr %2652, align 8, !range !1069, !alias.scope !2817, !noundef !14 - %switch.i = icmp slt i64 %2653, -9223372036854775806 - br i1 %switch.i, label %"_ZN4core3ptr65drop_in_place$LT$tree_sitter_cli..generate..rules..Precedence$GT$17he25aa4704d81d7b1E.exit", label %2654 + %2651 = load i64, ptr %2650, align 8, !range !1069, !alias.scope !2817, !noundef !14 + %switch.i = icmp slt i64 %2651, -9223372036854775806 + br i1 %switch.i, label %"_ZN4core3ptr65drop_in_place$LT$tree_sitter_cli..generate..rules..Precedence$GT$17he25aa4704d81d7b1E.exit", label %2652 -2654: ; preds = %2651 +2652: ; preds = %2649 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %25), !noalias !2820 - invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h843100ac3ff507c4E.llvm.15559585470061597875"(ptr noalias noundef nonnull sret({ [1 x i64], i64, [1 x i64] }) align 8 captures(none) dereferenceable(24) %25, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %2652) - to label %.noexc556 unwind label %2661 - -.noexc556: ; preds = %2654 - %2655 = load i64, ptr %253, align 8, !range !215, !noalias !2820, !noundef !14 - %.not.i.i.i.i.i555 = icmp eq i64 %2655, 0 - br i1 %.not.i.i.i.i.i555, label %"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h80292f77b629338bE.exit.i", label %2656 - -2656: ; preds = %.noexc556 - %2657 = load ptr, ptr %25, align 8, !noalias !2820, !nonnull !14, !noundef !14 - %2658 = load i64, ptr %254, align 8, !noalias !2820, !noundef !14 - %2659 = getelementptr inbounds i8, ptr %.pn.i510, i64 -16 - invoke void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17hae8e459b587c5295E.llvm.15559585470061597875"(ptr noalias noundef nonnull readonly align 1 %2659, ptr noundef nonnull %2657, i64 noundef %2655, i64 noundef %2658) - to label %"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h80292f77b629338bE.exit.i" unwind label %2661 - -"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h80292f77b629338bE.exit.i": ; preds = %2656, %.noexc556 + invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h843100ac3ff507c4E.llvm.15559585470061597875"(ptr noalias noundef nonnull sret({ [1 x i64], i64, [1 x i64] }) align 8 captures(none) dereferenceable(24) %25, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %2650) + to label %.noexc556 unwind label %2659 + +.noexc556: ; preds = %2652 + %2653 = load i64, ptr %253, align 8, !range !215, !noalias !2820, !noundef !14 + %.not.i.i.i.i.i555 = icmp eq i64 %2653, 0 + br i1 %.not.i.i.i.i.i555, label %"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h80292f77b629338bE.exit.i", label %2654 + +2654: ; preds = %.noexc556 + %2655 = load ptr, ptr %25, align 8, !noalias !2820, !nonnull !14, !noundef !14 + %2656 = load i64, ptr %254, align 8, !noalias !2820, !noundef !14 + %2657 = getelementptr inbounds i8, ptr %.pn.i510, i64 -16 + invoke void @"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17hae8e459b587c5295E.llvm.15559585470061597875"(ptr noalias noundef nonnull readonly align 1 %2657, ptr noundef nonnull %2655, i64 noundef %2653, i64 noundef %2656) + to label %"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h80292f77b629338bE.exit.i" unwind label %2659 + +"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h80292f77b629338bE.exit.i": ; preds = %2654, %.noexc556 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %25), !noalias !2820 br label %"_ZN4core3ptr65drop_in_place$LT$tree_sitter_cli..generate..rules..Precedence$GT$17he25aa4704d81d7b1E.exit" -2660: ; preds = %2650 +2658: ; preds = %2648 %.sroa.057.0.copyload = load i64, ptr %159, align 8 %.sroa.760.0.copyload = load i32, ptr %.sroa.760.0..sroa_idx, align 8 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %.sroa.865, ptr noundef nonnull align 4 dereferenceable(12) %.sroa.865.0..sroa_idx, i64 12, i1 false) call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %159) - br label %2651 + br label %2649 -2661: ; preds = %2656, %2654 - %2662 = landingpad { ptr, i32 } +2659: ; preds = %2654, %2652 + %2660 = landingpad { ptr, i32 } cleanup - store i64 %.sroa.057.0, ptr %2652, align 8 + store i64 %.sroa.057.0, ptr %2650, align 8 %.sroa.760.0..sroa_idx61 = getelementptr inbounds i8, ptr %.pn.i510, i64 -24 store i32 %.sroa.760.3, ptr %.sroa.760.0..sroa_idx61, align 8 %.sroa.865.0..sroa_idx66 = getelementptr inbounds i8, ptr %.pn.i510, i64 -20 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %.sroa.865.0..sroa_idx66, ptr noundef nonnull align 4 dereferenceable(12) %.sroa.865, i64 12, i1 false) br label %.body -"_ZN4core3ptr65drop_in_place$LT$tree_sitter_cli..generate..rules..Precedence$GT$17he25aa4704d81d7b1E.exit": ; preds = %"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h80292f77b629338bE.exit.i", %2651 - store i64 %.sroa.057.0, ptr %2652, align 8 +"_ZN4core3ptr65drop_in_place$LT$tree_sitter_cli..generate..rules..Precedence$GT$17he25aa4704d81d7b1E.exit": ; preds = %"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h80292f77b629338bE.exit.i", %2649 + store i64 %.sroa.057.0, ptr %2650, align 8 %.sroa.760.0..sroa_idx63 = getelementptr inbounds i8, ptr %.pn.i510, i64 -24 store i32 %.sroa.760.3, ptr %.sroa.760.0..sroa_idx63, align 8 %.sroa.865.0..sroa_idx67 = getelementptr inbounds i8, ptr %.pn.i510, i64 -20 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %.sroa.865.0..sroa_idx67, ptr noundef nonnull align 4 dereferenceable(12) %.sroa.865, i64 12, i1 false) call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %.sroa.865) - %2663 = getelementptr inbounds i8, ptr %.pn.i510, i64 -48 - %2664 = load ptr, ptr %2663, align 8, !nonnull !14, !noundef !14 - %2665 = getelementptr inbounds i8, ptr %.pn.i510, i64 -40 - %2666 = load i64, ptr %2665, align 8, !noundef !14 - %.not.i558 = icmp eq i64 %2666, 0 + %2661 = getelementptr inbounds i8, ptr %.pn.i510, i64 -48 + %2662 = load ptr, ptr %2661, align 8, !nonnull !14, !noundef !14 + %2663 = getelementptr inbounds i8, ptr %.pn.i510, i64 -40 + %2664 = load i64, ptr %2663, align 8, !noundef !14 + %.not.i558 = icmp eq i64 %2664, 0 br i1 %.not.i558, label %.loopexit531, label %.lr.ph.i559 .lr.ph.i559: ; preds = %"_ZN4core3ptr65drop_in_place$LT$tree_sitter_cli..generate..rules..Precedence$GT$17he25aa4704d81d7b1E.exit", %.thread38.i560 - %.043.i = phi i64 [ %2678, %.thread38.i560 ], [ %2666, %"_ZN4core3ptr65drop_in_place$LT$tree_sitter_cli..generate..rules..Precedence$GT$17he25aa4704d81d7b1E.exit" ] - %.01942.i = phi i64 [ %2677, %.thread38.i560 ], [ 0, %"_ZN4core3ptr65drop_in_place$LT$tree_sitter_cli..generate..rules..Precedence$GT$17he25aa4704d81d7b1E.exit" ] - %.02041.i = phi i64 [ %2676, %.thread38.i560 ], [ %2666, %"_ZN4core3ptr65drop_in_place$LT$tree_sitter_cli..generate..rules..Precedence$GT$17he25aa4704d81d7b1E.exit" ] - %2667 = lshr i64 %.043.i, 1 - %2668 = add i64 %2667, %.01942.i - %2669 = icmp ult i64 %2668, %2666 - call void @llvm.assume(i1 %2669) - %2670 = getelementptr inbounds { i64, i8 }, ptr %2664, i64 %2668 - %.val23.i = load i64, ptr %2670, align 8, !alias.scope !2829, !noalias !2832 + %.043.i = phi i64 [ %2676, %.thread38.i560 ], [ %2664, %"_ZN4core3ptr65drop_in_place$LT$tree_sitter_cli..generate..rules..Precedence$GT$17he25aa4704d81d7b1E.exit" ] + %.01942.i = phi i64 [ %2675, %.thread38.i560 ], [ 0, %"_ZN4core3ptr65drop_in_place$LT$tree_sitter_cli..generate..rules..Precedence$GT$17he25aa4704d81d7b1E.exit" ] + %.02041.i = phi i64 [ %2674, %.thread38.i560 ], [ %2664, %"_ZN4core3ptr65drop_in_place$LT$tree_sitter_cli..generate..rules..Precedence$GT$17he25aa4704d81d7b1E.exit" ] + %2665 = lshr i64 %.043.i, 1 + %2666 = add i64 %2665, %.01942.i + %2667 = icmp ult i64 %2666, %2664 + call void @llvm.assume(i1 %2667) + %2668 = getelementptr inbounds { i64, i8 }, ptr %2662, i64 %2666 + %.val23.i = load i64, ptr %2668, align 8, !alias.scope !2829, !noalias !2832 %.val23.i.fr = freeze i64 %.val23.i - %2671 = getelementptr i8, ptr %2670, i64 8 - %.val24.i = load i8, ptr %2671, align 8, !range !415, !alias.scope !2829, !noalias !2832, !noundef !14 - %2672 = icmp samesign ult i8 %.val24.i, 4 - %2673 = icmp ult i64 %.val23.i.fr, %2063 - %or.cond = or i1 %2672, %2673 - br i1 %or.cond, label %.thread.i564, label %2675 + %2669 = getelementptr i8, ptr %2668, i64 8 + %.val24.i = load i8, ptr %2669, align 8, !range !415, !alias.scope !2829, !noalias !2832, !noundef !14 + %2670 = icmp samesign ult i8 %.val24.i, 4 + %2671 = icmp ult i64 %.val23.i.fr, %2061 + %or.cond = or i1 %2670, %2671 + br i1 %or.cond, label %.thread.i564, label %2673 .thread.i564: ; preds = %.lr.ph.i559 - %2674 = add nuw i64 %2668, 1 + %2672 = add nuw i64 %2666, 1 br label %.thread38.i560 -2675: ; preds = %.lr.ph.i559 - %.not = icmp eq i64 %.val23.i.fr, %2063 +2673: ; preds = %.lr.ph.i559 + %.not = icmp eq i64 %.val23.i.fr, %2061 br i1 %.not, label %.loopexit530, label %.thread38.i560 -.thread38.i560: ; preds = %2675, %.thread.i564 - %2676 = phi i64 [ %2668, %2675 ], [ %.02041.i, %.thread.i564 ] - %2677 = phi i64 [ %.01942.i, %2675 ], [ %2674, %.thread.i564 ] - %2678 = sub i64 %2676, %2677 - %2679 = icmp ult i64 %2677, %2676 - br i1 %2679, label %.lr.ph.i559, label %.loopexit531 +.thread38.i560: ; preds = %2673, %.thread.i564 + %2674 = phi i64 [ %2666, %2673 ], [ %.02041.i, %.thread.i564 ] + %2675 = phi i64 [ %.01942.i, %2673 ], [ %2672, %.thread.i564 ] + %2676 = sub i64 %2674, %2675 + %2677 = icmp ult i64 %2675, %2674 + br i1 %2677, label %.lr.ph.i559, label %.loopexit531 .loopexit531: ; preds = %.thread38.i560, %"_ZN4core3ptr65drop_in_place$LT$tree_sitter_cli..generate..rules..Precedence$GT$17he25aa4704d81d7b1E.exit" - %.019.lcssa.i = phi i64 [ 0, %"_ZN4core3ptr65drop_in_place$LT$tree_sitter_cli..generate..rules..Precedence$GT$17he25aa4704d81d7b1E.exit" ], [ %2677, %.thread38.i560 ] - %2680 = icmp ule i64 %.019.lcssa.i, %2666 - call void @llvm.assume(i1 %2680) - %2681 = load i64, ptr %.0.i511976, align 8, !alias.scope !2834, !noundef !14 - %2682 = icmp eq i64 %2666, %2681 - br i1 %2682, label %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$7reserve17hce23499df57aba93E.llvm.1408760718162522189.exit.i", label %.noexc565 + %.019.lcssa.i = phi i64 [ 0, %"_ZN4core3ptr65drop_in_place$LT$tree_sitter_cli..generate..rules..Precedence$GT$17he25aa4704d81d7b1E.exit" ], [ %2675, %.thread38.i560 ] + %2678 = icmp ule i64 %.019.lcssa.i, %2664 + call void @llvm.assume(i1 %2678) + %2679 = load i64, ptr %.0.i511976, align 8, !alias.scope !2834, !noundef !14 + %2680 = icmp eq i64 %2664, %2679 + br i1 %2680, label %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$7reserve17hce23499df57aba93E.llvm.1408760718162522189.exit.i", label %.noexc565 "_ZN5alloc3vec16Vec$LT$T$C$A$GT$7reserve17hce23499df57aba93E.llvm.1408760718162522189.exit.i": ; preds = %.loopexit531 - invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$7reserve21do_reserve_and_handle17he6b01d2f7edfb4efE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %.0.i511976, i64 noundef %2666, i64 noundef 1) + invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$7reserve21do_reserve_and_handle17he6b01d2f7edfb4efE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %.0.i511976, i64 noundef %2664, i64 noundef 1) to label %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$7reserve17hce23499df57aba93E.llvm.1408760718162522189.exit.i..noexc565_crit_edge" unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.loopexit.split-lp "_ZN5alloc3vec16Vec$LT$T$C$A$GT$7reserve17hce23499df57aba93E.llvm.1408760718162522189.exit.i..noexc565_crit_edge": ; preds = %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$7reserve17hce23499df57aba93E.llvm.1408760718162522189.exit.i" - %.pre1507 = load ptr, ptr %2663, align 8, !alias.scope !2834 + %.pre1507 = load ptr, ptr %2661, align 8, !alias.scope !2834 br label %.noexc565 .noexc565: ; preds = %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$7reserve17hce23499df57aba93E.llvm.1408760718162522189.exit.i..noexc565_crit_edge", %.loopexit531 - %2683 = phi ptr [ %.pre1507, %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$7reserve17hce23499df57aba93E.llvm.1408760718162522189.exit.i..noexc565_crit_edge" ], [ %2664, %.loopexit531 ] - %2684 = getelementptr inbounds { i64, i8 }, ptr %2683, i64 %.019.lcssa.i - %2685 = icmp ult i64 %.019.lcssa.i, %2666 - br i1 %2685, label %2686, label %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6insert17hef2ca530a52532c0E.exit" - -2686: ; preds = %.noexc565 - %2687 = getelementptr inbounds nuw i8, ptr %2684, i64 16 - %2688 = sub nuw i64 %2666, %.019.lcssa.i - %2689 = shl i64 %2688, 4 - call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %2687, ptr nonnull align 8 %2684, i64 %2689, i1 false) + %2681 = phi ptr [ %.pre1507, %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$7reserve17hce23499df57aba93E.llvm.1408760718162522189.exit.i..noexc565_crit_edge" ], [ %2662, %.loopexit531 ] + %2682 = getelementptr inbounds { i64, i8 }, ptr %2681, i64 %.019.lcssa.i + %2683 = icmp ult i64 %.019.lcssa.i, %2664 + br i1 %2683, label %2684, label %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6insert17hef2ca530a52532c0E.exit" + +2684: ; preds = %.noexc565 + %2685 = getelementptr inbounds nuw i8, ptr %2682, i64 16 + %2686 = sub nuw i64 %2664, %.019.lcssa.i + %2687 = shl i64 %2686, 4 + call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %2685, ptr nonnull align 8 %2682, i64 %2687, i1 false) br label %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6insert17hef2ca530a52532c0E.exit" -"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6insert17hef2ca530a52532c0E.exit": ; preds = %.noexc565, %2686 - store i64 %2063, ptr %2684, align 8 - %2690 = getelementptr inbounds nuw i8, ptr %2684, i64 8 - store i8 4, ptr %2690, align 8 - %2691 = add i64 %2666, 1 - store i64 %2691, ptr %2665, align 8, !alias.scope !2834 +"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6insert17hef2ca530a52532c0E.exit": ; preds = %.noexc565, %2684 + store i64 %2061, ptr %2682, align 8 + %2688 = getelementptr inbounds nuw i8, ptr %2682, i64 8 + store i8 4, ptr %2688, align 8 + %2689 = add i64 %2664, 1 + store i64 %2689, ptr %2663, align 8, !alias.scope !2834 br label %.loopexit530 -.loopexit530: ; preds = %2675, %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6insert17hef2ca530a52532c0E.exit" - br i1 %2417, label %2692, label %2694 +.loopexit530: ; preds = %2673, %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6insert17hef2ca530a52532c0E.exit" + br i1 %2415, label %2690, label %2692 -2692: ; preds = %.loopexit530 - %2693 = getelementptr inbounds i8, ptr %.pn.i510, i64 -6 - store i8 1, ptr %2693, align 2 +2690: ; preds = %.loopexit530 + %2691 = getelementptr inbounds i8, ptr %.pn.i510, i64 -6 + store i8 1, ptr %2691, align 2 br label %.outer.backedge -2694: ; preds = %.loopexit530 - br i1 %trunc194, label %2697, label %2695 +2692: ; preds = %.loopexit530 + br i1 %trunc194, label %2695, label %2693 -2695: ; preds = %2694 - %2696 = getelementptr inbounds i8, ptr %.pn.i510, i64 -8 - store i8 1, ptr %2696, align 8 +2693: ; preds = %2692 + %2694 = getelementptr inbounds i8, ptr %.pn.i510, i64 -8 + store i8 1, ptr %2694, align 8 br label %.outer.backedge -2697: ; preds = %2694 - %2698 = getelementptr inbounds i8, ptr %.pn.i510, i64 -7 - store i8 1, ptr %2698, align 1 +2695: ; preds = %2692 + %2696 = getelementptr inbounds i8, ptr %.pn.i510, i64 -7 + store i8 1, ptr %2696, align 1 br label %.outer.backedge -.outer.backedge: ; preds = %2697, %2695, %2692 +.outer.backedge: ; preds = %2695, %2693, %2690 br label %.outer -.thread: ; preds = %2700, %194 - %2699 = trunc nuw i8 %.3 to i1 - br i1 %2699, label %2701, label %.thread.thread +.thread: ; preds = %2698, %194 + %2697 = trunc nuw i8 %.3 to i1 + br i1 %2697, label %2699, label %.thread.thread -2700: ; preds = %194 +2698: ; preds = %194 invoke void @"_ZN4core3ptr171drop_in_place$LT$alloc..collections..btree..map..BTreeMap$LT$tree_sitter_cli..generate..rules..Symbol$C$tree_sitter_cli..generate..build_tables..item..ParseItemSet$GT$$GT$17h7080d48f5c6d8b2eE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %186) #47 to label %.thread unwind label %640 -.thread.thread: ; preds = %1849, %581, %196, %2701, %.thread - %.pn206251479 = phi { ptr, i32 } [ %.pn204, %2701 ], [ %.pn204, %.thread ], [ %1850, %1849 ], [ %582, %581 ], [ %197, %196 ] +.thread.thread: ; preds = %1847, %581, %196, %2699, %.thread + %.pn206251479 = phi { ptr, i32 } [ %.pn204, %2699 ], [ %.pn204, %.thread ], [ %1848, %1847 ], [ %582, %581 ], [ %197, %196 ] invoke void @"_ZN4core3ptr123drop_in_place$LT$alloc..vec..Vec$LT$tree_sitter_cli..generate..build_tables..build_parse_table..AuxiliarySymbolInfo$GT$$GT$17hef974d05da1465a5E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %2) #47 to label %585 unwind label %640 -2701: ; preds = %.thread +2699: ; preds = %.thread invoke void @"_ZN4core3ptr171drop_in_place$LT$alloc..collections..btree..map..BTreeMap$LT$tree_sitter_cli..generate..rules..Symbol$C$tree_sitter_cli..generate..build_tables..item..ParseItemSet$GT$$GT$17h7080d48f5c6d8b2eE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %187) #47 to label %.thread.thread unwind label %640 -2702: ; preds = %585 +2700: ; preds = %585 resume { ptr, i32 } %.pn208 } diff --git a/bench/wasmedge/optimized/section.cpp.ll b/bench/wasmedge/optimized/section.cpp.ll index 6e4d930d31a..67043853233 100644 --- a/bench/wasmedge/optimized/section.cpp.ll +++ b/bench/wasmedge/optimized/section.cpp.ll @@ -4651,14 +4651,14 @@ _ZNSt12_Vector_baseIhSaIhEE13_M_deallocateEPhm.exit.i: ; preds = %97, %.noexc50 _ZSt7advanceIPKhmEvRT_T0_.exit.i: ; preds = %99 %.not.i.i.i.i.i17.i = icmp eq ptr %101, %88 - br i1 %.not.i.i.i.i.i17.i, label %_ZSt22__uninitialized_copy_aIPKhPhhET0_T_S4_S3_RSaIT1_E.exit.i, label %108 + br i1 %.not.i.i.i.i.i17.i, label %_ZSt4copyIPKhPhET0_T_S4_S3_.exit18.i, label %108 108: ; preds = %_ZSt7advanceIPKhmEvRT_T0_.exit.i call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(1) %88, ptr noundef nonnull align 2 dereferenceable(1) %10, i64 %103, i1 false) %.pre26.i = load ptr, ptr %100, align 8 - br label %_ZSt22__uninitialized_copy_aIPKhPhhET0_T_S4_S3_RSaIT1_E.exit.i + br label %_ZSt4copyIPKhPhET0_T_S4_S3_.exit18.i -_ZSt22__uninitialized_copy_aIPKhPhhET0_T_S4_S3_RSaIT1_E.exit.i: ; preds = %108, %_ZSt7advanceIPKhmEvRT_T0_.exit.i +_ZSt4copyIPKhPhET0_T_S4_S3_.exit18.i: ; preds = %108, %_ZSt7advanceIPKhmEvRT_T0_.exit.i %109 = phi ptr [ %101, %_ZSt7advanceIPKhmEvRT_T0_.exit.i ], [ %.pre26.i, %108 ] %.sink.i.i25.i.idx.sroa.phi = phi ptr [ %10, %_ZSt7advanceIPKhmEvRT_T0_.exit.i ], [ %.sink.i.i25.i.idx.sroa.gep91, %108 ] %gepdiff = sub nuw nsw i64 2, %103 @@ -4667,7 +4667,7 @@ _ZSt22__uninitialized_copy_aIPKhPhhET0_T_S4_S3_RSaIT1_E.exit.i: ; preds = %108, store ptr %110, ptr %100, align 8 br label %_ZNSt6vectorIhSaIhEEaSESt16initializer_listIhE.exit -_ZNSt6vectorIhSaIhEEaSESt16initializer_listIhE.exit: ; preds = %_ZNSt12_Vector_baseIhSaIhEE13_M_deallocateEPhm.exit.i, %104, %107, %_ZSt22__uninitialized_copy_aIPKhPhhET0_T_S4_S3_RSaIT1_E.exit.i +_ZNSt6vectorIhSaIhEEaSESt16initializer_listIhE.exit: ; preds = %_ZNSt12_Vector_baseIhSaIhEE13_M_deallocateEPhm.exit.i, %104, %107, %_ZSt4copyIPKhPhET0_T_S4_S3_.exit18.i %111 = getelementptr inbounds nuw i8, ptr %73, i64 2 %112 = load i8, ptr %111, align 1 store i8 %112, ptr %11, align 2 @@ -4729,14 +4729,14 @@ _ZNSt12_Vector_baseIhSaIhEE13_M_deallocateEPhm.exit.i66: ; preds = %127, %.noexc _ZSt7advanceIPKhmEvRT_T0_.exit.i56: ; preds = %129 %.not.i.i.i.i.i17.i57 = icmp eq ptr %131, %118 - br i1 %.not.i.i.i.i.i17.i57, label %_ZSt22__uninitialized_copy_aIPKhPhhET0_T_S4_S3_RSaIT1_E.exit.i63, label %138 + br i1 %.not.i.i.i.i.i17.i57, label %_ZSt4copyIPKhPhET0_T_S4_S3_.exit18.i60, label %138 138: ; preds = %_ZSt7advanceIPKhmEvRT_T0_.exit.i56 call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(1) %118, ptr noundef nonnull align 2 dereferenceable(1) %11, i64 %133, i1 false) %.pre26.i59 = load ptr, ptr %130, align 8 - br label %_ZSt22__uninitialized_copy_aIPKhPhhET0_T_S4_S3_RSaIT1_E.exit.i63 + br label %_ZSt4copyIPKhPhET0_T_S4_S3_.exit18.i60 -_ZSt22__uninitialized_copy_aIPKhPhhET0_T_S4_S3_RSaIT1_E.exit.i63: ; preds = %138, %_ZSt7advanceIPKhmEvRT_T0_.exit.i56 +_ZSt4copyIPKhPhET0_T_S4_S3_.exit18.i60: ; preds = %138, %_ZSt7advanceIPKhmEvRT_T0_.exit.i56 %139 = phi ptr [ %131, %_ZSt7advanceIPKhmEvRT_T0_.exit.i56 ], [ %.pre26.i59, %138 ] %.sink.i.i25.i61.idx.sroa.phi = phi ptr [ %11, %_ZSt7advanceIPKhmEvRT_T0_.exit.i56 ], [ %.sink.i.i25.i61.idx.sroa.gep90, %138 ] %gepdiff89 = sub nuw nsw i64 2, %133 @@ -4745,7 +4745,7 @@ _ZSt22__uninitialized_copy_aIPKhPhhET0_T_S4_S3_RSaIT1_E.exit.i63: ; preds = %138 store ptr %140, ptr %130, align 8 br label %_ZNSt6vectorIhSaIhEEaSESt16initializer_listIhE.exit22 -_ZNSt6vectorIhSaIhEEaSESt16initializer_listIhE.exit22: ; preds = %_ZNSt12_Vector_baseIhSaIhEE13_M_deallocateEPhm.exit.i66, %134, %137, %_ZSt22__uninitialized_copy_aIPKhPhhET0_T_S4_S3_RSaIT1_E.exit.i63 +_ZNSt6vectorIhSaIhEEaSESt16initializer_listIhE.exit22: ; preds = %_ZNSt12_Vector_baseIhSaIhEE13_M_deallocateEPhm.exit.i66, %134, %137, %_ZSt4copyIPKhPhET0_T_S4_S3_.exit18.i60 invoke void @_ZN8WasmEdge6Loader6Loader13loadComponentERNS_3AST9Component9ComponentE(ptr dead_on_unwind nonnull writable sret(%"class.cxx20::expected") align 4 %12, ptr noundef nonnull align 8 dereferenceable(360) %1, ptr noundef nonnull align 8 dereferenceable(96) %79) to label %141 unwind label %149 diff --git a/bench/wireshark/optimized/packet-catapult-dct2000.c.ll b/bench/wireshark/optimized/packet-catapult-dct2000.c.ll index 37518333512..3f2f3fa4f21 100644 --- a/bench/wireshark/optimized/packet-catapult-dct2000.c.ll +++ b/bench/wireshark/optimized/packet-catapult-dct2000.c.ll @@ -718,7 +718,7 @@ define internal i32 @dissect_catapult_dct2000(ptr noundef %0, ptr noundef %1, pt %49 = getelementptr inbounds nuw i8, ptr %1, i64 408 %50 = load ptr, ptr %49, align 8 %51 = call ptr @tvb_get_stringz_enc(ptr noundef %50, ptr noundef %0, i32 noundef 0, ptr noundef nonnull %8, i32 noundef 0) #9 - br label %.thread668 + br label %.thread669 52: ; preds = %4 %53 = load i32, ptr @proto_catapult_dct2000, align 4 @@ -729,12 +729,12 @@ define internal i32 @dissect_catapult_dct2000(ptr noundef %0, ptr noundef %1, pt %58 = load ptr, ptr %57, align 8 %59 = call ptr @tvb_get_stringz_enc(ptr noundef %58, ptr noundef %0, i32 noundef 0, ptr noundef nonnull %8, i32 noundef 0) #9 %.not535 = icmp eq ptr %56, null - br i1 %.not535, label %.thread668, label %62 + br i1 %.not535, label %.thread669, label %62 -.thread668: ; preds = %.thread, %52 +.thread669: ; preds = %.thread, %52 %.ph = phi ptr [ %59, %52 ], [ %51, %.thread ] - %.ph667 = phi ptr [ %57, %52 ], [ %49, %.thread ] - %.0487663.ph = phi ptr [ %54, %52 ], [ null, %.thread ] + %.ph668 = phi ptr [ %57, %52 ], [ %49, %.thread ] + %.0487664.ph = phi ptr [ %54, %52 ], [ null, %.thread ] %60 = load i32, ptr %8, align 4 %61 = call zeroext i8 @tvb_get_guint8(ptr noundef %0, i32 noundef %60) #9 br label %70 @@ -750,23 +750,23 @@ define internal i32 @dissect_catapult_dct2000(ptr noundef %0, ptr noundef %1, pt %69 = call ptr @proto_tree_add_item(ptr noundef nonnull %56, i32 noundef %68, ptr noundef %0, i32 noundef %66, i32 noundef 1, i32 noundef 0) #9 br label %70 -70: ; preds = %.thread668, %62 - %71 = phi i8 [ %61, %.thread668 ], [ %67, %62 ] - %72 = phi i32 [ %60, %.thread668 ], [ %66, %62 ] - %.0487663674 = phi ptr [ %.0487663.ph, %.thread668 ], [ %54, %62 ] - %.0486664673 = phi ptr [ null, %.thread668 ], [ %56, %62 ] - %73 = phi ptr [ %.ph667, %.thread668 ], [ %57, %62 ] - %74 = phi ptr [ %.ph, %.thread668 ], [ %59, %62 ] - %.not535666672 = phi i1 [ true, %.thread668 ], [ false, %62 ] +70: ; preds = %.thread669, %62 + %71 = phi i8 [ %61, %.thread669 ], [ %67, %62 ] + %72 = phi i32 [ %60, %.thread669 ], [ %66, %62 ] + %.0487664675 = phi ptr [ %.0487664.ph, %.thread669 ], [ %54, %62 ] + %.0486665674 = phi ptr [ null, %.thread669 ], [ %56, %62 ] + %73 = phi ptr [ %.ph668, %.thread669 ], [ %57, %62 ] + %74 = phi ptr [ %.ph, %.thread669 ], [ %59, %62 ] + %.not535667673 = phi i1 [ true, %.thread669 ], [ false, %62 ] %75 = add i32 %72, 1 %76 = load ptr, ptr %73, align 8 %77 = call ptr @tvb_get_stringz_enc(ptr noundef %76, ptr noundef %0, i32 noundef %75, ptr noundef nonnull %10, i32 noundef 0) #9 - br i1 %.not535666672, label %117, label %78 + br i1 %.not535667673, label %117, label %78 78: ; preds = %70 %79 = load i32, ptr %10, align 4 %80 = icmp slt i32 %79, 7 - br i1 %80, label %1383, label %.lr.ph.preheader + br i1 %80, label %1382, label %.lr.ph.preheader .lr.ph.preheader: ; preds = %78 %81 = add nsw i32 %79, -7 @@ -775,18 +775,18 @@ define internal i32 @dissect_catapult_dct2000(ptr noundef %0, ptr noundef %1, pt .lr.ph: ; preds = %.lr.ph.preheader, %.lr.ph %indvars.iv = phi i64 [ %82, %.lr.ph.preheader ], [ %indvars.iv.next, %.lr.ph ] - %.0493725 = phi i32 [ 0, %.lr.ph.preheader ], [ %88, %.lr.ph ] - %.0494724 = phi i32 [ 1, %.lr.ph.preheader ], [ %89, %.lr.ph ] + %.0493726 = phi i32 [ 0, %.lr.ph.preheader ], [ %88, %.lr.ph ] + %.0494725 = phi i32 [ 1, %.lr.ph.preheader ], [ %89, %.lr.ph ] %83 = getelementptr i8, ptr %77, i64 %indvars.iv %84 = load i8, ptr %83, align 1 %85 = sext i8 %84 to i32 %86 = add nsw i32 %85, -48 - %87 = mul i32 %86, %.0494724 - %88 = add i32 %87, %.0493725 - %89 = mul i32 %.0494724, 10 + %87 = mul i32 %86, %.0494725 + %88 = add i32 %87, %.0493726 + %89 = mul i32 %.0494725, 10 %indvars.iv.next = add nsw i64 %indvars.iv, -1 - %.not834 = icmp eq i64 %indvars.iv, 0 - br i1 %.not834, label %._crit_edge, label %.lr.ph, !llvm.loop !4 + %.not835 = icmp eq i64 %indvars.iv, 0 + br i1 %.not835, label %._crit_edge, label %.lr.ph, !llvm.loop !4 ._crit_edge: ; preds = %.lr.ph %90 = zext nneg i32 %79 to i64 @@ -815,7 +815,7 @@ define internal i32 @dissect_catapult_dct2000(ptr noundef %0, ptr noundef %1, pt %113 = sitofp i32 %110 to double %114 = fdiv double %113, 1.000000e+04 %115 = fadd double %114, %112 - %116 = call ptr @proto_tree_add_double(ptr noundef nonnull %.0486664673, i32 noundef %111, ptr noundef %0, i32 noundef %75, i32 noundef %79, double noundef %115) #9 + %116 = call ptr @proto_tree_add_double(ptr noundef nonnull %.0486665674, i32 noundef %111, ptr noundef %0, i32 noundef %75, i32 noundef %79, double noundef %115) #9 br label %117 117: ; preds = %._crit_edge, %70 @@ -823,12 +823,12 @@ define internal i32 @dissect_catapult_dct2000(ptr noundef %0, ptr noundef %1, pt %119 = add i32 %118, %75 %120 = load ptr, ptr %73, align 8 %121 = call ptr @tvb_get_stringz_enc(ptr noundef %120, ptr noundef %0, i32 noundef %119, ptr noundef nonnull %9, i32 noundef 0) #9 - br i1 %.not535666672, label %126, label %122 + br i1 %.not535667673, label %126, label %122 122: ; preds = %117 %123 = load i32, ptr @hf_catapult_dct2000_protocol, align 4 %124 = load i32, ptr %9, align 4 - %125 = call ptr @proto_tree_add_string(ptr noundef nonnull %.0486664673, i32 noundef %123, ptr noundef %0, i32 noundef %119, i32 noundef %124, ptr noundef %121) #9 + %125 = call ptr @proto_tree_add_string(ptr noundef nonnull %.0486665674, i32 noundef %123, ptr noundef %0, i32 noundef %119, i32 noundef %124, ptr noundef %121) #9 br label %126 126: ; preds = %122, %117 @@ -853,7 +853,7 @@ define internal i32 @dissect_catapult_dct2000(ptr noundef %0, ptr noundef %1, pt 137: ; preds = %132 %138 = load i32, ptr @hf_catapult_dct2000_variant, align 4 %139 = load i32, ptr %11, align 4 - %140 = call ptr @proto_tree_add_string(ptr noundef %.0486664673, i32 noundef %138, ptr noundef %0, i32 noundef %134, i32 noundef %139, ptr noundef %136) #9 + %140 = call ptr @proto_tree_add_string(ptr noundef %.0486665674, i32 noundef %138, ptr noundef %0, i32 noundef %134, i32 noundef %139, ptr noundef %136) #9 br label %141 141: ; preds = %137, %132 @@ -868,7 +868,7 @@ define internal i32 @dissect_catapult_dct2000(ptr noundef %0, ptr noundef %1, pt 148: ; preds = %141 %149 = load i32, ptr @hf_catapult_dct2000_outhdr, align 4 - %150 = call ptr @proto_tree_add_string(ptr noundef %.0486664673, i32 noundef %149, ptr noundef %0, i32 noundef %143, i32 noundef %146, ptr noundef %145) #9 + %150 = call ptr @proto_tree_add_string(ptr noundef %.0486665674, i32 noundef %149, ptr noundef %0, i32 noundef %143, i32 noundef %146, ptr noundef %145) #9 %.pre = load i32, ptr %13, align 4 br label %151 @@ -876,11 +876,11 @@ define internal i32 @dissect_catapult_dct2000(ptr noundef %0, ptr noundef %1, pt %152 = phi i32 [ %.pre, %148 ], [ %146, %141 ] %153 = add i32 %152, %143 %154 = call zeroext i8 @tvb_get_guint8(ptr noundef %0, i32 noundef %153) #9 - br i1 %.not535666672, label %158, label %155 + br i1 %.not535667673, label %158, label %155 155: ; preds = %151 %156 = load i32, ptr @hf_catapult_dct2000_direction, align 4 - %157 = call ptr @proto_tree_add_item(ptr noundef nonnull %.0486664673, i32 noundef %156, ptr noundef %0, i32 noundef %153, i32 noundef 1, i32 noundef 0) #9 + %157 = call ptr @proto_tree_add_item(ptr noundef nonnull %.0486665674, i32 noundef %156, ptr noundef %0, i32 noundef %153, i32 noundef 1, i32 noundef 0) #9 br label %158 158: ; preds = %155, %151 @@ -889,7 +889,7 @@ define internal i32 @dissect_catapult_dct2000(ptr noundef %0, ptr noundef %1, pt 160: ; preds = %158 %161 = load i32, ptr @hf_catapult_dct2000_encap, align 4 - %162 = call ptr @proto_tree_add_item(ptr noundef %.0486664673, i32 noundef %161, ptr noundef %0, i32 noundef %159, i32 noundef 1, i32 noundef 0) #9 + %162 = call ptr @proto_tree_add_item(ptr noundef %.0486665674, i32 noundef %161, ptr noundef %0, i32 noundef %159, i32 noundef 1, i32 noundef 0) #9 br label %sub_0 sub_0: ; preds = %160, %158 @@ -900,17 +900,17 @@ sub_0: ; preds = %160, %158 %166 = zext i8 %154 to i32 %167 = icmp eq i8 %154, 0 %168 = select i1 %167, i32 83, i32 82 - call void (ptr, ptr, ...) @proto_item_append_text(ptr noundef %.0487663674, ptr noundef nonnull @.str.298, ptr noundef %74, i32 noundef %165, ptr noundef %77, i32 noundef %168, ptr noundef nonnull %121, ptr noundef %136) #9 + call void (ptr, ptr, ...) @proto_item_append_text(ptr noundef %.0487664675, ptr noundef nonnull @.str.298, ptr noundef %74, i32 noundef %165, ptr noundef %77, i32 noundef %168, ptr noundef nonnull %121, ptr noundef %136) #9 call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(128) %14, i8 0, i64 128, i1 false) %169 = load i8, ptr %121, align 1 - %.not754 = icmp eq i8 %169, 102 - br i1 %.not754, label %sub_1, label %.tail.thread + %.not755 = icmp eq i8 %169, 102 + br i1 %.not755, label %sub_1, label %.tail.thread sub_1: ; preds = %sub_0 %170 = getelementptr inbounds nuw i8, ptr %121, i64 1 %171 = load i8, ptr %170, align 1 - %.not755 = icmp eq i8 %171, 112 - br i1 %.not755, label %.tail, label %.tail.thread + %.not756 = icmp eq i8 %171, 112 + br i1 %.not756, label %.tail, label %.tail.thread .tail: ; preds = %sub_1 %172 = getelementptr inbounds nuw i8, ptr %121, i64 2 @@ -950,9 +950,9 @@ sub_1: ; preds = %sub_0 br label %parse_outhdr_string.exit .lr.ph.i: ; preds = %.lr.ph.i.preheader, %193 - %indvars.iv783 = phi i64 [ %185, %.lr.ph.i.preheader ], [ %indvars.iv.next784, %193 ] + %indvars.iv784 = phi i64 [ %185, %.lr.ph.i.preheader ], [ %indvars.iv.next785, %193 ] %indvars.iv.i = phi i64 [ 0, %.lr.ph.i.preheader ], [ %indvars.iv.next.i, %193 ] - %187 = getelementptr i8, ptr %145, i64 %indvars.iv783 + %187 = getelementptr i8, ptr %145, i64 %indvars.iv784 %188 = load i8, ptr %187, align 1 %189 = zext i8 %188 to i64 %190 = getelementptr i16, ptr %182, i64 %189 @@ -967,14 +967,14 @@ sub_1: ; preds = %sub_0 %indvars.iv.next.i = add nuw nsw i64 %indvars.iv.i, 1 %196 = getelementptr [32 x i32], ptr %6, i64 0, i64 %indvars.iv.i store i32 %195, ptr %196, align 4 - %indvars.iv.next784 = add nsw i64 %indvars.iv783, 1 - %197 = icmp slt i64 %indvars.iv.next784, %183 + %indvars.iv.next785 = add nsw i64 %indvars.iv784, 1 + %197 = icmp slt i64 %indvars.iv.next785, %183 %198 = icmp samesign ult i64 %indvars.iv.i, 31 %199 = select i1 %197, i1 %198, i1 false br i1 %199, label %.lr.ph.i, label %._crit_edge.i, !llvm.loop !6 ._crit_edge.i: ; preds = %193, %.lr.ph.i - %.1.lcssa.ph.i.in = phi i64 [ %indvars.iv.next784, %193 ], [ %indvars.iv783, %.lr.ph.i ] + %.1.lcssa.ph.i.in = phi i64 [ %indvars.iv.next785, %193 ], [ %indvars.iv784, %.lr.ph.i ] %.024.lcssa.ph.in.i = phi i64 [ %indvars.iv.next.i, %193 ], [ %indvars.iv.i, %.lr.ph.i ] %.1.lcssa.ph.i = trunc i64 %.1.lcssa.ph.i.in to i32 %200 = and i64 %.024.lcssa.ph.in.i, 4294967295 @@ -1364,7 +1364,7 @@ sub_1.i: ; preds = %sub_0.i br label %attach_fp_info.exit 378: ; preds = %parse_outhdr_string.exit - %379 = call ptr @expert_add_info(ptr noundef %1, ptr noundef %.0487663674, ptr noundef nonnull @ei_catapult_dct2000_string_invalid) #9 + %379 = call ptr @expert_add_info(ptr noundef %1, ptr noundef %.0487664675, ptr noundef nonnull @ei_catapult_dct2000_string_invalid) #9 br label %attach_fp_info.exit 380: ; preds = %177 @@ -1424,9 +1424,9 @@ sub_1.i: ; preds = %sub_0.i br label %parse_outhdr_string.exit606 .lr.ph.i589: ; preds = %.lr.ph.i589.preheader, %414 - %indvars.iv780 = phi i64 [ %406, %.lr.ph.i589.preheader ], [ %indvars.iv.next781, %414 ] + %indvars.iv781 = phi i64 [ %406, %.lr.ph.i589.preheader ], [ %indvars.iv.next782, %414 ] %indvars.iv.i590 = phi i64 [ 0, %.lr.ph.i589.preheader ], [ %indvars.iv.next.i593, %414 ] - %408 = getelementptr i8, ptr %145, i64 %indvars.iv780 + %408 = getelementptr i8, ptr %145, i64 %indvars.iv781 %409 = load i8, ptr %408, align 1 %410 = zext i8 %409 to i64 %411 = getelementptr i16, ptr %403, i64 %410 @@ -1441,14 +1441,14 @@ sub_1.i: ; preds = %sub_0.i %indvars.iv.next.i593 = add nuw nsw i64 %indvars.iv.i590, 1 %417 = getelementptr [32 x i32], ptr %5, i64 0, i64 %indvars.iv.i590 store i32 %416, ptr %417, align 4 - %indvars.iv.next781 = add nsw i64 %indvars.iv780, 1 - %418 = icmp slt i64 %indvars.iv.next781, %404 + %indvars.iv.next782 = add nsw i64 %indvars.iv781, 1 + %418 = icmp slt i64 %indvars.iv.next782, %404 %419 = icmp samesign ult i64 %indvars.iv.i590, 31 %420 = select i1 %418, i1 %419, i1 false br i1 %420, label %.lr.ph.i589, label %._crit_edge.i594, !llvm.loop !6 ._crit_edge.i594: ; preds = %414, %.lr.ph.i589 - %.1.lcssa.ph.i595.in = phi i64 [ %indvars.iv.next781, %414 ], [ %indvars.iv780, %.lr.ph.i589 ] + %.1.lcssa.ph.i595.in = phi i64 [ %indvars.iv.next782, %414 ], [ %indvars.iv781, %.lr.ph.i589 ] %.024.lcssa.ph.in.i596 = phi i64 [ %indvars.iv.next.i593, %414 ], [ %indvars.iv.i590, %.lr.ph.i589 ] %.1.lcssa.ph.i595 = trunc i64 %.1.lcssa.ph.i595.in to i32 %421 = and i64 %.024.lcssa.ph.in.i596, 4294967295 @@ -1671,7 +1671,7 @@ parse_outhdr_string.exit606: ; preds = %429, %._crit_edge.t attach_fp_info.exit: ; preds = %.loopexit.i, %218, %213, %484, %parse_outhdr_string.exit606, %454, %517, %519, %524, %543, %527, %521, %466, %442, %378 %.0492 = phi i32 [ %.025.lcssa.i, %378 ], [ %.025.lcssa.i588, %parse_outhdr_string.exit606 ], [ %444, %442 ], [ %456, %454 ], [ %468, %466 ], [ 0, %517 ], [ 0, %519 ], [ 0, %543 ], [ 0, %527 ], [ 0, %524 ], [ 0, %521 ], [ 0, %484 ], [ %.025.lcssa.i, %213 ], [ %.025.lcssa.i, %218 ], [ %.025.lcssa.i, %.loopexit.i ] %.0488 = phi ptr [ null, %378 ], [ null, %parse_outhdr_string.exit606 ], [ null, %442 ], [ null, %454 ], [ null, %466 ], [ %518, %517 ], [ %520, %519 ], [ %545, %543 ], [ null, %527 ], [ null, %524 ], [ null, %521 ], [ null, %484 ], [ null, %213 ], [ null, %218 ], [ null, %.loopexit.i ] - switch i8 %163, label %1356 [ + switch i8 %163, label %1355 [ i8 7, label %546 i8 1, label %548 i8 17, label %550 @@ -1686,23 +1686,23 @@ attach_fp_info.exit: ; preds = %.loopexit.i, %218, 546: ; preds = %attach_fp_info.exit %547 = call ptr @find_dissector(ptr noundef nonnull @.str.326) #9 - br label %1357 + br label %1356 548: ; preds = %attach_fp_info.exit %549 = call ptr @find_dissector(ptr noundef nonnull @.str.6) #9 - br label %1357 + br label %1356 550: ; preds = %attach_fp_info.exit %551 = call ptr @find_dissector(ptr noundef nonnull @.str.327) #9 %552 = getelementptr inbounds nuw i8, ptr %1, i64 88 %553 = load ptr, ptr %552, align 8 - br label %1357 + br label %1356 554: ; preds = %attach_fp_info.exit %555 = call ptr @find_dissector(ptr noundef nonnull @.str.328) #9 %556 = getelementptr inbounds nuw i8, ptr %1, i64 88 %557 = load ptr, ptr %556, align 8 - br label %1357 + br label %1356 558: ; preds = %attach_fp_info.exit %559 = call ptr @find_dissector(ptr noundef nonnull @.str.329) #9 @@ -1711,23 +1711,23 @@ attach_fp_info.exit: ; preds = %.loopexit.i, %218, %562 = load i32, ptr %561, align 8 %563 = getelementptr inbounds nuw i8, ptr %1, i64 348 store i32 %562, ptr %563, align 4 - br label %1357 + br label %1356 564: ; preds = %attach_fp_info.exit %565 = call ptr @find_dissector(ptr noundef nonnull @.str.330) #9 - br label %1357 + br label %1356 566: ; preds = %attach_fp_info.exit %567 = call ptr @find_dissector(ptr noundef nonnull @.str.331) #9 - br label %1357 + br label %1356 568: ; preds = %attach_fp_info.exit %569 = call ptr @find_dissector(ptr noundef nonnull @.str.332) #9 - br label %1357 + br label %1356 570: ; preds = %attach_fp_info.exit %571 = call ptr @find_dissector(ptr noundef nonnull @.str.333) #9 - br label %1357 + br label %1356 572: ; preds = %attach_fp_info.exit br i1 %167, label %.sink.split, label %573 @@ -1737,9 +1737,9 @@ attach_fp_info.exit: ; preds = %.loopexit.i, %218, br i1 %574, label %.sink.split, label %576 .sink.split: ; preds = %573, %572 - %.sink830 = phi i32 [ 36, %572 ], [ 11, %573 ] + %.sink831 = phi i32 [ 36, %572 ], [ 11, %573 ] %575 = load ptr, ptr %46, align 8 - call void (ptr, i32, ptr, ...) @col_add_fstr(ptr noundef %575, i32 noundef %.sink830, ptr noundef nonnull @.str.334, ptr noundef %74, i32 noundef %165) #9 + call void (ptr, i32, ptr, ...) @col_add_fstr(ptr noundef %575, i32 noundef %.sink831, ptr noundef nonnull @.str.334, ptr noundef %74, i32 noundef %165) #9 br label %576 576: ; preds = %.sink.split, %573 @@ -1775,7 +1775,7 @@ attach_fp_info.exit: ; preds = %.loopexit.i, %218, 594: ; preds = %591 %595 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %121, ptr noundef nonnull dereferenceable(7) @.str.308) #10 %596 = icmp eq i32 %595, 0 - br i1 %596, label %597, label %712 + br i1 %596, label %597, label %711 597: ; preds = %594, %591, %588, %585, %582, %579, %576 %598 = load i32, ptr %7, align 4 @@ -1785,7 +1785,7 @@ attach_fp_info.exit: ; preds = %.loopexit.i, %218, %600 = call zeroext i8 @tvb_get_guint8(ptr noundef %0, i32 noundef %598) #9 %601 = and i8 %600, -2 %switch.i = icmp eq i8 %601, -64 - br i1 %switch.i, label %.lr.ph.preheader.i, label %.sink.split833 + br i1 %switch.i, label %.lr.ph.preheader.i, label %.sink.split834 .lr.ph.preheader.i: ; preds = %597 %602 = add i32 %598, 1 @@ -1799,7 +1799,7 @@ attach_fp_info.exit: ; preds = %.loopexit.i, %218, %.0979.i = phi i32 [ %.198.i, %670 ], [ 0, %.lr.ph.preheader.i ] %603 = call i32 @tvb_reported_length_remaining(ptr noundef %0, i32 noundef %.08913.i) #9 %.not99.i = icmp eq i32 %603, 0 - br i1 %.not99.i, label %.sink.split833, label %604 + br i1 %.not99.i, label %.sink.split834, label %604 604: ; preds = %.lr.ph.i607 %605 = add i32 %.08913.i, 1 @@ -1928,8 +1928,8 @@ attach_fp_info.exit: ; preds = %.loopexit.i, %218, %.194.i = phi i32 [ %.09311.i, %667 ], [ %.09311.i, %630 ], [ %.09311.i, %627 ], [ %.09311.i, %624 ], [ %.09311.i, %619 ], [ %.09311.i, %613 ], [ %608, %607 ] %.192.i = phi i8 [ %.09112.i, %667 ], [ %.09112.i, %630 ], [ %.09112.i, %627 ], [ %.09112.i, %624 ], [ 18, %619 ], [ %615, %613 ], [ %.09112.i, %607 ] %.1.i = phi i32 [ %669, %667 ], [ %605, %630 ], [ %605, %627 ], [ %605, %624 ], [ %623, %619 ], [ %618, %613 ], [ %612, %607 ] - %.not.i608 = icmp eq i8 %606, 65 - br i1 %.not.i608, label %.critedge.i, label %.lr.ph.i607, !llvm.loop !13 + %.not.i609 = icmp eq i8 %606, 65 + br i1 %.not.i609, label %.critedge.i, label %.lr.ph.i607, !llvm.loop !13 .critedge.i: ; preds = %670, %.thread.i %.128.i = phi i32 [ %638, %.thread.i ], [ %.1.i, %670 ] @@ -1939,818 +1939,818 @@ attach_fp_info.exit: ; preds = %.loopexit.i, %218, %.19824.i = phi i32 [ %.0979.i, %.thread.i ], [ %.198.i, %670 ] %671 = icmp ne i32 %.19824.i, 0 %672 = icmp ne i32 %.19625.i, 0 - %673 = select i1 %671, i1 %672, i1 false - br i1 %673, label %674, label %.sink.split833 - -674: ; preds = %.critedge.i - %675 = call ptr @wmem_file_scope() #9 - %676 = load i32, ptr @proto_umts_rlc, align 4 - %677 = call ptr @p_get_proto_data(ptr noundef %675, ptr noundef %1, i32 noundef %676, i32 noundef 0) #9 - %678 = icmp ne ptr %677, null - %679 = icmp ne i32 %.0492, 2 - %or.cond.i.i = or i1 %679, %678 - br i1 %or.cond.i.i, label %attach_rlc_info.exit.i, label %680 - -680: ; preds = %674 - %681 = call ptr @wmem_file_scope() #9 - %682 = call noalias ptr @wmem_alloc(ptr noundef %681, i64 noundef 1152) #9 - %683 = call ptr @wmem_file_scope() #9 - %684 = call noalias ptr @wmem_alloc0(ptr noundef %683, i64 noundef 792) #9 - store i32 %.19426.i, ptr %682, align 4 - %685 = getelementptr inbounds nuw i8, ptr %682, i64 640 + %or.cond3.i608 = select i1 %671, i1 %672, i1 false + br i1 %or.cond3.i608, label %673, label %.sink.split834 + +673: ; preds = %.critedge.i + %674 = call ptr @wmem_file_scope() #9 + %675 = load i32, ptr @proto_umts_rlc, align 4 + %676 = call ptr @p_get_proto_data(ptr noundef %674, ptr noundef %1, i32 noundef %675, i32 noundef 0) #9 + %677 = icmp ne ptr %676, null + %678 = icmp ne i32 %.0492, 2 + %or.cond.i.i = or i1 %678, %677 + br i1 %or.cond.i.i, label %attach_rlc_info.exit.i, label %679 + +679: ; preds = %673 + %680 = call ptr @wmem_file_scope() #9 + %681 = call noalias ptr @wmem_alloc(ptr noundef %680, i64 noundef 1152) #9 + %682 = call ptr @wmem_file_scope() #9 + %683 = call noalias ptr @wmem_alloc0(ptr noundef %682, i64 noundef 792) #9 + store i32 %.19426.i, ptr %681, align 4 + %684 = getelementptr inbounds nuw i8, ptr %681, i64 640 + store i32 0, ptr %684, align 4 + %685 = getelementptr inbounds nuw i8, ptr %681, i64 896 store i32 0, ptr %685, align 4 - %686 = getelementptr inbounds nuw i8, ptr %682, i64 896 - store i32 0, ptr %686, align 4 switch i32 %.val576, label %attach_rlc_info.exit.i [ - i32 1, label %687 - i32 2, label %689 - i32 3, label %691 - i32 4, label %693 - i32 5, label %695 + i32 1, label %686 + i32 2, label %688 + i32 3, label %690 + i32 4, label %692 + i32 5, label %694 ] -687: ; preds = %680 - %688 = getelementptr inbounds nuw i8, ptr %682, i64 256 - store i8 0, ptr %688, align 4 - br label %697 - -689: ; preds = %680 - %690 = getelementptr inbounds nuw i8, ptr %682, i64 256 - store i8 1, ptr %690, align 4 - br label %697 - -691: ; preds = %680 - %692 = getelementptr inbounds nuw i8, ptr %682, i64 256 - store i8 2, ptr %692, align 4 - br label %697 - -693: ; preds = %680 - %694 = getelementptr inbounds nuw i8, ptr %682, i64 256 - store i8 1, ptr %694, align 4 - store i32 1, ptr %685, align 4 - br label %697 - -695: ; preds = %680 - %696 = getelementptr inbounds nuw i8, ptr %682, i64 256 - store i8 2, ptr %696, align 4 - store i32 1, ptr %685, align 4 - br label %697 - -697: ; preds = %695, %693, %691, %689, %687 - %698 = getelementptr inbounds nuw i8, ptr %682, i64 320 - store i8 %.19227.i, ptr %698, align 4 - %699 = getelementptr inbounds nuw i8, ptr %682, i64 384 - store i32 %.val, ptr %699, align 4 - %700 = call ptr @wmem_file_scope() #9 - %701 = load i32, ptr @proto_umts_rlc, align 4 - call void @p_add_proto_data(ptr noundef %700, ptr noundef %1, i32 noundef %701, i32 noundef 0, ptr noundef nonnull %682) #9 - %702 = getelementptr inbounds nuw i8, ptr %684, i64 16 - store i32 %166, ptr %702, align 8 - %703 = getelementptr inbounds nuw i8, ptr %684, i64 696 - store i32 0, ptr %703, align 8 - %704 = call ptr @wmem_file_scope() #9 - %705 = load i32, ptr @proto_fp, align 4 - call void @p_add_proto_data(ptr noundef %704, ptr noundef %1, i32 noundef %705, i32 noundef 0, ptr noundef %684) #9 +686: ; preds = %679 + %687 = getelementptr inbounds nuw i8, ptr %681, i64 256 + store i8 0, ptr %687, align 4 + br label %696 + +688: ; preds = %679 + %689 = getelementptr inbounds nuw i8, ptr %681, i64 256 + store i8 1, ptr %689, align 4 + br label %696 + +690: ; preds = %679 + %691 = getelementptr inbounds nuw i8, ptr %681, i64 256 + store i8 2, ptr %691, align 4 + br label %696 + +692: ; preds = %679 + %693 = getelementptr inbounds nuw i8, ptr %681, i64 256 + store i8 1, ptr %693, align 4 + store i32 1, ptr %684, align 4 + br label %696 + +694: ; preds = %679 + %695 = getelementptr inbounds nuw i8, ptr %681, i64 256 + store i8 2, ptr %695, align 4 + store i32 1, ptr %684, align 4 + br label %696 + +696: ; preds = %694, %692, %690, %688, %686 + %697 = getelementptr inbounds nuw i8, ptr %681, i64 320 + store i8 %.19227.i, ptr %697, align 4 + %698 = getelementptr inbounds nuw i8, ptr %681, i64 384 + store i32 %.val, ptr %698, align 4 + %699 = call ptr @wmem_file_scope() #9 + %700 = load i32, ptr @proto_umts_rlc, align 4 + call void @p_add_proto_data(ptr noundef %699, ptr noundef %1, i32 noundef %700, i32 noundef 0, ptr noundef nonnull %681) #9 + %701 = getelementptr inbounds nuw i8, ptr %683, i64 16 + store i32 %166, ptr %701, align 8 + %702 = getelementptr inbounds nuw i8, ptr %683, i64 696 + store i32 0, ptr %702, align 8 + %703 = call ptr @wmem_file_scope() #9 + %704 = load i32, ptr @proto_fp, align 4 + call void @p_add_proto_data(ptr noundef %703, ptr noundef %1, i32 noundef %704, i32 noundef 0, ptr noundef %683) #9 br label %attach_rlc_info.exit.i -attach_rlc_info.exit.i: ; preds = %697, %680, %674 +attach_rlc_info.exit.i: ; preds = %696, %679, %673 %switch.tableidx = add i8 %.19227.i, -1 - %706 = icmp ult i8 %switch.tableidx, 21 - br i1 %706, label %switch.hole_check, label %.sink.split833 + %705 = icmp ult i8 %switch.tableidx, 21 + br i1 %705, label %switch.hole_check, label %.sink.split834 switch.hole_check: ; preds = %attach_rlc_info.exit.i %switch.maskindex = zext nneg i8 %switch.tableidx to i32 %switch.shifted = lshr i32 1212415, %switch.maskindex %switch.lobit = trunc i32 %switch.shifted to i1 - br i1 %switch.lobit, label %switch.lookup, label %.sink.split833 + br i1 %switch.lobit, label %switch.lookup, label %.sink.split834 switch.lookup: ; preds = %switch.hole_check - %707 = zext nneg i8 %switch.tableidx to i64 - %switch.gep = getelementptr inbounds nuw [21 x ptr], ptr @switch.table.dissect_catapult_dct2000, i64 0, i64 %707 + %706 = zext nneg i8 %switch.tableidx to i64 + %switch.gep = getelementptr inbounds nuw [21 x ptr], ptr @switch.table.dissect_catapult_dct2000, i64 0, i64 %706 %switch.load = load ptr, ptr %switch.gep, align 8 - %708 = call ptr @find_dissector(ptr noundef nonnull %switch.load) #9 - %.not100.i = icmp eq ptr %708, null - br i1 %.not100.i, label %.sink.split833, label %709 - -709: ; preds = %switch.lookup - %710 = call ptr @tvb_new_subset_remaining(ptr noundef %0, i32 noundef %.128.i) #9 - %711 = call i32 @call_dissector_only(ptr noundef nonnull %708, ptr noundef %710, ptr noundef %1, ptr noundef %2, ptr noundef null) #9 - br label %.sink.split833 - -712: ; preds = %594 - %713 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %121, ptr noundef nonnull dereferenceable(11) @.str.309) #10 - %714 = icmp eq i32 %713, 0 - br i1 %714, label %721, label %715 - -715: ; preds = %712 - %716 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %121, ptr noundef nonnull dereferenceable(11) @.str.310) #10 - %717 = icmp eq i32 %716, 0 - br i1 %717, label %721, label %718 - -718: ; preds = %715 - %719 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %121, ptr noundef nonnull dereferenceable(12) @.str.311) #10 - %720 = icmp eq i32 %719, 0 - br i1 %720, label %721, label %723 - -721: ; preds = %718, %715, %712 - %722 = load ptr, ptr @mac_lte_handle, align 8 - br label %1101 - -723: ; preds = %718 - %724 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %121, ptr noundef nonnull dereferenceable(11) @.str.312) #10 - %725 = icmp eq i32 %724, 0 - br i1 %725, label %732, label %726 - -726: ; preds = %723 - %727 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %121, ptr noundef nonnull dereferenceable(11) @.str.313) #10 - %728 = icmp eq i32 %727, 0 - br i1 %728, label %732, label %729 - -729: ; preds = %726 - %730 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %121, ptr noundef nonnull dereferenceable(12) @.str.314) #10 - %731 = icmp eq i32 %730, 0 - br i1 %731, label %732, label %734 - -732: ; preds = %729, %726, %723 - %733 = load ptr, ptr @rlc_lte_handle, align 8 - br label %1101 - -734: ; preds = %729 - %735 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %121, ptr noundef nonnull dereferenceable(12) @.str.315) #10 - %736 = icmp eq i32 %735, 0 - br i1 %736, label %743, label %737 - -737: ; preds = %734 - %738 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %121, ptr noundef nonnull dereferenceable(12) @.str.316) #10 - %739 = icmp eq i32 %738, 0 - br i1 %739, label %743, label %740 - -740: ; preds = %737 - %741 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %121, ptr noundef nonnull dereferenceable(13) @.str.317) #10 - %742 = icmp eq i32 %741, 0 - br i1 %742, label %743, label %745 - -743: ; preds = %740, %737, %734 - %744 = load i32, ptr %7, align 4 - call fastcc void @dissect_pdcp_lte(ptr noundef %0, i32 noundef %744, ptr noundef %1, ptr noundef %2) - br label %.sink.split833 - -745: ; preds = %740 - %746 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %121, ptr noundef nonnull dereferenceable(4) @.str.335) #10 - %747 = icmp eq i32 %746, 0 - br i1 %747, label %748, label %750 - -748: ; preds = %745 - %749 = call ptr @find_dissector(ptr noundef nonnull @.str.335) #9 - br label %1101 - -750: ; preds = %745 - %751 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %121, ptr noundef nonnull dereferenceable(4) @.str.336) #10 - %752 = icmp eq i32 %751, 0 - br i1 %752, label %753, label %755 - -753: ; preds = %750 - %754 = load i32, ptr %7, align 4 - call fastcc void @dissect_tty_lines(ptr noundef %0, ptr noundef %1, ptr noundef %.0486664673, i32 noundef %754) - br label %.sink.split833 - -755: ; preds = %750 - %756 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %121, ptr noundef nonnull dereferenceable(8) @.str.337) #10 - %757 = icmp eq i32 %756, 0 - br i1 %757, label %758, label %760 - -758: ; preds = %755 - %759 = call ptr @find_dissector(ptr noundef nonnull @.str.337) #9 - br label %1101 - -760: ; preds = %755 - %761 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %121, ptr noundef nonnull dereferenceable(8) @.str.296) #10 - %762 = icmp eq i32 %761, 0 - br i1 %762, label %763, label %1037 - -763: ; preds = %760 - %764 = load i32, ptr @hf_catapult_dct2000_comment, align 4 - %765 = load i32, ptr %7, align 4 - %766 = call i32 @tvb_reported_length_remaining(ptr noundef %0, i32 noundef %765) #9 - %767 = load ptr, ptr %73, align 8 - %768 = call ptr @proto_tree_add_item_ret_string(ptr noundef %.0486664673, i32 noundef %764, ptr noundef %0, i32 noundef %765, i32 noundef %766, i32 noundef 0, ptr noundef %767, ptr noundef nonnull %15) #9 - %769 = load ptr, ptr %46, align 8 - %770 = load ptr, ptr %15, align 8 - call void @col_append_str(ptr noundef %769, i32 noundef 25, ptr noundef %770) #9 - %771 = load i32, ptr @catapult_dct2000_dissect_mac_lte_oob_messages, align 4 - %.not539 = icmp eq i32 %771, 0 - br i1 %.not539, label %774, label %772 - -772: ; preds = %763 - %773 = load ptr, ptr %15, align 8 - call fastcc void @check_for_oob_mac_lte_events(ptr noundef nonnull %1, ptr noundef %0, ptr noundef %2, ptr noundef %773) - br label %774 - -774: ; preds = %772, %763 - %775 = load ptr, ptr %15, align 8 - %776 = call i32 @strncmp(ptr noundef nonnull dereferenceable(1) %775, ptr noundef nonnull dereferenceable(7) @.str.338, i64 noundef 6) #10 - %777 = icmp eq i32 %776, 0 - br i1 %777, label %778, label %790 - -778: ; preds = %774 - %779 = load i32, ptr @hf_catapult_dct2000_error_comment, align 4 - %780 = call ptr @proto_tree_add_item(ptr noundef %.0486664673, i32 noundef %779, ptr noundef %0, i32 noundef %765, i32 noundef -1, i32 noundef 0) #9 - %.not.i609 = icmp eq ptr %780, null - br i1 %.not.i609, label %proto_item_set_generated.exit, label %781 - -781: ; preds = %778 - %782 = getelementptr inbounds nuw i8, ptr %780, i64 32 - %783 = load ptr, ptr %782, align 8 - %.not5.i = icmp eq ptr %783, null - br i1 %.not5.i, label %proto_item_set_generated.exit, label %784 - -784: ; preds = %781 - %785 = getelementptr inbounds nuw i8, ptr %783, i64 28 - %786 = load i32, ptr %785, align 4 - %787 = or i32 %786, 2 - store i32 %787, ptr %785, align 4 + %707 = call ptr @find_dissector(ptr noundef nonnull %switch.load) #9 + %.not100.i = icmp eq ptr %707, null + br i1 %.not100.i, label %.sink.split834, label %708 + +708: ; preds = %switch.lookup + %709 = call ptr @tvb_new_subset_remaining(ptr noundef %0, i32 noundef %.128.i) #9 + %710 = call i32 @call_dissector_only(ptr noundef nonnull %707, ptr noundef %709, ptr noundef %1, ptr noundef %2, ptr noundef null) #9 + br label %.sink.split834 + +711: ; preds = %594 + %712 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %121, ptr noundef nonnull dereferenceable(11) @.str.309) #10 + %713 = icmp eq i32 %712, 0 + br i1 %713, label %720, label %714 + +714: ; preds = %711 + %715 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %121, ptr noundef nonnull dereferenceable(11) @.str.310) #10 + %716 = icmp eq i32 %715, 0 + br i1 %716, label %720, label %717 + +717: ; preds = %714 + %718 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %121, ptr noundef nonnull dereferenceable(12) @.str.311) #10 + %719 = icmp eq i32 %718, 0 + br i1 %719, label %720, label %722 + +720: ; preds = %717, %714, %711 + %721 = load ptr, ptr @mac_lte_handle, align 8 + br label %1100 + +722: ; preds = %717 + %723 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %121, ptr noundef nonnull dereferenceable(11) @.str.312) #10 + %724 = icmp eq i32 %723, 0 + br i1 %724, label %731, label %725 + +725: ; preds = %722 + %726 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %121, ptr noundef nonnull dereferenceable(11) @.str.313) #10 + %727 = icmp eq i32 %726, 0 + br i1 %727, label %731, label %728 + +728: ; preds = %725 + %729 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %121, ptr noundef nonnull dereferenceable(12) @.str.314) #10 + %730 = icmp eq i32 %729, 0 + br i1 %730, label %731, label %733 + +731: ; preds = %728, %725, %722 + %732 = load ptr, ptr @rlc_lte_handle, align 8 + br label %1100 + +733: ; preds = %728 + %734 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %121, ptr noundef nonnull dereferenceable(12) @.str.315) #10 + %735 = icmp eq i32 %734, 0 + br i1 %735, label %742, label %736 + +736: ; preds = %733 + %737 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %121, ptr noundef nonnull dereferenceable(12) @.str.316) #10 + %738 = icmp eq i32 %737, 0 + br i1 %738, label %742, label %739 + +739: ; preds = %736 + %740 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %121, ptr noundef nonnull dereferenceable(13) @.str.317) #10 + %741 = icmp eq i32 %740, 0 + br i1 %741, label %742, label %744 + +742: ; preds = %739, %736, %733 + %743 = load i32, ptr %7, align 4 + call fastcc void @dissect_pdcp_lte(ptr noundef %0, i32 noundef %743, ptr noundef %1, ptr noundef %2) + br label %.sink.split834 + +744: ; preds = %739 + %745 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %121, ptr noundef nonnull dereferenceable(4) @.str.335) #10 + %746 = icmp eq i32 %745, 0 + br i1 %746, label %747, label %749 + +747: ; preds = %744 + %748 = call ptr @find_dissector(ptr noundef nonnull @.str.335) #9 + br label %1100 + +749: ; preds = %744 + %750 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %121, ptr noundef nonnull dereferenceable(4) @.str.336) #10 + %751 = icmp eq i32 %750, 0 + br i1 %751, label %752, label %754 + +752: ; preds = %749 + %753 = load i32, ptr %7, align 4 + call fastcc void @dissect_tty_lines(ptr noundef %0, ptr noundef %1, ptr noundef %.0486665674, i32 noundef %753) + br label %.sink.split834 + +754: ; preds = %749 + %755 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %121, ptr noundef nonnull dereferenceable(8) @.str.337) #10 + %756 = icmp eq i32 %755, 0 + br i1 %756, label %757, label %759 + +757: ; preds = %754 + %758 = call ptr @find_dissector(ptr noundef nonnull @.str.337) #9 + br label %1100 + +759: ; preds = %754 + %760 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %121, ptr noundef nonnull dereferenceable(8) @.str.296) #10 + %761 = icmp eq i32 %760, 0 + br i1 %761, label %762, label %1036 + +762: ; preds = %759 + %763 = load i32, ptr @hf_catapult_dct2000_comment, align 4 + %764 = load i32, ptr %7, align 4 + %765 = call i32 @tvb_reported_length_remaining(ptr noundef %0, i32 noundef %764) #9 + %766 = load ptr, ptr %73, align 8 + %767 = call ptr @proto_tree_add_item_ret_string(ptr noundef %.0486665674, i32 noundef %763, ptr noundef %0, i32 noundef %764, i32 noundef %765, i32 noundef 0, ptr noundef %766, ptr noundef nonnull %15) #9 + %768 = load ptr, ptr %46, align 8 + %769 = load ptr, ptr %15, align 8 + call void @col_append_str(ptr noundef %768, i32 noundef 25, ptr noundef %769) #9 + %770 = load i32, ptr @catapult_dct2000_dissect_mac_lte_oob_messages, align 4 + %.not539 = icmp eq i32 %770, 0 + br i1 %.not539, label %773, label %771 + +771: ; preds = %762 + %772 = load ptr, ptr %15, align 8 + call fastcc void @check_for_oob_mac_lte_events(ptr noundef nonnull %1, ptr noundef %0, ptr noundef %2, ptr noundef %772) + br label %773 + +773: ; preds = %771, %762 + %774 = load ptr, ptr %15, align 8 + %775 = call i32 @strncmp(ptr noundef nonnull dereferenceable(1) %774, ptr noundef nonnull dereferenceable(7) @.str.338, i64 noundef 6) #10 + %776 = icmp eq i32 %775, 0 + br i1 %776, label %777, label %789 + +777: ; preds = %773 + %778 = load i32, ptr @hf_catapult_dct2000_error_comment, align 4 + %779 = call ptr @proto_tree_add_item(ptr noundef %.0486665674, i32 noundef %778, ptr noundef %0, i32 noundef %764, i32 noundef -1, i32 noundef 0) #9 + %.not.i610 = icmp eq ptr %779, null + br i1 %.not.i610, label %proto_item_set_generated.exit, label %780 + +780: ; preds = %777 + %781 = getelementptr inbounds nuw i8, ptr %779, i64 32 + %782 = load ptr, ptr %781, align 8 + %.not5.i = icmp eq ptr %782, null + br i1 %.not5.i, label %proto_item_set_generated.exit, label %783 + +783: ; preds = %780 + %784 = getelementptr inbounds nuw i8, ptr %782, i64 28 + %785 = load i32, ptr %784, align 4 + %786 = or i32 %785, 2 + store i32 %786, ptr %784, align 4 br label %proto_item_set_generated.exit -proto_item_set_generated.exit: ; preds = %778, %781, %784 - %788 = load ptr, ptr %15, align 8 - %789 = call ptr (ptr, ptr, ptr, ptr, ...) @expert_add_info_format(ptr noundef nonnull %1, ptr noundef %768, ptr noundef nonnull @ei_catapult_dct2000_error_comment_expert, ptr noundef nonnull @.str.339, ptr noundef %788) #9 - %.pre797 = load ptr, ptr %15, align 8 - br label %790 - -790: ; preds = %proto_item_set_generated.exit, %774 - %791 = phi ptr [ %.pre797, %proto_item_set_generated.exit ], [ %775, %774 ] - %792 = call i32 (ptr, ptr, ...) @__isoc99_sscanf(ptr noundef %791, ptr noundef nonnull @.str.340, ptr noundef nonnull %16, ptr noundef nonnull %17, ptr noundef nonnull %18, ptr noundef nonnull %19, ptr noundef nonnull %20, ptr noundef nonnull %21, ptr noundef nonnull %22) #9 - %793 = icmp eq i32 %792, 7 - br i1 %793, label %798, label %794 - -794: ; preds = %790 - %795 = load ptr, ptr %15, align 8 - %796 = call i32 (ptr, ptr, ...) @__isoc99_sscanf(ptr noundef %795, ptr noundef nonnull @.str.341, ptr noundef nonnull %16, ptr noundef nonnull %17, ptr noundef nonnull %18, ptr noundef nonnull %19, ptr noundef nonnull %20, ptr noundef nonnull %21, ptr noundef nonnull %22) #9 - %797 = icmp eq i32 %796, 7 - br i1 %797, label %798, label %872 - -798: ; preds = %794, %790 - %799 = call ptr @wmem_file_scope() #9 - %800 = call noalias ptr @wmem_alloc0(ptr noundef %799, i64 noundef 24) #9 - store i8 1, ptr %800, align 4 - %801 = load i32, ptr %17, align 4 - %802 = getelementptr inbounds nuw i8, ptr %800, i64 2 - %803 = icmp ult i32 %801, 6 - %switch.cast = zext i32 %801 to i48 +proto_item_set_generated.exit: ; preds = %777, %780, %783 + %787 = load ptr, ptr %15, align 8 + %788 = call ptr (ptr, ptr, ptr, ptr, ...) @expert_add_info_format(ptr noundef nonnull %1, ptr noundef %767, ptr noundef nonnull @ei_catapult_dct2000_error_comment_expert, ptr noundef nonnull @.str.339, ptr noundef %787) #9 + %.pre798 = load ptr, ptr %15, align 8 + br label %789 + +789: ; preds = %proto_item_set_generated.exit, %773 + %790 = phi ptr [ %.pre798, %proto_item_set_generated.exit ], [ %774, %773 ] + %791 = call i32 (ptr, ptr, ...) @__isoc99_sscanf(ptr noundef %790, ptr noundef nonnull @.str.340, ptr noundef nonnull %16, ptr noundef nonnull %17, ptr noundef nonnull %18, ptr noundef nonnull %19, ptr noundef nonnull %20, ptr noundef nonnull %21, ptr noundef nonnull %22) #9 + %792 = icmp eq i32 %791, 7 + br i1 %792, label %797, label %793 + +793: ; preds = %789 + %794 = load ptr, ptr %15, align 8 + %795 = call i32 (ptr, ptr, ...) @__isoc99_sscanf(ptr noundef %794, ptr noundef nonnull @.str.341, ptr noundef nonnull %16, ptr noundef nonnull %17, ptr noundef nonnull %18, ptr noundef nonnull %19, ptr noundef nonnull %20, ptr noundef nonnull %21, ptr noundef nonnull %22) #9 + %796 = icmp eq i32 %795, 7 + br i1 %796, label %797, label %871 + +797: ; preds = %793, %789 + %798 = call ptr @wmem_file_scope() #9 + %799 = call noalias ptr @wmem_alloc0(ptr noundef %798, i64 noundef 24) #9 + store i8 1, ptr %799, align 4 + %800 = load i32, ptr %17, align 4 + %801 = getelementptr inbounds nuw i8, ptr %799, i64 2 + %802 = icmp ult i32 %800, 6 + %switch.cast = zext i32 %800 to i48 %switch.shiftamt = shl nuw nsw i48 %switch.cast, 3 %switch.downshift = lshr i48 3311453405184, %switch.shiftamt %switch.masked = trunc i48 %switch.downshift to i8 - %.sink = select i1 %803, i8 %switch.masked, i8 0 - store i8 %.sink, ptr %802, align 2 - %804 = load i32, ptr %16, align 4 - %805 = trunc i32 %804 to i8 - %806 = getelementptr inbounds nuw i8, ptr %800, i64 1 - store i8 %805, ptr %806, align 1 - %807 = load i32, ptr %18, align 4 - %808 = trunc i32 %807 to i16 - %809 = getelementptr inbounds nuw i8, ptr %800, i64 4 - store i16 %808, ptr %809, align 4 - %810 = icmp eq i32 %807, 65535 - br i1 %810, label %811, label %813 - -811: ; preds = %798 - %812 = getelementptr inbounds nuw i8, ptr %800, i64 2 - store i8 4, ptr %812, align 2 - br label %813 - -813: ; preds = %811, %798 - %814 = load i32, ptr %19, align 4 - %815 = trunc i32 %814 to i16 - %816 = getelementptr inbounds nuw i8, ptr %800, i64 6 - store i16 %815, ptr %816, align 2 - %817 = getelementptr inbounds nuw i8, ptr %800, i64 9 - store i8 0, ptr %817, align 1 - %818 = load i32, ptr %22, align 4 - %819 = trunc i32 %818 to i16 - %820 = getelementptr inbounds nuw i8, ptr %800, i64 20 - store i16 %819, ptr %820, align 4 - %821 = getelementptr inbounds nuw i8, ptr %800, i64 12 - store i32 1, ptr %821, align 4 - %822 = load i32, ptr %21, align 4 - %823 = trunc i32 %822 to i16 - %824 = getelementptr inbounds nuw i8, ptr %800, i64 16 - store i16 %823, ptr %824, align 4 - %825 = load i32, ptr %20, align 4 - %826 = trunc i32 %825 to i16 - %827 = getelementptr inbounds nuw i8, ptr %800, i64 18 - store i16 %826, ptr %827, align 2 - call void @set_mac_nr_proto_data(ptr noundef nonnull %1, ptr noundef nonnull %800) #9 - %828 = load ptr, ptr %15, align 8 - %829 = call i64 @strlen(ptr noundef nonnull dereferenceable(1) %828) #10 - %.not756 = icmp eq i64 %829, 0 - br i1 %.not756, label %._crit_edge729, label %.lr.ph728 - -.lr.ph728: ; preds = %813, %834 - %830 = phi i64 [ %836, %834 ], [ 0, %813 ] - %.0502726 = phi i32 [ %835, %834 ], [ 0, %813 ] - %831 = getelementptr i8, ptr %828, i64 %830 - %832 = load i8, ptr %831, align 1 - %833 = icmp eq i8 %832, 36 - br i1 %833, label %._crit_edge729, label %834 - -834: ; preds = %.lr.ph728 - %835 = add i32 %.0502726, 1 - %836 = zext i32 %835 to i64 - %837 = icmp ugt i64 %829, %836 - br i1 %837, label %.lr.ph728, label %._crit_edge729, !llvm.loop !14 - -._crit_edge729: ; preds = %834, %.lr.ph728, %813 - %.0501 = phi i32 [ 0, %813 ], [ %.0502726, %.lr.ph728 ], [ 0, %834 ] - %838 = load ptr, ptr %73, align 8 - %839 = sext i32 %.0501 to i64 - %840 = sub i64 %829, %839 - %841 = lshr i64 %840, 1 - %842 = add nuw i64 %841, 2 - %843 = call noalias ptr @wmem_alloc(ptr noundef %838, i64 noundef %842) #9 - %844 = add i32 %.0501, 1 - %845 = load ptr, ptr %15, align 8 - %846 = sext i32 %844 to i64 - %847 = getelementptr i8, ptr %845, i64 %846 - %848 = load i8, ptr %847, align 1 - %.not540735 = icmp eq i8 %848, 0 - br i1 %.not540735, label %._crit_edge740, label %.lr.ph739 - -.lr.ph739: ; preds = %._crit_edge729, %.lr.ph739 - %849 = phi i8 [ %868, %.lr.ph739 ], [ %848, %._crit_edge729 ] - %.0503737 = phi i32 [ %865, %.lr.ph739 ], [ 0, %._crit_edge729 ] - %.0504736 = phi i32 [ %864, %.lr.ph739 ], [ %844, %._crit_edge729 ] - %850 = add i8 %849, -48 - %or.cond.i610 = icmp ult i8 %850, 10 - %851 = add i8 %849, -97 - %or.cond5.i = icmp ult i8 %851, 6 - %852 = add i8 %849, 9 - %spec.select.i611 = select i1 %or.cond5.i, i8 %852, i8 15 - %.0.i612 = select i1 %or.cond.i610, i8 %849, i8 %spec.select.i611 - %853 = shl i8 %.0.i612, 4 - %854 = add i32 %.0504736, 1 - %855 = sext i32 %854 to i64 - %856 = getelementptr i8, ptr %845, i64 %855 - %857 = load i8, ptr %856, align 1 - %858 = add i8 %857, -48 - %or.cond.i613 = icmp ult i8 %858, 10 - %859 = add i8 %857, -97 - %or.cond5.i614 = icmp ult i8 %859, 6 - %860 = add nsw i8 %857, -87 - %spec.select.i615 = select i1 %or.cond5.i614, i8 %860, i8 -1 - %.0.i616 = select i1 %or.cond.i613, i8 %858, i8 %spec.select.i615 - %861 = add i8 %.0.i616, %853 - %862 = sext i32 %.0503737 to i64 - %863 = getelementptr i8, ptr %843, i64 %862 - store i8 %861, ptr %863, align 1 - %864 = add i32 %.0504736, 2 - %865 = add i32 %.0503737, 1 - %866 = sext i32 %864 to i64 - %867 = getelementptr i8, ptr %845, i64 %866 - %868 = load i8, ptr %867, align 1 - %.not540 = icmp eq i8 %868, 0 - br i1 %.not540, label %._crit_edge740, label %.lr.ph739, !llvm.loop !15 - -._crit_edge740: ; preds = %.lr.ph739, %._crit_edge729 - %.0503.lcssa = phi i32 [ 0, %._crit_edge729 ], [ %865, %.lr.ph739 ] - %869 = call ptr @tvb_new_real_data(ptr noundef %843, i32 noundef %.0503.lcssa, i32 noundef %.0503.lcssa) #9 - call void @add_new_data_source(ptr noundef %1, ptr noundef %869, ptr noundef nonnull @.str.342) #9 - %870 = load ptr, ptr @mac_nr_handle, align 8 - %871 = call i32 @call_dissector_only(ptr noundef %870, ptr noundef %869, ptr noundef %1, ptr noundef %2, ptr noundef null) #9 - br label %872 - -872: ; preds = %._crit_edge740, %794 - %873 = load ptr, ptr %15, align 8 - %874 = call ptr @strstr(ptr noundef nonnull dereferenceable(1) %873, ptr noundef nonnull dereferenceable(1) @.str.343) #10 - %.not541 = icmp eq ptr %874, null - br i1 %.not541, label %916, label %.preheader702 - -.preheader702: ; preds = %872, %878 - %.0505 = phi i32 [ %879, %878 ], [ 0, %872 ] - %875 = sext i32 %.0505 to i64 - %876 = getelementptr i8, ptr %874, i64 %875 - %877 = load i8, ptr %876, align 1 - switch i8 %877, label %878 [ + %.sink = select i1 %802, i8 %switch.masked, i8 0 + store i8 %.sink, ptr %801, align 2 + %803 = load i32, ptr %16, align 4 + %804 = trunc i32 %803 to i8 + %805 = getelementptr inbounds nuw i8, ptr %799, i64 1 + store i8 %804, ptr %805, align 1 + %806 = load i32, ptr %18, align 4 + %807 = trunc i32 %806 to i16 + %808 = getelementptr inbounds nuw i8, ptr %799, i64 4 + store i16 %807, ptr %808, align 4 + %809 = icmp eq i32 %806, 65535 + br i1 %809, label %810, label %812 + +810: ; preds = %797 + %811 = getelementptr inbounds nuw i8, ptr %799, i64 2 + store i8 4, ptr %811, align 2 + br label %812 + +812: ; preds = %810, %797 + %813 = load i32, ptr %19, align 4 + %814 = trunc i32 %813 to i16 + %815 = getelementptr inbounds nuw i8, ptr %799, i64 6 + store i16 %814, ptr %815, align 2 + %816 = getelementptr inbounds nuw i8, ptr %799, i64 9 + store i8 0, ptr %816, align 1 + %817 = load i32, ptr %22, align 4 + %818 = trunc i32 %817 to i16 + %819 = getelementptr inbounds nuw i8, ptr %799, i64 20 + store i16 %818, ptr %819, align 4 + %820 = getelementptr inbounds nuw i8, ptr %799, i64 12 + store i32 1, ptr %820, align 4 + %821 = load i32, ptr %21, align 4 + %822 = trunc i32 %821 to i16 + %823 = getelementptr inbounds nuw i8, ptr %799, i64 16 + store i16 %822, ptr %823, align 4 + %824 = load i32, ptr %20, align 4 + %825 = trunc i32 %824 to i16 + %826 = getelementptr inbounds nuw i8, ptr %799, i64 18 + store i16 %825, ptr %826, align 2 + call void @set_mac_nr_proto_data(ptr noundef nonnull %1, ptr noundef nonnull %799) #9 + %827 = load ptr, ptr %15, align 8 + %828 = call i64 @strlen(ptr noundef nonnull dereferenceable(1) %827) #10 + %.not757 = icmp eq i64 %828, 0 + br i1 %.not757, label %._crit_edge730, label %.lr.ph729 + +.lr.ph729: ; preds = %812, %833 + %829 = phi i64 [ %835, %833 ], [ 0, %812 ] + %.0502727 = phi i32 [ %834, %833 ], [ 0, %812 ] + %830 = getelementptr i8, ptr %827, i64 %829 + %831 = load i8, ptr %830, align 1 + %832 = icmp eq i8 %831, 36 + br i1 %832, label %._crit_edge730, label %833 + +833: ; preds = %.lr.ph729 + %834 = add i32 %.0502727, 1 + %835 = zext i32 %834 to i64 + %836 = icmp ugt i64 %828, %835 + br i1 %836, label %.lr.ph729, label %._crit_edge730, !llvm.loop !14 + +._crit_edge730: ; preds = %833, %.lr.ph729, %812 + %.0501 = phi i32 [ 0, %812 ], [ %.0502727, %.lr.ph729 ], [ 0, %833 ] + %837 = load ptr, ptr %73, align 8 + %838 = sext i32 %.0501 to i64 + %839 = sub i64 %828, %838 + %840 = lshr i64 %839, 1 + %841 = add nuw i64 %840, 2 + %842 = call noalias ptr @wmem_alloc(ptr noundef %837, i64 noundef %841) #9 + %843 = add i32 %.0501, 1 + %844 = load ptr, ptr %15, align 8 + %845 = sext i32 %843 to i64 + %846 = getelementptr i8, ptr %844, i64 %845 + %847 = load i8, ptr %846, align 1 + %.not540736 = icmp eq i8 %847, 0 + br i1 %.not540736, label %._crit_edge741, label %.lr.ph740 + +.lr.ph740: ; preds = %._crit_edge730, %.lr.ph740 + %848 = phi i8 [ %867, %.lr.ph740 ], [ %847, %._crit_edge730 ] + %.0503738 = phi i32 [ %864, %.lr.ph740 ], [ 0, %._crit_edge730 ] + %.0504737 = phi i32 [ %863, %.lr.ph740 ], [ %843, %._crit_edge730 ] + %849 = add i8 %848, -48 + %or.cond.i611 = icmp ult i8 %849, 10 + %850 = add i8 %848, -97 + %or.cond5.i = icmp ult i8 %850, 6 + %851 = add i8 %848, 9 + %spec.select.i612 = select i1 %or.cond5.i, i8 %851, i8 15 + %.0.i613 = select i1 %or.cond.i611, i8 %848, i8 %spec.select.i612 + %852 = shl i8 %.0.i613, 4 + %853 = add i32 %.0504737, 1 + %854 = sext i32 %853 to i64 + %855 = getelementptr i8, ptr %844, i64 %854 + %856 = load i8, ptr %855, align 1 + %857 = add i8 %856, -48 + %or.cond.i614 = icmp ult i8 %857, 10 + %858 = add i8 %856, -97 + %or.cond5.i615 = icmp ult i8 %858, 6 + %859 = add nsw i8 %856, -87 + %spec.select.i616 = select i1 %or.cond5.i615, i8 %859, i8 -1 + %.0.i617 = select i1 %or.cond.i614, i8 %857, i8 %spec.select.i616 + %860 = add i8 %.0.i617, %852 + %861 = sext i32 %.0503738 to i64 + %862 = getelementptr i8, ptr %842, i64 %861 + store i8 %860, ptr %862, align 1 + %863 = add i32 %.0504737, 2 + %864 = add i32 %.0503738, 1 + %865 = sext i32 %863 to i64 + %866 = getelementptr i8, ptr %844, i64 %865 + %867 = load i8, ptr %866, align 1 + %.not540 = icmp eq i8 %867, 0 + br i1 %.not540, label %._crit_edge741, label %.lr.ph740, !llvm.loop !15 + +._crit_edge741: ; preds = %.lr.ph740, %._crit_edge730 + %.0503.lcssa = phi i32 [ 0, %._crit_edge730 ], [ %864, %.lr.ph740 ] + %868 = call ptr @tvb_new_real_data(ptr noundef %842, i32 noundef %.0503.lcssa, i32 noundef %.0503.lcssa) #9 + call void @add_new_data_source(ptr noundef %1, ptr noundef %868, ptr noundef nonnull @.str.342) #9 + %869 = load ptr, ptr @mac_nr_handle, align 8 + %870 = call i32 @call_dissector_only(ptr noundef %869, ptr noundef %868, ptr noundef %1, ptr noundef %2, ptr noundef null) #9 + br label %871 + +871: ; preds = %._crit_edge741, %793 + %872 = load ptr, ptr %15, align 8 + %873 = call ptr @strstr(ptr noundef nonnull dereferenceable(1) %872, ptr noundef nonnull dereferenceable(1) @.str.343) #10 + %.not541 = icmp eq ptr %873, null + br i1 %.not541, label %915, label %.preheader703 + +.preheader703: ; preds = %871, %877 + %.0505 = phi i32 [ %878, %877 ], [ 0, %871 ] + %874 = sext i32 %.0505 to i64 + %875 = getelementptr i8, ptr %873, i64 %874 + %876 = load i8, ptr %875, align 1 + switch i8 %876, label %877 [ i8 0, label %.critedge i8 36, label %.critedge ] -878: ; preds = %.preheader702 +877: ; preds = %.preheader703 + %878 = add i32 %.0505, 1 + br label %.preheader703, !llvm.loop !16 + +.critedge: ; preds = %.preheader703, %.preheader703 %879 = add i32 %.0505, 1 - br label %.preheader702, !llvm.loop !16 - -.critedge: ; preds = %.preheader702, %.preheader702 - %880 = add i32 %.0505, 1 - %881 = sext i32 %880 to i64 - %882 = getelementptr i8, ptr %874, i64 %881 - %883 = call i64 @strlen(ptr noundef nonnull dereferenceable(1) %882) #10 - %884 = trunc i64 %883 to i32 - %885 = sdiv i32 %884, 2 - store i32 %885, ptr %22, align 4 - %886 = load i8, ptr %882, align 1 - %.not757 = icmp eq i8 %886, 0 - br i1 %.not757, label %._crit_edge745, label %.lr.ph744 - -.lr.ph744: ; preds = %.critedge, %.lr.ph744 - %indvars.iv789 = phi i64 [ %indvars.iv.next790, %.lr.ph744 ], [ 0, %.critedge ] - %indvars.iv787 = phi i64 [ %indvars.iv.next788, %.lr.ph744 ], [ 0, %.critedge ] - %887 = phi i8 [ %901, %.lr.ph744 ], [ %886, %.critedge ] - %888 = add i8 %887, -48 - %or.cond.i617 = icmp ult i8 %888, 10 - %889 = add i8 %887, -97 - %or.cond5.i618 = icmp ult i8 %889, 6 - %890 = add i8 %887, 9 - %spec.select.i619 = select i1 %or.cond5.i618, i8 %890, i8 15 - %.0.i620 = select i1 %or.cond.i617, i8 %887, i8 %spec.select.i619 - %891 = shl i8 %.0.i620, 4 - %892 = or disjoint i64 %indvars.iv787, 1 - %893 = getelementptr i8, ptr %882, i64 %892 - %894 = load i8, ptr %893, align 1 - %895 = add i8 %894, -48 - %or.cond.i621 = icmp ult i8 %895, 10 - %896 = add i8 %894, -97 - %or.cond5.i622 = icmp ult i8 %896, 6 - %897 = add nsw i8 %894, -87 - %spec.select.i623 = select i1 %or.cond5.i622, i8 %897, i8 -1 - %.0.i624 = select i1 %or.cond.i621, i8 %895, i8 %spec.select.i623 - %898 = add i8 %.0.i624, %891 - %899 = getelementptr [200 x i8], ptr @dissect_catapult_dct2000.nrup_data, i64 0, i64 %indvars.iv789 - store i8 %898, ptr %899, align 1 - %indvars.iv.next788 = add nuw nsw i64 %indvars.iv787, 2 - %indvars.iv.next790 = add nuw nsw i64 %indvars.iv789, 1 - %900 = getelementptr i8, ptr %882, i64 %indvars.iv.next788 - %901 = load i8, ptr %900, align 1 - %902 = icmp ne i8 %901, 0 - %903 = icmp samesign ult i64 %indvars.iv789, 195 - %904 = select i1 %902, i1 %903, i1 false - br i1 %904, label %.lr.ph744, label %._crit_edge745, !llvm.loop !17 - -._crit_edge745: ; preds = %.lr.ph744, %.critedge - %905 = srem i32 %885, 4 - %.not544 = icmp eq i32 %905, 0 - br i1 %.not544, label %911, label %.preheader - -.preheader: ; preds = %._crit_edge745, %.preheader - %.0506747 = phi i32 [ %910, %.preheader ], [ %905, %._crit_edge745 ] - %906 = phi i32 [ %907, %.preheader ], [ %885, %._crit_edge745 ] - %907 = add i32 %906, 1 - %908 = sext i32 %906 to i64 - %909 = getelementptr [200 x i8], ptr @dissect_catapult_dct2000.nrup_data, i64 0, i64 %908 - store i8 0, ptr %909, align 1 - %910 = add nsw i32 %.0506747, 1 - %exitcond791.not = icmp eq i32 %910, 4 - br i1 %exitcond791.not, label %.loopexit701, label %.preheader, !llvm.loop !18 - -.loopexit701: ; preds = %.preheader - store i32 %907, ptr %22, align 4 - br label %911 - -911: ; preds = %.loopexit701, %._crit_edge745 - %912 = phi i32 [ %907, %.loopexit701 ], [ %885, %._crit_edge745 ] - %913 = call ptr @tvb_new_real_data(ptr noundef nonnull @dissect_catapult_dct2000.nrup_data, i32 noundef %912, i32 noundef %912) #9 - call void @add_new_data_source(ptr noundef %1, ptr noundef %913, ptr noundef nonnull @.str.344) #9 - %914 = load ptr, ptr @nrup_handle, align 8 - %915 = call i32 @call_dissector_only(ptr noundef %914, ptr noundef %913, ptr noundef %1, ptr noundef %2, ptr noundef null) #9 - %.pre798 = load ptr, ptr %15, align 8 - br label %916 - -916: ; preds = %911, %872 - %917 = phi ptr [ %.pre798, %911 ], [ %873, %872 ] - %918 = call ptr @strstr(ptr noundef nonnull dereferenceable(1) %917, ptr noundef nonnull dereferenceable(1) @.str.345) #10 - %.not545 = icmp eq ptr %918, null - br i1 %.not545, label %953, label %919 - -919: ; preds = %916 - %920 = getelementptr inbounds nuw i8, ptr %1, i64 80 - %921 = load ptr, ptr %920, align 8 - %922 = getelementptr inbounds nuw i8, ptr %921, i64 50 - %923 = load i16, ptr %922, align 2 - %924 = and i16 %923, 8 - %.not549 = icmp eq i16 %924, 0 - br i1 %.not549, label %925, label %937 - -925: ; preds = %919 - %926 = call i32 (ptr, ptr, ...) @__isoc99_sscanf(ptr noundef nonnull %917, ptr noundef nonnull @.str.346, ptr noundef nonnull %23, ptr noundef nonnull %24, ptr noundef nonnull %25) #9 - %927 = icmp eq i32 %926, 3 - br i1 %927, label %928, label %._crit_edge799 - -._crit_edge799: ; preds = %925 - %.pre800 = load ptr, ptr %920, align 8 - %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %.pre800, i64 50 - %.pre801 = load i16, ptr %.phi.trans.insert, align 2 - br label %937 - -928: ; preds = %925 - %929 = load ptr, ptr %15, align 8 - %930 = call ptr @strstr(ptr noundef nonnull dereferenceable(1) %929, ptr noundef nonnull dereferenceable(1) @.str.347) #10 - %931 = getelementptr i8, ptr %930, i64 5 - %932 = call noalias ptr @g_strdup(ptr noundef %931) #9 - %933 = load i32, ptr %23, align 4 - %934 = trunc i32 %933 to i16 - %935 = getelementptr inbounds nuw i8, ptr %1, i64 20 - %936 = load i32, ptr %935, align 4 - call void @set_pdcp_nr_rrc_integrity_key(i16 noundef zeroext %934, ptr noundef %932, i32 noundef %936) #9 - br label %.sink.split831 - -937: ; preds = %._crit_edge799, %919 - %938 = phi i16 [ %.pre801, %._crit_edge799 ], [ %923, %919 ] - %939 = and i16 %938, 8 - %.not550 = icmp eq i16 %939, 0 - br i1 %.not550, label %940, label %989 - -940: ; preds = %937 - %941 = load ptr, ptr %15, align 8 - %942 = call i32 (ptr, ptr, ...) @__isoc99_sscanf(ptr noundef %941, ptr noundef nonnull @.str.348, ptr noundef nonnull %23, ptr noundef nonnull %24, ptr noundef nonnull %25) #9 - %943 = icmp eq i32 %942, 3 - br i1 %943, label %944, label %989 - -944: ; preds = %940 - %945 = load ptr, ptr %15, align 8 - %946 = call ptr @strstr(ptr noundef nonnull dereferenceable(1) %945, ptr noundef nonnull dereferenceable(1) @.str.347) #10 - %947 = getelementptr i8, ptr %946, i64 5 - %948 = call noalias ptr @g_strdup(ptr noundef %947) #9 - %949 = load i32, ptr %23, align 4 - %950 = trunc i32 %949 to i16 - %951 = getelementptr inbounds nuw i8, ptr %1, i64 20 - %952 = load i32, ptr %951, align 4 - call void @set_pdcp_nr_up_integrity_key(i16 noundef zeroext %950, ptr noundef %948, i32 noundef %952) #9 - br label %.sink.split831 - -953: ; preds = %916 - %954 = call ptr @strstr(ptr noundef nonnull dereferenceable(1) %917, ptr noundef nonnull dereferenceable(1) @.str.349) #10 - %.not546 = icmp eq ptr %954, null - br i1 %.not546, label %989, label %955 - -955: ; preds = %953 - %956 = getelementptr inbounds nuw i8, ptr %1, i64 80 - %957 = load ptr, ptr %956, align 8 - %958 = getelementptr inbounds nuw i8, ptr %957, i64 50 - %959 = load i16, ptr %958, align 2 - %960 = and i16 %959, 8 - %.not547 = icmp eq i16 %960, 0 - br i1 %.not547, label %961, label %973 - -961: ; preds = %955 - %962 = call i32 (ptr, ptr, ...) @__isoc99_sscanf(ptr noundef nonnull %917, ptr noundef nonnull @.str.350, ptr noundef nonnull %26, ptr noundef nonnull %27, ptr noundef nonnull %28) #9 - %963 = icmp eq i32 %962, 3 - br i1 %963, label %964, label %._crit_edge802 - -._crit_edge802: ; preds = %961 - %.pre803 = load ptr, ptr %956, align 8 - %.phi.trans.insert804 = getelementptr inbounds nuw i8, ptr %.pre803, i64 50 - %.pre805 = load i16, ptr %.phi.trans.insert804, align 2 - br label %973 - -964: ; preds = %961 - %965 = load ptr, ptr %15, align 8 - %966 = call ptr @strstr(ptr noundef nonnull dereferenceable(1) %965, ptr noundef nonnull dereferenceable(1) @.str.347) #10 - %967 = getelementptr i8, ptr %966, i64 5 - %968 = call noalias ptr @g_strdup(ptr noundef %967) #9 - %969 = load i32, ptr %26, align 4 - %970 = trunc i32 %969 to i16 - %971 = getelementptr inbounds nuw i8, ptr %1, i64 20 - %972 = load i32, ptr %971, align 4 - call void @set_pdcp_nr_rrc_ciphering_key(i16 noundef zeroext %970, ptr noundef %968, i32 noundef %972) #9 - br label %.sink.split831 - -973: ; preds = %._crit_edge802, %955 - %974 = phi i16 [ %.pre805, %._crit_edge802 ], [ %959, %955 ] - %975 = and i16 %974, 8 - %.not548 = icmp eq i16 %975, 0 - br i1 %.not548, label %976, label %989 - -976: ; preds = %973 - %977 = load ptr, ptr %15, align 8 - %978 = call i32 (ptr, ptr, ...) @__isoc99_sscanf(ptr noundef %977, ptr noundef nonnull @.str.351, ptr noundef nonnull %26, ptr noundef nonnull %27, ptr noundef nonnull %28) #9 - %979 = icmp eq i32 %978, 3 - br i1 %979, label %980, label %989 - -980: ; preds = %976 - %981 = load ptr, ptr %15, align 8 - %982 = call ptr @strstr(ptr noundef nonnull dereferenceable(1) %981, ptr noundef nonnull dereferenceable(1) @.str.347) #10 - %983 = getelementptr i8, ptr %982, i64 5 - %984 = call noalias ptr @g_strdup(ptr noundef %983) #9 - %985 = load i32, ptr %26, align 4 - %986 = trunc i32 %985 to i16 - %987 = getelementptr inbounds nuw i8, ptr %1, i64 20 - %988 = load i32, ptr %987, align 4 - call void @set_pdcp_nr_up_ciphering_key(i16 noundef zeroext %986, ptr noundef %984, i32 noundef %988) #9 - br label %.sink.split831 - -.sink.split831: ; preds = %944, %928, %964, %980 - %.sink832 = phi ptr [ %984, %980 ], [ %968, %964 ], [ %932, %928 ], [ %948, %944 ] - call void @g_free(ptr noundef %.sink832) #9 - br label %989 - -989: ; preds = %.sink.split831, %953, %973, %976, %940, %937 - %990 = load ptr, ptr %15, align 8 - %991 = call i32 (ptr, ptr, ...) @__isoc99_sscanf(ptr noundef %990, ptr noundef nonnull @.str.352, ptr noundef nonnull %29, ptr noundef nonnull %30) #9 - %992 = icmp eq i32 %991, 2 - br i1 %992, label %993, label %.sink.split833 - -993: ; preds = %989 - %994 = load i32, ptr @hf_catapult_dct2000_rawtraffic_interface, align 4 - %995 = load i32, ptr %29, align 4 - %996 = call ptr @proto_tree_add_uint(ptr noundef %2, i32 noundef %994, ptr noundef %0, i32 noundef 0, i32 noundef 0, i32 noundef %995) #9 - %997 = load i32, ptr @hf_catapult_dct2000_rawtraffic_direction, align 4 - %998 = load i8, ptr %30, align 1 - %999 = icmp eq i8 %998, 114 - %1000 = zext i1 %999 to i32 - %1001 = call ptr @proto_tree_add_uint(ptr noundef %2, i32 noundef %997, ptr noundef %0, i32 noundef 0, i32 noundef 0, i32 noundef %1000) #9 - %1002 = load ptr, ptr %15, align 8 - %1003 = call i64 @strlen(ptr noundef nonnull dereferenceable(1) %1002) #10 - %.not758 = icmp eq i64 %1003, 0 - br i1 %.not758, label %.loopexit.preheader, label %.lr.ph750 - -.lr.ph750: ; preds = %993, %1009 - %1004 = phi i64 [ %1010, %1009 ], [ 0, %993 ] - %.0499748 = phi i32 [ %1008, %1009 ], [ 0, %993 ] - %1005 = getelementptr i8, ptr %1002, i64 %1004 - %1006 = load i8, ptr %1005, align 1 - %1007 = icmp eq i8 %1006, 36 - %1008 = add i32 %.0499748, 1 - br i1 %1007, label %.loopexit.preheader, label %1009 - -1009: ; preds = %.lr.ph750 - %1010 = zext i32 %1008 to i64 - %1011 = icmp ugt i64 %1003, %1010 - br i1 %1011, label %.lr.ph750, label %.loopexit.preheader, !llvm.loop !19 - -.loopexit.preheader: ; preds = %1009, %.lr.ph750, %993 - %.0497753.ph = phi i32 [ 1, %993 ], [ 1, %1009 ], [ %1008, %.lr.ph750 ] + %880 = sext i32 %879 to i64 + %881 = getelementptr i8, ptr %873, i64 %880 + %882 = call i64 @strlen(ptr noundef nonnull dereferenceable(1) %881) #10 + %883 = trunc i64 %882 to i32 + %884 = sdiv i32 %883, 2 + store i32 %884, ptr %22, align 4 + %885 = load i8, ptr %881, align 1 + %.not758 = icmp eq i8 %885, 0 + br i1 %.not758, label %._crit_edge746, label %.lr.ph745 + +.lr.ph745: ; preds = %.critedge, %.lr.ph745 + %indvars.iv790 = phi i64 [ %indvars.iv.next791, %.lr.ph745 ], [ 0, %.critedge ] + %indvars.iv788 = phi i64 [ %indvars.iv.next789, %.lr.ph745 ], [ 0, %.critedge ] + %886 = phi i8 [ %900, %.lr.ph745 ], [ %885, %.critedge ] + %887 = add i8 %886, -48 + %or.cond.i618 = icmp ult i8 %887, 10 + %888 = add i8 %886, -97 + %or.cond5.i619 = icmp ult i8 %888, 6 + %889 = add i8 %886, 9 + %spec.select.i620 = select i1 %or.cond5.i619, i8 %889, i8 15 + %.0.i621 = select i1 %or.cond.i618, i8 %886, i8 %spec.select.i620 + %890 = shl i8 %.0.i621, 4 + %891 = or disjoint i64 %indvars.iv788, 1 + %892 = getelementptr i8, ptr %881, i64 %891 + %893 = load i8, ptr %892, align 1 + %894 = add i8 %893, -48 + %or.cond.i622 = icmp ult i8 %894, 10 + %895 = add i8 %893, -97 + %or.cond5.i623 = icmp ult i8 %895, 6 + %896 = add nsw i8 %893, -87 + %spec.select.i624 = select i1 %or.cond5.i623, i8 %896, i8 -1 + %.0.i625 = select i1 %or.cond.i622, i8 %894, i8 %spec.select.i624 + %897 = add i8 %.0.i625, %890 + %898 = getelementptr [200 x i8], ptr @dissect_catapult_dct2000.nrup_data, i64 0, i64 %indvars.iv790 + store i8 %897, ptr %898, align 1 + %indvars.iv.next789 = add nuw nsw i64 %indvars.iv788, 2 + %indvars.iv.next791 = add nuw nsw i64 %indvars.iv790, 1 + %899 = getelementptr i8, ptr %881, i64 %indvars.iv.next789 + %900 = load i8, ptr %899, align 1 + %901 = icmp ne i8 %900, 0 + %902 = icmp samesign ult i64 %indvars.iv790, 195 + %903 = select i1 %901, i1 %902, i1 false + br i1 %903, label %.lr.ph745, label %._crit_edge746, !llvm.loop !17 + +._crit_edge746: ; preds = %.lr.ph745, %.critedge + %904 = srem i32 %884, 4 + %.not544 = icmp eq i32 %904, 0 + br i1 %.not544, label %910, label %.preheader + +.preheader: ; preds = %._crit_edge746, %.preheader + %.0506748 = phi i32 [ %909, %.preheader ], [ %904, %._crit_edge746 ] + %905 = phi i32 [ %906, %.preheader ], [ %884, %._crit_edge746 ] + %906 = add i32 %905, 1 + %907 = sext i32 %905 to i64 + %908 = getelementptr [200 x i8], ptr @dissect_catapult_dct2000.nrup_data, i64 0, i64 %907 + store i8 0, ptr %908, align 1 + %909 = add nsw i32 %.0506748, 1 + %exitcond792.not = icmp eq i32 %909, 4 + br i1 %exitcond792.not, label %.loopexit702, label %.preheader, !llvm.loop !18 + +.loopexit702: ; preds = %.preheader + store i32 %906, ptr %22, align 4 + br label %910 + +910: ; preds = %.loopexit702, %._crit_edge746 + %911 = phi i32 [ %906, %.loopexit702 ], [ %884, %._crit_edge746 ] + %912 = call ptr @tvb_new_real_data(ptr noundef nonnull @dissect_catapult_dct2000.nrup_data, i32 noundef %911, i32 noundef %911) #9 + call void @add_new_data_source(ptr noundef %1, ptr noundef %912, ptr noundef nonnull @.str.344) #9 + %913 = load ptr, ptr @nrup_handle, align 8 + %914 = call i32 @call_dissector_only(ptr noundef %913, ptr noundef %912, ptr noundef %1, ptr noundef %2, ptr noundef null) #9 + %.pre799 = load ptr, ptr %15, align 8 + br label %915 + +915: ; preds = %910, %871 + %916 = phi ptr [ %.pre799, %910 ], [ %872, %871 ] + %917 = call ptr @strstr(ptr noundef nonnull dereferenceable(1) %916, ptr noundef nonnull dereferenceable(1) @.str.345) #10 + %.not545 = icmp eq ptr %917, null + br i1 %.not545, label %952, label %918 + +918: ; preds = %915 + %919 = getelementptr inbounds nuw i8, ptr %1, i64 80 + %920 = load ptr, ptr %919, align 8 + %921 = getelementptr inbounds nuw i8, ptr %920, i64 50 + %922 = load i16, ptr %921, align 2 + %923 = and i16 %922, 8 + %.not549 = icmp eq i16 %923, 0 + br i1 %.not549, label %924, label %936 + +924: ; preds = %918 + %925 = call i32 (ptr, ptr, ...) @__isoc99_sscanf(ptr noundef nonnull %916, ptr noundef nonnull @.str.346, ptr noundef nonnull %23, ptr noundef nonnull %24, ptr noundef nonnull %25) #9 + %926 = icmp eq i32 %925, 3 + br i1 %926, label %927, label %._crit_edge800 + +._crit_edge800: ; preds = %924 + %.pre801 = load ptr, ptr %919, align 8 + %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %.pre801, i64 50 + %.pre802 = load i16, ptr %.phi.trans.insert, align 2 + br label %936 + +927: ; preds = %924 + %928 = load ptr, ptr %15, align 8 + %929 = call ptr @strstr(ptr noundef nonnull dereferenceable(1) %928, ptr noundef nonnull dereferenceable(1) @.str.347) #10 + %930 = getelementptr i8, ptr %929, i64 5 + %931 = call noalias ptr @g_strdup(ptr noundef %930) #9 + %932 = load i32, ptr %23, align 4 + %933 = trunc i32 %932 to i16 + %934 = getelementptr inbounds nuw i8, ptr %1, i64 20 + %935 = load i32, ptr %934, align 4 + call void @set_pdcp_nr_rrc_integrity_key(i16 noundef zeroext %933, ptr noundef %931, i32 noundef %935) #9 + br label %.sink.split832 + +936: ; preds = %._crit_edge800, %918 + %937 = phi i16 [ %.pre802, %._crit_edge800 ], [ %922, %918 ] + %938 = and i16 %937, 8 + %.not550 = icmp eq i16 %938, 0 + br i1 %.not550, label %939, label %988 + +939: ; preds = %936 + %940 = load ptr, ptr %15, align 8 + %941 = call i32 (ptr, ptr, ...) @__isoc99_sscanf(ptr noundef %940, ptr noundef nonnull @.str.348, ptr noundef nonnull %23, ptr noundef nonnull %24, ptr noundef nonnull %25) #9 + %942 = icmp eq i32 %941, 3 + br i1 %942, label %943, label %988 + +943: ; preds = %939 + %944 = load ptr, ptr %15, align 8 + %945 = call ptr @strstr(ptr noundef nonnull dereferenceable(1) %944, ptr noundef nonnull dereferenceable(1) @.str.347) #10 + %946 = getelementptr i8, ptr %945, i64 5 + %947 = call noalias ptr @g_strdup(ptr noundef %946) #9 + %948 = load i32, ptr %23, align 4 + %949 = trunc i32 %948 to i16 + %950 = getelementptr inbounds nuw i8, ptr %1, i64 20 + %951 = load i32, ptr %950, align 4 + call void @set_pdcp_nr_up_integrity_key(i16 noundef zeroext %949, ptr noundef %947, i32 noundef %951) #9 + br label %.sink.split832 + +952: ; preds = %915 + %953 = call ptr @strstr(ptr noundef nonnull dereferenceable(1) %916, ptr noundef nonnull dereferenceable(1) @.str.349) #10 + %.not546 = icmp eq ptr %953, null + br i1 %.not546, label %988, label %954 + +954: ; preds = %952 + %955 = getelementptr inbounds nuw i8, ptr %1, i64 80 + %956 = load ptr, ptr %955, align 8 + %957 = getelementptr inbounds nuw i8, ptr %956, i64 50 + %958 = load i16, ptr %957, align 2 + %959 = and i16 %958, 8 + %.not547 = icmp eq i16 %959, 0 + br i1 %.not547, label %960, label %972 + +960: ; preds = %954 + %961 = call i32 (ptr, ptr, ...) @__isoc99_sscanf(ptr noundef nonnull %916, ptr noundef nonnull @.str.350, ptr noundef nonnull %26, ptr noundef nonnull %27, ptr noundef nonnull %28) #9 + %962 = icmp eq i32 %961, 3 + br i1 %962, label %963, label %._crit_edge803 + +._crit_edge803: ; preds = %960 + %.pre804 = load ptr, ptr %955, align 8 + %.phi.trans.insert805 = getelementptr inbounds nuw i8, ptr %.pre804, i64 50 + %.pre806 = load i16, ptr %.phi.trans.insert805, align 2 + br label %972 + +963: ; preds = %960 + %964 = load ptr, ptr %15, align 8 + %965 = call ptr @strstr(ptr noundef nonnull dereferenceable(1) %964, ptr noundef nonnull dereferenceable(1) @.str.347) #10 + %966 = getelementptr i8, ptr %965, i64 5 + %967 = call noalias ptr @g_strdup(ptr noundef %966) #9 + %968 = load i32, ptr %26, align 4 + %969 = trunc i32 %968 to i16 + %970 = getelementptr inbounds nuw i8, ptr %1, i64 20 + %971 = load i32, ptr %970, align 4 + call void @set_pdcp_nr_rrc_ciphering_key(i16 noundef zeroext %969, ptr noundef %967, i32 noundef %971) #9 + br label %.sink.split832 + +972: ; preds = %._crit_edge803, %954 + %973 = phi i16 [ %.pre806, %._crit_edge803 ], [ %958, %954 ] + %974 = and i16 %973, 8 + %.not548 = icmp eq i16 %974, 0 + br i1 %.not548, label %975, label %988 + +975: ; preds = %972 + %976 = load ptr, ptr %15, align 8 + %977 = call i32 (ptr, ptr, ...) @__isoc99_sscanf(ptr noundef %976, ptr noundef nonnull @.str.351, ptr noundef nonnull %26, ptr noundef nonnull %27, ptr noundef nonnull %28) #9 + %978 = icmp eq i32 %977, 3 + br i1 %978, label %979, label %988 + +979: ; preds = %975 + %980 = load ptr, ptr %15, align 8 + %981 = call ptr @strstr(ptr noundef nonnull dereferenceable(1) %980, ptr noundef nonnull dereferenceable(1) @.str.347) #10 + %982 = getelementptr i8, ptr %981, i64 5 + %983 = call noalias ptr @g_strdup(ptr noundef %982) #9 + %984 = load i32, ptr %26, align 4 + %985 = trunc i32 %984 to i16 + %986 = getelementptr inbounds nuw i8, ptr %1, i64 20 + %987 = load i32, ptr %986, align 4 + call void @set_pdcp_nr_up_ciphering_key(i16 noundef zeroext %985, ptr noundef %983, i32 noundef %987) #9 + br label %.sink.split832 + +.sink.split832: ; preds = %943, %927, %963, %979 + %.sink833 = phi ptr [ %983, %979 ], [ %967, %963 ], [ %931, %927 ], [ %947, %943 ] + call void @g_free(ptr noundef %.sink833) #9 + br label %988 + +988: ; preds = %.sink.split832, %952, %972, %975, %939, %936 + %989 = load ptr, ptr %15, align 8 + %990 = call i32 (ptr, ptr, ...) @__isoc99_sscanf(ptr noundef %989, ptr noundef nonnull @.str.352, ptr noundef nonnull %29, ptr noundef nonnull %30) #9 + %991 = icmp eq i32 %990, 2 + br i1 %991, label %992, label %.sink.split834 + +992: ; preds = %988 + %993 = load i32, ptr @hf_catapult_dct2000_rawtraffic_interface, align 4 + %994 = load i32, ptr %29, align 4 + %995 = call ptr @proto_tree_add_uint(ptr noundef %2, i32 noundef %993, ptr noundef %0, i32 noundef 0, i32 noundef 0, i32 noundef %994) #9 + %996 = load i32, ptr @hf_catapult_dct2000_rawtraffic_direction, align 4 + %997 = load i8, ptr %30, align 1 + %998 = icmp eq i8 %997, 114 + %999 = zext i1 %998 to i32 + %1000 = call ptr @proto_tree_add_uint(ptr noundef %2, i32 noundef %996, ptr noundef %0, i32 noundef 0, i32 noundef 0, i32 noundef %999) #9 + %1001 = load ptr, ptr %15, align 8 + %1002 = call i64 @strlen(ptr noundef nonnull dereferenceable(1) %1001) #10 + %.not759 = icmp eq i64 %1002, 0 + br i1 %.not759, label %.loopexit.preheader, label %.lr.ph751 + +.lr.ph751: ; preds = %992, %1008 + %1003 = phi i64 [ %1009, %1008 ], [ 0, %992 ] + %.0499749 = phi i32 [ %1007, %1008 ], [ 0, %992 ] + %1004 = getelementptr i8, ptr %1001, i64 %1003 + %1005 = load i8, ptr %1004, align 1 + %1006 = icmp eq i8 %1005, 36 + %1007 = add i32 %.0499749, 1 + br i1 %1006, label %.loopexit.preheader, label %1008 + +1008: ; preds = %.lr.ph751 + %1009 = zext i32 %1007 to i64 + %1010 = icmp ugt i64 %1002, %1009 + br i1 %1010, label %.lr.ph751, label %.loopexit.preheader, !llvm.loop !19 + +.loopexit.preheader: ; preds = %1008, %.lr.ph751, %992 + %.0497754.ph = phi i32 [ 1, %992 ], [ 1, %1008 ], [ %1007, %.lr.ph751 ] br label %.loopexit -.loopexit: ; preds = %.loopexit.preheader, %1015 - %indvars.iv792 = phi i64 [ %indvars.iv.next793, %1015 ], [ 0, %.loopexit.preheader ] - %.0497753 = phi i32 [ %1029, %1015 ], [ %.0497753.ph, %.loopexit.preheader ] - %1012 = sext i32 %.0497753 to i64 - %1013 = getelementptr i8, ptr %1002, i64 %1012 - %1014 = load i8, ptr %1013, align 1 - %.not551 = icmp eq i8 %1014, 0 - br i1 %.not551, label %.critedge9.split.loop.exit828, label %1015 - -1015: ; preds = %.loopexit - %1016 = add i8 %1014, -48 - %or.cond.i625 = icmp ult i8 %1016, 10 - %1017 = add i8 %1014, -97 - %or.cond5.i626 = icmp ult i8 %1017, 6 - %1018 = add i8 %1014, 9 - %spec.select.i627 = select i1 %or.cond5.i626, i8 %1018, i8 15 - %.0.i628 = select i1 %or.cond.i625, i8 %1014, i8 %spec.select.i627 - %1019 = shl i8 %.0.i628, 4 - %1020 = add i32 %.0497753, 1 - %1021 = sext i32 %1020 to i64 - %1022 = getelementptr i8, ptr %1002, i64 %1021 - %1023 = load i8, ptr %1022, align 1 - %1024 = add i8 %1023, -48 - %or.cond.i629 = icmp ult i8 %1024, 10 - %1025 = add i8 %1023, -97 - %or.cond5.i630 = icmp ult i8 %1025, 6 - %1026 = add nsw i8 %1023, -87 - %spec.select.i631 = select i1 %or.cond5.i630, i8 %1026, i8 -1 - %.0.i632 = select i1 %or.cond.i629, i8 %1024, i8 %spec.select.i631 - %1027 = add i8 %.0.i632, %1019 - %1028 = getelementptr [36000 x i8], ptr @dissect_catapult_dct2000.eth_data, i64 0, i64 %indvars.iv792 - store i8 %1027, ptr %1028, align 1 - %1029 = add i32 %.0497753, 2 - %indvars.iv.next793 = add nuw nsw i64 %indvars.iv792, 1 - %exitcond796.not = icmp eq i64 %indvars.iv.next793, 36000 - br i1 %exitcond796.not, label %.critedge9, label %.loopexit, !llvm.loop !20 - -.critedge9.split.loop.exit828: ; preds = %.loopexit - %1030 = trunc nuw nsw i64 %indvars.iv792 to i32 +.loopexit: ; preds = %.loopexit.preheader, %1014 + %indvars.iv793 = phi i64 [ %indvars.iv.next794, %1014 ], [ 0, %.loopexit.preheader ] + %.0497754 = phi i32 [ %1028, %1014 ], [ %.0497754.ph, %.loopexit.preheader ] + %1011 = sext i32 %.0497754 to i64 + %1012 = getelementptr i8, ptr %1001, i64 %1011 + %1013 = load i8, ptr %1012, align 1 + %.not551 = icmp eq i8 %1013, 0 + br i1 %.not551, label %.critedge9.split.loop.exit829, label %1014 + +1014: ; preds = %.loopexit + %1015 = add i8 %1013, -48 + %or.cond.i626 = icmp ult i8 %1015, 10 + %1016 = add i8 %1013, -97 + %or.cond5.i627 = icmp ult i8 %1016, 6 + %1017 = add i8 %1013, 9 + %spec.select.i628 = select i1 %or.cond5.i627, i8 %1017, i8 15 + %.0.i629 = select i1 %or.cond.i626, i8 %1013, i8 %spec.select.i628 + %1018 = shl i8 %.0.i629, 4 + %1019 = add i32 %.0497754, 1 + %1020 = sext i32 %1019 to i64 + %1021 = getelementptr i8, ptr %1001, i64 %1020 + %1022 = load i8, ptr %1021, align 1 + %1023 = add i8 %1022, -48 + %or.cond.i630 = icmp ult i8 %1023, 10 + %1024 = add i8 %1022, -97 + %or.cond5.i631 = icmp ult i8 %1024, 6 + %1025 = add nsw i8 %1022, -87 + %spec.select.i632 = select i1 %or.cond5.i631, i8 %1025, i8 -1 + %.0.i633 = select i1 %or.cond.i630, i8 %1023, i8 %spec.select.i632 + %1026 = add i8 %.0.i633, %1018 + %1027 = getelementptr [36000 x i8], ptr @dissect_catapult_dct2000.eth_data, i64 0, i64 %indvars.iv793 + store i8 %1026, ptr %1027, align 1 + %1028 = add i32 %.0497754, 2 + %indvars.iv.next794 = add nuw nsw i64 %indvars.iv793, 1 + %exitcond797.not = icmp eq i64 %indvars.iv.next794, 36000 + br i1 %exitcond797.not, label %.critedge9, label %.loopexit, !llvm.loop !20 + +.critedge9.split.loop.exit829: ; preds = %.loopexit + %1029 = trunc nuw nsw i64 %indvars.iv793 to i32 br label %.critedge9 -.critedge9: ; preds = %1015, %.critedge9.split.loop.exit828 - %.0498.lcssa = phi i32 [ %1030, %.critedge9.split.loop.exit828 ], [ 36000, %1015 ] - %1031 = call ptr @tvb_new_real_data(ptr noundef nonnull @dissect_catapult_dct2000.eth_data, i32 noundef %.0498.lcssa, i32 noundef %.0498.lcssa) #9 - call void @add_new_data_source(ptr noundef %1, ptr noundef %1031, ptr noundef nonnull @.str.353) #9 - %1032 = load i32, ptr @hf_catapult_dct2000_rawtraffic_pdu, align 4 - %1033 = call i32 @tvb_reported_length(ptr noundef %1031) #9 - %1034 = call ptr @proto_tree_add_item(ptr noundef %2, i32 noundef %1032, ptr noundef %1031, i32 noundef 0, i32 noundef %1033, i32 noundef 0) #9 - %1035 = load ptr, ptr @eth_handle, align 8 - %1036 = call i32 @call_dissector_only(ptr noundef %1035, ptr noundef %1031, ptr noundef %1, ptr noundef %2, ptr noundef null) #9 - br label %.sink.split833 - -1037: ; preds = %760 - %1038 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %121, ptr noundef nonnull dereferenceable(7) @.str.297) #10 - %1039 = icmp eq i32 %1038, 0 - br i1 %1039, label %1040, label %1048 - -1040: ; preds = %1037 - %1041 = load i32, ptr @hf_catapult_dct2000_sprint, align 4 - %1042 = load i32, ptr %7, align 4 - %1043 = call i32 @tvb_reported_length_remaining(ptr noundef %0, i32 noundef %1042) #9 - %1044 = load ptr, ptr %73, align 8 - %1045 = call ptr @proto_tree_add_item_ret_string(ptr noundef %.0486664673, i32 noundef %1041, ptr noundef %0, i32 noundef %1042, i32 noundef %1043, i32 noundef 0, ptr noundef %1044, ptr noundef nonnull %31) #9 - %1046 = load ptr, ptr %46, align 8 - %1047 = load ptr, ptr %31, align 8 - call void @col_append_str(ptr noundef %1046, i32 noundef 25, ptr noundef %1047) #9 - br label %.sink.split833 - -1048: ; preds = %1037 - %1049 = load i32, ptr @catapult_dct2000_dissect_lte_rrc, align 4 - %.not538 = icmp eq i32 %1049, 0 - br i1 %.not538, label %1085, label %1050 - -1050: ; preds = %1048 - %1051 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %121, ptr noundef nonnull dereferenceable(11) @.str.354) #10 - %1052 = icmp eq i32 %1051, 0 - br i1 %1052, label %1083, label %1053 - -1053: ; preds = %1050 - %1054 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %121, ptr noundef nonnull dereferenceable(19) @.str.355) #10 - %1055 = icmp eq i32 %1054, 0 - br i1 %1055, label %1083, label %1056 - -1056: ; preds = %1053 - %1057 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %121, ptr noundef nonnull dereferenceable(11) @.str.356) #10 - %1058 = icmp eq i32 %1057, 0 - br i1 %1058, label %1083, label %1059 - -1059: ; preds = %1056 - %1060 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %121, ptr noundef nonnull dereferenceable(19) @.str.357) #10 - %1061 = icmp eq i32 %1060, 0 - br i1 %1061, label %1083, label %1062 - -1062: ; preds = %1059 - %1063 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %121, ptr noundef nonnull dereferenceable(12) @.str.358) #10 - %1064 = icmp eq i32 %1063, 0 - br i1 %1064, label %1083, label %1065 - -1065: ; preds = %1062 - %1066 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %121, ptr noundef nonnull dereferenceable(12) @.str.359) #10 - %1067 = icmp eq i32 %1066, 0 - br i1 %1067, label %1083, label %1068 - -1068: ; preds = %1065 - %1069 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %121, ptr noundef nonnull dereferenceable(12) @.str.360) #10 - %1070 = icmp eq i32 %1069, 0 - br i1 %1070, label %1083, label %1071 - -1071: ; preds = %1068 - %1072 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %121, ptr noundef nonnull dereferenceable(12) @.str.361) #10 - %1073 = icmp eq i32 %1072, 0 - br i1 %1073, label %1083, label %1074 - -1074: ; preds = %1071 - %1075 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %121, ptr noundef nonnull dereferenceable(12) @.str.362) #10 - %1076 = icmp eq i32 %1075, 0 - br i1 %1076, label %1083, label %1077 - -1077: ; preds = %1074 - %1078 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %121, ptr noundef nonnull dereferenceable(12) @.str.363) #10 - %1079 = icmp eq i32 %1078, 0 - br i1 %1079, label %1083, label %1080 - -1080: ; preds = %1077 - %1081 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %121, ptr noundef nonnull dereferenceable(20) @.str.364) #10 - %1082 = icmp eq i32 %1081, 0 - br i1 %1082, label %1083, label %1085 - -1083: ; preds = %1080, %1077, %1074, %1071, %1068, %1065, %1062, %1059, %1056, %1053, %1050 - %1084 = load i32, ptr %7, align 4 - call fastcc void @dissect_rrc_lte_nr(ptr noundef %0, i32 noundef %1084, ptr noundef %1, ptr noundef %2, i32 noundef 0) - br label %.sink.split833 - -1085: ; preds = %1080, %1048 - %1086 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %121, ptr noundef nonnull dereferenceable(11) @.str.365) #10 - %1087 = icmp eq i32 %1086, 0 - br i1 %1087, label %1091, label %1088 - -1088: ; preds = %1085 - %1089 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %121, ptr noundef nonnull dereferenceable(11) @.str.366) #10 - %1090 = icmp eq i32 %1089, 0 - br i1 %1090, label %1091, label %1093 - -1091: ; preds = %1088, %1085 - %1092 = load i32, ptr %7, align 4 - call fastcc void @dissect_rrc_lte_nr(ptr noundef %0, i32 noundef %1092, ptr noundef %1, ptr noundef %2, i32 noundef 1) - br label %.sink.split833 - -1093: ; preds = %1088 - %1094 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %121, ptr noundef nonnull dereferenceable(13) @.str.367) #10 - %1095 = icmp eq i32 %1094, 0 - br i1 %1095, label %1099, label %1096 - -1096: ; preds = %1093 - %1097 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %121, ptr noundef nonnull dereferenceable(13) @.str.368) #10 - %1098 = icmp eq i32 %1097, 0 - br i1 %1098, label %1099, label %1101 - -1099: ; preds = %1096, %1093 - %1100 = load i32, ptr %7, align 4 - call fastcc void @dissect_ccpri_lte(ptr noundef %0, i32 noundef %1100, ptr noundef %1, ptr noundef %2) - br label %.sink.split833 - -1101: ; preds = %721, %1096, %758, %748, %732 - %.2 = phi ptr [ %722, %721 ], [ %733, %732 ], [ %749, %748 ], [ %759, %758 ], [ %.0488, %1096 ] - %1102 = icmp eq ptr %.2, null - %1103 = load i32, ptr @catapult_dct2000_try_ipprim_heuristic, align 4 - %1104 = icmp ne i32 %1103, 0 - %or.cond11 = select i1 %1102, i1 %1104, i1 false - br i1 %or.cond11, label %1105, label %1277 - -1105: ; preds = %1101 +.critedge9: ; preds = %1014, %.critedge9.split.loop.exit829 + %.0498.lcssa = phi i32 [ %1029, %.critedge9.split.loop.exit829 ], [ 36000, %1014 ] + %1030 = call ptr @tvb_new_real_data(ptr noundef nonnull @dissect_catapult_dct2000.eth_data, i32 noundef %.0498.lcssa, i32 noundef %.0498.lcssa) #9 + call void @add_new_data_source(ptr noundef %1, ptr noundef %1030, ptr noundef nonnull @.str.353) #9 + %1031 = load i32, ptr @hf_catapult_dct2000_rawtraffic_pdu, align 4 + %1032 = call i32 @tvb_reported_length(ptr noundef %1030) #9 + %1033 = call ptr @proto_tree_add_item(ptr noundef %2, i32 noundef %1031, ptr noundef %1030, i32 noundef 0, i32 noundef %1032, i32 noundef 0) #9 + %1034 = load ptr, ptr @eth_handle, align 8 + %1035 = call i32 @call_dissector_only(ptr noundef %1034, ptr noundef %1030, ptr noundef %1, ptr noundef %2, ptr noundef null) #9 + br label %.sink.split834 + +1036: ; preds = %759 + %1037 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %121, ptr noundef nonnull dereferenceable(7) @.str.297) #10 + %1038 = icmp eq i32 %1037, 0 + br i1 %1038, label %1039, label %1047 + +1039: ; preds = %1036 + %1040 = load i32, ptr @hf_catapult_dct2000_sprint, align 4 + %1041 = load i32, ptr %7, align 4 + %1042 = call i32 @tvb_reported_length_remaining(ptr noundef %0, i32 noundef %1041) #9 + %1043 = load ptr, ptr %73, align 8 + %1044 = call ptr @proto_tree_add_item_ret_string(ptr noundef %.0486665674, i32 noundef %1040, ptr noundef %0, i32 noundef %1041, i32 noundef %1042, i32 noundef 0, ptr noundef %1043, ptr noundef nonnull %31) #9 + %1045 = load ptr, ptr %46, align 8 + %1046 = load ptr, ptr %31, align 8 + call void @col_append_str(ptr noundef %1045, i32 noundef 25, ptr noundef %1046) #9 + br label %.sink.split834 + +1047: ; preds = %1036 + %1048 = load i32, ptr @catapult_dct2000_dissect_lte_rrc, align 4 + %.not538 = icmp eq i32 %1048, 0 + br i1 %.not538, label %1084, label %1049 + +1049: ; preds = %1047 + %1050 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %121, ptr noundef nonnull dereferenceable(11) @.str.354) #10 + %1051 = icmp eq i32 %1050, 0 + br i1 %1051, label %1082, label %1052 + +1052: ; preds = %1049 + %1053 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %121, ptr noundef nonnull dereferenceable(19) @.str.355) #10 + %1054 = icmp eq i32 %1053, 0 + br i1 %1054, label %1082, label %1055 + +1055: ; preds = %1052 + %1056 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %121, ptr noundef nonnull dereferenceable(11) @.str.356) #10 + %1057 = icmp eq i32 %1056, 0 + br i1 %1057, label %1082, label %1058 + +1058: ; preds = %1055 + %1059 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %121, ptr noundef nonnull dereferenceable(19) @.str.357) #10 + %1060 = icmp eq i32 %1059, 0 + br i1 %1060, label %1082, label %1061 + +1061: ; preds = %1058 + %1062 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %121, ptr noundef nonnull dereferenceable(12) @.str.358) #10 + %1063 = icmp eq i32 %1062, 0 + br i1 %1063, label %1082, label %1064 + +1064: ; preds = %1061 + %1065 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %121, ptr noundef nonnull dereferenceable(12) @.str.359) #10 + %1066 = icmp eq i32 %1065, 0 + br i1 %1066, label %1082, label %1067 + +1067: ; preds = %1064 + %1068 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %121, ptr noundef nonnull dereferenceable(12) @.str.360) #10 + %1069 = icmp eq i32 %1068, 0 + br i1 %1069, label %1082, label %1070 + +1070: ; preds = %1067 + %1071 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %121, ptr noundef nonnull dereferenceable(12) @.str.361) #10 + %1072 = icmp eq i32 %1071, 0 + br i1 %1072, label %1082, label %1073 + +1073: ; preds = %1070 + %1074 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %121, ptr noundef nonnull dereferenceable(12) @.str.362) #10 + %1075 = icmp eq i32 %1074, 0 + br i1 %1075, label %1082, label %1076 + +1076: ; preds = %1073 + %1077 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %121, ptr noundef nonnull dereferenceable(12) @.str.363) #10 + %1078 = icmp eq i32 %1077, 0 + br i1 %1078, label %1082, label %1079 + +1079: ; preds = %1076 + %1080 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %121, ptr noundef nonnull dereferenceable(20) @.str.364) #10 + %1081 = icmp eq i32 %1080, 0 + br i1 %1081, label %1082, label %1084 + +1082: ; preds = %1079, %1076, %1073, %1070, %1067, %1064, %1061, %1058, %1055, %1052, %1049 + %1083 = load i32, ptr %7, align 4 + call fastcc void @dissect_rrc_lte_nr(ptr noundef %0, i32 noundef %1083, ptr noundef %1, ptr noundef %2, i32 noundef 0) + br label %.sink.split834 + +1084: ; preds = %1079, %1047 + %1085 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %121, ptr noundef nonnull dereferenceable(11) @.str.365) #10 + %1086 = icmp eq i32 %1085, 0 + br i1 %1086, label %1090, label %1087 + +1087: ; preds = %1084 + %1088 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %121, ptr noundef nonnull dereferenceable(11) @.str.366) #10 + %1089 = icmp eq i32 %1088, 0 + br i1 %1089, label %1090, label %1092 + +1090: ; preds = %1087, %1084 + %1091 = load i32, ptr %7, align 4 + call fastcc void @dissect_rrc_lte_nr(ptr noundef %0, i32 noundef %1091, ptr noundef %1, ptr noundef %2, i32 noundef 1) + br label %.sink.split834 + +1092: ; preds = %1087 + %1093 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %121, ptr noundef nonnull dereferenceable(13) @.str.367) #10 + %1094 = icmp eq i32 %1093, 0 + br i1 %1094, label %1098, label %1095 + +1095: ; preds = %1092 + %1096 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %121, ptr noundef nonnull dereferenceable(13) @.str.368) #10 + %1097 = icmp eq i32 %1096, 0 + br i1 %1097, label %1098, label %1100 + +1098: ; preds = %1095, %1092 + %1099 = load i32, ptr %7, align 4 + call fastcc void @dissect_ccpri_lte(ptr noundef %0, i32 noundef %1099, ptr noundef %1, ptr noundef %2) + br label %.sink.split834 + +1100: ; preds = %720, %1095, %757, %747, %731 + %.2 = phi ptr [ %721, %720 ], [ %732, %731 ], [ %748, %747 ], [ %758, %757 ], [ %.0488, %1095 ] + %1101 = icmp eq ptr %.2, null + %1102 = load i32, ptr @catapult_dct2000_try_ipprim_heuristic, align 4 + %1103 = icmp ne i32 %1102, 0 + %or.cond11 = select i1 %1101, i1 %1103, i1 false + br i1 %or.cond11, label %1104, label %1276 + +1104: ; preds = %1100 store i32 0, ptr %32, align 4 store i32 0, ptr %33, align 4 store i8 0, ptr %34, align 1 @@ -2759,552 +2759,552 @@ proto_item_set_generated.exit: ; preds = %778, %781, %784 store i32 0, ptr %37, align 4 store i32 0, ptr %38, align 4 store i16 0, ptr %39, align 2 - %1106 = load i32, ptr %7, align 4 - %1107 = call fastcc i32 @find_ipprim_data_offset(ptr noundef %0, ptr noundef %7, i8 noundef zeroext %154, ptr noundef %32, ptr noundef %34, ptr noundef %33, ptr noundef %35, ptr noundef %36, ptr noundef %37, ptr noundef %38, ptr noundef %39) - %.not552 = icmp eq i32 %1107, 0 - br i1 %.not552, label %1277, label %1108 - -1108: ; preds = %1105 - %1109 = load i8, ptr %34, align 1 - %.not553 = icmp eq i8 %1109, 4 - br i1 %.not553, label %1112, label %1110 - -1110: ; preds = %1108 - %1111 = load i32, ptr %32, align 4 - call void @tvb_get_ipv6(ptr noundef %0, i32 noundef %1111, ptr noundef nonnull %40) #9 - br label %1112 - -1112: ; preds = %1110, %1108 - %1113 = load i8, ptr %35, align 1 - %.not554 = icmp eq i8 %1113, 4 - br i1 %.not554, label %1116, label %1114 - -1114: ; preds = %1112 - %1115 = load i32, ptr %33, align 4 - call void @tvb_get_ipv6(ptr noundef %0, i32 noundef %1115, ptr noundef nonnull %41) #9 - br label %1116 - -1116: ; preds = %1114, %1112 - %1117 = call fastcc ptr @look_for_dissector(ptr noundef nonnull %121) - %1118 = load i32, ptr @hf_catapult_dct2000_ipprim_addresses, align 4 - %1119 = load i32, ptr %38, align 4 - %1120 = icmp eq i32 %1119, 3 - %1121 = select i1 %1120, ptr @.str.371, ptr @.str.372 - %1122 = load i32, ptr %32, align 4 - %.not555 = icmp eq i32 %1122, 0 - br i1 %.not555, label %1129, label %1123 - -1123: ; preds = %1116 - br i1 %.not553, label %1124, label %1127 - -1124: ; preds = %1123 - %1125 = call i32 @tvb_get_ipv4(ptr noundef %0, i32 noundef %1122) #9 - %1126 = call ptr @get_hostname(i32 noundef %1125) #9 - br label %1129 - -1127: ; preds = %1123 - %1128 = call ptr @get_hostname6(ptr noundef nonnull %40) #9 - br label %1129 - -1129: ; preds = %1116, %1124, %1127 - %1130 = phi ptr [ %1126, %1124 ], [ %1128, %1127 ], [ @.str.373, %1116 ] - %1131 = load i32, ptr %36, align 4 - %.not556 = icmp eq i32 %1131, 0 - br i1 %.not556, label %1135, label %1132 - -1132: ; preds = %1129 - %1133 = call zeroext i16 @tvb_get_ntohs(ptr noundef %0, i32 noundef %1131) #9 - %1134 = zext i16 %1133 to i32 - br label %1135 - -1135: ; preds = %1129, %1132 - %1136 = phi i32 [ %1134, %1132 ], [ 0, %1129 ] - %1137 = load i32, ptr %33, align 4 - %.not557 = icmp eq i32 %1137, 0 - br i1 %.not557, label %1144, label %1138 - -1138: ; preds = %1135 - br i1 %.not553, label %1139, label %1142 - -1139: ; preds = %1138 - %1140 = call i32 @tvb_get_ipv4(ptr noundef %0, i32 noundef %1137) #9 - %1141 = call ptr @get_hostname(i32 noundef %1140) #9 - br label %1144 - -1142: ; preds = %1138 - %1143 = call ptr @get_hostname6(ptr noundef nonnull %41) #9 - br label %1144 - -1144: ; preds = %1135, %1139, %1142 - %1145 = phi ptr [ %1141, %1139 ], [ %1143, %1142 ], [ @.str.373, %1135 ] - %1146 = load i32, ptr %37, align 4 - %.not558 = icmp eq i32 %1146, 0 - br i1 %.not558, label %1150, label %1147 - -1147: ; preds = %1144 - %1148 = call zeroext i16 @tvb_get_ntohs(ptr noundef %0, i32 noundef %1146) #9 - %1149 = zext i16 %1148 to i32 - br label %1150 - -1150: ; preds = %1144, %1147 - %1151 = phi i32 [ %1149, %1147 ], [ 0, %1144 ] - %1152 = call ptr (ptr, i32, ptr, i32, i32, ptr, ptr, ...) @proto_tree_add_string_format(ptr noundef %.0486664673, i32 noundef %1118, ptr noundef %0, i32 noundef %1106, i32 noundef 0, ptr noundef nonnull @.str.369, ptr noundef nonnull @.str.370, ptr noundef nonnull %1121, ptr noundef %1130, i32 noundef %1136, ptr noundef %1145, i32 noundef %1151) #9 - %1153 = icmp eq i32 %1119, 2 - %1154 = load i16, ptr %39, align 2 - %1155 = icmp ne i16 %1154, 0 - %or.cond14 = select i1 %1153, i1 %1155, i1 false - br i1 %or.cond14, label %1156, label %1160 - -1156: ; preds = %1150 - %1157 = zext i16 %1154 to i32 - %1158 = call zeroext i16 @tvb_get_ntohs(ptr noundef %0, i32 noundef %1157) #9 - %1159 = zext i16 %1158 to i32 - call void (ptr, ptr, ...) @proto_item_append_text(ptr noundef %1152, ptr noundef nonnull @.str.374, i32 noundef %1159) #9 - br label %1160 - -1160: ; preds = %1156, %1150 - %1161 = load i32, ptr @ett_catapult_dct2000_ipprim, align 4 - %1162 = call ptr @proto_item_add_subtree(ptr noundef %1152, i32 noundef %1161) #9 - %1163 = getelementptr inbounds nuw i8, ptr %1, i64 280 - store i32 %1119, ptr %1163, align 8 - br i1 %.not555, label %proto_item_set_hidden.exit, label %1164 - -1164: ; preds = %1160 - %1165 = getelementptr inbounds nuw i8, ptr %1, i64 160 - %1166 = zext i8 %1109 to i32 - %1167 = select i1 %.not553, i32 2, i32 3 - %.not.i633 = icmp eq i8 %1109, 0 - br i1 %.not.i633, label %set_address_tvb.exit, label %.split.i - -.split.i: ; preds = %1164 - %1168 = call ptr @tvb_get_ptr(ptr noundef %0, i32 noundef range(i32 1, 0) %1122, i32 noundef range(i32 0, 65536) %1166) #9 + %1105 = load i32, ptr %7, align 4 + %1106 = call fastcc i32 @find_ipprim_data_offset(ptr noundef %0, ptr noundef %7, i8 noundef zeroext %154, ptr noundef %32, ptr noundef %34, ptr noundef %33, ptr noundef %35, ptr noundef %36, ptr noundef %37, ptr noundef %38, ptr noundef %39) + %.not552 = icmp eq i32 %1106, 0 + br i1 %.not552, label %1276, label %1107 + +1107: ; preds = %1104 + %1108 = load i8, ptr %34, align 1 + %.not553 = icmp eq i8 %1108, 4 + br i1 %.not553, label %1111, label %1109 + +1109: ; preds = %1107 + %1110 = load i32, ptr %32, align 4 + call void @tvb_get_ipv6(ptr noundef %0, i32 noundef %1110, ptr noundef nonnull %40) #9 + br label %1111 + +1111: ; preds = %1109, %1107 + %1112 = load i8, ptr %35, align 1 + %.not554 = icmp eq i8 %1112, 4 + br i1 %.not554, label %1115, label %1113 + +1113: ; preds = %1111 + %1114 = load i32, ptr %33, align 4 + call void @tvb_get_ipv6(ptr noundef %0, i32 noundef %1114, ptr noundef nonnull %41) #9 + br label %1115 + +1115: ; preds = %1113, %1111 + %1116 = call fastcc ptr @look_for_dissector(ptr noundef nonnull %121) + %1117 = load i32, ptr @hf_catapult_dct2000_ipprim_addresses, align 4 + %1118 = load i32, ptr %38, align 4 + %1119 = icmp eq i32 %1118, 3 + %1120 = select i1 %1119, ptr @.str.371, ptr @.str.372 + %1121 = load i32, ptr %32, align 4 + %.not555 = icmp eq i32 %1121, 0 + br i1 %.not555, label %1128, label %1122 + +1122: ; preds = %1115 + br i1 %.not553, label %1123, label %1126 + +1123: ; preds = %1122 + %1124 = call i32 @tvb_get_ipv4(ptr noundef %0, i32 noundef %1121) #9 + %1125 = call ptr @get_hostname(i32 noundef %1124) #9 + br label %1128 + +1126: ; preds = %1122 + %1127 = call ptr @get_hostname6(ptr noundef nonnull %40) #9 + br label %1128 + +1128: ; preds = %1115, %1123, %1126 + %1129 = phi ptr [ %1125, %1123 ], [ %1127, %1126 ], [ @.str.373, %1115 ] + %1130 = load i32, ptr %36, align 4 + %.not556 = icmp eq i32 %1130, 0 + br i1 %.not556, label %1134, label %1131 + +1131: ; preds = %1128 + %1132 = call zeroext i16 @tvb_get_ntohs(ptr noundef %0, i32 noundef %1130) #9 + %1133 = zext i16 %1132 to i32 + br label %1134 + +1134: ; preds = %1128, %1131 + %1135 = phi i32 [ %1133, %1131 ], [ 0, %1128 ] + %1136 = load i32, ptr %33, align 4 + %.not557 = icmp eq i32 %1136, 0 + br i1 %.not557, label %1143, label %1137 + +1137: ; preds = %1134 + br i1 %.not553, label %1138, label %1141 + +1138: ; preds = %1137 + %1139 = call i32 @tvb_get_ipv4(ptr noundef %0, i32 noundef %1136) #9 + %1140 = call ptr @get_hostname(i32 noundef %1139) #9 + br label %1143 + +1141: ; preds = %1137 + %1142 = call ptr @get_hostname6(ptr noundef nonnull %41) #9 + br label %1143 + +1143: ; preds = %1134, %1138, %1141 + %1144 = phi ptr [ %1140, %1138 ], [ %1142, %1141 ], [ @.str.373, %1134 ] + %1145 = load i32, ptr %37, align 4 + %.not558 = icmp eq i32 %1145, 0 + br i1 %.not558, label %1149, label %1146 + +1146: ; preds = %1143 + %1147 = call zeroext i16 @tvb_get_ntohs(ptr noundef %0, i32 noundef %1145) #9 + %1148 = zext i16 %1147 to i32 + br label %1149 + +1149: ; preds = %1143, %1146 + %1150 = phi i32 [ %1148, %1146 ], [ 0, %1143 ] + %1151 = call ptr (ptr, i32, ptr, i32, i32, ptr, ptr, ...) @proto_tree_add_string_format(ptr noundef %.0486665674, i32 noundef %1117, ptr noundef %0, i32 noundef %1105, i32 noundef 0, ptr noundef nonnull @.str.369, ptr noundef nonnull @.str.370, ptr noundef nonnull %1120, ptr noundef %1129, i32 noundef %1135, ptr noundef %1144, i32 noundef %1150) #9 + %1152 = icmp eq i32 %1118, 2 + %1153 = load i16, ptr %39, align 2 + %1154 = icmp ne i16 %1153, 0 + %or.cond14 = select i1 %1152, i1 %1154, i1 false + br i1 %or.cond14, label %1155, label %1159 + +1155: ; preds = %1149 + %1156 = zext i16 %1153 to i32 + %1157 = call zeroext i16 @tvb_get_ntohs(ptr noundef %0, i32 noundef %1156) #9 + %1158 = zext i16 %1157 to i32 + call void (ptr, ptr, ...) @proto_item_append_text(ptr noundef %1151, ptr noundef nonnull @.str.374, i32 noundef %1158) #9 + br label %1159 + +1159: ; preds = %1155, %1149 + %1160 = load i32, ptr @ett_catapult_dct2000_ipprim, align 4 + %1161 = call ptr @proto_item_add_subtree(ptr noundef %1151, i32 noundef %1160) #9 + %1162 = getelementptr inbounds nuw i8, ptr %1, i64 280 + store i32 %1118, ptr %1162, align 8 + br i1 %.not555, label %proto_item_set_hidden.exit, label %1163 + +1163: ; preds = %1159 + %1164 = getelementptr inbounds nuw i8, ptr %1, i64 160 + %1165 = zext i8 %1108 to i32 + %1166 = select i1 %.not553, i32 2, i32 3 + %.not.i634 = icmp eq i8 %1108, 0 + br i1 %.not.i634, label %set_address_tvb.exit, label %.split.i + +.split.i: ; preds = %1163 + %1167 = call ptr @tvb_get_ptr(ptr noundef %0, i32 noundef range(i32 1, 0) %1121, i32 noundef range(i32 0, 65536) %1165) #9 br label %set_address_tvb.exit -set_address_tvb.exit: ; preds = %1164, %.split.i - %.sink.i634 = phi ptr [ %1168, %.split.i ], [ null, %1164 ] - store i32 %1167, ptr %1165, align 8 - %1169 = getelementptr inbounds nuw i8, ptr %1, i64 164 - store i32 %1166, ptr %1169, align 4 - %1170 = getelementptr inbounds nuw i8, ptr %1, i64 168 - store ptr %.sink.i634, ptr %1170, align 8 - %1171 = getelementptr inbounds nuw i8, ptr %1, i64 176 - store ptr null, ptr %1171, align 8 - %1172 = getelementptr inbounds nuw i8, ptr %1, i64 208 - store i32 %1167, ptr %1172, align 8 - %1173 = getelementptr inbounds nuw i8, ptr %1, i64 212 - store i32 %1166, ptr %1173, align 4 - %1174 = getelementptr inbounds nuw i8, ptr %1, i64 216 - store ptr %.sink.i634, ptr %1174, align 8 - %1175 = getelementptr inbounds nuw i8, ptr %1, i64 224 - store ptr null, ptr %1175, align 8 - %1176 = load i32, ptr @hf_catapult_dct2000_ipprim_src_addr_v4, align 4 - %1177 = load i32, ptr @hf_catapult_dct2000_ipprim_src_addr_v6, align 4 - %1178 = select i1 %.not553, i32 %1176, i32 %1177 - %1179 = call ptr @proto_tree_add_item(ptr noundef %1162, i32 noundef %1178, ptr noundef %0, i32 noundef %1122, i32 noundef %1166, i32 noundef 0) #9 - %1180 = load i32, ptr @hf_catapult_dct2000_ipprim_addr_v4, align 4 - %1181 = load i32, ptr @hf_catapult_dct2000_ipprim_addr_v6, align 4 - %1182 = select i1 %.not553, i32 %1180, i32 %1181 - %1183 = call ptr @proto_tree_add_item(ptr noundef %1162, i32 noundef %1182, ptr noundef %0, i32 noundef %1122, i32 noundef %1166, i32 noundef 0) #9 - %.not.i635 = icmp eq ptr %1183, null - br i1 %.not.i635, label %proto_item_set_hidden.exit, label %1184 - -1184: ; preds = %set_address_tvb.exit - %1185 = getelementptr inbounds nuw i8, ptr %1183, i64 32 - %1186 = load ptr, ptr %1185, align 8 - %.not5.i636 = icmp eq ptr %1186, null - br i1 %.not5.i636, label %proto_item_set_hidden.exit, label %1187 - -1187: ; preds = %1184 - %1188 = getelementptr inbounds nuw i8, ptr %1186, i64 28 - %1189 = load i32, ptr %1188, align 4 - %1190 = or i32 %1189, 1 - store i32 %1190, ptr %1188, align 4 +set_address_tvb.exit: ; preds = %1163, %.split.i + %.sink.i635 = phi ptr [ %1167, %.split.i ], [ null, %1163 ] + store i32 %1166, ptr %1164, align 8 + %1168 = getelementptr inbounds nuw i8, ptr %1, i64 164 + store i32 %1165, ptr %1168, align 4 + %1169 = getelementptr inbounds nuw i8, ptr %1, i64 168 + store ptr %.sink.i635, ptr %1169, align 8 + %1170 = getelementptr inbounds nuw i8, ptr %1, i64 176 + store ptr null, ptr %1170, align 8 + %1171 = getelementptr inbounds nuw i8, ptr %1, i64 208 + store i32 %1166, ptr %1171, align 8 + %1172 = getelementptr inbounds nuw i8, ptr %1, i64 212 + store i32 %1165, ptr %1172, align 4 + %1173 = getelementptr inbounds nuw i8, ptr %1, i64 216 + store ptr %.sink.i635, ptr %1173, align 8 + %1174 = getelementptr inbounds nuw i8, ptr %1, i64 224 + store ptr null, ptr %1174, align 8 + %1175 = load i32, ptr @hf_catapult_dct2000_ipprim_src_addr_v4, align 4 + %1176 = load i32, ptr @hf_catapult_dct2000_ipprim_src_addr_v6, align 4 + %1177 = select i1 %.not553, i32 %1175, i32 %1176 + %1178 = call ptr @proto_tree_add_item(ptr noundef %1161, i32 noundef %1177, ptr noundef %0, i32 noundef %1121, i32 noundef %1165, i32 noundef 0) #9 + %1179 = load i32, ptr @hf_catapult_dct2000_ipprim_addr_v4, align 4 + %1180 = load i32, ptr @hf_catapult_dct2000_ipprim_addr_v6, align 4 + %1181 = select i1 %.not553, i32 %1179, i32 %1180 + %1182 = call ptr @proto_tree_add_item(ptr noundef %1161, i32 noundef %1181, ptr noundef %0, i32 noundef %1121, i32 noundef %1165, i32 noundef 0) #9 + %.not.i636 = icmp eq ptr %1182, null + br i1 %.not.i636, label %proto_item_set_hidden.exit, label %1183 + +1183: ; preds = %set_address_tvb.exit + %1184 = getelementptr inbounds nuw i8, ptr %1182, i64 32 + %1185 = load ptr, ptr %1184, align 8 + %.not5.i637 = icmp eq ptr %1185, null + br i1 %.not5.i637, label %proto_item_set_hidden.exit, label %1186 + +1186: ; preds = %1183 + %1187 = getelementptr inbounds nuw i8, ptr %1185, i64 28 + %1188 = load i32, ptr %1187, align 4 + %1189 = or i32 %1188, 1 + store i32 %1189, ptr %1187, align 4 br label %proto_item_set_hidden.exit -proto_item_set_hidden.exit: ; preds = %1187, %1184, %set_address_tvb.exit, %1160 - br i1 %.not556, label %proto_item_set_hidden.exit639, label %1191 - -1191: ; preds = %proto_item_set_hidden.exit - %1192 = call zeroext i16 @tvb_get_ntohs(ptr noundef %0, i32 noundef %1131) #9 - %1193 = zext i16 %1192 to i32 - %1194 = getelementptr inbounds nuw i8, ptr %1, i64 284 - store i32 %1193, ptr %1194, align 4 - %1195 = load i32, ptr @hf_catapult_dct2000_ipprim_udp_src_port, align 4 - %1196 = load i32, ptr @hf_catapult_dct2000_ipprim_tcp_src_port, align 4 - %1197 = select i1 %1120, i32 %1195, i32 %1196 - %1198 = call ptr @proto_tree_add_item(ptr noundef %1162, i32 noundef %1197, ptr noundef %0, i32 noundef %1131, i32 noundef 2, i32 noundef 0) #9 - %1199 = load i32, ptr @hf_catapult_dct2000_ipprim_udp_port, align 4 - %1200 = load i32, ptr @hf_catapult_dct2000_ipprim_tcp_port, align 4 - %1201 = select i1 %1120, i32 %1199, i32 %1200 - %1202 = call ptr @proto_tree_add_item(ptr noundef %1162, i32 noundef %1201, ptr noundef %0, i32 noundef %1131, i32 noundef 2, i32 noundef 0) #9 - %.not.i637 = icmp eq ptr %1202, null - br i1 %.not.i637, label %proto_item_set_hidden.exit639, label %1203 - -1203: ; preds = %1191 - %1204 = getelementptr inbounds nuw i8, ptr %1202, i64 32 - %1205 = load ptr, ptr %1204, align 8 - %.not5.i638 = icmp eq ptr %1205, null - br i1 %.not5.i638, label %proto_item_set_hidden.exit639, label %1206 - -1206: ; preds = %1203 - %1207 = getelementptr inbounds nuw i8, ptr %1205, i64 28 - %1208 = load i32, ptr %1207, align 4 - %1209 = or i32 %1208, 1 - store i32 %1209, ptr %1207, align 4 - br label %proto_item_set_hidden.exit639 - -proto_item_set_hidden.exit639: ; preds = %1206, %1203, %1191, %proto_item_set_hidden.exit - br i1 %.not557, label %proto_item_set_hidden.exit646, label %1210 - -1210: ; preds = %proto_item_set_hidden.exit639 - %1211 = getelementptr inbounds nuw i8, ptr %1, i64 184 - %1212 = zext i8 %1113 to i32 - %1213 = select i1 %.not554, i32 2, i32 3 - %.not.i640 = icmp eq i8 %1113, 0 - br i1 %.not.i640, label %set_address_tvb.exit643, label %.split.i641 - -.split.i641: ; preds = %1210 - %1214 = call ptr @tvb_get_ptr(ptr noundef %0, i32 noundef range(i32 1, 0) %1137, i32 noundef range(i32 0, 65536) %1212) #9 - br label %set_address_tvb.exit643 - -set_address_tvb.exit643: ; preds = %1210, %.split.i641 - %.sink.i642 = phi ptr [ %1214, %.split.i641 ], [ null, %1210 ] - store i32 %1213, ptr %1211, align 8 - %1215 = getelementptr inbounds nuw i8, ptr %1, i64 188 - store i32 %1212, ptr %1215, align 4 - %1216 = getelementptr inbounds nuw i8, ptr %1, i64 192 - store ptr %.sink.i642, ptr %1216, align 8 - %1217 = getelementptr inbounds nuw i8, ptr %1, i64 200 - store ptr null, ptr %1217, align 8 - %1218 = getelementptr inbounds nuw i8, ptr %1, i64 232 - store i32 %1213, ptr %1218, align 8 - %1219 = getelementptr inbounds nuw i8, ptr %1, i64 236 - store i32 %1212, ptr %1219, align 4 - %1220 = getelementptr inbounds nuw i8, ptr %1, i64 240 - store ptr %.sink.i642, ptr %1220, align 8 - %1221 = getelementptr inbounds nuw i8, ptr %1, i64 248 - store ptr null, ptr %1221, align 8 - %1222 = load i32, ptr @hf_catapult_dct2000_ipprim_dst_addr_v4, align 4 - %1223 = load i32, ptr @hf_catapult_dct2000_ipprim_dst_addr_v6, align 4 - %1224 = select i1 %.not554, i32 %1222, i32 %1223 - %1225 = call ptr @proto_tree_add_item(ptr noundef %1162, i32 noundef %1224, ptr noundef %0, i32 noundef %1137, i32 noundef %1212, i32 noundef 0) #9 - %1226 = load i32, ptr @hf_catapult_dct2000_ipprim_addr_v4, align 4 - %1227 = load i32, ptr @hf_catapult_dct2000_ipprim_addr_v6, align 4 - %1228 = select i1 %.not554, i32 %1226, i32 %1227 - %1229 = call ptr @proto_tree_add_item(ptr noundef %1162, i32 noundef %1228, ptr noundef %0, i32 noundef %1137, i32 noundef %1212, i32 noundef 0) #9 - %.not.i644 = icmp eq ptr %1229, null - br i1 %.not.i644, label %proto_item_set_hidden.exit646, label %1230 - -1230: ; preds = %set_address_tvb.exit643 - %1231 = getelementptr inbounds nuw i8, ptr %1229, i64 32 - %1232 = load ptr, ptr %1231, align 8 - %.not5.i645 = icmp eq ptr %1232, null - br i1 %.not5.i645, label %proto_item_set_hidden.exit646, label %1233 - -1233: ; preds = %1230 - %1234 = getelementptr inbounds nuw i8, ptr %1232, i64 28 - %1235 = load i32, ptr %1234, align 4 - %1236 = or i32 %1235, 1 - store i32 %1236, ptr %1234, align 4 - br label %proto_item_set_hidden.exit646 - -proto_item_set_hidden.exit646: ; preds = %1233, %1230, %set_address_tvb.exit643, %proto_item_set_hidden.exit639 - br i1 %.not558, label %proto_item_set_hidden.exit649, label %1237 - -1237: ; preds = %proto_item_set_hidden.exit646 - %1238 = call zeroext i16 @tvb_get_ntohs(ptr noundef %0, i32 noundef %1146) #9 - %1239 = zext i16 %1238 to i32 - %1240 = getelementptr inbounds nuw i8, ptr %1, i64 288 - store i32 %1239, ptr %1240, align 8 - %1241 = load i32, ptr @hf_catapult_dct2000_ipprim_udp_dst_port, align 4 - %1242 = load i32, ptr @hf_catapult_dct2000_ipprim_tcp_dst_port, align 4 - %1243 = select i1 %1120, i32 %1241, i32 %1242 - %1244 = call ptr @proto_tree_add_item(ptr noundef %1162, i32 noundef %1243, ptr noundef %0, i32 noundef %1146, i32 noundef 2, i32 noundef 0) #9 - %1245 = load i32, ptr @hf_catapult_dct2000_ipprim_udp_port, align 4 - %1246 = load i32, ptr @hf_catapult_dct2000_ipprim_tcp_port, align 4 - %1247 = select i1 %1120, i32 %1245, i32 %1246 - %1248 = call ptr @proto_tree_add_item(ptr noundef %1162, i32 noundef %1247, ptr noundef %0, i32 noundef %1146, i32 noundef 2, i32 noundef 0) #9 - %.not.i647 = icmp eq ptr %1248, null - br i1 %.not.i647, label %proto_item_set_hidden.exit649, label %1249 - -1249: ; preds = %1237 - %1250 = getelementptr inbounds nuw i8, ptr %1248, i64 32 - %1251 = load ptr, ptr %1250, align 8 - %.not5.i648 = icmp eq ptr %1251, null - br i1 %.not5.i648, label %proto_item_set_hidden.exit649, label %1252 - -1252: ; preds = %1249 - %1253 = getelementptr inbounds nuw i8, ptr %1251, i64 28 - %1254 = load i32, ptr %1253, align 4 - %1255 = or i32 %1254, 1 - store i32 %1255, ptr %1253, align 4 - br label %proto_item_set_hidden.exit649 - -proto_item_set_hidden.exit649: ; preds = %1252, %1249, %1237, %proto_item_set_hidden.exit646 - %.not563 = icmp eq i16 %1154, 0 - br i1 %.not563, label %1260, label %1256 - -1256: ; preds = %proto_item_set_hidden.exit649 - %1257 = zext i16 %1154 to i32 - %1258 = load i32, ptr @hf_catapult_dct2000_ipprim_conn_id, align 4 - %1259 = call ptr @proto_tree_add_item(ptr noundef %1162, i32 noundef %1258, ptr noundef %0, i32 noundef %1257, i32 noundef 2, i32 noundef 0) #9 - br label %1260 - -1260: ; preds = %1256, %proto_item_set_hidden.exit649 - br i1 %.not555, label %1267, label %1261 - -1261: ; preds = %1260 - %1262 = load ptr, ptr %46, align 8 - %1263 = call i32 @tvb_get_ipv4(ptr noundef %0, i32 noundef %1122) #9 - %1264 = call ptr @get_hostname(i32 noundef %1263) #9 - %1265 = call zeroext i16 @tvb_get_ntohs(ptr noundef %0, i32 noundef %1131) #9 - %1266 = zext i16 %1265 to i32 - call void (ptr, i32, ptr, ...) @col_append_fstr(ptr noundef %1262, i32 noundef 36, ptr noundef nonnull @.str.375, ptr noundef %1264, i32 noundef %1266) #9 - br label %1267 - -1267: ; preds = %1261, %1260 - br i1 %.not557, label %1274, label %1268 - -1268: ; preds = %1267 - %1269 = load ptr, ptr %46, align 8 - %1270 = call i32 @tvb_get_ipv4(ptr noundef %0, i32 noundef %1137) #9 - %1271 = call ptr @get_hostname(i32 noundef %1270) #9 - %1272 = call zeroext i16 @tvb_get_ntohs(ptr noundef %0, i32 noundef %1146) #9 - %1273 = zext i16 %1272 to i32 - call void (ptr, i32, ptr, ...) @col_append_fstr(ptr noundef %1269, i32 noundef 11, ptr noundef nonnull @.str.375, ptr noundef %1271, i32 noundef %1273) #9 - br label %1274 - -1274: ; preds = %1268, %1267 - %1275 = load i32, ptr %7, align 4 - %1276 = sub i32 %1275, %1106 - call void @proto_item_set_len(ptr noundef %1162, i32 noundef %1276) #9 - br label %1277 - -1277: ; preds = %1105, %1274, %1101 - %.3 = phi ptr [ %1117, %1274 ], [ null, %1105 ], [ %.2, %1101 ] - %1278 = icmp eq ptr %.3, null - %1279 = load i32, ptr @catapult_dct2000_try_sctpprim_heuristic, align 4 - %1280 = icmp ne i32 %1279, 0 - %or.cond16 = select i1 %1278, i1 %1280, i1 false - br i1 %or.cond16, label %1281, label %1345 - -1281: ; preds = %1277 +proto_item_set_hidden.exit: ; preds = %1186, %1183, %set_address_tvb.exit, %1159 + br i1 %.not556, label %proto_item_set_hidden.exit640, label %1190 + +1190: ; preds = %proto_item_set_hidden.exit + %1191 = call zeroext i16 @tvb_get_ntohs(ptr noundef %0, i32 noundef %1130) #9 + %1192 = zext i16 %1191 to i32 + %1193 = getelementptr inbounds nuw i8, ptr %1, i64 284 + store i32 %1192, ptr %1193, align 4 + %1194 = load i32, ptr @hf_catapult_dct2000_ipprim_udp_src_port, align 4 + %1195 = load i32, ptr @hf_catapult_dct2000_ipprim_tcp_src_port, align 4 + %1196 = select i1 %1119, i32 %1194, i32 %1195 + %1197 = call ptr @proto_tree_add_item(ptr noundef %1161, i32 noundef %1196, ptr noundef %0, i32 noundef %1130, i32 noundef 2, i32 noundef 0) #9 + %1198 = load i32, ptr @hf_catapult_dct2000_ipprim_udp_port, align 4 + %1199 = load i32, ptr @hf_catapult_dct2000_ipprim_tcp_port, align 4 + %1200 = select i1 %1119, i32 %1198, i32 %1199 + %1201 = call ptr @proto_tree_add_item(ptr noundef %1161, i32 noundef %1200, ptr noundef %0, i32 noundef %1130, i32 noundef 2, i32 noundef 0) #9 + %.not.i638 = icmp eq ptr %1201, null + br i1 %.not.i638, label %proto_item_set_hidden.exit640, label %1202 + +1202: ; preds = %1190 + %1203 = getelementptr inbounds nuw i8, ptr %1201, i64 32 + %1204 = load ptr, ptr %1203, align 8 + %.not5.i639 = icmp eq ptr %1204, null + br i1 %.not5.i639, label %proto_item_set_hidden.exit640, label %1205 + +1205: ; preds = %1202 + %1206 = getelementptr inbounds nuw i8, ptr %1204, i64 28 + %1207 = load i32, ptr %1206, align 4 + %1208 = or i32 %1207, 1 + store i32 %1208, ptr %1206, align 4 + br label %proto_item_set_hidden.exit640 + +proto_item_set_hidden.exit640: ; preds = %1205, %1202, %1190, %proto_item_set_hidden.exit + br i1 %.not557, label %proto_item_set_hidden.exit647, label %1209 + +1209: ; preds = %proto_item_set_hidden.exit640 + %1210 = getelementptr inbounds nuw i8, ptr %1, i64 184 + %1211 = zext i8 %1112 to i32 + %1212 = select i1 %.not554, i32 2, i32 3 + %.not.i641 = icmp eq i8 %1112, 0 + br i1 %.not.i641, label %set_address_tvb.exit644, label %.split.i642 + +.split.i642: ; preds = %1209 + %1213 = call ptr @tvb_get_ptr(ptr noundef %0, i32 noundef range(i32 1, 0) %1136, i32 noundef range(i32 0, 65536) %1211) #9 + br label %set_address_tvb.exit644 + +set_address_tvb.exit644: ; preds = %1209, %.split.i642 + %.sink.i643 = phi ptr [ %1213, %.split.i642 ], [ null, %1209 ] + store i32 %1212, ptr %1210, align 8 + %1214 = getelementptr inbounds nuw i8, ptr %1, i64 188 + store i32 %1211, ptr %1214, align 4 + %1215 = getelementptr inbounds nuw i8, ptr %1, i64 192 + store ptr %.sink.i643, ptr %1215, align 8 + %1216 = getelementptr inbounds nuw i8, ptr %1, i64 200 + store ptr null, ptr %1216, align 8 + %1217 = getelementptr inbounds nuw i8, ptr %1, i64 232 + store i32 %1212, ptr %1217, align 8 + %1218 = getelementptr inbounds nuw i8, ptr %1, i64 236 + store i32 %1211, ptr %1218, align 4 + %1219 = getelementptr inbounds nuw i8, ptr %1, i64 240 + store ptr %.sink.i643, ptr %1219, align 8 + %1220 = getelementptr inbounds nuw i8, ptr %1, i64 248 + store ptr null, ptr %1220, align 8 + %1221 = load i32, ptr @hf_catapult_dct2000_ipprim_dst_addr_v4, align 4 + %1222 = load i32, ptr @hf_catapult_dct2000_ipprim_dst_addr_v6, align 4 + %1223 = select i1 %.not554, i32 %1221, i32 %1222 + %1224 = call ptr @proto_tree_add_item(ptr noundef %1161, i32 noundef %1223, ptr noundef %0, i32 noundef %1136, i32 noundef %1211, i32 noundef 0) #9 + %1225 = load i32, ptr @hf_catapult_dct2000_ipprim_addr_v4, align 4 + %1226 = load i32, ptr @hf_catapult_dct2000_ipprim_addr_v6, align 4 + %1227 = select i1 %.not554, i32 %1225, i32 %1226 + %1228 = call ptr @proto_tree_add_item(ptr noundef %1161, i32 noundef %1227, ptr noundef %0, i32 noundef %1136, i32 noundef %1211, i32 noundef 0) #9 + %.not.i645 = icmp eq ptr %1228, null + br i1 %.not.i645, label %proto_item_set_hidden.exit647, label %1229 + +1229: ; preds = %set_address_tvb.exit644 + %1230 = getelementptr inbounds nuw i8, ptr %1228, i64 32 + %1231 = load ptr, ptr %1230, align 8 + %.not5.i646 = icmp eq ptr %1231, null + br i1 %.not5.i646, label %proto_item_set_hidden.exit647, label %1232 + +1232: ; preds = %1229 + %1233 = getelementptr inbounds nuw i8, ptr %1231, i64 28 + %1234 = load i32, ptr %1233, align 4 + %1235 = or i32 %1234, 1 + store i32 %1235, ptr %1233, align 4 + br label %proto_item_set_hidden.exit647 + +proto_item_set_hidden.exit647: ; preds = %1232, %1229, %set_address_tvb.exit644, %proto_item_set_hidden.exit640 + br i1 %.not558, label %proto_item_set_hidden.exit650, label %1236 + +1236: ; preds = %proto_item_set_hidden.exit647 + %1237 = call zeroext i16 @tvb_get_ntohs(ptr noundef %0, i32 noundef %1145) #9 + %1238 = zext i16 %1237 to i32 + %1239 = getelementptr inbounds nuw i8, ptr %1, i64 288 + store i32 %1238, ptr %1239, align 8 + %1240 = load i32, ptr @hf_catapult_dct2000_ipprim_udp_dst_port, align 4 + %1241 = load i32, ptr @hf_catapult_dct2000_ipprim_tcp_dst_port, align 4 + %1242 = select i1 %1119, i32 %1240, i32 %1241 + %1243 = call ptr @proto_tree_add_item(ptr noundef %1161, i32 noundef %1242, ptr noundef %0, i32 noundef %1145, i32 noundef 2, i32 noundef 0) #9 + %1244 = load i32, ptr @hf_catapult_dct2000_ipprim_udp_port, align 4 + %1245 = load i32, ptr @hf_catapult_dct2000_ipprim_tcp_port, align 4 + %1246 = select i1 %1119, i32 %1244, i32 %1245 + %1247 = call ptr @proto_tree_add_item(ptr noundef %1161, i32 noundef %1246, ptr noundef %0, i32 noundef %1145, i32 noundef 2, i32 noundef 0) #9 + %.not.i648 = icmp eq ptr %1247, null + br i1 %.not.i648, label %proto_item_set_hidden.exit650, label %1248 + +1248: ; preds = %1236 + %1249 = getelementptr inbounds nuw i8, ptr %1247, i64 32 + %1250 = load ptr, ptr %1249, align 8 + %.not5.i649 = icmp eq ptr %1250, null + br i1 %.not5.i649, label %proto_item_set_hidden.exit650, label %1251 + +1251: ; preds = %1248 + %1252 = getelementptr inbounds nuw i8, ptr %1250, i64 28 + %1253 = load i32, ptr %1252, align 4 + %1254 = or i32 %1253, 1 + store i32 %1254, ptr %1252, align 4 + br label %proto_item_set_hidden.exit650 + +proto_item_set_hidden.exit650: ; preds = %1251, %1248, %1236, %proto_item_set_hidden.exit647 + %.not563 = icmp eq i16 %1153, 0 + br i1 %.not563, label %1259, label %1255 + +1255: ; preds = %proto_item_set_hidden.exit650 + %1256 = zext i16 %1153 to i32 + %1257 = load i32, ptr @hf_catapult_dct2000_ipprim_conn_id, align 4 + %1258 = call ptr @proto_tree_add_item(ptr noundef %1161, i32 noundef %1257, ptr noundef %0, i32 noundef %1256, i32 noundef 2, i32 noundef 0) #9 + br label %1259 + +1259: ; preds = %1255, %proto_item_set_hidden.exit650 + br i1 %.not555, label %1266, label %1260 + +1260: ; preds = %1259 + %1261 = load ptr, ptr %46, align 8 + %1262 = call i32 @tvb_get_ipv4(ptr noundef %0, i32 noundef %1121) #9 + %1263 = call ptr @get_hostname(i32 noundef %1262) #9 + %1264 = call zeroext i16 @tvb_get_ntohs(ptr noundef %0, i32 noundef %1130) #9 + %1265 = zext i16 %1264 to i32 + call void (ptr, i32, ptr, ...) @col_append_fstr(ptr noundef %1261, i32 noundef 36, ptr noundef nonnull @.str.375, ptr noundef %1263, i32 noundef %1265) #9 + br label %1266 + +1266: ; preds = %1260, %1259 + br i1 %.not557, label %1273, label %1267 + +1267: ; preds = %1266 + %1268 = load ptr, ptr %46, align 8 + %1269 = call i32 @tvb_get_ipv4(ptr noundef %0, i32 noundef %1136) #9 + %1270 = call ptr @get_hostname(i32 noundef %1269) #9 + %1271 = call zeroext i16 @tvb_get_ntohs(ptr noundef %0, i32 noundef %1145) #9 + %1272 = zext i16 %1271 to i32 + call void (ptr, i32, ptr, ...) @col_append_fstr(ptr noundef %1268, i32 noundef 11, ptr noundef nonnull @.str.375, ptr noundef %1270, i32 noundef %1272) #9 + br label %1273 + +1273: ; preds = %1267, %1266 + %1274 = load i32, ptr %7, align 4 + %1275 = sub i32 %1274, %1105 + call void @proto_item_set_len(ptr noundef %1161, i32 noundef %1275) #9 + br label %1276 + +1276: ; preds = %1104, %1273, %1100 + %.3 = phi ptr [ %1116, %1273 ], [ null, %1104 ], [ %.2, %1100 ] + %1277 = icmp eq ptr %.3, null + %1278 = load i32, ptr @catapult_dct2000_try_sctpprim_heuristic, align 4 + %1279 = icmp ne i32 %1278, 0 + %or.cond16 = select i1 %1277, i1 %1279, i1 false + br i1 %or.cond16, label %1280, label %1344 + +1280: ; preds = %1276 store i32 0, ptr %42, align 4 store i16 0, ptr %43, align 2 store i32 0, ptr %44, align 4 - %1282 = load i32, ptr %7, align 4 - %1283 = call fastcc ptr @look_for_dissector(ptr noundef nonnull %121) - %.not566 = icmp eq ptr %1283, null - br i1 %.not566, label %.thread676, label %1284 - -1284: ; preds = %1281 - %1285 = call fastcc i32 @find_sctpprim_variant1_data_offset(ptr noundef %0, ptr noundef %7, ptr noundef %42, ptr noundef %43, ptr noundef %44) - %.not567 = icmp eq i32 %1285, 0 - br i1 %.not567, label %1286, label %1288 - -1286: ; preds = %1284 - %1287 = call fastcc i32 @find_sctpprim_variant3_data_offset(ptr noundef %0, ptr noundef %7, ptr noundef %42, ptr noundef %43, ptr noundef %44) - %.not568 = icmp eq i32 %1287, 0 - br i1 %.not568, label %.thread676, label %1288 - -1288: ; preds = %1286, %1284 - %1289 = load i32, ptr @hf_catapult_dct2000_sctpprim_addresses, align 4 - %1290 = load i32, ptr %42, align 4 - %.not569 = icmp eq i32 %1290, 0 - br i1 %.not569, label %1297, label %1291 - -1291: ; preds = %1288 - %1292 = load i16, ptr %43, align 2 - %1293 = icmp eq i16 %1292, 4 - br i1 %1293, label %1294, label %1297 - -1294: ; preds = %1291 - %1295 = call i32 @tvb_get_ipv4(ptr noundef %0, i32 noundef %1290) #9 - %1296 = call ptr @get_hostname(i32 noundef %1295) #9 - br label %1297 - -1297: ; preds = %1288, %1294, %1291 - %1298 = phi ptr [ %1296, %1294 ], [ @.str.377, %1291 ], [ @.str.373, %1288 ] - %1299 = load i32, ptr %44, align 4 - %.not570 = icmp eq i32 %1299, 0 - br i1 %.not570, label %1303, label %1300 - -1300: ; preds = %1297 - %1301 = call zeroext i16 @tvb_get_ntohs(ptr noundef %0, i32 noundef %1299) #9 - %1302 = zext i16 %1301 to i32 - br label %1303 - -1303: ; preds = %1297, %1300 - %1304 = phi i32 [ %1302, %1300 ], [ 0, %1297 ] - %1305 = call ptr (ptr, i32, ptr, i32, i32, ptr, ptr, ...) @proto_tree_add_string_format(ptr noundef %.0486664673, i32 noundef %1289, ptr noundef %0, i32 noundef %1282, i32 noundef 0, ptr noundef nonnull @.str.369, ptr noundef nonnull @.str.376, ptr noundef %1298, i32 noundef %1304) #9 - %1306 = load i32, ptr @ett_catapult_dct2000_sctpprim, align 4 - %1307 = call ptr @proto_item_add_subtree(ptr noundef %1305, i32 noundef %1306) #9 - br i1 %.not569, label %proto_item_set_hidden.exit656, label %1308 - -1308: ; preds = %1303 - %1309 = getelementptr inbounds nuw i8, ptr %1, i64 184 - %1310 = load i16, ptr %43, align 2 - %1311 = zext i16 %1310 to i32 - %1312 = icmp eq i16 %1310, 4 - %1313 = select i1 %1312, i32 2, i32 3 - %.not.i650 = icmp eq i16 %1310, 0 - br i1 %.not.i650, label %set_address_tvb.exit653, label %.split.i651 - -.split.i651: ; preds = %1308 - %1314 = call ptr @tvb_get_ptr(ptr noundef %0, i32 noundef range(i32 1, 0) %1290, i32 noundef range(i32 0, 65536) %1311) #9 - br label %set_address_tvb.exit653 - -set_address_tvb.exit653: ; preds = %1308, %.split.i651 - %.sink.i652 = phi ptr [ %1314, %.split.i651 ], [ null, %1308 ] - store i32 %1313, ptr %1309, align 8 - %1315 = getelementptr inbounds nuw i8, ptr %1, i64 188 - store i32 %1311, ptr %1315, align 4 - %1316 = getelementptr inbounds nuw i8, ptr %1, i64 192 - store ptr %.sink.i652, ptr %1316, align 8 - %1317 = getelementptr inbounds nuw i8, ptr %1, i64 200 - store ptr null, ptr %1317, align 8 - %1318 = getelementptr inbounds nuw i8, ptr %1, i64 232 - store i32 %1313, ptr %1318, align 8 - %1319 = getelementptr inbounds nuw i8, ptr %1, i64 236 - store i32 %1311, ptr %1319, align 4 - %1320 = getelementptr inbounds nuw i8, ptr %1, i64 240 - store ptr %.sink.i652, ptr %1320, align 8 - %1321 = getelementptr inbounds nuw i8, ptr %1, i64 248 - store ptr null, ptr %1321, align 8 - %1322 = load i32, ptr @hf_catapult_dct2000_sctpprim_dst_addr_v4, align 4 - %1323 = load i32, ptr @hf_catapult_dct2000_sctpprim_dst_addr_v6, align 4 - %1324 = select i1 %1312, i32 %1322, i32 %1323 - %1325 = call ptr @proto_tree_add_item(ptr noundef %1307, i32 noundef %1324, ptr noundef %0, i32 noundef %1290, i32 noundef %1311, i32 noundef 0) #9 - %1326 = load i32, ptr @hf_catapult_dct2000_sctpprim_addr_v4, align 4 - %1327 = load i32, ptr @hf_catapult_dct2000_sctpprim_addr_v6, align 4 - %1328 = select i1 %1312, i32 %1326, i32 %1327 - %1329 = call ptr @proto_tree_add_item(ptr noundef %1307, i32 noundef %1328, ptr noundef %0, i32 noundef %1290, i32 noundef %1311, i32 noundef 0) #9 - %.not.i654 = icmp eq ptr %1329, null - br i1 %.not.i654, label %proto_item_set_hidden.exit656, label %1330 - -1330: ; preds = %set_address_tvb.exit653 - %1331 = getelementptr inbounds nuw i8, ptr %1329, i64 32 - %1332 = load ptr, ptr %1331, align 8 - %.not5.i655 = icmp eq ptr %1332, null - br i1 %.not5.i655, label %proto_item_set_hidden.exit656, label %1333 - -1333: ; preds = %1330 - %1334 = getelementptr inbounds nuw i8, ptr %1332, i64 28 - %1335 = load i32, ptr %1334, align 4 - %1336 = or i32 %1335, 1 - store i32 %1336, ptr %1334, align 4 - br label %proto_item_set_hidden.exit656 - -proto_item_set_hidden.exit656: ; preds = %1333, %1330, %set_address_tvb.exit653, %1303 - br i1 %.not570, label %.thread678, label %1337 - -1337: ; preds = %proto_item_set_hidden.exit656 - %1338 = call zeroext i16 @tvb_get_ntohs(ptr noundef %0, i32 noundef %1299) #9 - %1339 = zext i16 %1338 to i32 - %1340 = getelementptr inbounds nuw i8, ptr %1, i64 288 - store i32 %1339, ptr %1340, align 8 - %1341 = load i32, ptr @hf_catapult_dct2000_sctpprim_dst_port, align 4 - %1342 = call ptr @proto_tree_add_item(ptr noundef %1307, i32 noundef %1341, ptr noundef %0, i32 noundef %1299, i32 noundef 2, i32 noundef 0) #9 - br label %.thread678 - -.thread678: ; preds = %proto_item_set_hidden.exit656, %1337 - %1343 = load i32, ptr %7, align 4 - %1344 = sub i32 %1343, %1282 - call void @proto_item_set_len(ptr noundef %1307, i32 noundef %1344) #9 - br label %.thread684 - -1345: ; preds = %1277 - br i1 %1278, label %.thread676, label %..thread684_crit_edge - -..thread684_crit_edge: ; preds = %1345 - %.pre806 = load i32, ptr %7, align 4 - br label %.thread684 - -.thread684: ; preds = %..thread684_crit_edge, %.thread678 - %1346 = phi i32 [ %1343, %.thread678 ], [ %.pre806, %..thread684_crit_edge ] - %.5.ph = phi ptr [ %1283, %.thread678 ], [ %.3, %..thread684_crit_edge ] - call void @proto_item_set_len(ptr noundef %.0486664673, i32 noundef %1346) #9 - br label %1359 - -.thread676: ; preds = %1281, %1286, %1345 - %1347 = call i64 @g_strlcpy(ptr noundef nonnull %45, ptr noundef nonnull @.str.378, i64 noundef 128) #9 - %1348 = getelementptr inbounds nuw i8, ptr %45, i64 8 - %1349 = call i64 @g_strlcpy(ptr noundef nonnull %1348, ptr noundef nonnull %121, i64 noundef 120) #9 - %1350 = call ptr @find_dissector(ptr noundef nonnull %45) #9 - %1351 = icmp eq ptr %1350, null - %1352 = load i32, ptr @catapult_dct2000_use_protocol_name_as_dissector_name, align 4 - %1353 = icmp ne i32 %1352, 0 - %or.cond18 = select i1 %1351, i1 %1353, i1 false - br i1 %or.cond18, label %1354, label %1357 - -1354: ; preds = %.thread676 - %1355 = call ptr @find_dissector(ptr noundef nonnull %121) #9 - br label %1357 - -1356: ; preds = %attach_fp_info.exit + %1281 = load i32, ptr %7, align 4 + %1282 = call fastcc ptr @look_for_dissector(ptr noundef nonnull %121) + %.not566 = icmp eq ptr %1282, null + br i1 %.not566, label %.thread677, label %1283 + +1283: ; preds = %1280 + %1284 = call fastcc i32 @find_sctpprim_variant1_data_offset(ptr noundef %0, ptr noundef %7, ptr noundef %42, ptr noundef %43, ptr noundef %44) + %.not567 = icmp eq i32 %1284, 0 + br i1 %.not567, label %1285, label %1287 + +1285: ; preds = %1283 + %1286 = call fastcc i32 @find_sctpprim_variant3_data_offset(ptr noundef %0, ptr noundef %7, ptr noundef %42, ptr noundef %43, ptr noundef %44) + %.not568 = icmp eq i32 %1286, 0 + br i1 %.not568, label %.thread677, label %1287 + +1287: ; preds = %1285, %1283 + %1288 = load i32, ptr @hf_catapult_dct2000_sctpprim_addresses, align 4 + %1289 = load i32, ptr %42, align 4 + %.not569 = icmp eq i32 %1289, 0 + br i1 %.not569, label %1296, label %1290 + +1290: ; preds = %1287 + %1291 = load i16, ptr %43, align 2 + %1292 = icmp eq i16 %1291, 4 + br i1 %1292, label %1293, label %1296 + +1293: ; preds = %1290 + %1294 = call i32 @tvb_get_ipv4(ptr noundef %0, i32 noundef %1289) #9 + %1295 = call ptr @get_hostname(i32 noundef %1294) #9 + br label %1296 + +1296: ; preds = %1287, %1293, %1290 + %1297 = phi ptr [ %1295, %1293 ], [ @.str.377, %1290 ], [ @.str.373, %1287 ] + %1298 = load i32, ptr %44, align 4 + %.not570 = icmp eq i32 %1298, 0 + br i1 %.not570, label %1302, label %1299 + +1299: ; preds = %1296 + %1300 = call zeroext i16 @tvb_get_ntohs(ptr noundef %0, i32 noundef %1298) #9 + %1301 = zext i16 %1300 to i32 + br label %1302 + +1302: ; preds = %1296, %1299 + %1303 = phi i32 [ %1301, %1299 ], [ 0, %1296 ] + %1304 = call ptr (ptr, i32, ptr, i32, i32, ptr, ptr, ...) @proto_tree_add_string_format(ptr noundef %.0486665674, i32 noundef %1288, ptr noundef %0, i32 noundef %1281, i32 noundef 0, ptr noundef nonnull @.str.369, ptr noundef nonnull @.str.376, ptr noundef %1297, i32 noundef %1303) #9 + %1305 = load i32, ptr @ett_catapult_dct2000_sctpprim, align 4 + %1306 = call ptr @proto_item_add_subtree(ptr noundef %1304, i32 noundef %1305) #9 + br i1 %.not569, label %proto_item_set_hidden.exit657, label %1307 + +1307: ; preds = %1302 + %1308 = getelementptr inbounds nuw i8, ptr %1, i64 184 + %1309 = load i16, ptr %43, align 2 + %1310 = zext i16 %1309 to i32 + %1311 = icmp eq i16 %1309, 4 + %1312 = select i1 %1311, i32 2, i32 3 + %.not.i651 = icmp eq i16 %1309, 0 + br i1 %.not.i651, label %set_address_tvb.exit654, label %.split.i652 + +.split.i652: ; preds = %1307 + %1313 = call ptr @tvb_get_ptr(ptr noundef %0, i32 noundef range(i32 1, 0) %1289, i32 noundef range(i32 0, 65536) %1310) #9 + br label %set_address_tvb.exit654 + +set_address_tvb.exit654: ; preds = %1307, %.split.i652 + %.sink.i653 = phi ptr [ %1313, %.split.i652 ], [ null, %1307 ] + store i32 %1312, ptr %1308, align 8 + %1314 = getelementptr inbounds nuw i8, ptr %1, i64 188 + store i32 %1310, ptr %1314, align 4 + %1315 = getelementptr inbounds nuw i8, ptr %1, i64 192 + store ptr %.sink.i653, ptr %1315, align 8 + %1316 = getelementptr inbounds nuw i8, ptr %1, i64 200 + store ptr null, ptr %1316, align 8 + %1317 = getelementptr inbounds nuw i8, ptr %1, i64 232 + store i32 %1312, ptr %1317, align 8 + %1318 = getelementptr inbounds nuw i8, ptr %1, i64 236 + store i32 %1310, ptr %1318, align 4 + %1319 = getelementptr inbounds nuw i8, ptr %1, i64 240 + store ptr %.sink.i653, ptr %1319, align 8 + %1320 = getelementptr inbounds nuw i8, ptr %1, i64 248 + store ptr null, ptr %1320, align 8 + %1321 = load i32, ptr @hf_catapult_dct2000_sctpprim_dst_addr_v4, align 4 + %1322 = load i32, ptr @hf_catapult_dct2000_sctpprim_dst_addr_v6, align 4 + %1323 = select i1 %1311, i32 %1321, i32 %1322 + %1324 = call ptr @proto_tree_add_item(ptr noundef %1306, i32 noundef %1323, ptr noundef %0, i32 noundef %1289, i32 noundef %1310, i32 noundef 0) #9 + %1325 = load i32, ptr @hf_catapult_dct2000_sctpprim_addr_v4, align 4 + %1326 = load i32, ptr @hf_catapult_dct2000_sctpprim_addr_v6, align 4 + %1327 = select i1 %1311, i32 %1325, i32 %1326 + %1328 = call ptr @proto_tree_add_item(ptr noundef %1306, i32 noundef %1327, ptr noundef %0, i32 noundef %1289, i32 noundef %1310, i32 noundef 0) #9 + %.not.i655 = icmp eq ptr %1328, null + br i1 %.not.i655, label %proto_item_set_hidden.exit657, label %1329 + +1329: ; preds = %set_address_tvb.exit654 + %1330 = getelementptr inbounds nuw i8, ptr %1328, i64 32 + %1331 = load ptr, ptr %1330, align 8 + %.not5.i656 = icmp eq ptr %1331, null + br i1 %.not5.i656, label %proto_item_set_hidden.exit657, label %1332 + +1332: ; preds = %1329 + %1333 = getelementptr inbounds nuw i8, ptr %1331, i64 28 + %1334 = load i32, ptr %1333, align 4 + %1335 = or i32 %1334, 1 + store i32 %1335, ptr %1333, align 4 + br label %proto_item_set_hidden.exit657 + +proto_item_set_hidden.exit657: ; preds = %1332, %1329, %set_address_tvb.exit654, %1302 + br i1 %.not570, label %.thread679, label %1336 + +1336: ; preds = %proto_item_set_hidden.exit657 + %1337 = call zeroext i16 @tvb_get_ntohs(ptr noundef %0, i32 noundef %1298) #9 + %1338 = zext i16 %1337 to i32 + %1339 = getelementptr inbounds nuw i8, ptr %1, i64 288 + store i32 %1338, ptr %1339, align 8 + %1340 = load i32, ptr @hf_catapult_dct2000_sctpprim_dst_port, align 4 + %1341 = call ptr @proto_tree_add_item(ptr noundef %1306, i32 noundef %1340, ptr noundef %0, i32 noundef %1298, i32 noundef 2, i32 noundef 0) #9 + br label %.thread679 + +.thread679: ; preds = %proto_item_set_hidden.exit657, %1336 + %1342 = load i32, ptr %7, align 4 + %1343 = sub i32 %1342, %1281 + call void @proto_item_set_len(ptr noundef %1306, i32 noundef %1343) #9 + br label %.thread685 + +1344: ; preds = %1276 + br i1 %1277, label %.thread677, label %..thread685_crit_edge + +..thread685_crit_edge: ; preds = %1344 + %.pre807 = load i32, ptr %7, align 4 + br label %.thread685 + +.thread685: ; preds = %..thread685_crit_edge, %.thread679 + %1345 = phi i32 [ %1342, %.thread679 ], [ %.pre807, %..thread685_crit_edge ] + %.5.ph = phi ptr [ %1282, %.thread679 ], [ %.3, %..thread685_crit_edge ] + call void @proto_item_set_len(ptr noundef %.0486665674, i32 noundef %1345) #9 + br label %1358 + +.thread677: ; preds = %1280, %1285, %1344 + %1346 = call i64 @g_strlcpy(ptr noundef nonnull %45, ptr noundef nonnull @.str.378, i64 noundef 128) #9 + %1347 = getelementptr inbounds nuw i8, ptr %45, i64 8 + %1348 = call i64 @g_strlcpy(ptr noundef nonnull %1347, ptr noundef nonnull %121, i64 noundef 120) #9 + %1349 = call ptr @find_dissector(ptr noundef nonnull %45) #9 + %1350 = icmp eq ptr %1349, null + %1351 = load i32, ptr @catapult_dct2000_use_protocol_name_as_dissector_name, align 4 + %1352 = icmp ne i32 %1351, 0 + %or.cond18 = select i1 %1350, i1 %1352, i1 false + br i1 %or.cond18, label %1353, label %1356 + +1353: ; preds = %.thread677 + %1354 = call ptr @find_dissector(ptr noundef nonnull %121) #9 + br label %1356 + +1355: ; preds = %attach_fp_info.exit call void (ptr, ...) @proto_report_dissector_bug(ptr noundef nonnull @.str.379, ptr noundef nonnull @.str.380, i32 noundef 3411) #11 unreachable -1357: ; preds = %.thread676, %1354, %570, %568, %566, %564, %558, %554, %550, %548, %546 - %.0489 = phi ptr [ null, %1354 ], [ null, %.thread676 ], [ null, %570 ], [ null, %568 ], [ null, %566 ], [ null, %564 ], [ null, %558 ], [ %557, %554 ], [ %553, %550 ], [ null, %548 ], [ null, %546 ] - %.1 = phi ptr [ %1355, %1354 ], [ %1350, %.thread676 ], [ %571, %570 ], [ %569, %568 ], [ %567, %566 ], [ %565, %564 ], [ %559, %558 ], [ %555, %554 ], [ %551, %550 ], [ %549, %548 ], [ %547, %546 ] - %1358 = load i32, ptr %7, align 4 - call void @proto_item_set_len(ptr noundef %.0486664673, i32 noundef %1358) #9 +1356: ; preds = %.thread677, %1353, %570, %568, %566, %564, %558, %554, %550, %548, %546 + %.0489 = phi ptr [ null, %1353 ], [ null, %.thread677 ], [ null, %570 ], [ null, %568 ], [ null, %566 ], [ null, %564 ], [ null, %558 ], [ %557, %554 ], [ %553, %550 ], [ null, %548 ], [ null, %546 ] + %.1 = phi ptr [ %1354, %1353 ], [ %1349, %.thread677 ], [ %571, %570 ], [ %569, %568 ], [ %567, %566 ], [ %565, %564 ], [ %559, %558 ], [ %555, %554 ], [ %551, %550 ], [ %549, %548 ], [ %547, %546 ] + %1357 = load i32, ptr %7, align 4 + call void @proto_item_set_len(ptr noundef %.0486665674, i32 noundef %1357) #9 %.not573 = icmp eq ptr %.1, null - br i1 %.not573, label %.thread695, label %1359 - -1359: ; preds = %1357, %.thread684 - %1360 = phi i32 [ %1346, %.thread684 ], [ %1358, %1357 ] - %.1692 = phi ptr [ %.5.ph, %.thread684 ], [ %.1, %1357 ] - %.0489691 = phi ptr [ null, %.thread684 ], [ %.0489, %1357 ] - %1361 = call ptr @tvb_new_subset_remaining(ptr noundef %0, i32 noundef %1360) #9 - %1362 = call i32 @call_dissector_only(ptr noundef nonnull %.1692, ptr noundef %1361, ptr noundef %1, ptr noundef %2, ptr noundef %.0489691) #9 - %1363 = icmp eq i32 %1362, 0 - br i1 %1363, label %..thread695_crit_edge, label %1368 - -..thread695_crit_edge: ; preds = %1359 - %.pre807 = load i32, ptr %7, align 4 - br label %.thread695 - -.thread695: ; preds = %..thread695_crit_edge, %1357 - %1364 = phi i32 [ %.pre807, %..thread695_crit_edge ], [ %1358, %1357 ] - %1365 = load i32, ptr @hf_catapult_dct2000_unparsed_data, align 4 - %1366 = call ptr @proto_tree_add_item(ptr noundef %.0486664673, i32 noundef %1365, ptr noundef %0, i32 noundef %1364, i32 noundef -1, i32 noundef 0) #9 - %1367 = load ptr, ptr %46, align 8 - call void (ptr, i32, ptr, ...) @col_add_fstr(ptr noundef %1367, i32 noundef 25, ptr noundef nonnull @.str.381, ptr noundef %74, i32 noundef %165, ptr noundef %77, i32 noundef %168, ptr noundef nonnull %121, ptr noundef %136) #9 - br label %.sink.split833 - -1368: ; preds = %1359 - br i1 %.not535666672, label %.sink.split833, label %1369 - -1369: ; preds = %1368 - %1370 = load i32, ptr @hf_catapult_dct2000_dissected_length, align 4 - %1371 = call i32 @tvb_reported_length(ptr noundef %0) #9 - %1372 = load i32, ptr %7, align 4 - %1373 = sub i32 %1371, %1372 - %1374 = call ptr @proto_tree_add_uint(ptr noundef nonnull %.0486664673, i32 noundef %1370, ptr noundef %0, i32 noundef 0, i32 noundef 0, i32 noundef %1373) #9 - %.not.i657 = icmp eq ptr %1374, null - br i1 %.not.i657, label %.sink.split833, label %1375 - -1375: ; preds = %1369 - %1376 = getelementptr inbounds nuw i8, ptr %1374, i64 32 - %1377 = load ptr, ptr %1376, align 8 - %.not5.i658 = icmp eq ptr %1377, null - br i1 %.not5.i658, label %.sink.split833, label %1378 - -1378: ; preds = %1375 - %1379 = getelementptr inbounds nuw i8, ptr %1377, i64 28 - %1380 = load i32, ptr %1379, align 4 - %1381 = or i32 %1380, 2 - store i32 %1381, ptr %1379, align 4 - br label %.sink.split833 - -.sink.split833: ; preds = %.lr.ph.i607, %switch.hole_check, %attach_rlc_info.exit.i, %.thread695, %1368, %1369, %1375, %1378, %989, %.critedge9, %709, %switch.lookup, %.critedge.i, %597, %743, %753, %1040, %1083, %1091, %1099 - %1382 = call i32 @tvb_captured_length(ptr noundef %0) #9 - br label %1383 - -1383: ; preds = %.sink.split833, %78 - %.0 = phi i32 [ %75, %78 ], [ %1382, %.sink.split833 ] + br i1 %.not573, label %.thread696, label %1358 + +1358: ; preds = %1356, %.thread685 + %1359 = phi i32 [ %1345, %.thread685 ], [ %1357, %1356 ] + %.1693 = phi ptr [ %.5.ph, %.thread685 ], [ %.1, %1356 ] + %.0489692 = phi ptr [ null, %.thread685 ], [ %.0489, %1356 ] + %1360 = call ptr @tvb_new_subset_remaining(ptr noundef %0, i32 noundef %1359) #9 + %1361 = call i32 @call_dissector_only(ptr noundef nonnull %.1693, ptr noundef %1360, ptr noundef %1, ptr noundef %2, ptr noundef %.0489692) #9 + %1362 = icmp eq i32 %1361, 0 + br i1 %1362, label %..thread696_crit_edge, label %1367 + +..thread696_crit_edge: ; preds = %1358 + %.pre808 = load i32, ptr %7, align 4 + br label %.thread696 + +.thread696: ; preds = %..thread696_crit_edge, %1356 + %1363 = phi i32 [ %.pre808, %..thread696_crit_edge ], [ %1357, %1356 ] + %1364 = load i32, ptr @hf_catapult_dct2000_unparsed_data, align 4 + %1365 = call ptr @proto_tree_add_item(ptr noundef %.0486665674, i32 noundef %1364, ptr noundef %0, i32 noundef %1363, i32 noundef -1, i32 noundef 0) #9 + %1366 = load ptr, ptr %46, align 8 + call void (ptr, i32, ptr, ...) @col_add_fstr(ptr noundef %1366, i32 noundef 25, ptr noundef nonnull @.str.381, ptr noundef %74, i32 noundef %165, ptr noundef %77, i32 noundef %168, ptr noundef nonnull %121, ptr noundef %136) #9 + br label %.sink.split834 + +1367: ; preds = %1358 + br i1 %.not535667673, label %.sink.split834, label %1368 + +1368: ; preds = %1367 + %1369 = load i32, ptr @hf_catapult_dct2000_dissected_length, align 4 + %1370 = call i32 @tvb_reported_length(ptr noundef %0) #9 + %1371 = load i32, ptr %7, align 4 + %1372 = sub i32 %1370, %1371 + %1373 = call ptr @proto_tree_add_uint(ptr noundef nonnull %.0486665674, i32 noundef %1369, ptr noundef %0, i32 noundef 0, i32 noundef 0, i32 noundef %1372) #9 + %.not.i658 = icmp eq ptr %1373, null + br i1 %.not.i658, label %.sink.split834, label %1374 + +1374: ; preds = %1368 + %1375 = getelementptr inbounds nuw i8, ptr %1373, i64 32 + %1376 = load ptr, ptr %1375, align 8 + %.not5.i659 = icmp eq ptr %1376, null + br i1 %.not5.i659, label %.sink.split834, label %1377 + +1377: ; preds = %1374 + %1378 = getelementptr inbounds nuw i8, ptr %1376, i64 28 + %1379 = load i32, ptr %1378, align 4 + %1380 = or i32 %1379, 2 + store i32 %1380, ptr %1378, align 4 + br label %.sink.split834 + +.sink.split834: ; preds = %.lr.ph.i607, %switch.hole_check, %attach_rlc_info.exit.i, %.thread696, %1367, %1368, %1374, %1377, %988, %.critedge9, %708, %switch.lookup, %.critedge.i, %597, %742, %752, %1039, %1082, %1090, %1098 + %1381 = call i32 @tvb_captured_length(ptr noundef %0) #9 + br label %1382 + +1382: ; preds = %.sink.split834, %78 + %.0 = phi i32 [ %75, %78 ], [ %1381, %.sink.split834 ] ret i32 %.0 } diff --git a/bench/yosys/optimized/extract_counter.ll b/bench/yosys/optimized/extract_counter.ll index 76a73d91a98..ad0f4f9b834 100644 --- a/bench/yosys/optimized/extract_counter.ll +++ b/bench/yosys/optimized/extract_counter.ll @@ -2582,8 +2582,8 @@ define internal fastcc void @_ZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndex %.not579 = icmp eq i32 %125, 0 br i1 %.not579, label %146, label %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit515 -common.resume: ; preds = %206, %1657, %126 - %common.resume.op = phi { ptr, i32 } [ %127, %126 ], [ %.pn164.pn.pn, %1657 ], [ %207, %206 ] +common.resume: ; preds = %206, %1655, %126 + %common.resume.op = phi { ptr, i32 } [ %127, %126 ], [ %.pn164.pn.pn, %1655 ], [ %207, %206 ] resume { ptr, i32 } %common.resume.op 126: ; preds = %119 @@ -2790,7 +2790,7 @@ _ZN5Yosys5RTLIL7SigSpecD2Ev.exit195: ; preds = %_ZSt8_DestroyIPN5Yo to label %205 unwind label %208 205: ; preds = %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit195 - br i1 %204, label %212, label %1643 + br i1 %204, label %212, label %1641 206: ; preds = %146 %207 = landingpad { ptr, i32 } @@ -2801,13 +2801,13 @@ _ZN5Yosys5RTLIL7SigSpecD2Ev.exit195: ; preds = %_ZSt8_DestroyIPN5Yo 208: ; preds = %216, %214, %212, %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit195, %170, %168, %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit %209 = landingpad { ptr, i32 } cleanup - br label %1657 + br label %1655 210: ; preds = %171 %211 = landingpad { ptr, i32 } cleanup call void @_ZN5Yosys5RTLIL7SigSpecD2Ev(ptr noundef nonnull align 8 dereferenceable(64) %10) #25 - br label %1657 + br label %1655 212: ; preds = %205, %167 %213 = invoke noundef ptr @_ZNK5Yosys5RTLIL7SigSpec7as_wireEv(ptr noundef nonnull align 8 dereferenceable(64) %8) @@ -2825,7 +2825,7 @@ _ZN5Yosys5RTLIL7SigSpecD2Ev.exit195: ; preds = %_ZSt8_DestroyIPN5Yo %218 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %12) #25 call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %13) #25 invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %11, ptr noundef %218, ptr noundef nonnull align 1 dereferenceable(1) %13) - to label %219 unwind label %360 + to label %219 unwind label %358 219: ; preds = %217 call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %13) #25 @@ -2900,7 +2900,7 @@ _ZN5Yosys5RTLIL7SigSpecD2Ev.exit195: ; preds = %_ZSt8_DestroyIPN5Yo 261: ; preds = %243 invoke void @_ZN5Yosys7hashlib4dictINS_5RTLIL8IdStringENS2_5ConstENS0_8hash_opsIS3_EEE9do_rehashEv(ptr noundef nonnull align 8 dereferenceable(49) %213) - to label %.noexc unwind label %362 + to label %.noexc unwind label %360 .noexc: ; preds = %261 %262 = load ptr, ptr %213, align 8 @@ -2930,706 +2930,701 @@ _ZN5Yosys5RTLIL7SigSpecD2Ev.exit195: ; preds = %_ZSt8_DestroyIPN5Yo %278 = load ptr, ptr %250, align 8 br label %279 -279: ; preds = %284, %.lr.ph.i.i - %.013.i.i = phi i32 [ %276, %.lr.ph.i.i ], [ %286, %284 ] +279: ; preds = %283, %.lr.ph.i.i + %.013.i.i = phi i32 [ %276, %.lr.ph.i.i ], [ %285, %283 ] %280 = zext nneg i32 %.013.i.i to i64 %281 = getelementptr inbounds nuw %"struct.Yosys::hashlib::dict::entry_t", ptr %278, i64 %280 %282 = load i32, ptr %281, align 4 - %283 = icmp eq i32 %282, %229 - br i1 %283, label %.loopexit.loopexit, label %284 - -284: ; preds = %279 - %285 = getelementptr inbounds nuw i8, ptr %281, i64 40 - %286 = load i32, ptr %285, align 8 - %287 = icmp sgt i32 %286, -1 - br i1 %287, label %279, label %.loopexit.loopexit, !llvm.loop !41 - -.loopexit.loopexit: ; preds = %284, %279 - %.sroa.3.0.i.ph = phi i32 [ %.013.i.i, %279 ], [ -1, %284 ] - %288 = icmp eq i32 %.sroa.3.0.i.ph, -1 - br label %.loopexit - -.loopexit: ; preds = %.loopexit.loopexit, %238, %._crit_edge.i.i - %.sroa.3.0.i = phi i1 [ true, %._crit_edge.i.i ], [ true, %238 ], [ %288, %.loopexit.loopexit ] - %289 = load i8, ptr @_ZN5Yosys5RTLIL8IdString17destruct_guard_okE, align 1 - %290 = trunc i8 %289 to i1 - %291 = icmp ne i32 %229, 0 - %or.cond.i.i198 = and i1 %291, %290 - br i1 %or.cond.i.i198, label %292, label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit199 - -292: ; preds = %.loopexit - %293 = sext i32 %229 to i64 - %294 = load ptr, ptr @_ZN5Yosys5RTLIL8IdString24global_refcount_storage_E, align 8 - %295 = getelementptr inbounds i32, ptr %294, i64 %293 - %296 = load i32, ptr %295, align 4 - %297 = add nsw i32 %296, -1 - store i32 %297, ptr %295, align 4 - %298 = icmp sgt i32 %296, 1 - br i1 %298, label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit199, label %299 - -299: ; preds = %292 + %.not591.not = icmp ne i32 %282, %229 + br i1 %.not591.not, label %283, label %.loopexit + +283: ; preds = %279 + %284 = getelementptr inbounds nuw i8, ptr %281, i64 40 + %285 = load i32, ptr %284, align 8 + %286 = icmp sgt i32 %285, -1 + br i1 %286, label %279, label %.loopexit, !llvm.loop !41 + +.loopexit: ; preds = %279, %283, %238, %._crit_edge.i.i + %.sroa.3.0.i = phi i1 [ true, %._crit_edge.i.i ], [ true, %238 ], [ %.not591.not, %283 ], [ %.not591.not, %279 ] + %287 = load i8, ptr @_ZN5Yosys5RTLIL8IdString17destruct_guard_okE, align 1 + %288 = trunc i8 %287 to i1 + %289 = icmp ne i32 %229, 0 + %or.cond.i.i198 = and i1 %289, %288 + br i1 %or.cond.i.i198, label %290, label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit199 + +290: ; preds = %.loopexit + %291 = sext i32 %229 to i64 + %292 = load ptr, ptr @_ZN5Yosys5RTLIL8IdString24global_refcount_storage_E, align 8 + %293 = getelementptr inbounds i32, ptr %292, i64 %291 + %294 = load i32, ptr %293, align 4 + %295 = add nsw i32 %294, -1 + store i32 %295, ptr %293, align 4 + %296 = icmp sgt i32 %294, 1 + br i1 %296, label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit199, label %297 + +297: ; preds = %290 invoke void @_ZN5Yosys5RTLIL8IdString14free_referenceEi(i32 noundef %229) - to label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit199 unwind label %300 + to label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit199 unwind label %298 -300: ; preds = %299 - %301 = landingpad { ptr, i32 } +298: ; preds = %297 + %299 = landingpad { ptr, i32 } catch ptr null - %302 = extractvalue { ptr, i32 } %301, 0 - call void @__clang_call_terminate(ptr %302) #28 + %300 = extractvalue { ptr, i32 } %299, 0 + call void @__clang_call_terminate(ptr %300) #28 unreachable -_ZN5Yosys5RTLIL8IdStringD2Ev.exit199: ; preds = %.loopexit, %292, %299 - br i1 %.sroa.3.0.i, label %_ZN5Yosys7hashlib4poolINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS0_8hash_opsIS7_EEED2Ev.exit.thread, label %303 +_ZN5Yosys5RTLIL8IdStringD2Ev.exit199: ; preds = %.loopexit, %290, %297 + br i1 %.sroa.3.0.i, label %_ZN5Yosys7hashlib4poolINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS0_8hash_opsIS7_EEED2Ev.exit.thread, label %301 -303: ; preds = %_ZN5Yosys5RTLIL8IdStringD2Ev.exit199 +301: ; preds = %_ZN5Yosys5RTLIL8IdStringD2Ev.exit199 call void @llvm.experimental.noalias.scope.decl(metadata !42) - %304 = load atomic i8, ptr @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK3$_2clEvE2id" acquire, align 8, !noalias !42 - %305 = icmp eq i8 %304, 0 - br i1 %305, label %306, label %312, !prof !12 + %302 = load atomic i8, ptr @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK3$_2clEvE2id" acquire, align 8, !noalias !42 + %303 = icmp eq i8 %302, 0 + br i1 %303, label %304, label %310, !prof !12 -306: ; preds = %303 - %307 = call i32 @__cxa_guard_acquire(ptr nonnull @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK3$_2clEvE2id") #25, !noalias !42 - %.not.i201 = icmp eq i32 %307, 0 - br i1 %.not.i201, label %312, label %308 +304: ; preds = %301 + %305 = call i32 @__cxa_guard_acquire(ptr nonnull @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK3$_2clEvE2id") #25, !noalias !42 + %.not.i201 = icmp eq i32 %305, 0 + br i1 %.not.i201, label %310, label %306 -308: ; preds = %306 - %309 = invoke noundef i32 @_ZN5Yosys5RTLIL8IdString13get_referenceEPKc(ptr noundef nonnull @.str.93) - to label %310 unwind label %320, !noalias !42 +306: ; preds = %304 + %307 = invoke noundef i32 @_ZN5Yosys5RTLIL8IdString13get_referenceEPKc(ptr noundef nonnull @.str.93) + to label %308 unwind label %318, !noalias !42 -310: ; preds = %308 - store i32 %309, ptr @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK3$_2clEvE2id", align 4, !noalias !42 - %311 = call i32 @__cxa_atexit(ptr nonnull @_ZN5Yosys5RTLIL8IdStringD2Ev, ptr nonnull @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK3$_2clEvE2id", ptr nonnull @__dso_handle) #25, !noalias !42 +308: ; preds = %306 + store i32 %307, ptr @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK3$_2clEvE2id", align 4, !noalias !42 + %309 = call i32 @__cxa_atexit(ptr nonnull @_ZN5Yosys5RTLIL8IdStringD2Ev, ptr nonnull @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK3$_2clEvE2id", ptr nonnull @__dso_handle) #25, !noalias !42 call void @__cxa_guard_release(ptr nonnull @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK3$_2clEvE2id") #25, !noalias !42 - br label %312 - -312: ; preds = %310, %306, %303 - %313 = load i32, ptr @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK3$_2clEvE2id", align 4, !noalias !42 - %.not.i.i.i200 = icmp eq i32 %313, 0 - br i1 %.not.i.i.i200, label %322, label %314 - -314: ; preds = %312 - %315 = sext i32 %313 to i64 - %316 = load ptr, ptr @_ZN5Yosys5RTLIL8IdString24global_refcount_storage_E, align 8, !noalias !42 - %317 = getelementptr inbounds i32, ptr %316, i64 %315 - %318 = load i32, ptr %317, align 4, !noalias !42 - %319 = add nsw i32 %318, 1 - store i32 %319, ptr %317, align 4, !noalias !42 - br label %322 + br label %310 + +310: ; preds = %308, %304, %301 + %311 = load i32, ptr @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK3$_2clEvE2id", align 4, !noalias !42 + %.not.i.i.i200 = icmp eq i32 %311, 0 + br i1 %.not.i.i.i200, label %320, label %312 -320: ; preds = %308 - %321 = landingpad { ptr, i32 } +312: ; preds = %310 + %313 = sext i32 %311 to i64 + %314 = load ptr, ptr @_ZN5Yosys5RTLIL8IdString24global_refcount_storage_E, align 8, !noalias !42 + %315 = getelementptr inbounds i32, ptr %314, i64 %313 + %316 = load i32, ptr %315, align 4, !noalias !42 + %317 = add nsw i32 %316, 1 + store i32 %317, ptr %315, align 4, !noalias !42 + br label %320 + +318: ; preds = %306 + %319 = landingpad { ptr, i32 } cleanup call void @__cxa_guard_abort(ptr nonnull @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK3$_2clEvE2id") #25, !noalias !42 br label %.body -322: ; preds = %314, %312 - store i32 %313, ptr %16, align 4, !alias.scope !42 +320: ; preds = %312, %310 + store i32 %311, ptr %16, align 4, !alias.scope !42 invoke void @_ZNK5Yosys5RTLIL10AttrObject21get_strpool_attributeB5cxx11ERKNS0_8IdStringE(ptr dead_on_unwind nonnull writable sret(%"class.Yosys::hashlib::pool.226") align 8 %15, ptr noundef nonnull align 8 dereferenceable(56) %213, ptr noundef nonnull align 4 dereferenceable(4) %16) - to label %323 unwind label %364 + to label %321 unwind label %362 -323: ; preds = %322 - %324 = load i32, ptr %16, align 4 - %325 = load i8, ptr @_ZN5Yosys5RTLIL8IdString17destruct_guard_okE, align 1 - %326 = trunc i8 %325 to i1 - %327 = icmp ne i32 %324, 0 - %or.cond.i.i204 = and i1 %327, %326 - br i1 %or.cond.i.i204, label %328, label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit205 - -328: ; preds = %323 - %329 = sext i32 %324 to i64 - %330 = load ptr, ptr @_ZN5Yosys5RTLIL8IdString24global_refcount_storage_E, align 8 - %331 = getelementptr inbounds i32, ptr %330, i64 %329 - %332 = load i32, ptr %331, align 4 - %333 = add nsw i32 %332, -1 - store i32 %333, ptr %331, align 4 - %334 = icmp sgt i32 %332, 1 - br i1 %334, label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit205, label %335 - -335: ; preds = %328 - invoke void @_ZN5Yosys5RTLIL8IdString14free_referenceEi(i32 noundef %324) - to label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit205 unwind label %336 - -336: ; preds = %335 - %337 = landingpad { ptr, i32 } +321: ; preds = %320 + %322 = load i32, ptr %16, align 4 + %323 = load i8, ptr @_ZN5Yosys5RTLIL8IdString17destruct_guard_okE, align 1 + %324 = trunc i8 %323 to i1 + %325 = icmp ne i32 %322, 0 + %or.cond.i.i204 = and i1 %325, %324 + br i1 %or.cond.i.i204, label %326, label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit205 + +326: ; preds = %321 + %327 = sext i32 %322 to i64 + %328 = load ptr, ptr @_ZN5Yosys5RTLIL8IdString24global_refcount_storage_E, align 8 + %329 = getelementptr inbounds i32, ptr %328, i64 %327 + %330 = load i32, ptr %329, align 4 + %331 = add nsw i32 %330, -1 + store i32 %331, ptr %329, align 4 + %332 = icmp sgt i32 %330, 1 + br i1 %332, label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit205, label %333 + +333: ; preds = %326 + invoke void @_ZN5Yosys5RTLIL8IdString14free_referenceEi(i32 noundef %322) + to label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit205 unwind label %334 + +334: ; preds = %333 + %335 = landingpad { ptr, i32 } catch ptr null - %338 = extractvalue { ptr, i32 } %337, 0 - call void @__clang_call_terminate(ptr %338) #28 + %336 = extractvalue { ptr, i32 } %335, 0 + call void @__clang_call_terminate(ptr %336) #28 unreachable -_ZN5Yosys5RTLIL8IdStringD2Ev.exit205: ; preds = %323, %328, %335 +_ZN5Yosys5RTLIL8IdStringD2Ev.exit205: ; preds = %321, %326, %333 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #25 - %339 = getelementptr inbounds nuw i8, ptr %15, i64 24 - %340 = getelementptr inbounds nuw i8, ptr %15, i64 32 - %341 = load ptr, ptr %340, align 8 - %342 = load ptr, ptr %339, align 8 - %.not = icmp eq ptr %341, %342 - br i1 %.not, label %377, label %343 - -343: ; preds = %_ZN5Yosys5RTLIL8IdStringD2Ev.exit205 - %344 = ptrtoint ptr %341 to i64 - %345 = ptrtoint ptr %342 to i64 - %346 = sub i64 %344, %345 - %347 = sdiv exact i64 %346, 40 - %348 = shl i64 %347, 32 - %sext = add i64 %348, -4294967296 - %349 = ashr exact i64 %sext, 32 - %350 = getelementptr inbounds %"struct.Yosys::hashlib::pool>::entry_t", ptr %342, i64 %349 - %351 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull align 8 dereferenceable(32) %350) - to label %352 unwind label %366 - -352: ; preds = %343 - %353 = getelementptr inbounds nuw i8, ptr %213, i64 72 - %354 = invoke noundef ptr @_ZN5Yosys6log_idERKNS_5RTLIL8IdStringE(ptr noundef nonnull align 4 dereferenceable(4) %353) - to label %_ZN5YosysL6log_idINS_5RTLIL4WireEEEPKcPT_S4_.exit unwind label %366 - -_ZN5YosysL6log_idINS_5RTLIL4WireEEEPKcPT_S4_.exit: ; preds = %352 - %355 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %11) #25 - %356 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %17) #25 - invoke void (ptr, ...) @_ZN5Yosys3logEPKcz(ptr noundef nonnull @.str.48, ptr noundef %354, ptr noundef %355, ptr noundef %356) - to label %357 unwind label %366 - -357: ; preds = %_ZN5YosysL6log_idINS_5RTLIL4WireEEEPKcPT_S4_.exit - %358 = call noundef i32 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEPKc(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull @.str.49) #25 - %359 = icmp eq i32 %358, 0 - br i1 %359, label %377, label %368 - -360: ; preds = %217 - %361 = landingpad { ptr, i32 } + %337 = getelementptr inbounds nuw i8, ptr %15, i64 24 + %338 = getelementptr inbounds nuw i8, ptr %15, i64 32 + %339 = load ptr, ptr %338, align 8 + %340 = load ptr, ptr %337, align 8 + %.not = icmp eq ptr %339, %340 + br i1 %.not, label %375, label %341 + +341: ; preds = %_ZN5Yosys5RTLIL8IdStringD2Ev.exit205 + %342 = ptrtoint ptr %339 to i64 + %343 = ptrtoint ptr %340 to i64 + %344 = sub i64 %342, %343 + %345 = sdiv exact i64 %344, 40 + %346 = shl i64 %345, 32 + %sext = add i64 %346, -4294967296 + %347 = ashr exact i64 %sext, 32 + %348 = getelementptr inbounds %"struct.Yosys::hashlib::pool>::entry_t", ptr %340, i64 %347 + %349 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull align 8 dereferenceable(32) %348) + to label %350 unwind label %364 + +350: ; preds = %341 + %351 = getelementptr inbounds nuw i8, ptr %213, i64 72 + %352 = invoke noundef ptr @_ZN5Yosys6log_idERKNS_5RTLIL8IdStringE(ptr noundef nonnull align 4 dereferenceable(4) %351) + to label %_ZN5YosysL6log_idINS_5RTLIL4WireEEEPKcPT_S4_.exit unwind label %364 + +_ZN5YosysL6log_idINS_5RTLIL4WireEEEPKcPT_S4_.exit: ; preds = %350 + %353 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %11) #25 + %354 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %17) #25 + invoke void (ptr, ...) @_ZN5Yosys3logEPKcz(ptr noundef nonnull @.str.48, ptr noundef %352, ptr noundef %353, ptr noundef %354) + to label %355 unwind label %364 + +355: ; preds = %_ZN5YosysL6log_idINS_5RTLIL4WireEEEPKcPT_S4_.exit + %356 = call noundef i32 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEPKc(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull @.str.49) #25 + %357 = icmp eq i32 %356, 0 + br i1 %357, label %375, label %366 + +358: ; preds = %217 + %359 = landingpad { ptr, i32 } cleanup call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %13) #25 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #25 - br label %1657 + br label %1655 -362: ; preds = %261 - %363 = landingpad { ptr, i32 } +360: ; preds = %261 + %361 = landingpad { ptr, i32 } cleanup call void @_ZN5Yosys5RTLIL8IdStringD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %14) #25 br label %.body -364: ; preds = %322 - %365 = landingpad { ptr, i32 } +362: ; preds = %320 + %363 = landingpad { ptr, i32 } cleanup call void @_ZN5Yosys5RTLIL8IdStringD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %16) #25 br label %.body -366: ; preds = %352, %374, %_ZN5YosysL6log_idINS_5RTLIL4WireEEEPKcPT_S4_.exit, %343 - %367 = landingpad { ptr, i32 } +364: ; preds = %350, %372, %_ZN5YosysL6log_idINS_5RTLIL4WireEEEPKcPT_S4_.exit, %341 + %365 = landingpad { ptr, i32 } cleanup call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #25 call void @_ZN5Yosys7hashlib4poolINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS0_8hash_opsIS7_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(49) %15) #25 br label %.body -368: ; preds = %357 - %369 = call noundef i32 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEPKc(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull @.str.50) #25 - %370 = icmp eq i32 %369, 0 - br i1 %370, label %377, label %371 +366: ; preds = %355 + %367 = call noundef i32 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEPKc(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull @.str.50) #25 + %368 = icmp eq i32 %367, 0 + br i1 %368, label %375, label %369 -371: ; preds = %368 - %372 = call noundef i32 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEPKc(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull @.str.51) #25 - %373 = icmp eq i32 %372, 0 - br i1 %373, label %377, label %374 +369: ; preds = %366 + %370 = call noundef i32 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEPKc(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull @.str.51) #25 + %371 = icmp eq i32 %370, 0 + br i1 %371, label %375, label %372 -374: ; preds = %371 - %375 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %17) #25 - invoke void (ptr, ...) @_ZN5Yosys9log_errorEPKcz(ptr noundef nonnull @.str.52, ptr noundef %375) #27 - to label %376 unwind label %366 +372: ; preds = %369 + %373 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %17) #25 + invoke void (ptr, ...) @_ZN5Yosys9log_errorEPKcz(ptr noundef nonnull @.str.52, ptr noundef %373) #27 + to label %374 unwind label %364 -376: ; preds = %374 +374: ; preds = %372 unreachable -377: ; preds = %368, %357, %371, %_ZN5Yosys5RTLIL8IdStringD2Ev.exit205 - %.185 = phi i1 [ false, %371 ], [ false, %_ZN5Yosys5RTLIL8IdStringD2Ev.exit205 ], [ false, %357 ], [ true, %368 ] - %.183 = phi i1 [ false, %371 ], [ false, %_ZN5Yosys5RTLIL8IdStringD2Ev.exit205 ], [ true, %357 ], [ false, %368 ] +375: ; preds = %366, %355, %369, %_ZN5Yosys5RTLIL8IdStringD2Ev.exit205 + %.185 = phi i1 [ false, %369 ], [ false, %_ZN5Yosys5RTLIL8IdStringD2Ev.exit205 ], [ false, %355 ], [ true, %366 ] + %.183 = phi i1 [ false, %369 ], [ false, %_ZN5Yosys5RTLIL8IdStringD2Ev.exit205 ], [ true, %355 ], [ false, %366 ] call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #25 - %378 = load ptr, ptr %339, align 8 - %379 = load ptr, ptr %340, align 8 - %.not4.i.i.i.i.i209 = icmp eq ptr %378, %379 + %376 = load ptr, ptr %337, align 8 + %377 = load ptr, ptr %338, align 8 + %.not4.i.i.i.i.i209 = icmp eq ptr %376, %377 br i1 %.not4.i.i.i.i.i209, label %_ZSt8_DestroyIPN5Yosys7hashlib4poolINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS1_8hash_opsIS8_EEE7entry_tESC_EvT_SE_RSaIT0_E.exit.i.i, label %.lr.ph.i.i.i.i.i210 -.lr.ph.i.i.i.i.i210: ; preds = %377, %.lr.ph.i.i.i.i.i210 - %.05.i.i.i.i.i211 = phi ptr [ %380, %.lr.ph.i.i.i.i.i210 ], [ %378, %377 ] +.lr.ph.i.i.i.i.i210: ; preds = %375, %.lr.ph.i.i.i.i.i210 + %.05.i.i.i.i.i211 = phi ptr [ %378, %.lr.ph.i.i.i.i.i210 ], [ %376, %375 ] call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(36) %.05.i.i.i.i.i211) #25 - %380 = getelementptr inbounds nuw i8, ptr %.05.i.i.i.i.i211, i64 40 - %.not.i.i.i.i.i212 = icmp eq ptr %380, %379 + %378 = getelementptr inbounds nuw i8, ptr %.05.i.i.i.i.i211, i64 40 + %.not.i.i.i.i.i212 = icmp eq ptr %378, %377 br i1 %.not.i.i.i.i.i212, label %_ZSt8_DestroyIPN5Yosys7hashlib4poolINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS1_8hash_opsIS8_EEE7entry_tESC_EvT_SE_RSaIT0_E.exitthread-pre-split.i.i, label %.lr.ph.i.i.i.i.i210, !llvm.loop !45 _ZSt8_DestroyIPN5Yosys7hashlib4poolINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS1_8hash_opsIS8_EEE7entry_tESC_EvT_SE_RSaIT0_E.exitthread-pre-split.i.i: ; preds = %.lr.ph.i.i.i.i.i210 - %.pr.i.i213 = load ptr, ptr %339, align 8 + %.pr.i.i213 = load ptr, ptr %337, align 8 br label %_ZSt8_DestroyIPN5Yosys7hashlib4poolINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS1_8hash_opsIS8_EEE7entry_tESC_EvT_SE_RSaIT0_E.exit.i.i -_ZSt8_DestroyIPN5Yosys7hashlib4poolINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS1_8hash_opsIS8_EEE7entry_tESC_EvT_SE_RSaIT0_E.exit.i.i: ; preds = %_ZSt8_DestroyIPN5Yosys7hashlib4poolINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS1_8hash_opsIS8_EEE7entry_tESC_EvT_SE_RSaIT0_E.exitthread-pre-split.i.i, %377 - %381 = phi ptr [ %.pr.i.i213, %_ZSt8_DestroyIPN5Yosys7hashlib4poolINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS1_8hash_opsIS8_EEE7entry_tESC_EvT_SE_RSaIT0_E.exitthread-pre-split.i.i ], [ %378, %377 ] - %.not.i.i.i.i214 = icmp eq ptr %381, null - br i1 %.not.i.i.i.i214, label %_ZNSt6vectorIN5Yosys7hashlib4poolINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS1_8hash_opsIS8_EEE7entry_tESaISC_EED2Ev.exit.i, label %382 +_ZSt8_DestroyIPN5Yosys7hashlib4poolINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS1_8hash_opsIS8_EEE7entry_tESC_EvT_SE_RSaIT0_E.exit.i.i: ; preds = %_ZSt8_DestroyIPN5Yosys7hashlib4poolINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS1_8hash_opsIS8_EEE7entry_tESC_EvT_SE_RSaIT0_E.exitthread-pre-split.i.i, %375 + %379 = phi ptr [ %.pr.i.i213, %_ZSt8_DestroyIPN5Yosys7hashlib4poolINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS1_8hash_opsIS8_EEE7entry_tESC_EvT_SE_RSaIT0_E.exitthread-pre-split.i.i ], [ %376, %375 ] + %.not.i.i.i.i214 = icmp eq ptr %379, null + br i1 %.not.i.i.i.i214, label %_ZNSt6vectorIN5Yosys7hashlib4poolINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS1_8hash_opsIS8_EEE7entry_tESaISC_EED2Ev.exit.i, label %380 -382: ; preds = %_ZSt8_DestroyIPN5Yosys7hashlib4poolINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS1_8hash_opsIS8_EEE7entry_tESC_EvT_SE_RSaIT0_E.exit.i.i - call void @_ZdlPv(ptr noundef nonnull %381) #26 +380: ; preds = %_ZSt8_DestroyIPN5Yosys7hashlib4poolINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS1_8hash_opsIS8_EEE7entry_tESC_EvT_SE_RSaIT0_E.exit.i.i + call void @_ZdlPv(ptr noundef nonnull %379) #26 br label %_ZNSt6vectorIN5Yosys7hashlib4poolINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS1_8hash_opsIS8_EEE7entry_tESaISC_EED2Ev.exit.i -_ZNSt6vectorIN5Yosys7hashlib4poolINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS1_8hash_opsIS8_EEE7entry_tESaISC_EED2Ev.exit.i: ; preds = %382, %_ZSt8_DestroyIPN5Yosys7hashlib4poolINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS1_8hash_opsIS8_EEE7entry_tESC_EvT_SE_RSaIT0_E.exit.i.i - %383 = load ptr, ptr %15, align 8 - %.not.i.i.i1.i215 = icmp eq ptr %383, null - br i1 %.not.i.i.i1.i215, label %_ZN5Yosys7hashlib4poolINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS0_8hash_opsIS7_EEED2Ev.exit, label %384 +_ZNSt6vectorIN5Yosys7hashlib4poolINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS1_8hash_opsIS8_EEE7entry_tESaISC_EED2Ev.exit.i: ; preds = %380, %_ZSt8_DestroyIPN5Yosys7hashlib4poolINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS1_8hash_opsIS8_EEE7entry_tESC_EvT_SE_RSaIT0_E.exit.i.i + %381 = load ptr, ptr %15, align 8 + %.not.i.i.i1.i215 = icmp eq ptr %381, null + br i1 %.not.i.i.i1.i215, label %_ZN5Yosys7hashlib4poolINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS0_8hash_opsIS7_EEED2Ev.exit, label %382 -384: ; preds = %_ZNSt6vectorIN5Yosys7hashlib4poolINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS1_8hash_opsIS8_EEE7entry_tESaISC_EED2Ev.exit.i - call void @_ZdlPv(ptr noundef nonnull %383) #26 - br i1 %.185, label %1642, label %_ZN5Yosys7hashlib4poolINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS0_8hash_opsIS7_EEED2Ev.exit.thread +382: ; preds = %_ZNSt6vectorIN5Yosys7hashlib4poolINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS1_8hash_opsIS8_EEE7entry_tESaISC_EED2Ev.exit.i + call void @_ZdlPv(ptr noundef nonnull %381) #26 + br i1 %.185, label %1640, label %_ZN5Yosys7hashlib4poolINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS0_8hash_opsIS7_EEED2Ev.exit.thread _ZN5Yosys7hashlib4poolINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS0_8hash_opsIS7_EEED2Ev.exit: ; preds = %_ZNSt6vectorIN5Yosys7hashlib4poolINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS1_8hash_opsIS8_EEE7entry_tESaISC_EED2Ev.exit.i - br i1 %.185, label %1642, label %_ZN5Yosys7hashlib4poolINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS0_8hash_opsIS7_EEED2Ev.exit.thread - -_ZN5Yosys7hashlib4poolINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS0_8hash_opsIS7_EEED2Ev.exit.thread: ; preds = %_ZN5Yosys5RTLIL8IdStringD2Ev.exit199, %_ZN5Yosys7hashlib4poolINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS0_8hash_opsIS7_EEED2Ev.exit, %384 - %.082577 = phi i1 [ %.183, %_ZN5Yosys7hashlib4poolINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS0_8hash_opsIS7_EEED2Ev.exit ], [ %.183, %384 ], [ false, %_ZN5Yosys5RTLIL8IdStringD2Ev.exit199 ] - %385 = getelementptr inbounds nuw i8, ptr %18, i64 24 + br i1 %.185, label %1640, label %_ZN5Yosys7hashlib4poolINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS0_8hash_opsIS7_EEED2Ev.exit.thread + +_ZN5Yosys7hashlib4poolINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS0_8hash_opsIS7_EEED2Ev.exit.thread: ; preds = %_ZN5Yosys5RTLIL8IdStringD2Ev.exit199, %_ZN5Yosys7hashlib4poolINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS0_8hash_opsIS7_EEED2Ev.exit, %382 + %.082577 = phi i1 [ %.183, %_ZN5Yosys7hashlib4poolINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS0_8hash_opsIS7_EEED2Ev.exit ], [ %.183, %382 ], [ false, %_ZN5Yosys5RTLIL8IdStringD2Ev.exit199 ] + %383 = getelementptr inbounds nuw i8, ptr %18, i64 24 + store i32 0, ptr %383, align 8 + %384 = getelementptr inbounds nuw i8, ptr %18, i64 32 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(56) %384, i8 0, i64 56, i1 false) + %385 = getelementptr inbounds nuw i8, ptr %18, i64 96 store i32 0, ptr %385, align 8 - %386 = getelementptr inbounds nuw i8, ptr %18, i64 32 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(56) %386, i8 0, i64 56, i1 false) - %387 = getelementptr inbounds nuw i8, ptr %18, i64 96 - store i32 0, ptr %387, align 8 - %388 = getelementptr inbounds nuw i8, ptr %18, i64 104 - %389 = getelementptr inbounds nuw i8, ptr %18, i64 168 - %390 = getelementptr inbounds nuw i8, ptr %18, i64 232 - %391 = getelementptr inbounds nuw i8, ptr %18, i64 296 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(56) %391, i8 0, i64 56, i1 false) - %392 = getelementptr inbounds nuw i8, ptr %18, i64 384 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(49) %392, i8 0, i64 48, i1 false) + %386 = getelementptr inbounds nuw i8, ptr %18, i64 104 + %387 = getelementptr inbounds nuw i8, ptr %18, i64 168 + %388 = getelementptr inbounds nuw i8, ptr %18, i64 232 + %389 = getelementptr inbounds nuw i8, ptr %18, i64 296 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(56) %389, i8 0, i64 56, i1 false) + %390 = getelementptr inbounds nuw i8, ptr %18, i64 384 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(49) %390, i8 0, i64 48, i1 false) + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(60) %386, i8 0, i64 60, i1 false) + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(60) %387, i8 0, i64 60, i1 false) call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(60) %388, i8 0, i64 60, i1 false) - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(60) %389, i8 0, i64 60, i1 false) - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(60) %390, i8 0, i64 60, i1 false) - %393 = invoke fastcc noundef i32 @_ZN12_GLOBAL__N_118counter_tryextractERN5Yosys8ModIndexEPNS0_5RTLIL4CellERNS_17CounterExtractionENS_25CounterExtractionSettingsE(ptr noundef nonnull align 8 dereferenceable(157) %0, ptr noundef %1, ptr noundef nonnull align 8 dereferenceable(440) %18, ptr noundef nonnull byval(%"struct.(anonymous namespace)::CounterExtractionSettings") align 8 %5) - to label %394 unwind label %403 - -394: ; preds = %_ZN5Yosys7hashlib4poolINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS0_8hash_opsIS7_EEED2Ev.exit.thread - %.not88 = icmp eq i32 %393, 0 - br i1 %.not88, label %405, label %395 - -395: ; preds = %394 - br i1 %.082577, label %396, label %1641 - -396: ; preds = %395 - %397 = getelementptr inbounds nuw i8, ptr %213, i64 72 - %398 = invoke noundef ptr @_ZN5Yosys6log_idERKNS_5RTLIL8IdStringE(ptr noundef nonnull align 4 dereferenceable(4) %397) - to label %_ZN5YosysL6log_idINS_5RTLIL4WireEEEPKcPT_S4_.exit217 unwind label %403 - -_ZN5YosysL6log_idINS_5RTLIL4WireEEEPKcPT_S4_.exit217: ; preds = %396 - %399 = sext i32 %393 to i64 - %400 = getelementptr inbounds [27 x ptr], ptr @_ZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEE7reasons, i64 0, i64 %399 - %401 = load ptr, ptr %400, align 8 - invoke void (ptr, ...) @_ZN5Yosys9log_errorEPKcz(ptr noundef nonnull @.str.76, ptr noundef %398, ptr noundef %401) #27 - to label %402 unwind label %403 - -402: ; preds = %_ZN5YosysL6log_idINS_5RTLIL4WireEEEPKcPT_S4_.exit217 + %391 = invoke fastcc noundef i32 @_ZN12_GLOBAL__N_118counter_tryextractERN5Yosys8ModIndexEPNS0_5RTLIL4CellERNS_17CounterExtractionENS_25CounterExtractionSettingsE(ptr noundef nonnull align 8 dereferenceable(157) %0, ptr noundef %1, ptr noundef nonnull align 8 dereferenceable(440) %18, ptr noundef nonnull byval(%"struct.(anonymous namespace)::CounterExtractionSettings") align 8 %5) + to label %392 unwind label %401 + +392: ; preds = %_ZN5Yosys7hashlib4poolINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS0_8hash_opsIS7_EEED2Ev.exit.thread + %.not88 = icmp eq i32 %391, 0 + br i1 %.not88, label %403, label %393 + +393: ; preds = %392 + br i1 %.082577, label %394, label %1639 + +394: ; preds = %393 + %395 = getelementptr inbounds nuw i8, ptr %213, i64 72 + %396 = invoke noundef ptr @_ZN5Yosys6log_idERKNS_5RTLIL8IdStringE(ptr noundef nonnull align 4 dereferenceable(4) %395) + to label %_ZN5YosysL6log_idINS_5RTLIL4WireEEEPKcPT_S4_.exit217 unwind label %401 + +_ZN5YosysL6log_idINS_5RTLIL4WireEEEPKcPT_S4_.exit217: ; preds = %394 + %397 = sext i32 %391 to i64 + %398 = getelementptr inbounds [27 x ptr], ptr @_ZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEE7reasons, i64 0, i64 %397 + %399 = load ptr, ptr %398, align 8 + invoke void (ptr, ...) @_ZN5Yosys9log_errorEPKcz(ptr noundef nonnull @.str.76, ptr noundef %396, ptr noundef %399) #27 + to label %400 unwind label %401 + +400: ; preds = %_ZN5YosysL6log_idINS_5RTLIL4WireEEEPKcPT_S4_.exit217 unreachable -403: ; preds = %396, %_ZN5YosysL6log_idINS_5RTLIL4WireEEEPKcPT_S4_.exit217, %_ZN5Yosys7hashlib4poolINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS0_8hash_opsIS7_EEED2Ev.exit.thread - %404 = landingpad { ptr, i32 } +401: ; preds = %394, %_ZN5YosysL6log_idINS_5RTLIL4WireEEEPKcPT_S4_.exit217, %_ZN5Yosys7hashlib4poolINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS0_8hash_opsIS7_EEED2Ev.exit.thread + %402 = landingpad { ptr, i32 } cleanup - br label %1656 + br label %1654 -405: ; preds = %394 +403: ; preds = %392 call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %21) #25 invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %20, ptr noundef nonnull @.str.77, ptr noundef nonnull align 1 dereferenceable(1) %21) - to label %406 unwind label %573 + to label %404 unwind label %571 -406: ; preds = %405 - %407 = getelementptr inbounds nuw i8, ptr %18, i64 8 - %408 = load ptr, ptr %407, align 8 - %409 = getelementptr inbounds nuw i8, ptr %408, i64 72 +404: ; preds = %403 + %405 = getelementptr inbounds nuw i8, ptr %18, i64 8 + %406 = load ptr, ptr %405, align 8 + %407 = getelementptr inbounds nuw i8, ptr %406, i64 72 call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %7) - %410 = load i32, ptr %409, align 4, !noalias !46 - %411 = sext i32 %410 to i64 - %412 = load ptr, ptr getelementptr inbounds nuw (i8, ptr @_ZN5Yosys5RTLIL8IdString18global_id_storage_E, i64 8), align 8, !noalias !46 - %413 = load ptr, ptr @_ZN5Yosys5RTLIL8IdString18global_id_storage_E, align 8, !noalias !46 - %414 = ptrtoint ptr %412 to i64 - %415 = ptrtoint ptr %413 to i64 - %416 = sub i64 %414, %415 - %417 = ashr exact i64 %416, 3 - %.not.i.i.i218 = icmp ugt i64 %417, %411 - br i1 %.not.i.i.i218, label %_ZNSt6vectorIPcSaIS0_EE2atEm.exit.i, label %418 - -418: ; preds = %406 - invoke void (ptr, ...) @_ZSt24__throw_out_of_range_fmtPKcz(ptr noundef nonnull @.str.44, i64 noundef %411, i64 noundef %417) #27 - to label %.noexc219 unwind label %575 - -.noexc219: ; preds = %418 + %408 = load i32, ptr %407, align 4, !noalias !46 + %409 = sext i32 %408 to i64 + %410 = load ptr, ptr getelementptr inbounds nuw (i8, ptr @_ZN5Yosys5RTLIL8IdString18global_id_storage_E, i64 8), align 8, !noalias !46 + %411 = load ptr, ptr @_ZN5Yosys5RTLIL8IdString18global_id_storage_E, align 8, !noalias !46 + %412 = ptrtoint ptr %410 to i64 + %413 = ptrtoint ptr %411 to i64 + %414 = sub i64 %412, %413 + %415 = ashr exact i64 %414, 3 + %.not.i.i.i218 = icmp ugt i64 %415, %409 + br i1 %.not.i.i.i218, label %_ZNSt6vectorIPcSaIS0_EE2atEm.exit.i, label %416 + +416: ; preds = %404 + invoke void (ptr, ...) @_ZSt24__throw_out_of_range_fmtPKcz(ptr noundef nonnull @.str.44, i64 noundef %409, i64 noundef %415) #27 + to label %.noexc219 unwind label %573 + +.noexc219: ; preds = %416 unreachable -_ZNSt6vectorIPcSaIS0_EE2atEm.exit.i: ; preds = %406 - %419 = getelementptr inbounds ptr, ptr %413, i64 %411 - %420 = load ptr, ptr %419, align 8, !noalias !46 +_ZNSt6vectorIPcSaIS0_EE2atEm.exit.i: ; preds = %404 + %417 = getelementptr inbounds ptr, ptr %411, i64 %409 + %418 = load ptr, ptr %417, align 8, !noalias !46 call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %7) #25, !noalias !46 - invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %23, ptr noundef %420, ptr noundef nonnull align 1 dereferenceable(1) %7) - to label %423 unwind label %421 + invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %23, ptr noundef %418, ptr noundef nonnull align 1 dereferenceable(1) %7) + to label %421 unwind label %419 -421: ; preds = %_ZNSt6vectorIPcSaIS0_EE2atEm.exit.i - %422 = landingpad { ptr, i32 } +419: ; preds = %_ZNSt6vectorIPcSaIS0_EE2atEm.exit.i + %420 = landingpad { ptr, i32 } cleanup call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %7) #25 br label %.body220 -423: ; preds = %_ZNSt6vectorIPcSaIS0_EE2atEm.exit.i +421: ; preds = %_ZNSt6vectorIPcSaIS0_EE2atEm.exit.i call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %7) #25 call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %7) - %424 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %23) #25 - %425 = invoke noundef i32 @_ZN5Yosys5RTLIL8IdString13get_referenceEPKc(ptr noundef %424) + %422 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %23) #25 + %423 = invoke noundef i32 @_ZN5Yosys5RTLIL8IdString13get_referenceEPKc(ptr noundef %422) + to label %424 unwind label %575 + +424: ; preds = %421 + store i32 %423, ptr %22, align 4 + %425 = invoke noundef ptr @_ZN5Yosys6log_idERKNS_5RTLIL8IdStringE(ptr noundef nonnull align 4 dereferenceable(4) %22) to label %426 unwind label %577 -426: ; preds = %423 - store i32 %425, ptr %22, align 4 - %427 = invoke noundef ptr @_ZN5Yosys6log_idERKNS_5RTLIL8IdStringE(ptr noundef nonnull align 4 dereferenceable(4) %22) - to label %428 unwind label %579 +426: ; preds = %424 + %427 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEPKc(ptr noundef nonnull align 8 dereferenceable(32) %20, ptr noundef %425) + to label %428 unwind label %577 428: ; preds = %426 - %429 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEPKc(ptr noundef nonnull align 8 dereferenceable(32) %20, ptr noundef %427) - to label %430 unwind label %579 - -430: ; preds = %428 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EOS4_(ptr noundef nonnull align 8 dereferenceable(32) %19, ptr noundef nonnull align 8 dereferenceable(32) %429) #25 - %431 = load i32, ptr %22, align 4 - %432 = load i8, ptr @_ZN5Yosys5RTLIL8IdString17destruct_guard_okE, align 1 - %433 = trunc i8 %432 to i1 - %434 = icmp ne i32 %431, 0 - %or.cond.i.i224 = and i1 %434, %433 - br i1 %or.cond.i.i224, label %435, label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit225 - -435: ; preds = %430 - %436 = sext i32 %431 to i64 - %437 = load ptr, ptr @_ZN5Yosys5RTLIL8IdString24global_refcount_storage_E, align 8 - %438 = getelementptr inbounds i32, ptr %437, i64 %436 - %439 = load i32, ptr %438, align 4 - %440 = add nsw i32 %439, -1 - store i32 %440, ptr %438, align 4 - %441 = icmp sgt i32 %439, 1 - br i1 %441, label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit225, label %442 - -442: ; preds = %435 - invoke void @_ZN5Yosys5RTLIL8IdString14free_referenceEi(i32 noundef %431) - to label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit225 unwind label %443 - -443: ; preds = %442 - %444 = landingpad { ptr, i32 } + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EOS4_(ptr noundef nonnull align 8 dereferenceable(32) %19, ptr noundef nonnull align 8 dereferenceable(32) %427) #25 + %429 = load i32, ptr %22, align 4 + %430 = load i8, ptr @_ZN5Yosys5RTLIL8IdString17destruct_guard_okE, align 1 + %431 = trunc i8 %430 to i1 + %432 = icmp ne i32 %429, 0 + %or.cond.i.i224 = and i1 %432, %431 + br i1 %or.cond.i.i224, label %433, label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit225 + +433: ; preds = %428 + %434 = sext i32 %429 to i64 + %435 = load ptr, ptr @_ZN5Yosys5RTLIL8IdString24global_refcount_storage_E, align 8 + %436 = getelementptr inbounds i32, ptr %435, i64 %434 + %437 = load i32, ptr %436, align 4 + %438 = add nsw i32 %437, -1 + store i32 %438, ptr %436, align 4 + %439 = icmp sgt i32 %437, 1 + br i1 %439, label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit225, label %440 + +440: ; preds = %433 + invoke void @_ZN5Yosys5RTLIL8IdString14free_referenceEi(i32 noundef %429) + to label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit225 unwind label %441 + +441: ; preds = %440 + %442 = landingpad { ptr, i32 } catch ptr null - %445 = extractvalue { ptr, i32 } %444, 0 - call void @__clang_call_terminate(ptr %445) #28 + %443 = extractvalue { ptr, i32 } %442, 0 + call void @__clang_call_terminate(ptr %443) #28 unreachable -_ZN5Yosys5RTLIL8IdStringD2Ev.exit225: ; preds = %430, %435, %442 +_ZN5Yosys5RTLIL8IdStringD2Ev.exit225: ; preds = %428, %433, %440 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #25 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #25 call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %21) #25 invoke void @_ZN5Yosys5RTLIL4Cell9unsetPortERKNS0_8IdStringE(ptr noundef nonnull align 8 dereferenceable(192) %1, ptr noundef nonnull align 4 dereferenceable(4) @_ZN5Yosys5RTLIL2ID1AE) - to label %446 unwind label %583 + to label %444 unwind label %581 -446: ; preds = %_ZN5Yosys5RTLIL8IdStringD2Ev.exit225 +444: ; preds = %_ZN5Yosys5RTLIL8IdStringD2Ev.exit225 invoke void @_ZN5Yosys5RTLIL4Cell9unsetPortERKNS0_8IdStringE(ptr noundef nonnull align 8 dereferenceable(192) %1, ptr noundef nonnull align 4 dereferenceable(4) @_ZN5Yosys5RTLIL2ID1BE) - to label %447 unwind label %583 + to label %445 unwind label %581 -447: ; preds = %446 +445: ; preds = %444 invoke void @_ZN5Yosys5RTLIL4Cell9unsetPortERKNS0_8IdStringE(ptr noundef nonnull align 8 dereferenceable(192) %1, ptr noundef nonnull align 4 dereferenceable(4) @_ZN5Yosys5RTLIL2ID2BIE) - to label %448 unwind label %583 + to label %446 unwind label %581 -448: ; preds = %447 +446: ; preds = %445 invoke void @_ZN5Yosys5RTLIL4Cell9unsetPortERKNS0_8IdStringE(ptr noundef nonnull align 8 dereferenceable(192) %1, ptr noundef nonnull align 4 dereferenceable(4) @_ZN5Yosys5RTLIL2ID2CIE) - to label %449 unwind label %583 + to label %447 unwind label %581 -449: ; preds = %448 +447: ; preds = %446 invoke void @_ZN5Yosys5RTLIL4Cell9unsetPortERKNS0_8IdStringE(ptr noundef nonnull align 8 dereferenceable(192) %1, ptr noundef nonnull align 4 dereferenceable(4) @_ZN5Yosys5RTLIL2ID2COE) - to label %450 unwind label %583 + to label %448 unwind label %581 -450: ; preds = %449 +448: ; preds = %447 invoke void @_ZN5Yosys5RTLIL4Cell9unsetPortERKNS0_8IdStringE(ptr noundef nonnull align 8 dereferenceable(192) %1, ptr noundef nonnull align 4 dereferenceable(4) @_ZN5Yosys5RTLIL2ID1XE) - to label %451 unwind label %583 + to label %449 unwind label %581 -451: ; preds = %450 +449: ; preds = %448 invoke void @_ZN5Yosys5RTLIL4Cell9unsetPortERKNS0_8IdStringE(ptr noundef nonnull align 8 dereferenceable(192) %1, ptr noundef nonnull align 4 dereferenceable(4) @_ZN5Yosys5RTLIL2ID1YE) - to label %452 unwind label %583 + to label %450 unwind label %581 -452: ; preds = %451 +450: ; preds = %449 invoke void @_ZN5Yosys5RTLIL4Cell10unsetParamERKNS0_8IdStringE(ptr noundef nonnull align 8 dereferenceable(192) %1, ptr noundef nonnull align 4 dereferenceable(4) @_ZN5Yosys5RTLIL2ID8A_SIGNEDE) - to label %453 unwind label %583 + to label %451 unwind label %581 -453: ; preds = %452 +451: ; preds = %450 invoke void @_ZN5Yosys5RTLIL4Cell10unsetParamERKNS0_8IdStringE(ptr noundef nonnull align 8 dereferenceable(192) %1, ptr noundef nonnull align 4 dereferenceable(4) @_ZN5Yosys5RTLIL2ID7A_WIDTHE) - to label %454 unwind label %583 + to label %452 unwind label %581 -454: ; preds = %453 +452: ; preds = %451 invoke void @_ZN5Yosys5RTLIL4Cell10unsetParamERKNS0_8IdStringE(ptr noundef nonnull align 8 dereferenceable(192) %1, ptr noundef nonnull align 4 dereferenceable(4) @_ZN5Yosys5RTLIL2ID8B_SIGNEDE) - to label %455 unwind label %583 + to label %453 unwind label %581 -455: ; preds = %454 +453: ; preds = %452 invoke void @_ZN5Yosys5RTLIL4Cell10unsetParamERKNS0_8IdStringE(ptr noundef nonnull align 8 dereferenceable(192) %1, ptr noundef nonnull align 4 dereferenceable(4) @_ZN5Yosys5RTLIL2ID7B_WIDTHE) - to label %456 unwind label %583 + to label %454 unwind label %581 -456: ; preds = %455 +454: ; preds = %453 invoke void @_ZN5Yosys5RTLIL4Cell10unsetParamERKNS0_8IdStringE(ptr noundef nonnull align 8 dereferenceable(192) %1, ptr noundef nonnull align 4 dereferenceable(4) @_ZN5Yosys5RTLIL2ID7Y_WIDTHE) - to label %457 unwind label %583 + to label %455 unwind label %581 -457: ; preds = %456 +455: ; preds = %454 call void @llvm.experimental.noalias.scope.decl(metadata !49) - %458 = load atomic i8, ptr @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK3$_3clEvE2id" acquire, align 8, !noalias !49 - %459 = icmp eq i8 %458, 0 - br i1 %459, label %460, label %466, !prof !12 + %456 = load atomic i8, ptr @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK3$_3clEvE2id" acquire, align 8, !noalias !49 + %457 = icmp eq i8 %456, 0 + br i1 %457, label %458, label %464, !prof !12 -460: ; preds = %457 - %461 = call i32 @__cxa_guard_acquire(ptr nonnull @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK3$_3clEvE2id") #25, !noalias !49 - %.not.i227 = icmp eq i32 %461, 0 - br i1 %.not.i227, label %466, label %462 +458: ; preds = %455 + %459 = call i32 @__cxa_guard_acquire(ptr nonnull @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK3$_3clEvE2id") #25, !noalias !49 + %.not.i227 = icmp eq i32 %459, 0 + br i1 %.not.i227, label %464, label %460 -462: ; preds = %460 - %463 = invoke noundef i32 @_ZN5Yosys5RTLIL8IdString13get_referenceEPKc(ptr noundef nonnull getelementptr inbounds nuw (i8, ptr @.str.100, i64 1)) - to label %464 unwind label %474, !noalias !49 +460: ; preds = %458 + %461 = invoke noundef i32 @_ZN5Yosys5RTLIL8IdString13get_referenceEPKc(ptr noundef nonnull getelementptr inbounds nuw (i8, ptr @.str.100, i64 1)) + to label %462 unwind label %472, !noalias !49 -464: ; preds = %462 - store i32 %463, ptr @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK3$_3clEvE2id", align 4, !noalias !49 - %465 = call i32 @__cxa_atexit(ptr nonnull @_ZN5Yosys5RTLIL8IdStringD2Ev, ptr nonnull @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK3$_3clEvE2id", ptr nonnull @__dso_handle) #25, !noalias !49 +462: ; preds = %460 + store i32 %461, ptr @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK3$_3clEvE2id", align 4, !noalias !49 + %463 = call i32 @__cxa_atexit(ptr nonnull @_ZN5Yosys5RTLIL8IdStringD2Ev, ptr nonnull @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK3$_3clEvE2id", ptr nonnull @__dso_handle) #25, !noalias !49 call void @__cxa_guard_release(ptr nonnull @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK3$_3clEvE2id") #25, !noalias !49 - br label %466 + br label %464 -466: ; preds = %464, %460, %457 - %467 = load i32, ptr @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK3$_3clEvE2id", align 4, !noalias !49 - %.not.i.i.i226 = icmp eq i32 %467, 0 - br i1 %.not.i.i.i226, label %476, label %468 +464: ; preds = %462, %458, %455 + %465 = load i32, ptr @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK3$_3clEvE2id", align 4, !noalias !49 + %.not.i.i.i226 = icmp eq i32 %465, 0 + br i1 %.not.i.i.i226, label %474, label %466 -468: ; preds = %466 - %469 = sext i32 %467 to i64 - %470 = load ptr, ptr @_ZN5Yosys5RTLIL8IdString24global_refcount_storage_E, align 8, !noalias !49 - %471 = getelementptr inbounds i32, ptr %470, i64 %469 - %472 = load i32, ptr %471, align 4, !noalias !49 - %473 = add nsw i32 %472, 1 - store i32 %473, ptr %471, align 4, !noalias !49 - br label %476 +466: ; preds = %464 + %467 = sext i32 %465 to i64 + %468 = load ptr, ptr @_ZN5Yosys5RTLIL8IdString24global_refcount_storage_E, align 8, !noalias !49 + %469 = getelementptr inbounds i32, ptr %468, i64 %467 + %470 = load i32, ptr %469, align 4, !noalias !49 + %471 = add nsw i32 %470, 1 + store i32 %471, ptr %469, align 4, !noalias !49 + br label %474 -474: ; preds = %462 - %475 = landingpad { ptr, i32 } +472: ; preds = %460 + %473 = landingpad { ptr, i32 } cleanup call void @__cxa_guard_abort(ptr nonnull @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK3$_3clEvE2id") #25, !noalias !49 br label %.body228 -476: ; preds = %468, %466 - store i32 %467, ptr %24, align 4, !alias.scope !49 - %477 = load i32, ptr %114, align 4 - %478 = load i8, ptr @_ZN5Yosys5RTLIL8IdString17destruct_guard_okE, align 1 - %479 = trunc i8 %478 to i1 - %480 = icmp ne i32 %477, 0 - %or.cond.i.i230 = and i1 %480, %479 - br i1 %or.cond.i.i230, label %481, label %_ZN5Yosys5RTLIL8IdString13put_referenceEi.exit.i - -481: ; preds = %476 - %482 = sext i32 %477 to i64 - %483 = load ptr, ptr @_ZN5Yosys5RTLIL8IdString24global_refcount_storage_E, align 8 - %484 = getelementptr inbounds i32, ptr %483, i64 %482 - %485 = load i32, ptr %484, align 4 - %486 = add nsw i32 %485, -1 - store i32 %486, ptr %484, align 4 - %487 = icmp sgt i32 %485, 1 - br i1 %487, label %_ZN5Yosys5RTLIL8IdString13put_referenceEi.exit.i, label %488 - -488: ; preds = %481 - invoke void @_ZN5Yosys5RTLIL8IdString14free_referenceEi(i32 noundef %477) - to label %_ZN5Yosys5RTLIL8IdString13put_referenceEi.exit.i unwind label %585 - -_ZN5Yosys5RTLIL8IdString13put_referenceEi.exit.i: ; preds = %488, %481, %476 - br i1 %.not.i.i.i226, label %.thread, label %489 +474: ; preds = %466, %464 + store i32 %465, ptr %24, align 4, !alias.scope !49 + %475 = load i32, ptr %114, align 4 + %476 = load i8, ptr @_ZN5Yosys5RTLIL8IdString17destruct_guard_okE, align 1 + %477 = trunc i8 %476 to i1 + %478 = icmp ne i32 %475, 0 + %or.cond.i.i230 = and i1 %478, %477 + br i1 %or.cond.i.i230, label %479, label %_ZN5Yosys5RTLIL8IdString13put_referenceEi.exit.i + +479: ; preds = %474 + %480 = sext i32 %475 to i64 + %481 = load ptr, ptr @_ZN5Yosys5RTLIL8IdString24global_refcount_storage_E, align 8 + %482 = getelementptr inbounds i32, ptr %481, i64 %480 + %483 = load i32, ptr %482, align 4 + %484 = add nsw i32 %483, -1 + store i32 %484, ptr %482, align 4 + %485 = icmp sgt i32 %483, 1 + br i1 %485, label %_ZN5Yosys5RTLIL8IdString13put_referenceEi.exit.i, label %486 + +486: ; preds = %479 + invoke void @_ZN5Yosys5RTLIL8IdString14free_referenceEi(i32 noundef %475) + to label %_ZN5Yosys5RTLIL8IdString13put_referenceEi.exit.i unwind label %583 + +_ZN5Yosys5RTLIL8IdString13put_referenceEi.exit.i: ; preds = %486, %479, %474 + br i1 %.not.i.i.i226, label %.thread, label %487 .thread: ; preds = %_ZN5Yosys5RTLIL8IdString13put_referenceEi.exit.i - store i32 %467, ptr %114, align 4 + store i32 %465, ptr %114, align 4 br label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit234 -489: ; preds = %_ZN5Yosys5RTLIL8IdString13put_referenceEi.exit.i - %490 = sext i32 %467 to i64 - %491 = load ptr, ptr @_ZN5Yosys5RTLIL8IdString24global_refcount_storage_E, align 8 - %492 = getelementptr inbounds i32, ptr %491, i64 %490 - %493 = load i32, ptr %492, align 4 - %494 = add nsw i32 %493, 1 - store i32 %494, ptr %492, align 4 - store i32 %467, ptr %114, align 4 - %495 = load i8, ptr @_ZN5Yosys5RTLIL8IdString17destruct_guard_okE, align 1 - %496 = trunc i8 %495 to i1 - br i1 %496, label %497, label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit234 - -497: ; preds = %489 - %498 = sext i32 %467 to i64 - %499 = load ptr, ptr @_ZN5Yosys5RTLIL8IdString24global_refcount_storage_E, align 8 - %500 = getelementptr inbounds i32, ptr %499, i64 %498 - %501 = load i32, ptr %500, align 4 - %502 = add nsw i32 %501, -1 - store i32 %502, ptr %500, align 4 - %503 = icmp sgt i32 %501, 1 - br i1 %503, label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit234, label %504 - -504: ; preds = %497 - invoke void @_ZN5Yosys5RTLIL8IdString14free_referenceEi(i32 noundef %467) - to label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit234 unwind label %505 - -505: ; preds = %504 - %506 = landingpad { ptr, i32 } +487: ; preds = %_ZN5Yosys5RTLIL8IdString13put_referenceEi.exit.i + %488 = sext i32 %465 to i64 + %489 = load ptr, ptr @_ZN5Yosys5RTLIL8IdString24global_refcount_storage_E, align 8 + %490 = getelementptr inbounds i32, ptr %489, i64 %488 + %491 = load i32, ptr %490, align 4 + %492 = add nsw i32 %491, 1 + store i32 %492, ptr %490, align 4 + store i32 %465, ptr %114, align 4 + %493 = load i8, ptr @_ZN5Yosys5RTLIL8IdString17destruct_guard_okE, align 1 + %494 = trunc i8 %493 to i1 + br i1 %494, label %495, label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit234 + +495: ; preds = %487 + %496 = sext i32 %465 to i64 + %497 = load ptr, ptr @_ZN5Yosys5RTLIL8IdString24global_refcount_storage_E, align 8 + %498 = getelementptr inbounds i32, ptr %497, i64 %496 + %499 = load i32, ptr %498, align 4 + %500 = add nsw i32 %499, -1 + store i32 %500, ptr %498, align 4 + %501 = icmp sgt i32 %499, 1 + br i1 %501, label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit234, label %502 + +502: ; preds = %495 + invoke void @_ZN5Yosys5RTLIL8IdString14free_referenceEi(i32 noundef %465) + to label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit234 unwind label %503 + +503: ; preds = %502 + %504 = landingpad { ptr, i32 } catch ptr null - %507 = extractvalue { ptr, i32 } %506, 0 - call void @__clang_call_terminate(ptr %507) #28 + %505 = extractvalue { ptr, i32 } %504, 0 + call void @__clang_call_terminate(ptr %505) #28 unreachable -_ZN5Yosys5RTLIL8IdStringD2Ev.exit234: ; preds = %.thread, %489, %497, %504 - %508 = getelementptr inbounds nuw i8, ptr %18, i64 16 - %509 = load i8, ptr %508, align 8 - %510 = trunc i8 %509 to i1 - br i1 %510, label %511, label %638 +_ZN5Yosys5RTLIL8IdStringD2Ev.exit234: ; preds = %.thread, %487, %495, %502 + %506 = getelementptr inbounds nuw i8, ptr %18, i64 16 + %507 = load i8, ptr %506, align 8 + %508 = trunc i8 %507 to i1 + br i1 %508, label %509, label %636 -511: ; preds = %_ZN5Yosys5RTLIL8IdStringD2Ev.exit234 +509: ; preds = %_ZN5Yosys5RTLIL8IdStringD2Ev.exit234 call void @llvm.experimental.noalias.scope.decl(metadata !52) - %512 = load atomic i8, ptr @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK3$_4clEvE2id" acquire, align 8, !noalias !52 - %513 = icmp eq i8 %512, 0 - br i1 %513, label %514, label %520, !prof !12 + %510 = load atomic i8, ptr @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK3$_4clEvE2id" acquire, align 8, !noalias !52 + %511 = icmp eq i8 %510, 0 + br i1 %511, label %512, label %518, !prof !12 -514: ; preds = %511 - %515 = call i32 @__cxa_guard_acquire(ptr nonnull @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK3$_4clEvE2id") #25, !noalias !52 - %.not.i236 = icmp eq i32 %515, 0 - br i1 %.not.i236, label %520, label %516 +512: ; preds = %509 + %513 = call i32 @__cxa_guard_acquire(ptr nonnull @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK3$_4clEvE2id") #25, !noalias !52 + %.not.i236 = icmp eq i32 %513, 0 + br i1 %.not.i236, label %518, label %514 -516: ; preds = %514 - %517 = invoke noundef i32 @_ZN5Yosys5RTLIL8IdString13get_referenceEPKc(ptr noundef nonnull @.str.101) - to label %518 unwind label %528, !noalias !52 +514: ; preds = %512 + %515 = invoke noundef i32 @_ZN5Yosys5RTLIL8IdString13get_referenceEPKc(ptr noundef nonnull @.str.101) + to label %516 unwind label %526, !noalias !52 -518: ; preds = %516 - store i32 %517, ptr @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK3$_4clEvE2id", align 4, !noalias !52 - %519 = call i32 @__cxa_atexit(ptr nonnull @_ZN5Yosys5RTLIL8IdStringD2Ev, ptr nonnull @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK3$_4clEvE2id", ptr nonnull @__dso_handle) #25, !noalias !52 +516: ; preds = %514 + store i32 %515, ptr @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK3$_4clEvE2id", align 4, !noalias !52 + %517 = call i32 @__cxa_atexit(ptr nonnull @_ZN5Yosys5RTLIL8IdStringD2Ev, ptr nonnull @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK3$_4clEvE2id", ptr nonnull @__dso_handle) #25, !noalias !52 call void @__cxa_guard_release(ptr nonnull @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK3$_4clEvE2id") #25, !noalias !52 - br label %520 + br label %518 -520: ; preds = %518, %514, %511 - %521 = load i32, ptr @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK3$_4clEvE2id", align 4, !noalias !52 - %.not.i.i.i235 = icmp eq i32 %521, 0 - br i1 %.not.i.i.i235, label %530, label %522 +518: ; preds = %516, %512, %509 + %519 = load i32, ptr @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK3$_4clEvE2id", align 4, !noalias !52 + %.not.i.i.i235 = icmp eq i32 %519, 0 + br i1 %.not.i.i.i235, label %528, label %520 -522: ; preds = %520 - %523 = sext i32 %521 to i64 - %524 = load ptr, ptr @_ZN5Yosys5RTLIL8IdString24global_refcount_storage_E, align 8, !noalias !52 - %525 = getelementptr inbounds i32, ptr %524, i64 %523 - %526 = load i32, ptr %525, align 4, !noalias !52 - %527 = add nsw i32 %526, 1 - store i32 %527, ptr %525, align 4, !noalias !52 - br label %530 +520: ; preds = %518 + %521 = sext i32 %519 to i64 + %522 = load ptr, ptr @_ZN5Yosys5RTLIL8IdString24global_refcount_storage_E, align 8, !noalias !52 + %523 = getelementptr inbounds i32, ptr %522, i64 %521 + %524 = load i32, ptr %523, align 4, !noalias !52 + %525 = add nsw i32 %524, 1 + store i32 %525, ptr %523, align 4, !noalias !52 + br label %528 -528: ; preds = %516 - %529 = landingpad { ptr, i32 } +526: ; preds = %514 + %527 = landingpad { ptr, i32 } cleanup call void @__cxa_guard_abort(ptr nonnull @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK3$_4clEvE2id") #25, !noalias !52 br label %.body228 -530: ; preds = %522, %520 - store i32 %521, ptr %25, align 4, !alias.scope !52 +528: ; preds = %520, %518 + store i32 %519, ptr %25, align 4, !alias.scope !52 call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %28) #25 invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %27, ptr noundef nonnull @.str.78, ptr noundef nonnull align 1 dereferenceable(1) %28) - to label %531 unwind label %587 + to label %529 unwind label %585 -531: ; preds = %530 +529: ; preds = %528 invoke void @_ZN5Yosys5RTLIL5ConstC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(32) %26, ptr noundef nonnull align 8 dereferenceable(32) %27) - to label %532 unwind label %589 + to label %530 unwind label %587 -532: ; preds = %531 +530: ; preds = %529 invoke void @_ZN5Yosys5RTLIL4Cell8setParamERKNS0_8IdStringENS0_5ConstE(ptr noundef nonnull align 8 dereferenceable(192) %1, ptr noundef nonnull align 4 dereferenceable(4) %25, ptr noundef nonnull %26) - to label %533 unwind label %591 + to label %531 unwind label %589 -533: ; preds = %532 - %534 = getelementptr inbounds nuw i8, ptr %26, i64 8 - %535 = load ptr, ptr %534, align 8 - %.not.i.i.i.i239 = icmp eq ptr %535, null - br i1 %.not.i.i.i.i239, label %_ZN5Yosys5RTLIL5ConstD2Ev.exit, label %536 +531: ; preds = %530 + %532 = getelementptr inbounds nuw i8, ptr %26, i64 8 + %533 = load ptr, ptr %532, align 8 + %.not.i.i.i.i239 = icmp eq ptr %533, null + br i1 %.not.i.i.i.i239, label %_ZN5Yosys5RTLIL5ConstD2Ev.exit, label %534 -536: ; preds = %533 - call void @_ZdlPv(ptr noundef nonnull %535) #26 +534: ; preds = %531 + call void @_ZdlPv(ptr noundef nonnull %533) #26 br label %_ZN5Yosys5RTLIL5ConstD2Ev.exit -_ZN5Yosys5RTLIL5ConstD2Ev.exit: ; preds = %533, %536 +_ZN5Yosys5RTLIL5ConstD2Ev.exit: ; preds = %531, %534 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #25 call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %28) #25 - %537 = load i32, ptr %25, align 4 - %538 = load i8, ptr @_ZN5Yosys5RTLIL8IdString17destruct_guard_okE, align 1 - %539 = trunc i8 %538 to i1 - %540 = icmp ne i32 %537, 0 - %or.cond.i.i240 = and i1 %540, %539 - br i1 %or.cond.i.i240, label %541, label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit242 - -541: ; preds = %_ZN5Yosys5RTLIL5ConstD2Ev.exit - %542 = sext i32 %537 to i64 - %543 = load ptr, ptr @_ZN5Yosys5RTLIL8IdString24global_refcount_storage_E, align 8 - %544 = getelementptr inbounds i32, ptr %543, i64 %542 - %545 = load i32, ptr %544, align 4 - %546 = add nsw i32 %545, -1 - store i32 %546, ptr %544, align 4 - %547 = icmp sgt i32 %545, 1 - br i1 %547, label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit242, label %548 - -548: ; preds = %541 - invoke void @_ZN5Yosys5RTLIL8IdString14free_referenceEi(i32 noundef %537) - to label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit242 unwind label %549 - -549: ; preds = %548 - %550 = landingpad { ptr, i32 } + %535 = load i32, ptr %25, align 4 + %536 = load i8, ptr @_ZN5Yosys5RTLIL8IdString17destruct_guard_okE, align 1 + %537 = trunc i8 %536 to i1 + %538 = icmp ne i32 %535, 0 + %or.cond.i.i240 = and i1 %538, %537 + br i1 %or.cond.i.i240, label %539, label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit242 + +539: ; preds = %_ZN5Yosys5RTLIL5ConstD2Ev.exit + %540 = sext i32 %535 to i64 + %541 = load ptr, ptr @_ZN5Yosys5RTLIL8IdString24global_refcount_storage_E, align 8 + %542 = getelementptr inbounds i32, ptr %541, i64 %540 + %543 = load i32, ptr %542, align 4 + %544 = add nsw i32 %543, -1 + store i32 %544, ptr %542, align 4 + %545 = icmp sgt i32 %543, 1 + br i1 %545, label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit242, label %546 + +546: ; preds = %539 + invoke void @_ZN5Yosys5RTLIL8IdString14free_referenceEi(i32 noundef %535) + to label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit242 unwind label %547 + +547: ; preds = %546 + %548 = landingpad { ptr, i32 } catch ptr null - %551 = extractvalue { ptr, i32 } %550, 0 - call void @__clang_call_terminate(ptr %551) #28 + %549 = extractvalue { ptr, i32 } %548, 0 + call void @__clang_call_terminate(ptr %549) #28 unreachable -_ZN5Yosys5RTLIL8IdStringD2Ev.exit242: ; preds = %_ZN5Yosys5RTLIL5ConstD2Ev.exit, %541, %548 - %552 = getelementptr inbounds nuw i8, ptr %18, i64 88 - %553 = load i8, ptr %552, align 8 - %554 = trunc i8 %553 to i1 - br i1 %554, label %555, label %630 +_ZN5Yosys5RTLIL8IdStringD2Ev.exit242: ; preds = %_ZN5Yosys5RTLIL5ConstD2Ev.exit, %539, %546 + %550 = getelementptr inbounds nuw i8, ptr %18, i64 88 + %551 = load i8, ptr %550, align 8 + %552 = trunc i8 %551 to i1 + br i1 %552, label %553, label %628 -555: ; preds = %_ZN5Yosys5RTLIL8IdStringD2Ev.exit242 - %556 = getelementptr inbounds nuw i8, ptr %1, i64 64 - %557 = load ptr, ptr %556, align 8 +553: ; preds = %_ZN5Yosys5RTLIL8IdStringD2Ev.exit242 + %554 = getelementptr inbounds nuw i8, ptr %1, i64 64 + %555 = load ptr, ptr %554, align 8 call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %31) #25 invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %30, ptr noundef nonnull @.str.79, ptr noundef nonnull align 1 dereferenceable(1) %31) - to label %558 unwind label %597 + to label %556 unwind label %595 -558: ; preds = %555 +556: ; preds = %553 call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %33) #25 invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %32, ptr noundef nonnull @__FUNCTION__._ZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsE, ptr noundef nonnull align 1 dereferenceable(1) %33) - to label %559 unwind label %599 + to label %557 unwind label %597 -559: ; preds = %558 +557: ; preds = %556 invoke void @_ZN5Yosys6new_idENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiS5_(ptr dead_on_unwind nonnull writable sret(%"struct.Yosys::RTLIL::IdString") align 4 %29, ptr noundef nonnull %30, i32 noundef 642, ptr noundef nonnull %32) - to label %560 unwind label %601 + to label %558 unwind label %599 -560: ; preds = %559 - %561 = invoke noundef ptr @_ZN5Yosys5RTLIL6Module7addWireENS0_8IdStringEi(ptr noundef nonnull align 8 dereferenceable(560) %557, ptr noundef nonnull %29, i32 noundef 1) - to label %562 unwind label %603 +558: ; preds = %557 + %559 = invoke noundef ptr @_ZN5Yosys5RTLIL6Module7addWireENS0_8IdStringEi(ptr noundef nonnull align 8 dereferenceable(560) %555, ptr noundef nonnull %29, i32 noundef 1) + to label %560 unwind label %601 -562: ; preds = %560 +560: ; preds = %558 call void @_ZN5Yosys5RTLIL8IdStringD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %29) #25 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #25 call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %33) #25 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #25 call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %31) #25 - %563 = load ptr, ptr %556, align 8 + %561 = load ptr, ptr %554, align 8 call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %36) #25 invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %35, ptr noundef nonnull @.str.79, ptr noundef nonnull align 1 dereferenceable(1) %36) - to label %564 unwind label %608 + to label %562 unwind label %606 -564: ; preds = %562 +562: ; preds = %560 call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %38) #25 invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %37, ptr noundef nonnull @__FUNCTION__._ZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsE, ptr noundef nonnull align 1 dereferenceable(1) %38) - to label %565 unwind label %610 + to label %563 unwind label %608 -565: ; preds = %564 +563: ; preds = %562 invoke void @_ZN5Yosys6new_idENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiS5_(ptr dead_on_unwind nonnull writable sret(%"struct.Yosys::RTLIL::IdString") align 4 %34, ptr noundef nonnull %35, i32 noundef 643, ptr noundef nonnull %37) - to label %566 unwind label %612 + to label %564 unwind label %610 -566: ; preds = %565 - invoke void @_ZN5Yosys5RTLIL7SigSpecC1EPNS0_4WireE(ptr noundef nonnull align 8 dereferenceable(64) %39, ptr noundef %561) - to label %567 unwind label %614 +564: ; preds = %563 + invoke void @_ZN5Yosys5RTLIL7SigSpecC1EPNS0_4WireE(ptr noundef nonnull align 8 dereferenceable(64) %39, ptr noundef %559) + to label %565 unwind label %612 -567: ; preds = %566 +565: ; preds = %564 call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %41) #25 invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %40, ptr noundef nonnull @.str.22, ptr noundef nonnull align 1 dereferenceable(1) %41) - to label %568 unwind label %616 + to label %566 unwind label %614 -568: ; preds = %567 - %569 = invoke noundef ptr @_ZN5Yosys5RTLIL6Module6addNotENS0_8IdStringERKNS0_7SigSpecES5_bRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(560) %563, ptr noundef nonnull %34, ptr noundef nonnull align 8 dereferenceable(64) %385, ptr noundef nonnull align 8 dereferenceable(64) %39, i1 noundef zeroext false, ptr noundef nonnull align 8 dereferenceable(32) %40) - to label %570 unwind label %618 +566: ; preds = %565 + %567 = invoke noundef ptr @_ZN5Yosys5RTLIL6Module6addNotENS0_8IdStringERKNS0_7SigSpecES5_bRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(560) %561, ptr noundef nonnull %34, ptr noundef nonnull align 8 dereferenceable(64) %383, ptr noundef nonnull align 8 dereferenceable(64) %39, i1 noundef zeroext false, ptr noundef nonnull align 8 dereferenceable(32) %40) + to label %568 unwind label %616 -570: ; preds = %568 +568: ; preds = %566 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %40) #25 call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %41) #25 call void @_ZN5Yosys5RTLIL7SigSpecD2Ev(ptr noundef nonnull align 8 dereferenceable(64) %39) #25 @@ -3639,961 +3634,961 @@ _ZN5Yosys5RTLIL8IdStringD2Ev.exit242: ; preds = %_ZN5Yosys5RTLIL5Con call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #25 call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %36) #25 invoke fastcc void @"_ZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK3$_5clEv"(ptr dead_on_unwind noalias writable align 4 %42) - to label %571 unwind label %583 + to label %569 unwind label %581 -571: ; preds = %570 - invoke void @_ZN5Yosys5RTLIL7SigSpecC1EPNS0_4WireE(ptr noundef nonnull align 8 dereferenceable(64) %43, ptr noundef %561) - to label %572 unwind label %625 +569: ; preds = %568 + invoke void @_ZN5Yosys5RTLIL7SigSpecC1EPNS0_4WireE(ptr noundef nonnull align 8 dereferenceable(64) %43, ptr noundef %559) + to label %570 unwind label %623 -572: ; preds = %571 +570: ; preds = %569 invoke void @_ZN5Yosys5RTLIL4Cell7setPortERKNS0_8IdStringENS0_7SigSpecE(ptr noundef nonnull align 8 dereferenceable(192) %1, ptr noundef nonnull align 4 dereferenceable(4) %42, ptr noundef nonnull %43) - to label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit273.sink.split unwind label %627 + to label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit273.sink.split unwind label %625 -573: ; preds = %405 - %574 = landingpad { ptr, i32 } +571: ; preds = %403 + %572 = landingpad { ptr, i32 } cleanup - br label %582 + br label %580 -575: ; preds = %418 - %576 = landingpad { ptr, i32 } +573: ; preds = %416 + %574 = landingpad { ptr, i32 } cleanup br label %.body220 -577: ; preds = %423 - %578 = landingpad { ptr, i32 } +575: ; preds = %421 + %576 = landingpad { ptr, i32 } cleanup - br label %581 + br label %579 -579: ; preds = %428, %426 - %580 = landingpad { ptr, i32 } +577: ; preds = %426, %424 + %578 = landingpad { ptr, i32 } cleanup call void @_ZN5Yosys5RTLIL8IdStringD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %22) #25 - br label %581 + br label %579 -581: ; preds = %579, %577 - %.pn = phi { ptr, i32 } [ %580, %579 ], [ %578, %577 ] +579: ; preds = %577, %575 + %.pn = phi { ptr, i32 } [ %578, %577 ], [ %576, %575 ] call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #25 br label %.body220 -.body220: ; preds = %575, %421, %581 - %.pn.pn = phi { ptr, i32 } [ %.pn, %581 ], [ %576, %575 ], [ %422, %421 ] +.body220: ; preds = %573, %419, %579 + %.pn.pn = phi { ptr, i32 } [ %.pn, %579 ], [ %574, %573 ], [ %420, %419 ] call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #25 - br label %582 + br label %580 -582: ; preds = %.body220, %573 - %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %.body220 ], [ %574, %573 ] +580: ; preds = %.body220, %571 + %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %.body220 ], [ %572, %571 ] call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %21) #25 - br label %1656 + br label %1654 -583: ; preds = %979, %917, %630, %570, %1580, %1578, %_ZN5Yosys5RTLIL8IdStringD2Ev.exit495, %_ZN5Yosys5RTLIL5ConstD2Ev.exit286, %_ZN5Yosys5RTLIL8IdStringD2Ev.exit284, %456, %455, %454, %453, %452, %451, %450, %449, %448, %447, %446, %_ZN5Yosys5RTLIL8IdStringD2Ev.exit225 - %584 = landingpad { ptr, i32 } +581: ; preds = %977, %915, %628, %568, %1578, %1576, %_ZN5Yosys5RTLIL8IdStringD2Ev.exit495, %_ZN5Yosys5RTLIL5ConstD2Ev.exit286, %_ZN5Yosys5RTLIL8IdStringD2Ev.exit284, %454, %453, %452, %451, %450, %449, %448, %447, %446, %445, %444, %_ZN5Yosys5RTLIL8IdStringD2Ev.exit225 + %582 = landingpad { ptr, i32 } cleanup br label %.body228 -585: ; preds = %488 - %586 = landingpad { ptr, i32 } +583: ; preds = %486 + %584 = landingpad { ptr, i32 } cleanup call void @_ZN5Yosys5RTLIL8IdStringD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %24) #25 br label %.body228 -587: ; preds = %530 - %588 = landingpad { ptr, i32 } +585: ; preds = %528 + %586 = landingpad { ptr, i32 } cleanup - br label %596 + br label %594 -589: ; preds = %531 - %590 = landingpad { ptr, i32 } +587: ; preds = %529 + %588 = landingpad { ptr, i32 } cleanup br label %_ZN5Yosys5RTLIL5ConstD2Ev.exit244 -591: ; preds = %532 - %592 = landingpad { ptr, i32 } +589: ; preds = %530 + %590 = landingpad { ptr, i32 } cleanup - %593 = getelementptr inbounds nuw i8, ptr %26, i64 8 - %594 = load ptr, ptr %593, align 8 - %.not.i.i.i.i243 = icmp eq ptr %594, null - br i1 %.not.i.i.i.i243, label %_ZN5Yosys5RTLIL5ConstD2Ev.exit244, label %595 + %591 = getelementptr inbounds nuw i8, ptr %26, i64 8 + %592 = load ptr, ptr %591, align 8 + %.not.i.i.i.i243 = icmp eq ptr %592, null + br i1 %.not.i.i.i.i243, label %_ZN5Yosys5RTLIL5ConstD2Ev.exit244, label %593 -595: ; preds = %591 - call void @_ZdlPv(ptr noundef nonnull %594) #26 +593: ; preds = %589 + call void @_ZdlPv(ptr noundef nonnull %592) #26 br label %_ZN5Yosys5RTLIL5ConstD2Ev.exit244 -_ZN5Yosys5RTLIL5ConstD2Ev.exit244: ; preds = %595, %591, %589 - %.pn97 = phi { ptr, i32 } [ %590, %589 ], [ %592, %591 ], [ %592, %595 ] +_ZN5Yosys5RTLIL5ConstD2Ev.exit244: ; preds = %593, %589, %587 + %.pn97 = phi { ptr, i32 } [ %588, %587 ], [ %590, %589 ], [ %590, %593 ] call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #25 - br label %596 + br label %594 -596: ; preds = %_ZN5Yosys5RTLIL5ConstD2Ev.exit244, %587 - %.pn97.pn = phi { ptr, i32 } [ %.pn97, %_ZN5Yosys5RTLIL5ConstD2Ev.exit244 ], [ %588, %587 ] +594: ; preds = %_ZN5Yosys5RTLIL5ConstD2Ev.exit244, %585 + %.pn97.pn = phi { ptr, i32 } [ %.pn97, %_ZN5Yosys5RTLIL5ConstD2Ev.exit244 ], [ %586, %585 ] call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %28) #25 call void @_ZN5Yosys5RTLIL8IdStringD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %25) #25 br label %.body228 -597: ; preds = %555 +595: ; preds = %553 + %596 = landingpad { ptr, i32 } + cleanup + br label %605 + +597: ; preds = %556 %598 = landingpad { ptr, i32 } cleanup - br label %607 + br label %604 -599: ; preds = %558 +599: ; preds = %557 %600 = landingpad { ptr, i32 } cleanup - br label %606 + br label %603 -601: ; preds = %559 +601: ; preds = %558 %602 = landingpad { ptr, i32 } cleanup - br label %605 - -603: ; preds = %560 - %604 = landingpad { ptr, i32 } - cleanup call void @_ZN5Yosys5RTLIL8IdStringD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %29) #25 - br label %605 + br label %603 -605: ; preds = %603, %601 - %.pn102 = phi { ptr, i32 } [ %604, %603 ], [ %602, %601 ] +603: ; preds = %601, %599 + %.pn102 = phi { ptr, i32 } [ %602, %601 ], [ %600, %599 ] call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #25 - br label %606 + br label %604 -606: ; preds = %605, %599 - %.pn102.pn = phi { ptr, i32 } [ %.pn102, %605 ], [ %600, %599 ] +604: ; preds = %603, %597 + %.pn102.pn = phi { ptr, i32 } [ %.pn102, %603 ], [ %598, %597 ] call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %33) #25 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #25 - br label %607 + br label %605 -607: ; preds = %606, %597 - %.pn102.pn.pn = phi { ptr, i32 } [ %.pn102.pn, %606 ], [ %598, %597 ] +605: ; preds = %604, %595 + %.pn102.pn.pn = phi { ptr, i32 } [ %.pn102.pn, %604 ], [ %596, %595 ] call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %31) #25 br label %.body228 +606: ; preds = %560 + %607 = landingpad { ptr, i32 } + cleanup + br label %622 + 608: ; preds = %562 %609 = landingpad { ptr, i32 } cleanup - br label %624 + br label %621 -610: ; preds = %564 +610: ; preds = %563 %611 = landingpad { ptr, i32 } cleanup - br label %623 + br label %620 -612: ; preds = %565 +612: ; preds = %564 %613 = landingpad { ptr, i32 } cleanup - br label %622 + br label %619 -614: ; preds = %566 +614: ; preds = %565 %615 = landingpad { ptr, i32 } cleanup - br label %621 + br label %618 -616: ; preds = %567 +616: ; preds = %566 %617 = landingpad { ptr, i32 } cleanup - br label %620 - -618: ; preds = %568 - %619 = landingpad { ptr, i32 } - cleanup call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %40) #25 - br label %620 + br label %618 -620: ; preds = %618, %616 - %.pn106 = phi { ptr, i32 } [ %619, %618 ], [ %617, %616 ] +618: ; preds = %616, %614 + %.pn106 = phi { ptr, i32 } [ %617, %616 ], [ %615, %614 ] call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %41) #25 call void @_ZN5Yosys5RTLIL7SigSpecD2Ev(ptr noundef nonnull align 8 dereferenceable(64) %39) #25 - br label %621 + br label %619 -621: ; preds = %620, %614 - %.pn106.pn = phi { ptr, i32 } [ %.pn106, %620 ], [ %615, %614 ] +619: ; preds = %618, %612 + %.pn106.pn = phi { ptr, i32 } [ %.pn106, %618 ], [ %613, %612 ] call void @_ZN5Yosys5RTLIL8IdStringD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %34) #25 - br label %622 + br label %620 -622: ; preds = %621, %612 - %.pn106.pn.pn = phi { ptr, i32 } [ %.pn106.pn, %621 ], [ %613, %612 ] +620: ; preds = %619, %610 + %.pn106.pn.pn = phi { ptr, i32 } [ %.pn106.pn, %619 ], [ %611, %610 ] call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #25 - br label %623 + br label %621 -623: ; preds = %622, %610 - %.pn106.pn.pn.pn = phi { ptr, i32 } [ %.pn106.pn.pn, %622 ], [ %611, %610 ] +621: ; preds = %620, %608 + %.pn106.pn.pn.pn = phi { ptr, i32 } [ %.pn106.pn.pn, %620 ], [ %609, %608 ] call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %38) #25 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #25 - br label %624 + br label %622 -624: ; preds = %623, %608 - %.pn106.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn106.pn.pn.pn, %623 ], [ %609, %608 ] +622: ; preds = %621, %606 + %.pn106.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn106.pn.pn.pn, %621 ], [ %607, %606 ] call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %36) #25 br label %.body228 -625: ; preds = %571 - %626 = landingpad { ptr, i32 } +623: ; preds = %569 + %624 = landingpad { ptr, i32 } cleanup - br label %629 + br label %627 -627: ; preds = %572 - %628 = landingpad { ptr, i32 } +625: ; preds = %570 + %626 = landingpad { ptr, i32 } cleanup call void @_ZN5Yosys5RTLIL7SigSpecD2Ev(ptr noundef nonnull align 8 dereferenceable(64) %43) #25 - br label %629 + br label %627 -629: ; preds = %627, %625 - %.pn112 = phi { ptr, i32 } [ %628, %627 ], [ %626, %625 ] +627: ; preds = %625, %623 + %.pn112 = phi { ptr, i32 } [ %626, %625 ], [ %624, %623 ] call void @_ZN5Yosys5RTLIL8IdStringD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %42) #25 br label %.body228 -630: ; preds = %_ZN5Yosys5RTLIL8IdStringD2Ev.exit242 +628: ; preds = %_ZN5Yosys5RTLIL8IdStringD2Ev.exit242 invoke fastcc void @"_ZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK3$_6clEv"(ptr dead_on_unwind noalias writable align 4 %44) - to label %631 unwind label %583 + to label %629 unwind label %581 -631: ; preds = %630 - invoke void @_ZN5Yosys5RTLIL7SigSpecC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(64) %45, ptr noundef nonnull align 8 dereferenceable(64) %385) - to label %632 unwind label %633 +629: ; preds = %628 + invoke void @_ZN5Yosys5RTLIL7SigSpecC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(64) %45, ptr noundef nonnull align 8 dereferenceable(64) %383) + to label %630 unwind label %631 -632: ; preds = %631 +630: ; preds = %629 invoke void @_ZN5Yosys5RTLIL4Cell7setPortERKNS0_8IdStringENS0_7SigSpecE(ptr noundef nonnull align 8 dereferenceable(192) %1, ptr noundef nonnull align 4 dereferenceable(4) %44, ptr noundef nonnull %45) - to label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit273.sink.split unwind label %635 + to label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit273.sink.split unwind label %633 -633: ; preds = %631 - %634 = landingpad { ptr, i32 } +631: ; preds = %629 + %632 = landingpad { ptr, i32 } cleanup - br label %637 + br label %635 -635: ; preds = %632 - %636 = landingpad { ptr, i32 } +633: ; preds = %630 + %634 = landingpad { ptr, i32 } cleanup call void @_ZN5Yosys5RTLIL7SigSpecD2Ev(ptr noundef nonnull align 8 dereferenceable(64) %45) #25 - br label %637 + br label %635 -637: ; preds = %635, %633 - %.pn100 = phi { ptr, i32 } [ %636, %635 ], [ %634, %633 ] +635: ; preds = %633, %631 + %.pn100 = phi { ptr, i32 } [ %634, %633 ], [ %632, %631 ] call void @_ZN5Yosys5RTLIL8IdStringD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %44) #25 br label %.body228 -638: ; preds = %_ZN5Yosys5RTLIL8IdStringD2Ev.exit234 +636: ; preds = %_ZN5Yosys5RTLIL8IdStringD2Ev.exit234 call void @llvm.experimental.noalias.scope.decl(metadata !55) - %639 = load atomic i8, ptr @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK3$_7clEvE2id" acquire, align 8, !noalias !55 - %640 = icmp eq i8 %639, 0 - br i1 %640, label %641, label %647, !prof !12 + %637 = load atomic i8, ptr @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK3$_7clEvE2id" acquire, align 8, !noalias !55 + %638 = icmp eq i8 %637, 0 + br i1 %638, label %639, label %645, !prof !12 -641: ; preds = %638 - %642 = call i32 @__cxa_guard_acquire(ptr nonnull @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK3$_7clEvE2id") #25, !noalias !55 - %.not.i246 = icmp eq i32 %642, 0 - br i1 %.not.i246, label %647, label %643 +639: ; preds = %636 + %640 = call i32 @__cxa_guard_acquire(ptr nonnull @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK3$_7clEvE2id") #25, !noalias !55 + %.not.i246 = icmp eq i32 %640, 0 + br i1 %.not.i246, label %645, label %641 -643: ; preds = %641 - %644 = invoke noundef i32 @_ZN5Yosys5RTLIL8IdString13get_referenceEPKc(ptr noundef nonnull @.str.101) - to label %645 unwind label %655, !noalias !55 +641: ; preds = %639 + %642 = invoke noundef i32 @_ZN5Yosys5RTLIL8IdString13get_referenceEPKc(ptr noundef nonnull @.str.101) + to label %643 unwind label %653, !noalias !55 -645: ; preds = %643 - store i32 %644, ptr @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK3$_7clEvE2id", align 4, !noalias !55 - %646 = call i32 @__cxa_atexit(ptr nonnull @_ZN5Yosys5RTLIL8IdStringD2Ev, ptr nonnull @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK3$_7clEvE2id", ptr nonnull @__dso_handle) #25, !noalias !55 +643: ; preds = %641 + store i32 %642, ptr @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK3$_7clEvE2id", align 4, !noalias !55 + %644 = call i32 @__cxa_atexit(ptr nonnull @_ZN5Yosys5RTLIL8IdStringD2Ev, ptr nonnull @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK3$_7clEvE2id", ptr nonnull @__dso_handle) #25, !noalias !55 call void @__cxa_guard_release(ptr nonnull @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK3$_7clEvE2id") #25, !noalias !55 - br label %647 - -647: ; preds = %645, %641, %638 - %648 = load i32, ptr @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK3$_7clEvE2id", align 4, !noalias !55 - %.not.i.i.i245 = icmp eq i32 %648, 0 - br i1 %.not.i.i.i245, label %657, label %649 - -649: ; preds = %647 - %650 = sext i32 %648 to i64 - %651 = load ptr, ptr @_ZN5Yosys5RTLIL8IdString24global_refcount_storage_E, align 8, !noalias !55 - %652 = getelementptr inbounds i32, ptr %651, i64 %650 - %653 = load i32, ptr %652, align 4, !noalias !55 - %654 = add nsw i32 %653, 1 - store i32 %654, ptr %652, align 4, !noalias !55 - br label %657 + br label %645 + +645: ; preds = %643, %639, %636 + %646 = load i32, ptr @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK3$_7clEvE2id", align 4, !noalias !55 + %.not.i.i.i245 = icmp eq i32 %646, 0 + br i1 %.not.i.i.i245, label %655, label %647 + +647: ; preds = %645 + %648 = sext i32 %646 to i64 + %649 = load ptr, ptr @_ZN5Yosys5RTLIL8IdString24global_refcount_storage_E, align 8, !noalias !55 + %650 = getelementptr inbounds i32, ptr %649, i64 %648 + %651 = load i32, ptr %650, align 4, !noalias !55 + %652 = add nsw i32 %651, 1 + store i32 %652, ptr %650, align 4, !noalias !55 + br label %655 -655: ; preds = %643 - %656 = landingpad { ptr, i32 } +653: ; preds = %641 + %654 = landingpad { ptr, i32 } cleanup call void @__cxa_guard_abort(ptr nonnull @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK3$_7clEvE2id") #25, !noalias !55 br label %.body228 -657: ; preds = %649, %647 - store i32 %648, ptr %46, align 4, !alias.scope !55 +655: ; preds = %647, %645 + store i32 %646, ptr %46, align 4, !alias.scope !55 call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %49) #25 invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %48, ptr noundef nonnull @.str.80, ptr noundef nonnull align 1 dereferenceable(1) %49) - to label %658 unwind label %728 + to label %656 unwind label %726 -658: ; preds = %657 +656: ; preds = %655 invoke void @_ZN5Yosys5RTLIL5ConstC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(32) %47, ptr noundef nonnull align 8 dereferenceable(32) %48) - to label %659 unwind label %730 + to label %657 unwind label %728 -659: ; preds = %658 +657: ; preds = %656 invoke void @_ZN5Yosys5RTLIL4Cell8setParamERKNS0_8IdStringENS0_5ConstE(ptr noundef nonnull align 8 dereferenceable(192) %1, ptr noundef nonnull align 4 dereferenceable(4) %46, ptr noundef nonnull %47) - to label %660 unwind label %732 + to label %658 unwind label %730 -660: ; preds = %659 - %661 = getelementptr inbounds nuw i8, ptr %47, i64 8 - %662 = load ptr, ptr %661, align 8 - %.not.i.i.i.i249 = icmp eq ptr %662, null - br i1 %.not.i.i.i.i249, label %_ZN5Yosys5RTLIL5ConstD2Ev.exit250, label %663 +658: ; preds = %657 + %659 = getelementptr inbounds nuw i8, ptr %47, i64 8 + %660 = load ptr, ptr %659, align 8 + %.not.i.i.i.i249 = icmp eq ptr %660, null + br i1 %.not.i.i.i.i249, label %_ZN5Yosys5RTLIL5ConstD2Ev.exit250, label %661 -663: ; preds = %660 - call void @_ZdlPv(ptr noundef nonnull %662) #26 +661: ; preds = %658 + call void @_ZdlPv(ptr noundef nonnull %660) #26 br label %_ZN5Yosys5RTLIL5ConstD2Ev.exit250 -_ZN5Yosys5RTLIL5ConstD2Ev.exit250: ; preds = %660, %663 +_ZN5Yosys5RTLIL5ConstD2Ev.exit250: ; preds = %658, %661 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %48) #25 call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %49) #25 - %664 = load i32, ptr %46, align 4 - %665 = load i8, ptr @_ZN5Yosys5RTLIL8IdString17destruct_guard_okE, align 1 - %666 = trunc i8 %665 to i1 - %667 = icmp ne i32 %664, 0 - %or.cond.i.i251 = and i1 %667, %666 - br i1 %or.cond.i.i251, label %668, label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit253 - -668: ; preds = %_ZN5Yosys5RTLIL5ConstD2Ev.exit250 - %669 = sext i32 %664 to i64 - %670 = load ptr, ptr @_ZN5Yosys5RTLIL8IdString24global_refcount_storage_E, align 8 - %671 = getelementptr inbounds i32, ptr %670, i64 %669 - %672 = load i32, ptr %671, align 4 - %673 = add nsw i32 %672, -1 - store i32 %673, ptr %671, align 4 - %674 = icmp sgt i32 %672, 1 - br i1 %674, label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit253, label %675 - -675: ; preds = %668 - invoke void @_ZN5Yosys5RTLIL8IdString14free_referenceEi(i32 noundef %664) - to label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit253 unwind label %676 - -676: ; preds = %675 - %677 = landingpad { ptr, i32 } + %662 = load i32, ptr %46, align 4 + %663 = load i8, ptr @_ZN5Yosys5RTLIL8IdString17destruct_guard_okE, align 1 + %664 = trunc i8 %663 to i1 + %665 = icmp ne i32 %662, 0 + %or.cond.i.i251 = and i1 %665, %664 + br i1 %or.cond.i.i251, label %666, label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit253 + +666: ; preds = %_ZN5Yosys5RTLIL5ConstD2Ev.exit250 + %667 = sext i32 %662 to i64 + %668 = load ptr, ptr @_ZN5Yosys5RTLIL8IdString24global_refcount_storage_E, align 8 + %669 = getelementptr inbounds i32, ptr %668, i64 %667 + %670 = load i32, ptr %669, align 4 + %671 = add nsw i32 %670, -1 + store i32 %671, ptr %669, align 4 + %672 = icmp sgt i32 %670, 1 + br i1 %672, label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit253, label %673 + +673: ; preds = %666 + invoke void @_ZN5Yosys5RTLIL8IdString14free_referenceEi(i32 noundef %662) + to label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit253 unwind label %674 + +674: ; preds = %673 + %675 = landingpad { ptr, i32 } catch ptr null - %678 = extractvalue { ptr, i32 } %677, 0 - call void @__clang_call_terminate(ptr %678) #28 + %676 = extractvalue { ptr, i32 } %675, 0 + call void @__clang_call_terminate(ptr %676) #28 unreachable -_ZN5Yosys5RTLIL8IdStringD2Ev.exit253: ; preds = %_ZN5Yosys5RTLIL5ConstD2Ev.exit250, %668, %675 +_ZN5Yosys5RTLIL8IdStringD2Ev.exit253: ; preds = %_ZN5Yosys5RTLIL5ConstD2Ev.exit250, %666, %673 call void @llvm.experimental.noalias.scope.decl(metadata !58) - %679 = load atomic i8, ptr @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK3$_8clEvE2id" acquire, align 8, !noalias !58 - %680 = icmp eq i8 %679, 0 - br i1 %680, label %681, label %687, !prof !12 + %677 = load atomic i8, ptr @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK3$_8clEvE2id" acquire, align 8, !noalias !58 + %678 = icmp eq i8 %677, 0 + br i1 %678, label %679, label %685, !prof !12 -681: ; preds = %_ZN5Yosys5RTLIL8IdStringD2Ev.exit253 - %682 = call i32 @__cxa_guard_acquire(ptr nonnull @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK3$_8clEvE2id") #25, !noalias !58 - %.not.i255 = icmp eq i32 %682, 0 - br i1 %.not.i255, label %687, label %683 +679: ; preds = %_ZN5Yosys5RTLIL8IdStringD2Ev.exit253 + %680 = call i32 @__cxa_guard_acquire(ptr nonnull @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK3$_8clEvE2id") #25, !noalias !58 + %.not.i255 = icmp eq i32 %680, 0 + br i1 %.not.i255, label %685, label %681 -683: ; preds = %681 - %684 = invoke noundef i32 @_ZN5Yosys5RTLIL8IdString13get_referenceEPKc(ptr noundef nonnull @.str.102) - to label %685 unwind label %695, !noalias !58 +681: ; preds = %679 + %682 = invoke noundef i32 @_ZN5Yosys5RTLIL8IdString13get_referenceEPKc(ptr noundef nonnull @.str.102) + to label %683 unwind label %693, !noalias !58 -685: ; preds = %683 - store i32 %684, ptr @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK3$_8clEvE2id", align 4, !noalias !58 - %686 = call i32 @__cxa_atexit(ptr nonnull @_ZN5Yosys5RTLIL8IdStringD2Ev, ptr nonnull @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK3$_8clEvE2id", ptr nonnull @__dso_handle) #25, !noalias !58 +683: ; preds = %681 + store i32 %682, ptr @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK3$_8clEvE2id", align 4, !noalias !58 + %684 = call i32 @__cxa_atexit(ptr nonnull @_ZN5Yosys5RTLIL8IdStringD2Ev, ptr nonnull @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK3$_8clEvE2id", ptr nonnull @__dso_handle) #25, !noalias !58 call void @__cxa_guard_release(ptr nonnull @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK3$_8clEvE2id") #25, !noalias !58 - br label %687 - -687: ; preds = %685, %681, %_ZN5Yosys5RTLIL8IdStringD2Ev.exit253 - %688 = load i32, ptr @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK3$_8clEvE2id", align 4, !noalias !58 - %.not.i.i.i254 = icmp eq i32 %688, 0 - br i1 %.not.i.i.i254, label %697, label %689 - -689: ; preds = %687 - %690 = sext i32 %688 to i64 - %691 = load ptr, ptr @_ZN5Yosys5RTLIL8IdString24global_refcount_storage_E, align 8, !noalias !58 - %692 = getelementptr inbounds i32, ptr %691, i64 %690 - %693 = load i32, ptr %692, align 4, !noalias !58 - %694 = add nsw i32 %693, 1 - store i32 %694, ptr %692, align 4, !noalias !58 - br label %697 - -695: ; preds = %683 - %696 = landingpad { ptr, i32 } + br label %685 + +685: ; preds = %683, %679, %_ZN5Yosys5RTLIL8IdStringD2Ev.exit253 + %686 = load i32, ptr @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK3$_8clEvE2id", align 4, !noalias !58 + %.not.i.i.i254 = icmp eq i32 %686, 0 + br i1 %.not.i.i.i254, label %695, label %687 + +687: ; preds = %685 + %688 = sext i32 %686 to i64 + %689 = load ptr, ptr @_ZN5Yosys5RTLIL8IdString24global_refcount_storage_E, align 8, !noalias !58 + %690 = getelementptr inbounds i32, ptr %689, i64 %688 + %691 = load i32, ptr %690, align 4, !noalias !58 + %692 = add nsw i32 %691, 1 + store i32 %692, ptr %690, align 4, !noalias !58 + br label %695 + +693: ; preds = %681 + %694 = landingpad { ptr, i32 } cleanup call void @__cxa_guard_abort(ptr nonnull @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK3$_8clEvE2id") #25, !noalias !58 br label %.body228 -697: ; preds = %689, %687 - store i32 %688, ptr %50, align 4, !alias.scope !58 +695: ; preds = %687, %685 + store i32 %686, ptr %50, align 4, !alias.scope !58 invoke void @_ZN5Yosys5RTLIL7SigSpecC1Eb(ptr noundef nonnull align 8 dereferenceable(64) %51, i1 noundef zeroext false) - to label %698 unwind label %738 + to label %696 unwind label %736 -698: ; preds = %697 +696: ; preds = %695 invoke void @_ZN5Yosys5RTLIL4Cell7setPortERKNS0_8IdStringENS0_7SigSpecE(ptr noundef nonnull align 8 dereferenceable(192) %1, ptr noundef nonnull align 4 dereferenceable(4) %50, ptr noundef nonnull %51) - to label %699 unwind label %740 + to label %697 unwind label %738 -699: ; preds = %698 - %700 = getelementptr inbounds nuw i8, ptr %51, i64 40 - %701 = load ptr, ptr %700, align 8 - %.not.i.i.i.i258 = icmp eq ptr %701, null - br i1 %.not.i.i.i.i258, label %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i259, label %702 +697: ; preds = %696 + %698 = getelementptr inbounds nuw i8, ptr %51, i64 40 + %699 = load ptr, ptr %698, align 8 + %.not.i.i.i.i258 = icmp eq ptr %699, null + br i1 %.not.i.i.i.i258, label %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i259, label %700 -702: ; preds = %699 - call void @_ZdlPv(ptr noundef nonnull %701) #26 +700: ; preds = %697 + call void @_ZdlPv(ptr noundef nonnull %699) #26 br label %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i259 -_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i259: ; preds = %702, %699 - %703 = getelementptr inbounds nuw i8, ptr %51, i64 16 +_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i259: ; preds = %700, %697 + %701 = getelementptr inbounds nuw i8, ptr %51, i64 16 + %702 = load ptr, ptr %701, align 8 + %703 = getelementptr inbounds nuw i8, ptr %51, i64 24 %704 = load ptr, ptr %703, align 8 - %705 = getelementptr inbounds nuw i8, ptr %51, i64 24 - %706 = load ptr, ptr %705, align 8 - %.not4.i.i.i.i.i260 = icmp eq ptr %704, %706 + %.not4.i.i.i.i.i260 = icmp eq ptr %702, %704 br i1 %.not4.i.i.i.i.i260, label %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i268, label %.lr.ph.i.i.i.i.i261 .lr.ph.i.i.i.i.i261: ; preds = %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i259, %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i264 - %.05.i.i.i.i.i262 = phi ptr [ %710, %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i264 ], [ %704, %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i259 ] - %707 = getelementptr inbounds nuw i8, ptr %.05.i.i.i.i.i262, i64 8 - %708 = load ptr, ptr %707, align 8 - %.not.i.i.i.i.i.i.i.i.i.i263 = icmp eq ptr %708, null - br i1 %.not.i.i.i.i.i.i.i.i.i.i263, label %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i264, label %709 - -709: ; preds = %.lr.ph.i.i.i.i.i261 - call void @_ZdlPv(ptr noundef nonnull %708) #26 + %.05.i.i.i.i.i262 = phi ptr [ %708, %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i264 ], [ %702, %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i259 ] + %705 = getelementptr inbounds nuw i8, ptr %.05.i.i.i.i.i262, i64 8 + %706 = load ptr, ptr %705, align 8 + %.not.i.i.i.i.i.i.i.i.i.i263 = icmp eq ptr %706, null + br i1 %.not.i.i.i.i.i.i.i.i.i.i263, label %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i264, label %707 + +707: ; preds = %.lr.ph.i.i.i.i.i261 + call void @_ZdlPv(ptr noundef nonnull %706) #26 br label %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i264 -_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i264: ; preds = %709, %.lr.ph.i.i.i.i.i261 - %710 = getelementptr inbounds nuw i8, ptr %.05.i.i.i.i.i262, i64 40 - %.not.i.i.i.i.i265 = icmp eq ptr %710, %706 +_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i264: ; preds = %707, %.lr.ph.i.i.i.i.i261 + %708 = getelementptr inbounds nuw i8, ptr %.05.i.i.i.i.i262, i64 40 + %.not.i.i.i.i.i265 = icmp eq ptr %708, %704 br i1 %.not.i.i.i.i.i265, label %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i266, label %.lr.ph.i.i.i.i.i261, !llvm.loop !37 _ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i266: ; preds = %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i264 - %.pr.i.i267 = load ptr, ptr %703, align 8 + %.pr.i.i267 = load ptr, ptr %701, align 8 br label %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i268 _ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i268: ; preds = %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i266, %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i259 - %711 = phi ptr [ %.pr.i.i267, %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i266 ], [ %704, %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i259 ] - %.not.i.i.i1.i269 = icmp eq ptr %711, null - br i1 %.not.i.i.i1.i269, label %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit270, label %712 + %709 = phi ptr [ %.pr.i.i267, %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i266 ], [ %702, %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i259 ] + %.not.i.i.i1.i269 = icmp eq ptr %709, null + br i1 %.not.i.i.i1.i269, label %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit270, label %710 -712: ; preds = %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i268 - call void @_ZdlPv(ptr noundef nonnull %711) #26 +710: ; preds = %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i268 + call void @_ZdlPv(ptr noundef nonnull %709) #26 br label %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit270 -_ZN5Yosys5RTLIL7SigSpecD2Ev.exit270: ; preds = %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i268, %712 - %713 = load i32, ptr %50, align 4 - %714 = load i8, ptr @_ZN5Yosys5RTLIL8IdString17destruct_guard_okE, align 1 - %715 = trunc i8 %714 to i1 - %716 = icmp ne i32 %713, 0 - %or.cond.i.i271 = and i1 %716, %715 - br i1 %or.cond.i.i271, label %717, label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit273 - -717: ; preds = %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit270 - %718 = sext i32 %713 to i64 - %719 = load ptr, ptr @_ZN5Yosys5RTLIL8IdString24global_refcount_storage_E, align 8 - %720 = getelementptr inbounds i32, ptr %719, i64 %718 - %721 = load i32, ptr %720, align 4 - %722 = add nsw i32 %721, -1 - store i32 %722, ptr %720, align 4 - %723 = icmp sgt i32 %721, 1 - br i1 %723, label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit273, label %724 - -724: ; preds = %717 - invoke void @_ZN5Yosys5RTLIL8IdString14free_referenceEi(i32 noundef %713) - to label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit273 unwind label %725 - -725: ; preds = %724 - %726 = landingpad { ptr, i32 } +_ZN5Yosys5RTLIL7SigSpecD2Ev.exit270: ; preds = %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i268, %710 + %711 = load i32, ptr %50, align 4 + %712 = load i8, ptr @_ZN5Yosys5RTLIL8IdString17destruct_guard_okE, align 1 + %713 = trunc i8 %712 to i1 + %714 = icmp ne i32 %711, 0 + %or.cond.i.i271 = and i1 %714, %713 + br i1 %or.cond.i.i271, label %715, label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit273 + +715: ; preds = %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit270 + %716 = sext i32 %711 to i64 + %717 = load ptr, ptr @_ZN5Yosys5RTLIL8IdString24global_refcount_storage_E, align 8 + %718 = getelementptr inbounds i32, ptr %717, i64 %716 + %719 = load i32, ptr %718, align 4 + %720 = add nsw i32 %719, -1 + store i32 %720, ptr %718, align 4 + %721 = icmp sgt i32 %719, 1 + br i1 %721, label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit273, label %722 + +722: ; preds = %715 + invoke void @_ZN5Yosys5RTLIL8IdString14free_referenceEi(i32 noundef %711) + to label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit273 unwind label %723 + +723: ; preds = %722 + %724 = landingpad { ptr, i32 } catch ptr null - %727 = extractvalue { ptr, i32 } %726, 0 - call void @__clang_call_terminate(ptr %727) #28 + %725 = extractvalue { ptr, i32 } %724, 0 + call void @__clang_call_terminate(ptr %725) #28 unreachable -728: ; preds = %657 - %729 = landingpad { ptr, i32 } +726: ; preds = %655 + %727 = landingpad { ptr, i32 } cleanup - br label %737 + br label %735 -730: ; preds = %658 - %731 = landingpad { ptr, i32 } +728: ; preds = %656 + %729 = landingpad { ptr, i32 } cleanup br label %_ZN5Yosys5RTLIL5ConstD2Ev.exit275 -732: ; preds = %659 - %733 = landingpad { ptr, i32 } +730: ; preds = %657 + %731 = landingpad { ptr, i32 } cleanup - %734 = getelementptr inbounds nuw i8, ptr %47, i64 8 - %735 = load ptr, ptr %734, align 8 - %.not.i.i.i.i274 = icmp eq ptr %735, null - br i1 %.not.i.i.i.i274, label %_ZN5Yosys5RTLIL5ConstD2Ev.exit275, label %736 + %732 = getelementptr inbounds nuw i8, ptr %47, i64 8 + %733 = load ptr, ptr %732, align 8 + %.not.i.i.i.i274 = icmp eq ptr %733, null + br i1 %.not.i.i.i.i274, label %_ZN5Yosys5RTLIL5ConstD2Ev.exit275, label %734 -736: ; preds = %732 - call void @_ZdlPv(ptr noundef nonnull %735) #26 +734: ; preds = %730 + call void @_ZdlPv(ptr noundef nonnull %733) #26 br label %_ZN5Yosys5RTLIL5ConstD2Ev.exit275 -_ZN5Yosys5RTLIL5ConstD2Ev.exit275: ; preds = %736, %732, %730 - %.pn92 = phi { ptr, i32 } [ %731, %730 ], [ %733, %732 ], [ %733, %736 ] +_ZN5Yosys5RTLIL5ConstD2Ev.exit275: ; preds = %734, %730, %728 + %.pn92 = phi { ptr, i32 } [ %729, %728 ], [ %731, %730 ], [ %731, %734 ] call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %48) #25 - br label %737 + br label %735 -737: ; preds = %_ZN5Yosys5RTLIL5ConstD2Ev.exit275, %728 - %.pn92.pn = phi { ptr, i32 } [ %.pn92, %_ZN5Yosys5RTLIL5ConstD2Ev.exit275 ], [ %729, %728 ] +735: ; preds = %_ZN5Yosys5RTLIL5ConstD2Ev.exit275, %726 + %.pn92.pn = phi { ptr, i32 } [ %.pn92, %_ZN5Yosys5RTLIL5ConstD2Ev.exit275 ], [ %727, %726 ] call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %49) #25 call void @_ZN5Yosys5RTLIL8IdStringD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %46) #25 br label %.body228 -738: ; preds = %697 - %739 = landingpad { ptr, i32 } +736: ; preds = %695 + %737 = landingpad { ptr, i32 } cleanup - br label %742 + br label %740 -740: ; preds = %698 - %741 = landingpad { ptr, i32 } +738: ; preds = %696 + %739 = landingpad { ptr, i32 } cleanup call void @_ZN5Yosys5RTLIL7SigSpecD2Ev(ptr noundef nonnull align 8 dereferenceable(64) %51) #25 - br label %742 + br label %740 -742: ; preds = %740, %738 - %.pn95 = phi { ptr, i32 } [ %741, %740 ], [ %739, %738 ] +740: ; preds = %738, %736 + %.pn95 = phi { ptr, i32 } [ %739, %738 ], [ %737, %736 ] call void @_ZN5Yosys5RTLIL8IdStringD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %50) #25 br label %.body228 -_ZN5Yosys5RTLIL8IdStringD2Ev.exit273.sink.split: ; preds = %632, %572 - %.sink588 = phi ptr [ %43, %572 ], [ %45, %632 ] - %.sink = phi ptr [ %42, %572 ], [ %44, %632 ] +_ZN5Yosys5RTLIL8IdStringD2Ev.exit273.sink.split: ; preds = %630, %570 + %.sink588 = phi ptr [ %43, %570 ], [ %45, %630 ] + %.sink = phi ptr [ %42, %570 ], [ %44, %630 ] call void @_ZN5Yosys5RTLIL7SigSpecD2Ev(ptr noundef nonnull align 8 dereferenceable(64) %.sink588) #25 call void @_ZN5Yosys5RTLIL8IdStringD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %.sink) #25 br label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit273 -_ZN5Yosys5RTLIL8IdStringD2Ev.exit273: ; preds = %_ZN5Yosys5RTLIL8IdStringD2Ev.exit273.sink.split, %724, %717, %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit270 +_ZN5Yosys5RTLIL8IdStringD2Ev.exit273: ; preds = %_ZN5Yosys5RTLIL8IdStringD2Ev.exit273.sink.split, %722, %715, %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit270 call void @llvm.experimental.noalias.scope.decl(metadata !61) - %743 = load atomic i8, ptr @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK3$_9clEvE2id" acquire, align 8, !noalias !61 - %744 = icmp eq i8 %743, 0 - br i1 %744, label %745, label %751, !prof !12 + %741 = load atomic i8, ptr @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK3$_9clEvE2id" acquire, align 8, !noalias !61 + %742 = icmp eq i8 %741, 0 + br i1 %742, label %743, label %749, !prof !12 -745: ; preds = %_ZN5Yosys5RTLIL8IdStringD2Ev.exit273 - %746 = call i32 @__cxa_guard_acquire(ptr nonnull @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK3$_9clEvE2id") #25, !noalias !61 - %.not.i277 = icmp eq i32 %746, 0 - br i1 %.not.i277, label %751, label %747 +743: ; preds = %_ZN5Yosys5RTLIL8IdStringD2Ev.exit273 + %744 = call i32 @__cxa_guard_acquire(ptr nonnull @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK3$_9clEvE2id") #25, !noalias !61 + %.not.i277 = icmp eq i32 %744, 0 + br i1 %.not.i277, label %749, label %745 -747: ; preds = %745 - %748 = invoke noundef i32 @_ZN5Yosys5RTLIL8IdString13get_referenceEPKc(ptr noundef nonnull @.str.103) - to label %749 unwind label %759, !noalias !61 +745: ; preds = %743 + %746 = invoke noundef i32 @_ZN5Yosys5RTLIL8IdString13get_referenceEPKc(ptr noundef nonnull @.str.103) + to label %747 unwind label %757, !noalias !61 -749: ; preds = %747 - store i32 %748, ptr @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK3$_9clEvE2id", align 4, !noalias !61 - %750 = call i32 @__cxa_atexit(ptr nonnull @_ZN5Yosys5RTLIL8IdStringD2Ev, ptr nonnull @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK3$_9clEvE2id", ptr nonnull @__dso_handle) #25, !noalias !61 +747: ; preds = %745 + store i32 %746, ptr @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK3$_9clEvE2id", align 4, !noalias !61 + %748 = call i32 @__cxa_atexit(ptr nonnull @_ZN5Yosys5RTLIL8IdStringD2Ev, ptr nonnull @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK3$_9clEvE2id", ptr nonnull @__dso_handle) #25, !noalias !61 call void @__cxa_guard_release(ptr nonnull @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK3$_9clEvE2id") #25, !noalias !61 - br label %751 + br label %749 -751: ; preds = %749, %745, %_ZN5Yosys5RTLIL8IdStringD2Ev.exit273 - %752 = load i32, ptr @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK3$_9clEvE2id", align 4, !noalias !61 - %.not.i.i.i276 = icmp eq i32 %752, 0 - br i1 %.not.i.i.i276, label %761, label %753 +749: ; preds = %747, %743, %_ZN5Yosys5RTLIL8IdStringD2Ev.exit273 + %750 = load i32, ptr @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK3$_9clEvE2id", align 4, !noalias !61 + %.not.i.i.i276 = icmp eq i32 %750, 0 + br i1 %.not.i.i.i276, label %759, label %751 -753: ; preds = %751 - %754 = sext i32 %752 to i64 - %755 = load ptr, ptr @_ZN5Yosys5RTLIL8IdString24global_refcount_storage_E, align 8, !noalias !61 - %756 = getelementptr inbounds i32, ptr %755, i64 %754 - %757 = load i32, ptr %756, align 4, !noalias !61 - %758 = add nsw i32 %757, 1 - store i32 %758, ptr %756, align 4, !noalias !61 - br label %761 +751: ; preds = %749 + %752 = sext i32 %750 to i64 + %753 = load ptr, ptr @_ZN5Yosys5RTLIL8IdString24global_refcount_storage_E, align 8, !noalias !61 + %754 = getelementptr inbounds i32, ptr %753, i64 %752 + %755 = load i32, ptr %754, align 4, !noalias !61 + %756 = add nsw i32 %755, 1 + store i32 %756, ptr %754, align 4, !noalias !61 + br label %759 -759: ; preds = %747 - %760 = landingpad { ptr, i32 } +757: ; preds = %745 + %758 = landingpad { ptr, i32 } cleanup call void @__cxa_guard_abort(ptr nonnull @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK3$_9clEvE2id") #25, !noalias !61 br label %.body228 -761: ; preds = %753, %751 - store i32 %752, ptr %52, align 4, !alias.scope !61 - %762 = getelementptr inbounds nuw i8, ptr %18, i64 92 - %763 = load i32, ptr %762, align 4 - invoke void @_ZN5Yosys5RTLIL5ConstC1Eii(ptr noundef nonnull align 8 dereferenceable(32) %53, i32 noundef %763, i32 noundef 32) - to label %764 unwind label %920 +759: ; preds = %751, %749 + store i32 %750, ptr %52, align 4, !alias.scope !61 + %760 = getelementptr inbounds nuw i8, ptr %18, i64 92 + %761 = load i32, ptr %760, align 4 + invoke void @_ZN5Yosys5RTLIL5ConstC1Eii(ptr noundef nonnull align 8 dereferenceable(32) %53, i32 noundef %761, i32 noundef 32) + to label %762 unwind label %918 -764: ; preds = %761 +762: ; preds = %759 invoke void @_ZN5Yosys5RTLIL4Cell8setParamERKNS0_8IdStringENS0_5ConstE(ptr noundef nonnull align 8 dereferenceable(192) %1, ptr noundef nonnull align 4 dereferenceable(4) %52, ptr noundef nonnull %53) - to label %765 unwind label %922 + to label %763 unwind label %920 -765: ; preds = %764 - %766 = getelementptr inbounds nuw i8, ptr %53, i64 8 - %767 = load ptr, ptr %766, align 8 - %.not.i.i.i.i280 = icmp eq ptr %767, null - br i1 %.not.i.i.i.i280, label %_ZN5Yosys5RTLIL5ConstD2Ev.exit281, label %768 +763: ; preds = %762 + %764 = getelementptr inbounds nuw i8, ptr %53, i64 8 + %765 = load ptr, ptr %764, align 8 + %.not.i.i.i.i280 = icmp eq ptr %765, null + br i1 %.not.i.i.i.i280, label %_ZN5Yosys5RTLIL5ConstD2Ev.exit281, label %766 -768: ; preds = %765 - call void @_ZdlPv(ptr noundef nonnull %767) #26 +766: ; preds = %763 + call void @_ZdlPv(ptr noundef nonnull %765) #26 br label %_ZN5Yosys5RTLIL5ConstD2Ev.exit281 -_ZN5Yosys5RTLIL5ConstD2Ev.exit281: ; preds = %765, %768 - %769 = load i32, ptr %52, align 4 - %770 = load i8, ptr @_ZN5Yosys5RTLIL8IdString17destruct_guard_okE, align 1 - %771 = trunc i8 %770 to i1 - %772 = icmp ne i32 %769, 0 - %or.cond.i.i282 = and i1 %772, %771 - br i1 %or.cond.i.i282, label %773, label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit284 - -773: ; preds = %_ZN5Yosys5RTLIL5ConstD2Ev.exit281 - %774 = sext i32 %769 to i64 - %775 = load ptr, ptr @_ZN5Yosys5RTLIL8IdString24global_refcount_storage_E, align 8 - %776 = getelementptr inbounds i32, ptr %775, i64 %774 - %777 = load i32, ptr %776, align 4 - %778 = add nsw i32 %777, -1 - store i32 %778, ptr %776, align 4 - %779 = icmp sgt i32 %777, 1 - br i1 %779, label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit284, label %780 - -780: ; preds = %773 - invoke void @_ZN5Yosys5RTLIL8IdString14free_referenceEi(i32 noundef %769) - to label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit284 unwind label %781 - -781: ; preds = %780 - %782 = landingpad { ptr, i32 } +_ZN5Yosys5RTLIL5ConstD2Ev.exit281: ; preds = %763, %766 + %767 = load i32, ptr %52, align 4 + %768 = load i8, ptr @_ZN5Yosys5RTLIL8IdString17destruct_guard_okE, align 1 + %769 = trunc i8 %768 to i1 + %770 = icmp ne i32 %767, 0 + %or.cond.i.i282 = and i1 %770, %769 + br i1 %or.cond.i.i282, label %771, label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit284 + +771: ; preds = %_ZN5Yosys5RTLIL5ConstD2Ev.exit281 + %772 = sext i32 %767 to i64 + %773 = load ptr, ptr @_ZN5Yosys5RTLIL8IdString24global_refcount_storage_E, align 8 + %774 = getelementptr inbounds i32, ptr %773, i64 %772 + %775 = load i32, ptr %774, align 4 + %776 = add nsw i32 %775, -1 + store i32 %776, ptr %774, align 4 + %777 = icmp sgt i32 %775, 1 + br i1 %777, label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit284, label %778 + +778: ; preds = %771 + invoke void @_ZN5Yosys5RTLIL8IdString14free_referenceEi(i32 noundef %767) + to label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit284 unwind label %779 + +779: ; preds = %778 + %780 = landingpad { ptr, i32 } catch ptr null - %783 = extractvalue { ptr, i32 } %782, 0 - call void @__clang_call_terminate(ptr %783) #28 + %781 = extractvalue { ptr, i32 } %780, 0 + call void @__clang_call_terminate(ptr %781) #28 unreachable -_ZN5Yosys5RTLIL8IdStringD2Ev.exit284: ; preds = %_ZN5Yosys5RTLIL5ConstD2Ev.exit281, %773, %780 - %784 = load i32, ptr %18, align 8 - invoke void @_ZN5Yosys5RTLIL5ConstC1Eii(ptr noundef nonnull align 8 dereferenceable(32) %54, i32 noundef %784, i32 noundef 32) - to label %785 unwind label %583 +_ZN5Yosys5RTLIL8IdStringD2Ev.exit284: ; preds = %_ZN5Yosys5RTLIL5ConstD2Ev.exit281, %771, %778 + %782 = load i32, ptr %18, align 8 + invoke void @_ZN5Yosys5RTLIL5ConstC1Eii(ptr noundef nonnull align 8 dereferenceable(32) %54, i32 noundef %782, i32 noundef 32) + to label %783 unwind label %581 -785: ; preds = %_ZN5Yosys5RTLIL8IdStringD2Ev.exit284 +783: ; preds = %_ZN5Yosys5RTLIL8IdStringD2Ev.exit284 invoke void @_ZN5Yosys5RTLIL4Cell8setParamERKNS0_8IdStringENS0_5ConstE(ptr noundef nonnull align 8 dereferenceable(192) %1, ptr noundef nonnull align 4 dereferenceable(4) @_ZN5Yosys5RTLIL2ID5WIDTHE, ptr noundef nonnull %54) - to label %786 unwind label %927 + to label %784 unwind label %925 -786: ; preds = %785 - %787 = getelementptr inbounds nuw i8, ptr %54, i64 8 - %788 = load ptr, ptr %787, align 8 - %.not.i.i.i.i285 = icmp eq ptr %788, null - br i1 %.not.i.i.i.i285, label %_ZN5Yosys5RTLIL5ConstD2Ev.exit286, label %789 +784: ; preds = %783 + %785 = getelementptr inbounds nuw i8, ptr %54, i64 8 + %786 = load ptr, ptr %785, align 8 + %.not.i.i.i.i285 = icmp eq ptr %786, null + br i1 %.not.i.i.i.i285, label %_ZN5Yosys5RTLIL5ConstD2Ev.exit286, label %787 -789: ; preds = %786 - call void @_ZdlPv(ptr noundef nonnull %788) #26 +787: ; preds = %784 + call void @_ZdlPv(ptr noundef nonnull %786) #26 br label %_ZN5Yosys5RTLIL5ConstD2Ev.exit286 -_ZN5Yosys5RTLIL5ConstD2Ev.exit286: ; preds = %786, %789 - %790 = getelementptr inbounds nuw i8, ptr %18, i64 160 - invoke void @_ZN5Yosys5RTLIL7SigSpecC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(64) %55, ptr noundef nonnull align 8 dereferenceable(64) %790) - to label %791 unwind label %583 +_ZN5Yosys5RTLIL5ConstD2Ev.exit286: ; preds = %784, %787 + %788 = getelementptr inbounds nuw i8, ptr %18, i64 160 + invoke void @_ZN5Yosys5RTLIL7SigSpecC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(64) %55, ptr noundef nonnull align 8 dereferenceable(64) %788) + to label %789 unwind label %581 -791: ; preds = %_ZN5Yosys5RTLIL5ConstD2Ev.exit286 +789: ; preds = %_ZN5Yosys5RTLIL5ConstD2Ev.exit286 invoke void @_ZN5Yosys5RTLIL4Cell7setPortERKNS0_8IdStringENS0_7SigSpecE(ptr noundef nonnull align 8 dereferenceable(192) %1, ptr noundef nonnull align 4 dereferenceable(4) @_ZN5Yosys5RTLIL2ID3CLKE, ptr noundef nonnull %55) - to label %792 unwind label %932 + to label %790 unwind label %930 -792: ; preds = %791 - %793 = getelementptr inbounds nuw i8, ptr %55, i64 40 - %794 = load ptr, ptr %793, align 8 - %.not.i.i.i.i287 = icmp eq ptr %794, null - br i1 %.not.i.i.i.i287, label %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i288, label %795 +790: ; preds = %789 + %791 = getelementptr inbounds nuw i8, ptr %55, i64 40 + %792 = load ptr, ptr %791, align 8 + %.not.i.i.i.i287 = icmp eq ptr %792, null + br i1 %.not.i.i.i.i287, label %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i288, label %793 -795: ; preds = %792 - call void @_ZdlPv(ptr noundef nonnull %794) #26 +793: ; preds = %790 + call void @_ZdlPv(ptr noundef nonnull %792) #26 br label %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i288 -_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i288: ; preds = %795, %792 - %796 = getelementptr inbounds nuw i8, ptr %55, i64 16 +_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i288: ; preds = %793, %790 + %794 = getelementptr inbounds nuw i8, ptr %55, i64 16 + %795 = load ptr, ptr %794, align 8 + %796 = getelementptr inbounds nuw i8, ptr %55, i64 24 %797 = load ptr, ptr %796, align 8 - %798 = getelementptr inbounds nuw i8, ptr %55, i64 24 - %799 = load ptr, ptr %798, align 8 - %.not4.i.i.i.i.i289 = icmp eq ptr %797, %799 + %.not4.i.i.i.i.i289 = icmp eq ptr %795, %797 br i1 %.not4.i.i.i.i.i289, label %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i297, label %.lr.ph.i.i.i.i.i290 .lr.ph.i.i.i.i.i290: ; preds = %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i288, %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i293 - %.05.i.i.i.i.i291 = phi ptr [ %803, %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i293 ], [ %797, %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i288 ] - %800 = getelementptr inbounds nuw i8, ptr %.05.i.i.i.i.i291, i64 8 - %801 = load ptr, ptr %800, align 8 - %.not.i.i.i.i.i.i.i.i.i.i292 = icmp eq ptr %801, null - br i1 %.not.i.i.i.i.i.i.i.i.i.i292, label %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i293, label %802 - -802: ; preds = %.lr.ph.i.i.i.i.i290 - call void @_ZdlPv(ptr noundef nonnull %801) #26 + %.05.i.i.i.i.i291 = phi ptr [ %801, %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i293 ], [ %795, %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i288 ] + %798 = getelementptr inbounds nuw i8, ptr %.05.i.i.i.i.i291, i64 8 + %799 = load ptr, ptr %798, align 8 + %.not.i.i.i.i.i.i.i.i.i.i292 = icmp eq ptr %799, null + br i1 %.not.i.i.i.i.i.i.i.i.i.i292, label %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i293, label %800 + +800: ; preds = %.lr.ph.i.i.i.i.i290 + call void @_ZdlPv(ptr noundef nonnull %799) #26 br label %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i293 -_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i293: ; preds = %802, %.lr.ph.i.i.i.i.i290 - %803 = getelementptr inbounds nuw i8, ptr %.05.i.i.i.i.i291, i64 40 - %.not.i.i.i.i.i294 = icmp eq ptr %803, %799 +_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i293: ; preds = %800, %.lr.ph.i.i.i.i.i290 + %801 = getelementptr inbounds nuw i8, ptr %.05.i.i.i.i.i291, i64 40 + %.not.i.i.i.i.i294 = icmp eq ptr %801, %797 br i1 %.not.i.i.i.i.i294, label %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i295, label %.lr.ph.i.i.i.i.i290, !llvm.loop !37 _ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i295: ; preds = %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i293 - %.pr.i.i296 = load ptr, ptr %796, align 8 + %.pr.i.i296 = load ptr, ptr %794, align 8 br label %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i297 _ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i297: ; preds = %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i295, %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i288 - %804 = phi ptr [ %.pr.i.i296, %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i295 ], [ %797, %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i288 ] - %.not.i.i.i1.i298 = icmp eq ptr %804, null - br i1 %.not.i.i.i1.i298, label %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit299, label %805 + %802 = phi ptr [ %.pr.i.i296, %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i295 ], [ %795, %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i288 ] + %.not.i.i.i1.i298 = icmp eq ptr %802, null + br i1 %.not.i.i.i1.i298, label %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit299, label %803 -805: ; preds = %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i297 - call void @_ZdlPv(ptr noundef nonnull %804) #26 +803: ; preds = %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i297 + call void @_ZdlPv(ptr noundef nonnull %802) #26 br label %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit299 -_ZN5Yosys5RTLIL7SigSpecD2Ev.exit299: ; preds = %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i297, %805 +_ZN5Yosys5RTLIL7SigSpecD2Ev.exit299: ; preds = %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i297, %803 call void @llvm.experimental.noalias.scope.decl(metadata !64) - %806 = load atomic i8, ptr @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_10clEvE2id" acquire, align 8, !noalias !64 - %807 = icmp eq i8 %806, 0 - br i1 %807, label %808, label %814, !prof !12 + %804 = load atomic i8, ptr @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_10clEvE2id" acquire, align 8, !noalias !64 + %805 = icmp eq i8 %804, 0 + br i1 %805, label %806, label %812, !prof !12 -808: ; preds = %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit299 - %809 = call i32 @__cxa_guard_acquire(ptr nonnull @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_10clEvE2id") #25, !noalias !64 - %.not.i301 = icmp eq i32 %809, 0 - br i1 %.not.i301, label %814, label %810 +806: ; preds = %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit299 + %807 = call i32 @__cxa_guard_acquire(ptr nonnull @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_10clEvE2id") #25, !noalias !64 + %.not.i301 = icmp eq i32 %807, 0 + br i1 %.not.i301, label %812, label %808 -810: ; preds = %808 - %811 = invoke noundef i32 @_ZN5Yosys5RTLIL8IdString13get_referenceEPKc(ptr noundef nonnull @.str.104) - to label %812 unwind label %822, !noalias !64 +808: ; preds = %806 + %809 = invoke noundef i32 @_ZN5Yosys5RTLIL8IdString13get_referenceEPKc(ptr noundef nonnull @.str.104) + to label %810 unwind label %820, !noalias !64 -812: ; preds = %810 - store i32 %811, ptr @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_10clEvE2id", align 4, !noalias !64 - %813 = call i32 @__cxa_atexit(ptr nonnull @_ZN5Yosys5RTLIL8IdStringD2Ev, ptr nonnull @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_10clEvE2id", ptr nonnull @__dso_handle) #25, !noalias !64 +810: ; preds = %808 + store i32 %809, ptr @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_10clEvE2id", align 4, !noalias !64 + %811 = call i32 @__cxa_atexit(ptr nonnull @_ZN5Yosys5RTLIL8IdStringD2Ev, ptr nonnull @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_10clEvE2id", ptr nonnull @__dso_handle) #25, !noalias !64 call void @__cxa_guard_release(ptr nonnull @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_10clEvE2id") #25, !noalias !64 - br label %814 + br label %812 -814: ; preds = %812, %808, %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit299 - %815 = load i32, ptr @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_10clEvE2id", align 4, !noalias !64 - %.not.i.i.i300 = icmp eq i32 %815, 0 - br i1 %.not.i.i.i300, label %824, label %816 +812: ; preds = %810, %806, %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit299 + %813 = load i32, ptr @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_10clEvE2id", align 4, !noalias !64 + %.not.i.i.i300 = icmp eq i32 %813, 0 + br i1 %.not.i.i.i300, label %822, label %814 -816: ; preds = %814 - %817 = sext i32 %815 to i64 - %818 = load ptr, ptr @_ZN5Yosys5RTLIL8IdString24global_refcount_storage_E, align 8, !noalias !64 - %819 = getelementptr inbounds i32, ptr %818, i64 %817 - %820 = load i32, ptr %819, align 4, !noalias !64 - %821 = add nsw i32 %820, 1 - store i32 %821, ptr %819, align 4, !noalias !64 - br label %824 +814: ; preds = %812 + %815 = sext i32 %813 to i64 + %816 = load ptr, ptr @_ZN5Yosys5RTLIL8IdString24global_refcount_storage_E, align 8, !noalias !64 + %817 = getelementptr inbounds i32, ptr %816, i64 %815 + %818 = load i32, ptr %817, align 4, !noalias !64 + %819 = add nsw i32 %818, 1 + store i32 %819, ptr %817, align 4, !noalias !64 + br label %822 -822: ; preds = %810 - %823 = landingpad { ptr, i32 } +820: ; preds = %808 + %821 = landingpad { ptr, i32 } cleanup call void @__cxa_guard_abort(ptr nonnull @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_10clEvE2id") #25, !noalias !64 br label %.body228 -824: ; preds = %816, %814 - store i32 %815, ptr %56, align 4, !alias.scope !64 - %825 = getelementptr inbounds nuw i8, ptr %18, i64 224 - invoke void @_ZN5Yosys5RTLIL7SigSpecC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(64) %57, ptr noundef nonnull align 8 dereferenceable(64) %825) - to label %826 unwind label %934 +822: ; preds = %814, %812 + store i32 %813, ptr %56, align 4, !alias.scope !64 + %823 = getelementptr inbounds nuw i8, ptr %18, i64 224 + invoke void @_ZN5Yosys5RTLIL7SigSpecC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(64) %57, ptr noundef nonnull align 8 dereferenceable(64) %823) + to label %824 unwind label %932 -826: ; preds = %824 +824: ; preds = %822 invoke void @_ZN5Yosys5RTLIL4Cell7setPortERKNS0_8IdStringENS0_7SigSpecE(ptr noundef nonnull align 8 dereferenceable(192) %1, ptr noundef nonnull align 4 dereferenceable(4) %56, ptr noundef nonnull %57) - to label %827 unwind label %936 + to label %825 unwind label %934 -827: ; preds = %826 - %828 = getelementptr inbounds nuw i8, ptr %57, i64 40 - %829 = load ptr, ptr %828, align 8 - %.not.i.i.i.i304 = icmp eq ptr %829, null - br i1 %.not.i.i.i.i304, label %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i305, label %830 +825: ; preds = %824 + %826 = getelementptr inbounds nuw i8, ptr %57, i64 40 + %827 = load ptr, ptr %826, align 8 + %.not.i.i.i.i304 = icmp eq ptr %827, null + br i1 %.not.i.i.i.i304, label %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i305, label %828 -830: ; preds = %827 - call void @_ZdlPv(ptr noundef nonnull %829) #26 +828: ; preds = %825 + call void @_ZdlPv(ptr noundef nonnull %827) #26 br label %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i305 -_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i305: ; preds = %830, %827 - %831 = getelementptr inbounds nuw i8, ptr %57, i64 16 +_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i305: ; preds = %828, %825 + %829 = getelementptr inbounds nuw i8, ptr %57, i64 16 + %830 = load ptr, ptr %829, align 8 + %831 = getelementptr inbounds nuw i8, ptr %57, i64 24 %832 = load ptr, ptr %831, align 8 - %833 = getelementptr inbounds nuw i8, ptr %57, i64 24 - %834 = load ptr, ptr %833, align 8 - %.not4.i.i.i.i.i306 = icmp eq ptr %832, %834 + %.not4.i.i.i.i.i306 = icmp eq ptr %830, %832 br i1 %.not4.i.i.i.i.i306, label %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i314, label %.lr.ph.i.i.i.i.i307 .lr.ph.i.i.i.i.i307: ; preds = %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i305, %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i310 - %.05.i.i.i.i.i308 = phi ptr [ %838, %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i310 ], [ %832, %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i305 ] - %835 = getelementptr inbounds nuw i8, ptr %.05.i.i.i.i.i308, i64 8 - %836 = load ptr, ptr %835, align 8 - %.not.i.i.i.i.i.i.i.i.i.i309 = icmp eq ptr %836, null - br i1 %.not.i.i.i.i.i.i.i.i.i.i309, label %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i310, label %837 - -837: ; preds = %.lr.ph.i.i.i.i.i307 - call void @_ZdlPv(ptr noundef nonnull %836) #26 + %.05.i.i.i.i.i308 = phi ptr [ %836, %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i310 ], [ %830, %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i305 ] + %833 = getelementptr inbounds nuw i8, ptr %.05.i.i.i.i.i308, i64 8 + %834 = load ptr, ptr %833, align 8 + %.not.i.i.i.i.i.i.i.i.i.i309 = icmp eq ptr %834, null + br i1 %.not.i.i.i.i.i.i.i.i.i.i309, label %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i310, label %835 + +835: ; preds = %.lr.ph.i.i.i.i.i307 + call void @_ZdlPv(ptr noundef nonnull %834) #26 br label %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i310 -_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i310: ; preds = %837, %.lr.ph.i.i.i.i.i307 - %838 = getelementptr inbounds nuw i8, ptr %.05.i.i.i.i.i308, i64 40 - %.not.i.i.i.i.i311 = icmp eq ptr %838, %834 +_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i310: ; preds = %835, %.lr.ph.i.i.i.i.i307 + %836 = getelementptr inbounds nuw i8, ptr %.05.i.i.i.i.i308, i64 40 + %.not.i.i.i.i.i311 = icmp eq ptr %836, %832 br i1 %.not.i.i.i.i.i311, label %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i312, label %.lr.ph.i.i.i.i.i307, !llvm.loop !37 _ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i312: ; preds = %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i310 - %.pr.i.i313 = load ptr, ptr %831, align 8 + %.pr.i.i313 = load ptr, ptr %829, align 8 br label %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i314 _ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i314: ; preds = %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i312, %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i305 - %839 = phi ptr [ %.pr.i.i313, %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i312 ], [ %832, %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i305 ] - %.not.i.i.i1.i315 = icmp eq ptr %839, null - br i1 %.not.i.i.i1.i315, label %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit316, label %840 + %837 = phi ptr [ %.pr.i.i313, %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i312 ], [ %830, %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i305 ] + %.not.i.i.i1.i315 = icmp eq ptr %837, null + br i1 %.not.i.i.i1.i315, label %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit316, label %838 -840: ; preds = %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i314 - call void @_ZdlPv(ptr noundef nonnull %839) #26 +838: ; preds = %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i314 + call void @_ZdlPv(ptr noundef nonnull %837) #26 br label %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit316 -_ZN5Yosys5RTLIL7SigSpecD2Ev.exit316: ; preds = %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i314, %840 - %841 = load i32, ptr %56, align 4 - %842 = load i8, ptr @_ZN5Yosys5RTLIL8IdString17destruct_guard_okE, align 1 - %843 = trunc i8 %842 to i1 - %844 = icmp ne i32 %841, 0 - %or.cond.i.i317 = and i1 %844, %843 - br i1 %or.cond.i.i317, label %845, label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit319 - -845: ; preds = %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit316 - %846 = sext i32 %841 to i64 - %847 = load ptr, ptr @_ZN5Yosys5RTLIL8IdString24global_refcount_storage_E, align 8 - %848 = getelementptr inbounds i32, ptr %847, i64 %846 - %849 = load i32, ptr %848, align 4 - %850 = add nsw i32 %849, -1 - store i32 %850, ptr %848, align 4 - %851 = icmp sgt i32 %849, 1 - br i1 %851, label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit319, label %852 - -852: ; preds = %845 - invoke void @_ZN5Yosys5RTLIL8IdString14free_referenceEi(i32 noundef %841) - to label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit319 unwind label %853 - -853: ; preds = %852 - %854 = landingpad { ptr, i32 } +_ZN5Yosys5RTLIL7SigSpecD2Ev.exit316: ; preds = %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i314, %838 + %839 = load i32, ptr %56, align 4 + %840 = load i8, ptr @_ZN5Yosys5RTLIL8IdString17destruct_guard_okE, align 1 + %841 = trunc i8 %840 to i1 + %842 = icmp ne i32 %839, 0 + %or.cond.i.i317 = and i1 %842, %841 + br i1 %or.cond.i.i317, label %843, label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit319 + +843: ; preds = %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit316 + %844 = sext i32 %839 to i64 + %845 = load ptr, ptr @_ZN5Yosys5RTLIL8IdString24global_refcount_storage_E, align 8 + %846 = getelementptr inbounds i32, ptr %845, i64 %844 + %847 = load i32, ptr %846, align 4 + %848 = add nsw i32 %847, -1 + store i32 %848, ptr %846, align 4 + %849 = icmp sgt i32 %847, 1 + br i1 %849, label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit319, label %850 + +850: ; preds = %843 + invoke void @_ZN5Yosys5RTLIL8IdString14free_referenceEi(i32 noundef %839) + to label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit319 unwind label %851 + +851: ; preds = %850 + %852 = landingpad { ptr, i32 } catch ptr null - %855 = extractvalue { ptr, i32 } %854, 0 - call void @__clang_call_terminate(ptr %855) #28 + %853 = extractvalue { ptr, i32 } %852, 0 + call void @__clang_call_terminate(ptr %853) #28 unreachable -_ZN5Yosys5RTLIL8IdStringD2Ev.exit319: ; preds = %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit316, %845, %852 - %856 = getelementptr inbounds nuw i8, ptr %18, i64 17 - %857 = load i8, ptr %856, align 1 - %858 = trunc i8 %857 to i1 - br i1 %858, label %859, label %987 +_ZN5Yosys5RTLIL8IdStringD2Ev.exit319: ; preds = %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit316, %843, %850 + %854 = getelementptr inbounds nuw i8, ptr %18, i64 17 + %855 = load i8, ptr %854, align 1 + %856 = trunc i8 %855 to i1 + br i1 %856, label %857, label %985 -859: ; preds = %_ZN5Yosys5RTLIL8IdStringD2Ev.exit319 +857: ; preds = %_ZN5Yosys5RTLIL8IdStringD2Ev.exit319 call void @llvm.experimental.noalias.scope.decl(metadata !67) - %860 = load atomic i8, ptr @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_11clEvE2id" acquire, align 8, !noalias !67 - %861 = icmp eq i8 %860, 0 - br i1 %861, label %862, label %868, !prof !12 + %858 = load atomic i8, ptr @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_11clEvE2id" acquire, align 8, !noalias !67 + %859 = icmp eq i8 %858, 0 + br i1 %859, label %860, label %866, !prof !12 -862: ; preds = %859 - %863 = call i32 @__cxa_guard_acquire(ptr nonnull @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_11clEvE2id") #25, !noalias !67 - %.not.i321 = icmp eq i32 %863, 0 - br i1 %.not.i321, label %868, label %864 +860: ; preds = %857 + %861 = call i32 @__cxa_guard_acquire(ptr nonnull @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_11clEvE2id") #25, !noalias !67 + %.not.i321 = icmp eq i32 %861, 0 + br i1 %.not.i321, label %866, label %862 -864: ; preds = %862 - %865 = invoke noundef i32 @_ZN5Yosys5RTLIL8IdString13get_referenceEPKc(ptr noundef nonnull @.str.105) - to label %866 unwind label %876, !noalias !67 +862: ; preds = %860 + %863 = invoke noundef i32 @_ZN5Yosys5RTLIL8IdString13get_referenceEPKc(ptr noundef nonnull @.str.105) + to label %864 unwind label %874, !noalias !67 -866: ; preds = %864 - store i32 %865, ptr @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_11clEvE2id", align 4, !noalias !67 - %867 = call i32 @__cxa_atexit(ptr nonnull @_ZN5Yosys5RTLIL8IdStringD2Ev, ptr nonnull @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_11clEvE2id", ptr nonnull @__dso_handle) #25, !noalias !67 +864: ; preds = %862 + store i32 %863, ptr @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_11clEvE2id", align 4, !noalias !67 + %865 = call i32 @__cxa_atexit(ptr nonnull @_ZN5Yosys5RTLIL8IdStringD2Ev, ptr nonnull @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_11clEvE2id", ptr nonnull @__dso_handle) #25, !noalias !67 call void @__cxa_guard_release(ptr nonnull @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_11clEvE2id") #25, !noalias !67 - br label %868 + br label %866 -868: ; preds = %866, %862, %859 - %869 = load i32, ptr @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_11clEvE2id", align 4, !noalias !67 - %.not.i.i.i320 = icmp eq i32 %869, 0 - br i1 %.not.i.i.i320, label %878, label %870 +866: ; preds = %864, %860, %857 + %867 = load i32, ptr @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_11clEvE2id", align 4, !noalias !67 + %.not.i.i.i320 = icmp eq i32 %867, 0 + br i1 %.not.i.i.i320, label %876, label %868 -870: ; preds = %868 - %871 = sext i32 %869 to i64 - %872 = load ptr, ptr @_ZN5Yosys5RTLIL8IdString24global_refcount_storage_E, align 8, !noalias !67 - %873 = getelementptr inbounds i32, ptr %872, i64 %871 - %874 = load i32, ptr %873, align 4, !noalias !67 - %875 = add nsw i32 %874, 1 - store i32 %875, ptr %873, align 4, !noalias !67 - br label %878 +868: ; preds = %866 + %869 = sext i32 %867 to i64 + %870 = load ptr, ptr @_ZN5Yosys5RTLIL8IdString24global_refcount_storage_E, align 8, !noalias !67 + %871 = getelementptr inbounds i32, ptr %870, i64 %869 + %872 = load i32, ptr %871, align 4, !noalias !67 + %873 = add nsw i32 %872, 1 + store i32 %873, ptr %871, align 4, !noalias !67 + br label %876 -876: ; preds = %864 - %877 = landingpad { ptr, i32 } +874: ; preds = %862 + %875 = landingpad { ptr, i32 } cleanup call void @__cxa_guard_abort(ptr nonnull @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_11clEvE2id") #25, !noalias !67 br label %.body228 -878: ; preds = %870, %868 - store i32 %869, ptr %58, align 4, !alias.scope !67 +876: ; preds = %868, %866 + store i32 %867, ptr %58, align 4, !alias.scope !67 invoke void @_ZN5Yosys5RTLIL5ConstC1Eii(ptr noundef nonnull align 8 dereferenceable(32) %59, i32 noundef 1, i32 noundef 32) - to label %879 unwind label %939 + to label %877 unwind label %937 -879: ; preds = %878 +877: ; preds = %876 invoke void @_ZN5Yosys5RTLIL4Cell8setParamERKNS0_8IdStringENS0_5ConstE(ptr noundef nonnull align 8 dereferenceable(192) %1, ptr noundef nonnull align 4 dereferenceable(4) %58, ptr noundef nonnull %59) - to label %880 unwind label %941 + to label %878 unwind label %939 -880: ; preds = %879 - %881 = getelementptr inbounds nuw i8, ptr %59, i64 8 - %882 = load ptr, ptr %881, align 8 - %.not.i.i.i.i324 = icmp eq ptr %882, null - br i1 %.not.i.i.i.i324, label %_ZN5Yosys5RTLIL5ConstD2Ev.exit325, label %883 +878: ; preds = %877 + %879 = getelementptr inbounds nuw i8, ptr %59, i64 8 + %880 = load ptr, ptr %879, align 8 + %.not.i.i.i.i324 = icmp eq ptr %880, null + br i1 %.not.i.i.i.i324, label %_ZN5Yosys5RTLIL5ConstD2Ev.exit325, label %881 -883: ; preds = %880 - call void @_ZdlPv(ptr noundef nonnull %882) #26 +881: ; preds = %878 + call void @_ZdlPv(ptr noundef nonnull %880) #26 br label %_ZN5Yosys5RTLIL5ConstD2Ev.exit325 -_ZN5Yosys5RTLIL5ConstD2Ev.exit325: ; preds = %880, %883 - %884 = load i32, ptr %58, align 4 - %885 = load i8, ptr @_ZN5Yosys5RTLIL8IdString17destruct_guard_okE, align 1 - %886 = trunc i8 %885 to i1 - %887 = icmp ne i32 %884, 0 - %or.cond.i.i326 = and i1 %887, %886 - br i1 %or.cond.i.i326, label %888, label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit328 - -888: ; preds = %_ZN5Yosys5RTLIL5ConstD2Ev.exit325 - %889 = sext i32 %884 to i64 - %890 = load ptr, ptr @_ZN5Yosys5RTLIL8IdString24global_refcount_storage_E, align 8 - %891 = getelementptr inbounds i32, ptr %890, i64 %889 - %892 = load i32, ptr %891, align 4 - %893 = add nsw i32 %892, -1 - store i32 %893, ptr %891, align 4 - %894 = icmp sgt i32 %892, 1 - br i1 %894, label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit328, label %895 - -895: ; preds = %888 - invoke void @_ZN5Yosys5RTLIL8IdString14free_referenceEi(i32 noundef %884) - to label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit328 unwind label %896 - -896: ; preds = %895 - %897 = landingpad { ptr, i32 } +_ZN5Yosys5RTLIL5ConstD2Ev.exit325: ; preds = %878, %881 + %882 = load i32, ptr %58, align 4 + %883 = load i8, ptr @_ZN5Yosys5RTLIL8IdString17destruct_guard_okE, align 1 + %884 = trunc i8 %883 to i1 + %885 = icmp ne i32 %882, 0 + %or.cond.i.i326 = and i1 %885, %884 + br i1 %or.cond.i.i326, label %886, label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit328 + +886: ; preds = %_ZN5Yosys5RTLIL5ConstD2Ev.exit325 + %887 = sext i32 %882 to i64 + %888 = load ptr, ptr @_ZN5Yosys5RTLIL8IdString24global_refcount_storage_E, align 8 + %889 = getelementptr inbounds i32, ptr %888, i64 %887 + %890 = load i32, ptr %889, align 4 + %891 = add nsw i32 %890, -1 + store i32 %891, ptr %889, align 4 + %892 = icmp sgt i32 %890, 1 + br i1 %892, label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit328, label %893 + +893: ; preds = %886 + invoke void @_ZN5Yosys5RTLIL8IdString14free_referenceEi(i32 noundef %882) + to label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit328 unwind label %894 + +894: ; preds = %893 + %895 = landingpad { ptr, i32 } catch ptr null - %898 = extractvalue { ptr, i32 } %897, 0 - call void @__clang_call_terminate(ptr %898) #28 + %896 = extractvalue { ptr, i32 } %895, 0 + call void @__clang_call_terminate(ptr %896) #28 unreachable -_ZN5Yosys5RTLIL8IdStringD2Ev.exit328: ; preds = %_ZN5Yosys5RTLIL5ConstD2Ev.exit325, %888, %895 - %899 = getelementptr inbounds nuw i8, ptr %18, i64 18 - %900 = load i8, ptr %899, align 2 - %901 = trunc i8 %900 to i1 - br i1 %901, label %902, label %979 +_ZN5Yosys5RTLIL8IdStringD2Ev.exit328: ; preds = %_ZN5Yosys5RTLIL5ConstD2Ev.exit325, %886, %893 + %897 = getelementptr inbounds nuw i8, ptr %18, i64 18 + %898 = load i8, ptr %897, align 2 + %899 = trunc i8 %898 to i1 + br i1 %899, label %900, label %977 -902: ; preds = %_ZN5Yosys5RTLIL8IdStringD2Ev.exit328 - %903 = getelementptr inbounds nuw i8, ptr %1, i64 64 - %904 = load ptr, ptr %903, align 8 +900: ; preds = %_ZN5Yosys5RTLIL8IdStringD2Ev.exit328 + %901 = getelementptr inbounds nuw i8, ptr %1, i64 64 + %902 = load ptr, ptr %901, align 8 call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %62) #25 invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %61, ptr noundef nonnull @.str.79, ptr noundef nonnull align 1 dereferenceable(1) %62) - to label %905 unwind label %946 + to label %903 unwind label %944 -905: ; preds = %902 +903: ; preds = %900 call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %64) #25 invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %63, ptr noundef nonnull @__FUNCTION__._ZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsE, ptr noundef nonnull align 1 dereferenceable(1) %64) - to label %906 unwind label %948 + to label %904 unwind label %946 -906: ; preds = %905 +904: ; preds = %903 invoke void @_ZN5Yosys6new_idENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiS5_(ptr dead_on_unwind nonnull writable sret(%"struct.Yosys::RTLIL::IdString") align 4 %60, ptr noundef nonnull %61, i32 noundef 668, ptr noundef nonnull %63) - to label %907 unwind label %950 + to label %905 unwind label %948 -907: ; preds = %906 - %908 = invoke noundef ptr @_ZN5Yosys5RTLIL6Module7addWireENS0_8IdStringEi(ptr noundef nonnull align 8 dereferenceable(560) %904, ptr noundef nonnull %60, i32 noundef 1) - to label %909 unwind label %952 +905: ; preds = %904 + %906 = invoke noundef ptr @_ZN5Yosys5RTLIL6Module7addWireENS0_8IdStringEi(ptr noundef nonnull align 8 dereferenceable(560) %902, ptr noundef nonnull %60, i32 noundef 1) + to label %907 unwind label %950 -909: ; preds = %907 +907: ; preds = %905 call void @_ZN5Yosys5RTLIL8IdStringD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %60) #25 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #25 call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %64) #25 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #25 call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %62) #25 - %910 = load ptr, ptr %903, align 8 + %908 = load ptr, ptr %901, align 8 call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %67) #25 invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %66, ptr noundef nonnull @.str.79, ptr noundef nonnull align 1 dereferenceable(1) %67) - to label %911 unwind label %957 + to label %909 unwind label %955 -911: ; preds = %909 +909: ; preds = %907 call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %69) #25 invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %68, ptr noundef nonnull @__FUNCTION__._ZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsE, ptr noundef nonnull align 1 dereferenceable(1) %69) - to label %912 unwind label %959 + to label %910 unwind label %957 -912: ; preds = %911 +910: ; preds = %909 invoke void @_ZN5Yosys6new_idENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiS5_(ptr dead_on_unwind nonnull writable sret(%"struct.Yosys::RTLIL::IdString") align 4 %65, ptr noundef nonnull %66, i32 noundef 669, ptr noundef nonnull %68) - to label %913 unwind label %961 + to label %911 unwind label %959 -913: ; preds = %912 - invoke void @_ZN5Yosys5RTLIL7SigSpecC1EPNS0_4WireE(ptr noundef nonnull align 8 dereferenceable(64) %70, ptr noundef %908) - to label %914 unwind label %963 +911: ; preds = %910 + invoke void @_ZN5Yosys5RTLIL7SigSpecC1EPNS0_4WireE(ptr noundef nonnull align 8 dereferenceable(64) %70, ptr noundef %906) + to label %912 unwind label %961 -914: ; preds = %913 +912: ; preds = %911 call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %72) #25 invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %71, ptr noundef nonnull @.str.22, ptr noundef nonnull align 1 dereferenceable(1) %72) - to label %915 unwind label %965 + to label %913 unwind label %963 -915: ; preds = %914 - %916 = invoke noundef ptr @_ZN5Yosys5RTLIL6Module6addNotENS0_8IdStringERKNS0_7SigSpecES5_bRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(560) %910, ptr noundef nonnull %65, ptr noundef nonnull align 8 dereferenceable(64) %387, ptr noundef nonnull align 8 dereferenceable(64) %70, i1 noundef zeroext false, ptr noundef nonnull align 8 dereferenceable(32) %71) - to label %917 unwind label %967 +913: ; preds = %912 + %914 = invoke noundef ptr @_ZN5Yosys5RTLIL6Module6addNotENS0_8IdStringERKNS0_7SigSpecES5_bRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(560) %908, ptr noundef nonnull %65, ptr noundef nonnull align 8 dereferenceable(64) %385, ptr noundef nonnull align 8 dereferenceable(64) %70, i1 noundef zeroext false, ptr noundef nonnull align 8 dereferenceable(32) %71) + to label %915 unwind label %965 -917: ; preds = %915 +915: ; preds = %913 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %71) #25 call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %72) #25 call void @_ZN5Yosys5RTLIL7SigSpecD2Ev(ptr noundef nonnull align 8 dereferenceable(64) %70) #25 @@ -4603,1889 +4598,1889 @@ _ZN5Yosys5RTLIL8IdStringD2Ev.exit328: ; preds = %_ZN5Yosys5RTLIL5Con call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %66) #25 call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %67) #25 invoke fastcc void @"_ZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_12clEv"(ptr dead_on_unwind noalias writable align 4 %73) - to label %918 unwind label %583 + to label %916 unwind label %581 -918: ; preds = %917 - invoke void @_ZN5Yosys5RTLIL7SigSpecC1EPNS0_4WireE(ptr noundef nonnull align 8 dereferenceable(64) %74, ptr noundef %908) - to label %919 unwind label %974 +916: ; preds = %915 + invoke void @_ZN5Yosys5RTLIL7SigSpecC1EPNS0_4WireE(ptr noundef nonnull align 8 dereferenceable(64) %74, ptr noundef %906) + to label %917 unwind label %972 -919: ; preds = %918 +917: ; preds = %916 invoke void @_ZN5Yosys5RTLIL4Cell7setPortERKNS0_8IdStringENS0_7SigSpecE(ptr noundef nonnull align 8 dereferenceable(192) %1, ptr noundef nonnull align 4 dereferenceable(4) %73, ptr noundef nonnull %74) - to label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit365.sink.split unwind label %976 + to label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit365.sink.split unwind label %974 -920: ; preds = %761 - %921 = landingpad { ptr, i32 } +918: ; preds = %759 + %919 = landingpad { ptr, i32 } cleanup br label %_ZN5Yosys5RTLIL5ConstD2Ev.exit330 -922: ; preds = %764 - %923 = landingpad { ptr, i32 } +920: ; preds = %762 + %921 = landingpad { ptr, i32 } cleanup - %924 = getelementptr inbounds nuw i8, ptr %53, i64 8 - %925 = load ptr, ptr %924, align 8 - %.not.i.i.i.i329 = icmp eq ptr %925, null - br i1 %.not.i.i.i.i329, label %_ZN5Yosys5RTLIL5ConstD2Ev.exit330, label %926 + %922 = getelementptr inbounds nuw i8, ptr %53, i64 8 + %923 = load ptr, ptr %922, align 8 + %.not.i.i.i.i329 = icmp eq ptr %923, null + br i1 %.not.i.i.i.i329, label %_ZN5Yosys5RTLIL5ConstD2Ev.exit330, label %924 -926: ; preds = %922 - call void @_ZdlPv(ptr noundef nonnull %925) #26 +924: ; preds = %920 + call void @_ZdlPv(ptr noundef nonnull %923) #26 br label %_ZN5Yosys5RTLIL5ConstD2Ev.exit330 -_ZN5Yosys5RTLIL5ConstD2Ev.exit330: ; preds = %926, %922, %920 - %.pn114 = phi { ptr, i32 } [ %921, %920 ], [ %923, %922 ], [ %923, %926 ] +_ZN5Yosys5RTLIL5ConstD2Ev.exit330: ; preds = %924, %920, %918 + %.pn114 = phi { ptr, i32 } [ %919, %918 ], [ %921, %920 ], [ %921, %924 ] call void @_ZN5Yosys5RTLIL8IdStringD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %52) #25 br label %.body228 -927: ; preds = %785 - %928 = landingpad { ptr, i32 } +925: ; preds = %783 + %926 = landingpad { ptr, i32 } cleanup - %929 = getelementptr inbounds nuw i8, ptr %54, i64 8 - %930 = load ptr, ptr %929, align 8 - %.not.i.i.i.i331 = icmp eq ptr %930, null - br i1 %.not.i.i.i.i331, label %.body228, label %931 + %927 = getelementptr inbounds nuw i8, ptr %54, i64 8 + %928 = load ptr, ptr %927, align 8 + %.not.i.i.i.i331 = icmp eq ptr %928, null + br i1 %.not.i.i.i.i331, label %.body228, label %929 -931: ; preds = %927 - call void @_ZdlPv(ptr noundef nonnull %930) #26 +929: ; preds = %925 + call void @_ZdlPv(ptr noundef nonnull %928) #26 br label %.body228 -932: ; preds = %791 - %933 = landingpad { ptr, i32 } +930: ; preds = %789 + %931 = landingpad { ptr, i32 } cleanup call void @_ZN5Yosys5RTLIL7SigSpecD2Ev(ptr noundef nonnull align 8 dereferenceable(64) %55) #25 br label %.body228 -934: ; preds = %824 - %935 = landingpad { ptr, i32 } +932: ; preds = %822 + %933 = landingpad { ptr, i32 } cleanup - br label %938 + br label %936 -936: ; preds = %826 - %937 = landingpad { ptr, i32 } +934: ; preds = %824 + %935 = landingpad { ptr, i32 } cleanup call void @_ZN5Yosys5RTLIL7SigSpecD2Ev(ptr noundef nonnull align 8 dereferenceable(64) %57) #25 - br label %938 + br label %936 -938: ; preds = %936, %934 - %.pn116 = phi { ptr, i32 } [ %937, %936 ], [ %935, %934 ] +936: ; preds = %934, %932 + %.pn116 = phi { ptr, i32 } [ %935, %934 ], [ %933, %932 ] call void @_ZN5Yosys5RTLIL8IdStringD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %56) #25 br label %.body228 -939: ; preds = %878 - %940 = landingpad { ptr, i32 } +937: ; preds = %876 + %938 = landingpad { ptr, i32 } cleanup br label %_ZN5Yosys5RTLIL5ConstD2Ev.exit334 -941: ; preds = %879 - %942 = landingpad { ptr, i32 } +939: ; preds = %877 + %940 = landingpad { ptr, i32 } cleanup - %943 = getelementptr inbounds nuw i8, ptr %59, i64 8 - %944 = load ptr, ptr %943, align 8 - %.not.i.i.i.i333 = icmp eq ptr %944, null - br i1 %.not.i.i.i.i333, label %_ZN5Yosys5RTLIL5ConstD2Ev.exit334, label %945 + %941 = getelementptr inbounds nuw i8, ptr %59, i64 8 + %942 = load ptr, ptr %941, align 8 + %.not.i.i.i.i333 = icmp eq ptr %942, null + br i1 %.not.i.i.i.i333, label %_ZN5Yosys5RTLIL5ConstD2Ev.exit334, label %943 -945: ; preds = %941 - call void @_ZdlPv(ptr noundef nonnull %944) #26 +943: ; preds = %939 + call void @_ZdlPv(ptr noundef nonnull %942) #26 br label %_ZN5Yosys5RTLIL5ConstD2Ev.exit334 -_ZN5Yosys5RTLIL5ConstD2Ev.exit334: ; preds = %945, %941, %939 - %.pn123 = phi { ptr, i32 } [ %940, %939 ], [ %942, %941 ], [ %942, %945 ] +_ZN5Yosys5RTLIL5ConstD2Ev.exit334: ; preds = %943, %939, %937 + %.pn123 = phi { ptr, i32 } [ %938, %937 ], [ %940, %939 ], [ %940, %943 ] call void @_ZN5Yosys5RTLIL8IdStringD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %58) #25 br label %.body228 -946: ; preds = %902 +944: ; preds = %900 + %945 = landingpad { ptr, i32 } + cleanup + br label %954 + +946: ; preds = %903 %947 = landingpad { ptr, i32 } cleanup - br label %956 + br label %953 -948: ; preds = %905 +948: ; preds = %904 %949 = landingpad { ptr, i32 } cleanup - br label %955 + br label %952 -950: ; preds = %906 +950: ; preds = %905 %951 = landingpad { ptr, i32 } cleanup - br label %954 - -952: ; preds = %907 - %953 = landingpad { ptr, i32 } - cleanup call void @_ZN5Yosys5RTLIL8IdStringD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %60) #25 - br label %954 + br label %952 -954: ; preds = %952, %950 - %.pn127 = phi { ptr, i32 } [ %953, %952 ], [ %951, %950 ] +952: ; preds = %950, %948 + %.pn127 = phi { ptr, i32 } [ %951, %950 ], [ %949, %948 ] call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #25 - br label %955 + br label %953 -955: ; preds = %954, %948 - %.pn127.pn = phi { ptr, i32 } [ %.pn127, %954 ], [ %949, %948 ] +953: ; preds = %952, %946 + %.pn127.pn = phi { ptr, i32 } [ %.pn127, %952 ], [ %947, %946 ] call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %64) #25 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #25 - br label %956 + br label %954 -956: ; preds = %955, %946 - %.pn127.pn.pn = phi { ptr, i32 } [ %.pn127.pn, %955 ], [ %947, %946 ] +954: ; preds = %953, %944 + %.pn127.pn.pn = phi { ptr, i32 } [ %.pn127.pn, %953 ], [ %945, %944 ] call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %62) #25 br label %.body228 +955: ; preds = %907 + %956 = landingpad { ptr, i32 } + cleanup + br label %971 + 957: ; preds = %909 %958 = landingpad { ptr, i32 } cleanup - br label %973 + br label %970 -959: ; preds = %911 +959: ; preds = %910 %960 = landingpad { ptr, i32 } cleanup - br label %972 + br label %969 -961: ; preds = %912 +961: ; preds = %911 %962 = landingpad { ptr, i32 } cleanup - br label %971 + br label %968 -963: ; preds = %913 +963: ; preds = %912 %964 = landingpad { ptr, i32 } cleanup - br label %970 + br label %967 -965: ; preds = %914 +965: ; preds = %913 %966 = landingpad { ptr, i32 } cleanup - br label %969 - -967: ; preds = %915 - %968 = landingpad { ptr, i32 } - cleanup call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %71) #25 - br label %969 + br label %967 -969: ; preds = %967, %965 - %.pn131 = phi { ptr, i32 } [ %968, %967 ], [ %966, %965 ] +967: ; preds = %965, %963 + %.pn131 = phi { ptr, i32 } [ %966, %965 ], [ %964, %963 ] call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %72) #25 call void @_ZN5Yosys5RTLIL7SigSpecD2Ev(ptr noundef nonnull align 8 dereferenceable(64) %70) #25 - br label %970 + br label %968 -970: ; preds = %969, %963 - %.pn131.pn = phi { ptr, i32 } [ %.pn131, %969 ], [ %964, %963 ] +968: ; preds = %967, %961 + %.pn131.pn = phi { ptr, i32 } [ %.pn131, %967 ], [ %962, %961 ] call void @_ZN5Yosys5RTLIL8IdStringD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %65) #25 - br label %971 + br label %969 -971: ; preds = %970, %961 - %.pn131.pn.pn = phi { ptr, i32 } [ %.pn131.pn, %970 ], [ %962, %961 ] +969: ; preds = %968, %959 + %.pn131.pn.pn = phi { ptr, i32 } [ %.pn131.pn, %968 ], [ %960, %959 ] call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %68) #25 - br label %972 + br label %970 -972: ; preds = %971, %959 - %.pn131.pn.pn.pn = phi { ptr, i32 } [ %.pn131.pn.pn, %971 ], [ %960, %959 ] +970: ; preds = %969, %957 + %.pn131.pn.pn.pn = phi { ptr, i32 } [ %.pn131.pn.pn, %969 ], [ %958, %957 ] call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %69) #25 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %66) #25 - br label %973 + br label %971 -973: ; preds = %972, %957 - %.pn131.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn131.pn.pn.pn, %972 ], [ %958, %957 ] +971: ; preds = %970, %955 + %.pn131.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn131.pn.pn.pn, %970 ], [ %956, %955 ] call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %67) #25 br label %.body228 -974: ; preds = %918 - %975 = landingpad { ptr, i32 } +972: ; preds = %916 + %973 = landingpad { ptr, i32 } cleanup - br label %978 + br label %976 -976: ; preds = %919 - %977 = landingpad { ptr, i32 } +974: ; preds = %917 + %975 = landingpad { ptr, i32 } cleanup call void @_ZN5Yosys5RTLIL7SigSpecD2Ev(ptr noundef nonnull align 8 dereferenceable(64) %74) #25 - br label %978 + br label %976 -978: ; preds = %976, %974 - %.pn137 = phi { ptr, i32 } [ %977, %976 ], [ %975, %974 ] +976: ; preds = %974, %972 + %.pn137 = phi { ptr, i32 } [ %975, %974 ], [ %973, %972 ] call void @_ZN5Yosys5RTLIL8IdStringD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %73) #25 br label %.body228 -979: ; preds = %_ZN5Yosys5RTLIL8IdStringD2Ev.exit328 +977: ; preds = %_ZN5Yosys5RTLIL8IdStringD2Ev.exit328 invoke fastcc void @"_ZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_13clEv"(ptr dead_on_unwind noalias writable align 4 %75) - to label %980 unwind label %583 + to label %978 unwind label %581 -980: ; preds = %979 - invoke void @_ZN5Yosys5RTLIL7SigSpecC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(64) %76, ptr noundef nonnull align 8 dereferenceable(64) %387) - to label %981 unwind label %982 +978: ; preds = %977 + invoke void @_ZN5Yosys5RTLIL7SigSpecC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(64) %76, ptr noundef nonnull align 8 dereferenceable(64) %385) + to label %979 unwind label %980 -981: ; preds = %980 +979: ; preds = %978 invoke void @_ZN5Yosys5RTLIL4Cell7setPortERKNS0_8IdStringENS0_7SigSpecE(ptr noundef nonnull align 8 dereferenceable(192) %1, ptr noundef nonnull align 4 dereferenceable(4) %75, ptr noundef nonnull %76) - to label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit365.sink.split unwind label %984 + to label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit365.sink.split unwind label %982 -982: ; preds = %980 - %983 = landingpad { ptr, i32 } +980: ; preds = %978 + %981 = landingpad { ptr, i32 } cleanup - br label %986 + br label %984 -984: ; preds = %981 - %985 = landingpad { ptr, i32 } +982: ; preds = %979 + %983 = landingpad { ptr, i32 } cleanup call void @_ZN5Yosys5RTLIL7SigSpecD2Ev(ptr noundef nonnull align 8 dereferenceable(64) %76) #25 - br label %986 + br label %984 -986: ; preds = %984, %982 - %.pn125 = phi { ptr, i32 } [ %985, %984 ], [ %983, %982 ] +984: ; preds = %982, %980 + %.pn125 = phi { ptr, i32 } [ %983, %982 ], [ %981, %980 ] call void @_ZN5Yosys5RTLIL8IdStringD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %75) #25 br label %.body228 -987: ; preds = %_ZN5Yosys5RTLIL8IdStringD2Ev.exit319 +985: ; preds = %_ZN5Yosys5RTLIL8IdStringD2Ev.exit319 call void @llvm.experimental.noalias.scope.decl(metadata !70) - %988 = load atomic i8, ptr @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_14clEvE2id" acquire, align 8, !noalias !70 - %989 = icmp eq i8 %988, 0 - br i1 %989, label %990, label %996, !prof !12 + %986 = load atomic i8, ptr @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_14clEvE2id" acquire, align 8, !noalias !70 + %987 = icmp eq i8 %986, 0 + br i1 %987, label %988, label %994, !prof !12 -990: ; preds = %987 - %991 = call i32 @__cxa_guard_acquire(ptr nonnull @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_14clEvE2id") #25, !noalias !70 - %.not.i336 = icmp eq i32 %991, 0 - br i1 %.not.i336, label %996, label %992 +988: ; preds = %985 + %989 = call i32 @__cxa_guard_acquire(ptr nonnull @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_14clEvE2id") #25, !noalias !70 + %.not.i336 = icmp eq i32 %989, 0 + br i1 %.not.i336, label %994, label %990 -992: ; preds = %990 - %993 = invoke noundef i32 @_ZN5Yosys5RTLIL8IdString13get_referenceEPKc(ptr noundef nonnull @.str.105) - to label %994 unwind label %1004, !noalias !70 +990: ; preds = %988 + %991 = invoke noundef i32 @_ZN5Yosys5RTLIL8IdString13get_referenceEPKc(ptr noundef nonnull @.str.105) + to label %992 unwind label %1002, !noalias !70 -994: ; preds = %992 - store i32 %993, ptr @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_14clEvE2id", align 4, !noalias !70 - %995 = call i32 @__cxa_atexit(ptr nonnull @_ZN5Yosys5RTLIL8IdStringD2Ev, ptr nonnull @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_14clEvE2id", ptr nonnull @__dso_handle) #25, !noalias !70 +992: ; preds = %990 + store i32 %991, ptr @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_14clEvE2id", align 4, !noalias !70 + %993 = call i32 @__cxa_atexit(ptr nonnull @_ZN5Yosys5RTLIL8IdStringD2Ev, ptr nonnull @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_14clEvE2id", ptr nonnull @__dso_handle) #25, !noalias !70 call void @__cxa_guard_release(ptr nonnull @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_14clEvE2id") #25, !noalias !70 - br label %996 + br label %994 -996: ; preds = %994, %990, %987 - %997 = load i32, ptr @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_14clEvE2id", align 4, !noalias !70 - %.not.i.i.i335 = icmp eq i32 %997, 0 - br i1 %.not.i.i.i335, label %1006, label %998 +994: ; preds = %992, %988, %985 + %995 = load i32, ptr @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_14clEvE2id", align 4, !noalias !70 + %.not.i.i.i335 = icmp eq i32 %995, 0 + br i1 %.not.i.i.i335, label %1004, label %996 -998: ; preds = %996 - %999 = sext i32 %997 to i64 - %1000 = load ptr, ptr @_ZN5Yosys5RTLIL8IdString24global_refcount_storage_E, align 8, !noalias !70 - %1001 = getelementptr inbounds i32, ptr %1000, i64 %999 - %1002 = load i32, ptr %1001, align 4, !noalias !70 - %1003 = add nsw i32 %1002, 1 - store i32 %1003, ptr %1001, align 4, !noalias !70 - br label %1006 +996: ; preds = %994 + %997 = sext i32 %995 to i64 + %998 = load ptr, ptr @_ZN5Yosys5RTLIL8IdString24global_refcount_storage_E, align 8, !noalias !70 + %999 = getelementptr inbounds i32, ptr %998, i64 %997 + %1000 = load i32, ptr %999, align 4, !noalias !70 + %1001 = add nsw i32 %1000, 1 + store i32 %1001, ptr %999, align 4, !noalias !70 + br label %1004 -1004: ; preds = %992 - %1005 = landingpad { ptr, i32 } +1002: ; preds = %990 + %1003 = landingpad { ptr, i32 } cleanup call void @__cxa_guard_abort(ptr nonnull @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_14clEvE2id") #25, !noalias !70 br label %.body228 -1006: ; preds = %998, %996 - store i32 %997, ptr %77, align 4, !alias.scope !70 +1004: ; preds = %996, %994 + store i32 %995, ptr %77, align 4, !alias.scope !70 invoke void @_ZN5Yosys5RTLIL5ConstC1Eii(ptr noundef nonnull align 8 dereferenceable(32) %78, i32 noundef 0, i32 noundef 32) - to label %1007 unwind label %1080 + to label %1005 unwind label %1078 -1007: ; preds = %1006 +1005: ; preds = %1004 invoke void @_ZN5Yosys5RTLIL4Cell8setParamERKNS0_8IdStringENS0_5ConstE(ptr noundef nonnull align 8 dereferenceable(192) %1, ptr noundef nonnull align 4 dereferenceable(4) %77, ptr noundef nonnull %78) - to label %1008 unwind label %1082 + to label %1006 unwind label %1080 -1008: ; preds = %1007 - %1009 = getelementptr inbounds nuw i8, ptr %78, i64 8 - %1010 = load ptr, ptr %1009, align 8 - %.not.i.i.i.i339 = icmp eq ptr %1010, null - br i1 %.not.i.i.i.i339, label %_ZN5Yosys5RTLIL5ConstD2Ev.exit340, label %1011 +1006: ; preds = %1005 + %1007 = getelementptr inbounds nuw i8, ptr %78, i64 8 + %1008 = load ptr, ptr %1007, align 8 + %.not.i.i.i.i339 = icmp eq ptr %1008, null + br i1 %.not.i.i.i.i339, label %_ZN5Yosys5RTLIL5ConstD2Ev.exit340, label %1009 -1011: ; preds = %1008 - call void @_ZdlPv(ptr noundef nonnull %1010) #26 +1009: ; preds = %1006 + call void @_ZdlPv(ptr noundef nonnull %1008) #26 br label %_ZN5Yosys5RTLIL5ConstD2Ev.exit340 -_ZN5Yosys5RTLIL5ConstD2Ev.exit340: ; preds = %1008, %1011 - %1012 = load i32, ptr %77, align 4 - %1013 = load i8, ptr @_ZN5Yosys5RTLIL8IdString17destruct_guard_okE, align 1 - %1014 = trunc i8 %1013 to i1 - %1015 = icmp ne i32 %1012, 0 - %or.cond.i.i341 = and i1 %1015, %1014 - br i1 %or.cond.i.i341, label %1016, label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit343 - -1016: ; preds = %_ZN5Yosys5RTLIL5ConstD2Ev.exit340 - %1017 = sext i32 %1012 to i64 - %1018 = load ptr, ptr @_ZN5Yosys5RTLIL8IdString24global_refcount_storage_E, align 8 - %1019 = getelementptr inbounds i32, ptr %1018, i64 %1017 - %1020 = load i32, ptr %1019, align 4 - %1021 = add nsw i32 %1020, -1 - store i32 %1021, ptr %1019, align 4 - %1022 = icmp sgt i32 %1020, 1 - br i1 %1022, label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit343, label %1023 - -1023: ; preds = %1016 - invoke void @_ZN5Yosys5RTLIL8IdString14free_referenceEi(i32 noundef %1012) - to label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit343 unwind label %1024 - -1024: ; preds = %1023 - %1025 = landingpad { ptr, i32 } +_ZN5Yosys5RTLIL5ConstD2Ev.exit340: ; preds = %1006, %1009 + %1010 = load i32, ptr %77, align 4 + %1011 = load i8, ptr @_ZN5Yosys5RTLIL8IdString17destruct_guard_okE, align 1 + %1012 = trunc i8 %1011 to i1 + %1013 = icmp ne i32 %1010, 0 + %or.cond.i.i341 = and i1 %1013, %1012 + br i1 %or.cond.i.i341, label %1014, label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit343 + +1014: ; preds = %_ZN5Yosys5RTLIL5ConstD2Ev.exit340 + %1015 = sext i32 %1010 to i64 + %1016 = load ptr, ptr @_ZN5Yosys5RTLIL8IdString24global_refcount_storage_E, align 8 + %1017 = getelementptr inbounds i32, ptr %1016, i64 %1015 + %1018 = load i32, ptr %1017, align 4 + %1019 = add nsw i32 %1018, -1 + store i32 %1019, ptr %1017, align 4 + %1020 = icmp sgt i32 %1018, 1 + br i1 %1020, label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit343, label %1021 + +1021: ; preds = %1014 + invoke void @_ZN5Yosys5RTLIL8IdString14free_referenceEi(i32 noundef %1010) + to label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit343 unwind label %1022 + +1022: ; preds = %1021 + %1023 = landingpad { ptr, i32 } catch ptr null - %1026 = extractvalue { ptr, i32 } %1025, 0 - call void @__clang_call_terminate(ptr %1026) #28 + %1024 = extractvalue { ptr, i32 } %1023, 0 + call void @__clang_call_terminate(ptr %1024) #28 unreachable -_ZN5Yosys5RTLIL8IdStringD2Ev.exit343: ; preds = %_ZN5Yosys5RTLIL5ConstD2Ev.exit340, %1016, %1023 +_ZN5Yosys5RTLIL8IdStringD2Ev.exit343: ; preds = %_ZN5Yosys5RTLIL5ConstD2Ev.exit340, %1014, %1021 call void @llvm.experimental.noalias.scope.decl(metadata !73) - %1027 = load atomic i8, ptr @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_15clEvE2id" acquire, align 8, !noalias !73 - %1028 = icmp eq i8 %1027, 0 - br i1 %1028, label %1029, label %1035, !prof !12 + %1025 = load atomic i8, ptr @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_15clEvE2id" acquire, align 8, !noalias !73 + %1026 = icmp eq i8 %1025, 0 + br i1 %1026, label %1027, label %1033, !prof !12 -1029: ; preds = %_ZN5Yosys5RTLIL8IdStringD2Ev.exit343 - %1030 = call i32 @__cxa_guard_acquire(ptr nonnull @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_15clEvE2id") #25, !noalias !73 - %.not.i345 = icmp eq i32 %1030, 0 - br i1 %.not.i345, label %1035, label %1031 +1027: ; preds = %_ZN5Yosys5RTLIL8IdStringD2Ev.exit343 + %1028 = call i32 @__cxa_guard_acquire(ptr nonnull @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_15clEvE2id") #25, !noalias !73 + %.not.i345 = icmp eq i32 %1028, 0 + br i1 %.not.i345, label %1033, label %1029 -1031: ; preds = %1029 - %1032 = invoke noundef i32 @_ZN5Yosys5RTLIL8IdString13get_referenceEPKc(ptr noundef nonnull @.str.106) - to label %1033 unwind label %1043, !noalias !73 +1029: ; preds = %1027 + %1030 = invoke noundef i32 @_ZN5Yosys5RTLIL8IdString13get_referenceEPKc(ptr noundef nonnull @.str.106) + to label %1031 unwind label %1041, !noalias !73 -1033: ; preds = %1031 - store i32 %1032, ptr @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_15clEvE2id", align 4, !noalias !73 - %1034 = call i32 @__cxa_atexit(ptr nonnull @_ZN5Yosys5RTLIL8IdStringD2Ev, ptr nonnull @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_15clEvE2id", ptr nonnull @__dso_handle) #25, !noalias !73 +1031: ; preds = %1029 + store i32 %1030, ptr @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_15clEvE2id", align 4, !noalias !73 + %1032 = call i32 @__cxa_atexit(ptr nonnull @_ZN5Yosys5RTLIL8IdStringD2Ev, ptr nonnull @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_15clEvE2id", ptr nonnull @__dso_handle) #25, !noalias !73 call void @__cxa_guard_release(ptr nonnull @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_15clEvE2id") #25, !noalias !73 - br label %1035 + br label %1033 -1035: ; preds = %1033, %1029, %_ZN5Yosys5RTLIL8IdStringD2Ev.exit343 - %1036 = load i32, ptr @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_15clEvE2id", align 4, !noalias !73 - %.not.i.i.i344 = icmp eq i32 %1036, 0 - br i1 %.not.i.i.i344, label %1045, label %1037 +1033: ; preds = %1031, %1027, %_ZN5Yosys5RTLIL8IdStringD2Ev.exit343 + %1034 = load i32, ptr @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_15clEvE2id", align 4, !noalias !73 + %.not.i.i.i344 = icmp eq i32 %1034, 0 + br i1 %.not.i.i.i344, label %1043, label %1035 -1037: ; preds = %1035 - %1038 = sext i32 %1036 to i64 - %1039 = load ptr, ptr @_ZN5Yosys5RTLIL8IdString24global_refcount_storage_E, align 8, !noalias !73 - %1040 = getelementptr inbounds i32, ptr %1039, i64 %1038 - %1041 = load i32, ptr %1040, align 4, !noalias !73 - %1042 = add nsw i32 %1041, 1 - store i32 %1042, ptr %1040, align 4, !noalias !73 - br label %1045 +1035: ; preds = %1033 + %1036 = sext i32 %1034 to i64 + %1037 = load ptr, ptr @_ZN5Yosys5RTLIL8IdString24global_refcount_storage_E, align 8, !noalias !73 + %1038 = getelementptr inbounds i32, ptr %1037, i64 %1036 + %1039 = load i32, ptr %1038, align 4, !noalias !73 + %1040 = add nsw i32 %1039, 1 + store i32 %1040, ptr %1038, align 4, !noalias !73 + br label %1043 -1043: ; preds = %1031 - %1044 = landingpad { ptr, i32 } +1041: ; preds = %1029 + %1042 = landingpad { ptr, i32 } cleanup call void @__cxa_guard_abort(ptr nonnull @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_15clEvE2id") #25, !noalias !73 br label %.body228 -1045: ; preds = %1037, %1035 - store i32 %1036, ptr %79, align 4, !alias.scope !73 +1043: ; preds = %1035, %1033 + store i32 %1034, ptr %79, align 4, !alias.scope !73 invoke void @_ZN5Yosys5RTLIL5ConstC1Eii(ptr noundef nonnull align 8 dereferenceable(32) %81, i32 noundef 1, i32 noundef 32) - to label %1046 unwind label %1087 + to label %1044 unwind label %1085 -1046: ; preds = %1045 +1044: ; preds = %1043 invoke void @_ZN5Yosys5RTLIL7SigSpecC1EONS0_5ConstE(ptr noundef nonnull align 8 dereferenceable(64) %80, ptr noundef nonnull align 8 dereferenceable(32) %81) - to label %1047 unwind label %1089 + to label %1045 unwind label %1087 -1047: ; preds = %1046 +1045: ; preds = %1044 invoke void @_ZN5Yosys5RTLIL4Cell7setPortERKNS0_8IdStringENS0_7SigSpecE(ptr noundef nonnull align 8 dereferenceable(192) %1, ptr noundef nonnull align 4 dereferenceable(4) %79, ptr noundef nonnull %80) - to label %1048 unwind label %1091 + to label %1046 unwind label %1089 -1048: ; preds = %1047 - %1049 = getelementptr inbounds nuw i8, ptr %80, i64 40 - %1050 = load ptr, ptr %1049, align 8 - %.not.i.i.i.i348 = icmp eq ptr %1050, null - br i1 %.not.i.i.i.i348, label %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i349, label %1051 +1046: ; preds = %1045 + %1047 = getelementptr inbounds nuw i8, ptr %80, i64 40 + %1048 = load ptr, ptr %1047, align 8 + %.not.i.i.i.i348 = icmp eq ptr %1048, null + br i1 %.not.i.i.i.i348, label %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i349, label %1049 -1051: ; preds = %1048 - call void @_ZdlPv(ptr noundef nonnull %1050) #26 +1049: ; preds = %1046 + call void @_ZdlPv(ptr noundef nonnull %1048) #26 br label %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i349 -_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i349: ; preds = %1051, %1048 - %1052 = getelementptr inbounds nuw i8, ptr %80, i64 16 +_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i349: ; preds = %1049, %1046 + %1050 = getelementptr inbounds nuw i8, ptr %80, i64 16 + %1051 = load ptr, ptr %1050, align 8 + %1052 = getelementptr inbounds nuw i8, ptr %80, i64 24 %1053 = load ptr, ptr %1052, align 8 - %1054 = getelementptr inbounds nuw i8, ptr %80, i64 24 - %1055 = load ptr, ptr %1054, align 8 - %.not4.i.i.i.i.i350 = icmp eq ptr %1053, %1055 + %.not4.i.i.i.i.i350 = icmp eq ptr %1051, %1053 br i1 %.not4.i.i.i.i.i350, label %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i358, label %.lr.ph.i.i.i.i.i351 .lr.ph.i.i.i.i.i351: ; preds = %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i349, %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i354 - %.05.i.i.i.i.i352 = phi ptr [ %1059, %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i354 ], [ %1053, %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i349 ] - %1056 = getelementptr inbounds nuw i8, ptr %.05.i.i.i.i.i352, i64 8 - %1057 = load ptr, ptr %1056, align 8 - %.not.i.i.i.i.i.i.i.i.i.i353 = icmp eq ptr %1057, null - br i1 %.not.i.i.i.i.i.i.i.i.i.i353, label %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i354, label %1058 - -1058: ; preds = %.lr.ph.i.i.i.i.i351 - call void @_ZdlPv(ptr noundef nonnull %1057) #26 + %.05.i.i.i.i.i352 = phi ptr [ %1057, %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i354 ], [ %1051, %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i349 ] + %1054 = getelementptr inbounds nuw i8, ptr %.05.i.i.i.i.i352, i64 8 + %1055 = load ptr, ptr %1054, align 8 + %.not.i.i.i.i.i.i.i.i.i.i353 = icmp eq ptr %1055, null + br i1 %.not.i.i.i.i.i.i.i.i.i.i353, label %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i354, label %1056 + +1056: ; preds = %.lr.ph.i.i.i.i.i351 + call void @_ZdlPv(ptr noundef nonnull %1055) #26 br label %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i354 -_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i354: ; preds = %1058, %.lr.ph.i.i.i.i.i351 - %1059 = getelementptr inbounds nuw i8, ptr %.05.i.i.i.i.i352, i64 40 - %.not.i.i.i.i.i355 = icmp eq ptr %1059, %1055 +_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i354: ; preds = %1056, %.lr.ph.i.i.i.i.i351 + %1057 = getelementptr inbounds nuw i8, ptr %.05.i.i.i.i.i352, i64 40 + %.not.i.i.i.i.i355 = icmp eq ptr %1057, %1053 br i1 %.not.i.i.i.i.i355, label %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i356, label %.lr.ph.i.i.i.i.i351, !llvm.loop !37 _ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i356: ; preds = %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i354 - %.pr.i.i357 = load ptr, ptr %1052, align 8 + %.pr.i.i357 = load ptr, ptr %1050, align 8 br label %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i358 _ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i358: ; preds = %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i356, %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i349 - %1060 = phi ptr [ %.pr.i.i357, %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i356 ], [ %1053, %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i349 ] - %.not.i.i.i1.i359 = icmp eq ptr %1060, null - br i1 %.not.i.i.i1.i359, label %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit360, label %1061 + %1058 = phi ptr [ %.pr.i.i357, %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i356 ], [ %1051, %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i349 ] + %.not.i.i.i1.i359 = icmp eq ptr %1058, null + br i1 %.not.i.i.i1.i359, label %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit360, label %1059 -1061: ; preds = %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i358 - call void @_ZdlPv(ptr noundef nonnull %1060) #26 +1059: ; preds = %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i358 + call void @_ZdlPv(ptr noundef nonnull %1058) #26 br label %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit360 -_ZN5Yosys5RTLIL7SigSpecD2Ev.exit360: ; preds = %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i358, %1061 - %1062 = getelementptr inbounds nuw i8, ptr %81, i64 8 - %1063 = load ptr, ptr %1062, align 8 - %.not.i.i.i.i361 = icmp eq ptr %1063, null - br i1 %.not.i.i.i.i361, label %_ZN5Yosys5RTLIL5ConstD2Ev.exit362, label %1064 +_ZN5Yosys5RTLIL7SigSpecD2Ev.exit360: ; preds = %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i358, %1059 + %1060 = getelementptr inbounds nuw i8, ptr %81, i64 8 + %1061 = load ptr, ptr %1060, align 8 + %.not.i.i.i.i361 = icmp eq ptr %1061, null + br i1 %.not.i.i.i.i361, label %_ZN5Yosys5RTLIL5ConstD2Ev.exit362, label %1062 -1064: ; preds = %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit360 - call void @_ZdlPv(ptr noundef nonnull %1063) #26 +1062: ; preds = %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit360 + call void @_ZdlPv(ptr noundef nonnull %1061) #26 br label %_ZN5Yosys5RTLIL5ConstD2Ev.exit362 -_ZN5Yosys5RTLIL5ConstD2Ev.exit362: ; preds = %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit360, %1064 - %1065 = load i32, ptr %79, align 4 - %1066 = load i8, ptr @_ZN5Yosys5RTLIL8IdString17destruct_guard_okE, align 1 - %1067 = trunc i8 %1066 to i1 - %1068 = icmp ne i32 %1065, 0 - %or.cond.i.i363 = and i1 %1068, %1067 - br i1 %or.cond.i.i363, label %1069, label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit365 - -1069: ; preds = %_ZN5Yosys5RTLIL5ConstD2Ev.exit362 - %1070 = sext i32 %1065 to i64 - %1071 = load ptr, ptr @_ZN5Yosys5RTLIL8IdString24global_refcount_storage_E, align 8 - %1072 = getelementptr inbounds i32, ptr %1071, i64 %1070 - %1073 = load i32, ptr %1072, align 4 - %1074 = add nsw i32 %1073, -1 - store i32 %1074, ptr %1072, align 4 - %1075 = icmp sgt i32 %1073, 1 - br i1 %1075, label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit365, label %1076 - -1076: ; preds = %1069 - invoke void @_ZN5Yosys5RTLIL8IdString14free_referenceEi(i32 noundef %1065) - to label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit365 unwind label %1077 - -1077: ; preds = %1076 - %1078 = landingpad { ptr, i32 } +_ZN5Yosys5RTLIL5ConstD2Ev.exit362: ; preds = %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit360, %1062 + %1063 = load i32, ptr %79, align 4 + %1064 = load i8, ptr @_ZN5Yosys5RTLIL8IdString17destruct_guard_okE, align 1 + %1065 = trunc i8 %1064 to i1 + %1066 = icmp ne i32 %1063, 0 + %or.cond.i.i363 = and i1 %1066, %1065 + br i1 %or.cond.i.i363, label %1067, label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit365 + +1067: ; preds = %_ZN5Yosys5RTLIL5ConstD2Ev.exit362 + %1068 = sext i32 %1063 to i64 + %1069 = load ptr, ptr @_ZN5Yosys5RTLIL8IdString24global_refcount_storage_E, align 8 + %1070 = getelementptr inbounds i32, ptr %1069, i64 %1068 + %1071 = load i32, ptr %1070, align 4 + %1072 = add nsw i32 %1071, -1 + store i32 %1072, ptr %1070, align 4 + %1073 = icmp sgt i32 %1071, 1 + br i1 %1073, label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit365, label %1074 + +1074: ; preds = %1067 + invoke void @_ZN5Yosys5RTLIL8IdString14free_referenceEi(i32 noundef %1063) + to label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit365 unwind label %1075 + +1075: ; preds = %1074 + %1076 = landingpad { ptr, i32 } catch ptr null - %1079 = extractvalue { ptr, i32 } %1078, 0 - call void @__clang_call_terminate(ptr %1079) #28 + %1077 = extractvalue { ptr, i32 } %1076, 0 + call void @__clang_call_terminate(ptr %1077) #28 unreachable -1080: ; preds = %1006 - %1081 = landingpad { ptr, i32 } +1078: ; preds = %1004 + %1079 = landingpad { ptr, i32 } cleanup br label %_ZN5Yosys5RTLIL5ConstD2Ev.exit367 -1082: ; preds = %1007 - %1083 = landingpad { ptr, i32 } +1080: ; preds = %1005 + %1081 = landingpad { ptr, i32 } cleanup - %1084 = getelementptr inbounds nuw i8, ptr %78, i64 8 - %1085 = load ptr, ptr %1084, align 8 - %.not.i.i.i.i366 = icmp eq ptr %1085, null - br i1 %.not.i.i.i.i366, label %_ZN5Yosys5RTLIL5ConstD2Ev.exit367, label %1086 + %1082 = getelementptr inbounds nuw i8, ptr %78, i64 8 + %1083 = load ptr, ptr %1082, align 8 + %.not.i.i.i.i366 = icmp eq ptr %1083, null + br i1 %.not.i.i.i.i366, label %_ZN5Yosys5RTLIL5ConstD2Ev.exit367, label %1084 -1086: ; preds = %1082 - call void @_ZdlPv(ptr noundef nonnull %1085) #26 +1084: ; preds = %1080 + call void @_ZdlPv(ptr noundef nonnull %1083) #26 br label %_ZN5Yosys5RTLIL5ConstD2Ev.exit367 -_ZN5Yosys5RTLIL5ConstD2Ev.exit367: ; preds = %1086, %1082, %1080 - %.pn118 = phi { ptr, i32 } [ %1081, %1080 ], [ %1083, %1082 ], [ %1083, %1086 ] +_ZN5Yosys5RTLIL5ConstD2Ev.exit367: ; preds = %1084, %1080, %1078 + %.pn118 = phi { ptr, i32 } [ %1079, %1078 ], [ %1081, %1080 ], [ %1081, %1084 ] call void @_ZN5Yosys5RTLIL8IdStringD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %77) #25 br label %.body228 -1087: ; preds = %1045 - %1088 = landingpad { ptr, i32 } +1085: ; preds = %1043 + %1086 = landingpad { ptr, i32 } cleanup br label %_ZN5Yosys5RTLIL5ConstD2Ev.exit369 -1089: ; preds = %1046 - %1090 = landingpad { ptr, i32 } +1087: ; preds = %1044 + %1088 = landingpad { ptr, i32 } cleanup - br label %1093 + br label %1091 -1091: ; preds = %1047 - %1092 = landingpad { ptr, i32 } +1089: ; preds = %1045 + %1090 = landingpad { ptr, i32 } cleanup call void @_ZN5Yosys5RTLIL7SigSpecD2Ev(ptr noundef nonnull align 8 dereferenceable(64) %80) #25 - br label %1093 + br label %1091 -1093: ; preds = %1091, %1089 - %.pn120 = phi { ptr, i32 } [ %1092, %1091 ], [ %1090, %1089 ] - %1094 = getelementptr inbounds nuw i8, ptr %81, i64 8 - %1095 = load ptr, ptr %1094, align 8 - %.not.i.i.i.i368 = icmp eq ptr %1095, null - br i1 %.not.i.i.i.i368, label %_ZN5Yosys5RTLIL5ConstD2Ev.exit369, label %1096 +1091: ; preds = %1089, %1087 + %.pn120 = phi { ptr, i32 } [ %1090, %1089 ], [ %1088, %1087 ] + %1092 = getelementptr inbounds nuw i8, ptr %81, i64 8 + %1093 = load ptr, ptr %1092, align 8 + %.not.i.i.i.i368 = icmp eq ptr %1093, null + br i1 %.not.i.i.i.i368, label %_ZN5Yosys5RTLIL5ConstD2Ev.exit369, label %1094 -1096: ; preds = %1093 - call void @_ZdlPv(ptr noundef nonnull %1095) #26 +1094: ; preds = %1091 + call void @_ZdlPv(ptr noundef nonnull %1093) #26 br label %_ZN5Yosys5RTLIL5ConstD2Ev.exit369 -_ZN5Yosys5RTLIL5ConstD2Ev.exit369: ; preds = %1096, %1093, %1087 - %.pn120.pn = phi { ptr, i32 } [ %1088, %1087 ], [ %.pn120, %1093 ], [ %.pn120, %1096 ] +_ZN5Yosys5RTLIL5ConstD2Ev.exit369: ; preds = %1094, %1091, %1085 + %.pn120.pn = phi { ptr, i32 } [ %1086, %1085 ], [ %.pn120, %1091 ], [ %.pn120, %1094 ] call void @_ZN5Yosys5RTLIL8IdStringD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %79) #25 br label %.body228 -_ZN5Yosys5RTLIL8IdStringD2Ev.exit365.sink.split: ; preds = %981, %919 - %.sink590 = phi ptr [ %74, %919 ], [ %76, %981 ] - %.sink589 = phi ptr [ %73, %919 ], [ %75, %981 ] +_ZN5Yosys5RTLIL8IdStringD2Ev.exit365.sink.split: ; preds = %979, %917 + %.sink590 = phi ptr [ %74, %917 ], [ %76, %979 ] + %.sink589 = phi ptr [ %73, %917 ], [ %75, %979 ] call void @_ZN5Yosys5RTLIL7SigSpecD2Ev(ptr noundef nonnull align 8 dereferenceable(64) %.sink590) #25 call void @_ZN5Yosys5RTLIL8IdStringD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %.sink589) #25 br label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit365 -_ZN5Yosys5RTLIL8IdStringD2Ev.exit365: ; preds = %_ZN5Yosys5RTLIL8IdStringD2Ev.exit365.sink.split, %1076, %1069, %_ZN5Yosys5RTLIL5ConstD2Ev.exit362 - %1097 = getelementptr inbounds nuw i8, ptr %18, i64 4 - %1098 = load i8, ptr %1097, align 4 - %1099 = trunc i8 %1098 to i1 - br i1 %1099, label %1100, label %1214 +_ZN5Yosys5RTLIL8IdStringD2Ev.exit365: ; preds = %_ZN5Yosys5RTLIL8IdStringD2Ev.exit365.sink.split, %1074, %1067, %_ZN5Yosys5RTLIL5ConstD2Ev.exit362 + %1095 = getelementptr inbounds nuw i8, ptr %18, i64 4 + %1096 = load i8, ptr %1095, align 4 + %1097 = trunc i8 %1096 to i1 + br i1 %1097, label %1098, label %1212 -1100: ; preds = %_ZN5Yosys5RTLIL8IdStringD2Ev.exit365 +1098: ; preds = %_ZN5Yosys5RTLIL8IdStringD2Ev.exit365 call void @llvm.experimental.noalias.scope.decl(metadata !76) - %1101 = load atomic i8, ptr @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_16clEvE2id" acquire, align 8, !noalias !76 - %1102 = icmp eq i8 %1101, 0 - br i1 %1102, label %1103, label %1109, !prof !12 + %1099 = load atomic i8, ptr @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_16clEvE2id" acquire, align 8, !noalias !76 + %1100 = icmp eq i8 %1099, 0 + br i1 %1100, label %1101, label %1107, !prof !12 -1103: ; preds = %1100 - %1104 = call i32 @__cxa_guard_acquire(ptr nonnull @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_16clEvE2id") #25, !noalias !76 - %.not.i371 = icmp eq i32 %1104, 0 - br i1 %.not.i371, label %1109, label %1105 +1101: ; preds = %1098 + %1102 = call i32 @__cxa_guard_acquire(ptr nonnull @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_16clEvE2id") #25, !noalias !76 + %.not.i371 = icmp eq i32 %1102, 0 + br i1 %.not.i371, label %1107, label %1103 -1105: ; preds = %1103 - %1106 = invoke noundef i32 @_ZN5Yosys5RTLIL8IdString13get_referenceEPKc(ptr noundef nonnull @.str.107) - to label %1107 unwind label %1117, !noalias !76 +1103: ; preds = %1101 + %1104 = invoke noundef i32 @_ZN5Yosys5RTLIL8IdString13get_referenceEPKc(ptr noundef nonnull @.str.107) + to label %1105 unwind label %1115, !noalias !76 -1107: ; preds = %1105 - store i32 %1106, ptr @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_16clEvE2id", align 4, !noalias !76 - %1108 = call i32 @__cxa_atexit(ptr nonnull @_ZN5Yosys5RTLIL8IdStringD2Ev, ptr nonnull @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_16clEvE2id", ptr nonnull @__dso_handle) #25, !noalias !76 +1105: ; preds = %1103 + store i32 %1104, ptr @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_16clEvE2id", align 4, !noalias !76 + %1106 = call i32 @__cxa_atexit(ptr nonnull @_ZN5Yosys5RTLIL8IdStringD2Ev, ptr nonnull @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_16clEvE2id", ptr nonnull @__dso_handle) #25, !noalias !76 call void @__cxa_guard_release(ptr nonnull @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_16clEvE2id") #25, !noalias !76 - br label %1109 + br label %1107 -1109: ; preds = %1107, %1103, %1100 - %1110 = load i32, ptr @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_16clEvE2id", align 4, !noalias !76 - %.not.i.i.i370 = icmp eq i32 %1110, 0 - br i1 %.not.i.i.i370, label %1119, label %1111 +1107: ; preds = %1105, %1101, %1098 + %1108 = load i32, ptr @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_16clEvE2id", align 4, !noalias !76 + %.not.i.i.i370 = icmp eq i32 %1108, 0 + br i1 %.not.i.i.i370, label %1117, label %1109 -1111: ; preds = %1109 - %1112 = sext i32 %1110 to i64 - %1113 = load ptr, ptr @_ZN5Yosys5RTLIL8IdString24global_refcount_storage_E, align 8, !noalias !76 - %1114 = getelementptr inbounds i32, ptr %1113, i64 %1112 - %1115 = load i32, ptr %1114, align 4, !noalias !76 - %1116 = add nsw i32 %1115, 1 - store i32 %1116, ptr %1114, align 4, !noalias !76 - br label %1119 +1109: ; preds = %1107 + %1110 = sext i32 %1108 to i64 + %1111 = load ptr, ptr @_ZN5Yosys5RTLIL8IdString24global_refcount_storage_E, align 8, !noalias !76 + %1112 = getelementptr inbounds i32, ptr %1111, i64 %1110 + %1113 = load i32, ptr %1112, align 4, !noalias !76 + %1114 = add nsw i32 %1113, 1 + store i32 %1114, ptr %1112, align 4, !noalias !76 + br label %1117 -1117: ; preds = %1105 - %1118 = landingpad { ptr, i32 } +1115: ; preds = %1103 + %1116 = landingpad { ptr, i32 } cleanup call void @__cxa_guard_abort(ptr nonnull @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_16clEvE2id") #25, !noalias !76 br label %.body228 -1119: ; preds = %1111, %1109 - store i32 %1110, ptr %82, align 4, !alias.scope !76 +1117: ; preds = %1109, %1107 + store i32 %1108, ptr %82, align 4, !alias.scope !76 call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %85) #25 invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %84, ptr noundef nonnull @.str.81, ptr noundef nonnull align 1 dereferenceable(1) %85) - to label %1120 unwind label %1194 + to label %1118 unwind label %1192 -1120: ; preds = %1119 +1118: ; preds = %1117 invoke void @_ZN5Yosys5RTLIL5ConstC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(32) %83, ptr noundef nonnull align 8 dereferenceable(32) %84) - to label %1121 unwind label %1196 + to label %1119 unwind label %1194 -1121: ; preds = %1120 +1119: ; preds = %1118 invoke void @_ZN5Yosys5RTLIL4Cell8setParamERKNS0_8IdStringENS0_5ConstE(ptr noundef nonnull align 8 dereferenceable(192) %1, ptr noundef nonnull align 4 dereferenceable(4) %82, ptr noundef nonnull %83) - to label %1122 unwind label %1198 + to label %1120 unwind label %1196 -1122: ; preds = %1121 - %1123 = getelementptr inbounds nuw i8, ptr %83, i64 8 - %1124 = load ptr, ptr %1123, align 8 - %.not.i.i.i.i374 = icmp eq ptr %1124, null - br i1 %.not.i.i.i.i374, label %_ZN5Yosys5RTLIL5ConstD2Ev.exit375, label %1125 +1120: ; preds = %1119 + %1121 = getelementptr inbounds nuw i8, ptr %83, i64 8 + %1122 = load ptr, ptr %1121, align 8 + %.not.i.i.i.i374 = icmp eq ptr %1122, null + br i1 %.not.i.i.i.i374, label %_ZN5Yosys5RTLIL5ConstD2Ev.exit375, label %1123 -1125: ; preds = %1122 - call void @_ZdlPv(ptr noundef nonnull %1124) #26 +1123: ; preds = %1120 + call void @_ZdlPv(ptr noundef nonnull %1122) #26 br label %_ZN5Yosys5RTLIL5ConstD2Ev.exit375 -_ZN5Yosys5RTLIL5ConstD2Ev.exit375: ; preds = %1122, %1125 +_ZN5Yosys5RTLIL5ConstD2Ev.exit375: ; preds = %1120, %1123 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %84) #25 call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %85) #25 - %1126 = load i32, ptr %82, align 4 - %1127 = load i8, ptr @_ZN5Yosys5RTLIL8IdString17destruct_guard_okE, align 1 - %1128 = trunc i8 %1127 to i1 - %1129 = icmp ne i32 %1126, 0 - %or.cond.i.i376 = and i1 %1129, %1128 - br i1 %or.cond.i.i376, label %1130, label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit378 - -1130: ; preds = %_ZN5Yosys5RTLIL5ConstD2Ev.exit375 - %1131 = sext i32 %1126 to i64 - %1132 = load ptr, ptr @_ZN5Yosys5RTLIL8IdString24global_refcount_storage_E, align 8 - %1133 = getelementptr inbounds i32, ptr %1132, i64 %1131 - %1134 = load i32, ptr %1133, align 4 - %1135 = add nsw i32 %1134, -1 - store i32 %1135, ptr %1133, align 4 - %1136 = icmp sgt i32 %1134, 1 - br i1 %1136, label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit378, label %1137 - -1137: ; preds = %1130 - invoke void @_ZN5Yosys5RTLIL8IdString14free_referenceEi(i32 noundef %1126) - to label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit378 unwind label %1138 - -1138: ; preds = %1137 - %1139 = landingpad { ptr, i32 } + %1124 = load i32, ptr %82, align 4 + %1125 = load i8, ptr @_ZN5Yosys5RTLIL8IdString17destruct_guard_okE, align 1 + %1126 = trunc i8 %1125 to i1 + %1127 = icmp ne i32 %1124, 0 + %or.cond.i.i376 = and i1 %1127, %1126 + br i1 %or.cond.i.i376, label %1128, label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit378 + +1128: ; preds = %_ZN5Yosys5RTLIL5ConstD2Ev.exit375 + %1129 = sext i32 %1124 to i64 + %1130 = load ptr, ptr @_ZN5Yosys5RTLIL8IdString24global_refcount_storage_E, align 8 + %1131 = getelementptr inbounds i32, ptr %1130, i64 %1129 + %1132 = load i32, ptr %1131, align 4 + %1133 = add nsw i32 %1132, -1 + store i32 %1133, ptr %1131, align 4 + %1134 = icmp sgt i32 %1132, 1 + br i1 %1134, label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit378, label %1135 + +1135: ; preds = %1128 + invoke void @_ZN5Yosys5RTLIL8IdString14free_referenceEi(i32 noundef %1124) + to label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit378 unwind label %1136 + +1136: ; preds = %1135 + %1137 = landingpad { ptr, i32 } catch ptr null - %1140 = extractvalue { ptr, i32 } %1139, 0 - call void @__clang_call_terminate(ptr %1140) #28 + %1138 = extractvalue { ptr, i32 } %1137, 0 + call void @__clang_call_terminate(ptr %1138) #28 unreachable -_ZN5Yosys5RTLIL8IdStringD2Ev.exit378: ; preds = %_ZN5Yosys5RTLIL5ConstD2Ev.exit375, %1130, %1137 +_ZN5Yosys5RTLIL8IdStringD2Ev.exit378: ; preds = %_ZN5Yosys5RTLIL5ConstD2Ev.exit375, %1128, %1135 call void @llvm.experimental.noalias.scope.decl(metadata !79) - %1141 = load atomic i8, ptr @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_17clEvE2id" acquire, align 8, !noalias !79 - %1142 = icmp eq i8 %1141, 0 - br i1 %1142, label %1143, label %1149, !prof !12 + %1139 = load atomic i8, ptr @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_17clEvE2id" acquire, align 8, !noalias !79 + %1140 = icmp eq i8 %1139, 0 + br i1 %1140, label %1141, label %1147, !prof !12 -1143: ; preds = %_ZN5Yosys5RTLIL8IdStringD2Ev.exit378 - %1144 = call i32 @__cxa_guard_acquire(ptr nonnull @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_17clEvE2id") #25, !noalias !79 - %.not.i380 = icmp eq i32 %1144, 0 - br i1 %.not.i380, label %1149, label %1145 +1141: ; preds = %_ZN5Yosys5RTLIL8IdStringD2Ev.exit378 + %1142 = call i32 @__cxa_guard_acquire(ptr nonnull @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_17clEvE2id") #25, !noalias !79 + %.not.i380 = icmp eq i32 %1142, 0 + br i1 %.not.i380, label %1147, label %1143 -1145: ; preds = %1143 - %1146 = invoke noundef i32 @_ZN5Yosys5RTLIL8IdString13get_referenceEPKc(ptr noundef nonnull @.str.108) - to label %1147 unwind label %1157, !noalias !79 +1143: ; preds = %1141 + %1144 = invoke noundef i32 @_ZN5Yosys5RTLIL8IdString13get_referenceEPKc(ptr noundef nonnull @.str.108) + to label %1145 unwind label %1155, !noalias !79 -1147: ; preds = %1145 - store i32 %1146, ptr @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_17clEvE2id", align 4, !noalias !79 - %1148 = call i32 @__cxa_atexit(ptr nonnull @_ZN5Yosys5RTLIL8IdStringD2Ev, ptr nonnull @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_17clEvE2id", ptr nonnull @__dso_handle) #25, !noalias !79 +1145: ; preds = %1143 + store i32 %1144, ptr @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_17clEvE2id", align 4, !noalias !79 + %1146 = call i32 @__cxa_atexit(ptr nonnull @_ZN5Yosys5RTLIL8IdStringD2Ev, ptr nonnull @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_17clEvE2id", ptr nonnull @__dso_handle) #25, !noalias !79 call void @__cxa_guard_release(ptr nonnull @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_17clEvE2id") #25, !noalias !79 - br label %1149 + br label %1147 -1149: ; preds = %1147, %1143, %_ZN5Yosys5RTLIL8IdStringD2Ev.exit378 - %1150 = load i32, ptr @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_17clEvE2id", align 4, !noalias !79 - %.not.i.i.i379 = icmp eq i32 %1150, 0 - br i1 %.not.i.i.i379, label %1159, label %1151 +1147: ; preds = %1145, %1141, %_ZN5Yosys5RTLIL8IdStringD2Ev.exit378 + %1148 = load i32, ptr @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_17clEvE2id", align 4, !noalias !79 + %.not.i.i.i379 = icmp eq i32 %1148, 0 + br i1 %.not.i.i.i379, label %1157, label %1149 -1151: ; preds = %1149 - %1152 = sext i32 %1150 to i64 - %1153 = load ptr, ptr @_ZN5Yosys5RTLIL8IdString24global_refcount_storage_E, align 8, !noalias !79 - %1154 = getelementptr inbounds i32, ptr %1153, i64 %1152 - %1155 = load i32, ptr %1154, align 4, !noalias !79 - %1156 = add nsw i32 %1155, 1 - store i32 %1156, ptr %1154, align 4, !noalias !79 - br label %1159 +1149: ; preds = %1147 + %1150 = sext i32 %1148 to i64 + %1151 = load ptr, ptr @_ZN5Yosys5RTLIL8IdString24global_refcount_storage_E, align 8, !noalias !79 + %1152 = getelementptr inbounds i32, ptr %1151, i64 %1150 + %1153 = load i32, ptr %1152, align 4, !noalias !79 + %1154 = add nsw i32 %1153, 1 + store i32 %1154, ptr %1152, align 4, !noalias !79 + br label %1157 -1157: ; preds = %1145 - %1158 = landingpad { ptr, i32 } +1155: ; preds = %1143 + %1156 = landingpad { ptr, i32 } cleanup call void @__cxa_guard_abort(ptr nonnull @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_17clEvE2id") #25, !noalias !79 br label %.body228 -1159: ; preds = %1151, %1149 - store i32 %1150, ptr %86, align 4, !alias.scope !79 +1157: ; preds = %1149, %1147 + store i32 %1148, ptr %86, align 4, !alias.scope !79 invoke void @_ZN5Yosys5RTLIL5ConstC1Eii(ptr noundef nonnull align 8 dereferenceable(32) %88, i32 noundef 1, i32 noundef 32) - to label %1160 unwind label %1204 + to label %1158 unwind label %1202 -1160: ; preds = %1159 +1158: ; preds = %1157 invoke void @_ZN5Yosys5RTLIL7SigSpecC1EONS0_5ConstE(ptr noundef nonnull align 8 dereferenceable(64) %87, ptr noundef nonnull align 8 dereferenceable(32) %88) - to label %1161 unwind label %1206 + to label %1159 unwind label %1204 -1161: ; preds = %1160 +1159: ; preds = %1158 invoke void @_ZN5Yosys5RTLIL4Cell7setPortERKNS0_8IdStringENS0_7SigSpecE(ptr noundef nonnull align 8 dereferenceable(192) %1, ptr noundef nonnull align 4 dereferenceable(4) %86, ptr noundef nonnull %87) - to label %1162 unwind label %1208 + to label %1160 unwind label %1206 -1162: ; preds = %1161 - %1163 = getelementptr inbounds nuw i8, ptr %87, i64 40 - %1164 = load ptr, ptr %1163, align 8 - %.not.i.i.i.i383 = icmp eq ptr %1164, null - br i1 %.not.i.i.i.i383, label %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i384, label %1165 +1160: ; preds = %1159 + %1161 = getelementptr inbounds nuw i8, ptr %87, i64 40 + %1162 = load ptr, ptr %1161, align 8 + %.not.i.i.i.i383 = icmp eq ptr %1162, null + br i1 %.not.i.i.i.i383, label %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i384, label %1163 -1165: ; preds = %1162 - call void @_ZdlPv(ptr noundef nonnull %1164) #26 +1163: ; preds = %1160 + call void @_ZdlPv(ptr noundef nonnull %1162) #26 br label %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i384 -_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i384: ; preds = %1165, %1162 - %1166 = getelementptr inbounds nuw i8, ptr %87, i64 16 +_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i384: ; preds = %1163, %1160 + %1164 = getelementptr inbounds nuw i8, ptr %87, i64 16 + %1165 = load ptr, ptr %1164, align 8 + %1166 = getelementptr inbounds nuw i8, ptr %87, i64 24 %1167 = load ptr, ptr %1166, align 8 - %1168 = getelementptr inbounds nuw i8, ptr %87, i64 24 - %1169 = load ptr, ptr %1168, align 8 - %.not4.i.i.i.i.i385 = icmp eq ptr %1167, %1169 + %.not4.i.i.i.i.i385 = icmp eq ptr %1165, %1167 br i1 %.not4.i.i.i.i.i385, label %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i393, label %.lr.ph.i.i.i.i.i386 .lr.ph.i.i.i.i.i386: ; preds = %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i384, %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i389 - %.05.i.i.i.i.i387 = phi ptr [ %1173, %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i389 ], [ %1167, %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i384 ] - %1170 = getelementptr inbounds nuw i8, ptr %.05.i.i.i.i.i387, i64 8 - %1171 = load ptr, ptr %1170, align 8 - %.not.i.i.i.i.i.i.i.i.i.i388 = icmp eq ptr %1171, null - br i1 %.not.i.i.i.i.i.i.i.i.i.i388, label %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i389, label %1172 - -1172: ; preds = %.lr.ph.i.i.i.i.i386 - call void @_ZdlPv(ptr noundef nonnull %1171) #26 + %.05.i.i.i.i.i387 = phi ptr [ %1171, %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i389 ], [ %1165, %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i384 ] + %1168 = getelementptr inbounds nuw i8, ptr %.05.i.i.i.i.i387, i64 8 + %1169 = load ptr, ptr %1168, align 8 + %.not.i.i.i.i.i.i.i.i.i.i388 = icmp eq ptr %1169, null + br i1 %.not.i.i.i.i.i.i.i.i.i.i388, label %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i389, label %1170 + +1170: ; preds = %.lr.ph.i.i.i.i.i386 + call void @_ZdlPv(ptr noundef nonnull %1169) #26 br label %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i389 -_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i389: ; preds = %1172, %.lr.ph.i.i.i.i.i386 - %1173 = getelementptr inbounds nuw i8, ptr %.05.i.i.i.i.i387, i64 40 - %.not.i.i.i.i.i390 = icmp eq ptr %1173, %1169 +_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i389: ; preds = %1170, %.lr.ph.i.i.i.i.i386 + %1171 = getelementptr inbounds nuw i8, ptr %.05.i.i.i.i.i387, i64 40 + %.not.i.i.i.i.i390 = icmp eq ptr %1171, %1167 br i1 %.not.i.i.i.i.i390, label %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i391, label %.lr.ph.i.i.i.i.i386, !llvm.loop !37 _ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i391: ; preds = %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i389 - %.pr.i.i392 = load ptr, ptr %1166, align 8 + %.pr.i.i392 = load ptr, ptr %1164, align 8 br label %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i393 _ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i393: ; preds = %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i391, %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i384 - %1174 = phi ptr [ %.pr.i.i392, %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i391 ], [ %1167, %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i384 ] - %.not.i.i.i1.i394 = icmp eq ptr %1174, null - br i1 %.not.i.i.i1.i394, label %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit395, label %1175 + %1172 = phi ptr [ %.pr.i.i392, %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i391 ], [ %1165, %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i384 ] + %.not.i.i.i1.i394 = icmp eq ptr %1172, null + br i1 %.not.i.i.i1.i394, label %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit395, label %1173 -1175: ; preds = %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i393 - call void @_ZdlPv(ptr noundef nonnull %1174) #26 +1173: ; preds = %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i393 + call void @_ZdlPv(ptr noundef nonnull %1172) #26 br label %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit395 -_ZN5Yosys5RTLIL7SigSpecD2Ev.exit395: ; preds = %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i393, %1175 - %1176 = getelementptr inbounds nuw i8, ptr %88, i64 8 - %1177 = load ptr, ptr %1176, align 8 - %.not.i.i.i.i396 = icmp eq ptr %1177, null - br i1 %.not.i.i.i.i396, label %_ZN5Yosys5RTLIL5ConstD2Ev.exit397, label %1178 +_ZN5Yosys5RTLIL7SigSpecD2Ev.exit395: ; preds = %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i393, %1173 + %1174 = getelementptr inbounds nuw i8, ptr %88, i64 8 + %1175 = load ptr, ptr %1174, align 8 + %.not.i.i.i.i396 = icmp eq ptr %1175, null + br i1 %.not.i.i.i.i396, label %_ZN5Yosys5RTLIL5ConstD2Ev.exit397, label %1176 -1178: ; preds = %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit395 - call void @_ZdlPv(ptr noundef nonnull %1177) #26 +1176: ; preds = %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit395 + call void @_ZdlPv(ptr noundef nonnull %1175) #26 br label %_ZN5Yosys5RTLIL5ConstD2Ev.exit397 -_ZN5Yosys5RTLIL5ConstD2Ev.exit397: ; preds = %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit395, %1178 - %1179 = load i32, ptr %86, align 4 - %1180 = load i8, ptr @_ZN5Yosys5RTLIL8IdString17destruct_guard_okE, align 1 - %1181 = trunc i8 %1180 to i1 - %1182 = icmp ne i32 %1179, 0 - %or.cond.i.i398 = and i1 %1182, %1181 - br i1 %or.cond.i.i398, label %1183, label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit400 - -1183: ; preds = %_ZN5Yosys5RTLIL5ConstD2Ev.exit397 - %1184 = sext i32 %1179 to i64 - %1185 = load ptr, ptr @_ZN5Yosys5RTLIL8IdString24global_refcount_storage_E, align 8 - %1186 = getelementptr inbounds i32, ptr %1185, i64 %1184 - %1187 = load i32, ptr %1186, align 4 - %1188 = add nsw i32 %1187, -1 - store i32 %1188, ptr %1186, align 4 - %1189 = icmp sgt i32 %1187, 1 - br i1 %1189, label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit400, label %1190 - -1190: ; preds = %1183 - invoke void @_ZN5Yosys5RTLIL8IdString14free_referenceEi(i32 noundef %1179) - to label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit400 unwind label %1191 - -1191: ; preds = %1190 - %1192 = landingpad { ptr, i32 } +_ZN5Yosys5RTLIL5ConstD2Ev.exit397: ; preds = %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit395, %1176 + %1177 = load i32, ptr %86, align 4 + %1178 = load i8, ptr @_ZN5Yosys5RTLIL8IdString17destruct_guard_okE, align 1 + %1179 = trunc i8 %1178 to i1 + %1180 = icmp ne i32 %1177, 0 + %or.cond.i.i398 = and i1 %1180, %1179 + br i1 %or.cond.i.i398, label %1181, label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit400 + +1181: ; preds = %_ZN5Yosys5RTLIL5ConstD2Ev.exit397 + %1182 = sext i32 %1177 to i64 + %1183 = load ptr, ptr @_ZN5Yosys5RTLIL8IdString24global_refcount_storage_E, align 8 + %1184 = getelementptr inbounds i32, ptr %1183, i64 %1182 + %1185 = load i32, ptr %1184, align 4 + %1186 = add nsw i32 %1185, -1 + store i32 %1186, ptr %1184, align 4 + %1187 = icmp sgt i32 %1185, 1 + br i1 %1187, label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit400, label %1188 + +1188: ; preds = %1181 + invoke void @_ZN5Yosys5RTLIL8IdString14free_referenceEi(i32 noundef %1177) + to label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit400 unwind label %1189 + +1189: ; preds = %1188 + %1190 = landingpad { ptr, i32 } catch ptr null - %1193 = extractvalue { ptr, i32 } %1192, 0 - call void @__clang_call_terminate(ptr %1193) #28 + %1191 = extractvalue { ptr, i32 } %1190, 0 + call void @__clang_call_terminate(ptr %1191) #28 unreachable -1194: ; preds = %1119 - %1195 = landingpad { ptr, i32 } +1192: ; preds = %1117 + %1193 = landingpad { ptr, i32 } cleanup - br label %1203 + br label %1201 -1196: ; preds = %1120 - %1197 = landingpad { ptr, i32 } +1194: ; preds = %1118 + %1195 = landingpad { ptr, i32 } cleanup br label %_ZN5Yosys5RTLIL5ConstD2Ev.exit402 -1198: ; preds = %1121 - %1199 = landingpad { ptr, i32 } +1196: ; preds = %1119 + %1197 = landingpad { ptr, i32 } cleanup - %1200 = getelementptr inbounds nuw i8, ptr %83, i64 8 - %1201 = load ptr, ptr %1200, align 8 - %.not.i.i.i.i401 = icmp eq ptr %1201, null - br i1 %.not.i.i.i.i401, label %_ZN5Yosys5RTLIL5ConstD2Ev.exit402, label %1202 + %1198 = getelementptr inbounds nuw i8, ptr %83, i64 8 + %1199 = load ptr, ptr %1198, align 8 + %.not.i.i.i.i401 = icmp eq ptr %1199, null + br i1 %.not.i.i.i.i401, label %_ZN5Yosys5RTLIL5ConstD2Ev.exit402, label %1200 -1202: ; preds = %1198 - call void @_ZdlPv(ptr noundef nonnull %1201) #26 +1200: ; preds = %1196 + call void @_ZdlPv(ptr noundef nonnull %1199) #26 br label %_ZN5Yosys5RTLIL5ConstD2Ev.exit402 -_ZN5Yosys5RTLIL5ConstD2Ev.exit402: ; preds = %1202, %1198, %1196 - %.pn145 = phi { ptr, i32 } [ %1197, %1196 ], [ %1199, %1198 ], [ %1199, %1202 ] +_ZN5Yosys5RTLIL5ConstD2Ev.exit402: ; preds = %1200, %1196, %1194 + %.pn145 = phi { ptr, i32 } [ %1195, %1194 ], [ %1197, %1196 ], [ %1197, %1200 ] call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %84) #25 - br label %1203 + br label %1201 -1203: ; preds = %_ZN5Yosys5RTLIL5ConstD2Ev.exit402, %1194 - %.pn145.pn = phi { ptr, i32 } [ %.pn145, %_ZN5Yosys5RTLIL5ConstD2Ev.exit402 ], [ %1195, %1194 ] +1201: ; preds = %_ZN5Yosys5RTLIL5ConstD2Ev.exit402, %1192 + %.pn145.pn = phi { ptr, i32 } [ %.pn145, %_ZN5Yosys5RTLIL5ConstD2Ev.exit402 ], [ %1193, %1192 ] call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %85) #25 call void @_ZN5Yosys5RTLIL8IdStringD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %82) #25 br label %.body228 -1204: ; preds = %1159 - %1205 = landingpad { ptr, i32 } +1202: ; preds = %1157 + %1203 = landingpad { ptr, i32 } cleanup br label %_ZN5Yosys5RTLIL5ConstD2Ev.exit404 -1206: ; preds = %1160 - %1207 = landingpad { ptr, i32 } +1204: ; preds = %1158 + %1205 = landingpad { ptr, i32 } cleanup - br label %1210 + br label %1208 -1208: ; preds = %1161 - %1209 = landingpad { ptr, i32 } +1206: ; preds = %1159 + %1207 = landingpad { ptr, i32 } cleanup call void @_ZN5Yosys5RTLIL7SigSpecD2Ev(ptr noundef nonnull align 8 dereferenceable(64) %87) #25 - br label %1210 + br label %1208 -1210: ; preds = %1208, %1206 - %.pn148 = phi { ptr, i32 } [ %1209, %1208 ], [ %1207, %1206 ] - %1211 = getelementptr inbounds nuw i8, ptr %88, i64 8 - %1212 = load ptr, ptr %1211, align 8 - %.not.i.i.i.i403 = icmp eq ptr %1212, null - br i1 %.not.i.i.i.i403, label %_ZN5Yosys5RTLIL5ConstD2Ev.exit404, label %1213 +1208: ; preds = %1206, %1204 + %.pn148 = phi { ptr, i32 } [ %1207, %1206 ], [ %1205, %1204 ] + %1209 = getelementptr inbounds nuw i8, ptr %88, i64 8 + %1210 = load ptr, ptr %1209, align 8 + %.not.i.i.i.i403 = icmp eq ptr %1210, null + br i1 %.not.i.i.i.i403, label %_ZN5Yosys5RTLIL5ConstD2Ev.exit404, label %1211 -1213: ; preds = %1210 - call void @_ZdlPv(ptr noundef nonnull %1212) #26 +1211: ; preds = %1208 + call void @_ZdlPv(ptr noundef nonnull %1210) #26 br label %_ZN5Yosys5RTLIL5ConstD2Ev.exit404 -_ZN5Yosys5RTLIL5ConstD2Ev.exit404: ; preds = %1213, %1210, %1204 - %.pn148.pn = phi { ptr, i32 } [ %1205, %1204 ], [ %.pn148, %1210 ], [ %.pn148, %1213 ] +_ZN5Yosys5RTLIL5ConstD2Ev.exit404: ; preds = %1211, %1208, %1202 + %.pn148.pn = phi { ptr, i32 } [ %1203, %1202 ], [ %.pn148, %1208 ], [ %.pn148, %1211 ] call void @_ZN5Yosys5RTLIL8IdStringD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %86) #25 br label %.body228 -1214: ; preds = %_ZN5Yosys5RTLIL8IdStringD2Ev.exit365 +1212: ; preds = %_ZN5Yosys5RTLIL8IdStringD2Ev.exit365 call void @llvm.experimental.noalias.scope.decl(metadata !82) - %1215 = load atomic i8, ptr @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_18clEvE2id" acquire, align 8, !noalias !82 - %1216 = icmp eq i8 %1215, 0 - br i1 %1216, label %1217, label %1223, !prof !12 + %1213 = load atomic i8, ptr @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_18clEvE2id" acquire, align 8, !noalias !82 + %1214 = icmp eq i8 %1213, 0 + br i1 %1214, label %1215, label %1221, !prof !12 -1217: ; preds = %1214 - %1218 = call i32 @__cxa_guard_acquire(ptr nonnull @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_18clEvE2id") #25, !noalias !82 - %.not.i406 = icmp eq i32 %1218, 0 - br i1 %.not.i406, label %1223, label %1219 +1215: ; preds = %1212 + %1216 = call i32 @__cxa_guard_acquire(ptr nonnull @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_18clEvE2id") #25, !noalias !82 + %.not.i406 = icmp eq i32 %1216, 0 + br i1 %.not.i406, label %1221, label %1217 -1219: ; preds = %1217 - %1220 = invoke noundef i32 @_ZN5Yosys5RTLIL8IdString13get_referenceEPKc(ptr noundef nonnull @.str.107) - to label %1221 unwind label %1231, !noalias !82 +1217: ; preds = %1215 + %1218 = invoke noundef i32 @_ZN5Yosys5RTLIL8IdString13get_referenceEPKc(ptr noundef nonnull @.str.107) + to label %1219 unwind label %1229, !noalias !82 -1221: ; preds = %1219 - store i32 %1220, ptr @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_18clEvE2id", align 4, !noalias !82 - %1222 = call i32 @__cxa_atexit(ptr nonnull @_ZN5Yosys5RTLIL8IdStringD2Ev, ptr nonnull @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_18clEvE2id", ptr nonnull @__dso_handle) #25, !noalias !82 +1219: ; preds = %1217 + store i32 %1218, ptr @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_18clEvE2id", align 4, !noalias !82 + %1220 = call i32 @__cxa_atexit(ptr nonnull @_ZN5Yosys5RTLIL8IdStringD2Ev, ptr nonnull @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_18clEvE2id", ptr nonnull @__dso_handle) #25, !noalias !82 call void @__cxa_guard_release(ptr nonnull @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_18clEvE2id") #25, !noalias !82 - br label %1223 + br label %1221 -1223: ; preds = %1221, %1217, %1214 - %1224 = load i32, ptr @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_18clEvE2id", align 4, !noalias !82 - %.not.i.i.i405 = icmp eq i32 %1224, 0 - br i1 %.not.i.i.i405, label %1233, label %1225 +1221: ; preds = %1219, %1215, %1212 + %1222 = load i32, ptr @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_18clEvE2id", align 4, !noalias !82 + %.not.i.i.i405 = icmp eq i32 %1222, 0 + br i1 %.not.i.i.i405, label %1231, label %1223 -1225: ; preds = %1223 - %1226 = sext i32 %1224 to i64 - %1227 = load ptr, ptr @_ZN5Yosys5RTLIL8IdString24global_refcount_storage_E, align 8, !noalias !82 - %1228 = getelementptr inbounds i32, ptr %1227, i64 %1226 - %1229 = load i32, ptr %1228, align 4, !noalias !82 - %1230 = add nsw i32 %1229, 1 - store i32 %1230, ptr %1228, align 4, !noalias !82 - br label %1233 +1223: ; preds = %1221 + %1224 = sext i32 %1222 to i64 + %1225 = load ptr, ptr @_ZN5Yosys5RTLIL8IdString24global_refcount_storage_E, align 8, !noalias !82 + %1226 = getelementptr inbounds i32, ptr %1225, i64 %1224 + %1227 = load i32, ptr %1226, align 4, !noalias !82 + %1228 = add nsw i32 %1227, 1 + store i32 %1228, ptr %1226, align 4, !noalias !82 + br label %1231 -1231: ; preds = %1219 - %1232 = landingpad { ptr, i32 } +1229: ; preds = %1217 + %1230 = landingpad { ptr, i32 } cleanup call void @__cxa_guard_abort(ptr nonnull @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_18clEvE2id") #25, !noalias !82 br label %.body228 -1233: ; preds = %1225, %1223 - store i32 %1224, ptr %89, align 4, !alias.scope !82 +1231: ; preds = %1223, %1221 + store i32 %1222, ptr %89, align 4, !alias.scope !82 call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %92) #25 invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %91, ptr noundef nonnull @.str.82, ptr noundef nonnull align 1 dereferenceable(1) %92) - to label %1234 unwind label %1308 + to label %1232 unwind label %1306 -1234: ; preds = %1233 +1232: ; preds = %1231 invoke void @_ZN5Yosys5RTLIL5ConstC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(32) %90, ptr noundef nonnull align 8 dereferenceable(32) %91) - to label %1235 unwind label %1310 + to label %1233 unwind label %1308 -1235: ; preds = %1234 +1233: ; preds = %1232 invoke void @_ZN5Yosys5RTLIL4Cell8setParamERKNS0_8IdStringENS0_5ConstE(ptr noundef nonnull align 8 dereferenceable(192) %1, ptr noundef nonnull align 4 dereferenceable(4) %89, ptr noundef nonnull %90) - to label %1236 unwind label %1312 + to label %1234 unwind label %1310 -1236: ; preds = %1235 - %1237 = getelementptr inbounds nuw i8, ptr %90, i64 8 - %1238 = load ptr, ptr %1237, align 8 - %.not.i.i.i.i409 = icmp eq ptr %1238, null - br i1 %.not.i.i.i.i409, label %_ZN5Yosys5RTLIL5ConstD2Ev.exit410, label %1239 +1234: ; preds = %1233 + %1235 = getelementptr inbounds nuw i8, ptr %90, i64 8 + %1236 = load ptr, ptr %1235, align 8 + %.not.i.i.i.i409 = icmp eq ptr %1236, null + br i1 %.not.i.i.i.i409, label %_ZN5Yosys5RTLIL5ConstD2Ev.exit410, label %1237 -1239: ; preds = %1236 - call void @_ZdlPv(ptr noundef nonnull %1238) #26 +1237: ; preds = %1234 + call void @_ZdlPv(ptr noundef nonnull %1236) #26 br label %_ZN5Yosys5RTLIL5ConstD2Ev.exit410 -_ZN5Yosys5RTLIL5ConstD2Ev.exit410: ; preds = %1236, %1239 +_ZN5Yosys5RTLIL5ConstD2Ev.exit410: ; preds = %1234, %1237 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %91) #25 call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %92) #25 - %1240 = load i32, ptr %89, align 4 - %1241 = load i8, ptr @_ZN5Yosys5RTLIL8IdString17destruct_guard_okE, align 1 - %1242 = trunc i8 %1241 to i1 - %1243 = icmp ne i32 %1240, 0 - %or.cond.i.i411 = and i1 %1243, %1242 - br i1 %or.cond.i.i411, label %1244, label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit413 - -1244: ; preds = %_ZN5Yosys5RTLIL5ConstD2Ev.exit410 - %1245 = sext i32 %1240 to i64 - %1246 = load ptr, ptr @_ZN5Yosys5RTLIL8IdString24global_refcount_storage_E, align 8 - %1247 = getelementptr inbounds i32, ptr %1246, i64 %1245 - %1248 = load i32, ptr %1247, align 4 - %1249 = add nsw i32 %1248, -1 - store i32 %1249, ptr %1247, align 4 - %1250 = icmp sgt i32 %1248, 1 - br i1 %1250, label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit413, label %1251 - -1251: ; preds = %1244 - invoke void @_ZN5Yosys5RTLIL8IdString14free_referenceEi(i32 noundef %1240) - to label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit413 unwind label %1252 - -1252: ; preds = %1251 - %1253 = landingpad { ptr, i32 } + %1238 = load i32, ptr %89, align 4 + %1239 = load i8, ptr @_ZN5Yosys5RTLIL8IdString17destruct_guard_okE, align 1 + %1240 = trunc i8 %1239 to i1 + %1241 = icmp ne i32 %1238, 0 + %or.cond.i.i411 = and i1 %1241, %1240 + br i1 %or.cond.i.i411, label %1242, label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit413 + +1242: ; preds = %_ZN5Yosys5RTLIL5ConstD2Ev.exit410 + %1243 = sext i32 %1238 to i64 + %1244 = load ptr, ptr @_ZN5Yosys5RTLIL8IdString24global_refcount_storage_E, align 8 + %1245 = getelementptr inbounds i32, ptr %1244, i64 %1243 + %1246 = load i32, ptr %1245, align 4 + %1247 = add nsw i32 %1246, -1 + store i32 %1247, ptr %1245, align 4 + %1248 = icmp sgt i32 %1246, 1 + br i1 %1248, label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit413, label %1249 + +1249: ; preds = %1242 + invoke void @_ZN5Yosys5RTLIL8IdString14free_referenceEi(i32 noundef %1238) + to label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit413 unwind label %1250 + +1250: ; preds = %1249 + %1251 = landingpad { ptr, i32 } catch ptr null - %1254 = extractvalue { ptr, i32 } %1253, 0 - call void @__clang_call_terminate(ptr %1254) #28 + %1252 = extractvalue { ptr, i32 } %1251, 0 + call void @__clang_call_terminate(ptr %1252) #28 unreachable -_ZN5Yosys5RTLIL8IdStringD2Ev.exit413: ; preds = %_ZN5Yosys5RTLIL5ConstD2Ev.exit410, %1244, %1251 +_ZN5Yosys5RTLIL8IdStringD2Ev.exit413: ; preds = %_ZN5Yosys5RTLIL5ConstD2Ev.exit410, %1242, %1249 call void @llvm.experimental.noalias.scope.decl(metadata !85) - %1255 = load atomic i8, ptr @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_19clEvE2id" acquire, align 8, !noalias !85 - %1256 = icmp eq i8 %1255, 0 - br i1 %1256, label %1257, label %1263, !prof !12 + %1253 = load atomic i8, ptr @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_19clEvE2id" acquire, align 8, !noalias !85 + %1254 = icmp eq i8 %1253, 0 + br i1 %1254, label %1255, label %1261, !prof !12 -1257: ; preds = %_ZN5Yosys5RTLIL8IdStringD2Ev.exit413 - %1258 = call i32 @__cxa_guard_acquire(ptr nonnull @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_19clEvE2id") #25, !noalias !85 - %.not.i415 = icmp eq i32 %1258, 0 - br i1 %.not.i415, label %1263, label %1259 +1255: ; preds = %_ZN5Yosys5RTLIL8IdStringD2Ev.exit413 + %1256 = call i32 @__cxa_guard_acquire(ptr nonnull @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_19clEvE2id") #25, !noalias !85 + %.not.i415 = icmp eq i32 %1256, 0 + br i1 %.not.i415, label %1261, label %1257 -1259: ; preds = %1257 - %1260 = invoke noundef i32 @_ZN5Yosys5RTLIL8IdString13get_referenceEPKc(ptr noundef nonnull @.str.108) - to label %1261 unwind label %1271, !noalias !85 +1257: ; preds = %1255 + %1258 = invoke noundef i32 @_ZN5Yosys5RTLIL8IdString13get_referenceEPKc(ptr noundef nonnull @.str.108) + to label %1259 unwind label %1269, !noalias !85 -1261: ; preds = %1259 - store i32 %1260, ptr @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_19clEvE2id", align 4, !noalias !85 - %1262 = call i32 @__cxa_atexit(ptr nonnull @_ZN5Yosys5RTLIL8IdStringD2Ev, ptr nonnull @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_19clEvE2id", ptr nonnull @__dso_handle) #25, !noalias !85 +1259: ; preds = %1257 + store i32 %1258, ptr @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_19clEvE2id", align 4, !noalias !85 + %1260 = call i32 @__cxa_atexit(ptr nonnull @_ZN5Yosys5RTLIL8IdStringD2Ev, ptr nonnull @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_19clEvE2id", ptr nonnull @__dso_handle) #25, !noalias !85 call void @__cxa_guard_release(ptr nonnull @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_19clEvE2id") #25, !noalias !85 - br label %1263 + br label %1261 -1263: ; preds = %1261, %1257, %_ZN5Yosys5RTLIL8IdStringD2Ev.exit413 - %1264 = load i32, ptr @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_19clEvE2id", align 4, !noalias !85 - %.not.i.i.i414 = icmp eq i32 %1264, 0 - br i1 %.not.i.i.i414, label %1273, label %1265 +1261: ; preds = %1259, %1255, %_ZN5Yosys5RTLIL8IdStringD2Ev.exit413 + %1262 = load i32, ptr @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_19clEvE2id", align 4, !noalias !85 + %.not.i.i.i414 = icmp eq i32 %1262, 0 + br i1 %.not.i.i.i414, label %1271, label %1263 -1265: ; preds = %1263 - %1266 = sext i32 %1264 to i64 - %1267 = load ptr, ptr @_ZN5Yosys5RTLIL8IdString24global_refcount_storage_E, align 8, !noalias !85 - %1268 = getelementptr inbounds i32, ptr %1267, i64 %1266 - %1269 = load i32, ptr %1268, align 4, !noalias !85 - %1270 = add nsw i32 %1269, 1 - store i32 %1270, ptr %1268, align 4, !noalias !85 - br label %1273 +1263: ; preds = %1261 + %1264 = sext i32 %1262 to i64 + %1265 = load ptr, ptr @_ZN5Yosys5RTLIL8IdString24global_refcount_storage_E, align 8, !noalias !85 + %1266 = getelementptr inbounds i32, ptr %1265, i64 %1264 + %1267 = load i32, ptr %1266, align 4, !noalias !85 + %1268 = add nsw i32 %1267, 1 + store i32 %1268, ptr %1266, align 4, !noalias !85 + br label %1271 -1271: ; preds = %1259 - %1272 = landingpad { ptr, i32 } +1269: ; preds = %1257 + %1270 = landingpad { ptr, i32 } cleanup call void @__cxa_guard_abort(ptr nonnull @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_19clEvE2id") #25, !noalias !85 br label %.body228 -1273: ; preds = %1265, %1263 - store i32 %1264, ptr %93, align 4, !alias.scope !85 +1271: ; preds = %1263, %1261 + store i32 %1262, ptr %93, align 4, !alias.scope !85 invoke void @_ZN5Yosys5RTLIL5ConstC1Eii(ptr noundef nonnull align 8 dereferenceable(32) %95, i32 noundef 0, i32 noundef 32) - to label %1274 unwind label %1318 + to label %1272 unwind label %1316 -1274: ; preds = %1273 +1272: ; preds = %1271 invoke void @_ZN5Yosys5RTLIL7SigSpecC1EONS0_5ConstE(ptr noundef nonnull align 8 dereferenceable(64) %94, ptr noundef nonnull align 8 dereferenceable(32) %95) - to label %1275 unwind label %1320 + to label %1273 unwind label %1318 -1275: ; preds = %1274 +1273: ; preds = %1272 invoke void @_ZN5Yosys5RTLIL4Cell7setPortERKNS0_8IdStringENS0_7SigSpecE(ptr noundef nonnull align 8 dereferenceable(192) %1, ptr noundef nonnull align 4 dereferenceable(4) %93, ptr noundef nonnull %94) - to label %1276 unwind label %1322 + to label %1274 unwind label %1320 -1276: ; preds = %1275 - %1277 = getelementptr inbounds nuw i8, ptr %94, i64 40 - %1278 = load ptr, ptr %1277, align 8 - %.not.i.i.i.i418 = icmp eq ptr %1278, null - br i1 %.not.i.i.i.i418, label %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i419, label %1279 +1274: ; preds = %1273 + %1275 = getelementptr inbounds nuw i8, ptr %94, i64 40 + %1276 = load ptr, ptr %1275, align 8 + %.not.i.i.i.i418 = icmp eq ptr %1276, null + br i1 %.not.i.i.i.i418, label %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i419, label %1277 -1279: ; preds = %1276 - call void @_ZdlPv(ptr noundef nonnull %1278) #26 +1277: ; preds = %1274 + call void @_ZdlPv(ptr noundef nonnull %1276) #26 br label %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i419 -_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i419: ; preds = %1279, %1276 - %1280 = getelementptr inbounds nuw i8, ptr %94, i64 16 +_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i419: ; preds = %1277, %1274 + %1278 = getelementptr inbounds nuw i8, ptr %94, i64 16 + %1279 = load ptr, ptr %1278, align 8 + %1280 = getelementptr inbounds nuw i8, ptr %94, i64 24 %1281 = load ptr, ptr %1280, align 8 - %1282 = getelementptr inbounds nuw i8, ptr %94, i64 24 - %1283 = load ptr, ptr %1282, align 8 - %.not4.i.i.i.i.i420 = icmp eq ptr %1281, %1283 + %.not4.i.i.i.i.i420 = icmp eq ptr %1279, %1281 br i1 %.not4.i.i.i.i.i420, label %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i428, label %.lr.ph.i.i.i.i.i421 .lr.ph.i.i.i.i.i421: ; preds = %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i419, %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i424 - %.05.i.i.i.i.i422 = phi ptr [ %1287, %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i424 ], [ %1281, %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i419 ] - %1284 = getelementptr inbounds nuw i8, ptr %.05.i.i.i.i.i422, i64 8 - %1285 = load ptr, ptr %1284, align 8 - %.not.i.i.i.i.i.i.i.i.i.i423 = icmp eq ptr %1285, null - br i1 %.not.i.i.i.i.i.i.i.i.i.i423, label %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i424, label %1286 - -1286: ; preds = %.lr.ph.i.i.i.i.i421 - call void @_ZdlPv(ptr noundef nonnull %1285) #26 + %.05.i.i.i.i.i422 = phi ptr [ %1285, %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i424 ], [ %1279, %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i419 ] + %1282 = getelementptr inbounds nuw i8, ptr %.05.i.i.i.i.i422, i64 8 + %1283 = load ptr, ptr %1282, align 8 + %.not.i.i.i.i.i.i.i.i.i.i423 = icmp eq ptr %1283, null + br i1 %.not.i.i.i.i.i.i.i.i.i.i423, label %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i424, label %1284 + +1284: ; preds = %.lr.ph.i.i.i.i.i421 + call void @_ZdlPv(ptr noundef nonnull %1283) #26 br label %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i424 -_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i424: ; preds = %1286, %.lr.ph.i.i.i.i.i421 - %1287 = getelementptr inbounds nuw i8, ptr %.05.i.i.i.i.i422, i64 40 - %.not.i.i.i.i.i425 = icmp eq ptr %1287, %1283 +_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i424: ; preds = %1284, %.lr.ph.i.i.i.i.i421 + %1285 = getelementptr inbounds nuw i8, ptr %.05.i.i.i.i.i422, i64 40 + %.not.i.i.i.i.i425 = icmp eq ptr %1285, %1281 br i1 %.not.i.i.i.i.i425, label %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i426, label %.lr.ph.i.i.i.i.i421, !llvm.loop !37 _ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i426: ; preds = %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i424 - %.pr.i.i427 = load ptr, ptr %1280, align 8 + %.pr.i.i427 = load ptr, ptr %1278, align 8 br label %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i428 _ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i428: ; preds = %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i426, %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i419 - %1288 = phi ptr [ %.pr.i.i427, %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i426 ], [ %1281, %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i419 ] - %.not.i.i.i1.i429 = icmp eq ptr %1288, null - br i1 %.not.i.i.i1.i429, label %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit430, label %1289 + %1286 = phi ptr [ %.pr.i.i427, %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i426 ], [ %1279, %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i419 ] + %.not.i.i.i1.i429 = icmp eq ptr %1286, null + br i1 %.not.i.i.i1.i429, label %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit430, label %1287 -1289: ; preds = %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i428 - call void @_ZdlPv(ptr noundef nonnull %1288) #26 +1287: ; preds = %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i428 + call void @_ZdlPv(ptr noundef nonnull %1286) #26 br label %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit430 -_ZN5Yosys5RTLIL7SigSpecD2Ev.exit430: ; preds = %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i428, %1289 - %1290 = getelementptr inbounds nuw i8, ptr %95, i64 8 - %1291 = load ptr, ptr %1290, align 8 - %.not.i.i.i.i431 = icmp eq ptr %1291, null - br i1 %.not.i.i.i.i431, label %_ZN5Yosys5RTLIL5ConstD2Ev.exit432, label %1292 +_ZN5Yosys5RTLIL7SigSpecD2Ev.exit430: ; preds = %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i428, %1287 + %1288 = getelementptr inbounds nuw i8, ptr %95, i64 8 + %1289 = load ptr, ptr %1288, align 8 + %.not.i.i.i.i431 = icmp eq ptr %1289, null + br i1 %.not.i.i.i.i431, label %_ZN5Yosys5RTLIL5ConstD2Ev.exit432, label %1290 -1292: ; preds = %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit430 - call void @_ZdlPv(ptr noundef nonnull %1291) #26 +1290: ; preds = %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit430 + call void @_ZdlPv(ptr noundef nonnull %1289) #26 br label %_ZN5Yosys5RTLIL5ConstD2Ev.exit432 -_ZN5Yosys5RTLIL5ConstD2Ev.exit432: ; preds = %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit430, %1292 - %1293 = load i32, ptr %93, align 4 - %1294 = load i8, ptr @_ZN5Yosys5RTLIL8IdString17destruct_guard_okE, align 1 - %1295 = trunc i8 %1294 to i1 - %1296 = icmp ne i32 %1293, 0 - %or.cond.i.i433 = and i1 %1296, %1295 - br i1 %or.cond.i.i433, label %1297, label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit400 - -1297: ; preds = %_ZN5Yosys5RTLIL5ConstD2Ev.exit432 - %1298 = sext i32 %1293 to i64 - %1299 = load ptr, ptr @_ZN5Yosys5RTLIL8IdString24global_refcount_storage_E, align 8 - %1300 = getelementptr inbounds i32, ptr %1299, i64 %1298 - %1301 = load i32, ptr %1300, align 4 - %1302 = add nsw i32 %1301, -1 - store i32 %1302, ptr %1300, align 4 - %1303 = icmp sgt i32 %1301, 1 - br i1 %1303, label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit400, label %1304 - -1304: ; preds = %1297 - invoke void @_ZN5Yosys5RTLIL8IdString14free_referenceEi(i32 noundef %1293) - to label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit400 unwind label %1305 - -1305: ; preds = %1304 - %1306 = landingpad { ptr, i32 } +_ZN5Yosys5RTLIL5ConstD2Ev.exit432: ; preds = %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit430, %1290 + %1291 = load i32, ptr %93, align 4 + %1292 = load i8, ptr @_ZN5Yosys5RTLIL8IdString17destruct_guard_okE, align 1 + %1293 = trunc i8 %1292 to i1 + %1294 = icmp ne i32 %1291, 0 + %or.cond.i.i433 = and i1 %1294, %1293 + br i1 %or.cond.i.i433, label %1295, label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit400 + +1295: ; preds = %_ZN5Yosys5RTLIL5ConstD2Ev.exit432 + %1296 = sext i32 %1291 to i64 + %1297 = load ptr, ptr @_ZN5Yosys5RTLIL8IdString24global_refcount_storage_E, align 8 + %1298 = getelementptr inbounds i32, ptr %1297, i64 %1296 + %1299 = load i32, ptr %1298, align 4 + %1300 = add nsw i32 %1299, -1 + store i32 %1300, ptr %1298, align 4 + %1301 = icmp sgt i32 %1299, 1 + br i1 %1301, label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit400, label %1302 + +1302: ; preds = %1295 + invoke void @_ZN5Yosys5RTLIL8IdString14free_referenceEi(i32 noundef %1291) + to label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit400 unwind label %1303 + +1303: ; preds = %1302 + %1304 = landingpad { ptr, i32 } catch ptr null - %1307 = extractvalue { ptr, i32 } %1306, 0 - call void @__clang_call_terminate(ptr %1307) #28 + %1305 = extractvalue { ptr, i32 } %1304, 0 + call void @__clang_call_terminate(ptr %1305) #28 unreachable -1308: ; preds = %1233 - %1309 = landingpad { ptr, i32 } +1306: ; preds = %1231 + %1307 = landingpad { ptr, i32 } cleanup - br label %1317 + br label %1315 -1310: ; preds = %1234 - %1311 = landingpad { ptr, i32 } +1308: ; preds = %1232 + %1309 = landingpad { ptr, i32 } cleanup br label %_ZN5Yosys5RTLIL5ConstD2Ev.exit437 -1312: ; preds = %1235 - %1313 = landingpad { ptr, i32 } +1310: ; preds = %1233 + %1311 = landingpad { ptr, i32 } cleanup - %1314 = getelementptr inbounds nuw i8, ptr %90, i64 8 - %1315 = load ptr, ptr %1314, align 8 - %.not.i.i.i.i436 = icmp eq ptr %1315, null - br i1 %.not.i.i.i.i436, label %_ZN5Yosys5RTLIL5ConstD2Ev.exit437, label %1316 + %1312 = getelementptr inbounds nuw i8, ptr %90, i64 8 + %1313 = load ptr, ptr %1312, align 8 + %.not.i.i.i.i436 = icmp eq ptr %1313, null + br i1 %.not.i.i.i.i436, label %_ZN5Yosys5RTLIL5ConstD2Ev.exit437, label %1314 -1316: ; preds = %1312 - call void @_ZdlPv(ptr noundef nonnull %1315) #26 +1314: ; preds = %1310 + call void @_ZdlPv(ptr noundef nonnull %1313) #26 br label %_ZN5Yosys5RTLIL5ConstD2Ev.exit437 -_ZN5Yosys5RTLIL5ConstD2Ev.exit437: ; preds = %1316, %1312, %1310 - %.pn139 = phi { ptr, i32 } [ %1311, %1310 ], [ %1313, %1312 ], [ %1313, %1316 ] +_ZN5Yosys5RTLIL5ConstD2Ev.exit437: ; preds = %1314, %1310, %1308 + %.pn139 = phi { ptr, i32 } [ %1309, %1308 ], [ %1311, %1310 ], [ %1311, %1314 ] call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %91) #25 - br label %1317 + br label %1315 -1317: ; preds = %_ZN5Yosys5RTLIL5ConstD2Ev.exit437, %1308 - %.pn139.pn = phi { ptr, i32 } [ %.pn139, %_ZN5Yosys5RTLIL5ConstD2Ev.exit437 ], [ %1309, %1308 ] +1315: ; preds = %_ZN5Yosys5RTLIL5ConstD2Ev.exit437, %1306 + %.pn139.pn = phi { ptr, i32 } [ %.pn139, %_ZN5Yosys5RTLIL5ConstD2Ev.exit437 ], [ %1307, %1306 ] call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %92) #25 call void @_ZN5Yosys5RTLIL8IdStringD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %89) #25 br label %.body228 -1318: ; preds = %1273 - %1319 = landingpad { ptr, i32 } +1316: ; preds = %1271 + %1317 = landingpad { ptr, i32 } cleanup br label %_ZN5Yosys5RTLIL5ConstD2Ev.exit439 -1320: ; preds = %1274 - %1321 = landingpad { ptr, i32 } +1318: ; preds = %1272 + %1319 = landingpad { ptr, i32 } cleanup - br label %1324 + br label %1322 -1322: ; preds = %1275 - %1323 = landingpad { ptr, i32 } +1320: ; preds = %1273 + %1321 = landingpad { ptr, i32 } cleanup call void @_ZN5Yosys5RTLIL7SigSpecD2Ev(ptr noundef nonnull align 8 dereferenceable(64) %94) #25 - br label %1324 + br label %1322 -1324: ; preds = %1322, %1320 - %.pn142 = phi { ptr, i32 } [ %1323, %1322 ], [ %1321, %1320 ] - %1325 = getelementptr inbounds nuw i8, ptr %95, i64 8 - %1326 = load ptr, ptr %1325, align 8 - %.not.i.i.i.i438 = icmp eq ptr %1326, null - br i1 %.not.i.i.i.i438, label %_ZN5Yosys5RTLIL5ConstD2Ev.exit439, label %1327 +1322: ; preds = %1320, %1318 + %.pn142 = phi { ptr, i32 } [ %1321, %1320 ], [ %1319, %1318 ] + %1323 = getelementptr inbounds nuw i8, ptr %95, i64 8 + %1324 = load ptr, ptr %1323, align 8 + %.not.i.i.i.i438 = icmp eq ptr %1324, null + br i1 %.not.i.i.i.i438, label %_ZN5Yosys5RTLIL5ConstD2Ev.exit439, label %1325 -1327: ; preds = %1324 - call void @_ZdlPv(ptr noundef nonnull %1326) #26 +1325: ; preds = %1322 + call void @_ZdlPv(ptr noundef nonnull %1324) #26 br label %_ZN5Yosys5RTLIL5ConstD2Ev.exit439 -_ZN5Yosys5RTLIL5ConstD2Ev.exit439: ; preds = %1327, %1324, %1318 - %.pn142.pn = phi { ptr, i32 } [ %1319, %1318 ], [ %.pn142, %1324 ], [ %.pn142, %1327 ] +_ZN5Yosys5RTLIL5ConstD2Ev.exit439: ; preds = %1325, %1322, %1316 + %.pn142.pn = phi { ptr, i32 } [ %1317, %1316 ], [ %.pn142, %1322 ], [ %.pn142, %1325 ] call void @_ZN5Yosys5RTLIL8IdStringD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %93) #25 br label %.body228 -_ZN5Yosys5RTLIL8IdStringD2Ev.exit400: ; preds = %1304, %1297, %_ZN5Yosys5RTLIL5ConstD2Ev.exit432, %1190, %1183, %_ZN5Yosys5RTLIL5ConstD2Ev.exit397 +_ZN5Yosys5RTLIL8IdStringD2Ev.exit400: ; preds = %1302, %1295, %_ZN5Yosys5RTLIL5ConstD2Ev.exit432, %1188, %1181, %_ZN5Yosys5RTLIL5ConstD2Ev.exit397 call void @llvm.experimental.noalias.scope.decl(metadata !88) - %1328 = load atomic i8, ptr @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_20clEvE2id" acquire, align 8, !noalias !88 - %1329 = icmp eq i8 %1328, 0 - br i1 %1329, label %1330, label %1336, !prof !12 + %1326 = load atomic i8, ptr @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_20clEvE2id" acquire, align 8, !noalias !88 + %1327 = icmp eq i8 %1326, 0 + br i1 %1327, label %1328, label %1334, !prof !12 -1330: ; preds = %_ZN5Yosys5RTLIL8IdStringD2Ev.exit400 - %1331 = call i32 @__cxa_guard_acquire(ptr nonnull @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_20clEvE2id") #25, !noalias !88 - %.not.i441 = icmp eq i32 %1331, 0 - br i1 %.not.i441, label %1336, label %1332 +1328: ; preds = %_ZN5Yosys5RTLIL8IdStringD2Ev.exit400 + %1329 = call i32 @__cxa_guard_acquire(ptr nonnull @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_20clEvE2id") #25, !noalias !88 + %.not.i441 = icmp eq i32 %1329, 0 + br i1 %.not.i441, label %1334, label %1330 -1332: ; preds = %1330 - %1333 = invoke noundef i32 @_ZN5Yosys5RTLIL8IdString13get_referenceEPKc(ptr noundef nonnull @.str.109) - to label %1334 unwind label %1344, !noalias !88 +1330: ; preds = %1328 + %1331 = invoke noundef i32 @_ZN5Yosys5RTLIL8IdString13get_referenceEPKc(ptr noundef nonnull @.str.109) + to label %1332 unwind label %1342, !noalias !88 -1334: ; preds = %1332 - store i32 %1333, ptr @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_20clEvE2id", align 4, !noalias !88 - %1335 = call i32 @__cxa_atexit(ptr nonnull @_ZN5Yosys5RTLIL8IdStringD2Ev, ptr nonnull @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_20clEvE2id", ptr nonnull @__dso_handle) #25, !noalias !88 +1332: ; preds = %1330 + store i32 %1331, ptr @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_20clEvE2id", align 4, !noalias !88 + %1333 = call i32 @__cxa_atexit(ptr nonnull @_ZN5Yosys5RTLIL8IdStringD2Ev, ptr nonnull @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_20clEvE2id", ptr nonnull @__dso_handle) #25, !noalias !88 call void @__cxa_guard_release(ptr nonnull @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_20clEvE2id") #25, !noalias !88 - br label %1336 + br label %1334 -1336: ; preds = %1334, %1330, %_ZN5Yosys5RTLIL8IdStringD2Ev.exit400 - %1337 = load i32, ptr @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_20clEvE2id", align 4, !noalias !88 - %.not.i.i.i440 = icmp eq i32 %1337, 0 - br i1 %.not.i.i.i440, label %1346, label %1338 +1334: ; preds = %1332, %1328, %_ZN5Yosys5RTLIL8IdStringD2Ev.exit400 + %1335 = load i32, ptr @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_20clEvE2id", align 4, !noalias !88 + %.not.i.i.i440 = icmp eq i32 %1335, 0 + br i1 %.not.i.i.i440, label %1344, label %1336 -1338: ; preds = %1336 - %1339 = sext i32 %1337 to i64 - %1340 = load ptr, ptr @_ZN5Yosys5RTLIL8IdString24global_refcount_storage_E, align 8, !noalias !88 - %1341 = getelementptr inbounds i32, ptr %1340, i64 %1339 - %1342 = load i32, ptr %1341, align 4, !noalias !88 - %1343 = add nsw i32 %1342, 1 - store i32 %1343, ptr %1341, align 4, !noalias !88 - br label %1346 +1336: ; preds = %1334 + %1337 = sext i32 %1335 to i64 + %1338 = load ptr, ptr @_ZN5Yosys5RTLIL8IdString24global_refcount_storage_E, align 8, !noalias !88 + %1339 = getelementptr inbounds i32, ptr %1338, i64 %1337 + %1340 = load i32, ptr %1339, align 4, !noalias !88 + %1341 = add nsw i32 %1340, 1 + store i32 %1341, ptr %1339, align 4, !noalias !88 + br label %1344 -1344: ; preds = %1332 - %1345 = landingpad { ptr, i32 } +1342: ; preds = %1330 + %1343 = landingpad { ptr, i32 } cleanup call void @__cxa_guard_abort(ptr nonnull @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_20clEvE2id") #25, !noalias !88 br label %.body228 -1346: ; preds = %1338, %1336 - store i32 %1337, ptr %96, align 4, !alias.scope !88 +1344: ; preds = %1336, %1334 + store i32 %1335, ptr %96, align 4, !alias.scope !88 invoke void @_ZN5Yosys5RTLIL5ConstC1Eii(ptr noundef nonnull align 8 dereferenceable(32) %97, i32 noundef 0, i32 noundef 32) - to label %1347 unwind label %1456 + to label %1345 unwind label %1454 -1347: ; preds = %1346 +1345: ; preds = %1344 invoke void @_ZN5Yosys5RTLIL4Cell8setParamERKNS0_8IdStringENS0_5ConstE(ptr noundef nonnull align 8 dereferenceable(192) %1, ptr noundef nonnull align 4 dereferenceable(4) %96, ptr noundef nonnull %97) - to label %1348 unwind label %1458 + to label %1346 unwind label %1456 -1348: ; preds = %1347 - %1349 = getelementptr inbounds nuw i8, ptr %97, i64 8 - %1350 = load ptr, ptr %1349, align 8 - %.not.i.i.i.i444 = icmp eq ptr %1350, null - br i1 %.not.i.i.i.i444, label %_ZN5Yosys5RTLIL5ConstD2Ev.exit445, label %1351 +1346: ; preds = %1345 + %1347 = getelementptr inbounds nuw i8, ptr %97, i64 8 + %1348 = load ptr, ptr %1347, align 8 + %.not.i.i.i.i444 = icmp eq ptr %1348, null + br i1 %.not.i.i.i.i444, label %_ZN5Yosys5RTLIL5ConstD2Ev.exit445, label %1349 -1351: ; preds = %1348 - call void @_ZdlPv(ptr noundef nonnull %1350) #26 +1349: ; preds = %1346 + call void @_ZdlPv(ptr noundef nonnull %1348) #26 br label %_ZN5Yosys5RTLIL5ConstD2Ev.exit445 -_ZN5Yosys5RTLIL5ConstD2Ev.exit445: ; preds = %1348, %1351 - %1352 = load i32, ptr %96, align 4 - %1353 = load i8, ptr @_ZN5Yosys5RTLIL8IdString17destruct_guard_okE, align 1 - %1354 = trunc i8 %1353 to i1 - %1355 = icmp ne i32 %1352, 0 - %or.cond.i.i446 = and i1 %1355, %1354 - br i1 %or.cond.i.i446, label %1356, label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit448 - -1356: ; preds = %_ZN5Yosys5RTLIL5ConstD2Ev.exit445 - %1357 = sext i32 %1352 to i64 - %1358 = load ptr, ptr @_ZN5Yosys5RTLIL8IdString24global_refcount_storage_E, align 8 - %1359 = getelementptr inbounds i32, ptr %1358, i64 %1357 - %1360 = load i32, ptr %1359, align 4 - %1361 = add nsw i32 %1360, -1 - store i32 %1361, ptr %1359, align 4 - %1362 = icmp sgt i32 %1360, 1 - br i1 %1362, label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit448, label %1363 - -1363: ; preds = %1356 - invoke void @_ZN5Yosys5RTLIL8IdString14free_referenceEi(i32 noundef %1352) - to label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit448 unwind label %1364 - -1364: ; preds = %1363 - %1365 = landingpad { ptr, i32 } +_ZN5Yosys5RTLIL5ConstD2Ev.exit445: ; preds = %1346, %1349 + %1350 = load i32, ptr %96, align 4 + %1351 = load i8, ptr @_ZN5Yosys5RTLIL8IdString17destruct_guard_okE, align 1 + %1352 = trunc i8 %1351 to i1 + %1353 = icmp ne i32 %1350, 0 + %or.cond.i.i446 = and i1 %1353, %1352 + br i1 %or.cond.i.i446, label %1354, label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit448 + +1354: ; preds = %_ZN5Yosys5RTLIL5ConstD2Ev.exit445 + %1355 = sext i32 %1350 to i64 + %1356 = load ptr, ptr @_ZN5Yosys5RTLIL8IdString24global_refcount_storage_E, align 8 + %1357 = getelementptr inbounds i32, ptr %1356, i64 %1355 + %1358 = load i32, ptr %1357, align 4 + %1359 = add nsw i32 %1358, -1 + store i32 %1359, ptr %1357, align 4 + %1360 = icmp sgt i32 %1358, 1 + br i1 %1360, label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit448, label %1361 + +1361: ; preds = %1354 + invoke void @_ZN5Yosys5RTLIL8IdString14free_referenceEi(i32 noundef %1350) + to label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit448 unwind label %1362 + +1362: ; preds = %1361 + %1363 = landingpad { ptr, i32 } catch ptr null - %1366 = extractvalue { ptr, i32 } %1365, 0 - call void @__clang_call_terminate(ptr %1366) #28 + %1364 = extractvalue { ptr, i32 } %1363, 0 + call void @__clang_call_terminate(ptr %1364) #28 unreachable -_ZN5Yosys5RTLIL8IdStringD2Ev.exit448: ; preds = %_ZN5Yosys5RTLIL5ConstD2Ev.exit445, %1356, %1363 +_ZN5Yosys5RTLIL8IdStringD2Ev.exit448: ; preds = %_ZN5Yosys5RTLIL5ConstD2Ev.exit445, %1354, %1361 call void @llvm.experimental.noalias.scope.decl(metadata !91) - %1367 = load atomic i8, ptr @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_21clEvE2id" acquire, align 8, !noalias !91 - %1368 = icmp eq i8 %1367, 0 - br i1 %1368, label %1369, label %1375, !prof !12 + %1365 = load atomic i8, ptr @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_21clEvE2id" acquire, align 8, !noalias !91 + %1366 = icmp eq i8 %1365, 0 + br i1 %1366, label %1367, label %1373, !prof !12 -1369: ; preds = %_ZN5Yosys5RTLIL8IdStringD2Ev.exit448 - %1370 = call i32 @__cxa_guard_acquire(ptr nonnull @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_21clEvE2id") #25, !noalias !91 - %.not.i450 = icmp eq i32 %1370, 0 - br i1 %.not.i450, label %1375, label %1371 +1367: ; preds = %_ZN5Yosys5RTLIL8IdStringD2Ev.exit448 + %1368 = call i32 @__cxa_guard_acquire(ptr nonnull @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_21clEvE2id") #25, !noalias !91 + %.not.i450 = icmp eq i32 %1368, 0 + br i1 %.not.i450, label %1373, label %1369 -1371: ; preds = %1369 - %1372 = invoke noundef i32 @_ZN5Yosys5RTLIL8IdString13get_referenceEPKc(ptr noundef nonnull @.str.110) - to label %1373 unwind label %1383, !noalias !91 +1369: ; preds = %1367 + %1370 = invoke noundef i32 @_ZN5Yosys5RTLIL8IdString13get_referenceEPKc(ptr noundef nonnull @.str.110) + to label %1371 unwind label %1381, !noalias !91 -1373: ; preds = %1371 - store i32 %1372, ptr @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_21clEvE2id", align 4, !noalias !91 - %1374 = call i32 @__cxa_atexit(ptr nonnull @_ZN5Yosys5RTLIL8IdStringD2Ev, ptr nonnull @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_21clEvE2id", ptr nonnull @__dso_handle) #25, !noalias !91 +1371: ; preds = %1369 + store i32 %1370, ptr @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_21clEvE2id", align 4, !noalias !91 + %1372 = call i32 @__cxa_atexit(ptr nonnull @_ZN5Yosys5RTLIL8IdStringD2Ev, ptr nonnull @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_21clEvE2id", ptr nonnull @__dso_handle) #25, !noalias !91 call void @__cxa_guard_release(ptr nonnull @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_21clEvE2id") #25, !noalias !91 - br label %1375 - -1375: ; preds = %1373, %1369, %_ZN5Yosys5RTLIL8IdStringD2Ev.exit448 - %1376 = load i32, ptr @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_21clEvE2id", align 4, !noalias !91 - %.not.i.i.i449 = icmp eq i32 %1376, 0 - br i1 %.not.i.i.i449, label %1385, label %1377 - -1377: ; preds = %1375 - %1378 = sext i32 %1376 to i64 - %1379 = load ptr, ptr @_ZN5Yosys5RTLIL8IdString24global_refcount_storage_E, align 8, !noalias !91 - %1380 = getelementptr inbounds i32, ptr %1379, i64 %1378 - %1381 = load i32, ptr %1380, align 4, !noalias !91 - %1382 = add nsw i32 %1381, 1 - store i32 %1382, ptr %1380, align 4, !noalias !91 - br label %1385 - -1383: ; preds = %1371 - %1384 = landingpad { ptr, i32 } + br label %1373 + +1373: ; preds = %1371, %1367, %_ZN5Yosys5RTLIL8IdStringD2Ev.exit448 + %1374 = load i32, ptr @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_21clEvE2id", align 4, !noalias !91 + %.not.i.i.i449 = icmp eq i32 %1374, 0 + br i1 %.not.i.i.i449, label %1383, label %1375 + +1375: ; preds = %1373 + %1376 = sext i32 %1374 to i64 + %1377 = load ptr, ptr @_ZN5Yosys5RTLIL8IdString24global_refcount_storage_E, align 8, !noalias !91 + %1378 = getelementptr inbounds i32, ptr %1377, i64 %1376 + %1379 = load i32, ptr %1378, align 4, !noalias !91 + %1380 = add nsw i32 %1379, 1 + store i32 %1380, ptr %1378, align 4, !noalias !91 + br label %1383 + +1381: ; preds = %1369 + %1382 = landingpad { ptr, i32 } cleanup call void @__cxa_guard_abort(ptr nonnull @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_21clEvE2id") #25, !noalias !91 br label %.body228 -1385: ; preds = %1377, %1375 - store i32 %1376, ptr %98, align 4, !alias.scope !91 +1383: ; preds = %1375, %1373 + store i32 %1374, ptr %98, align 4, !alias.scope !91 invoke void @_ZN5Yosys5RTLIL5ConstC1Eii(ptr noundef nonnull align 8 dereferenceable(32) %99, i32 noundef 0, i32 noundef 32) - to label %1386 unwind label %1463 + to label %1384 unwind label %1461 -1386: ; preds = %1385 +1384: ; preds = %1383 invoke void @_ZN5Yosys5RTLIL4Cell8setParamERKNS0_8IdStringENS0_5ConstE(ptr noundef nonnull align 8 dereferenceable(192) %1, ptr noundef nonnull align 4 dereferenceable(4) %98, ptr noundef nonnull %99) - to label %1387 unwind label %1465 + to label %1385 unwind label %1463 -1387: ; preds = %1386 - %1388 = getelementptr inbounds nuw i8, ptr %99, i64 8 - %1389 = load ptr, ptr %1388, align 8 - %.not.i.i.i.i453 = icmp eq ptr %1389, null - br i1 %.not.i.i.i.i453, label %_ZN5Yosys5RTLIL5ConstD2Ev.exit454, label %1390 +1385: ; preds = %1384 + %1386 = getelementptr inbounds nuw i8, ptr %99, i64 8 + %1387 = load ptr, ptr %1386, align 8 + %.not.i.i.i.i453 = icmp eq ptr %1387, null + br i1 %.not.i.i.i.i453, label %_ZN5Yosys5RTLIL5ConstD2Ev.exit454, label %1388 -1390: ; preds = %1387 - call void @_ZdlPv(ptr noundef nonnull %1389) #26 +1388: ; preds = %1385 + call void @_ZdlPv(ptr noundef nonnull %1387) #26 br label %_ZN5Yosys5RTLIL5ConstD2Ev.exit454 -_ZN5Yosys5RTLIL5ConstD2Ev.exit454: ; preds = %1387, %1390 - %1391 = load i32, ptr %98, align 4 - %1392 = load i8, ptr @_ZN5Yosys5RTLIL8IdString17destruct_guard_okE, align 1 - %1393 = trunc i8 %1392 to i1 - %1394 = icmp ne i32 %1391, 0 - %or.cond.i.i455 = and i1 %1394, %1393 - br i1 %or.cond.i.i455, label %1395, label %1406 - -1395: ; preds = %_ZN5Yosys5RTLIL5ConstD2Ev.exit454 - %1396 = sext i32 %1391 to i64 - %1397 = load ptr, ptr @_ZN5Yosys5RTLIL8IdString24global_refcount_storage_E, align 8 - %1398 = getelementptr inbounds i32, ptr %1397, i64 %1396 - %1399 = load i32, ptr %1398, align 4 - %1400 = add nsw i32 %1399, -1 - store i32 %1400, ptr %1398, align 4 - %1401 = icmp sgt i32 %1399, 1 - br i1 %1401, label %1406, label %1402 - -1402: ; preds = %1395 - invoke void @_ZN5Yosys5RTLIL8IdString14free_referenceEi(i32 noundef %1391) - to label %1406 unwind label %1403 - -1403: ; preds = %1402 - %1404 = landingpad { ptr, i32 } +_ZN5Yosys5RTLIL5ConstD2Ev.exit454: ; preds = %1385, %1388 + %1389 = load i32, ptr %98, align 4 + %1390 = load i8, ptr @_ZN5Yosys5RTLIL8IdString17destruct_guard_okE, align 1 + %1391 = trunc i8 %1390 to i1 + %1392 = icmp ne i32 %1389, 0 + %or.cond.i.i455 = and i1 %1392, %1391 + br i1 %or.cond.i.i455, label %1393, label %1404 + +1393: ; preds = %_ZN5Yosys5RTLIL5ConstD2Ev.exit454 + %1394 = sext i32 %1389 to i64 + %1395 = load ptr, ptr @_ZN5Yosys5RTLIL8IdString24global_refcount_storage_E, align 8 + %1396 = getelementptr inbounds i32, ptr %1395, i64 %1394 + %1397 = load i32, ptr %1396, align 4 + %1398 = add nsw i32 %1397, -1 + store i32 %1398, ptr %1396, align 4 + %1399 = icmp sgt i32 %1397, 1 + br i1 %1399, label %1404, label %1400 + +1400: ; preds = %1393 + invoke void @_ZN5Yosys5RTLIL8IdString14free_referenceEi(i32 noundef %1389) + to label %1404 unwind label %1401 + +1401: ; preds = %1400 + %1402 = landingpad { ptr, i32 } catch ptr null - %1405 = extractvalue { ptr, i32 } %1404, 0 - call void @__clang_call_terminate(ptr %1405) #28 + %1403 = extractvalue { ptr, i32 } %1402, 0 + call void @__clang_call_terminate(ptr %1403) #28 unreachable -1406: ; preds = %_ZN5Yosys5RTLIL5ConstD2Ev.exit454, %1395, %1402 - %1407 = getelementptr inbounds nuw i8, ptr %18, i64 408 - %1408 = getelementptr inbounds nuw i8, ptr %18, i64 416 - %1409 = load ptr, ptr %1408, align 8 - %1410 = load ptr, ptr %1407, align 8 - %1411 = ptrtoint ptr %1409 to i64 - %1412 = ptrtoint ptr %1410 to i64 - %1413 = sub i64 %1411, %1412 - %1414 = sdiv exact i64 %1413, 24 - %1415 = and i64 %1414, 4294967295 - %.not581583 = icmp eq i64 %1415, 0 +1404: ; preds = %_ZN5Yosys5RTLIL5ConstD2Ev.exit454, %1393, %1400 + %1405 = getelementptr inbounds nuw i8, ptr %18, i64 408 + %1406 = getelementptr inbounds nuw i8, ptr %18, i64 416 + %1407 = load ptr, ptr %1406, align 8 + %1408 = load ptr, ptr %1405, align 8 + %1409 = ptrtoint ptr %1407 to i64 + %1410 = ptrtoint ptr %1408 to i64 + %1411 = sub i64 %1409, %1410 + %1412 = sdiv exact i64 %1411, 24 + %1413 = and i64 %1412, 4294967295 + %.not581583 = icmp eq i64 %1413, 0 br i1 %.not581583, label %._crit_edge, label %.lr.ph -.lr.ph: ; preds = %1406 - %1416 = getelementptr inbounds nuw i8, ptr %100, i64 8 - %1417 = getelementptr inbounds nuw i8, ptr %100, i64 12 - %sext586 = shl i64 %1414, 32 - %1418 = ashr exact i64 %sext586, 32 - br label %1419 +.lr.ph: ; preds = %1404 + %1414 = getelementptr inbounds nuw i8, ptr %100, i64 8 + %1415 = getelementptr inbounds nuw i8, ptr %100, i64 12 + %sext586 = shl i64 %1412, 32 + %1416 = ashr exact i64 %sext586, 32 + br label %1417 -1419: ; preds = %.lr.ph, %_ZN5Yosys8ModIndex8PortInfoD2Ev.exit - %indvars.iv = phi i64 [ %1418, %.lr.ph ], [ %indvars.iv.next, %_ZN5Yosys8ModIndex8PortInfoD2Ev.exit ] +1417: ; preds = %.lr.ph, %_ZN5Yosys8ModIndex8PortInfoD2Ev.exit + %indvars.iv = phi i64 [ %1416, %.lr.ph ], [ %indvars.iv.next, %_ZN5Yosys8ModIndex8PortInfoD2Ev.exit ] %indvars.iv.next = add nsw i64 %indvars.iv, -1 - %1420 = load ptr, ptr %1407, align 8 - %1421 = getelementptr inbounds %"struct.Yosys::hashlib::pool::entry_t", ptr %1420, i64 %indvars.iv.next - %1422 = load ptr, ptr %1421, align 8 - store ptr %1422, ptr %100, align 8 - %1423 = getelementptr inbounds nuw i8, ptr %1421, i64 8 - %1424 = load i32, ptr %1423, align 4 - %.not.i.i.i460 = icmp eq i32 %1424, 0 - br i1 %.not.i.i.i460, label %1431, label %1425 - -1425: ; preds = %1419 - %1426 = sext i32 %1424 to i64 - %1427 = load ptr, ptr @_ZN5Yosys5RTLIL8IdString24global_refcount_storage_E, align 8 - %1428 = getelementptr inbounds i32, ptr %1427, i64 %1426 - %1429 = load i32, ptr %1428, align 4 - %1430 = add nsw i32 %1429, 1 - store i32 %1430, ptr %1428, align 4 + %1418 = load ptr, ptr %1405, align 8 + %1419 = getelementptr inbounds %"struct.Yosys::hashlib::pool::entry_t", ptr %1418, i64 %indvars.iv.next + %1420 = load ptr, ptr %1419, align 8 + store ptr %1420, ptr %100, align 8 + %1421 = getelementptr inbounds nuw i8, ptr %1419, i64 8 + %1422 = load i32, ptr %1421, align 4 + %.not.i.i.i460 = icmp eq i32 %1422, 0 + br i1 %.not.i.i.i460, label %1429, label %1423 + +1423: ; preds = %1417 + %1424 = sext i32 %1422 to i64 + %1425 = load ptr, ptr @_ZN5Yosys5RTLIL8IdString24global_refcount_storage_E, align 8 + %1426 = getelementptr inbounds i32, ptr %1425, i64 %1424 + %1427 = load i32, ptr %1426, align 4 + %1428 = add nsw i32 %1427, 1 + store i32 %1428, ptr %1426, align 4 %.pre = load ptr, ptr %100, align 8 - br label %1431 - -1431: ; preds = %1425, %1419 - %1432 = phi ptr [ %.pre, %1425 ], [ %1422, %1419 ] - store i32 %1424, ptr %1416, align 8 - %1433 = getelementptr inbounds nuw i8, ptr %1421, i64 12 - %1434 = load i32, ptr %1433, align 4 - store i32 %1434, ptr %1417, align 4 - %1435 = getelementptr inbounds nuw i8, ptr %1432, i64 72 - %1436 = invoke noundef ptr @_ZN5Yosys6log_idERKNS_5RTLIL8IdStringE(ptr noundef nonnull align 4 dereferenceable(4) %1435) - to label %1437 unwind label %1470 - -1437: ; preds = %1431 - %1438 = invoke noundef ptr @_ZN5Yosys6log_idERKNS_5RTLIL8IdStringE(ptr noundef nonnull align 4 dereferenceable(4) %1416) - to label %1439 unwind label %1470 - -1439: ; preds = %1437 - invoke void (ptr, ...) @_ZN5Yosys3logEPKcz(ptr noundef nonnull @.str.83, ptr noundef %1436, ptr noundef %1438) - to label %1440 unwind label %1470 - -1440: ; preds = %1439 - %1441 = load i32, ptr %1416, align 8 - %1442 = load i8, ptr @_ZN5Yosys5RTLIL8IdString17destruct_guard_okE, align 1 - %1443 = trunc i8 %1442 to i1 - %1444 = icmp ne i32 %1441, 0 - %or.cond.i.i.i = and i1 %1444, %1443 - br i1 %or.cond.i.i.i, label %1445, label %_ZN5Yosys8ModIndex8PortInfoD2Ev.exit - -1445: ; preds = %1440 - %1446 = sext i32 %1441 to i64 - %1447 = load ptr, ptr @_ZN5Yosys5RTLIL8IdString24global_refcount_storage_E, align 8 - %1448 = getelementptr inbounds i32, ptr %1447, i64 %1446 - %1449 = load i32, ptr %1448, align 4 - %1450 = add nsw i32 %1449, -1 - store i32 %1450, ptr %1448, align 4 - %1451 = icmp sgt i32 %1449, 1 - br i1 %1451, label %_ZN5Yosys8ModIndex8PortInfoD2Ev.exit, label %1452 - -1452: ; preds = %1445 - invoke void @_ZN5Yosys5RTLIL8IdString14free_referenceEi(i32 noundef %1441) - to label %_ZN5Yosys8ModIndex8PortInfoD2Ev.exit unwind label %1453 - -1453: ; preds = %1452 - %1454 = landingpad { ptr, i32 } + br label %1429 + +1429: ; preds = %1423, %1417 + %1430 = phi ptr [ %.pre, %1423 ], [ %1420, %1417 ] + store i32 %1422, ptr %1414, align 8 + %1431 = getelementptr inbounds nuw i8, ptr %1419, i64 12 + %1432 = load i32, ptr %1431, align 4 + store i32 %1432, ptr %1415, align 4 + %1433 = getelementptr inbounds nuw i8, ptr %1430, i64 72 + %1434 = invoke noundef ptr @_ZN5Yosys6log_idERKNS_5RTLIL8IdStringE(ptr noundef nonnull align 4 dereferenceable(4) %1433) + to label %1435 unwind label %1468 + +1435: ; preds = %1429 + %1436 = invoke noundef ptr @_ZN5Yosys6log_idERKNS_5RTLIL8IdStringE(ptr noundef nonnull align 4 dereferenceable(4) %1414) + to label %1437 unwind label %1468 + +1437: ; preds = %1435 + invoke void (ptr, ...) @_ZN5Yosys3logEPKcz(ptr noundef nonnull @.str.83, ptr noundef %1434, ptr noundef %1436) + to label %1438 unwind label %1468 + +1438: ; preds = %1437 + %1439 = load i32, ptr %1414, align 8 + %1440 = load i8, ptr @_ZN5Yosys5RTLIL8IdString17destruct_guard_okE, align 1 + %1441 = trunc i8 %1440 to i1 + %1442 = icmp ne i32 %1439, 0 + %or.cond.i.i.i = and i1 %1442, %1441 + br i1 %or.cond.i.i.i, label %1443, label %_ZN5Yosys8ModIndex8PortInfoD2Ev.exit + +1443: ; preds = %1438 + %1444 = sext i32 %1439 to i64 + %1445 = load ptr, ptr @_ZN5Yosys5RTLIL8IdString24global_refcount_storage_E, align 8 + %1446 = getelementptr inbounds i32, ptr %1445, i64 %1444 + %1447 = load i32, ptr %1446, align 4 + %1448 = add nsw i32 %1447, -1 + store i32 %1448, ptr %1446, align 4 + %1449 = icmp sgt i32 %1447, 1 + br i1 %1449, label %_ZN5Yosys8ModIndex8PortInfoD2Ev.exit, label %1450 + +1450: ; preds = %1443 + invoke void @_ZN5Yosys5RTLIL8IdString14free_referenceEi(i32 noundef %1439) + to label %_ZN5Yosys8ModIndex8PortInfoD2Ev.exit unwind label %1451 + +1451: ; preds = %1450 + %1452 = landingpad { ptr, i32 } catch ptr null - %1455 = extractvalue { ptr, i32 } %1454, 0 - call void @__clang_call_terminate(ptr %1455) #28 + %1453 = extractvalue { ptr, i32 } %1452, 0 + call void @__clang_call_terminate(ptr %1453) #28 unreachable -_ZN5Yosys8ModIndex8PortInfoD2Ev.exit: ; preds = %1440, %1445, %1452 +_ZN5Yosys8ModIndex8PortInfoD2Ev.exit: ; preds = %1438, %1443, %1450 %.not581 = icmp eq i64 %indvars.iv.next, 0 - br i1 %.not581, label %._crit_edge, label %1419 + br i1 %.not581, label %._crit_edge, label %1417 -1456: ; preds = %1346 - %1457 = landingpad { ptr, i32 } +1454: ; preds = %1344 + %1455 = landingpad { ptr, i32 } cleanup br label %_ZN5Yosys5RTLIL5ConstD2Ev.exit464 -1458: ; preds = %1347 - %1459 = landingpad { ptr, i32 } +1456: ; preds = %1345 + %1457 = landingpad { ptr, i32 } cleanup - %1460 = getelementptr inbounds nuw i8, ptr %97, i64 8 - %1461 = load ptr, ptr %1460, align 8 - %.not.i.i.i.i463 = icmp eq ptr %1461, null - br i1 %.not.i.i.i.i463, label %_ZN5Yosys5RTLIL5ConstD2Ev.exit464, label %1462 + %1458 = getelementptr inbounds nuw i8, ptr %97, i64 8 + %1459 = load ptr, ptr %1458, align 8 + %.not.i.i.i.i463 = icmp eq ptr %1459, null + br i1 %.not.i.i.i.i463, label %_ZN5Yosys5RTLIL5ConstD2Ev.exit464, label %1460 -1462: ; preds = %1458 - call void @_ZdlPv(ptr noundef nonnull %1461) #26 +1460: ; preds = %1456 + call void @_ZdlPv(ptr noundef nonnull %1459) #26 br label %_ZN5Yosys5RTLIL5ConstD2Ev.exit464 -_ZN5Yosys5RTLIL5ConstD2Ev.exit464: ; preds = %1462, %1458, %1456 - %.pn151 = phi { ptr, i32 } [ %1457, %1456 ], [ %1459, %1458 ], [ %1459, %1462 ] +_ZN5Yosys5RTLIL5ConstD2Ev.exit464: ; preds = %1460, %1456, %1454 + %.pn151 = phi { ptr, i32 } [ %1455, %1454 ], [ %1457, %1456 ], [ %1457, %1460 ] call void @_ZN5Yosys5RTLIL8IdStringD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %96) #25 br label %.body228 -1463: ; preds = %1385 - %1464 = landingpad { ptr, i32 } +1461: ; preds = %1383 + %1462 = landingpad { ptr, i32 } cleanup br label %_ZN5Yosys5RTLIL5ConstD2Ev.exit466 -1465: ; preds = %1386 - %1466 = landingpad { ptr, i32 } +1463: ; preds = %1384 + %1464 = landingpad { ptr, i32 } cleanup - %1467 = getelementptr inbounds nuw i8, ptr %99, i64 8 - %1468 = load ptr, ptr %1467, align 8 - %.not.i.i.i.i465 = icmp eq ptr %1468, null - br i1 %.not.i.i.i.i465, label %_ZN5Yosys5RTLIL5ConstD2Ev.exit466, label %1469 + %1465 = getelementptr inbounds nuw i8, ptr %99, i64 8 + %1466 = load ptr, ptr %1465, align 8 + %.not.i.i.i.i465 = icmp eq ptr %1466, null + br i1 %.not.i.i.i.i465, label %_ZN5Yosys5RTLIL5ConstD2Ev.exit466, label %1467 -1469: ; preds = %1465 - call void @_ZdlPv(ptr noundef nonnull %1468) #26 +1467: ; preds = %1463 + call void @_ZdlPv(ptr noundef nonnull %1466) #26 br label %_ZN5Yosys5RTLIL5ConstD2Ev.exit466 -_ZN5Yosys5RTLIL5ConstD2Ev.exit466: ; preds = %1469, %1465, %1463 - %.pn153 = phi { ptr, i32 } [ %1464, %1463 ], [ %1466, %1465 ], [ %1466, %1469 ] +_ZN5Yosys5RTLIL5ConstD2Ev.exit466: ; preds = %1467, %1463, %1461 + %.pn153 = phi { ptr, i32 } [ %1462, %1461 ], [ %1464, %1463 ], [ %1464, %1467 ] call void @_ZN5Yosys5RTLIL8IdStringD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %98) #25 br label %.body228 -1470: ; preds = %1439, %1437, %1431 - %1471 = landingpad { ptr, i32 } +1468: ; preds = %1437, %1435, %1429 + %1469 = landingpad { ptr, i32 } cleanup call void @_ZN5Yosys8ModIndex8PortInfoD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %100) #25 br label %.body228 -._crit_edge: ; preds = %_ZN5Yosys8ModIndex8PortInfoD2Ev.exit, %1406 - %1472 = getelementptr inbounds nuw i8, ptr %18, i64 352 - %1473 = load i8, ptr %1472, align 8 - %1474 = trunc i8 %1473 to i1 - br i1 %1474, label %1475, label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit495 +._crit_edge: ; preds = %_ZN5Yosys8ModIndex8PortInfoD2Ev.exit, %1404 + %1470 = getelementptr inbounds nuw i8, ptr %18, i64 352 + %1471 = load i8, ptr %1470, align 8 + %1472 = trunc i8 %1471 to i1 + br i1 %1472, label %1473, label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit495 -1475: ; preds = %._crit_edge +1473: ; preds = %._crit_edge call void @llvm.experimental.noalias.scope.decl(metadata !94) - %1476 = load atomic i8, ptr @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_22clEvE2id" acquire, align 8, !noalias !94 - %1477 = icmp eq i8 %1476, 0 - br i1 %1477, label %1478, label %1484, !prof !12 + %1474 = load atomic i8, ptr @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_22clEvE2id" acquire, align 8, !noalias !94 + %1475 = icmp eq i8 %1474, 0 + br i1 %1475, label %1476, label %1482, !prof !12 -1478: ; preds = %1475 - %1479 = call i32 @__cxa_guard_acquire(ptr nonnull @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_22clEvE2id") #25, !noalias !94 - %.not.i468 = icmp eq i32 %1479, 0 - br i1 %.not.i468, label %1484, label %1480 +1476: ; preds = %1473 + %1477 = call i32 @__cxa_guard_acquire(ptr nonnull @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_22clEvE2id") #25, !noalias !94 + %.not.i468 = icmp eq i32 %1477, 0 + br i1 %.not.i468, label %1482, label %1478 -1480: ; preds = %1478 - %1481 = invoke noundef i32 @_ZN5Yosys5RTLIL8IdString13get_referenceEPKc(ptr noundef nonnull @.str.111) - to label %1482 unwind label %1492, !noalias !94 +1478: ; preds = %1476 + %1479 = invoke noundef i32 @_ZN5Yosys5RTLIL8IdString13get_referenceEPKc(ptr noundef nonnull @.str.111) + to label %1480 unwind label %1490, !noalias !94 -1482: ; preds = %1480 - store i32 %1481, ptr @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_22clEvE2id", align 4, !noalias !94 - %1483 = call i32 @__cxa_atexit(ptr nonnull @_ZN5Yosys5RTLIL8IdStringD2Ev, ptr nonnull @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_22clEvE2id", ptr nonnull @__dso_handle) #25, !noalias !94 +1480: ; preds = %1478 + store i32 %1479, ptr @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_22clEvE2id", align 4, !noalias !94 + %1481 = call i32 @__cxa_atexit(ptr nonnull @_ZN5Yosys5RTLIL8IdStringD2Ev, ptr nonnull @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_22clEvE2id", ptr nonnull @__dso_handle) #25, !noalias !94 call void @__cxa_guard_release(ptr nonnull @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_22clEvE2id") #25, !noalias !94 - br label %1484 + br label %1482 -1484: ; preds = %1482, %1478, %1475 - %1485 = load i32, ptr @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_22clEvE2id", align 4, !noalias !94 - %.not.i.i.i467 = icmp eq i32 %1485, 0 - br i1 %.not.i.i.i467, label %1494, label %1486 +1482: ; preds = %1480, %1476, %1473 + %1483 = load i32, ptr @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_22clEvE2id", align 4, !noalias !94 + %.not.i.i.i467 = icmp eq i32 %1483, 0 + br i1 %.not.i.i.i467, label %1492, label %1484 -1486: ; preds = %1484 - %1487 = sext i32 %1485 to i64 - %1488 = load ptr, ptr @_ZN5Yosys5RTLIL8IdString24global_refcount_storage_E, align 8, !noalias !94 - %1489 = getelementptr inbounds i32, ptr %1488, i64 %1487 - %1490 = load i32, ptr %1489, align 4, !noalias !94 - %1491 = add nsw i32 %1490, 1 - store i32 %1491, ptr %1489, align 4, !noalias !94 - br label %1494 +1484: ; preds = %1482 + %1485 = sext i32 %1483 to i64 + %1486 = load ptr, ptr @_ZN5Yosys5RTLIL8IdString24global_refcount_storage_E, align 8, !noalias !94 + %1487 = getelementptr inbounds i32, ptr %1486, i64 %1485 + %1488 = load i32, ptr %1487, align 4, !noalias !94 + %1489 = add nsw i32 %1488, 1 + store i32 %1489, ptr %1487, align 4, !noalias !94 + br label %1492 -1492: ; preds = %1480 - %1493 = landingpad { ptr, i32 } +1490: ; preds = %1478 + %1491 = landingpad { ptr, i32 } cleanup call void @__cxa_guard_abort(ptr nonnull @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_22clEvE2id") #25, !noalias !94 br label %.body228 -1494: ; preds = %1486, %1484 - store i32 %1485, ptr %101, align 4, !alias.scope !94 - %1495 = getelementptr inbounds nuw i8, ptr %18, i64 288 - invoke void @_ZN5Yosys5RTLIL7SigSpecC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(64) %102, ptr noundef nonnull align 8 dereferenceable(64) %1495) - to label %1496 unwind label %1565 +1492: ; preds = %1484, %1482 + store i32 %1483, ptr %101, align 4, !alias.scope !94 + %1493 = getelementptr inbounds nuw i8, ptr %18, i64 288 + invoke void @_ZN5Yosys5RTLIL7SigSpecC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(64) %102, ptr noundef nonnull align 8 dereferenceable(64) %1493) + to label %1494 unwind label %1563 -1496: ; preds = %1494 +1494: ; preds = %1492 invoke void @_ZN5Yosys5RTLIL4Cell7setPortERKNS0_8IdStringENS0_7SigSpecE(ptr noundef nonnull align 8 dereferenceable(192) %1, ptr noundef nonnull align 4 dereferenceable(4) %101, ptr noundef nonnull %102) - to label %1497 unwind label %1567 + to label %1495 unwind label %1565 -1497: ; preds = %1496 - %1498 = getelementptr inbounds nuw i8, ptr %102, i64 40 - %1499 = load ptr, ptr %1498, align 8 - %.not.i.i.i.i471 = icmp eq ptr %1499, null - br i1 %.not.i.i.i.i471, label %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i472, label %1500 +1495: ; preds = %1494 + %1496 = getelementptr inbounds nuw i8, ptr %102, i64 40 + %1497 = load ptr, ptr %1496, align 8 + %.not.i.i.i.i471 = icmp eq ptr %1497, null + br i1 %.not.i.i.i.i471, label %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i472, label %1498 -1500: ; preds = %1497 - call void @_ZdlPv(ptr noundef nonnull %1499) #26 +1498: ; preds = %1495 + call void @_ZdlPv(ptr noundef nonnull %1497) #26 br label %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i472 -_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i472: ; preds = %1500, %1497 - %1501 = getelementptr inbounds nuw i8, ptr %102, i64 16 +_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i472: ; preds = %1498, %1495 + %1499 = getelementptr inbounds nuw i8, ptr %102, i64 16 + %1500 = load ptr, ptr %1499, align 8 + %1501 = getelementptr inbounds nuw i8, ptr %102, i64 24 %1502 = load ptr, ptr %1501, align 8 - %1503 = getelementptr inbounds nuw i8, ptr %102, i64 24 - %1504 = load ptr, ptr %1503, align 8 - %.not4.i.i.i.i.i473 = icmp eq ptr %1502, %1504 + %.not4.i.i.i.i.i473 = icmp eq ptr %1500, %1502 br i1 %.not4.i.i.i.i.i473, label %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i481, label %.lr.ph.i.i.i.i.i474 .lr.ph.i.i.i.i.i474: ; preds = %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i472, %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i477 - %.05.i.i.i.i.i475 = phi ptr [ %1508, %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i477 ], [ %1502, %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i472 ] - %1505 = getelementptr inbounds nuw i8, ptr %.05.i.i.i.i.i475, i64 8 - %1506 = load ptr, ptr %1505, align 8 - %.not.i.i.i.i.i.i.i.i.i.i476 = icmp eq ptr %1506, null - br i1 %.not.i.i.i.i.i.i.i.i.i.i476, label %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i477, label %1507 - -1507: ; preds = %.lr.ph.i.i.i.i.i474 - call void @_ZdlPv(ptr noundef nonnull %1506) #26 + %.05.i.i.i.i.i475 = phi ptr [ %1506, %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i477 ], [ %1500, %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i472 ] + %1503 = getelementptr inbounds nuw i8, ptr %.05.i.i.i.i.i475, i64 8 + %1504 = load ptr, ptr %1503, align 8 + %.not.i.i.i.i.i.i.i.i.i.i476 = icmp eq ptr %1504, null + br i1 %.not.i.i.i.i.i.i.i.i.i.i476, label %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i477, label %1505 + +1505: ; preds = %.lr.ph.i.i.i.i.i474 + call void @_ZdlPv(ptr noundef nonnull %1504) #26 br label %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i477 -_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i477: ; preds = %1507, %.lr.ph.i.i.i.i.i474 - %1508 = getelementptr inbounds nuw i8, ptr %.05.i.i.i.i.i475, i64 40 - %.not.i.i.i.i.i478 = icmp eq ptr %1508, %1504 +_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i477: ; preds = %1505, %.lr.ph.i.i.i.i.i474 + %1506 = getelementptr inbounds nuw i8, ptr %.05.i.i.i.i.i475, i64 40 + %.not.i.i.i.i.i478 = icmp eq ptr %1506, %1502 br i1 %.not.i.i.i.i.i478, label %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i479, label %.lr.ph.i.i.i.i.i474, !llvm.loop !37 _ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i479: ; preds = %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i477 - %.pr.i.i480 = load ptr, ptr %1501, align 8 + %.pr.i.i480 = load ptr, ptr %1499, align 8 br label %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i481 _ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i481: ; preds = %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i479, %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i472 - %1509 = phi ptr [ %.pr.i.i480, %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i479 ], [ %1502, %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i472 ] - %.not.i.i.i1.i482 = icmp eq ptr %1509, null - br i1 %.not.i.i.i1.i482, label %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit483, label %1510 + %1507 = phi ptr [ %.pr.i.i480, %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i479 ], [ %1500, %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i472 ] + %.not.i.i.i1.i482 = icmp eq ptr %1507, null + br i1 %.not.i.i.i1.i482, label %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit483, label %1508 -1510: ; preds = %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i481 - call void @_ZdlPv(ptr noundef nonnull %1509) #26 +1508: ; preds = %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i481 + call void @_ZdlPv(ptr noundef nonnull %1507) #26 br label %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit483 -_ZN5Yosys5RTLIL7SigSpecD2Ev.exit483: ; preds = %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i481, %1510 - %1511 = load i32, ptr %101, align 4 - %1512 = load i8, ptr @_ZN5Yosys5RTLIL8IdString17destruct_guard_okE, align 1 - %1513 = trunc i8 %1512 to i1 - %1514 = icmp ne i32 %1511, 0 - %or.cond.i.i484 = and i1 %1514, %1513 - br i1 %or.cond.i.i484, label %1515, label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit486 - -1515: ; preds = %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit483 - %1516 = sext i32 %1511 to i64 - %1517 = load ptr, ptr @_ZN5Yosys5RTLIL8IdString24global_refcount_storage_E, align 8 - %1518 = getelementptr inbounds i32, ptr %1517, i64 %1516 - %1519 = load i32, ptr %1518, align 4 - %1520 = add nsw i32 %1519, -1 - store i32 %1520, ptr %1518, align 4 - %1521 = icmp sgt i32 %1519, 1 - br i1 %1521, label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit486, label %1522 - -1522: ; preds = %1515 - invoke void @_ZN5Yosys5RTLIL8IdString14free_referenceEi(i32 noundef %1511) - to label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit486 unwind label %1523 - -1523: ; preds = %1522 - %1524 = landingpad { ptr, i32 } +_ZN5Yosys5RTLIL7SigSpecD2Ev.exit483: ; preds = %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i481, %1508 + %1509 = load i32, ptr %101, align 4 + %1510 = load i8, ptr @_ZN5Yosys5RTLIL8IdString17destruct_guard_okE, align 1 + %1511 = trunc i8 %1510 to i1 + %1512 = icmp ne i32 %1509, 0 + %or.cond.i.i484 = and i1 %1512, %1511 + br i1 %or.cond.i.i484, label %1513, label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit486 + +1513: ; preds = %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit483 + %1514 = sext i32 %1509 to i64 + %1515 = load ptr, ptr @_ZN5Yosys5RTLIL8IdString24global_refcount_storage_E, align 8 + %1516 = getelementptr inbounds i32, ptr %1515, i64 %1514 + %1517 = load i32, ptr %1516, align 4 + %1518 = add nsw i32 %1517, -1 + store i32 %1518, ptr %1516, align 4 + %1519 = icmp sgt i32 %1517, 1 + br i1 %1519, label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit486, label %1520 + +1520: ; preds = %1513 + invoke void @_ZN5Yosys5RTLIL8IdString14free_referenceEi(i32 noundef %1509) + to label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit486 unwind label %1521 + +1521: ; preds = %1520 + %1522 = landingpad { ptr, i32 } catch ptr null - %1525 = extractvalue { ptr, i32 } %1524, 0 - call void @__clang_call_terminate(ptr %1525) #28 + %1523 = extractvalue { ptr, i32 } %1522, 0 + call void @__clang_call_terminate(ptr %1523) #28 unreachable -_ZN5Yosys5RTLIL8IdStringD2Ev.exit486: ; preds = %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit483, %1515, %1522 +_ZN5Yosys5RTLIL8IdStringD2Ev.exit486: ; preds = %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit483, %1513, %1520 call void @llvm.experimental.noalias.scope.decl(metadata !97) - %1526 = load atomic i8, ptr @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_23clEvE2id" acquire, align 8, !noalias !97 - %1527 = icmp eq i8 %1526, 0 - br i1 %1527, label %1528, label %1534, !prof !12 + %1524 = load atomic i8, ptr @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_23clEvE2id" acquire, align 8, !noalias !97 + %1525 = icmp eq i8 %1524, 0 + br i1 %1525, label %1526, label %1532, !prof !12 -1528: ; preds = %_ZN5Yosys5RTLIL8IdStringD2Ev.exit486 - %1529 = call i32 @__cxa_guard_acquire(ptr nonnull @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_23clEvE2id") #25, !noalias !97 - %.not.i488 = icmp eq i32 %1529, 0 - br i1 %.not.i488, label %1534, label %1530 +1526: ; preds = %_ZN5Yosys5RTLIL8IdStringD2Ev.exit486 + %1527 = call i32 @__cxa_guard_acquire(ptr nonnull @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_23clEvE2id") #25, !noalias !97 + %.not.i488 = icmp eq i32 %1527, 0 + br i1 %.not.i488, label %1532, label %1528 -1530: ; preds = %1528 - %1531 = invoke noundef i32 @_ZN5Yosys5RTLIL8IdString13get_referenceEPKc(ptr noundef nonnull @.str.109) - to label %1532 unwind label %1542, !noalias !97 +1528: ; preds = %1526 + %1529 = invoke noundef i32 @_ZN5Yosys5RTLIL8IdString13get_referenceEPKc(ptr noundef nonnull @.str.109) + to label %1530 unwind label %1540, !noalias !97 -1532: ; preds = %1530 - store i32 %1531, ptr @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_23clEvE2id", align 4, !noalias !97 - %1533 = call i32 @__cxa_atexit(ptr nonnull @_ZN5Yosys5RTLIL8IdStringD2Ev, ptr nonnull @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_23clEvE2id", ptr nonnull @__dso_handle) #25, !noalias !97 +1530: ; preds = %1528 + store i32 %1529, ptr @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_23clEvE2id", align 4, !noalias !97 + %1531 = call i32 @__cxa_atexit(ptr nonnull @_ZN5Yosys5RTLIL8IdStringD2Ev, ptr nonnull @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_23clEvE2id", ptr nonnull @__dso_handle) #25, !noalias !97 call void @__cxa_guard_release(ptr nonnull @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_23clEvE2id") #25, !noalias !97 - br label %1534 + br label %1532 -1534: ; preds = %1532, %1528, %_ZN5Yosys5RTLIL8IdStringD2Ev.exit486 - %1535 = load i32, ptr @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_23clEvE2id", align 4, !noalias !97 - %.not.i.i.i487 = icmp eq i32 %1535, 0 - br i1 %.not.i.i.i487, label %1544, label %1536 +1532: ; preds = %1530, %1526, %_ZN5Yosys5RTLIL8IdStringD2Ev.exit486 + %1533 = load i32, ptr @"_ZZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_23clEvE2id", align 4, !noalias !97 + %.not.i.i.i487 = icmp eq i32 %1533, 0 + br i1 %.not.i.i.i487, label %1542, label %1534 -1536: ; preds = %1534 - %1537 = sext i32 %1535 to i64 - %1538 = load ptr, ptr @_ZN5Yosys5RTLIL8IdString24global_refcount_storage_E, align 8, !noalias !97 - %1539 = getelementptr inbounds i32, ptr %1538, i64 %1537 - %1540 = load i32, ptr %1539, align 4, !noalias !97 - %1541 = add nsw i32 %1540, 1 - store i32 %1541, ptr %1539, align 4, !noalias !97 - br label %1544 +1534: ; preds = %1532 + %1535 = sext i32 %1533 to i64 + %1536 = load ptr, ptr @_ZN5Yosys5RTLIL8IdString24global_refcount_storage_E, align 8, !noalias !97 + %1537 = getelementptr inbounds i32, ptr %1536, i64 %1535 + %1538 = load i32, ptr %1537, align 4, !noalias !97 + %1539 = add nsw i32 %1538, 1 + store i32 %1539, ptr %1537, align 4, !noalias !97 + br label %1542 -1542: ; preds = %1530 - %1543 = landingpad { ptr, i32 } +1540: ; preds = %1528 + %1541 = landingpad { ptr, i32 } cleanup call void @__cxa_guard_abort(ptr nonnull @"_ZGVZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK4$_23clEvE2id") #25, !noalias !97 br label %.body228 -1544: ; preds = %1536, %1534 - store i32 %1535, ptr %103, align 4, !alias.scope !97 +1542: ; preds = %1534, %1532 + store i32 %1533, ptr %103, align 4, !alias.scope !97 invoke void @_ZN5Yosys5RTLIL5ConstC1Eii(ptr noundef nonnull align 8 dereferenceable(32) %104, i32 noundef 1, i32 noundef 32) - to label %1545 unwind label %1570 + to label %1543 unwind label %1568 -1545: ; preds = %1544 +1543: ; preds = %1542 invoke void @_ZN5Yosys5RTLIL4Cell8setParamERKNS0_8IdStringENS0_5ConstE(ptr noundef nonnull align 8 dereferenceable(192) %1, ptr noundef nonnull align 4 dereferenceable(4) %103, ptr noundef nonnull %104) - to label %1546 unwind label %1572 + to label %1544 unwind label %1570 -1546: ; preds = %1545 - %1547 = getelementptr inbounds nuw i8, ptr %104, i64 8 - %1548 = load ptr, ptr %1547, align 8 - %.not.i.i.i.i491 = icmp eq ptr %1548, null - br i1 %.not.i.i.i.i491, label %_ZN5Yosys5RTLIL5ConstD2Ev.exit492, label %1549 +1544: ; preds = %1543 + %1545 = getelementptr inbounds nuw i8, ptr %104, i64 8 + %1546 = load ptr, ptr %1545, align 8 + %.not.i.i.i.i491 = icmp eq ptr %1546, null + br i1 %.not.i.i.i.i491, label %_ZN5Yosys5RTLIL5ConstD2Ev.exit492, label %1547 -1549: ; preds = %1546 - call void @_ZdlPv(ptr noundef nonnull %1548) #26 +1547: ; preds = %1544 + call void @_ZdlPv(ptr noundef nonnull %1546) #26 br label %_ZN5Yosys5RTLIL5ConstD2Ev.exit492 -_ZN5Yosys5RTLIL5ConstD2Ev.exit492: ; preds = %1546, %1549 - %1550 = load i32, ptr %103, align 4 - %1551 = load i8, ptr @_ZN5Yosys5RTLIL8IdString17destruct_guard_okE, align 1 - %1552 = trunc i8 %1551 to i1 - %1553 = icmp ne i32 %1550, 0 - %or.cond.i.i493 = and i1 %1553, %1552 - br i1 %or.cond.i.i493, label %1554, label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit495 - -1554: ; preds = %_ZN5Yosys5RTLIL5ConstD2Ev.exit492 - %1555 = sext i32 %1550 to i64 - %1556 = load ptr, ptr @_ZN5Yosys5RTLIL8IdString24global_refcount_storage_E, align 8 - %1557 = getelementptr inbounds i32, ptr %1556, i64 %1555 - %1558 = load i32, ptr %1557, align 4 - %1559 = add nsw i32 %1558, -1 - store i32 %1559, ptr %1557, align 4 - %1560 = icmp sgt i32 %1558, 1 - br i1 %1560, label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit495, label %1561 - -1561: ; preds = %1554 - invoke void @_ZN5Yosys5RTLIL8IdString14free_referenceEi(i32 noundef %1550) - to label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit495 unwind label %1562 - -1562: ; preds = %1561 - %1563 = landingpad { ptr, i32 } +_ZN5Yosys5RTLIL5ConstD2Ev.exit492: ; preds = %1544, %1547 + %1548 = load i32, ptr %103, align 4 + %1549 = load i8, ptr @_ZN5Yosys5RTLIL8IdString17destruct_guard_okE, align 1 + %1550 = trunc i8 %1549 to i1 + %1551 = icmp ne i32 %1548, 0 + %or.cond.i.i493 = and i1 %1551, %1550 + br i1 %or.cond.i.i493, label %1552, label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit495 + +1552: ; preds = %_ZN5Yosys5RTLIL5ConstD2Ev.exit492 + %1553 = sext i32 %1548 to i64 + %1554 = load ptr, ptr @_ZN5Yosys5RTLIL8IdString24global_refcount_storage_E, align 8 + %1555 = getelementptr inbounds i32, ptr %1554, i64 %1553 + %1556 = load i32, ptr %1555, align 4 + %1557 = add nsw i32 %1556, -1 + store i32 %1557, ptr %1555, align 4 + %1558 = icmp sgt i32 %1556, 1 + br i1 %1558, label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit495, label %1559 + +1559: ; preds = %1552 + invoke void @_ZN5Yosys5RTLIL8IdString14free_referenceEi(i32 noundef %1548) + to label %_ZN5Yosys5RTLIL8IdStringD2Ev.exit495 unwind label %1560 + +1560: ; preds = %1559 + %1561 = landingpad { ptr, i32 } catch ptr null - %1564 = extractvalue { ptr, i32 } %1563, 0 - call void @__clang_call_terminate(ptr %1564) #28 + %1562 = extractvalue { ptr, i32 } %1561, 0 + call void @__clang_call_terminate(ptr %1562) #28 unreachable -1565: ; preds = %1494 - %1566 = landingpad { ptr, i32 } +1563: ; preds = %1492 + %1564 = landingpad { ptr, i32 } cleanup - br label %1569 + br label %1567 -1567: ; preds = %1496 - %1568 = landingpad { ptr, i32 } +1565: ; preds = %1494 + %1566 = landingpad { ptr, i32 } cleanup call void @_ZN5Yosys5RTLIL7SigSpecD2Ev(ptr noundef nonnull align 8 dereferenceable(64) %102) #25 - br label %1569 + br label %1567 -1569: ; preds = %1567, %1565 - %.pn155 = phi { ptr, i32 } [ %1568, %1567 ], [ %1566, %1565 ] +1567: ; preds = %1565, %1563 + %.pn155 = phi { ptr, i32 } [ %1566, %1565 ], [ %1564, %1563 ] call void @_ZN5Yosys5RTLIL8IdStringD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %101) #25 br label %.body228 -1570: ; preds = %1544 - %1571 = landingpad { ptr, i32 } +1568: ; preds = %1542 + %1569 = landingpad { ptr, i32 } cleanup br label %_ZN5Yosys5RTLIL5ConstD2Ev.exit497 -1572: ; preds = %1545 - %1573 = landingpad { ptr, i32 } +1570: ; preds = %1543 + %1571 = landingpad { ptr, i32 } cleanup - %1574 = getelementptr inbounds nuw i8, ptr %104, i64 8 - %1575 = load ptr, ptr %1574, align 8 - %.not.i.i.i.i496 = icmp eq ptr %1575, null - br i1 %.not.i.i.i.i496, label %_ZN5Yosys5RTLIL5ConstD2Ev.exit497, label %1576 + %1572 = getelementptr inbounds nuw i8, ptr %104, i64 8 + %1573 = load ptr, ptr %1572, align 8 + %.not.i.i.i.i496 = icmp eq ptr %1573, null + br i1 %.not.i.i.i.i496, label %_ZN5Yosys5RTLIL5ConstD2Ev.exit497, label %1574 -1576: ; preds = %1572 - call void @_ZdlPv(ptr noundef nonnull %1575) #26 +1574: ; preds = %1570 + call void @_ZdlPv(ptr noundef nonnull %1573) #26 br label %_ZN5Yosys5RTLIL5ConstD2Ev.exit497 -_ZN5Yosys5RTLIL5ConstD2Ev.exit497: ; preds = %1576, %1572, %1570 - %.pn157 = phi { ptr, i32 } [ %1571, %1570 ], [ %1573, %1572 ], [ %1573, %1576 ] +_ZN5Yosys5RTLIL5ConstD2Ev.exit497: ; preds = %1574, %1570, %1568 + %.pn157 = phi { ptr, i32 } [ %1569, %1568 ], [ %1571, %1570 ], [ %1571, %1574 ] call void @_ZN5Yosys5RTLIL8IdStringD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %103) #25 br label %.body228 -_ZN5Yosys5RTLIL8IdStringD2Ev.exit495: ; preds = %1561, %1554, %_ZN5Yosys5RTLIL5ConstD2Ev.exit492, %._crit_edge - %1577 = getelementptr inbounds nuw i8, ptr %18, i64 360 - invoke void @_ZN5Yosys7hashlib4poolIPNS_5RTLIL4CellENS0_8hash_opsIS4_EEE6insertERKS4_(ptr dead_on_unwind nonnull writable sret(%"struct.std::pair.277") align 8 %105, ptr noundef nonnull align 8 dereferenceable(49) %3, ptr noundef nonnull align 8 dereferenceable(8) %1577) - to label %1578 unwind label %583 +_ZN5Yosys5RTLIL8IdStringD2Ev.exit495: ; preds = %1559, %1552, %_ZN5Yosys5RTLIL5ConstD2Ev.exit492, %._crit_edge + %1575 = getelementptr inbounds nuw i8, ptr %18, i64 360 + invoke void @_ZN5Yosys7hashlib4poolIPNS_5RTLIL4CellENS0_8hash_opsIS4_EEE6insertERKS4_(ptr dead_on_unwind nonnull writable sret(%"struct.std::pair.277") align 8 %105, ptr noundef nonnull align 8 dereferenceable(49) %3, ptr noundef nonnull align 8 dereferenceable(8) %1575) + to label %1576 unwind label %581 -1578: ; preds = %_ZN5Yosys5RTLIL8IdStringD2Ev.exit495 - %1579 = getelementptr inbounds nuw i8, ptr %18, i64 368 - invoke void @_ZN5Yosys7hashlib4poolIPNS_5RTLIL4CellENS0_8hash_opsIS4_EEE6insertERKS4_(ptr dead_on_unwind nonnull writable sret(%"struct.std::pair.277") align 8 %106, ptr noundef nonnull align 8 dereferenceable(49) %3, ptr noundef nonnull align 8 dereferenceable(8) %1579) - to label %1580 unwind label %583 +1576: ; preds = %_ZN5Yosys5RTLIL8IdStringD2Ev.exit495 + %1577 = getelementptr inbounds nuw i8, ptr %18, i64 368 + invoke void @_ZN5Yosys7hashlib4poolIPNS_5RTLIL4CellENS0_8hash_opsIS4_EEE6insertERKS4_(ptr dead_on_unwind nonnull writable sret(%"struct.std::pair.277") align 8 %106, ptr noundef nonnull align 8 dereferenceable(49) %3, ptr noundef nonnull align 8 dereferenceable(8) %1577) + to label %1578 unwind label %581 + +1578: ; preds = %1576 + %1579 = getelementptr inbounds nuw i8, ptr %18, i64 376 + invoke void @_ZN5Yosys7hashlib4poolIPNS_5RTLIL4CellENS0_8hash_opsIS4_EEE6insertERKS4_(ptr dead_on_unwind nonnull writable sret(%"struct.std::pair.277") align 8 %107, ptr noundef nonnull align 8 dereferenceable(49) %3, ptr noundef nonnull align 8 dereferenceable(8) %1579) + to label %1580 unwind label %581 1580: ; preds = %1578 - %1581 = getelementptr inbounds nuw i8, ptr %18, i64 376 - invoke void @_ZN5Yosys7hashlib4poolIPNS_5RTLIL4CellENS0_8hash_opsIS4_EEE6insertERKS4_(ptr dead_on_unwind nonnull writable sret(%"struct.std::pair.277") align 8 %107, ptr noundef nonnull align 8 dereferenceable(49) %3, ptr noundef nonnull align 8 dereferenceable(8) %1581) - to label %1582 unwind label %583 - -1582: ; preds = %1580 - %1583 = load i32, ptr %2, align 4 - %1584 = add i32 %1583, 1 - store i32 %1584, ptr %2, align 4 + %1581 = load i32, ptr %2, align 4 + %1582 = add i32 %1581, 1 + store i32 %1582, ptr %2, align 4 call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %109) #25 invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %108, ptr noundef nonnull @.str.84, ptr noundef nonnull align 1 dereferenceable(1) %109) - to label %1585 unwind label %1593 + to label %1583 unwind label %1591 -1585: ; preds = %1582 +1583: ; preds = %1580 call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %109) #25 - %1586 = load i8, ptr %508, align 8 - %1587 = trunc i8 %1586 to i1 - br i1 %1587, label %.invoke, label %1599 - -.invoke: ; preds = %1585 - %1588 = getelementptr inbounds nuw i8, ptr %18, i64 88 - %1589 = load i8, ptr %1588, align 8 - %1590 = trunc i8 %1589 to i1 - %1591 = select i1 %1590, ptr @.str.85, ptr @.str.86 - %1592 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %108, ptr noundef nonnull %1591) - to label %1597 unwind label %1595 - -1593: ; preds = %1582 - %1594 = landingpad { ptr, i32 } + %1584 = load i8, ptr %506, align 8 + %1585 = trunc i8 %1584 to i1 + br i1 %1585, label %.invoke, label %1597 + +.invoke: ; preds = %1583 + %1586 = getelementptr inbounds nuw i8, ptr %18, i64 88 + %1587 = load i8, ptr %1586, align 8 + %1588 = trunc i8 %1587 to i1 + %1589 = select i1 %1588, ptr @.str.85, ptr @.str.86 + %1590 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %108, ptr noundef nonnull %1589) + to label %1595 unwind label %1593 + +1591: ; preds = %1580 + %1592 = landingpad { ptr, i32 } cleanup call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %109) #25 br label %.body228 -1595: ; preds = %.invoke, %1638, %_ZN5Yosys5RTLIL5ConstD2Ev.exit499, %1625, %1609, %1599, %1597 - %1596 = landingpad { ptr, i32 } +1593: ; preds = %.invoke, %1636, %_ZN5Yosys5RTLIL5ConstD2Ev.exit499, %1623, %1607, %1597, %1595 + %1594 = landingpad { ptr, i32 } cleanup br label %_ZN5Yosys5RTLIL5ConstD2Ev.exit501 -1597: ; preds = %.invoke - %1598 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEPKc(ptr noundef nonnull align 8 dereferenceable(32) %108, ptr noundef nonnull @.str.87) - to label %1599 unwind label %1595 - -1599: ; preds = %1597, %1585 - %1600 = load i32, ptr %18, align 8 - %1601 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %108) #25 - %1602 = load i8, ptr %1097, align 4 - %1603 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %19) #25 - %1604 = load i8, ptr %1097, align 4 - %1605 = load i32, ptr %762, align 4 - %1606 = load ptr, ptr %407, align 8 - %1607 = getelementptr inbounds nuw i8, ptr %1606, i64 72 - %1608 = invoke noundef ptr @_ZN5Yosys6log_idERKNS_5RTLIL8IdStringE(ptr noundef nonnull align 4 dereferenceable(4) %1607) - to label %1609 unwind label %1595 - -1609: ; preds = %1599 - %1610 = trunc i8 %1604 to i1 - %1611 = select i1 %1610, ptr @.str.89, ptr @.str.90 - %1612 = trunc i8 %1602 to i1 - %1613 = select i1 %1612, ptr @.str.30, ptr @.str.31 - %1614 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %11) #25 - invoke void (ptr, ...) @_ZN5Yosys3logEPKcz(ptr noundef nonnull @.str.88, i32 noundef %1600, ptr noundef %1601, ptr noundef nonnull %1613, ptr noundef %1603, ptr noundef nonnull %1611, i32 noundef %1605, ptr noundef %1608, ptr noundef %1614) - to label %1615 unwind label %1595 - -1615: ; preds = %1609 - %1616 = load i8, ptr %1472, align 8 - %1617 = trunc i8 %1616 to i1 - br i1 %1617, label %1638, label %1618 - -1618: ; preds = %1615 - %1619 = load i32, ptr %762, align 4 - %1620 = sitofp i32 %1619 to double - %1621 = call double @log2(double noundef %1620) #25 - %1622 = call double @llvm.ceil.f64(double %1621) - %1623 = fptosi double %1622 to i32 - %1624 = load i32, ptr %18, align 8 - %.not159 = icmp eq i32 %1624, %1623 - br i1 %.not159, label %1638, label %1625 - -1625: ; preds = %1618 - invoke void @_ZN5Yosys5RTLIL5ConstC1Eii(ptr noundef nonnull align 8 dereferenceable(32) %110, i32 noundef %1623, i32 noundef 32) - to label %1626 unwind label %1595 - -1626: ; preds = %1625 +1595: ; preds = %.invoke + %1596 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEPKc(ptr noundef nonnull align 8 dereferenceable(32) %108, ptr noundef nonnull @.str.87) + to label %1597 unwind label %1593 + +1597: ; preds = %1595, %1583 + %1598 = load i32, ptr %18, align 8 + %1599 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %108) #25 + %1600 = load i8, ptr %1095, align 4 + %1601 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %19) #25 + %1602 = load i8, ptr %1095, align 4 + %1603 = load i32, ptr %760, align 4 + %1604 = load ptr, ptr %405, align 8 + %1605 = getelementptr inbounds nuw i8, ptr %1604, i64 72 + %1606 = invoke noundef ptr @_ZN5Yosys6log_idERKNS_5RTLIL8IdStringE(ptr noundef nonnull align 4 dereferenceable(4) %1605) + to label %1607 unwind label %1593 + +1607: ; preds = %1597 + %1608 = trunc i8 %1602 to i1 + %1609 = select i1 %1608, ptr @.str.89, ptr @.str.90 + %1610 = trunc i8 %1600 to i1 + %1611 = select i1 %1610, ptr @.str.30, ptr @.str.31 + %1612 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %11) #25 + invoke void (ptr, ...) @_ZN5Yosys3logEPKcz(ptr noundef nonnull @.str.88, i32 noundef %1598, ptr noundef %1599, ptr noundef nonnull %1611, ptr noundef %1601, ptr noundef nonnull %1609, i32 noundef %1603, ptr noundef %1606, ptr noundef %1612) + to label %1613 unwind label %1593 + +1613: ; preds = %1607 + %1614 = load i8, ptr %1470, align 8 + %1615 = trunc i8 %1614 to i1 + br i1 %1615, label %1636, label %1616 + +1616: ; preds = %1613 + %1617 = load i32, ptr %760, align 4 + %1618 = sitofp i32 %1617 to double + %1619 = call double @log2(double noundef %1618) #25 + %1620 = call double @llvm.ceil.f64(double %1619) + %1621 = fptosi double %1620 to i32 + %1622 = load i32, ptr %18, align 8 + %.not159 = icmp eq i32 %1622, %1621 + br i1 %.not159, label %1636, label %1623 + +1623: ; preds = %1616 + invoke void @_ZN5Yosys5RTLIL5ConstC1Eii(ptr noundef nonnull align 8 dereferenceable(32) %110, i32 noundef %1621, i32 noundef 32) + to label %1624 unwind label %1593 + +1624: ; preds = %1623 invoke void @_ZN5Yosys5RTLIL4Cell8setParamERKNS0_8IdStringENS0_5ConstE(ptr noundef nonnull align 8 dereferenceable(192) %1, ptr noundef nonnull align 4 dereferenceable(4) @_ZN5Yosys5RTLIL2ID5WIDTHE, ptr noundef nonnull %110) - to label %1627 unwind label %1633 + to label %1625 unwind label %1631 -1627: ; preds = %1626 - %1628 = getelementptr inbounds nuw i8, ptr %110, i64 8 - %1629 = load ptr, ptr %1628, align 8 - %.not.i.i.i.i498 = icmp eq ptr %1629, null - br i1 %.not.i.i.i.i498, label %_ZN5Yosys5RTLIL5ConstD2Ev.exit499, label %1630 +1625: ; preds = %1624 + %1626 = getelementptr inbounds nuw i8, ptr %110, i64 8 + %1627 = load ptr, ptr %1626, align 8 + %.not.i.i.i.i498 = icmp eq ptr %1627, null + br i1 %.not.i.i.i.i498, label %_ZN5Yosys5RTLIL5ConstD2Ev.exit499, label %1628 -1630: ; preds = %1627 - call void @_ZdlPv(ptr noundef nonnull %1629) #26 +1628: ; preds = %1625 + call void @_ZdlPv(ptr noundef nonnull %1627) #26 br label %_ZN5Yosys5RTLIL5ConstD2Ev.exit499 -_ZN5Yosys5RTLIL5ConstD2Ev.exit499: ; preds = %1627, %1630 - %1631 = load i32, ptr %18, align 8 - %1632 = sub nsw i32 %1631, %1623 - invoke void (ptr, ...) @_ZN5Yosys3logEPKcz(ptr noundef nonnull @.str.91, i32 noundef %1632, i32 noundef %1623) - to label %1638 unwind label %1595 +_ZN5Yosys5RTLIL5ConstD2Ev.exit499: ; preds = %1625, %1628 + %1629 = load i32, ptr %18, align 8 + %1630 = sub nsw i32 %1629, %1621 + invoke void (ptr, ...) @_ZN5Yosys3logEPKcz(ptr noundef nonnull @.str.91, i32 noundef %1630, i32 noundef %1621) + to label %1636 unwind label %1593 -1633: ; preds = %1626 - %1634 = landingpad { ptr, i32 } +1631: ; preds = %1624 + %1632 = landingpad { ptr, i32 } cleanup - %1635 = getelementptr inbounds nuw i8, ptr %110, i64 8 - %1636 = load ptr, ptr %1635, align 8 - %.not.i.i.i.i500 = icmp eq ptr %1636, null - br i1 %.not.i.i.i.i500, label %_ZN5Yosys5RTLIL5ConstD2Ev.exit501, label %1637 + %1633 = getelementptr inbounds nuw i8, ptr %110, i64 8 + %1634 = load ptr, ptr %1633, align 8 + %.not.i.i.i.i500 = icmp eq ptr %1634, null + br i1 %.not.i.i.i.i500, label %_ZN5Yosys5RTLIL5ConstD2Ev.exit501, label %1635 -1637: ; preds = %1633 - call void @_ZdlPv(ptr noundef nonnull %1636) #26 +1635: ; preds = %1631 + call void @_ZdlPv(ptr noundef nonnull %1634) #26 br label %_ZN5Yosys5RTLIL5ConstD2Ev.exit501 -1638: ; preds = %1618, %_ZN5Yosys5RTLIL5ConstD2Ev.exit499, %1615 +1636: ; preds = %1616, %_ZN5Yosys5RTLIL5ConstD2Ev.exit499, %1613 store ptr %1, ptr %111, align 8 - %1639 = getelementptr inbounds nuw i8, ptr %111, i64 8 - invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %1639, ptr noundef nonnull align 8 dereferenceable(32) %19) - to label %_ZNSt4pairIPN5Yosys5RTLIL4CellENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2IRS3_RS9_TnNSt9enable_ifIXaaclsr5_PCCPE22_MoveConstructiblePairIT_T0_EEclsr5_PCCPE30_ImplicitlyMoveConvertiblePairISF_SG_EEEbE4typeELb1EEEOSF_OSG_.exit unwind label %1595 + %1637 = getelementptr inbounds nuw i8, ptr %111, i64 8 + invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %1637, ptr noundef nonnull align 8 dereferenceable(32) %19) + to label %_ZNSt4pairIPN5Yosys5RTLIL4CellENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2IRS3_RS9_TnNSt9enable_ifIXaaclsr5_PCCPE22_MoveConstructiblePairIT_T0_EEclsr5_PCCPE30_ImplicitlyMoveConvertiblePairISF_SG_EEEbE4typeELb1EEEOSF_OSG_.exit unwind label %1593 -_ZNSt4pairIPN5Yosys5RTLIL4CellENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2IRS3_RS9_TnNSt9enable_ifIXaaclsr5_PCCPE22_MoveConstructiblePairIT_T0_EEclsr5_PCCPE30_ImplicitlyMoveConvertiblePairISF_SG_EEEbE4typeELb1EEEOSF_OSG_.exit: ; preds = %1638 +_ZNSt4pairIPN5Yosys5RTLIL4CellENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2IRS3_RS9_TnNSt9enable_ifIXaaclsr5_PCCPE22_MoveConstructiblePairIT_T0_EEclsr5_PCCPE30_ImplicitlyMoveConvertiblePairISF_SG_EEEbE4typeELb1EEEOSF_OSG_.exit: ; preds = %1636 invoke void @_ZN5Yosys7hashlib4poolISt4pairIPNS_5RTLIL4CellENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS0_8hash_opsISC_EEE6insertEOSC_(ptr dead_on_unwind nonnull writable sret(%"struct.std::pair.280") align 8 %112, ptr noundef nonnull align 8 dereferenceable(49) %4, ptr noundef nonnull align 8 dereferenceable(40) %111) - to label %1640 unwind label %1654 + to label %1638 unwind label %1652 -1640: ; preds = %_ZNSt4pairIPN5Yosys5RTLIL4CellENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2IRS3_RS9_TnNSt9enable_ifIXaaclsr5_PCCPE22_MoveConstructiblePairIT_T0_EEclsr5_PCCPE30_ImplicitlyMoveConvertiblePairISF_SG_EEEbE4typeELb1EEEOSF_OSG_.exit - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %1639) #25 +1638: ; preds = %_ZNSt4pairIPN5Yosys5RTLIL4CellENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2IRS3_RS9_TnNSt9enable_ifIXaaclsr5_PCCPE22_MoveConstructiblePairIT_T0_EEclsr5_PCCPE30_ImplicitlyMoveConvertiblePairISF_SG_EEEbE4typeELb1EEEOSF_OSG_.exit + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %1637) #25 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %108) #25 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #25 - br label %1641 + br label %1639 -1641: ; preds = %395, %1640 +1639: ; preds = %393, %1638 call fastcc void @_ZN12_GLOBAL__N_117CounterExtractionD2Ev(ptr noundef nonnull align 8 dereferenceable(440) %18) #25 - br label %1642 + br label %1640 -1642: ; preds = %384, %_ZN5Yosys7hashlib4poolINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS0_8hash_opsIS7_EEED2Ev.exit, %1641 +1640: ; preds = %382, %_ZN5Yosys7hashlib4poolINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS0_8hash_opsIS7_EEED2Ev.exit, %1639 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #25 - br label %1643 + br label %1641 -1643: ; preds = %205, %1642 - %1644 = load ptr, ptr %157, align 8 - %.not.i.i.i.i503 = icmp eq ptr %1644, null - br i1 %.not.i.i.i.i503, label %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i504, label %1645 +1641: ; preds = %205, %1640 + %1642 = load ptr, ptr %157, align 8 + %.not.i.i.i.i503 = icmp eq ptr %1642, null + br i1 %.not.i.i.i.i503, label %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i504, label %1643 -1645: ; preds = %1643 - call void @_ZdlPv(ptr noundef nonnull %1644) #26 +1643: ; preds = %1641 + call void @_ZdlPv(ptr noundef nonnull %1642) #26 br label %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i504 -_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i504: ; preds = %1645, %1643 - %1646 = load ptr, ptr %148, align 8 - %1647 = load ptr, ptr %151, align 8 - %.not4.i.i.i.i.i505 = icmp eq ptr %1646, %1647 +_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i504: ; preds = %1643, %1641 + %1644 = load ptr, ptr %148, align 8 + %1645 = load ptr, ptr %151, align 8 + %.not4.i.i.i.i.i505 = icmp eq ptr %1644, %1645 br i1 %.not4.i.i.i.i.i505, label %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i513, label %.lr.ph.i.i.i.i.i506 .lr.ph.i.i.i.i.i506: ; preds = %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i504, %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i509 - %.05.i.i.i.i.i507 = phi ptr [ %1651, %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i509 ], [ %1646, %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i504 ] - %1648 = getelementptr inbounds nuw i8, ptr %.05.i.i.i.i.i507, i64 8 - %1649 = load ptr, ptr %1648, align 8 - %.not.i.i.i.i.i.i.i.i.i.i508 = icmp eq ptr %1649, null - br i1 %.not.i.i.i.i.i.i.i.i.i.i508, label %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i509, label %1650 - -1650: ; preds = %.lr.ph.i.i.i.i.i506 - call void @_ZdlPv(ptr noundef nonnull %1649) #26 + %.05.i.i.i.i.i507 = phi ptr [ %1649, %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i509 ], [ %1644, %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i504 ] + %1646 = getelementptr inbounds nuw i8, ptr %.05.i.i.i.i.i507, i64 8 + %1647 = load ptr, ptr %1646, align 8 + %.not.i.i.i.i.i.i.i.i.i.i508 = icmp eq ptr %1647, null + br i1 %.not.i.i.i.i.i.i.i.i.i.i508, label %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i509, label %1648 + +1648: ; preds = %.lr.ph.i.i.i.i.i506 + call void @_ZdlPv(ptr noundef nonnull %1647) #26 br label %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i509 -_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i509: ; preds = %1650, %.lr.ph.i.i.i.i.i506 - %1651 = getelementptr inbounds nuw i8, ptr %.05.i.i.i.i.i507, i64 40 - %.not.i.i.i.i.i510 = icmp eq ptr %1651, %1647 +_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i509: ; preds = %1648, %.lr.ph.i.i.i.i.i506 + %1649 = getelementptr inbounds nuw i8, ptr %.05.i.i.i.i.i507, i64 40 + %.not.i.i.i.i.i510 = icmp eq ptr %1649, %1645 br i1 %.not.i.i.i.i.i510, label %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i511, label %.lr.ph.i.i.i.i.i506, !llvm.loop !37 _ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i511: ; preds = %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i509 @@ -6493,45 +6488,45 @@ _ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i. br label %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i513 _ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i513: ; preds = %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i511, %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i504 - %1652 = phi ptr [ %.pr.i.i512, %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i511 ], [ %1646, %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i504 ] - %.not.i.i.i1.i514 = icmp eq ptr %1652, null - br i1 %.not.i.i.i1.i514, label %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit515, label %1653 + %1650 = phi ptr [ %.pr.i.i512, %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i511 ], [ %1644, %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i504 ] + %.not.i.i.i1.i514 = icmp eq ptr %1650, null + br i1 %.not.i.i.i1.i514, label %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit515, label %1651 -1653: ; preds = %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i513 - call void @_ZdlPv(ptr noundef nonnull %1652) #26 +1651: ; preds = %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i513 + call void @_ZdlPv(ptr noundef nonnull %1650) #26 br label %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit515 -_ZN5Yosys5RTLIL7SigSpecD2Ev.exit515: ; preds = %1653, %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i513, %"_ZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK3$_0clEv.exit.thread", %_ZN5Yosys5RTLIL8IdStringD2Ev.exit +_ZN5Yosys5RTLIL7SigSpecD2Ev.exit515: ; preds = %1651, %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i513, %"_ZZN12_GLOBAL__N_114counter_workerERN5Yosys8ModIndexEPNS0_5RTLIL4CellERjRNS0_7hashlib4poolIS5_NS7_8hash_opsIS5_EEEERNS8_ISt4pairIS5_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENS9_ISK_EEEENS_25CounterExtractionSettingsEENK3$_0clEv.exit.thread", %_ZN5Yosys5RTLIL8IdStringD2Ev.exit ret void -1654: ; preds = %_ZNSt4pairIPN5Yosys5RTLIL4CellENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2IRS3_RS9_TnNSt9enable_ifIXaaclsr5_PCCPE22_MoveConstructiblePairIT_T0_EEclsr5_PCCPE30_ImplicitlyMoveConvertiblePairISF_SG_EEEbE4typeELb1EEEOSF_OSG_.exit - %1655 = landingpad { ptr, i32 } +1652: ; preds = %_ZNSt4pairIPN5Yosys5RTLIL4CellENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2IRS3_RS9_TnNSt9enable_ifIXaaclsr5_PCCPE22_MoveConstructiblePairIT_T0_EEclsr5_PCCPE30_ImplicitlyMoveConvertiblePairISF_SG_EEEbE4typeELb1EEEOSF_OSG_.exit + %1653 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %1639) #25 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %1637) #25 br label %_ZN5Yosys5RTLIL5ConstD2Ev.exit501 -_ZN5Yosys5RTLIL5ConstD2Ev.exit501: ; preds = %1637, %1633, %1654, %1595 - %.pn160 = phi { ptr, i32 } [ %1655, %1654 ], [ %1596, %1595 ], [ %1634, %1633 ], [ %1634, %1637 ] +_ZN5Yosys5RTLIL5ConstD2Ev.exit501: ; preds = %1635, %1631, %1652, %1593 + %.pn160 = phi { ptr, i32 } [ %1653, %1652 ], [ %1594, %1593 ], [ %1632, %1631 ], [ %1632, %1635 ] call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %108) #25 br label %.body228 -.body228: ; preds = %931, %927, %474, %655, %759, %876, %1043, %1157, %1271, %1383, %583, %1542, %1492, %1344, %1231, %1117, %1004, %822, %695, %528, %_ZN5Yosys5RTLIL5ConstD2Ev.exit501, %1593, %_ZN5Yosys5RTLIL5ConstD2Ev.exit497, %1569, %1470, %_ZN5Yosys5RTLIL5ConstD2Ev.exit466, %_ZN5Yosys5RTLIL5ConstD2Ev.exit464, %_ZN5Yosys5RTLIL5ConstD2Ev.exit439, %1317, %_ZN5Yosys5RTLIL5ConstD2Ev.exit404, %1203, %_ZN5Yosys5RTLIL5ConstD2Ev.exit369, %_ZN5Yosys5RTLIL5ConstD2Ev.exit367, %986, %978, %973, %956, %_ZN5Yosys5RTLIL5ConstD2Ev.exit334, %938, %932, %_ZN5Yosys5RTLIL5ConstD2Ev.exit330, %742, %737, %637, %629, %624, %607, %596, %585 - %.pn162 = phi { ptr, i32 } [ %1471, %1470 ], [ %.pn160, %_ZN5Yosys5RTLIL5ConstD2Ev.exit501 ], [ %1594, %1593 ], [ %.pn157, %_ZN5Yosys5RTLIL5ConstD2Ev.exit497 ], [ %.pn155, %1569 ], [ %.pn153, %_ZN5Yosys5RTLIL5ConstD2Ev.exit466 ], [ %.pn151, %_ZN5Yosys5RTLIL5ConstD2Ev.exit464 ], [ %.pn148.pn, %_ZN5Yosys5RTLIL5ConstD2Ev.exit404 ], [ %.pn145.pn, %1203 ], [ %.pn142.pn, %_ZN5Yosys5RTLIL5ConstD2Ev.exit439 ], [ %.pn139.pn, %1317 ], [ %.pn137, %978 ], [ %.pn131.pn.pn.pn.pn, %973 ], [ %.pn127.pn.pn, %956 ], [ %.pn125, %986 ], [ %.pn123, %_ZN5Yosys5RTLIL5ConstD2Ev.exit334 ], [ %.pn120.pn, %_ZN5Yosys5RTLIL5ConstD2Ev.exit369 ], [ %.pn118, %_ZN5Yosys5RTLIL5ConstD2Ev.exit367 ], [ %.pn116, %938 ], [ %933, %932 ], [ %.pn114, %_ZN5Yosys5RTLIL5ConstD2Ev.exit330 ], [ %.pn112, %629 ], [ %.pn106.pn.pn.pn.pn, %624 ], [ %.pn102.pn.pn, %607 ], [ %.pn100, %637 ], [ %.pn97.pn, %596 ], [ %.pn95, %742 ], [ %.pn92.pn, %737 ], [ %586, %585 ], [ %475, %474 ], [ %529, %528 ], [ %656, %655 ], [ %696, %695 ], [ %760, %759 ], [ %823, %822 ], [ %877, %876 ], [ %1005, %1004 ], [ %1044, %1043 ], [ %1118, %1117 ], [ %1158, %1157 ], [ %1232, %1231 ], [ %1272, %1271 ], [ %1345, %1344 ], [ %1384, %1383 ], [ %1493, %1492 ], [ %584, %583 ], [ %1543, %1542 ], [ %928, %927 ], [ %928, %931 ] +.body228: ; preds = %929, %925, %472, %653, %757, %874, %1041, %1155, %1269, %1381, %581, %1540, %1490, %1342, %1229, %1115, %1002, %820, %693, %526, %_ZN5Yosys5RTLIL5ConstD2Ev.exit501, %1591, %_ZN5Yosys5RTLIL5ConstD2Ev.exit497, %1567, %1468, %_ZN5Yosys5RTLIL5ConstD2Ev.exit466, %_ZN5Yosys5RTLIL5ConstD2Ev.exit464, %_ZN5Yosys5RTLIL5ConstD2Ev.exit439, %1315, %_ZN5Yosys5RTLIL5ConstD2Ev.exit404, %1201, %_ZN5Yosys5RTLIL5ConstD2Ev.exit369, %_ZN5Yosys5RTLIL5ConstD2Ev.exit367, %984, %976, %971, %954, %_ZN5Yosys5RTLIL5ConstD2Ev.exit334, %936, %930, %_ZN5Yosys5RTLIL5ConstD2Ev.exit330, %740, %735, %635, %627, %622, %605, %594, %583 + %.pn162 = phi { ptr, i32 } [ %1469, %1468 ], [ %.pn160, %_ZN5Yosys5RTLIL5ConstD2Ev.exit501 ], [ %1592, %1591 ], [ %.pn157, %_ZN5Yosys5RTLIL5ConstD2Ev.exit497 ], [ %.pn155, %1567 ], [ %.pn153, %_ZN5Yosys5RTLIL5ConstD2Ev.exit466 ], [ %.pn151, %_ZN5Yosys5RTLIL5ConstD2Ev.exit464 ], [ %.pn148.pn, %_ZN5Yosys5RTLIL5ConstD2Ev.exit404 ], [ %.pn145.pn, %1201 ], [ %.pn142.pn, %_ZN5Yosys5RTLIL5ConstD2Ev.exit439 ], [ %.pn139.pn, %1315 ], [ %.pn137, %976 ], [ %.pn131.pn.pn.pn.pn, %971 ], [ %.pn127.pn.pn, %954 ], [ %.pn125, %984 ], [ %.pn123, %_ZN5Yosys5RTLIL5ConstD2Ev.exit334 ], [ %.pn120.pn, %_ZN5Yosys5RTLIL5ConstD2Ev.exit369 ], [ %.pn118, %_ZN5Yosys5RTLIL5ConstD2Ev.exit367 ], [ %.pn116, %936 ], [ %931, %930 ], [ %.pn114, %_ZN5Yosys5RTLIL5ConstD2Ev.exit330 ], [ %.pn112, %627 ], [ %.pn106.pn.pn.pn.pn, %622 ], [ %.pn102.pn.pn, %605 ], [ %.pn100, %635 ], [ %.pn97.pn, %594 ], [ %.pn95, %740 ], [ %.pn92.pn, %735 ], [ %584, %583 ], [ %473, %472 ], [ %527, %526 ], [ %654, %653 ], [ %694, %693 ], [ %758, %757 ], [ %821, %820 ], [ %875, %874 ], [ %1003, %1002 ], [ %1042, %1041 ], [ %1116, %1115 ], [ %1156, %1155 ], [ %1230, %1229 ], [ %1270, %1269 ], [ %1343, %1342 ], [ %1382, %1381 ], [ %1491, %1490 ], [ %582, %581 ], [ %1541, %1540 ], [ %926, %925 ], [ %926, %929 ] call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #25 - br label %1656 + br label %1654 -1656: ; preds = %.body228, %582, %403 - %.pn164 = phi { ptr, i32 } [ %404, %403 ], [ %.pn162, %.body228 ], [ %.pn.pn.pn, %582 ] +1654: ; preds = %.body228, %580, %401 + %.pn164 = phi { ptr, i32 } [ %402, %401 ], [ %.pn162, %.body228 ], [ %.pn.pn.pn, %580 ] call fastcc void @_ZN12_GLOBAL__N_117CounterExtractionD2Ev(ptr noundef nonnull align 8 dereferenceable(440) %18) #25 br label %.body -.body: ; preds = %236, %320, %1656, %366, %364, %362 - %.pn164.pn = phi { ptr, i32 } [ %.pn164, %1656 ], [ %367, %366 ], [ %365, %364 ], [ %363, %362 ], [ %237, %236 ], [ %321, %320 ] +.body: ; preds = %236, %318, %1654, %364, %362, %360 + %.pn164.pn = phi { ptr, i32 } [ %.pn164, %1654 ], [ %365, %364 ], [ %363, %362 ], [ %361, %360 ], [ %237, %236 ], [ %319, %318 ] call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #25 - br label %1657 + br label %1655 -1657: ; preds = %.body, %360, %210, %208 - %.pn164.pn.pn = phi { ptr, i32 } [ %.pn164.pn, %.body ], [ %361, %360 ], [ %209, %208 ], [ %211, %210 ] +1655: ; preds = %.body, %358, %210, %208 + %.pn164.pn.pn = phi { ptr, i32 } [ %.pn164.pn, %.body ], [ %359, %358 ], [ %209, %208 ], [ %211, %210 ] call void @_ZN5Yosys5RTLIL7SigSpecD2Ev(ptr noundef nonnull align 8 dereferenceable(64) %8) #25 br label %common.resume } diff --git a/bench/yosys/optimized/fsm_export.ll b/bench/yosys/optimized/fsm_export.ll index b6d80062234..915954d733c 100644 --- a/bench/yosys/optimized/fsm_export.ll +++ b/bench/yosys/optimized/fsm_export.ll @@ -347,7 +347,7 @@ define internal void @_ZN12_GLOBAL__N_113FsmExportPass7executeESt6vectorINSt7__c call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #20 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #20 invoke void (ptr, ptr, ...) @_ZN5Yosys10log_headerEPNS_5RTLIL6DesignEPKcz(ptr noundef %2, ptr noundef nonnull @.str.17) - to label %.preheader unwind label %.loopexit.split-lp150 + to label %.preheader unwind label %.loopexit.split-lp149 .preheader: ; preds = %3 %41 = getelementptr inbounds nuw i8, ptr %1, i64 8 @@ -361,25 +361,25 @@ define internal void @_ZN12_GLOBAL__N_113FsmExportPass7executeESt6vectorINSt7__c .lr.ph: ; preds = %.preheader, %65 %48 = phi ptr [ %68, %65 ], [ %43, %.preheader ] - %.0433 = phi i1 [ %.1, %65 ], [ false, %.preheader ] - %.023432 = phi i1 [ %.124, %65 ], [ false, %.preheader ] - %.025431 = phi i64 [ %66, %65 ], [ 1, %.preheader ] - %49 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %48, i64 %.025431 + %.0432 = phi i1 [ %.1, %65 ], [ false, %.preheader ] + %.023431 = phi i1 [ %.124, %65 ], [ false, %.preheader ] + %.025430 = phi i64 [ %66, %65 ], [ 1, %.preheader ] + %49 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %48, i64 %.025430 %50 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %35, ptr noundef nonnull align 8 dereferenceable(32) %49) - to label %51 unwind label %.loopexit149 + to label %51 unwind label %.loopexit148 51: ; preds = %.lr.ph %52 = call noundef i32 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEPKc(ptr noundef nonnull align 8 dereferenceable(32) %35, ptr noundef nonnull @.str.18) #20 %53 = icmp eq i32 %52, 0 br i1 %53, label %65, label %54 -.loopexit149: ; preds = %.lr.ph, %57 - %lpad.loopexit151 = landingpad { ptr, i32 } +.loopexit148: ; preds = %.lr.ph, %57 + %lpad.loopexit150 = landingpad { ptr, i32 } cleanup br label %_ZNSt6vectorIPN5Yosys5RTLIL6ModuleESaIS3_EED2Ev.exit47 -.loopexit.split-lp150: ; preds = %3, %._crit_edge, %_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev.exit - %lpad.loopexit.split-lp152 = landingpad { ptr, i32 } +.loopexit.split-lp149: ; preds = %3, %._crit_edge, %_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev.exit + %lpad.loopexit.split-lp151 = landingpad { ptr, i32 } cleanup br label %_ZNSt6vectorIPN5Yosys5RTLIL6ModuleESaIS3_EED2Ev.exit47 @@ -389,11 +389,11 @@ define internal void @_ZN12_GLOBAL__N_113FsmExportPass7executeESt6vectorINSt7__c br i1 %56, label %57, label %62 57: ; preds = %54 - %58 = add nuw i64 %.025431, 1 + %58 = add nuw i64 %.025430, 1 %59 = load ptr, ptr %1, align 8 %60 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %59, i64 %58 %61 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %36, ptr noundef nonnull align 8 dereferenceable(32) %60) - to label %65 unwind label %.loopexit149 + to label %65 unwind label %.loopexit148 62: ; preds = %54 %63 = call noundef i32 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEPKc(ptr noundef nonnull align 8 dereferenceable(32) %35, ptr noundef nonnull @.str.20) #20 @@ -401,9 +401,9 @@ define internal void @_ZN12_GLOBAL__N_113FsmExportPass7executeESt6vectorINSt7__c br i1 %64, label %65, label %._crit_edge 65: ; preds = %62, %51, %57 - %.126 = phi i64 [ %58, %57 ], [ %.025431, %51 ], [ %.025431, %62 ] - %.124 = phi i1 [ %.023432, %57 ], [ %.023432, %51 ], [ true, %62 ] - %.1 = phi i1 [ %.0433, %57 ], [ true, %51 ], [ %.0433, %62 ] + %.126 = phi i64 [ %58, %57 ], [ %.025430, %51 ], [ %.025430, %62 ] + %.124 = phi i1 [ %.023431, %57 ], [ %.023431, %51 ], [ true, %62 ] + %.1 = phi i1 [ %.0432, %57 ], [ true, %51 ], [ %.0432, %62 ] %66 = add i64 %.126, 1 %67 = load ptr, ptr %41, align 8 %68 = load ptr, ptr %1, align 8 @@ -415,11 +415,11 @@ define internal void @_ZN12_GLOBAL__N_113FsmExportPass7executeESt6vectorINSt7__c br i1 %73, label %.lr.ph, label %._crit_edge, !llvm.loop !6 ._crit_edge: ; preds = %65, %62, %.preheader - %.025.lcssa = phi i64 [ 1, %.preheader ], [ %.025431, %62 ], [ %66, %65 ] - %.023.lcssa = phi i1 [ false, %.preheader ], [ %.023432, %62 ], [ %.124, %65 ] - %.0.lcssa = phi i1 [ false, %.preheader ], [ %.0433, %62 ], [ %.1, %65 ] + %.025.lcssa = phi i64 [ 1, %.preheader ], [ %.025430, %62 ], [ %66, %65 ] + %.023.lcssa = phi i1 [ false, %.preheader ], [ %.023431, %62 ], [ %.124, %65 ] + %.0.lcssa = phi i1 [ false, %.preheader ], [ %.0432, %62 ], [ %.1, %65 ] invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2ERKS7_(ptr noundef nonnull align 8 dereferenceable(24) %37, ptr noundef nonnull align 8 dereferenceable(24) %1) - to label %74 unwind label %.loopexit.split-lp150 + to label %74 unwind label %.loopexit.split-lp149 74: ; preds = %._crit_edge invoke void @_ZN5Yosys4Pass10extra_argsESt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS7_EEmPNS_5RTLIL6DesignEb(ptr noundef nonnull align 8 dereferenceable(104) %0, ptr noundef nonnull %37, i64 noundef %.025.lcssa, ptr noundef %2, i1 noundef zeroext true) @@ -454,16 +454,16 @@ _ZSt8_DestroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EvT_S7_RSa _ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev.exit: ; preds = %_ZSt8_DestroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EvT_S7_RSaIT0_E.exit.i, %81 invoke void @_ZNK5Yosys5RTLIL6Design16selected_modulesEv(ptr dead_on_unwind nonnull writable sret(%"class.std::vector.3") align 8 %38, ptr noundef nonnull align 8 dereferenceable(376) %2) - to label %82 unwind label %.loopexit.split-lp150 + to label %82 unwind label %.loopexit.split-lp149 82: ; preds = %_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev.exit %83 = load ptr, ptr %38, align 8 %84 = getelementptr inbounds nuw i8, ptr %38, i64 8 %85 = load ptr, ptr %84, align 8 - %.not137445 = icmp eq ptr %83, %85 - br i1 %.not137445, label %._crit_edge449, label %.lr.ph448 + %.not137444 = icmp eq ptr %83, %85 + br i1 %.not137444, label %._crit_edge448, label %.lr.ph447 -.lr.ph448: ; preds = %82 +.lr.ph447: ; preds = %82 %86 = getelementptr inbounds nuw i8, ptr %39, i64 8 %87 = getelementptr inbounds nuw i8, ptr %14, i64 16 %88 = getelementptr inbounds nuw i8, ptr %15, i64 8 @@ -502,20 +502,20 @@ _ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev.ex %121 = getelementptr inbounds nuw i8, ptr %15, i64 56 br label %126 -._crit_edge449.loopexit: ; preds = %_ZNSt6vectorIPN5Yosys5RTLIL4CellESaIS3_EED2Ev.exit - %.pre477 = load ptr, ptr %38, align 8 - br label %._crit_edge449 +._crit_edge448.loopexit: ; preds = %_ZNSt6vectorIPN5Yosys5RTLIL4CellESaIS3_EED2Ev.exit + %.pre476 = load ptr, ptr %38, align 8 + br label %._crit_edge448 -._crit_edge449: ; preds = %._crit_edge449.loopexit, %82 - %122 = phi ptr [ %.pre477, %._crit_edge449.loopexit ], [ %83, %82 ] +._crit_edge448: ; preds = %._crit_edge448.loopexit, %82 + %122 = phi ptr [ %.pre476, %._crit_edge448.loopexit ], [ %83, %82 ] %.not.i.i.i36 = icmp eq ptr %122, null br i1 %.not.i.i.i36, label %_ZNSt6vectorIPN5Yosys5RTLIL6ModuleESaIS3_EED2Ev.exit, label %123 -123: ; preds = %._crit_edge449 +123: ; preds = %._crit_edge448 call void @_ZdlPv(ptr noundef nonnull %122) #21 br label %_ZNSt6vectorIPN5Yosys5RTLIL6ModuleESaIS3_EED2Ev.exit -_ZNSt6vectorIPN5Yosys5RTLIL6ModuleESaIS3_EED2Ev.exit: ; preds = %._crit_edge449, %123 +_ZNSt6vectorIPN5Yosys5RTLIL6ModuleESaIS3_EED2Ev.exit: ; preds = %._crit_edge448, %123 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #20 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #20 ret void @@ -526,48 +526,48 @@ _ZNSt6vectorIPN5Yosys5RTLIL6ModuleESaIS3_EED2Ev.exit: ; preds = %._crit_edge449, call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %37) #20 br label %_ZNSt6vectorIPN5Yosys5RTLIL6ModuleESaIS3_EED2Ev.exit47 -126: ; preds = %.lr.ph448, %_ZNSt6vectorIPN5Yosys5RTLIL4CellESaIS3_EED2Ev.exit - %.sroa.0130.0446 = phi ptr [ %83, %.lr.ph448 ], [ %134, %_ZNSt6vectorIPN5Yosys5RTLIL4CellESaIS3_EED2Ev.exit ] - %127 = load ptr, ptr %.sroa.0130.0446, align 8 +126: ; preds = %.lr.ph447, %_ZNSt6vectorIPN5Yosys5RTLIL4CellESaIS3_EED2Ev.exit + %.sroa.0130.0445 = phi ptr [ %83, %.lr.ph447 ], [ %134, %_ZNSt6vectorIPN5Yosys5RTLIL4CellESaIS3_EED2Ev.exit ] + %127 = load ptr, ptr %.sroa.0130.0445, align 8 invoke void @_ZNK5Yosys5RTLIL6Module14selected_cellsEv(ptr dead_on_unwind nonnull writable sret(%"class.std::vector.56") align 8 %39, ptr noundef nonnull align 8 dereferenceable(560) %127) to label %128 unwind label %135 128: ; preds = %126 %129 = load ptr, ptr %39, align 8 %130 = load ptr, ptr %86, align 8 - %.not138440 = icmp eq ptr %129, %130 - br i1 %.not138440, label %._crit_edge444, label %.lr.ph443 + %.not138439 = icmp eq ptr %129, %130 + br i1 %.not138439, label %._crit_edge443, label %.lr.ph442 -.lr.ph443: ; preds = %128 +.lr.ph442: ; preds = %128 %131 = getelementptr inbounds nuw i8, ptr %127, i64 304 br label %137 -._crit_edge444.loopexit: ; preds = %929 - %.pre476 = load ptr, ptr %39, align 8 - br label %._crit_edge444 +._crit_edge443.loopexit: ; preds = %927 + %.pre475 = load ptr, ptr %39, align 8 + br label %._crit_edge443 -._crit_edge444: ; preds = %._crit_edge444.loopexit, %128 - %132 = phi ptr [ %.pre476, %._crit_edge444.loopexit ], [ %129, %128 ] +._crit_edge443: ; preds = %._crit_edge443.loopexit, %128 + %132 = phi ptr [ %.pre475, %._crit_edge443.loopexit ], [ %129, %128 ] %.not.i.i.i37 = icmp eq ptr %132, null br i1 %.not.i.i.i37, label %_ZNSt6vectorIPN5Yosys5RTLIL4CellESaIS3_EED2Ev.exit, label %133 -133: ; preds = %._crit_edge444 +133: ; preds = %._crit_edge443 call void @_ZdlPv(ptr noundef nonnull %132) #21 br label %_ZNSt6vectorIPN5Yosys5RTLIL4CellESaIS3_EED2Ev.exit -_ZNSt6vectorIPN5Yosys5RTLIL4CellESaIS3_EED2Ev.exit: ; preds = %._crit_edge444, %133 - %134 = getelementptr inbounds nuw i8, ptr %.sroa.0130.0446, i64 8 +_ZNSt6vectorIPN5Yosys5RTLIL4CellESaIS3_EED2Ev.exit: ; preds = %._crit_edge443, %133 + %134 = getelementptr inbounds nuw i8, ptr %.sroa.0130.0445, i64 8 %.not137 = icmp eq ptr %134, %85 - br i1 %.not137, label %._crit_edge449.loopexit, label %126 + br i1 %.not137, label %._crit_edge448.loopexit, label %126 135: ; preds = %126 %136 = landingpad { ptr, i32 } cleanup br label %_ZNSt6vectorIPN5Yosys5RTLIL4CellESaIS3_EED2Ev.exit45 -137: ; preds = %.lr.ph443, %929 - %.sroa.0126.0441 = phi ptr [ %129, %.lr.ph443 ], [ %930, %929 ] - %138 = load ptr, ptr %.sroa.0126.0441, align 8 +137: ; preds = %.lr.ph442, %927 + %.sroa.0126.0440 = phi ptr [ %129, %.lr.ph442 ], [ %928, %927 ] + %138 = load ptr, ptr %.sroa.0126.0440, align 8 %139 = load atomic i8, ptr @_ZGVZZN12_GLOBAL__N_113FsmExportPass7executeESt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS7_EEPN5Yosys5RTLIL6DesignEENKUlvE_clEvE2id acquire, align 8, !noalias !9 %140 = icmp eq i8 %139, 0 br i1 %140, label %141, label %147, !prof !12 @@ -596,7 +596,7 @@ _ZZN12_GLOBAL__N_113FsmExportPass7executeESt6vectorINSt7__cxx1112basic_stringIcS %149 = getelementptr inbounds nuw i8, ptr %138, i64 76 %150 = load i32, ptr %149, align 4 %151 = icmp eq i32 %150, 0 - br i1 %151, label %174, label %929 + br i1 %151, label %174, label %927 152: ; preds = %143 %153 = landingpad { ptr, i32 } @@ -639,7 +639,7 @@ _ZZN12_GLOBAL__N_113FsmExportPass7executeESt6vectorINSt7__cxx1112basic_stringIcS unreachable _ZN5Yosys5RTLIL8IdStringD2Ev.exit: ; preds = %_ZZN12_GLOBAL__N_113FsmExportPass7executeESt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS7_EEPN5Yosys5RTLIL6DesignEENKUlvE_clEv.exit, %164, %170 - br i1 %161, label %174, label %929 + br i1 %161, label %174, label %927 174: ; preds = %_ZZN12_GLOBAL__N_113FsmExportPass7executeESt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS7_EEPN5Yosys5RTLIL6DesignEENKUlvE_clEv.exit.thread, %_ZN5Yosys5RTLIL8IdStringD2Ev.exit %175 = load ptr, ptr %138, align 8 @@ -796,14 +796,14 @@ _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i: ; preds = %242 250: ; preds = %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i %251 = shl nuw nsw i64 %249, 2 %252 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %251) #24 - to label %.noexc104 unwind label %.loopexit141 + to label %.noexc104 unwind label %.loopexit140 .noexc104: ; preds = %250, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i %253 = phi ptr [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i ], [ %252, %250 ] %254 = getelementptr inbounds i8, ptr %253, i64 %229 %255 = shl nsw i64 %224, 2 - %reass.sub478 = sub i64 %255, %229 - %256 = and i64 %reass.sub478, -4 + %reass.sub477 = sub i64 %255, %229 + %256 = and i64 %reass.sub477, -4 call void @llvm.memset.p0.i64(ptr align 4 %254, i8 -1, i64 %256, i1 false) %257 = getelementptr inbounds i32, ptr %254, i64 %233 %.not.i.i.i.i.i.i.i.i.i80.i = icmp eq ptr %225, %226 @@ -930,35 +930,28 @@ _ZNK5Yosys7hashlib4dictINS_5RTLIL8IdStringENS2_5ConstENS0_8hash_opsIS3_EEE7do_ha %322 = load i32, ptr @_ZN5Yosys5RTLIL2ID10fsm_exportE, align 4 br label %323 -323: ; preds = %328, %.lr.ph.i.i - %.013.i.i = phi i32 [ %320, %.lr.ph.i.i ], [ %330, %328 ] +323: ; preds = %327, %.lr.ph.i.i + %.013.i.i = phi i32 [ %320, %.lr.ph.i.i ], [ %329, %327 ] %324 = zext nneg i32 %.013.i.i to i64 %325 = getelementptr inbounds nuw %"struct.Yosys::hashlib::dict::entry_t", ptr %315, i64 %324 %326 = load i32, ptr %325, align 4 - %327 = icmp eq i32 %326, %322 - br i1 %327, label %.loopexit.loopexit, label %328 - -328: ; preds = %323 - %329 = getelementptr inbounds nuw i8, ptr %325, i64 40 - %330 = load i32, ptr %329, align 8 - %331 = icmp sgt i32 %330, -1 - br i1 %331, label %323, label %.loopexit.loopexit, !llvm.loop !14 - -.loopexit.loopexit: ; preds = %323, %328 - %.sroa.3.0.i.ph = phi i32 [ %.013.i.i, %323 ], [ -1, %328 ] - %332 = icmp eq i32 %.sroa.3.0.i.ph, -1 - br label %.loopexit + %.not = icmp eq i32 %326, %322 + br i1 %.not, label %.critedge, label %327 + +327: ; preds = %323 + %328 = getelementptr inbounds nuw i8, ptr %325, i64 40 + %329 = load i32, ptr %328, align 8 + %330 = icmp sgt i32 %329, -1 + br i1 %330, label %323, label %.loopexit, !llvm.loop !14 -.loopexit: ; preds = %.loopexit.loopexit, %._crit_edge.i.i, %174 - %.sroa.3.0.i = phi i1 [ true, %._crit_edge.i.i ], [ true, %174 ], [ %332, %.loopexit.loopexit ] - %or.cond.not = and i1 %.0.lcssa, %.sroa.3.0.i - br i1 %or.cond.not, label %929, label %.critedge +.loopexit: ; preds = %327, %._crit_edge.i.i, %174 + br i1 %.0.lcssa, label %927, label %.critedge -.critedge: ; preds = %.loopexit +.critedge: ; preds = %323, %.loopexit invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %40, ptr noundef nonnull align 8 dereferenceable(32) %36) - to label %333 unwind label %.loopexit141 + to label %331 unwind label %.loopexit140 -333: ; preds = %.critedge +331: ; preds = %.critedge call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %14) call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %15) call void @llvm.lifetime.start.p0(i64 512, ptr nonnull %16) @@ -985,601 +978,601 @@ _ZNK5Yosys7hashlib4dictINS_5RTLIL8IdStringENS2_5ConstENS0_8hash_opsIS3_EEE7do_ha call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %90, i8 0, i64 24, i1 false) call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(28) %89, i8 0, i64 28, i1 false) invoke void @_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(248) %16) - to label %334 unwind label %466 + to label %332 unwind label %464 -334: ; preds = %333 +332: ; preds = %331 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #20 - %335 = load ptr, ptr %138, align 8 - %336 = load ptr, ptr %176, align 8 - %337 = icmp eq ptr %335, %336 - br i1 %337, label %.loopexit157.i, label %338 - -338: ; preds = %334 - %339 = load i32, ptr @_ZN5Yosys5RTLIL2ID10fsm_exportE, align 4 - %340 = ptrtoint ptr %336 to i64 - %341 = ptrtoint ptr %335 to i64 - %342 = sub i64 %340, %341 - %343 = lshr exact i64 %342, 2 - %344 = trunc i64 %343 to i32 - %345 = urem i32 %339, %344 - %346 = getelementptr inbounds nuw i8, ptr %138, i64 24 - %347 = getelementptr inbounds nuw i8, ptr %138, i64 32 - %348 = load ptr, ptr %347, align 8 - %349 = load ptr, ptr %346, align 8 - %350 = ptrtoint ptr %348 to i64 - %351 = ptrtoint ptr %349 to i64 - %352 = sub i64 %350, %351 - %353 = sdiv exact i64 %352, 48 - %354 = shl nsw i64 %353, 1 - %355 = ashr exact i64 %342, 2 - %356 = icmp ugt i64 %354, %355 - br i1 %356, label %_ZNSt6vectorIiSaIiEE5clearEv.exit.i85, label %._crit_edge.i.i.i - -_ZNSt6vectorIiSaIiEE5clearEv.exit.i85: ; preds = %338 + %333 = load ptr, ptr %138, align 8 + %334 = load ptr, ptr %176, align 8 + %335 = icmp eq ptr %333, %334 + br i1 %335, label %.loopexit157.i, label %336 + +336: ; preds = %332 + %337 = load i32, ptr @_ZN5Yosys5RTLIL2ID10fsm_exportE, align 4 + %338 = ptrtoint ptr %334 to i64 + %339 = ptrtoint ptr %333 to i64 + %340 = sub i64 %338, %339 + %341 = lshr exact i64 %340, 2 + %342 = trunc i64 %341 to i32 + %343 = urem i32 %337, %342 + %344 = getelementptr inbounds nuw i8, ptr %138, i64 24 + %345 = getelementptr inbounds nuw i8, ptr %138, i64 32 + %346 = load ptr, ptr %345, align 8 + %347 = load ptr, ptr %344, align 8 + %348 = ptrtoint ptr %346 to i64 + %349 = ptrtoint ptr %347 to i64 + %350 = sub i64 %348, %349 + %351 = sdiv exact i64 %350, 48 + %352 = shl nsw i64 %351, 1 + %353 = ashr exact i64 %340, 2 + %354 = icmp ugt i64 %352, %353 + br i1 %354, label %_ZNSt6vectorIiSaIiEE5clearEv.exit.i85, label %._crit_edge.i.i.i + +_ZNSt6vectorIiSaIiEE5clearEv.exit.i85: ; preds = %336 call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %8) - store ptr %335, ptr %176, align 8 - %357 = getelementptr inbounds nuw i8, ptr %138, i64 40 - %358 = load ptr, ptr %357, align 8 - %359 = ptrtoint ptr %358 to i64 - %360 = sub i64 %359, %351 - %361 = sdiv exact i64 %360, 48 - %362 = trunc i64 %361 to i32 - %363 = mul i32 %362, 3 + store ptr %333, ptr %176, align 8 + %355 = getelementptr inbounds nuw i8, ptr %138, i64 40 + %356 = load ptr, ptr %355, align 8 + %357 = ptrtoint ptr %356 to i64 + %358 = sub i64 %357, %349 + %359 = sdiv exact i64 %358, 48 + %360 = trunc i64 %359 to i32 + %361 = mul i32 %360, 3 call void @llvm.lifetime.start.p0(i64 300, ptr nonnull %4) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %5) - %364 = load atomic i8, ptr @_ZGVZN5Yosys7hashlib14hashtable_sizeEiE20zero_and_some_primes acquire, align 8 - %365 = icmp eq i8 %364, 0 - br i1 %365, label %366, label %371, !prof !12 + %362 = load atomic i8, ptr @_ZGVZN5Yosys7hashlib14hashtable_sizeEiE20zero_and_some_primes acquire, align 8 + %363 = icmp eq i8 %362, 0 + br i1 %363, label %364, label %369, !prof !12 -366: ; preds = %_ZNSt6vectorIiSaIiEE5clearEv.exit.i85 - %367 = call i32 @__cxa_guard_acquire(ptr nonnull @_ZGVZN5Yosys7hashlib14hashtable_sizeEiE20zero_and_some_primes) #20 - %.not.i119 = icmp eq i32 %367, 0 - br i1 %.not.i119, label %371, label %368 +364: ; preds = %_ZNSt6vectorIiSaIiEE5clearEv.exit.i85 + %365 = call i32 @__cxa_guard_acquire(ptr nonnull @_ZGVZN5Yosys7hashlib14hashtable_sizeEiE20zero_and_some_primes) #20 + %.not.i119 = icmp eq i32 %365, 0 + br i1 %.not.i119, label %369, label %366 -368: ; preds = %366 +366: ; preds = %364 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(300) %4, ptr noundef nonnull align 4 dereferenceable(300) @constinit, i64 300, i1 false) invoke void @_ZNSt6vectorIiSaIiEEC2ESt16initializer_listIiERKS0_(ptr noundef nonnull align 8 dereferenceable(24) @_ZZN5Yosys7hashlib14hashtable_sizeEiE20zero_and_some_primes, ptr nonnull %4, i64 75, ptr noundef nonnull align 1 dereferenceable(1) %5) - to label %369 unwind label %377 + to label %367 unwind label %375 -369: ; preds = %368 - %370 = call i32 @__cxa_atexit(ptr nonnull @_ZNSt6vectorIiSaIiEED2Ev, ptr nonnull @_ZZN5Yosys7hashlib14hashtable_sizeEiE20zero_and_some_primes, ptr nonnull @__dso_handle) #20 +367: ; preds = %366 + %368 = call i32 @__cxa_atexit(ptr nonnull @_ZNSt6vectorIiSaIiEED2Ev, ptr nonnull @_ZZN5Yosys7hashlib14hashtable_sizeEiE20zero_and_some_primes, ptr nonnull @__dso_handle) #20 call void @__cxa_guard_release(ptr nonnull @_ZGVZN5Yosys7hashlib14hashtable_sizeEiE20zero_and_some_primes) #20 - br label %371 + br label %369 -371: ; preds = %369, %366, %_ZNSt6vectorIiSaIiEE5clearEv.exit.i85 - %372 = load ptr, ptr @_ZZN5Yosys7hashlib14hashtable_sizeEiE20zero_and_some_primes, align 8 - %373 = load ptr, ptr getelementptr inbounds nuw (i8, ptr @_ZZN5Yosys7hashlib14hashtable_sizeEiE20zero_and_some_primes, i64 8), align 8 - %.not1112.i112 = icmp eq ptr %372, %373 +369: ; preds = %367, %364, %_ZNSt6vectorIiSaIiEE5clearEv.exit.i85 + %370 = load ptr, ptr @_ZZN5Yosys7hashlib14hashtable_sizeEiE20zero_and_some_primes, align 8 + %371 = load ptr, ptr getelementptr inbounds nuw (i8, ptr @_ZZN5Yosys7hashlib14hashtable_sizeEiE20zero_and_some_primes, i64 8), align 8 + %.not1112.i112 = icmp eq ptr %370, %371 br i1 %.not1112.i112, label %._crit_edge.i117, label %.lr.ph.i113 -374: ; preds = %.lr.ph.i113 - %375 = getelementptr inbounds nuw i8, ptr %.sroa.08.013.i114, i64 4 - %.not11.i116 = icmp eq ptr %375, %373 +372: ; preds = %.lr.ph.i113 + %373 = getelementptr inbounds nuw i8, ptr %.sroa.08.013.i114, i64 4 + %.not11.i116 = icmp eq ptr %373, %371 br i1 %.not11.i116, label %._crit_edge.i117, label %.lr.ph.i113 -.lr.ph.i113: ; preds = %371, %374 - %.sroa.08.013.i114 = phi ptr [ %375, %374 ], [ %372, %371 ] - %376 = load i32, ptr %.sroa.08.013.i114, align 4 - %.not7.i115 = icmp slt i32 %376, %363 - br i1 %.not7.i115, label %374, label %.noexc95 +.lr.ph.i113: ; preds = %369, %372 + %.sroa.08.013.i114 = phi ptr [ %373, %372 ], [ %370, %369 ] + %374 = load i32, ptr %.sroa.08.013.i114, align 4 + %.not7.i115 = icmp slt i32 %374, %361 + br i1 %.not7.i115, label %372, label %.noexc95 -377: ; preds = %368 - %378 = landingpad { ptr, i32 } +375: ; preds = %366 + %376 = landingpad { ptr, i32 } cleanup call void @__cxa_guard_abort(ptr nonnull @_ZGVZN5Yosys7hashlib14hashtable_sizeEiE20zero_and_some_primes) #20 br label %.loopexit.split-lp.i.body -._crit_edge.i117: ; preds = %371, %374 - %379 = call ptr @__cxa_allocate_exception(i64 16) #20 - invoke void @_ZNSt12length_errorC1EPKc(ptr noundef nonnull align 8 dereferenceable(16) %379, ptr noundef nonnull @.str.27) - to label %380 unwind label %381 +._crit_edge.i117: ; preds = %369, %372 + %377 = call ptr @__cxa_allocate_exception(i64 16) #20 + invoke void @_ZNSt12length_errorC1EPKc(ptr noundef nonnull align 8 dereferenceable(16) %377, ptr noundef nonnull @.str.27) + to label %378 unwind label %379 -380: ; preds = %._crit_edge.i117 - invoke void @__cxa_throw(ptr nonnull %379, ptr nonnull @_ZTISt12length_error, ptr nonnull @_ZNSt12length_errorD1Ev) #23 +378: ; preds = %._crit_edge.i117 + invoke void @__cxa_throw(ptr nonnull %377, ptr nonnull @_ZTISt12length_error, ptr nonnull @_ZNSt12length_errorD1Ev) #23 to label %.noexc120 unwind label %.loopexit.split-lp.i.loopexit.split-lp -.noexc120: ; preds = %380 +.noexc120: ; preds = %378 unreachable -381: ; preds = %._crit_edge.i117 - %382 = landingpad { ptr, i32 } +379: ; preds = %._crit_edge.i117 + %380 = landingpad { ptr, i32 } cleanup - call void @__cxa_free_exception(ptr %379) #20 + call void @__cxa_free_exception(ptr %377) #20 br label %.loopexit.split-lp.i.body .noexc95: ; preds = %.lr.ph.i113 call void @llvm.lifetime.end.p0(i64 300, ptr nonnull %4) call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %5) - %383 = sext i32 %376 to i64 + %381 = sext i32 %374 to i64 store i32 -1, ptr %8, align 4 - %384 = load ptr, ptr %176, align 8 - %385 = load ptr, ptr %138, align 8 - %386 = ptrtoint ptr %384 to i64 - %387 = ptrtoint ptr %385 to i64 - %388 = sub i64 %386, %387 - %389 = ashr exact i64 %388, 2 - %390 = icmp ult i64 %389, %383 - br i1 %390, label %391, label %393 + %382 = load ptr, ptr %176, align 8 + %383 = load ptr, ptr %138, align 8 + %384 = ptrtoint ptr %382 to i64 + %385 = ptrtoint ptr %383 to i64 + %386 = sub i64 %384, %385 + %387 = ashr exact i64 %386, 2 + %388 = icmp ult i64 %387, %381 + br i1 %388, label %389, label %391 + +389: ; preds = %.noexc95 + %390 = sub nuw nsw i64 %381, %387 + invoke void @_ZNSt6vectorIiSaIiEE14_M_fill_insertEN9__gnu_cxx17__normal_iteratorIPiS1_EEmRKi(ptr noundef nonnull align 8 dereferenceable(49) %138, ptr %382, i64 noundef %390, ptr noundef nonnull align 4 dereferenceable(4) %8) + to label %_ZNSt6vectorIiSaIiEE6resizeEmRKi.exit.i86 unwind label %.loopexit.split-lp.i.loopexit 391: ; preds = %.noexc95 - %392 = sub nuw nsw i64 %383, %389 - invoke void @_ZNSt6vectorIiSaIiEE14_M_fill_insertEN9__gnu_cxx17__normal_iteratorIPiS1_EEmRKi(ptr noundef nonnull align 8 dereferenceable(49) %138, ptr %384, i64 noundef %392, ptr noundef nonnull align 4 dereferenceable(4) %8) - to label %_ZNSt6vectorIiSaIiEE6resizeEmRKi.exit.i86 unwind label %.loopexit.split-lp.i.loopexit + %392 = icmp ugt i64 %387, %381 + br i1 %392, label %393, label %_ZNSt6vectorIiSaIiEE6resizeEmRKi.exit.i86 -393: ; preds = %.noexc95 - %394 = icmp ugt i64 %389, %383 - br i1 %394, label %395, label %_ZNSt6vectorIiSaIiEE6resizeEmRKi.exit.i86 +393: ; preds = %391 + %394 = getelementptr inbounds i32, ptr %383, i64 %381 + %.not.i.i9.i94 = icmp eq ptr %382, %394 + br i1 %.not.i.i9.i94, label %_ZNSt6vectorIiSaIiEE6resizeEmRKi.exit.i86, label %395 395: ; preds = %393 - %396 = getelementptr inbounds i32, ptr %385, i64 %383 - %.not.i.i9.i94 = icmp eq ptr %384, %396 - br i1 %.not.i.i9.i94, label %_ZNSt6vectorIiSaIiEE6resizeEmRKi.exit.i86, label %397 - -397: ; preds = %395 - store ptr %396, ptr %176, align 8 + store ptr %394, ptr %176, align 8 br label %_ZNSt6vectorIiSaIiEE6resizeEmRKi.exit.i86 -_ZNSt6vectorIiSaIiEE6resizeEmRKi.exit.i86: ; preds = %391, %397, %395, %393 - %398 = load ptr, ptr %347, align 8 - %399 = load ptr, ptr %346, align 8 - %400 = ptrtoint ptr %398 to i64 - %401 = ptrtoint ptr %399 to i64 - %402 = sub i64 %400, %401 - %403 = sdiv exact i64 %402, 48 - %404 = trunc i64 %403 to i32 - %405 = icmp sgt i32 %404, 0 - br i1 %405, label %.lr.ph.i88, label %.noexc.i +_ZNSt6vectorIiSaIiEE6resizeEmRKi.exit.i86: ; preds = %389, %395, %393, %391 + %396 = load ptr, ptr %345, align 8 + %397 = load ptr, ptr %344, align 8 + %398 = ptrtoint ptr %396 to i64 + %399 = ptrtoint ptr %397 to i64 + %400 = sub i64 %398, %399 + %401 = sdiv exact i64 %400, 48 + %402 = trunc i64 %401 to i32 + %403 = icmp sgt i32 %402, 0 + br i1 %403, label %.lr.ph.i88, label %.noexc.i .lr.ph.i88: ; preds = %_ZNSt6vectorIiSaIiEE6resizeEmRKi.exit.i86, %_ZNK5Yosys7hashlib4dictINS_5RTLIL8IdStringENS2_5ConstENS0_8hash_opsIS3_EEE7do_hashERKS3_.exit.i90 %indvars.iv.i89 = phi i64 [ %indvars.iv.next.i92, %_ZNK5Yosys7hashlib4dictINS_5RTLIL8IdStringENS2_5ConstENS0_8hash_opsIS3_EEE7do_hashERKS3_.exit.i90 ], [ 0, %_ZNSt6vectorIiSaIiEE6resizeEmRKi.exit.i86 ] - %406 = phi ptr [ %427, %_ZNK5Yosys7hashlib4dictINS_5RTLIL8IdStringENS2_5ConstENS0_8hash_opsIS3_EEE7do_hashERKS3_.exit.i90 ], [ %399, %_ZNSt6vectorIiSaIiEE6resizeEmRKi.exit.i86 ] - %407 = getelementptr inbounds nuw %"struct.Yosys::hashlib::dict::entry_t", ptr %406, i64 %indvars.iv.i89 - %408 = getelementptr inbounds nuw i8, ptr %407, i64 40 - %409 = load ptr, ptr %138, align 8 - %410 = load ptr, ptr %176, align 8 - %411 = icmp eq ptr %409, %410 - br i1 %411, label %_ZNK5Yosys7hashlib4dictINS_5RTLIL8IdStringENS2_5ConstENS0_8hash_opsIS3_EEE7do_hashERKS3_.exit.i90, label %412 - -412: ; preds = %.lr.ph.i88 - %413 = load i32, ptr %407, align 4 - %414 = ptrtoint ptr %410 to i64 - %415 = ptrtoint ptr %409 to i64 - %416 = sub i64 %414, %415 - %417 = lshr exact i64 %416, 2 - %418 = trunc i64 %417 to i32 - %419 = urem i32 %413, %418 - %420 = sext i32 %419 to i64 + %404 = phi ptr [ %425, %_ZNK5Yosys7hashlib4dictINS_5RTLIL8IdStringENS2_5ConstENS0_8hash_opsIS3_EEE7do_hashERKS3_.exit.i90 ], [ %397, %_ZNSt6vectorIiSaIiEE6resizeEmRKi.exit.i86 ] + %405 = getelementptr inbounds nuw %"struct.Yosys::hashlib::dict::entry_t", ptr %404, i64 %indvars.iv.i89 + %406 = getelementptr inbounds nuw i8, ptr %405, i64 40 + %407 = load ptr, ptr %138, align 8 + %408 = load ptr, ptr %176, align 8 + %409 = icmp eq ptr %407, %408 + br i1 %409, label %_ZNK5Yosys7hashlib4dictINS_5RTLIL8IdStringENS2_5ConstENS0_8hash_opsIS3_EEE7do_hashERKS3_.exit.i90, label %410 + +410: ; preds = %.lr.ph.i88 + %411 = load i32, ptr %405, align 4 + %412 = ptrtoint ptr %408 to i64 + %413 = ptrtoint ptr %407 to i64 + %414 = sub i64 %412, %413 + %415 = lshr exact i64 %414, 2 + %416 = trunc i64 %415 to i32 + %417 = urem i32 %411, %416 + %418 = sext i32 %417 to i64 br label %_ZNK5Yosys7hashlib4dictINS_5RTLIL8IdStringENS2_5ConstENS0_8hash_opsIS3_EEE7do_hashERKS3_.exit.i90 -_ZNK5Yosys7hashlib4dictINS_5RTLIL8IdStringENS2_5ConstENS0_8hash_opsIS3_EEE7do_hashERKS3_.exit.i90: ; preds = %412, %.lr.ph.i88 - %.0.i.i91 = phi i64 [ 0, %.lr.ph.i88 ], [ %420, %412 ] - %421 = getelementptr inbounds i32, ptr %409, i64 %.0.i.i91 - %422 = load i32, ptr %421, align 4 - store i32 %422, ptr %408, align 8 - %423 = load ptr, ptr %138, align 8 - %424 = getelementptr inbounds i32, ptr %423, i64 %.0.i.i91 - %425 = trunc nuw nsw i64 %indvars.iv.i89 to i32 - store i32 %425, ptr %424, align 4 +_ZNK5Yosys7hashlib4dictINS_5RTLIL8IdStringENS2_5ConstENS0_8hash_opsIS3_EEE7do_hashERKS3_.exit.i90: ; preds = %410, %.lr.ph.i88 + %.0.i.i91 = phi i64 [ 0, %.lr.ph.i88 ], [ %418, %410 ] + %419 = getelementptr inbounds i32, ptr %407, i64 %.0.i.i91 + %420 = load i32, ptr %419, align 4 + store i32 %420, ptr %406, align 8 + %421 = load ptr, ptr %138, align 8 + %422 = getelementptr inbounds i32, ptr %421, i64 %.0.i.i91 + %423 = trunc nuw nsw i64 %indvars.iv.i89 to i32 + store i32 %423, ptr %422, align 4 %indvars.iv.next.i92 = add nuw nsw i64 %indvars.iv.i89, 1 - %426 = load ptr, ptr %347, align 8 - %427 = load ptr, ptr %346, align 8 - %428 = ptrtoint ptr %426 to i64 - %429 = ptrtoint ptr %427 to i64 - %430 = sub i64 %428, %429 - %431 = sdiv exact i64 %430, 48 - %sext.i93 = shl i64 %431, 32 - %432 = ashr exact i64 %sext.i93, 32 - %433 = icmp slt i64 %indvars.iv.next.i92, %432 - br i1 %433, label %.lr.ph.i88, label %.noexc.i, !llvm.loop !13 + %424 = load ptr, ptr %345, align 8 + %425 = load ptr, ptr %344, align 8 + %426 = ptrtoint ptr %424 to i64 + %427 = ptrtoint ptr %425 to i64 + %428 = sub i64 %426, %427 + %429 = sdiv exact i64 %428, 48 + %sext.i93 = shl i64 %429, 32 + %430 = ashr exact i64 %sext.i93, 32 + %431 = icmp slt i64 %indvars.iv.next.i92, %430 + br i1 %431, label %.lr.ph.i88, label %.noexc.i, !llvm.loop !13 .noexc.i: ; preds = %_ZNK5Yosys7hashlib4dictINS_5RTLIL8IdStringENS2_5ConstENS0_8hash_opsIS3_EEE7do_hashERKS3_.exit.i90, %_ZNSt6vectorIiSaIiEE6resizeEmRKi.exit.i86 - %434 = phi ptr [ %399, %_ZNSt6vectorIiSaIiEE6resizeEmRKi.exit.i86 ], [ %427, %_ZNK5Yosys7hashlib4dictINS_5RTLIL8IdStringENS2_5ConstENS0_8hash_opsIS3_EEE7do_hashERKS3_.exit.i90 ] + %432 = phi ptr [ %397, %_ZNSt6vectorIiSaIiEE6resizeEmRKi.exit.i86 ], [ %425, %_ZNK5Yosys7hashlib4dictINS_5RTLIL8IdStringENS2_5ConstENS0_8hash_opsIS3_EEE7do_hashERKS3_.exit.i90 ] call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %8) - %435 = load ptr, ptr %138, align 8 - %436 = load ptr, ptr %176, align 8 - %437 = icmp eq ptr %435, %436 - br i1 %437, label %._crit_edge.i.i.i, label %438 - -438: ; preds = %.noexc.i - %439 = load i32, ptr @_ZN5Yosys5RTLIL2ID10fsm_exportE, align 4 - %440 = ptrtoint ptr %436 to i64 - %441 = ptrtoint ptr %435 to i64 - %442 = sub i64 %440, %441 - %443 = lshr exact i64 %442, 2 - %444 = trunc i64 %443 to i32 - %445 = urem i32 %439, %444 + %433 = load ptr, ptr %138, align 8 + %434 = load ptr, ptr %176, align 8 + %435 = icmp eq ptr %433, %434 + br i1 %435, label %._crit_edge.i.i.i, label %436 + +436: ; preds = %.noexc.i + %437 = load i32, ptr @_ZN5Yosys5RTLIL2ID10fsm_exportE, align 4 + %438 = ptrtoint ptr %434 to i64 + %439 = ptrtoint ptr %433 to i64 + %440 = sub i64 %438, %439 + %441 = lshr exact i64 %440, 2 + %442 = trunc i64 %441 to i32 + %443 = urem i32 %437, %442 br label %._crit_edge.i.i.i -._crit_edge.i.i.i: ; preds = %438, %.noexc.i, %338 - %446 = phi ptr [ %349, %338 ], [ %434, %438 ], [ %434, %.noexc.i ] - %447 = phi ptr [ %335, %338 ], [ %435, %438 ], [ %435, %.noexc.i ] - %448 = phi i32 [ %345, %338 ], [ %445, %438 ], [ 0, %.noexc.i ] - %449 = sext i32 %448 to i64 - %450 = getelementptr inbounds i32, ptr %447, i64 %449 - %451 = load i32, ptr %450, align 4 - %452 = icmp sgt i32 %451, -1 - br i1 %452, label %.lr.ph.i.i.i, label %.loopexit157.i +._crit_edge.i.i.i: ; preds = %436, %.noexc.i, %336 + %444 = phi ptr [ %347, %336 ], [ %432, %436 ], [ %432, %.noexc.i ] + %445 = phi ptr [ %333, %336 ], [ %433, %436 ], [ %433, %.noexc.i ] + %446 = phi i32 [ %343, %336 ], [ %443, %436 ], [ 0, %.noexc.i ] + %447 = sext i32 %446 to i64 + %448 = getelementptr inbounds i32, ptr %445, i64 %447 + %449 = load i32, ptr %448, align 4 + %450 = icmp sgt i32 %449, -1 + br i1 %450, label %.lr.ph.i.i.i, label %.loopexit157.i .lr.ph.i.i.i: ; preds = %._crit_edge.i.i.i - %453 = load i32, ptr @_ZN5Yosys5RTLIL2ID10fsm_exportE, align 4 - br label %454 - -454: ; preds = %459, %.lr.ph.i.i.i - %.013.i.i.i = phi i32 [ %451, %.lr.ph.i.i.i ], [ %461, %459 ] - %455 = zext nneg i32 %.013.i.i.i to i64 - %456 = getelementptr inbounds nuw %"struct.Yosys::hashlib::dict::entry_t", ptr %446, i64 %455 - %457 = load i32, ptr %456, align 4 - %458 = icmp eq i32 %457, %453 - br i1 %458, label %.loopexit157.i, label %459 - -459: ; preds = %454 - %460 = getelementptr inbounds nuw i8, ptr %456, i64 40 - %461 = load i32, ptr %460, align 8 - %462 = icmp sgt i32 %461, -1 - br i1 %462, label %454, label %.loopexit157.i, !llvm.loop !14 - -.loopexit157.i: ; preds = %459, %454, %._crit_edge.i.i.i, %334 - %.sroa.3.0.i.i = phi i32 [ -1, %._crit_edge.i.i.i ], [ -1, %334 ], [ %.013.i.i.i, %454 ], [ -1, %459 ] - %.sroa.0.0.i.i = phi ptr [ null, %._crit_edge.i.i.i ], [ null, %334 ], [ %138, %454 ], [ null, %459 ] - %463 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %40) #20 - br i1 %463, label %468, label %464 - -464: ; preds = %.loopexit157.i - %465 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6assignERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull align 8 dereferenceable(32) %40) - to label %503 unwind label %.loopexit.split-lp.i.loopexit - -466: ; preds = %333 - %467 = landingpad { ptr, i32 } + %451 = load i32, ptr @_ZN5Yosys5RTLIL2ID10fsm_exportE, align 4 + br label %452 + +452: ; preds = %457, %.lr.ph.i.i.i + %.013.i.i.i = phi i32 [ %449, %.lr.ph.i.i.i ], [ %459, %457 ] + %453 = zext nneg i32 %.013.i.i.i to i64 + %454 = getelementptr inbounds nuw %"struct.Yosys::hashlib::dict::entry_t", ptr %444, i64 %453 + %455 = load i32, ptr %454, align 4 + %456 = icmp eq i32 %455, %451 + br i1 %456, label %.loopexit157.i, label %457 + +457: ; preds = %452 + %458 = getelementptr inbounds nuw i8, ptr %454, i64 40 + %459 = load i32, ptr %458, align 8 + %460 = icmp sgt i32 %459, -1 + br i1 %460, label %452, label %.loopexit157.i, !llvm.loop !14 + +.loopexit157.i: ; preds = %457, %452, %._crit_edge.i.i.i, %332 + %.sroa.3.0.i.i = phi i32 [ -1, %._crit_edge.i.i.i ], [ -1, %332 ], [ %.013.i.i.i, %452 ], [ -1, %457 ] + %.sroa.0.0.i.i = phi ptr [ null, %._crit_edge.i.i.i ], [ null, %332 ], [ %138, %452 ], [ null, %457 ] + %461 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %40) #20 + br i1 %461, label %466, label %462 + +462: ; preds = %.loopexit157.i + %463 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6assignERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull align 8 dereferenceable(32) %40) + to label %501 unwind label %.loopexit.split-lp.i.loopexit + +464: ; preds = %331 + %465 = landingpad { ptr, i32 } cleanup - br label %904 + br label %902 .loopexit.i.loopexit: ; preds = %_ZNSt12_Vector_baseIN5Yosys5RTLIL5StateESaIS2_EE11_M_allocateEm.exit.i.i.i, %_ZNSt12_Vector_baseIN5Yosys5RTLIL5StateESaIS2_EE11_M_allocateEm.exit.i.i %lpad.loopexit = landingpad { ptr, i32 } cleanup br label %.loopexit.split-lp.i.body -.loopexit.i.loopexit.split-lp: ; preds = %688 +.loopexit.i.loopexit.split-lp: ; preds = %686 %lpad.loopexit.split-lp = landingpad { ptr, i32 } cleanup br label %.loopexit.split-lp.i.body -.loopexit.split-lp.i.loopexit: ; preds = %464, %469, %476, %.thread155.i, %503, %518, %524, %525, %531, %532, %534, %536, %539, %541, %543, %545, %548, %550, %552, %554, %562, %564, %566, %568, %576, %579, %581, %613, %615, %617, %620, %._crit_edge.i, %391 - %lpad.loopexit146 = landingpad { ptr, i32 } +.loopexit.split-lp.i.loopexit: ; preds = %462, %467, %474, %.thread155.i, %501, %516, %522, %523, %529, %530, %532, %534, %537, %539, %541, %543, %546, %548, %550, %552, %560, %562, %564, %566, %574, %577, %579, %611, %613, %615, %618, %._crit_edge.i, %389 + %lpad.loopexit145 = landingpad { ptr, i32 } cleanup br label %.loopexit.split-lp.i.body -.loopexit.split-lp.i.loopexit.split-lp: ; preds = %.invoke.i, %528, %647, %380 - %lpad.loopexit.split-lp147 = landingpad { ptr, i32 } +.loopexit.split-lp.i.loopexit.split-lp: ; preds = %.invoke.i, %526, %645, %378 + %lpad.loopexit.split-lp146 = landingpad { ptr, i32 } cleanup br label %.loopexit.split-lp.i.body -468: ; preds = %.loopexit157.i +466: ; preds = %.loopexit157.i %.not.i41 = icmp eq i32 %.sroa.3.0.i.i, -1 - br i1 %.not.i41, label %.thread155.i, label %469 - -469: ; preds = %468 - %470 = getelementptr inbounds nuw i8, ptr %.sroa.0.0.i.i, i64 24 - %471 = zext nneg i32 %.sroa.3.0.i.i to i64 - %472 = load ptr, ptr %470, align 8 - %473 = getelementptr inbounds nuw %"struct.Yosys::hashlib::dict::entry_t", ptr %472, i64 %471, i32 0, i32 1 - invoke void @_ZNK5Yosys5RTLIL5Const13decode_stringB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %18, ptr noundef nonnull align 8 dereferenceable(32) %473) - to label %474 unwind label %.loopexit.split-lp.i.loopexit - -474: ; preds = %469 - %475 = call noundef i32 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEPKc(ptr noundef nonnull align 8 dereferenceable(32) %18, ptr noundef nonnull @.str.23) #20 - %.not156.i = icmp eq i32 %475, 0 + br i1 %.not.i41, label %.thread155.i, label %467 + +467: ; preds = %466 + %468 = getelementptr inbounds nuw i8, ptr %.sroa.0.0.i.i, i64 24 + %469 = zext nneg i32 %.sroa.3.0.i.i to i64 + %470 = load ptr, ptr %468, align 8 + %471 = getelementptr inbounds nuw %"struct.Yosys::hashlib::dict::entry_t", ptr %470, i64 %469, i32 0, i32 1 + invoke void @_ZNK5Yosys5RTLIL5Const13decode_stringB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %18, ptr noundef nonnull align 8 dereferenceable(32) %471) + to label %472 unwind label %.loopexit.split-lp.i.loopexit + +472: ; preds = %467 + %473 = call noundef i32 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEPKc(ptr noundef nonnull align 8 dereferenceable(32) %18, ptr noundef nonnull @.str.23) #20 + %.not156.i = icmp eq i32 %473, 0 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #20 - br i1 %.not156.i, label %.thread155.i, label %476 + br i1 %.not156.i, label %.thread155.i, label %474 -476: ; preds = %474 - %477 = load ptr, ptr %470, align 8 - %478 = getelementptr inbounds nuw %"struct.Yosys::hashlib::dict::entry_t", ptr %477, i64 %471, i32 0, i32 1 - invoke void @_ZNK5Yosys5RTLIL5Const13decode_stringB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %19, ptr noundef nonnull align 8 dereferenceable(32) %478) - to label %479 unwind label %.loopexit.split-lp.i.loopexit +474: ; preds = %472 + %475 = load ptr, ptr %468, align 8 + %476 = getelementptr inbounds nuw %"struct.Yosys::hashlib::dict::entry_t", ptr %475, i64 %469, i32 0, i32 1 + invoke void @_ZNK5Yosys5RTLIL5Const13decode_stringB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %19, ptr noundef nonnull align 8 dereferenceable(32) %476) + to label %477 unwind label %.loopexit.split-lp.i.loopexit -479: ; preds = %476 - %480 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6assignEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull align 8 dereferenceable(32) %19) #20 +477: ; preds = %474 + %478 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6assignEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull align 8 dereferenceable(32) %19) #20 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #20 - br label %503 + br label %501 -.thread155.i: ; preds = %474, %468 - %481 = invoke noundef ptr @_ZN5Yosys6log_idERKNS_5RTLIL8IdStringE(ptr noundef nonnull align 4 dereferenceable(4) %131) +.thread155.i: ; preds = %472, %466 + %479 = invoke noundef ptr @_ZN5Yosys6log_idERKNS_5RTLIL8IdStringE(ptr noundef nonnull align 4 dereferenceable(4) %131) to label %_ZN5YosysL6log_idINS_5RTLIL6ModuleEEEPKcPT_S4_.exit.i unwind label %.loopexit.split-lp.i.loopexit _ZN5YosysL6log_idINS_5RTLIL6ModuleEEEPKcPT_S4_.exit.i: ; preds = %.thread155.i call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %24) #20 invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %23, ptr noundef nonnull @.str.32, ptr noundef nonnull align 1 dereferenceable(1) %24) + to label %480 unwind label %490 + +480: ; preds = %_ZN5YosysL6log_idINS_5RTLIL6ModuleEEEPKcPT_S4_.exit.i + %481 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEmPKc(ptr noundef nonnull align 8 dereferenceable(32) %23, i64 noundef 0, ptr noundef %479) to label %482 unwind label %492 -482: ; preds = %_ZN5YosysL6log_idINS_5RTLIL6ModuleEEEPKcPT_S4_.exit.i - %483 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEmPKc(ptr noundef nonnull align 8 dereferenceable(32) %23, i64 noundef 0, ptr noundef %481) - to label %484 unwind label %494 +482: ; preds = %480 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EOS4_(ptr noundef nonnull align 8 dereferenceable(32) %22, ptr noundef nonnull align 8 dereferenceable(32) %481) #20 + %483 = getelementptr inbounds nuw i8, ptr %138, i64 72 + %484 = invoke noundef ptr @_ZN5Yosys6log_idERKNS_5RTLIL8IdStringE(ptr noundef nonnull align 4 dereferenceable(4) %483) + to label %_ZN5YosysL6log_idINS_5RTLIL4CellEEEPKcPT_S4_.exit.i unwind label %494 -484: ; preds = %482 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EOS4_(ptr noundef nonnull align 8 dereferenceable(32) %22, ptr noundef nonnull align 8 dereferenceable(32) %483) #20 - %485 = getelementptr inbounds nuw i8, ptr %138, i64 72 - %486 = invoke noundef ptr @_ZN5Yosys6log_idERKNS_5RTLIL8IdStringE(ptr noundef nonnull align 4 dereferenceable(4) %485) - to label %_ZN5YosysL6log_idINS_5RTLIL4CellEEEPKcPT_S4_.exit.i unwind label %496 +_ZN5YosysL6log_idINS_5RTLIL4CellEEEPKcPT_S4_.exit.i: ; preds = %482 + %485 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEPKc(ptr noundef nonnull align 8 dereferenceable(32) %22, ptr noundef %484) + to label %486 unwind label %494 -_ZN5YosysL6log_idINS_5RTLIL4CellEEEPKcPT_S4_.exit.i: ; preds = %484 - %487 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEPKc(ptr noundef nonnull align 8 dereferenceable(32) %22, ptr noundef %486) +486: ; preds = %_ZN5YosysL6log_idINS_5RTLIL4CellEEEPKcPT_S4_.exit.i + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EOS4_(ptr noundef nonnull align 8 dereferenceable(32) %21, ptr noundef nonnull align 8 dereferenceable(32) %485) #20 + %487 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEPKc(ptr noundef nonnull align 8 dereferenceable(32) %21, ptr noundef nonnull @.str.33) to label %488 unwind label %496 -488: ; preds = %_ZN5YosysL6log_idINS_5RTLIL4CellEEEPKcPT_S4_.exit.i - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EOS4_(ptr noundef nonnull align 8 dereferenceable(32) %21, ptr noundef nonnull align 8 dereferenceable(32) %487) #20 - %489 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEPKc(ptr noundef nonnull align 8 dereferenceable(32) %21, ptr noundef nonnull @.str.33) - to label %490 unwind label %498 - -490: ; preds = %488 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EOS4_(ptr noundef nonnull align 8 dereferenceable(32) %20, ptr noundef nonnull align 8 dereferenceable(32) %489) #20 - %491 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6assignEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull align 8 dereferenceable(32) %20) #20 +488: ; preds = %486 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EOS4_(ptr noundef nonnull align 8 dereferenceable(32) %20, ptr noundef nonnull align 8 dereferenceable(32) %487) #20 + %489 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6assignEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull align 8 dereferenceable(32) %20) #20 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #20 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #20 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #20 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #20 call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %24) #20 - br label %503 + br label %501 -492: ; preds = %_ZN5YosysL6log_idINS_5RTLIL6ModuleEEEPKcPT_S4_.exit.i +490: ; preds = %_ZN5YosysL6log_idINS_5RTLIL6ModuleEEEPKcPT_S4_.exit.i + %491 = landingpad { ptr, i32 } + cleanup + br label %500 + +492: ; preds = %480 %493 = landingpad { ptr, i32 } cleanup - br label %502 + br label %499 -494: ; preds = %482 +494: ; preds = %_ZN5YosysL6log_idINS_5RTLIL4CellEEEPKcPT_S4_.exit.i, %482 %495 = landingpad { ptr, i32 } cleanup - br label %501 + br label %498 -496: ; preds = %_ZN5YosysL6log_idINS_5RTLIL4CellEEEPKcPT_S4_.exit.i, %484 +496: ; preds = %486 %497 = landingpad { ptr, i32 } cleanup - br label %500 - -498: ; preds = %488 - %499 = landingpad { ptr, i32 } - cleanup call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #20 - br label %500 + br label %498 -500: ; preds = %498, %496 - %.pn.i = phi { ptr, i32 } [ %499, %498 ], [ %497, %496 ] +498: ; preds = %496, %494 + %.pn.i = phi { ptr, i32 } [ %497, %496 ], [ %495, %494 ] call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #20 - br label %501 + br label %499 -501: ; preds = %500, %494 - %.pn.pn.i = phi { ptr, i32 } [ %.pn.i, %500 ], [ %495, %494 ] +499: ; preds = %498, %492 + %.pn.pn.i = phi { ptr, i32 } [ %.pn.i, %498 ], [ %493, %492 ] call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #20 - br label %502 + br label %500 -502: ; preds = %501, %492 - %.pn.pn.pn.i = phi { ptr, i32 } [ %.pn.pn.i, %501 ], [ %493, %492 ] +500: ; preds = %499, %490 + %.pn.pn.pn.i = phi { ptr, i32 } [ %.pn.pn.i, %499 ], [ %491, %490 ] call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %24) #20 br label %.loopexit.split-lp.i.body -503: ; preds = %490, %479, %464 +501: ; preds = %488, %477, %462 invoke void (ptr, ...) @_ZN5Yosys3logEPKcz(ptr noundef nonnull @.str.3) - to label %504 unwind label %.loopexit.split-lp.i.loopexit - -504: ; preds = %503 - %505 = getelementptr inbounds nuw i8, ptr %138, i64 72 - %506 = load i32, ptr %505, align 4 - %507 = sext i32 %506 to i64 - %508 = load ptr, ptr getelementptr inbounds nuw (i8, ptr @_ZN5Yosys5RTLIL8IdString18global_id_storage_E, i64 8), align 8 - %509 = load ptr, ptr @_ZN5Yosys5RTLIL8IdString18global_id_storage_E, align 8 - %510 = ptrtoint ptr %508 to i64 - %511 = ptrtoint ptr %509 to i64 - %512 = sub i64 %510, %511 - %513 = ashr exact i64 %512, 3 - %.not.i.i.i.i39 = icmp ugt i64 %513, %507 - br i1 %.not.i.i.i.i39, label %515, label %.invoke.i - -.invoke.i: ; preds = %515, %504 - %514 = phi i64 [ %507, %504 ], [ %517, %515 ] - invoke void (ptr, ...) @_ZSt24__throw_out_of_range_fmtPKcz(ptr noundef nonnull @.str.29, i64 noundef %514, i64 noundef %513) #23 + to label %502 unwind label %.loopexit.split-lp.i.loopexit + +502: ; preds = %501 + %503 = getelementptr inbounds nuw i8, ptr %138, i64 72 + %504 = load i32, ptr %503, align 4 + %505 = sext i32 %504 to i64 + %506 = load ptr, ptr getelementptr inbounds nuw (i8, ptr @_ZN5Yosys5RTLIL8IdString18global_id_storage_E, i64 8), align 8 + %507 = load ptr, ptr @_ZN5Yosys5RTLIL8IdString18global_id_storage_E, align 8 + %508 = ptrtoint ptr %506 to i64 + %509 = ptrtoint ptr %507 to i64 + %510 = sub i64 %508, %509 + %511 = ashr exact i64 %510, 3 + %.not.i.i.i.i39 = icmp ugt i64 %511, %505 + br i1 %.not.i.i.i.i39, label %513, label %.invoke.i + +.invoke.i: ; preds = %513, %502 + %512 = phi i64 [ %505, %502 ], [ %515, %513 ] + invoke void (ptr, ...) @_ZSt24__throw_out_of_range_fmtPKcz(ptr noundef nonnull @.str.29, i64 noundef %512, i64 noundef %511) #23 to label %.cont.i unwind label %.loopexit.split-lp.i.loopexit.split-lp .cont.i: ; preds = %.invoke.i unreachable -515: ; preds = %504 - %516 = load i32, ptr %131, align 4 - %517 = sext i32 %516 to i64 - %.not.i.i.i53.i = icmp ugt i64 %513, %517 - br i1 %.not.i.i.i53.i, label %518, label %.invoke.i +513: ; preds = %502 + %514 = load i32, ptr %131, align 4 + %515 = sext i32 %514 to i64 + %.not.i.i.i53.i = icmp ugt i64 %511, %515 + br i1 %.not.i.i.i53.i, label %516, label %.invoke.i -518: ; preds = %515 - %519 = getelementptr inbounds ptr, ptr %509, i64 %507 +516: ; preds = %513 + %517 = getelementptr inbounds ptr, ptr %507, i64 %505 + %518 = load ptr, ptr %517, align 8 + %519 = getelementptr inbounds ptr, ptr %507, i64 %515 %520 = load ptr, ptr %519, align 8 - %521 = getelementptr inbounds ptr, ptr %509, i64 %517 - %522 = load ptr, ptr %521, align 8 - %523 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %17) #20 - invoke void (ptr, ...) @_ZN5Yosys3logEPKcz(ptr noundef nonnull @.str.34, ptr noundef %520, ptr noundef %522, ptr noundef %523) - to label %524 unwind label %.loopexit.split-lp.i.loopexit + %521 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %17) #20 + invoke void (ptr, ...) @_ZN5Yosys3logEPKcz(ptr noundef nonnull @.str.34, ptr noundef %518, ptr noundef %520, ptr noundef %521) + to label %522 unwind label %.loopexit.split-lp.i.loopexit -524: ; preds = %518 +522: ; preds = %516 invoke void @_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode(ptr noundef nonnull align 8 dereferenceable(248) %16, ptr noundef nonnull align 8 dereferenceable(32) %17, i32 noundef 48) - to label %525 unwind label %.loopexit.split-lp.i.loopexit + to label %523 unwind label %.loopexit.split-lp.i.loopexit -525: ; preds = %524 - %526 = invoke noundef zeroext i1 @_ZNSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv(ptr noundef nonnull align 8 dereferenceable(248) %16) - to label %527 unwind label %.loopexit.split-lp.i.loopexit +523: ; preds = %522 + %524 = invoke noundef zeroext i1 @_ZNSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv(ptr noundef nonnull align 8 dereferenceable(248) %16) + to label %525 unwind label %.loopexit.split-lp.i.loopexit -527: ; preds = %525 - br i1 %526, label %531, label %528 +525: ; preds = %523 + br i1 %524, label %529, label %526 -528: ; preds = %527 - %529 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %17) #20 - invoke void (ptr, ...) @_ZN5Yosys9log_errorEPKcz(ptr noundef nonnull @.str.35, ptr noundef %529) #23 - to label %530 unwind label %.loopexit.split-lp.i.loopexit.split-lp +526: ; preds = %525 + %527 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %17) #20 + invoke void (ptr, ...) @_ZN5Yosys9log_errorEPKcz(ptr noundef nonnull @.str.35, ptr noundef %527) #23 + to label %528 unwind label %.loopexit.split-lp.i.loopexit.split-lp -530: ; preds = %528 +528: ; preds = %526 unreachable -531: ; preds = %527 +529: ; preds = %525 invoke void @_ZN5Yosys7FsmData14copy_from_cellEPNS_5RTLIL4CellE(ptr noundef nonnull align 8 dereferenceable(64) %14, ptr noundef nonnull %138) + to label %530 unwind label %.loopexit.split-lp.i.loopexit + +530: ; preds = %529 + %531 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %16, ptr noundef nonnull @.str.36) to label %532 unwind label %.loopexit.split-lp.i.loopexit -532: ; preds = %531 - %533 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %16, ptr noundef nonnull @.str.36) +532: ; preds = %530 + %533 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSt8ios_baseS0_E(ptr noundef nonnull align 8 dereferenceable(8) %531, ptr noundef nonnull @_ZSt3decRSt8ios_base) to label %534 unwind label %.loopexit.split-lp.i.loopexit 534: ; preds = %532 - %535 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSt8ios_baseS0_E(ptr noundef nonnull align 8 dereferenceable(8) %533, ptr noundef nonnull @_ZSt3decRSt8ios_base) - to label %536 unwind label %.loopexit.split-lp.i.loopexit + %535 = load i32, ptr %14, align 8 + %536 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %533, i32 noundef %535) + to label %537 unwind label %.loopexit.split-lp.i.loopexit -536: ; preds = %534 - %537 = load i32, ptr %14, align 8 - %538 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %535, i32 noundef %537) +537: ; preds = %534 + %538 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %536, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_) to label %539 unwind label %.loopexit.split-lp.i.loopexit -539: ; preds = %536 - %540 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %538, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_) +539: ; preds = %537 + %540 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %16, ptr noundef nonnull @.str.37) to label %541 unwind label %.loopexit.split-lp.i.loopexit 541: ; preds = %539 - %542 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %16, ptr noundef nonnull @.str.37) + %542 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSt8ios_baseS0_E(ptr noundef nonnull align 8 dereferenceable(8) %540, ptr noundef nonnull @_ZSt3decRSt8ios_base) to label %543 unwind label %.loopexit.split-lp.i.loopexit 543: ; preds = %541 - %544 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSt8ios_baseS0_E(ptr noundef nonnull align 8 dereferenceable(8) %542, ptr noundef nonnull @_ZSt3decRSt8ios_base) - to label %545 unwind label %.loopexit.split-lp.i.loopexit + %544 = load i32, ptr %91, align 4 + %545 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %542, i32 noundef %544) + to label %546 unwind label %.loopexit.split-lp.i.loopexit -545: ; preds = %543 - %546 = load i32, ptr %91, align 4 - %547 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %544, i32 noundef %546) +546: ; preds = %543 + %547 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %545, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_) to label %548 unwind label %.loopexit.split-lp.i.loopexit -548: ; preds = %545 - %549 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %547, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_) +548: ; preds = %546 + %549 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %16, ptr noundef nonnull @.str.38) to label %550 unwind label %.loopexit.split-lp.i.loopexit 550: ; preds = %548 - %551 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %16, ptr noundef nonnull @.str.38) + %551 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSt8ios_baseS0_E(ptr noundef nonnull align 8 dereferenceable(8) %549, ptr noundef nonnull @_ZSt3decRSt8ios_base) to label %552 unwind label %.loopexit.split-lp.i.loopexit 552: ; preds = %550 - %553 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSt8ios_baseS0_E(ptr noundef nonnull align 8 dereferenceable(8) %551, ptr noundef nonnull @_ZSt3decRSt8ios_base) - to label %554 unwind label %.loopexit.split-lp.i.loopexit - -554: ; preds = %552 - %555 = load ptr, ptr %92, align 8 - %556 = load ptr, ptr %87, align 8 - %557 = ptrtoint ptr %555 to i64 - %558 = ptrtoint ptr %556 to i64 - %559 = sub i64 %557, %558 - %560 = sdiv exact i64 %559, 72 - %561 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %553, i64 noundef %560) + %553 = load ptr, ptr %92, align 8 + %554 = load ptr, ptr %87, align 8 + %555 = ptrtoint ptr %553 to i64 + %556 = ptrtoint ptr %554 to i64 + %557 = sub i64 %555, %556 + %558 = sdiv exact i64 %557, 72 + %559 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %551, i64 noundef %558) + to label %560 unwind label %.loopexit.split-lp.i.loopexit + +560: ; preds = %552 + %561 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %559, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_) to label %562 unwind label %.loopexit.split-lp.i.loopexit -562: ; preds = %554 - %563 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %561, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_) +562: ; preds = %560 + %563 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %16, ptr noundef nonnull @.str.39) to label %564 unwind label %.loopexit.split-lp.i.loopexit 564: ; preds = %562 - %565 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %16, ptr noundef nonnull @.str.39) + %565 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSt8ios_baseS0_E(ptr noundef nonnull align 8 dereferenceable(8) %563, ptr noundef nonnull @_ZSt3decRSt8ios_base) to label %566 unwind label %.loopexit.split-lp.i.loopexit 566: ; preds = %564 - %567 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSt8ios_baseS0_E(ptr noundef nonnull align 8 dereferenceable(8) %565, ptr noundef nonnull @_ZSt3decRSt8ios_base) - to label %568 unwind label %.loopexit.split-lp.i.loopexit - -568: ; preds = %566 - %569 = load ptr, ptr %94, align 8 - %570 = load ptr, ptr %93, align 8 - %571 = ptrtoint ptr %569 to i64 - %572 = ptrtoint ptr %570 to i64 - %573 = sub i64 %571, %572 - %574 = ashr exact i64 %573, 5 - %575 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %567, i64 noundef %574) + %567 = load ptr, ptr %94, align 8 + %568 = load ptr, ptr %93, align 8 + %569 = ptrtoint ptr %567 to i64 + %570 = ptrtoint ptr %568 to i64 + %571 = sub i64 %569, %570 + %572 = ashr exact i64 %571, 5 + %573 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %565, i64 noundef %572) + to label %574 unwind label %.loopexit.split-lp.i.loopexit + +574: ; preds = %566 + %575 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %573, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_) to label %576 unwind label %.loopexit.split-lp.i.loopexit -576: ; preds = %568 - %577 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %575, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_) - to label %578 unwind label %.loopexit.split-lp.i.loopexit - -578: ; preds = %576 - br i1 %.023.lcssa, label %579, label %613 +576: ; preds = %574 + br i1 %.023.lcssa, label %577, label %611 -579: ; preds = %578 - %580 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %16, ptr noundef nonnull @.str.40) - to label %581 unwind label %.loopexit.split-lp.i.loopexit +577: ; preds = %576 + %578 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %16, ptr noundef nonnull @.str.40) + to label %579 unwind label %.loopexit.split-lp.i.loopexit -581: ; preds = %579 - %582 = load i32, ptr %95, align 4 - %583 = sext i32 %582 to i64 - %584 = load ptr, ptr %93, align 8 - %585 = getelementptr inbounds %"struct.Yosys::RTLIL::Const", ptr %584, i64 %583 - invoke void @_ZN5Yosys5RTLIL7SigSpecC1ERKNS0_5ConstE(ptr noundef nonnull align 8 dereferenceable(64) %26, ptr noundef nonnull align 8 dereferenceable(32) %585) - to label %586 unwind label %.loopexit.split-lp.i.loopexit +579: ; preds = %577 + %580 = load i32, ptr %95, align 4 + %581 = sext i32 %580 to i64 + %582 = load ptr, ptr %93, align 8 + %583 = getelementptr inbounds %"struct.Yosys::RTLIL::Const", ptr %582, i64 %581 + invoke void @_ZN5Yosys5RTLIL7SigSpecC1ERKNS0_5ConstE(ptr noundef nonnull align 8 dereferenceable(64) %26, ptr noundef nonnull align 8 dereferenceable(32) %583) + to label %584 unwind label %.loopexit.split-lp.i.loopexit -586: ; preds = %581 +584: ; preds = %579 call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %13) invoke void @_ZNK5Yosys5RTLIL7SigSpec8as_constEv(ptr dead_on_unwind nonnull writable sret(%"struct.Yosys::RTLIL::Const") align 8 %13, ptr noundef nonnull align 8 dereferenceable(64) %26) - to label %.noexc56.i unwind label %609 + to label %.noexc56.i unwind label %607 -.noexc56.i: ; preds = %586 +.noexc56.i: ; preds = %584 invoke void @_ZNK5Yosys5RTLIL5Const9as_stringB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %25, ptr noundef nonnull align 8 dereferenceable(32) %13) - to label %587 unwind label %590 + to label %585 unwind label %588 -587: ; preds = %.noexc56.i - %588 = load ptr, ptr %96, align 8, !noalias !15 - %.not.i.i.i.i.i.i = icmp eq ptr %588, null - br i1 %.not.i.i.i.i.i.i, label %594, label %589 +585: ; preds = %.noexc56.i + %586 = load ptr, ptr %96, align 8, !noalias !15 + %.not.i.i.i.i.i.i = icmp eq ptr %586, null + br i1 %.not.i.i.i.i.i.i, label %592, label %587 -589: ; preds = %587 - call void @_ZdlPv(ptr noundef nonnull %588) #21 - br label %594 +587: ; preds = %585 + call void @_ZdlPv(ptr noundef nonnull %586) #21 + br label %592 -590: ; preds = %.noexc56.i - %591 = landingpad { ptr, i32 } +588: ; preds = %.noexc56.i + %589 = landingpad { ptr, i32 } cleanup - %592 = load ptr, ptr %96, align 8, !noalias !15 - %.not.i.i.i.i2.i.i = icmp eq ptr %592, null - br i1 %.not.i.i.i.i2.i.i, label %.body.i, label %593 + %590 = load ptr, ptr %96, align 8, !noalias !15 + %.not.i.i.i.i2.i.i = icmp eq ptr %590, null + br i1 %.not.i.i.i.i2.i.i, label %.body.i, label %591 -593: ; preds = %590 - call void @_ZdlPv(ptr noundef nonnull %592) #21 +591: ; preds = %588 + call void @_ZdlPv(ptr noundef nonnull %590) #21 br label %.body.i -594: ; preds = %589, %587 +592: ; preds = %587, %585 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %13) - %595 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %580, ptr noundef nonnull align 8 dereferenceable(32) %25) - to label %596 unwind label %611 + %593 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %578, ptr noundef nonnull align 8 dereferenceable(32) %25) + to label %594 unwind label %609 -596: ; preds = %594 - %597 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %595, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_) - to label %598 unwind label %611 +594: ; preds = %592 + %595 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %593, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_) + to label %596 unwind label %609 -598: ; preds = %596 +596: ; preds = %594 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #20 - %599 = load ptr, ptr %97, align 8 - %.not.i.i.i.i.i = icmp eq ptr %599, null - br i1 %.not.i.i.i.i.i, label %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i.i, label %600 + %597 = load ptr, ptr %97, align 8 + %.not.i.i.i.i.i = icmp eq ptr %597, null + br i1 %.not.i.i.i.i.i, label %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i.i, label %598 -600: ; preds = %598 - call void @_ZdlPv(ptr noundef nonnull %599) #21 +598: ; preds = %596 + call void @_ZdlPv(ptr noundef nonnull %597) #21 br label %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i.i -_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i.i: ; preds = %600, %598 - %601 = load ptr, ptr %98, align 8 - %602 = load ptr, ptr %99, align 8 - %.not4.i.i.i.i.i.i = icmp eq ptr %601, %602 +_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i.i: ; preds = %598, %596 + %599 = load ptr, ptr %98, align 8 + %600 = load ptr, ptr %99, align 8 + %.not4.i.i.i.i.i.i = icmp eq ptr %599, %600 br i1 %.not4.i.i.i.i.i.i, label %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i.i, label %.lr.ph.i.i.i.i.i.i .lr.ph.i.i.i.i.i.i: ; preds = %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i.i, %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i.i - %.05.i.i.i.i.i.i = phi ptr [ %606, %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i.i ], [ %601, %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i.i ] - %603 = getelementptr inbounds nuw i8, ptr %.05.i.i.i.i.i.i, i64 8 - %604 = load ptr, ptr %603, align 8 - %.not.i.i.i.i.i.i.i.i.i.i.i = icmp eq ptr %604, null - br i1 %.not.i.i.i.i.i.i.i.i.i.i.i, label %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i.i, label %605 - -605: ; preds = %.lr.ph.i.i.i.i.i.i - call void @_ZdlPv(ptr noundef nonnull %604) #21 + %.05.i.i.i.i.i.i = phi ptr [ %604, %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i.i ], [ %599, %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i.i ] + %601 = getelementptr inbounds nuw i8, ptr %.05.i.i.i.i.i.i, i64 8 + %602 = load ptr, ptr %601, align 8 + %.not.i.i.i.i.i.i.i.i.i.i.i = icmp eq ptr %602, null + br i1 %.not.i.i.i.i.i.i.i.i.i.i.i, label %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i.i, label %603 + +603: ; preds = %.lr.ph.i.i.i.i.i.i + call void @_ZdlPv(ptr noundef nonnull %602) #21 br label %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i.i -_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i.i: ; preds = %605, %.lr.ph.i.i.i.i.i.i - %606 = getelementptr inbounds nuw i8, ptr %.05.i.i.i.i.i.i, i64 40 - %.not.i.i.i.i.i57.i = icmp eq ptr %606, %602 +_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i.i: ; preds = %603, %.lr.ph.i.i.i.i.i.i + %604 = getelementptr inbounds nuw i8, ptr %.05.i.i.i.i.i.i, i64 40 + %.not.i.i.i.i.i57.i = icmp eq ptr %604, %600 br i1 %.not.i.i.i.i.i57.i, label %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i.i, label %.lr.ph.i.i.i.i.i.i, !llvm.loop !18 _ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i.i: ; preds = %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i.i @@ -1587,354 +1580,354 @@ _ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i. br label %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i.i _ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i.i: ; preds = %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i.i, %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i.i - %607 = phi ptr [ %.pr.i.i.i, %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i.i ], [ %601, %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i.i ] - %.not.i.i.i1.i.i = icmp eq ptr %607, null - br i1 %.not.i.i.i1.i.i, label %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit.i, label %608 + %605 = phi ptr [ %.pr.i.i.i, %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i.i ], [ %599, %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i.i ] + %.not.i.i.i1.i.i = icmp eq ptr %605, null + br i1 %.not.i.i.i1.i.i, label %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit.i, label %606 -608: ; preds = %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i.i - call void @_ZdlPv(ptr noundef nonnull %607) #21 +606: ; preds = %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i.i + call void @_ZdlPv(ptr noundef nonnull %605) #21 br label %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit.i -609: ; preds = %586 - %610 = landingpad { ptr, i32 } +607: ; preds = %584 + %608 = landingpad { ptr, i32 } cleanup br label %.body.i -611: ; preds = %596, %594 - %612 = landingpad { ptr, i32 } +609: ; preds = %594, %592 + %610 = landingpad { ptr, i32 } cleanup call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #20 br label %.body.i -.body.i: ; preds = %611, %609, %593, %590 - %.pn33.i = phi { ptr, i32 } [ %612, %611 ], [ %610, %609 ], [ %591, %593 ], [ %591, %590 ] +.body.i: ; preds = %609, %607, %591, %588 + %.pn33.i = phi { ptr, i32 } [ %610, %609 ], [ %608, %607 ], [ %589, %591 ], [ %589, %588 ] call void @_ZN5Yosys5RTLIL7SigSpecD2Ev(ptr noundef nonnull align 8 dereferenceable(64) %26) #20 br label %.loopexit.split-lp.i.body -613: ; preds = %578 - %614 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %16, ptr noundef nonnull @.str.41) +611: ; preds = %576 + %612 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %16, ptr noundef nonnull @.str.41) + to label %613 unwind label %.loopexit.split-lp.i.loopexit + +613: ; preds = %611 + %614 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSt8ios_baseS0_E(ptr noundef nonnull align 8 dereferenceable(8) %612, ptr noundef nonnull @_ZSt3decRSt8ios_base) to label %615 unwind label %.loopexit.split-lp.i.loopexit 615: ; preds = %613 - %616 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSt8ios_baseS0_E(ptr noundef nonnull align 8 dereferenceable(8) %614, ptr noundef nonnull @_ZSt3decRSt8ios_base) - to label %617 unwind label %.loopexit.split-lp.i.loopexit + %616 = load i32, ptr %95, align 4 + %617 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %614, i32 noundef %616) + to label %618 unwind label %.loopexit.split-lp.i.loopexit -617: ; preds = %615 - %618 = load i32, ptr %95, align 4 - %619 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %616, i32 noundef %618) - to label %620 unwind label %.loopexit.split-lp.i.loopexit - -620: ; preds = %617 - %621 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %619, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_) +618: ; preds = %615 + %619 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %617, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_) to label %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit.i unwind label %.loopexit.split-lp.i.loopexit -_ZN5Yosys5RTLIL7SigSpecD2Ev.exit.i: ; preds = %620, %608, %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i.i - %622 = load ptr, ptr %92, align 8 - %623 = load ptr, ptr %87, align 8 - %.not159.i = icmp eq ptr %622, %623 +_ZN5Yosys5RTLIL7SigSpecD2Ev.exit.i: ; preds = %618, %606, %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i.i + %620 = load ptr, ptr %92, align 8 + %621 = load ptr, ptr %87, align 8 + %.not159.i = icmp eq ptr %620, %621 br i1 %.not159.i, label %._crit_edge.i, label %.lr.ph.i .lr.ph.i: ; preds = %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit.i, %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit139.i - %624 = phi ptr [ %852, %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit139.i ], [ %623, %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit.i ] - %.029158.i = phi i64 [ %850, %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit139.i ], [ 0, %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit.i ] - %625 = getelementptr inbounds %"struct.Yosys::FsmData::transition_t", ptr %624, i64 %.029158.i - %626 = load i64, ptr %625, align 8 - store i64 %626, ptr %15, align 8 - %627 = getelementptr inbounds nuw i8, ptr %625, i64 8 - %628 = load i32, ptr %627, align 8 - store i32 %628, ptr %88, align 8 - %629 = getelementptr inbounds nuw i8, ptr %625, i64 16 - %.not.i.i = icmp eq ptr %625, %15 - br i1 %.not.i.i, label %.noexc58.i.thread, label %632 + %622 = phi ptr [ %850, %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit139.i ], [ %621, %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit.i ] + %.029158.i = phi i64 [ %848, %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit139.i ], [ 0, %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit.i ] + %623 = getelementptr inbounds %"struct.Yosys::FsmData::transition_t", ptr %622, i64 %.029158.i + %624 = load i64, ptr %623, align 8 + store i64 %624, ptr %15, align 8 + %625 = getelementptr inbounds nuw i8, ptr %623, i64 8 + %626 = load i32, ptr %625, align 8 + store i32 %626, ptr %88, align 8 + %627 = getelementptr inbounds nuw i8, ptr %623, i64 16 + %.not.i.i = icmp eq ptr %623, %15 + br i1 %.not.i.i, label %.noexc58.i.thread, label %630 .noexc58.i.thread: ; preds = %.lr.ph.i - %630 = getelementptr inbounds nuw i8, ptr %625, i64 40 - %631 = load i32, ptr %630, align 8 - store i32 %631, ptr %102, align 8 + %628 = getelementptr inbounds nuw i8, ptr %623, i64 40 + %629 = load i32, ptr %628, align 8 + store i32 %629, ptr %102, align 8 br label %_ZN5Yosys7FsmData12transition_taSERKS1_.exit.i -632: ; preds = %.lr.ph.i - %633 = getelementptr inbounds nuw i8, ptr %625, i64 24 - %634 = load ptr, ptr %633, align 8 - %635 = load ptr, ptr %629, align 8 - %636 = ptrtoint ptr %634 to i64 - %637 = ptrtoint ptr %635 to i64 - %638 = sub i64 %636, %637 - %639 = load ptr, ptr %100, align 8 - %640 = load ptr, ptr %89, align 8 - %641 = ptrtoint ptr %639 to i64 - %642 = ptrtoint ptr %640 to i64 - %643 = sub i64 %641, %642 - %644 = icmp ugt i64 %638, %643 - br i1 %644, label %645, label %652 - -645: ; preds = %632 - %646 = icmp slt i64 %638, 0 - br i1 %646, label %647, label %_ZNSt12_Vector_baseIN5Yosys5RTLIL5StateESaIS2_EE11_M_allocateEm.exit.i.i.i - -647: ; preds = %645 +630: ; preds = %.lr.ph.i + %631 = getelementptr inbounds nuw i8, ptr %623, i64 24 + %632 = load ptr, ptr %631, align 8 + %633 = load ptr, ptr %627, align 8 + %634 = ptrtoint ptr %632 to i64 + %635 = ptrtoint ptr %633 to i64 + %636 = sub i64 %634, %635 + %637 = load ptr, ptr %100, align 8 + %638 = load ptr, ptr %89, align 8 + %639 = ptrtoint ptr %637 to i64 + %640 = ptrtoint ptr %638 to i64 + %641 = sub i64 %639, %640 + %642 = icmp ugt i64 %636, %641 + br i1 %642, label %643, label %650 + +643: ; preds = %630 + %644 = icmp slt i64 %636, 0 + br i1 %644, label %645, label %_ZNSt12_Vector_baseIN5Yosys5RTLIL5StateESaIS2_EE11_M_allocateEm.exit.i.i.i + +645: ; preds = %643 invoke void @_ZSt17__throw_bad_allocv() #23 to label %.noexc149.i unwind label %.loopexit.split-lp.i.loopexit.split-lp -.noexc149.i: ; preds = %647 +.noexc149.i: ; preds = %645 unreachable -_ZNSt12_Vector_baseIN5Yosys5RTLIL5StateESaIS2_EE11_M_allocateEm.exit.i.i.i: ; preds = %645 - %648 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %638) #24 +_ZNSt12_Vector_baseIN5Yosys5RTLIL5StateESaIS2_EE11_M_allocateEm.exit.i.i.i: ; preds = %643 + %646 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %636) #24 to label %.noexc150.i unwind label %.loopexit.i.loopexit .noexc150.i: ; preds = %_ZNSt12_Vector_baseIN5Yosys5RTLIL5StateESaIS2_EE11_M_allocateEm.exit.i.i.i - %.not.i.i.i.i.i.i.i.i.i.i148.i = icmp eq ptr %634, %635 - br i1 %.not.i.i.i.i.i.i.i.i.i.i148.i, label %_ZNSt6vectorIN5Yosys5RTLIL5StateESaIS2_EE20_M_allocate_and_copyIN9__gnu_cxx17__normal_iteratorIPKS2_S4_EEEEPS2_mT_SC_.exit.i.i, label %649 + %.not.i.i.i.i.i.i.i.i.i.i148.i = icmp eq ptr %632, %633 + br i1 %.not.i.i.i.i.i.i.i.i.i.i148.i, label %_ZNSt6vectorIN5Yosys5RTLIL5StateESaIS2_EE20_M_allocate_and_copyIN9__gnu_cxx17__normal_iteratorIPKS2_S4_EEEEPS2_mT_SC_.exit.i.i, label %647 -649: ; preds = %.noexc150.i - call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 1 %648, ptr align 1 %635, i64 %638, i1 false) +647: ; preds = %.noexc150.i + call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 1 %646, ptr align 1 %633, i64 %636, i1 false) br label %_ZNSt6vectorIN5Yosys5RTLIL5StateESaIS2_EE20_M_allocate_and_copyIN9__gnu_cxx17__normal_iteratorIPKS2_S4_EEEEPS2_mT_SC_.exit.i.i -_ZNSt6vectorIN5Yosys5RTLIL5StateESaIS2_EE20_M_allocate_and_copyIN9__gnu_cxx17__normal_iteratorIPKS2_S4_EEEEPS2_mT_SC_.exit.i.i: ; preds = %649, %.noexc150.i - %.not.i.i.i40 = icmp eq ptr %640, null - br i1 %.not.i.i.i40, label %_ZNSt12_Vector_baseIN5Yosys5RTLIL5StateESaIS2_EE13_M_deallocateEPS2_m.exit.i.i, label %650 +_ZNSt6vectorIN5Yosys5RTLIL5StateESaIS2_EE20_M_allocate_and_copyIN9__gnu_cxx17__normal_iteratorIPKS2_S4_EEEEPS2_mT_SC_.exit.i.i: ; preds = %647, %.noexc150.i + %.not.i.i.i40 = icmp eq ptr %638, null + br i1 %.not.i.i.i40, label %_ZNSt12_Vector_baseIN5Yosys5RTLIL5StateESaIS2_EE13_M_deallocateEPS2_m.exit.i.i, label %648 -650: ; preds = %_ZNSt6vectorIN5Yosys5RTLIL5StateESaIS2_EE20_M_allocate_and_copyIN9__gnu_cxx17__normal_iteratorIPKS2_S4_EEEEPS2_mT_SC_.exit.i.i - call void @_ZdlPv(ptr noundef nonnull %640) #21 +648: ; preds = %_ZNSt6vectorIN5Yosys5RTLIL5StateESaIS2_EE20_M_allocate_and_copyIN9__gnu_cxx17__normal_iteratorIPKS2_S4_EEEEPS2_mT_SC_.exit.i.i + call void @_ZdlPv(ptr noundef nonnull %638) #21 br label %_ZNSt12_Vector_baseIN5Yosys5RTLIL5StateESaIS2_EE13_M_deallocateEPS2_m.exit.i.i -_ZNSt12_Vector_baseIN5Yosys5RTLIL5StateESaIS2_EE13_M_deallocateEPS2_m.exit.i.i: ; preds = %650, %_ZNSt6vectorIN5Yosys5RTLIL5StateESaIS2_EE20_M_allocate_and_copyIN9__gnu_cxx17__normal_iteratorIPKS2_S4_EEEEPS2_mT_SC_.exit.i.i - store ptr %648, ptr %89, align 8 - %651 = getelementptr inbounds nuw i8, ptr %648, i64 %638 - store ptr %651, ptr %100, align 8 - br label %668 +_ZNSt12_Vector_baseIN5Yosys5RTLIL5StateESaIS2_EE13_M_deallocateEPS2_m.exit.i.i: ; preds = %648, %_ZNSt6vectorIN5Yosys5RTLIL5StateESaIS2_EE20_M_allocate_and_copyIN9__gnu_cxx17__normal_iteratorIPKS2_S4_EEEEPS2_mT_SC_.exit.i.i + store ptr %646, ptr %89, align 8 + %649 = getelementptr inbounds nuw i8, ptr %646, i64 %636 + store ptr %649, ptr %100, align 8 + br label %666 -652: ; preds = %632 - %653 = load ptr, ptr %101, align 8 - %654 = ptrtoint ptr %653 to i64 - %655 = sub i64 %654, %642 - %.not24.i.i = icmp ult i64 %655, %638 - br i1 %.not24.i.i, label %658, label %656 +650: ; preds = %630 + %651 = load ptr, ptr %101, align 8 + %652 = ptrtoint ptr %651 to i64 + %653 = sub i64 %652, %640 + %.not24.i.i = icmp ult i64 %653, %636 + br i1 %.not24.i.i, label %656, label %654 -656: ; preds = %652 - %.not.i.i.i.i.i.i.i = icmp eq ptr %634, %635 - br i1 %.not.i.i.i.i.i.i.i, label %668, label %657 +654: ; preds = %650 + %.not.i.i.i.i.i.i.i = icmp eq ptr %632, %633 + br i1 %.not.i.i.i.i.i.i.i, label %666, label %655 -657: ; preds = %656 - call void @llvm.memmove.p0.p0.i64(ptr align 1 %640, ptr align 1 %635, i64 %638, i1 false) - br label %668 +655: ; preds = %654 + call void @llvm.memmove.p0.p0.i64(ptr align 1 %638, ptr align 1 %633, i64 %636, i1 false) + br label %666 -658: ; preds = %652 - %.not.i.i.i.i.i25.i.i = icmp eq ptr %653, %640 - br i1 %.not.i.i.i.i.i25.i.i, label %_ZSt4copyIPN5Yosys5RTLIL5StateES3_ET0_T_S5_S4_.exit.i.i, label %659 +656: ; preds = %650 + %.not.i.i.i.i.i25.i.i = icmp eq ptr %651, %638 + br i1 %.not.i.i.i.i.i25.i.i, label %_ZSt4copyIPN5Yosys5RTLIL5StateES3_ET0_T_S5_S4_.exit.i.i, label %657 -659: ; preds = %658 - call void @llvm.memmove.p0.p0.i64(ptr align 1 %640, ptr align 1 %635, i64 %655, i1 false) - %.pre.i.i = load ptr, ptr %629, align 8 +657: ; preds = %656 + call void @llvm.memmove.p0.p0.i64(ptr align 1 %638, ptr align 1 %633, i64 %653, i1 false) + %.pre.i.i = load ptr, ptr %627, align 8 %.pre26.i.i = load ptr, ptr %101, align 8 %.pre27.i.i = load ptr, ptr %89, align 8 - %.pre28.i.i = load ptr, ptr %633, align 8 + %.pre28.i.i = load ptr, ptr %631, align 8 %.pre29.i.i = ptrtoint ptr %.pre26.i.i to i64 %.pre30.i.i = ptrtoint ptr %.pre27.i.i to i64 %.pre32.i.i = sub i64 %.pre29.i.i, %.pre30.i.i br label %_ZSt4copyIPN5Yosys5RTLIL5StateES3_ET0_T_S5_S4_.exit.i.i -_ZSt4copyIPN5Yosys5RTLIL5StateES3_ET0_T_S5_S4_.exit.i.i: ; preds = %659, %658 - %.pre-phi33.i.i = phi i64 [ 0, %658 ], [ %.pre32.i.i, %659 ] - %660 = phi ptr [ %634, %658 ], [ %.pre28.i.i, %659 ] - %661 = phi ptr [ %653, %658 ], [ %.pre26.i.i, %659 ] - %662 = phi ptr [ %635, %658 ], [ %.pre.i.i, %659 ] - %663 = getelementptr inbounds i8, ptr %662, i64 %.pre-phi33.i.i - %.not.i.i.i.i.i.i.i.i.i.i = icmp eq ptr %660, %663 - br i1 %.not.i.i.i.i.i.i.i.i.i.i, label %668, label %664 - -664: ; preds = %_ZSt4copyIPN5Yosys5RTLIL5StateES3_ET0_T_S5_S4_.exit.i.i - %665 = ptrtoint ptr %660 to i64 - %666 = ptrtoint ptr %663 to i64 - %667 = sub i64 %665, %666 - call void @llvm.memmove.p0.p0.i64(ptr align 1 %661, ptr align 1 %663, i64 %667, i1 false) - br label %668 - -668: ; preds = %664, %_ZSt4copyIPN5Yosys5RTLIL5StateES3_ET0_T_S5_S4_.exit.i.i, %657, %656, %_ZNSt12_Vector_baseIN5Yosys5RTLIL5StateESaIS2_EE13_M_deallocateEPS2_m.exit.i.i - %669 = load ptr, ptr %89, align 8 - %670 = getelementptr inbounds i8, ptr %669, i64 %638 - store ptr %670, ptr %101, align 8 - %671 = getelementptr inbounds nuw i8, ptr %625, i64 40 - %672 = load i32, ptr %671, align 8 - store i32 %672, ptr %102, align 8 - %673 = getelementptr inbounds nuw i8, ptr %625, i64 48 - %674 = getelementptr inbounds nuw i8, ptr %625, i64 56 - %675 = load ptr, ptr %674, align 8 - %676 = load ptr, ptr %673, align 8 - %677 = ptrtoint ptr %675 to i64 - %678 = ptrtoint ptr %676 to i64 - %679 = sub i64 %677, %678 - %680 = load ptr, ptr %120, align 8 - %681 = load ptr, ptr %90, align 8 - %682 = ptrtoint ptr %680 to i64 - %683 = ptrtoint ptr %681 to i64 - %684 = sub i64 %682, %683 - %685 = icmp ugt i64 %679, %684 - br i1 %685, label %686, label %693 - -686: ; preds = %668 - %687 = icmp slt i64 %679, 0 - br i1 %687, label %688, label %_ZNSt12_Vector_baseIN5Yosys5RTLIL5StateESaIS2_EE11_M_allocateEm.exit.i.i - -688: ; preds = %686 +_ZSt4copyIPN5Yosys5RTLIL5StateES3_ET0_T_S5_S4_.exit.i.i: ; preds = %657, %656 + %.pre-phi33.i.i = phi i64 [ 0, %656 ], [ %.pre32.i.i, %657 ] + %658 = phi ptr [ %632, %656 ], [ %.pre28.i.i, %657 ] + %659 = phi ptr [ %651, %656 ], [ %.pre26.i.i, %657 ] + %660 = phi ptr [ %633, %656 ], [ %.pre.i.i, %657 ] + %661 = getelementptr inbounds i8, ptr %660, i64 %.pre-phi33.i.i + %.not.i.i.i.i.i.i.i.i.i.i = icmp eq ptr %658, %661 + br i1 %.not.i.i.i.i.i.i.i.i.i.i, label %666, label %662 + +662: ; preds = %_ZSt4copyIPN5Yosys5RTLIL5StateES3_ET0_T_S5_S4_.exit.i.i + %663 = ptrtoint ptr %658 to i64 + %664 = ptrtoint ptr %661 to i64 + %665 = sub i64 %663, %664 + call void @llvm.memmove.p0.p0.i64(ptr align 1 %659, ptr align 1 %661, i64 %665, i1 false) + br label %666 + +666: ; preds = %662, %_ZSt4copyIPN5Yosys5RTLIL5StateES3_ET0_T_S5_S4_.exit.i.i, %655, %654, %_ZNSt12_Vector_baseIN5Yosys5RTLIL5StateESaIS2_EE13_M_deallocateEPS2_m.exit.i.i + %667 = load ptr, ptr %89, align 8 + %668 = getelementptr inbounds i8, ptr %667, i64 %636 + store ptr %668, ptr %101, align 8 + %669 = getelementptr inbounds nuw i8, ptr %623, i64 40 + %670 = load i32, ptr %669, align 8 + store i32 %670, ptr %102, align 8 + %671 = getelementptr inbounds nuw i8, ptr %623, i64 48 + %672 = getelementptr inbounds nuw i8, ptr %623, i64 56 + %673 = load ptr, ptr %672, align 8 + %674 = load ptr, ptr %671, align 8 + %675 = ptrtoint ptr %673 to i64 + %676 = ptrtoint ptr %674 to i64 + %677 = sub i64 %675, %676 + %678 = load ptr, ptr %120, align 8 + %679 = load ptr, ptr %90, align 8 + %680 = ptrtoint ptr %678 to i64 + %681 = ptrtoint ptr %679 to i64 + %682 = sub i64 %680, %681 + %683 = icmp ugt i64 %677, %682 + br i1 %683, label %684, label %691 + +684: ; preds = %666 + %685 = icmp slt i64 %677, 0 + br i1 %685, label %686, label %_ZNSt12_Vector_baseIN5Yosys5RTLIL5StateESaIS2_EE11_M_allocateEm.exit.i.i + +686: ; preds = %684 invoke void @_ZSt17__throw_bad_allocv() #23 to label %.noexc82 unwind label %.loopexit.i.loopexit.split-lp -.noexc82: ; preds = %688 +.noexc82: ; preds = %686 unreachable -_ZNSt12_Vector_baseIN5Yosys5RTLIL5StateESaIS2_EE11_M_allocateEm.exit.i.i: ; preds = %686 - %689 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %679) #24 +_ZNSt12_Vector_baseIN5Yosys5RTLIL5StateESaIS2_EE11_M_allocateEm.exit.i.i: ; preds = %684 + %687 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %677) #24 to label %.noexc83 unwind label %.loopexit.i.loopexit .noexc83: ; preds = %_ZNSt12_Vector_baseIN5Yosys5RTLIL5StateESaIS2_EE11_M_allocateEm.exit.i.i - %.not.i.i.i.i.i.i.i.i.i.i80 = icmp eq ptr %675, %676 - br i1 %.not.i.i.i.i.i.i.i.i.i.i80, label %_ZNSt6vectorIN5Yosys5RTLIL5StateESaIS2_EE20_M_allocate_and_copyIN9__gnu_cxx17__normal_iteratorIPKS2_S4_EEEEPS2_mT_SC_.exit.i, label %690 + %.not.i.i.i.i.i.i.i.i.i.i80 = icmp eq ptr %673, %674 + br i1 %.not.i.i.i.i.i.i.i.i.i.i80, label %_ZNSt6vectorIN5Yosys5RTLIL5StateESaIS2_EE20_M_allocate_and_copyIN9__gnu_cxx17__normal_iteratorIPKS2_S4_EEEEPS2_mT_SC_.exit.i, label %688 -690: ; preds = %.noexc83 - call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 1 %689, ptr align 1 %676, i64 %679, i1 false) +688: ; preds = %.noexc83 + call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 1 %687, ptr align 1 %674, i64 %677, i1 false) br label %_ZNSt6vectorIN5Yosys5RTLIL5StateESaIS2_EE20_M_allocate_and_copyIN9__gnu_cxx17__normal_iteratorIPKS2_S4_EEEEPS2_mT_SC_.exit.i -_ZNSt6vectorIN5Yosys5RTLIL5StateESaIS2_EE20_M_allocate_and_copyIN9__gnu_cxx17__normal_iteratorIPKS2_S4_EEEEPS2_mT_SC_.exit.i: ; preds = %690, %.noexc83 - %.not.i.i81 = icmp eq ptr %681, null - br i1 %.not.i.i81, label %_ZNSt12_Vector_baseIN5Yosys5RTLIL5StateESaIS2_EE13_M_deallocateEPS2_m.exit.i, label %691 +_ZNSt6vectorIN5Yosys5RTLIL5StateESaIS2_EE20_M_allocate_and_copyIN9__gnu_cxx17__normal_iteratorIPKS2_S4_EEEEPS2_mT_SC_.exit.i: ; preds = %688, %.noexc83 + %.not.i.i81 = icmp eq ptr %679, null + br i1 %.not.i.i81, label %_ZNSt12_Vector_baseIN5Yosys5RTLIL5StateESaIS2_EE13_M_deallocateEPS2_m.exit.i, label %689 -691: ; preds = %_ZNSt6vectorIN5Yosys5RTLIL5StateESaIS2_EE20_M_allocate_and_copyIN9__gnu_cxx17__normal_iteratorIPKS2_S4_EEEEPS2_mT_SC_.exit.i - call void @_ZdlPv(ptr noundef nonnull %681) #21 +689: ; preds = %_ZNSt6vectorIN5Yosys5RTLIL5StateESaIS2_EE20_M_allocate_and_copyIN9__gnu_cxx17__normal_iteratorIPKS2_S4_EEEEPS2_mT_SC_.exit.i + call void @_ZdlPv(ptr noundef nonnull %679) #21 br label %_ZNSt12_Vector_baseIN5Yosys5RTLIL5StateESaIS2_EE13_M_deallocateEPS2_m.exit.i -_ZNSt12_Vector_baseIN5Yosys5RTLIL5StateESaIS2_EE13_M_deallocateEPS2_m.exit.i: ; preds = %691, %_ZNSt6vectorIN5Yosys5RTLIL5StateESaIS2_EE20_M_allocate_and_copyIN9__gnu_cxx17__normal_iteratorIPKS2_S4_EEEEPS2_mT_SC_.exit.i - store ptr %689, ptr %90, align 8 - %692 = getelementptr inbounds nuw i8, ptr %689, i64 %679 - store ptr %692, ptr %120, align 8 +_ZNSt12_Vector_baseIN5Yosys5RTLIL5StateESaIS2_EE13_M_deallocateEPS2_m.exit.i: ; preds = %689, %_ZNSt6vectorIN5Yosys5RTLIL5StateESaIS2_EE20_M_allocate_and_copyIN9__gnu_cxx17__normal_iteratorIPKS2_S4_EEEEPS2_mT_SC_.exit.i + store ptr %687, ptr %90, align 8 + %690 = getelementptr inbounds nuw i8, ptr %687, i64 %677 + store ptr %690, ptr %120, align 8 br label %_ZSt4copyIN9__gnu_cxx17__normal_iteratorIPKN5Yosys5RTLIL5StateESt6vectorIS4_SaIS4_EEEENS1_IPS4_S9_EEET0_T_SE_SD_.exit.i -693: ; preds = %668 - %694 = load ptr, ptr %121, align 8 - %695 = ptrtoint ptr %694 to i64 - %696 = sub i64 %695, %683 - %.not24.i = icmp ult i64 %696, %679 - br i1 %.not24.i, label %699, label %697 +691: ; preds = %666 + %692 = load ptr, ptr %121, align 8 + %693 = ptrtoint ptr %692 to i64 + %694 = sub i64 %693, %681 + %.not24.i = icmp ult i64 %694, %677 + br i1 %.not24.i, label %697, label %695 -697: ; preds = %693 - %.not.i.i.i.i.i.i79 = icmp eq ptr %675, %676 - br i1 %.not.i.i.i.i.i.i79, label %_ZSt4copyIN9__gnu_cxx17__normal_iteratorIPKN5Yosys5RTLIL5StateESt6vectorIS4_SaIS4_EEEENS1_IPS4_S9_EEET0_T_SE_SD_.exit.i, label %698 +695: ; preds = %691 + %.not.i.i.i.i.i.i79 = icmp eq ptr %673, %674 + br i1 %.not.i.i.i.i.i.i79, label %_ZSt4copyIN9__gnu_cxx17__normal_iteratorIPKN5Yosys5RTLIL5StateESt6vectorIS4_SaIS4_EEEENS1_IPS4_S9_EEET0_T_SE_SD_.exit.i, label %696 -698: ; preds = %697 - call void @llvm.memmove.p0.p0.i64(ptr align 1 %681, ptr align 1 %676, i64 %679, i1 false) +696: ; preds = %695 + call void @llvm.memmove.p0.p0.i64(ptr align 1 %679, ptr align 1 %674, i64 %677, i1 false) br label %_ZSt4copyIN9__gnu_cxx17__normal_iteratorIPKN5Yosys5RTLIL5StateESt6vectorIS4_SaIS4_EEEENS1_IPS4_S9_EEET0_T_SE_SD_.exit.i -699: ; preds = %693 - %.not.i.i.i.i.i25.i = icmp eq ptr %694, %681 - br i1 %.not.i.i.i.i.i25.i, label %_ZSt4copyIPN5Yosys5RTLIL5StateES3_ET0_T_S5_S4_.exit.i, label %700 +697: ; preds = %691 + %.not.i.i.i.i.i25.i = icmp eq ptr %692, %679 + br i1 %.not.i.i.i.i.i25.i, label %_ZSt4copyIPN5Yosys5RTLIL5StateES3_ET0_T_S5_S4_.exit.i, label %698 -700: ; preds = %699 - call void @llvm.memmove.p0.p0.i64(ptr align 1 %681, ptr align 1 %676, i64 %696, i1 false) - %.pre.i = load ptr, ptr %673, align 8 +698: ; preds = %697 + call void @llvm.memmove.p0.p0.i64(ptr align 1 %679, ptr align 1 %674, i64 %694, i1 false) + %.pre.i = load ptr, ptr %671, align 8 %.pre26.i = load ptr, ptr %121, align 8 %.pre27.i = load ptr, ptr %90, align 8 - %.pre28.i = load ptr, ptr %674, align 8 + %.pre28.i = load ptr, ptr %672, align 8 %.pre29.i = ptrtoint ptr %.pre26.i to i64 %.pre30.i = ptrtoint ptr %.pre27.i to i64 %.pre32.i = sub i64 %.pre29.i, %.pre30.i br label %_ZSt4copyIPN5Yosys5RTLIL5StateES3_ET0_T_S5_S4_.exit.i -_ZSt4copyIPN5Yosys5RTLIL5StateES3_ET0_T_S5_S4_.exit.i: ; preds = %700, %699 - %.pre-phi33.i = phi i64 [ 0, %699 ], [ %.pre32.i, %700 ] - %701 = phi ptr [ %675, %699 ], [ %.pre28.i, %700 ] - %702 = phi ptr [ %694, %699 ], [ %.pre26.i, %700 ] - %703 = phi ptr [ %676, %699 ], [ %.pre.i, %700 ] - %704 = getelementptr inbounds i8, ptr %703, i64 %.pre-phi33.i - %.not.i.i.i.i.i.i.i.i.i = icmp eq ptr %701, %704 - br i1 %.not.i.i.i.i.i.i.i.i.i, label %_ZSt4copyIN9__gnu_cxx17__normal_iteratorIPKN5Yosys5RTLIL5StateESt6vectorIS4_SaIS4_EEEENS1_IPS4_S9_EEET0_T_SE_SD_.exit.i, label %705 - -705: ; preds = %_ZSt4copyIPN5Yosys5RTLIL5StateES3_ET0_T_S5_S4_.exit.i - %706 = ptrtoint ptr %701 to i64 - %707 = ptrtoint ptr %704 to i64 - %708 = sub i64 %706, %707 - call void @llvm.memmove.p0.p0.i64(ptr align 1 %702, ptr align 1 %704, i64 %708, i1 false) +_ZSt4copyIPN5Yosys5RTLIL5StateES3_ET0_T_S5_S4_.exit.i: ; preds = %698, %697 + %.pre-phi33.i = phi i64 [ 0, %697 ], [ %.pre32.i, %698 ] + %699 = phi ptr [ %673, %697 ], [ %.pre28.i, %698 ] + %700 = phi ptr [ %692, %697 ], [ %.pre26.i, %698 ] + %701 = phi ptr [ %674, %697 ], [ %.pre.i, %698 ] + %702 = getelementptr inbounds i8, ptr %701, i64 %.pre-phi33.i + %.not.i.i.i.i.i.i.i.i.i = icmp eq ptr %699, %702 + br i1 %.not.i.i.i.i.i.i.i.i.i, label %_ZSt4copyIN9__gnu_cxx17__normal_iteratorIPKN5Yosys5RTLIL5StateESt6vectorIS4_SaIS4_EEEENS1_IPS4_S9_EEET0_T_SE_SD_.exit.i, label %703 + +703: ; preds = %_ZSt4copyIPN5Yosys5RTLIL5StateES3_ET0_T_S5_S4_.exit.i + %704 = ptrtoint ptr %699 to i64 + %705 = ptrtoint ptr %702 to i64 + %706 = sub i64 %704, %705 + call void @llvm.memmove.p0.p0.i64(ptr align 1 %700, ptr align 1 %702, i64 %706, i1 false) br label %_ZSt4copyIN9__gnu_cxx17__normal_iteratorIPKN5Yosys5RTLIL5StateESt6vectorIS4_SaIS4_EEEENS1_IPS4_S9_EEET0_T_SE_SD_.exit.i -_ZSt4copyIN9__gnu_cxx17__normal_iteratorIPKN5Yosys5RTLIL5StateESt6vectorIS4_SaIS4_EEEENS1_IPS4_S9_EEET0_T_SE_SD_.exit.i: ; preds = %705, %_ZSt4copyIPN5Yosys5RTLIL5StateES3_ET0_T_S5_S4_.exit.i, %698, %697, %_ZNSt12_Vector_baseIN5Yosys5RTLIL5StateESaIS2_EE13_M_deallocateEPS2_m.exit.i - %709 = load ptr, ptr %90, align 8 - %710 = getelementptr inbounds i8, ptr %709, i64 %679 - store ptr %710, ptr %121, align 8 +_ZSt4copyIN9__gnu_cxx17__normal_iteratorIPKN5Yosys5RTLIL5StateESt6vectorIS4_SaIS4_EEEENS1_IPS4_S9_EEET0_T_SE_SD_.exit.i: ; preds = %703, %_ZSt4copyIPN5Yosys5RTLIL5StateES3_ET0_T_S5_S4_.exit.i, %696, %695, %_ZNSt12_Vector_baseIN5Yosys5RTLIL5StateESaIS2_EE13_M_deallocateEPS2_m.exit.i + %707 = load ptr, ptr %90, align 8 + %708 = getelementptr inbounds i8, ptr %707, i64 %677 + store ptr %708, ptr %121, align 8 br label %_ZN5Yosys7FsmData12transition_taSERKS1_.exit.i _ZN5Yosys7FsmData12transition_taSERKS1_.exit.i: ; preds = %.noexc58.i.thread, %_ZSt4copyIN9__gnu_cxx17__normal_iteratorIPKN5Yosys5RTLIL5StateESt6vectorIS4_SaIS4_EEEENS1_IPS4_S9_EEET0_T_SE_SD_.exit.i invoke void @_ZN5Yosys5RTLIL7SigSpecC1ERKNS0_5ConstE(ptr noundef nonnull align 8 dereferenceable(64) %28, ptr noundef nonnull align 8 dereferenceable(32) %88) - to label %711 unwind label %789 + to label %709 unwind label %787 -711: ; preds = %_ZN5Yosys7FsmData12transition_taSERKS1_.exit.i +709: ; preds = %_ZN5Yosys7FsmData12transition_taSERKS1_.exit.i call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %12) invoke void @_ZNK5Yosys5RTLIL7SigSpec8as_constEv(ptr dead_on_unwind nonnull writable sret(%"struct.Yosys::RTLIL::Const") align 8 %12, ptr noundef nonnull align 8 dereferenceable(64) %28) - to label %.noexc63.i unwind label %791 + to label %.noexc63.i unwind label %789 -.noexc63.i: ; preds = %711 +.noexc63.i: ; preds = %709 invoke void @_ZNK5Yosys5RTLIL5Const9as_stringB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %27, ptr noundef nonnull align 8 dereferenceable(32) %12) - to label %712 unwind label %715 + to label %710 unwind label %713 -712: ; preds = %.noexc63.i - %713 = load ptr, ptr %103, align 8, !noalias !19 - %.not.i.i.i.i.i62.i = icmp eq ptr %713, null - br i1 %.not.i.i.i.i.i62.i, label %719, label %714 +710: ; preds = %.noexc63.i + %711 = load ptr, ptr %103, align 8, !noalias !19 + %.not.i.i.i.i.i62.i = icmp eq ptr %711, null + br i1 %.not.i.i.i.i.i62.i, label %717, label %712 -714: ; preds = %712 - call void @_ZdlPv(ptr noundef nonnull %713) #21 - br label %719 +712: ; preds = %710 + call void @_ZdlPv(ptr noundef nonnull %711) #21 + br label %717 -715: ; preds = %.noexc63.i - %716 = landingpad { ptr, i32 } +713: ; preds = %.noexc63.i + %714 = landingpad { ptr, i32 } cleanup catch ptr @_ZTIi - %717 = load ptr, ptr %103, align 8, !noalias !19 - %.not.i.i.i.i2.i60.i = icmp eq ptr %717, null - br i1 %.not.i.i.i.i2.i60.i, label %.body64.i, label %718 + %715 = load ptr, ptr %103, align 8, !noalias !19 + %.not.i.i.i.i2.i60.i = icmp eq ptr %715, null + br i1 %.not.i.i.i.i2.i60.i, label %.body64.i, label %716 -718: ; preds = %715 - call void @_ZdlPv(ptr noundef nonnull %717) #21 +716: ; preds = %713 + call void @_ZdlPv(ptr noundef nonnull %715) #21 br label %.body64.i -719: ; preds = %714, %712 +717: ; preds = %712, %710 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %12) - %720 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %16, ptr noundef nonnull align 8 dereferenceable(32) %27) - to label %721 unwind label %793 + %718 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %16, ptr noundef nonnull align 8 dereferenceable(32) %27) + to label %719 unwind label %791 -721: ; preds = %719 - %722 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c(ptr noundef nonnull align 8 dereferenceable(8) %720, i8 noundef signext 32) - to label %723 unwind label %793 +719: ; preds = %717 + %720 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c(ptr noundef nonnull align 8 dereferenceable(8) %718, i8 noundef signext 32) + to label %721 unwind label %791 -723: ; preds = %721 +721: ; preds = %719 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #20 - %724 = load ptr, ptr %104, align 8 - %.not.i.i.i.i67.i = icmp eq ptr %724, null - br i1 %.not.i.i.i.i67.i, label %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i68.i, label %725 + %722 = load ptr, ptr %104, align 8 + %.not.i.i.i.i67.i = icmp eq ptr %722, null + br i1 %.not.i.i.i.i67.i, label %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i68.i, label %723 -725: ; preds = %723 - call void @_ZdlPv(ptr noundef nonnull %724) #21 +723: ; preds = %721 + call void @_ZdlPv(ptr noundef nonnull %722) #21 br label %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i68.i -_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i68.i: ; preds = %725, %723 - %726 = load ptr, ptr %105, align 8 - %727 = load ptr, ptr %106, align 8 - %.not4.i.i.i.i.i69.i = icmp eq ptr %726, %727 +_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i68.i: ; preds = %723, %721 + %724 = load ptr, ptr %105, align 8 + %725 = load ptr, ptr %106, align 8 + %.not4.i.i.i.i.i69.i = icmp eq ptr %724, %725 br i1 %.not4.i.i.i.i.i69.i, label %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i77.i, label %.lr.ph.i.i.i.i.i70.i .lr.ph.i.i.i.i.i70.i: ; preds = %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i68.i, %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i73.i - %.05.i.i.i.i.i71.i = phi ptr [ %731, %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i73.i ], [ %726, %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i68.i ] - %728 = getelementptr inbounds nuw i8, ptr %.05.i.i.i.i.i71.i, i64 8 - %729 = load ptr, ptr %728, align 8 - %.not.i.i.i.i.i.i.i.i.i.i72.i = icmp eq ptr %729, null - br i1 %.not.i.i.i.i.i.i.i.i.i.i72.i, label %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i73.i, label %730 - -730: ; preds = %.lr.ph.i.i.i.i.i70.i - call void @_ZdlPv(ptr noundef nonnull %729) #21 + %.05.i.i.i.i.i71.i = phi ptr [ %729, %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i73.i ], [ %724, %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i68.i ] + %726 = getelementptr inbounds nuw i8, ptr %.05.i.i.i.i.i71.i, i64 8 + %727 = load ptr, ptr %726, align 8 + %.not.i.i.i.i.i.i.i.i.i.i72.i = icmp eq ptr %727, null + br i1 %.not.i.i.i.i.i.i.i.i.i.i72.i, label %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i73.i, label %728 + +728: ; preds = %.lr.ph.i.i.i.i.i70.i + call void @_ZdlPv(ptr noundef nonnull %727) #21 br label %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i73.i -_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i73.i: ; preds = %730, %.lr.ph.i.i.i.i.i70.i - %731 = getelementptr inbounds nuw i8, ptr %.05.i.i.i.i.i71.i, i64 40 - %.not.i.i.i.i.i74.i = icmp eq ptr %731, %727 +_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i73.i: ; preds = %728, %.lr.ph.i.i.i.i.i70.i + %729 = getelementptr inbounds nuw i8, ptr %.05.i.i.i.i.i71.i, i64 40 + %.not.i.i.i.i.i74.i = icmp eq ptr %729, %725 br i1 %.not.i.i.i.i.i74.i, label %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i75.i, label %.lr.ph.i.i.i.i.i70.i, !llvm.loop !18 _ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i75.i: ; preds = %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i73.i @@ -1942,94 +1935,94 @@ _ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i. br label %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i77.i _ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i77.i: ; preds = %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i75.i, %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i68.i - %732 = phi ptr [ %.pr.i.i76.i, %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i75.i ], [ %726, %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i68.i ] - %.not.i.i.i1.i78.i = icmp eq ptr %732, null - br i1 %.not.i.i.i1.i78.i, label %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit79.i, label %733 + %730 = phi ptr [ %.pr.i.i76.i, %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i75.i ], [ %724, %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i68.i ] + %.not.i.i.i1.i78.i = icmp eq ptr %730, null + br i1 %.not.i.i.i1.i78.i, label %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit79.i, label %731 -733: ; preds = %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i77.i - call void @_ZdlPv(ptr noundef nonnull %732) #21 +731: ; preds = %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i77.i + call void @_ZdlPv(ptr noundef nonnull %730) #21 br label %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit79.i -_ZN5Yosys5RTLIL7SigSpecD2Ev.exit79.i: ; preds = %733, %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i77.i - br i1 %.023.lcssa, label %734, label %813 +_ZN5Yosys5RTLIL7SigSpecD2Ev.exit79.i: ; preds = %731, %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i77.i + br i1 %.023.lcssa, label %732, label %811 -734: ; preds = %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit79.i - %735 = load i32, ptr %15, align 8 - %736 = sext i32 %735 to i64 - %737 = load ptr, ptr %93, align 8 - %738 = getelementptr inbounds %"struct.Yosys::RTLIL::Const", ptr %737, i64 %736 - invoke void @_ZN5Yosys5RTLIL7SigSpecC1ERKNS0_5ConstE(ptr noundef nonnull align 8 dereferenceable(64) %30, ptr noundef nonnull align 8 dereferenceable(32) %738) - to label %739 unwind label %789 +732: ; preds = %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit79.i + %733 = load i32, ptr %15, align 8 + %734 = sext i32 %733 to i64 + %735 = load ptr, ptr %93, align 8 + %736 = getelementptr inbounds %"struct.Yosys::RTLIL::Const", ptr %735, i64 %734 + invoke void @_ZN5Yosys5RTLIL7SigSpecC1ERKNS0_5ConstE(ptr noundef nonnull align 8 dereferenceable(64) %30, ptr noundef nonnull align 8 dereferenceable(32) %736) + to label %737 unwind label %787 -739: ; preds = %734 +737: ; preds = %732 call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %11) invoke void @_ZNK5Yosys5RTLIL7SigSpec8as_constEv(ptr dead_on_unwind nonnull writable sret(%"struct.Yosys::RTLIL::Const") align 8 %11, ptr noundef nonnull align 8 dereferenceable(64) %30) - to label %.noexc83.i unwind label %805 + to label %.noexc83.i unwind label %803 -.noexc83.i: ; preds = %739 +.noexc83.i: ; preds = %737 invoke void @_ZNK5Yosys5RTLIL5Const9as_stringB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %11) - to label %740 unwind label %743 + to label %738 unwind label %741 -740: ; preds = %.noexc83.i - %741 = load ptr, ptr %108, align 8, !noalias !22 - %.not.i.i.i.i.i82.i = icmp eq ptr %741, null - br i1 %.not.i.i.i.i.i82.i, label %747, label %742 +738: ; preds = %.noexc83.i + %739 = load ptr, ptr %108, align 8, !noalias !22 + %.not.i.i.i.i.i82.i = icmp eq ptr %739, null + br i1 %.not.i.i.i.i.i82.i, label %745, label %740 -742: ; preds = %740 - call void @_ZdlPv(ptr noundef nonnull %741) #21 - br label %747 +740: ; preds = %738 + call void @_ZdlPv(ptr noundef nonnull %739) #21 + br label %745 -743: ; preds = %.noexc83.i - %744 = landingpad { ptr, i32 } +741: ; preds = %.noexc83.i + %742 = landingpad { ptr, i32 } cleanup catch ptr @_ZTIi - %745 = load ptr, ptr %108, align 8, !noalias !22 - %.not.i.i.i.i2.i80.i = icmp eq ptr %745, null - br i1 %.not.i.i.i.i2.i80.i, label %.body84.i, label %746 + %743 = load ptr, ptr %108, align 8, !noalias !22 + %.not.i.i.i.i2.i80.i = icmp eq ptr %743, null + br i1 %.not.i.i.i.i2.i80.i, label %.body84.i, label %744 -746: ; preds = %743 - call void @_ZdlPv(ptr noundef nonnull %745) #21 +744: ; preds = %741 + call void @_ZdlPv(ptr noundef nonnull %743) #21 br label %.body84.i -747: ; preds = %742, %740 +745: ; preds = %740, %738 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %11) - %748 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %16, ptr noundef nonnull align 8 dereferenceable(32) %29) - to label %749 unwind label %807 + %746 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %16, ptr noundef nonnull align 8 dereferenceable(32) %29) + to label %747 unwind label %805 -749: ; preds = %747 - %750 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c(ptr noundef nonnull align 8 dereferenceable(8) %748, i8 noundef signext 32) - to label %751 unwind label %807 +747: ; preds = %745 + %748 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c(ptr noundef nonnull align 8 dereferenceable(8) %746, i8 noundef signext 32) + to label %749 unwind label %805 -751: ; preds = %749 +749: ; preds = %747 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #20 - %752 = load ptr, ptr %109, align 8 - %.not.i.i.i.i87.i = icmp eq ptr %752, null - br i1 %.not.i.i.i.i87.i, label %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i88.i, label %753 + %750 = load ptr, ptr %109, align 8 + %.not.i.i.i.i87.i = icmp eq ptr %750, null + br i1 %.not.i.i.i.i87.i, label %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i88.i, label %751 -753: ; preds = %751 - call void @_ZdlPv(ptr noundef nonnull %752) #21 +751: ; preds = %749 + call void @_ZdlPv(ptr noundef nonnull %750) #21 br label %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i88.i -_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i88.i: ; preds = %753, %751 - %754 = load ptr, ptr %110, align 8 - %755 = load ptr, ptr %111, align 8 - %.not4.i.i.i.i.i89.i = icmp eq ptr %754, %755 +_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i88.i: ; preds = %751, %749 + %752 = load ptr, ptr %110, align 8 + %753 = load ptr, ptr %111, align 8 + %.not4.i.i.i.i.i89.i = icmp eq ptr %752, %753 br i1 %.not4.i.i.i.i.i89.i, label %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i97.i, label %.lr.ph.i.i.i.i.i90.i .lr.ph.i.i.i.i.i90.i: ; preds = %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i88.i, %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i93.i - %.05.i.i.i.i.i91.i = phi ptr [ %759, %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i93.i ], [ %754, %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i88.i ] - %756 = getelementptr inbounds nuw i8, ptr %.05.i.i.i.i.i91.i, i64 8 - %757 = load ptr, ptr %756, align 8 - %.not.i.i.i.i.i.i.i.i.i.i92.i = icmp eq ptr %757, null - br i1 %.not.i.i.i.i.i.i.i.i.i.i92.i, label %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i93.i, label %758 - -758: ; preds = %.lr.ph.i.i.i.i.i90.i - call void @_ZdlPv(ptr noundef nonnull %757) #21 + %.05.i.i.i.i.i91.i = phi ptr [ %757, %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i93.i ], [ %752, %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i88.i ] + %754 = getelementptr inbounds nuw i8, ptr %.05.i.i.i.i.i91.i, i64 8 + %755 = load ptr, ptr %754, align 8 + %.not.i.i.i.i.i.i.i.i.i.i92.i = icmp eq ptr %755, null + br i1 %.not.i.i.i.i.i.i.i.i.i.i92.i, label %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i93.i, label %756 + +756: ; preds = %.lr.ph.i.i.i.i.i90.i + call void @_ZdlPv(ptr noundef nonnull %755) #21 br label %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i93.i -_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i93.i: ; preds = %758, %.lr.ph.i.i.i.i.i90.i - %759 = getelementptr inbounds nuw i8, ptr %.05.i.i.i.i.i91.i, i64 40 - %.not.i.i.i.i.i94.i = icmp eq ptr %759, %755 +_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i93.i: ; preds = %756, %.lr.ph.i.i.i.i.i90.i + %757 = getelementptr inbounds nuw i8, ptr %.05.i.i.i.i.i91.i, i64 40 + %.not.i.i.i.i.i94.i = icmp eq ptr %757, %753 br i1 %.not.i.i.i.i.i94.i, label %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i95.i, label %.lr.ph.i.i.i.i.i90.i, !llvm.loop !18 _ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i95.i: ; preds = %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i93.i @@ -2037,91 +2030,91 @@ _ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i. br label %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i97.i _ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i97.i: ; preds = %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i95.i, %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i88.i - %760 = phi ptr [ %.pr.i.i96.i, %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i95.i ], [ %754, %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i88.i ] - %.not.i.i.i1.i98.i = icmp eq ptr %760, null - br i1 %.not.i.i.i1.i98.i, label %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit99.i, label %761 + %758 = phi ptr [ %.pr.i.i96.i, %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i95.i ], [ %752, %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i88.i ] + %.not.i.i.i1.i98.i = icmp eq ptr %758, null + br i1 %.not.i.i.i1.i98.i, label %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit99.i, label %759 -761: ; preds = %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i97.i - call void @_ZdlPv(ptr noundef nonnull %760) #21 +759: ; preds = %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i97.i + call void @_ZdlPv(ptr noundef nonnull %758) #21 br label %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit99.i -_ZN5Yosys5RTLIL7SigSpecD2Ev.exit99.i: ; preds = %761, %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i97.i - %762 = load i32, ptr %107, align 4 - %763 = sext i32 %762 to i64 - %764 = load ptr, ptr %93, align 8 - %765 = getelementptr inbounds %"struct.Yosys::RTLIL::Const", ptr %764, i64 %763 - invoke void @_ZN5Yosys5RTLIL7SigSpecC1ERKNS0_5ConstE(ptr noundef nonnull align 8 dereferenceable(64) %32, ptr noundef nonnull align 8 dereferenceable(32) %765) - to label %766 unwind label %789 +_ZN5Yosys5RTLIL7SigSpecD2Ev.exit99.i: ; preds = %759, %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i97.i + %760 = load i32, ptr %107, align 4 + %761 = sext i32 %760 to i64 + %762 = load ptr, ptr %93, align 8 + %763 = getelementptr inbounds %"struct.Yosys::RTLIL::Const", ptr %762, i64 %761 + invoke void @_ZN5Yosys5RTLIL7SigSpecC1ERKNS0_5ConstE(ptr noundef nonnull align 8 dereferenceable(64) %32, ptr noundef nonnull align 8 dereferenceable(32) %763) + to label %764 unwind label %787 -766: ; preds = %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit99.i +764: ; preds = %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit99.i call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %10) invoke void @_ZNK5Yosys5RTLIL7SigSpec8as_constEv(ptr dead_on_unwind nonnull writable sret(%"struct.Yosys::RTLIL::Const") align 8 %10, ptr noundef nonnull align 8 dereferenceable(64) %32) - to label %.noexc103.i unwind label %809 + to label %.noexc103.i unwind label %807 -.noexc103.i: ; preds = %766 +.noexc103.i: ; preds = %764 invoke void @_ZNK5Yosys5RTLIL5Const9as_stringB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %31, ptr noundef nonnull align 8 dereferenceable(32) %10) - to label %767 unwind label %770 + to label %765 unwind label %768 -767: ; preds = %.noexc103.i - %768 = load ptr, ptr %112, align 8, !noalias !25 - %.not.i.i.i.i.i102.i = icmp eq ptr %768, null - br i1 %.not.i.i.i.i.i102.i, label %774, label %769 +765: ; preds = %.noexc103.i + %766 = load ptr, ptr %112, align 8, !noalias !25 + %.not.i.i.i.i.i102.i = icmp eq ptr %766, null + br i1 %.not.i.i.i.i.i102.i, label %772, label %767 -769: ; preds = %767 - call void @_ZdlPv(ptr noundef nonnull %768) #21 - br label %774 +767: ; preds = %765 + call void @_ZdlPv(ptr noundef nonnull %766) #21 + br label %772 -770: ; preds = %.noexc103.i - %771 = landingpad { ptr, i32 } +768: ; preds = %.noexc103.i + %769 = landingpad { ptr, i32 } cleanup catch ptr @_ZTIi - %772 = load ptr, ptr %112, align 8, !noalias !25 - %.not.i.i.i.i2.i100.i = icmp eq ptr %772, null - br i1 %.not.i.i.i.i2.i100.i, label %.body104.i, label %773 + %770 = load ptr, ptr %112, align 8, !noalias !25 + %.not.i.i.i.i2.i100.i = icmp eq ptr %770, null + br i1 %.not.i.i.i.i2.i100.i, label %.body104.i, label %771 -773: ; preds = %770 - call void @_ZdlPv(ptr noundef nonnull %772) #21 +771: ; preds = %768 + call void @_ZdlPv(ptr noundef nonnull %770) #21 br label %.body104.i -774: ; preds = %769, %767 +772: ; preds = %767, %765 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %10) - %775 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %16, ptr noundef nonnull align 8 dereferenceable(32) %31) - to label %776 unwind label %811 + %773 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %16, ptr noundef nonnull align 8 dereferenceable(32) %31) + to label %774 unwind label %809 -776: ; preds = %774 - %777 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c(ptr noundef nonnull align 8 dereferenceable(8) %775, i8 noundef signext 32) - to label %778 unwind label %811 +774: ; preds = %772 + %775 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c(ptr noundef nonnull align 8 dereferenceable(8) %773, i8 noundef signext 32) + to label %776 unwind label %809 -778: ; preds = %776 +776: ; preds = %774 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #20 - %779 = load ptr, ptr %113, align 8 - %.not.i.i.i.i107.i = icmp eq ptr %779, null - br i1 %.not.i.i.i.i107.i, label %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i108.i, label %780 + %777 = load ptr, ptr %113, align 8 + %.not.i.i.i.i107.i = icmp eq ptr %777, null + br i1 %.not.i.i.i.i107.i, label %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i108.i, label %778 -780: ; preds = %778 - call void @_ZdlPv(ptr noundef nonnull %779) #21 +778: ; preds = %776 + call void @_ZdlPv(ptr noundef nonnull %777) #21 br label %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i108.i -_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i108.i: ; preds = %780, %778 - %781 = load ptr, ptr %114, align 8 - %782 = load ptr, ptr %115, align 8 - %.not4.i.i.i.i.i109.i = icmp eq ptr %781, %782 +_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i108.i: ; preds = %778, %776 + %779 = load ptr, ptr %114, align 8 + %780 = load ptr, ptr %115, align 8 + %.not4.i.i.i.i.i109.i = icmp eq ptr %779, %780 br i1 %.not4.i.i.i.i.i109.i, label %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i117.i, label %.lr.ph.i.i.i.i.i110.i .lr.ph.i.i.i.i.i110.i: ; preds = %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i108.i, %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i113.i - %.05.i.i.i.i.i111.i = phi ptr [ %786, %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i113.i ], [ %781, %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i108.i ] - %783 = getelementptr inbounds nuw i8, ptr %.05.i.i.i.i.i111.i, i64 8 - %784 = load ptr, ptr %783, align 8 - %.not.i.i.i.i.i.i.i.i.i.i112.i = icmp eq ptr %784, null - br i1 %.not.i.i.i.i.i.i.i.i.i.i112.i, label %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i113.i, label %785 - -785: ; preds = %.lr.ph.i.i.i.i.i110.i - call void @_ZdlPv(ptr noundef nonnull %784) #21 + %.05.i.i.i.i.i111.i = phi ptr [ %784, %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i113.i ], [ %779, %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i108.i ] + %781 = getelementptr inbounds nuw i8, ptr %.05.i.i.i.i.i111.i, i64 8 + %782 = load ptr, ptr %781, align 8 + %.not.i.i.i.i.i.i.i.i.i.i112.i = icmp eq ptr %782, null + br i1 %.not.i.i.i.i.i.i.i.i.i.i112.i, label %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i113.i, label %783 + +783: ; preds = %.lr.ph.i.i.i.i.i110.i + call void @_ZdlPv(ptr noundef nonnull %782) #21 br label %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i113.i -_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i113.i: ; preds = %785, %.lr.ph.i.i.i.i.i110.i - %786 = getelementptr inbounds nuw i8, ptr %.05.i.i.i.i.i111.i, i64 40 - %.not.i.i.i.i.i114.i = icmp eq ptr %786, %782 +_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i113.i: ; preds = %783, %.lr.ph.i.i.i.i.i110.i + %784 = getelementptr inbounds nuw i8, ptr %.05.i.i.i.i.i111.i, i64 40 + %.not.i.i.i.i.i114.i = icmp eq ptr %784, %780 br i1 %.not.i.i.i.i.i114.i, label %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i115.i, label %.lr.ph.i.i.i.i.i110.i, !llvm.loop !18 _ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i115.i: ; preds = %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i113.i @@ -2129,63 +2122,63 @@ _ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i. br label %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i117.i _ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i117.i: ; preds = %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i115.i, %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i108.i - %787 = phi ptr [ %.pr.i.i116.i, %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i115.i ], [ %781, %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i108.i ] - %.not.i.i.i1.i118.i = icmp eq ptr %787, null - br i1 %.not.i.i.i1.i118.i, label %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit119.i, label %788 + %785 = phi ptr [ %.pr.i.i116.i, %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i115.i ], [ %779, %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i108.i ] + %.not.i.i.i1.i118.i = icmp eq ptr %785, null + br i1 %.not.i.i.i1.i118.i, label %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit119.i, label %786 -788: ; preds = %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i117.i - call void @_ZdlPv(ptr noundef nonnull %787) #21 +786: ; preds = %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i117.i + call void @_ZdlPv(ptr noundef nonnull %785) #21 br label %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit119.i -789: ; preds = %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit119.i, %825, %822, %820, %818, %815, %813, %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit99.i, %734, %_ZN5Yosys7FsmData12transition_taSERKS1_.exit.i - %790 = landingpad { ptr, i32 } +787: ; preds = %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit119.i, %823, %820, %818, %816, %813, %811, %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit99.i, %732, %_ZN5Yosys7FsmData12transition_taSERKS1_.exit.i + %788 = landingpad { ptr, i32 } cleanup catch ptr @_ZTIi br label %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit77 -791: ; preds = %711 - %792 = landingpad { ptr, i32 } +789: ; preds = %709 + %790 = landingpad { ptr, i32 } cleanup catch ptr @_ZTIi br label %.body64.i -793: ; preds = %721, %719 - %794 = landingpad { ptr, i32 } +791: ; preds = %719, %717 + %792 = landingpad { ptr, i32 } cleanup catch ptr @_ZTIi call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #20 br label %.body64.i -.body64.i: ; preds = %793, %791, %718, %715 - %.pn35.i = phi { ptr, i32 } [ %794, %793 ], [ %792, %791 ], [ %716, %718 ], [ %716, %715 ] - %795 = load ptr, ptr %104, align 8 - %.not.i.i.i.i65 = icmp eq ptr %795, null - br i1 %.not.i.i.i.i65, label %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i66, label %796 +.body64.i: ; preds = %791, %789, %716, %713 + %.pn35.i = phi { ptr, i32 } [ %792, %791 ], [ %790, %789 ], [ %714, %716 ], [ %714, %713 ] + %793 = load ptr, ptr %104, align 8 + %.not.i.i.i.i65 = icmp eq ptr %793, null + br i1 %.not.i.i.i.i65, label %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i66, label %794 -796: ; preds = %.body64.i - call void @_ZdlPv(ptr noundef nonnull %795) #21 +794: ; preds = %.body64.i + call void @_ZdlPv(ptr noundef nonnull %793) #21 br label %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i66 -_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i66: ; preds = %796, %.body64.i - %797 = load ptr, ptr %105, align 8 - %798 = load ptr, ptr %106, align 8 - %.not4.i.i.i.i.i67 = icmp eq ptr %797, %798 +_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i66: ; preds = %794, %.body64.i + %795 = load ptr, ptr %105, align 8 + %796 = load ptr, ptr %106, align 8 + %.not4.i.i.i.i.i67 = icmp eq ptr %795, %796 br i1 %.not4.i.i.i.i.i67, label %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i75, label %.lr.ph.i.i.i.i.i68 .lr.ph.i.i.i.i.i68: ; preds = %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i66, %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i71 - %.05.i.i.i.i.i69 = phi ptr [ %802, %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i71 ], [ %797, %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i66 ] - %799 = getelementptr inbounds nuw i8, ptr %.05.i.i.i.i.i69, i64 8 - %800 = load ptr, ptr %799, align 8 - %.not.i.i.i.i.i.i.i.i.i.i70 = icmp eq ptr %800, null - br i1 %.not.i.i.i.i.i.i.i.i.i.i70, label %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i71, label %801 - -801: ; preds = %.lr.ph.i.i.i.i.i68 - call void @_ZdlPv(ptr noundef nonnull %800) #21 + %.05.i.i.i.i.i69 = phi ptr [ %800, %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i71 ], [ %795, %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i66 ] + %797 = getelementptr inbounds nuw i8, ptr %.05.i.i.i.i.i69, i64 8 + %798 = load ptr, ptr %797, align 8 + %.not.i.i.i.i.i.i.i.i.i.i70 = icmp eq ptr %798, null + br i1 %.not.i.i.i.i.i.i.i.i.i.i70, label %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i71, label %799 + +799: ; preds = %.lr.ph.i.i.i.i.i68 + call void @_ZdlPv(ptr noundef nonnull %798) #21 br label %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i71 -_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i71: ; preds = %801, %.lr.ph.i.i.i.i.i68 - %802 = getelementptr inbounds nuw i8, ptr %.05.i.i.i.i.i69, i64 40 - %.not.i.i.i.i.i72 = icmp eq ptr %802, %798 +_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i71: ; preds = %799, %.lr.ph.i.i.i.i.i68 + %800 = getelementptr inbounds nuw i8, ptr %.05.i.i.i.i.i69, i64 40 + %.not.i.i.i.i.i72 = icmp eq ptr %800, %796 br i1 %.not.i.i.i.i.i72, label %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i73, label %.lr.ph.i.i.i.i.i68, !llvm.loop !18 _ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i73: ; preds = %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i71 @@ -2193,149 +2186,149 @@ _ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i. br label %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i75 _ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i75: ; preds = %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i73, %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i66 - %803 = phi ptr [ %.pr.i.i74, %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i73 ], [ %797, %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i66 ] - %.not.i.i.i1.i76 = icmp eq ptr %803, null - br i1 %.not.i.i.i1.i76, label %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit77, label %804 + %801 = phi ptr [ %.pr.i.i74, %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i73 ], [ %795, %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i66 ] + %.not.i.i.i1.i76 = icmp eq ptr %801, null + br i1 %.not.i.i.i1.i76, label %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit77, label %802 -804: ; preds = %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i75 - call void @_ZdlPv(ptr noundef nonnull %803) #21 +802: ; preds = %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i75 + call void @_ZdlPv(ptr noundef nonnull %801) #21 br label %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit77 -805: ; preds = %739 - %806 = landingpad { ptr, i32 } +803: ; preds = %737 + %804 = landingpad { ptr, i32 } cleanup catch ptr @_ZTIi br label %.body84.i -807: ; preds = %749, %747 - %808 = landingpad { ptr, i32 } +805: ; preds = %747, %745 + %806 = landingpad { ptr, i32 } cleanup catch ptr @_ZTIi call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #20 br label %.body84.i -.body84.i: ; preds = %807, %805, %746, %743 - %.pn37.i = phi { ptr, i32 } [ %808, %807 ], [ %806, %805 ], [ %744, %746 ], [ %744, %743 ] +.body84.i: ; preds = %805, %803, %744, %741 + %.pn37.i = phi { ptr, i32 } [ %806, %805 ], [ %804, %803 ], [ %742, %744 ], [ %742, %741 ] call void @_ZN5Yosys5RTLIL7SigSpecD2Ev(ptr noundef nonnull align 8 dereferenceable(64) %30) #20 br label %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit77 -809: ; preds = %766 - %810 = landingpad { ptr, i32 } +807: ; preds = %764 + %808 = landingpad { ptr, i32 } cleanup catch ptr @_ZTIi br label %.body104.i -811: ; preds = %776, %774 - %812 = landingpad { ptr, i32 } +809: ; preds = %774, %772 + %810 = landingpad { ptr, i32 } cleanup catch ptr @_ZTIi call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #20 br label %.body104.i -.body104.i: ; preds = %811, %809, %773, %770 - %.pn39.i = phi { ptr, i32 } [ %812, %811 ], [ %810, %809 ], [ %771, %773 ], [ %771, %770 ] +.body104.i: ; preds = %809, %807, %771, %768 + %.pn39.i = phi { ptr, i32 } [ %810, %809 ], [ %808, %807 ], [ %769, %771 ], [ %769, %768 ] call void @_ZN5Yosys5RTLIL7SigSpecD2Ev(ptr noundef nonnull align 8 dereferenceable(64) %32) #20 br label %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit77 -813: ; preds = %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit79.i - %814 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c(ptr noundef nonnull align 8 dereferenceable(8) %16, i8 noundef signext 115) - to label %815 unwind label %789 +811: ; preds = %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit79.i + %812 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c(ptr noundef nonnull align 8 dereferenceable(8) %16, i8 noundef signext 115) + to label %813 unwind label %787 -815: ; preds = %813 - %816 = load i32, ptr %15, align 8 - %817 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %814, i32 noundef %816) - to label %818 unwind label %789 +813: ; preds = %811 + %814 = load i32, ptr %15, align 8 + %815 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %812, i32 noundef %814) + to label %816 unwind label %787 -818: ; preds = %815 - %819 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c(ptr noundef nonnull align 8 dereferenceable(8) %817, i8 noundef signext 32) - to label %820 unwind label %789 +816: ; preds = %813 + %817 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c(ptr noundef nonnull align 8 dereferenceable(8) %815, i8 noundef signext 32) + to label %818 unwind label %787 -820: ; preds = %818 - %821 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c(ptr noundef nonnull align 8 dereferenceable(8) %16, i8 noundef signext 115) - to label %822 unwind label %789 +818: ; preds = %816 + %819 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c(ptr noundef nonnull align 8 dereferenceable(8) %16, i8 noundef signext 115) + to label %820 unwind label %787 -822: ; preds = %820 - %823 = load i32, ptr %107, align 4 - %824 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %821, i32 noundef %823) - to label %825 unwind label %789 +820: ; preds = %818 + %821 = load i32, ptr %107, align 4 + %822 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %819, i32 noundef %821) + to label %823 unwind label %787 -825: ; preds = %822 - %826 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c(ptr noundef nonnull align 8 dereferenceable(8) %824, i8 noundef signext 32) - to label %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit119.i unwind label %789 +823: ; preds = %820 + %824 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c(ptr noundef nonnull align 8 dereferenceable(8) %822, i8 noundef signext 32) + to label %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit119.i unwind label %787 -_ZN5Yosys5RTLIL7SigSpecD2Ev.exit119.i: ; preds = %825, %788, %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i117.i +_ZN5Yosys5RTLIL7SigSpecD2Ev.exit119.i: ; preds = %823, %786, %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i117.i invoke void @_ZN5Yosys5RTLIL7SigSpecC1ERKNS0_5ConstE(ptr noundef nonnull align 8 dereferenceable(64) %34, ptr noundef nonnull align 8 dereferenceable(32) %102) - to label %827 unwind label %789 + to label %825 unwind label %787 -827: ; preds = %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit119.i +825: ; preds = %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit119.i call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %9) invoke void @_ZNK5Yosys5RTLIL7SigSpec8as_constEv(ptr dead_on_unwind nonnull writable sret(%"struct.Yosys::RTLIL::Const") align 8 %9, ptr noundef nonnull align 8 dereferenceable(64) %34) - to label %.noexc123.i unwind label %858 + to label %.noexc123.i unwind label %856 -.noexc123.i: ; preds = %827 +.noexc123.i: ; preds = %825 invoke void @_ZNK5Yosys5RTLIL5Const9as_stringB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %33, ptr noundef nonnull align 8 dereferenceable(32) %9) - to label %828 unwind label %831 + to label %826 unwind label %829 -828: ; preds = %.noexc123.i - %829 = load ptr, ptr %116, align 8, !noalias !28 - %.not.i.i.i.i.i122.i = icmp eq ptr %829, null - br i1 %.not.i.i.i.i.i122.i, label %835, label %830 +826: ; preds = %.noexc123.i + %827 = load ptr, ptr %116, align 8, !noalias !28 + %.not.i.i.i.i.i122.i = icmp eq ptr %827, null + br i1 %.not.i.i.i.i.i122.i, label %833, label %828 -830: ; preds = %828 - call void @_ZdlPv(ptr noundef nonnull %829) #21 - br label %835 +828: ; preds = %826 + call void @_ZdlPv(ptr noundef nonnull %827) #21 + br label %833 -831: ; preds = %.noexc123.i - %832 = landingpad { ptr, i32 } +829: ; preds = %.noexc123.i + %830 = landingpad { ptr, i32 } cleanup catch ptr @_ZTIi - %833 = load ptr, ptr %116, align 8, !noalias !28 - %.not.i.i.i.i2.i120.i = icmp eq ptr %833, null - br i1 %.not.i.i.i.i2.i120.i, label %.body124.i, label %834 + %831 = load ptr, ptr %116, align 8, !noalias !28 + %.not.i.i.i.i2.i120.i = icmp eq ptr %831, null + br i1 %.not.i.i.i.i2.i120.i, label %.body124.i, label %832 -834: ; preds = %831 - call void @_ZdlPv(ptr noundef nonnull %833) #21 +832: ; preds = %829 + call void @_ZdlPv(ptr noundef nonnull %831) #21 br label %.body124.i -835: ; preds = %830, %828 +833: ; preds = %828, %826 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %9) - %836 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %16, ptr noundef nonnull align 8 dereferenceable(32) %33) - to label %837 unwind label %860 + %834 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %16, ptr noundef nonnull align 8 dereferenceable(32) %33) + to label %835 unwind label %858 -837: ; preds = %835 - %838 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %836, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_) - to label %839 unwind label %860 +835: ; preds = %833 + %836 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %834, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_) + to label %837 unwind label %858 -839: ; preds = %837 +837: ; preds = %835 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #20 - %840 = load ptr, ptr %117, align 8 - %.not.i.i.i.i127.i = icmp eq ptr %840, null - br i1 %.not.i.i.i.i127.i, label %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i128.i, label %841 + %838 = load ptr, ptr %117, align 8 + %.not.i.i.i.i127.i = icmp eq ptr %838, null + br i1 %.not.i.i.i.i127.i, label %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i128.i, label %839 -841: ; preds = %839 - call void @_ZdlPv(ptr noundef nonnull %840) #21 +839: ; preds = %837 + call void @_ZdlPv(ptr noundef nonnull %838) #21 br label %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i128.i -_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i128.i: ; preds = %841, %839 - %842 = load ptr, ptr %118, align 8 - %843 = load ptr, ptr %119, align 8 - %.not4.i.i.i.i.i129.i = icmp eq ptr %842, %843 +_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i128.i: ; preds = %839, %837 + %840 = load ptr, ptr %118, align 8 + %841 = load ptr, ptr %119, align 8 + %.not4.i.i.i.i.i129.i = icmp eq ptr %840, %841 br i1 %.not4.i.i.i.i.i129.i, label %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i137.i, label %.lr.ph.i.i.i.i.i130.i .lr.ph.i.i.i.i.i130.i: ; preds = %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i128.i, %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i133.i - %.05.i.i.i.i.i131.i = phi ptr [ %847, %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i133.i ], [ %842, %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i128.i ] - %844 = getelementptr inbounds nuw i8, ptr %.05.i.i.i.i.i131.i, i64 8 - %845 = load ptr, ptr %844, align 8 - %.not.i.i.i.i.i.i.i.i.i.i132.i = icmp eq ptr %845, null - br i1 %.not.i.i.i.i.i.i.i.i.i.i132.i, label %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i133.i, label %846 - -846: ; preds = %.lr.ph.i.i.i.i.i130.i - call void @_ZdlPv(ptr noundef nonnull %845) #21 + %.05.i.i.i.i.i131.i = phi ptr [ %845, %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i133.i ], [ %840, %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i128.i ] + %842 = getelementptr inbounds nuw i8, ptr %.05.i.i.i.i.i131.i, i64 8 + %843 = load ptr, ptr %842, align 8 + %.not.i.i.i.i.i.i.i.i.i.i132.i = icmp eq ptr %843, null + br i1 %.not.i.i.i.i.i.i.i.i.i.i132.i, label %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i133.i, label %844 + +844: ; preds = %.lr.ph.i.i.i.i.i130.i + call void @_ZdlPv(ptr noundef nonnull %843) #21 br label %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i133.i -_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i133.i: ; preds = %846, %.lr.ph.i.i.i.i.i130.i - %847 = getelementptr inbounds nuw i8, ptr %.05.i.i.i.i.i131.i, i64 40 - %.not.i.i.i.i.i134.i = icmp eq ptr %847, %843 +_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i133.i: ; preds = %844, %.lr.ph.i.i.i.i.i130.i + %845 = getelementptr inbounds nuw i8, ptr %.05.i.i.i.i.i131.i, i64 40 + %.not.i.i.i.i.i134.i = icmp eq ptr %845, %841 br i1 %.not.i.i.i.i.i134.i, label %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i135.i, label %.lr.ph.i.i.i.i.i130.i, !llvm.loop !18 _ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i135.i: ; preds = %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i133.i @@ -2343,68 +2336,68 @@ _ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i. br label %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i137.i _ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i137.i: ; preds = %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i135.i, %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i128.i - %848 = phi ptr [ %.pr.i.i136.i, %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i135.i ], [ %842, %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i128.i ] - %.not.i.i.i1.i138.i = icmp eq ptr %848, null - br i1 %.not.i.i.i1.i138.i, label %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit139.i, label %849 + %846 = phi ptr [ %.pr.i.i136.i, %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i135.i ], [ %840, %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i128.i ] + %.not.i.i.i1.i138.i = icmp eq ptr %846, null + br i1 %.not.i.i.i1.i138.i, label %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit139.i, label %847 -849: ; preds = %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i137.i - call void @_ZdlPv(ptr noundef nonnull %848) #21 +847: ; preds = %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i137.i + call void @_ZdlPv(ptr noundef nonnull %846) #21 br label %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit139.i -_ZN5Yosys5RTLIL7SigSpecD2Ev.exit139.i: ; preds = %849, %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i137.i - %850 = add nuw i64 %.029158.i, 1 - %851 = load ptr, ptr %92, align 8 - %852 = load ptr, ptr %87, align 8 - %853 = ptrtoint ptr %851 to i64 - %854 = ptrtoint ptr %852 to i64 - %855 = sub i64 %853, %854 - %856 = sdiv exact i64 %855, 72 - %857 = icmp ult i64 %850, %856 - br i1 %857, label %.lr.ph.i, label %._crit_edge.i, !llvm.loop !31 - -858: ; preds = %827 - %859 = landingpad { ptr, i32 } +_ZN5Yosys5RTLIL7SigSpecD2Ev.exit139.i: ; preds = %847, %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i137.i + %848 = add nuw i64 %.029158.i, 1 + %849 = load ptr, ptr %92, align 8 + %850 = load ptr, ptr %87, align 8 + %851 = ptrtoint ptr %849 to i64 + %852 = ptrtoint ptr %850 to i64 + %853 = sub i64 %851, %852 + %854 = sdiv exact i64 %853, 72 + %855 = icmp ult i64 %848, %854 + br i1 %855, label %.lr.ph.i, label %._crit_edge.i, !llvm.loop !31 + +856: ; preds = %825 + %857 = landingpad { ptr, i32 } cleanup catch ptr @_ZTIi br label %.body124.i -860: ; preds = %837, %835 - %861 = landingpad { ptr, i32 } +858: ; preds = %835, %833 + %859 = landingpad { ptr, i32 } cleanup catch ptr @_ZTIi call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #20 br label %.body124.i -.body124.i: ; preds = %860, %858, %834, %831 - %.pn41.i = phi { ptr, i32 } [ %861, %860 ], [ %859, %858 ], [ %832, %834 ], [ %832, %831 ] - %862 = load ptr, ptr %117, align 8 - %.not.i.i.i.i58 = icmp eq ptr %862, null - br i1 %.not.i.i.i.i58, label %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i, label %863 +.body124.i: ; preds = %858, %856, %832, %829 + %.pn41.i = phi { ptr, i32 } [ %859, %858 ], [ %857, %856 ], [ %830, %832 ], [ %830, %829 ] + %860 = load ptr, ptr %117, align 8 + %.not.i.i.i.i58 = icmp eq ptr %860, null + br i1 %.not.i.i.i.i58, label %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i, label %861 -863: ; preds = %.body124.i - call void @_ZdlPv(ptr noundef nonnull %862) #21 +861: ; preds = %.body124.i + call void @_ZdlPv(ptr noundef nonnull %860) #21 br label %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i -_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i: ; preds = %863, %.body124.i - %864 = load ptr, ptr %118, align 8 - %865 = load ptr, ptr %119, align 8 - %.not4.i.i.i.i.i59 = icmp eq ptr %864, %865 +_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i: ; preds = %861, %.body124.i + %862 = load ptr, ptr %118, align 8 + %863 = load ptr, ptr %119, align 8 + %.not4.i.i.i.i.i59 = icmp eq ptr %862, %863 br i1 %.not4.i.i.i.i.i59, label %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i, label %.lr.ph.i.i.i.i.i60 .lr.ph.i.i.i.i.i60: ; preds = %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i, %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i - %.05.i.i.i.i.i61 = phi ptr [ %869, %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i ], [ %864, %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i ] - %866 = getelementptr inbounds nuw i8, ptr %.05.i.i.i.i.i61, i64 8 - %867 = load ptr, ptr %866, align 8 - %.not.i.i.i.i.i.i.i.i.i.i62 = icmp eq ptr %867, null - br i1 %.not.i.i.i.i.i.i.i.i.i.i62, label %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i, label %868 - -868: ; preds = %.lr.ph.i.i.i.i.i60 - call void @_ZdlPv(ptr noundef nonnull %867) #21 + %.05.i.i.i.i.i61 = phi ptr [ %867, %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i ], [ %862, %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i ] + %864 = getelementptr inbounds nuw i8, ptr %.05.i.i.i.i.i61, i64 8 + %865 = load ptr, ptr %864, align 8 + %.not.i.i.i.i.i.i.i.i.i.i62 = icmp eq ptr %865, null + br i1 %.not.i.i.i.i.i.i.i.i.i.i62, label %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i, label %866 + +866: ; preds = %.lr.ph.i.i.i.i.i60 + call void @_ZdlPv(ptr noundef nonnull %865) #21 br label %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i -_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i: ; preds = %868, %.lr.ph.i.i.i.i.i60 - %869 = getelementptr inbounds nuw i8, ptr %.05.i.i.i.i.i61, i64 40 - %.not.i.i.i.i.i63 = icmp eq ptr %869, %865 +_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i: ; preds = %866, %.lr.ph.i.i.i.i.i60 + %867 = getelementptr inbounds nuw i8, ptr %.05.i.i.i.i.i61, i64 40 + %.not.i.i.i.i.i63 = icmp eq ptr %867, %863 br i1 %.not.i.i.i.i.i63, label %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i, label %.lr.ph.i.i.i.i.i60, !llvm.loop !18 _ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i: ; preds = %_ZSt8_DestroyIN5Yosys5RTLIL8SigChunkEEvPT_.exit.i.i.i.i.i @@ -2412,84 +2405,84 @@ _ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i. br label %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i _ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i: ; preds = %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i, %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i - %870 = phi ptr [ %.pr.i.i64, %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i ], [ %864, %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i ] - %.not.i.i.i1.i = icmp eq ptr %870, null - br i1 %.not.i.i.i1.i, label %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit77, label %871 + %868 = phi ptr [ %.pr.i.i64, %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i ], [ %862, %_ZNSt6vectorIN5Yosys5RTLIL6SigBitESaIS2_EED2Ev.exit.i ] + %.not.i.i.i1.i = icmp eq ptr %868, null + br i1 %.not.i.i.i1.i, label %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit77, label %869 -871: ; preds = %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i - call void @_ZdlPv(ptr noundef nonnull %870) #21 +869: ; preds = %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i + call void @_ZdlPv(ptr noundef nonnull %868) #21 br label %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit77 -_ZN5Yosys5RTLIL7SigSpecD2Ev.exit77: ; preds = %871, %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i, %804, %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i75, %.body104.i, %.body84.i, %789 - %.pn41.pn.i = phi { ptr, i32 } [ %790, %789 ], [ %.pn39.i, %.body104.i ], [ %.pn37.i, %.body84.i ], [ %.pn35.i, %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i75 ], [ %.pn35.i, %804 ], [ %.pn41.i, %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i ], [ %.pn41.i, %871 ] +_ZN5Yosys5RTLIL7SigSpecD2Ev.exit77: ; preds = %869, %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i, %802, %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i75, %.body104.i, %.body84.i, %787 + %.pn41.pn.i = phi { ptr, i32 } [ %788, %787 ], [ %.pn39.i, %.body104.i ], [ %.pn37.i, %.body84.i ], [ %.pn35.i, %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i75 ], [ %.pn35.i, %802 ], [ %.pn41.i, %_ZSt8_DestroyIPN5Yosys5RTLIL8SigChunkES2_EvT_S4_RSaIT0_E.exit.i.i ], [ %.pn41.i, %869 ] %.724.i = extractvalue { ptr, i32 } %.pn41.pn.i, 1 - %872 = call i32 @llvm.eh.typeid.for.p0(ptr nonnull @_ZTIi) #20 - %873 = icmp eq i32 %.724.i, %872 - br i1 %873, label %874, label %.loopexit.split-lp.i.body + %870 = call i32 @llvm.eh.typeid.for.p0(ptr nonnull @_ZTIi) #20 + %871 = icmp eq i32 %.724.i, %870 + br i1 %871, label %872, label %.loopexit.split-lp.i.body -874: ; preds = %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit77 +872: ; preds = %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit77 %.7.i = extractvalue { ptr, i32 } %.pn41.pn.i, 0 - %875 = call ptr @__cxa_begin_catch(ptr %.7.i) #20 + %873 = call ptr @__cxa_begin_catch(ptr %.7.i) #20 invoke void @_ZNSt14basic_ofstreamIcSt11char_traitsIcEE5closeEv(ptr noundef nonnull align 8 dereferenceable(248) %16) - to label %876 unwind label %878 + to label %874 unwind label %876 -876: ; preds = %874 +874: ; preds = %872 invoke void (ptr, ...) @_ZN5Yosys9log_errorEPKcz(ptr noundef nonnull @.str.42) #23 - to label %877 unwind label %878 + to label %875 unwind label %876 -877: ; preds = %876 +875: ; preds = %874 unreachable -878: ; preds = %876, %874 - %879 = landingpad { ptr, i32 } +876: ; preds = %874, %872 + %877 = landingpad { ptr, i32 } cleanup call void @__cxa_end_catch() #20 br label %.loopexit.split-lp.i.body ._crit_edge.i: ; preds = %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit139.i, %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit.i invoke void @_ZNSt14basic_ofstreamIcSt11char_traitsIcEE5closeEv(ptr noundef nonnull align 8 dereferenceable(248) %16) - to label %880 unwind label %.loopexit.split-lp.i.loopexit + to label %878 unwind label %.loopexit.split-lp.i.loopexit -880: ; preds = %._crit_edge.i +878: ; preds = %._crit_edge.i call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #20 call void @_ZNSt14basic_ofstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(248) %16) #20 - %881 = load ptr, ptr %90, align 8 - %.not.i.i.i.i.i140.i = icmp eq ptr %881, null - br i1 %.not.i.i.i.i.i140.i, label %_ZN5Yosys5RTLIL5ConstD2Ev.exit.i.i, label %882 + %879 = load ptr, ptr %90, align 8 + %.not.i.i.i.i.i140.i = icmp eq ptr %879, null + br i1 %.not.i.i.i.i.i140.i, label %_ZN5Yosys5RTLIL5ConstD2Ev.exit.i.i, label %880 -882: ; preds = %880 - call void @_ZdlPv(ptr noundef nonnull %881) #21 +880: ; preds = %878 + call void @_ZdlPv(ptr noundef nonnull %879) #21 br label %_ZN5Yosys5RTLIL5ConstD2Ev.exit.i.i -_ZN5Yosys5RTLIL5ConstD2Ev.exit.i.i: ; preds = %882, %880 - %883 = load ptr, ptr %89, align 8 - %.not.i.i.i.i1.i.i = icmp eq ptr %883, null - br i1 %.not.i.i.i.i1.i.i, label %_ZN5Yosys7FsmData12transition_tD2Ev.exit.i, label %884 +_ZN5Yosys5RTLIL5ConstD2Ev.exit.i.i: ; preds = %880, %878 + %881 = load ptr, ptr %89, align 8 + %.not.i.i.i.i1.i.i = icmp eq ptr %881, null + br i1 %.not.i.i.i.i1.i.i, label %_ZN5Yosys7FsmData12transition_tD2Ev.exit.i, label %882 -884: ; preds = %_ZN5Yosys5RTLIL5ConstD2Ev.exit.i.i - call void @_ZdlPv(ptr noundef nonnull %883) #21 +882: ; preds = %_ZN5Yosys5RTLIL5ConstD2Ev.exit.i.i + call void @_ZdlPv(ptr noundef nonnull %881) #21 br label %_ZN5Yosys7FsmData12transition_tD2Ev.exit.i -_ZN5Yosys7FsmData12transition_tD2Ev.exit.i: ; preds = %884, %_ZN5Yosys5RTLIL5ConstD2Ev.exit.i.i - %885 = load ptr, ptr %93, align 8 - %886 = load ptr, ptr %94, align 8 - %.not4.i.i.i.i.i141.i = icmp eq ptr %885, %886 +_ZN5Yosys7FsmData12transition_tD2Ev.exit.i: ; preds = %882, %_ZN5Yosys5RTLIL5ConstD2Ev.exit.i.i + %883 = load ptr, ptr %93, align 8 + %884 = load ptr, ptr %94, align 8 + %.not4.i.i.i.i.i141.i = icmp eq ptr %883, %884 br i1 %.not4.i.i.i.i.i141.i, label %_ZSt8_DestroyIPN5Yosys5RTLIL5ConstES2_EvT_S4_RSaIT0_E.exit.i.i.i, label %.lr.ph.i.i.i.i.i142.i .lr.ph.i.i.i.i.i142.i: ; preds = %_ZN5Yosys7FsmData12transition_tD2Ev.exit.i, %_ZSt8_DestroyIN5Yosys5RTLIL5ConstEEvPT_.exit.i.i.i.i.i.i - %.05.i.i.i.i.i143.i = phi ptr [ %890, %_ZSt8_DestroyIN5Yosys5RTLIL5ConstEEvPT_.exit.i.i.i.i.i.i ], [ %885, %_ZN5Yosys7FsmData12transition_tD2Ev.exit.i ] - %887 = getelementptr inbounds nuw i8, ptr %.05.i.i.i.i.i143.i, i64 8 - %888 = load ptr, ptr %887, align 8 - %.not.i.i.i.i.i.i.i.i.i.i144.i = icmp eq ptr %888, null - br i1 %.not.i.i.i.i.i.i.i.i.i.i144.i, label %_ZSt8_DestroyIN5Yosys5RTLIL5ConstEEvPT_.exit.i.i.i.i.i.i, label %889 - -889: ; preds = %.lr.ph.i.i.i.i.i142.i - call void @_ZdlPv(ptr noundef nonnull %888) #21 + %.05.i.i.i.i.i143.i = phi ptr [ %888, %_ZSt8_DestroyIN5Yosys5RTLIL5ConstEEvPT_.exit.i.i.i.i.i.i ], [ %883, %_ZN5Yosys7FsmData12transition_tD2Ev.exit.i ] + %885 = getelementptr inbounds nuw i8, ptr %.05.i.i.i.i.i143.i, i64 8 + %886 = load ptr, ptr %885, align 8 + %.not.i.i.i.i.i.i.i.i.i.i144.i = icmp eq ptr %886, null + br i1 %.not.i.i.i.i.i.i.i.i.i.i144.i, label %_ZSt8_DestroyIN5Yosys5RTLIL5ConstEEvPT_.exit.i.i.i.i.i.i, label %887 + +887: ; preds = %.lr.ph.i.i.i.i.i142.i + call void @_ZdlPv(ptr noundef nonnull %886) #21 br label %_ZSt8_DestroyIN5Yosys5RTLIL5ConstEEvPT_.exit.i.i.i.i.i.i -_ZSt8_DestroyIN5Yosys5RTLIL5ConstEEvPT_.exit.i.i.i.i.i.i: ; preds = %889, %.lr.ph.i.i.i.i.i142.i - %890 = getelementptr inbounds nuw i8, ptr %.05.i.i.i.i.i143.i, i64 32 - %.not.i.i.i.i.i145.i = icmp eq ptr %890, %886 +_ZSt8_DestroyIN5Yosys5RTLIL5ConstEEvPT_.exit.i.i.i.i.i.i: ; preds = %887, %.lr.ph.i.i.i.i.i142.i + %888 = getelementptr inbounds nuw i8, ptr %.05.i.i.i.i.i143.i, i64 32 + %.not.i.i.i.i.i145.i = icmp eq ptr %888, %884 br i1 %.not.i.i.i.i.i145.i, label %_ZSt8_DestroyIPN5Yosys5RTLIL5ConstES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i.i, label %.lr.ph.i.i.i.i.i142.i, !llvm.loop !32 _ZSt8_DestroyIPN5Yosys5RTLIL5ConstES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i.i: ; preds = %_ZSt8_DestroyIN5Yosys5RTLIL5ConstEEvPT_.exit.i.i.i.i.i.i @@ -2497,44 +2490,44 @@ _ZSt8_DestroyIPN5Yosys5RTLIL5ConstES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i.i br label %_ZSt8_DestroyIPN5Yosys5RTLIL5ConstES2_EvT_S4_RSaIT0_E.exit.i.i.i _ZSt8_DestroyIPN5Yosys5RTLIL5ConstES2_EvT_S4_RSaIT0_E.exit.i.i.i: ; preds = %_ZSt8_DestroyIPN5Yosys5RTLIL5ConstES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i.i, %_ZN5Yosys7FsmData12transition_tD2Ev.exit.i - %891 = phi ptr [ %.pr.i.i146.i, %_ZSt8_DestroyIPN5Yosys5RTLIL5ConstES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i.i ], [ %885, %_ZN5Yosys7FsmData12transition_tD2Ev.exit.i ] - %.not.i.i.i.i147.i = icmp eq ptr %891, null - br i1 %.not.i.i.i.i147.i, label %_ZNSt6vectorIN5Yosys5RTLIL5ConstESaIS2_EED2Ev.exit.i.i, label %892 + %889 = phi ptr [ %.pr.i.i146.i, %_ZSt8_DestroyIPN5Yosys5RTLIL5ConstES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i.i ], [ %883, %_ZN5Yosys7FsmData12transition_tD2Ev.exit.i ] + %.not.i.i.i.i147.i = icmp eq ptr %889, null + br i1 %.not.i.i.i.i147.i, label %_ZNSt6vectorIN5Yosys5RTLIL5ConstESaIS2_EED2Ev.exit.i.i, label %890 -892: ; preds = %_ZSt8_DestroyIPN5Yosys5RTLIL5ConstES2_EvT_S4_RSaIT0_E.exit.i.i.i - call void @_ZdlPv(ptr noundef nonnull %891) #21 +890: ; preds = %_ZSt8_DestroyIPN5Yosys5RTLIL5ConstES2_EvT_S4_RSaIT0_E.exit.i.i.i + call void @_ZdlPv(ptr noundef nonnull %889) #21 br label %_ZNSt6vectorIN5Yosys5RTLIL5ConstESaIS2_EED2Ev.exit.i.i -_ZNSt6vectorIN5Yosys5RTLIL5ConstESaIS2_EED2Ev.exit.i.i: ; preds = %892, %_ZSt8_DestroyIPN5Yosys5RTLIL5ConstES2_EvT_S4_RSaIT0_E.exit.i.i.i - %893 = load ptr, ptr %87, align 8 - %894 = load ptr, ptr %92, align 8 - %.not4.i.i.i.i1.i.i = icmp eq ptr %893, %894 +_ZNSt6vectorIN5Yosys5RTLIL5ConstESaIS2_EED2Ev.exit.i.i: ; preds = %890, %_ZSt8_DestroyIPN5Yosys5RTLIL5ConstES2_EvT_S4_RSaIT0_E.exit.i.i.i + %891 = load ptr, ptr %87, align 8 + %892 = load ptr, ptr %92, align 8 + %.not4.i.i.i.i1.i.i = icmp eq ptr %891, %892 br i1 %.not4.i.i.i.i1.i.i, label %_ZSt8_DestroyIPN5Yosys7FsmData12transition_tES2_EvT_S4_RSaIT0_E.exit.i.i.i, label %.lr.ph.i.i.i.i2.i.i .lr.ph.i.i.i.i2.i.i: ; preds = %_ZNSt6vectorIN5Yosys5RTLIL5ConstESaIS2_EED2Ev.exit.i.i, %_ZSt8_DestroyIN5Yosys7FsmData12transition_tEEvPT_.exit.i.i.i.i.i.i - %.05.i.i.i.i3.i.i = phi ptr [ %901, %_ZSt8_DestroyIN5Yosys7FsmData12transition_tEEvPT_.exit.i.i.i.i.i.i ], [ %893, %_ZNSt6vectorIN5Yosys5RTLIL5ConstESaIS2_EED2Ev.exit.i.i ] - %895 = getelementptr inbounds nuw i8, ptr %.05.i.i.i.i3.i.i, i64 48 - %896 = load ptr, ptr %895, align 8 - %.not.i.i.i.i.i.i.i.i.i.i.i.i = icmp eq ptr %896, null - br i1 %.not.i.i.i.i.i.i.i.i.i.i.i.i, label %_ZN5Yosys5RTLIL5ConstD2Ev.exit.i.i.i.i.i.i.i.i, label %897 - -897: ; preds = %.lr.ph.i.i.i.i2.i.i - call void @_ZdlPv(ptr noundef nonnull %896) #21 + %.05.i.i.i.i3.i.i = phi ptr [ %899, %_ZSt8_DestroyIN5Yosys7FsmData12transition_tEEvPT_.exit.i.i.i.i.i.i ], [ %891, %_ZNSt6vectorIN5Yosys5RTLIL5ConstESaIS2_EED2Ev.exit.i.i ] + %893 = getelementptr inbounds nuw i8, ptr %.05.i.i.i.i3.i.i, i64 48 + %894 = load ptr, ptr %893, align 8 + %.not.i.i.i.i.i.i.i.i.i.i.i.i = icmp eq ptr %894, null + br i1 %.not.i.i.i.i.i.i.i.i.i.i.i.i, label %_ZN5Yosys5RTLIL5ConstD2Ev.exit.i.i.i.i.i.i.i.i, label %895 + +895: ; preds = %.lr.ph.i.i.i.i2.i.i + call void @_ZdlPv(ptr noundef nonnull %894) #21 br label %_ZN5Yosys5RTLIL5ConstD2Ev.exit.i.i.i.i.i.i.i.i -_ZN5Yosys5RTLIL5ConstD2Ev.exit.i.i.i.i.i.i.i.i: ; preds = %897, %.lr.ph.i.i.i.i2.i.i - %898 = getelementptr inbounds nuw i8, ptr %.05.i.i.i.i3.i.i, i64 16 - %899 = load ptr, ptr %898, align 8 - %.not.i.i.i.i1.i.i.i.i.i.i.i.i = icmp eq ptr %899, null - br i1 %.not.i.i.i.i1.i.i.i.i.i.i.i.i, label %_ZSt8_DestroyIN5Yosys7FsmData12transition_tEEvPT_.exit.i.i.i.i.i.i, label %900 +_ZN5Yosys5RTLIL5ConstD2Ev.exit.i.i.i.i.i.i.i.i: ; preds = %895, %.lr.ph.i.i.i.i2.i.i + %896 = getelementptr inbounds nuw i8, ptr %.05.i.i.i.i3.i.i, i64 16 + %897 = load ptr, ptr %896, align 8 + %.not.i.i.i.i1.i.i.i.i.i.i.i.i = icmp eq ptr %897, null + br i1 %.not.i.i.i.i1.i.i.i.i.i.i.i.i, label %_ZSt8_DestroyIN5Yosys7FsmData12transition_tEEvPT_.exit.i.i.i.i.i.i, label %898 -900: ; preds = %_ZN5Yosys5RTLIL5ConstD2Ev.exit.i.i.i.i.i.i.i.i - call void @_ZdlPv(ptr noundef nonnull %899) #21 +898: ; preds = %_ZN5Yosys5RTLIL5ConstD2Ev.exit.i.i.i.i.i.i.i.i + call void @_ZdlPv(ptr noundef nonnull %897) #21 br label %_ZSt8_DestroyIN5Yosys7FsmData12transition_tEEvPT_.exit.i.i.i.i.i.i -_ZSt8_DestroyIN5Yosys7FsmData12transition_tEEvPT_.exit.i.i.i.i.i.i: ; preds = %900, %_ZN5Yosys5RTLIL5ConstD2Ev.exit.i.i.i.i.i.i.i.i - %901 = getelementptr inbounds nuw i8, ptr %.05.i.i.i.i3.i.i, i64 72 - %.not.i.i.i.i4.i.i = icmp eq ptr %901, %894 +_ZSt8_DestroyIN5Yosys7FsmData12transition_tEEvPT_.exit.i.i.i.i.i.i: ; preds = %898, %_ZN5Yosys5RTLIL5ConstD2Ev.exit.i.i.i.i.i.i.i.i + %899 = getelementptr inbounds nuw i8, ptr %.05.i.i.i.i3.i.i, i64 72 + %.not.i.i.i.i4.i.i = icmp eq ptr %899, %892 br i1 %.not.i.i.i.i4.i.i, label %_ZSt8_DestroyIPN5Yosys7FsmData12transition_tES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i.i, label %.lr.ph.i.i.i.i2.i.i, !llvm.loop !33 _ZSt8_DestroyIPN5Yosys7FsmData12transition_tES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i.i: ; preds = %_ZSt8_DestroyIN5Yosys7FsmData12transition_tEEvPT_.exit.i.i.i.i.i.i @@ -2542,59 +2535,59 @@ _ZSt8_DestroyIPN5Yosys7FsmData12transition_tES2_EvT_S4_RSaIT0_E.exitthread-pre-s br label %_ZSt8_DestroyIPN5Yosys7FsmData12transition_tES2_EvT_S4_RSaIT0_E.exit.i.i.i _ZSt8_DestroyIPN5Yosys7FsmData12transition_tES2_EvT_S4_RSaIT0_E.exit.i.i.i: ; preds = %_ZSt8_DestroyIPN5Yosys7FsmData12transition_tES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i.i, %_ZNSt6vectorIN5Yosys5RTLIL5ConstESaIS2_EED2Ev.exit.i.i - %902 = phi ptr [ %.pr.i5.i.i, %_ZSt8_DestroyIPN5Yosys7FsmData12transition_tES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i.i ], [ %893, %_ZNSt6vectorIN5Yosys5RTLIL5ConstESaIS2_EED2Ev.exit.i.i ] - %.not.i.i.i6.i.i = icmp eq ptr %902, null - br i1 %.not.i.i.i6.i.i, label %928, label %903 + %900 = phi ptr [ %.pr.i5.i.i, %_ZSt8_DestroyIPN5Yosys7FsmData12transition_tES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i.i ], [ %891, %_ZNSt6vectorIN5Yosys5RTLIL5ConstESaIS2_EED2Ev.exit.i.i ] + %.not.i.i.i6.i.i = icmp eq ptr %900, null + br i1 %.not.i.i.i6.i.i, label %926, label %901 -903: ; preds = %_ZSt8_DestroyIPN5Yosys7FsmData12transition_tES2_EvT_S4_RSaIT0_E.exit.i.i.i - call void @_ZdlPv(ptr noundef nonnull %902) #21 - br label %928 +901: ; preds = %_ZSt8_DestroyIPN5Yosys7FsmData12transition_tES2_EvT_S4_RSaIT0_E.exit.i.i.i + call void @_ZdlPv(ptr noundef nonnull %900) #21 + br label %926 -.loopexit.split-lp.i.body: ; preds = %.loopexit.split-lp.i.loopexit, %.loopexit.split-lp.i.loopexit.split-lp, %.loopexit.i.loopexit, %.loopexit.i.loopexit.split-lp, %381, %377, %878, %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit77, %.body.i, %502 - %.merged45.i = phi { ptr, i32 } [ %879, %878 ], [ %.pn41.pn.i, %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit77 ], [ %.pn33.i, %.body.i ], [ %.pn.pn.pn.i, %502 ], [ %382, %381 ], [ %378, %377 ], [ %lpad.loopexit, %.loopexit.i.loopexit ], [ %lpad.loopexit.split-lp, %.loopexit.i.loopexit.split-lp ], [ %lpad.loopexit146, %.loopexit.split-lp.i.loopexit ], [ %lpad.loopexit.split-lp147, %.loopexit.split-lp.i.loopexit.split-lp ] +.loopexit.split-lp.i.body: ; preds = %.loopexit.split-lp.i.loopexit, %.loopexit.split-lp.i.loopexit.split-lp, %.loopexit.i.loopexit, %.loopexit.i.loopexit.split-lp, %379, %375, %876, %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit77, %.body.i, %500 + %.merged45.i = phi { ptr, i32 } [ %877, %876 ], [ %.pn41.pn.i, %_ZN5Yosys5RTLIL7SigSpecD2Ev.exit77 ], [ %.pn33.i, %.body.i ], [ %.pn.pn.pn.i, %500 ], [ %380, %379 ], [ %376, %375 ], [ %lpad.loopexit, %.loopexit.i.loopexit ], [ %lpad.loopexit.split-lp, %.loopexit.i.loopexit.split-lp ], [ %lpad.loopexit145, %.loopexit.split-lp.i.loopexit ], [ %lpad.loopexit.split-lp146, %.loopexit.split-lp.i.loopexit.split-lp ] call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #20 call void @_ZNSt14basic_ofstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(248) %16) #20 - br label %904 + br label %902 -904: ; preds = %.loopexit.split-lp.i.body, %466 - %.merged44.i = phi { ptr, i32 } [ %.merged45.i, %.loopexit.split-lp.i.body ], [ %467, %466 ] - %905 = load ptr, ptr %90, align 8 - %.not.i.i.i.i.i57 = icmp eq ptr %905, null - br i1 %.not.i.i.i.i.i57, label %_ZN5Yosys5RTLIL5ConstD2Ev.exit.i, label %906 +902: ; preds = %.loopexit.split-lp.i.body, %464 + %.merged44.i = phi { ptr, i32 } [ %.merged45.i, %.loopexit.split-lp.i.body ], [ %465, %464 ] + %903 = load ptr, ptr %90, align 8 + %.not.i.i.i.i.i57 = icmp eq ptr %903, null + br i1 %.not.i.i.i.i.i57, label %_ZN5Yosys5RTLIL5ConstD2Ev.exit.i, label %904 -906: ; preds = %904 - call void @_ZdlPv(ptr noundef nonnull %905) #21 +904: ; preds = %902 + call void @_ZdlPv(ptr noundef nonnull %903) #21 br label %_ZN5Yosys5RTLIL5ConstD2Ev.exit.i -_ZN5Yosys5RTLIL5ConstD2Ev.exit.i: ; preds = %906, %904 - %907 = load ptr, ptr %89, align 8 - %.not.i.i.i.i1.i = icmp eq ptr %907, null - br i1 %.not.i.i.i.i1.i, label %_ZN5Yosys7FsmData12transition_tD2Ev.exit, label %908 +_ZN5Yosys5RTLIL5ConstD2Ev.exit.i: ; preds = %904, %902 + %905 = load ptr, ptr %89, align 8 + %.not.i.i.i.i1.i = icmp eq ptr %905, null + br i1 %.not.i.i.i.i1.i, label %_ZN5Yosys7FsmData12transition_tD2Ev.exit, label %906 -908: ; preds = %_ZN5Yosys5RTLIL5ConstD2Ev.exit.i - call void @_ZdlPv(ptr noundef nonnull %907) #21 +906: ; preds = %_ZN5Yosys5RTLIL5ConstD2Ev.exit.i + call void @_ZdlPv(ptr noundef nonnull %905) #21 br label %_ZN5Yosys7FsmData12transition_tD2Ev.exit -_ZN5Yosys7FsmData12transition_tD2Ev.exit: ; preds = %_ZN5Yosys5RTLIL5ConstD2Ev.exit.i, %908 - %909 = load ptr, ptr %93, align 8 - %910 = load ptr, ptr %94, align 8 - %.not4.i.i.i.i.i = icmp eq ptr %909, %910 +_ZN5Yosys7FsmData12transition_tD2Ev.exit: ; preds = %_ZN5Yosys5RTLIL5ConstD2Ev.exit.i, %906 + %907 = load ptr, ptr %93, align 8 + %908 = load ptr, ptr %94, align 8 + %.not4.i.i.i.i.i = icmp eq ptr %907, %908 br i1 %.not4.i.i.i.i.i, label %_ZSt8_DestroyIPN5Yosys5RTLIL5ConstES2_EvT_S4_RSaIT0_E.exit.i.i, label %.lr.ph.i.i.i.i.i .lr.ph.i.i.i.i.i: ; preds = %_ZN5Yosys7FsmData12transition_tD2Ev.exit, %_ZSt8_DestroyIN5Yosys5RTLIL5ConstEEvPT_.exit.i.i.i.i.i - %.05.i.i.i.i.i = phi ptr [ %914, %_ZSt8_DestroyIN5Yosys5RTLIL5ConstEEvPT_.exit.i.i.i.i.i ], [ %909, %_ZN5Yosys7FsmData12transition_tD2Ev.exit ] - %911 = getelementptr inbounds nuw i8, ptr %.05.i.i.i.i.i, i64 8 - %912 = load ptr, ptr %911, align 8 - %.not.i.i.i.i.i.i.i.i.i.i53 = icmp eq ptr %912, null - br i1 %.not.i.i.i.i.i.i.i.i.i.i53, label %_ZSt8_DestroyIN5Yosys5RTLIL5ConstEEvPT_.exit.i.i.i.i.i, label %913 - -913: ; preds = %.lr.ph.i.i.i.i.i - call void @_ZdlPv(ptr noundef nonnull %912) #21 + %.05.i.i.i.i.i = phi ptr [ %912, %_ZSt8_DestroyIN5Yosys5RTLIL5ConstEEvPT_.exit.i.i.i.i.i ], [ %907, %_ZN5Yosys7FsmData12transition_tD2Ev.exit ] + %909 = getelementptr inbounds nuw i8, ptr %.05.i.i.i.i.i, i64 8 + %910 = load ptr, ptr %909, align 8 + %.not.i.i.i.i.i.i.i.i.i.i53 = icmp eq ptr %910, null + br i1 %.not.i.i.i.i.i.i.i.i.i.i53, label %_ZSt8_DestroyIN5Yosys5RTLIL5ConstEEvPT_.exit.i.i.i.i.i, label %911 + +911: ; preds = %.lr.ph.i.i.i.i.i + call void @_ZdlPv(ptr noundef nonnull %910) #21 br label %_ZSt8_DestroyIN5Yosys5RTLIL5ConstEEvPT_.exit.i.i.i.i.i -_ZSt8_DestroyIN5Yosys5RTLIL5ConstEEvPT_.exit.i.i.i.i.i: ; preds = %913, %.lr.ph.i.i.i.i.i - %914 = getelementptr inbounds nuw i8, ptr %.05.i.i.i.i.i, i64 32 - %.not.i.i.i.i.i54 = icmp eq ptr %914, %910 +_ZSt8_DestroyIN5Yosys5RTLIL5ConstEEvPT_.exit.i.i.i.i.i: ; preds = %911, %.lr.ph.i.i.i.i.i + %912 = getelementptr inbounds nuw i8, ptr %.05.i.i.i.i.i, i64 32 + %.not.i.i.i.i.i54 = icmp eq ptr %912, %908 br i1 %.not.i.i.i.i.i54, label %_ZSt8_DestroyIPN5Yosys5RTLIL5ConstES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i, label %.lr.ph.i.i.i.i.i, !llvm.loop !32 _ZSt8_DestroyIPN5Yosys5RTLIL5ConstES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i: ; preds = %_ZSt8_DestroyIN5Yosys5RTLIL5ConstEEvPT_.exit.i.i.i.i.i @@ -2602,44 +2595,44 @@ _ZSt8_DestroyIPN5Yosys5RTLIL5ConstES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i: br label %_ZSt8_DestroyIPN5Yosys5RTLIL5ConstES2_EvT_S4_RSaIT0_E.exit.i.i _ZSt8_DestroyIPN5Yosys5RTLIL5ConstES2_EvT_S4_RSaIT0_E.exit.i.i: ; preds = %_ZSt8_DestroyIPN5Yosys5RTLIL5ConstES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i, %_ZN5Yosys7FsmData12transition_tD2Ev.exit - %915 = phi ptr [ %.pr.i.i, %_ZSt8_DestroyIPN5Yosys5RTLIL5ConstES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i ], [ %909, %_ZN5Yosys7FsmData12transition_tD2Ev.exit ] - %.not.i.i.i.i55 = icmp eq ptr %915, null - br i1 %.not.i.i.i.i55, label %_ZNSt6vectorIN5Yosys5RTLIL5ConstESaIS2_EED2Ev.exit.i, label %916 + %913 = phi ptr [ %.pr.i.i, %_ZSt8_DestroyIPN5Yosys5RTLIL5ConstES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i ], [ %907, %_ZN5Yosys7FsmData12transition_tD2Ev.exit ] + %.not.i.i.i.i55 = icmp eq ptr %913, null + br i1 %.not.i.i.i.i55, label %_ZNSt6vectorIN5Yosys5RTLIL5ConstESaIS2_EED2Ev.exit.i, label %914 -916: ; preds = %_ZSt8_DestroyIPN5Yosys5RTLIL5ConstES2_EvT_S4_RSaIT0_E.exit.i.i - call void @_ZdlPv(ptr noundef nonnull %915) #21 +914: ; preds = %_ZSt8_DestroyIPN5Yosys5RTLIL5ConstES2_EvT_S4_RSaIT0_E.exit.i.i + call void @_ZdlPv(ptr noundef nonnull %913) #21 br label %_ZNSt6vectorIN5Yosys5RTLIL5ConstESaIS2_EED2Ev.exit.i -_ZNSt6vectorIN5Yosys5RTLIL5ConstESaIS2_EED2Ev.exit.i: ; preds = %916, %_ZSt8_DestroyIPN5Yosys5RTLIL5ConstES2_EvT_S4_RSaIT0_E.exit.i.i - %917 = load ptr, ptr %87, align 8 - %918 = load ptr, ptr %92, align 8 - %.not4.i.i.i.i1.i = icmp eq ptr %917, %918 +_ZNSt6vectorIN5Yosys5RTLIL5ConstESaIS2_EED2Ev.exit.i: ; preds = %914, %_ZSt8_DestroyIPN5Yosys5RTLIL5ConstES2_EvT_S4_RSaIT0_E.exit.i.i + %915 = load ptr, ptr %87, align 8 + %916 = load ptr, ptr %92, align 8 + %.not4.i.i.i.i1.i = icmp eq ptr %915, %916 br i1 %.not4.i.i.i.i1.i, label %_ZSt8_DestroyIPN5Yosys7FsmData12transition_tES2_EvT_S4_RSaIT0_E.exit.i.i, label %.lr.ph.i.i.i.i2.i .lr.ph.i.i.i.i2.i: ; preds = %_ZNSt6vectorIN5Yosys5RTLIL5ConstESaIS2_EED2Ev.exit.i, %_ZSt8_DestroyIN5Yosys7FsmData12transition_tEEvPT_.exit.i.i.i.i.i - %.05.i.i.i.i3.i = phi ptr [ %925, %_ZSt8_DestroyIN5Yosys7FsmData12transition_tEEvPT_.exit.i.i.i.i.i ], [ %917, %_ZNSt6vectorIN5Yosys5RTLIL5ConstESaIS2_EED2Ev.exit.i ] - %919 = getelementptr inbounds nuw i8, ptr %.05.i.i.i.i3.i, i64 48 - %920 = load ptr, ptr %919, align 8 - %.not.i.i.i.i.i.i.i.i.i.i.i56 = icmp eq ptr %920, null - br i1 %.not.i.i.i.i.i.i.i.i.i.i.i56, label %_ZN5Yosys5RTLIL5ConstD2Ev.exit.i.i.i.i.i.i.i, label %921 - -921: ; preds = %.lr.ph.i.i.i.i2.i - call void @_ZdlPv(ptr noundef nonnull %920) #21 + %.05.i.i.i.i3.i = phi ptr [ %923, %_ZSt8_DestroyIN5Yosys7FsmData12transition_tEEvPT_.exit.i.i.i.i.i ], [ %915, %_ZNSt6vectorIN5Yosys5RTLIL5ConstESaIS2_EED2Ev.exit.i ] + %917 = getelementptr inbounds nuw i8, ptr %.05.i.i.i.i3.i, i64 48 + %918 = load ptr, ptr %917, align 8 + %.not.i.i.i.i.i.i.i.i.i.i.i56 = icmp eq ptr %918, null + br i1 %.not.i.i.i.i.i.i.i.i.i.i.i56, label %_ZN5Yosys5RTLIL5ConstD2Ev.exit.i.i.i.i.i.i.i, label %919 + +919: ; preds = %.lr.ph.i.i.i.i2.i + call void @_ZdlPv(ptr noundef nonnull %918) #21 br label %_ZN5Yosys5RTLIL5ConstD2Ev.exit.i.i.i.i.i.i.i -_ZN5Yosys5RTLIL5ConstD2Ev.exit.i.i.i.i.i.i.i: ; preds = %921, %.lr.ph.i.i.i.i2.i - %922 = getelementptr inbounds nuw i8, ptr %.05.i.i.i.i3.i, i64 16 - %923 = load ptr, ptr %922, align 8 - %.not.i.i.i.i1.i.i.i.i.i.i.i = icmp eq ptr %923, null - br i1 %.not.i.i.i.i1.i.i.i.i.i.i.i, label %_ZSt8_DestroyIN5Yosys7FsmData12transition_tEEvPT_.exit.i.i.i.i.i, label %924 +_ZN5Yosys5RTLIL5ConstD2Ev.exit.i.i.i.i.i.i.i: ; preds = %919, %.lr.ph.i.i.i.i2.i + %920 = getelementptr inbounds nuw i8, ptr %.05.i.i.i.i3.i, i64 16 + %921 = load ptr, ptr %920, align 8 + %.not.i.i.i.i1.i.i.i.i.i.i.i = icmp eq ptr %921, null + br i1 %.not.i.i.i.i1.i.i.i.i.i.i.i, label %_ZSt8_DestroyIN5Yosys7FsmData12transition_tEEvPT_.exit.i.i.i.i.i, label %922 -924: ; preds = %_ZN5Yosys5RTLIL5ConstD2Ev.exit.i.i.i.i.i.i.i - call void @_ZdlPv(ptr noundef nonnull %923) #21 +922: ; preds = %_ZN5Yosys5RTLIL5ConstD2Ev.exit.i.i.i.i.i.i.i + call void @_ZdlPv(ptr noundef nonnull %921) #21 br label %_ZSt8_DestroyIN5Yosys7FsmData12transition_tEEvPT_.exit.i.i.i.i.i -_ZSt8_DestroyIN5Yosys7FsmData12transition_tEEvPT_.exit.i.i.i.i.i: ; preds = %924, %_ZN5Yosys5RTLIL5ConstD2Ev.exit.i.i.i.i.i.i.i - %925 = getelementptr inbounds nuw i8, ptr %.05.i.i.i.i3.i, i64 72 - %.not.i.i.i.i4.i = icmp eq ptr %925, %918 +_ZSt8_DestroyIN5Yosys7FsmData12transition_tEEvPT_.exit.i.i.i.i.i: ; preds = %922, %_ZN5Yosys5RTLIL5ConstD2Ev.exit.i.i.i.i.i.i.i + %923 = getelementptr inbounds nuw i8, ptr %.05.i.i.i.i3.i, i64 72 + %.not.i.i.i.i4.i = icmp eq ptr %923, %916 br i1 %.not.i.i.i.i4.i, label %_ZSt8_DestroyIPN5Yosys7FsmData12transition_tES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i, label %.lr.ph.i.i.i.i2.i, !llvm.loop !33 _ZSt8_DestroyIPN5Yosys7FsmData12transition_tES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i: ; preds = %_ZSt8_DestroyIN5Yosys7FsmData12transition_tEEvPT_.exit.i.i.i.i.i @@ -2647,15 +2640,15 @@ _ZSt8_DestroyIPN5Yosys7FsmData12transition_tES2_EvT_S4_RSaIT0_E.exitthread-pre-s br label %_ZSt8_DestroyIPN5Yosys7FsmData12transition_tES2_EvT_S4_RSaIT0_E.exit.i.i _ZSt8_DestroyIPN5Yosys7FsmData12transition_tES2_EvT_S4_RSaIT0_E.exit.i.i: ; preds = %_ZSt8_DestroyIPN5Yosys7FsmData12transition_tES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i, %_ZNSt6vectorIN5Yosys5RTLIL5ConstESaIS2_EED2Ev.exit.i - %926 = phi ptr [ %.pr.i5.i, %_ZSt8_DestroyIPN5Yosys7FsmData12transition_tES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i ], [ %917, %_ZNSt6vectorIN5Yosys5RTLIL5ConstESaIS2_EED2Ev.exit.i ] - %.not.i.i.i6.i = icmp eq ptr %926, null - br i1 %.not.i.i.i6.i, label %.body42, label %927 + %924 = phi ptr [ %.pr.i5.i, %_ZSt8_DestroyIPN5Yosys7FsmData12transition_tES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i.i ], [ %915, %_ZNSt6vectorIN5Yosys5RTLIL5ConstESaIS2_EED2Ev.exit.i ] + %.not.i.i.i6.i = icmp eq ptr %924, null + br i1 %.not.i.i.i6.i, label %.body42, label %925 -927: ; preds = %_ZSt8_DestroyIPN5Yosys7FsmData12transition_tES2_EvT_S4_RSaIT0_E.exit.i.i - call void @_ZdlPv(ptr noundef nonnull %926) #21 +925: ; preds = %_ZSt8_DestroyIPN5Yosys7FsmData12transition_tES2_EvT_S4_RSaIT0_E.exit.i.i + call void @_ZdlPv(ptr noundef nonnull %924) #21 br label %.body42 -928: ; preds = %903, %_ZSt8_DestroyIPN5Yosys7FsmData12transition_tES2_EvT_S4_RSaIT0_E.exit.i.i.i +926: ; preds = %901, %_ZSt8_DestroyIPN5Yosys7FsmData12transition_tES2_EvT_S4_RSaIT0_E.exit.i.i.i call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %14) call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %15) call void @llvm.lifetime.end.p0(i64 512, ptr nonnull %16) @@ -2679,49 +2672,49 @@ _ZSt8_DestroyIPN5Yosys7FsmData12transition_tES2_EvT_S4_RSaIT0_E.exit.i.i: ; pred call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %34) call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %40) #20 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5clearEv(ptr noundef nonnull align 8 dereferenceable(32) %36) #20 - br label %929 + br label %927 -.loopexit141: ; preds = %.critedge, %250 - %lpad.loopexit142 = landingpad { ptr, i32 } +.loopexit140: ; preds = %.critedge, %250 + %lpad.loopexit141 = landingpad { ptr, i32 } cleanup br label %.body .loopexit.split-lp: ; preds = %245, %221 - %lpad.loopexit.split-lp143 = landingpad { ptr, i32 } + %lpad.loopexit.split-lp142 = landingpad { ptr, i32 } cleanup br label %.body -.body42: ; preds = %927, %_ZSt8_DestroyIPN5Yosys7FsmData12transition_tES2_EvT_S4_RSaIT0_E.exit.i.i +.body42: ; preds = %925, %_ZSt8_DestroyIPN5Yosys7FsmData12transition_tES2_EvT_S4_RSaIT0_E.exit.i.i call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %40) #20 br label %.body -929: ; preds = %.loopexit, %_ZZN12_GLOBAL__N_113FsmExportPass7executeESt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS7_EEPN5Yosys5RTLIL6DesignEENKUlvE_clEv.exit.thread, %_ZN5Yosys5RTLIL8IdStringD2Ev.exit, %928 - %930 = getelementptr inbounds nuw i8, ptr %.sroa.0126.0441, i64 8 - %.not138 = icmp eq ptr %930, %130 - br i1 %.not138, label %._crit_edge444.loopexit, label %137 +927: ; preds = %.loopexit, %_ZZN12_GLOBAL__N_113FsmExportPass7executeESt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS7_EEPN5Yosys5RTLIL6DesignEENKUlvE_clEv.exit.thread, %_ZN5Yosys5RTLIL8IdStringD2Ev.exit, %926 + %928 = getelementptr inbounds nuw i8, ptr %.sroa.0126.0440, i64 8 + %.not138 = icmp eq ptr %928, %130 + br i1 %.not138, label %._crit_edge443.loopexit, label %137 -.body: ; preds = %.loopexit141, %.loopexit.split-lp, %152, %218, %222, %.body42 - %.pn = phi { ptr, i32 } [ %.merged44.i, %.body42 ], [ %153, %152 ], [ %223, %222 ], [ %219, %218 ], [ %lpad.loopexit142, %.loopexit141 ], [ %lpad.loopexit.split-lp143, %.loopexit.split-lp ] - %931 = load ptr, ptr %39, align 8 - %.not.i.i.i44 = icmp eq ptr %931, null - br i1 %.not.i.i.i44, label %_ZNSt6vectorIPN5Yosys5RTLIL4CellESaIS3_EED2Ev.exit45, label %932 +.body: ; preds = %.loopexit140, %.loopexit.split-lp, %152, %218, %222, %.body42 + %.pn = phi { ptr, i32 } [ %.merged44.i, %.body42 ], [ %153, %152 ], [ %223, %222 ], [ %219, %218 ], [ %lpad.loopexit141, %.loopexit140 ], [ %lpad.loopexit.split-lp142, %.loopexit.split-lp ] + %929 = load ptr, ptr %39, align 8 + %.not.i.i.i44 = icmp eq ptr %929, null + br i1 %.not.i.i.i44, label %_ZNSt6vectorIPN5Yosys5RTLIL4CellESaIS3_EED2Ev.exit45, label %930 -932: ; preds = %.body - call void @_ZdlPv(ptr noundef nonnull %931) #21 +930: ; preds = %.body + call void @_ZdlPv(ptr noundef nonnull %929) #21 br label %_ZNSt6vectorIPN5Yosys5RTLIL4CellESaIS3_EED2Ev.exit45 -_ZNSt6vectorIPN5Yosys5RTLIL4CellESaIS3_EED2Ev.exit45: ; preds = %932, %.body, %135 - %.pn.pn = phi { ptr, i32 } [ %136, %135 ], [ %.pn, %.body ], [ %.pn, %932 ] - %933 = load ptr, ptr %38, align 8 - %.not.i.i.i46 = icmp eq ptr %933, null - br i1 %.not.i.i.i46, label %_ZNSt6vectorIPN5Yosys5RTLIL6ModuleESaIS3_EED2Ev.exit47, label %934 +_ZNSt6vectorIPN5Yosys5RTLIL4CellESaIS3_EED2Ev.exit45: ; preds = %930, %.body, %135 + %.pn.pn = phi { ptr, i32 } [ %136, %135 ], [ %.pn, %.body ], [ %.pn, %930 ] + %931 = load ptr, ptr %38, align 8 + %.not.i.i.i46 = icmp eq ptr %931, null + br i1 %.not.i.i.i46, label %_ZNSt6vectorIPN5Yosys5RTLIL6ModuleESaIS3_EED2Ev.exit47, label %932 -934: ; preds = %_ZNSt6vectorIPN5Yosys5RTLIL4CellESaIS3_EED2Ev.exit45 - call void @_ZdlPv(ptr noundef nonnull %933) #21 +932: ; preds = %_ZNSt6vectorIPN5Yosys5RTLIL4CellESaIS3_EED2Ev.exit45 + call void @_ZdlPv(ptr noundef nonnull %931) #21 br label %_ZNSt6vectorIPN5Yosys5RTLIL6ModuleESaIS3_EED2Ev.exit47 -_ZNSt6vectorIPN5Yosys5RTLIL6ModuleESaIS3_EED2Ev.exit47: ; preds = %.loopexit149, %.loopexit.split-lp150, %934, %_ZNSt6vectorIPN5Yosys5RTLIL4CellESaIS3_EED2Ev.exit45, %124 - %.pn34 = phi { ptr, i32 } [ %125, %124 ], [ %.pn.pn, %_ZNSt6vectorIPN5Yosys5RTLIL4CellESaIS3_EED2Ev.exit45 ], [ %.pn.pn, %934 ], [ %lpad.loopexit151, %.loopexit149 ], [ %lpad.loopexit.split-lp152, %.loopexit.split-lp150 ] +_ZNSt6vectorIPN5Yosys5RTLIL6ModuleESaIS3_EED2Ev.exit47: ; preds = %.loopexit148, %.loopexit.split-lp149, %932, %_ZNSt6vectorIPN5Yosys5RTLIL4CellESaIS3_EED2Ev.exit45, %124 + %.pn34 = phi { ptr, i32 } [ %125, %124 ], [ %.pn.pn, %_ZNSt6vectorIPN5Yosys5RTLIL4CellESaIS3_EED2Ev.exit45 ], [ %.pn.pn, %932 ], [ %lpad.loopexit150, %.loopexit148 ], [ %lpad.loopexit.split-lp151, %.loopexit.split-lp149 ] call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #20 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #20 resume { ptr, i32 } %.pn34 diff --git a/bench/zed-rs/optimized/5y1wnv46c80h8ez08dncvhm61.ll b/bench/zed-rs/optimized/5y1wnv46c80h8ez08dncvhm61.ll index b5b4c2676bf..4de4950790c 100644 --- a/bench/zed-rs/optimized/5y1wnv46c80h8ez08dncvhm61.ll +++ b/bench/zed-rs/optimized/5y1wnv46c80h8ez08dncvhm61.ll @@ -4238,112 +4238,197 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle %6 = alloca [24 x i8], align 8 %7 = alloca [8 x i8], align 8 store i64 %3, ptr %7, align 8 - %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %2, i64 8 - %.val5.pre = load ptr, ptr %.phi.trans.insert, align 8 - %.phi.trans.insert18 = getelementptr inbounds nuw i8, ptr %2, i64 16 - %.val6.pre = load i64, ptr %.phi.trans.insert18, align 8 - switch i64 %3, label %._crit_edge [ - i64 4294967298, label %8 - i64 17179869186, label %9 + switch i64 %3, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17adjust_attributes17h032bbfd79a2156f0E.exit" [ + i64 4294967298, label %10 + i64 17179869186, label %35 ] -._crit_edge: ; preds = %4, %9, %8 - invoke fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17adjust_attributes17hf6425241a582cffbE"(ptr nonnull %.val5.pre, i64 %.val6.pre) - to label %10 unwind label %36 +"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17adjust_attributes17h032bbfd79a2156f0E.exit": ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$24adjust_mathml_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h7d3c76871bd54afaE.exit.thread.i", %10, %35, %4 + %8 = getelementptr inbounds nuw i8, ptr %2, i64 8 + %.val5 = load ptr, ptr %8, align 8, !alias.scope !522, !nonnull !4, !noundef !4 + %9 = getelementptr inbounds nuw i8, ptr %2, i64 16 + %.val6 = load i64, ptr %9, align 8, !alias.scope !522, !noundef !4 + invoke fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17adjust_attributes17hf6425241a582cffbE"(ptr nonnull %.val5, i64 %.val6) + to label %38 unwind label %.body.thread22.loopexit.split-lp + +10: ; preds = %4 + %11 = getelementptr inbounds nuw i8, ptr %2, i64 8 + %.val7 = load ptr, ptr %11, align 8, !alias.scope !525, !nonnull !4, !noundef !4 + %12 = getelementptr inbounds nuw i8, ptr %2, i64 16 + %.val8 = load i64, ptr %12, align 8, !alias.scope !525, !noundef !4 + %13 = getelementptr inbounds { { i64, i64, i64 }, { i64, { { [2 x i32] } }, {}, {} } }, ptr %.val7, i64 %.val8 + %14 = icmp eq i64 %.val8, 0 + br i1 %14, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17adjust_attributes17h032bbfd79a2156f0E.exit", label %"_ZN94_$LT$core..slice..iter..IterMut$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h3807c0ab9ca60b24E.exit.i" + +"_ZN94_$LT$core..slice..iter..IterMut$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h3807c0ab9ca60b24E.exit.i": ; preds = %10, %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$24adjust_mathml_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h7d3c76871bd54afaE.exit.thread.i" + %.sroa.0.013.i = phi ptr [ %15, %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$24adjust_mathml_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h7d3c76871bd54afaE.exit.thread.i" ], [ %.val7, %10 ] + %15 = getelementptr inbounds nuw i8, ptr %.sroa.0.013.i, i64 40 + %16 = getelementptr inbounds nuw i8, ptr %.sroa.0.013.i, i64 8 + %17 = load i64, ptr %16, align 8, !range !57, !noundef !4 + %18 = and i64 %17, 3 + %19 = icmp eq i64 %18, 0 + br i1 %19, label %20, label %.thread.i -8: ; preds = %4 - invoke fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17adjust_attributes17h032bbfd79a2156f0E"(ptr nonnull %.val5.pre, i64 %.val6.pre) - to label %._crit_edge unwind label %36 +20: ; preds = %"_ZN94_$LT$core..slice..iter..IterMut$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h3807c0ab9ca60b24E.exit.i" + %21 = inttoptr i64 %17 to ptr + %22 = getelementptr inbounds nuw i8, ptr %21, i64 16 + %23 = atomicrmw add ptr %22, i64 1 seq_cst, align 8 + %24 = atomicrmw sub ptr %22, i64 1 seq_cst, align 8, !noalias !528 + %25 = icmp eq i64 %24, 1 + br i1 %25, label %27, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$24adjust_mathml_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h7d3c76871bd54afaE.exit.thread.i" -9: ; preds = %4 - invoke fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17adjust_attributes17h43d21c4c0c3e6b8dE"(ptr nonnull %.val5.pre, i64 %.val6.pre) - to label %._crit_edge unwind label %36 - -10: ; preds = %._crit_edge - %11 = getelementptr inbounds nuw i8, ptr %2, i64 33 - %12 = load i8, ptr %11, align 1, !range !5, !noundef !4 - %13 = trunc nuw i8 %12 to i1 - %14 = getelementptr inbounds nuw i8, ptr %2, i64 24 - %15 = load i64, ptr %14, align 8, !range !57, !noundef !4 - br i1 %13, label %21, label %16 +.thread.i: ; preds = %"_ZN94_$LT$core..slice..iter..IterMut$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h3807c0ab9ca60b24E.exit.i" + %26 = icmp eq i64 %17, 3818225926146 + br i1 %26, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$24adjust_mathml_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h7d3c76871bd54afaE.exit.i", label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$24adjust_mathml_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h7d3c76871bd54afaE.exit.thread.i" -16: ; preds = %10 +27: ; preds = %20 + %28 = invoke noundef ptr @_ZN4core4sync6atomic11atomic_load17h4be985e8b17abd04E.llvm.5096816904524340452(ptr noundef nonnull getelementptr inbounds nuw (i8, ptr @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, i64 16), i8 noundef 2) + to label %.noexc unwind label %.body.thread22.loopexit + +.noexc: ; preds = %27 + %.not.i.i.i.i.i.i = icmp eq ptr %28, inttoptr (i64 2 to ptr) + br i1 %.not.i.i.i.i.i.i, label %"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E.exit.i.i.i.i", label %29 + +29: ; preds = %.noexc + invoke void @"_ZN9once_cell3imp17OnceCell$LT$T$GT$10initialize17h88e844a06093b331E"(ptr noundef nonnull align 8 @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, ptr noundef nonnull align 8 @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E) + to label %.noexc11 unwind label %.body.thread22.loopexit + +.noexc11: ; preds = %29 + %30 = load ptr, ptr @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, align 8, !noalias !531, !noundef !4 + %31 = icmp ne ptr %30, null + tail call void @llvm.assume(i1 %31) + br label %"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E.exit.i.i.i.i" + +"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E.exit.i.i.i.i": ; preds = %.noexc11, %.noexc + invoke void @_ZN12string_cache11dynamic_set3Set6remove17h358d1c715f07230eE(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, ptr noundef nonnull %21) + to label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$24adjust_mathml_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h7d3c76871bd54afaE.exit.thread.i" unwind label %.body.thread22.loopexit + +"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$24adjust_mathml_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h7d3c76871bd54afaE.exit.i": ; preds = %.thread.i + invoke void @"_ZN4core3ptr53drop_in_place$LT$markup5ever..interface..QualName$GT$17h8230ef8e9ca34766E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %.sroa.0.013.i) + to label %33 unwind label %.body.thread + +.body.thread: ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$24adjust_mathml_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h7d3c76871bd54afaE.exit.i" + %32 = landingpad { ptr, i32 } + cleanup + store i64 25769803778, ptr %.sroa.0.013.i, align 8 + store i64 4655744548866, ptr %16, align 8 + %.sroa.4.0..sroa.0.0.i.sroa_idx.i = getelementptr inbounds nuw i8, ptr %.sroa.0.013.i, i64 16 + store i64 0, ptr %.sroa.4.0..sroa.0.0.i.sroa_idx.i, align 8 + br label %.body.thread22 + +33: ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$24adjust_mathml_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h7d3c76871bd54afaE.exit.i" + store i64 25769803778, ptr %.sroa.0.013.i, align 8 + store i64 4655744548866, ptr %16, align 8 + %.sroa.4.0..sroa.0.0.i.sroa_idx6.i = getelementptr inbounds nuw i8, ptr %.sroa.0.013.i, i64 16 + store i64 0, ptr %.sroa.4.0..sroa.0.0.i.sroa_idx6.i, align 8 + br label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$24adjust_mathml_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h7d3c76871bd54afaE.exit.thread.i" + +"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$24adjust_mathml_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h7d3c76871bd54afaE.exit.thread.i": ; preds = %"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E.exit.i.i.i.i", %33, %.thread.i, %20 + %34 = icmp eq ptr %15, %13 + br i1 %34, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17adjust_attributes17h032bbfd79a2156f0E.exit", label %"_ZN94_$LT$core..slice..iter..IterMut$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h3807c0ab9ca60b24E.exit.i" + +35: ; preds = %4 + %36 = getelementptr inbounds nuw i8, ptr %2, i64 8 + %.val9 = load ptr, ptr %36, align 8, !alias.scope !534, !nonnull !4, !noundef !4 + %37 = getelementptr inbounds nuw i8, ptr %2, i64 16 + %.val10 = load i64, ptr %37, align 8, !alias.scope !534, !noundef !4 + invoke fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17adjust_attributes17h43d21c4c0c3e6b8dE"(ptr nonnull %.val9, i64 %.val10) + to label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17adjust_attributes17h032bbfd79a2156f0E.exit" unwind label %.body.thread22.loopexit.split-lp + +.body.thread22.loopexit: ; preds = %"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E.exit.i.i.i.i", %29, %27 + %lpad.loopexit = landingpad { ptr, i32 } + cleanup + br label %.body.thread22 + +.body.thread22.loopexit.split-lp: ; preds = %35, %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17adjust_attributes17h032bbfd79a2156f0E.exit" + %lpad.loopexit.split-lp = landingpad { ptr, i32 } + cleanup + br label %.body.thread22 + +38: ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17adjust_attributes17h032bbfd79a2156f0E.exit" + %39 = getelementptr inbounds nuw i8, ptr %2, i64 33 + %40 = load i8, ptr %39, align 1, !range !5, !noundef !4 + %41 = trunc nuw i8 %40 to i1 + %42 = getelementptr inbounds nuw i8, ptr %2, i64 24 + %43 = load i64, ptr %42, align 8, !range !57, !noundef !4 + br i1 %41, label %49, label %44 + +44: ; preds = %38 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %5) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(24) %2, i64 24, i1 false) - %17 = call fastcc noundef nonnull ptr @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14insert_element17ha772ae336bd83e98E"(ptr noalias noundef align 8 dereferenceable(192) %1, i1 noundef zeroext false, i64 noundef %3, i64 noundef %15, ptr noalias noundef align 8 captures(none) dereferenceable(24) %5) + %45 = call fastcc noundef nonnull ptr @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14insert_element17ha772ae336bd83e98E"(ptr noalias noundef align 8 dereferenceable(192) %1, i1 noundef zeroext false, i64 noundef %3, i64 noundef %43, ptr noalias noundef align 8 captures(none) dereferenceable(24) %5) call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %5) - %18 = load i64, ptr %17, align 8, !noalias !522, !noundef !4 - %19 = add i64 %18, -1 - store i64 %19, ptr %17, align 8, !noalias !522 - %20 = icmp eq i64 %19, 0 - br i1 %20, label %.noexc, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit" + %46 = load i64, ptr %45, align 8, !noalias !537, !noundef !4 + %47 = add i64 %46, -1 + store i64 %47, ptr %45, align 8, !noalias !537 + %48 = icmp eq i64 %47, 0 + br i1 %48, label %.noexc13, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit" -21: ; preds = %10 +49: ; preds = %38 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %6) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %6, ptr noundef nonnull align 8 dereferenceable(24) %2, i64 24, i1 false) - %22 = call fastcc noundef nonnull ptr @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14insert_element17ha772ae336bd83e98E"(ptr noalias noundef align 8 dereferenceable(192) %1, i1 noundef zeroext true, i64 noundef %3, i64 noundef %15, ptr noalias noundef align 8 captures(none) dereferenceable(24) %6) + %50 = call fastcc noundef nonnull ptr @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14insert_element17ha772ae336bd83e98E"(ptr noalias noundef align 8 dereferenceable(192) %1, i1 noundef zeroext true, i64 noundef %3, i64 noundef %43, ptr noalias noundef align 8 captures(none) dereferenceable(24) %6) call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %6) - %23 = load i64, ptr %22, align 8, !noalias !527, !noundef !4 - %24 = add i64 %23, -1 - store i64 %24, ptr %22, align 8, !noalias !527 - %25 = icmp eq i64 %24, 0 - br i1 %25, label %.noexc11, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit" + %51 = load i64, ptr %50, align 8, !noalias !542, !noundef !4 + %52 = add i64 %51, -1 + store i64 %52, ptr %50, align 8, !noalias !542 + %53 = icmp eq i64 %52, 0 + br i1 %53, label %.noexc14, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit" -.noexc: ; preds = %16 - %26 = getelementptr inbounds nuw i8, ptr %17, i64 16 - tail call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17hed3cc8b884d652aeE.llvm.5005022800651993668"(ptr noalias noundef nonnull align 8 dereferenceable(120) %26) - %27 = getelementptr inbounds nuw i8, ptr %17, i64 8 - %28 = load i64, ptr %27, align 8, !noalias !522, !noundef !4 - %29 = add i64 %28, -1 - store i64 %29, ptr %27, align 8, !noalias !522 - %30 = icmp eq i64 %29, 0 - br i1 %30, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit.sink.split", label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit" +.noexc13: ; preds = %44 + %54 = getelementptr inbounds nuw i8, ptr %45, i64 16 + tail call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17hed3cc8b884d652aeE.llvm.5005022800651993668"(ptr noalias noundef nonnull align 8 dereferenceable(120) %54) + %55 = getelementptr inbounds nuw i8, ptr %45, i64 8 + %56 = load i64, ptr %55, align 8, !noalias !537, !noundef !4 + %57 = add i64 %56, -1 + store i64 %57, ptr %55, align 8, !noalias !537 + %58 = icmp eq i64 %57, 0 + br i1 %58, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit.sink.split", label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit" -"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit.sink.split": ; preds = %.noexc, %.noexc11 - %.sink = phi ptr [ %22, %.noexc11 ], [ %17, %.noexc ] - %storemerge.ph = phi i64 [ -9223372036854775803, %.noexc11 ], [ -9223372036854775804, %.noexc ] +"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit.sink.split": ; preds = %.noexc13, %.noexc14 + %.sink = phi ptr [ %50, %.noexc14 ], [ %45, %.noexc13 ] + %storemerge.ph = phi i64 [ -9223372036854775803, %.noexc14 ], [ -9223372036854775804, %.noexc13 ] tail call void @__rust_dealloc(ptr noundef nonnull %.sink, i64 noundef 136, i64 noundef 8) #16, !noalias !4 br label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit" -"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit": ; preds = %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit.sink.split", %21, %.noexc11, %16, %.noexc - %storemerge = phi i64 [ -9223372036854775804, %.noexc ], [ -9223372036854775804, %16 ], [ -9223372036854775803, %.noexc11 ], [ -9223372036854775803, %21 ], [ %storemerge.ph, %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit.sink.split" ] +"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit": ; preds = %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit.sink.split", %49, %.noexc14, %44, %.noexc13 + %storemerge = phi i64 [ -9223372036854775804, %.noexc13 ], [ -9223372036854775804, %44 ], [ -9223372036854775803, %.noexc14 ], [ -9223372036854775803, %49 ], [ %storemerge.ph, %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit.sink.split" ] store i64 %storemerge, ptr %0, align 8 ret void -.noexc11: ; preds = %21 - %31 = getelementptr inbounds nuw i8, ptr %22, i64 16 - tail call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17hed3cc8b884d652aeE.llvm.5005022800651993668"(ptr noalias noundef nonnull align 8 dereferenceable(120) %31) - %32 = getelementptr inbounds nuw i8, ptr %22, i64 8 - %33 = load i64, ptr %32, align 8, !noalias !527, !noundef !4 - %34 = add i64 %33, -1 - store i64 %34, ptr %32, align 8, !noalias !527 - %35 = icmp eq i64 %34, 0 - br i1 %35, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit.sink.split", label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit" - -36: ; preds = %._crit_edge, %8, %9 - %lpad.thr_comm.split-lp = landingpad { ptr, i32 } - cleanup +.noexc14: ; preds = %49 + %59 = getelementptr inbounds nuw i8, ptr %50, i64 16 + tail call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17hed3cc8b884d652aeE.llvm.5005022800651993668"(ptr noalias noundef nonnull align 8 dereferenceable(120) %59) + %60 = getelementptr inbounds nuw i8, ptr %50, i64 8 + %61 = load i64, ptr %60, align 8, !noalias !542, !noundef !4 + %62 = add i64 %61, -1 + store i64 %62, ptr %60, align 8, !noalias !542 + %63 = icmp eq i64 %62, 0 + br i1 %63, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit.sink.split", label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit" + +.body.thread22: ; preds = %.body.thread22.loopexit, %.body.thread22.loopexit.split-lp, %.body.thread + %eh.lpad-body21 = phi { ptr, i32 } [ %32, %.body.thread ], [ %lpad.loopexit, %.body.thread22.loopexit ], [ %lpad.loopexit.split-lp, %.body.thread22.loopexit.split-lp ] invoke void @"_ZN4core3ptr84drop_in_place$LT$string_cache..atom..Atom$LT$markup5ever..NamespaceStaticSet$GT$$GT$17h0ed4ac647496d4d2E.llvm.4491288516430033680"(ptr noalias noundef nonnull align 8 dereferenceable(8) %7) #17 - to label %39 unwind label %37 + to label %66 unwind label %64 -37: ; preds = %39, %.critedge, %36 - %38 = landingpad { ptr, i32 } +64: ; preds = %66, %.critedge, %.body.thread22 + %65 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer tail call void @_ZN4core9panicking16panic_in_cleanup17hfa05ef7d5107e16aE() #15 unreachable -39: ; preds = %36 - %40 = getelementptr inbounds nuw i8, ptr %2, i64 24 - %.val = load i64, ptr %40, align 8, !range !57, !noundef !4 +66: ; preds = %.body.thread22 + %67 = getelementptr inbounds nuw i8, ptr %2, i64 24 + %.val = load i64, ptr %67, align 8, !range !57, !noundef !4 invoke fastcc void @"_ZN4core3ptr84drop_in_place$LT$string_cache..atom..Atom$LT$markup5ever..LocalNameStaticSet$GT$$GT$17h0e9d66411fdb076aE"(i64 %.val) #17 - to label %.critedge unwind label %37 + to label %.critedge unwind label %64 .critedge4: ; preds = %.critedge - resume { ptr, i32 } %lpad.thr_comm.split-lp + resume { ptr, i32 } %eh.lpad-body21 -.critedge: ; preds = %39 +.critedge: ; preds = %66 invoke void @"_ZN4core3ptr77drop_in_place$LT$alloc..vec..Vec$LT$markup5ever..interface..Attribute$GT$$GT$17h00c74149d762a6e5E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %2) #17 - to label %.critedge4 unwind label %37 + to label %.critedge4 unwind label %64 } ; Function Attrs: nonlazybind uwtable @@ -4358,7 +4443,7 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle store i64 0, ptr %6, align 8 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %5) invoke fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$31appropriate_place_for_insertion17h25ab12c1b096bbfaE"(ptr noalias noundef align 8 captures(none) dereferenceable(24) %5, ptr noalias noundef nonnull align 8 dereferenceable(192) %1, ptr noundef null) - to label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$20insert_appropriately17hca73dfcef86f1f83E.exit" unwind label %10, !noalias !532 + to label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$20insert_appropriately17hca73dfcef86f1f83E.exit" unwind label %10, !noalias !547 9: ; preds = %10 resume { ptr, i32 } %11 @@ -4372,14 +4457,14 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle 12: ; preds = %10 %13 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer - tail call void @_ZN4core9panicking16panic_in_cleanup17hfa05ef7d5107e16aE() #15, !noalias !532 + tail call void @_ZN4core9panicking16panic_in_cleanup17hfa05ef7d5107e16aE() #15, !noalias !547 unreachable "_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$20insert_appropriately17hca73dfcef86f1f83E.exit": ; preds = %3 - call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %4), !noalias !535 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %4, ptr noundef nonnull readonly align 8 dereferenceable(24) %6, i64 24, i1 false), !noalias !537 - call fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$9insert_at17ha9c043e1991bdbccE"(ptr noalias noundef nonnull align 8 dereferenceable(192) %1, ptr noalias noundef align 8 captures(none) dereferenceable(24) %5, ptr noalias noundef align 8 captures(none) dereferenceable(24) %4), !noalias !532 - call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4), !noalias !535 + call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %4), !noalias !550 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %4, ptr noundef nonnull readonly align 8 dereferenceable(24) %6, i64 24, i1 false), !noalias !552 + call fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$9insert_at17ha9c043e1991bdbccE"(ptr noalias noundef nonnull align 8 dereferenceable(192) %1, ptr noalias noundef align 8 captures(none) dereferenceable(24) %5, ptr noalias noundef align 8 captures(none) dereferenceable(24) %4), !noalias !547 + call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4), !noalias !550 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %5) call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %6) store i64 -9223372036854775804, ptr %0, align 8 @@ -4465,18 +4550,18 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle store ptr %5, ptr %3, align 8 %.sroa.45.0..sroa_idx = getelementptr inbounds nuw i8, ptr %3, i64 8 store ptr @"_ZN73_$LT$markup5ever..interface..ExpandedName$u20$as$u20$core..fmt..Debug$GT$3fmt17h63682fe7b803af75E", ptr %.sroa.45.0..sroa_idx, align 8 - call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %2), !noalias !538 - store ptr @anon.b244ddacf973f5fee137b0ea6cb9ab8a.98, ptr %2, align 8, !noalias !545 + call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %2), !noalias !553 + store ptr @anon.b244ddacf973f5fee137b0ea6cb9ab8a.98, ptr %2, align 8, !noalias !560 %.sroa.4.0..sroa_idx = getelementptr inbounds nuw i8, ptr %2, i64 8 - store i64 2, ptr %.sroa.4.0..sroa_idx, align 8, !noalias !545 + store i64 2, ptr %.sroa.4.0..sroa_idx, align 8, !noalias !560 %.sroa.5.0..sroa_idx = getelementptr inbounds nuw i8, ptr %2, i64 16 - store ptr %3, ptr %.sroa.5.0..sroa_idx, align 8, !noalias !545 + store ptr %3, ptr %.sroa.5.0..sroa_idx, align 8, !noalias !560 %.sroa.69.0..sroa_idx = getelementptr inbounds nuw i8, ptr %2, i64 24 - store i64 1, ptr %.sroa.69.0..sroa_idx, align 8, !noalias !545 + store i64 1, ptr %.sroa.69.0..sroa_idx, align 8, !noalias !560 %.sroa.7.0..sroa_idx = getelementptr inbounds nuw i8, ptr %2, i64 32 - store ptr null, ptr %.sroa.7.0..sroa_idx, align 8, !noalias !545 + store ptr null, ptr %.sroa.7.0..sroa_idx, align 8, !noalias !560 call void @_ZN5alloc3fmt6format12format_inner17hfc591406982d9639E(ptr noalias noundef nonnull sret([24 x i8]) align 8 captures(none) dereferenceable(24) %4, ptr noalias noundef nonnull align 8 captures(none) dereferenceable(48) %2) - call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %2), !noalias !538 + call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %2), !noalias !553 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %3) br label %29 @@ -4491,9 +4576,9 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle %2 = alloca [8 x i8], align 8 %3 = alloca [24 x i8], align 8 tail call fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$20generate_implied_end17hf86f619de92a8dc8E"(ptr noalias noundef align 8 dereferenceable(192) %0) - tail call void @llvm.experimental.noalias.scope.decl(metadata !546) + tail call void @llvm.experimental.noalias.scope.decl(metadata !561) %4 = getelementptr inbounds nuw i8, ptr %0, i64 104 - %5 = load i64, ptr %4, align 8, !alias.scope !546, !noundef !4 + %5 = load i64, ptr %4, align 8, !alias.scope !561, !noundef !4 %6 = icmp eq i64 %5, 0 br i1 %6, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$9pop_until17hcdf1e79a0c562d17E.exit.thread", label %.lr.ph.i @@ -4506,15 +4591,15 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle %10 = phi i64 [ %5, %.lr.ph.i ], [ %37, %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit.i" ] %11 = phi i64 [ 1, %.lr.ph.i ], [ %36, %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit.i" ] %12 = add i64 %10, -1 - store i64 %12, ptr %4, align 8, !alias.scope !546 - %13 = load i64, ptr %7, align 8, !alias.scope !546, !noundef !4 + store i64 %12, ptr %4, align 8, !alias.scope !561 + %13 = load i64, ptr %7, align 8, !alias.scope !561, !noundef !4 %14 = icmp ult i64 %12, %13 call void @llvm.assume(i1 %14) - %15 = load ptr, ptr %8, align 8, !alias.scope !546, !nonnull !4, !noundef !4 + %15 = load ptr, ptr %8, align 8, !alias.scope !561, !nonnull !4, !noundef !4 %16 = getelementptr inbounds ptr, ptr %15, i64 %12 %17 = load ptr, ptr %16, align 8, !nonnull !4, !noundef !4 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %2), !noalias !546 - store ptr %17, ptr %2, align 8, !noalias !546 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %2), !noalias !561 + store ptr %17, ptr %2, align 8, !noalias !561 %18 = invoke { ptr, ptr } @"_ZN91_$LT$markup5ever_rcdom..RcDom$u20$as$u20$markup5ever..interface..tree_builder..TreeSink$GT$9elem_name17h4e753bf026563d2eE"(ptr noalias noundef nonnull readonly align 8 dereferenceable(192) %0, ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %2) to label %21 unwind label %19 @@ -4539,62 +4624,62 @@ _ZN4core3ops8function2Fn4call17hdb87773c0c23169fE.exit.i: ; preds = %21 ] _ZN4core3ops8function2Fn4call17hdb87773c0c23169fE.exit.thread.i: ; preds = %_ZN4core3ops8function2Fn4call17hdb87773c0c23169fE.exit.i, %21 - call void @llvm.experimental.noalias.scope.decl(metadata !549) - call void @llvm.experimental.noalias.scope.decl(metadata !552) - %25 = load ptr, ptr %2, align 8, !alias.scope !555, !noalias !546, !nonnull !4, !noundef !4 - %26 = load i64, ptr %25, align 8, !noalias !555, !noundef !4 + call void @llvm.experimental.noalias.scope.decl(metadata !564) + call void @llvm.experimental.noalias.scope.decl(metadata !567) + %25 = load ptr, ptr %2, align 8, !alias.scope !570, !noalias !561, !nonnull !4, !noundef !4 + %26 = load i64, ptr %25, align 8, !noalias !570, !noundef !4 %27 = add i64 %26, -1 - store i64 %27, ptr %25, align 8, !noalias !555 + store i64 %27, ptr %25, align 8, !noalias !570 %28 = icmp eq i64 %27, 0 br i1 %28, label %29, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit.i" 29: ; preds = %_ZN4core3ops8function2Fn4call17hdb87773c0c23169fE.exit.thread.i %30 = getelementptr inbounds nuw i8, ptr %25, i64 16 - call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17hed3cc8b884d652aeE.llvm.5005022800651993668"(ptr noalias noundef nonnull align 8 dereferenceable(120) %30), !noalias !555 + call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17hed3cc8b884d652aeE.llvm.5005022800651993668"(ptr noalias noundef nonnull align 8 dereferenceable(120) %30), !noalias !570 %31 = getelementptr inbounds nuw i8, ptr %25, i64 8 - %32 = load i64, ptr %31, align 8, !noalias !555, !noundef !4 + %32 = load i64, ptr %31, align 8, !noalias !570, !noundef !4 %33 = add i64 %32, -1 - store i64 %33, ptr %31, align 8, !noalias !555 + store i64 %33, ptr %31, align 8, !noalias !570 %34 = icmp eq i64 %33, 0 br i1 %34, label %35, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit.i" 35: ; preds = %29 - call void @__rust_dealloc(ptr noundef nonnull %25, i64 noundef 136, i64 noundef 8) #16, !noalias !555 + call void @__rust_dealloc(ptr noundef nonnull %25, i64 noundef 136, i64 noundef 8) #16, !noalias !570 br label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit.i" "_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit.i": ; preds = %35, %29, %_ZN4core3ops8function2Fn4call17hdb87773c0c23169fE.exit.thread.i - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %2), !noalias !546 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %2), !noalias !561 %36 = add i64 %11, 1 - %37 = load i64, ptr %4, align 8, !alias.scope !546, !noundef !4 + %37 = load i64, ptr %4, align 8, !alias.scope !561, !noundef !4 %38 = icmp eq i64 %37, 0 br i1 %38, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$9pop_until17hcdf1e79a0c562d17E.exit", label %9 39: ; preds = %_ZN4core3ops8function2Fn4call17hdb87773c0c23169fE.exit.i, %_ZN4core3ops8function2Fn4call17hdb87773c0c23169fE.exit.i - call void @llvm.experimental.noalias.scope.decl(metadata !556) - call void @llvm.experimental.noalias.scope.decl(metadata !559) - %40 = load ptr, ptr %2, align 8, !alias.scope !562, !noalias !546, !nonnull !4, !noundef !4 - %41 = load i64, ptr %40, align 8, !noalias !562, !noundef !4 + call void @llvm.experimental.noalias.scope.decl(metadata !571) + call void @llvm.experimental.noalias.scope.decl(metadata !574) + %40 = load ptr, ptr %2, align 8, !alias.scope !577, !noalias !561, !nonnull !4, !noundef !4 + %41 = load i64, ptr %40, align 8, !noalias !577, !noundef !4 %42 = add i64 %41, -1 - store i64 %42, ptr %40, align 8, !noalias !562 + store i64 %42, ptr %40, align 8, !noalias !577 %43 = icmp eq i64 %42, 0 br i1 %43, label %44, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit7.i" 44: ; preds = %39 %45 = getelementptr inbounds nuw i8, ptr %40, i64 16 - call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17hed3cc8b884d652aeE.llvm.5005022800651993668"(ptr noalias noundef nonnull align 8 dereferenceable(120) %45), !noalias !562 + call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17hed3cc8b884d652aeE.llvm.5005022800651993668"(ptr noalias noundef nonnull align 8 dereferenceable(120) %45), !noalias !577 %46 = getelementptr inbounds nuw i8, ptr %40, i64 8 - %47 = load i64, ptr %46, align 8, !noalias !562, !noundef !4 + %47 = load i64, ptr %46, align 8, !noalias !577, !noundef !4 %48 = add i64 %47, -1 - store i64 %48, ptr %46, align 8, !noalias !562 + store i64 %48, ptr %46, align 8, !noalias !577 %49 = icmp eq i64 %48, 0 br i1 %49, label %50, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit7.i" 50: ; preds = %44 - call void @__rust_dealloc(ptr noundef nonnull %40, i64 noundef 136, i64 noundef 8) #16, !noalias !562 + call void @__rust_dealloc(ptr noundef nonnull %40, i64 noundef 136, i64 noundef 8) #16, !noalias !577 br label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit7.i" "_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit7.i": ; preds = %50, %44, %39 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %2), !noalias !546 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %2), !noalias !561 br label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$9pop_until17hcdf1e79a0c562d17E.exit" 51: ; preds = %19 @@ -4630,11 +4715,11 @@ _ZN4core3ops8function2Fn4call17hdb87773c0c23169fE.exit.thread.i: ; preds = %_ZN4 ; Function Attrs: nonlazybind uwtable define internal fastcc noundef zeroext i1 @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14in_scope_named17h203a18ad192d471cE"(ptr noalias noundef nonnull readonly align 8 dereferenceable(192) %0, i64 noundef range(i64 1, 0) %1) unnamed_addr #2 personality ptr @rust_eh_personality { %3 = alloca [8 x i8], align 8 - tail call void @llvm.experimental.noalias.scope.decl(metadata !563) + tail call void @llvm.experimental.noalias.scope.decl(metadata !578) %4 = getelementptr inbounds nuw i8, ptr %0, i64 96 - %5 = load ptr, ptr %4, align 8, !alias.scope !563, !noalias !566, !nonnull !4, !noundef !4 + %5 = load ptr, ptr %4, align 8, !alias.scope !578, !noalias !581, !nonnull !4, !noundef !4 %6 = getelementptr inbounds nuw i8, ptr %0, i64 104 - %7 = load i64, ptr %6, align 8, !alias.scope !563, !noalias !566, !noundef !4 + %7 = load i64, ptr %6, align 8, !alias.scope !578, !noalias !581, !noundef !4 %8 = icmp eq i64 %7, 0 br i1 %8, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17hd24e937828370c5dE.exit", label %.lr.ph.i @@ -4649,29 +4734,29 @@ define internal fastcc noundef zeroext i1 @"_ZN9html5ever12tree_builder32TreeBui .lr.ph.split.us.i: ; preds = %.lr.ph.i, %_ZN4core3ops8function2Fn4call17hae62364ec96f019aE.exit.us.i %.sroa.5.013.us.i = phi ptr [ %14, %_ZN4core3ops8function2Fn4call17hae62364ec96f019aE.exit.us.i ], [ %9, %.lr.ph.i ] %14 = getelementptr inbounds i8, ptr %.sroa.5.013.us.i, i64 -8 - %.val.us.i = load ptr, ptr %14, align 8, !noalias !569, !nonnull !4, !noundef !4 - %.val.i.i.us.i = load i64, ptr %.val.us.i, align 8, !noalias !569, !noundef !4 + %.val.us.i = load ptr, ptr %14, align 8, !noalias !584, !nonnull !4, !noundef !4 + %.val.i.i.us.i = load i64, ptr %.val.us.i, align 8, !noalias !584, !noundef !4 %15 = icmp ne i64 %.val.i.i.us.i, 0 call void @llvm.assume(i1 %15) %16 = add i64 %.val.i.i.us.i, 1 - store i64 %16, ptr %.val.us.i, align 8, !noalias !569 + store i64 %16, ptr %.val.us.i, align 8, !noalias !584 %17 = icmp eq i64 %16, 0 br i1 %17, label %.split.us.i, label %"_ZN65_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h30edba8ce2c3e507E.exit.us.i" "_ZN65_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h30edba8ce2c3e507E.exit.us.i": ; preds = %.lr.ph.split.us.i - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3), !noalias !570 - store ptr %.val.us.i, ptr %3, align 8, !noalias !570 - %18 = atomicrmw add ptr %13, i64 1 seq_cst, align 8, !noalias !569 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3), !noalias !585 + store ptr %.val.us.i, ptr %3, align 8, !noalias !585 + %18 = atomicrmw add ptr %13, i64 1 seq_cst, align 8, !noalias !584 %19 = invoke fastcc noundef zeroext i1 @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15html_elem_named17h363f1592e1b13660E"(ptr noalias noundef nonnull readonly align 8 dereferenceable(192) %0, ptr noalias noundef readonly align 8 dereferenceable(8) %3, i64 noundef %1) - to label %20 unwind label %.split50.us.i, !noalias !569 + to label %20 unwind label %.split50.us.i, !noalias !584 20: ; preds = %"_ZN65_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h30edba8ce2c3e507E.exit.us.i" - call void @llvm.experimental.noalias.scope.decl(metadata !571) - call void @llvm.experimental.noalias.scope.decl(metadata !574) - %21 = load ptr, ptr %3, align 8, !alias.scope !577, !noalias !570, !nonnull !4, !noundef !4 - %22 = load i64, ptr %21, align 8, !noalias !578, !noundef !4 + call void @llvm.experimental.noalias.scope.decl(metadata !586) + call void @llvm.experimental.noalias.scope.decl(metadata !589) + %21 = load ptr, ptr %3, align 8, !alias.scope !592, !noalias !585, !nonnull !4, !noundef !4 + %22 = load i64, ptr %21, align 8, !noalias !593, !noundef !4 %23 = add i64 %22, -1 - store i64 %23, ptr %21, align 8, !noalias !578 + store i64 %23, ptr %21, align 8, !noalias !593 %24 = icmp eq i64 %23, 0 br i1 %24, label %25, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14in_scope_named28_$u7b$$u7b$closure$u7d$$u7d$17h5fc21010a4fc783aE.exit.us.i" @@ -4682,18 +4767,18 @@ define internal fastcc noundef zeroext i1 @"_ZN9html5ever12tree_builder32TreeBui .noexc: ; preds = %25 %27 = getelementptr inbounds nuw i8, ptr %21, i64 8 - %28 = load i64, ptr %27, align 8, !noalias !578, !noundef !4 + %28 = load i64, ptr %27, align 8, !noalias !593, !noundef !4 %29 = add i64 %28, -1 - store i64 %29, ptr %27, align 8, !noalias !578 + store i64 %29, ptr %27, align 8, !noalias !593 %30 = icmp eq i64 %29, 0 br i1 %30, label %31, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14in_scope_named28_$u7b$$u7b$closure$u7d$$u7d$17h5fc21010a4fc783aE.exit.us.i" 31: ; preds = %.noexc - call void @__rust_dealloc(ptr noundef nonnull %21, i64 noundef 136, i64 noundef 8) #16, !noalias !578 + call void @__rust_dealloc(ptr noundef nonnull %21, i64 noundef 136, i64 noundef 8) #16, !noalias !593 br label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14in_scope_named28_$u7b$$u7b$closure$u7d$$u7d$17h5fc21010a4fc783aE.exit.us.i" "_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14in_scope_named28_$u7b$$u7b$closure$u7d$$u7d$17h5fc21010a4fc783aE.exit.us.i": ; preds = %31, %.noexc, %20 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3), !noalias !570 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3), !noalias !585 br i1 %19, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17hd24e937828370c5dE.exit.thread", label %32 32: ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14in_scope_named28_$u7b$$u7b$closure$u7d$$u7d$17h5fc21010a4fc783aE.exit.us.i" @@ -4703,7 +4788,7 @@ define internal fastcc noundef zeroext i1 @"_ZN9html5ever12tree_builder32TreeBui .noexc2: ; preds = %32 %34 = extractvalue { ptr, ptr } %33, 0 %35 = extractvalue { ptr, ptr } %33, 1 - %.val7.us.i = load i64, ptr %34, align 8, !alias.scope !579, !noalias !582, !noundef !4 + %.val7.us.i = load i64, ptr %34, align 8, !alias.scope !594, !noalias !597, !noundef !4 %.val8.us.i = load i64, ptr %35, align 8 switch i64 %.val7.us.i, label %_ZN4core3ops8function2Fn4call17hae62364ec96f019aE.exit.us.i [ i64 30064771074, label %38 @@ -4752,12 +4837,12 @@ _ZN4core3ops8function2Fn4call17hae62364ec96f019aE.exit.us.i: ; preds = %38, %37, .lr.ph.split.i: ; preds = %.lr.ph.i, %_ZN4core3ops8function2Fn4call17hae62364ec96f019aE.exit.i %.sroa.5.013.i = phi ptr [ %41, %_ZN4core3ops8function2Fn4call17hae62364ec96f019aE.exit.i ], [ %9, %.lr.ph.i ] %41 = getelementptr inbounds i8, ptr %.sroa.5.013.i, i64 -8 - %.val.i = load ptr, ptr %41, align 8, !noalias !569, !nonnull !4, !noundef !4 - %.val.i.i.i = load i64, ptr %.val.i, align 8, !noalias !569, !noundef !4 + %.val.i = load ptr, ptr %41, align 8, !noalias !584, !nonnull !4, !noundef !4 + %.val.i.i.i = load i64, ptr %.val.i, align 8, !noalias !584, !noundef !4 %42 = icmp ne i64 %.val.i.i.i, 0 call void @llvm.assume(i1 %42) %43 = add i64 %.val.i.i.i, 1 - store i64 %43, ptr %.val.i, align 8, !noalias !569 + store i64 %43, ptr %.val.i, align 8, !noalias !584 %44 = icmp eq i64 %43, 0 br i1 %44, label %.split.us.i, label %"_ZN65_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h30edba8ce2c3e507E.exit.i" @@ -4766,10 +4851,10 @@ _ZN4core3ops8function2Fn4call17hae62364ec96f019aE.exit.us.i: ; preds = %38, %37, unreachable "_ZN65_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h30edba8ce2c3e507E.exit.i": ; preds = %.lr.ph.split.i - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3), !noalias !570 - store ptr %.val.i, ptr %3, align 8, !noalias !570 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3), !noalias !585 + store ptr %.val.i, ptr %3, align 8, !noalias !585 %45 = invoke fastcc noundef zeroext i1 @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15html_elem_named17h363f1592e1b13660E"(ptr noalias noundef nonnull readonly align 8 dereferenceable(192) %0, ptr noalias noundef readonly align 8 dereferenceable(8) %3, i64 noundef %1) - to label %48 unwind label %.split50.i, !noalias !569 + to label %48 unwind label %.split50.i, !noalias !584 .split50.i: ; preds = %"_ZN65_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h30edba8ce2c3e507E.exit.i" %46 = landingpad { ptr, i32 } @@ -4779,15 +4864,15 @@ _ZN4core3ops8function2Fn4call17hae62364ec96f019aE.exit.us.i: ; preds = %38, %37, 47: ; preds = %.split50.i, %.split50.us.i %.us-phi.i = phi { ptr, i32 } [ %46, %.split50.i ], [ %40, %.split50.us.i ] invoke void @"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"(ptr noalias noundef nonnull align 8 dereferenceable(8) %3) #17 - to label %.body unwind label %60, !noalias !569 + to label %.body unwind label %60, !noalias !584 48: ; preds = %"_ZN65_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h30edba8ce2c3e507E.exit.i" - call void @llvm.experimental.noalias.scope.decl(metadata !571) - call void @llvm.experimental.noalias.scope.decl(metadata !574) - %49 = load ptr, ptr %3, align 8, !alias.scope !577, !noalias !570, !nonnull !4, !noundef !4 - %50 = load i64, ptr %49, align 8, !noalias !578, !noundef !4 + call void @llvm.experimental.noalias.scope.decl(metadata !586) + call void @llvm.experimental.noalias.scope.decl(metadata !589) + %49 = load ptr, ptr %3, align 8, !alias.scope !592, !noalias !585, !nonnull !4, !noundef !4 + %50 = load i64, ptr %49, align 8, !noalias !593, !noundef !4 %51 = add i64 %50, -1 - store i64 %51, ptr %49, align 8, !noalias !578 + store i64 %51, ptr %49, align 8, !noalias !593 %52 = icmp eq i64 %51, 0 br i1 %52, label %53, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14in_scope_named28_$u7b$$u7b$closure$u7d$$u7d$17h5fc21010a4fc783aE.exit.i" @@ -4798,24 +4883,24 @@ _ZN4core3ops8function2Fn4call17hae62364ec96f019aE.exit.us.i: ; preds = %38, %37, .noexc3: ; preds = %53 %55 = getelementptr inbounds nuw i8, ptr %49, i64 8 - %56 = load i64, ptr %55, align 8, !noalias !578, !noundef !4 + %56 = load i64, ptr %55, align 8, !noalias !593, !noundef !4 %57 = add i64 %56, -1 - store i64 %57, ptr %55, align 8, !noalias !578 + store i64 %57, ptr %55, align 8, !noalias !593 %58 = icmp eq i64 %57, 0 br i1 %58, label %59, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14in_scope_named28_$u7b$$u7b$closure$u7d$$u7d$17h5fc21010a4fc783aE.exit.i" 59: ; preds = %.noexc3 - call void @__rust_dealloc(ptr noundef nonnull %49, i64 noundef 136, i64 noundef 8) #16, !noalias !578 + call void @__rust_dealloc(ptr noundef nonnull %49, i64 noundef 136, i64 noundef 8) #16, !noalias !593 br label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14in_scope_named28_$u7b$$u7b$closure$u7d$$u7d$17h5fc21010a4fc783aE.exit.i" 60: ; preds = %47 %61 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer - call void @_ZN4core9panicking16panic_in_cleanup17hfa05ef7d5107e16aE() #15, !noalias !569 + call void @_ZN4core9panicking16panic_in_cleanup17hfa05ef7d5107e16aE() #15, !noalias !584 unreachable "_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14in_scope_named28_$u7b$$u7b$closure$u7d$$u7d$17h5fc21010a4fc783aE.exit.i": ; preds = %59, %.noexc3, %48 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3), !noalias !570 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3), !noalias !585 br i1 %45, label %"_ZN4core3ptr84drop_in_place$LT$string_cache..atom..Atom$LT$markup5ever..LocalNameStaticSet$GT$$GT$17h0e9d66411fdb076aE.exit", label %62 62: ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14in_scope_named28_$u7b$$u7b$closure$u7d$$u7d$17h5fc21010a4fc783aE.exit.i" @@ -4825,7 +4910,7 @@ _ZN4core3ops8function2Fn4call17hae62364ec96f019aE.exit.us.i: ; preds = %38, %37, .noexc4: ; preds = %62 %64 = extractvalue { ptr, ptr } %63, 0 %65 = extractvalue { ptr, ptr } %63, 1 - %.val7.i = load i64, ptr %64, align 8, !alias.scope !579, !noalias !582, !noundef !4 + %.val7.i = load i64, ptr %64, align 8, !alias.scope !594, !noalias !597, !noundef !4 %.val8.i = load i64, ptr %65, align 8 switch i64 %.val7.i, label %_ZN4core3ops8function2Fn4call17hae62364ec96f019aE.exit.i [ i64 30064771074, label %66 @@ -4895,19 +4980,19 @@ _ZN4core3ops8function2Fn4call17hae62364ec96f019aE.exit.i: ; preds = %68, %67, %6 br i1 %74, label %75, label %"_ZN4core3ptr84drop_in_place$LT$string_cache..atom..Atom$LT$markup5ever..LocalNameStaticSet$GT$$GT$17h0e9d66411fdb076aE.exit" 75: ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17hd24e937828370c5dE.exit.thread" - %76 = call noundef ptr @_ZN4core4sync6atomic11atomic_load17h4be985e8b17abd04E.llvm.5096816904524340452(ptr noundef nonnull getelementptr inbounds nuw (i8, ptr @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, i64 16), i8 noundef 2), !noalias !584 + %76 = call noundef ptr @_ZN4core4sync6atomic11atomic_load17h4be985e8b17abd04E.llvm.5096816904524340452(ptr noundef nonnull getelementptr inbounds nuw (i8, ptr @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, i64 16), i8 noundef 2), !noalias !599 %.not.i.i.i.i = icmp eq ptr %76, inttoptr (i64 2 to ptr) br i1 %.not.i.i.i.i, label %"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E.exit.i.i", label %77 77: ; preds = %75 - call void @"_ZN9once_cell3imp17OnceCell$LT$T$GT$10initialize17h88e844a06093b331E"(ptr noundef nonnull align 8 @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, ptr noundef nonnull align 8 @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E), !noalias !584 - %78 = load ptr, ptr @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, align 8, !noalias !584, !noundef !4 + call void @"_ZN9once_cell3imp17OnceCell$LT$T$GT$10initialize17h88e844a06093b331E"(ptr noundef nonnull align 8 @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, ptr noundef nonnull align 8 @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E), !noalias !599 + %78 = load ptr, ptr @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, align 8, !noalias !599, !noundef !4 %79 = icmp ne ptr %78, null call void @llvm.assume(i1 %79) br label %"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E.exit.i.i" "_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E.exit.i.i": ; preds = %77, %75 - call void @_ZN12string_cache11dynamic_set3Set6remove17h358d1c715f07230eE(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, ptr noundef nonnull %71), !noalias !584 + call void @_ZN12string_cache11dynamic_set3Set6remove17h358d1c715f07230eE(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, ptr noundef nonnull %71), !noalias !599 br label %"_ZN4core3ptr84drop_in_place$LT$string_cache..atom..Atom$LT$markup5ever..LocalNameStaticSet$GT$$GT$17h0e9d66411fdb076aE.exit" "_ZN4core3ptr84drop_in_place$LT$string_cache..atom..Atom$LT$markup5ever..LocalNameStaticSet$GT$$GT$17h0e9d66411fdb076aE.exit": ; preds = %_ZN4core3ops8function2Fn4call17hae62364ec96f019aE.exit.i, %68, %68, %68, %67, %67, %67, %67, %67, %66, %66, %66, %66, %66, %66, %66, %66, %66, %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14in_scope_named28_$u7b$$u7b$closure$u7d$$u7d$17h5fc21010a4fc783aE.exit.i", %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17hd24e937828370c5dE.exit", %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17hd24e937828370c5dE.exit.thread", %"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E.exit.i.i" @@ -4927,11 +5012,11 @@ _ZN4core3ops8function2Fn4call17hae62364ec96f019aE.exit.i: ; preds = %68, %67, %6 ; Function Attrs: nonlazybind uwtable define internal fastcc noundef zeroext i1 @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14in_scope_named17h4cf4c8a62cb3cb45E"(ptr noalias noundef nonnull readonly align 8 dereferenceable(192) %0) unnamed_addr #2 personality ptr @rust_eh_personality { %2 = alloca [8 x i8], align 8 - tail call void @llvm.experimental.noalias.scope.decl(metadata !587) + tail call void @llvm.experimental.noalias.scope.decl(metadata !602) %3 = getelementptr inbounds nuw i8, ptr %0, i64 96 - %4 = load ptr, ptr %3, align 8, !alias.scope !587, !noalias !590, !nonnull !4, !noundef !4 + %4 = load ptr, ptr %3, align 8, !alias.scope !602, !noalias !605, !nonnull !4, !noundef !4 %5 = getelementptr inbounds nuw i8, ptr %0, i64 104 - %6 = load i64, ptr %5, align 8, !alias.scope !587, !noalias !590, !noundef !4 + %6 = load i64, ptr %5, align 8, !alias.scope !602, !noalias !605, !noundef !4 %7 = icmp eq i64 %6, 0 br i1 %7, label %"_ZN4core3ptr84drop_in_place$LT$string_cache..atom..Atom$LT$markup5ever..LocalNameStaticSet$GT$$GT$17h0e9d66411fdb076aE.exit", label %.lr.ph.i @@ -4942,12 +5027,12 @@ define internal fastcc noundef zeroext i1 @"_ZN9html5ever12tree_builder32TreeBui .lr.ph.split.i: ; preds = %.lr.ph.i, %_ZN4core3ops8function2Fn4call17h0a40d1f15792a0b4E.exit.i %.sroa.5.013.i = phi ptr [ %9, %_ZN4core3ops8function2Fn4call17h0a40d1f15792a0b4E.exit.i ], [ %8, %.lr.ph.i ] %9 = getelementptr inbounds i8, ptr %.sroa.5.013.i, i64 -8 - %.val.i = load ptr, ptr %9, align 8, !noalias !593, !nonnull !4, !noundef !4 - %.val.i.i.i = load i64, ptr %.val.i, align 8, !noalias !593, !noundef !4 + %.val.i = load ptr, ptr %9, align 8, !noalias !608, !nonnull !4, !noundef !4 + %.val.i.i.i = load i64, ptr %.val.i, align 8, !noalias !608, !noundef !4 %10 = icmp ne i64 %.val.i.i.i, 0 call void @llvm.assume(i1 %10) %11 = add i64 %.val.i.i.i, 1 - store i64 %11, ptr %.val.i, align 8, !noalias !593 + store i64 %11, ptr %.val.i, align 8, !noalias !608 %12 = icmp eq i64 %11, 0 br i1 %12, label %.split.us.i, label %"_ZN65_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h30edba8ce2c3e507E.exit.i" @@ -4956,24 +5041,24 @@ define internal fastcc noundef zeroext i1 @"_ZN9html5ever12tree_builder32TreeBui unreachable "_ZN65_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h30edba8ce2c3e507E.exit.i": ; preds = %.lr.ph.split.i - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %2), !noalias !594 - store ptr %.val.i, ptr %2, align 8, !noalias !594 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %2), !noalias !609 + store ptr %.val.i, ptr %2, align 8, !noalias !609 %13 = invoke fastcc noundef zeroext i1 @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15html_elem_named17h363f1592e1b13660E"(ptr noalias noundef nonnull readonly align 8 dereferenceable(192) %0, ptr noalias noundef readonly align 8 dereferenceable(8) %2, i64 noundef 4243427688450) - to label %15 unwind label %.split52.i, !noalias !593 + to label %15 unwind label %.split52.i, !noalias !608 .split52.i: ; preds = %"_ZN65_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h30edba8ce2c3e507E.exit.i" %14 = landingpad { ptr, i32 } cleanup invoke void @"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"(ptr noalias noundef nonnull align 8 dereferenceable(8) %2) #17 - to label %.body unwind label %27, !noalias !593 + to label %.body unwind label %27, !noalias !608 15: ; preds = %"_ZN65_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h30edba8ce2c3e507E.exit.i" - call void @llvm.experimental.noalias.scope.decl(metadata !595) - call void @llvm.experimental.noalias.scope.decl(metadata !598) - %16 = load ptr, ptr %2, align 8, !alias.scope !601, !noalias !594, !nonnull !4, !noundef !4 - %17 = load i64, ptr %16, align 8, !noalias !602, !noundef !4 + call void @llvm.experimental.noalias.scope.decl(metadata !610) + call void @llvm.experimental.noalias.scope.decl(metadata !613) + %16 = load ptr, ptr %2, align 8, !alias.scope !616, !noalias !609, !nonnull !4, !noundef !4 + %17 = load i64, ptr %16, align 8, !noalias !617, !noundef !4 %18 = add i64 %17, -1 - store i64 %18, ptr %16, align 8, !noalias !602 + store i64 %18, ptr %16, align 8, !noalias !617 %19 = icmp eq i64 %18, 0 br i1 %19, label %20, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14in_scope_named28_$u7b$$u7b$closure$u7d$$u7d$17had9957b81ebc278aE.exit.i" @@ -4984,24 +5069,24 @@ define internal fastcc noundef zeroext i1 @"_ZN9html5ever12tree_builder32TreeBui .noexc3: ; preds = %20 %22 = getelementptr inbounds nuw i8, ptr %16, i64 8 - %23 = load i64, ptr %22, align 8, !noalias !602, !noundef !4 + %23 = load i64, ptr %22, align 8, !noalias !617, !noundef !4 %24 = add i64 %23, -1 - store i64 %24, ptr %22, align 8, !noalias !602 + store i64 %24, ptr %22, align 8, !noalias !617 %25 = icmp eq i64 %24, 0 br i1 %25, label %26, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14in_scope_named28_$u7b$$u7b$closure$u7d$$u7d$17had9957b81ebc278aE.exit.i" 26: ; preds = %.noexc3 - call void @__rust_dealloc(ptr noundef nonnull %16, i64 noundef 136, i64 noundef 8) #16, !noalias !602 + call void @__rust_dealloc(ptr noundef nonnull %16, i64 noundef 136, i64 noundef 8) #16, !noalias !617 br label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14in_scope_named28_$u7b$$u7b$closure$u7d$$u7d$17had9957b81ebc278aE.exit.i" 27: ; preds = %.split52.i %28 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer - call void @_ZN4core9panicking16panic_in_cleanup17hfa05ef7d5107e16aE() #15, !noalias !593 + call void @_ZN4core9panicking16panic_in_cleanup17hfa05ef7d5107e16aE() #15, !noalias !608 unreachable "_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14in_scope_named28_$u7b$$u7b$closure$u7d$$u7d$17had9957b81ebc278aE.exit.i": ; preds = %26, %.noexc3, %15 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %2), !noalias !594 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %2), !noalias !609 br i1 %13, label %"_ZN4core3ptr84drop_in_place$LT$string_cache..atom..Atom$LT$markup5ever..LocalNameStaticSet$GT$$GT$17h0e9d66411fdb076aE.exit", label %29 29: ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14in_scope_named28_$u7b$$u7b$closure$u7d$$u7d$17had9957b81ebc278aE.exit.i" @@ -5087,11 +5172,11 @@ _ZN4core3ops8function2Fn4call17h0a40d1f15792a0b4E.exit.i: ; preds = %39, %38, %3 ; Function Attrs: nonlazybind uwtable define internal fastcc noundef zeroext i1 @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14in_scope_named17h55f75b18fae70a9aE"(ptr noalias noundef nonnull readonly align 8 dereferenceable(192) %0, i64 noundef range(i64 1, 0) %1) unnamed_addr #2 personality ptr @rust_eh_personality { %3 = alloca [8 x i8], align 8 - tail call void @llvm.experimental.noalias.scope.decl(metadata !603) + tail call void @llvm.experimental.noalias.scope.decl(metadata !618) %4 = getelementptr inbounds nuw i8, ptr %0, i64 96 - %5 = load ptr, ptr %4, align 8, !alias.scope !603, !noalias !606, !nonnull !4, !noundef !4 + %5 = load ptr, ptr %4, align 8, !alias.scope !618, !noalias !621, !nonnull !4, !noundef !4 %6 = getelementptr inbounds nuw i8, ptr %0, i64 104 - %7 = load i64, ptr %6, align 8, !alias.scope !603, !noalias !606, !noundef !4 + %7 = load i64, ptr %6, align 8, !alias.scope !618, !noalias !621, !noundef !4 %8 = icmp eq i64 %7, 0 br i1 %8, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17h7e05387436977f0dE.exit", label %.lr.ph.i @@ -5106,29 +5191,29 @@ define internal fastcc noundef zeroext i1 @"_ZN9html5ever12tree_builder32TreeBui .lr.ph.split.us.i: ; preds = %.lr.ph.i, %_ZN4core3ops8function2Fn4call17hbf6822db916f92f4E.exit.us.i %.sroa.5.013.us.i = phi ptr [ %14, %_ZN4core3ops8function2Fn4call17hbf6822db916f92f4E.exit.us.i ], [ %9, %.lr.ph.i ] %14 = getelementptr inbounds i8, ptr %.sroa.5.013.us.i, i64 -8 - %.val.us.i = load ptr, ptr %14, align 8, !noalias !609, !nonnull !4, !noundef !4 - %.val.i.i.us.i = load i64, ptr %.val.us.i, align 8, !noalias !609, !noundef !4 + %.val.us.i = load ptr, ptr %14, align 8, !noalias !624, !nonnull !4, !noundef !4 + %.val.i.i.us.i = load i64, ptr %.val.us.i, align 8, !noalias !624, !noundef !4 %15 = icmp ne i64 %.val.i.i.us.i, 0 call void @llvm.assume(i1 %15) %16 = add i64 %.val.i.i.us.i, 1 - store i64 %16, ptr %.val.us.i, align 8, !noalias !609 + store i64 %16, ptr %.val.us.i, align 8, !noalias !624 %17 = icmp eq i64 %16, 0 br i1 %17, label %.split.us.i, label %"_ZN65_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h30edba8ce2c3e507E.exit.us.i" "_ZN65_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h30edba8ce2c3e507E.exit.us.i": ; preds = %.lr.ph.split.us.i - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3), !noalias !610 - store ptr %.val.us.i, ptr %3, align 8, !noalias !610 - %18 = atomicrmw add ptr %13, i64 1 seq_cst, align 8, !noalias !609 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3), !noalias !625 + store ptr %.val.us.i, ptr %3, align 8, !noalias !625 + %18 = atomicrmw add ptr %13, i64 1 seq_cst, align 8, !noalias !624 %19 = invoke fastcc noundef zeroext i1 @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15html_elem_named17h363f1592e1b13660E"(ptr noalias noundef nonnull readonly align 8 dereferenceable(192) %0, ptr noalias noundef readonly align 8 dereferenceable(8) %3, i64 noundef %1) - to label %20 unwind label %.split54.us.i, !noalias !609 + to label %20 unwind label %.split54.us.i, !noalias !624 20: ; preds = %"_ZN65_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h30edba8ce2c3e507E.exit.us.i" - call void @llvm.experimental.noalias.scope.decl(metadata !611) - call void @llvm.experimental.noalias.scope.decl(metadata !614) - %21 = load ptr, ptr %3, align 8, !alias.scope !617, !noalias !610, !nonnull !4, !noundef !4 - %22 = load i64, ptr %21, align 8, !noalias !618, !noundef !4 + call void @llvm.experimental.noalias.scope.decl(metadata !626) + call void @llvm.experimental.noalias.scope.decl(metadata !629) + %21 = load ptr, ptr %3, align 8, !alias.scope !632, !noalias !625, !nonnull !4, !noundef !4 + %22 = load i64, ptr %21, align 8, !noalias !633, !noundef !4 %23 = add i64 %22, -1 - store i64 %23, ptr %21, align 8, !noalias !618 + store i64 %23, ptr %21, align 8, !noalias !633 %24 = icmp eq i64 %23, 0 br i1 %24, label %25, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14in_scope_named28_$u7b$$u7b$closure$u7d$$u7d$17hd271d5f4b985c666E.exit.us.i" @@ -5139,18 +5224,18 @@ define internal fastcc noundef zeroext i1 @"_ZN9html5ever12tree_builder32TreeBui .noexc: ; preds = %25 %27 = getelementptr inbounds nuw i8, ptr %21, i64 8 - %28 = load i64, ptr %27, align 8, !noalias !618, !noundef !4 + %28 = load i64, ptr %27, align 8, !noalias !633, !noundef !4 %29 = add i64 %28, -1 - store i64 %29, ptr %27, align 8, !noalias !618 + store i64 %29, ptr %27, align 8, !noalias !633 %30 = icmp eq i64 %29, 0 br i1 %30, label %31, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14in_scope_named28_$u7b$$u7b$closure$u7d$$u7d$17hd271d5f4b985c666E.exit.us.i" 31: ; preds = %.noexc - call void @__rust_dealloc(ptr noundef nonnull %21, i64 noundef 136, i64 noundef 8) #16, !noalias !618 + call void @__rust_dealloc(ptr noundef nonnull %21, i64 noundef 136, i64 noundef 8) #16, !noalias !633 br label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14in_scope_named28_$u7b$$u7b$closure$u7d$$u7d$17hd271d5f4b985c666E.exit.us.i" "_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14in_scope_named28_$u7b$$u7b$closure$u7d$$u7d$17hd271d5f4b985c666E.exit.us.i": ; preds = %31, %.noexc, %20 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3), !noalias !610 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3), !noalias !625 br i1 %19, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17h7e05387436977f0dE.exit.thread", label %32 32: ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14in_scope_named28_$u7b$$u7b$closure$u7d$$u7d$17hd271d5f4b985c666E.exit.us.i" @@ -5211,12 +5296,12 @@ _ZN4core3ops8function2Fn4call17hbf6822db916f92f4E.exit.us.i: ; preds = %38, %37, .lr.ph.split.i: ; preds = %.lr.ph.i, %_ZN4core3ops8function2Fn4call17hbf6822db916f92f4E.exit.i %.sroa.5.013.i = phi ptr [ %41, %_ZN4core3ops8function2Fn4call17hbf6822db916f92f4E.exit.i ], [ %9, %.lr.ph.i ] %41 = getelementptr inbounds i8, ptr %.sroa.5.013.i, i64 -8 - %.val.i = load ptr, ptr %41, align 8, !noalias !609, !nonnull !4, !noundef !4 - %.val.i.i.i = load i64, ptr %.val.i, align 8, !noalias !609, !noundef !4 + %.val.i = load ptr, ptr %41, align 8, !noalias !624, !nonnull !4, !noundef !4 + %.val.i.i.i = load i64, ptr %.val.i, align 8, !noalias !624, !noundef !4 %42 = icmp ne i64 %.val.i.i.i, 0 call void @llvm.assume(i1 %42) %43 = add i64 %.val.i.i.i, 1 - store i64 %43, ptr %.val.i, align 8, !noalias !609 + store i64 %43, ptr %.val.i, align 8, !noalias !624 %44 = icmp eq i64 %43, 0 br i1 %44, label %.split.us.i, label %"_ZN65_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h30edba8ce2c3e507E.exit.i" @@ -5225,10 +5310,10 @@ _ZN4core3ops8function2Fn4call17hbf6822db916f92f4E.exit.us.i: ; preds = %38, %37, unreachable "_ZN65_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h30edba8ce2c3e507E.exit.i": ; preds = %.lr.ph.split.i - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3), !noalias !610 - store ptr %.val.i, ptr %3, align 8, !noalias !610 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3), !noalias !625 + store ptr %.val.i, ptr %3, align 8, !noalias !625 %45 = invoke fastcc noundef zeroext i1 @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15html_elem_named17h363f1592e1b13660E"(ptr noalias noundef nonnull readonly align 8 dereferenceable(192) %0, ptr noalias noundef readonly align 8 dereferenceable(8) %3, i64 noundef %1) - to label %48 unwind label %.split54.i, !noalias !609 + to label %48 unwind label %.split54.i, !noalias !624 .split54.i: ; preds = %"_ZN65_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h30edba8ce2c3e507E.exit.i" %46 = landingpad { ptr, i32 } @@ -5238,15 +5323,15 @@ _ZN4core3ops8function2Fn4call17hbf6822db916f92f4E.exit.us.i: ; preds = %38, %37, 47: ; preds = %.split54.i, %.split54.us.i %.us-phi.i = phi { ptr, i32 } [ %46, %.split54.i ], [ %40, %.split54.us.i ] invoke void @"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"(ptr noalias noundef nonnull align 8 dereferenceable(8) %3) #17 - to label %.body unwind label %60, !noalias !609 + to label %.body unwind label %60, !noalias !624 48: ; preds = %"_ZN65_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h30edba8ce2c3e507E.exit.i" - call void @llvm.experimental.noalias.scope.decl(metadata !611) - call void @llvm.experimental.noalias.scope.decl(metadata !614) - %49 = load ptr, ptr %3, align 8, !alias.scope !617, !noalias !610, !nonnull !4, !noundef !4 - %50 = load i64, ptr %49, align 8, !noalias !618, !noundef !4 + call void @llvm.experimental.noalias.scope.decl(metadata !626) + call void @llvm.experimental.noalias.scope.decl(metadata !629) + %49 = load ptr, ptr %3, align 8, !alias.scope !632, !noalias !625, !nonnull !4, !noundef !4 + %50 = load i64, ptr %49, align 8, !noalias !633, !noundef !4 %51 = add i64 %50, -1 - store i64 %51, ptr %49, align 8, !noalias !618 + store i64 %51, ptr %49, align 8, !noalias !633 %52 = icmp eq i64 %51, 0 br i1 %52, label %53, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14in_scope_named28_$u7b$$u7b$closure$u7d$$u7d$17hd271d5f4b985c666E.exit.i" @@ -5257,24 +5342,24 @@ _ZN4core3ops8function2Fn4call17hbf6822db916f92f4E.exit.us.i: ; preds = %38, %37, .noexc3: ; preds = %53 %55 = getelementptr inbounds nuw i8, ptr %49, i64 8 - %56 = load i64, ptr %55, align 8, !noalias !618, !noundef !4 + %56 = load i64, ptr %55, align 8, !noalias !633, !noundef !4 %57 = add i64 %56, -1 - store i64 %57, ptr %55, align 8, !noalias !618 + store i64 %57, ptr %55, align 8, !noalias !633 %58 = icmp eq i64 %57, 0 br i1 %58, label %59, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14in_scope_named28_$u7b$$u7b$closure$u7d$$u7d$17hd271d5f4b985c666E.exit.i" 59: ; preds = %.noexc3 - call void @__rust_dealloc(ptr noundef nonnull %49, i64 noundef 136, i64 noundef 8) #16, !noalias !618 + call void @__rust_dealloc(ptr noundef nonnull %49, i64 noundef 136, i64 noundef 8) #16, !noalias !633 br label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14in_scope_named28_$u7b$$u7b$closure$u7d$$u7d$17hd271d5f4b985c666E.exit.i" 60: ; preds = %47 %61 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer - call void @_ZN4core9panicking16panic_in_cleanup17hfa05ef7d5107e16aE() #15, !noalias !609 + call void @_ZN4core9panicking16panic_in_cleanup17hfa05ef7d5107e16aE() #15, !noalias !624 unreachable "_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14in_scope_named28_$u7b$$u7b$closure$u7d$$u7d$17hd271d5f4b985c666E.exit.i": ; preds = %59, %.noexc3, %48 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3), !noalias !610 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3), !noalias !625 br i1 %45, label %"_ZN4core3ptr84drop_in_place$LT$string_cache..atom..Atom$LT$markup5ever..LocalNameStaticSet$GT$$GT$17h0e9d66411fdb076aE.exit", label %62 62: ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14in_scope_named28_$u7b$$u7b$closure$u7d$$u7d$17hd271d5f4b985c666E.exit.i" @@ -5356,19 +5441,19 @@ _ZN4core3ops8function2Fn4call17hbf6822db916f92f4E.exit.i: ; preds = %68, %67, %6 br i1 %74, label %75, label %"_ZN4core3ptr84drop_in_place$LT$string_cache..atom..Atom$LT$markup5ever..LocalNameStaticSet$GT$$GT$17h0e9d66411fdb076aE.exit" 75: ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17h7e05387436977f0dE.exit.thread" - %76 = call noundef ptr @_ZN4core4sync6atomic11atomic_load17h4be985e8b17abd04E.llvm.5096816904524340452(ptr noundef nonnull getelementptr inbounds nuw (i8, ptr @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, i64 16), i8 noundef 2), !noalias !619 + %76 = call noundef ptr @_ZN4core4sync6atomic11atomic_load17h4be985e8b17abd04E.llvm.5096816904524340452(ptr noundef nonnull getelementptr inbounds nuw (i8, ptr @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, i64 16), i8 noundef 2), !noalias !634 %.not.i.i.i.i = icmp eq ptr %76, inttoptr (i64 2 to ptr) br i1 %.not.i.i.i.i, label %"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E.exit.i.i", label %77 77: ; preds = %75 - call void @"_ZN9once_cell3imp17OnceCell$LT$T$GT$10initialize17h88e844a06093b331E"(ptr noundef nonnull align 8 @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, ptr noundef nonnull align 8 @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E), !noalias !619 - %78 = load ptr, ptr @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, align 8, !noalias !619, !noundef !4 + call void @"_ZN9once_cell3imp17OnceCell$LT$T$GT$10initialize17h88e844a06093b331E"(ptr noundef nonnull align 8 @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, ptr noundef nonnull align 8 @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E), !noalias !634 + %78 = load ptr, ptr @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, align 8, !noalias !634, !noundef !4 %79 = icmp ne ptr %78, null call void @llvm.assume(i1 %79) br label %"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E.exit.i.i" "_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E.exit.i.i": ; preds = %77, %75 - call void @_ZN12string_cache11dynamic_set3Set6remove17h358d1c715f07230eE(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, ptr noundef nonnull %71), !noalias !619 + call void @_ZN12string_cache11dynamic_set3Set6remove17h358d1c715f07230eE(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, ptr noundef nonnull %71), !noalias !634 br label %"_ZN4core3ptr84drop_in_place$LT$string_cache..atom..Atom$LT$markup5ever..LocalNameStaticSet$GT$$GT$17h0e9d66411fdb076aE.exit" "_ZN4core3ptr84drop_in_place$LT$string_cache..atom..Atom$LT$markup5ever..LocalNameStaticSet$GT$$GT$17h0e9d66411fdb076aE.exit": ; preds = %_ZN4core3ops8function2Fn4call17hbf6822db916f92f4E.exit.i, %68, %68, %68, %67, %67, %67, %67, %67, %66, %66, %66, %66, %66, %66, %66, %66, %66, %66, %66, %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14in_scope_named28_$u7b$$u7b$closure$u7d$$u7d$17hd271d5f4b985c666E.exit.i", %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17h7e05387436977f0dE.exit", %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17h7e05387436977f0dE.exit.thread", %"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E.exit.i.i" @@ -5388,11 +5473,11 @@ _ZN4core3ops8function2Fn4call17hbf6822db916f92f4E.exit.i: ; preds = %68, %67, %6 ; Function Attrs: nonlazybind uwtable define internal fastcc noundef zeroext i1 @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14in_scope_named17habc7af83856d57dbE"(ptr noalias noundef nonnull readonly align 8 dereferenceable(192) %0) unnamed_addr #2 personality ptr @rust_eh_personality { %2 = alloca [8 x i8], align 8 - tail call void @llvm.experimental.noalias.scope.decl(metadata !622) + tail call void @llvm.experimental.noalias.scope.decl(metadata !637) %3 = getelementptr inbounds nuw i8, ptr %0, i64 96 - %4 = load ptr, ptr %3, align 8, !alias.scope !622, !noalias !625, !nonnull !4, !noundef !4 + %4 = load ptr, ptr %3, align 8, !alias.scope !637, !noalias !640, !nonnull !4, !noundef !4 %5 = getelementptr inbounds nuw i8, ptr %0, i64 104 - %6 = load i64, ptr %5, align 8, !alias.scope !622, !noalias !625, !noundef !4 + %6 = load i64, ptr %5, align 8, !alias.scope !637, !noalias !640, !noundef !4 %7 = icmp eq i64 %6, 0 br i1 %7, label %"_ZN4core3ptr84drop_in_place$LT$string_cache..atom..Atom$LT$markup5ever..LocalNameStaticSet$GT$$GT$17h0e9d66411fdb076aE.exit", label %.lr.ph.i @@ -5403,12 +5488,12 @@ define internal fastcc noundef zeroext i1 @"_ZN9html5ever12tree_builder32TreeBui .lr.ph.split.i: ; preds = %.lr.ph.i, %.backedge.i %.sroa.5.013.i = phi ptr [ %9, %.backedge.i ], [ %8, %.lr.ph.i ] %9 = getelementptr inbounds i8, ptr %.sroa.5.013.i, i64 -8 - %.val.i = load ptr, ptr %9, align 8, !noalias !628, !nonnull !4, !noundef !4 - %.val.i.i.i = load i64, ptr %.val.i, align 8, !noalias !628, !noundef !4 + %.val.i = load ptr, ptr %9, align 8, !noalias !643, !nonnull !4, !noundef !4 + %.val.i.i.i = load i64, ptr %.val.i, align 8, !noalias !643, !noundef !4 %10 = icmp ne i64 %.val.i.i.i, 0 call void @llvm.assume(i1 %10) %11 = add i64 %.val.i.i.i, 1 - store i64 %11, ptr %.val.i, align 8, !noalias !628 + store i64 %11, ptr %.val.i, align 8, !noalias !643 %12 = icmp eq i64 %11, 0 br i1 %12, label %.split.us.i, label %"_ZN65_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h30edba8ce2c3e507E.exit.i" @@ -5417,24 +5502,24 @@ define internal fastcc noundef zeroext i1 @"_ZN9html5ever12tree_builder32TreeBui unreachable "_ZN65_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h30edba8ce2c3e507E.exit.i": ; preds = %.lr.ph.split.i - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %2), !noalias !629 - store ptr %.val.i, ptr %2, align 8, !noalias !629 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %2), !noalias !644 + store ptr %.val.i, ptr %2, align 8, !noalias !644 %13 = invoke fastcc noundef zeroext i1 @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15html_elem_named17h363f1592e1b13660E"(ptr noalias noundef nonnull readonly align 8 dereferenceable(192) %0, ptr noalias noundef readonly align 8 dereferenceable(8) %2, i64 noundef 2529735737346) - to label %15 unwind label %.split19.i, !noalias !628 + to label %15 unwind label %.split19.i, !noalias !643 .split19.i: ; preds = %"_ZN65_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h30edba8ce2c3e507E.exit.i" %14 = landingpad { ptr, i32 } cleanup invoke void @"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"(ptr noalias noundef nonnull align 8 dereferenceable(8) %2) #17 - to label %.body unwind label %27, !noalias !628 + to label %.body unwind label %27, !noalias !643 15: ; preds = %"_ZN65_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h30edba8ce2c3e507E.exit.i" - call void @llvm.experimental.noalias.scope.decl(metadata !630) - call void @llvm.experimental.noalias.scope.decl(metadata !633) - %16 = load ptr, ptr %2, align 8, !alias.scope !636, !noalias !629, !nonnull !4, !noundef !4 - %17 = load i64, ptr %16, align 8, !noalias !637, !noundef !4 + call void @llvm.experimental.noalias.scope.decl(metadata !645) + call void @llvm.experimental.noalias.scope.decl(metadata !648) + %16 = load ptr, ptr %2, align 8, !alias.scope !651, !noalias !644, !nonnull !4, !noundef !4 + %17 = load i64, ptr %16, align 8, !noalias !652, !noundef !4 %18 = add i64 %17, -1 - store i64 %18, ptr %16, align 8, !noalias !637 + store i64 %18, ptr %16, align 8, !noalias !652 %19 = icmp eq i64 %18, 0 br i1 %19, label %20, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14in_scope_named28_$u7b$$u7b$closure$u7d$$u7d$17he864c6e70ca55233E.exit.i" @@ -5445,24 +5530,24 @@ define internal fastcc noundef zeroext i1 @"_ZN9html5ever12tree_builder32TreeBui .noexc3: ; preds = %20 %22 = getelementptr inbounds nuw i8, ptr %16, i64 8 - %23 = load i64, ptr %22, align 8, !noalias !637, !noundef !4 + %23 = load i64, ptr %22, align 8, !noalias !652, !noundef !4 %24 = add i64 %23, -1 - store i64 %24, ptr %22, align 8, !noalias !637 + store i64 %24, ptr %22, align 8, !noalias !652 %25 = icmp eq i64 %24, 0 br i1 %25, label %26, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14in_scope_named28_$u7b$$u7b$closure$u7d$$u7d$17he864c6e70ca55233E.exit.i" 26: ; preds = %.noexc3 - call void @__rust_dealloc(ptr noundef nonnull %16, i64 noundef 136, i64 noundef 8) #16, !noalias !637 + call void @__rust_dealloc(ptr noundef nonnull %16, i64 noundef 136, i64 noundef 8) #16, !noalias !652 br label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14in_scope_named28_$u7b$$u7b$closure$u7d$$u7d$17he864c6e70ca55233E.exit.i" 27: ; preds = %.split19.i %28 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer - call void @_ZN4core9panicking16panic_in_cleanup17hfa05ef7d5107e16aE() #15, !noalias !628 + call void @_ZN4core9panicking16panic_in_cleanup17hfa05ef7d5107e16aE() #15, !noalias !643 unreachable "_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14in_scope_named28_$u7b$$u7b$closure$u7d$$u7d$17he864c6e70ca55233E.exit.i": ; preds = %26, %.noexc3, %15 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %2), !noalias !629 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %2), !noalias !644 br i1 %13, label %"_ZN4core3ptr84drop_in_place$LT$string_cache..atom..Atom$LT$markup5ever..LocalNameStaticSet$GT$$GT$17h0e9d66411fdb076aE.exit", label %29 29: ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14in_scope_named28_$u7b$$u7b$closure$u7d$$u7d$17he864c6e70ca55233E.exit.i" @@ -5514,11 +5599,11 @@ _ZN4core3ops8function2Fn4call17h0c732d32e393fbf3E.exit.i: ; preds = %.noexc4 ; Function Attrs: nonlazybind uwtable define internal fastcc noundef zeroext i1 @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14in_scope_named17he5a8056360f6bdefE"(ptr noalias noundef nonnull readonly align 8 dereferenceable(192) %0, i64 noundef range(i64 1, 0) %1) unnamed_addr #2 personality ptr @rust_eh_personality { %3 = alloca [8 x i8], align 8 - tail call void @llvm.experimental.noalias.scope.decl(metadata !638) + tail call void @llvm.experimental.noalias.scope.decl(metadata !653) %4 = getelementptr inbounds nuw i8, ptr %0, i64 96 - %5 = load ptr, ptr %4, align 8, !alias.scope !638, !noalias !641, !nonnull !4, !noundef !4 + %5 = load ptr, ptr %4, align 8, !alias.scope !653, !noalias !656, !nonnull !4, !noundef !4 %6 = getelementptr inbounds nuw i8, ptr %0, i64 104 - %7 = load i64, ptr %6, align 8, !alias.scope !638, !noalias !641, !noundef !4 + %7 = load i64, ptr %6, align 8, !alias.scope !653, !noalias !656, !noundef !4 %8 = icmp eq i64 %7, 0 br i1 %8, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17h6931a6e9c029e621E.exit", label %.lr.ph.i @@ -5533,29 +5618,29 @@ define internal fastcc noundef zeroext i1 @"_ZN9html5ever12tree_builder32TreeBui .lr.ph.split.us.i: ; preds = %.lr.ph.i, %_ZN4core3ops8function2Fn4call17h027c3db8f1d10e3eE.exit.us.i %.sroa.5.013.us.i = phi ptr [ %14, %_ZN4core3ops8function2Fn4call17h027c3db8f1d10e3eE.exit.us.i ], [ %9, %.lr.ph.i ] %14 = getelementptr inbounds i8, ptr %.sroa.5.013.us.i, i64 -8 - %.val.us.i = load ptr, ptr %14, align 8, !noalias !644, !nonnull !4, !noundef !4 - %.val.i.i.us.i = load i64, ptr %.val.us.i, align 8, !noalias !644, !noundef !4 + %.val.us.i = load ptr, ptr %14, align 8, !noalias !659, !nonnull !4, !noundef !4 + %.val.i.i.us.i = load i64, ptr %.val.us.i, align 8, !noalias !659, !noundef !4 %15 = icmp ne i64 %.val.i.i.us.i, 0 call void @llvm.assume(i1 %15) %16 = add i64 %.val.i.i.us.i, 1 - store i64 %16, ptr %.val.us.i, align 8, !noalias !644 + store i64 %16, ptr %.val.us.i, align 8, !noalias !659 %17 = icmp eq i64 %16, 0 br i1 %17, label %.split.us.i, label %"_ZN65_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h30edba8ce2c3e507E.exit.us.i" "_ZN65_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h30edba8ce2c3e507E.exit.us.i": ; preds = %.lr.ph.split.us.i - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3), !noalias !645 - store ptr %.val.us.i, ptr %3, align 8, !noalias !645 - %18 = atomicrmw add ptr %13, i64 1 seq_cst, align 8, !noalias !644 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3), !noalias !660 + store ptr %.val.us.i, ptr %3, align 8, !noalias !660 + %18 = atomicrmw add ptr %13, i64 1 seq_cst, align 8, !noalias !659 %19 = invoke fastcc noundef zeroext i1 @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15html_elem_named17h363f1592e1b13660E"(ptr noalias noundef nonnull readonly align 8 dereferenceable(192) %0, ptr noalias noundef readonly align 8 dereferenceable(8) %3, i64 noundef %1) - to label %20 unwind label %.split22.us.i, !noalias !644 + to label %20 unwind label %.split22.us.i, !noalias !659 20: ; preds = %"_ZN65_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h30edba8ce2c3e507E.exit.us.i" - call void @llvm.experimental.noalias.scope.decl(metadata !646) - call void @llvm.experimental.noalias.scope.decl(metadata !649) - %21 = load ptr, ptr %3, align 8, !alias.scope !652, !noalias !645, !nonnull !4, !noundef !4 - %22 = load i64, ptr %21, align 8, !noalias !653, !noundef !4 + call void @llvm.experimental.noalias.scope.decl(metadata !661) + call void @llvm.experimental.noalias.scope.decl(metadata !664) + %21 = load ptr, ptr %3, align 8, !alias.scope !667, !noalias !660, !nonnull !4, !noundef !4 + %22 = load i64, ptr %21, align 8, !noalias !668, !noundef !4 %23 = add i64 %22, -1 - store i64 %23, ptr %21, align 8, !noalias !653 + store i64 %23, ptr %21, align 8, !noalias !668 %24 = icmp eq i64 %23, 0 br i1 %24, label %25, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14in_scope_named28_$u7b$$u7b$closure$u7d$$u7d$17h73f5be57da5fa46cE.exit.us.i" @@ -5566,18 +5651,18 @@ define internal fastcc noundef zeroext i1 @"_ZN9html5ever12tree_builder32TreeBui .noexc: ; preds = %25 %27 = getelementptr inbounds nuw i8, ptr %21, i64 8 - %28 = load i64, ptr %27, align 8, !noalias !653, !noundef !4 + %28 = load i64, ptr %27, align 8, !noalias !668, !noundef !4 %29 = add i64 %28, -1 - store i64 %29, ptr %27, align 8, !noalias !653 + store i64 %29, ptr %27, align 8, !noalias !668 %30 = icmp eq i64 %29, 0 br i1 %30, label %31, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14in_scope_named28_$u7b$$u7b$closure$u7d$$u7d$17h73f5be57da5fa46cE.exit.us.i" 31: ; preds = %.noexc - call void @__rust_dealloc(ptr noundef nonnull %21, i64 noundef 136, i64 noundef 8) #16, !noalias !653 + call void @__rust_dealloc(ptr noundef nonnull %21, i64 noundef 136, i64 noundef 8) #16, !noalias !668 br label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14in_scope_named28_$u7b$$u7b$closure$u7d$$u7d$17h73f5be57da5fa46cE.exit.us.i" "_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14in_scope_named28_$u7b$$u7b$closure$u7d$$u7d$17h73f5be57da5fa46cE.exit.us.i": ; preds = %31, %.noexc, %20 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3), !noalias !645 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3), !noalias !660 br i1 %19, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17h6931a6e9c029e621E.exit.thread", label %32 32: ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14in_scope_named28_$u7b$$u7b$closure$u7d$$u7d$17h73f5be57da5fa46cE.exit.us.i" @@ -5611,12 +5696,12 @@ _ZN4core3ops8function2Fn4call17h027c3db8f1d10e3eE.exit.us.i: ; preds = %36, %.no .lr.ph.split.i: ; preds = %.lr.ph.i, %_ZN4core3ops8function2Fn4call17h027c3db8f1d10e3eE.exit.i %.sroa.5.013.i = phi ptr [ %40, %_ZN4core3ops8function2Fn4call17h027c3db8f1d10e3eE.exit.i ], [ %9, %.lr.ph.i ] %40 = getelementptr inbounds i8, ptr %.sroa.5.013.i, i64 -8 - %.val.i = load ptr, ptr %40, align 8, !noalias !644, !nonnull !4, !noundef !4 - %.val.i.i.i = load i64, ptr %.val.i, align 8, !noalias !644, !noundef !4 + %.val.i = load ptr, ptr %40, align 8, !noalias !659, !nonnull !4, !noundef !4 + %.val.i.i.i = load i64, ptr %.val.i, align 8, !noalias !659, !noundef !4 %41 = icmp ne i64 %.val.i.i.i, 0 call void @llvm.assume(i1 %41) %42 = add i64 %.val.i.i.i, 1 - store i64 %42, ptr %.val.i, align 8, !noalias !644 + store i64 %42, ptr %.val.i, align 8, !noalias !659 %43 = icmp eq i64 %42, 0 br i1 %43, label %.split.us.i, label %"_ZN65_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h30edba8ce2c3e507E.exit.i" @@ -5625,10 +5710,10 @@ _ZN4core3ops8function2Fn4call17h027c3db8f1d10e3eE.exit.us.i: ; preds = %36, %.no unreachable "_ZN65_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h30edba8ce2c3e507E.exit.i": ; preds = %.lr.ph.split.i - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3), !noalias !645 - store ptr %.val.i, ptr %3, align 8, !noalias !645 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3), !noalias !660 + store ptr %.val.i, ptr %3, align 8, !noalias !660 %44 = invoke fastcc noundef zeroext i1 @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15html_elem_named17h363f1592e1b13660E"(ptr noalias noundef nonnull readonly align 8 dereferenceable(192) %0, ptr noalias noundef readonly align 8 dereferenceable(8) %3, i64 noundef %1) - to label %47 unwind label %.split22.i, !noalias !644 + to label %47 unwind label %.split22.i, !noalias !659 .split22.i: ; preds = %"_ZN65_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h30edba8ce2c3e507E.exit.i" %45 = landingpad { ptr, i32 } @@ -5638,15 +5723,15 @@ _ZN4core3ops8function2Fn4call17h027c3db8f1d10e3eE.exit.us.i: ; preds = %36, %.no 46: ; preds = %.split22.i, %.split22.us.i %.us-phi.i = phi { ptr, i32 } [ %45, %.split22.i ], [ %39, %.split22.us.i ] invoke void @"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"(ptr noalias noundef nonnull align 8 dereferenceable(8) %3) #17 - to label %.body unwind label %59, !noalias !644 + to label %.body unwind label %59, !noalias !659 47: ; preds = %"_ZN65_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h30edba8ce2c3e507E.exit.i" - call void @llvm.experimental.noalias.scope.decl(metadata !646) - call void @llvm.experimental.noalias.scope.decl(metadata !649) - %48 = load ptr, ptr %3, align 8, !alias.scope !652, !noalias !645, !nonnull !4, !noundef !4 - %49 = load i64, ptr %48, align 8, !noalias !653, !noundef !4 + call void @llvm.experimental.noalias.scope.decl(metadata !661) + call void @llvm.experimental.noalias.scope.decl(metadata !664) + %48 = load ptr, ptr %3, align 8, !alias.scope !667, !noalias !660, !nonnull !4, !noundef !4 + %49 = load i64, ptr %48, align 8, !noalias !668, !noundef !4 %50 = add i64 %49, -1 - store i64 %50, ptr %48, align 8, !noalias !653 + store i64 %50, ptr %48, align 8, !noalias !668 %51 = icmp eq i64 %50, 0 br i1 %51, label %52, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14in_scope_named28_$u7b$$u7b$closure$u7d$$u7d$17h73f5be57da5fa46cE.exit.i" @@ -5657,24 +5742,24 @@ _ZN4core3ops8function2Fn4call17h027c3db8f1d10e3eE.exit.us.i: ; preds = %36, %.no .noexc3: ; preds = %52 %54 = getelementptr inbounds nuw i8, ptr %48, i64 8 - %55 = load i64, ptr %54, align 8, !noalias !653, !noundef !4 + %55 = load i64, ptr %54, align 8, !noalias !668, !noundef !4 %56 = add i64 %55, -1 - store i64 %56, ptr %54, align 8, !noalias !653 + store i64 %56, ptr %54, align 8, !noalias !668 %57 = icmp eq i64 %56, 0 br i1 %57, label %58, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14in_scope_named28_$u7b$$u7b$closure$u7d$$u7d$17h73f5be57da5fa46cE.exit.i" 58: ; preds = %.noexc3 - call void @__rust_dealloc(ptr noundef nonnull %48, i64 noundef 136, i64 noundef 8) #16, !noalias !653 + call void @__rust_dealloc(ptr noundef nonnull %48, i64 noundef 136, i64 noundef 8) #16, !noalias !668 br label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14in_scope_named28_$u7b$$u7b$closure$u7d$$u7d$17h73f5be57da5fa46cE.exit.i" 59: ; preds = %46 %60 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer - call void @_ZN4core9panicking16panic_in_cleanup17hfa05ef7d5107e16aE() #15, !noalias !644 + call void @_ZN4core9panicking16panic_in_cleanup17hfa05ef7d5107e16aE() #15, !noalias !659 unreachable "_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14in_scope_named28_$u7b$$u7b$closure$u7d$$u7d$17h73f5be57da5fa46cE.exit.i": ; preds = %58, %.noexc3, %47 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3), !noalias !645 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3), !noalias !660 br i1 %44, label %"_ZN4core3ptr84drop_in_place$LT$string_cache..atom..Atom$LT$markup5ever..LocalNameStaticSet$GT$$GT$17h0e9d66411fdb076aE.exit", label %61 61: ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14in_scope_named28_$u7b$$u7b$closure$u7d$$u7d$17h73f5be57da5fa46cE.exit.i" @@ -5729,19 +5814,19 @@ _ZN4core3ops8function2Fn4call17h027c3db8f1d10e3eE.exit.i: ; preds = %65, %.noexc br i1 %72, label %73, label %"_ZN4core3ptr84drop_in_place$LT$string_cache..atom..Atom$LT$markup5ever..LocalNameStaticSet$GT$$GT$17h0e9d66411fdb076aE.exit" 73: ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17h6931a6e9c029e621E.exit.thread" - %74 = call noundef ptr @_ZN4core4sync6atomic11atomic_load17h4be985e8b17abd04E.llvm.5096816904524340452(ptr noundef nonnull getelementptr inbounds nuw (i8, ptr @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, i64 16), i8 noundef 2), !noalias !654 + %74 = call noundef ptr @_ZN4core4sync6atomic11atomic_load17h4be985e8b17abd04E.llvm.5096816904524340452(ptr noundef nonnull getelementptr inbounds nuw (i8, ptr @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, i64 16), i8 noundef 2), !noalias !669 %.not.i.i.i.i = icmp eq ptr %74, inttoptr (i64 2 to ptr) br i1 %.not.i.i.i.i, label %"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E.exit.i.i", label %75 75: ; preds = %73 - call void @"_ZN9once_cell3imp17OnceCell$LT$T$GT$10initialize17h88e844a06093b331E"(ptr noundef nonnull align 8 @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, ptr noundef nonnull align 8 @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E), !noalias !654 - %76 = load ptr, ptr @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, align 8, !noalias !654, !noundef !4 + call void @"_ZN9once_cell3imp17OnceCell$LT$T$GT$10initialize17h88e844a06093b331E"(ptr noundef nonnull align 8 @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, ptr noundef nonnull align 8 @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E), !noalias !669 + %76 = load ptr, ptr @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, align 8, !noalias !669, !noundef !4 %77 = icmp ne ptr %76, null call void @llvm.assume(i1 %77) br label %"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E.exit.i.i" "_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E.exit.i.i": ; preds = %75, %73 - call void @_ZN12string_cache11dynamic_set3Set6remove17h358d1c715f07230eE(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, ptr noundef nonnull %69), !noalias !654 + call void @_ZN12string_cache11dynamic_set3Set6remove17h358d1c715f07230eE(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, ptr noundef nonnull %69), !noalias !669 br label %"_ZN4core3ptr84drop_in_place$LT$string_cache..atom..Atom$LT$markup5ever..LocalNameStaticSet$GT$$GT$17h0e9d66411fdb076aE.exit" "_ZN4core3ptr84drop_in_place$LT$string_cache..atom..Atom$LT$markup5ever..LocalNameStaticSet$GT$$GT$17h0e9d66411fdb076aE.exit": ; preds = %_ZN4core3ops8function2Fn4call17h027c3db8f1d10e3eE.exit.i, %65, %65, %65, %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14in_scope_named28_$u7b$$u7b$closure$u7d$$u7d$17h73f5be57da5fa46cE.exit.i", %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17h6931a6e9c029e621E.exit", %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17h6931a6e9c029e621E.exit.thread", %"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E.exit.i.i" @@ -5776,8 +5861,8 @@ define internal fastcc noundef nonnull ptr @"_ZN9html5ever12tree_builder32TreeBu store i64 %3, ptr %15, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %12) call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %11) - tail call void @llvm.experimental.noalias.scope.decl(metadata !657) - tail call void @llvm.experimental.noalias.scope.decl(metadata !660) + tail call void @llvm.experimental.noalias.scope.decl(metadata !672) + tail call void @llvm.experimental.noalias.scope.decl(metadata !675) %16 = and i64 %2, 3 %17 = icmp eq i64 %16, 0 br i1 %17, label %18, label %22 @@ -5785,8 +5870,8 @@ define internal fastcc noundef nonnull ptr @"_ZN9html5ever12tree_builder32TreeBu 18: ; preds = %5 %19 = inttoptr i64 %2 to ptr %20 = getelementptr inbounds nuw i8, ptr %19, i64 16 - %21 = atomicrmw add ptr %20, i64 1 seq_cst, align 8, !noalias !662 - %.pre = load i64, ptr %15, align 8, !range !57, !alias.scope !660, !noalias !657 + %21 = atomicrmw add ptr %20, i64 1 seq_cst, align 8, !noalias !677 + %.pre = load i64, ptr %15, align 8, !range !57, !alias.scope !675, !noalias !672 br label %22 22: ; preds = %18, %5 @@ -5798,7 +5883,7 @@ define internal fastcc noundef nonnull ptr @"_ZN9html5ever12tree_builder32TreeBu 26: ; preds = %22 %27 = inttoptr i64 %23 to ptr %28 = getelementptr inbounds nuw i8, ptr %27, i64 16 - %29 = atomicrmw add ptr %28, i64 1 seq_cst, align 8, !noalias !662 + %29 = atomicrmw add ptr %28, i64 1 seq_cst, align 8, !noalias !677 br label %31 30: ; preds = %.thread, %38, %177, %176, %42 @@ -5808,15 +5893,15 @@ define internal fastcc noundef nonnull ptr @"_ZN9html5ever12tree_builder32TreeBu 31: ; preds = %26, %22 %32 = getelementptr inbounds nuw i8, ptr %11, i64 16 - store i64 0, ptr %32, align 8, !alias.scope !657, !noalias !660 - store i64 %2, ptr %11, align 8, !alias.scope !657, !noalias !660 + store i64 0, ptr %32, align 8, !alias.scope !672, !noalias !675 + store i64 %2, ptr %11, align 8, !alias.scope !672, !noalias !675 %33 = getelementptr inbounds nuw i8, ptr %11, i64 8 - store i64 %23, ptr %33, align 8, !alias.scope !657, !noalias !660 + store i64 %23, ptr %33, align 8, !alias.scope !672, !noalias !675 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %10) %34 = getelementptr inbounds nuw i8, ptr %4, i64 16 %35 = getelementptr inbounds nuw i8, ptr %4, i64 8 - %36 = load ptr, ptr %35, align 8, !alias.scope !663, !noalias !666, !nonnull !4, !noundef !4 - %37 = load i64, ptr %34, align 8, !alias.scope !663, !noalias !666, !noundef !4 + %36 = load ptr, ptr %35, align 8, !alias.scope !678, !noalias !681, !nonnull !4, !noundef !4 + %37 = load i64, ptr %34, align 8, !alias.scope !678, !noalias !681, !noundef !4 invoke void @"_ZN52_$LT$T$u20$as$u20$alloc..slice..hack..ConvertVec$GT$6to_vec17he2817477af474896E.llvm.204215390286363894"(ptr noalias noundef nonnull sret([24 x i8]) align 8 captures(none) dereferenceable(24) %10, ptr noundef nonnull align 8 %36, i64 noundef %37) to label %"_ZN67_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hd7f602d787034465E.exit" unwind label %177 @@ -5924,9 +6009,9 @@ define internal fastcc noundef nonnull ptr @"_ZN9html5ever12tree_builder32TreeBu 69: ; preds = %65 %70 = getelementptr inbounds nuw i8, ptr %0, i64 96 - %71 = load ptr, ptr %70, align 8, !alias.scope !668, !nonnull !4, !noundef !4 + %71 = load ptr, ptr %70, align 8, !alias.scope !683, !nonnull !4, !noundef !4 %72 = getelementptr inbounds nuw i8, ptr %0, i64 104 - %73 = load i64, ptr %72, align 8, !alias.scope !668, !noundef !4 + %73 = load i64, ptr %72, align 8, !alias.scope !683, !noundef !4 %74 = getelementptr inbounds ptr, ptr %71, i64 %73 %.not.not.i.not.not.not.i.not68 = icmp eq i64 %73, 0 br i1 %.not.not.i.not.not.not.i.not68, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$18in_html_elem_named17hcb1e6bbd6a7c7669E.exit", label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$18in_html_elem_named28_$u7b$$u7b$closure$u7d$$u7d$17h0e1178ba1ca9582bE.exit.i.i" @@ -6008,13 +6093,13 @@ define internal fastcc noundef nonnull ptr @"_ZN9html5ever12tree_builder32TreeBu .lr.ph.i: ; preds = %96, %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14insert_element28_$u7b$$u7b$closure$u7d$$u7d$17h072067e3d057dd7dE.exit.backedge.i" %100 = phi ptr [ %101, %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14insert_element28_$u7b$$u7b$closure$u7d$$u7d$17h072067e3d057dd7dE.exit.backedge.i" ], [ %97, %96 ] %101 = getelementptr inbounds nuw i8, ptr %100, i64 40 - %102 = load i64, ptr %100, align 8, !range !57, !noalias !671, !noundef !4 + %102 = load i64, ptr %100, align 8, !range !57, !noalias !686, !noundef !4 %103 = icmp eq i64 %102, 25769803778 br i1 %103, label %104, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14insert_element28_$u7b$$u7b$closure$u7d$$u7d$17h072067e3d057dd7dE.exit.backedge.i" 104: ; preds = %.lr.ph.i %105 = getelementptr inbounds nuw i8, ptr %100, i64 8 - %106 = load i64, ptr %105, align 8, !range !57, !noalias !671, !noundef !4 + %106 = load i64, ptr %105, align 8, !range !57, !noalias !686, !noundef !4 %107 = icmp eq i64 %106, 4110283702274 br i1 %107, label %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3any17h4854f4336bc64f13E.exit", label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14insert_element28_$u7b$$u7b$closure$u7d$$u7d$17h072067e3d057dd7dE.exit.backedge.i" @@ -6057,7 +6142,7 @@ define internal fastcc noundef nonnull ptr @"_ZN9html5ever12tree_builder32TreeBu unreachable 119: ; preds = %113 - store i64 %.val.i.i36, ptr %93, align 8, !noalias !674 + store i64 %.val.i.i36, ptr %93, align 8, !noalias !689 br label %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3any17h4854f4336bc64f13E.exit" 120: ; preds = %.body, %177, %176, %.thread54, %172, %158, %30 @@ -6100,9 +6185,9 @@ define internal fastcc noundef nonnull ptr @"_ZN9html5ever12tree_builder32TreeBu br i1 %132, label %"_ZN4core3ptr93drop_in_place$LT$core..option..Option$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17hecd02d53a0da715dE.exit", label %133 133: ; preds = %131 - %134 = load i64, ptr %.sroa.012.0, align 8, !noalias !679, !noundef !4 + %134 = load i64, ptr %.sroa.012.0, align 8, !noalias !694, !noundef !4 %135 = add i64 %134, -1 - store i64 %135, ptr %.sroa.012.0, align 8, !noalias !679 + store i64 %135, ptr %.sroa.012.0, align 8, !noalias !694 %136 = icmp eq i64 %135, 0 br i1 %136, label %137, label %"_ZN4core3ptr93drop_in_place$LT$core..option..Option$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17hecd02d53a0da715dE.exit" @@ -6113,24 +6198,24 @@ define internal fastcc noundef nonnull ptr @"_ZN9html5ever12tree_builder32TreeBu .noexc40: ; preds = %137 %139 = getelementptr inbounds nuw i8, ptr %.sroa.012.0, i64 8 - %140 = load i64, ptr %139, align 8, !noalias !679, !noundef !4 + %140 = load i64, ptr %139, align 8, !noalias !694, !noundef !4 %141 = add i64 %140, -1 - store i64 %141, ptr %139, align 8, !noalias !679 + store i64 %141, ptr %139, align 8, !noalias !694 %142 = icmp eq i64 %141, 0 br i1 %142, label %143, label %"_ZN4core3ptr93drop_in_place$LT$core..option..Option$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17hecd02d53a0da715dE.exit" 143: ; preds = %.noexc40 - tail call void @__rust_dealloc(ptr noundef nonnull %.sroa.012.0, i64 noundef 136, i64 noundef 8) #16, !noalias !679 + tail call void @__rust_dealloc(ptr noundef nonnull %.sroa.012.0, i64 noundef 136, i64 noundef 8) #16, !noalias !694 br label %"_ZN4core3ptr93drop_in_place$LT$core..option..Option$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17hecd02d53a0da715dE.exit" "_ZN65_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h30edba8ce2c3e507E.exit39": ; preds = %126 %144 = getelementptr inbounds nuw i8, ptr %0, i64 88 - tail call void @llvm.experimental.noalias.scope.decl(metadata !684) + tail call void @llvm.experimental.noalias.scope.decl(metadata !699) call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %6) - store ptr %40, ptr %6, align 8, !noalias !684 + store ptr %40, ptr %6, align 8, !noalias !699 %145 = getelementptr inbounds nuw i8, ptr %0, i64 104 - %146 = load i64, ptr %145, align 8, !alias.scope !684, !noundef !4 - %147 = load i64, ptr %144, align 8, !alias.scope !684, !noundef !4 + %146 = load i64, ptr %145, align 8, !alias.scope !699, !noundef !4 + %147 = load i64, ptr %144, align 8, !alias.scope !699, !noundef !4 %148 = icmp eq i64 %146, %147 br i1 %148, label %149, label %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17h8e6b8119347e1c1eE.exit" @@ -6152,11 +6237,11 @@ define internal fastcc noundef nonnull ptr @"_ZN9html5ever12tree_builder32TreeBu "_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17h8e6b8119347e1c1eE.exit": ; preds = %"_ZN65_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h30edba8ce2c3e507E.exit39", %149 %154 = getelementptr inbounds nuw i8, ptr %0, i64 96 - %155 = load ptr, ptr %154, align 8, !alias.scope !684, !nonnull !4, !noundef !4 + %155 = load ptr, ptr %154, align 8, !alias.scope !699, !nonnull !4, !noundef !4 %156 = getelementptr inbounds ptr, ptr %155, i64 %146 store ptr %40, ptr %156, align 8 %157 = add i64 %146, 1 - store i64 %157, ptr %145, align 8, !alias.scope !684 + store i64 %157, ptr %145, align 8, !alias.scope !699 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %6) br label %131 @@ -6173,12 +6258,12 @@ define internal fastcc noundef nonnull ptr @"_ZN9html5ever12tree_builder32TreeBu br label %158 "_ZN4core3ptr93drop_in_place$LT$core..option..Option$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17hecd02d53a0da715dE.exit": ; preds = %143, %.noexc40, %133, %131 - tail call void @llvm.experimental.noalias.scope.decl(metadata !687) - tail call void @llvm.experimental.noalias.scope.decl(metadata !690) - %161 = load ptr, ptr %8, align 8, !alias.scope !693, !nonnull !4, !noundef !4 - %162 = load i64, ptr %161, align 8, !noalias !693, !noundef !4 + tail call void @llvm.experimental.noalias.scope.decl(metadata !702) + tail call void @llvm.experimental.noalias.scope.decl(metadata !705) + %161 = load ptr, ptr %8, align 8, !alias.scope !708, !nonnull !4, !noundef !4 + %162 = load i64, ptr %161, align 8, !noalias !708, !noundef !4 %163 = add i64 %162, -1 - store i64 %163, ptr %161, align 8, !noalias !693 + store i64 %163, ptr %161, align 8, !noalias !708 %164 = icmp eq i64 %163, 0 br i1 %164, label %165, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit45" @@ -6189,14 +6274,14 @@ define internal fastcc noundef nonnull ptr @"_ZN9html5ever12tree_builder32TreeBu .noexc44: ; preds = %165 %167 = getelementptr inbounds nuw i8, ptr %161, i64 8 - %168 = load i64, ptr %167, align 8, !noalias !693, !noundef !4 + %168 = load i64, ptr %167, align 8, !noalias !708, !noundef !4 %169 = add i64 %168, -1 - store i64 %169, ptr %167, align 8, !noalias !693 + store i64 %169, ptr %167, align 8, !noalias !708 %170 = icmp eq i64 %169, 0 br i1 %170, label %171, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit45" 171: ; preds = %.noexc44 - tail call void @__rust_dealloc(ptr noundef nonnull %161, i64 noundef 136, i64 noundef 8) #16, !noalias !693 + tail call void @__rust_dealloc(ptr noundef nonnull %161, i64 noundef 136, i64 noundef 8) #16, !noalias !708 br label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit45" "_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit45": ; preds = %171, %.noexc44, %"_ZN4core3ptr93drop_in_place$LT$core..option..Option$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17hecd02d53a0da715dE.exit" @@ -6255,13 +6340,13 @@ define internal fastcc noundef zeroext i1 @"_ZN9html5ever12tree_builder32TreeBui .lr.ph.i: ; preds = %0, %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14is_type_hidden28_$u7b$$u7b$closure$u7d$$u7d$17hd728b9b4f3c8f8f0E.exit.backedge.i" %8 = phi ptr [ %9, %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14is_type_hidden28_$u7b$$u7b$closure$u7d$$u7d$17hd728b9b4f3c8f8f0E.exit.backedge.i" ], [ %.8.val, %0 ] %9 = getelementptr inbounds nuw i8, ptr %8, i64 40 - %10 = load i64, ptr %8, align 8, !range !57, !noalias !694, !noundef !4 + %10 = load i64, ptr %8, align 8, !range !57, !noalias !709, !noundef !4 %11 = icmp eq i64 %10, 25769803778 br i1 %11, label %12, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14is_type_hidden28_$u7b$$u7b$closure$u7d$$u7d$17hd728b9b4f3c8f8f0E.exit.backedge.i" 12: ; preds = %.lr.ph.i %13 = getelementptr inbounds nuw i8, ptr %8, i64 8 - %14 = load i64, ptr %13, align 8, !range !57, !noalias !694, !noundef !4 + %14 = load i64, ptr %13, align 8, !range !57, !noalias !709, !noundef !4 %15 = icmp eq i64 %14, 2667174690818 br i1 %15, label %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4find17hdc97de088082a6aeE.exit", label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14is_type_hidden28_$u7b$$u7b$closure$u7d$$u7d$17hd728b9b4f3c8f8f0E.exit.backedge.i" @@ -6288,7 +6373,7 @@ define internal fastcc noundef zeroext i1 @"_ZN9html5ever12tree_builder32TreeBui 26: ; preds = %22 %27 = getelementptr inbounds nuw i8, ptr %8, i64 36 - %28 = load i32, ptr %27, align 4, !noalias !697, !noundef !4 + %28 = load i32, ptr %27, align 4, !noalias !712, !noundef !4 %29 = zext i32 %28 to i64 br label %32 @@ -6313,27 +6398,27 @@ define internal fastcc noundef zeroext i1 @"_ZN9html5ever12tree_builder32TreeBui 39: ; preds = %"_ZN7tendril7tendril20Tendril$LT$F$C$A$GT$13as_byte_slice17hf60270f8b428432dE.exit" %40 = getelementptr inbounds nuw i8, ptr %.sroa.0.0.i3, i64 6 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %3), !noalias !700 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %4), !noalias !700 - store ptr %.sroa.0.0.i3, ptr %4, align 8, !noalias !707 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %3), !noalias !715 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %4), !noalias !715 + store ptr %.sroa.0.0.i3, ptr %4, align 8, !noalias !722 %41 = getelementptr inbounds nuw i8, ptr %4, i64 8 - store ptr %40, ptr %41, align 8, !noalias !707 - store ptr @anon.b244ddacf973f5fee137b0ea6cb9ab8a.101, ptr %3, align 8, !noalias !707 + store ptr %40, ptr %41, align 8, !noalias !722 + store ptr @anon.b244ddacf973f5fee137b0ea6cb9ab8a.101, ptr %3, align 8, !noalias !722 %42 = getelementptr inbounds nuw i8, ptr %3, i64 8 - store ptr getelementptr inbounds nuw (i8, ptr @anon.b244ddacf973f5fee137b0ea6cb9ab8a.101, i64 6), ptr %42, align 8, !noalias !707 - call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %2), !noalias !710 - call void @"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$9size_hint17ha596e70cc956de22E.llvm.8537221261273048587"(ptr noalias noundef nonnull sret([24 x i8]) align 8 captures(none) dereferenceable(24) %2, ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %4), !noalias !713 - %43 = load i64, ptr %2, align 8, !noalias !710, !noundef !4 - call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %2), !noalias !710 - call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %1), !noalias !714 - call void @"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$9size_hint17ha596e70cc956de22E.llvm.8537221261273048587"(ptr noalias noundef nonnull sret([24 x i8]) align 8 captures(none) dereferenceable(24) %1, ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %3), !noalias !713 - %44 = load i64, ptr %1, align 8, !noalias !714, !noundef !4 - call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %1), !noalias !714 - %45 = call noundef i64 @_ZN4core3cmp6min_by17he02eb9438c11884bE.llvm.13937131299884592799(i64 noundef %43, i64 noundef %44), !noalias !713 - %46 = load ptr, ptr %4, align 8, !noalias !707, !nonnull !4, !noundef !4 - %47 = load ptr, ptr %3, align 8, !noalias !707, !nonnull !4, !noundef !4 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %3), !noalias !700 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %4), !noalias !700 + store ptr getelementptr inbounds nuw (i8, ptr @anon.b244ddacf973f5fee137b0ea6cb9ab8a.101, i64 6), ptr %42, align 8, !noalias !722 + call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %2), !noalias !725 + call void @"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$9size_hint17ha596e70cc956de22E.llvm.8537221261273048587"(ptr noalias noundef nonnull sret([24 x i8]) align 8 captures(none) dereferenceable(24) %2, ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %4), !noalias !728 + %43 = load i64, ptr %2, align 8, !noalias !725, !noundef !4 + call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %2), !noalias !725 + call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %1), !noalias !729 + call void @"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$9size_hint17ha596e70cc956de22E.llvm.8537221261273048587"(ptr noalias noundef nonnull sret([24 x i8]) align 8 captures(none) dereferenceable(24) %1, ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %3), !noalias !728 + %44 = load i64, ptr %1, align 8, !noalias !729, !noundef !4 + call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %1), !noalias !729 + %45 = call noundef i64 @_ZN4core3cmp6min_by17he02eb9438c11884bE.llvm.13937131299884592799(i64 noundef %43, i64 noundef %44), !noalias !728 + %46 = load ptr, ptr %4, align 8, !noalias !722, !nonnull !4, !noundef !4 + %47 = load ptr, ptr %3, align 8, !noalias !722, !nonnull !4, !noundef !4 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %3), !noalias !715 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %4), !noalias !715 br label %48 48: ; preds = %50, %39 @@ -6345,8 +6430,8 @@ define internal fastcc noundef zeroext i1 @"_ZN9html5ever12tree_builder32TreeBui %51 = add i64 %49, 1 %52 = getelementptr inbounds i8, ptr %46, i64 %49 %53 = getelementptr inbounds i8, ptr %47, i64 %49 - %.val.i.i = load i8, ptr %52, align 1, !noalias !717, !noundef !4 - %.val6.i.i = load i8, ptr %53, align 1, !noalias !717, !noundef !4 + %.val.i.i = load i8, ptr %52, align 1, !noalias !732, !noundef !4 + %.val6.i.i = load i8, ptr %53, align 1, !noalias !732, !noundef !4 %54 = add i8 %.val.i.i, -65 %55 = icmp ult i8 %54, 26 %.sroa.0.0.i.i7.i.i = select i1 %55, i8 32, i8 0 @@ -6370,24 +6455,24 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle %7 = load i64, ptr %6, align 8, !range !57, !noundef !4 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(24) %2, i64 24, i1 false) %8 = call fastcc noundef nonnull ptr @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14insert_element17ha772ae336bd83e98E"(ptr noalias noundef align 8 dereferenceable(192) %1, i1 noundef zeroext false, i64 noundef 30064771074, i64 noundef %7, ptr noalias noundef align 8 captures(none) dereferenceable(24) %5) - %9 = load i64, ptr %8, align 8, !noalias !720, !noundef !4 + %9 = load i64, ptr %8, align 8, !noalias !735, !noundef !4 %10 = add i64 %9, -1 - store i64 %10, ptr %8, align 8, !noalias !720 + store i64 %10, ptr %8, align 8, !noalias !735 %11 = icmp eq i64 %10, 0 br i1 %11, label %12, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit" 12: ; preds = %4 %13 = getelementptr inbounds nuw i8, ptr %8, i64 16 - tail call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17hed3cc8b884d652aeE.llvm.5005022800651993668"(ptr noalias noundef nonnull align 8 dereferenceable(120) %13), !noalias !720 + tail call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17hed3cc8b884d652aeE.llvm.5005022800651993668"(ptr noalias noundef nonnull align 8 dereferenceable(120) %13), !noalias !735 %14 = getelementptr inbounds nuw i8, ptr %8, i64 8 - %15 = load i64, ptr %14, align 8, !noalias !720, !noundef !4 + %15 = load i64, ptr %14, align 8, !noalias !735, !noundef !4 %16 = add i64 %15, -1 - store i64 %16, ptr %14, align 8, !noalias !720 + store i64 %16, ptr %14, align 8, !noalias !735 %17 = icmp eq i64 %16, 0 br i1 %17, label %18, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit" 18: ; preds = %12 - tail call void @__rust_dealloc(ptr noundef nonnull %8, i64 noundef 136, i64 noundef 8) #16, !noalias !720 + tail call void @__rust_dealloc(ptr noundef nonnull %8, i64 noundef 136, i64 noundef 8) #16, !noalias !735 br label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit" "_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit": ; preds = %4, %12, %18 @@ -6457,19 +6542,19 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle br label %47 47: ; preds = %2, %43 - tail call void @llvm.experimental.noalias.scope.decl(metadata !725) + tail call void @llvm.experimental.noalias.scope.decl(metadata !740) %48 = getelementptr inbounds nuw i8, ptr %0, i64 104 - %49 = load i64, ptr %48, align 8, !alias.scope !725, !noundef !4 + %49 = load i64, ptr %48, align 8, !alias.scope !740, !noundef !4 %.not.i = icmp eq i64 %49, 0 br i1 %.not.i, label %50, label %51 50: ; preds = %47 invoke void @_ZN4core6option13expect_failed17h3a757a693188cc6eE(ptr noalias noundef nonnull readonly align 1 @anon.b244ddacf973f5fee137b0ea6cb9ab8a.102.llvm.4491288516430033680, i64 noundef 18, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.b244ddacf973f5fee137b0ea6cb9ab8a.103.llvm.4491288516430033680) #18 - to label %57 unwind label %58, !noalias !725 + to label %57 unwind label %58, !noalias !740 51: ; preds = %47 %52 = getelementptr inbounds nuw i8, ptr %0, i64 96 - %53 = load ptr, ptr %52, align 8, !alias.scope !725, !nonnull !4, !noundef !4 + %53 = load ptr, ptr %52, align 8, !alias.scope !740, !nonnull !4, !noundef !4 %54 = add i64 %49, -1 %55 = getelementptr inbounds [0 x ptr], ptr %53, i64 0, i64 %54 %56 = invoke fastcc noundef zeroext i1 @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15html_elem_named17h363f1592e1b13660E"(ptr noalias noundef nonnull readonly align 8 dereferenceable(192) %0, ptr noalias noundef readonly align 8 dereferenceable(8) %55, i64 noundef range(i64 1, 0) %1) @@ -6482,12 +6567,12 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle %59 = landingpad { ptr, i32 } cleanup invoke fastcc void @"_ZN4core3ptr84drop_in_place$LT$string_cache..atom..Atom$LT$markup5ever..LocalNameStaticSet$GT$$GT$17h0e9d66411fdb076aE"(i64 range(i64 1, 0) %1) #17 - to label %.thread445 unwind label %60, !noalias !725 + to label %.thread445 unwind label %60, !noalias !740 60: ; preds = %58 %61 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer - tail call void @_ZN4core9panicking16panic_in_cleanup17hfa05ef7d5107e16aE() #15, !noalias !725 + tail call void @_ZN4core9panicking16panic_in_cleanup17hfa05ef7d5107e16aE() #15, !noalias !740 unreachable .thread448.loopexit: ; preds = %941 @@ -6553,31 +6638,31 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle %95 = getelementptr inbounds nuw i8, ptr %0, i64 128 %96 = load i64, ptr %95, align 8, !noundef !4 %97 = getelementptr inbounds { i64, [5 x i64] }, ptr %94, i64 %96 - tail call void @llvm.experimental.noalias.scope.decl(metadata !728) + tail call void @llvm.experimental.noalias.scope.decl(metadata !743) %98 = icmp eq i64 %96, 0 br i1 %98, label %..loopexit674_crit_edge, label %.lr.ph.i ..loopexit674_crit_edge: ; preds = %90 %.phi.trans.insert = getelementptr inbounds ptr, ptr %91, i64 %92 - %.pre2250 = load ptr, ptr %.phi.trans.insert, align 8, !noalias !731 + %.pre2250 = load ptr, ptr %.phi.trans.insert, align 8, !noalias !746 br label %.loopexit674 .lr.ph.i: ; preds = %90 %99 = getelementptr inbounds [0 x ptr], ptr %91, i64 0, i64 %92 - %.val1.i.i = load ptr, ptr %99, align 8, !alias.scope !728, !noalias !734, !nonnull !4 + %.val1.i.i = load ptr, ptr %99, align 8, !alias.scope !743, !noalias !749, !nonnull !4 br label %100 100: ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h153c47366512fb12E.exit.thread.i", %.lr.ph.i %.sroa.02.014.i = phi i64 [ 0, %.lr.ph.i ], [ %106, %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h153c47366512fb12E.exit.thread.i" ] %101 = phi ptr [ %94, %.lr.ph.i ], [ %102, %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h153c47366512fb12E.exit.thread.i" ] %102 = getelementptr inbounds nuw i8, ptr %101, i64 48 - %.val8.i = load i64, ptr %101, align 8, !range !368, !noalias !736, !noundef !4 + %.val8.i = load i64, ptr %101, align 8, !range !368, !noalias !751, !noundef !4 %103 = icmp eq i64 %.val8.i, -9223372036854775808 br i1 %103, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h153c47366512fb12E.exit.thread.i", label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h153c47366512fb12E.exit.i" "_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h153c47366512fb12E.exit.i": ; preds = %100 %104 = getelementptr i8, ptr %101, i64 40 - %.val9.i = load ptr, ptr %104, align 8, !noalias !736, !nonnull !4, !noundef !4 + %.val9.i = load ptr, ptr %104, align 8, !noalias !751, !nonnull !4, !noundef !4 %105 = icmp eq ptr %.val9.i, %.val1.i.i br i1 %105, label %109, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h153c47366512fb12E.exit.thread.i" @@ -6605,19 +6690,19 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle br i1 %116, label %117, label %"_ZN4core3ptr84drop_in_place$LT$string_cache..atom..Atom$LT$markup5ever..LocalNameStaticSet$GT$$GT$17h0e9d66411fdb076aE.exit" 117: ; preds = %112 - %118 = call noundef ptr @_ZN4core4sync6atomic11atomic_load17h4be985e8b17abd04E.llvm.5096816904524340452(ptr noundef nonnull getelementptr inbounds nuw (i8, ptr @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, i64 16), i8 noundef 2), !noalias !737 + %118 = call noundef ptr @_ZN4core4sync6atomic11atomic_load17h4be985e8b17abd04E.llvm.5096816904524340452(ptr noundef nonnull getelementptr inbounds nuw (i8, ptr @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, i64 16), i8 noundef 2), !noalias !752 %.not.i.i.i.i = icmp eq ptr %118, inttoptr (i64 2 to ptr) br i1 %.not.i.i.i.i, label %"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E.exit.i.i", label %119 119: ; preds = %117 - call void @"_ZN9once_cell3imp17OnceCell$LT$T$GT$10initialize17h88e844a06093b331E"(ptr noundef nonnull align 8 @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, ptr noundef nonnull align 8 @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E), !noalias !737 - %120 = load ptr, ptr @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, align 8, !noalias !737, !noundef !4 + call void @"_ZN9once_cell3imp17OnceCell$LT$T$GT$10initialize17h88e844a06093b331E"(ptr noundef nonnull align 8 @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, ptr noundef nonnull align 8 @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E), !noalias !752 + %120 = load ptr, ptr @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, align 8, !noalias !752, !noundef !4 %121 = icmp ne ptr %120, null call void @llvm.assume(i1 %121) br label %"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E.exit.i.i" "_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E.exit.i.i": ; preds = %119, %117 - call void @_ZN12string_cache11dynamic_set3Set6remove17h358d1c715f07230eE(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, ptr noundef nonnull %113), !noalias !737 + call void @_ZN12string_cache11dynamic_set3Set6remove17h358d1c715f07230eE(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, ptr noundef nonnull %113), !noalias !752 br label %"_ZN4core3ptr84drop_in_place$LT$string_cache..atom..Atom$LT$markup5ever..LocalNameStaticSet$GT$$GT$17h0e9d66411fdb076aE.exit" 122: ; preds = %64, %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit396" @@ -6637,13 +6722,13 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle 130: ; preds = %127 %131 = getelementptr inbounds i8, ptr %128, i64 -48 - %132 = load i64, ptr %131, align 8, !range !368, !noalias !740, !noundef !4 + %132 = load i64, ptr %131, align 8, !range !368, !noalias !755, !noundef !4 %133 = icmp eq i64 %132, -9223372036854775808 br i1 %133, label %.thread476, label %134 134: ; preds = %130 %135 = getelementptr inbounds i8, ptr %128, i64 -24 - %136 = load i64, ptr %135, align 8, !range !57, !noalias !748, !noundef !4 + %136 = load i64, ptr %135, align 8, !range !57, !noalias !763, !noundef !4 %137 = icmp eq i64 %136, %1 br i1 %137, label %138, label %127 @@ -6652,13 +6737,13 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle 138: ; preds = %134 %139 = getelementptr inbounds i8, ptr %128, i64 -8 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %8), !noalias !752 - %.val.i = load ptr, ptr %139, align 8, !noalias !752, !nonnull !4, !noundef !4 - %.val.i.i.i190 = load i64, ptr %.val.i, align 8, !noalias !752, !noundef !4 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %8), !noalias !767 + %.val.i = load ptr, ptr %139, align 8, !noalias !767, !nonnull !4, !noundef !4 + %.val.i.i.i190 = load i64, ptr %.val.i, align 8, !noalias !767, !noundef !4 %140 = icmp ne i64 %.val.i.i.i190, 0 call void @llvm.assume(i1 %140) %141 = add i64 %.val.i.i.i190, 1 - store i64 %141, ptr %.val.i, align 8, !noalias !752 + store i64 %141, ptr %.val.i, align 8, !noalias !767 %142 = icmp eq i64 %141, 0 br i1 %142, label %143, label %"_ZN65_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h30edba8ce2c3e507E.exit.i" @@ -6668,12 +6753,12 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle "_ZN65_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h30edba8ce2c3e507E.exit.i": ; preds = %138 %144 = getelementptr inbounds i8, ptr %128, i64 -24 - store ptr %.val.i, ptr %8, align 8, !noalias !752 + store ptr %.val.i, ptr %8, align 8, !noalias !767 call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %.sroa.7.i) - call void @llvm.experimental.noalias.scope.decl(metadata !756) + call void @llvm.experimental.noalias.scope.decl(metadata !771) %145 = getelementptr inbounds i8, ptr %128, i64 -16 - %146 = load i8, ptr %145, align 8, !range !5, !alias.scope !756, !noalias !759, !noundef !4 - %147 = load i64, ptr %144, align 8, !range !57, !alias.scope !756, !noalias !759, !noundef !4 + %146 = load i8, ptr %145, align 8, !range !5, !alias.scope !771, !noalias !774, !noundef !4 + %147 = load i64, ptr %144, align 8, !range !57, !alias.scope !771, !noalias !774, !noundef !4 %148 = and i64 %147, 3 %149 = icmp eq i64 %148, 0 br i1 %149, label %150, label %154 @@ -6681,50 +6766,50 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle 150: ; preds = %"_ZN65_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h30edba8ce2c3e507E.exit.i" %151 = inttoptr i64 %147 to ptr %152 = getelementptr inbounds nuw i8, ptr %151, i64 16 - %153 = atomicrmw add ptr %152, i64 1 seq_cst, align 8, !noalias !761 + %153 = atomicrmw add ptr %152, i64 1 seq_cst, align 8, !noalias !776 br label %154 154: ; preds = %150, %"_ZN65_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h30edba8ce2c3e507E.exit.i" %155 = getelementptr inbounds i8, ptr %128, i64 -15 - %156 = load i8, ptr %155, align 1, !range !5, !alias.scope !756, !noalias !759, !noundef !4 - call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %7), !noalias !761 + %156 = load i8, ptr %155, align 1, !range !5, !alias.scope !771, !noalias !774, !noundef !4 + call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %7), !noalias !776 %157 = getelementptr inbounds i8, ptr %128, i64 -32 %158 = getelementptr inbounds i8, ptr %128, i64 -40 - %159 = load ptr, ptr %158, align 8, !alias.scope !762, !noalias !765, !nonnull !4, !noundef !4 - %160 = load i64, ptr %157, align 8, !alias.scope !762, !noalias !765, !noundef !4 + %159 = load ptr, ptr %158, align 8, !alias.scope !777, !noalias !780, !nonnull !4, !noundef !4 + %160 = load i64, ptr %157, align 8, !alias.scope !777, !noalias !780, !noundef !4 invoke void @"_ZN52_$LT$T$u20$as$u20$alloc..slice..hack..ConvertVec$GT$6to_vec17he2817477af474896E.llvm.204215390286363894"(ptr noalias noundef nonnull sret([24 x i8]) align 8 captures(none) dereferenceable(24) %7, ptr noundef nonnull align 8 %159, i64 noundef %160) - to label %167 unwind label %161, !noalias !761 + to label %167 unwind label %161, !noalias !776 161: ; preds = %154 %162 = landingpad { ptr, i32 } cleanup invoke fastcc void @"_ZN4core3ptr84drop_in_place$LT$string_cache..atom..Atom$LT$markup5ever..LocalNameStaticSet$GT$$GT$17h0e9d66411fdb076aE"(i64 %147) #17 - to label %.body.i unwind label %163, !noalias !761 + to label %.body.i unwind label %163, !noalias !776 163: ; preds = %161 %164 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer - call void @_ZN4core9panicking16panic_in_cleanup17hfa05ef7d5107e16aE() #15, !noalias !761 + call void @_ZN4core9panicking16panic_in_cleanup17hfa05ef7d5107e16aE() #15, !noalias !776 unreachable .body.i: ; preds = %161 invoke void @"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"(ptr noalias noundef nonnull align 8 dereferenceable(8) %8) #17 - to label %.thread445 unwind label %165, !noalias !752 + to label %.thread445 unwind label %165, !noalias !767 165: ; preds = %.body.i %166 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer - call void @_ZN4core9panicking16panic_in_cleanup17hfa05ef7d5107e16aE() #15, !noalias !752 + call void @_ZN4core9panicking16panic_in_cleanup17hfa05ef7d5107e16aE() #15, !noalias !767 unreachable 167: ; preds = %154 - %.sroa.6416.16.copyload = load i64, ptr %7, align 8, !noalias !767 + %.sroa.6416.16.copyload = load i64, ptr %7, align 8, !noalias !782 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.sroa.9.sroa.0, ptr noundef nonnull align 8 dereferenceable(16) %.sroa.8417.16..sroa_idx, i64 16, i1 false) - call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %7), !noalias !761 - %168 = load ptr, ptr %8, align 8, !noalias !752, !nonnull !4, !noundef !4 + call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %7), !noalias !776 + %168 = load ptr, ptr %8, align 8, !noalias !767, !nonnull !4, !noundef !4 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 2 dereferenceable(6) %.sroa.9.sroa.8, ptr noundef nonnull align 2 dereferenceable(6) %.sroa.7.i, i64 6, i1 false) call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %.sroa.7.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %8), !noalias !752 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %8), !noalias !767 %.not624 = icmp eq i64 %.sroa.6416.16.copyload, -9223372036854775808 br i1 %.not624, label %.thread476, label %172 @@ -6773,7 +6858,7 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle 179: ; preds = %176 %180 = getelementptr inbounds i8, ptr %177, i64 -8 %181 = add i64 %.sroa.03.0.i, -1 - %.val9.i195 = load ptr, ptr %180, align 8, !noalias !768, !nonnull !4, !noundef !4 + %.val9.i195 = load ptr, ptr %180, align 8, !noalias !783, !nonnull !4, !noundef !4 %182 = icmp eq ptr %.val9.i195, %168 br i1 %182, label %190, label %176 @@ -6822,8 +6907,8 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle .lr.ph.i198: ; preds = %190, %_ZN4core3ops8function2Fn4call17hae62364ec96f019aE.exit.i %.sroa.5.012.i = phi ptr [ %192, %_ZN4core3ops8function2Fn4call17hae62364ec96f019aE.exit.i ], [ %175, %190 ] %192 = getelementptr inbounds i8, ptr %.sroa.5.012.i, i64 -8 - %.val.i200 = load ptr, ptr %192, align 8, !noalias !772, !nonnull !4, !noundef !4 - %.val.i.i.i201 = load i64, ptr %.val.i200, align 8, !noalias !772, !noundef !4 + %.val.i200 = load ptr, ptr %192, align 8, !noalias !787, !nonnull !4, !noundef !4 + %.val.i.i.i201 = load i64, ptr %.val.i200, align 8, !noalias !787, !noundef !4 %193 = icmp ne i64 %.val.i.i.i201, 0 call void @llvm.assume(i1 %193) %194 = icmp eq i64 %.val.i.i.i201, -1 @@ -6844,7 +6929,7 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle .noexc203: ; preds = %197 %199 = extractvalue { ptr, ptr } %198, 0 %200 = extractvalue { ptr, ptr } %198, 1 - %.val5.i = load i64, ptr %199, align 8, !alias.scope !775, !noalias !778, !noundef !4 + %.val5.i = load i64, ptr %199, align 8, !alias.scope !790, !noalias !793, !noundef !4 %.val6.i = load i64, ptr %200, align 8 switch i64 %.val5.i, label %_ZN4core3ops8function2Fn4call17hae62364ec96f019aE.exit.i [ i64 30064771074, label %201 @@ -6888,8 +6973,8 @@ _ZN4core3ops8function2Fn4call17hae62364ec96f019aE.exit.i: ; preds = %203, %202, 205: ; preds = %183 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %38) call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %37) - call void @llvm.experimental.noalias.scope.decl(metadata !780) - %206 = load i64, ptr %67, align 8, !alias.scope !780, !noalias !783, !noundef !4 + call void @llvm.experimental.noalias.scope.decl(metadata !795) + %206 = load i64, ptr %67, align 8, !alias.scope !795, !noalias !798, !noundef !4 %.not.i204 = icmp ult i64 %187, %206 br i1 %.not.i204, label %210, label %.invoke @@ -6904,47 +6989,47 @@ _ZN4core3ops8function2Fn4call17hae62364ec96f019aE.exit.i: ; preds = %203, %202, unreachable 210: ; preds = %205 - %211 = load ptr, ptr %66, align 8, !alias.scope !780, !noalias !783, !nonnull !4, !noundef !4 + %211 = load ptr, ptr %66, align 8, !alias.scope !795, !noalias !798, !nonnull !4, !noundef !4 %212 = getelementptr inbounds i8, ptr %211, i64 %186 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %37, ptr noundef nonnull align 8 dereferenceable(48) %212, i64 48, i1 false), !noalias !786 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %37, ptr noundef nonnull align 8 dereferenceable(48) %212, i64 48, i1 false), !noalias !801 %213 = getelementptr inbounds nuw i8, ptr %212, i64 48 %214 = xor i64 %187, -1 %215 = add i64 %206, %214 %216 = mul i64 %215, 48 - call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %212, ptr nonnull align 8 %213, i64 %216, i1 false), !noalias !787 + call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %212, ptr nonnull align 8 %213, i64 %216, i1 false), !noalias !802 %217 = add i64 %206, -1 - store i64 %217, ptr %67, align 8, !alias.scope !780, !noalias !783 - call void @llvm.experimental.noalias.scope.decl(metadata !788) - %218 = load i64, ptr %37, align 8, !range !368, !alias.scope !788, !noundef !4 + store i64 %217, ptr %67, align 8, !alias.scope !795, !noalias !798 + call void @llvm.experimental.noalias.scope.decl(metadata !803) + %218 = load i64, ptr %37, align 8, !range !368, !alias.scope !803, !noundef !4 %.not.i206 = icmp eq i64 %218, -9223372036854775808 br i1 %.not.i206, label %"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17h55dea538c53e7d70E.exit", label %219 219: ; preds = %210 %220 = getelementptr inbounds nuw i8, ptr %37, i64 40 - call void @llvm.experimental.noalias.scope.decl(metadata !791) - call void @llvm.experimental.noalias.scope.decl(metadata !794) - %221 = load ptr, ptr %220, align 8, !alias.scope !797, !nonnull !4, !noundef !4 - %222 = load i64, ptr %221, align 8, !noalias !797, !noundef !4 + call void @llvm.experimental.noalias.scope.decl(metadata !806) + call void @llvm.experimental.noalias.scope.decl(metadata !809) + %221 = load ptr, ptr %220, align 8, !alias.scope !812, !nonnull !4, !noundef !4 + %222 = load i64, ptr %221, align 8, !noalias !812, !noundef !4 %223 = add i64 %222, -1 - store i64 %223, ptr %221, align 8, !noalias !797 + store i64 %223, ptr %221, align 8, !noalias !812 %224 = icmp eq i64 %223, 0 br i1 %224, label %225, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit.i" 225: ; preds = %219 %226 = getelementptr inbounds nuw i8, ptr %221, i64 16 invoke void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17hed3cc8b884d652aeE.llvm.5005022800651993668"(ptr noalias noundef nonnull align 8 dereferenceable(120) %226) - to label %.noexc.i unwind label %232, !noalias !788 + to label %.noexc.i unwind label %232, !noalias !803 .noexc.i: ; preds = %225 %227 = getelementptr inbounds nuw i8, ptr %221, i64 8 - %228 = load i64, ptr %227, align 8, !noalias !797, !noundef !4 + %228 = load i64, ptr %227, align 8, !noalias !812, !noundef !4 %229 = add i64 %228, -1 - store i64 %229, ptr %227, align 8, !noalias !797 + store i64 %229, ptr %227, align 8, !noalias !812 %230 = icmp eq i64 %229, 0 br i1 %230, label %231, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit.i" 231: ; preds = %.noexc.i - call void @__rust_dealloc(ptr noundef nonnull %221, i64 noundef 136, i64 noundef 8) #16, !noalias !797 + call void @__rust_dealloc(ptr noundef nonnull %221, i64 noundef 136, i64 noundef 8) #16, !noalias !812 br label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit.i" 232: ; preds = %225 @@ -7078,7 +7163,7 @@ _ZN4core3ops8function2Fn4call17hae62364ec96f019aE.exit.i: ; preds = %203, %202, %273 = ptrtoint ptr %131 to i64 %274 = ptrtoint ptr %124 to i64 %275 = sub nuw i64 %273, %274 - %.pre2249 = load i64, ptr %48, align 8, !alias.scope !798 + %.pre2249 = load i64, ptr %48, align 8, !alias.scope !813 br label %279 .loopexit646: ; preds = %264 @@ -7091,16 +7176,16 @@ _ZN4core3ops8function2Fn4call17hae62364ec96f019aE.exit.i: ; preds = %203, %202, %280 = phi i64 [ %251, %.loopexit646 ], [ %.pre2249, %.loopexit633 ] %281 = phi i64 [ %278, %.loopexit646 ], [ %275, %.loopexit633 ] %282 = udiv exact i64 %281, 48 - call void @llvm.experimental.noalias.scope.decl(metadata !798) + call void @llvm.experimental.noalias.scope.decl(metadata !813) %283 = icmp ugt i64 %181, %280 br i1 %283, label %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$8truncate17h1d961b6b829894abE.exit", label %284 284: ; preds = %279 %285 = sub nuw i64 %280, %181 - %286 = load ptr, ptr %52, align 8, !alias.scope !798, !nonnull !4, !noundef !4 + %286 = load ptr, ptr %52, align 8, !alias.scope !813, !nonnull !4, !noundef !4 %287 = getelementptr inbounds ptr, ptr %286, i64 %181 - store i64 %181, ptr %48, align 8, !alias.scope !798 - call void @llvm.experimental.noalias.scope.decl(metadata !801) + store i64 %181, ptr %48, align 8, !alias.scope !813 + call void @llvm.experimental.noalias.scope.decl(metadata !816) %288 = icmp eq i64 %280, %181 br i1 %288, label %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$8truncate17h1d961b6b829894abE.exit", label %.lr.ph.i.i @@ -7108,30 +7193,30 @@ _ZN4core3ops8function2Fn4call17hae62364ec96f019aE.exit.i: ; preds = %203, %202, %.sroa.0.07.i.i = phi i64 [ %290, %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit.i.i" ], [ 0, %284 ] %289 = getelementptr inbounds [0 x ptr], ptr %287, i64 0, i64 %.sroa.0.07.i.i %290 = add nuw i64 %.sroa.0.07.i.i, 1 - call void @llvm.experimental.noalias.scope.decl(metadata !804) - call void @llvm.experimental.noalias.scope.decl(metadata !807) - %291 = load ptr, ptr %289, align 8, !alias.scope !810, !noalias !798, !nonnull !4, !noundef !4 - %292 = load i64, ptr %291, align 8, !noalias !811, !noundef !4 + call void @llvm.experimental.noalias.scope.decl(metadata !819) + call void @llvm.experimental.noalias.scope.decl(metadata !822) + %291 = load ptr, ptr %289, align 8, !alias.scope !825, !noalias !813, !nonnull !4, !noundef !4 + %292 = load i64, ptr %291, align 8, !noalias !826, !noundef !4 %293 = add i64 %292, -1 - store i64 %293, ptr %291, align 8, !noalias !811 + store i64 %293, ptr %291, align 8, !noalias !826 %294 = icmp eq i64 %293, 0 br i1 %294, label %295, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit.i.i" 295: ; preds = %.lr.ph.i.i %296 = getelementptr inbounds nuw i8, ptr %291, i64 16 invoke void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17hed3cc8b884d652aeE.llvm.5005022800651993668"(ptr noalias noundef nonnull align 8 dereferenceable(120) %296) - to label %.noexc.i.i unwind label %305, !noalias !812 + to label %.noexc.i.i unwind label %305, !noalias !827 .noexc.i.i: ; preds = %295 %297 = getelementptr inbounds nuw i8, ptr %291, i64 8 - %298 = load i64, ptr %297, align 8, !noalias !811, !noundef !4 + %298 = load i64, ptr %297, align 8, !noalias !826, !noundef !4 %299 = add i64 %298, -1 - store i64 %299, ptr %297, align 8, !noalias !811 + store i64 %299, ptr %297, align 8, !noalias !826 %300 = icmp eq i64 %299, 0 br i1 %300, label %301, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit.i.i" 301: ; preds = %.noexc.i.i - call void @__rust_dealloc(ptr noundef nonnull %291, i64 noundef 136, i64 noundef 8) #16, !noalias !811 + call void @__rust_dealloc(ptr noundef nonnull %291, i64 noundef 136, i64 noundef 8) #16, !noalias !826 br label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit.i.i" "_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit.i.i": ; preds = %301, %.noexc.i.i, %.lr.ph.i.i @@ -7152,12 +7237,12 @@ _ZN4core3ops8function2Fn4call17hae62364ec96f019aE.exit.i: ; preds = %203, %202, %308 = getelementptr inbounds [0 x ptr], ptr %287, i64 0, i64 %.sroa.0.1.i.i %309 = add i64 %.sroa.0.1.i.i, 1 invoke void @"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"(ptr noalias noundef nonnull align 8 dereferenceable(8) %308) #17 - to label %303 unwind label %310, !noalias !798 + to label %303 unwind label %310, !noalias !813 310: ; preds = %307 %311 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer - call void @_ZN4core9panicking16panic_in_cleanup17hfa05ef7d5107e16aE() #15, !noalias !798 + call void @_ZN4core9panicking16panic_in_cleanup17hfa05ef7d5107e16aE() #15, !noalias !813 unreachable "_ZN65_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h30edba8ce2c3e507E.exit": ; preds = %268 @@ -7171,53 +7256,53 @@ _ZN4core3ops8function2Fn4call17hae62364ec96f019aE.exit.i: ; preds = %203, %202, "_ZN5alloc3vec16Vec$LT$T$C$A$GT$8truncate17h1d961b6b829894abE.exit": ; preds = %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit.i.i", %284, %279 call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %33) - call void @llvm.experimental.noalias.scope.decl(metadata !813) - %315 = load i64, ptr %67, align 8, !alias.scope !813, !noalias !816, !noundef !4 + call void @llvm.experimental.noalias.scope.decl(metadata !828) + %315 = load i64, ptr %67, align 8, !alias.scope !828, !noalias !831, !noundef !4 %.not.i218 = icmp ult i64 %282, %315 br i1 %.not.i218, label %316, label %.invoke 316: ; preds = %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$8truncate17h1d961b6b829894abE.exit" - %317 = load ptr, ptr %66, align 8, !alias.scope !813, !noalias !816, !nonnull !4, !noundef !4 + %317 = load ptr, ptr %66, align 8, !alias.scope !828, !noalias !831, !nonnull !4, !noundef !4 %318 = getelementptr inbounds i8, ptr %317, i64 %281 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %33, ptr noundef nonnull align 8 dereferenceable(48) %318, i64 48, i1 false), !noalias !819 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %33, ptr noundef nonnull align 8 dereferenceable(48) %318, i64 48, i1 false), !noalias !834 %319 = getelementptr inbounds nuw i8, ptr %318, i64 48 %320 = xor i64 %282, -1 %321 = add i64 %315, %320 %322 = mul i64 %321, 48 - call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %318, ptr nonnull align 8 %319, i64 %322, i1 false), !noalias !820 + call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %318, ptr nonnull align 8 %319, i64 %322, i1 false), !noalias !835 %323 = add i64 %315, -1 - store i64 %323, ptr %67, align 8, !alias.scope !813, !noalias !816 - call void @llvm.experimental.noalias.scope.decl(metadata !821) - %324 = load i64, ptr %33, align 8, !range !368, !alias.scope !821, !noundef !4 + store i64 %323, ptr %67, align 8, !alias.scope !828, !noalias !831 + call void @llvm.experimental.noalias.scope.decl(metadata !836) + %324 = load i64, ptr %33, align 8, !range !368, !alias.scope !836, !noundef !4 %.not.i221 = icmp eq i64 %324, -9223372036854775808 br i1 %.not.i221, label %"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17h55dea538c53e7d70E.exit228", label %325 325: ; preds = %316 %326 = getelementptr inbounds nuw i8, ptr %33, i64 40 - call void @llvm.experimental.noalias.scope.decl(metadata !824) - call void @llvm.experimental.noalias.scope.decl(metadata !827) - %327 = load ptr, ptr %326, align 8, !alias.scope !830, !nonnull !4, !noundef !4 - %328 = load i64, ptr %327, align 8, !noalias !830, !noundef !4 + call void @llvm.experimental.noalias.scope.decl(metadata !839) + call void @llvm.experimental.noalias.scope.decl(metadata !842) + %327 = load ptr, ptr %326, align 8, !alias.scope !845, !nonnull !4, !noundef !4 + %328 = load i64, ptr %327, align 8, !noalias !845, !noundef !4 %329 = add i64 %328, -1 - store i64 %329, ptr %327, align 8, !noalias !830 + store i64 %329, ptr %327, align 8, !noalias !845 %330 = icmp eq i64 %329, 0 br i1 %330, label %331, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit.i222" 331: ; preds = %325 %332 = getelementptr inbounds nuw i8, ptr %327, i64 16 invoke void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17hed3cc8b884d652aeE.llvm.5005022800651993668"(ptr noalias noundef nonnull align 8 dereferenceable(120) %332) - to label %.noexc.i223 unwind label %338, !noalias !821 + to label %.noexc.i223 unwind label %338, !noalias !836 .noexc.i223: ; preds = %331 %333 = getelementptr inbounds nuw i8, ptr %327, i64 8 - %334 = load i64, ptr %333, align 8, !noalias !830, !noundef !4 + %334 = load i64, ptr %333, align 8, !noalias !845, !noundef !4 %335 = add i64 %334, -1 - store i64 %335, ptr %333, align 8, !noalias !830 + store i64 %335, ptr %333, align 8, !noalias !845 %336 = icmp eq i64 %335, 0 br i1 %336, label %337, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit.i222" 337: ; preds = %.noexc.i223 - call void @__rust_dealloc(ptr noundef nonnull %327, i64 noundef 136, i64 noundef 8) #16, !noalias !830 + call void @__rust_dealloc(ptr noundef nonnull %327, i64 noundef 136, i64 noundef 8) #16, !noalias !845 br label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit.i222" 338: ; preds = %331 @@ -7252,9 +7337,9 @@ _ZN4core3ops8function2Fn4call17hae62364ec96f019aE.exit.i: ; preds = %203, %202, 345: ; preds = %236 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %40) - %346 = load i64, ptr %168, align 8, !noalias !831, !noundef !4 + %346 = load i64, ptr %168, align 8, !noalias !846, !noundef !4 %347 = add i64 %346, -1 - store i64 %347, ptr %168, align 8, !noalias !831 + store i64 %347, ptr %168, align 8, !noalias !846 %348 = icmp eq i64 %347, 0 br i1 %348, label %349, label %356 @@ -7265,14 +7350,14 @@ _ZN4core3ops8function2Fn4call17hae62364ec96f019aE.exit.i: ; preds = %203, %202, .noexc229: ; preds = %349 %351 = getelementptr inbounds nuw i8, ptr %168, i64 8 - %352 = load i64, ptr %351, align 8, !noalias !831, !noundef !4 + %352 = load i64, ptr %351, align 8, !noalias !846, !noundef !4 %353 = add i64 %352, -1 - store i64 %353, ptr %351, align 8, !noalias !831 + store i64 %353, ptr %351, align 8, !noalias !846 %354 = icmp eq i64 %353, 0 br i1 %354, label %355, label %356 355: ; preds = %.noexc229 - call void @__rust_dealloc(ptr noundef nonnull %168, i64 noundef 136, i64 noundef 8) #16, !noalias !831 + call void @__rust_dealloc(ptr noundef nonnull %168, i64 noundef 136, i64 noundef 8) #16, !noalias !846 br label %356 356: ; preds = %345, %.noexc229, %355 @@ -7419,12 +7504,12 @@ _ZN4core3ops8function2Fn4call17hae62364ec96f019aE.exit.i: ; preds = %203, %202, br i1 %.sroa.042.31394, label %390, label %404 390: ; preds = %"_ZN65_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h30edba8ce2c3e507E.exit237" - call void @llvm.experimental.noalias.scope.decl(metadata !836) - call void @llvm.experimental.noalias.scope.decl(metadata !839) - %391 = load ptr, ptr %30, align 8, !alias.scope !842, !nonnull !4, !noundef !4 - %392 = load i64, ptr %391, align 8, !noalias !842, !noundef !4 + call void @llvm.experimental.noalias.scope.decl(metadata !851) + call void @llvm.experimental.noalias.scope.decl(metadata !854) + %391 = load ptr, ptr %30, align 8, !alias.scope !857, !nonnull !4, !noundef !4 + %392 = load i64, ptr %391, align 8, !noalias !857, !noundef !4 %393 = add i64 %392, -1 - store i64 %393, ptr %391, align 8, !noalias !842 + store i64 %393, ptr %391, align 8, !noalias !857 %394 = icmp eq i64 %393, 0 br i1 %394, label %395, label %404 @@ -7435,14 +7520,14 @@ _ZN4core3ops8function2Fn4call17hae62364ec96f019aE.exit.i: ; preds = %203, %202, .noexc238: ; preds = %395 %397 = getelementptr inbounds nuw i8, ptr %391, i64 8 - %398 = load i64, ptr %397, align 8, !noalias !842, !noundef !4 + %398 = load i64, ptr %397, align 8, !noalias !857, !noundef !4 %399 = add i64 %398, -1 - store i64 %399, ptr %397, align 8, !noalias !842 + store i64 %399, ptr %397, align 8, !noalias !857 %400 = icmp eq i64 %399, 0 br i1 %400, label %401, label %404 401: ; preds = %.noexc238 - call void @__rust_dealloc(ptr noundef nonnull %391, i64 noundef 136, i64 noundef 8) #16, !noalias !842 + call void @__rust_dealloc(ptr noundef nonnull %391, i64 noundef 136, i64 noundef 8) #16, !noalias !857 br label %404 402: ; preds = %395 @@ -7476,13 +7561,13 @@ _ZN4core3ops8function2Fn4call17hae62364ec96f019aE.exit.i: ; preds = %203, %202, %.sroa.02.014.i242 = phi i64 [ %419, %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h153c47366512fb12E.exit.thread.i246" ], [ 0, %409 ] %414 = phi ptr [ %415, %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h153c47366512fb12E.exit.thread.i246" ], [ %410, %409 ] %415 = getelementptr inbounds nuw i8, ptr %414, i64 48 - %.val8.i243 = load i64, ptr %414, align 8, !range !368, !noalias !843, !noundef !4 + %.val8.i243 = load i64, ptr %414, align 8, !range !368, !noalias !858, !noundef !4 %416 = icmp eq i64 %.val8.i243, -9223372036854775808 br i1 %416, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h153c47366512fb12E.exit.thread.i246", label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h153c47366512fb12E.exit.i244" "_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h153c47366512fb12E.exit.i244": ; preds = %.lr.ph.i240 %417 = getelementptr i8, ptr %414, i64 40 - %.val9.i245 = load ptr, ptr %417, align 8, !noalias !843, !nonnull !4, !noundef !4 + %.val9.i245 = load ptr, ptr %417, align 8, !noalias !858, !nonnull !4, !noundef !4 %418 = icmp eq ptr %.val9.i245, %.val171 br i1 %418, label %434, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h153c47366512fb12E.exit.thread.i246" @@ -7503,13 +7588,13 @@ _ZN4core3ops8function2Fn4call17hae62364ec96f019aE.exit.i: ; preds = %203, %202, %.sroa.02.014.i253 = phi i64 [ %431, %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h153c47366512fb12E.exit.thread.i257" ], [ 0, %421 ] %426 = phi ptr [ %427, %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h153c47366512fb12E.exit.thread.i257" ], [ %422, %421 ] %427 = getelementptr inbounds nuw i8, ptr %426, i64 48 - %.val8.i254 = load i64, ptr %426, align 8, !range !368, !noalias !847, !noundef !4 + %.val8.i254 = load i64, ptr %426, align 8, !range !368, !noalias !862, !noundef !4 %428 = icmp eq i64 %.val8.i254, -9223372036854775808 br i1 %428, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h153c47366512fb12E.exit.thread.i257", label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h153c47366512fb12E.exit.i255" "_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h153c47366512fb12E.exit.i255": ; preds = %.lr.ph.i251 %429 = getelementptr i8, ptr %426, i64 40 - %.val9.i256 = load ptr, ptr %429, align 8, !noalias !847, !nonnull !4, !noundef !4 + %.val9.i256 = load ptr, ptr %429, align 8, !noalias !862, !nonnull !4, !noundef !4 %430 = icmp eq ptr %.val9.i256, %.val171 br i1 %430, label %630, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h153c47366512fb12E.exit.thread.i257" @@ -7519,8 +7604,8 @@ _ZN4core3ops8function2Fn4call17hae62364ec96f019aE.exit.i: ; preds = %203, %202, br i1 %432, label %"_ZN4core3ptr144drop_in_place$LT$core..option..Option$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$$GT$17h4250528eb6f4914eE.exit", label %.lr.ph.i251 .loopexit: ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h153c47366512fb12E.exit.thread.i246", %409 - call void @llvm.experimental.noalias.scope.decl(metadata !851) - %433 = load i64, ptr %48, align 8, !alias.scope !851, !noalias !854, !noundef !4 + call void @llvm.experimental.noalias.scope.decl(metadata !866) + %433 = load i64, ptr %48, align 8, !alias.scope !866, !noalias !869, !noundef !4 %.not.i262 = icmp ult i64 %382, %433 br i1 %.not.i262, label %439, label %.invoke3191 @@ -7534,18 +7619,18 @@ _ZN4core3ops8function2Fn4call17hae62364ec96f019aE.exit.i: ; preds = %203, %202, br i1 %438, label %461, label %466 439: ; preds = %.loopexit - %440 = load ptr, ptr %52, align 8, !alias.scope !851, !noalias !854, !nonnull !4, !noundef !4 + %440 = load ptr, ptr %52, align 8, !alias.scope !866, !noalias !869, !nonnull !4, !noundef !4 %441 = getelementptr inbounds ptr, ptr %440, i64 %382 - %442 = load ptr, ptr %441, align 8, !noalias !856, !nonnull !4, !noundef !4 + %442 = load ptr, ptr %441, align 8, !noalias !871, !nonnull !4, !noundef !4 %443 = getelementptr inbounds nuw i8, ptr %441, i64 8 %444 = sub i64 %433, %.sroa.089.01395 %445 = shl i64 %444, 3 - call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %441, ptr nonnull align 8 %443, i64 %445, i1 false), !noalias !856 + call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %441, ptr nonnull align 8 %443, i64 %445, i1 false), !noalias !871 %446 = add i64 %433, -1 - store i64 %446, ptr %48, align 8, !alias.scope !851, !noalias !854 - %447 = load i64, ptr %442, align 8, !noalias !857, !noundef !4 + store i64 %446, ptr %48, align 8, !alias.scope !866, !noalias !869 + %447 = load i64, ptr %442, align 8, !noalias !872, !noundef !4 %448 = add i64 %447, -1 - store i64 %448, ptr %442, align 8, !noalias !857 + store i64 %448, ptr %442, align 8, !noalias !872 %449 = icmp eq i64 %448, 0 br i1 %449, label %450, label %.backedge @@ -7556,14 +7641,14 @@ _ZN4core3ops8function2Fn4call17hae62364ec96f019aE.exit.i: ; preds = %203, %202, .noexc264: ; preds = %450 %452 = getelementptr inbounds nuw i8, ptr %442, i64 8 - %453 = load i64, ptr %452, align 8, !noalias !857, !noundef !4 + %453 = load i64, ptr %452, align 8, !noalias !872, !noundef !4 %454 = add i64 %453, -1 - store i64 %454, ptr %452, align 8, !noalias !857 + store i64 %454, ptr %452, align 8, !noalias !872 %455 = icmp eq i64 %454, 0 br i1 %455, label %456, label %.backedge 456: ; preds = %.noexc264 - call void @__rust_dealloc(ptr noundef nonnull %442, i64 noundef 136, i64 noundef 8) #16, !noalias !857 + call void @__rust_dealloc(ptr noundef nonnull %442, i64 noundef 136, i64 noundef 8) #16, !noalias !872 br label %.backedge .backedge: ; preds = %659, %.noexc308, %676, %439, %.noexc264, %456, %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit294" @@ -7598,12 +7683,12 @@ _ZN4core3ops8function2Fn4call17hae62364ec96f019aE.exit.i: ; preds = %203, %202, to label %108 unwind label %.loopexit.split-lp.loopexit.split-lp 470: ; preds = %466 - call void @llvm.experimental.noalias.scope.decl(metadata !862) - call void @llvm.experimental.noalias.scope.decl(metadata !865) + call void @llvm.experimental.noalias.scope.decl(metadata !877) + call void @llvm.experimental.noalias.scope.decl(metadata !880) %471 = getelementptr inbounds nuw i8, ptr %436, i64 32 - %472 = load i8, ptr %471, align 8, !range !5, !alias.scope !865, !noalias !862, !noundef !4 + %472 = load i8, ptr %471, align 8, !range !5, !alias.scope !880, !noalias !877, !noundef !4 %473 = getelementptr inbounds nuw i8, ptr %436, i64 24 - %474 = load i64, ptr %473, align 8, !range !57, !alias.scope !865, !noalias !862, !noundef !4 + %474 = load i64, ptr %473, align 8, !range !57, !alias.scope !880, !noalias !877, !noundef !4 %475 = and i64 %474, 3 %476 = icmp eq i64 %475, 0 br i1 %476, label %477, label %481 @@ -7611,38 +7696,38 @@ _ZN4core3ops8function2Fn4call17hae62364ec96f019aE.exit.i: ; preds = %203, %202, 477: ; preds = %470 %478 = inttoptr i64 %474 to ptr %479 = getelementptr inbounds nuw i8, ptr %478, i64 16 - %480 = atomicrmw add ptr %479, i64 1 seq_cst, align 8, !noalias !867 + %480 = atomicrmw add ptr %479, i64 1 seq_cst, align 8, !noalias !882 br label %481 481: ; preds = %477, %470 %482 = getelementptr inbounds nuw i8, ptr %436, i64 33 - %483 = load i8, ptr %482, align 1, !range !5, !alias.scope !865, !noalias !862, !noundef !4 - call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %6), !noalias !867 + %483 = load i8, ptr %482, align 1, !range !5, !alias.scope !880, !noalias !877, !noundef !4 + call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %6), !noalias !882 %484 = getelementptr inbounds nuw i8, ptr %436, i64 16 %485 = getelementptr inbounds nuw i8, ptr %436, i64 8 - %486 = load ptr, ptr %485, align 8, !alias.scope !868, !noalias !871, !nonnull !4, !noundef !4 - %487 = load i64, ptr %484, align 8, !alias.scope !868, !noalias !871, !noundef !4 + %486 = load ptr, ptr %485, align 8, !alias.scope !883, !noalias !886, !nonnull !4, !noundef !4 + %487 = load i64, ptr %484, align 8, !alias.scope !883, !noalias !886, !noundef !4 invoke void @"_ZN52_$LT$T$u20$as$u20$alloc..slice..hack..ConvertVec$GT$6to_vec17he2817477af474896E.llvm.204215390286363894"(ptr noalias noundef nonnull sret([24 x i8]) align 8 captures(none) dereferenceable(24) %6, ptr noundef nonnull align 8 %486, i64 noundef %487) - to label %492 unwind label %488, !noalias !867 + to label %492 unwind label %488, !noalias !882 488: ; preds = %481 %489 = landingpad { ptr, i32 } cleanup invoke fastcc void @"_ZN4core3ptr84drop_in_place$LT$string_cache..atom..Atom$LT$markup5ever..LocalNameStaticSet$GT$$GT$17h0e9d66411fdb076aE"(i64 %474) #17 - to label %.body266 unwind label %490, !noalias !867 + to label %.body266 unwind label %490, !noalias !882 490: ; preds = %488 %491 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer - call void @_ZN4core9panicking16panic_in_cleanup17hfa05ef7d5107e16aE() #15, !noalias !867 + call void @_ZN4core9panicking16panic_in_cleanup17hfa05ef7d5107e16aE() #15, !noalias !882 unreachable 492: ; preds = %481 - store i8 %472, ptr %72, align 8, !alias.scope !862, !noalias !865 - store i64 %474, ptr %73, align 8, !alias.scope !862, !noalias !865 - store i8 %483, ptr %74, align 1, !alias.scope !862, !noalias !865 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %27, ptr noundef nonnull align 8 dereferenceable(24) %6, i64 24, i1 false), !noalias !865 - call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %6), !noalias !867 + store i8 %472, ptr %72, align 8, !alias.scope !877, !noalias !880 + store i64 %474, ptr %73, align 8, !alias.scope !877, !noalias !880 + store i8 %483, ptr %74, align 1, !alias.scope !877, !noalias !880 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %27, ptr noundef nonnull align 8 dereferenceable(24) %6, i64 24, i1 false), !noalias !880 + call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %6), !noalias !882 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %25) call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %24) br i1 %476, label %493, label %497 @@ -7658,8 +7743,8 @@ _ZN4core3ops8function2Fn4call17hae62364ec96f019aE.exit.i: ; preds = %203, %202, store i64 30064771074, ptr %24, align 8 store i64 %474, ptr %76, align 8 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %23) - %498 = load ptr, ptr %78, align 8, !alias.scope !873, !noalias !876, !nonnull !4, !noundef !4 - %499 = load i64, ptr %77, align 8, !alias.scope !873, !noalias !876, !noundef !4 + %498 = load ptr, ptr %78, align 8, !alias.scope !888, !noalias !891, !nonnull !4, !noundef !4 + %499 = load i64, ptr %77, align 8, !alias.scope !888, !noalias !891, !noundef !4 invoke void @"_ZN52_$LT$T$u20$as$u20$alloc..slice..hack..ConvertVec$GT$6to_vec17he2817477af474896E.llvm.204215390286363894"(ptr noalias noundef nonnull sret([24 x i8]) align 8 captures(none) dereferenceable(24) %23, ptr noundef nonnull align 8 %498, i64 noundef %499) to label %"_ZN67_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hd7f602d787034465E.exit" unwind label %628 @@ -7703,12 +7788,12 @@ _ZN4core3ops8function2Fn4call17hae62364ec96f019aE.exit.i: ; preds = %203, %202, 511: ; preds = %"_ZN65_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h30edba8ce2c3e507E.exit270" %512 = load ptr, ptr %52, align 8, !nonnull !4, !noundef !4 %513 = getelementptr inbounds [0 x ptr], ptr %512, i64 0, i64 %382 - call void @llvm.experimental.noalias.scope.decl(metadata !878) - call void @llvm.experimental.noalias.scope.decl(metadata !881) - %514 = load ptr, ptr %513, align 8, !alias.scope !884, !nonnull !4, !noundef !4 - %515 = load i64, ptr %514, align 8, !noalias !884, !noundef !4 + call void @llvm.experimental.noalias.scope.decl(metadata !893) + call void @llvm.experimental.noalias.scope.decl(metadata !896) + %514 = load ptr, ptr %513, align 8, !alias.scope !899, !nonnull !4, !noundef !4 + %515 = load i64, ptr %514, align 8, !noalias !899, !noundef !4 %516 = add i64 %515, -1 - store i64 %516, ptr %514, align 8, !noalias !884 + store i64 %516, ptr %514, align 8, !noalias !899 %517 = icmp eq i64 %516, 0 br i1 %517, label %518, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit272" @@ -7719,14 +7804,14 @@ _ZN4core3ops8function2Fn4call17hae62364ec96f019aE.exit.i: ; preds = %203, %202, .noexc271: ; preds = %518 %520 = getelementptr inbounds nuw i8, ptr %514, i64 8 - %521 = load i64, ptr %520, align 8, !noalias !884, !noundef !4 + %521 = load i64, ptr %520, align 8, !noalias !899, !noundef !4 %522 = add i64 %521, -1 - store i64 %522, ptr %520, align 8, !noalias !884 + store i64 %522, ptr %520, align 8, !noalias !899 %523 = icmp eq i64 %522, 0 br i1 %523, label %524, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit272" 524: ; preds = %.noexc271 - call void @__rust_dealloc(ptr noundef nonnull %514, i64 noundef 136, i64 noundef 8) #16, !noalias !884 + call void @__rust_dealloc(ptr noundef nonnull %514, i64 noundef 136, i64 noundef 8) #16, !noalias !899 br label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit272" 525: ; preds = %"_ZN65_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h30edba8ce2c3e507E.exit270" @@ -7765,37 +7850,37 @@ _ZN4core3ops8function2Fn4call17hae62364ec96f019aE.exit.i: ; preds = %203, %202, 532: ; preds = %"_ZN65_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h30edba8ce2c3e507E.exit274" %533 = load ptr, ptr %66, align 8, !nonnull !4, !noundef !4 %534 = getelementptr inbounds nuw [0 x { i64, [5 x i64] }], ptr %533, i64 0, i64 %.sroa.02.014.i242 - call void @llvm.experimental.noalias.scope.decl(metadata !885) - %535 = load i64, ptr %534, align 8, !range !368, !alias.scope !885, !noundef !4 + call void @llvm.experimental.noalias.scope.decl(metadata !900) + %535 = load i64, ptr %534, align 8, !range !368, !alias.scope !900, !noundef !4 %.not.i275 = icmp eq i64 %535, -9223372036854775808 br i1 %.not.i275, label %"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17h55dea538c53e7d70E.exit281", label %536 536: ; preds = %532 %537 = getelementptr inbounds nuw i8, ptr %534, i64 40 - call void @llvm.experimental.noalias.scope.decl(metadata !888) - call void @llvm.experimental.noalias.scope.decl(metadata !891) - %538 = load ptr, ptr %537, align 8, !alias.scope !894, !nonnull !4, !noundef !4 - %539 = load i64, ptr %538, align 8, !noalias !894, !noundef !4 + call void @llvm.experimental.noalias.scope.decl(metadata !903) + call void @llvm.experimental.noalias.scope.decl(metadata !906) + %538 = load ptr, ptr %537, align 8, !alias.scope !909, !nonnull !4, !noundef !4 + %539 = load i64, ptr %538, align 8, !noalias !909, !noundef !4 %540 = add i64 %539, -1 - store i64 %540, ptr %538, align 8, !noalias !894 + store i64 %540, ptr %538, align 8, !noalias !909 %541 = icmp eq i64 %540, 0 br i1 %541, label %542, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit.i276" 542: ; preds = %536 %543 = getelementptr inbounds nuw i8, ptr %538, i64 16 invoke void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17hed3cc8b884d652aeE.llvm.5005022800651993668"(ptr noalias noundef nonnull align 8 dereferenceable(120) %543) - to label %.noexc.i277 unwind label %549, !noalias !885 + to label %.noexc.i277 unwind label %549, !noalias !900 .noexc.i277: ; preds = %542 %544 = getelementptr inbounds nuw i8, ptr %538, i64 8 - %545 = load i64, ptr %544, align 8, !noalias !894, !noundef !4 + %545 = load i64, ptr %544, align 8, !noalias !909, !noundef !4 %546 = add i64 %545, -1 - store i64 %546, ptr %544, align 8, !noalias !894 + store i64 %546, ptr %544, align 8, !noalias !909 %547 = icmp eq i64 %546, 0 br i1 %547, label %548, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit.i276" 548: ; preds = %.noexc.i277 - call void @__rust_dealloc(ptr noundef nonnull %538, i64 noundef 136, i64 noundef 8) #16, !noalias !894 + call void @__rust_dealloc(ptr noundef nonnull %538, i64 noundef 136, i64 noundef 8) #16, !noalias !909 br label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit.i276" 549: ; preds = %542 @@ -7831,12 +7916,12 @@ _ZN4core3ops8function2Fn4call17hae62364ec96f019aE.exit.i: ; preds = %203, %202, "_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17h55dea538c53e7d70E.exit281": ; preds = %532, %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit.i276" call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %534, ptr noundef nonnull align 8 dereferenceable(48) %21, i64 48, i1 false) call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %21) - call void @llvm.experimental.noalias.scope.decl(metadata !895) - call void @llvm.experimental.noalias.scope.decl(metadata !898) - %556 = load ptr, ptr %30, align 8, !alias.scope !901, !nonnull !4, !noundef !4 - %557 = load i64, ptr %556, align 8, !noalias !901, !noundef !4 + call void @llvm.experimental.noalias.scope.decl(metadata !910) + call void @llvm.experimental.noalias.scope.decl(metadata !913) + %556 = load ptr, ptr %30, align 8, !alias.scope !916, !nonnull !4, !noundef !4 + %557 = load i64, ptr %556, align 8, !noalias !916, !noundef !4 %558 = add i64 %557, -1 - store i64 %558, ptr %556, align 8, !noalias !901 + store i64 %558, ptr %556, align 8, !noalias !916 %559 = icmp eq i64 %558, 0 br i1 %559, label %560, label %569 @@ -7847,14 +7932,14 @@ _ZN4core3ops8function2Fn4call17hae62364ec96f019aE.exit.i: ; preds = %203, %202, .noexc282: ; preds = %560 %562 = getelementptr inbounds nuw i8, ptr %556, i64 8 - %563 = load i64, ptr %562, align 8, !noalias !901, !noundef !4 + %563 = load i64, ptr %562, align 8, !noalias !916, !noundef !4 %564 = add i64 %563, -1 - store i64 %564, ptr %562, align 8, !noalias !901 + store i64 %564, ptr %562, align 8, !noalias !916 %565 = icmp eq i64 %564, 0 br i1 %565, label %566, label %569 566: ; preds = %.noexc282 - call void @__rust_dealloc(ptr noundef nonnull %556, i64 noundef 136, i64 noundef 8) #16, !noalias !901 + call void @__rust_dealloc(ptr noundef nonnull %556, i64 noundef 136, i64 noundef 8) #16, !noalias !916 br label %569 567: ; preds = %560 @@ -7907,9 +7992,9 @@ _ZN4core3ops8function2Fn4call17hae62364ec96f019aE.exit.i: ; preds = %203, %202, .noexc287: ; preds = %582 %584 = getelementptr inbounds nuw i8, ptr %.val189, i64 8 - %585 = load i64, ptr %584, align 8, !noalias !902, !noundef !4 + %585 = load i64, ptr %584, align 8, !noalias !917, !noundef !4 %586 = add i64 %585, -1 - store i64 %586, ptr %584, align 8, !noalias !902 + store i64 %586, ptr %584, align 8, !noalias !917 %587 = icmp eq i64 %586, 0 br i1 %587, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit.sink.split.i", label %"_ZN4core3ptr106drop_in_place$LT$html5ever..tree_builder..Bookmark$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17h3bdcf84da5910f6dE.exit" @@ -7923,9 +8008,9 @@ _ZN4core3ops8function2Fn4call17hae62364ec96f019aE.exit.i: ; preds = %203, %202, .noexc288: ; preds = %589 %591 = getelementptr inbounds nuw i8, ptr %.val189, i64 8 - %592 = load i64, ptr %591, align 8, !noalias !907, !noundef !4 + %592 = load i64, ptr %591, align 8, !noalias !922, !noundef !4 %593 = add i64 %592, -1 - store i64 %593, ptr %591, align 8, !noalias !907 + store i64 %593, ptr %591, align 8, !noalias !922 %594 = icmp eq i64 %593, 0 br i1 %594, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit.sink.split.i", label %"_ZN4core3ptr106drop_in_place$LT$html5ever..tree_builder..Bookmark$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17h3bdcf84da5910f6dE.exit" @@ -7982,12 +8067,12 @@ _ZN4core3ops8function2Fn4call17hae62364ec96f019aE.exit.i: ; preds = %203, %202, unreachable "_ZN65_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h30edba8ce2c3e507E.exit292": ; preds = %602 - call void @llvm.experimental.noalias.scope.decl(metadata !912) - call void @llvm.experimental.noalias.scope.decl(metadata !915) - %607 = load ptr, ptr %29, align 8, !alias.scope !918, !nonnull !4, !noundef !4 - %608 = load i64, ptr %607, align 8, !noalias !918, !noundef !4 + call void @llvm.experimental.noalias.scope.decl(metadata !927) + call void @llvm.experimental.noalias.scope.decl(metadata !930) + %607 = load ptr, ptr %29, align 8, !alias.scope !933, !nonnull !4, !noundef !4 + %608 = load i64, ptr %607, align 8, !noalias !933, !noundef !4 %609 = add i64 %608, -1 - store i64 %609, ptr %607, align 8, !noalias !918 + store i64 %609, ptr %607, align 8, !noalias !933 %610 = icmp eq i64 %609, 0 br i1 %610, label %611, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit294" @@ -7998,14 +8083,14 @@ _ZN4core3ops8function2Fn4call17hae62364ec96f019aE.exit.i: ; preds = %203, %202, .noexc293: ; preds = %611 %613 = getelementptr inbounds nuw i8, ptr %607, i64 8 - %614 = load i64, ptr %613, align 8, !noalias !918, !noundef !4 + %614 = load i64, ptr %613, align 8, !noalias !933, !noundef !4 %615 = add i64 %614, -1 - store i64 %615, ptr %613, align 8, !noalias !918 + store i64 %615, ptr %613, align 8, !noalias !933 %616 = icmp eq i64 %615, 0 br i1 %616, label %617, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit294" 617: ; preds = %.noexc293 - call void @__rust_dealloc(ptr noundef nonnull %607, i64 noundef 136, i64 noundef 8) #16, !noalias !918 + call void @__rust_dealloc(ptr noundef nonnull %607, i64 noundef 136, i64 noundef 8) #16, !noalias !933 br label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit294" 618: ; preds = %611 @@ -8062,53 +8147,53 @@ _ZN4core3ops8function2Fn4call17hae62364ec96f019aE.exit.i: ; preds = %203, %202, %631 = icmp ult i64 %.sroa.02.014.i253, %423 call void @llvm.assume(i1 %631) call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %9) - call void @llvm.experimental.noalias.scope.decl(metadata !919) + call void @llvm.experimental.noalias.scope.decl(metadata !934) %632 = getelementptr inbounds nuw { i64, [5 x i64] }, ptr %422, i64 %.sroa.02.014.i253 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %9, ptr noundef nonnull align 8 dereferenceable(48) %632, i64 48, i1 false), !noalias !922 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %9, ptr noundef nonnull align 8 dereferenceable(48) %632, i64 48, i1 false), !noalias !937 %633 = getelementptr inbounds nuw i8, ptr %632, i64 48 %634 = xor i64 %.sroa.02.014.i253, -1 %635 = add i64 %423, %634 %636 = mul i64 %635, 48 - call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %632, ptr nonnull align 8 %633, i64 %636, i1 false), !noalias !924 + call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %632, ptr nonnull align 8 %633, i64 %636, i1 false), !noalias !939 %637 = add i64 %423, -1 - store i64 %637, ptr %67, align 8, !alias.scope !919, !noalias !926 + store i64 %637, ptr %67, align 8, !alias.scope !934, !noalias !941 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %28, ptr noundef nonnull align 8 dereferenceable(48) %9, i64 48, i1 false) call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %9) - %.pr = load i64, ptr %28, align 8, !alias.scope !927 - call void @llvm.experimental.noalias.scope.decl(metadata !927) + %.pr = load i64, ptr %28, align 8, !alias.scope !942 + call void @llvm.experimental.noalias.scope.decl(metadata !942) %638 = icmp eq i64 %.pr, -9223372036854775807 br i1 %638, label %"_ZN4core3ptr144drop_in_place$LT$core..option..Option$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$$GT$17h4250528eb6f4914eE.exit", label %639 639: ; preds = %630 - call void @llvm.experimental.noalias.scope.decl(metadata !930) + call void @llvm.experimental.noalias.scope.decl(metadata !945) %.not.i.i = icmp eq i64 %.pr, -9223372036854775808 br i1 %.not.i.i, label %"_ZN4core3ptr144drop_in_place$LT$core..option..Option$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$$GT$17h4250528eb6f4914eE.exit", label %640 640: ; preds = %639 - call void @llvm.experimental.noalias.scope.decl(metadata !933) - call void @llvm.experimental.noalias.scope.decl(metadata !936) - %641 = load ptr, ptr %81, align 8, !alias.scope !939, !nonnull !4, !noundef !4 - %642 = load i64, ptr %641, align 8, !noalias !939, !noundef !4 + call void @llvm.experimental.noalias.scope.decl(metadata !948) + call void @llvm.experimental.noalias.scope.decl(metadata !951) + %641 = load ptr, ptr %81, align 8, !alias.scope !954, !nonnull !4, !noundef !4 + %642 = load i64, ptr %641, align 8, !noalias !954, !noundef !4 %643 = add i64 %642, -1 - store i64 %643, ptr %641, align 8, !noalias !939 + store i64 %643, ptr %641, align 8, !noalias !954 %644 = icmp eq i64 %643, 0 br i1 %644, label %645, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit.i.i298" 645: ; preds = %640 %646 = getelementptr inbounds nuw i8, ptr %641, i64 16 invoke void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17hed3cc8b884d652aeE.llvm.5005022800651993668"(ptr noalias noundef nonnull align 8 dereferenceable(120) %646) - to label %.noexc.i.i299 unwind label %652, !noalias !940 + to label %.noexc.i.i299 unwind label %652, !noalias !955 .noexc.i.i299: ; preds = %645 %647 = getelementptr inbounds nuw i8, ptr %641, i64 8 - %648 = load i64, ptr %647, align 8, !noalias !939, !noundef !4 + %648 = load i64, ptr %647, align 8, !noalias !954, !noundef !4 %649 = add i64 %648, -1 - store i64 %649, ptr %647, align 8, !noalias !939 + store i64 %649, ptr %647, align 8, !noalias !954 %650 = icmp eq i64 %649, 0 br i1 %650, label %651, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit.i.i298" 651: ; preds = %.noexc.i.i299 - call void @__rust_dealloc(ptr noundef nonnull %641, i64 noundef 136, i64 noundef 8) #16, !noalias !939 + call void @__rust_dealloc(ptr noundef nonnull %641, i64 noundef 136, i64 noundef 8) #16, !noalias !954 br label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit.i.i298" 652: ; preds = %645 @@ -8129,8 +8214,8 @@ _ZN4core3ops8function2Fn4call17hae62364ec96f019aE.exit.i: ; preds = %203, %202, "_ZN4core3ptr144drop_in_place$LT$core..option..Option$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$$GT$17h4250528eb6f4914eE.exit": ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h153c47366512fb12E.exit.thread.i257", %421, %639, %630, %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit.i.i298" call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %28) - call void @llvm.experimental.noalias.scope.decl(metadata !941) - %656 = load i64, ptr %48, align 8, !alias.scope !941, !noalias !944, !noundef !4 + call void @llvm.experimental.noalias.scope.decl(metadata !956) + %656 = load i64, ptr %48, align 8, !alias.scope !956, !noalias !959, !noundef !4 %.not.i305 = icmp ult i64 %382, %656 br i1 %.not.i305, label %659, label %.invoke3191 @@ -8144,18 +8229,18 @@ _ZN4core3ops8function2Fn4call17hae62364ec96f019aE.exit.i: ; preds = %203, %202, unreachable 659: ; preds = %"_ZN4core3ptr144drop_in_place$LT$core..option..Option$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$$GT$17h4250528eb6f4914eE.exit" - %660 = load ptr, ptr %52, align 8, !alias.scope !941, !noalias !944, !nonnull !4, !noundef !4 + %660 = load ptr, ptr %52, align 8, !alias.scope !956, !noalias !959, !nonnull !4, !noundef !4 %661 = getelementptr inbounds ptr, ptr %660, i64 %382 - %662 = load ptr, ptr %661, align 8, !noalias !946, !nonnull !4, !noundef !4 + %662 = load ptr, ptr %661, align 8, !noalias !961, !nonnull !4, !noundef !4 %663 = getelementptr inbounds nuw i8, ptr %661, i64 8 %664 = sub i64 %656, %.sroa.089.01395 %665 = shl i64 %664, 3 - call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %661, ptr nonnull align 8 %663, i64 %665, i1 false), !noalias !946 + call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %661, ptr nonnull align 8 %663, i64 %665, i1 false), !noalias !961 %666 = add i64 %656, -1 - store i64 %666, ptr %48, align 8, !alias.scope !941, !noalias !944 - %667 = load i64, ptr %662, align 8, !noalias !947, !noundef !4 + store i64 %666, ptr %48, align 8, !alias.scope !956, !noalias !959 + %667 = load i64, ptr %662, align 8, !noalias !962, !noundef !4 %668 = add i64 %667, -1 - store i64 %668, ptr %662, align 8, !noalias !947 + store i64 %668, ptr %662, align 8, !noalias !962 %669 = icmp eq i64 %668, 0 br i1 %669, label %670, label %.backedge @@ -8166,14 +8251,14 @@ _ZN4core3ops8function2Fn4call17hae62364ec96f019aE.exit.i: ; preds = %203, %202, .noexc308: ; preds = %670 %672 = getelementptr inbounds nuw i8, ptr %662, i64 8 - %673 = load i64, ptr %672, align 8, !noalias !947, !noundef !4 + %673 = load i64, ptr %672, align 8, !noalias !962, !noundef !4 %674 = add i64 %673, -1 - store i64 %674, ptr %672, align 8, !noalias !947 + store i64 %674, ptr %672, align 8, !noalias !962 %675 = icmp eq i64 %674, 0 br i1 %675, label %676, label %.backedge 676: ; preds = %.noexc308 - call void @__rust_dealloc(ptr noundef nonnull %662, i64 noundef 136, i64 noundef 8) #16, !noalias !947 + call void @__rust_dealloc(ptr noundef nonnull %662, i64 noundef 136, i64 noundef 8) #16, !noalias !962 br label %.backedge 677: ; preds = %408 @@ -8197,11 +8282,11 @@ _ZN4core3ops8function2Fn4call17hae62364ec96f019aE.exit.i: ; preds = %203, %202, %682 = load ptr, ptr %32, align 8, !nonnull !4, !noundef !4 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %5) invoke fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$31appropriate_place_for_insertion17h25ab12c1b096bbfaE"(ptr noalias noundef align 8 captures(none) dereferenceable(24) %5, ptr noalias noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull %682) - to label %683 unwind label %684, !noalias !952 + to label %683 unwind label %684, !noalias !967 683: ; preds = %"_ZN65_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h30edba8ce2c3e507E.exit311" - call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %4), !noalias !955 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %4, ptr noundef nonnull readonly align 8 dereferenceable(24) %19, i64 24, i1 false), !noalias !957 + call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %4), !noalias !970 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %4, ptr noundef nonnull readonly align 8 dereferenceable(24) %19, i64 24, i1 false), !noalias !972 invoke fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$9insert_at17ha9c043e1991bdbccE"(ptr noalias noundef nonnull align 8 dereferenceable(192) %0, ptr noalias noundef align 8 captures(none) dereferenceable(24) %5, ptr noalias noundef align 8 captures(none) dereferenceable(24) %4) to label %688 unwind label %.loopexit.split-lp.loopexit @@ -8214,11 +8299,11 @@ _ZN4core3ops8function2Fn4call17hae62364ec96f019aE.exit.i: ; preds = %203, %202, 686: ; preds = %684 %687 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer - call void @_ZN4core9panicking16panic_in_cleanup17hfa05ef7d5107e16aE() #15, !noalias !952 + call void @_ZN4core9panicking16panic_in_cleanup17hfa05ef7d5107e16aE() #15, !noalias !967 unreachable 688: ; preds = %683 - call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4), !noalias !955 + call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4), !noalias !970 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %5) call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %19) call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %18) @@ -8239,8 +8324,8 @@ _ZN4core3ops8function2Fn4call17hae62364ec96f019aE.exit.i: ; preds = %203, %202, store i64 30064771074, ptr %17, align 8 store i64 %689, ptr %84, align 8 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %16) - %697 = load ptr, ptr %.sroa.2.0..sroa_idx, align 8, !alias.scope !958, !noalias !961, !nonnull !4, !noundef !4 - %698 = load i64, ptr %85, align 8, !alias.scope !958, !noalias !961, !noundef !4 + %697 = load ptr, ptr %.sroa.2.0..sroa_idx, align 8, !alias.scope !973, !noalias !976, !nonnull !4, !noundef !4 + %698 = load i64, ptr %85, align 8, !alias.scope !973, !noalias !976, !noundef !4 invoke void @"_ZN52_$LT$T$u20$as$u20$alloc..slice..hack..ConvertVec$GT$6to_vec17he2817477af474896E.llvm.204215390286363894"(ptr noalias noundef nonnull sret([24 x i8]) align 8 captures(none) dereferenceable(24) %16, ptr noundef nonnull align 8 %697, i64 noundef %698) to label %"_ZN67_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hd7f602d787034465E.exit318" unwind label %949 @@ -8350,13 +8435,13 @@ _ZN4core3ops8function2Fn4call17hae62364ec96f019aE.exit.i: ; preds = %203, %202, %.sroa.02.014.i325 = phi i64 [ %726, %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h153c47366512fb12E.exit.thread.i329" ], [ 0, %715 ] %721 = phi ptr [ %722, %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h153c47366512fb12E.exit.thread.i329" ], [ %717, %715 ] %722 = getelementptr inbounds nuw i8, ptr %721, i64 48 - %.val8.i326 = load i64, ptr %721, align 8, !range !368, !noalias !963, !noundef !4 + %.val8.i326 = load i64, ptr %721, align 8, !range !368, !noalias !978, !noundef !4 %723 = icmp eq i64 %.val8.i326, -9223372036854775808 br i1 %723, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h153c47366512fb12E.exit.thread.i329", label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h153c47366512fb12E.exit.i327" "_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h153c47366512fb12E.exit.i327": ; preds = %.lr.ph.i323 %724 = getelementptr i8, ptr %721, i64 40 - %.val9.i328 = load ptr, ptr %724, align 8, !noalias !963, !nonnull !4, !noundef !4 + %.val9.i328 = load ptr, ptr %724, align 8, !noalias !978, !nonnull !4, !noundef !4 %725 = icmp eq ptr %.val9.i328, %716 br i1 %725, label %744, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h153c47366512fb12E.exit.thread.i329" @@ -8379,13 +8464,13 @@ _ZN4core3ops8function2Fn4call17hae62364ec96f019aE.exit.i: ; preds = %203, %202, %.sroa.02.014.i336 = phi i64 [ %739, %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h153c47366512fb12E.exit.thread.i340" ], [ 0, %728 ] %734 = phi ptr [ %735, %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h153c47366512fb12E.exit.thread.i340" ], [ %730, %728 ] %735 = getelementptr inbounds nuw i8, ptr %734, i64 48 - %.val8.i337 = load i64, ptr %734, align 8, !range !368, !noalias !967, !noundef !4 + %.val8.i337 = load i64, ptr %734, align 8, !range !368, !noalias !982, !noundef !4 %736 = icmp eq i64 %.val8.i337, -9223372036854775808 br i1 %736, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h153c47366512fb12E.exit.thread.i340", label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h153c47366512fb12E.exit.i338" "_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h153c47366512fb12E.exit.i338": ; preds = %.lr.ph.i334 %737 = getelementptr i8, ptr %734, i64 40 - %.val9.i339 = load ptr, ptr %737, align 8, !noalias !967, !nonnull !4, !noundef !4 + %.val9.i339 = load ptr, ptr %737, align 8, !noalias !982, !nonnull !4, !noundef !4 %738 = icmp eq ptr %.val9.i339, %729 br i1 %738, label %806, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h153c47366512fb12E.exit.thread.i340" @@ -8413,37 +8498,37 @@ _ZN4core3ops8function2Fn4call17hae62364ec96f019aE.exit.i: ; preds = %203, %202, %745 = icmp ult i64 %.sroa.02.014.i325, %718 call void @llvm.assume(i1 %745) %746 = getelementptr inbounds nuw [0 x { i64, [5 x i64] }], ptr %717, i64 0, i64 %.sroa.02.014.i325 - call void @llvm.experimental.noalias.scope.decl(metadata !971) - %747 = load i64, ptr %746, align 8, !range !368, !alias.scope !971, !noundef !4 + call void @llvm.experimental.noalias.scope.decl(metadata !986) + %747 = load i64, ptr %746, align 8, !range !368, !alias.scope !986, !noundef !4 %.not.i345 = icmp eq i64 %747, -9223372036854775808 br i1 %.not.i345, label %"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17h55dea538c53e7d70E.exit351", label %748 748: ; preds = %744 %749 = getelementptr inbounds nuw i8, ptr %746, i64 40 - call void @llvm.experimental.noalias.scope.decl(metadata !974) - call void @llvm.experimental.noalias.scope.decl(metadata !977) - %750 = load ptr, ptr %749, align 8, !alias.scope !980, !nonnull !4, !noundef !4 - %751 = load i64, ptr %750, align 8, !noalias !980, !noundef !4 + call void @llvm.experimental.noalias.scope.decl(metadata !989) + call void @llvm.experimental.noalias.scope.decl(metadata !992) + %750 = load ptr, ptr %749, align 8, !alias.scope !995, !nonnull !4, !noundef !4 + %751 = load i64, ptr %750, align 8, !noalias !995, !noundef !4 %752 = add i64 %751, -1 - store i64 %752, ptr %750, align 8, !noalias !980 + store i64 %752, ptr %750, align 8, !noalias !995 %753 = icmp eq i64 %752, 0 br i1 %753, label %754, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit.i346" 754: ; preds = %748 %755 = getelementptr inbounds nuw i8, ptr %750, i64 16 invoke void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17hed3cc8b884d652aeE.llvm.5005022800651993668"(ptr noalias noundef nonnull align 8 dereferenceable(120) %755) - to label %.noexc.i347 unwind label %761, !noalias !971 + to label %.noexc.i347 unwind label %761, !noalias !986 .noexc.i347: ; preds = %754 %756 = getelementptr inbounds nuw i8, ptr %750, i64 8 - %757 = load i64, ptr %756, align 8, !noalias !980, !noundef !4 + %757 = load i64, ptr %756, align 8, !noalias !995, !noundef !4 %758 = add i64 %757, -1 - store i64 %758, ptr %756, align 8, !noalias !980 + store i64 %758, ptr %756, align 8, !noalias !995 %759 = icmp eq i64 %758, 0 br i1 %759, label %760, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit.i346" 760: ; preds = %.noexc.i347 - call void @__rust_dealloc(ptr noundef nonnull %750, i64 noundef 136, i64 noundef 8) #16, !noalias !980 + call void @__rust_dealloc(ptr noundef nonnull %750, i64 noundef 136, i64 noundef 8) #16, !noalias !995 br label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit.i346" 761: ; preds = %754 @@ -8474,9 +8559,9 @@ _ZN4core3ops8function2Fn4call17hae62364ec96f019aE.exit.i: ; preds = %203, %202, "_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17h55dea538c53e7d70E.exit351": ; preds = %744, %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit.i346" call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %746, ptr noundef nonnull align 8 dereferenceable(48) %15, i64 48, i1 false) - %767 = load i64, ptr %716, align 8, !noalias !981, !noundef !4 + %767 = load i64, ptr %716, align 8, !noalias !996, !noundef !4 %768 = add i64 %767, -1 - store i64 %768, ptr %716, align 8, !noalias !981 + store i64 %768, ptr %716, align 8, !noalias !996 %769 = icmp eq i64 %768, 0 br i1 %769, label %770, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit353" @@ -8487,26 +8572,26 @@ _ZN4core3ops8function2Fn4call17hae62364ec96f019aE.exit.i: ; preds = %203, %202, .noexc352: ; preds = %770 %772 = getelementptr inbounds nuw i8, ptr %716, i64 8 - %773 = load i64, ptr %772, align 8, !noalias !981, !noundef !4 + %773 = load i64, ptr %772, align 8, !noalias !996, !noundef !4 %774 = add i64 %773, -1 - store i64 %774, ptr %772, align 8, !noalias !981 + store i64 %774, ptr %772, align 8, !noalias !996 %775 = icmp eq i64 %774, 0 br i1 %775, label %776, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit353" 776: ; preds = %.noexc352 - call void @__rust_dealloc(ptr noundef nonnull %716, i64 noundef 136, i64 noundef 8) #16, !noalias !981 + call void @__rust_dealloc(ptr noundef nonnull %716, i64 noundef 136, i64 noundef 8) #16, !noalias !996 br label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit353" "_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit353": ; preds = %776, %.noexc352, %"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17h55dea538c53e7d70E.exit351" call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %13) - %.val186.pre = load ptr, ptr %41, align 8, !alias.scope !986, !noalias !989 + %.val186.pre = load ptr, ptr %41, align 8, !alias.scope !1001, !noalias !1004 br label %777 777: ; preds = %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit381", %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit353" %778 = phi ptr [ %.val1.i.i359, %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit381" ], [ %.val186.pre, %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit353" ] - call void @llvm.experimental.noalias.scope.decl(metadata !991) - %779 = load ptr, ptr %52, align 8, !alias.scope !991, !nonnull !4, !noundef !4 - %780 = load i64, ptr %48, align 8, !alias.scope !991, !noundef !4 + call void @llvm.experimental.noalias.scope.decl(metadata !1006) + %779 = load ptr, ptr %52, align 8, !alias.scope !1006, !nonnull !4, !noundef !4 + %780 = load i64, ptr %48, align 8, !alias.scope !1006, !noundef !4 %781 = getelementptr inbounds ptr, ptr %779, i64 %780 br label %782 @@ -8519,25 +8604,25 @@ _ZN4core3ops8function2Fn4call17hae62364ec96f019aE.exit.i: ; preds = %203, %202, 785: ; preds = %782 %786 = getelementptr inbounds i8, ptr %783, i64 -8 %787 = add i64 %.sroa.03.0.i.i, -1 - %.val9.i.i = load ptr, ptr %786, align 8, !noalias !994, !nonnull !4, !noundef !4 + %.val9.i.i = load ptr, ptr %786, align 8, !noalias !1009, !nonnull !4, !noundef !4 %788 = icmp eq ptr %778, %.val9.i.i br i1 %788, label %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h2ca6d0f7d4ad0587E.exit.i", label %782 "_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h2ca6d0f7d4ad0587E.exit.i": ; preds = %785 %789 = icmp ult i64 %787, %780 call void @llvm.assume(i1 %789) - call void @llvm.experimental.noalias.scope.decl(metadata !998) + call void @llvm.experimental.noalias.scope.decl(metadata !1013) %790 = getelementptr inbounds ptr, ptr %779, i64 %787 - %791 = load ptr, ptr %790, align 8, !noalias !1001, !nonnull !4, !noundef !4 + %791 = load ptr, ptr %790, align 8, !noalias !1016, !nonnull !4, !noundef !4 %792 = getelementptr inbounds nuw i8, ptr %790, i64 8 %793 = sub i64 %780, %.sroa.03.0.i.i %794 = shl i64 %793, 3 - call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %790, ptr nonnull align 8 %792, i64 %794, i1 false), !noalias !1001 + call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %790, ptr nonnull align 8 %792, i64 %794, i1 false), !noalias !1016 %795 = add i64 %780, -1 - store i64 %795, ptr %48, align 8, !alias.scope !1003, !noalias !1004 - %796 = load i64, ptr %791, align 8, !noalias !1005, !noundef !4 + store i64 %795, ptr %48, align 8, !alias.scope !1018, !noalias !1019 + %796 = load i64, ptr %791, align 8, !noalias !1020, !noundef !4 %797 = add i64 %796, -1 - store i64 %797, ptr %791, align 8, !noalias !1005 + store i64 %797, ptr %791, align 8, !noalias !1020 %798 = icmp eq i64 %797, 0 br i1 %798, label %799, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17remove_from_stack17hd82ea4ec9f5cac68E.exit" @@ -8548,14 +8633,14 @@ _ZN4core3ops8function2Fn4call17hae62364ec96f019aE.exit.i: ; preds = %203, %202, .noexc355: ; preds = %799 %801 = getelementptr inbounds nuw i8, ptr %791, i64 8 - %802 = load i64, ptr %801, align 8, !noalias !1005, !noundef !4 + %802 = load i64, ptr %801, align 8, !noalias !1020, !noundef !4 %803 = add i64 %802, -1 - store i64 %803, ptr %801, align 8, !noalias !1005 + store i64 %803, ptr %801, align 8, !noalias !1020 %804 = icmp eq i64 %803, 0 br i1 %804, label %805, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17remove_from_stack17hd82ea4ec9f5cac68E.exit" 805: ; preds = %.noexc355 - call void @__rust_dealloc(ptr noundef nonnull %791, i64 noundef 136, i64 noundef 8) #16, !noalias !1005 + call void @__rust_dealloc(ptr noundef nonnull %791, i64 noundef 136, i64 noundef 8) #16, !noalias !1020 br label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17remove_from_stack17hd82ea4ec9f5cac68E.exit" .loopexit660: ; preds = %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit.i373" @@ -8585,16 +8670,16 @@ _ZN4core3ops8function2Fn4call17hae62364ec96f019aE.exit.i: ; preds = %203, %202, %808 = add nuw i64 %.sroa.02.014.i336, 1 call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %11) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %11, ptr noundef nonnull align 8 dereferenceable(48) %15, i64 48, i1 false) - %809 = load i64, ptr %65, align 8, !alias.scope !1010, !noalias !1013, !noundef !4 + %809 = load i64, ptr %65, align 8, !alias.scope !1025, !noalias !1028, !noundef !4 %810 = icmp eq i64 %731, %809 br i1 %810, label %811, label %812 811: ; preds = %806 invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$8grow_one17h00f7999fa2a9f31dE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %65) - to label %._crit_edge unwind label %816, !noalias !1013 + to label %._crit_edge unwind label %816, !noalias !1028 ._crit_edge: ; preds = %811 - %.pre2245 = load ptr, ptr %66, align 8, !alias.scope !1010, !noalias !1013 + %.pre2245 = load ptr, ptr %66, align 8, !alias.scope !1025, !noalias !1028 br label %812 812: ; preds = %._crit_edge, %806 @@ -8613,7 +8698,7 @@ _ZN4core3ops8function2Fn4call17hae62364ec96f019aE.exit.i: ; preds = %203, %202, %818 = getelementptr inbounds nuw i8, ptr %814, i64 48 %819 = sub nuw i64 %731, %808 %820 = mul i64 %819, 48 - call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %818, ptr nonnull align 8 %814, i64 %820, i1 false), !noalias !1013 + call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %818, ptr nonnull align 8 %814, i64 %820, i1 false), !noalias !1028 br label %823 821: ; preds = %816 @@ -8625,29 +8710,29 @@ _ZN4core3ops8function2Fn4call17hae62364ec96f019aE.exit.i: ; preds = %203, %202, 823: ; preds = %817, %812 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %814, ptr noundef nonnull align 8 dereferenceable(48) %15, i64 48, i1 false) %824 = add i64 %731, 1 - store i64 %824, ptr %67, align 8, !alias.scope !1010, !noalias !1013 + store i64 %824, ptr %67, align 8, !alias.scope !1025, !noalias !1028 call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %11) %825 = load ptr, ptr %66, align 8, !nonnull !4, !noundef !4 %826 = getelementptr inbounds { i64, [5 x i64] }, ptr %825, i64 %824 - call void @llvm.experimental.noalias.scope.decl(metadata !1015) + call void @llvm.experimental.noalias.scope.decl(metadata !1030) %827 = icmp eq i64 %824, 0 br i1 %827, label %.loopexit629, label %.lr.ph.i358 .lr.ph.i358: ; preds = %823 - %.val1.i.i359 = load ptr, ptr %41, align 8, !alias.scope !1015, !noalias !1018 + %.val1.i.i359 = load ptr, ptr %41, align 8, !alias.scope !1030, !noalias !1033 br label %828 828: ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h153c47366512fb12E.exit.thread.i364", %.lr.ph.i358 %.sroa.02.014.i360 = phi i64 [ 0, %.lr.ph.i358 ], [ %834, %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h153c47366512fb12E.exit.thread.i364" ] %829 = phi ptr [ %825, %.lr.ph.i358 ], [ %830, %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h153c47366512fb12E.exit.thread.i364" ] %830 = getelementptr inbounds nuw i8, ptr %829, i64 48 - %.val8.i361 = load i64, ptr %829, align 8, !range !368, !noalias !1020, !noundef !4 + %.val8.i361 = load i64, ptr %829, align 8, !range !368, !noalias !1035, !noundef !4 %831 = icmp eq i64 %.val8.i361, -9223372036854775808 br i1 %831, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h153c47366512fb12E.exit.thread.i364", label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h153c47366512fb12E.exit.i362" "_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h153c47366512fb12E.exit.i362": ; preds = %828 %832 = getelementptr i8, ptr %829, i64 40 - %.val9.i363 = load ptr, ptr %832, align 8, !noalias !1020, !nonnull !4, !noundef !4 + %.val9.i363 = load ptr, ptr %832, align 8, !noalias !1035, !nonnull !4, !noundef !4 %833 = icmp eq ptr %.val9.i363, %.val1.i.i359 br i1 %833, label %836, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h153c47366512fb12E.exit.thread.i364" @@ -8664,44 +8749,44 @@ _ZN4core3ops8function2Fn4call17hae62364ec96f019aE.exit.i: ; preds = %203, %202, %837 = icmp ult i64 %.sroa.02.014.i360, %824 call void @llvm.assume(i1 %837) call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %10) - call void @llvm.experimental.noalias.scope.decl(metadata !1021) + call void @llvm.experimental.noalias.scope.decl(metadata !1036) %838 = getelementptr inbounds nuw { i64, [5 x i64] }, ptr %825, i64 %.sroa.02.014.i360 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %10, ptr noundef nonnull align 8 dereferenceable(48) %838, i64 48, i1 false), !noalias !1024 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %10, ptr noundef nonnull align 8 dereferenceable(48) %838, i64 48, i1 false), !noalias !1039 %839 = getelementptr inbounds nuw i8, ptr %838, i64 48 %840 = sub i64 %731, %.sroa.02.014.i360 %841 = mul i64 %840, 48 - call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %838, ptr nonnull align 8 %839, i64 %841, i1 false), !noalias !1026 - store i64 %731, ptr %67, align 8, !alias.scope !1021, !noalias !1028 - call void @llvm.experimental.noalias.scope.decl(metadata !1029) - %842 = load i64, ptr %10, align 8, !range !368, !alias.scope !1029, !noundef !4 + call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %838, ptr nonnull align 8 %839, i64 %841, i1 false), !noalias !1041 + store i64 %731, ptr %67, align 8, !alias.scope !1036, !noalias !1043 + call void @llvm.experimental.noalias.scope.decl(metadata !1044) + %842 = load i64, ptr %10, align 8, !range !368, !alias.scope !1044, !noundef !4 %.not.i372 = icmp eq i64 %842, -9223372036854775808 br i1 %.not.i372, label %"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17h55dea538c53e7d70E.exit379", label %843 843: ; preds = %836 - call void @llvm.experimental.noalias.scope.decl(metadata !1032) - call void @llvm.experimental.noalias.scope.decl(metadata !1035) - %844 = load ptr, ptr %88, align 8, !alias.scope !1038, !nonnull !4, !noundef !4 - %845 = load i64, ptr %844, align 8, !noalias !1038, !noundef !4 + call void @llvm.experimental.noalias.scope.decl(metadata !1047) + call void @llvm.experimental.noalias.scope.decl(metadata !1050) + %844 = load ptr, ptr %88, align 8, !alias.scope !1053, !nonnull !4, !noundef !4 + %845 = load i64, ptr %844, align 8, !noalias !1053, !noundef !4 %846 = add i64 %845, -1 - store i64 %846, ptr %844, align 8, !noalias !1038 + store i64 %846, ptr %844, align 8, !noalias !1053 %847 = icmp eq i64 %846, 0 br i1 %847, label %848, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit.i373" 848: ; preds = %843 %849 = getelementptr inbounds nuw i8, ptr %844, i64 16 invoke void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17hed3cc8b884d652aeE.llvm.5005022800651993668"(ptr noalias noundef nonnull align 8 dereferenceable(120) %849) - to label %.noexc.i374 unwind label %855, !noalias !1029 + to label %.noexc.i374 unwind label %855, !noalias !1044 .noexc.i374: ; preds = %848 %850 = getelementptr inbounds nuw i8, ptr %844, i64 8 - %851 = load i64, ptr %850, align 8, !noalias !1038, !noundef !4 + %851 = load i64, ptr %850, align 8, !noalias !1053, !noundef !4 %852 = add i64 %851, -1 - store i64 %852, ptr %850, align 8, !noalias !1038 + store i64 %852, ptr %850, align 8, !noalias !1053 %853 = icmp eq i64 %852, 0 br i1 %853, label %854, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit.i373" 854: ; preds = %.noexc.i374 - call void @__rust_dealloc(ptr noundef nonnull %844, i64 noundef 136, i64 noundef 8) #16, !noalias !1038 + call void @__rust_dealloc(ptr noundef nonnull %844, i64 noundef 136, i64 noundef 8) #16, !noalias !1053 br label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit.i373" 855: ; preds = %848 @@ -8722,9 +8807,9 @@ _ZN4core3ops8function2Fn4call17hae62364ec96f019aE.exit.i: ; preds = %203, %202, "_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17h55dea538c53e7d70E.exit379": ; preds = %836, %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit.i373" call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %10) - %859 = load i64, ptr %729, align 8, !noalias !1039, !noundef !4 + %859 = load i64, ptr %729, align 8, !noalias !1054, !noundef !4 %860 = add i64 %859, -1 - store i64 %860, ptr %729, align 8, !noalias !1039 + store i64 %860, ptr %729, align 8, !noalias !1054 %861 = icmp eq i64 %860, 0 br i1 %861, label %862, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit381" @@ -8735,14 +8820,14 @@ _ZN4core3ops8function2Fn4call17hae62364ec96f019aE.exit.i: ; preds = %203, %202, .noexc380: ; preds = %862 %864 = getelementptr inbounds nuw i8, ptr %729, i64 8 - %865 = load i64, ptr %864, align 8, !noalias !1039, !noundef !4 + %865 = load i64, ptr %864, align 8, !noalias !1054, !noundef !4 %866 = add i64 %865, -1 - store i64 %866, ptr %864, align 8, !noalias !1039 + store i64 %866, ptr %864, align 8, !noalias !1054 %867 = icmp eq i64 %866, 0 br i1 %867, label %868, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit381" 868: ; preds = %.noexc380 - call void @__rust_dealloc(ptr noundef nonnull %729, i64 noundef 136, i64 noundef 8) #16, !noalias !1039 + call void @__rust_dealloc(ptr noundef nonnull %729, i64 noundef 136, i64 noundef 8) #16, !noalias !1054 br label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit381" "_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit381": ; preds = %868, %.noexc380, %"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17h55dea538c53e7d70E.exit379" @@ -8753,18 +8838,18 @@ _ZN4core3ops8function2Fn4call17hae62364ec96f019aE.exit.i: ; preds = %203, %202, %869 = load ptr, ptr %52, align 8, !nonnull !4, !noundef !4 %870 = load i64, ptr %48, align 8, !noundef !4 %871 = getelementptr inbounds ptr, ptr %869, i64 %870 - call void @llvm.experimental.noalias.scope.decl(metadata !1044) + call void @llvm.experimental.noalias.scope.decl(metadata !1059) %872 = icmp eq i64 %870, 0 br i1 %872, label %.loopexit628, label %.lr.ph.i382 .lr.ph.i382: ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17remove_from_stack17hd82ea4ec9f5cac68E.exit" - %.val1.i.i383 = load ptr, ptr %34, align 8, !alias.scope !1044, !noalias !1047, !nonnull !4, !noundef !4 + %.val1.i.i383 = load ptr, ptr %34, align 8, !alias.scope !1059, !noalias !1062, !nonnull !4, !noundef !4 br label %873 873: ; preds = %876, %.lr.ph.i382 %.sroa.02.011.i = phi i64 [ 0, %.lr.ph.i382 ], [ %878, %876 ] %874 = phi ptr [ %869, %.lr.ph.i382 ], [ %877, %876 ] - %.val8.i384 = load ptr, ptr %874, align 8, !noalias !1049, !nonnull !4, !noundef !4 + %.val8.i384 = load ptr, ptr %874, align 8, !noalias !1064, !nonnull !4, !noundef !4 %875 = icmp eq ptr %.val8.i384, %.val1.i.i383 br i1 %875, label %880, label %876 @@ -8783,10 +8868,10 @@ _ZN4core3ops8function2Fn4call17hae62364ec96f019aE.exit.i: ; preds = %203, %202, call void @llvm.assume(i1 %881) %882 = add nuw i64 %.sroa.02.011.i, 1 %883 = load ptr, ptr %18, align 8, !nonnull !4, !noundef !4 - call void @llvm.experimental.noalias.scope.decl(metadata !1050) + call void @llvm.experimental.noalias.scope.decl(metadata !1065) call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3) - store ptr %883, ptr %3, align 8, !noalias !1050 - %884 = load i64, ptr %68, align 8, !alias.scope !1050, !noundef !4 + store ptr %883, ptr %3, align 8, !noalias !1065 + %884 = load i64, ptr %68, align 8, !alias.scope !1065, !noundef !4 %885 = icmp eq i64 %870, %884 br i1 %885, label %886, label %887 @@ -8795,7 +8880,7 @@ _ZN4core3ops8function2Fn4call17hae62364ec96f019aE.exit.i: ; preds = %203, %202, to label %._crit_edge2247 unwind label %891 ._crit_edge2247: ; preds = %886 - %.pre2248 = load ptr, ptr %52, align 8, !alias.scope !1050 + %.pre2248 = load ptr, ptr %52, align 8, !alias.scope !1065 br label %887 887: ; preds = %._crit_edge2247, %880 @@ -8827,16 +8912,16 @@ _ZN4core3ops8function2Fn4call17hae62364ec96f019aE.exit.i: ; preds = %203, %202, 898: ; preds = %892, %887 store ptr %883, ptr %889, align 8 %899 = add i64 %870, 1 - store i64 %899, ptr %48, align 8, !alias.scope !1050 + store i64 %899, ptr %48, align 8, !alias.scope !1065 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3) call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %15) call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %18) - call void @llvm.experimental.noalias.scope.decl(metadata !1053) - call void @llvm.experimental.noalias.scope.decl(metadata !1056) - %900 = load ptr, ptr %29, align 8, !alias.scope !1059, !nonnull !4, !noundef !4 - %901 = load i64, ptr %900, align 8, !noalias !1059, !noundef !4 + call void @llvm.experimental.noalias.scope.decl(metadata !1068) + call void @llvm.experimental.noalias.scope.decl(metadata !1071) + %900 = load ptr, ptr %29, align 8, !alias.scope !1074, !nonnull !4, !noundef !4 + %901 = load i64, ptr %900, align 8, !noalias !1074, !noundef !4 %902 = add i64 %901, -1 - store i64 %902, ptr %900, align 8, !noalias !1059 + store i64 %902, ptr %900, align 8, !noalias !1074 %903 = icmp eq i64 %902, 0 br i1 %903, label %904, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit390" @@ -8847,24 +8932,24 @@ _ZN4core3ops8function2Fn4call17hae62364ec96f019aE.exit.i: ; preds = %203, %202, .noexc389: ; preds = %904 %906 = getelementptr inbounds nuw i8, ptr %900, i64 8 - %907 = load i64, ptr %906, align 8, !noalias !1059, !noundef !4 + %907 = load i64, ptr %906, align 8, !noalias !1074, !noundef !4 %908 = add i64 %907, -1 - store i64 %908, ptr %906, align 8, !noalias !1059 + store i64 %908, ptr %906, align 8, !noalias !1074 %909 = icmp eq i64 %908, 0 br i1 %909, label %910, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit390" 910: ; preds = %.noexc389 - call void @__rust_dealloc(ptr noundef nonnull %900, i64 noundef 136, i64 noundef 8) #16, !noalias !1059 + call void @__rust_dealloc(ptr noundef nonnull %900, i64 noundef 136, i64 noundef 8) #16, !noalias !1074 br label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit390" "_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit390": ; preds = %910, %.noexc389, %898 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %29) - call void @llvm.experimental.noalias.scope.decl(metadata !1060) - call void @llvm.experimental.noalias.scope.decl(metadata !1063) - %911 = load ptr, ptr %30, align 8, !alias.scope !1066, !nonnull !4, !noundef !4 - %912 = load i64, ptr %911, align 8, !noalias !1066, !noundef !4 + call void @llvm.experimental.noalias.scope.decl(metadata !1075) + call void @llvm.experimental.noalias.scope.decl(metadata !1078) + %911 = load ptr, ptr %30, align 8, !alias.scope !1081, !nonnull !4, !noundef !4 + %912 = load i64, ptr %911, align 8, !noalias !1081, !noundef !4 %913 = add i64 %912, -1 - store i64 %913, ptr %911, align 8, !noalias !1066 + store i64 %913, ptr %911, align 8, !noalias !1081 %914 = icmp eq i64 %913, 0 br i1 %914, label %915, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit392" @@ -8875,14 +8960,14 @@ _ZN4core3ops8function2Fn4call17hae62364ec96f019aE.exit.i: ; preds = %203, %202, .noexc391: ; preds = %915 %917 = getelementptr inbounds nuw i8, ptr %911, i64 8 - %918 = load i64, ptr %917, align 8, !noalias !1066, !noundef !4 + %918 = load i64, ptr %917, align 8, !noalias !1081, !noundef !4 %919 = add i64 %918, -1 - store i64 %919, ptr %917, align 8, !noalias !1066 + store i64 %919, ptr %917, align 8, !noalias !1081 %920 = icmp eq i64 %919, 0 br i1 %920, label %921, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit392" 921: ; preds = %.noexc391 - call void @__rust_dealloc(ptr noundef nonnull %911, i64 noundef 136, i64 noundef 8) #16, !noalias !1066 + call void @__rust_dealloc(ptr noundef nonnull %911, i64 noundef 136, i64 noundef 8) #16, !noalias !1081 br label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit392" 922: ; preds = %951, %925, %377 @@ -8905,12 +8990,12 @@ _ZN4core3ops8function2Fn4call17hae62364ec96f019aE.exit.i: ; preds = %203, %202, call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %30) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %31) call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %32) - call void @llvm.experimental.noalias.scope.decl(metadata !1067) - call void @llvm.experimental.noalias.scope.decl(metadata !1070) - %927 = load ptr, ptr %34, align 8, !alias.scope !1073, !nonnull !4, !noundef !4 - %928 = load i64, ptr %927, align 8, !noalias !1073, !noundef !4 + call void @llvm.experimental.noalias.scope.decl(metadata !1082) + call void @llvm.experimental.noalias.scope.decl(metadata !1085) + %927 = load ptr, ptr %34, align 8, !alias.scope !1088, !nonnull !4, !noundef !4 + %928 = load i64, ptr %927, align 8, !noalias !1088, !noundef !4 %929 = add i64 %928, -1 - store i64 %929, ptr %927, align 8, !noalias !1073 + store i64 %929, ptr %927, align 8, !noalias !1088 %930 = icmp eq i64 %929, 0 br i1 %930, label %931, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit394" @@ -8921,22 +9006,22 @@ _ZN4core3ops8function2Fn4call17hae62364ec96f019aE.exit.i: ; preds = %203, %202, .noexc393: ; preds = %931 %933 = getelementptr inbounds nuw i8, ptr %927, i64 8 - %934 = load i64, ptr %933, align 8, !noalias !1073, !noundef !4 + %934 = load i64, ptr %933, align 8, !noalias !1088, !noundef !4 %935 = add i64 %934, -1 - store i64 %935, ptr %933, align 8, !noalias !1073 + store i64 %935, ptr %933, align 8, !noalias !1088 %936 = icmp eq i64 %935, 0 br i1 %936, label %937, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit394" 937: ; preds = %.noexc393 - call void @__rust_dealloc(ptr noundef nonnull %927, i64 noundef 136, i64 noundef 8) #16, !noalias !1073 + call void @__rust_dealloc(ptr noundef nonnull %927, i64 noundef 136, i64 noundef 8) #16, !noalias !1088 br label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit394" "_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit394": ; preds = %937, %.noexc393, %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit392" call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %34) call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %40) - %938 = load i64, ptr %778, align 8, !noalias !1074, !noundef !4 + %938 = load i64, ptr %778, align 8, !noalias !1089, !noundef !4 %939 = add i64 %938, -1 - store i64 %939, ptr %778, align 8, !noalias !1074 + store i64 %939, ptr %778, align 8, !noalias !1089 %940 = icmp eq i64 %939, 0 br i1 %940, label %941, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit396" @@ -8947,14 +9032,14 @@ _ZN4core3ops8function2Fn4call17hae62364ec96f019aE.exit.i: ; preds = %203, %202, .noexc395: ; preds = %941 %943 = getelementptr inbounds nuw i8, ptr %778, i64 8 - %944 = load i64, ptr %943, align 8, !noalias !1074, !noundef !4 + %944 = load i64, ptr %943, align 8, !noalias !1089, !noundef !4 %945 = add i64 %944, -1 - store i64 %945, ptr %943, align 8, !noalias !1074 + store i64 %945, ptr %943, align 8, !noalias !1089 %946 = icmp eq i64 %945, 0 br i1 %946, label %947, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit396" 947: ; preds = %.noexc395 - call void @__rust_dealloc(ptr noundef nonnull %778, i64 noundef 136, i64 noundef 8) #16, !noalias !1074 + call void @__rust_dealloc(ptr noundef nonnull %778, i64 noundef 136, i64 noundef 8) #16, !noalias !1089 br label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit396" "_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit396": ; preds = %947, %.noexc395, %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit394" @@ -9012,15 +9097,15 @@ _ZN4core3ops8function2Fn4call17hae62364ec96f019aE.exit.i: ; preds = %203, %202, .loopexit674: ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h153c47366512fb12E.exit.thread.i", %..loopexit674_crit_edge %955 = phi ptr [ %.pre2250, %..loopexit674_crit_edge ], [ %.val1.i.i, %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h153c47366512fb12E.exit.thread.i" ] - tail call void @llvm.experimental.noalias.scope.decl(metadata !731) + tail call void @llvm.experimental.noalias.scope.decl(metadata !746) %956 = getelementptr inbounds nuw i8, ptr %0, i64 88 - store i64 %92, ptr %48, align 8, !alias.scope !731 - %957 = load i64, ptr %956, align 8, !alias.scope !731, !noundef !4 + store i64 %92, ptr %48, align 8, !alias.scope !746 + %957 = load i64, ptr %956, align 8, !alias.scope !746, !noundef !4 %958 = icmp ult i64 %92, %957 tail call void @llvm.assume(i1 %958) - %959 = load i64, ptr %955, align 8, !noalias !1079, !noundef !4 + %959 = load i64, ptr %955, align 8, !noalias !1094, !noundef !4 %960 = add i64 %959, -1 - store i64 %960, ptr %955, align 8, !noalias !1079 + store i64 %960, ptr %955, align 8, !noalias !1094 %961 = icmp eq i64 %960, 0 br i1 %961, label %962, label %.critedge @@ -9031,14 +9116,14 @@ _ZN4core3ops8function2Fn4call17hae62364ec96f019aE.exit.i: ; preds = %203, %202, .noexc397: ; preds = %962 %964 = getelementptr inbounds nuw i8, ptr %955, i64 8 - %965 = load i64, ptr %964, align 8, !noalias !1079, !noundef !4 + %965 = load i64, ptr %964, align 8, !noalias !1094, !noundef !4 %966 = add i64 %965, -1 - store i64 %966, ptr %964, align 8, !noalias !1079 + store i64 %966, ptr %964, align 8, !noalias !1094 %967 = icmp eq i64 %966, 0 br i1 %967, label %968, label %.critedge 968: ; preds = %.noexc397 - tail call void @__rust_dealloc(ptr noundef nonnull %955, i64 noundef 136, i64 noundef 8) #16, !noalias !1079 + tail call void @__rust_dealloc(ptr noundef nonnull %955, i64 noundef 136, i64 noundef 8) #16, !noalias !1094 br label %.critedge .critedge: ; preds = %.loopexit674, %.noexc397, %968 @@ -9052,19 +9137,19 @@ _ZN4core3ops8function2Fn4call17hae62364ec96f019aE.exit.i: ; preds = %203, %202, br i1 %973, label %974, label %"_ZN4core3ptr84drop_in_place$LT$string_cache..atom..Atom$LT$markup5ever..LocalNameStaticSet$GT$$GT$17h0e9d66411fdb076aE.exit" 974: ; preds = %969 - %975 = call noundef ptr @_ZN4core4sync6atomic11atomic_load17h4be985e8b17abd04E.llvm.5096816904524340452(ptr noundef nonnull getelementptr inbounds nuw (i8, ptr @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, i64 16), i8 noundef 2), !noalias !1084 + %975 = call noundef ptr @_ZN4core4sync6atomic11atomic_load17h4be985e8b17abd04E.llvm.5096816904524340452(ptr noundef nonnull getelementptr inbounds nuw (i8, ptr @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, i64 16), i8 noundef 2), !noalias !1099 %.not.i.i.i.i399 = icmp eq ptr %975, inttoptr (i64 2 to ptr) br i1 %.not.i.i.i.i399, label %"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E.exit.i.i400", label %976 976: ; preds = %974 - call void @"_ZN9once_cell3imp17OnceCell$LT$T$GT$10initialize17h88e844a06093b331E"(ptr noundef nonnull align 8 @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, ptr noundef nonnull align 8 @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E), !noalias !1084 - %977 = load ptr, ptr @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, align 8, !noalias !1084, !noundef !4 + call void @"_ZN9once_cell3imp17OnceCell$LT$T$GT$10initialize17h88e844a06093b331E"(ptr noundef nonnull align 8 @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, ptr noundef nonnull align 8 @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E), !noalias !1099 + %977 = load ptr, ptr @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, align 8, !noalias !1099, !noundef !4 %978 = icmp ne ptr %977, null call void @llvm.assume(i1 %978) br label %"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E.exit.i.i400" "_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E.exit.i.i400": ; preds = %976, %974 - call void @_ZN12string_cache11dynamic_set3Set6remove17h358d1c715f07230eE(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, ptr noundef nonnull %970), !noalias !1084 + call void @_ZN12string_cache11dynamic_set3Set6remove17h358d1c715f07230eE(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, ptr noundef nonnull %970), !noalias !1099 br label %"_ZN4core3ptr84drop_in_place$LT$string_cache..atom..Atom$LT$markup5ever..LocalNameStaticSet$GT$$GT$17h0e9d66411fdb076aE.exit" 979: ; preds = %.thread445 @@ -9171,19 +9256,19 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle br i1 %31, label %32, label %"_ZN4core3ptr84drop_in_place$LT$string_cache..atom..Atom$LT$markup5ever..LocalNameStaticSet$GT$$GT$17h0e9d66411fdb076aE.exit" 32: ; preds = %27 - %33 = call noundef ptr @_ZN4core4sync6atomic11atomic_load17h4be985e8b17abd04E.llvm.5096816904524340452(ptr noundef nonnull getelementptr inbounds nuw (i8, ptr @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, i64 16), i8 noundef 2), !noalias !1087 + %33 = call noundef ptr @_ZN4core4sync6atomic11atomic_load17h4be985e8b17abd04E.llvm.5096816904524340452(ptr noundef nonnull getelementptr inbounds nuw (i8, ptr @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, i64 16), i8 noundef 2), !noalias !1102 %.not.i.i.i.i = icmp eq ptr %33, inttoptr (i64 2 to ptr) br i1 %.not.i.i.i.i, label %"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E.exit.i.i", label %34 34: ; preds = %32 - call void @"_ZN9once_cell3imp17OnceCell$LT$T$GT$10initialize17h88e844a06093b331E"(ptr noundef nonnull align 8 @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, ptr noundef nonnull align 8 @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E), !noalias !1087 - %35 = load ptr, ptr @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, align 8, !noalias !1087, !noundef !4 + call void @"_ZN9once_cell3imp17OnceCell$LT$T$GT$10initialize17h88e844a06093b331E"(ptr noundef nonnull align 8 @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, ptr noundef nonnull align 8 @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E), !noalias !1102 + %35 = load ptr, ptr @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, align 8, !noalias !1102, !noundef !4 %36 = icmp ne ptr %35, null call void @llvm.assume(i1 %36) br label %"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E.exit.i.i" "_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E.exit.i.i": ; preds = %34, %32 - call void @_ZN12string_cache11dynamic_set3Set6remove17h358d1c715f07230eE(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, ptr noundef nonnull %28), !noalias !1087 + call void @_ZN12string_cache11dynamic_set3Set6remove17h358d1c715f07230eE(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, ptr noundef nonnull %28), !noalias !1102 br label %"_ZN4core3ptr84drop_in_place$LT$string_cache..atom..Atom$LT$markup5ever..LocalNameStaticSet$GT$$GT$17h0e9d66411fdb076aE.exit" "_ZN4core3ptr84drop_in_place$LT$string_cache..atom..Atom$LT$markup5ever..LocalNameStaticSet$GT$$GT$17h0e9d66411fdb076aE.exit": ; preds = %24, %27, %"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E.exit.i.i" @@ -9202,16 +9287,16 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle store ptr %7, ptr %4, align 8 %.sroa.42.0..sroa_idx = getelementptr inbounds nuw i8, ptr %4, i64 8 store ptr @"_ZN75_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..fmt..Debug$GT$3fmt17h5ca59590b29f8b05E", ptr %.sroa.42.0..sroa_idx, align 8 - call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %3), !noalias !1090 - store ptr @anon.b244ddacf973f5fee137b0ea6cb9ab8a.134, ptr %3, align 8, !noalias !1097 + call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %3), !noalias !1105 + store ptr @anon.b244ddacf973f5fee137b0ea6cb9ab8a.134, ptr %3, align 8, !noalias !1112 %.sroa.4.0..sroa_idx = getelementptr inbounds nuw i8, ptr %3, i64 8 - store i64 1, ptr %.sroa.4.0..sroa_idx, align 8, !noalias !1097 + store i64 1, ptr %.sroa.4.0..sroa_idx, align 8, !noalias !1112 %.sroa.5.0..sroa_idx = getelementptr inbounds nuw i8, ptr %3, i64 16 - store ptr %4, ptr %.sroa.5.0..sroa_idx, align 8, !noalias !1097 + store ptr %4, ptr %.sroa.5.0..sroa_idx, align 8, !noalias !1112 %.sroa.6.0..sroa_idx = getelementptr inbounds nuw i8, ptr %3, i64 24 - store i64 1, ptr %.sroa.6.0..sroa_idx, align 8, !noalias !1097 + store i64 1, ptr %.sroa.6.0..sroa_idx, align 8, !noalias !1112 %.sroa.7.0..sroa_idx = getelementptr inbounds nuw i8, ptr %3, i64 32 - store ptr null, ptr %.sroa.7.0..sroa_idx, align 8, !noalias !1097 + store ptr null, ptr %.sroa.7.0..sroa_idx, align 8, !noalias !1112 invoke void @_ZN5alloc3fmt6format12format_inner17hfc591406982d9639E(ptr noalias noundef nonnull sret([24 x i8]) align 8 captures(none) dereferenceable(24) %5, ptr noalias noundef nonnull align 8 captures(none) dereferenceable(48) %3) to label %42 unwind label %16 @@ -9220,7 +9305,7 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle to label %24 unwind label %16 42: ; preds = %40 - call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %3), !noalias !1090 + call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %3), !noalias !1105 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %4) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %6, ptr noundef nonnull align 8 dereferenceable(24) %5, i64 24, i1 false) br label %41 @@ -9266,19 +9351,19 @@ define internal fastcc noundef zeroext i1 @"_ZN9html5ever12tree_builder32TreeBui br i1 %18, label %19, label %"_ZN4core3ptr84drop_in_place$LT$string_cache..atom..Atom$LT$markup5ever..LocalNameStaticSet$GT$$GT$17h0e9d66411fdb076aE.exit" 19: ; preds = %14 - %20 = tail call noundef ptr @_ZN4core4sync6atomic11atomic_load17h4be985e8b17abd04E.llvm.5096816904524340452(ptr noundef nonnull getelementptr inbounds nuw (i8, ptr @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, i64 16), i8 noundef 2), !noalias !1098 + %20 = tail call noundef ptr @_ZN4core4sync6atomic11atomic_load17h4be985e8b17abd04E.llvm.5096816904524340452(ptr noundef nonnull getelementptr inbounds nuw (i8, ptr @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, i64 16), i8 noundef 2), !noalias !1113 %.not.i.i.i.i11 = icmp eq ptr %20, inttoptr (i64 2 to ptr) br i1 %.not.i.i.i.i11, label %"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E.exit.i.i", label %21 21: ; preds = %19 - tail call void @"_ZN9once_cell3imp17OnceCell$LT$T$GT$10initialize17h88e844a06093b331E"(ptr noundef nonnull align 8 @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, ptr noundef nonnull align 8 @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E), !noalias !1098 - %22 = load ptr, ptr @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, align 8, !noalias !1098, !noundef !4 + tail call void @"_ZN9once_cell3imp17OnceCell$LT$T$GT$10initialize17h88e844a06093b331E"(ptr noundef nonnull align 8 @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, ptr noundef nonnull align 8 @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E), !noalias !1113 + %22 = load ptr, ptr @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, align 8, !noalias !1113, !noundef !4 %23 = icmp ne ptr %22, null tail call void @llvm.assume(i1 %23) br label %"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E.exit.i.i" "_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E.exit.i.i": ; preds = %21, %19 - tail call void @_ZN12string_cache11dynamic_set3Set6remove17h358d1c715f07230eE(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, ptr noundef nonnull %15), !noalias !1098 + tail call void @_ZN12string_cache11dynamic_set3Set6remove17h358d1c715f07230eE(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, ptr noundef nonnull %15), !noalias !1113 br label %"_ZN4core3ptr84drop_in_place$LT$string_cache..atom..Atom$LT$markup5ever..LocalNameStaticSet$GT$$GT$17h0e9d66411fdb076aE.exit" "_ZN4core3ptr84drop_in_place$LT$string_cache..atom..Atom$LT$markup5ever..LocalNameStaticSet$GT$$GT$17h0e9d66411fdb076aE.exit": ; preds = %11, %14, %"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E.exit.i.i" @@ -9303,9 +9388,9 @@ define internal fastcc noundef zeroext i1 @"_ZN9html5ever12tree_builder32TreeBui ; Function Attrs: nonlazybind uwtable define internal fastcc noundef i64 @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15pop_until_named17hdbcce072678326baE"(ptr noalias noundef nonnull align 8 dereferenceable(192) %0, i64 noundef range(i64 1, 0) %1) unnamed_addr #2 personality ptr @rust_eh_personality { %3 = alloca [8 x i8], align 8 - tail call void @llvm.experimental.noalias.scope.decl(metadata !1101) + tail call void @llvm.experimental.noalias.scope.decl(metadata !1116) %4 = getelementptr inbounds nuw i8, ptr %0, i64 104 - %5 = load i64, ptr %4, align 8, !alias.scope !1101, !noalias !1104, !noundef !4 + %5 = load i64, ptr %4, align 8, !alias.scope !1116, !noalias !1119, !noundef !4 %6 = icmp eq i64 %5, 0 br i1 %6, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$9pop_until17hea5f7a30a37a3215E.exit", label %.lr.ph.i @@ -9318,23 +9403,23 @@ define internal fastcc noundef i64 @"_ZN9html5ever12tree_builder32TreeBuilder$LT %10 = phi i64 [ %5, %.lr.ph.i ], [ %39, %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit.i" ] %11 = phi i64 [ 1, %.lr.ph.i ], [ %38, %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit.i" ] %12 = add i64 %10, -1 - store i64 %12, ptr %4, align 8, !alias.scope !1101, !noalias !1104 - %13 = load i64, ptr %7, align 8, !alias.scope !1101, !noalias !1104, !noundef !4 + store i64 %12, ptr %4, align 8, !alias.scope !1116, !noalias !1119 + %13 = load i64, ptr %7, align 8, !alias.scope !1116, !noalias !1119, !noundef !4 %14 = icmp ult i64 %12, %13 call void @llvm.assume(i1 %14) - %15 = load ptr, ptr %8, align 8, !alias.scope !1101, !noalias !1104, !nonnull !4, !noundef !4 + %15 = load ptr, ptr %8, align 8, !alias.scope !1116, !noalias !1119, !nonnull !4, !noundef !4 %16 = getelementptr inbounds ptr, ptr %15, i64 %12 - %17 = load ptr, ptr %16, align 8, !noalias !1104, !nonnull !4, !noundef !4 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3), !noalias !1106 - store ptr %17, ptr %3, align 8, !noalias !1106 + %17 = load ptr, ptr %16, align 8, !noalias !1119, !nonnull !4, !noundef !4 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3), !noalias !1121 + store ptr %17, ptr %3, align 8, !noalias !1121 %18 = invoke { ptr, ptr } @"_ZN91_$LT$markup5ever_rcdom..RcDom$u20$as$u20$markup5ever..interface..tree_builder..TreeSink$GT$9elem_name17h4e753bf026563d2eE"(ptr noalias noundef nonnull readonly align 8 dereferenceable(192) %0, ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %3) - to label %21 unwind label %19, !noalias !1104 + to label %21 unwind label %19, !noalias !1119 19: ; preds = %9 %20 = landingpad { ptr, i32 } cleanup invoke void @"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"(ptr noalias noundef nonnull align 8 dereferenceable(8) %3) #17 - to label %.body unwind label %53, !noalias !1104 + to label %.body unwind label %53, !noalias !1119 21: ; preds = %9 %22 = extractvalue { ptr, ptr } %18, 0 @@ -9344,17 +9429,17 @@ define internal fastcc noundef i64 @"_ZN9html5ever12tree_builder32TreeBuilder$LT "_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15pop_until_named28_$u7b$$u7b$closure$u7d$$u7d$17hb1795f02cee533b5E.exit.i": ; preds = %21 %24 = extractvalue { ptr, ptr } %18, 1 - %25 = load i64, ptr %24, align 8, !range !57, !alias.scope !1107, !noundef !4 + %25 = load i64, ptr %24, align 8, !range !57, !alias.scope !1122, !noundef !4 %26 = icmp eq i64 %25, %1 br i1 %26, label %41, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15pop_until_named28_$u7b$$u7b$closure$u7d$$u7d$17hb1795f02cee533b5E.exit.thread.i" "_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15pop_until_named28_$u7b$$u7b$closure$u7d$$u7d$17hb1795f02cee533b5E.exit.thread.i": ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15pop_until_named28_$u7b$$u7b$closure$u7d$$u7d$17hb1795f02cee533b5E.exit.i", %21 - call void @llvm.experimental.noalias.scope.decl(metadata !1110) - call void @llvm.experimental.noalias.scope.decl(metadata !1113) - %27 = load ptr, ptr %3, align 8, !alias.scope !1116, !noalias !1106, !nonnull !4, !noundef !4 - %28 = load i64, ptr %27, align 8, !noalias !1117, !noundef !4 + call void @llvm.experimental.noalias.scope.decl(metadata !1125) + call void @llvm.experimental.noalias.scope.decl(metadata !1128) + %27 = load ptr, ptr %3, align 8, !alias.scope !1131, !noalias !1121, !nonnull !4, !noundef !4 + %28 = load i64, ptr %27, align 8, !noalias !1132, !noundef !4 %29 = add i64 %28, -1 - store i64 %29, ptr %27, align 8, !noalias !1117 + store i64 %29, ptr %27, align 8, !noalias !1132 %30 = icmp eq i64 %29, 0 br i1 %30, label %31, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit.i" @@ -9365,30 +9450,30 @@ define internal fastcc noundef i64 @"_ZN9html5ever12tree_builder32TreeBuilder$LT .noexc: ; preds = %31 %33 = getelementptr inbounds nuw i8, ptr %27, i64 8 - %34 = load i64, ptr %33, align 8, !noalias !1117, !noundef !4 + %34 = load i64, ptr %33, align 8, !noalias !1132, !noundef !4 %35 = add i64 %34, -1 - store i64 %35, ptr %33, align 8, !noalias !1117 + store i64 %35, ptr %33, align 8, !noalias !1132 %36 = icmp eq i64 %35, 0 br i1 %36, label %37, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit.i" 37: ; preds = %.noexc - call void @__rust_dealloc(ptr noundef nonnull %27, i64 noundef 136, i64 noundef 8) #16, !noalias !1117 + call void @__rust_dealloc(ptr noundef nonnull %27, i64 noundef 136, i64 noundef 8) #16, !noalias !1132 br label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit.i" "_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit.i": ; preds = %37, %.noexc, %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15pop_until_named28_$u7b$$u7b$closure$u7d$$u7d$17hb1795f02cee533b5E.exit.thread.i" - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3), !noalias !1106 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3), !noalias !1121 %38 = add i64 %11, 1 - %39 = load i64, ptr %4, align 8, !alias.scope !1101, !noalias !1104, !noundef !4 + %39 = load i64, ptr %4, align 8, !alias.scope !1116, !noalias !1119, !noundef !4 %40 = icmp eq i64 %39, 0 br i1 %40, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$9pop_until17hea5f7a30a37a3215E.exit", label %9 41: ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15pop_until_named28_$u7b$$u7b$closure$u7d$$u7d$17hb1795f02cee533b5E.exit.i" - call void @llvm.experimental.noalias.scope.decl(metadata !1118) - call void @llvm.experimental.noalias.scope.decl(metadata !1121) - %42 = load ptr, ptr %3, align 8, !alias.scope !1124, !noalias !1106, !nonnull !4, !noundef !4 - %43 = load i64, ptr %42, align 8, !noalias !1125, !noundef !4 + call void @llvm.experimental.noalias.scope.decl(metadata !1133) + call void @llvm.experimental.noalias.scope.decl(metadata !1136) + %42 = load ptr, ptr %3, align 8, !alias.scope !1139, !noalias !1121, !nonnull !4, !noundef !4 + %43 = load i64, ptr %42, align 8, !noalias !1140, !noundef !4 %44 = add i64 %43, -1 - store i64 %44, ptr %42, align 8, !noalias !1125 + store i64 %44, ptr %42, align 8, !noalias !1140 %45 = icmp eq i64 %44, 0 br i1 %45, label %46, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit7.i" @@ -9399,24 +9484,24 @@ define internal fastcc noundef i64 @"_ZN9html5ever12tree_builder32TreeBuilder$LT .noexc2: ; preds = %46 %48 = getelementptr inbounds nuw i8, ptr %42, i64 8 - %49 = load i64, ptr %48, align 8, !noalias !1125, !noundef !4 + %49 = load i64, ptr %48, align 8, !noalias !1140, !noundef !4 %50 = add i64 %49, -1 - store i64 %50, ptr %48, align 8, !noalias !1125 + store i64 %50, ptr %48, align 8, !noalias !1140 %51 = icmp eq i64 %50, 0 br i1 %51, label %52, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit7.i" 52: ; preds = %.noexc2 - call void @__rust_dealloc(ptr noundef nonnull %42, i64 noundef 136, i64 noundef 8) #16, !noalias !1125 + call void @__rust_dealloc(ptr noundef nonnull %42, i64 noundef 136, i64 noundef 8) #16, !noalias !1140 br label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit7.i" "_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit7.i": ; preds = %52, %.noexc2, %41 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3), !noalias !1106 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3), !noalias !1121 br label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$9pop_until17hea5f7a30a37a3215E.exit" 53: ; preds = %19 %54 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer - call void @_ZN4core9panicking16panic_in_cleanup17hfa05ef7d5107e16aE() #15, !noalias !1104 + call void @_ZN4core9panicking16panic_in_cleanup17hfa05ef7d5107e16aE() #15, !noalias !1119 unreachable .loopexit: ; preds = %31 @@ -9448,19 +9533,19 @@ define internal fastcc noundef i64 @"_ZN9html5ever12tree_builder32TreeBuilder$LT br i1 %62, label %63, label %"_ZN4core3ptr84drop_in_place$LT$string_cache..atom..Atom$LT$markup5ever..LocalNameStaticSet$GT$$GT$17h0e9d66411fdb076aE.exit" 63: ; preds = %58 - %64 = call noundef ptr @_ZN4core4sync6atomic11atomic_load17h4be985e8b17abd04E.llvm.5096816904524340452(ptr noundef nonnull getelementptr inbounds nuw (i8, ptr @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, i64 16), i8 noundef 2), !noalias !1126 + %64 = call noundef ptr @_ZN4core4sync6atomic11atomic_load17h4be985e8b17abd04E.llvm.5096816904524340452(ptr noundef nonnull getelementptr inbounds nuw (i8, ptr @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, i64 16), i8 noundef 2), !noalias !1141 %.not.i.i.i.i = icmp eq ptr %64, inttoptr (i64 2 to ptr) br i1 %.not.i.i.i.i, label %"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E.exit.i.i", label %65 65: ; preds = %63 - call void @"_ZN9once_cell3imp17OnceCell$LT$T$GT$10initialize17h88e844a06093b331E"(ptr noundef nonnull align 8 @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, ptr noundef nonnull align 8 @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E), !noalias !1126 - %66 = load ptr, ptr @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, align 8, !noalias !1126, !noundef !4 + call void @"_ZN9once_cell3imp17OnceCell$LT$T$GT$10initialize17h88e844a06093b331E"(ptr noundef nonnull align 8 @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, ptr noundef nonnull align 8 @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E), !noalias !1141 + %66 = load ptr, ptr @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, align 8, !noalias !1141, !noundef !4 %67 = icmp ne ptr %66, null call void @llvm.assume(i1 %67) br label %"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E.exit.i.i" "_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E.exit.i.i": ; preds = %65, %63 - call void @_ZN12string_cache11dynamic_set3Set6remove17h358d1c715f07230eE(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, ptr noundef nonnull %59), !noalias !1126 + call void @_ZN12string_cache11dynamic_set3Set6remove17h358d1c715f07230eE(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, ptr noundef nonnull %59), !noalias !1141 br label %"_ZN4core3ptr84drop_in_place$LT$string_cache..atom..Atom$LT$markup5ever..LocalNameStaticSet$GT$$GT$17h0e9d66411fdb076aE.exit" "_ZN4core3ptr84drop_in_place$LT$string_cache..atom..Atom$LT$markup5ever..LocalNameStaticSet$GT$$GT$17h0e9d66411fdb076aE.exit": ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$9pop_until17hea5f7a30a37a3215E.exit", %58, %"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E.exit.i.i" @@ -9476,83 +9561,6 @@ define internal fastcc noundef i64 @"_ZN9html5ever12tree_builder32TreeBuilder$LT resume { ptr, i32 } %eh.lpad-body } -; Function Attrs: nonlazybind uwtable -define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17adjust_attributes17h032bbfd79a2156f0E"(ptr %.8.val, i64 %.16.val) unnamed_addr #2 personality ptr @rust_eh_personality { - %1 = icmp ne ptr %.8.val, null - tail call void @llvm.assume(i1 %1) - %2 = getelementptr inbounds { { i64, i64, i64 }, { i64, { { [2 x i32] } }, {}, {} } }, ptr %.8.val, i64 %.16.val - %3 = icmp eq i64 %.16.val, 0 - br i1 %3, label %"_ZN94_$LT$core..slice..iter..IterMut$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h3807c0ab9ca60b24E.exit.thread", label %"_ZN94_$LT$core..slice..iter..IterMut$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h3807c0ab9ca60b24E.exit" - -"_ZN94_$LT$core..slice..iter..IterMut$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h3807c0ab9ca60b24E.exit": ; preds = %0, %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$24adjust_mathml_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h7d3c76871bd54afaE.exit.thread" - %.sroa.0.013 = phi ptr [ %4, %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$24adjust_mathml_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h7d3c76871bd54afaE.exit.thread" ], [ %.8.val, %0 ] - %4 = getelementptr inbounds nuw i8, ptr %.sroa.0.013, i64 40 - %5 = getelementptr inbounds nuw i8, ptr %.sroa.0.013, i64 8 - %6 = load i64, ptr %5, align 8, !range !57, !noundef !4 - %7 = and i64 %6, 3 - %8 = icmp eq i64 %7, 0 - br i1 %8, label %9, label %.thread - -"_ZN94_$LT$core..slice..iter..IterMut$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h3807c0ab9ca60b24E.exit.thread": ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$24adjust_mathml_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h7d3c76871bd54afaE.exit.thread", %0 - ret void - -9: ; preds = %"_ZN94_$LT$core..slice..iter..IterMut$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h3807c0ab9ca60b24E.exit" - %10 = inttoptr i64 %6 to ptr - %11 = getelementptr inbounds nuw i8, ptr %10, i64 16 - %12 = atomicrmw add ptr %11, i64 1 seq_cst, align 8 - %13 = icmp eq i64 %6, 3818225926146 - br i1 %13, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$24adjust_mathml_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h7d3c76871bd54afaE.exit", label %15 - -.thread: ; preds = %"_ZN94_$LT$core..slice..iter..IterMut$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h3807c0ab9ca60b24E.exit" - %14 = icmp eq i64 %6, 3818225926146 - br i1 %14, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$24adjust_mathml_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h7d3c76871bd54afaE.exit", label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$24adjust_mathml_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h7d3c76871bd54afaE.exit.thread" - -15: ; preds = %9 - %16 = atomicrmw sub ptr %11, i64 1 seq_cst, align 8, !noalias !1129 - %17 = icmp eq i64 %16, 1 - br i1 %17, label %18, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$24adjust_mathml_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h7d3c76871bd54afaE.exit.thread" - -18: ; preds = %15 - %19 = tail call noundef ptr @_ZN4core4sync6atomic11atomic_load17h4be985e8b17abd04E.llvm.5096816904524340452(ptr noundef nonnull getelementptr inbounds nuw (i8, ptr @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, i64 16), i8 noundef 2), !noalias !1132 - %.not.i.i.i.i.i = icmp eq ptr %19, inttoptr (i64 2 to ptr) - br i1 %.not.i.i.i.i.i, label %"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E.exit.i.i.i", label %20 - -20: ; preds = %18 - tail call void @"_ZN9once_cell3imp17OnceCell$LT$T$GT$10initialize17h88e844a06093b331E"(ptr noundef nonnull align 8 @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, ptr noundef nonnull align 8 @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E), !noalias !1132 - %21 = load ptr, ptr @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, align 8, !noalias !1132, !noundef !4 - %22 = icmp ne ptr %21, null - tail call void @llvm.assume(i1 %22) - br label %"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E.exit.i.i.i" - -"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E.exit.i.i.i": ; preds = %20, %18 - tail call void @_ZN12string_cache11dynamic_set3Set6remove17h358d1c715f07230eE(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, ptr noundef nonnull %10), !noalias !1132 - br label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$24adjust_mathml_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h7d3c76871bd54afaE.exit.thread" - -"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$24adjust_mathml_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h7d3c76871bd54afaE.exit": ; preds = %9, %.thread - invoke void @"_ZN4core3ptr53drop_in_place$LT$markup5ever..interface..QualName$GT$17h8230ef8e9ca34766E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %.sroa.0.013) - to label %25 unwind label %23 - -23: ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$24adjust_mathml_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h7d3c76871bd54afaE.exit" - %24 = landingpad { ptr, i32 } - cleanup - store i64 25769803778, ptr %.sroa.0.013, align 8 - store i64 4655744548866, ptr %5, align 8 - %.sroa.4.0..sroa.0.0.i.sroa_idx = getelementptr inbounds nuw i8, ptr %.sroa.0.013, i64 16 - store i64 0, ptr %.sroa.4.0..sroa.0.0.i.sroa_idx, align 8 - resume { ptr, i32 } %24 - -25: ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$24adjust_mathml_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h7d3c76871bd54afaE.exit" - store i64 25769803778, ptr %.sroa.0.013, align 8 - store i64 4655744548866, ptr %5, align 8 - %.sroa.4.0..sroa.0.0.i.sroa_idx6 = getelementptr inbounds nuw i8, ptr %.sroa.0.013, i64 16 - store i64 0, ptr %.sroa.4.0..sroa.0.0.i.sroa_idx6, align 8 - br label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$24adjust_mathml_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h7d3c76871bd54afaE.exit.thread" - -"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$24adjust_mathml_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h7d3c76871bd54afaE.exit.thread": ; preds = %.thread, %15, %"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E.exit.i.i.i", %25 - %26 = icmp eq ptr %4, %2 - br i1 %26, label %"_ZN94_$LT$core..slice..iter..IterMut$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h3807c0ab9ca60b24E.exit.thread", label %"_ZN94_$LT$core..slice..iter..IterMut$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h3807c0ab9ca60b24E.exit" -} - ; Function Attrs: nonlazybind uwtable define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17adjust_attributes17h43d21c4c0c3e6b8dE"(ptr %.8.val, i64 %.16.val) unnamed_addr #2 personality ptr @rust_eh_personality { %1 = icmp ne ptr %.8.val, null @@ -9823,19 +9831,19 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle br i1 %76, label %77, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$21adjust_svg_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h0eaf0026a3dd26efE.exit" 77: ; preds = %72 - %78 = tail call noundef ptr @_ZN4core4sync6atomic11atomic_load17h4be985e8b17abd04E.llvm.5096816904524340452(ptr noundef nonnull getelementptr inbounds nuw (i8, ptr @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, i64 16), i8 noundef 2), !noalias !1135 + %78 = tail call noundef ptr @_ZN4core4sync6atomic11atomic_load17h4be985e8b17abd04E.llvm.5096816904524340452(ptr noundef nonnull getelementptr inbounds nuw (i8, ptr @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, i64 16), i8 noundef 2), !noalias !1144 %.not.i.i.i.i.i = icmp eq ptr %78, inttoptr (i64 2 to ptr) br i1 %.not.i.i.i.i.i, label %"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E.exit.i.i.i", label %79 79: ; preds = %77 - tail call void @"_ZN9once_cell3imp17OnceCell$LT$T$GT$10initialize17h88e844a06093b331E"(ptr noundef nonnull align 8 @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, ptr noundef nonnull align 8 @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E), !noalias !1135 - %80 = load ptr, ptr @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, align 8, !noalias !1138, !noundef !4 + tail call void @"_ZN9once_cell3imp17OnceCell$LT$T$GT$10initialize17h88e844a06093b331E"(ptr noundef nonnull align 8 @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, ptr noundef nonnull align 8 @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E), !noalias !1144 + %80 = load ptr, ptr @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, align 8, !noalias !1147, !noundef !4 %81 = icmp ne ptr %80, null tail call void @llvm.assume(i1 %81) br label %"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E.exit.i.i.i" "_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E.exit.i.i.i": ; preds = %79, %77 - tail call void @_ZN12string_cache11dynamic_set3Set6remove17h358d1c715f07230eE(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, ptr noundef nonnull %73), !noalias !1135 + tail call void @_ZN12string_cache11dynamic_set3Set6remove17h358d1c715f07230eE(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, ptr noundef nonnull %73), !noalias !1144 br label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$21adjust_svg_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h0eaf0026a3dd26efE.exit" 82: ; preds = %70, %69, %68, %67, %66, %65, %64, %63, %62, %61, %60, %59, %58, %57, %56, %55, %54, %53, %52, %51, %50, %49, %48, %47, %46, %45, %44, %43, %42, %41, %40, %39, %38, %37, %36, %35, %34, %33, %32, %31, %30, %29, %28, %27, %26, %25, %24, %23, %22, %21, %20, %19, %18, %17, %16, %15, %14, %13 @@ -9941,24 +9949,24 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle 25: ; preds = %24 %26 = inttoptr i64 %6 to ptr %27 = getelementptr inbounds nuw i8, ptr %26, i64 16 - %28 = atomicrmw sub ptr %27, i64 1 seq_cst, align 8, !noalias !1141 + %28 = atomicrmw sub ptr %27, i64 1 seq_cst, align 8, !noalias !1150 %29 = icmp eq i64 %28, 1 br i1 %29, label %30, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$25adjust_foreign_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h6b7bd02e7aedfaa4E.exit" 30: ; preds = %25 - %31 = tail call noundef ptr @_ZN4core4sync6atomic11atomic_load17h4be985e8b17abd04E.llvm.5096816904524340452(ptr noundef nonnull getelementptr inbounds nuw (i8, ptr @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, i64 16), i8 noundef 2), !noalias !1144 + %31 = tail call noundef ptr @_ZN4core4sync6atomic11atomic_load17h4be985e8b17abd04E.llvm.5096816904524340452(ptr noundef nonnull getelementptr inbounds nuw (i8, ptr @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, i64 16), i8 noundef 2), !noalias !1153 %.not.i.i.i.i.i = icmp eq ptr %31, inttoptr (i64 2 to ptr) br i1 %.not.i.i.i.i.i, label %"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E.exit.i.i.i", label %32 32: ; preds = %30 - tail call void @"_ZN9once_cell3imp17OnceCell$LT$T$GT$10initialize17h88e844a06093b331E"(ptr noundef nonnull align 8 @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, ptr noundef nonnull align 8 @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E), !noalias !1144 - %33 = load ptr, ptr @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, align 8, !noalias !1144, !noundef !4 + tail call void @"_ZN9once_cell3imp17OnceCell$LT$T$GT$10initialize17h88e844a06093b331E"(ptr noundef nonnull align 8 @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, ptr noundef nonnull align 8 @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E), !noalias !1153 + %33 = load ptr, ptr @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, align 8, !noalias !1153, !noundef !4 %34 = icmp ne ptr %33, null tail call void @llvm.assume(i1 %34) br label %"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E.exit.i.i.i" "_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E.exit.i.i.i": ; preds = %32, %30 - tail call void @_ZN12string_cache11dynamic_set3Set6remove17h358d1c715f07230eE(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, ptr noundef nonnull %26), !noalias !1144 + tail call void @_ZN12string_cache11dynamic_set3Set6remove17h358d1c715f07230eE(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, ptr noundef nonnull %26), !noalias !1153 br label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$25adjust_foreign_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h6b7bd02e7aedfaa4E.exit" 35: ; preds = %23, %22, %21, %20, %19, %18, %17, %16, %15, %14, %13 @@ -9996,10 +10004,10 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle %6 = alloca [8 x i8], align 8 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %6) %7 = getelementptr inbounds nuw i8, ptr %1, i64 104 - %8 = load i64, ptr %7, align 8, !alias.scope !1147, !noundef !4 + %8 = load i64, ptr %7, align 8, !alias.scope !1156, !noundef !4 %9 = icmp ne i64 %8, 1 %10 = getelementptr inbounds nuw i8, ptr %1, i64 160 - %11 = load ptr, ptr %10, align 8, !alias.scope !1147 + %11 = load ptr, ptr %10, align 8, !alias.scope !1156 %12 = icmp eq ptr %11, null %or.cond.i = select i1 %9, i1 true, i1 %12 br i1 %or.cond.i, label %13, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$21adjusted_current_node17h42783e54d25dff00E.llvm.4491288516430033680.exit" @@ -10017,7 +10025,7 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle 15: ; preds = %13 %16 = getelementptr inbounds nuw i8, ptr %1, i64 96 - %17 = load ptr, ptr %16, align 8, !alias.scope !1147, !nonnull !4, !noundef !4 + %17 = load ptr, ptr %16, align 8, !alias.scope !1156, !nonnull !4, !noundef !4 %18 = add i64 %8, -1 %19 = getelementptr inbounds [0 x ptr], ptr %17, i64 0, i64 %18 br label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$21adjusted_current_node17h42783e54d25dff00E.llvm.4491288516430033680.exit" @@ -10025,7 +10033,7 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle .thread: ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$21adjusted_current_node17h42783e54d25dff00E.llvm.4491288516430033680.exit", %14 %20 = landingpad { ptr, i32 } cleanup - br label %.thread27 + br label %.thread34 "_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$21adjusted_current_node17h42783e54d25dff00E.llvm.4491288516430033680.exit": ; preds = %15, %3 %.sroa.0.0.i = phi ptr [ %19, %15 ], [ %10, %3 ] @@ -10047,289 +10055,361 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle 31: ; preds = %22, %27 store i64 %24, ptr %6, align 8 - switch i64 %24, label %._crit_edge [ - i64 4294967298, label %33 - i64 17179869186, label %36 + switch i64 %24, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17adjust_attributes17h032bbfd79a2156f0E.exit" [ + i64 4294967298, label %34 + i64 17179869186, label %59 ] -._crit_edge: ; preds = %31 - %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %2, i64 8 - %.val6.pre = load ptr, ptr %.phi.trans.insert, align 8, !alias.scope !1150 - %.phi.trans.insert31 = getelementptr inbounds nuw i8, ptr %2, i64 16 - %.val7.pre = load i64, ptr %.phi.trans.insert31, align 8, !alias.scope !1150 - br label %32 - -32: ; preds = %._crit_edge, %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$19adjust_svg_tag_name17h0c165ab345d93183E.exit", %33 - %.val7 = phi i64 [ %.val7.pre, %._crit_edge ], [ %.val11, %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$19adjust_svg_tag_name17h0c165ab345d93183E.exit" ], [ %.val9, %33 ] - %.val6 = phi ptr [ %.val6.pre, %._crit_edge ], [ %.val10, %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$19adjust_svg_tag_name17h0c165ab345d93183E.exit" ], [ %.val8, %33 ] +"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17adjust_attributes17h032bbfd79a2156f0E.exit": ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$24adjust_mathml_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h7d3c76871bd54afaE.exit.thread.i", %34, %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$19adjust_svg_tag_name17h0c165ab345d93183E.exit", %31 + %32 = getelementptr inbounds nuw i8, ptr %2, i64 8 + %.val6 = load ptr, ptr %32, align 8, !alias.scope !522, !nonnull !4, !noundef !4 + %33 = getelementptr inbounds nuw i8, ptr %2, i64 16 + %.val7 = load i64, ptr %33, align 8, !alias.scope !522, !noundef !4 invoke fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17adjust_attributes17hf6425241a582cffbE"(ptr nonnull %.val6, i64 %.val7) - to label %77 unwind label %103 - -33: ; preds = %31 - %34 = getelementptr inbounds nuw i8, ptr %2, i64 8 - %.val8 = load ptr, ptr %34, align 8, !alias.scope !1153, !nonnull !4, !noundef !4 - %35 = getelementptr inbounds nuw i8, ptr %2, i64 16 - %.val9 = load i64, ptr %35, align 8, !alias.scope !1153, !noundef !4 - invoke fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17adjust_attributes17h032bbfd79a2156f0E"(ptr nonnull %.val8, i64 %.val9) - to label %32 unwind label %103 - -36: ; preds = %31 - %37 = getelementptr inbounds nuw i8, ptr %2, i64 24 - %38 = load i64, ptr %37, align 8, !alias.scope !1156, !noundef !4 - switch i64 %38, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$19adjust_svg_tag_name17h0c165ab345d93183E.exit" [ + to label %100 unwind label %.body.thread27.loopexit.split-lp + +34: ; preds = %31 + %35 = getelementptr inbounds nuw i8, ptr %2, i64 8 + %.val8 = load ptr, ptr %35, align 8, !alias.scope !525, !nonnull !4, !noundef !4 + %36 = getelementptr inbounds nuw i8, ptr %2, i64 16 + %.val9 = load i64, ptr %36, align 8, !alias.scope !525, !noundef !4 + %37 = getelementptr inbounds { { i64, i64, i64 }, { i64, { { [2 x i32] } }, {}, {} } }, ptr %.val8, i64 %.val9 + %38 = icmp eq i64 %.val9, 0 + br i1 %38, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17adjust_attributes17h032bbfd79a2156f0E.exit", label %"_ZN94_$LT$core..slice..iter..IterMut$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h3807c0ab9ca60b24E.exit.i" + +"_ZN94_$LT$core..slice..iter..IterMut$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h3807c0ab9ca60b24E.exit.i": ; preds = %34, %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$24adjust_mathml_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h7d3c76871bd54afaE.exit.thread.i" + %.sroa.0.013.i = phi ptr [ %39, %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$24adjust_mathml_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h7d3c76871bd54afaE.exit.thread.i" ], [ %.val8, %34 ] + %39 = getelementptr inbounds nuw i8, ptr %.sroa.0.013.i, i64 40 + %40 = getelementptr inbounds nuw i8, ptr %.sroa.0.013.i, i64 8 + %41 = load i64, ptr %40, align 8, !range !57, !noundef !4 + %42 = and i64 %41, 3 + %43 = icmp eq i64 %42, 0 + br i1 %43, label %44, label %.thread.i + +44: ; preds = %"_ZN94_$LT$core..slice..iter..IterMut$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h3807c0ab9ca60b24E.exit.i" + %45 = inttoptr i64 %41 to ptr + %46 = getelementptr inbounds nuw i8, ptr %45, i64 16 + %47 = atomicrmw add ptr %46, i64 1 seq_cst, align 8 + %48 = atomicrmw sub ptr %46, i64 1 seq_cst, align 8, !noalias !1159 + %49 = icmp eq i64 %48, 1 + br i1 %49, label %51, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$24adjust_mathml_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h7d3c76871bd54afaE.exit.thread.i" + +.thread.i: ; preds = %"_ZN94_$LT$core..slice..iter..IterMut$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h3807c0ab9ca60b24E.exit.i" + %50 = icmp eq i64 %41, 3818225926146 + br i1 %50, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$24adjust_mathml_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h7d3c76871bd54afaE.exit.i", label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$24adjust_mathml_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h7d3c76871bd54afaE.exit.thread.i" + +51: ; preds = %44 + %52 = invoke noundef ptr @_ZN4core4sync6atomic11atomic_load17h4be985e8b17abd04E.llvm.5096816904524340452(ptr noundef nonnull getelementptr inbounds nuw (i8, ptr @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, i64 16), i8 noundef 2) + to label %.noexc12 unwind label %.body.thread27.loopexit + +.noexc12: ; preds = %51 + %.not.i.i.i.i.i.i = icmp eq ptr %52, inttoptr (i64 2 to ptr) + br i1 %.not.i.i.i.i.i.i, label %"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E.exit.i.i.i.i", label %53 + +53: ; preds = %.noexc12 + invoke void @"_ZN9once_cell3imp17OnceCell$LT$T$GT$10initialize17h88e844a06093b331E"(ptr noundef nonnull align 8 @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, ptr noundef nonnull align 8 @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E) + to label %.noexc13 unwind label %.body.thread27.loopexit + +.noexc13: ; preds = %53 + %54 = load ptr, ptr @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, align 8, !noalias !1162, !noundef !4 + %55 = icmp ne ptr %54, null + tail call void @llvm.assume(i1 %55) + br label %"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E.exit.i.i.i.i" + +"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E.exit.i.i.i.i": ; preds = %.noexc13, %.noexc12 + invoke void @_ZN12string_cache11dynamic_set3Set6remove17h358d1c715f07230eE(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, ptr noundef nonnull %45) + to label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$24adjust_mathml_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h7d3c76871bd54afaE.exit.thread.i" unwind label %.body.thread27.loopexit + +"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$24adjust_mathml_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h7d3c76871bd54afaE.exit.i": ; preds = %.thread.i + invoke void @"_ZN4core3ptr53drop_in_place$LT$markup5ever..interface..QualName$GT$17h8230ef8e9ca34766E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %.sroa.0.013.i) + to label %57 unwind label %.body.thread + +.body.thread: ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$24adjust_mathml_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h7d3c76871bd54afaE.exit.i" + %56 = landingpad { ptr, i32 } + cleanup + store i64 25769803778, ptr %.sroa.0.013.i, align 8 + store i64 4655744548866, ptr %40, align 8 + %.sroa.4.0..sroa.0.0.i.sroa_idx.i = getelementptr inbounds nuw i8, ptr %.sroa.0.013.i, i64 16 + store i64 0, ptr %.sroa.4.0..sroa.0.0.i.sroa_idx.i, align 8 + br label %.body.thread27 + +57: ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$24adjust_mathml_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h7d3c76871bd54afaE.exit.i" + store i64 25769803778, ptr %.sroa.0.013.i, align 8 + store i64 4655744548866, ptr %40, align 8 + %.sroa.4.0..sroa.0.0.i.sroa_idx6.i = getelementptr inbounds nuw i8, ptr %.sroa.0.013.i, i64 16 + store i64 0, ptr %.sroa.4.0..sroa.0.0.i.sroa_idx6.i, align 8 + br label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$24adjust_mathml_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h7d3c76871bd54afaE.exit.thread.i" + +"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$24adjust_mathml_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h7d3c76871bd54afaE.exit.thread.i": ; preds = %"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E.exit.i.i.i.i", %57, %.thread.i, %44 + %58 = icmp eq ptr %39, %37 + br i1 %58, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17adjust_attributes17h032bbfd79a2156f0E.exit", label %"_ZN94_$LT$core..slice..iter..IterMut$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h3807c0ab9ca60b24E.exit.i" + +59: ; preds = %31 + %60 = getelementptr inbounds nuw i8, ptr %2, i64 24 + %61 = load i64, ptr %60, align 8, !alias.scope !1165, !noundef !4 + switch i64 %61, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$19adjust_svg_tag_name17h0c165ab345d93183E.exit" [ i64 455266533378, label %.sink.split.i - i64 2126008811522, label %39 - i64 4518305595394, label %40 - i64 2615635083266, label %41 - i64 3040836845570, label %42 - i64 2521145802754, label %43 - i64 51539607554, label %44 - i64 2838973382658, label %45 - i64 3629247365122, label %46 - i64 4080218931202, label %47 - i64 528280977410, label %48 - i64 1198295875586, label %49 - i64 605590388738, label %50 - i64 747324309506, label %51 - i64 3466038607874, label %52 - i64 1262720385026, label %53 - i64 2869038153730, label %54 - i64 356482285570, label %55 - i64 2186138353666, label %56 - i64 4282082394114, label %57 - i64 3393024163842, label %58 - i64 3745211482114, label %59 - i64 1391569403906, label %60 - i64 3655017168898, label %61 - i64 2138893713410, label %62 - i64 4209067950082, label %63 - i64 1000727379970, label %64 - i64 2942052597762, label %65 - i64 4754528796674, label %66 - i64 4067334029314, label %67 - i64 828928688130, label %68 - i64 1610612736002, label %69 - i64 3732326580226, label %70 - i64 2332167241730, label %71 - i64 2100239007746, label %72 - i64 485331304450, label %73 - i64 597000454146, label %74 + i64 2126008811522, label %62 + i64 4518305595394, label %63 + i64 2615635083266, label %64 + i64 3040836845570, label %65 + i64 2521145802754, label %66 + i64 51539607554, label %67 + i64 2838973382658, label %68 + i64 3629247365122, label %69 + i64 4080218931202, label %70 + i64 528280977410, label %71 + i64 1198295875586, label %72 + i64 605590388738, label %73 + i64 747324309506, label %74 + i64 3466038607874, label %75 + i64 1262720385026, label %76 + i64 2869038153730, label %77 + i64 356482285570, label %78 + i64 2186138353666, label %79 + i64 4282082394114, label %80 + i64 3393024163842, label %81 + i64 3745211482114, label %82 + i64 1391569403906, label %83 + i64 3655017168898, label %84 + i64 2138893713410, label %85 + i64 4209067950082, label %86 + i64 1000727379970, label %87 + i64 2942052597762, label %88 + i64 4754528796674, label %89 + i64 4067334029314, label %90 + i64 828928688130, label %91 + i64 1610612736002, label %92 + i64 3732326580226, label %93 + i64 2332167241730, label %94 + i64 2100239007746, label %95 + i64 485331304450, label %96 + i64 597000454146, label %97 ] -.sink.split.i: ; preds = %74, %73, %72, %71, %70, %69, %68, %67, %66, %65, %64, %63, %62, %61, %60, %59, %58, %57, %56, %55, %54, %53, %52, %51, %50, %49, %48, %47, %46, %45, %44, %43, %42, %41, %40, %39, %36 - %.sink.i = phi i64 [ 3792456122370, %74 ], [ 1073741824002, %73 ], [ 3770981285890, %72 ], [ 3139621093378, %71 ], [ 1194000908290, %70 ], [ 3358664425474, %69 ], [ 1915555414018, %68 ], [ 515396075522, %67 ], [ 412316860418, %66 ], [ 3594887626754, %65 ], [ 584115552258, %64 ], [ 2645699854338, %63 ], [ 1125281431554, %62 ], [ 4402341478402, %61 ], [ 2211908157442, %60 ], [ 4213362917378, %59 ], [ 1133871366146, %58 ], [ 4685809319938, %57 ], [ 2594160246786, %56 ], [ 4625679777794, %55 ], [ 1404454305794, %54 ], [ 927712935938, %53 ], [ 1885490642946, %52 ], [ 335007449090, %51 ], [ 3066606649346, %50 ], [ 3332894621698, %49 ], [ 3435973836802, %48 ], [ 1056561954818, %47 ], [ 1035087118338, %46 ], [ 4857608011778, %45 ], [ 3371549327362, %44 ], [ 1224065679362, %43 ], [ 3161095929858, %42 ], [ 2074469203970, %41 ], [ 1181116006402, %40 ], [ 4733053960194, %39 ], [ 4359391805442, %36 ] - store i64 %.sink.i, ptr %37, align 8, !alias.scope !1156 +.sink.split.i: ; preds = %97, %96, %95, %94, %93, %92, %91, %90, %89, %88, %87, %86, %85, %84, %83, %82, %81, %80, %79, %78, %77, %76, %75, %74, %73, %72, %71, %70, %69, %68, %67, %66, %65, %64, %63, %62, %59 + %.sink.i = phi i64 [ 3792456122370, %97 ], [ 1073741824002, %96 ], [ 3770981285890, %95 ], [ 3139621093378, %94 ], [ 1194000908290, %93 ], [ 3358664425474, %92 ], [ 1915555414018, %91 ], [ 515396075522, %90 ], [ 412316860418, %89 ], [ 3594887626754, %88 ], [ 584115552258, %87 ], [ 2645699854338, %86 ], [ 1125281431554, %85 ], [ 4402341478402, %84 ], [ 2211908157442, %83 ], [ 4213362917378, %82 ], [ 1133871366146, %81 ], [ 4685809319938, %80 ], [ 2594160246786, %79 ], [ 4625679777794, %78 ], [ 1404454305794, %77 ], [ 927712935938, %76 ], [ 1885490642946, %75 ], [ 335007449090, %74 ], [ 3066606649346, %73 ], [ 3332894621698, %72 ], [ 3435973836802, %71 ], [ 1056561954818, %70 ], [ 1035087118338, %69 ], [ 4857608011778, %68 ], [ 3371549327362, %67 ], [ 1224065679362, %66 ], [ 3161095929858, %65 ], [ 2074469203970, %64 ], [ 1181116006402, %63 ], [ 4733053960194, %62 ], [ 4359391805442, %59 ] + store i64 %.sink.i, ptr %60, align 8, !alias.scope !1165 br label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$19adjust_svg_tag_name17h0c165ab345d93183E.exit" -39: ; preds = %36 +62: ; preds = %59 br label %.sink.split.i -40: ; preds = %36 +63: ; preds = %59 br label %.sink.split.i -41: ; preds = %36 +64: ; preds = %59 br label %.sink.split.i -42: ; preds = %36 +65: ; preds = %59 br label %.sink.split.i -43: ; preds = %36 +66: ; preds = %59 br label %.sink.split.i -44: ; preds = %36 +67: ; preds = %59 br label %.sink.split.i -45: ; preds = %36 +68: ; preds = %59 br label %.sink.split.i -46: ; preds = %36 +69: ; preds = %59 br label %.sink.split.i -47: ; preds = %36 +70: ; preds = %59 br label %.sink.split.i -48: ; preds = %36 +71: ; preds = %59 br label %.sink.split.i -49: ; preds = %36 +72: ; preds = %59 br label %.sink.split.i -50: ; preds = %36 +73: ; preds = %59 br label %.sink.split.i -51: ; preds = %36 +74: ; preds = %59 br label %.sink.split.i -52: ; preds = %36 +75: ; preds = %59 br label %.sink.split.i -53: ; preds = %36 +76: ; preds = %59 br label %.sink.split.i -54: ; preds = %36 +77: ; preds = %59 br label %.sink.split.i -55: ; preds = %36 +78: ; preds = %59 br label %.sink.split.i -56: ; preds = %36 +79: ; preds = %59 br label %.sink.split.i -57: ; preds = %36 +80: ; preds = %59 br label %.sink.split.i -58: ; preds = %36 +81: ; preds = %59 br label %.sink.split.i -59: ; preds = %36 +82: ; preds = %59 br label %.sink.split.i -60: ; preds = %36 +83: ; preds = %59 br label %.sink.split.i -61: ; preds = %36 +84: ; preds = %59 br label %.sink.split.i -62: ; preds = %36 +85: ; preds = %59 br label %.sink.split.i -63: ; preds = %36 +86: ; preds = %59 br label %.sink.split.i -64: ; preds = %36 +87: ; preds = %59 br label %.sink.split.i -65: ; preds = %36 +88: ; preds = %59 br label %.sink.split.i -66: ; preds = %36 +89: ; preds = %59 br label %.sink.split.i -67: ; preds = %36 +90: ; preds = %59 br label %.sink.split.i -68: ; preds = %36 +91: ; preds = %59 br label %.sink.split.i -69: ; preds = %36 +92: ; preds = %59 br label %.sink.split.i -70: ; preds = %36 +93: ; preds = %59 br label %.sink.split.i -71: ; preds = %36 +94: ; preds = %59 br label %.sink.split.i -72: ; preds = %36 +95: ; preds = %59 br label %.sink.split.i -73: ; preds = %36 +96: ; preds = %59 br label %.sink.split.i -74: ; preds = %36 +97: ; preds = %59 br label %.sink.split.i -"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$19adjust_svg_tag_name17h0c165ab345d93183E.exit": ; preds = %.sink.split.i, %36 - %75 = getelementptr inbounds nuw i8, ptr %2, i64 8 - %.val10 = load ptr, ptr %75, align 8, !alias.scope !1159, !nonnull !4, !noundef !4 - %76 = getelementptr inbounds nuw i8, ptr %2, i64 16 - %.val11 = load i64, ptr %76, align 8, !alias.scope !1159, !noundef !4 +.body.thread27.loopexit: ; preds = %"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E.exit.i.i.i.i", %53, %51 + %lpad.loopexit = landingpad { ptr, i32 } + cleanup + br label %.body.thread27 + +.body.thread27.loopexit.split-lp: ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$19adjust_svg_tag_name17h0c165ab345d93183E.exit", %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17adjust_attributes17h032bbfd79a2156f0E.exit" + %lpad.loopexit.split-lp = landingpad { ptr, i32 } + cleanup + br label %.body.thread27 + +"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$19adjust_svg_tag_name17h0c165ab345d93183E.exit": ; preds = %.sink.split.i, %59 + %98 = getelementptr inbounds nuw i8, ptr %2, i64 8 + %.val10 = load ptr, ptr %98, align 8, !alias.scope !534, !nonnull !4, !noundef !4 + %99 = getelementptr inbounds nuw i8, ptr %2, i64 16 + %.val11 = load i64, ptr %99, align 8, !alias.scope !534, !noundef !4 invoke fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17adjust_attributes17h43d21c4c0c3e6b8dE"(ptr nonnull %.val10, i64 %.val11) - to label %32 unwind label %103 + to label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17adjust_attributes17h032bbfd79a2156f0E.exit" unwind label %.body.thread27.loopexit.split-lp -77: ; preds = %32 - %78 = getelementptr inbounds nuw i8, ptr %2, i64 33 - %79 = load i8, ptr %78, align 1, !range !5, !noundef !4 - %80 = trunc nuw i8 %79 to i1 - %81 = getelementptr inbounds nuw i8, ptr %2, i64 24 - %82 = load i64, ptr %81, align 8, !range !57, !noundef !4 - br i1 %80, label %88, label %83 +100: ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17adjust_attributes17h032bbfd79a2156f0E.exit" + %101 = getelementptr inbounds nuw i8, ptr %2, i64 33 + %102 = load i8, ptr %101, align 1, !range !5, !noundef !4 + %103 = trunc nuw i8 %102 to i1 + %104 = getelementptr inbounds nuw i8, ptr %2, i64 24 + %105 = load i64, ptr %104, align 8, !range !57, !noundef !4 + br i1 %103, label %111, label %106 -83: ; preds = %77 +106: ; preds = %100 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %4) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %4, ptr noundef nonnull align 8 dereferenceable(24) %2, i64 24, i1 false) - %84 = call fastcc noundef nonnull ptr @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14insert_element17ha772ae336bd83e98E"(ptr noalias noundef align 8 dereferenceable(192) %1, i1 noundef zeroext false, i64 noundef %24, i64 noundef %82, ptr noalias noundef align 8 captures(none) dereferenceable(24) %4) + %107 = call fastcc noundef nonnull ptr @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14insert_element17ha772ae336bd83e98E"(ptr noalias noundef align 8 dereferenceable(192) %1, i1 noundef zeroext false, i64 noundef %24, i64 noundef %105, ptr noalias noundef align 8 captures(none) dereferenceable(24) %4) call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4) - %85 = load i64, ptr %84, align 8, !noalias !1162, !noundef !4 - %86 = add i64 %85, -1 - store i64 %86, ptr %84, align 8, !noalias !1162 - %87 = icmp eq i64 %86, 0 - br i1 %87, label %.noexc12, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit" + %108 = load i64, ptr %107, align 8, !noalias !1168, !noundef !4 + %109 = add i64 %108, -1 + store i64 %109, ptr %107, align 8, !noalias !1168 + %110 = icmp eq i64 %109, 0 + br i1 %110, label %.noexc15, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit" -88: ; preds = %77 +111: ; preds = %100 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %5) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(24) %2, i64 24, i1 false) - %89 = call fastcc noundef nonnull ptr @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14insert_element17ha772ae336bd83e98E"(ptr noalias noundef align 8 dereferenceable(192) %1, i1 noundef zeroext true, i64 noundef %24, i64 noundef %82, ptr noalias noundef align 8 captures(none) dereferenceable(24) %5) + %112 = call fastcc noundef nonnull ptr @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14insert_element17ha772ae336bd83e98E"(ptr noalias noundef align 8 dereferenceable(192) %1, i1 noundef zeroext true, i64 noundef %24, i64 noundef %105, ptr noalias noundef align 8 captures(none) dereferenceable(24) %5) call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %5) - %90 = load i64, ptr %89, align 8, !noalias !1167, !noundef !4 - %91 = add i64 %90, -1 - store i64 %91, ptr %89, align 8, !noalias !1167 - %92 = icmp eq i64 %91, 0 - br i1 %92, label %.noexc13, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit" - -.noexc12: ; preds = %83 - %93 = getelementptr inbounds nuw i8, ptr %84, i64 16 - tail call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17hed3cc8b884d652aeE.llvm.5005022800651993668"(ptr noalias noundef nonnull align 8 dereferenceable(120) %93) - %94 = getelementptr inbounds nuw i8, ptr %84, i64 8 - %95 = load i64, ptr %94, align 8, !noalias !1162, !noundef !4 - %96 = add i64 %95, -1 - store i64 %96, ptr %94, align 8, !noalias !1162 - %97 = icmp eq i64 %96, 0 - br i1 %97, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit.sink.split", label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit" - -"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit.sink.split": ; preds = %.noexc12, %.noexc13 - %.sink = phi ptr [ %89, %.noexc13 ], [ %84, %.noexc12 ] - %storemerge.ph = phi i64 [ -9223372036854775803, %.noexc13 ], [ -9223372036854775804, %.noexc12 ] + %113 = load i64, ptr %112, align 8, !noalias !1173, !noundef !4 + %114 = add i64 %113, -1 + store i64 %114, ptr %112, align 8, !noalias !1173 + %115 = icmp eq i64 %114, 0 + br i1 %115, label %.noexc16, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit" + +.noexc15: ; preds = %106 + %116 = getelementptr inbounds nuw i8, ptr %107, i64 16 + tail call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17hed3cc8b884d652aeE.llvm.5005022800651993668"(ptr noalias noundef nonnull align 8 dereferenceable(120) %116) + %117 = getelementptr inbounds nuw i8, ptr %107, i64 8 + %118 = load i64, ptr %117, align 8, !noalias !1168, !noundef !4 + %119 = add i64 %118, -1 + store i64 %119, ptr %117, align 8, !noalias !1168 + %120 = icmp eq i64 %119, 0 + br i1 %120, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit.sink.split", label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit" + +"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit.sink.split": ; preds = %.noexc15, %.noexc16 + %.sink = phi ptr [ %112, %.noexc16 ], [ %107, %.noexc15 ] + %storemerge.ph = phi i64 [ -9223372036854775803, %.noexc16 ], [ -9223372036854775804, %.noexc15 ] tail call void @__rust_dealloc(ptr noundef nonnull %.sink, i64 noundef 136, i64 noundef 8) #16, !noalias !4 br label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit" -"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit": ; preds = %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit.sink.split", %88, %.noexc13, %83, %.noexc12 - %storemerge = phi i64 [ -9223372036854775804, %.noexc12 ], [ -9223372036854775804, %83 ], [ -9223372036854775803, %.noexc13 ], [ -9223372036854775803, %88 ], [ %storemerge.ph, %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit.sink.split" ] +"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit": ; preds = %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit.sink.split", %111, %.noexc16, %106, %.noexc15 + %storemerge = phi i64 [ -9223372036854775804, %.noexc15 ], [ -9223372036854775804, %106 ], [ -9223372036854775803, %.noexc16 ], [ -9223372036854775803, %111 ], [ %storemerge.ph, %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit.sink.split" ] store i64 %storemerge, ptr %0, align 8 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %6) ret void -.noexc13: ; preds = %88 - %98 = getelementptr inbounds nuw i8, ptr %89, i64 16 - tail call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17hed3cc8b884d652aeE.llvm.5005022800651993668"(ptr noalias noundef nonnull align 8 dereferenceable(120) %98) - %99 = getelementptr inbounds nuw i8, ptr %89, i64 8 - %100 = load i64, ptr %99, align 8, !noalias !1167, !noundef !4 - %101 = add i64 %100, -1 - store i64 %101, ptr %99, align 8, !noalias !1167 - %102 = icmp eq i64 %101, 0 - br i1 %102, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit.sink.split", label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit" - -103: ; preds = %32, %33, %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$19adjust_svg_tag_name17h0c165ab345d93183E.exit" - %lpad.thr_comm.split-lp = landingpad { ptr, i32 } - cleanup +.noexc16: ; preds = %111 + %121 = getelementptr inbounds nuw i8, ptr %112, i64 16 + tail call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17hed3cc8b884d652aeE.llvm.5005022800651993668"(ptr noalias noundef nonnull align 8 dereferenceable(120) %121) + %122 = getelementptr inbounds nuw i8, ptr %112, i64 8 + %123 = load i64, ptr %122, align 8, !noalias !1173, !noundef !4 + %124 = add i64 %123, -1 + store i64 %124, ptr %122, align 8, !noalias !1173 + %125 = icmp eq i64 %124, 0 + br i1 %125, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit.sink.split", label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit" + +.body.thread27: ; preds = %.body.thread27.loopexit, %.body.thread27.loopexit.split-lp, %.body.thread + %eh.lpad-body26 = phi { ptr, i32 } [ %56, %.body.thread ], [ %lpad.loopexit, %.body.thread27.loopexit ], [ %lpad.loopexit.split-lp, %.body.thread27.loopexit.split-lp ] invoke void @"_ZN4core3ptr84drop_in_place$LT$string_cache..atom..Atom$LT$markup5ever..NamespaceStaticSet$GT$$GT$17h0ed4ac647496d4d2E.llvm.4491288516430033680"(ptr noalias noundef nonnull align 8 dereferenceable(8) %6) #17 - to label %.thread27 unwind label %104 + to label %.thread34 unwind label %126 -104: ; preds = %.thread27, %.thread23, %103 - %105 = landingpad { ptr, i32 } +126: ; preds = %.thread34, %.thread30, %.body.thread27 + %127 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer tail call void @_ZN4core9panicking16panic_in_cleanup17hfa05ef7d5107e16aE() #15 unreachable -.thread27: ; preds = %103, %.thread - %.pn19 = phi { ptr, i32 } [ %20, %.thread ], [ %lpad.thr_comm.split-lp, %103 ] - %106 = getelementptr inbounds nuw i8, ptr %2, i64 24 - %.val = load i64, ptr %106, align 8, !range !57, !noundef !4 +.thread34: ; preds = %.body.thread27, %.thread + %.pn22 = phi { ptr, i32 } [ %20, %.thread ], [ %eh.lpad-body26, %.body.thread27 ] + %128 = getelementptr inbounds nuw i8, ptr %2, i64 24 + %.val = load i64, ptr %128, align 8, !range !57, !noundef !4 invoke fastcc void @"_ZN4core3ptr84drop_in_place$LT$string_cache..atom..Atom$LT$markup5ever..LocalNameStaticSet$GT$$GT$17h0e9d66411fdb076aE"(i64 %.val) #17 - to label %.thread23 unwind label %104 + to label %.thread30 unwind label %126 -107: ; preds = %.thread23 - resume { ptr, i32 } %.pn19 +129: ; preds = %.thread30 + resume { ptr, i32 } %.pn22 -.thread23: ; preds = %.thread27 +.thread30: ; preds = %.thread34 invoke void @"_ZN4core3ptr77drop_in_place$LT$alloc..vec..Vec$LT$markup5ever..interface..Attribute$GT$$GT$17h00c74149d762a6e5E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %2) #17 - to label %107 unwind label %104 + to label %129 unwind label %126 } ; Function Attrs: nonlazybind uwtable define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17pop_until_current17h038b1cf7b3de6aa3E"(ptr noalias noundef nonnull align 8 dereferenceable(192) %0) unnamed_addr #2 personality ptr @rust_eh_personality { %2 = getelementptr inbounds nuw i8, ptr %0, i64 104 - %3 = load i64, ptr %2, align 8, !alias.scope !1172, !noundef !4 + %3 = load i64, ptr %2, align 8, !alias.scope !1178, !noundef !4 %.not.i4 = icmp eq i64 %3, 0 br i1 %.not.i4, label %._crit_edge, label %.lr.ph @@ -10339,13 +10419,13 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle br label %6 ._crit_edge: ; preds = %16, %"_ZN4core3ptr93drop_in_place$LT$core..option..Option$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17hecd02d53a0da715dE.exit", %1 - tail call void @_ZN4core6option13expect_failed17h3a757a693188cc6eE(ptr noalias noundef nonnull readonly align 1 @anon.b244ddacf973f5fee137b0ea6cb9ab8a.102.llvm.4491288516430033680, i64 noundef 18, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.b244ddacf973f5fee137b0ea6cb9ab8a.103.llvm.4491288516430033680) #18, !noalias !1175 + tail call void @_ZN4core6option13expect_failed17h3a757a693188cc6eE(ptr noalias noundef nonnull readonly align 1 @anon.b244ddacf973f5fee137b0ea6cb9ab8a.102.llvm.4491288516430033680, i64 noundef 18, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.b244ddacf973f5fee137b0ea6cb9ab8a.103.llvm.4491288516430033680) #18, !noalias !1181 unreachable 6: ; preds = %.lr.ph, %"_ZN4core3ptr93drop_in_place$LT$core..option..Option$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17hecd02d53a0da715dE.exit" %7 = phi i64 [ %3, %.lr.ph ], [ %.pr, %"_ZN4core3ptr93drop_in_place$LT$core..option..Option$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17hecd02d53a0da715dE.exit" ] - tail call void @llvm.experimental.noalias.scope.decl(metadata !1175) - %8 = load ptr, ptr %4, align 8, !alias.scope !1175, !nonnull !4, !noundef !4 + tail call void @llvm.experimental.noalias.scope.decl(metadata !1181) + %8 = load ptr, ptr %4, align 8, !alias.scope !1181, !nonnull !4, !noundef !4 %9 = add i64 %7, -1 %10 = getelementptr inbounds [0 x ptr], ptr %8, i64 0, i64 %9 %11 = tail call { ptr, ptr } @"_ZN91_$LT$markup5ever_rcdom..RcDom$u20$as$u20$markup5ever..interface..tree_builder..TreeSink$GT$9elem_name17h4e753bf026563d2eE"(ptr noalias noundef nonnull readonly align 8 dereferenceable(192) %0, ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %10) @@ -10380,28 +10460,28 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle %23 = load ptr, ptr %4, align 8, !nonnull !4, !noundef !4 %24 = getelementptr inbounds ptr, ptr %23, i64 %20 %25 = load ptr, ptr %24, align 8, !nonnull !4, !noundef !4 - %26 = load i64, ptr %25, align 8, !noalias !1177, !noundef !4 + %26 = load i64, ptr %25, align 8, !noalias !1183, !noundef !4 %27 = add i64 %26, -1 - store i64 %27, ptr %25, align 8, !noalias !1177 + store i64 %27, ptr %25, align 8, !noalias !1183 %28 = icmp eq i64 %27, 0 br i1 %28, label %29, label %"_ZN4core3ptr93drop_in_place$LT$core..option..Option$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17hecd02d53a0da715dE.exit" 29: ; preds = %19 %30 = getelementptr inbounds nuw i8, ptr %25, i64 16 - tail call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17hed3cc8b884d652aeE.llvm.5005022800651993668"(ptr noalias noundef nonnull align 8 dereferenceable(120) %30), !noalias !1177 + tail call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17hed3cc8b884d652aeE.llvm.5005022800651993668"(ptr noalias noundef nonnull align 8 dereferenceable(120) %30), !noalias !1183 %31 = getelementptr inbounds nuw i8, ptr %25, i64 8 - %32 = load i64, ptr %31, align 8, !noalias !1177, !noundef !4 + %32 = load i64, ptr %31, align 8, !noalias !1183, !noundef !4 %33 = add i64 %32, -1 - store i64 %33, ptr %31, align 8, !noalias !1177 + store i64 %33, ptr %31, align 8, !noalias !1183 %34 = icmp eq i64 %33, 0 br i1 %34, label %35, label %"_ZN4core3ptr93drop_in_place$LT$core..option..Option$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17hecd02d53a0da715dE.exit" 35: ; preds = %29 - tail call void @__rust_dealloc(ptr noundef nonnull %25, i64 noundef 136, i64 noundef 8) #16, !noalias !1177 + tail call void @__rust_dealloc(ptr noundef nonnull %25, i64 noundef 136, i64 noundef 8) #16, !noalias !1183 br label %"_ZN4core3ptr93drop_in_place$LT$core..option..Option$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17hecd02d53a0da715dE.exit" "_ZN4core3ptr93drop_in_place$LT$core..option..Option$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17hecd02d53a0da715dE.exit": ; preds = %19, %29, %35 - %.pr = load i64, ptr %2, align 8, !alias.scope !1182 + %.pr = load i64, ptr %2, align 8, !alias.scope !1188 %.not.i = icmp eq i64 %.pr, 0 br i1 %.not.i, label %._crit_edge, label %6 } @@ -10409,7 +10489,7 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle ; Function Attrs: nonlazybind uwtable define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17pop_until_current17h673e04559f122f6aE"(ptr noalias noundef nonnull align 8 dereferenceable(192) %0) unnamed_addr #2 personality ptr @rust_eh_personality { %2 = getelementptr inbounds nuw i8, ptr %0, i64 104 - %3 = load i64, ptr %2, align 8, !alias.scope !1184, !noundef !4 + %3 = load i64, ptr %2, align 8, !alias.scope !1190, !noundef !4 %.not.i4 = icmp eq i64 %3, 0 br i1 %.not.i4, label %._crit_edge, label %.lr.ph @@ -10419,13 +10499,13 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle br label %6 ._crit_edge: ; preds = %16, %"_ZN4core3ptr93drop_in_place$LT$core..option..Option$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17hecd02d53a0da715dE.exit", %1 - tail call void @_ZN4core6option13expect_failed17h3a757a693188cc6eE(ptr noalias noundef nonnull readonly align 1 @anon.b244ddacf973f5fee137b0ea6cb9ab8a.102.llvm.4491288516430033680, i64 noundef 18, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.b244ddacf973f5fee137b0ea6cb9ab8a.103.llvm.4491288516430033680) #18, !noalias !1187 + tail call void @_ZN4core6option13expect_failed17h3a757a693188cc6eE(ptr noalias noundef nonnull readonly align 1 @anon.b244ddacf973f5fee137b0ea6cb9ab8a.102.llvm.4491288516430033680, i64 noundef 18, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.b244ddacf973f5fee137b0ea6cb9ab8a.103.llvm.4491288516430033680) #18, !noalias !1193 unreachable 6: ; preds = %.lr.ph, %"_ZN4core3ptr93drop_in_place$LT$core..option..Option$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17hecd02d53a0da715dE.exit" %7 = phi i64 [ %3, %.lr.ph ], [ %.pr, %"_ZN4core3ptr93drop_in_place$LT$core..option..Option$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17hecd02d53a0da715dE.exit" ] - tail call void @llvm.experimental.noalias.scope.decl(metadata !1187) - %8 = load ptr, ptr %4, align 8, !alias.scope !1187, !nonnull !4, !noundef !4 + tail call void @llvm.experimental.noalias.scope.decl(metadata !1193) + %8 = load ptr, ptr %4, align 8, !alias.scope !1193, !nonnull !4, !noundef !4 %9 = add i64 %7, -1 %10 = getelementptr inbounds [0 x ptr], ptr %8, i64 0, i64 %9 %11 = tail call { ptr, ptr } @"_ZN91_$LT$markup5ever_rcdom..RcDom$u20$as$u20$markup5ever..interface..tree_builder..TreeSink$GT$9elem_name17h4e753bf026563d2eE"(ptr noalias noundef nonnull readonly align 8 dereferenceable(192) %0, ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %10) @@ -10460,28 +10540,28 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle %23 = load ptr, ptr %4, align 8, !nonnull !4, !noundef !4 %24 = getelementptr inbounds ptr, ptr %23, i64 %20 %25 = load ptr, ptr %24, align 8, !nonnull !4, !noundef !4 - %26 = load i64, ptr %25, align 8, !noalias !1189, !noundef !4 + %26 = load i64, ptr %25, align 8, !noalias !1195, !noundef !4 %27 = add i64 %26, -1 - store i64 %27, ptr %25, align 8, !noalias !1189 + store i64 %27, ptr %25, align 8, !noalias !1195 %28 = icmp eq i64 %27, 0 br i1 %28, label %29, label %"_ZN4core3ptr93drop_in_place$LT$core..option..Option$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17hecd02d53a0da715dE.exit" 29: ; preds = %19 %30 = getelementptr inbounds nuw i8, ptr %25, i64 16 - tail call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17hed3cc8b884d652aeE.llvm.5005022800651993668"(ptr noalias noundef nonnull align 8 dereferenceable(120) %30), !noalias !1189 + tail call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17hed3cc8b884d652aeE.llvm.5005022800651993668"(ptr noalias noundef nonnull align 8 dereferenceable(120) %30), !noalias !1195 %31 = getelementptr inbounds nuw i8, ptr %25, i64 8 - %32 = load i64, ptr %31, align 8, !noalias !1189, !noundef !4 + %32 = load i64, ptr %31, align 8, !noalias !1195, !noundef !4 %33 = add i64 %32, -1 - store i64 %33, ptr %31, align 8, !noalias !1189 + store i64 %33, ptr %31, align 8, !noalias !1195 %34 = icmp eq i64 %33, 0 br i1 %34, label %35, label %"_ZN4core3ptr93drop_in_place$LT$core..option..Option$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17hecd02d53a0da715dE.exit" 35: ; preds = %29 - tail call void @__rust_dealloc(ptr noundef nonnull %25, i64 noundef 136, i64 noundef 8) #16, !noalias !1189 + tail call void @__rust_dealloc(ptr noundef nonnull %25, i64 noundef 136, i64 noundef 8) #16, !noalias !1195 br label %"_ZN4core3ptr93drop_in_place$LT$core..option..Option$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17hecd02d53a0da715dE.exit" "_ZN4core3ptr93drop_in_place$LT$core..option..Option$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17hecd02d53a0da715dE.exit": ; preds = %19, %29, %35 - %.pr = load i64, ptr %2, align 8, !alias.scope !1194 + %.pr = load i64, ptr %2, align 8, !alias.scope !1200 %.not.i = icmp eq i64 %.pr, 0 br i1 %.not.i, label %._crit_edge, label %6 } @@ -10489,7 +10569,7 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle ; Function Attrs: nonlazybind uwtable define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17pop_until_current17h8bd0c57e53b3dfccE"(ptr noalias noundef nonnull align 8 dereferenceable(192) %0) unnamed_addr #2 personality ptr @rust_eh_personality { %2 = getelementptr inbounds nuw i8, ptr %0, i64 104 - %3 = load i64, ptr %2, align 8, !alias.scope !1196, !noundef !4 + %3 = load i64, ptr %2, align 8, !alias.scope !1202, !noundef !4 %.not.i4 = icmp eq i64 %3, 0 br i1 %.not.i4, label %._crit_edge, label %.lr.ph @@ -10499,13 +10579,13 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle br label %6 ._crit_edge: ; preds = %16, %"_ZN4core3ptr93drop_in_place$LT$core..option..Option$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17hecd02d53a0da715dE.exit", %1 - tail call void @_ZN4core6option13expect_failed17h3a757a693188cc6eE(ptr noalias noundef nonnull readonly align 1 @anon.b244ddacf973f5fee137b0ea6cb9ab8a.102.llvm.4491288516430033680, i64 noundef 18, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.b244ddacf973f5fee137b0ea6cb9ab8a.103.llvm.4491288516430033680) #18, !noalias !1199 + tail call void @_ZN4core6option13expect_failed17h3a757a693188cc6eE(ptr noalias noundef nonnull readonly align 1 @anon.b244ddacf973f5fee137b0ea6cb9ab8a.102.llvm.4491288516430033680, i64 noundef 18, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.b244ddacf973f5fee137b0ea6cb9ab8a.103.llvm.4491288516430033680) #18, !noalias !1205 unreachable 6: ; preds = %.lr.ph, %"_ZN4core3ptr93drop_in_place$LT$core..option..Option$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17hecd02d53a0da715dE.exit" %7 = phi i64 [ %3, %.lr.ph ], [ %.pr, %"_ZN4core3ptr93drop_in_place$LT$core..option..Option$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17hecd02d53a0da715dE.exit" ] - tail call void @llvm.experimental.noalias.scope.decl(metadata !1199) - %8 = load ptr, ptr %4, align 8, !alias.scope !1199, !nonnull !4, !noundef !4 + tail call void @llvm.experimental.noalias.scope.decl(metadata !1205) + %8 = load ptr, ptr %4, align 8, !alias.scope !1205, !nonnull !4, !noundef !4 %9 = add i64 %7, -1 %10 = getelementptr inbounds [0 x ptr], ptr %8, i64 0, i64 %9 %11 = tail call { ptr, ptr } @"_ZN91_$LT$markup5ever_rcdom..RcDom$u20$as$u20$markup5ever..interface..tree_builder..TreeSink$GT$9elem_name17h4e753bf026563d2eE"(ptr noalias noundef nonnull readonly align 8 dereferenceable(192) %0, ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %10) @@ -10542,28 +10622,28 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle %23 = load ptr, ptr %4, align 8, !nonnull !4, !noundef !4 %24 = getelementptr inbounds ptr, ptr %23, i64 %20 %25 = load ptr, ptr %24, align 8, !nonnull !4, !noundef !4 - %26 = load i64, ptr %25, align 8, !noalias !1201, !noundef !4 + %26 = load i64, ptr %25, align 8, !noalias !1207, !noundef !4 %27 = add i64 %26, -1 - store i64 %27, ptr %25, align 8, !noalias !1201 + store i64 %27, ptr %25, align 8, !noalias !1207 %28 = icmp eq i64 %27, 0 br i1 %28, label %29, label %"_ZN4core3ptr93drop_in_place$LT$core..option..Option$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17hecd02d53a0da715dE.exit" 29: ; preds = %19 %30 = getelementptr inbounds nuw i8, ptr %25, i64 16 - tail call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17hed3cc8b884d652aeE.llvm.5005022800651993668"(ptr noalias noundef nonnull align 8 dereferenceable(120) %30), !noalias !1201 + tail call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17hed3cc8b884d652aeE.llvm.5005022800651993668"(ptr noalias noundef nonnull align 8 dereferenceable(120) %30), !noalias !1207 %31 = getelementptr inbounds nuw i8, ptr %25, i64 8 - %32 = load i64, ptr %31, align 8, !noalias !1201, !noundef !4 + %32 = load i64, ptr %31, align 8, !noalias !1207, !noundef !4 %33 = add i64 %32, -1 - store i64 %33, ptr %31, align 8, !noalias !1201 + store i64 %33, ptr %31, align 8, !noalias !1207 %34 = icmp eq i64 %33, 0 br i1 %34, label %35, label %"_ZN4core3ptr93drop_in_place$LT$core..option..Option$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17hecd02d53a0da715dE.exit" 35: ; preds = %29 - tail call void @__rust_dealloc(ptr noundef nonnull %25, i64 noundef 136, i64 noundef 8) #16, !noalias !1201 + tail call void @__rust_dealloc(ptr noundef nonnull %25, i64 noundef 136, i64 noundef 8) #16, !noalias !1207 br label %"_ZN4core3ptr93drop_in_place$LT$core..option..Option$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17hecd02d53a0da715dE.exit" "_ZN4core3ptr93drop_in_place$LT$core..option..Option$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17hecd02d53a0da715dE.exit": ; preds = %19, %29, %35 - %.pr = load i64, ptr %2, align 8, !alias.scope !1206 + %.pr = load i64, ptr %2, align 8, !alias.scope !1212 %.not.i = icmp eq i64 %.pr, 0 br i1 %.not.i, label %._crit_edge, label %6 } @@ -10586,40 +10666,40 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle 10: ; preds = %7 %11 = getelementptr inbounds i8, ptr %8, i64 -8 %12 = add i64 %.sroa.03.0.i, -1 - %.val9.i = load ptr, ptr %11, align 8, !noalias !1208, !nonnull !4, !noundef !4 + %.val9.i = load ptr, ptr %11, align 8, !noalias !1214, !nonnull !4, !noundef !4 %13 = icmp eq ptr %.0.val, %.val9.i br i1 %13, label %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h2ca6d0f7d4ad0587E.exit", label %7 "_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h2ca6d0f7d4ad0587E.exit": ; preds = %10 %14 = icmp ult i64 %12, %5 tail call void @llvm.assume(i1 %14) - tail call void @llvm.experimental.noalias.scope.decl(metadata !1209) + tail call void @llvm.experimental.noalias.scope.decl(metadata !1215) %15 = getelementptr inbounds ptr, ptr %3, i64 %12 - %16 = load ptr, ptr %15, align 8, !noalias !1212, !nonnull !4, !noundef !4 + %16 = load ptr, ptr %15, align 8, !noalias !1218, !nonnull !4, !noundef !4 %17 = getelementptr inbounds nuw i8, ptr %15, i64 8 %18 = sub i64 %5, %.sroa.03.0.i %19 = shl i64 %18, 3 - tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %15, ptr nonnull align 8 %17, i64 %19, i1 false), !noalias !1212 + tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %15, ptr nonnull align 8 %17, i64 %19, i1 false), !noalias !1218 %20 = add i64 %5, -1 - store i64 %20, ptr %4, align 8, !alias.scope !1209, !noalias !1214 - %21 = load i64, ptr %16, align 8, !noalias !1215, !noundef !4 + store i64 %20, ptr %4, align 8, !alias.scope !1215, !noalias !1220 + %21 = load i64, ptr %16, align 8, !noalias !1221, !noundef !4 %22 = add i64 %21, -1 - store i64 %22, ptr %16, align 8, !noalias !1215 + store i64 %22, ptr %16, align 8, !noalias !1221 %23 = icmp eq i64 %22, 0 br i1 %23, label %24, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit" 24: ; preds = %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h2ca6d0f7d4ad0587E.exit" %25 = getelementptr inbounds nuw i8, ptr %16, i64 16 - tail call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17hed3cc8b884d652aeE.llvm.5005022800651993668"(ptr noalias noundef nonnull align 8 dereferenceable(120) %25), !noalias !1215 + tail call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17hed3cc8b884d652aeE.llvm.5005022800651993668"(ptr noalias noundef nonnull align 8 dereferenceable(120) %25), !noalias !1221 %26 = getelementptr inbounds nuw i8, ptr %16, i64 8 - %27 = load i64, ptr %26, align 8, !noalias !1215, !noundef !4 + %27 = load i64, ptr %26, align 8, !noalias !1221, !noundef !4 %28 = add i64 %27, -1 - store i64 %28, ptr %26, align 8, !noalias !1215 + store i64 %28, ptr %26, align 8, !noalias !1221 %29 = icmp eq i64 %28, 0 br i1 %29, label %30, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit" 30: ; preds = %24 - tail call void @__rust_dealloc(ptr noundef nonnull %16, i64 noundef 136, i64 noundef 8) #16, !noalias !1215 + tail call void @__rust_dealloc(ptr noundef nonnull %16, i64 noundef 136, i64 noundef 8) #16, !noalias !1221 br label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit" "_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit": ; preds = %7, %30, %24, %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h2ca6d0f7d4ad0587E.exit" @@ -10757,42 +10837,42 @@ _ZN4core3ops8function2Fn4call17h8e1c516a085dc761E.exit.thread: ; preds = %"_ZN4c ret void _ZN4core3ops8function2Fn4call17h8e1c516a085dc761E.exit: ; preds = %14, %14, %14, %14, %14, %14, %14, %14, %14, %14, %14, %14, %14, %14, %14, %14, %14, %14 - tail call void @llvm.experimental.noalias.scope.decl(metadata !1220) - %16 = load i64, ptr %2, align 8, !alias.scope !1220, !noundef !4 + tail call void @llvm.experimental.noalias.scope.decl(metadata !1226) + %16 = load i64, ptr %2, align 8, !alias.scope !1226, !noundef !4 %17 = icmp eq i64 %16, 0 br i1 %17, label %18, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$3pop17hd31d27c8f210272eE.exit" 18: ; preds = %_ZN4core3ops8function2Fn4call17h8e1c516a085dc761E.exit - tail call void @_ZN4core6option13expect_failed17h3a757a693188cc6eE(ptr noalias noundef nonnull readonly align 1 @anon.b244ddacf973f5fee137b0ea6cb9ab8a.102.llvm.4491288516430033680, i64 noundef 18, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.b244ddacf973f5fee137b0ea6cb9ab8a.167) #18, !noalias !1220 + tail call void @_ZN4core6option13expect_failed17h3a757a693188cc6eE(ptr noalias noundef nonnull readonly align 1 @anon.b244ddacf973f5fee137b0ea6cb9ab8a.102.llvm.4491288516430033680, i64 noundef 18, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.b244ddacf973f5fee137b0ea6cb9ab8a.167) #18, !noalias !1226 unreachable "_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$3pop17hd31d27c8f210272eE.exit": ; preds = %_ZN4core3ops8function2Fn4call17h8e1c516a085dc761E.exit %19 = add i64 %16, -1 - store i64 %19, ptr %2, align 8, !alias.scope !1220 - %20 = load i64, ptr %5, align 8, !alias.scope !1220, !noundef !4 + store i64 %19, ptr %2, align 8, !alias.scope !1226 + %20 = load i64, ptr %5, align 8, !alias.scope !1226, !noundef !4 %21 = icmp ult i64 %19, %20 tail call void @llvm.assume(i1 %21) - %22 = load ptr, ptr %4, align 8, !alias.scope !1220, !nonnull !4, !noundef !4 + %22 = load ptr, ptr %4, align 8, !alias.scope !1226, !nonnull !4, !noundef !4 %23 = getelementptr inbounds ptr, ptr %22, i64 %19 - %24 = load ptr, ptr %23, align 8, !noalias !1220, !nonnull !4, !noundef !4 - %25 = load i64, ptr %24, align 8, !noalias !1223, !noundef !4 + %24 = load ptr, ptr %23, align 8, !noalias !1226, !nonnull !4, !noundef !4 + %25 = load i64, ptr %24, align 8, !noalias !1229, !noundef !4 %26 = add i64 %25, -1 - store i64 %26, ptr %24, align 8, !noalias !1223 + store i64 %26, ptr %24, align 8, !noalias !1229 %27 = icmp eq i64 %26, 0 br i1 %27, label %28, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit" 28: ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$3pop17hd31d27c8f210272eE.exit" %29 = getelementptr inbounds nuw i8, ptr %24, i64 16 - tail call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17hed3cc8b884d652aeE.llvm.5005022800651993668"(ptr noalias noundef nonnull align 8 dereferenceable(120) %29), !noalias !1223 + tail call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17hed3cc8b884d652aeE.llvm.5005022800651993668"(ptr noalias noundef nonnull align 8 dereferenceable(120) %29), !noalias !1229 %30 = getelementptr inbounds nuw i8, ptr %24, i64 8 - %31 = load i64, ptr %30, align 8, !noalias !1223, !noundef !4 + %31 = load i64, ptr %30, align 8, !noalias !1229, !noundef !4 %32 = add i64 %31, -1 - store i64 %32, ptr %30, align 8, !noalias !1223 + store i64 %32, ptr %30, align 8, !noalias !1229 %33 = icmp eq i64 %32, 0 br i1 %33, label %34, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit" 34: ; preds = %28 - tail call void @__rust_dealloc(ptr noundef nonnull %24, i64 noundef 136, i64 noundef 8) #16, !noalias !1223 + tail call void @__rust_dealloc(ptr noundef nonnull %24, i64 noundef 136, i64 noundef 8) #16, !noalias !1229 br label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit" "_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit": ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$3pop17hd31d27c8f210272eE.exit", %28, %34 @@ -10845,42 +10925,42 @@ _ZN4core3ops8function2Fn4call17hf0734bd378634f41E.exit.thread: ; preds = %"_ZN4c ret void _ZN4core3ops8function2Fn4call17hf0734bd378634f41E.exit: ; preds = %16, %16, %16, %16, %16, %16, %16, %16, %16 - tail call void @llvm.experimental.noalias.scope.decl(metadata !1228) - %17 = load i64, ptr %2, align 8, !alias.scope !1228, !noundef !4 + tail call void @llvm.experimental.noalias.scope.decl(metadata !1234) + %17 = load i64, ptr %2, align 8, !alias.scope !1234, !noundef !4 %18 = icmp eq i64 %17, 0 br i1 %18, label %19, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$3pop17hd31d27c8f210272eE.exit" 19: ; preds = %_ZN4core3ops8function2Fn4call17hf0734bd378634f41E.exit - tail call void @_ZN4core6option13expect_failed17h3a757a693188cc6eE(ptr noalias noundef nonnull readonly align 1 @anon.b244ddacf973f5fee137b0ea6cb9ab8a.102.llvm.4491288516430033680, i64 noundef 18, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.b244ddacf973f5fee137b0ea6cb9ab8a.167) #18, !noalias !1228 + tail call void @_ZN4core6option13expect_failed17h3a757a693188cc6eE(ptr noalias noundef nonnull readonly align 1 @anon.b244ddacf973f5fee137b0ea6cb9ab8a.102.llvm.4491288516430033680, i64 noundef 18, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.b244ddacf973f5fee137b0ea6cb9ab8a.167) #18, !noalias !1234 unreachable "_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$3pop17hd31d27c8f210272eE.exit": ; preds = %_ZN4core3ops8function2Fn4call17hf0734bd378634f41E.exit %20 = add i64 %17, -1 - store i64 %20, ptr %2, align 8, !alias.scope !1228 - %21 = load i64, ptr %5, align 8, !alias.scope !1228, !noundef !4 + store i64 %20, ptr %2, align 8, !alias.scope !1234 + %21 = load i64, ptr %5, align 8, !alias.scope !1234, !noundef !4 %22 = icmp ult i64 %20, %21 tail call void @llvm.assume(i1 %22) - %23 = load ptr, ptr %4, align 8, !alias.scope !1228, !nonnull !4, !noundef !4 + %23 = load ptr, ptr %4, align 8, !alias.scope !1234, !nonnull !4, !noundef !4 %24 = getelementptr inbounds ptr, ptr %23, i64 %20 - %25 = load ptr, ptr %24, align 8, !noalias !1228, !nonnull !4, !noundef !4 - %26 = load i64, ptr %25, align 8, !noalias !1231, !noundef !4 + %25 = load ptr, ptr %24, align 8, !noalias !1234, !nonnull !4, !noundef !4 + %26 = load i64, ptr %25, align 8, !noalias !1237, !noundef !4 %27 = add i64 %26, -1 - store i64 %27, ptr %25, align 8, !noalias !1231 + store i64 %27, ptr %25, align 8, !noalias !1237 %28 = icmp eq i64 %27, 0 br i1 %28, label %29, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit" 29: ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$3pop17hd31d27c8f210272eE.exit" %30 = getelementptr inbounds nuw i8, ptr %25, i64 16 - tail call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17hed3cc8b884d652aeE.llvm.5005022800651993668"(ptr noalias noundef nonnull align 8 dereferenceable(120) %30), !noalias !1231 + tail call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17hed3cc8b884d652aeE.llvm.5005022800651993668"(ptr noalias noundef nonnull align 8 dereferenceable(120) %30), !noalias !1237 %31 = getelementptr inbounds nuw i8, ptr %25, i64 8 - %32 = load i64, ptr %31, align 8, !noalias !1231, !noundef !4 + %32 = load i64, ptr %31, align 8, !noalias !1237, !noundef !4 %33 = add i64 %32, -1 - store i64 %33, ptr %31, align 8, !noalias !1231 + store i64 %33, ptr %31, align 8, !noalias !1237 %34 = icmp eq i64 %33, 0 br i1 %34, label %35, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit" 35: ; preds = %29 - tail call void @__rust_dealloc(ptr noundef nonnull %25, i64 noundef 136, i64 noundef 8) #16, !noalias !1231 + tail call void @__rust_dealloc(ptr noundef nonnull %25, i64 noundef 136, i64 noundef 8) #16, !noalias !1237 br label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit" "_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit": ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$3pop17hd31d27c8f210272eE.exit", %29, %35 @@ -10932,42 +11012,42 @@ _ZN4core3ops8function2Fn4call17h561277568c242dc7E.exit.thread: ; preds = %"_ZN4c ret void _ZN4core3ops8function2Fn4call17h561277568c242dc7E.exit: ; preds = %14, %14, %14, %14, %14, %14, %14, %14, %14, %14 - tail call void @llvm.experimental.noalias.scope.decl(metadata !1236) - %16 = load i64, ptr %2, align 8, !alias.scope !1236, !noundef !4 + tail call void @llvm.experimental.noalias.scope.decl(metadata !1242) + %16 = load i64, ptr %2, align 8, !alias.scope !1242, !noundef !4 %17 = icmp eq i64 %16, 0 br i1 %17, label %18, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$3pop17hd31d27c8f210272eE.exit" 18: ; preds = %_ZN4core3ops8function2Fn4call17h561277568c242dc7E.exit - tail call void @_ZN4core6option13expect_failed17h3a757a693188cc6eE(ptr noalias noundef nonnull readonly align 1 @anon.b244ddacf973f5fee137b0ea6cb9ab8a.102.llvm.4491288516430033680, i64 noundef 18, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.b244ddacf973f5fee137b0ea6cb9ab8a.167) #18, !noalias !1236 + tail call void @_ZN4core6option13expect_failed17h3a757a693188cc6eE(ptr noalias noundef nonnull readonly align 1 @anon.b244ddacf973f5fee137b0ea6cb9ab8a.102.llvm.4491288516430033680, i64 noundef 18, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.b244ddacf973f5fee137b0ea6cb9ab8a.167) #18, !noalias !1242 unreachable "_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$3pop17hd31d27c8f210272eE.exit": ; preds = %_ZN4core3ops8function2Fn4call17h561277568c242dc7E.exit %19 = add i64 %16, -1 - store i64 %19, ptr %2, align 8, !alias.scope !1236 - %20 = load i64, ptr %5, align 8, !alias.scope !1236, !noundef !4 + store i64 %19, ptr %2, align 8, !alias.scope !1242 + %20 = load i64, ptr %5, align 8, !alias.scope !1242, !noundef !4 %21 = icmp ult i64 %19, %20 tail call void @llvm.assume(i1 %21) - %22 = load ptr, ptr %4, align 8, !alias.scope !1236, !nonnull !4, !noundef !4 + %22 = load ptr, ptr %4, align 8, !alias.scope !1242, !nonnull !4, !noundef !4 %23 = getelementptr inbounds ptr, ptr %22, i64 %19 - %24 = load ptr, ptr %23, align 8, !noalias !1236, !nonnull !4, !noundef !4 - %25 = load i64, ptr %24, align 8, !noalias !1239, !noundef !4 + %24 = load ptr, ptr %23, align 8, !noalias !1242, !nonnull !4, !noundef !4 + %25 = load i64, ptr %24, align 8, !noalias !1245, !noundef !4 %26 = add i64 %25, -1 - store i64 %26, ptr %24, align 8, !noalias !1239 + store i64 %26, ptr %24, align 8, !noalias !1245 %27 = icmp eq i64 %26, 0 br i1 %27, label %28, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit" 28: ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$3pop17hd31d27c8f210272eE.exit" %29 = getelementptr inbounds nuw i8, ptr %24, i64 16 - tail call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17hed3cc8b884d652aeE.llvm.5005022800651993668"(ptr noalias noundef nonnull align 8 dereferenceable(120) %29), !noalias !1239 + tail call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17hed3cc8b884d652aeE.llvm.5005022800651993668"(ptr noalias noundef nonnull align 8 dereferenceable(120) %29), !noalias !1245 %30 = getelementptr inbounds nuw i8, ptr %24, i64 8 - %31 = load i64, ptr %30, align 8, !noalias !1239, !noundef !4 + %31 = load i64, ptr %30, align 8, !noalias !1245, !noundef !4 %32 = add i64 %31, -1 - store i64 %32, ptr %30, align 8, !noalias !1239 + store i64 %32, ptr %30, align 8, !noalias !1245 %33 = icmp eq i64 %32, 0 br i1 %33, label %34, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit" 34: ; preds = %28 - tail call void @__rust_dealloc(ptr noundef nonnull %24, i64 noundef 136, i64 noundef 8) #16, !noalias !1239 + tail call void @__rust_dealloc(ptr noundef nonnull %24, i64 noundef 136, i64 noundef 8) #16, !noalias !1245 br label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit" "_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit": ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$3pop17hd31d27c8f210272eE.exit", %28, %34 @@ -11076,7 +11156,7 @@ define internal fastcc noundef range(i8 0, 23) i8 @"_ZN9html5ever12tree_builder3 br i1 %28, label %29, label %"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17hfd149221a0723dd3E.exit" 29: ; preds = %21 - tail call void @_ZN4core5slice5index24slice_end_index_len_fail17h87b545b7962eada9E(i64 noundef %25, i64 noundef %27, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.b244ddacf973f5fee137b0ea6cb9ab8a.137) #18, !noalias !1244 + tail call void @_ZN4core5slice5index24slice_end_index_len_fail17h87b545b7962eada9E(i64 noundef %25, i64 noundef %27, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.b244ddacf973f5fee137b0ea6cb9ab8a.137) #18, !noalias !1250 unreachable "_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17hfd149221a0723dd3E.exit": ; preds = %21 @@ -11336,7 +11416,7 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle %9 = alloca [24 x i8], align 8 %10 = alloca [24 x i8], align 8 %11 = getelementptr inbounds nuw i8, ptr %1, i64 104 - %12 = load i64, ptr %11, align 8, !alias.scope !1247, !noundef !4 + %12 = load i64, ptr %11, align 8, !alias.scope !1253, !noundef !4 %.not.i = icmp eq i64 %12, 0 br i1 %.not.i, label %13, label %14 @@ -11349,7 +11429,7 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle 14: ; preds = %3 %15 = getelementptr inbounds nuw i8, ptr %1, i64 96 - %16 = load ptr, ptr %15, align 8, !alias.scope !1247, !nonnull !4, !noundef !4 + %16 = load ptr, ptr %15, align 8, !alias.scope !1253, !nonnull !4, !noundef !4 %17 = add i64 %12, -1 %18 = getelementptr inbounds [0 x ptr], ptr %16, i64 0, i64 %17 %19 = invoke { ptr, ptr } @"_ZN91_$LT$markup5ever_rcdom..RcDom$u20$as$u20$markup5ever..interface..tree_builder..TreeSink$GT$9elem_name17h4e753bf026563d2eE"(ptr noalias noundef nonnull readonly align 8 dereferenceable(192) %1, ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %18) @@ -11412,16 +11492,16 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle store ptr %7, ptr %8, align 8 %.sroa.44.0..sroa_idx = getelementptr inbounds nuw i8, ptr %8, i64 8 store ptr @"_ZN60_$LT$alloc..string..String$u20$as$u20$core..fmt..Display$GT$3fmt17h69b42876f6df0e06E", ptr %.sroa.44.0..sroa_idx, align 8 - call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %5), !noalias !1250 - store ptr @anon.b244ddacf973f5fee137b0ea6cb9ab8a.151, ptr %5, align 8, !noalias !1257 + call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %5), !noalias !1256 + store ptr @anon.b244ddacf973f5fee137b0ea6cb9ab8a.151, ptr %5, align 8, !noalias !1263 %.sroa.4.0..sroa_idx = getelementptr inbounds nuw i8, ptr %5, i64 8 - store i64 2, ptr %.sroa.4.0..sroa_idx, align 8, !noalias !1257 + store i64 2, ptr %.sroa.4.0..sroa_idx, align 8, !noalias !1263 %.sroa.5.0..sroa_idx = getelementptr inbounds nuw i8, ptr %5, i64 16 - store ptr %8, ptr %.sroa.5.0..sroa_idx, align 8, !noalias !1257 + store ptr %8, ptr %.sroa.5.0..sroa_idx, align 8, !noalias !1263 %.sroa.6.0..sroa_idx = getelementptr inbounds nuw i8, ptr %5, i64 24 - store i64 1, ptr %.sroa.6.0..sroa_idx, align 8, !noalias !1257 + store i64 1, ptr %.sroa.6.0..sroa_idx, align 8, !noalias !1263 %.sroa.7.0..sroa_idx = getelementptr inbounds nuw i8, ptr %5, i64 32 - store ptr null, ptr %.sroa.7.0..sroa_idx, align 8, !noalias !1257 + store ptr null, ptr %.sroa.7.0..sroa_idx, align 8, !noalias !1263 invoke void @_ZN5alloc3fmt6format12format_inner17hfc591406982d9639E(ptr noalias noundef nonnull sret([24 x i8]) align 8 captures(none) dereferenceable(24) %9, ptr noalias noundef nonnull align 8 captures(none) dereferenceable(48) %5) to label %39 unwind label %37 @@ -11432,25 +11512,25 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle to label %.thread unwind label %54 39: ; preds = %36 - call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %5), !noalias !1250 - call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %4), !noalias !1258 + call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %5), !noalias !1256 + call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %4), !noalias !1264 invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h9d8c47219b0efa9cE"(ptr noalias noundef nonnull sret([24 x i8]) align 8 captures(none) dereferenceable(24) %4, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %7) to label %.noexc9 unwind label %49 .noexc9: ; preds = %39 %40 = getelementptr inbounds nuw i8, ptr %4, i64 8 - %41 = load i64, ptr %40, align 8, !range !368, !noalias !1258, !noundef !4 + %41 = load i64, ptr %40, align 8, !range !368, !noalias !1264, !noundef !4 %42 = icmp eq i64 %41, 0 br i1 %42, label %51, label %43 43: ; preds = %.noexc9 %44 = getelementptr inbounds nuw i8, ptr %4, i64 16 - %45 = load i64, ptr %44, align 8, !noalias !1258, !noundef !4 + %45 = load i64, ptr %44, align 8, !noalias !1264, !noundef !4 %46 = icmp eq i64 %45, 0 br i1 %46, label %51, label %47 47: ; preds = %43 - %48 = load ptr, ptr %4, align 8, !noalias !1258, !nonnull !4, !noundef !4 + %48 = load ptr, ptr %4, align 8, !noalias !1264, !nonnull !4, !noundef !4 call void @__rust_dealloc(ptr noundef nonnull %48, i64 noundef %45, i64 noundef %41) #16 br label %51 @@ -11461,7 +11541,7 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle to label %.thread unwind label %54 51: ; preds = %47, %43, %.noexc9 - call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4), !noalias !1258 + call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4), !noalias !1264 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %7) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %8) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %10, ptr noundef nonnull align 8 dereferenceable(24) %9, i64 24, i1 false) @@ -11532,8 +11612,8 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle %.val30 = load ptr, ptr %15, align 8 %16 = getelementptr inbounds nuw i8, ptr %0, i64 104 %.val31 = load i64, ptr %16, align 8 - tail call void @llvm.experimental.noalias.scope.decl(metadata !1267) - %17 = load i64, ptr %14, align 8, !range !368, !alias.scope !1267, !noundef !4 + tail call void @llvm.experimental.noalias.scope.decl(metadata !1273) + %17 = load i64, ptr %14, align 8, !range !368, !alias.scope !1273, !noundef !4 %18 = icmp eq i64 %17, -9223372036854775808 br i1 %18, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17is_marker_or_open17h0980fb8307e0fa3eE.exit.thread", label %19 @@ -11542,7 +11622,7 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle %21 = icmp ne ptr %.val30, null tail call void @llvm.assume(i1 %21) %22 = getelementptr inbounds ptr, ptr %.val30, i64 %.val31 - %.val1.i.i.i.i = load ptr, ptr %20, align 8, !alias.scope !1267, !nonnull !4 + %.val1.i.i.i.i = load ptr, ptr %20, align 8, !alias.scope !1273, !nonnull !4 br label %23 23: ; preds = %26, %19 @@ -11556,7 +11636,7 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle 26: ; preds = %23 %27 = getelementptr inbounds i8, ptr %24, i64 -8 - %.val6.i.i = load ptr, ptr %27, align 8, !noalias !1270, !nonnull !4, !noundef !4 + %.val6.i.i = load ptr, ptr %27, align 8, !noalias !1276, !nonnull !4, !noundef !4 %.not.i.i = icmp eq ptr %.val6.i.i, %.val1.i.i.i.i br i1 %.not.i.i, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17is_marker_or_open17h0980fb8307e0fa3eE.exit.thread", label %23 @@ -11571,8 +11651,8 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle %.sroa.01.087 = phi i64 [ %29, %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17is_marker_or_open17h0980fb8307e0fa3eE.exit.loopexit" ], [ %13, %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17is_marker_or_open17h0980fb8307e0fa3eE.exit.preheader" ] %29 = add i64 %.sroa.01.087, -1 %30 = getelementptr inbounds [0 x { i64, [5 x i64] }], ptr %12, i64 0, i64 %29 - tail call void @llvm.experimental.noalias.scope.decl(metadata !1274) - %31 = load i64, ptr %30, align 8, !range !368, !alias.scope !1274, !noundef !4 + tail call void @llvm.experimental.noalias.scope.decl(metadata !1280) + %31 = load i64, ptr %30, align 8, !range !368, !alias.scope !1280, !noundef !4 %32 = icmp eq i64 %31, -9223372036854775808 br i1 %32, label %.preheader, label %40 @@ -11593,7 +11673,7 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle 40: ; preds = %.lr.ph %41 = getelementptr inbounds nuw i8, ptr %30, i64 40 - %.val1.i.i.i.i32 = load ptr, ptr %41, align 8, !alias.scope !1274, !nonnull !4 + %.val1.i.i.i.i32 = load ptr, ptr %41, align 8, !alias.scope !1280, !nonnull !4 br label %42 42: ; preds = %44, %40 @@ -11603,7 +11683,7 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle 44: ; preds = %42 %45 = getelementptr inbounds i8, ptr %43, i64 -8 - %.val6.i.i34 = load ptr, ptr %45, align 8, !noalias !1277, !nonnull !4, !noundef !4 + %.val6.i.i34 = load ptr, ptr %45, align 8, !noalias !1283, !nonnull !4, !noundef !4 %.not.i.i35 = icmp eq ptr %.val6.i.i34, %.val1.i.i.i.i32 br i1 %.not.i.i35, label %.preheader, label %42 @@ -11622,12 +11702,12 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle unreachable 51: ; preds = %46 - tail call void @llvm.experimental.noalias.scope.decl(metadata !1281) - tail call void @llvm.experimental.noalias.scope.decl(metadata !1284) + tail call void @llvm.experimental.noalias.scope.decl(metadata !1287) + tail call void @llvm.experimental.noalias.scope.decl(metadata !1290) %52 = getelementptr inbounds nuw i8, ptr %48, i64 32 - %53 = load i8, ptr %52, align 8, !range !5, !alias.scope !1284, !noalias !1281, !noundef !4 + %53 = load i8, ptr %52, align 8, !range !5, !alias.scope !1290, !noalias !1287, !noundef !4 %54 = getelementptr inbounds nuw i8, ptr %48, i64 24 - %55 = load i64, ptr %54, align 8, !range !57, !alias.scope !1284, !noalias !1281, !noundef !4 + %55 = load i64, ptr %54, align 8, !range !57, !alias.scope !1290, !noalias !1287, !noundef !4 %56 = and i64 %55, 3 %57 = icmp eq i64 %56, 0 br i1 %57, label %58, label %62 @@ -11635,30 +11715,30 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle 58: ; preds = %51 %59 = inttoptr i64 %55 to ptr %60 = getelementptr inbounds nuw i8, ptr %59, i64 16 - %61 = atomicrmw add ptr %60, i64 1 seq_cst, align 8, !noalias !1286 + %61 = atomicrmw add ptr %60, i64 1 seq_cst, align 8, !noalias !1292 br label %62 62: ; preds = %58, %51 %63 = getelementptr inbounds nuw i8, ptr %48, i64 33 - %64 = load i8, ptr %63, align 1, !range !5, !alias.scope !1284, !noalias !1281, !noundef !4 - call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %2), !noalias !1286 + %64 = load i8, ptr %63, align 1, !range !5, !alias.scope !1290, !noalias !1287, !noundef !4 + call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %2), !noalias !1292 %65 = getelementptr inbounds nuw i8, ptr %48, i64 16 %66 = getelementptr inbounds nuw i8, ptr %48, i64 8 - %67 = load ptr, ptr %66, align 8, !alias.scope !1287, !noalias !1290, !nonnull !4, !noundef !4 - %68 = load i64, ptr %65, align 8, !alias.scope !1287, !noalias !1290, !noundef !4 + %67 = load ptr, ptr %66, align 8, !alias.scope !1293, !noalias !1296, !nonnull !4, !noundef !4 + %68 = load i64, ptr %65, align 8, !alias.scope !1293, !noalias !1296, !noundef !4 invoke void @"_ZN52_$LT$T$u20$as$u20$alloc..slice..hack..ConvertVec$GT$6to_vec17he2817477af474896E.llvm.204215390286363894"(ptr noalias noundef nonnull sret([24 x i8]) align 8 captures(none) dereferenceable(24) %2, ptr noundef nonnull align 8 %67, i64 noundef %68) - to label %"_ZN75_$LT$html5ever..tokenizer..interface..Tag$u20$as$u20$core..clone..Clone$GT$5clone17h8cc0abc4a6adbb98E.exit" unwind label %69, !noalias !1286 + to label %"_ZN75_$LT$html5ever..tokenizer..interface..Tag$u20$as$u20$core..clone..Clone$GT$5clone17h8cc0abc4a6adbb98E.exit" unwind label %69, !noalias !1292 69: ; preds = %62 %70 = landingpad { ptr, i32 } cleanup invoke fastcc void @"_ZN4core3ptr84drop_in_place$LT$string_cache..atom..Atom$LT$markup5ever..LocalNameStaticSet$GT$$GT$17h0e9d66411fdb076aE"(i64 %55) #17 - to label %common.resume unwind label %71, !noalias !1286 + to label %common.resume unwind label %71, !noalias !1292 71: ; preds = %69 %72 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer - tail call void @_ZN4core9panicking16panic_in_cleanup17hfa05ef7d5107e16aE() #15, !noalias !1286 + tail call void @_ZN4core9panicking16panic_in_cleanup17hfa05ef7d5107e16aE() #15, !noalias !1292 unreachable common.resume: ; preds = %129, %.thread42, %122, %69 @@ -11666,11 +11746,11 @@ common.resume: ; preds = %129, %.thread42, %1 resume { ptr, i32 } %common.resume.op "_ZN75_$LT$html5ever..tokenizer..interface..Tag$u20$as$u20$core..clone..Clone$GT$5clone17h8cc0abc4a6adbb98E.exit": ; preds = %62 - store i8 %53, ptr %34, align 8, !alias.scope !1281, !noalias !1284 - store i64 %55, ptr %35, align 8, !alias.scope !1281, !noalias !1284 - store i8 %64, ptr %36, align 1, !alias.scope !1281, !noalias !1284 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %7, ptr noundef nonnull align 8 dereferenceable(24) %2, i64 24, i1 false), !noalias !1284 - call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %2), !noalias !1286 + store i8 %53, ptr %34, align 8, !alias.scope !1287, !noalias !1290 + store i64 %55, ptr %35, align 8, !alias.scope !1287, !noalias !1290 + store i8 %64, ptr %36, align 1, !alias.scope !1287, !noalias !1290 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %7, ptr noundef nonnull align 8 dereferenceable(24) %2, i64 24, i1 false), !noalias !1290 + call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %2), !noalias !1292 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %5) store i64 30064771074, ptr %5, align 8 br i1 %57, label %78, label %82 @@ -11697,8 +11777,8 @@ common.resume: ; preds = %129, %.thread42, %1 82: ; preds = %"_ZN75_$LT$html5ever..tokenizer..interface..Tag$u20$as$u20$core..clone..Clone$GT$5clone17h8cc0abc4a6adbb98E.exit", %78 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %4) - %83 = load ptr, ptr %38, align 8, !alias.scope !1292, !noalias !1295, !nonnull !4, !noundef !4 - %84 = load i64, ptr %37, align 8, !alias.scope !1292, !noalias !1295, !noundef !4 + %83 = load ptr, ptr %38, align 8, !alias.scope !1298, !noalias !1301, !nonnull !4, !noundef !4 + %84 = load i64, ptr %37, align 8, !alias.scope !1298, !noalias !1301, !noundef !4 invoke void @"_ZN52_$LT$T$u20$as$u20$alloc..slice..hack..ConvertVec$GT$6to_vec17he2817477af474896E.llvm.204215390286363894"(ptr noalias noundef nonnull sret([24 x i8]) align 8 captures(none) dereferenceable(24) %4, ptr noundef nonnull align 8 %83, i64 noundef %84) to label %"_ZN67_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hd7f602d787034465E.exit" unwind label %126 @@ -11724,37 +11804,37 @@ common.resume: ; preds = %129, %.thread42, %1 90: ; preds = %88 %91 = load ptr, ptr %8, align 8, !nonnull !4, !noundef !4 %92 = getelementptr inbounds [0 x { i64, [5 x i64] }], ptr %91, i64 0, i64 %.sroa.01.188 - tail call void @llvm.experimental.noalias.scope.decl(metadata !1297) - %93 = load i64, ptr %92, align 8, !range !368, !alias.scope !1297, !noundef !4 + tail call void @llvm.experimental.noalias.scope.decl(metadata !1303) + %93 = load i64, ptr %92, align 8, !range !368, !alias.scope !1303, !noundef !4 %.not.i = icmp eq i64 %93, -9223372036854775808 br i1 %.not.i, label %"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17h55dea538c53e7d70E.exit", label %94 94: ; preds = %90 %95 = getelementptr inbounds nuw i8, ptr %92, i64 40 - tail call void @llvm.experimental.noalias.scope.decl(metadata !1300) - tail call void @llvm.experimental.noalias.scope.decl(metadata !1303) - %96 = load ptr, ptr %95, align 8, !alias.scope !1306, !nonnull !4, !noundef !4 - %97 = load i64, ptr %96, align 8, !noalias !1306, !noundef !4 + tail call void @llvm.experimental.noalias.scope.decl(metadata !1306) + tail call void @llvm.experimental.noalias.scope.decl(metadata !1309) + %96 = load ptr, ptr %95, align 8, !alias.scope !1312, !nonnull !4, !noundef !4 + %97 = load i64, ptr %96, align 8, !noalias !1312, !noundef !4 %98 = add i64 %97, -1 - store i64 %98, ptr %96, align 8, !noalias !1306 + store i64 %98, ptr %96, align 8, !noalias !1312 %99 = icmp eq i64 %98, 0 br i1 %99, label %100, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit.i" 100: ; preds = %94 %101 = getelementptr inbounds nuw i8, ptr %96, i64 16 invoke void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17hed3cc8b884d652aeE.llvm.5005022800651993668"(ptr noalias noundef nonnull align 8 dereferenceable(120) %101) - to label %.noexc.i unwind label %107, !noalias !1297 + to label %.noexc.i unwind label %107, !noalias !1303 .noexc.i: ; preds = %100 %102 = getelementptr inbounds nuw i8, ptr %96, i64 8 - %103 = load i64, ptr %102, align 8, !noalias !1306, !noundef !4 + %103 = load i64, ptr %102, align 8, !noalias !1312, !noundef !4 %104 = add i64 %103, -1 - store i64 %104, ptr %102, align 8, !noalias !1306 + store i64 %104, ptr %102, align 8, !noalias !1312 %105 = icmp eq i64 %104, 0 br i1 %105, label %106, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit.i" 106: ; preds = %.noexc.i - tail call void @__rust_dealloc(ptr noundef nonnull %96, i64 noundef 136, i64 noundef 8) #16, !noalias !1306 + tail call void @__rust_dealloc(ptr noundef nonnull %96, i64 noundef 136, i64 noundef 8) #16, !noalias !1312 br label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit.i" 107: ; preds = %100 @@ -11857,13 +11937,13 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle .lr.ph.i: ; preds = %.lr.ph.i.preheader, %25 %12 = phi ptr [ %13, %25 ], [ %11, %.lr.ph.i.preheader ] %13 = getelementptr inbounds i8, ptr %12, i64 -48 - %14 = load i64, ptr %13, align 8, !range !368, !noalias !1307, !noundef !4 + %14 = load i64, ptr %13, align 8, !range !368, !noalias !1313, !noundef !4 %15 = icmp eq i64 %14, -9223372036854775808 br i1 %15, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit", label %16 16: ; preds = %.lr.ph.i %17 = getelementptr inbounds i8, ptr %12, i64 -8 - %18 = tail call { ptr, ptr } @"_ZN91_$LT$markup5ever_rcdom..RcDom$u20$as$u20$markup5ever..interface..tree_builder..TreeSink$GT$9elem_name17h4e753bf026563d2eE"(ptr noalias noundef nonnull readonly align 8 dereferenceable(192) %0, ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %17), !noalias !1315 + %18 = tail call { ptr, ptr } @"_ZN91_$LT$markup5ever_rcdom..RcDom$u20$as$u20$markup5ever..interface..tree_builder..TreeSink$GT$9elem_name17h4e753bf026563d2eE"(ptr noalias noundef nonnull readonly align 8 dereferenceable(192) %0, ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %17), !noalias !1321 %19 = extractvalue { ptr, ptr } %18, 0 %20 = load i64, ptr %19, align 8, !range !57, !noundef !4 %21 = icmp eq i64 %20, 30064771074 @@ -11934,13 +12014,13 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle %.sroa.02.014.i = phi i64 [ %46, %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h153c47366512fb12E.exit.thread.i" ], [ 0, %36 ] %41 = phi ptr [ %42, %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h153c47366512fb12E.exit.thread.i" ], [ %37, %36 ] %42 = getelementptr inbounds nuw i8, ptr %41, i64 48 - %.val8.i = load i64, ptr %41, align 8, !range !368, !noalias !1319, !noundef !4 + %.val8.i = load i64, ptr %41, align 8, !range !368, !noalias !1325, !noundef !4 %43 = icmp eq i64 %.val8.i, -9223372036854775808 br i1 %43, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h153c47366512fb12E.exit.thread.i", label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h153c47366512fb12E.exit.i" "_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h153c47366512fb12E.exit.i": ; preds = %.lr.ph.i18 %44 = getelementptr i8, ptr %41, i64 40 - %.val9.i = load ptr, ptr %44, align 8, !noalias !1319, !nonnull !4, !noundef !4 + %.val9.i = load ptr, ptr %44, align 8, !noalias !1325, !nonnull !4, !noundef !4 %45 = icmp eq ptr %.val9.i, %..val br i1 %45, label %48, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h153c47366512fb12E.exit.thread.i" @@ -11952,52 +12032,52 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle 48: ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h153c47366512fb12E.exit.i" %49 = icmp ult i64 %.sroa.02.014.i, %38 call void @llvm.assume(i1 %49) - call void @llvm.experimental.noalias.scope.decl(metadata !1323) + call void @llvm.experimental.noalias.scope.decl(metadata !1329) %50 = getelementptr inbounds nuw { i64, [5 x i64] }, ptr %37, i64 %.sroa.02.014.i call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %3, ptr noundef nonnull align 8 dereferenceable(48) %50, i64 48, i1 false) %51 = getelementptr inbounds nuw i8, ptr %50, i64 48 %52 = xor i64 %.sroa.02.014.i, -1 %53 = add i64 %38, %52 %54 = mul i64 %53, 48 - call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %50, ptr nonnull align 8 %51, i64 %54, i1 false), !noalias !1326 + call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %50, ptr nonnull align 8 %51, i64 %54, i1 false), !noalias !1332 %55 = add i64 %38, -1 - store i64 %55, ptr %8, align 8, !alias.scope !1323, !noalias !1329 - %.pr = load i64, ptr %3, align 8, !alias.scope !1330 - call void @llvm.experimental.noalias.scope.decl(metadata !1330) + store i64 %55, ptr %8, align 8, !alias.scope !1329, !noalias !1335 + %.pr = load i64, ptr %3, align 8, !alias.scope !1336 + call void @llvm.experimental.noalias.scope.decl(metadata !1336) %56 = icmp eq i64 %.pr, -9223372036854775807 br i1 %56, label %"_ZN4core3ptr144drop_in_place$LT$core..option..Option$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$$GT$17h4250528eb6f4914eE.exit", label %57 57: ; preds = %48 - call void @llvm.experimental.noalias.scope.decl(metadata !1333) + call void @llvm.experimental.noalias.scope.decl(metadata !1339) %.not.i.i = icmp eq i64 %.pr, -9223372036854775808 br i1 %.not.i.i, label %"_ZN4core3ptr144drop_in_place$LT$core..option..Option$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$$GT$17h4250528eb6f4914eE.exit", label %58 58: ; preds = %57 %59 = getelementptr inbounds nuw i8, ptr %3, i64 40 - call void @llvm.experimental.noalias.scope.decl(metadata !1336) - call void @llvm.experimental.noalias.scope.decl(metadata !1339) - %60 = load ptr, ptr %59, align 8, !alias.scope !1342, !nonnull !4, !noundef !4 - %61 = load i64, ptr %60, align 8, !noalias !1342, !noundef !4 + call void @llvm.experimental.noalias.scope.decl(metadata !1342) + call void @llvm.experimental.noalias.scope.decl(metadata !1345) + %60 = load ptr, ptr %59, align 8, !alias.scope !1348, !nonnull !4, !noundef !4 + %61 = load i64, ptr %60, align 8, !noalias !1348, !noundef !4 %62 = add i64 %61, -1 - store i64 %62, ptr %60, align 8, !noalias !1342 + store i64 %62, ptr %60, align 8, !noalias !1348 %63 = icmp eq i64 %62, 0 br i1 %63, label %64, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit.i.i" 64: ; preds = %58 %65 = getelementptr inbounds nuw i8, ptr %60, i64 16 invoke void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17hed3cc8b884d652aeE.llvm.5005022800651993668"(ptr noalias noundef nonnull align 8 dereferenceable(120) %65) - to label %.noexc.i.i unwind label %71, !noalias !1343 + to label %.noexc.i.i unwind label %71, !noalias !1349 .noexc.i.i: ; preds = %64 %66 = getelementptr inbounds nuw i8, ptr %60, i64 8 - %67 = load i64, ptr %66, align 8, !noalias !1342, !noundef !4 + %67 = load i64, ptr %66, align 8, !noalias !1348, !noundef !4 %68 = add i64 %67, -1 - store i64 %68, ptr %66, align 8, !noalias !1342 + store i64 %68, ptr %66, align 8, !noalias !1348 %69 = icmp eq i64 %68, 0 br i1 %69, label %70, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit.i.i" 70: ; preds = %.noexc.i.i - call void @__rust_dealloc(ptr noundef nonnull %60, i64 noundef 136, i64 noundef 8) #16, !noalias !1342 + call void @__rust_dealloc(ptr noundef nonnull %60, i64 noundef 136, i64 noundef 8) #16, !noalias !1348 br label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit.i.i" 71: ; preds = %64 @@ -12018,11 +12098,11 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle "_ZN4core3ptr144drop_in_place$LT$core..option..Option$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$$GT$17h4250528eb6f4914eE.exit": ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h153c47366512fb12E.exit.thread.i", %36, %57, %48, %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit.i.i" call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %3) - call void @llvm.experimental.noalias.scope.decl(metadata !1344) + call void @llvm.experimental.noalias.scope.decl(metadata !1350) %75 = getelementptr inbounds nuw i8, ptr %0, i64 96 - %76 = load ptr, ptr %75, align 8, !alias.scope !1344, !nonnull !4, !noundef !4 + %76 = load ptr, ptr %75, align 8, !alias.scope !1350, !nonnull !4, !noundef !4 %77 = getelementptr inbounds nuw i8, ptr %0, i64 104 - %78 = load i64, ptr %77, align 8, !alias.scope !1344, !noundef !4 + %78 = load i64, ptr %77, align 8, !alias.scope !1350, !noundef !4 %79 = getelementptr inbounds ptr, ptr %76, i64 %78 br label %80 @@ -12035,25 +12115,25 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle 83: ; preds = %80 %84 = getelementptr inbounds i8, ptr %81, i64 -8 %85 = add i64 %.sroa.03.0.i.i, -1 - %.val9.i.i = load ptr, ptr %84, align 8, !noalias !1347, !nonnull !4, !noundef !4 + %.val9.i.i = load ptr, ptr %84, align 8, !noalias !1353, !nonnull !4, !noundef !4 %86 = icmp eq ptr %..val, %.val9.i.i br i1 %86, label %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h2ca6d0f7d4ad0587E.exit.i", label %80 "_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h2ca6d0f7d4ad0587E.exit.i": ; preds = %83 %87 = icmp ult i64 %85, %78 call void @llvm.assume(i1 %87) - call void @llvm.experimental.noalias.scope.decl(metadata !1351) + call void @llvm.experimental.noalias.scope.decl(metadata !1357) %88 = getelementptr inbounds ptr, ptr %76, i64 %85 - %89 = load ptr, ptr %88, align 8, !noalias !1354, !nonnull !4, !noundef !4 + %89 = load ptr, ptr %88, align 8, !noalias !1360, !nonnull !4, !noundef !4 %90 = getelementptr inbounds nuw i8, ptr %88, i64 8 %91 = sub i64 %78, %.sroa.03.0.i.i %92 = shl i64 %91, 3 - call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %88, ptr nonnull align 8 %90, i64 %92, i1 false), !noalias !1354 + call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %88, ptr nonnull align 8 %90, i64 %92, i1 false), !noalias !1360 %93 = add i64 %78, -1 - store i64 %93, ptr %77, align 8, !alias.scope !1356, !noalias !1357 - %94 = load i64, ptr %89, align 8, !noalias !1358, !noundef !4 + store i64 %93, ptr %77, align 8, !alias.scope !1362, !noalias !1363 + %94 = load i64, ptr %89, align 8, !noalias !1364, !noundef !4 %95 = add i64 %94, -1 - store i64 %95, ptr %89, align 8, !noalias !1358 + store i64 %95, ptr %89, align 8, !noalias !1364 %96 = icmp eq i64 %95, 0 br i1 %96, label %97, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17remove_from_stack17hd82ea4ec9f5cac68E.exit" @@ -12064,35 +12144,35 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle .noexc20: ; preds = %97 %99 = getelementptr inbounds nuw i8, ptr %89, i64 8 - %100 = load i64, ptr %99, align 8, !noalias !1358, !noundef !4 + %100 = load i64, ptr %99, align 8, !noalias !1364, !noundef !4 %101 = add i64 %100, -1 - store i64 %101, ptr %99, align 8, !noalias !1358 + store i64 %101, ptr %99, align 8, !noalias !1364 %102 = icmp eq i64 %101, 0 br i1 %102, label %103, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17remove_from_stack17hd82ea4ec9f5cac68E.exit" 103: ; preds = %.noexc20 - call void @__rust_dealloc(ptr noundef nonnull %89, i64 noundef 136, i64 noundef 8) #16, !noalias !1358 + call void @__rust_dealloc(ptr noundef nonnull %89, i64 noundef 136, i64 noundef 8) #16, !noalias !1364 br label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17remove_from_stack17hd82ea4ec9f5cac68E.exit" "_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17remove_from_stack17hd82ea4ec9f5cac68E.exit": ; preds = %80, %103, %.noexc20, %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h2ca6d0f7d4ad0587E.exit.i" - %104 = load i64, ptr %..val, align 8, !noalias !1363, !noundef !4 + %104 = load i64, ptr %..val, align 8, !noalias !1369, !noundef !4 %105 = add i64 %104, -1 - store i64 %105, ptr %..val, align 8, !noalias !1363 + store i64 %105, ptr %..val, align 8, !noalias !1369 %106 = icmp eq i64 %105, 0 br i1 %106, label %107, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit" 107: ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17remove_from_stack17hd82ea4ec9f5cac68E.exit" %108 = getelementptr inbounds nuw i8, ptr %..val, i64 16 - call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17hed3cc8b884d652aeE.llvm.5005022800651993668"(ptr noalias noundef nonnull align 8 dereferenceable(120) %108), !noalias !1363 + call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17hed3cc8b884d652aeE.llvm.5005022800651993668"(ptr noalias noundef nonnull align 8 dereferenceable(120) %108), !noalias !1369 %109 = getelementptr inbounds nuw i8, ptr %..val, i64 8 - %110 = load i64, ptr %109, align 8, !noalias !1363, !noundef !4 + %110 = load i64, ptr %109, align 8, !noalias !1369, !noundef !4 %111 = add i64 %110, -1 - store i64 %111, ptr %109, align 8, !noalias !1363 + store i64 %111, ptr %109, align 8, !noalias !1369 %112 = icmp eq i64 %111, 0 br i1 %112, label %113, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit" 113: ; preds = %107 - call void @__rust_dealloc(ptr noundef nonnull %..val, i64 noundef 136, i64 noundef 8) #16, !noalias !1363 + call void @__rust_dealloc(ptr noundef nonnull %..val, i64 noundef 136, i64 noundef 8) #16, !noalias !1369 br label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit" 114: ; preds = %.body @@ -12235,16 +12315,16 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle 55: ; preds = %51, %87 %56 = phi i64 [ %52, %51 ], [ %.pre, %87 ] - call void @llvm.experimental.noalias.scope.decl(metadata !1368) + call void @llvm.experimental.noalias.scope.decl(metadata !1374) %57 = icmp ugt i64 %38, %56 br i1 %57, label %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$8truncate17h1d961b6b829894abE.exit", label %58 58: ; preds = %55 %59 = sub nuw i64 %56, %38 - %60 = load ptr, ptr %6, align 8, !alias.scope !1368, !nonnull !4, !noundef !4 + %60 = load ptr, ptr %6, align 8, !alias.scope !1374, !nonnull !4, !noundef !4 %61 = getelementptr inbounds i8, ptr %60, i64 %37 - store i64 %38, ptr %8, align 8, !alias.scope !1368 - call void @llvm.experimental.noalias.scope.decl(metadata !1371) + store i64 %38, ptr %8, align 8, !alias.scope !1374 + call void @llvm.experimental.noalias.scope.decl(metadata !1377) %62 = icmp eq i64 %56, %38 br i1 %62, label %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$8truncate17h1d961b6b829894abE.exit", label %.lr.ph.i.i @@ -12252,30 +12332,30 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle %.sroa.0.07.i.i = phi i64 [ %64, %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit.i.i" ], [ 0, %58 ] %63 = getelementptr inbounds [0 x ptr], ptr %61, i64 0, i64 %.sroa.0.07.i.i %64 = add nuw i64 %.sroa.0.07.i.i, 1 - call void @llvm.experimental.noalias.scope.decl(metadata !1374) - call void @llvm.experimental.noalias.scope.decl(metadata !1377) - %65 = load ptr, ptr %63, align 8, !alias.scope !1380, !noalias !1368, !nonnull !4, !noundef !4 - %66 = load i64, ptr %65, align 8, !noalias !1381, !noundef !4 + call void @llvm.experimental.noalias.scope.decl(metadata !1380) + call void @llvm.experimental.noalias.scope.decl(metadata !1383) + %65 = load ptr, ptr %63, align 8, !alias.scope !1386, !noalias !1374, !nonnull !4, !noundef !4 + %66 = load i64, ptr %65, align 8, !noalias !1387, !noundef !4 %67 = add i64 %66, -1 - store i64 %67, ptr %65, align 8, !noalias !1381 + store i64 %67, ptr %65, align 8, !noalias !1387 %68 = icmp eq i64 %67, 0 br i1 %68, label %69, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit.i.i" 69: ; preds = %.lr.ph.i.i %70 = getelementptr inbounds nuw i8, ptr %65, i64 16 invoke void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17hed3cc8b884d652aeE.llvm.5005022800651993668"(ptr noalias noundef nonnull align 8 dereferenceable(120) %70) - to label %.noexc.i.i unwind label %79, !noalias !1382 + to label %.noexc.i.i unwind label %79, !noalias !1388 .noexc.i.i: ; preds = %69 %71 = getelementptr inbounds nuw i8, ptr %65, i64 8 - %72 = load i64, ptr %71, align 8, !noalias !1381, !noundef !4 + %72 = load i64, ptr %71, align 8, !noalias !1387, !noundef !4 %73 = add i64 %72, -1 - store i64 %73, ptr %71, align 8, !noalias !1381 + store i64 %73, ptr %71, align 8, !noalias !1387 %74 = icmp eq i64 %73, 0 br i1 %74, label %75, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit.i.i" 75: ; preds = %.noexc.i.i - call void @__rust_dealloc(ptr noundef nonnull %65, i64 noundef 136, i64 noundef 8) #16, !noalias !1381 + call void @__rust_dealloc(ptr noundef nonnull %65, i64 noundef 136, i64 noundef 8) #16, !noalias !1387 br label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit.i.i" "_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit.i.i": ; preds = %75, %.noexc.i.i, %.lr.ph.i.i @@ -12296,12 +12376,12 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle %82 = getelementptr inbounds [0 x ptr], ptr %61, i64 0, i64 %.sroa.0.1.i.i %83 = add i64 %.sroa.0.1.i.i, 1 invoke void @"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"(ptr noalias noundef nonnull align 8 dereferenceable(8) %82) #17 - to label %77 unwind label %84, !noalias !1368 + to label %77 unwind label %84, !noalias !1374 84: ; preds = %81 %85 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer - call void @_ZN4core9panicking16panic_in_cleanup17hfa05ef7d5107e16aE() #15, !noalias !1368 + call void @_ZN4core9panicking16panic_in_cleanup17hfa05ef7d5107e16aE() #15, !noalias !1374 unreachable 86: ; preds = %54 @@ -12310,7 +12390,7 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle 87: ; preds = %86 call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %3) - %.pre = load i64, ptr %8, align 8, !alias.scope !1368 + %.pre = load i64, ptr %8, align 8, !alias.scope !1374 br label %55 88: ; preds = %.body @@ -12326,7 +12406,7 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle ; Function Attrs: nonlazybind uwtable define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$27generate_implied_end_except17h821635a795d6b234E"(ptr noalias noundef nonnull align 8 dereferenceable(192) %0, i64 noundef range(i64 1, 0) %1) unnamed_addr #2 personality ptr @rust_eh_personality { %3 = getelementptr inbounds nuw i8, ptr %0, i64 104 - %4 = load i64, ptr %3, align 8, !alias.scope !1383, !noalias !1386, !noundef !4 + %4 = load i64, ptr %3, align 8, !alias.scope !1389, !noalias !1392, !noundef !4 %.not5.i = icmp eq i64 %4, 0 br i1 %.not5.i, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$20generate_implied_end17h7a2dc8631f07f6d0E.exit", label %.lr.ph.i @@ -12337,7 +12417,7 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle 7: ; preds = %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit.i", %.lr.ph.i %8 = phi i64 [ %4, %.lr.ph.i ], [ %38, %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit.i" ] - %9 = load ptr, ptr %5, align 8, !alias.scope !1383, !noalias !1386, !nonnull !4, !noundef !4 + %9 = load ptr, ptr %5, align 8, !alias.scope !1389, !noalias !1392, !nonnull !4, !noundef !4 %10 = add i64 %8, -1 %11 = getelementptr inbounds [0 x ptr], ptr %9, i64 0, i64 %10 %12 = invoke { ptr, ptr } @"_ZN91_$LT$markup5ever_rcdom..RcDom$u20$as$u20$markup5ever..interface..tree_builder..TreeSink$GT$9elem_name17h4e753bf026563d2eE"(ptr noalias noundef nonnull readonly align 8 dereferenceable(192) %0, ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %11) @@ -12351,7 +12431,7 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle "_ZN4core3ptr84drop_in_place$LT$string_cache..atom..Atom$LT$markup5ever..NamespaceStaticSet$GT$$GT$17h0ed4ac647496d4d2E.llvm.4491288516430033680.exit3.i.i": ; preds = %.noexc %15 = extractvalue { ptr, ptr } %12, 1 - %16 = load i64, ptr %15, align 8, !range !57, !alias.scope !1388, !noundef !4 + %16 = load i64, ptr %15, align 8, !range !57, !alias.scope !1394, !noundef !4 %17 = icmp eq i64 %16, %1 br i1 %17, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$20generate_implied_end17h7a2dc8631f07f6d0E.exit", label %18 @@ -12370,8 +12450,8 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle ] "_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$27generate_implied_end_except28_$u7b$$u7b$closure$u7d$$u7d$17hd017b265e1cd842cE.exit.i": ; preds = %18, %18, %18, %18, %18, %18, %18, %18, %18, %18 - tail call void @llvm.experimental.noalias.scope.decl(metadata !1391) - %19 = load i64, ptr %3, align 8, !alias.scope !1394, !noalias !1386, !noundef !4 + tail call void @llvm.experimental.noalias.scope.decl(metadata !1397) + %19 = load i64, ptr %3, align 8, !alias.scope !1400, !noalias !1392, !noundef !4 %20 = icmp eq i64 %19, 0 br i1 %20, label %21, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$3pop17hd31d27c8f210272eE.exit.i" @@ -12384,16 +12464,16 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle "_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$3pop17hd31d27c8f210272eE.exit.i": ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$27generate_implied_end_except28_$u7b$$u7b$closure$u7d$$u7d$17hd017b265e1cd842cE.exit.i" %22 = add i64 %19, -1 - store i64 %22, ptr %3, align 8, !alias.scope !1394, !noalias !1386 - %23 = load i64, ptr %6, align 8, !alias.scope !1394, !noalias !1386, !noundef !4 + store i64 %22, ptr %3, align 8, !alias.scope !1400, !noalias !1392 + %23 = load i64, ptr %6, align 8, !alias.scope !1400, !noalias !1392, !noundef !4 %24 = icmp ult i64 %22, %23 tail call void @llvm.assume(i1 %24) - %25 = load ptr, ptr %5, align 8, !alias.scope !1394, !noalias !1386, !nonnull !4, !noundef !4 + %25 = load ptr, ptr %5, align 8, !alias.scope !1400, !noalias !1392, !nonnull !4, !noundef !4 %26 = getelementptr inbounds ptr, ptr %25, i64 %22 - %27 = load ptr, ptr %26, align 8, !noalias !1395, !nonnull !4, !noundef !4 - %28 = load i64, ptr %27, align 8, !noalias !1396, !noundef !4 + %27 = load ptr, ptr %26, align 8, !noalias !1401, !nonnull !4, !noundef !4 + %28 = load i64, ptr %27, align 8, !noalias !1402, !noundef !4 %29 = add i64 %28, -1 - store i64 %29, ptr %27, align 8, !noalias !1396 + store i64 %29, ptr %27, align 8, !noalias !1402 %30 = icmp eq i64 %29, 0 br i1 %30, label %31, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit.i" @@ -12404,18 +12484,18 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle .noexc3: ; preds = %31 %33 = getelementptr inbounds nuw i8, ptr %27, i64 8 - %34 = load i64, ptr %33, align 8, !noalias !1396, !noundef !4 + %34 = load i64, ptr %33, align 8, !noalias !1402, !noundef !4 %35 = add i64 %34, -1 - store i64 %35, ptr %33, align 8, !noalias !1396 + store i64 %35, ptr %33, align 8, !noalias !1402 %36 = icmp eq i64 %35, 0 br i1 %36, label %37, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit.i" 37: ; preds = %.noexc3 - tail call void @__rust_dealloc(ptr noundef nonnull %27, i64 noundef 136, i64 noundef 8) #16, !noalias !1396 + tail call void @__rust_dealloc(ptr noundef nonnull %27, i64 noundef 136, i64 noundef 8) #16, !noalias !1402 br label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit.i" "_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit.i": ; preds = %37, %.noexc3, %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$3pop17hd31d27c8f210272eE.exit.i" - %38 = load i64, ptr %3, align 8, !alias.scope !1383, !noalias !1386, !noundef !4 + %38 = load i64, ptr %3, align 8, !alias.scope !1389, !noalias !1392, !noundef !4 %.not.i = icmp eq i64 %38, 0 br i1 %.not.i, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$20generate_implied_end17h7a2dc8631f07f6d0E.exit", label %7 @@ -12447,19 +12527,19 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle br i1 %46, label %47, label %"_ZN4core3ptr84drop_in_place$LT$string_cache..atom..Atom$LT$markup5ever..LocalNameStaticSet$GT$$GT$17h0e9d66411fdb076aE.exit" 47: ; preds = %42 - %48 = tail call noundef ptr @_ZN4core4sync6atomic11atomic_load17h4be985e8b17abd04E.llvm.5096816904524340452(ptr noundef nonnull getelementptr inbounds nuw (i8, ptr @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, i64 16), i8 noundef 2), !noalias !1401 + %48 = tail call noundef ptr @_ZN4core4sync6atomic11atomic_load17h4be985e8b17abd04E.llvm.5096816904524340452(ptr noundef nonnull getelementptr inbounds nuw (i8, ptr @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, i64 16), i8 noundef 2), !noalias !1407 %.not.i.i.i.i = icmp eq ptr %48, inttoptr (i64 2 to ptr) br i1 %.not.i.i.i.i, label %"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E.exit.i.i", label %49 49: ; preds = %47 - tail call void @"_ZN9once_cell3imp17OnceCell$LT$T$GT$10initialize17h88e844a06093b331E"(ptr noundef nonnull align 8 @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, ptr noundef nonnull align 8 @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E), !noalias !1401 - %50 = load ptr, ptr @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, align 8, !noalias !1401, !noundef !4 + tail call void @"_ZN9once_cell3imp17OnceCell$LT$T$GT$10initialize17h88e844a06093b331E"(ptr noundef nonnull align 8 @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, ptr noundef nonnull align 8 @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E), !noalias !1407 + %50 = load ptr, ptr @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, align 8, !noalias !1407, !noundef !4 %51 = icmp ne ptr %50, null tail call void @llvm.assume(i1 %51) br label %"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E.exit.i.i" "_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E.exit.i.i": ; preds = %49, %47 - tail call void @_ZN12string_cache11dynamic_set3Set6remove17h358d1c715f07230eE(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, ptr noundef nonnull %43), !noalias !1401 + tail call void @_ZN12string_cache11dynamic_set3Set6remove17h358d1c715f07230eE(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, ptr noundef nonnull %43), !noalias !1407 br label %"_ZN4core3ptr84drop_in_place$LT$string_cache..atom..Atom$LT$markup5ever..LocalNameStaticSet$GT$$GT$17h0e9d66411fdb076aE.exit" "_ZN4core3ptr84drop_in_place$LT$string_cache..atom..Atom$LT$markup5ever..LocalNameStaticSet$GT$$GT$17h0e9d66411fdb076aE.exit": ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$20generate_implied_end17h7a2dc8631f07f6d0E.exit", %42, %"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E.exit.i.i" @@ -12501,7 +12581,7 @@ define internal fastcc noundef nonnull ptr @"_ZN9html5ever12tree_builder32TreeBu %.sroa.3.039 = phi i64 [ undef, %.lr.ph ], [ %.sroa.3.1, %92 ] %.sroa.4.038 = phi ptr [ %14, %.lr.ph ], [ %17, %92 ] %17 = getelementptr inbounds i8, ptr %.sroa.4.038, i64 -48 - %18 = load i64, ptr %17, align 8, !range !368, !noalias !1404, !noundef !4 + %18 = load i64, ptr %17, align 8, !range !368, !noalias !1410, !noundef !4 %19 = icmp eq i64 %18, -9223372036854775808 br i1 %19, label %._crit_edge, label %21 @@ -12545,7 +12625,7 @@ define internal fastcc noundef nonnull ptr @"_ZN9html5ever12tree_builder32TreeBu to label %31 unwind label %.loopexit.split-lp 29: ; preds = %27 - tail call void @llvm.experimental.noalias.scope.decl(metadata !1408) + tail call void @llvm.experimental.noalias.scope.decl(metadata !1414) %.not.i = icmp ult i64 %.sroa.3.0.lcssa.ph, %12 br i1 %.not.i, label %32, label %30 @@ -12561,45 +12641,45 @@ define internal fastcc noundef nonnull ptr @"_ZN9html5ever12tree_builder32TreeBu 32: ; preds = %29 %33 = getelementptr inbounds { i64, [5 x i64] }, ptr %10, i64 %.sroa.3.0.lcssa.ph - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %7, ptr noundef nonnull align 8 dereferenceable(48) %33, i64 48, i1 false), !noalias !1411 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %7, ptr noundef nonnull align 8 dereferenceable(48) %33, i64 48, i1 false), !noalias !1417 %34 = getelementptr inbounds nuw i8, ptr %33, i64 48 %35 = xor i64 %.sroa.3.0.lcssa.ph, -1 %36 = add i64 %12, %35 %37 = mul i64 %36, 48 - tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %33, ptr nonnull align 8 %34, i64 %37, i1 false), !noalias !1413 + tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %33, ptr nonnull align 8 %34, i64 %37, i1 false), !noalias !1419 %38 = add i64 %12, -1 - store i64 %38, ptr %11, align 8, !alias.scope !1408, !noalias !1415 - tail call void @llvm.experimental.noalias.scope.decl(metadata !1416) - %39 = load i64, ptr %7, align 8, !range !368, !alias.scope !1416, !noundef !4 + store i64 %38, ptr %11, align 8, !alias.scope !1414, !noalias !1421 + tail call void @llvm.experimental.noalias.scope.decl(metadata !1422) + %39 = load i64, ptr %7, align 8, !range !368, !alias.scope !1422, !noundef !4 %.not.i17 = icmp eq i64 %39, -9223372036854775808 br i1 %.not.i17, label %"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17h55dea538c53e7d70E.exit", label %40 40: ; preds = %32 %41 = getelementptr inbounds nuw i8, ptr %7, i64 40 - tail call void @llvm.experimental.noalias.scope.decl(metadata !1419) - tail call void @llvm.experimental.noalias.scope.decl(metadata !1422) - %42 = load ptr, ptr %41, align 8, !alias.scope !1425, !nonnull !4, !noundef !4 - %43 = load i64, ptr %42, align 8, !noalias !1425, !noundef !4 + tail call void @llvm.experimental.noalias.scope.decl(metadata !1425) + tail call void @llvm.experimental.noalias.scope.decl(metadata !1428) + %42 = load ptr, ptr %41, align 8, !alias.scope !1431, !nonnull !4, !noundef !4 + %43 = load i64, ptr %42, align 8, !noalias !1431, !noundef !4 %44 = add i64 %43, -1 - store i64 %44, ptr %42, align 8, !noalias !1425 + store i64 %44, ptr %42, align 8, !noalias !1431 %45 = icmp eq i64 %44, 0 br i1 %45, label %46, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit.i" 46: ; preds = %40 %47 = getelementptr inbounds nuw i8, ptr %42, i64 16 invoke void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17hed3cc8b884d652aeE.llvm.5005022800651993668"(ptr noalias noundef nonnull align 8 dereferenceable(120) %47) - to label %.noexc.i unwind label %53, !noalias !1416 + to label %.noexc.i unwind label %53, !noalias !1422 .noexc.i: ; preds = %46 %48 = getelementptr inbounds nuw i8, ptr %42, i64 8 - %49 = load i64, ptr %48, align 8, !noalias !1425, !noundef !4 + %49 = load i64, ptr %48, align 8, !noalias !1431, !noundef !4 %50 = add i64 %49, -1 - store i64 %50, ptr %48, align 8, !noalias !1425 + store i64 %50, ptr %48, align 8, !noalias !1431 %51 = icmp eq i64 %50, 0 br i1 %51, label %52, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit.i" 52: ; preds = %.noexc.i - tail call void @__rust_dealloc(ptr noundef nonnull %42, i64 noundef 136, i64 noundef 8) #16, !noalias !1425 + tail call void @__rust_dealloc(ptr noundef nonnull %42, i64 noundef 136, i64 noundef 8) #16, !noalias !1431 br label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit.i" 53: ; preds = %46 @@ -12632,8 +12712,8 @@ define internal fastcc noundef nonnull ptr @"_ZN9html5ever12tree_builder32TreeBu call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %4) %62 = getelementptr inbounds nuw i8, ptr %1, i64 16 %63 = getelementptr inbounds nuw i8, ptr %1, i64 8 - %64 = load ptr, ptr %63, align 8, !alias.scope !1426, !noalias !1429, !nonnull !4, !noundef !4 - %65 = load i64, ptr %62, align 8, !alias.scope !1426, !noalias !1429, !noundef !4 + %64 = load ptr, ptr %63, align 8, !alias.scope !1432, !noalias !1435, !nonnull !4, !noundef !4 + %65 = load i64, ptr %62, align 8, !alias.scope !1432, !noalias !1435, !noundef !4 invoke void @"_ZN52_$LT$T$u20$as$u20$alloc..slice..hack..ConvertVec$GT$6to_vec17he2817477af474896E.llvm.204215390286363894"(ptr noalias noundef nonnull sret([24 x i8]) align 8 captures(none) dereferenceable(24) %4, ptr noundef nonnull align 8 %64, i64 noundef %65) to label %"_ZN67_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hd7f602d787034465E.exit" unwind label %89 @@ -12671,14 +12751,14 @@ define internal fastcc noundef nonnull ptr @"_ZN9html5ever12tree_builder32TreeBu call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %3, ptr noundef nonnull align 8 dereferenceable(40) %1, i64 40, i1 false) %74 = getelementptr inbounds nuw i8, ptr %3, i64 40 store ptr %68, ptr %74, align 8 - %75 = load i64, ptr %11, align 8, !alias.scope !1431, !noalias !1434, !noundef !4 - %76 = load i64, ptr %8, align 8, !alias.scope !1431, !noalias !1434, !noundef !4 + %75 = load i64, ptr %11, align 8, !alias.scope !1437, !noalias !1440, !noundef !4 + %76 = load i64, ptr %8, align 8, !alias.scope !1437, !noalias !1440, !noundef !4 %77 = icmp eq i64 %75, %76 br i1 %77, label %78, label %83 78: ; preds = %"_ZN65_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h30edba8ce2c3e507E.exit" invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$8grow_one17h00f7999fa2a9f31dE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %8) - to label %83 unwind label %79, !noalias !1434 + to label %83 unwind label %79, !noalias !1440 79: ; preds = %78 %80 = landingpad { ptr, i32 } @@ -12693,11 +12773,11 @@ define internal fastcc noundef nonnull ptr @"_ZN9html5ever12tree_builder32TreeBu unreachable 83: ; preds = %78, %"_ZN65_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h30edba8ce2c3e507E.exit" - %84 = load ptr, ptr %9, align 8, !alias.scope !1431, !noalias !1434, !nonnull !4, !noundef !4 + %84 = load ptr, ptr %9, align 8, !alias.scope !1437, !noalias !1440, !nonnull !4, !noundef !4 %85 = getelementptr inbounds { i64, [5 x i64] }, ptr %84, i64 %75 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %85, ptr noundef nonnull align 8 dereferenceable(48) %3, i64 48, i1 false) %86 = add i64 %75, 1 - store i64 %86, ptr %11, align 8, !alias.scope !1431, !noalias !1434 + store i64 %86, ptr %11, align 8, !alias.scope !1437, !noalias !1440 call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %3) call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %6) ret ptr %68 @@ -12991,27 +13071,27 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle br label %102 102: ; preds = %"_ZN65_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h30edba8ce2c3e507E.exit25", %100, %51 - call void @llvm.experimental.noalias.scope.decl(metadata !1436) - call void @llvm.experimental.noalias.scope.decl(metadata !1439) - %103 = load ptr, ptr %5, align 8, !alias.scope !1442, !nonnull !4, !noundef !4 - %104 = load i64, ptr %103, align 8, !noalias !1442, !noundef !4 + call void @llvm.experimental.noalias.scope.decl(metadata !1442) + call void @llvm.experimental.noalias.scope.decl(metadata !1445) + %103 = load ptr, ptr %5, align 8, !alias.scope !1448, !nonnull !4, !noundef !4 + %104 = load i64, ptr %103, align 8, !noalias !1448, !noundef !4 %105 = add i64 %104, -1 - store i64 %105, ptr %103, align 8, !noalias !1442 + store i64 %105, ptr %103, align 8, !noalias !1448 %106 = icmp eq i64 %105, 0 br i1 %106, label %107, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit28" 107: ; preds = %102 %108 = getelementptr inbounds nuw i8, ptr %103, i64 16 - call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17hed3cc8b884d652aeE.llvm.5005022800651993668"(ptr noalias noundef nonnull align 8 dereferenceable(120) %108), !noalias !1442 + call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17hed3cc8b884d652aeE.llvm.5005022800651993668"(ptr noalias noundef nonnull align 8 dereferenceable(120) %108), !noalias !1448 %109 = getelementptr inbounds nuw i8, ptr %103, i64 8 - %110 = load i64, ptr %109, align 8, !noalias !1442, !noundef !4 + %110 = load i64, ptr %109, align 8, !noalias !1448, !noundef !4 %111 = add i64 %110, -1 - store i64 %111, ptr %109, align 8, !noalias !1442 + store i64 %111, ptr %109, align 8, !noalias !1448 %112 = icmp eq i64 %111, 0 br i1 %112, label %113, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit28" 113: ; preds = %107 - call void @__rust_dealloc(ptr noundef nonnull %103, i64 noundef 136, i64 noundef 8) #16, !noalias !1442 + call void @__rust_dealloc(ptr noundef nonnull %103, i64 noundef 136, i64 noundef 8) #16, !noalias !1448 br label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit28" "_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit28": ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15html_elem_named17h363f1592e1b13660E.exit.thread", %102, %107, %113, %131, %125, %"_ZN65_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h30edba8ce2c3e507E.exit27" @@ -13041,27 +13121,27 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle %120 = getelementptr inbounds nuw i8, ptr %0, i64 8 store ptr %.val, ptr %120, align 8 store i64 0, ptr %0, align 8 - call void @llvm.experimental.noalias.scope.decl(metadata !1443) - call void @llvm.experimental.noalias.scope.decl(metadata !1446) - %121 = load ptr, ptr %5, align 8, !alias.scope !1449, !nonnull !4, !noundef !4 - %122 = load i64, ptr %121, align 8, !noalias !1449, !noundef !4 + call void @llvm.experimental.noalias.scope.decl(metadata !1449) + call void @llvm.experimental.noalias.scope.decl(metadata !1452) + %121 = load ptr, ptr %5, align 8, !alias.scope !1455, !nonnull !4, !noundef !4 + %122 = load i64, ptr %121, align 8, !noalias !1455, !noundef !4 %123 = add i64 %122, -1 - store i64 %123, ptr %121, align 8, !noalias !1449 + store i64 %123, ptr %121, align 8, !noalias !1455 %124 = icmp eq i64 %123, 0 br i1 %124, label %125, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit28" 125: ; preds = %"_ZN65_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h30edba8ce2c3e507E.exit27" %126 = getelementptr inbounds nuw i8, ptr %121, i64 16 - call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17hed3cc8b884d652aeE.llvm.5005022800651993668"(ptr noalias noundef nonnull align 8 dereferenceable(120) %126), !noalias !1449 + call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17hed3cc8b884d652aeE.llvm.5005022800651993668"(ptr noalias noundef nonnull align 8 dereferenceable(120) %126), !noalias !1455 %127 = getelementptr inbounds nuw i8, ptr %121, i64 8 - %128 = load i64, ptr %127, align 8, !noalias !1449, !noundef !4 + %128 = load i64, ptr %127, align 8, !noalias !1455, !noundef !4 %129 = add i64 %128, -1 - store i64 %129, ptr %127, align 8, !noalias !1449 + store i64 %129, ptr %127, align 8, !noalias !1455 %130 = icmp eq i64 %129, 0 br i1 %130, label %131, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit28" 131: ; preds = %125 - call void @__rust_dealloc(ptr noundef nonnull %121, i64 noundef 136, i64 noundef 8) #16, !noalias !1449 + call void @__rust_dealloc(ptr noundef nonnull %121, i64 noundef 136, i64 noundef 8) #16, !noalias !1455 br label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit28" 132: ; preds = %.body @@ -13116,32 +13196,32 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle ret void 15: ; preds = %10 - call void @llvm.experimental.noalias.scope.decl(metadata !1450) - call void @llvm.experimental.noalias.scope.decl(metadata !1453) call void @llvm.experimental.noalias.scope.decl(metadata !1456) call void @llvm.experimental.noalias.scope.decl(metadata !1459) - %16 = load ptr, ptr %9, align 8, !alias.scope !1462, !nonnull !4, !noundef !4 - %17 = load i64, ptr %16, align 8, !noalias !1462, !noundef !4 + call void @llvm.experimental.noalias.scope.decl(metadata !1462) + call void @llvm.experimental.noalias.scope.decl(metadata !1465) + %16 = load ptr, ptr %9, align 8, !alias.scope !1468, !nonnull !4, !noundef !4 + %17 = load i64, ptr %16, align 8, !noalias !1468, !noundef !4 %18 = add i64 %17, -1 - store i64 %18, ptr %16, align 8, !noalias !1462 + store i64 %18, ptr %16, align 8, !noalias !1468 %19 = icmp eq i64 %18, 0 br i1 %19, label %20, label %"_ZN4core3ptr144drop_in_place$LT$core..option..Option$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$$GT$17h4250528eb6f4914eE.exit5" 20: ; preds = %15 %21 = getelementptr inbounds nuw i8, ptr %16, i64 16 invoke void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17hed3cc8b884d652aeE.llvm.5005022800651993668"(ptr noalias noundef nonnull align 8 dereferenceable(120) %21) - to label %.noexc.i.i4 unwind label %27, !noalias !1463 + to label %.noexc.i.i4 unwind label %27, !noalias !1469 .noexc.i.i4: ; preds = %20 %22 = getelementptr inbounds nuw i8, ptr %16, i64 8 - %23 = load i64, ptr %22, align 8, !noalias !1462, !noundef !4 + %23 = load i64, ptr %22, align 8, !noalias !1468, !noundef !4 %24 = add i64 %23, -1 - store i64 %24, ptr %22, align 8, !noalias !1462 + store i64 %24, ptr %22, align 8, !noalias !1468 %25 = icmp eq i64 %24, 0 br i1 %25, label %26, label %"_ZN4core3ptr144drop_in_place$LT$core..option..Option$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$$GT$17h4250528eb6f4914eE.exit5" 26: ; preds = %.noexc.i.i4 - call void @__rust_dealloc(ptr noundef nonnull %16, i64 noundef 136, i64 noundef 8) #16, !noalias !1462 + call void @__rust_dealloc(ptr noundef nonnull %16, i64 noundef 136, i64 noundef 8) #16, !noalias !1468 br label %"_ZN4core3ptr144drop_in_place$LT$core..option..Option$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$$GT$17h4250528eb6f4914eE.exit5" 27: ; preds = %20 @@ -13182,7 +13262,7 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle 7: ; preds = %6 call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %5) %8 = getelementptr inbounds nuw i8, ptr %1, i64 104 - %9 = load i64, ptr %8, align 8, !alias.scope !1464, !noundef !4 + %9 = load i64, ptr %8, align 8, !alias.scope !1470, !noundef !4 %.not.i10 = icmp eq i64 %9, 0 br i1 %.not.i10, label %.invoke, label %.lr.ph @@ -13193,7 +13273,7 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle 12: ; preds = %.lr.ph, %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit" %13 = phi i64 [ %9, %.lr.ph ], [ %46, %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit" ] - %14 = load ptr, ptr %10, align 8, !alias.scope !1464, !nonnull !4, !noundef !4 + %14 = load ptr, ptr %10, align 8, !alias.scope !1470, !nonnull !4, !noundef !4 %15 = add i64 %13, -1 %16 = getelementptr inbounds [0 x ptr], ptr %14, i64 0, i64 %15 %17 = invoke { ptr, ptr } @"_ZN91_$LT$markup5ever_rcdom..RcDom$u20$as$u20$markup5ever..interface..tree_builder..TreeSink$GT$9elem_name17h4e753bf026563d2eE"(ptr noalias noundef nonnull readonly align 8 dereferenceable(192) %1, ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %16) @@ -13210,7 +13290,7 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle ] 20: ; preds = %.noexc2 - %21 = load i64, ptr %19, align 8, !alias.scope !1467, !noundef !4 + %21 = load i64, ptr %19, align 8, !alias.scope !1473, !noundef !4 switch i64 %21, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15current_node_in17hffe32a49df2a1271E.exit" [ i64 3448858738690, label %"_ZN4core3ptr84drop_in_place$LT$string_cache..atom..Atom$LT$markup5ever..NamespaceStaticSet$GT$$GT$17h0ed4ac647496d4d2E.llvm.4491288516430033680.exit3.i.i" i64 3753801416706, label %"_ZN4core3ptr84drop_in_place$LT$string_cache..atom..Atom$LT$markup5ever..NamespaceStaticSet$GT$$GT$17h0ed4ac647496d4d2E.llvm.4491288516430033680.exit3.i.i" @@ -13220,7 +13300,7 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle ] 22: ; preds = %.noexc2 - %23 = load i64, ptr %19, align 8, !alias.scope !1467, !noundef !4 + %23 = load i64, ptr %19, align 8, !alias.scope !1473, !noundef !4 switch i64 %23, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15current_node_in17hffe32a49df2a1271E.exit" [ i64 1194000908290, label %"_ZN4core3ptr84drop_in_place$LT$string_cache..atom..Atom$LT$markup5ever..NamespaceStaticSet$GT$$GT$17h0ed4ac647496d4d2E.llvm.4491288516430033680.exit3.i.i" i64 2993592205314, label %"_ZN4core3ptr84drop_in_place$LT$string_cache..atom..Atom$LT$markup5ever..NamespaceStaticSet$GT$$GT$17h0ed4ac647496d4d2E.llvm.4491288516430033680.exit3.i.i" @@ -13228,8 +13308,8 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle ] "_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15current_node_in17hffe32a49df2a1271E.exit": ; preds = %20, %.noexc2, %22 - call void @llvm.experimental.noalias.scope.decl(metadata !1470) - %24 = load i64, ptr %8, align 8, !alias.scope !1470, !noundef !4 + call void @llvm.experimental.noalias.scope.decl(metadata !1476) + %24 = load i64, ptr %8, align 8, !alias.scope !1476, !noundef !4 %25 = icmp eq i64 %24, 0 br i1 %25, label %.invoke, label %29 @@ -13252,16 +13332,16 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle 29: ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15current_node_in17hffe32a49df2a1271E.exit" %30 = add i64 %24, -1 - store i64 %30, ptr %8, align 8, !alias.scope !1470 - %31 = load i64, ptr %11, align 8, !alias.scope !1470, !noundef !4 + store i64 %30, ptr %8, align 8, !alias.scope !1476 + %31 = load i64, ptr %11, align 8, !alias.scope !1476, !noundef !4 %32 = icmp ult i64 %30, %31 call void @llvm.assume(i1 %32) - %33 = load ptr, ptr %10, align 8, !alias.scope !1470, !nonnull !4, !noundef !4 + %33 = load ptr, ptr %10, align 8, !alias.scope !1476, !nonnull !4, !noundef !4 %34 = getelementptr inbounds ptr, ptr %33, i64 %30 - %35 = load ptr, ptr %34, align 8, !noalias !1470, !nonnull !4, !noundef !4 - %36 = load i64, ptr %35, align 8, !noalias !1473, !noundef !4 + %35 = load ptr, ptr %34, align 8, !noalias !1476, !nonnull !4, !noundef !4 + %36 = load i64, ptr %35, align 8, !noalias !1479, !noundef !4 %37 = add i64 %36, -1 - store i64 %37, ptr %35, align 8, !noalias !1473 + store i64 %37, ptr %35, align 8, !noalias !1479 %38 = icmp eq i64 %37, 0 br i1 %38, label %39, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit" @@ -13272,18 +13352,18 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle .noexc4: ; preds = %39 %41 = getelementptr inbounds nuw i8, ptr %35, i64 8 - %42 = load i64, ptr %41, align 8, !noalias !1473, !noundef !4 + %42 = load i64, ptr %41, align 8, !noalias !1479, !noundef !4 %43 = add i64 %42, -1 - store i64 %43, ptr %41, align 8, !noalias !1473 + store i64 %43, ptr %41, align 8, !noalias !1479 %44 = icmp eq i64 %43, 0 br i1 %44, label %45, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit" 45: ; preds = %.noexc4 - call void @__rust_dealloc(ptr noundef nonnull %35, i64 noundef 136, i64 noundef 8) #16, !noalias !1473 + call void @__rust_dealloc(ptr noundef nonnull %35, i64 noundef 136, i64 noundef 8) #16, !noalias !1479 br label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit" "_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit": ; preds = %45, %.noexc4, %29 - %46 = load i64, ptr %8, align 8, !alias.scope !1464, !noundef !4 + %46 = load i64, ptr %8, align 8, !alias.scope !1470, !noundef !4 %.not.i = icmp eq i64 %46, 0 br i1 %.not.i, label %.invoke, label %12 @@ -13846,29 +13926,29 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle 389: ; preds = %384 call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %11) call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %8) - call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %7), !noalias !1478 + call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %7), !noalias !1484 invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h9d8c47219b0efa9cE"(ptr noalias noundef nonnull sret([24 x i8]) align 8 captures(none) dereferenceable(24) %7, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %9) to label %.noexc543 unwind label %402 .noexc543: ; preds = %389 %390 = getelementptr inbounds nuw i8, ptr %7, i64 8 - %391 = load i64, ptr %390, align 8, !range !368, !noalias !1478, !noundef !4 + %391 = load i64, ptr %390, align 8, !range !368, !noalias !1484, !noundef !4 %392 = icmp eq i64 %391, 0 br i1 %392, label %"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hcc1d49382fbafdeaE.exit.i", label %393 393: ; preds = %.noexc543 %394 = getelementptr inbounds nuw i8, ptr %7, i64 16 - %395 = load i64, ptr %394, align 8, !noalias !1478, !noundef !4 + %395 = load i64, ptr %394, align 8, !noalias !1484, !noundef !4 %396 = icmp eq i64 %395, 0 br i1 %396, label %"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hcc1d49382fbafdeaE.exit.i", label %397 397: ; preds = %393 - %398 = load ptr, ptr %7, align 8, !noalias !1478, !nonnull !4, !noundef !4 + %398 = load ptr, ptr %7, align 8, !noalias !1484, !nonnull !4, !noundef !4 call void @__rust_dealloc(ptr noundef nonnull %398, i64 noundef %395, i64 noundef %391) #16 br label %"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hcc1d49382fbafdeaE.exit.i" "_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hcc1d49382fbafdeaE.exit.i": ; preds = %397, %393, %.noexc543 - call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %7), !noalias !1478 + call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %7), !noalias !1484 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %9) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %10) br label %404 @@ -14226,7 +14306,7 @@ default.unreachable1101: ; preds = %2773, %2752, %2721, %529 = getelementptr inbounds nuw i8, ptr %1, i64 185 store i8 0, ptr %529, align 1 %530 = getelementptr inbounds nuw i8, ptr %1, i64 32 - store i8 0, ptr %530, align 8, !alias.scope !1487 + store i8 0, ptr %530, align 8, !alias.scope !1493 br label %523 531: ; preds = %1970, %.body559, %1021, %545, %682, %976, %1001, %1212, %1215, %1320, %1459, %1584, %1610, %1644, %1655, %2250, %2827, %2790, %2764, %2742, %2711, %2648, %2616, %2612, %2599, %2447, %2424, %2405, %2347, %2324, %2304, %2262, %2249, %2246, %.thread1022, %2205, %2178, %2168, %2156, %2116, %2095, %2067, %2006, %1996, %.thread994, %1994, %1918, %1901, %1884, %1849, %1833, %1825, %1795, %1794, %1767, %1754, %1700, %1699, %1692, %1654, %1643, %1640, %1615, %1609, %1606, %1583, %1580, %1496, %1474, %1458, %1455, %1405, %1384, %1366, %1350, %1339, %1333, %1319, %1307, %1289, %1279, %1268, %1254, %1248, %1241, %1224, %.thread760, %1143, %1141, %1119, %1109, %1090, %1083, %1075, %1063, %1039, %1036, %1000, %998, %927, %921, %910, %886, %880, %838, %829, %818, %783, %777, %766, %726, %700, %681, %638, %628, %617, %580, %575, %564, %525 @@ -14844,8 +14924,8 @@ default.unreachable1101: ; preds = %2773, %2752, %2721, store i8 17, ptr %707, align 2 %708 = getelementptr inbounds nuw i8, ptr %1, i64 40 %709 = getelementptr inbounds nuw i8, ptr %1, i64 56 - %710 = load i64, ptr %709, align 8, !alias.scope !1490, !noundef !4 - %711 = load i64, ptr %708, align 8, !alias.scope !1490, !noundef !4 + %710 = load i64, ptr %709, align 8, !alias.scope !1496, !noundef !4 + %711 = load i64, ptr %708, align 8, !alias.scope !1496, !noundef !4 %712 = icmp eq i64 %710, %711 br i1 %712, label %713, label %714 @@ -14855,11 +14935,11 @@ default.unreachable1101: ; preds = %2773, %2752, %2721, 714: ; preds = %705, %713 %715 = getelementptr inbounds nuw i8, ptr %1, i64 48 - %716 = load ptr, ptr %715, align 8, !alias.scope !1490, !nonnull !4, !noundef !4 + %716 = load ptr, ptr %715, align 8, !alias.scope !1496, !nonnull !4, !noundef !4 %717 = getelementptr inbounds i8, ptr %716, i64 %710 store i8 17, ptr %717, align 1 %718 = add i64 %710, 1 - store i64 %718, ptr %709, align 8, !alias.scope !1490 + store i64 %718, ptr %709, align 8, !alias.scope !1496 store i64 -9223372036854775804, ptr %0, align 8 br label %2794 @@ -15452,7 +15532,7 @@ default.unreachable1101: ; preds = %2773, %2752, %2721, 885: ; preds = %884 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %317) - %.val536 = load ptr, ptr %319, align 8, !alias.scope !986, !noalias !989 + %.val536 = load ptr, ptr %319, align 8, !alias.scope !1001, !noalias !1004 invoke fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17remove_from_stack17hd82ea4ec9f5cac68E"(ptr noalias noundef align 8 dereferenceable(192) %1, ptr %.val536) to label %888 unwind label %886 @@ -17728,7 +17808,7 @@ default.unreachable1101: ; preds = %2773, %2752, %2721, "_ZN65_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h30edba8ce2c3e507E.exit554": ; preds = %1487 store ptr %.val491, ptr %269, align 8 - %.val535 = load ptr, ptr %272, align 8, !alias.scope !986, !noalias !989 + %.val535 = load ptr, ptr %272, align 8, !alias.scope !1001, !noalias !1004 invoke fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17remove_from_stack17hd82ea4ec9f5cac68E"(ptr noalias noundef align 8 dereferenceable(192) %1, ptr %.val535) to label %1498 unwind label %1496 @@ -18500,7 +18580,7 @@ default.unreachable1101: ; preds = %2773, %2752, %2721, 1737: ; preds = %1736 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %205) %1738 = getelementptr inbounds nuw i8, ptr %1, i64 187 - %1739 = load i8, ptr %1738, align 1, !range !1493, !noundef !4 + %1739 = load i8, ptr %1738, align 1, !range !1499, !noundef !4 store i8 23, ptr %1738, align 1 %1740 = icmp eq i8 %1739, 23 br i1 %1740, label %1741, label %1742 @@ -18555,7 +18635,7 @@ default.unreachable1101: ; preds = %2773, %2752, %2721, 1757: ; preds = %1752 store ptr %1753, ptr %202, align 8 %1758 = getelementptr inbounds nuw i8, ptr %1, i64 187 - %1759 = load i8, ptr %1758, align 1, !range !1493, !noundef !4 + %1759 = load i8, ptr %1758, align 1, !range !1499, !noundef !4 store i8 23, ptr %1758, align 1 %1760 = icmp eq i8 %1759, 23 br i1 %1760, label %1761, label %1762 @@ -19247,10 +19327,10 @@ default.unreachable1101: ; preds = %2773, %2752, %2721, "_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h96e09646754beb66E.exit": ; preds = %"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h96e09646754beb66E.exit.lr.ph", %1962 %1947 = phi ptr [ %1925, %"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h96e09646754beb66E.exit.lr.ph" ], [ %1964, %1962 ] - call void @llvm.experimental.noalias.scope.decl(metadata !1494) + call void @llvm.experimental.noalias.scope.decl(metadata !1500) %1948 = getelementptr inbounds nuw i8, ptr %1947, i64 24 - store ptr %1948, ptr %.sroa.2614.0..sroa_idx, align 8, !alias.scope !1494, !noalias !1497 - %.sroa.0620.0.copyload = load i8, ptr %1947, align 8, !noalias !1494 + store ptr %1948, ptr %.sroa.2614.0..sroa_idx, align 8, !alias.scope !1500, !noalias !1503 + %.sroa.0620.0.copyload = load i8, ptr %1947, align 8, !noalias !1500 %1949 = icmp eq i8 %.sroa.0620.0.copyload, 3 br i1 %1949, label %"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h96e09646754beb66E.exit.thread", label %1950 @@ -19266,11 +19346,11 @@ default.unreachable1101: ; preds = %2773, %2752, %2721, store i64 1, ptr %56, align 8 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %6) invoke fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$31appropriate_place_for_insertion17h25ab12c1b096bbfaE"(ptr noalias noundef align 8 captures(none) dereferenceable(24) %6, ptr noalias noundef nonnull align 8 dereferenceable(192) %1, ptr noundef null) - to label %1952 unwind label %1953, !noalias !1499 + to label %1952 unwind label %1953, !noalias !1505 1952: ; preds = %1950 - call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %5), !noalias !1502 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull readonly align 8 dereferenceable(24) %56, i64 24, i1 false), !noalias !1504 + call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %5), !noalias !1508 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull readonly align 8 dereferenceable(24) %56, i64 24, i1 false), !noalias !1510 invoke fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$9insert_at17ha9c043e1991bdbccE"(ptr noalias noundef nonnull align 8 dereferenceable(192) %1, ptr noalias noundef align 8 captures(none) dereferenceable(24) %6, ptr noalias noundef align 8 captures(none) dereferenceable(24) %5) to label %1961 unwind label %1945 @@ -19283,7 +19363,7 @@ default.unreachable1101: ; preds = %2773, %2752, %2721, 1955: ; preds = %1953 %1956 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer - call void @_ZN4core9panicking16panic_in_cleanup17hfa05ef7d5107e16aE() #15, !noalias !1499 + call void @_ZN4core9panicking16panic_in_cleanup17hfa05ef7d5107e16aE() #15, !noalias !1505 unreachable "_ZN4core3ptr165drop_in_place$LT$alloc..vec..into_iter..IntoIter$LT$$LP$html5ever..tree_builder..types..SplitStatus$C$tendril..tendril..Tendril$LT$tendril..fmt..UTF8$GT$$RP$$GT$$GT$17hcfeb329643315df0E.exit557": ; preds = %"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h96e09646754beb66E.exit.thread" @@ -19292,13 +19372,13 @@ default.unreachable1101: ; preds = %2773, %2752, %2721, 1957: ; preds = %"_ZN4core3ptr165drop_in_place$LT$alloc..vec..into_iter..IntoIter$LT$$LP$html5ever..tree_builder..types..SplitStatus$C$tendril..tendril..Tendril$LT$tendril..fmt..UTF8$GT$$RP$$GT$$GT$17hcfeb329643315df0E.exit570", %"_ZN4core3ptr165drop_in_place$LT$alloc..vec..into_iter..IntoIter$LT$$LP$html5ever..tree_builder..types..SplitStatus$C$tendril..tendril..Tendril$LT$tendril..fmt..UTF8$GT$$RP$$GT$$GT$17hcfeb329643315df0E.exit557" %1958 = getelementptr inbounds nuw i8, ptr %1, i64 187 - %1959 = load i8, ptr %1958, align 1, !range !1493, !noundef !4 + %1959 = load i8, ptr %1958, align 1, !range !1499, !noundef !4 store i8 23, ptr %1958, align 1 %1960 = icmp eq i8 %1959, 23 br i1 %1960, label %1978, label %1979 1961: ; preds = %1952 - call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %5), !noalias !1502 + call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %5), !noalias !1508 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %6) call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %56) store i64 -9223372036854775804, ptr %165, align 8 @@ -19307,8 +19387,8 @@ default.unreachable1101: ; preds = %2773, %2752, %2721, 1962: ; preds = %1961 call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %165) - %1963 = load ptr, ptr %.sroa.4616.0..sroa_idx, align 8, !alias.scope !1505, !noalias !1497, !nonnull !4, !noundef !4 - %1964 = load ptr, ptr %.sroa.2614.0..sroa_idx, align 8, !alias.scope !1505, !noalias !1497, !nonnull !4, !noundef !4 + %1963 = load ptr, ptr %.sroa.4616.0..sroa_idx, align 8, !alias.scope !1511, !noalias !1503, !nonnull !4, !noundef !4 + %1964 = load ptr, ptr %.sroa.2614.0..sroa_idx, align 8, !alias.scope !1511, !noalias !1503, !nonnull !4, !noundef !4 %1965 = icmp eq ptr %1964, %1963 br i1 %1965, label %"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h96e09646754beb66E.exit.thread", label %"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h96e09646754beb66E.exit" @@ -19343,10 +19423,10 @@ default.unreachable1101: ; preds = %2773, %2752, %2721, "_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h96e09646754beb66E.exit566": ; preds = %"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h96e09646754beb66E.exit566.lr.ph", %1990 %1973 = phi ptr [ %1925, %"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h96e09646754beb66E.exit566.lr.ph" ], [ %1992, %1990 ] - call void @llvm.experimental.noalias.scope.decl(metadata !1507) + call void @llvm.experimental.noalias.scope.decl(metadata !1513) %1974 = getelementptr inbounds nuw i8, ptr %1973, i64 24 - store ptr %1974, ptr %.sroa.2.0..sroa_idx605, align 8, !alias.scope !1507, !noalias !1510 - %.sroa.0611.0.copyload = load i8, ptr %1973, align 8, !noalias !1507 + store ptr %1974, ptr %.sroa.2.0..sroa_idx605, align 8, !alias.scope !1513, !noalias !1516 + %.sroa.0611.0.copyload = load i8, ptr %1973, align 8, !noalias !1513 %1975 = icmp eq i8 %.sroa.0611.0.copyload, 3 br i1 %1975, label %"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h96e09646754beb66E.exit566.thread", label %1976 @@ -19406,8 +19486,8 @@ default.unreachable1101: ; preds = %2773, %2752, %2721, 1990: ; preds = %1984 call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %169) - %1991 = load ptr, ptr %.sroa.4607.0..sroa_idx, align 8, !alias.scope !1512, !noalias !1510, !nonnull !4, !noundef !4 - %1992 = load ptr, ptr %.sroa.2.0..sroa_idx605, align 8, !alias.scope !1512, !noalias !1510, !nonnull !4, !noundef !4 + %1991 = load ptr, ptr %.sroa.4607.0..sroa_idx, align 8, !alias.scope !1518, !noalias !1516, !nonnull !4, !noundef !4 + %1992 = load ptr, ptr %.sroa.2.0..sroa_idx605, align 8, !alias.scope !1518, !noalias !1516, !nonnull !4, !noundef !4 %1993 = icmp eq ptr %1992, %1991 br i1 %1993, label %"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h96e09646754beb66E.exit566.thread", label %"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h96e09646754beb66E.exit566" @@ -21110,7 +21190,7 @@ default.unreachable1101: ; preds = %2773, %2752, %2721, %2490 = getelementptr inbounds nuw i8, ptr %1, i64 56 %2491 = load i64, ptr %2490, align 8, !noundef !4 %2492 = icmp eq i64 %2491, 0 - %.pre1099 = load i64, ptr %2489, align 8, !alias.scope !1514 + %.pre1099 = load i64, ptr %2489, align 8, !alias.scope !1520 br i1 %2492, label %2511, label %2508 2493: ; preds = %2484 @@ -21118,7 +21198,7 @@ default.unreachable1101: ; preds = %2773, %2752, %2721, %2495 = getelementptr inbounds nuw i8, ptr %1, i64 56 %2496 = load i64, ptr %2495, align 8, !noundef !4 %2497 = icmp eq i64 %2496, 0 - %.pre1098 = load i64, ptr %2494, align 8, !alias.scope !1517 + %.pre1098 = load i64, ptr %2494, align 8, !alias.scope !1523 br i1 %2497, label %2524, label %2521 2498: ; preds = %2484 @@ -21126,7 +21206,7 @@ default.unreachable1101: ; preds = %2773, %2752, %2721, %2500 = getelementptr inbounds nuw i8, ptr %1, i64 56 %2501 = load i64, ptr %2500, align 8, !noundef !4 %2502 = icmp eq i64 %2501, 0 - %.pre1097 = load i64, ptr %2499, align 8, !alias.scope !1520 + %.pre1097 = load i64, ptr %2499, align 8, !alias.scope !1526 br i1 %2502, label %2537, label %2534 2503: ; preds = %2484, %2484 @@ -21134,7 +21214,7 @@ default.unreachable1101: ; preds = %2773, %2752, %2721, %2505 = getelementptr inbounds nuw i8, ptr %1, i64 56 %2506 = load i64, ptr %2505, align 8, !noundef !4 %2507 = icmp eq i64 %2506, 0 - %.pre = load i64, ptr %2504, align 8, !alias.scope !1523 + %.pre = load i64, ptr %2504, align 8, !alias.scope !1529 br i1 %2507, label %2550, label %2547 2508: ; preds = %2488 @@ -21155,11 +21235,11 @@ default.unreachable1101: ; preds = %2773, %2752, %2721, 2515: ; preds = %2511, %2514 %2516 = getelementptr inbounds nuw i8, ptr %1, i64 48 - %2517 = load ptr, ptr %2516, align 8, !alias.scope !1514, !nonnull !4, !noundef !4 + %2517 = load ptr, ptr %2516, align 8, !alias.scope !1520, !nonnull !4, !noundef !4 %2518 = getelementptr inbounds i8, ptr %2517, i64 %2512 store i8 8, ptr %2518, align 1 %2519 = add nuw i64 %2512, 1 - store i64 %2519, ptr %2490, align 8, !alias.scope !1514 + store i64 %2519, ptr %2490, align 8, !alias.scope !1520 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %0, ptr noundef nonnull align 8 dereferenceable(40) %3, i64 40, i1 false) %2520 = getelementptr inbounds nuw i8, ptr %0, i64 40 store i8 8, ptr %2520, align 8 @@ -21183,11 +21263,11 @@ default.unreachable1101: ; preds = %2773, %2752, %2721, 2528: ; preds = %2524, %2527 %2529 = getelementptr inbounds nuw i8, ptr %1, i64 48 - %2530 = load ptr, ptr %2529, align 8, !alias.scope !1517, !nonnull !4, !noundef !4 + %2530 = load ptr, ptr %2529, align 8, !alias.scope !1523, !nonnull !4, !noundef !4 %2531 = getelementptr inbounds i8, ptr %2530, i64 %2525 store i8 11, ptr %2531, align 1 %2532 = add nuw i64 %2525, 1 - store i64 %2532, ptr %2495, align 8, !alias.scope !1517 + store i64 %2532, ptr %2495, align 8, !alias.scope !1523 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %0, ptr noundef nonnull align 8 dereferenceable(40) %3, i64 40, i1 false) %2533 = getelementptr inbounds nuw i8, ptr %0, i64 40 store i8 11, ptr %2533, align 8 @@ -21211,11 +21291,11 @@ default.unreachable1101: ; preds = %2773, %2752, %2721, 2541: ; preds = %2537, %2540 %2542 = getelementptr inbounds nuw i8, ptr %1, i64 48 - %2543 = load ptr, ptr %2542, align 8, !alias.scope !1520, !nonnull !4, !noundef !4 + %2543 = load ptr, ptr %2542, align 8, !alias.scope !1526, !nonnull !4, !noundef !4 %2544 = getelementptr inbounds i8, ptr %2543, i64 %2538 store i8 12, ptr %2544, align 1 %2545 = add nuw i64 %2538, 1 - store i64 %2545, ptr %2500, align 8, !alias.scope !1520 + store i64 %2545, ptr %2500, align 8, !alias.scope !1526 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %0, ptr noundef nonnull align 8 dereferenceable(40) %3, i64 40, i1 false) %2546 = getelementptr inbounds nuw i8, ptr %0, i64 40 store i8 12, ptr %2546, align 8 @@ -21239,11 +21319,11 @@ default.unreachable1101: ; preds = %2773, %2752, %2721, 2554: ; preds = %2550, %2553 %2555 = getelementptr inbounds nuw i8, ptr %1, i64 48 - %2556 = load ptr, ptr %2555, align 8, !alias.scope !1523, !nonnull !4, !noundef !4 + %2556 = load ptr, ptr %2555, align 8, !alias.scope !1529, !nonnull !4, !noundef !4 %2557 = getelementptr inbounds i8, ptr %2556, i64 %2551 store i8 13, ptr %2557, align 1 %2558 = add nuw i64 %2551, 1 - store i64 %2558, ptr %2505, align 8, !alias.scope !1523 + store i64 %2558, ptr %2505, align 8, !alias.scope !1529 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %0, ptr noundef nonnull align 8 dereferenceable(40) %3, i64 40, i1 false) %2559 = getelementptr inbounds nuw i8, ptr %0, i64 40 store i8 13, ptr %2559, align 8 @@ -21330,7 +21410,7 @@ default.unreachable1101: ; preds = %2773, %2752, %2721, %2589 = getelementptr inbounds nuw i8, ptr %1, i64 56 %2590 = load i64, ptr %2589, align 8, !noundef !4 %2591 = icmp eq i64 %2590, 0 - %.pre1100 = load i64, ptr %2588, align 8, !alias.scope !1526 + %.pre1100 = load i64, ptr %2588, align 8, !alias.scope !1532 br i1 %2591, label %2595, label %2592 2592: ; preds = %2587 @@ -21357,11 +21437,11 @@ default.unreachable1101: ; preds = %2773, %2752, %2721, 2601: ; preds = %2595, %2598 %2602 = getelementptr inbounds nuw i8, ptr %1, i64 48 - %2603 = load ptr, ptr %2602, align 8, !alias.scope !1526, !nonnull !4, !noundef !4 + %2603 = load ptr, ptr %2602, align 8, !alias.scope !1532, !nonnull !4, !noundef !4 %2604 = getelementptr inbounds i8, ptr %2603, i64 %2596 store i8 6, ptr %2604, align 1 %2605 = add nuw i64 %2596, 1 - store i64 %2605, ptr %2589, align 8, !alias.scope !1526 + store i64 %2605, ptr %2589, align 8, !alias.scope !1532 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %0, ptr noundef nonnull align 8 dereferenceable(40) %96, i64 40, i1 false) %2606 = getelementptr inbounds nuw i8, ptr %0, i64 40 store i8 6, ptr %2606, align 8 @@ -22019,10 +22099,10 @@ default.unreachable1101: ; preds = %2773, %2752, %2721, 2810: ; preds = %2805 %2811 = getelementptr inbounds nuw i8, ptr %2808, i64 8 - %.sroa.02.0.i11.i.i = load i32, ptr %2811, align 4, !noalias !1529, !noundef !4 - %2812 = load i64, ptr %2808, align 8, !noalias !1534, !noundef !4 + %.sroa.02.0.i11.i.i = load i32, ptr %2811, align 4, !noalias !1535, !noundef !4 + %2812 = load i64, ptr %2808, align 8, !noalias !1540, !noundef !4 %2813 = add i64 %2812, -1 - store i64 %2813, ptr %2808, align 8, !noalias !1534 + store i64 %2813, ptr %2808, align 8, !noalias !1540 %2814 = icmp eq i64 %2812, 1 br i1 %2814, label %.sink.split.i.i, label %"_ZN4core3ptr72drop_in_place$LT$tendril..tendril..Tendril$LT$tendril..fmt..UTF8$GT$$GT$17hcf1014fb9baf370dE.exit" @@ -22032,7 +22112,7 @@ default.unreachable1101: ; preds = %2773, %2752, %2721, %.sink.in.in.i.i = add nuw nsw i64 %.sink.in.in.in.i.i, 15 %.sink.in.i.i = and i64 %.sink.in.in.i.i, 8589934576 %.sink.i.i = add nuw nsw i64 %.sink.in.i.i, 16 - call void @__rust_dealloc(ptr noundef nonnull %2808, i64 noundef %.sink.i.i, i64 noundef 8) #16, !noalias !1534 + call void @__rust_dealloc(ptr noundef nonnull %2808, i64 noundef %.sink.i.i, i64 noundef 8) #16, !noalias !1540 br label %"_ZN4core3ptr72drop_in_place$LT$tendril..tendril..Tendril$LT$tendril..fmt..UTF8$GT$$GT$17hcf1014fb9baf370dE.exit" .thread634.sink.split: ; preds = %2825, %2823 @@ -22119,7 +22199,7 @@ _ZN4core3ops8function2Fn4call17hae62364ec96f019aE.exit.thread: ; preds = %_ZN4co %16 = tail call { ptr, ptr } @"_ZN91_$LT$markup5ever_rcdom..RcDom$u20$as$u20$markup5ever..interface..tree_builder..TreeSink$GT$9elem_name17h4e753bf026563d2eE"(ptr noalias noundef nonnull readonly align 8 dereferenceable(40) %0, ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %10) %17 = extractvalue { ptr, ptr } %16, 0 %18 = extractvalue { ptr, ptr } %16, 1 - %.val5 = load i64, ptr %17, align 8, !alias.scope !1535, !noalias !1538, !noundef !4 + %.val5 = load i64, ptr %17, align 8, !alias.scope !1541, !noalias !1544, !noundef !4 %.val6 = load i64, ptr %18, align 8 switch i64 %.val5, label %_ZN4core3ops8function2Fn4call17hae62364ec96f019aE.exit [ i64 30064771074, label %19 @@ -22226,24 +22306,24 @@ define internal fastcc noundef zeroext i1 @"_ZN9html5ever12tree_builder32TreeBui "_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$7elem_in17h49228b39412e66d6E.exit.i": ; preds = %20, %18, %.noexc.i %.sroa.0.0.i.i.i.i = phi i1 [ true, %20 ], [ false, %18 ], [ false, %.noexc.i ] - %23 = load i64, ptr %.val, align 8, !noalias !1540, !noundef !4 + %23 = load i64, ptr %.val, align 8, !noalias !1546, !noundef !4 %24 = add i64 %23, -1 - store i64 %24, ptr %.val, align 8, !noalias !1540 + store i64 %24, ptr %.val, align 8, !noalias !1546 %25 = icmp eq i64 %24, 0 br i1 %25, label %26, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$4step28_$u7b$$u7b$closure$u7d$$u7d$17he6e9b1d2b462b6b1E.exit" 26: ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$7elem_in17h49228b39412e66d6E.exit.i" %27 = getelementptr inbounds nuw i8, ptr %.val, i64 16 - call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17hed3cc8b884d652aeE.llvm.5005022800651993668"(ptr noalias noundef nonnull align 8 dereferenceable(120) %27), !noalias !1540 + call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17hed3cc8b884d652aeE.llvm.5005022800651993668"(ptr noalias noundef nonnull align 8 dereferenceable(120) %27), !noalias !1546 %28 = getelementptr inbounds nuw i8, ptr %.val, i64 8 - %29 = load i64, ptr %28, align 8, !noalias !1540, !noundef !4 + %29 = load i64, ptr %28, align 8, !noalias !1546, !noundef !4 %30 = add i64 %29, -1 - store i64 %30, ptr %28, align 8, !noalias !1540 + store i64 %30, ptr %28, align 8, !noalias !1546 %31 = icmp eq i64 %30, 0 br i1 %31, label %32, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$4step28_$u7b$$u7b$closure$u7d$$u7d$17he6e9b1d2b462b6b1E.exit" 32: ; preds = %26 - call void @__rust_dealloc(ptr noundef nonnull %.val, i64 noundef 136, i64 noundef 8) #16, !noalias !1540 + call void @__rust_dealloc(ptr noundef nonnull %.val, i64 noundef 136, i64 noundef 8) #16, !noalias !1546 br label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$4step28_$u7b$$u7b$closure$u7d$$u7d$17he6e9b1d2b462b6b1E.exit" 33: ; preds = %21 @@ -22267,7 +22347,7 @@ _ZN4core3ops8function2Fn4call17hae62364ec96f019aE.exit.thread: ; preds = %_ZN4co %37 = call { ptr, ptr } @"_ZN91_$LT$markup5ever_rcdom..RcDom$u20$as$u20$markup5ever..interface..tree_builder..TreeSink$GT$9elem_name17h4e753bf026563d2eE"(ptr noalias noundef nonnull readonly align 8 dereferenceable(40) %0, ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %10) %38 = extractvalue { ptr, ptr } %37, 0 %39 = extractvalue { ptr, ptr } %37, 1 - %.val5 = load i64, ptr %38, align 8, !alias.scope !1535, !noalias !1538, !noundef !4 + %.val5 = load i64, ptr %38, align 8, !alias.scope !1541, !noalias !1544, !noundef !4 %.val6 = load i64, ptr %39, align 8 switch i64 %.val5, label %_ZN4core3ops8function2Fn4call17hae62364ec96f019aE.exit [ i64 30064771074, label %40 @@ -22367,24 +22447,24 @@ define internal fastcc noundef zeroext i1 @"_ZN9html5ever12tree_builder32TreeBui "_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$7elem_in17he4db25b25b4fc58bE.exit.i": ; preds = %18, %.noexc.i %.sroa.0.0.i.i.i.i = phi i1 [ %switch.selectcmp.i.i.i.i, %18 ], [ false, %.noexc.i ] - %22 = load i64, ptr %.val, align 8, !noalias !1545, !noundef !4 + %22 = load i64, ptr %.val, align 8, !noalias !1551, !noundef !4 %23 = add i64 %22, -1 - store i64 %23, ptr %.val, align 8, !noalias !1545 + store i64 %23, ptr %.val, align 8, !noalias !1551 %24 = icmp eq i64 %23, 0 br i1 %24, label %25, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$4step28_$u7b$$u7b$closure$u7d$$u7d$17h05949e215d90cb11E.exit" 25: ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$7elem_in17he4db25b25b4fc58bE.exit.i" %26 = getelementptr inbounds nuw i8, ptr %.val, i64 16 - call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17hed3cc8b884d652aeE.llvm.5005022800651993668"(ptr noalias noundef nonnull align 8 dereferenceable(120) %26), !noalias !1545 + call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17hed3cc8b884d652aeE.llvm.5005022800651993668"(ptr noalias noundef nonnull align 8 dereferenceable(120) %26), !noalias !1551 %27 = getelementptr inbounds nuw i8, ptr %.val, i64 8 - %28 = load i64, ptr %27, align 8, !noalias !1545, !noundef !4 + %28 = load i64, ptr %27, align 8, !noalias !1551, !noundef !4 %29 = add i64 %28, -1 - store i64 %29, ptr %27, align 8, !noalias !1545 + store i64 %29, ptr %27, align 8, !noalias !1551 %30 = icmp eq i64 %29, 0 br i1 %30, label %31, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$4step28_$u7b$$u7b$closure$u7d$$u7d$17h05949e215d90cb11E.exit" 31: ; preds = %25 - call void @__rust_dealloc(ptr noundef nonnull %.val, i64 noundef 136, i64 noundef 8) #16, !noalias !1545 + call void @__rust_dealloc(ptr noundef nonnull %.val, i64 noundef 136, i64 noundef 8) #16, !noalias !1551 br label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$4step28_$u7b$$u7b$closure$u7d$$u7d$17h05949e215d90cb11E.exit" 32: ; preds = %20 @@ -22487,24 +22567,24 @@ define internal fastcc noundef zeroext i1 @"_ZN9html5ever12tree_builder32TreeBui "_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$7elem_in17h5e26c806d4e9653eE.exit.i": ; preds = %20, %18, %.noexc.i %.sroa.0.0.i.i.i.i = phi i1 [ true, %20 ], [ false, %18 ], [ false, %.noexc.i ] - %23 = load i64, ptr %.val, align 8, !noalias !1550, !noundef !4 + %23 = load i64, ptr %.val, align 8, !noalias !1556, !noundef !4 %24 = add i64 %23, -1 - store i64 %24, ptr %.val, align 8, !noalias !1550 + store i64 %24, ptr %.val, align 8, !noalias !1556 %25 = icmp eq i64 %24, 0 br i1 %25, label %26, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$4step28_$u7b$$u7b$closure$u7d$$u7d$17h1c31a7b208e7f74dE.exit" 26: ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$7elem_in17h5e26c806d4e9653eE.exit.i" %27 = getelementptr inbounds nuw i8, ptr %.val, i64 16 - call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17hed3cc8b884d652aeE.llvm.5005022800651993668"(ptr noalias noundef nonnull align 8 dereferenceable(120) %27), !noalias !1550 + call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17hed3cc8b884d652aeE.llvm.5005022800651993668"(ptr noalias noundef nonnull align 8 dereferenceable(120) %27), !noalias !1556 %28 = getelementptr inbounds nuw i8, ptr %.val, i64 8 - %29 = load i64, ptr %28, align 8, !noalias !1550, !noundef !4 + %29 = load i64, ptr %28, align 8, !noalias !1556, !noundef !4 %30 = add i64 %29, -1 - store i64 %30, ptr %28, align 8, !noalias !1550 + store i64 %30, ptr %28, align 8, !noalias !1556 %31 = icmp eq i64 %30, 0 br i1 %31, label %32, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$4step28_$u7b$$u7b$closure$u7d$$u7d$17h1c31a7b208e7f74dE.exit" 32: ; preds = %26 - call void @__rust_dealloc(ptr noundef nonnull %.val, i64 noundef 136, i64 noundef 8) #16, !noalias !1550 + call void @__rust_dealloc(ptr noundef nonnull %.val, i64 noundef 136, i64 noundef 8) #16, !noalias !1556 br label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$4step28_$u7b$$u7b$closure$u7d$$u7d$17h1c31a7b208e7f74dE.exit" 33: ; preds = %21 @@ -22623,24 +22703,24 @@ default.unreachable6: ; preds = %3 to label %34 unwind label %32 20: ; preds = %10 - %21 = load i64, ptr %11, align 8, !noalias !1555, !noundef !4 + %21 = load i64, ptr %11, align 8, !noalias !1561, !noundef !4 %22 = add i64 %21, -1 - store i64 %22, ptr %11, align 8, !noalias !1555 + store i64 %22, ptr %11, align 8, !noalias !1561 %23 = icmp eq i64 %22, 0 br i1 %23, label %24, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit" 24: ; preds = %20 %25 = getelementptr inbounds nuw i8, ptr %11, i64 16 - call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17hed3cc8b884d652aeE.llvm.5005022800651993668"(ptr noalias noundef nonnull align 8 dereferenceable(120) %25), !noalias !1555 + call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17hed3cc8b884d652aeE.llvm.5005022800651993668"(ptr noalias noundef nonnull align 8 dereferenceable(120) %25), !noalias !1561 %26 = getelementptr inbounds nuw i8, ptr %11, i64 8 - %27 = load i64, ptr %26, align 8, !noalias !1555, !noundef !4 + %27 = load i64, ptr %26, align 8, !noalias !1561, !noundef !4 %28 = add i64 %27, -1 - store i64 %28, ptr %26, align 8, !noalias !1555 + store i64 %28, ptr %26, align 8, !noalias !1561 %29 = icmp eq i64 %28, 0 br i1 %29, label %30, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit" 30: ; preds = %24 - call void @__rust_dealloc(ptr noundef nonnull %11, i64 noundef 136, i64 noundef 8) #16, !noalias !1555 + call void @__rust_dealloc(ptr noundef nonnull %11, i64 noundef 136, i64 noundef 8) #16, !noalias !1561 br label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit" "_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit": ; preds = %20, %24, %30 @@ -22667,24 +22747,24 @@ default.unreachable6: ; preds = %3 to label %34 unwind label %32 37: ; preds = %12 - %38 = load i64, ptr %13, align 8, !noalias !1560, !noundef !4 + %38 = load i64, ptr %13, align 8, !noalias !1566, !noundef !4 %39 = add i64 %38, -1 - store i64 %39, ptr %13, align 8, !noalias !1560 + store i64 %39, ptr %13, align 8, !noalias !1566 %40 = icmp eq i64 %39, 0 br i1 %40, label %41, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit3" 41: ; preds = %37 %42 = getelementptr inbounds nuw i8, ptr %13, i64 16 - call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17hed3cc8b884d652aeE.llvm.5005022800651993668"(ptr noalias noundef nonnull align 8 dereferenceable(120) %42), !noalias !1560 + call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17hed3cc8b884d652aeE.llvm.5005022800651993668"(ptr noalias noundef nonnull align 8 dereferenceable(120) %42), !noalias !1566 %43 = getelementptr inbounds nuw i8, ptr %13, i64 8 - %44 = load i64, ptr %43, align 8, !noalias !1560, !noundef !4 + %44 = load i64, ptr %43, align 8, !noalias !1566, !noundef !4 %45 = add i64 %44, -1 - store i64 %45, ptr %43, align 8, !noalias !1560 + store i64 %45, ptr %43, align 8, !noalias !1566 %46 = icmp eq i64 %45, 0 br i1 %46, label %47, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit3" 47: ; preds = %41 - call void @__rust_dealloc(ptr noundef nonnull %13, i64 noundef 136, i64 noundef 8) #16, !noalias !1560 + call void @__rust_dealloc(ptr noundef nonnull %13, i64 noundef 136, i64 noundef 8) #16, !noalias !1566 br label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit3" "_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit3": ; preds = %37, %41, %47 @@ -22698,9 +22778,9 @@ default.unreachable6: ; preds = %3 to label %61 unwind label %32 50: ; preds = %14 - %51 = load i64, ptr %17, align 8, !noalias !1565, !noundef !4 + %51 = load i64, ptr %17, align 8, !noalias !1571, !noundef !4 %52 = add i64 %51, -1 - store i64 %52, ptr %17, align 8, !noalias !1565 + store i64 %52, ptr %17, align 8, !noalias !1571 %53 = icmp eq i64 %52, 0 br i1 %53, label %54, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit4" @@ -22711,14 +22791,14 @@ default.unreachable6: ; preds = %3 .noexc: ; preds = %54 %56 = getelementptr inbounds nuw i8, ptr %17, i64 8 - %57 = load i64, ptr %56, align 8, !noalias !1565, !noundef !4 + %57 = load i64, ptr %56, align 8, !noalias !1571, !noundef !4 %58 = add i64 %57, -1 - store i64 %58, ptr %56, align 8, !noalias !1565 + store i64 %58, ptr %56, align 8, !noalias !1571 %59 = icmp eq i64 %58, 0 br i1 %59, label %60, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit4" 60: ; preds = %.noexc - call void @__rust_dealloc(ptr noundef nonnull %17, i64 noundef 136, i64 noundef 8) #16, !noalias !1565 + call void @__rust_dealloc(ptr noundef nonnull %17, i64 noundef 136, i64 noundef 8) #16, !noalias !1571 br label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit4" 61: ; preds = %62, %48 @@ -22733,27 +22813,27 @@ default.unreachable6: ; preds = %3 "_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit4": ; preds = %60, %.noexc, %50 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %4) - call void @llvm.experimental.noalias.scope.decl(metadata !1570) - call void @llvm.experimental.noalias.scope.decl(metadata !1573) - %64 = load ptr, ptr %5, align 8, !alias.scope !1576, !nonnull !4, !noundef !4 - %65 = load i64, ptr %64, align 8, !noalias !1576, !noundef !4 + call void @llvm.experimental.noalias.scope.decl(metadata !1576) + call void @llvm.experimental.noalias.scope.decl(metadata !1579) + %64 = load ptr, ptr %5, align 8, !alias.scope !1582, !nonnull !4, !noundef !4 + %65 = load i64, ptr %64, align 8, !noalias !1582, !noundef !4 %66 = add i64 %65, -1 - store i64 %66, ptr %64, align 8, !noalias !1576 + store i64 %66, ptr %64, align 8, !noalias !1582 %67 = icmp eq i64 %66, 0 br i1 %67, label %68, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit5" 68: ; preds = %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit4" %69 = getelementptr inbounds nuw i8, ptr %64, i64 16 - call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17hed3cc8b884d652aeE.llvm.5005022800651993668"(ptr noalias noundef nonnull align 8 dereferenceable(120) %69), !noalias !1576 + call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17hed3cc8b884d652aeE.llvm.5005022800651993668"(ptr noalias noundef nonnull align 8 dereferenceable(120) %69), !noalias !1582 %70 = getelementptr inbounds nuw i8, ptr %64, i64 8 - %71 = load i64, ptr %70, align 8, !noalias !1576, !noundef !4 + %71 = load i64, ptr %70, align 8, !noalias !1582, !noundef !4 %72 = add i64 %71, -1 - store i64 %72, ptr %70, align 8, !noalias !1576 + store i64 %72, ptr %70, align 8, !noalias !1582 %73 = icmp eq i64 %72, 0 br i1 %73, label %74, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit5" 74: ; preds = %68 - call void @__rust_dealloc(ptr noundef nonnull %64, i64 noundef 136, i64 noundef 8) #16, !noalias !1576 + call void @__rust_dealloc(ptr noundef nonnull %64, i64 noundef 136, i64 noundef 8) #16, !noalias !1582 br label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit5" "_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit5": ; preds = %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit4", %68, %74 @@ -22817,27 +22897,27 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle ] 24: ; preds = %22, %19 - call void @llvm.experimental.noalias.scope.decl(metadata !1577) - call void @llvm.experimental.noalias.scope.decl(metadata !1580) - %25 = load ptr, ptr %2, align 8, !alias.scope !1583, !nonnull !4, !noundef !4 - %26 = load i64, ptr %25, align 8, !noalias !1583, !noundef !4 + call void @llvm.experimental.noalias.scope.decl(metadata !1583) + call void @llvm.experimental.noalias.scope.decl(metadata !1586) + %25 = load ptr, ptr %2, align 8, !alias.scope !1589, !nonnull !4, !noundef !4 + %26 = load i64, ptr %25, align 8, !noalias !1589, !noundef !4 %27 = add i64 %26, -1 - store i64 %27, ptr %25, align 8, !noalias !1583 + store i64 %27, ptr %25, align 8, !noalias !1589 %28 = icmp eq i64 %27, 0 br i1 %28, label %29, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit" 29: ; preds = %24 %30 = getelementptr inbounds nuw i8, ptr %25, i64 16 - call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17hed3cc8b884d652aeE.llvm.5005022800651993668"(ptr noalias noundef nonnull align 8 dereferenceable(120) %30), !noalias !1583 + call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17hed3cc8b884d652aeE.llvm.5005022800651993668"(ptr noalias noundef nonnull align 8 dereferenceable(120) %30), !noalias !1589 %31 = getelementptr inbounds nuw i8, ptr %25, i64 8 - %32 = load i64, ptr %31, align 8, !noalias !1583, !noundef !4 + %32 = load i64, ptr %31, align 8, !noalias !1589, !noundef !4 %33 = add i64 %32, -1 - store i64 %33, ptr %31, align 8, !noalias !1583 + store i64 %33, ptr %31, align 8, !noalias !1589 %34 = icmp eq i64 %33, 0 br i1 %34, label %35, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit" 35: ; preds = %29 - call void @__rust_dealloc(ptr noundef nonnull %25, i64 noundef 136, i64 noundef 8) #16, !noalias !1583 + call void @__rust_dealloc(ptr noundef nonnull %25, i64 noundef 136, i64 noundef 8) #16, !noalias !1589 br label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit" "_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit": ; preds = %24, %29, %35 @@ -22847,27 +22927,27 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle br i1 %37, label %.loopexit, label %8 _ZN4core3ops8function2Fn4call17h91a449b7d656fea5E.exit: ; preds = %22, %22, %22, %22, %22, %22 - call void @llvm.experimental.noalias.scope.decl(metadata !1584) - call void @llvm.experimental.noalias.scope.decl(metadata !1587) - %38 = load ptr, ptr %2, align 8, !alias.scope !1590, !nonnull !4, !noundef !4 - %39 = load i64, ptr %38, align 8, !noalias !1590, !noundef !4 + call void @llvm.experimental.noalias.scope.decl(metadata !1590) + call void @llvm.experimental.noalias.scope.decl(metadata !1593) + %38 = load ptr, ptr %2, align 8, !alias.scope !1596, !nonnull !4, !noundef !4 + %39 = load i64, ptr %38, align 8, !noalias !1596, !noundef !4 %40 = add i64 %39, -1 - store i64 %40, ptr %38, align 8, !noalias !1590 + store i64 %40, ptr %38, align 8, !noalias !1596 %41 = icmp eq i64 %40, 0 br i1 %41, label %42, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit7" 42: ; preds = %_ZN4core3ops8function2Fn4call17h91a449b7d656fea5E.exit %43 = getelementptr inbounds nuw i8, ptr %38, i64 16 - call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17hed3cc8b884d652aeE.llvm.5005022800651993668"(ptr noalias noundef nonnull align 8 dereferenceable(120) %43), !noalias !1590 + call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17hed3cc8b884d652aeE.llvm.5005022800651993668"(ptr noalias noundef nonnull align 8 dereferenceable(120) %43), !noalias !1596 %44 = getelementptr inbounds nuw i8, ptr %38, i64 8 - %45 = load i64, ptr %44, align 8, !noalias !1590, !noundef !4 + %45 = load i64, ptr %44, align 8, !noalias !1596, !noundef !4 %46 = add i64 %45, -1 - store i64 %46, ptr %44, align 8, !noalias !1590 + store i64 %46, ptr %44, align 8, !noalias !1596 %47 = icmp eq i64 %46, 0 br i1 %47, label %48, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit7" 48: ; preds = %42 - call void @__rust_dealloc(ptr noundef nonnull %38, i64 noundef 136, i64 noundef 8) #16, !noalias !1590 + call void @__rust_dealloc(ptr noundef nonnull %38, i64 noundef 136, i64 noundef 8) #16, !noalias !1596 br label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit7" "_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E.exit7": ; preds = %_ZN4core3ops8function2Fn4call17h91a449b7d656fea5E.exit, %42, %48 @@ -23681,55 +23761,55 @@ attributes #18 = { noreturn } !519 = !{!520} !520 = distinct !{!520, !521, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17h8e6b8119347e1c1eE: argument 0"} !521 = distinct !{!521, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17h8e6b8119347e1c1eE"} -!522 = !{!523, !525} -!523 = distinct !{!523, !524, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} -!524 = distinct !{!524, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} -!525 = distinct !{!525, !526, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} -!526 = distinct !{!526, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} -!527 = !{!528, !530} -!528 = distinct !{!528, !529, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} -!529 = distinct !{!529, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} -!530 = distinct !{!530, !531, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} -!531 = distinct !{!531, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} -!532 = !{!533} -!533 = distinct !{!533, !534, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$20insert_appropriately17hca73dfcef86f1f83E: argument 1"} -!534 = distinct !{!534, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$20insert_appropriately17hca73dfcef86f1f83E"} -!535 = !{!536, !533} -!536 = distinct !{!536, !534, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$20insert_appropriately17hca73dfcef86f1f83E: argument 0"} -!537 = !{!536} -!538 = !{!539, !541, !542, !544} -!539 = distinct !{!539, !540, !"_ZN5alloc3fmt6format28_$u7b$$u7b$closure$u7d$$u7d$17hce9d43525ad966e7E: argument 0"} -!540 = distinct !{!540, !"_ZN5alloc3fmt6format28_$u7b$$u7b$closure$u7d$$u7d$17hce9d43525ad966e7E"} -!541 = distinct !{!541, !540, !"_ZN5alloc3fmt6format28_$u7b$$u7b$closure$u7d$$u7d$17hce9d43525ad966e7E: argument 1"} -!542 = distinct !{!542, !543, !"_ZN4core6option15Option$LT$T$GT$11map_or_else17h9fab2ecdf6cdaddcE: argument 0"} -!543 = distinct !{!543, !"_ZN4core6option15Option$LT$T$GT$11map_or_else17h9fab2ecdf6cdaddcE"} -!544 = distinct !{!544, !543, !"_ZN4core6option15Option$LT$T$GT$11map_or_else17h9fab2ecdf6cdaddcE: argument 1"} -!545 = !{!539, !542} -!546 = !{!547} -!547 = distinct !{!547, !548, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$9pop_until17hcdf1e79a0c562d17E: argument 0"} -!548 = distinct !{!548, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$9pop_until17hcdf1e79a0c562d17E"} -!549 = !{!550} -!550 = distinct !{!550, !551, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} -!551 = distinct !{!551, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} -!552 = !{!553} -!553 = distinct !{!553, !554, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} -!554 = distinct !{!554, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} -!555 = !{!553, !550} -!556 = !{!557} -!557 = distinct !{!557, !558, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} -!558 = distinct !{!558, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} -!559 = !{!560} -!560 = distinct !{!560, !561, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} -!561 = distinct !{!561, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} -!562 = !{!560, !557} -!563 = !{!564} -!564 = distinct !{!564, !565, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17hd24e937828370c5dE: argument 0"} -!565 = distinct !{!565, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17hd24e937828370c5dE"} -!566 = !{!567, !568} -!567 = distinct !{!567, !565, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17hd24e937828370c5dE: argument 1"} -!568 = distinct !{!568, !565, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17hd24e937828370c5dE: argument 2"} -!569 = !{!568} -!570 = !{!564, !567, !568} +!522 = !{!523} +!523 = distinct !{!523, !524, !"_ZN102_$LT$$RF$mut$u20$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..collect..IntoIterator$GT$9into_iter17h207cc085f3d55ee2E: argument 0"} +!524 = distinct !{!524, !"_ZN102_$LT$$RF$mut$u20$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..collect..IntoIterator$GT$9into_iter17h207cc085f3d55ee2E"} +!525 = !{!526} +!526 = distinct !{!526, !527, !"_ZN102_$LT$$RF$mut$u20$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..collect..IntoIterator$GT$9into_iter17h207cc085f3d55ee2E: argument 0"} +!527 = distinct !{!527, !"_ZN102_$LT$$RF$mut$u20$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..collect..IntoIterator$GT$9into_iter17h207cc085f3d55ee2E"} +!528 = !{!529} +!529 = distinct !{!529, !530, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$24adjust_mathml_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h7d3c76871bd54afaE: argument 0"} +!530 = distinct !{!530, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$24adjust_mathml_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h7d3c76871bd54afaE"} +!531 = !{!532, !529} +!532 = distinct !{!532, !533, !"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E: argument 0"} +!533 = distinct !{!533, !"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E"} +!534 = !{!535} +!535 = distinct !{!535, !536, !"_ZN102_$LT$$RF$mut$u20$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..collect..IntoIterator$GT$9into_iter17h207cc085f3d55ee2E: argument 0"} +!536 = distinct !{!536, !"_ZN102_$LT$$RF$mut$u20$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..collect..IntoIterator$GT$9into_iter17h207cc085f3d55ee2E"} +!537 = !{!538, !540} +!538 = distinct !{!538, !539, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} +!539 = distinct !{!539, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} +!540 = distinct !{!540, !541, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} +!541 = distinct !{!541, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} +!542 = !{!543, !545} +!543 = distinct !{!543, !544, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} +!544 = distinct !{!544, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} +!545 = distinct !{!545, !546, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} +!546 = distinct !{!546, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} +!547 = !{!548} +!548 = distinct !{!548, !549, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$20insert_appropriately17hca73dfcef86f1f83E: argument 1"} +!549 = distinct !{!549, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$20insert_appropriately17hca73dfcef86f1f83E"} +!550 = !{!551, !548} +!551 = distinct !{!551, !549, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$20insert_appropriately17hca73dfcef86f1f83E: argument 0"} +!552 = !{!551} +!553 = !{!554, !556, !557, !559} +!554 = distinct !{!554, !555, !"_ZN5alloc3fmt6format28_$u7b$$u7b$closure$u7d$$u7d$17hce9d43525ad966e7E: argument 0"} +!555 = distinct !{!555, !"_ZN5alloc3fmt6format28_$u7b$$u7b$closure$u7d$$u7d$17hce9d43525ad966e7E"} +!556 = distinct !{!556, !555, !"_ZN5alloc3fmt6format28_$u7b$$u7b$closure$u7d$$u7d$17hce9d43525ad966e7E: argument 1"} +!557 = distinct !{!557, !558, !"_ZN4core6option15Option$LT$T$GT$11map_or_else17h9fab2ecdf6cdaddcE: argument 0"} +!558 = distinct !{!558, !"_ZN4core6option15Option$LT$T$GT$11map_or_else17h9fab2ecdf6cdaddcE"} +!559 = distinct !{!559, !558, !"_ZN4core6option15Option$LT$T$GT$11map_or_else17h9fab2ecdf6cdaddcE: argument 1"} +!560 = !{!554, !557} +!561 = !{!562} +!562 = distinct !{!562, !563, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$9pop_until17hcdf1e79a0c562d17E: argument 0"} +!563 = distinct !{!563, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$9pop_until17hcdf1e79a0c562d17E"} +!564 = !{!565} +!565 = distinct !{!565, !566, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} +!566 = distinct !{!566, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} +!567 = !{!568} +!568 = distinct !{!568, !569, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} +!569 = distinct !{!569, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} +!570 = !{!568, !565} !571 = !{!572} !572 = distinct !{!572, !573, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} !573 = distinct !{!573, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} @@ -23737,948 +23817,948 @@ attributes #18 = { noreturn } !575 = distinct !{!575, !576, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} !576 = distinct !{!576, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} !577 = !{!575, !572} -!578 = !{!575, !572, !568} -!579 = !{!580} -!580 = distinct !{!580, !581, !"_ZN9html5ever12tree_builder8tag_sets13default_scope17ha11ea3e90aa1c6a2E: argument 0"} -!581 = distinct !{!581, !"_ZN9html5ever12tree_builder8tag_sets13default_scope17ha11ea3e90aa1c6a2E"} -!582 = !{!583} -!583 = distinct !{!583, !581, !"_ZN9html5ever12tree_builder8tag_sets13default_scope17ha11ea3e90aa1c6a2E: argument 1"} -!584 = !{!585} -!585 = distinct !{!585, !586, !"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E: argument 0"} -!586 = distinct !{!586, !"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E"} -!587 = !{!588} -!588 = distinct !{!588, !589, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17hacc2b17bba5c3022E: argument 0"} -!589 = distinct !{!589, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17hacc2b17bba5c3022E"} -!590 = !{!591, !592} -!591 = distinct !{!591, !589, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17hacc2b17bba5c3022E: argument 1"} -!592 = distinct !{!592, !589, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17hacc2b17bba5c3022E: argument 2"} -!593 = !{!592} -!594 = !{!588, !591, !592} -!595 = !{!596} -!596 = distinct !{!596, !597, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} -!597 = distinct !{!597, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} -!598 = !{!599} -!599 = distinct !{!599, !600, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} -!600 = distinct !{!600, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} -!601 = !{!599, !596} -!602 = !{!599, !596, !592} -!603 = !{!604} -!604 = distinct !{!604, !605, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17h7e05387436977f0dE: argument 0"} -!605 = distinct !{!605, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17h7e05387436977f0dE"} -!606 = !{!607, !608} -!607 = distinct !{!607, !605, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17h7e05387436977f0dE: argument 1"} -!608 = distinct !{!608, !605, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17h7e05387436977f0dE: argument 2"} -!609 = !{!608} -!610 = !{!604, !607, !608} -!611 = !{!612} -!612 = distinct !{!612, !613, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} -!613 = distinct !{!613, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} -!614 = !{!615} -!615 = distinct !{!615, !616, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} -!616 = distinct !{!616, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} -!617 = !{!615, !612} -!618 = !{!615, !612, !608} -!619 = !{!620} -!620 = distinct !{!620, !621, !"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E: argument 0"} -!621 = distinct !{!621, !"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E"} -!622 = !{!623} -!623 = distinct !{!623, !624, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17h5b1166d28af29ec6E: argument 0"} -!624 = distinct !{!624, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17h5b1166d28af29ec6E"} -!625 = !{!626, !627} -!626 = distinct !{!626, !624, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17h5b1166d28af29ec6E: argument 1"} -!627 = distinct !{!627, !624, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17h5b1166d28af29ec6E: argument 2"} -!628 = !{!627} -!629 = !{!623, !626, !627} -!630 = !{!631} -!631 = distinct !{!631, !632, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} -!632 = distinct !{!632, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} -!633 = !{!634} -!634 = distinct !{!634, !635, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} -!635 = distinct !{!635, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} -!636 = !{!634, !631} -!637 = !{!634, !631, !627} -!638 = !{!639} -!639 = distinct !{!639, !640, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17h6931a6e9c029e621E: argument 0"} -!640 = distinct !{!640, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17h6931a6e9c029e621E"} -!641 = !{!642, !643} -!642 = distinct !{!642, !640, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17h6931a6e9c029e621E: argument 1"} -!643 = distinct !{!643, !640, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17h6931a6e9c029e621E: argument 2"} -!644 = !{!643} -!645 = !{!639, !642, !643} -!646 = !{!647} -!647 = distinct !{!647, !648, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} -!648 = distinct !{!648, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} -!649 = !{!650} -!650 = distinct !{!650, !651, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} -!651 = distinct !{!651, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} -!652 = !{!650, !647} -!653 = !{!650, !647, !643} -!654 = !{!655} -!655 = distinct !{!655, !656, !"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E: argument 0"} -!656 = distinct !{!656, !"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E"} -!657 = !{!658} -!658 = distinct !{!658, !659, !"_ZN71_$LT$markup5ever..interface..QualName$u20$as$u20$core..clone..Clone$GT$5clone17hb395754ec6620eebE: argument 0"} -!659 = distinct !{!659, !"_ZN71_$LT$markup5ever..interface..QualName$u20$as$u20$core..clone..Clone$GT$5clone17hb395754ec6620eebE"} -!660 = !{!661} -!661 = distinct !{!661, !659, !"_ZN71_$LT$markup5ever..interface..QualName$u20$as$u20$core..clone..Clone$GT$5clone17hb395754ec6620eebE: argument 1"} -!662 = !{!658, !661} -!663 = !{!664} -!664 = distinct !{!664, !665, !"_ZN67_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hd7f602d787034465E: argument 1"} -!665 = distinct !{!665, !"_ZN67_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hd7f602d787034465E"} -!666 = !{!667} -!667 = distinct !{!667, !665, !"_ZN67_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hd7f602d787034465E: argument 0"} -!668 = !{!669} -!669 = distinct !{!669, !670, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$18in_html_elem_named17hcb1e6bbd6a7c7669E: argument 0"} -!670 = distinct !{!670, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$18in_html_elem_named17hcb1e6bbd6a7c7669E"} -!671 = !{!672} -!672 = distinct !{!672, !673, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3any17h4854f4336bc64f13E: argument 0"} -!673 = distinct !{!673, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3any17h4854f4336bc64f13E"} -!674 = !{!675, !677} -!675 = distinct !{!675, !676, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} -!676 = distinct !{!676, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} -!677 = distinct !{!677, !678, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} -!678 = distinct !{!678, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} -!679 = !{!680, !682} -!680 = distinct !{!680, !681, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} -!681 = distinct !{!681, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} -!682 = distinct !{!682, !683, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} -!683 = distinct !{!683, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} -!684 = !{!685} -!685 = distinct !{!685, !686, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17h8e6b8119347e1c1eE: argument 0"} -!686 = distinct !{!686, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17h8e6b8119347e1c1eE"} -!687 = !{!688} -!688 = distinct !{!688, !689, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} -!689 = distinct !{!689, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} -!690 = !{!691} -!691 = distinct !{!691, !692, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} -!692 = distinct !{!692, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} -!693 = !{!691, !688} -!694 = !{!695} -!695 = distinct !{!695, !696, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4find17hdc97de088082a6aeE: argument 0"} -!696 = distinct !{!696, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4find17hdc97de088082a6aeE"} -!697 = !{!698} -!698 = distinct !{!698, !699, !"_ZN7tendril7tendril20Tendril$LT$F$C$A$GT$10assume_buf17h6fced12bcf0adea5E: argument 0"} -!699 = distinct !{!699, !"_ZN7tendril7tendril20Tendril$LT$F$C$A$GT$10assume_buf17h6fced12bcf0adea5E"} -!700 = !{!701, !703, !704, !705} -!701 = distinct !{!701, !702, !"_ZN4core4iter8adapters3zip3zip17he690e2e22341f361E: argument 0"} -!702 = distinct !{!702, !"_ZN4core4iter8adapters3zip3zip17he690e2e22341f361E"} -!703 = distinct !{!703, !702, !"_ZN4core4iter8adapters3zip3zip17he690e2e22341f361E: argument 1"} -!704 = distinct !{!704, !702, !"_ZN4core4iter8adapters3zip3zip17he690e2e22341f361E: argument 2"} -!705 = distinct !{!705, !706, !"_ZN4core5slice5ascii30_$LT$impl$u20$$u5b$u8$u5d$$GT$20eq_ignore_ascii_case17h3051414c5fb1eb32E: argument 0"} -!706 = distinct !{!706, !"_ZN4core5slice5ascii30_$LT$impl$u20$$u5b$u8$u5d$$GT$20eq_ignore_ascii_case17h3051414c5fb1eb32E"} -!707 = !{!708, !701, !703, !704, !705} -!708 = distinct !{!708, !709, !"_ZN111_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..adapters..zip..ZipImpl$LT$A$C$B$GT$$GT$3new17hde1a3b3d586ea1c9E.llvm.13937131299884592799: argument 0"} -!709 = distinct !{!709, !"_ZN111_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..adapters..zip..ZipImpl$LT$A$C$B$GT$$GT$3new17hde1a3b3d586ea1c9E.llvm.13937131299884592799"} -!710 = !{!711, !708, !701, !703, !704, !705} -!711 = distinct !{!711, !712, !"_ZN4core4iter8adapters3zip27TrustedRandomAccessNoCoerce4size17h976aa6aa1ca166f4E: argument 0"} -!712 = distinct !{!712, !"_ZN4core4iter8adapters3zip27TrustedRandomAccessNoCoerce4size17h976aa6aa1ca166f4E"} -!713 = !{!708, !701} -!714 = !{!715, !708, !701, !703, !704, !705} -!715 = distinct !{!715, !716, !"_ZN4core4iter8adapters3zip27TrustedRandomAccessNoCoerce4size17h976aa6aa1ca166f4E: argument 0"} -!716 = distinct !{!716, !"_ZN4core4iter8adapters3zip27TrustedRandomAccessNoCoerce4size17h976aa6aa1ca166f4E"} -!717 = !{!718} -!718 = distinct !{!718, !719, !"_ZN4core4iter6traits8iterator8Iterator8try_fold17h7030095cb4d9aef2E: argument 0"} -!719 = distinct !{!719, !"_ZN4core4iter6traits8iterator8Iterator8try_fold17h7030095cb4d9aef2E"} -!720 = !{!721, !723} -!721 = distinct !{!721, !722, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} -!722 = distinct !{!722, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} -!723 = distinct !{!723, !724, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} -!724 = distinct !{!724, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} -!725 = !{!726} -!726 = distinct !{!726, !727, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$18current_node_named17hdbaec90ae6563dabE: argument 0"} -!727 = distinct !{!727, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$18current_node_named17hdbaec90ae6563dabE"} -!728 = !{!729} -!729 = distinct !{!729, !730, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8position17h6515c8b587ef83a7E: argument 1"} -!730 = distinct !{!730, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8position17h6515c8b587ef83a7E"} -!731 = !{!732} -!732 = distinct !{!732, !733, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$3pop17hd31d27c8f210272eE: argument 0"} -!733 = distinct !{!733, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$3pop17hd31d27c8f210272eE"} -!734 = !{!735} -!735 = distinct !{!735, !730, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8position17h6515c8b587ef83a7E: argument 0"} -!736 = !{!735, !729} -!737 = !{!738} -!738 = distinct !{!738, !739, !"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E: argument 0"} -!739 = distinct !{!739, !"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E"} -!740 = !{!741, !743, !744, !746, !747} -!741 = distinct !{!741, !742, !"_ZN118_$LT$html5ever..tree_builder..ActiveFormattingIter$LT$Handle$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h9ab18e0544eaa11fE: argument 0"} -!742 = distinct !{!742, !"_ZN118_$LT$html5ever..tree_builder..ActiveFormattingIter$LT$Handle$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h9ab18e0544eaa11fE"} -!743 = distinct !{!743, !742, !"_ZN118_$LT$html5ever..tree_builder..ActiveFormattingIter$LT$Handle$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h9ab18e0544eaa11fE: argument 1"} -!744 = distinct !{!744, !745, !"_ZN4core4iter6traits8iterator8Iterator8try_fold17h6c0e8307a526c7e6E: argument 0"} -!745 = distinct !{!745, !"_ZN4core4iter6traits8iterator8Iterator8try_fold17h6c0e8307a526c7e6E"} -!746 = distinct !{!746, !745, !"_ZN4core4iter6traits8iterator8Iterator8try_fold17h6c0e8307a526c7e6E: argument 1"} -!747 = distinct !{!747, !745, !"_ZN4core4iter6traits8iterator8Iterator8try_fold17h6c0e8307a526c7e6E: argument 2"} -!748 = !{!749, !751, !744, !746, !747} -!749 = distinct !{!749, !750, !"_ZN4core4iter6traits8iterator8Iterator4find5check28_$u7b$$u7b$closure$u7d$$u7d$17h4f6d4930c4f25ee9E: argument 0"} -!750 = distinct !{!750, !"_ZN4core4iter6traits8iterator8Iterator4find5check28_$u7b$$u7b$closure$u7d$$u7d$17h4f6d4930c4f25ee9E"} -!751 = distinct !{!751, !750, !"_ZN4core4iter6traits8iterator8Iterator4find5check28_$u7b$$u7b$closure$u7d$$u7d$17h4f6d4930c4f25ee9E: argument 1"} -!752 = !{!753, !755} -!753 = distinct !{!753, !754, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15adoption_agency28_$u7b$$u7b$closure$u7d$$u7d$17h85c5ecb0c69ea1f7E: argument 0"} -!754 = distinct !{!754, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15adoption_agency28_$u7b$$u7b$closure$u7d$$u7d$17h85c5ecb0c69ea1f7E"} -!755 = distinct !{!755, !754, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15adoption_agency28_$u7b$$u7b$closure$u7d$$u7d$17h85c5ecb0c69ea1f7E: argument 1"} -!756 = !{!757} -!757 = distinct !{!757, !758, !"_ZN75_$LT$html5ever..tokenizer..interface..Tag$u20$as$u20$core..clone..Clone$GT$5clone17h8cc0abc4a6adbb98E: argument 1"} -!758 = distinct !{!758, !"_ZN75_$LT$html5ever..tokenizer..interface..Tag$u20$as$u20$core..clone..Clone$GT$5clone17h8cc0abc4a6adbb98E"} -!759 = !{!760, !753, !755} -!760 = distinct !{!760, !758, !"_ZN75_$LT$html5ever..tokenizer..interface..Tag$u20$as$u20$core..clone..Clone$GT$5clone17h8cc0abc4a6adbb98E: argument 0"} -!761 = !{!760, !757, !753, !755} -!762 = !{!763, !757} -!763 = distinct !{!763, !764, !"_ZN67_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hd7f602d787034465E: argument 1"} -!764 = distinct !{!764, !"_ZN67_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hd7f602d787034465E"} -!765 = !{!766, !760, !753, !755} -!766 = distinct !{!766, !764, !"_ZN67_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hd7f602d787034465E: argument 0"} -!767 = !{!755} -!768 = !{!769, !771} -!769 = distinct !{!769, !770, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$9rposition17h4c3364c18e4ec6adE: argument 0"} -!770 = distinct !{!770, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$9rposition17h4c3364c18e4ec6adE"} -!771 = distinct !{!771, !770, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$9rposition17h4c3364c18e4ec6adE: argument 1"} -!772 = !{!773} -!773 = distinct !{!773, !774, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17h31fb7d664841710cE: argument 1"} -!774 = distinct !{!774, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17h31fb7d664841710cE"} -!775 = !{!776} -!776 = distinct !{!776, !777, !"_ZN9html5ever12tree_builder8tag_sets13default_scope17ha11ea3e90aa1c6a2E: argument 0"} -!777 = distinct !{!777, !"_ZN9html5ever12tree_builder8tag_sets13default_scope17ha11ea3e90aa1c6a2E"} -!778 = !{!779} -!779 = distinct !{!779, !777, !"_ZN9html5ever12tree_builder8tag_sets13default_scope17ha11ea3e90aa1c6a2E: argument 1"} -!780 = !{!781} -!781 = distinct !{!781, !782, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17hf5a5a14083491d52E: argument 1"} -!782 = distinct !{!782, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17hf5a5a14083491d52E"} -!783 = !{!784, !785} -!784 = distinct !{!784, !782, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17hf5a5a14083491d52E: argument 0"} -!785 = distinct !{!785, !782, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17hf5a5a14083491d52E: argument 2"} -!786 = !{!781, !785} -!787 = !{!784, !781, !785} -!788 = !{!789} -!789 = distinct !{!789, !790, !"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17h55dea538c53e7d70E: argument 0"} -!790 = distinct !{!790, !"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17h55dea538c53e7d70E"} -!791 = !{!792} -!792 = distinct !{!792, !793, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} -!793 = distinct !{!793, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} -!794 = !{!795} -!795 = distinct !{!795, !796, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} -!796 = distinct !{!796, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} -!797 = !{!795, !792, !789} -!798 = !{!799} -!799 = distinct !{!799, !800, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$8truncate17h1d961b6b829894abE: argument 0"} -!800 = distinct !{!800, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$8truncate17h1d961b6b829894abE"} -!801 = !{!802} -!802 = distinct !{!802, !803, !"_ZN4core3ptr75drop_in_place$LT$$u5b$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$u5d$$GT$17h260d7135d5ee6716E.llvm.204215390286363894: argument 0"} -!803 = distinct !{!803, !"_ZN4core3ptr75drop_in_place$LT$$u5b$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$u5d$$GT$17h260d7135d5ee6716E.llvm.204215390286363894"} -!804 = !{!805} -!805 = distinct !{!805, !806, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} -!806 = distinct !{!806, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} -!807 = !{!808} -!808 = distinct !{!808, !809, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} -!809 = distinct !{!809, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} -!810 = !{!808, !805, !802} -!811 = !{!808, !805, !802, !799} -!812 = !{!802, !799} +!578 = !{!579} +!579 = distinct !{!579, !580, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17hd24e937828370c5dE: argument 0"} +!580 = distinct !{!580, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17hd24e937828370c5dE"} +!581 = !{!582, !583} +!582 = distinct !{!582, !580, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17hd24e937828370c5dE: argument 1"} +!583 = distinct !{!583, !580, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17hd24e937828370c5dE: argument 2"} +!584 = !{!583} +!585 = !{!579, !582, !583} +!586 = !{!587} +!587 = distinct !{!587, !588, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} +!588 = distinct !{!588, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} +!589 = !{!590} +!590 = distinct !{!590, !591, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} +!591 = distinct !{!591, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} +!592 = !{!590, !587} +!593 = !{!590, !587, !583} +!594 = !{!595} +!595 = distinct !{!595, !596, !"_ZN9html5ever12tree_builder8tag_sets13default_scope17ha11ea3e90aa1c6a2E: argument 0"} +!596 = distinct !{!596, !"_ZN9html5ever12tree_builder8tag_sets13default_scope17ha11ea3e90aa1c6a2E"} +!597 = !{!598} +!598 = distinct !{!598, !596, !"_ZN9html5ever12tree_builder8tag_sets13default_scope17ha11ea3e90aa1c6a2E: argument 1"} +!599 = !{!600} +!600 = distinct !{!600, !601, !"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E: argument 0"} +!601 = distinct !{!601, !"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E"} +!602 = !{!603} +!603 = distinct !{!603, !604, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17hacc2b17bba5c3022E: argument 0"} +!604 = distinct !{!604, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17hacc2b17bba5c3022E"} +!605 = !{!606, !607} +!606 = distinct !{!606, !604, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17hacc2b17bba5c3022E: argument 1"} +!607 = distinct !{!607, !604, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17hacc2b17bba5c3022E: argument 2"} +!608 = !{!607} +!609 = !{!603, !606, !607} +!610 = !{!611} +!611 = distinct !{!611, !612, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} +!612 = distinct !{!612, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} +!613 = !{!614} +!614 = distinct !{!614, !615, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} +!615 = distinct !{!615, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} +!616 = !{!614, !611} +!617 = !{!614, !611, !607} +!618 = !{!619} +!619 = distinct !{!619, !620, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17h7e05387436977f0dE: argument 0"} +!620 = distinct !{!620, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17h7e05387436977f0dE"} +!621 = !{!622, !623} +!622 = distinct !{!622, !620, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17h7e05387436977f0dE: argument 1"} +!623 = distinct !{!623, !620, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17h7e05387436977f0dE: argument 2"} +!624 = !{!623} +!625 = !{!619, !622, !623} +!626 = !{!627} +!627 = distinct !{!627, !628, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} +!628 = distinct !{!628, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} +!629 = !{!630} +!630 = distinct !{!630, !631, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} +!631 = distinct !{!631, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} +!632 = !{!630, !627} +!633 = !{!630, !627, !623} +!634 = !{!635} +!635 = distinct !{!635, !636, !"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E: argument 0"} +!636 = distinct !{!636, !"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E"} +!637 = !{!638} +!638 = distinct !{!638, !639, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17h5b1166d28af29ec6E: argument 0"} +!639 = distinct !{!639, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17h5b1166d28af29ec6E"} +!640 = !{!641, !642} +!641 = distinct !{!641, !639, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17h5b1166d28af29ec6E: argument 1"} +!642 = distinct !{!642, !639, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17h5b1166d28af29ec6E: argument 2"} +!643 = !{!642} +!644 = !{!638, !641, !642} +!645 = !{!646} +!646 = distinct !{!646, !647, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} +!647 = distinct !{!647, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} +!648 = !{!649} +!649 = distinct !{!649, !650, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} +!650 = distinct !{!650, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} +!651 = !{!649, !646} +!652 = !{!649, !646, !642} +!653 = !{!654} +!654 = distinct !{!654, !655, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17h6931a6e9c029e621E: argument 0"} +!655 = distinct !{!655, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17h6931a6e9c029e621E"} +!656 = !{!657, !658} +!657 = distinct !{!657, !655, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17h6931a6e9c029e621E: argument 1"} +!658 = distinct !{!658, !655, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17h6931a6e9c029e621E: argument 2"} +!659 = !{!658} +!660 = !{!654, !657, !658} +!661 = !{!662} +!662 = distinct !{!662, !663, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} +!663 = distinct !{!663, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} +!664 = !{!665} +!665 = distinct !{!665, !666, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} +!666 = distinct !{!666, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} +!667 = !{!665, !662} +!668 = !{!665, !662, !658} +!669 = !{!670} +!670 = distinct !{!670, !671, !"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E: argument 0"} +!671 = distinct !{!671, !"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E"} +!672 = !{!673} +!673 = distinct !{!673, !674, !"_ZN71_$LT$markup5ever..interface..QualName$u20$as$u20$core..clone..Clone$GT$5clone17hb395754ec6620eebE: argument 0"} +!674 = distinct !{!674, !"_ZN71_$LT$markup5ever..interface..QualName$u20$as$u20$core..clone..Clone$GT$5clone17hb395754ec6620eebE"} +!675 = !{!676} +!676 = distinct !{!676, !674, !"_ZN71_$LT$markup5ever..interface..QualName$u20$as$u20$core..clone..Clone$GT$5clone17hb395754ec6620eebE: argument 1"} +!677 = !{!673, !676} +!678 = !{!679} +!679 = distinct !{!679, !680, !"_ZN67_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hd7f602d787034465E: argument 1"} +!680 = distinct !{!680, !"_ZN67_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hd7f602d787034465E"} +!681 = !{!682} +!682 = distinct !{!682, !680, !"_ZN67_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hd7f602d787034465E: argument 0"} +!683 = !{!684} +!684 = distinct !{!684, !685, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$18in_html_elem_named17hcb1e6bbd6a7c7669E: argument 0"} +!685 = distinct !{!685, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$18in_html_elem_named17hcb1e6bbd6a7c7669E"} +!686 = !{!687} +!687 = distinct !{!687, !688, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3any17h4854f4336bc64f13E: argument 0"} +!688 = distinct !{!688, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3any17h4854f4336bc64f13E"} +!689 = !{!690, !692} +!690 = distinct !{!690, !691, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} +!691 = distinct !{!691, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} +!692 = distinct !{!692, !693, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} +!693 = distinct !{!693, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} +!694 = !{!695, !697} +!695 = distinct !{!695, !696, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} +!696 = distinct !{!696, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} +!697 = distinct !{!697, !698, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} +!698 = distinct !{!698, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} +!699 = !{!700} +!700 = distinct !{!700, !701, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17h8e6b8119347e1c1eE: argument 0"} +!701 = distinct !{!701, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17h8e6b8119347e1c1eE"} +!702 = !{!703} +!703 = distinct !{!703, !704, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} +!704 = distinct !{!704, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} +!705 = !{!706} +!706 = distinct !{!706, !707, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} +!707 = distinct !{!707, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} +!708 = !{!706, !703} +!709 = !{!710} +!710 = distinct !{!710, !711, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4find17hdc97de088082a6aeE: argument 0"} +!711 = distinct !{!711, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4find17hdc97de088082a6aeE"} +!712 = !{!713} +!713 = distinct !{!713, !714, !"_ZN7tendril7tendril20Tendril$LT$F$C$A$GT$10assume_buf17h6fced12bcf0adea5E: argument 0"} +!714 = distinct !{!714, !"_ZN7tendril7tendril20Tendril$LT$F$C$A$GT$10assume_buf17h6fced12bcf0adea5E"} +!715 = !{!716, !718, !719, !720} +!716 = distinct !{!716, !717, !"_ZN4core4iter8adapters3zip3zip17he690e2e22341f361E: argument 0"} +!717 = distinct !{!717, !"_ZN4core4iter8adapters3zip3zip17he690e2e22341f361E"} +!718 = distinct !{!718, !717, !"_ZN4core4iter8adapters3zip3zip17he690e2e22341f361E: argument 1"} +!719 = distinct !{!719, !717, !"_ZN4core4iter8adapters3zip3zip17he690e2e22341f361E: argument 2"} +!720 = distinct !{!720, !721, !"_ZN4core5slice5ascii30_$LT$impl$u20$$u5b$u8$u5d$$GT$20eq_ignore_ascii_case17h3051414c5fb1eb32E: argument 0"} +!721 = distinct !{!721, !"_ZN4core5slice5ascii30_$LT$impl$u20$$u5b$u8$u5d$$GT$20eq_ignore_ascii_case17h3051414c5fb1eb32E"} +!722 = !{!723, !716, !718, !719, !720} +!723 = distinct !{!723, !724, !"_ZN111_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..adapters..zip..ZipImpl$LT$A$C$B$GT$$GT$3new17hde1a3b3d586ea1c9E.llvm.13937131299884592799: argument 0"} +!724 = distinct !{!724, !"_ZN111_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..adapters..zip..ZipImpl$LT$A$C$B$GT$$GT$3new17hde1a3b3d586ea1c9E.llvm.13937131299884592799"} +!725 = !{!726, !723, !716, !718, !719, !720} +!726 = distinct !{!726, !727, !"_ZN4core4iter8adapters3zip27TrustedRandomAccessNoCoerce4size17h976aa6aa1ca166f4E: argument 0"} +!727 = distinct !{!727, !"_ZN4core4iter8adapters3zip27TrustedRandomAccessNoCoerce4size17h976aa6aa1ca166f4E"} +!728 = !{!723, !716} +!729 = !{!730, !723, !716, !718, !719, !720} +!730 = distinct !{!730, !731, !"_ZN4core4iter8adapters3zip27TrustedRandomAccessNoCoerce4size17h976aa6aa1ca166f4E: argument 0"} +!731 = distinct !{!731, !"_ZN4core4iter8adapters3zip27TrustedRandomAccessNoCoerce4size17h976aa6aa1ca166f4E"} +!732 = !{!733} +!733 = distinct !{!733, !734, !"_ZN4core4iter6traits8iterator8Iterator8try_fold17h7030095cb4d9aef2E: argument 0"} +!734 = distinct !{!734, !"_ZN4core4iter6traits8iterator8Iterator8try_fold17h7030095cb4d9aef2E"} +!735 = !{!736, !738} +!736 = distinct !{!736, !737, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} +!737 = distinct !{!737, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} +!738 = distinct !{!738, !739, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} +!739 = distinct !{!739, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} +!740 = !{!741} +!741 = distinct !{!741, !742, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$18current_node_named17hdbaec90ae6563dabE: argument 0"} +!742 = distinct !{!742, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$18current_node_named17hdbaec90ae6563dabE"} +!743 = !{!744} +!744 = distinct !{!744, !745, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8position17h6515c8b587ef83a7E: argument 1"} +!745 = distinct !{!745, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8position17h6515c8b587ef83a7E"} +!746 = !{!747} +!747 = distinct !{!747, !748, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$3pop17hd31d27c8f210272eE: argument 0"} +!748 = distinct !{!748, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$3pop17hd31d27c8f210272eE"} +!749 = !{!750} +!750 = distinct !{!750, !745, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8position17h6515c8b587ef83a7E: argument 0"} +!751 = !{!750, !744} +!752 = !{!753} +!753 = distinct !{!753, !754, !"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E: argument 0"} +!754 = distinct !{!754, !"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E"} +!755 = !{!756, !758, !759, !761, !762} +!756 = distinct !{!756, !757, !"_ZN118_$LT$html5ever..tree_builder..ActiveFormattingIter$LT$Handle$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h9ab18e0544eaa11fE: argument 0"} +!757 = distinct !{!757, !"_ZN118_$LT$html5ever..tree_builder..ActiveFormattingIter$LT$Handle$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h9ab18e0544eaa11fE"} +!758 = distinct !{!758, !757, !"_ZN118_$LT$html5ever..tree_builder..ActiveFormattingIter$LT$Handle$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h9ab18e0544eaa11fE: argument 1"} +!759 = distinct !{!759, !760, !"_ZN4core4iter6traits8iterator8Iterator8try_fold17h6c0e8307a526c7e6E: argument 0"} +!760 = distinct !{!760, !"_ZN4core4iter6traits8iterator8Iterator8try_fold17h6c0e8307a526c7e6E"} +!761 = distinct !{!761, !760, !"_ZN4core4iter6traits8iterator8Iterator8try_fold17h6c0e8307a526c7e6E: argument 1"} +!762 = distinct !{!762, !760, !"_ZN4core4iter6traits8iterator8Iterator8try_fold17h6c0e8307a526c7e6E: argument 2"} +!763 = !{!764, !766, !759, !761, !762} +!764 = distinct !{!764, !765, !"_ZN4core4iter6traits8iterator8Iterator4find5check28_$u7b$$u7b$closure$u7d$$u7d$17h4f6d4930c4f25ee9E: argument 0"} +!765 = distinct !{!765, !"_ZN4core4iter6traits8iterator8Iterator4find5check28_$u7b$$u7b$closure$u7d$$u7d$17h4f6d4930c4f25ee9E"} +!766 = distinct !{!766, !765, !"_ZN4core4iter6traits8iterator8Iterator4find5check28_$u7b$$u7b$closure$u7d$$u7d$17h4f6d4930c4f25ee9E: argument 1"} +!767 = !{!768, !770} +!768 = distinct !{!768, !769, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15adoption_agency28_$u7b$$u7b$closure$u7d$$u7d$17h85c5ecb0c69ea1f7E: argument 0"} +!769 = distinct !{!769, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15adoption_agency28_$u7b$$u7b$closure$u7d$$u7d$17h85c5ecb0c69ea1f7E"} +!770 = distinct !{!770, !769, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15adoption_agency28_$u7b$$u7b$closure$u7d$$u7d$17h85c5ecb0c69ea1f7E: argument 1"} +!771 = !{!772} +!772 = distinct !{!772, !773, !"_ZN75_$LT$html5ever..tokenizer..interface..Tag$u20$as$u20$core..clone..Clone$GT$5clone17h8cc0abc4a6adbb98E: argument 1"} +!773 = distinct !{!773, !"_ZN75_$LT$html5ever..tokenizer..interface..Tag$u20$as$u20$core..clone..Clone$GT$5clone17h8cc0abc4a6adbb98E"} +!774 = !{!775, !768, !770} +!775 = distinct !{!775, !773, !"_ZN75_$LT$html5ever..tokenizer..interface..Tag$u20$as$u20$core..clone..Clone$GT$5clone17h8cc0abc4a6adbb98E: argument 0"} +!776 = !{!775, !772, !768, !770} +!777 = !{!778, !772} +!778 = distinct !{!778, !779, !"_ZN67_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hd7f602d787034465E: argument 1"} +!779 = distinct !{!779, !"_ZN67_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hd7f602d787034465E"} +!780 = !{!781, !775, !768, !770} +!781 = distinct !{!781, !779, !"_ZN67_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hd7f602d787034465E: argument 0"} +!782 = !{!770} +!783 = !{!784, !786} +!784 = distinct !{!784, !785, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$9rposition17h4c3364c18e4ec6adE: argument 0"} +!785 = distinct !{!785, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$9rposition17h4c3364c18e4ec6adE"} +!786 = distinct !{!786, !785, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$9rposition17h4c3364c18e4ec6adE: argument 1"} +!787 = !{!788} +!788 = distinct !{!788, !789, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17h31fb7d664841710cE: argument 1"} +!789 = distinct !{!789, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17h31fb7d664841710cE"} +!790 = !{!791} +!791 = distinct !{!791, !792, !"_ZN9html5ever12tree_builder8tag_sets13default_scope17ha11ea3e90aa1c6a2E: argument 0"} +!792 = distinct !{!792, !"_ZN9html5ever12tree_builder8tag_sets13default_scope17ha11ea3e90aa1c6a2E"} +!793 = !{!794} +!794 = distinct !{!794, !792, !"_ZN9html5ever12tree_builder8tag_sets13default_scope17ha11ea3e90aa1c6a2E: argument 1"} +!795 = !{!796} +!796 = distinct !{!796, !797, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17hf5a5a14083491d52E: argument 1"} +!797 = distinct !{!797, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17hf5a5a14083491d52E"} +!798 = !{!799, !800} +!799 = distinct !{!799, !797, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17hf5a5a14083491d52E: argument 0"} +!800 = distinct !{!800, !797, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17hf5a5a14083491d52E: argument 2"} +!801 = !{!796, !800} +!802 = !{!799, !796, !800} +!803 = !{!804} +!804 = distinct !{!804, !805, !"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17h55dea538c53e7d70E: argument 0"} +!805 = distinct !{!805, !"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17h55dea538c53e7d70E"} +!806 = !{!807} +!807 = distinct !{!807, !808, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} +!808 = distinct !{!808, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} +!809 = !{!810} +!810 = distinct !{!810, !811, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} +!811 = distinct !{!811, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} +!812 = !{!810, !807, !804} !813 = !{!814} -!814 = distinct !{!814, !815, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17hf5a5a14083491d52E: argument 1"} -!815 = distinct !{!815, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17hf5a5a14083491d52E"} -!816 = !{!817, !818} -!817 = distinct !{!817, !815, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17hf5a5a14083491d52E: argument 0"} -!818 = distinct !{!818, !815, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17hf5a5a14083491d52E: argument 2"} -!819 = !{!814, !818} -!820 = !{!817, !814, !818} -!821 = !{!822} -!822 = distinct !{!822, !823, !"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17h55dea538c53e7d70E: argument 0"} -!823 = distinct !{!823, !"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17h55dea538c53e7d70E"} -!824 = !{!825} -!825 = distinct !{!825, !826, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} -!826 = distinct !{!826, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} -!827 = !{!828} -!828 = distinct !{!828, !829, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} -!829 = distinct !{!829, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} -!830 = !{!828, !825, !822} -!831 = !{!832, !834} -!832 = distinct !{!832, !833, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} -!833 = distinct !{!833, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} -!834 = distinct !{!834, !835, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} -!835 = distinct !{!835, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} +!814 = distinct !{!814, !815, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$8truncate17h1d961b6b829894abE: argument 0"} +!815 = distinct !{!815, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$8truncate17h1d961b6b829894abE"} +!816 = !{!817} +!817 = distinct !{!817, !818, !"_ZN4core3ptr75drop_in_place$LT$$u5b$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$u5d$$GT$17h260d7135d5ee6716E.llvm.204215390286363894: argument 0"} +!818 = distinct !{!818, !"_ZN4core3ptr75drop_in_place$LT$$u5b$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$u5d$$GT$17h260d7135d5ee6716E.llvm.204215390286363894"} +!819 = !{!820} +!820 = distinct !{!820, !821, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} +!821 = distinct !{!821, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} +!822 = !{!823} +!823 = distinct !{!823, !824, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} +!824 = distinct !{!824, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} +!825 = !{!823, !820, !817} +!826 = !{!823, !820, !817, !814} +!827 = !{!817, !814} +!828 = !{!829} +!829 = distinct !{!829, !830, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17hf5a5a14083491d52E: argument 1"} +!830 = distinct !{!830, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17hf5a5a14083491d52E"} +!831 = !{!832, !833} +!832 = distinct !{!832, !830, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17hf5a5a14083491d52E: argument 0"} +!833 = distinct !{!833, !830, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17hf5a5a14083491d52E: argument 2"} +!834 = !{!829, !833} +!835 = !{!832, !829, !833} !836 = !{!837} -!837 = distinct !{!837, !838, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} -!838 = distinct !{!838, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} +!837 = distinct !{!837, !838, !"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17h55dea538c53e7d70E: argument 0"} +!838 = distinct !{!838, !"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17h55dea538c53e7d70E"} !839 = !{!840} -!840 = distinct !{!840, !841, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} -!841 = distinct !{!841, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} -!842 = !{!840, !837} -!843 = !{!844, !846} -!844 = distinct !{!844, !845, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8position17h6515c8b587ef83a7E: argument 0"} -!845 = distinct !{!845, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8position17h6515c8b587ef83a7E"} -!846 = distinct !{!846, !845, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8position17h6515c8b587ef83a7E: argument 1"} -!847 = !{!848, !850} -!848 = distinct !{!848, !849, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8position17h6515c8b587ef83a7E: argument 0"} -!849 = distinct !{!849, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8position17h6515c8b587ef83a7E"} -!850 = distinct !{!850, !849, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8position17h6515c8b587ef83a7E: argument 1"} +!840 = distinct !{!840, !841, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} +!841 = distinct !{!841, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} +!842 = !{!843} +!843 = distinct !{!843, !844, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} +!844 = distinct !{!844, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} +!845 = !{!843, !840, !837} +!846 = !{!847, !849} +!847 = distinct !{!847, !848, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} +!848 = distinct !{!848, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} +!849 = distinct !{!849, !850, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} +!850 = distinct !{!850, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} !851 = !{!852} -!852 = distinct !{!852, !853, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h2ca6d0f7d4ad0587E: argument 0"} -!853 = distinct !{!853, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h2ca6d0f7d4ad0587E"} +!852 = distinct !{!852, !853, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} +!853 = distinct !{!853, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} !854 = !{!855} -!855 = distinct !{!855, !853, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h2ca6d0f7d4ad0587E: argument 1"} -!856 = !{!852, !855} -!857 = !{!858, !860} -!858 = distinct !{!858, !859, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} -!859 = distinct !{!859, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} -!860 = distinct !{!860, !861, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} -!861 = distinct !{!861, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} -!862 = !{!863} -!863 = distinct !{!863, !864, !"_ZN75_$LT$html5ever..tokenizer..interface..Tag$u20$as$u20$core..clone..Clone$GT$5clone17h8cc0abc4a6adbb98E: argument 0"} -!864 = distinct !{!864, !"_ZN75_$LT$html5ever..tokenizer..interface..Tag$u20$as$u20$core..clone..Clone$GT$5clone17h8cc0abc4a6adbb98E"} -!865 = !{!866} -!866 = distinct !{!866, !864, !"_ZN75_$LT$html5ever..tokenizer..interface..Tag$u20$as$u20$core..clone..Clone$GT$5clone17h8cc0abc4a6adbb98E: argument 1"} -!867 = !{!863, !866} -!868 = !{!869, !866} -!869 = distinct !{!869, !870, !"_ZN67_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hd7f602d787034465E: argument 1"} -!870 = distinct !{!870, !"_ZN67_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hd7f602d787034465E"} -!871 = !{!872, !863} -!872 = distinct !{!872, !870, !"_ZN67_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hd7f602d787034465E: argument 0"} -!873 = !{!874} -!874 = distinct !{!874, !875, !"_ZN67_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hd7f602d787034465E: argument 1"} -!875 = distinct !{!875, !"_ZN67_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hd7f602d787034465E"} -!876 = !{!877} -!877 = distinct !{!877, !875, !"_ZN67_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hd7f602d787034465E: argument 0"} -!878 = !{!879} -!879 = distinct !{!879, !880, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} -!880 = distinct !{!880, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} -!881 = !{!882} -!882 = distinct !{!882, !883, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} -!883 = distinct !{!883, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} -!884 = !{!882, !879} -!885 = !{!886} -!886 = distinct !{!886, !887, !"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17h55dea538c53e7d70E: argument 0"} -!887 = distinct !{!887, !"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17h55dea538c53e7d70E"} +!855 = distinct !{!855, !856, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} +!856 = distinct !{!856, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} +!857 = !{!855, !852} +!858 = !{!859, !861} +!859 = distinct !{!859, !860, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8position17h6515c8b587ef83a7E: argument 0"} +!860 = distinct !{!860, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8position17h6515c8b587ef83a7E"} +!861 = distinct !{!861, !860, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8position17h6515c8b587ef83a7E: argument 1"} +!862 = !{!863, !865} +!863 = distinct !{!863, !864, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8position17h6515c8b587ef83a7E: argument 0"} +!864 = distinct !{!864, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8position17h6515c8b587ef83a7E"} +!865 = distinct !{!865, !864, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8position17h6515c8b587ef83a7E: argument 1"} +!866 = !{!867} +!867 = distinct !{!867, !868, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h2ca6d0f7d4ad0587E: argument 0"} +!868 = distinct !{!868, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h2ca6d0f7d4ad0587E"} +!869 = !{!870} +!870 = distinct !{!870, !868, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h2ca6d0f7d4ad0587E: argument 1"} +!871 = !{!867, !870} +!872 = !{!873, !875} +!873 = distinct !{!873, !874, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} +!874 = distinct !{!874, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} +!875 = distinct !{!875, !876, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} +!876 = distinct !{!876, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} +!877 = !{!878} +!878 = distinct !{!878, !879, !"_ZN75_$LT$html5ever..tokenizer..interface..Tag$u20$as$u20$core..clone..Clone$GT$5clone17h8cc0abc4a6adbb98E: argument 0"} +!879 = distinct !{!879, !"_ZN75_$LT$html5ever..tokenizer..interface..Tag$u20$as$u20$core..clone..Clone$GT$5clone17h8cc0abc4a6adbb98E"} +!880 = !{!881} +!881 = distinct !{!881, !879, !"_ZN75_$LT$html5ever..tokenizer..interface..Tag$u20$as$u20$core..clone..Clone$GT$5clone17h8cc0abc4a6adbb98E: argument 1"} +!882 = !{!878, !881} +!883 = !{!884, !881} +!884 = distinct !{!884, !885, !"_ZN67_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hd7f602d787034465E: argument 1"} +!885 = distinct !{!885, !"_ZN67_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hd7f602d787034465E"} +!886 = !{!887, !878} +!887 = distinct !{!887, !885, !"_ZN67_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hd7f602d787034465E: argument 0"} !888 = !{!889} -!889 = distinct !{!889, !890, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} -!890 = distinct !{!890, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} +!889 = distinct !{!889, !890, !"_ZN67_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hd7f602d787034465E: argument 1"} +!890 = distinct !{!890, !"_ZN67_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hd7f602d787034465E"} !891 = !{!892} -!892 = distinct !{!892, !893, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} -!893 = distinct !{!893, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} -!894 = !{!892, !889, !886} -!895 = !{!896} -!896 = distinct !{!896, !897, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} -!897 = distinct !{!897, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} -!898 = !{!899} -!899 = distinct !{!899, !900, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} -!900 = distinct !{!900, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} -!901 = !{!899, !896} -!902 = !{!903, !905} -!903 = distinct !{!903, !904, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} -!904 = distinct !{!904, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} -!905 = distinct !{!905, !906, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} -!906 = distinct !{!906, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} -!907 = !{!908, !910} -!908 = distinct !{!908, !909, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} -!909 = distinct !{!909, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} -!910 = distinct !{!910, !911, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} -!911 = distinct !{!911, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} -!912 = !{!913} -!913 = distinct !{!913, !914, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} -!914 = distinct !{!914, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} -!915 = !{!916} -!916 = distinct !{!916, !917, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} -!917 = distinct !{!917, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} -!918 = !{!916, !913} -!919 = !{!920} -!920 = distinct !{!920, !921, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17hf5a5a14083491d52E: argument 1"} -!921 = distinct !{!921, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17hf5a5a14083491d52E"} -!922 = !{!920, !923} -!923 = distinct !{!923, !921, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17hf5a5a14083491d52E: argument 2"} -!924 = !{!925, !920, !923} -!925 = distinct !{!925, !921, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17hf5a5a14083491d52E: argument 0"} -!926 = !{!925, !923} +!892 = distinct !{!892, !890, !"_ZN67_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hd7f602d787034465E: argument 0"} +!893 = !{!894} +!894 = distinct !{!894, !895, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} +!895 = distinct !{!895, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} +!896 = !{!897} +!897 = distinct !{!897, !898, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} +!898 = distinct !{!898, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} +!899 = !{!897, !894} +!900 = !{!901} +!901 = distinct !{!901, !902, !"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17h55dea538c53e7d70E: argument 0"} +!902 = distinct !{!902, !"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17h55dea538c53e7d70E"} +!903 = !{!904} +!904 = distinct !{!904, !905, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} +!905 = distinct !{!905, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} +!906 = !{!907} +!907 = distinct !{!907, !908, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} +!908 = distinct !{!908, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} +!909 = !{!907, !904, !901} +!910 = !{!911} +!911 = distinct !{!911, !912, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} +!912 = distinct !{!912, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} +!913 = !{!914} +!914 = distinct !{!914, !915, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} +!915 = distinct !{!915, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} +!916 = !{!914, !911} +!917 = !{!918, !920} +!918 = distinct !{!918, !919, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} +!919 = distinct !{!919, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} +!920 = distinct !{!920, !921, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} +!921 = distinct !{!921, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} +!922 = !{!923, !925} +!923 = distinct !{!923, !924, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} +!924 = distinct !{!924, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} +!925 = distinct !{!925, !926, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} +!926 = distinct !{!926, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} !927 = !{!928} -!928 = distinct !{!928, !929, !"_ZN4core3ptr144drop_in_place$LT$core..option..Option$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$$GT$17h4250528eb6f4914eE: argument 0"} -!929 = distinct !{!929, !"_ZN4core3ptr144drop_in_place$LT$core..option..Option$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$$GT$17h4250528eb6f4914eE"} +!928 = distinct !{!928, !929, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} +!929 = distinct !{!929, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} !930 = !{!931} -!931 = distinct !{!931, !932, !"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17h55dea538c53e7d70E: argument 0"} -!932 = distinct !{!932, !"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17h55dea538c53e7d70E"} -!933 = !{!934} -!934 = distinct !{!934, !935, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} -!935 = distinct !{!935, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} -!936 = !{!937} -!937 = distinct !{!937, !938, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} -!938 = distinct !{!938, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} -!939 = !{!937, !934, !931, !928} -!940 = !{!931, !928} -!941 = !{!942} -!942 = distinct !{!942, !943, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h2ca6d0f7d4ad0587E: argument 0"} -!943 = distinct !{!943, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h2ca6d0f7d4ad0587E"} -!944 = !{!945} -!945 = distinct !{!945, !943, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h2ca6d0f7d4ad0587E: argument 1"} -!946 = !{!942, !945} -!947 = !{!948, !950} -!948 = distinct !{!948, !949, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} -!949 = distinct !{!949, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} -!950 = distinct !{!950, !951, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} -!951 = distinct !{!951, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} -!952 = !{!953} -!953 = distinct !{!953, !954, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$20insert_appropriately17hca73dfcef86f1f83E: argument 1"} -!954 = distinct !{!954, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$20insert_appropriately17hca73dfcef86f1f83E"} -!955 = !{!956, !953} -!956 = distinct !{!956, !954, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$20insert_appropriately17hca73dfcef86f1f83E: argument 0"} -!957 = !{!956} -!958 = !{!959} -!959 = distinct !{!959, !960, !"_ZN67_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hd7f602d787034465E: argument 1"} -!960 = distinct !{!960, !"_ZN67_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hd7f602d787034465E"} -!961 = !{!962} -!962 = distinct !{!962, !960, !"_ZN67_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hd7f602d787034465E: argument 0"} -!963 = !{!964, !966} -!964 = distinct !{!964, !965, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8position17h6515c8b587ef83a7E: argument 0"} -!965 = distinct !{!965, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8position17h6515c8b587ef83a7E"} -!966 = distinct !{!966, !965, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8position17h6515c8b587ef83a7E: argument 1"} -!967 = !{!968, !970} -!968 = distinct !{!968, !969, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8position17h6515c8b587ef83a7E: argument 0"} -!969 = distinct !{!969, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8position17h6515c8b587ef83a7E"} -!970 = distinct !{!970, !969, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8position17h6515c8b587ef83a7E: argument 1"} -!971 = !{!972} -!972 = distinct !{!972, !973, !"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17h55dea538c53e7d70E: argument 0"} -!973 = distinct !{!973, !"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17h55dea538c53e7d70E"} -!974 = !{!975} -!975 = distinct !{!975, !976, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} -!976 = distinct !{!976, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} -!977 = !{!978} -!978 = distinct !{!978, !979, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} -!979 = distinct !{!979, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} -!980 = !{!978, !975, !972} -!981 = !{!982, !984} -!982 = distinct !{!982, !983, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} -!983 = distinct !{!983, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} -!984 = distinct !{!984, !985, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} -!985 = distinct !{!985, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} +!931 = distinct !{!931, !932, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} +!932 = distinct !{!932, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} +!933 = !{!931, !928} +!934 = !{!935} +!935 = distinct !{!935, !936, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17hf5a5a14083491d52E: argument 1"} +!936 = distinct !{!936, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17hf5a5a14083491d52E"} +!937 = !{!935, !938} +!938 = distinct !{!938, !936, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17hf5a5a14083491d52E: argument 2"} +!939 = !{!940, !935, !938} +!940 = distinct !{!940, !936, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17hf5a5a14083491d52E: argument 0"} +!941 = !{!940, !938} +!942 = !{!943} +!943 = distinct !{!943, !944, !"_ZN4core3ptr144drop_in_place$LT$core..option..Option$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$$GT$17h4250528eb6f4914eE: argument 0"} +!944 = distinct !{!944, !"_ZN4core3ptr144drop_in_place$LT$core..option..Option$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$$GT$17h4250528eb6f4914eE"} +!945 = !{!946} +!946 = distinct !{!946, !947, !"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17h55dea538c53e7d70E: argument 0"} +!947 = distinct !{!947, !"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17h55dea538c53e7d70E"} +!948 = !{!949} +!949 = distinct !{!949, !950, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} +!950 = distinct !{!950, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} +!951 = !{!952} +!952 = distinct !{!952, !953, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} +!953 = distinct !{!953, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} +!954 = !{!952, !949, !946, !943} +!955 = !{!946, !943} +!956 = !{!957} +!957 = distinct !{!957, !958, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h2ca6d0f7d4ad0587E: argument 0"} +!958 = distinct !{!958, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h2ca6d0f7d4ad0587E"} +!959 = !{!960} +!960 = distinct !{!960, !958, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h2ca6d0f7d4ad0587E: argument 1"} +!961 = !{!957, !960} +!962 = !{!963, !965} +!963 = distinct !{!963, !964, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} +!964 = distinct !{!964, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} +!965 = distinct !{!965, !966, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} +!966 = distinct !{!966, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} +!967 = !{!968} +!968 = distinct !{!968, !969, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$20insert_appropriately17hca73dfcef86f1f83E: argument 1"} +!969 = distinct !{!969, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$20insert_appropriately17hca73dfcef86f1f83E"} +!970 = !{!971, !968} +!971 = distinct !{!971, !969, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$20insert_appropriately17hca73dfcef86f1f83E: argument 0"} +!972 = !{!971} +!973 = !{!974} +!974 = distinct !{!974, !975, !"_ZN67_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hd7f602d787034465E: argument 1"} +!975 = distinct !{!975, !"_ZN67_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hd7f602d787034465E"} +!976 = !{!977} +!977 = distinct !{!977, !975, !"_ZN67_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hd7f602d787034465E: argument 0"} +!978 = !{!979, !981} +!979 = distinct !{!979, !980, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8position17h6515c8b587ef83a7E: argument 0"} +!980 = distinct !{!980, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8position17h6515c8b587ef83a7E"} +!981 = distinct !{!981, !980, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8position17h6515c8b587ef83a7E: argument 1"} +!982 = !{!983, !985} +!983 = distinct !{!983, !984, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8position17h6515c8b587ef83a7E: argument 0"} +!984 = distinct !{!984, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8position17h6515c8b587ef83a7E"} +!985 = distinct !{!985, !984, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8position17h6515c8b587ef83a7E: argument 1"} !986 = !{!987} -!987 = distinct !{!987, !988, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$9rposition17h521e82cde11bee44E: argument 1"} -!988 = distinct !{!988, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$9rposition17h521e82cde11bee44E"} +!987 = distinct !{!987, !988, !"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17h55dea538c53e7d70E: argument 0"} +!988 = distinct !{!988, !"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17h55dea538c53e7d70E"} !989 = !{!990} -!990 = distinct !{!990, !988, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$9rposition17h521e82cde11bee44E: argument 0"} -!991 = !{!992} -!992 = distinct !{!992, !993, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17remove_from_stack17hd82ea4ec9f5cac68E: argument 0"} -!993 = distinct !{!993, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17remove_from_stack17hd82ea4ec9f5cac68E"} -!994 = !{!995, !997, !992} -!995 = distinct !{!995, !996, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$9rposition17h521e82cde11bee44E: argument 0"} -!996 = distinct !{!996, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$9rposition17h521e82cde11bee44E"} -!997 = distinct !{!997, !996, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$9rposition17h521e82cde11bee44E: argument 1"} -!998 = !{!999} -!999 = distinct !{!999, !1000, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h2ca6d0f7d4ad0587E: argument 0"} -!1000 = distinct !{!1000, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h2ca6d0f7d4ad0587E"} -!1001 = !{!999, !1002, !992} -!1002 = distinct !{!1002, !1000, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h2ca6d0f7d4ad0587E: argument 1"} -!1003 = !{!999, !992} -!1004 = !{!1002} -!1005 = !{!1006, !1008, !992} -!1006 = distinct !{!1006, !1007, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} -!1007 = distinct !{!1007, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} -!1008 = distinct !{!1008, !1009, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} -!1009 = distinct !{!1009, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} -!1010 = !{!1011} -!1011 = distinct !{!1011, !1012, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6insert17h4777502c2b2acb29E: argument 0"} -!1012 = distinct !{!1012, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6insert17h4777502c2b2acb29E"} +!990 = distinct !{!990, !991, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} +!991 = distinct !{!991, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} +!992 = !{!993} +!993 = distinct !{!993, !994, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} +!994 = distinct !{!994, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} +!995 = !{!993, !990, !987} +!996 = !{!997, !999} +!997 = distinct !{!997, !998, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} +!998 = distinct !{!998, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} +!999 = distinct !{!999, !1000, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} +!1000 = distinct !{!1000, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} +!1001 = !{!1002} +!1002 = distinct !{!1002, !1003, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$9rposition17h521e82cde11bee44E: argument 1"} +!1003 = distinct !{!1003, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$9rposition17h521e82cde11bee44E"} +!1004 = !{!1005} +!1005 = distinct !{!1005, !1003, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$9rposition17h521e82cde11bee44E: argument 0"} +!1006 = !{!1007} +!1007 = distinct !{!1007, !1008, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17remove_from_stack17hd82ea4ec9f5cac68E: argument 0"} +!1008 = distinct !{!1008, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17remove_from_stack17hd82ea4ec9f5cac68E"} +!1009 = !{!1010, !1012, !1007} +!1010 = distinct !{!1010, !1011, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$9rposition17h521e82cde11bee44E: argument 0"} +!1011 = distinct !{!1011, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$9rposition17h521e82cde11bee44E"} +!1012 = distinct !{!1012, !1011, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$9rposition17h521e82cde11bee44E: argument 1"} !1013 = !{!1014} -!1014 = distinct !{!1014, !1012, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6insert17h4777502c2b2acb29E: argument 1"} -!1015 = !{!1016} -!1016 = distinct !{!1016, !1017, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8position17h6515c8b587ef83a7E: argument 1"} -!1017 = distinct !{!1017, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8position17h6515c8b587ef83a7E"} -!1018 = !{!1019} -!1019 = distinct !{!1019, !1017, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8position17h6515c8b587ef83a7E: argument 0"} -!1020 = !{!1019, !1016} -!1021 = !{!1022} -!1022 = distinct !{!1022, !1023, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17hf5a5a14083491d52E: argument 1"} -!1023 = distinct !{!1023, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17hf5a5a14083491d52E"} -!1024 = !{!1022, !1025} -!1025 = distinct !{!1025, !1023, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17hf5a5a14083491d52E: argument 2"} -!1026 = !{!1027, !1022, !1025} -!1027 = distinct !{!1027, !1023, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17hf5a5a14083491d52E: argument 0"} -!1028 = !{!1027, !1025} -!1029 = !{!1030} -!1030 = distinct !{!1030, !1031, !"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17h55dea538c53e7d70E: argument 0"} -!1031 = distinct !{!1031, !"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17h55dea538c53e7d70E"} -!1032 = !{!1033} -!1033 = distinct !{!1033, !1034, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} -!1034 = distinct !{!1034, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} -!1035 = !{!1036} -!1036 = distinct !{!1036, !1037, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} -!1037 = distinct !{!1037, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} -!1038 = !{!1036, !1033, !1030} -!1039 = !{!1040, !1042} -!1040 = distinct !{!1040, !1041, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} -!1041 = distinct !{!1041, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} -!1042 = distinct !{!1042, !1043, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} -!1043 = distinct !{!1043, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} +!1014 = distinct !{!1014, !1015, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h2ca6d0f7d4ad0587E: argument 0"} +!1015 = distinct !{!1015, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h2ca6d0f7d4ad0587E"} +!1016 = !{!1014, !1017, !1007} +!1017 = distinct !{!1017, !1015, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h2ca6d0f7d4ad0587E: argument 1"} +!1018 = !{!1014, !1007} +!1019 = !{!1017} +!1020 = !{!1021, !1023, !1007} +!1021 = distinct !{!1021, !1022, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} +!1022 = distinct !{!1022, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} +!1023 = distinct !{!1023, !1024, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} +!1024 = distinct !{!1024, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} +!1025 = !{!1026} +!1026 = distinct !{!1026, !1027, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6insert17h4777502c2b2acb29E: argument 0"} +!1027 = distinct !{!1027, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6insert17h4777502c2b2acb29E"} +!1028 = !{!1029} +!1029 = distinct !{!1029, !1027, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6insert17h4777502c2b2acb29E: argument 1"} +!1030 = !{!1031} +!1031 = distinct !{!1031, !1032, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8position17h6515c8b587ef83a7E: argument 1"} +!1032 = distinct !{!1032, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8position17h6515c8b587ef83a7E"} +!1033 = !{!1034} +!1034 = distinct !{!1034, !1032, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8position17h6515c8b587ef83a7E: argument 0"} +!1035 = !{!1034, !1031} +!1036 = !{!1037} +!1037 = distinct !{!1037, !1038, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17hf5a5a14083491d52E: argument 1"} +!1038 = distinct !{!1038, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17hf5a5a14083491d52E"} +!1039 = !{!1037, !1040} +!1040 = distinct !{!1040, !1038, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17hf5a5a14083491d52E: argument 2"} +!1041 = !{!1042, !1037, !1040} +!1042 = distinct !{!1042, !1038, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17hf5a5a14083491d52E: argument 0"} +!1043 = !{!1042, !1040} !1044 = !{!1045} -!1045 = distinct !{!1045, !1046, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8position17h8487901abd4a9c0dE: argument 1"} -!1046 = distinct !{!1046, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8position17h8487901abd4a9c0dE"} +!1045 = distinct !{!1045, !1046, !"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17h55dea538c53e7d70E: argument 0"} +!1046 = distinct !{!1046, !"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17h55dea538c53e7d70E"} !1047 = !{!1048} -!1048 = distinct !{!1048, !1046, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8position17h8487901abd4a9c0dE: argument 0"} -!1049 = !{!1048, !1045} +!1048 = distinct !{!1048, !1049, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} +!1049 = distinct !{!1049, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} !1050 = !{!1051} -!1051 = distinct !{!1051, !1052, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6insert17h538f3276fa479854E: argument 0"} -!1052 = distinct !{!1052, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6insert17h538f3276fa479854E"} -!1053 = !{!1054} -!1054 = distinct !{!1054, !1055, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} -!1055 = distinct !{!1055, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} -!1056 = !{!1057} -!1057 = distinct !{!1057, !1058, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} -!1058 = distinct !{!1058, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} -!1059 = !{!1057, !1054} -!1060 = !{!1061} -!1061 = distinct !{!1061, !1062, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} -!1062 = distinct !{!1062, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} -!1063 = !{!1064} -!1064 = distinct !{!1064, !1065, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} -!1065 = distinct !{!1065, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} -!1066 = !{!1064, !1061} -!1067 = !{!1068} -!1068 = distinct !{!1068, !1069, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} -!1069 = distinct !{!1069, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} -!1070 = !{!1071} -!1071 = distinct !{!1071, !1072, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} -!1072 = distinct !{!1072, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} -!1073 = !{!1071, !1068} -!1074 = !{!1075, !1077} -!1075 = distinct !{!1075, !1076, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} -!1076 = distinct !{!1076, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} -!1077 = distinct !{!1077, !1078, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} -!1078 = distinct !{!1078, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} -!1079 = !{!1080, !1082} -!1080 = distinct !{!1080, !1081, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} -!1081 = distinct !{!1081, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} -!1082 = distinct !{!1082, !1083, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} -!1083 = distinct !{!1083, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} -!1084 = !{!1085} -!1085 = distinct !{!1085, !1086, !"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E: argument 0"} -!1086 = distinct !{!1086, !"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E"} -!1087 = !{!1088} -!1088 = distinct !{!1088, !1089, !"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E: argument 0"} -!1089 = distinct !{!1089, !"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E"} -!1090 = !{!1091, !1093, !1094, !1096} -!1091 = distinct !{!1091, !1092, !"_ZN5alloc3fmt6format28_$u7b$$u7b$closure$u7d$$u7d$17hce9d43525ad966e7E: argument 0"} -!1092 = distinct !{!1092, !"_ZN5alloc3fmt6format28_$u7b$$u7b$closure$u7d$$u7d$17hce9d43525ad966e7E"} -!1093 = distinct !{!1093, !1092, !"_ZN5alloc3fmt6format28_$u7b$$u7b$closure$u7d$$u7d$17hce9d43525ad966e7E: argument 1"} -!1094 = distinct !{!1094, !1095, !"_ZN4core6option15Option$LT$T$GT$11map_or_else17h9fab2ecdf6cdaddcE: argument 0"} -!1095 = distinct !{!1095, !"_ZN4core6option15Option$LT$T$GT$11map_or_else17h9fab2ecdf6cdaddcE"} -!1096 = distinct !{!1096, !1095, !"_ZN4core6option15Option$LT$T$GT$11map_or_else17h9fab2ecdf6cdaddcE: argument 1"} -!1097 = !{!1091, !1094} -!1098 = !{!1099} -!1099 = distinct !{!1099, !1100, !"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E: argument 0"} -!1100 = distinct !{!1100, !"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E"} -!1101 = !{!1102} -!1102 = distinct !{!1102, !1103, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$9pop_until17hea5f7a30a37a3215E: argument 0"} -!1103 = distinct !{!1103, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$9pop_until17hea5f7a30a37a3215E"} -!1104 = !{!1105} -!1105 = distinct !{!1105, !1103, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$9pop_until17hea5f7a30a37a3215E: argument 1"} -!1106 = !{!1102, !1105} -!1107 = !{!1108} -!1108 = distinct !{!1108, !1109, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15pop_until_named28_$u7b$$u7b$closure$u7d$$u7d$17hb1795f02cee533b5E: argument 0"} -!1109 = distinct !{!1109, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15pop_until_named28_$u7b$$u7b$closure$u7d$$u7d$17hb1795f02cee533b5E"} -!1110 = !{!1111} -!1111 = distinct !{!1111, !1112, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} -!1112 = distinct !{!1112, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} +!1051 = distinct !{!1051, !1052, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} +!1052 = distinct !{!1052, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} +!1053 = !{!1051, !1048, !1045} +!1054 = !{!1055, !1057} +!1055 = distinct !{!1055, !1056, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} +!1056 = distinct !{!1056, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} +!1057 = distinct !{!1057, !1058, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} +!1058 = distinct !{!1058, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} +!1059 = !{!1060} +!1060 = distinct !{!1060, !1061, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8position17h8487901abd4a9c0dE: argument 1"} +!1061 = distinct !{!1061, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8position17h8487901abd4a9c0dE"} +!1062 = !{!1063} +!1063 = distinct !{!1063, !1061, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8position17h8487901abd4a9c0dE: argument 0"} +!1064 = !{!1063, !1060} +!1065 = !{!1066} +!1066 = distinct !{!1066, !1067, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6insert17h538f3276fa479854E: argument 0"} +!1067 = distinct !{!1067, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6insert17h538f3276fa479854E"} +!1068 = !{!1069} +!1069 = distinct !{!1069, !1070, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} +!1070 = distinct !{!1070, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} +!1071 = !{!1072} +!1072 = distinct !{!1072, !1073, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} +!1073 = distinct !{!1073, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} +!1074 = !{!1072, !1069} +!1075 = !{!1076} +!1076 = distinct !{!1076, !1077, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} +!1077 = distinct !{!1077, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} +!1078 = !{!1079} +!1079 = distinct !{!1079, !1080, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} +!1080 = distinct !{!1080, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} +!1081 = !{!1079, !1076} +!1082 = !{!1083} +!1083 = distinct !{!1083, !1084, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} +!1084 = distinct !{!1084, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} +!1085 = !{!1086} +!1086 = distinct !{!1086, !1087, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} +!1087 = distinct !{!1087, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} +!1088 = !{!1086, !1083} +!1089 = !{!1090, !1092} +!1090 = distinct !{!1090, !1091, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} +!1091 = distinct !{!1091, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} +!1092 = distinct !{!1092, !1093, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} +!1093 = distinct !{!1093, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} +!1094 = !{!1095, !1097} +!1095 = distinct !{!1095, !1096, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} +!1096 = distinct !{!1096, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} +!1097 = distinct !{!1097, !1098, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} +!1098 = distinct !{!1098, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} +!1099 = !{!1100} +!1100 = distinct !{!1100, !1101, !"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E: argument 0"} +!1101 = distinct !{!1101, !"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E"} +!1102 = !{!1103} +!1103 = distinct !{!1103, !1104, !"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E: argument 0"} +!1104 = distinct !{!1104, !"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E"} +!1105 = !{!1106, !1108, !1109, !1111} +!1106 = distinct !{!1106, !1107, !"_ZN5alloc3fmt6format28_$u7b$$u7b$closure$u7d$$u7d$17hce9d43525ad966e7E: argument 0"} +!1107 = distinct !{!1107, !"_ZN5alloc3fmt6format28_$u7b$$u7b$closure$u7d$$u7d$17hce9d43525ad966e7E"} +!1108 = distinct !{!1108, !1107, !"_ZN5alloc3fmt6format28_$u7b$$u7b$closure$u7d$$u7d$17hce9d43525ad966e7E: argument 1"} +!1109 = distinct !{!1109, !1110, !"_ZN4core6option15Option$LT$T$GT$11map_or_else17h9fab2ecdf6cdaddcE: argument 0"} +!1110 = distinct !{!1110, !"_ZN4core6option15Option$LT$T$GT$11map_or_else17h9fab2ecdf6cdaddcE"} +!1111 = distinct !{!1111, !1110, !"_ZN4core6option15Option$LT$T$GT$11map_or_else17h9fab2ecdf6cdaddcE: argument 1"} +!1112 = !{!1106, !1109} !1113 = !{!1114} -!1114 = distinct !{!1114, !1115, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} -!1115 = distinct !{!1115, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} -!1116 = !{!1114, !1111} -!1117 = !{!1114, !1111, !1105} -!1118 = !{!1119} -!1119 = distinct !{!1119, !1120, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} -!1120 = distinct !{!1120, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} -!1121 = !{!1122} -!1122 = distinct !{!1122, !1123, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} -!1123 = distinct !{!1123, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} -!1124 = !{!1122, !1119} -!1125 = !{!1122, !1119, !1105} -!1126 = !{!1127} -!1127 = distinct !{!1127, !1128, !"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E: argument 0"} -!1128 = distinct !{!1128, !"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E"} -!1129 = !{!1130} -!1130 = distinct !{!1130, !1131, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$24adjust_mathml_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h7d3c76871bd54afaE: argument 0"} -!1131 = distinct !{!1131, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$24adjust_mathml_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h7d3c76871bd54afaE"} -!1132 = !{!1133, !1130} -!1133 = distinct !{!1133, !1134, !"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E: argument 0"} -!1134 = distinct !{!1134, !"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E"} -!1135 = !{!1136} -!1136 = distinct !{!1136, !1137, !"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E: argument 0"} -!1137 = distinct !{!1137, !"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E"} -!1138 = !{!1136, !1139} -!1139 = distinct !{!1139, !1140, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$21adjust_svg_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h0eaf0026a3dd26efE: argument 0"} -!1140 = distinct !{!1140, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$21adjust_svg_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h0eaf0026a3dd26efE"} +!1114 = distinct !{!1114, !1115, !"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E: argument 0"} +!1115 = distinct !{!1115, !"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E"} +!1116 = !{!1117} +!1117 = distinct !{!1117, !1118, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$9pop_until17hea5f7a30a37a3215E: argument 0"} +!1118 = distinct !{!1118, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$9pop_until17hea5f7a30a37a3215E"} +!1119 = !{!1120} +!1120 = distinct !{!1120, !1118, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$9pop_until17hea5f7a30a37a3215E: argument 1"} +!1121 = !{!1117, !1120} +!1122 = !{!1123} +!1123 = distinct !{!1123, !1124, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15pop_until_named28_$u7b$$u7b$closure$u7d$$u7d$17hb1795f02cee533b5E: argument 0"} +!1124 = distinct !{!1124, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15pop_until_named28_$u7b$$u7b$closure$u7d$$u7d$17hb1795f02cee533b5E"} +!1125 = !{!1126} +!1126 = distinct !{!1126, !1127, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} +!1127 = distinct !{!1127, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} +!1128 = !{!1129} +!1129 = distinct !{!1129, !1130, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} +!1130 = distinct !{!1130, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} +!1131 = !{!1129, !1126} +!1132 = !{!1129, !1126, !1120} +!1133 = !{!1134} +!1134 = distinct !{!1134, !1135, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} +!1135 = distinct !{!1135, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} +!1136 = !{!1137} +!1137 = distinct !{!1137, !1138, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} +!1138 = distinct !{!1138, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} +!1139 = !{!1137, !1134} +!1140 = !{!1137, !1134, !1120} !1141 = !{!1142} -!1142 = distinct !{!1142, !1143, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$25adjust_foreign_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h6b7bd02e7aedfaa4E: argument 0"} -!1143 = distinct !{!1143, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$25adjust_foreign_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h6b7bd02e7aedfaa4E"} -!1144 = !{!1145, !1142} +!1142 = distinct !{!1142, !1143, !"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E: argument 0"} +!1143 = distinct !{!1143, !"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E"} +!1144 = !{!1145} !1145 = distinct !{!1145, !1146, !"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E: argument 0"} !1146 = distinct !{!1146, !"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E"} -!1147 = !{!1148} -!1148 = distinct !{!1148, !1149, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$21adjusted_current_node17h42783e54d25dff00E.llvm.4491288516430033680: argument 0"} -!1149 = distinct !{!1149, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$21adjusted_current_node17h42783e54d25dff00E.llvm.4491288516430033680"} +!1147 = !{!1145, !1148} +!1148 = distinct !{!1148, !1149, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$21adjust_svg_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h0eaf0026a3dd26efE: argument 0"} +!1149 = distinct !{!1149, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$21adjust_svg_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h0eaf0026a3dd26efE"} !1150 = !{!1151} -!1151 = distinct !{!1151, !1152, !"_ZN102_$LT$$RF$mut$u20$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..collect..IntoIterator$GT$9into_iter17h207cc085f3d55ee2E: argument 0"} -!1152 = distinct !{!1152, !"_ZN102_$LT$$RF$mut$u20$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..collect..IntoIterator$GT$9into_iter17h207cc085f3d55ee2E"} -!1153 = !{!1154} -!1154 = distinct !{!1154, !1155, !"_ZN102_$LT$$RF$mut$u20$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..collect..IntoIterator$GT$9into_iter17h207cc085f3d55ee2E: argument 0"} -!1155 = distinct !{!1155, !"_ZN102_$LT$$RF$mut$u20$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..collect..IntoIterator$GT$9into_iter17h207cc085f3d55ee2E"} +!1151 = distinct !{!1151, !1152, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$25adjust_foreign_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h6b7bd02e7aedfaa4E: argument 0"} +!1152 = distinct !{!1152, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$25adjust_foreign_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h6b7bd02e7aedfaa4E"} +!1153 = !{!1154, !1151} +!1154 = distinct !{!1154, !1155, !"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E: argument 0"} +!1155 = distinct !{!1155, !"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E"} !1156 = !{!1157} -!1157 = distinct !{!1157, !1158, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$19adjust_svg_tag_name17h0c165ab345d93183E: argument 0"} -!1158 = distinct !{!1158, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$19adjust_svg_tag_name17h0c165ab345d93183E"} +!1157 = distinct !{!1157, !1158, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$21adjusted_current_node17h42783e54d25dff00E.llvm.4491288516430033680: argument 0"} +!1158 = distinct !{!1158, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$21adjusted_current_node17h42783e54d25dff00E.llvm.4491288516430033680"} !1159 = !{!1160} -!1160 = distinct !{!1160, !1161, !"_ZN102_$LT$$RF$mut$u20$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..collect..IntoIterator$GT$9into_iter17h207cc085f3d55ee2E: argument 0"} -!1161 = distinct !{!1161, !"_ZN102_$LT$$RF$mut$u20$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..collect..IntoIterator$GT$9into_iter17h207cc085f3d55ee2E"} -!1162 = !{!1163, !1165} -!1163 = distinct !{!1163, !1164, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} -!1164 = distinct !{!1164, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} -!1165 = distinct !{!1165, !1166, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} -!1166 = distinct !{!1166, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} -!1167 = !{!1168, !1170} -!1168 = distinct !{!1168, !1169, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} -!1169 = distinct !{!1169, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} -!1170 = distinct !{!1170, !1171, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} -!1171 = distinct !{!1171, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} -!1172 = !{!1173} -!1173 = distinct !{!1173, !1174, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15current_node_in17h2595f51588423758E: argument 0:pre.rot"} -!1174 = distinct !{!1174, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15current_node_in17h2595f51588423758E"} -!1175 = !{!1176} -!1176 = distinct !{!1176, !1174, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15current_node_in17h2595f51588423758E: argument 0"} -!1177 = !{!1178, !1180} -!1178 = distinct !{!1178, !1179, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} -!1179 = distinct !{!1179, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} -!1180 = distinct !{!1180, !1181, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} -!1181 = distinct !{!1181, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} -!1182 = !{!1183} -!1183 = distinct !{!1183, !1174, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15current_node_in17h2595f51588423758E: argument 0:h.rot"} -!1184 = !{!1185} -!1185 = distinct !{!1185, !1186, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15current_node_in17h792341c9e92fed32E: argument 0:pre.rot"} -!1186 = distinct !{!1186, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15current_node_in17h792341c9e92fed32E"} -!1187 = !{!1188} -!1188 = distinct !{!1188, !1186, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15current_node_in17h792341c9e92fed32E: argument 0"} -!1189 = !{!1190, !1192} -!1190 = distinct !{!1190, !1191, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} -!1191 = distinct !{!1191, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} -!1192 = distinct !{!1192, !1193, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} -!1193 = distinct !{!1193, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} -!1194 = !{!1195} -!1195 = distinct !{!1195, !1186, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15current_node_in17h792341c9e92fed32E: argument 0:h.rot"} -!1196 = !{!1197} -!1197 = distinct !{!1197, !1198, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15current_node_in17hb0d1fbb06cd3c3b5E: argument 0:pre.rot"} -!1198 = distinct !{!1198, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15current_node_in17hb0d1fbb06cd3c3b5E"} -!1199 = !{!1200} -!1200 = distinct !{!1200, !1198, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15current_node_in17hb0d1fbb06cd3c3b5E: argument 0"} -!1201 = !{!1202, !1204} -!1202 = distinct !{!1202, !1203, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} -!1203 = distinct !{!1203, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} -!1204 = distinct !{!1204, !1205, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} -!1205 = distinct !{!1205, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} -!1206 = !{!1207} -!1207 = distinct !{!1207, !1198, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15current_node_in17hb0d1fbb06cd3c3b5E: argument 0:h.rot"} -!1208 = !{!990, !987} -!1209 = !{!1210} -!1210 = distinct !{!1210, !1211, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h2ca6d0f7d4ad0587E: argument 0"} -!1211 = distinct !{!1211, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h2ca6d0f7d4ad0587E"} -!1212 = !{!1210, !1213} -!1213 = distinct !{!1213, !1211, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h2ca6d0f7d4ad0587E: argument 1"} -!1214 = !{!1213} -!1215 = !{!1216, !1218} -!1216 = distinct !{!1216, !1217, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} -!1217 = distinct !{!1217, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} -!1218 = distinct !{!1218, !1219, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} -!1219 = distinct !{!1219, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} -!1220 = !{!1221} -!1221 = distinct !{!1221, !1222, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$3pop17hd31d27c8f210272eE: argument 0"} -!1222 = distinct !{!1222, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$3pop17hd31d27c8f210272eE"} -!1223 = !{!1224, !1226} -!1224 = distinct !{!1224, !1225, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} -!1225 = distinct !{!1225, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} -!1226 = distinct !{!1226, !1227, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} -!1227 = distinct !{!1227, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} -!1228 = !{!1229} -!1229 = distinct !{!1229, !1230, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$3pop17hd31d27c8f210272eE: argument 0"} -!1230 = distinct !{!1230, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$3pop17hd31d27c8f210272eE"} -!1231 = !{!1232, !1234} -!1232 = distinct !{!1232, !1233, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} -!1233 = distinct !{!1233, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} -!1234 = distinct !{!1234, !1235, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} -!1235 = distinct !{!1235, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} -!1236 = !{!1237} -!1237 = distinct !{!1237, !1238, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$3pop17hd31d27c8f210272eE: argument 0"} -!1238 = distinct !{!1238, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$3pop17hd31d27c8f210272eE"} -!1239 = !{!1240, !1242} -!1240 = distinct !{!1240, !1241, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} -!1241 = distinct !{!1241, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} -!1242 = distinct !{!1242, !1243, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} -!1243 = distinct !{!1243, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} -!1244 = !{!1245} -!1245 = distinct !{!1245, !1246, !"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17hfd149221a0723dd3E: argument 0"} -!1246 = distinct !{!1246, !"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17hfd149221a0723dd3E"} -!1247 = !{!1248} -!1248 = distinct !{!1248, !1249, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15current_node_in17h310e13b6ae852f24E: argument 0"} -!1249 = distinct !{!1249, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15current_node_in17h310e13b6ae852f24E"} -!1250 = !{!1251, !1253, !1254, !1256} -!1251 = distinct !{!1251, !1252, !"_ZN5alloc3fmt6format28_$u7b$$u7b$closure$u7d$$u7d$17hce9d43525ad966e7E: argument 0"} -!1252 = distinct !{!1252, !"_ZN5alloc3fmt6format28_$u7b$$u7b$closure$u7d$$u7d$17hce9d43525ad966e7E"} -!1253 = distinct !{!1253, !1252, !"_ZN5alloc3fmt6format28_$u7b$$u7b$closure$u7d$$u7d$17hce9d43525ad966e7E: argument 1"} -!1254 = distinct !{!1254, !1255, !"_ZN4core6option15Option$LT$T$GT$11map_or_else17h9fab2ecdf6cdaddcE: argument 0"} -!1255 = distinct !{!1255, !"_ZN4core6option15Option$LT$T$GT$11map_or_else17h9fab2ecdf6cdaddcE"} -!1256 = distinct !{!1256, !1255, !"_ZN4core6option15Option$LT$T$GT$11map_or_else17h9fab2ecdf6cdaddcE: argument 1"} -!1257 = !{!1251, !1254} -!1258 = !{!1259, !1261, !1263, !1265} -!1259 = distinct !{!1259, !1260, !"_ZN77_$LT$alloc..raw_vec..RawVec$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17hf314ce5757a496b7E.llvm.5005022800651993668: argument 0"} -!1260 = distinct !{!1260, !"_ZN77_$LT$alloc..raw_vec..RawVec$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17hf314ce5757a496b7E.llvm.5005022800651993668"} -!1261 = distinct !{!1261, !1262, !"_ZN4core3ptr53drop_in_place$LT$alloc..raw_vec..RawVec$LT$u8$GT$$GT$17h2ec8c7bed695b553E.llvm.5005022800651993668: argument 0"} -!1262 = distinct !{!1262, !"_ZN4core3ptr53drop_in_place$LT$alloc..raw_vec..RawVec$LT$u8$GT$$GT$17h2ec8c7bed695b553E.llvm.5005022800651993668"} -!1263 = distinct !{!1263, !1264, !"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17h402ce7ed475baaf5E: argument 0"} -!1264 = distinct !{!1264, !"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17h402ce7ed475baaf5E"} -!1265 = distinct !{!1265, !1266, !"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hcc1d49382fbafdeaE: argument 0"} -!1266 = distinct !{!1266, !"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hcc1d49382fbafdeaE"} -!1267 = !{!1268} -!1268 = distinct !{!1268, !1269, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17is_marker_or_open17h0980fb8307e0fa3eE: argument 0"} -!1269 = distinct !{!1269, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17is_marker_or_open17h0980fb8307e0fa3eE"} -!1270 = !{!1271, !1273, !1268} -!1271 = distinct !{!1271, !1272, !"_ZN4core4iter6traits12double_ended19DoubleEndedIterator9try_rfold17hf5f8a51cd5c13ef6E: argument 0"} -!1272 = distinct !{!1272, !"_ZN4core4iter6traits12double_ended19DoubleEndedIterator9try_rfold17hf5f8a51cd5c13ef6E"} -!1273 = distinct !{!1273, !1272, !"_ZN4core4iter6traits12double_ended19DoubleEndedIterator9try_rfold17hf5f8a51cd5c13ef6E: argument 1"} -!1274 = !{!1275} -!1275 = distinct !{!1275, !1276, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17is_marker_or_open17h0980fb8307e0fa3eE: argument 0"} -!1276 = distinct !{!1276, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17is_marker_or_open17h0980fb8307e0fa3eE"} -!1277 = !{!1278, !1280, !1275} -!1278 = distinct !{!1278, !1279, !"_ZN4core4iter6traits12double_ended19DoubleEndedIterator9try_rfold17hf5f8a51cd5c13ef6E: argument 0"} -!1279 = distinct !{!1279, !"_ZN4core4iter6traits12double_ended19DoubleEndedIterator9try_rfold17hf5f8a51cd5c13ef6E"} -!1280 = distinct !{!1280, !1279, !"_ZN4core4iter6traits12double_ended19DoubleEndedIterator9try_rfold17hf5f8a51cd5c13ef6E: argument 1"} -!1281 = !{!1282} -!1282 = distinct !{!1282, !1283, !"_ZN75_$LT$html5ever..tokenizer..interface..Tag$u20$as$u20$core..clone..Clone$GT$5clone17h8cc0abc4a6adbb98E: argument 0"} -!1283 = distinct !{!1283, !"_ZN75_$LT$html5ever..tokenizer..interface..Tag$u20$as$u20$core..clone..Clone$GT$5clone17h8cc0abc4a6adbb98E"} -!1284 = !{!1285} -!1285 = distinct !{!1285, !1283, !"_ZN75_$LT$html5ever..tokenizer..interface..Tag$u20$as$u20$core..clone..Clone$GT$5clone17h8cc0abc4a6adbb98E: argument 1"} -!1286 = !{!1282, !1285} -!1287 = !{!1288, !1285} -!1288 = distinct !{!1288, !1289, !"_ZN67_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hd7f602d787034465E: argument 1"} -!1289 = distinct !{!1289, !"_ZN67_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hd7f602d787034465E"} -!1290 = !{!1291, !1282} -!1291 = distinct !{!1291, !1289, !"_ZN67_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hd7f602d787034465E: argument 0"} -!1292 = !{!1293} -!1293 = distinct !{!1293, !1294, !"_ZN67_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hd7f602d787034465E: argument 1"} -!1294 = distinct !{!1294, !"_ZN67_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hd7f602d787034465E"} -!1295 = !{!1296} -!1296 = distinct !{!1296, !1294, !"_ZN67_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hd7f602d787034465E: argument 0"} -!1297 = !{!1298} -!1298 = distinct !{!1298, !1299, !"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17h55dea538c53e7d70E: argument 0"} -!1299 = distinct !{!1299, !"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17h55dea538c53e7d70E"} -!1300 = !{!1301} -!1301 = distinct !{!1301, !1302, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} -!1302 = distinct !{!1302, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} +!1160 = distinct !{!1160, !1161, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$24adjust_mathml_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h7d3c76871bd54afaE: argument 0"} +!1161 = distinct !{!1161, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$24adjust_mathml_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h7d3c76871bd54afaE"} +!1162 = !{!1163, !1160} +!1163 = distinct !{!1163, !1164, !"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E: argument 0"} +!1164 = distinct !{!1164, !"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E"} +!1165 = !{!1166} +!1166 = distinct !{!1166, !1167, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$19adjust_svg_tag_name17h0c165ab345d93183E: argument 0"} +!1167 = distinct !{!1167, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$19adjust_svg_tag_name17h0c165ab345d93183E"} +!1168 = !{!1169, !1171} +!1169 = distinct !{!1169, !1170, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} +!1170 = distinct !{!1170, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} +!1171 = distinct !{!1171, !1172, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} +!1172 = distinct !{!1172, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} +!1173 = !{!1174, !1176} +!1174 = distinct !{!1174, !1175, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} +!1175 = distinct !{!1175, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} +!1176 = distinct !{!1176, !1177, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} +!1177 = distinct !{!1177, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} +!1178 = !{!1179} +!1179 = distinct !{!1179, !1180, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15current_node_in17h2595f51588423758E: argument 0:pre.rot"} +!1180 = distinct !{!1180, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15current_node_in17h2595f51588423758E"} +!1181 = !{!1182} +!1182 = distinct !{!1182, !1180, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15current_node_in17h2595f51588423758E: argument 0"} +!1183 = !{!1184, !1186} +!1184 = distinct !{!1184, !1185, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} +!1185 = distinct !{!1185, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} +!1186 = distinct !{!1186, !1187, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} +!1187 = distinct !{!1187, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} +!1188 = !{!1189} +!1189 = distinct !{!1189, !1180, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15current_node_in17h2595f51588423758E: argument 0:h.rot"} +!1190 = !{!1191} +!1191 = distinct !{!1191, !1192, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15current_node_in17h792341c9e92fed32E: argument 0:pre.rot"} +!1192 = distinct !{!1192, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15current_node_in17h792341c9e92fed32E"} +!1193 = !{!1194} +!1194 = distinct !{!1194, !1192, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15current_node_in17h792341c9e92fed32E: argument 0"} +!1195 = !{!1196, !1198} +!1196 = distinct !{!1196, !1197, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} +!1197 = distinct !{!1197, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} +!1198 = distinct !{!1198, !1199, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} +!1199 = distinct !{!1199, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} +!1200 = !{!1201} +!1201 = distinct !{!1201, !1192, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15current_node_in17h792341c9e92fed32E: argument 0:h.rot"} +!1202 = !{!1203} +!1203 = distinct !{!1203, !1204, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15current_node_in17hb0d1fbb06cd3c3b5E: argument 0:pre.rot"} +!1204 = distinct !{!1204, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15current_node_in17hb0d1fbb06cd3c3b5E"} +!1205 = !{!1206} +!1206 = distinct !{!1206, !1204, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15current_node_in17hb0d1fbb06cd3c3b5E: argument 0"} +!1207 = !{!1208, !1210} +!1208 = distinct !{!1208, !1209, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} +!1209 = distinct !{!1209, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} +!1210 = distinct !{!1210, !1211, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} +!1211 = distinct !{!1211, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} +!1212 = !{!1213} +!1213 = distinct !{!1213, !1204, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15current_node_in17hb0d1fbb06cd3c3b5E: argument 0:h.rot"} +!1214 = !{!1005, !1002} +!1215 = !{!1216} +!1216 = distinct !{!1216, !1217, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h2ca6d0f7d4ad0587E: argument 0"} +!1217 = distinct !{!1217, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h2ca6d0f7d4ad0587E"} +!1218 = !{!1216, !1219} +!1219 = distinct !{!1219, !1217, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h2ca6d0f7d4ad0587E: argument 1"} +!1220 = !{!1219} +!1221 = !{!1222, !1224} +!1222 = distinct !{!1222, !1223, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} +!1223 = distinct !{!1223, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} +!1224 = distinct !{!1224, !1225, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} +!1225 = distinct !{!1225, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} +!1226 = !{!1227} +!1227 = distinct !{!1227, !1228, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$3pop17hd31d27c8f210272eE: argument 0"} +!1228 = distinct !{!1228, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$3pop17hd31d27c8f210272eE"} +!1229 = !{!1230, !1232} +!1230 = distinct !{!1230, !1231, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} +!1231 = distinct !{!1231, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} +!1232 = distinct !{!1232, !1233, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} +!1233 = distinct !{!1233, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} +!1234 = !{!1235} +!1235 = distinct !{!1235, !1236, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$3pop17hd31d27c8f210272eE: argument 0"} +!1236 = distinct !{!1236, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$3pop17hd31d27c8f210272eE"} +!1237 = !{!1238, !1240} +!1238 = distinct !{!1238, !1239, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} +!1239 = distinct !{!1239, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} +!1240 = distinct !{!1240, !1241, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} +!1241 = distinct !{!1241, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} +!1242 = !{!1243} +!1243 = distinct !{!1243, !1244, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$3pop17hd31d27c8f210272eE: argument 0"} +!1244 = distinct !{!1244, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$3pop17hd31d27c8f210272eE"} +!1245 = !{!1246, !1248} +!1246 = distinct !{!1246, !1247, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} +!1247 = distinct !{!1247, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} +!1248 = distinct !{!1248, !1249, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} +!1249 = distinct !{!1249, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} +!1250 = !{!1251} +!1251 = distinct !{!1251, !1252, !"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17hfd149221a0723dd3E: argument 0"} +!1252 = distinct !{!1252, !"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17hfd149221a0723dd3E"} +!1253 = !{!1254} +!1254 = distinct !{!1254, !1255, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15current_node_in17h310e13b6ae852f24E: argument 0"} +!1255 = distinct !{!1255, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15current_node_in17h310e13b6ae852f24E"} +!1256 = !{!1257, !1259, !1260, !1262} +!1257 = distinct !{!1257, !1258, !"_ZN5alloc3fmt6format28_$u7b$$u7b$closure$u7d$$u7d$17hce9d43525ad966e7E: argument 0"} +!1258 = distinct !{!1258, !"_ZN5alloc3fmt6format28_$u7b$$u7b$closure$u7d$$u7d$17hce9d43525ad966e7E"} +!1259 = distinct !{!1259, !1258, !"_ZN5alloc3fmt6format28_$u7b$$u7b$closure$u7d$$u7d$17hce9d43525ad966e7E: argument 1"} +!1260 = distinct !{!1260, !1261, !"_ZN4core6option15Option$LT$T$GT$11map_or_else17h9fab2ecdf6cdaddcE: argument 0"} +!1261 = distinct !{!1261, !"_ZN4core6option15Option$LT$T$GT$11map_or_else17h9fab2ecdf6cdaddcE"} +!1262 = distinct !{!1262, !1261, !"_ZN4core6option15Option$LT$T$GT$11map_or_else17h9fab2ecdf6cdaddcE: argument 1"} +!1263 = !{!1257, !1260} +!1264 = !{!1265, !1267, !1269, !1271} +!1265 = distinct !{!1265, !1266, !"_ZN77_$LT$alloc..raw_vec..RawVec$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17hf314ce5757a496b7E.llvm.5005022800651993668: argument 0"} +!1266 = distinct !{!1266, !"_ZN77_$LT$alloc..raw_vec..RawVec$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17hf314ce5757a496b7E.llvm.5005022800651993668"} +!1267 = distinct !{!1267, !1268, !"_ZN4core3ptr53drop_in_place$LT$alloc..raw_vec..RawVec$LT$u8$GT$$GT$17h2ec8c7bed695b553E.llvm.5005022800651993668: argument 0"} +!1268 = distinct !{!1268, !"_ZN4core3ptr53drop_in_place$LT$alloc..raw_vec..RawVec$LT$u8$GT$$GT$17h2ec8c7bed695b553E.llvm.5005022800651993668"} +!1269 = distinct !{!1269, !1270, !"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17h402ce7ed475baaf5E: argument 0"} +!1270 = distinct !{!1270, !"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17h402ce7ed475baaf5E"} +!1271 = distinct !{!1271, !1272, !"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hcc1d49382fbafdeaE: argument 0"} +!1272 = distinct !{!1272, !"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hcc1d49382fbafdeaE"} +!1273 = !{!1274} +!1274 = distinct !{!1274, !1275, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17is_marker_or_open17h0980fb8307e0fa3eE: argument 0"} +!1275 = distinct !{!1275, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17is_marker_or_open17h0980fb8307e0fa3eE"} +!1276 = !{!1277, !1279, !1274} +!1277 = distinct !{!1277, !1278, !"_ZN4core4iter6traits12double_ended19DoubleEndedIterator9try_rfold17hf5f8a51cd5c13ef6E: argument 0"} +!1278 = distinct !{!1278, !"_ZN4core4iter6traits12double_ended19DoubleEndedIterator9try_rfold17hf5f8a51cd5c13ef6E"} +!1279 = distinct !{!1279, !1278, !"_ZN4core4iter6traits12double_ended19DoubleEndedIterator9try_rfold17hf5f8a51cd5c13ef6E: argument 1"} +!1280 = !{!1281} +!1281 = distinct !{!1281, !1282, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17is_marker_or_open17h0980fb8307e0fa3eE: argument 0"} +!1282 = distinct !{!1282, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17is_marker_or_open17h0980fb8307e0fa3eE"} +!1283 = !{!1284, !1286, !1281} +!1284 = distinct !{!1284, !1285, !"_ZN4core4iter6traits12double_ended19DoubleEndedIterator9try_rfold17hf5f8a51cd5c13ef6E: argument 0"} +!1285 = distinct !{!1285, !"_ZN4core4iter6traits12double_ended19DoubleEndedIterator9try_rfold17hf5f8a51cd5c13ef6E"} +!1286 = distinct !{!1286, !1285, !"_ZN4core4iter6traits12double_ended19DoubleEndedIterator9try_rfold17hf5f8a51cd5c13ef6E: argument 1"} +!1287 = !{!1288} +!1288 = distinct !{!1288, !1289, !"_ZN75_$LT$html5ever..tokenizer..interface..Tag$u20$as$u20$core..clone..Clone$GT$5clone17h8cc0abc4a6adbb98E: argument 0"} +!1289 = distinct !{!1289, !"_ZN75_$LT$html5ever..tokenizer..interface..Tag$u20$as$u20$core..clone..Clone$GT$5clone17h8cc0abc4a6adbb98E"} +!1290 = !{!1291} +!1291 = distinct !{!1291, !1289, !"_ZN75_$LT$html5ever..tokenizer..interface..Tag$u20$as$u20$core..clone..Clone$GT$5clone17h8cc0abc4a6adbb98E: argument 1"} +!1292 = !{!1288, !1291} +!1293 = !{!1294, !1291} +!1294 = distinct !{!1294, !1295, !"_ZN67_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hd7f602d787034465E: argument 1"} +!1295 = distinct !{!1295, !"_ZN67_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hd7f602d787034465E"} +!1296 = !{!1297, !1288} +!1297 = distinct !{!1297, !1295, !"_ZN67_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hd7f602d787034465E: argument 0"} +!1298 = !{!1299} +!1299 = distinct !{!1299, !1300, !"_ZN67_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hd7f602d787034465E: argument 1"} +!1300 = distinct !{!1300, !"_ZN67_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hd7f602d787034465E"} +!1301 = !{!1302} +!1302 = distinct !{!1302, !1300, !"_ZN67_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hd7f602d787034465E: argument 0"} !1303 = !{!1304} -!1304 = distinct !{!1304, !1305, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} -!1305 = distinct !{!1305, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} -!1306 = !{!1304, !1301, !1298} -!1307 = !{!1308, !1310, !1311, !1313, !1314} -!1308 = distinct !{!1308, !1309, !"_ZN118_$LT$html5ever..tree_builder..ActiveFormattingIter$LT$Handle$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h9ab18e0544eaa11fE: argument 0"} -!1309 = distinct !{!1309, !"_ZN118_$LT$html5ever..tree_builder..ActiveFormattingIter$LT$Handle$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h9ab18e0544eaa11fE"} -!1310 = distinct !{!1310, !1309, !"_ZN118_$LT$html5ever..tree_builder..ActiveFormattingIter$LT$Handle$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h9ab18e0544eaa11fE: argument 1"} -!1311 = distinct !{!1311, !1312, !"_ZN4core4iter6traits8iterator8Iterator8try_fold17h1440b2f0c51fab27E: argument 0"} -!1312 = distinct !{!1312, !"_ZN4core4iter6traits8iterator8Iterator8try_fold17h1440b2f0c51fab27E"} -!1313 = distinct !{!1313, !1312, !"_ZN4core4iter6traits8iterator8Iterator8try_fold17h1440b2f0c51fab27E: argument 1"} -!1314 = distinct !{!1314, !1312, !"_ZN4core4iter6traits8iterator8Iterator8try_fold17h1440b2f0c51fab27E: argument 2"} -!1315 = !{!1316, !1318, !1311, !1313, !1314} -!1316 = distinct !{!1316, !1317, !"_ZN4core4iter6traits8iterator8Iterator4find5check28_$u7b$$u7b$closure$u7d$$u7d$17h85a237c8ecdc06adE: argument 0"} -!1317 = distinct !{!1317, !"_ZN4core4iter6traits8iterator8Iterator4find5check28_$u7b$$u7b$closure$u7d$$u7d$17h85a237c8ecdc06adE"} -!1318 = distinct !{!1318, !1317, !"_ZN4core4iter6traits8iterator8Iterator4find5check28_$u7b$$u7b$closure$u7d$$u7d$17h85a237c8ecdc06adE: argument 1"} -!1319 = !{!1320, !1322} -!1320 = distinct !{!1320, !1321, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8position17h6515c8b587ef83a7E: argument 0"} -!1321 = distinct !{!1321, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8position17h6515c8b587ef83a7E"} -!1322 = distinct !{!1322, !1321, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8position17h6515c8b587ef83a7E: argument 1"} -!1323 = !{!1324} -!1324 = distinct !{!1324, !1325, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17hf5a5a14083491d52E: argument 1"} -!1325 = distinct !{!1325, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17hf5a5a14083491d52E"} -!1326 = !{!1327, !1324, !1328} -!1327 = distinct !{!1327, !1325, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17hf5a5a14083491d52E: argument 0"} -!1328 = distinct !{!1328, !1325, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17hf5a5a14083491d52E: argument 2"} -!1329 = !{!1327, !1328} -!1330 = !{!1331} -!1331 = distinct !{!1331, !1332, !"_ZN4core3ptr144drop_in_place$LT$core..option..Option$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$$GT$17h4250528eb6f4914eE: argument 0"} -!1332 = distinct !{!1332, !"_ZN4core3ptr144drop_in_place$LT$core..option..Option$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$$GT$17h4250528eb6f4914eE"} -!1333 = !{!1334} -!1334 = distinct !{!1334, !1335, !"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17h55dea538c53e7d70E: argument 0"} -!1335 = distinct !{!1335, !"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17h55dea538c53e7d70E"} +!1304 = distinct !{!1304, !1305, !"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17h55dea538c53e7d70E: argument 0"} +!1305 = distinct !{!1305, !"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17h55dea538c53e7d70E"} +!1306 = !{!1307} +!1307 = distinct !{!1307, !1308, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} +!1308 = distinct !{!1308, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} +!1309 = !{!1310} +!1310 = distinct !{!1310, !1311, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} +!1311 = distinct !{!1311, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} +!1312 = !{!1310, !1307, !1304} +!1313 = !{!1314, !1316, !1317, !1319, !1320} +!1314 = distinct !{!1314, !1315, !"_ZN118_$LT$html5ever..tree_builder..ActiveFormattingIter$LT$Handle$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h9ab18e0544eaa11fE: argument 0"} +!1315 = distinct !{!1315, !"_ZN118_$LT$html5ever..tree_builder..ActiveFormattingIter$LT$Handle$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h9ab18e0544eaa11fE"} +!1316 = distinct !{!1316, !1315, !"_ZN118_$LT$html5ever..tree_builder..ActiveFormattingIter$LT$Handle$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h9ab18e0544eaa11fE: argument 1"} +!1317 = distinct !{!1317, !1318, !"_ZN4core4iter6traits8iterator8Iterator8try_fold17h1440b2f0c51fab27E: argument 0"} +!1318 = distinct !{!1318, !"_ZN4core4iter6traits8iterator8Iterator8try_fold17h1440b2f0c51fab27E"} +!1319 = distinct !{!1319, !1318, !"_ZN4core4iter6traits8iterator8Iterator8try_fold17h1440b2f0c51fab27E: argument 1"} +!1320 = distinct !{!1320, !1318, !"_ZN4core4iter6traits8iterator8Iterator8try_fold17h1440b2f0c51fab27E: argument 2"} +!1321 = !{!1322, !1324, !1317, !1319, !1320} +!1322 = distinct !{!1322, !1323, !"_ZN4core4iter6traits8iterator8Iterator4find5check28_$u7b$$u7b$closure$u7d$$u7d$17h85a237c8ecdc06adE: argument 0"} +!1323 = distinct !{!1323, !"_ZN4core4iter6traits8iterator8Iterator4find5check28_$u7b$$u7b$closure$u7d$$u7d$17h85a237c8ecdc06adE"} +!1324 = distinct !{!1324, !1323, !"_ZN4core4iter6traits8iterator8Iterator4find5check28_$u7b$$u7b$closure$u7d$$u7d$17h85a237c8ecdc06adE: argument 1"} +!1325 = !{!1326, !1328} +!1326 = distinct !{!1326, !1327, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8position17h6515c8b587ef83a7E: argument 0"} +!1327 = distinct !{!1327, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8position17h6515c8b587ef83a7E"} +!1328 = distinct !{!1328, !1327, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8position17h6515c8b587ef83a7E: argument 1"} +!1329 = !{!1330} +!1330 = distinct !{!1330, !1331, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17hf5a5a14083491d52E: argument 1"} +!1331 = distinct !{!1331, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17hf5a5a14083491d52E"} +!1332 = !{!1333, !1330, !1334} +!1333 = distinct !{!1333, !1331, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17hf5a5a14083491d52E: argument 0"} +!1334 = distinct !{!1334, !1331, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17hf5a5a14083491d52E: argument 2"} +!1335 = !{!1333, !1334} !1336 = !{!1337} -!1337 = distinct !{!1337, !1338, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} -!1338 = distinct !{!1338, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} +!1337 = distinct !{!1337, !1338, !"_ZN4core3ptr144drop_in_place$LT$core..option..Option$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$$GT$17h4250528eb6f4914eE: argument 0"} +!1338 = distinct !{!1338, !"_ZN4core3ptr144drop_in_place$LT$core..option..Option$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$$GT$17h4250528eb6f4914eE"} !1339 = !{!1340} -!1340 = distinct !{!1340, !1341, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} -!1341 = distinct !{!1341, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} -!1342 = !{!1340, !1337, !1334, !1331} -!1343 = !{!1334, !1331} -!1344 = !{!1345} -!1345 = distinct !{!1345, !1346, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17remove_from_stack17hd82ea4ec9f5cac68E: argument 0"} -!1346 = distinct !{!1346, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17remove_from_stack17hd82ea4ec9f5cac68E"} -!1347 = !{!1348, !1350, !1345} -!1348 = distinct !{!1348, !1349, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$9rposition17h521e82cde11bee44E: argument 0"} -!1349 = distinct !{!1349, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$9rposition17h521e82cde11bee44E"} -!1350 = distinct !{!1350, !1349, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$9rposition17h521e82cde11bee44E: argument 1"} -!1351 = !{!1352} -!1352 = distinct !{!1352, !1353, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h2ca6d0f7d4ad0587E: argument 0"} -!1353 = distinct !{!1353, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h2ca6d0f7d4ad0587E"} -!1354 = !{!1352, !1355, !1345} -!1355 = distinct !{!1355, !1353, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h2ca6d0f7d4ad0587E: argument 1"} -!1356 = !{!1352, !1345} -!1357 = !{!1355} -!1358 = !{!1359, !1361, !1345} -!1359 = distinct !{!1359, !1360, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} -!1360 = distinct !{!1360, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} -!1361 = distinct !{!1361, !1362, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} -!1362 = distinct !{!1362, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} -!1363 = !{!1364, !1366} -!1364 = distinct !{!1364, !1365, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} -!1365 = distinct !{!1365, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} -!1366 = distinct !{!1366, !1367, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} -!1367 = distinct !{!1367, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} -!1368 = !{!1369} -!1369 = distinct !{!1369, !1370, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$8truncate17h1d961b6b829894abE: argument 0"} -!1370 = distinct !{!1370, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$8truncate17h1d961b6b829894abE"} -!1371 = !{!1372} -!1372 = distinct !{!1372, !1373, !"_ZN4core3ptr75drop_in_place$LT$$u5b$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$u5d$$GT$17h260d7135d5ee6716E.llvm.204215390286363894: argument 0"} -!1373 = distinct !{!1373, !"_ZN4core3ptr75drop_in_place$LT$$u5b$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$u5d$$GT$17h260d7135d5ee6716E.llvm.204215390286363894"} +!1340 = distinct !{!1340, !1341, !"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17h55dea538c53e7d70E: argument 0"} +!1341 = distinct !{!1341, !"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17h55dea538c53e7d70E"} +!1342 = !{!1343} +!1343 = distinct !{!1343, !1344, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} +!1344 = distinct !{!1344, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} +!1345 = !{!1346} +!1346 = distinct !{!1346, !1347, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} +!1347 = distinct !{!1347, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} +!1348 = !{!1346, !1343, !1340, !1337} +!1349 = !{!1340, !1337} +!1350 = !{!1351} +!1351 = distinct !{!1351, !1352, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17remove_from_stack17hd82ea4ec9f5cac68E: argument 0"} +!1352 = distinct !{!1352, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17remove_from_stack17hd82ea4ec9f5cac68E"} +!1353 = !{!1354, !1356, !1351} +!1354 = distinct !{!1354, !1355, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$9rposition17h521e82cde11bee44E: argument 0"} +!1355 = distinct !{!1355, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$9rposition17h521e82cde11bee44E"} +!1356 = distinct !{!1356, !1355, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$9rposition17h521e82cde11bee44E: argument 1"} +!1357 = !{!1358} +!1358 = distinct !{!1358, !1359, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h2ca6d0f7d4ad0587E: argument 0"} +!1359 = distinct !{!1359, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h2ca6d0f7d4ad0587E"} +!1360 = !{!1358, !1361, !1351} +!1361 = distinct !{!1361, !1359, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h2ca6d0f7d4ad0587E: argument 1"} +!1362 = !{!1358, !1351} +!1363 = !{!1361} +!1364 = !{!1365, !1367, !1351} +!1365 = distinct !{!1365, !1366, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} +!1366 = distinct !{!1366, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} +!1367 = distinct !{!1367, !1368, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} +!1368 = distinct !{!1368, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} +!1369 = !{!1370, !1372} +!1370 = distinct !{!1370, !1371, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} +!1371 = distinct !{!1371, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} +!1372 = distinct !{!1372, !1373, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} +!1373 = distinct !{!1373, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} !1374 = !{!1375} -!1375 = distinct !{!1375, !1376, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} -!1376 = distinct !{!1376, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} +!1375 = distinct !{!1375, !1376, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$8truncate17h1d961b6b829894abE: argument 0"} +!1376 = distinct !{!1376, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$8truncate17h1d961b6b829894abE"} !1377 = !{!1378} -!1378 = distinct !{!1378, !1379, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} -!1379 = distinct !{!1379, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} -!1380 = !{!1378, !1375, !1372} -!1381 = !{!1378, !1375, !1372, !1369} -!1382 = !{!1372, !1369} +!1378 = distinct !{!1378, !1379, !"_ZN4core3ptr75drop_in_place$LT$$u5b$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$u5d$$GT$17h260d7135d5ee6716E.llvm.204215390286363894: argument 0"} +!1379 = distinct !{!1379, !"_ZN4core3ptr75drop_in_place$LT$$u5b$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$u5d$$GT$17h260d7135d5ee6716E.llvm.204215390286363894"} +!1380 = !{!1381} +!1381 = distinct !{!1381, !1382, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} +!1382 = distinct !{!1382, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} !1383 = !{!1384} -!1384 = distinct !{!1384, !1385, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$20generate_implied_end17h7a2dc8631f07f6d0E: argument 0"} -!1385 = distinct !{!1385, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$20generate_implied_end17h7a2dc8631f07f6d0E"} -!1386 = !{!1387} -!1387 = distinct !{!1387, !1385, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$20generate_implied_end17h7a2dc8631f07f6d0E: argument 1"} -!1388 = !{!1389} -!1389 = distinct !{!1389, !1390, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$27generate_implied_end_except28_$u7b$$u7b$closure$u7d$$u7d$17hd017b265e1cd842cE: argument 0"} -!1390 = distinct !{!1390, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$27generate_implied_end_except28_$u7b$$u7b$closure$u7d$$u7d$17hd017b265e1cd842cE"} -!1391 = !{!1392} -!1392 = distinct !{!1392, !1393, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$3pop17hd31d27c8f210272eE: argument 0"} -!1393 = distinct !{!1393, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$3pop17hd31d27c8f210272eE"} -!1394 = !{!1392, !1384} -!1395 = !{!1392, !1387} -!1396 = !{!1397, !1399, !1387} -!1397 = distinct !{!1397, !1398, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} -!1398 = distinct !{!1398, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} -!1399 = distinct !{!1399, !1400, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} -!1400 = distinct !{!1400, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} -!1401 = !{!1402} -!1402 = distinct !{!1402, !1403, !"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E: argument 0"} -!1403 = distinct !{!1403, !"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E"} -!1404 = !{!1405, !1407} -!1405 = distinct !{!1405, !1406, !"_ZN118_$LT$html5ever..tree_builder..ActiveFormattingIter$LT$Handle$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h9ab18e0544eaa11fE: argument 0"} -!1406 = distinct !{!1406, !"_ZN118_$LT$html5ever..tree_builder..ActiveFormattingIter$LT$Handle$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h9ab18e0544eaa11fE"} -!1407 = distinct !{!1407, !1406, !"_ZN118_$LT$html5ever..tree_builder..ActiveFormattingIter$LT$Handle$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h9ab18e0544eaa11fE: argument 1"} -!1408 = !{!1409} -!1409 = distinct !{!1409, !1410, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17hf5a5a14083491d52E: argument 1"} -!1410 = distinct !{!1410, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17hf5a5a14083491d52E"} -!1411 = !{!1409, !1412} -!1412 = distinct !{!1412, !1410, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17hf5a5a14083491d52E: argument 2"} -!1413 = !{!1414, !1409, !1412} -!1414 = distinct !{!1414, !1410, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17hf5a5a14083491d52E: argument 0"} -!1415 = !{!1414, !1412} -!1416 = !{!1417} -!1417 = distinct !{!1417, !1418, !"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17h55dea538c53e7d70E: argument 0"} -!1418 = distinct !{!1418, !"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17h55dea538c53e7d70E"} -!1419 = !{!1420} -!1420 = distinct !{!1420, !1421, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} -!1421 = distinct !{!1421, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} +!1384 = distinct !{!1384, !1385, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} +!1385 = distinct !{!1385, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} +!1386 = !{!1384, !1381, !1378} +!1387 = !{!1384, !1381, !1378, !1375} +!1388 = !{!1378, !1375} +!1389 = !{!1390} +!1390 = distinct !{!1390, !1391, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$20generate_implied_end17h7a2dc8631f07f6d0E: argument 0"} +!1391 = distinct !{!1391, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$20generate_implied_end17h7a2dc8631f07f6d0E"} +!1392 = !{!1393} +!1393 = distinct !{!1393, !1391, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$20generate_implied_end17h7a2dc8631f07f6d0E: argument 1"} +!1394 = !{!1395} +!1395 = distinct !{!1395, !1396, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$27generate_implied_end_except28_$u7b$$u7b$closure$u7d$$u7d$17hd017b265e1cd842cE: argument 0"} +!1396 = distinct !{!1396, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$27generate_implied_end_except28_$u7b$$u7b$closure$u7d$$u7d$17hd017b265e1cd842cE"} +!1397 = !{!1398} +!1398 = distinct !{!1398, !1399, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$3pop17hd31d27c8f210272eE: argument 0"} +!1399 = distinct !{!1399, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$3pop17hd31d27c8f210272eE"} +!1400 = !{!1398, !1390} +!1401 = !{!1398, !1393} +!1402 = !{!1403, !1405, !1393} +!1403 = distinct !{!1403, !1404, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} +!1404 = distinct !{!1404, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} +!1405 = distinct !{!1405, !1406, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} +!1406 = distinct !{!1406, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} +!1407 = !{!1408} +!1408 = distinct !{!1408, !1409, !"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E: argument 0"} +!1409 = distinct !{!1409, !"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h6ef0aa1cb44f6be4E"} +!1410 = !{!1411, !1413} +!1411 = distinct !{!1411, !1412, !"_ZN118_$LT$html5ever..tree_builder..ActiveFormattingIter$LT$Handle$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h9ab18e0544eaa11fE: argument 0"} +!1412 = distinct !{!1412, !"_ZN118_$LT$html5ever..tree_builder..ActiveFormattingIter$LT$Handle$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h9ab18e0544eaa11fE"} +!1413 = distinct !{!1413, !1412, !"_ZN118_$LT$html5ever..tree_builder..ActiveFormattingIter$LT$Handle$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h9ab18e0544eaa11fE: argument 1"} +!1414 = !{!1415} +!1415 = distinct !{!1415, !1416, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17hf5a5a14083491d52E: argument 1"} +!1416 = distinct !{!1416, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17hf5a5a14083491d52E"} +!1417 = !{!1415, !1418} +!1418 = distinct !{!1418, !1416, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17hf5a5a14083491d52E: argument 2"} +!1419 = !{!1420, !1415, !1418} +!1420 = distinct !{!1420, !1416, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17hf5a5a14083491d52E: argument 0"} +!1421 = !{!1420, !1418} !1422 = !{!1423} -!1423 = distinct !{!1423, !1424, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} -!1424 = distinct !{!1424, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} -!1425 = !{!1423, !1420, !1417} -!1426 = !{!1427} -!1427 = distinct !{!1427, !1428, !"_ZN67_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hd7f602d787034465E: argument 1"} -!1428 = distinct !{!1428, !"_ZN67_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hd7f602d787034465E"} -!1429 = !{!1430} -!1430 = distinct !{!1430, !1428, !"_ZN67_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hd7f602d787034465E: argument 0"} -!1431 = !{!1432} -!1432 = distinct !{!1432, !1433, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17hb7e0c74e06a8e5efE: argument 0"} -!1433 = distinct !{!1433, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17hb7e0c74e06a8e5efE"} -!1434 = !{!1435} -!1435 = distinct !{!1435, !1433, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17hb7e0c74e06a8e5efE: argument 1"} -!1436 = !{!1437} -!1437 = distinct !{!1437, !1438, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} -!1438 = distinct !{!1438, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} -!1439 = !{!1440} -!1440 = distinct !{!1440, !1441, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} -!1441 = distinct !{!1441, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} -!1442 = !{!1440, !1437} -!1443 = !{!1444} -!1444 = distinct !{!1444, !1445, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} -!1445 = distinct !{!1445, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} -!1446 = !{!1447} -!1447 = distinct !{!1447, !1448, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} -!1448 = distinct !{!1448, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} -!1449 = !{!1447, !1444} -!1450 = !{!1451} -!1451 = distinct !{!1451, !1452, !"_ZN4core3ptr144drop_in_place$LT$core..option..Option$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$$GT$17h4250528eb6f4914eE: argument 0"} -!1452 = distinct !{!1452, !"_ZN4core3ptr144drop_in_place$LT$core..option..Option$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$$GT$17h4250528eb6f4914eE"} -!1453 = !{!1454} -!1454 = distinct !{!1454, !1455, !"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17h55dea538c53e7d70E: argument 0"} -!1455 = distinct !{!1455, !"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17h55dea538c53e7d70E"} +!1423 = distinct !{!1423, !1424, !"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17h55dea538c53e7d70E: argument 0"} +!1424 = distinct !{!1424, !"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17h55dea538c53e7d70E"} +!1425 = !{!1426} +!1426 = distinct !{!1426, !1427, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} +!1427 = distinct !{!1427, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} +!1428 = !{!1429} +!1429 = distinct !{!1429, !1430, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} +!1430 = distinct !{!1430, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} +!1431 = !{!1429, !1426, !1423} +!1432 = !{!1433} +!1433 = distinct !{!1433, !1434, !"_ZN67_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hd7f602d787034465E: argument 1"} +!1434 = distinct !{!1434, !"_ZN67_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hd7f602d787034465E"} +!1435 = !{!1436} +!1436 = distinct !{!1436, !1434, !"_ZN67_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hd7f602d787034465E: argument 0"} +!1437 = !{!1438} +!1438 = distinct !{!1438, !1439, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17hb7e0c74e06a8e5efE: argument 0"} +!1439 = distinct !{!1439, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17hb7e0c74e06a8e5efE"} +!1440 = !{!1441} +!1441 = distinct !{!1441, !1439, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17hb7e0c74e06a8e5efE: argument 1"} +!1442 = !{!1443} +!1443 = distinct !{!1443, !1444, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} +!1444 = distinct !{!1444, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} +!1445 = !{!1446} +!1446 = distinct !{!1446, !1447, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} +!1447 = distinct !{!1447, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} +!1448 = !{!1446, !1443} +!1449 = !{!1450} +!1450 = distinct !{!1450, !1451, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} +!1451 = distinct !{!1451, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} +!1452 = !{!1453} +!1453 = distinct !{!1453, !1454, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} +!1454 = distinct !{!1454, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} +!1455 = !{!1453, !1450} !1456 = !{!1457} -!1457 = distinct !{!1457, !1458, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} -!1458 = distinct !{!1458, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} +!1457 = distinct !{!1457, !1458, !"_ZN4core3ptr144drop_in_place$LT$core..option..Option$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$$GT$17h4250528eb6f4914eE: argument 0"} +!1458 = distinct !{!1458, !"_ZN4core3ptr144drop_in_place$LT$core..option..Option$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$$GT$17h4250528eb6f4914eE"} !1459 = !{!1460} -!1460 = distinct !{!1460, !1461, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} -!1461 = distinct !{!1461, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} -!1462 = !{!1460, !1457, !1454, !1451} -!1463 = !{!1454, !1451} -!1464 = !{!1465} -!1465 = distinct !{!1465, !1466, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15current_node_in17hffe32a49df2a1271E: argument 0"} -!1466 = distinct !{!1466, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15current_node_in17hffe32a49df2a1271E"} -!1467 = !{!1468} -!1468 = distinct !{!1468, !1469, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$39unexpected_start_tag_in_foreign_content28_$u7b$$u7b$closure$u7d$$u7d$17hef7fa78dba858d0dE: argument 0"} -!1469 = distinct !{!1469, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$39unexpected_start_tag_in_foreign_content28_$u7b$$u7b$closure$u7d$$u7d$17hef7fa78dba858d0dE"} +!1460 = distinct !{!1460, !1461, !"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17h55dea538c53e7d70E: argument 0"} +!1461 = distinct !{!1461, !"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17h55dea538c53e7d70E"} +!1462 = !{!1463} +!1463 = distinct !{!1463, !1464, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} +!1464 = distinct !{!1464, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} +!1465 = !{!1466} +!1466 = distinct !{!1466, !1467, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} +!1467 = distinct !{!1467, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} +!1468 = !{!1466, !1463, !1460, !1457} +!1469 = !{!1460, !1457} !1470 = !{!1471} -!1471 = distinct !{!1471, !1472, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$3pop17hd31d27c8f210272eE: argument 0"} -!1472 = distinct !{!1472, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$3pop17hd31d27c8f210272eE"} -!1473 = !{!1474, !1476} -!1474 = distinct !{!1474, !1475, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} -!1475 = distinct !{!1475, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} -!1476 = distinct !{!1476, !1477, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} -!1477 = distinct !{!1477, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} -!1478 = !{!1479, !1481, !1483, !1485} -!1479 = distinct !{!1479, !1480, !"_ZN77_$LT$alloc..raw_vec..RawVec$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17hf314ce5757a496b7E.llvm.5005022800651993668: argument 0"} -!1480 = distinct !{!1480, !"_ZN77_$LT$alloc..raw_vec..RawVec$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17hf314ce5757a496b7E.llvm.5005022800651993668"} -!1481 = distinct !{!1481, !1482, !"_ZN4core3ptr53drop_in_place$LT$alloc..raw_vec..RawVec$LT$u8$GT$$GT$17h2ec8c7bed695b553E.llvm.5005022800651993668: argument 0"} -!1482 = distinct !{!1482, !"_ZN4core3ptr53drop_in_place$LT$alloc..raw_vec..RawVec$LT$u8$GT$$GT$17h2ec8c7bed695b553E.llvm.5005022800651993668"} -!1483 = distinct !{!1483, !1484, !"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17h402ce7ed475baaf5E: argument 0"} -!1484 = distinct !{!1484, !"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17h402ce7ed475baaf5E"} -!1485 = distinct !{!1485, !1486, !"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hcc1d49382fbafdeaE: argument 0"} -!1486 = distinct !{!1486, !"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hcc1d49382fbafdeaE"} -!1487 = !{!1488} -!1488 = distinct !{!1488, !1489, !"_ZN91_$LT$markup5ever_rcdom..RcDom$u20$as$u20$markup5ever..interface..tree_builder..TreeSink$GT$15set_quirks_mode17h7ed3a500f3488ed4E: argument 0"} -!1489 = distinct !{!1489, !"_ZN91_$LT$markup5ever_rcdom..RcDom$u20$as$u20$markup5ever..interface..tree_builder..TreeSink$GT$15set_quirks_mode17h7ed3a500f3488ed4E"} -!1490 = !{!1491} -!1491 = distinct !{!1491, !1492, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17h06cee08d66cd711cE: argument 0"} -!1492 = distinct !{!1492, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17h06cee08d66cd711cE"} -!1493 = !{i8 0, i8 24} -!1494 = !{!1495} -!1495 = distinct !{!1495, !1496, !"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h96e09646754beb66E: argument 1"} -!1496 = distinct !{!1496, !"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h96e09646754beb66E"} -!1497 = !{!1498} -!1498 = distinct !{!1498, !1496, !"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h96e09646754beb66E: argument 0"} -!1499 = !{!1500} -!1500 = distinct !{!1500, !1501, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$20insert_appropriately17hca73dfcef86f1f83E: argument 1"} -!1501 = distinct !{!1501, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$20insert_appropriately17hca73dfcef86f1f83E"} -!1502 = !{!1503, !1500} -!1503 = distinct !{!1503, !1501, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$20insert_appropriately17hca73dfcef86f1f83E: argument 0"} -!1504 = !{!1503} +!1471 = distinct !{!1471, !1472, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15current_node_in17hffe32a49df2a1271E: argument 0"} +!1472 = distinct !{!1472, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15current_node_in17hffe32a49df2a1271E"} +!1473 = !{!1474} +!1474 = distinct !{!1474, !1475, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$39unexpected_start_tag_in_foreign_content28_$u7b$$u7b$closure$u7d$$u7d$17hef7fa78dba858d0dE: argument 0"} +!1475 = distinct !{!1475, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$39unexpected_start_tag_in_foreign_content28_$u7b$$u7b$closure$u7d$$u7d$17hef7fa78dba858d0dE"} +!1476 = !{!1477} +!1477 = distinct !{!1477, !1478, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$3pop17hd31d27c8f210272eE: argument 0"} +!1478 = distinct !{!1478, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$3pop17hd31d27c8f210272eE"} +!1479 = !{!1480, !1482} +!1480 = distinct !{!1480, !1481, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} +!1481 = distinct !{!1481, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} +!1482 = distinct !{!1482, !1483, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} +!1483 = distinct !{!1483, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} +!1484 = !{!1485, !1487, !1489, !1491} +!1485 = distinct !{!1485, !1486, !"_ZN77_$LT$alloc..raw_vec..RawVec$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17hf314ce5757a496b7E.llvm.5005022800651993668: argument 0"} +!1486 = distinct !{!1486, !"_ZN77_$LT$alloc..raw_vec..RawVec$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17hf314ce5757a496b7E.llvm.5005022800651993668"} +!1487 = distinct !{!1487, !1488, !"_ZN4core3ptr53drop_in_place$LT$alloc..raw_vec..RawVec$LT$u8$GT$$GT$17h2ec8c7bed695b553E.llvm.5005022800651993668: argument 0"} +!1488 = distinct !{!1488, !"_ZN4core3ptr53drop_in_place$LT$alloc..raw_vec..RawVec$LT$u8$GT$$GT$17h2ec8c7bed695b553E.llvm.5005022800651993668"} +!1489 = distinct !{!1489, !1490, !"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17h402ce7ed475baaf5E: argument 0"} +!1490 = distinct !{!1490, !"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17h402ce7ed475baaf5E"} +!1491 = distinct !{!1491, !1492, !"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hcc1d49382fbafdeaE: argument 0"} +!1492 = distinct !{!1492, !"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hcc1d49382fbafdeaE"} +!1493 = !{!1494} +!1494 = distinct !{!1494, !1495, !"_ZN91_$LT$markup5ever_rcdom..RcDom$u20$as$u20$markup5ever..interface..tree_builder..TreeSink$GT$15set_quirks_mode17h7ed3a500f3488ed4E: argument 0"} +!1495 = distinct !{!1495, !"_ZN91_$LT$markup5ever_rcdom..RcDom$u20$as$u20$markup5ever..interface..tree_builder..TreeSink$GT$15set_quirks_mode17h7ed3a500f3488ed4E"} +!1496 = !{!1497} +!1497 = distinct !{!1497, !1498, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17h06cee08d66cd711cE: argument 0"} +!1498 = distinct !{!1498, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17h06cee08d66cd711cE"} +!1499 = !{i8 0, i8 24} +!1500 = !{!1501} +!1501 = distinct !{!1501, !1502, !"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h96e09646754beb66E: argument 1"} +!1502 = distinct !{!1502, !"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h96e09646754beb66E"} +!1503 = !{!1504} +!1504 = distinct !{!1504, !1502, !"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h96e09646754beb66E: argument 0"} !1505 = !{!1506} -!1506 = distinct !{!1506, !1496, !"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h96e09646754beb66E: argument 1:h.rot"} -!1507 = !{!1508} -!1508 = distinct !{!1508, !1509, !"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h96e09646754beb66E: argument 1"} -!1509 = distinct !{!1509, !"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h96e09646754beb66E"} -!1510 = !{!1511} -!1511 = distinct !{!1511, !1509, !"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h96e09646754beb66E: argument 0"} -!1512 = !{!1513} -!1513 = distinct !{!1513, !1509, !"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h96e09646754beb66E: argument 1:h.rot"} -!1514 = !{!1515} -!1515 = distinct !{!1515, !1516, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17h06cee08d66cd711cE: argument 0"} -!1516 = distinct !{!1516, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17h06cee08d66cd711cE"} -!1517 = !{!1518} -!1518 = distinct !{!1518, !1519, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17h06cee08d66cd711cE: argument 0"} -!1519 = distinct !{!1519, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17h06cee08d66cd711cE"} +!1506 = distinct !{!1506, !1507, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$20insert_appropriately17hca73dfcef86f1f83E: argument 1"} +!1507 = distinct !{!1507, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$20insert_appropriately17hca73dfcef86f1f83E"} +!1508 = !{!1509, !1506} +!1509 = distinct !{!1509, !1507, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$20insert_appropriately17hca73dfcef86f1f83E: argument 0"} +!1510 = !{!1509} +!1511 = !{!1512} +!1512 = distinct !{!1512, !1502, !"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h96e09646754beb66E: argument 1:h.rot"} +!1513 = !{!1514} +!1514 = distinct !{!1514, !1515, !"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h96e09646754beb66E: argument 1"} +!1515 = distinct !{!1515, !"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h96e09646754beb66E"} +!1516 = !{!1517} +!1517 = distinct !{!1517, !1515, !"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h96e09646754beb66E: argument 0"} +!1518 = !{!1519} +!1519 = distinct !{!1519, !1515, !"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h96e09646754beb66E: argument 1:h.rot"} !1520 = !{!1521} !1521 = distinct !{!1521, !1522, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17h06cee08d66cd711cE: argument 0"} !1522 = distinct !{!1522, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17h06cee08d66cd711cE"} @@ -24688,65 +24768,71 @@ attributes #18 = { noreturn } !1526 = !{!1527} !1527 = distinct !{!1527, !1528, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17h06cee08d66cd711cE: argument 0"} !1528 = distinct !{!1528, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17h06cee08d66cd711cE"} -!1529 = !{!1530, !1532} -!1530 = distinct !{!1530, !1531, !"_ZN7tendril7tendril20Tendril$LT$F$C$A$GT$10assume_buf17h6fced12bcf0adea5E: argument 0"} -!1531 = distinct !{!1531, !"_ZN7tendril7tendril20Tendril$LT$F$C$A$GT$10assume_buf17h6fced12bcf0adea5E"} -!1532 = distinct !{!1532, !1533, !"_ZN80_$LT$tendril..tendril..Tendril$LT$F$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17he5ba02c931f68595E: argument 0"} -!1533 = distinct !{!1533, !"_ZN80_$LT$tendril..tendril..Tendril$LT$F$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17he5ba02c931f68595E"} -!1534 = !{!1532} -!1535 = !{!1536} -!1536 = distinct !{!1536, !1537, !"_ZN9html5ever12tree_builder8tag_sets13default_scope17ha11ea3e90aa1c6a2E: argument 0"} -!1537 = distinct !{!1537, !"_ZN9html5ever12tree_builder8tag_sets13default_scope17ha11ea3e90aa1c6a2E"} -!1538 = !{!1539} -!1539 = distinct !{!1539, !1537, !"_ZN9html5ever12tree_builder8tag_sets13default_scope17ha11ea3e90aa1c6a2E: argument 1"} -!1540 = !{!1541, !1543} -!1541 = distinct !{!1541, !1542, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} -!1542 = distinct !{!1542, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} -!1543 = distinct !{!1543, !1544, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} -!1544 = distinct !{!1544, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} -!1545 = !{!1546, !1548} -!1546 = distinct !{!1546, !1547, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} -!1547 = distinct !{!1547, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} -!1548 = distinct !{!1548, !1549, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} -!1549 = distinct !{!1549, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} -!1550 = !{!1551, !1553} -!1551 = distinct !{!1551, !1552, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} -!1552 = distinct !{!1552, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} -!1553 = distinct !{!1553, !1554, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} -!1554 = distinct !{!1554, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} -!1555 = !{!1556, !1558} -!1556 = distinct !{!1556, !1557, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} -!1557 = distinct !{!1557, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} -!1558 = distinct !{!1558, !1559, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} -!1559 = distinct !{!1559, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} -!1560 = !{!1561, !1563} -!1561 = distinct !{!1561, !1562, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} -!1562 = distinct !{!1562, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} -!1563 = distinct !{!1563, !1564, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} -!1564 = distinct !{!1564, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} -!1565 = !{!1566, !1568} -!1566 = distinct !{!1566, !1567, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} -!1567 = distinct !{!1567, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} -!1568 = distinct !{!1568, !1569, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} -!1569 = distinct !{!1569, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} -!1570 = !{!1571} -!1571 = distinct !{!1571, !1572, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} -!1572 = distinct !{!1572, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} -!1573 = !{!1574} -!1574 = distinct !{!1574, !1575, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} -!1575 = distinct !{!1575, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} -!1576 = !{!1574, !1571} -!1577 = !{!1578} -!1578 = distinct !{!1578, !1579, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} -!1579 = distinct !{!1579, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} -!1580 = !{!1581} -!1581 = distinct !{!1581, !1582, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} -!1582 = distinct !{!1582, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} -!1583 = !{!1581, !1578} -!1584 = !{!1585} -!1585 = distinct !{!1585, !1586, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} -!1586 = distinct !{!1586, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} -!1587 = !{!1588} -!1588 = distinct !{!1588, !1589, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} -!1589 = distinct !{!1589, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} -!1590 = !{!1588, !1585} +!1529 = !{!1530} +!1530 = distinct !{!1530, !1531, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17h06cee08d66cd711cE: argument 0"} +!1531 = distinct !{!1531, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17h06cee08d66cd711cE"} +!1532 = !{!1533} +!1533 = distinct !{!1533, !1534, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17h06cee08d66cd711cE: argument 0"} +!1534 = distinct !{!1534, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17h06cee08d66cd711cE"} +!1535 = !{!1536, !1538} +!1536 = distinct !{!1536, !1537, !"_ZN7tendril7tendril20Tendril$LT$F$C$A$GT$10assume_buf17h6fced12bcf0adea5E: argument 0"} +!1537 = distinct !{!1537, !"_ZN7tendril7tendril20Tendril$LT$F$C$A$GT$10assume_buf17h6fced12bcf0adea5E"} +!1538 = distinct !{!1538, !1539, !"_ZN80_$LT$tendril..tendril..Tendril$LT$F$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17he5ba02c931f68595E: argument 0"} +!1539 = distinct !{!1539, !"_ZN80_$LT$tendril..tendril..Tendril$LT$F$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17he5ba02c931f68595E"} +!1540 = !{!1538} +!1541 = !{!1542} +!1542 = distinct !{!1542, !1543, !"_ZN9html5ever12tree_builder8tag_sets13default_scope17ha11ea3e90aa1c6a2E: argument 0"} +!1543 = distinct !{!1543, !"_ZN9html5ever12tree_builder8tag_sets13default_scope17ha11ea3e90aa1c6a2E"} +!1544 = !{!1545} +!1545 = distinct !{!1545, !1543, !"_ZN9html5ever12tree_builder8tag_sets13default_scope17ha11ea3e90aa1c6a2E: argument 1"} +!1546 = !{!1547, !1549} +!1547 = distinct !{!1547, !1548, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} +!1548 = distinct !{!1548, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} +!1549 = distinct !{!1549, !1550, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} +!1550 = distinct !{!1550, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} +!1551 = !{!1552, !1554} +!1552 = distinct !{!1552, !1553, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} +!1553 = distinct !{!1553, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} +!1554 = distinct !{!1554, !1555, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} +!1555 = distinct !{!1555, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} +!1556 = !{!1557, !1559} +!1557 = distinct !{!1557, !1558, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} +!1558 = distinct !{!1558, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} +!1559 = distinct !{!1559, !1560, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} +!1560 = distinct !{!1560, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} +!1561 = !{!1562, !1564} +!1562 = distinct !{!1562, !1563, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} +!1563 = distinct !{!1563, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} +!1564 = distinct !{!1564, !1565, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} +!1565 = distinct !{!1565, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} +!1566 = !{!1567, !1569} +!1567 = distinct !{!1567, !1568, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} +!1568 = distinct !{!1568, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} +!1569 = distinct !{!1569, !1570, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} +!1570 = distinct !{!1570, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} +!1571 = !{!1572, !1574} +!1572 = distinct !{!1572, !1573, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} +!1573 = distinct !{!1573, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} +!1574 = distinct !{!1574, !1575, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} +!1575 = distinct !{!1575, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} +!1576 = !{!1577} +!1577 = distinct !{!1577, !1578, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} +!1578 = distinct !{!1578, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} +!1579 = !{!1580} +!1580 = distinct !{!1580, !1581, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} +!1581 = distinct !{!1581, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} +!1582 = !{!1580, !1577} +!1583 = !{!1584} +!1584 = distinct !{!1584, !1585, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} +!1585 = distinct !{!1585, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} +!1586 = !{!1587} +!1587 = distinct !{!1587, !1588, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} +!1588 = distinct !{!1588, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} +!1589 = !{!1587, !1584} +!1590 = !{!1591} +!1591 = distinct !{!1591, !1592, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E: argument 0"} +!1592 = distinct !{!1592, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17h1437806451383ea0E"} +!1593 = !{!1594} +!1594 = distinct !{!1594, !1595, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668: argument 0"} +!1595 = distinct !{!1595, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2a15ef74ac5367d3E.llvm.5005022800651993668"} +!1596 = !{!1594, !1591} diff --git a/bench/zed-rs/optimized/e8p2cuwt1sxb20ryu42v8urkr.ll b/bench/zed-rs/optimized/e8p2cuwt1sxb20ryu42v8urkr.ll index 16e8fadb86d..bb6be04905a 100644 --- a/bench/zed-rs/optimized/e8p2cuwt1sxb20ryu42v8urkr.ll +++ b/bench/zed-rs/optimized/e8p2cuwt1sxb20ryu42v8urkr.ll @@ -104972,112 +104972,197 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle %6 = alloca [24 x i8], align 8 %7 = alloca [8 x i8], align 8 store i64 %3, ptr %7, align 8 - %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %2, i64 8 - %.val5.pre = load ptr, ptr %.phi.trans.insert, align 8 - %.phi.trans.insert18 = getelementptr inbounds nuw i8, ptr %2, i64 16 - %.val6.pre = load i64, ptr %.phi.trans.insert18, align 8 - switch i64 %3, label %._crit_edge [ - i64 4294967298, label %8 - i64 17179869186, label %9 + switch i64 %3, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17adjust_attributes17h50df9ac8f3cd404dE.exit" [ + i64 4294967298, label %10 + i64 17179869186, label %35 ] -._crit_edge: ; preds = %4, %9, %8 - invoke fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17adjust_attributes17h101d483d08435de5E"(ptr nonnull %.val5.pre, i64 %.val6.pre) - to label %10 unwind label %36 +"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17adjust_attributes17h50df9ac8f3cd404dE.exit": ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$24adjust_mathml_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h1edf363c9eff4177E.exit.thread.i", %10, %35, %4 + %8 = getelementptr inbounds nuw i8, ptr %2, i64 8 + %.val5 = load ptr, ptr %8, align 8, !nonnull !11, !noundef !11 + %9 = getelementptr inbounds nuw i8, ptr %2, i64 16 + %.val6 = load i64, ptr %9, align 8, !noundef !11 + invoke fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17adjust_attributes17h101d483d08435de5E"(ptr nonnull %.val5, i64 %.val6) + to label %38 unwind label %.body.thread22.loopexit.split-lp -8: ; preds = %4 - invoke fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17adjust_attributes17h50df9ac8f3cd404dE"(ptr nonnull %.val5.pre, i64 %.val6.pre) - to label %._crit_edge unwind label %36 +10: ; preds = %4 + %11 = getelementptr inbounds nuw i8, ptr %2, i64 8 + %.val7 = load ptr, ptr %11, align 8, !nonnull !11, !noundef !11 + %12 = getelementptr inbounds nuw i8, ptr %2, i64 16 + %.val8 = load i64, ptr %12, align 8, !noundef !11 + %13 = getelementptr inbounds { { i64, i64, i64 }, { i64, { { [2 x i32] } }, {}, {} } }, ptr %.val7, i64 %.val8 + %14 = icmp eq i64 %.val8, 0 + br i1 %14, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17adjust_attributes17h50df9ac8f3cd404dE.exit", label %"_ZN94_$LT$core..slice..iter..IterMut$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0cd7f7379fd9c4afE.exit.i" + +"_ZN94_$LT$core..slice..iter..IterMut$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0cd7f7379fd9c4afE.exit.i": ; preds = %10, %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$24adjust_mathml_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h1edf363c9eff4177E.exit.thread.i" + %.sroa.0.013.i = phi ptr [ %15, %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$24adjust_mathml_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h1edf363c9eff4177E.exit.thread.i" ], [ %.val7, %10 ] + %15 = getelementptr inbounds nuw i8, ptr %.sroa.0.013.i, i64 40 + %16 = getelementptr inbounds nuw i8, ptr %.sroa.0.013.i, i64 8 + %17 = load i64, ptr %16, align 8, !range !3781, !noundef !11 + %18 = and i64 %17, 3 + %19 = icmp eq i64 %18, 0 + br i1 %19, label %20, label %.thread.i -9: ; preds = %4 - invoke fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17adjust_attributes17h7713f6a293cecb65E"(ptr nonnull %.val5.pre, i64 %.val6.pre) - to label %._crit_edge unwind label %36 +20: ; preds = %"_ZN94_$LT$core..slice..iter..IterMut$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0cd7f7379fd9c4afE.exit.i" + %21 = inttoptr i64 %17 to ptr + %22 = getelementptr inbounds nuw i8, ptr %21, i64 16 + %23 = atomicrmw add ptr %22, i64 1 seq_cst, align 8 + %24 = atomicrmw sub ptr %22, i64 1 seq_cst, align 8, !noalias !29442 + %25 = icmp eq i64 %24, 1 + br i1 %25, label %27, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$24adjust_mathml_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h1edf363c9eff4177E.exit.thread.i" -10: ; preds = %._crit_edge - %11 = getelementptr inbounds nuw i8, ptr %2, i64 33 - %12 = load i8, ptr %11, align 1, !range !376, !noundef !11 - %13 = trunc nuw i8 %12 to i1 - %14 = getelementptr inbounds nuw i8, ptr %2, i64 24 - %15 = load i64, ptr %14, align 8, !range !3781, !noundef !11 - br i1 %13, label %21, label %16 +.thread.i: ; preds = %"_ZN94_$LT$core..slice..iter..IterMut$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0cd7f7379fd9c4afE.exit.i" + %26 = icmp eq i64 %17, 3818225926146 + br i1 %26, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$24adjust_mathml_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h1edf363c9eff4177E.exit.i", label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$24adjust_mathml_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h1edf363c9eff4177E.exit.thread.i" -16: ; preds = %10 +27: ; preds = %20 + %28 = invoke noundef ptr @_ZN4core4sync6atomic11atomic_load17hf6ae17783efc19dfE.llvm.5997636334944773990(ptr noundef nonnull getelementptr inbounds nuw (i8, ptr @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, i64 16), i8 noundef 2) + to label %.noexc unwind label %.body.thread22.loopexit + +.noexc: ; preds = %27 + %.not.i.i.i.i.i.i = icmp eq ptr %28, inttoptr (i64 2 to ptr) + br i1 %.not.i.i.i.i.i.i, label %"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h734fc4935bbafb8fE.exit.i.i.i.i", label %29 + +29: ; preds = %.noexc + invoke void @"_ZN9once_cell3imp17OnceCell$LT$T$GT$10initialize17h2106f0dc51d20ab9E"(ptr noundef nonnull align 8 @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, ptr noundef nonnull align 8 @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E) + to label %.noexc11 unwind label %.body.thread22.loopexit + +.noexc11: ; preds = %29 + %30 = load ptr, ptr @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, align 8, !noalias !29445, !noundef !11 + %31 = icmp ne ptr %30, null + tail call void @llvm.assume(i1 %31) + br label %"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h734fc4935bbafb8fE.exit.i.i.i.i" + +"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h734fc4935bbafb8fE.exit.i.i.i.i": ; preds = %.noexc11, %.noexc + invoke void @_ZN12string_cache11dynamic_set3Set6remove17h358d1c715f07230eE(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, ptr noundef nonnull %21) + to label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$24adjust_mathml_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h1edf363c9eff4177E.exit.thread.i" unwind label %.body.thread22.loopexit + +"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$24adjust_mathml_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h1edf363c9eff4177E.exit.i": ; preds = %.thread.i + invoke void @"_ZN4core3ptr53drop_in_place$LT$markup5ever..interface..QualName$GT$17h8527fdd7f8dc260bE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %.sroa.0.013.i) + to label %33 unwind label %.body.thread + +.body.thread: ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$24adjust_mathml_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h1edf363c9eff4177E.exit.i" + %32 = landingpad { ptr, i32 } + cleanup + store i64 25769803778, ptr %.sroa.0.013.i, align 8 + store i64 4655744548866, ptr %16, align 8 + %.sroa.4.0..sroa.0.0.i.sroa_idx.i = getelementptr inbounds nuw i8, ptr %.sroa.0.013.i, i64 16 + store i64 0, ptr %.sroa.4.0..sroa.0.0.i.sroa_idx.i, align 8 + br label %.body.thread22 + +33: ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$24adjust_mathml_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h1edf363c9eff4177E.exit.i" + store i64 25769803778, ptr %.sroa.0.013.i, align 8 + store i64 4655744548866, ptr %16, align 8 + %.sroa.4.0..sroa.0.0.i.sroa_idx6.i = getelementptr inbounds nuw i8, ptr %.sroa.0.013.i, i64 16 + store i64 0, ptr %.sroa.4.0..sroa.0.0.i.sroa_idx6.i, align 8 + br label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$24adjust_mathml_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h1edf363c9eff4177E.exit.thread.i" + +"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$24adjust_mathml_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h1edf363c9eff4177E.exit.thread.i": ; preds = %"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h734fc4935bbafb8fE.exit.i.i.i.i", %33, %.thread.i, %20 + %34 = icmp eq ptr %15, %13 + br i1 %34, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17adjust_attributes17h50df9ac8f3cd404dE.exit", label %"_ZN94_$LT$core..slice..iter..IterMut$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0cd7f7379fd9c4afE.exit.i" + +35: ; preds = %4 + %36 = getelementptr inbounds nuw i8, ptr %2, i64 8 + %.val9 = load ptr, ptr %36, align 8, !nonnull !11, !noundef !11 + %37 = getelementptr inbounds nuw i8, ptr %2, i64 16 + %.val10 = load i64, ptr %37, align 8, !noundef !11 + invoke fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17adjust_attributes17h7713f6a293cecb65E"(ptr nonnull %.val9, i64 %.val10) + to label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17adjust_attributes17h50df9ac8f3cd404dE.exit" unwind label %.body.thread22.loopexit.split-lp + +.body.thread22.loopexit: ; preds = %"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h734fc4935bbafb8fE.exit.i.i.i.i", %29, %27 + %lpad.loopexit = landingpad { ptr, i32 } + cleanup + br label %.body.thread22 + +.body.thread22.loopexit.split-lp: ; preds = %35, %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17adjust_attributes17h50df9ac8f3cd404dE.exit" + %lpad.loopexit.split-lp = landingpad { ptr, i32 } + cleanup + br label %.body.thread22 + +38: ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17adjust_attributes17h50df9ac8f3cd404dE.exit" + %39 = getelementptr inbounds nuw i8, ptr %2, i64 33 + %40 = load i8, ptr %39, align 1, !range !376, !noundef !11 + %41 = trunc nuw i8 %40 to i1 + %42 = getelementptr inbounds nuw i8, ptr %2, i64 24 + %43 = load i64, ptr %42, align 8, !range !3781, !noundef !11 + br i1 %41, label %49, label %44 + +44: ; preds = %38 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %5) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(24) %2, i64 24, i1 false) - %17 = call fastcc noundef nonnull ptr @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14insert_element17h541e4d2324303302E"(ptr noalias noundef align 8 dereferenceable(192) %1, i1 noundef zeroext false, i64 noundef %3, i64 noundef %15, ptr noalias noundef align 8 captures(none) dereferenceable(24) %5) + %45 = call fastcc noundef nonnull ptr @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14insert_element17h541e4d2324303302E"(ptr noalias noundef align 8 dereferenceable(192) %1, i1 noundef zeroext false, i64 noundef %3, i64 noundef %43, ptr noalias noundef align 8 captures(none) dereferenceable(24) %5) call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %5) - %18 = load i64, ptr %17, align 8, !noalias !29442, !noundef !11 - %19 = add i64 %18, -1 - store i64 %19, ptr %17, align 8, !noalias !29442 - %20 = icmp eq i64 %19, 0 - br i1 %20, label %.noexc, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit" + %46 = load i64, ptr %45, align 8, !noalias !29448, !noundef !11 + %47 = add i64 %46, -1 + store i64 %47, ptr %45, align 8, !noalias !29448 + %48 = icmp eq i64 %47, 0 + br i1 %48, label %.noexc13, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit" -21: ; preds = %10 +49: ; preds = %38 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %6) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %6, ptr noundef nonnull align 8 dereferenceable(24) %2, i64 24, i1 false) - %22 = call fastcc noundef nonnull ptr @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14insert_element17h541e4d2324303302E"(ptr noalias noundef align 8 dereferenceable(192) %1, i1 noundef zeroext true, i64 noundef %3, i64 noundef %15, ptr noalias noundef align 8 captures(none) dereferenceable(24) %6) + %50 = call fastcc noundef nonnull ptr @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14insert_element17h541e4d2324303302E"(ptr noalias noundef align 8 dereferenceable(192) %1, i1 noundef zeroext true, i64 noundef %3, i64 noundef %43, ptr noalias noundef align 8 captures(none) dereferenceable(24) %6) call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %6) - %23 = load i64, ptr %22, align 8, !noalias !29447, !noundef !11 - %24 = add i64 %23, -1 - store i64 %24, ptr %22, align 8, !noalias !29447 - %25 = icmp eq i64 %24, 0 - br i1 %25, label %.noexc11, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit" + %51 = load i64, ptr %50, align 8, !noalias !29453, !noundef !11 + %52 = add i64 %51, -1 + store i64 %52, ptr %50, align 8, !noalias !29453 + %53 = icmp eq i64 %52, 0 + br i1 %53, label %.noexc14, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit" -.noexc: ; preds = %16 - %26 = getelementptr inbounds nuw i8, ptr %17, i64 16 - tail call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17h1739d7a806ebb2d8E.llvm.13361645166614471590"(ptr noalias noundef nonnull align 8 dereferenceable(120) %26) - %27 = getelementptr inbounds nuw i8, ptr %17, i64 8 - %28 = load i64, ptr %27, align 8, !noalias !29442, !noundef !11 - %29 = add i64 %28, -1 - store i64 %29, ptr %27, align 8, !noalias !29442 - %30 = icmp eq i64 %29, 0 - br i1 %30, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit.sink.split", label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit" +.noexc13: ; preds = %44 + %54 = getelementptr inbounds nuw i8, ptr %45, i64 16 + tail call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17h1739d7a806ebb2d8E.llvm.13361645166614471590"(ptr noalias noundef nonnull align 8 dereferenceable(120) %54) + %55 = getelementptr inbounds nuw i8, ptr %45, i64 8 + %56 = load i64, ptr %55, align 8, !noalias !29448, !noundef !11 + %57 = add i64 %56, -1 + store i64 %57, ptr %55, align 8, !noalias !29448 + %58 = icmp eq i64 %57, 0 + br i1 %58, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit.sink.split", label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit" -"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit.sink.split": ; preds = %.noexc, %.noexc11 - %.sink = phi ptr [ %22, %.noexc11 ], [ %17, %.noexc ] - %storemerge.ph = phi i64 [ -9223372036854775803, %.noexc11 ], [ -9223372036854775804, %.noexc ] +"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit.sink.split": ; preds = %.noexc13, %.noexc14 + %.sink = phi ptr [ %50, %.noexc14 ], [ %45, %.noexc13 ] + %storemerge.ph = phi i64 [ -9223372036854775803, %.noexc14 ], [ -9223372036854775804, %.noexc13 ] tail call void @__rust_dealloc(ptr noundef nonnull %.sink, i64 noundef 136, i64 noundef 8) #45, !noalias !11 br label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit" -"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit": ; preds = %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit.sink.split", %21, %.noexc11, %16, %.noexc - %storemerge = phi i64 [ -9223372036854775804, %.noexc ], [ -9223372036854775804, %16 ], [ -9223372036854775803, %.noexc11 ], [ -9223372036854775803, %21 ], [ %storemerge.ph, %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit.sink.split" ] +"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit": ; preds = %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit.sink.split", %49, %.noexc14, %44, %.noexc13 + %storemerge = phi i64 [ -9223372036854775804, %.noexc13 ], [ -9223372036854775804, %44 ], [ -9223372036854775803, %.noexc14 ], [ -9223372036854775803, %49 ], [ %storemerge.ph, %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit.sink.split" ] store i64 %storemerge, ptr %0, align 8 ret void -.noexc11: ; preds = %21 - %31 = getelementptr inbounds nuw i8, ptr %22, i64 16 - tail call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17h1739d7a806ebb2d8E.llvm.13361645166614471590"(ptr noalias noundef nonnull align 8 dereferenceable(120) %31) - %32 = getelementptr inbounds nuw i8, ptr %22, i64 8 - %33 = load i64, ptr %32, align 8, !noalias !29447, !noundef !11 - %34 = add i64 %33, -1 - store i64 %34, ptr %32, align 8, !noalias !29447 - %35 = icmp eq i64 %34, 0 - br i1 %35, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit.sink.split", label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit" +.noexc14: ; preds = %49 + %59 = getelementptr inbounds nuw i8, ptr %50, i64 16 + tail call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17h1739d7a806ebb2d8E.llvm.13361645166614471590"(ptr noalias noundef nonnull align 8 dereferenceable(120) %59) + %60 = getelementptr inbounds nuw i8, ptr %50, i64 8 + %61 = load i64, ptr %60, align 8, !noalias !29453, !noundef !11 + %62 = add i64 %61, -1 + store i64 %62, ptr %60, align 8, !noalias !29453 + %63 = icmp eq i64 %62, 0 + br i1 %63, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit.sink.split", label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit" -36: ; preds = %._crit_edge, %8, %9 - %lpad.thr_comm.split-lp = landingpad { ptr, i32 } - cleanup +.body.thread22: ; preds = %.body.thread22.loopexit, %.body.thread22.loopexit.split-lp, %.body.thread + %eh.lpad-body21 = phi { ptr, i32 } [ %32, %.body.thread ], [ %lpad.loopexit, %.body.thread22.loopexit ], [ %lpad.loopexit.split-lp, %.body.thread22.loopexit.split-lp ] invoke void @"_ZN4core3ptr84drop_in_place$LT$string_cache..atom..Atom$LT$markup5ever..NamespaceStaticSet$GT$$GT$17h6a0fa63a3c9981d9E.llvm.16595843094761361803"(ptr noalias noundef nonnull align 8 dereferenceable(8) %7) #46 - to label %39 unwind label %37 + to label %66 unwind label %64 -37: ; preds = %39, %.critedge, %36 - %38 = landingpad { ptr, i32 } +64: ; preds = %66, %.critedge, %.body.thread22 + %65 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer tail call void @_ZN4core9panicking16panic_in_cleanup17hfa05ef7d5107e16aE() #47 unreachable -39: ; preds = %36 - %40 = getelementptr inbounds nuw i8, ptr %2, i64 24 - %.val = load i64, ptr %40, align 8, !range !3781, !noundef !11 +66: ; preds = %.body.thread22 + %67 = getelementptr inbounds nuw i8, ptr %2, i64 24 + %.val = load i64, ptr %67, align 8, !range !3781, !noundef !11 invoke fastcc void @"_ZN4core3ptr84drop_in_place$LT$string_cache..atom..Atom$LT$markup5ever..LocalNameStaticSet$GT$$GT$17hce00844e8c1e6f00E"(i64 %.val) #46 - to label %.critedge unwind label %37 + to label %.critedge unwind label %64 .critedge4: ; preds = %.critedge - resume { ptr, i32 } %lpad.thr_comm.split-lp + resume { ptr, i32 } %eh.lpad-body21 -.critedge: ; preds = %39 +.critedge: ; preds = %66 invoke void @"_ZN4core3ptr77drop_in_place$LT$alloc..vec..Vec$LT$markup5ever..interface..Attribute$GT$$GT$17haa825a09a4576d50E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %2) #46 - to label %.critedge4 unwind label %37 + to label %.critedge4 unwind label %64 } ; Function Attrs: nonlazybind uwtable @@ -105092,7 +105177,7 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle store i64 0, ptr %6, align 8 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %5) invoke fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$31appropriate_place_for_insertion17h0fc09c862c7da3f5E"(ptr noalias noundef align 8 captures(none) dereferenceable(24) %5, ptr noalias noundef nonnull align 8 dereferenceable(192) %1, ptr noundef null) - to label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$20insert_appropriately17h3e0b9d2ef6805631E.exit" unwind label %10, !noalias !29452 + to label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$20insert_appropriately17h3e0b9d2ef6805631E.exit" unwind label %10, !noalias !29458 9: ; preds = %10 resume { ptr, i32 } %11 @@ -105106,14 +105191,14 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle 12: ; preds = %10 %13 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer - tail call void @_ZN4core9panicking16panic_in_cleanup17hfa05ef7d5107e16aE() #47, !noalias !29452 + tail call void @_ZN4core9panicking16panic_in_cleanup17hfa05ef7d5107e16aE() #47, !noalias !29458 unreachable "_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$20insert_appropriately17h3e0b9d2ef6805631E.exit": ; preds = %3 - call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %4), !noalias !29455 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %4, ptr noundef nonnull readonly align 8 dereferenceable(24) %6, i64 24, i1 false), !noalias !29457 - call fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$9insert_at17hd411e51c64d46847E"(ptr noalias noundef nonnull align 8 dereferenceable(192) %1, ptr noalias noundef align 8 captures(none) dereferenceable(24) %5, ptr noalias noundef align 8 captures(none) dereferenceable(24) %4), !noalias !29452 - call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4), !noalias !29455 + call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %4), !noalias !29461 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %4, ptr noundef nonnull readonly align 8 dereferenceable(24) %6, i64 24, i1 false), !noalias !29463 + call fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$9insert_at17hd411e51c64d46847E"(ptr noalias noundef nonnull align 8 dereferenceable(192) %1, ptr noalias noundef align 8 captures(none) dereferenceable(24) %5, ptr noalias noundef align 8 captures(none) dereferenceable(24) %4), !noalias !29458 + call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4), !noalias !29461 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %5) call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %6) store i64 -9223372036854775804, ptr %0, align 8 @@ -105199,18 +105284,18 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle store ptr %5, ptr %3, align 8 %.sroa.45.0..sroa_idx = getelementptr inbounds nuw i8, ptr %3, i64 8 store ptr @"_ZN73_$LT$markup5ever..interface..ExpandedName$u20$as$u20$core..fmt..Debug$GT$3fmt17h63682fe7b803af75E", ptr %.sroa.45.0..sroa_idx, align 8 - call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %2), !noalias !29458 - store ptr @anon.8d30d0a7d2f463ab8d140474c43893b3.269, ptr %2, align 8, !noalias !29466 + call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %2), !noalias !29464 + store ptr @anon.8d30d0a7d2f463ab8d140474c43893b3.269, ptr %2, align 8, !noalias !29472 %.sroa.4.0..sroa_idx = getelementptr inbounds nuw i8, ptr %2, i64 8 - store i64 2, ptr %.sroa.4.0..sroa_idx, align 8, !noalias !29466 + store i64 2, ptr %.sroa.4.0..sroa_idx, align 8, !noalias !29472 %.sroa.5.0..sroa_idx = getelementptr inbounds nuw i8, ptr %2, i64 16 - store ptr %3, ptr %.sroa.5.0..sroa_idx, align 8, !noalias !29466 + store ptr %3, ptr %.sroa.5.0..sroa_idx, align 8, !noalias !29472 %.sroa.69.0..sroa_idx = getelementptr inbounds nuw i8, ptr %2, i64 24 - store i64 1, ptr %.sroa.69.0..sroa_idx, align 8, !noalias !29466 + store i64 1, ptr %.sroa.69.0..sroa_idx, align 8, !noalias !29472 %.sroa.7.0..sroa_idx = getelementptr inbounds nuw i8, ptr %2, i64 32 - store ptr null, ptr %.sroa.7.0..sroa_idx, align 8, !noalias !29466 + store ptr null, ptr %.sroa.7.0..sroa_idx, align 8, !noalias !29472 call void @_ZN5alloc3fmt6format12format_inner17hfc591406982d9639E(ptr noalias noundef nonnull sret([24 x i8]) align 8 captures(none) dereferenceable(24) %4, ptr noalias noundef nonnull align 8 captures(none) dereferenceable(48) %2) - call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %2), !noalias !29458 + call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %2), !noalias !29464 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %3) br label %29 @@ -105225,9 +105310,9 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle %2 = alloca [8 x i8], align 8 %3 = alloca [24 x i8], align 8 tail call fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$20generate_implied_end17hefe0cdb74c92e88eE"(ptr noalias noundef align 8 dereferenceable(192) %0) - tail call void @llvm.experimental.noalias.scope.decl(metadata !29467) + tail call void @llvm.experimental.noalias.scope.decl(metadata !29473) %4 = getelementptr inbounds nuw i8, ptr %0, i64 104 - %5 = load i64, ptr %4, align 8, !alias.scope !29467, !noundef !11 + %5 = load i64, ptr %4, align 8, !alias.scope !29473, !noundef !11 %6 = icmp eq i64 %5, 0 br i1 %6, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$9pop_until17hc7ccbbeafdc0e0c3E.exit.thread", label %.lr.ph.i @@ -105240,15 +105325,15 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle %10 = phi i64 [ %5, %.lr.ph.i ], [ %37, %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit.i" ] %11 = phi i64 [ 1, %.lr.ph.i ], [ %36, %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit.i" ] %12 = add i64 %10, -1 - store i64 %12, ptr %4, align 8, !alias.scope !29467 - %13 = load i64, ptr %7, align 8, !alias.scope !29467, !noundef !11 + store i64 %12, ptr %4, align 8, !alias.scope !29473 + %13 = load i64, ptr %7, align 8, !alias.scope !29473, !noundef !11 %14 = icmp ult i64 %12, %13 call void @llvm.assume(i1 %14) - %15 = load ptr, ptr %8, align 8, !alias.scope !29467, !nonnull !11, !noundef !11 + %15 = load ptr, ptr %8, align 8, !alias.scope !29473, !nonnull !11, !noundef !11 %16 = getelementptr inbounds ptr, ptr %15, i64 %12 %17 = load ptr, ptr %16, align 8, !nonnull !11, !noundef !11 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %2), !noalias !29467 - store ptr %17, ptr %2, align 8, !noalias !29467 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %2), !noalias !29473 + store ptr %17, ptr %2, align 8, !noalias !29473 %18 = invoke { ptr, ptr } @"_ZN91_$LT$markup5ever_rcdom..RcDom$u20$as$u20$markup5ever..interface..tree_builder..TreeSink$GT$9elem_name17h4e753bf026563d2eE"(ptr noalias noundef nonnull readonly align 8 dereferenceable(192) %0, ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %2) to label %21 unwind label %19 @@ -105273,62 +105358,62 @@ _ZN4core3ops8function2Fn4call17h905a1d2f7da59df2E.exit.i: ; preds = %21 ] _ZN4core3ops8function2Fn4call17h905a1d2f7da59df2E.exit.thread.i: ; preds = %_ZN4core3ops8function2Fn4call17h905a1d2f7da59df2E.exit.i, %21 - call void @llvm.experimental.noalias.scope.decl(metadata !29470) - call void @llvm.experimental.noalias.scope.decl(metadata !29473) - %25 = load ptr, ptr %2, align 8, !alias.scope !29476, !noalias !29467, !nonnull !11, !noundef !11 - %26 = load i64, ptr %25, align 8, !noalias !29476, !noundef !11 + call void @llvm.experimental.noalias.scope.decl(metadata !29476) + call void @llvm.experimental.noalias.scope.decl(metadata !29479) + %25 = load ptr, ptr %2, align 8, !alias.scope !29482, !noalias !29473, !nonnull !11, !noundef !11 + %26 = load i64, ptr %25, align 8, !noalias !29482, !noundef !11 %27 = add i64 %26, -1 - store i64 %27, ptr %25, align 8, !noalias !29476 + store i64 %27, ptr %25, align 8, !noalias !29482 %28 = icmp eq i64 %27, 0 br i1 %28, label %29, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit.i" 29: ; preds = %_ZN4core3ops8function2Fn4call17h905a1d2f7da59df2E.exit.thread.i %30 = getelementptr inbounds nuw i8, ptr %25, i64 16 - call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17h1739d7a806ebb2d8E.llvm.13361645166614471590"(ptr noalias noundef nonnull align 8 dereferenceable(120) %30), !noalias !29476 + call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17h1739d7a806ebb2d8E.llvm.13361645166614471590"(ptr noalias noundef nonnull align 8 dereferenceable(120) %30), !noalias !29482 %31 = getelementptr inbounds nuw i8, ptr %25, i64 8 - %32 = load i64, ptr %31, align 8, !noalias !29476, !noundef !11 + %32 = load i64, ptr %31, align 8, !noalias !29482, !noundef !11 %33 = add i64 %32, -1 - store i64 %33, ptr %31, align 8, !noalias !29476 + store i64 %33, ptr %31, align 8, !noalias !29482 %34 = icmp eq i64 %33, 0 br i1 %34, label %35, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit.i" 35: ; preds = %29 - call void @__rust_dealloc(ptr noundef nonnull %25, i64 noundef 136, i64 noundef 8) #45, !noalias !29476 + call void @__rust_dealloc(ptr noundef nonnull %25, i64 noundef 136, i64 noundef 8) #45, !noalias !29482 br label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit.i" "_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit.i": ; preds = %35, %29, %_ZN4core3ops8function2Fn4call17h905a1d2f7da59df2E.exit.thread.i - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %2), !noalias !29467 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %2), !noalias !29473 %36 = add i64 %11, 1 - %37 = load i64, ptr %4, align 8, !alias.scope !29467, !noundef !11 + %37 = load i64, ptr %4, align 8, !alias.scope !29473, !noundef !11 %38 = icmp eq i64 %37, 0 br i1 %38, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$9pop_until17hc7ccbbeafdc0e0c3E.exit", label %9 39: ; preds = %_ZN4core3ops8function2Fn4call17h905a1d2f7da59df2E.exit.i, %_ZN4core3ops8function2Fn4call17h905a1d2f7da59df2E.exit.i - call void @llvm.experimental.noalias.scope.decl(metadata !29477) - call void @llvm.experimental.noalias.scope.decl(metadata !29480) - %40 = load ptr, ptr %2, align 8, !alias.scope !29483, !noalias !29467, !nonnull !11, !noundef !11 - %41 = load i64, ptr %40, align 8, !noalias !29483, !noundef !11 + call void @llvm.experimental.noalias.scope.decl(metadata !29483) + call void @llvm.experimental.noalias.scope.decl(metadata !29486) + %40 = load ptr, ptr %2, align 8, !alias.scope !29489, !noalias !29473, !nonnull !11, !noundef !11 + %41 = load i64, ptr %40, align 8, !noalias !29489, !noundef !11 %42 = add i64 %41, -1 - store i64 %42, ptr %40, align 8, !noalias !29483 + store i64 %42, ptr %40, align 8, !noalias !29489 %43 = icmp eq i64 %42, 0 br i1 %43, label %44, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit7.i" 44: ; preds = %39 %45 = getelementptr inbounds nuw i8, ptr %40, i64 16 - call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17h1739d7a806ebb2d8E.llvm.13361645166614471590"(ptr noalias noundef nonnull align 8 dereferenceable(120) %45), !noalias !29483 + call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17h1739d7a806ebb2d8E.llvm.13361645166614471590"(ptr noalias noundef nonnull align 8 dereferenceable(120) %45), !noalias !29489 %46 = getelementptr inbounds nuw i8, ptr %40, i64 8 - %47 = load i64, ptr %46, align 8, !noalias !29483, !noundef !11 + %47 = load i64, ptr %46, align 8, !noalias !29489, !noundef !11 %48 = add i64 %47, -1 - store i64 %48, ptr %46, align 8, !noalias !29483 + store i64 %48, ptr %46, align 8, !noalias !29489 %49 = icmp eq i64 %48, 0 br i1 %49, label %50, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit7.i" 50: ; preds = %44 - call void @__rust_dealloc(ptr noundef nonnull %40, i64 noundef 136, i64 noundef 8) #45, !noalias !29483 + call void @__rust_dealloc(ptr noundef nonnull %40, i64 noundef 136, i64 noundef 8) #45, !noalias !29489 br label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit7.i" "_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit7.i": ; preds = %50, %44, %39 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %2), !noalias !29467 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %2), !noalias !29473 br label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$9pop_until17hc7ccbbeafdc0e0c3E.exit" 51: ; preds = %19 @@ -105364,11 +105449,11 @@ _ZN4core3ops8function2Fn4call17h905a1d2f7da59df2E.exit.thread.i: ; preds = %_ZN4 ; Function Attrs: nonlazybind uwtable define internal fastcc noundef zeroext i1 @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14in_scope_named17h39639d323e95fc0eE"(ptr noalias noundef nonnull readonly align 8 dereferenceable(192) %0) unnamed_addr #0 personality ptr @rust_eh_personality { %2 = alloca [8 x i8], align 8 - tail call void @llvm.experimental.noalias.scope.decl(metadata !29484) + tail call void @llvm.experimental.noalias.scope.decl(metadata !29490) %3 = getelementptr inbounds nuw i8, ptr %0, i64 96 - %4 = load ptr, ptr %3, align 8, !alias.scope !29484, !noalias !29487, !nonnull !11, !noundef !11 + %4 = load ptr, ptr %3, align 8, !alias.scope !29490, !noalias !29493, !nonnull !11, !noundef !11 %5 = getelementptr inbounds nuw i8, ptr %0, i64 104 - %6 = load i64, ptr %5, align 8, !alias.scope !29484, !noalias !29487, !noundef !11 + %6 = load i64, ptr %5, align 8, !alias.scope !29490, !noalias !29493, !noundef !11 %7 = icmp eq i64 %6, 0 br i1 %7, label %"_ZN4core3ptr84drop_in_place$LT$string_cache..atom..Atom$LT$markup5ever..LocalNameStaticSet$GT$$GT$17hce00844e8c1e6f00E.exit", label %.lr.ph.i @@ -105379,12 +105464,12 @@ define internal fastcc noundef zeroext i1 @"_ZN9html5ever12tree_builder32TreeBui .lr.ph.split.i: ; preds = %.lr.ph.i, %.backedge.i %.sroa.5.013.i = phi ptr [ %9, %.backedge.i ], [ %8, %.lr.ph.i ] %9 = getelementptr inbounds i8, ptr %.sroa.5.013.i, i64 -8 - %.val.i = load ptr, ptr %9, align 8, !noalias !29490, !nonnull !11, !noundef !11 - %.val.i.i.i = load i64, ptr %.val.i, align 8, !noalias !29490, !noundef !11 + %.val.i = load ptr, ptr %9, align 8, !noalias !29496, !nonnull !11, !noundef !11 + %.val.i.i.i = load i64, ptr %.val.i, align 8, !noalias !29496, !noundef !11 %10 = icmp ne i64 %.val.i.i.i, 0 call void @llvm.assume(i1 %10) %11 = add i64 %.val.i.i.i, 1 - store i64 %11, ptr %.val.i, align 8, !noalias !29490 + store i64 %11, ptr %.val.i, align 8, !noalias !29496 %12 = icmp eq i64 %11, 0 br i1 %12, label %.split.us.i, label %"_ZN65_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h7079571cf84e57ddE.exit.i" @@ -105393,24 +105478,24 @@ define internal fastcc noundef zeroext i1 @"_ZN9html5ever12tree_builder32TreeBui unreachable "_ZN65_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h7079571cf84e57ddE.exit.i": ; preds = %.lr.ph.split.i - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %2), !noalias !29491 - store ptr %.val.i, ptr %2, align 8, !noalias !29491 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %2), !noalias !29497 + store ptr %.val.i, ptr %2, align 8, !noalias !29497 %13 = invoke fastcc noundef zeroext i1 @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15html_elem_named17ha665fb2b5a70699cE"(ptr noalias noundef nonnull readonly align 8 dereferenceable(192) %0, ptr noalias noundef readonly align 8 dereferenceable(8) %2, i64 noundef 2529735737346) - to label %15 unwind label %.split19.i, !noalias !29490 + to label %15 unwind label %.split19.i, !noalias !29496 .split19.i: ; preds = %"_ZN65_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h7079571cf84e57ddE.exit.i" %14 = landingpad { ptr, i32 } cleanup invoke void @"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"(ptr noalias noundef nonnull align 8 dereferenceable(8) %2) #46 - to label %.body unwind label %27, !noalias !29490 + to label %.body unwind label %27, !noalias !29496 15: ; preds = %"_ZN65_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h7079571cf84e57ddE.exit.i" - call void @llvm.experimental.noalias.scope.decl(metadata !29492) - call void @llvm.experimental.noalias.scope.decl(metadata !29495) - %16 = load ptr, ptr %2, align 8, !alias.scope !29498, !noalias !29491, !nonnull !11, !noundef !11 - %17 = load i64, ptr %16, align 8, !noalias !29499, !noundef !11 + call void @llvm.experimental.noalias.scope.decl(metadata !29498) + call void @llvm.experimental.noalias.scope.decl(metadata !29501) + %16 = load ptr, ptr %2, align 8, !alias.scope !29504, !noalias !29497, !nonnull !11, !noundef !11 + %17 = load i64, ptr %16, align 8, !noalias !29505, !noundef !11 %18 = add i64 %17, -1 - store i64 %18, ptr %16, align 8, !noalias !29499 + store i64 %18, ptr %16, align 8, !noalias !29505 %19 = icmp eq i64 %18, 0 br i1 %19, label %20, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14in_scope_named28_$u7b$$u7b$closure$u7d$$u7d$17h702524c4ef686caaE.exit.i" @@ -105421,24 +105506,24 @@ define internal fastcc noundef zeroext i1 @"_ZN9html5ever12tree_builder32TreeBui .noexc3: ; preds = %20 %22 = getelementptr inbounds nuw i8, ptr %16, i64 8 - %23 = load i64, ptr %22, align 8, !noalias !29499, !noundef !11 + %23 = load i64, ptr %22, align 8, !noalias !29505, !noundef !11 %24 = add i64 %23, -1 - store i64 %24, ptr %22, align 8, !noalias !29499 + store i64 %24, ptr %22, align 8, !noalias !29505 %25 = icmp eq i64 %24, 0 br i1 %25, label %26, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14in_scope_named28_$u7b$$u7b$closure$u7d$$u7d$17h702524c4ef686caaE.exit.i" 26: ; preds = %.noexc3 - call void @__rust_dealloc(ptr noundef nonnull %16, i64 noundef 136, i64 noundef 8) #45, !noalias !29499 + call void @__rust_dealloc(ptr noundef nonnull %16, i64 noundef 136, i64 noundef 8) #45, !noalias !29505 br label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14in_scope_named28_$u7b$$u7b$closure$u7d$$u7d$17h702524c4ef686caaE.exit.i" 27: ; preds = %.split19.i %28 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer - call void @_ZN4core9panicking16panic_in_cleanup17hfa05ef7d5107e16aE() #47, !noalias !29490 + call void @_ZN4core9panicking16panic_in_cleanup17hfa05ef7d5107e16aE() #47, !noalias !29496 unreachable "_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14in_scope_named28_$u7b$$u7b$closure$u7d$$u7d$17h702524c4ef686caaE.exit.i": ; preds = %26, %.noexc3, %15 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %2), !noalias !29491 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %2), !noalias !29497 br i1 %13, label %"_ZN4core3ptr84drop_in_place$LT$string_cache..atom..Atom$LT$markup5ever..LocalNameStaticSet$GT$$GT$17hce00844e8c1e6f00E.exit", label %29 29: ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14in_scope_named28_$u7b$$u7b$closure$u7d$$u7d$17h702524c4ef686caaE.exit.i" @@ -105490,11 +105575,11 @@ _ZN4core3ops8function2Fn4call17h9c8697453ac5b0c7E.exit.i: ; preds = %.noexc4 ; Function Attrs: nonlazybind uwtable define internal fastcc noundef zeroext i1 @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14in_scope_named17h3eb95c67e31066eeE"(ptr noalias noundef nonnull readonly align 8 dereferenceable(192) %0, i64 noundef range(i64 1, 0) %1) unnamed_addr #0 personality ptr @rust_eh_personality { %3 = alloca [8 x i8], align 8 - tail call void @llvm.experimental.noalias.scope.decl(metadata !29500) + tail call void @llvm.experimental.noalias.scope.decl(metadata !29506) %4 = getelementptr inbounds nuw i8, ptr %0, i64 96 - %5 = load ptr, ptr %4, align 8, !alias.scope !29500, !noalias !29503, !nonnull !11, !noundef !11 + %5 = load ptr, ptr %4, align 8, !alias.scope !29506, !noalias !29509, !nonnull !11, !noundef !11 %6 = getelementptr inbounds nuw i8, ptr %0, i64 104 - %7 = load i64, ptr %6, align 8, !alias.scope !29500, !noalias !29503, !noundef !11 + %7 = load i64, ptr %6, align 8, !alias.scope !29506, !noalias !29509, !noundef !11 %8 = icmp eq i64 %7, 0 br i1 %8, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17hb553be816dd1f10eE.exit", label %.lr.ph.i @@ -105509,29 +105594,29 @@ define internal fastcc noundef zeroext i1 @"_ZN9html5ever12tree_builder32TreeBui .lr.ph.split.us.i: ; preds = %.lr.ph.i, %_ZN4core3ops8function2Fn4call17h3c0272a372f29ee1E.exit.us.i %.sroa.5.013.us.i = phi ptr [ %14, %_ZN4core3ops8function2Fn4call17h3c0272a372f29ee1E.exit.us.i ], [ %9, %.lr.ph.i ] %14 = getelementptr inbounds i8, ptr %.sroa.5.013.us.i, i64 -8 - %.val.us.i = load ptr, ptr %14, align 8, !noalias !29506, !nonnull !11, !noundef !11 - %.val.i.i.us.i = load i64, ptr %.val.us.i, align 8, !noalias !29506, !noundef !11 + %.val.us.i = load ptr, ptr %14, align 8, !noalias !29512, !nonnull !11, !noundef !11 + %.val.i.i.us.i = load i64, ptr %.val.us.i, align 8, !noalias !29512, !noundef !11 %15 = icmp ne i64 %.val.i.i.us.i, 0 call void @llvm.assume(i1 %15) %16 = add i64 %.val.i.i.us.i, 1 - store i64 %16, ptr %.val.us.i, align 8, !noalias !29506 + store i64 %16, ptr %.val.us.i, align 8, !noalias !29512 %17 = icmp eq i64 %16, 0 br i1 %17, label %.split.us.i, label %"_ZN65_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h7079571cf84e57ddE.exit.us.i" "_ZN65_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h7079571cf84e57ddE.exit.us.i": ; preds = %.lr.ph.split.us.i - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3), !noalias !29507 - store ptr %.val.us.i, ptr %3, align 8, !noalias !29507 - %18 = atomicrmw add ptr %13, i64 1 seq_cst, align 8, !noalias !29506 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3), !noalias !29513 + store ptr %.val.us.i, ptr %3, align 8, !noalias !29513 + %18 = atomicrmw add ptr %13, i64 1 seq_cst, align 8, !noalias !29512 %19 = invoke fastcc noundef zeroext i1 @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15html_elem_named17ha665fb2b5a70699cE"(ptr noalias noundef nonnull readonly align 8 dereferenceable(192) %0, ptr noalias noundef readonly align 8 dereferenceable(8) %3, i64 noundef %1) - to label %20 unwind label %.split54.us.i, !noalias !29506 + to label %20 unwind label %.split54.us.i, !noalias !29512 20: ; preds = %"_ZN65_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h7079571cf84e57ddE.exit.us.i" - call void @llvm.experimental.noalias.scope.decl(metadata !29508) - call void @llvm.experimental.noalias.scope.decl(metadata !29511) - %21 = load ptr, ptr %3, align 8, !alias.scope !29514, !noalias !29507, !nonnull !11, !noundef !11 - %22 = load i64, ptr %21, align 8, !noalias !29515, !noundef !11 + call void @llvm.experimental.noalias.scope.decl(metadata !29514) + call void @llvm.experimental.noalias.scope.decl(metadata !29517) + %21 = load ptr, ptr %3, align 8, !alias.scope !29520, !noalias !29513, !nonnull !11, !noundef !11 + %22 = load i64, ptr %21, align 8, !noalias !29521, !noundef !11 %23 = add i64 %22, -1 - store i64 %23, ptr %21, align 8, !noalias !29515 + store i64 %23, ptr %21, align 8, !noalias !29521 %24 = icmp eq i64 %23, 0 br i1 %24, label %25, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14in_scope_named28_$u7b$$u7b$closure$u7d$$u7d$17h65b37eab19320eadE.exit.us.i" @@ -105542,18 +105627,18 @@ define internal fastcc noundef zeroext i1 @"_ZN9html5ever12tree_builder32TreeBui .noexc: ; preds = %25 %27 = getelementptr inbounds nuw i8, ptr %21, i64 8 - %28 = load i64, ptr %27, align 8, !noalias !29515, !noundef !11 + %28 = load i64, ptr %27, align 8, !noalias !29521, !noundef !11 %29 = add i64 %28, -1 - store i64 %29, ptr %27, align 8, !noalias !29515 + store i64 %29, ptr %27, align 8, !noalias !29521 %30 = icmp eq i64 %29, 0 br i1 %30, label %31, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14in_scope_named28_$u7b$$u7b$closure$u7d$$u7d$17h65b37eab19320eadE.exit.us.i" 31: ; preds = %.noexc - call void @__rust_dealloc(ptr noundef nonnull %21, i64 noundef 136, i64 noundef 8) #45, !noalias !29515 + call void @__rust_dealloc(ptr noundef nonnull %21, i64 noundef 136, i64 noundef 8) #45, !noalias !29521 br label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14in_scope_named28_$u7b$$u7b$closure$u7d$$u7d$17h65b37eab19320eadE.exit.us.i" "_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14in_scope_named28_$u7b$$u7b$closure$u7d$$u7d$17h65b37eab19320eadE.exit.us.i": ; preds = %31, %.noexc, %20 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3), !noalias !29507 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3), !noalias !29513 br i1 %19, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17hb553be816dd1f10eE.exit.thread", label %32 32: ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14in_scope_named28_$u7b$$u7b$closure$u7d$$u7d$17h65b37eab19320eadE.exit.us.i" @@ -105614,12 +105699,12 @@ _ZN4core3ops8function2Fn4call17h3c0272a372f29ee1E.exit.us.i: ; preds = %38, %37, .lr.ph.split.i: ; preds = %.lr.ph.i, %_ZN4core3ops8function2Fn4call17h3c0272a372f29ee1E.exit.i %.sroa.5.013.i = phi ptr [ %41, %_ZN4core3ops8function2Fn4call17h3c0272a372f29ee1E.exit.i ], [ %9, %.lr.ph.i ] %41 = getelementptr inbounds i8, ptr %.sroa.5.013.i, i64 -8 - %.val.i = load ptr, ptr %41, align 8, !noalias !29506, !nonnull !11, !noundef !11 - %.val.i.i.i = load i64, ptr %.val.i, align 8, !noalias !29506, !noundef !11 + %.val.i = load ptr, ptr %41, align 8, !noalias !29512, !nonnull !11, !noundef !11 + %.val.i.i.i = load i64, ptr %.val.i, align 8, !noalias !29512, !noundef !11 %42 = icmp ne i64 %.val.i.i.i, 0 call void @llvm.assume(i1 %42) %43 = add i64 %.val.i.i.i, 1 - store i64 %43, ptr %.val.i, align 8, !noalias !29506 + store i64 %43, ptr %.val.i, align 8, !noalias !29512 %44 = icmp eq i64 %43, 0 br i1 %44, label %.split.us.i, label %"_ZN65_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h7079571cf84e57ddE.exit.i" @@ -105628,10 +105713,10 @@ _ZN4core3ops8function2Fn4call17h3c0272a372f29ee1E.exit.us.i: ; preds = %38, %37, unreachable "_ZN65_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h7079571cf84e57ddE.exit.i": ; preds = %.lr.ph.split.i - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3), !noalias !29507 - store ptr %.val.i, ptr %3, align 8, !noalias !29507 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3), !noalias !29513 + store ptr %.val.i, ptr %3, align 8, !noalias !29513 %45 = invoke fastcc noundef zeroext i1 @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15html_elem_named17ha665fb2b5a70699cE"(ptr noalias noundef nonnull readonly align 8 dereferenceable(192) %0, ptr noalias noundef readonly align 8 dereferenceable(8) %3, i64 noundef %1) - to label %48 unwind label %.split54.i, !noalias !29506 + to label %48 unwind label %.split54.i, !noalias !29512 .split54.i: ; preds = %"_ZN65_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h7079571cf84e57ddE.exit.i" %46 = landingpad { ptr, i32 } @@ -105641,15 +105726,15 @@ _ZN4core3ops8function2Fn4call17h3c0272a372f29ee1E.exit.us.i: ; preds = %38, %37, 47: ; preds = %.split54.i, %.split54.us.i %.us-phi.i = phi { ptr, i32 } [ %46, %.split54.i ], [ %40, %.split54.us.i ] invoke void @"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"(ptr noalias noundef nonnull align 8 dereferenceable(8) %3) #46 - to label %.body unwind label %60, !noalias !29506 + to label %.body unwind label %60, !noalias !29512 48: ; preds = %"_ZN65_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h7079571cf84e57ddE.exit.i" - call void @llvm.experimental.noalias.scope.decl(metadata !29508) - call void @llvm.experimental.noalias.scope.decl(metadata !29511) - %49 = load ptr, ptr %3, align 8, !alias.scope !29514, !noalias !29507, !nonnull !11, !noundef !11 - %50 = load i64, ptr %49, align 8, !noalias !29515, !noundef !11 + call void @llvm.experimental.noalias.scope.decl(metadata !29514) + call void @llvm.experimental.noalias.scope.decl(metadata !29517) + %49 = load ptr, ptr %3, align 8, !alias.scope !29520, !noalias !29513, !nonnull !11, !noundef !11 + %50 = load i64, ptr %49, align 8, !noalias !29521, !noundef !11 %51 = add i64 %50, -1 - store i64 %51, ptr %49, align 8, !noalias !29515 + store i64 %51, ptr %49, align 8, !noalias !29521 %52 = icmp eq i64 %51, 0 br i1 %52, label %53, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14in_scope_named28_$u7b$$u7b$closure$u7d$$u7d$17h65b37eab19320eadE.exit.i" @@ -105660,24 +105745,24 @@ _ZN4core3ops8function2Fn4call17h3c0272a372f29ee1E.exit.us.i: ; preds = %38, %37, .noexc3: ; preds = %53 %55 = getelementptr inbounds nuw i8, ptr %49, i64 8 - %56 = load i64, ptr %55, align 8, !noalias !29515, !noundef !11 + %56 = load i64, ptr %55, align 8, !noalias !29521, !noundef !11 %57 = add i64 %56, -1 - store i64 %57, ptr %55, align 8, !noalias !29515 + store i64 %57, ptr %55, align 8, !noalias !29521 %58 = icmp eq i64 %57, 0 br i1 %58, label %59, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14in_scope_named28_$u7b$$u7b$closure$u7d$$u7d$17h65b37eab19320eadE.exit.i" 59: ; preds = %.noexc3 - call void @__rust_dealloc(ptr noundef nonnull %49, i64 noundef 136, i64 noundef 8) #45, !noalias !29515 + call void @__rust_dealloc(ptr noundef nonnull %49, i64 noundef 136, i64 noundef 8) #45, !noalias !29521 br label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14in_scope_named28_$u7b$$u7b$closure$u7d$$u7d$17h65b37eab19320eadE.exit.i" 60: ; preds = %47 %61 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer - call void @_ZN4core9panicking16panic_in_cleanup17hfa05ef7d5107e16aE() #47, !noalias !29506 + call void @_ZN4core9panicking16panic_in_cleanup17hfa05ef7d5107e16aE() #47, !noalias !29512 unreachable "_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14in_scope_named28_$u7b$$u7b$closure$u7d$$u7d$17h65b37eab19320eadE.exit.i": ; preds = %59, %.noexc3, %48 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3), !noalias !29507 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3), !noalias !29513 br i1 %45, label %"_ZN4core3ptr84drop_in_place$LT$string_cache..atom..Atom$LT$markup5ever..LocalNameStaticSet$GT$$GT$17hce00844e8c1e6f00E.exit", label %62 62: ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14in_scope_named28_$u7b$$u7b$closure$u7d$$u7d$17h65b37eab19320eadE.exit.i" @@ -105759,19 +105844,19 @@ _ZN4core3ops8function2Fn4call17h3c0272a372f29ee1E.exit.i: ; preds = %68, %67, %6 br i1 %74, label %75, label %"_ZN4core3ptr84drop_in_place$LT$string_cache..atom..Atom$LT$markup5ever..LocalNameStaticSet$GT$$GT$17hce00844e8c1e6f00E.exit" 75: ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17hb553be816dd1f10eE.exit.thread" - %76 = call noundef ptr @_ZN4core4sync6atomic11atomic_load17hf6ae17783efc19dfE.llvm.5997636334944773990(ptr noundef nonnull getelementptr inbounds nuw (i8, ptr @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, i64 16), i8 noundef 2), !noalias !29516 + %76 = call noundef ptr @_ZN4core4sync6atomic11atomic_load17hf6ae17783efc19dfE.llvm.5997636334944773990(ptr noundef nonnull getelementptr inbounds nuw (i8, ptr @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, i64 16), i8 noundef 2), !noalias !29522 %.not.i.i.i.i = icmp eq ptr %76, inttoptr (i64 2 to ptr) br i1 %.not.i.i.i.i, label %"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h734fc4935bbafb8fE.exit.i.i", label %77 77: ; preds = %75 - call void @"_ZN9once_cell3imp17OnceCell$LT$T$GT$10initialize17h2106f0dc51d20ab9E"(ptr noundef nonnull align 8 @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, ptr noundef nonnull align 8 @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E), !noalias !29516 - %78 = load ptr, ptr @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, align 8, !noalias !29516, !noundef !11 + call void @"_ZN9once_cell3imp17OnceCell$LT$T$GT$10initialize17h2106f0dc51d20ab9E"(ptr noundef nonnull align 8 @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, ptr noundef nonnull align 8 @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E), !noalias !29522 + %78 = load ptr, ptr @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, align 8, !noalias !29522, !noundef !11 %79 = icmp ne ptr %78, null call void @llvm.assume(i1 %79) br label %"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h734fc4935bbafb8fE.exit.i.i" "_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h734fc4935bbafb8fE.exit.i.i": ; preds = %77, %75 - call void @_ZN12string_cache11dynamic_set3Set6remove17h358d1c715f07230eE(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, ptr noundef nonnull %71), !noalias !29516 + call void @_ZN12string_cache11dynamic_set3Set6remove17h358d1c715f07230eE(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, ptr noundef nonnull %71), !noalias !29522 br label %"_ZN4core3ptr84drop_in_place$LT$string_cache..atom..Atom$LT$markup5ever..LocalNameStaticSet$GT$$GT$17hce00844e8c1e6f00E.exit" "_ZN4core3ptr84drop_in_place$LT$string_cache..atom..Atom$LT$markup5ever..LocalNameStaticSet$GT$$GT$17hce00844e8c1e6f00E.exit": ; preds = %_ZN4core3ops8function2Fn4call17h3c0272a372f29ee1E.exit.i, %68, %68, %68, %67, %67, %67, %67, %67, %66, %66, %66, %66, %66, %66, %66, %66, %66, %66, %66, %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14in_scope_named28_$u7b$$u7b$closure$u7d$$u7d$17h65b37eab19320eadE.exit.i", %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17hb553be816dd1f10eE.exit", %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17hb553be816dd1f10eE.exit.thread", %"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h734fc4935bbafb8fE.exit.i.i" @@ -105791,11 +105876,11 @@ _ZN4core3ops8function2Fn4call17h3c0272a372f29ee1E.exit.i: ; preds = %68, %67, %6 ; Function Attrs: nonlazybind uwtable define internal fastcc noundef zeroext i1 @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14in_scope_named17h43dbd6bb4390cb85E"(ptr noalias noundef nonnull readonly align 8 dereferenceable(192) %0, i64 noundef range(i64 1, 0) %1) unnamed_addr #0 personality ptr @rust_eh_personality { %3 = alloca [8 x i8], align 8 - tail call void @llvm.experimental.noalias.scope.decl(metadata !29519) + tail call void @llvm.experimental.noalias.scope.decl(metadata !29525) %4 = getelementptr inbounds nuw i8, ptr %0, i64 96 - %5 = load ptr, ptr %4, align 8, !alias.scope !29519, !noalias !29522, !nonnull !11, !noundef !11 + %5 = load ptr, ptr %4, align 8, !alias.scope !29525, !noalias !29528, !nonnull !11, !noundef !11 %6 = getelementptr inbounds nuw i8, ptr %0, i64 104 - %7 = load i64, ptr %6, align 8, !alias.scope !29519, !noalias !29522, !noundef !11 + %7 = load i64, ptr %6, align 8, !alias.scope !29525, !noalias !29528, !noundef !11 %8 = icmp eq i64 %7, 0 br i1 %8, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17h8848c9752412e2c8E.exit", label %.lr.ph.i @@ -105810,29 +105895,29 @@ define internal fastcc noundef zeroext i1 @"_ZN9html5ever12tree_builder32TreeBui .lr.ph.split.us.i: ; preds = %.lr.ph.i, %_ZN4core3ops8function2Fn4call17hd3f4995a489080e3E.exit.us.i %.sroa.5.013.us.i = phi ptr [ %14, %_ZN4core3ops8function2Fn4call17hd3f4995a489080e3E.exit.us.i ], [ %9, %.lr.ph.i ] %14 = getelementptr inbounds i8, ptr %.sroa.5.013.us.i, i64 -8 - %.val.us.i = load ptr, ptr %14, align 8, !noalias !29525, !nonnull !11, !noundef !11 - %.val.i.i.us.i = load i64, ptr %.val.us.i, align 8, !noalias !29525, !noundef !11 + %.val.us.i = load ptr, ptr %14, align 8, !noalias !29531, !nonnull !11, !noundef !11 + %.val.i.i.us.i = load i64, ptr %.val.us.i, align 8, !noalias !29531, !noundef !11 %15 = icmp ne i64 %.val.i.i.us.i, 0 call void @llvm.assume(i1 %15) %16 = add i64 %.val.i.i.us.i, 1 - store i64 %16, ptr %.val.us.i, align 8, !noalias !29525 + store i64 %16, ptr %.val.us.i, align 8, !noalias !29531 %17 = icmp eq i64 %16, 0 br i1 %17, label %.split.us.i, label %"_ZN65_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h7079571cf84e57ddE.exit.us.i" "_ZN65_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h7079571cf84e57ddE.exit.us.i": ; preds = %.lr.ph.split.us.i - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3), !noalias !29526 - store ptr %.val.us.i, ptr %3, align 8, !noalias !29526 - %18 = atomicrmw add ptr %13, i64 1 seq_cst, align 8, !noalias !29525 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3), !noalias !29532 + store ptr %.val.us.i, ptr %3, align 8, !noalias !29532 + %18 = atomicrmw add ptr %13, i64 1 seq_cst, align 8, !noalias !29531 %19 = invoke fastcc noundef zeroext i1 @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15html_elem_named17ha665fb2b5a70699cE"(ptr noalias noundef nonnull readonly align 8 dereferenceable(192) %0, ptr noalias noundef readonly align 8 dereferenceable(8) %3, i64 noundef %1) - to label %20 unwind label %.split22.us.i, !noalias !29525 + to label %20 unwind label %.split22.us.i, !noalias !29531 20: ; preds = %"_ZN65_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h7079571cf84e57ddE.exit.us.i" - call void @llvm.experimental.noalias.scope.decl(metadata !29527) - call void @llvm.experimental.noalias.scope.decl(metadata !29530) - %21 = load ptr, ptr %3, align 8, !alias.scope !29533, !noalias !29526, !nonnull !11, !noundef !11 - %22 = load i64, ptr %21, align 8, !noalias !29534, !noundef !11 + call void @llvm.experimental.noalias.scope.decl(metadata !29533) + call void @llvm.experimental.noalias.scope.decl(metadata !29536) + %21 = load ptr, ptr %3, align 8, !alias.scope !29539, !noalias !29532, !nonnull !11, !noundef !11 + %22 = load i64, ptr %21, align 8, !noalias !29540, !noundef !11 %23 = add i64 %22, -1 - store i64 %23, ptr %21, align 8, !noalias !29534 + store i64 %23, ptr %21, align 8, !noalias !29540 %24 = icmp eq i64 %23, 0 br i1 %24, label %25, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14in_scope_named28_$u7b$$u7b$closure$u7d$$u7d$17h3ee5b631dad9765eE.exit.us.i" @@ -105843,18 +105928,18 @@ define internal fastcc noundef zeroext i1 @"_ZN9html5ever12tree_builder32TreeBui .noexc: ; preds = %25 %27 = getelementptr inbounds nuw i8, ptr %21, i64 8 - %28 = load i64, ptr %27, align 8, !noalias !29534, !noundef !11 + %28 = load i64, ptr %27, align 8, !noalias !29540, !noundef !11 %29 = add i64 %28, -1 - store i64 %29, ptr %27, align 8, !noalias !29534 + store i64 %29, ptr %27, align 8, !noalias !29540 %30 = icmp eq i64 %29, 0 br i1 %30, label %31, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14in_scope_named28_$u7b$$u7b$closure$u7d$$u7d$17h3ee5b631dad9765eE.exit.us.i" 31: ; preds = %.noexc - call void @__rust_dealloc(ptr noundef nonnull %21, i64 noundef 136, i64 noundef 8) #45, !noalias !29534 + call void @__rust_dealloc(ptr noundef nonnull %21, i64 noundef 136, i64 noundef 8) #45, !noalias !29540 br label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14in_scope_named28_$u7b$$u7b$closure$u7d$$u7d$17h3ee5b631dad9765eE.exit.us.i" "_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14in_scope_named28_$u7b$$u7b$closure$u7d$$u7d$17h3ee5b631dad9765eE.exit.us.i": ; preds = %31, %.noexc, %20 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3), !noalias !29526 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3), !noalias !29532 br i1 %19, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17h8848c9752412e2c8E.exit.thread", label %32 32: ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14in_scope_named28_$u7b$$u7b$closure$u7d$$u7d$17h3ee5b631dad9765eE.exit.us.i" @@ -105888,12 +105973,12 @@ _ZN4core3ops8function2Fn4call17hd3f4995a489080e3E.exit.us.i: ; preds = %36, %.no .lr.ph.split.i: ; preds = %.lr.ph.i, %_ZN4core3ops8function2Fn4call17hd3f4995a489080e3E.exit.i %.sroa.5.013.i = phi ptr [ %40, %_ZN4core3ops8function2Fn4call17hd3f4995a489080e3E.exit.i ], [ %9, %.lr.ph.i ] %40 = getelementptr inbounds i8, ptr %.sroa.5.013.i, i64 -8 - %.val.i = load ptr, ptr %40, align 8, !noalias !29525, !nonnull !11, !noundef !11 - %.val.i.i.i = load i64, ptr %.val.i, align 8, !noalias !29525, !noundef !11 + %.val.i = load ptr, ptr %40, align 8, !noalias !29531, !nonnull !11, !noundef !11 + %.val.i.i.i = load i64, ptr %.val.i, align 8, !noalias !29531, !noundef !11 %41 = icmp ne i64 %.val.i.i.i, 0 call void @llvm.assume(i1 %41) %42 = add i64 %.val.i.i.i, 1 - store i64 %42, ptr %.val.i, align 8, !noalias !29525 + store i64 %42, ptr %.val.i, align 8, !noalias !29531 %43 = icmp eq i64 %42, 0 br i1 %43, label %.split.us.i, label %"_ZN65_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h7079571cf84e57ddE.exit.i" @@ -105902,10 +105987,10 @@ _ZN4core3ops8function2Fn4call17hd3f4995a489080e3E.exit.us.i: ; preds = %36, %.no unreachable "_ZN65_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h7079571cf84e57ddE.exit.i": ; preds = %.lr.ph.split.i - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3), !noalias !29526 - store ptr %.val.i, ptr %3, align 8, !noalias !29526 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3), !noalias !29532 + store ptr %.val.i, ptr %3, align 8, !noalias !29532 %44 = invoke fastcc noundef zeroext i1 @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15html_elem_named17ha665fb2b5a70699cE"(ptr noalias noundef nonnull readonly align 8 dereferenceable(192) %0, ptr noalias noundef readonly align 8 dereferenceable(8) %3, i64 noundef %1) - to label %47 unwind label %.split22.i, !noalias !29525 + to label %47 unwind label %.split22.i, !noalias !29531 .split22.i: ; preds = %"_ZN65_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h7079571cf84e57ddE.exit.i" %45 = landingpad { ptr, i32 } @@ -105915,15 +106000,15 @@ _ZN4core3ops8function2Fn4call17hd3f4995a489080e3E.exit.us.i: ; preds = %36, %.no 46: ; preds = %.split22.i, %.split22.us.i %.us-phi.i = phi { ptr, i32 } [ %45, %.split22.i ], [ %39, %.split22.us.i ] invoke void @"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"(ptr noalias noundef nonnull align 8 dereferenceable(8) %3) #46 - to label %.body unwind label %59, !noalias !29525 + to label %.body unwind label %59, !noalias !29531 47: ; preds = %"_ZN65_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h7079571cf84e57ddE.exit.i" - call void @llvm.experimental.noalias.scope.decl(metadata !29527) - call void @llvm.experimental.noalias.scope.decl(metadata !29530) - %48 = load ptr, ptr %3, align 8, !alias.scope !29533, !noalias !29526, !nonnull !11, !noundef !11 - %49 = load i64, ptr %48, align 8, !noalias !29534, !noundef !11 + call void @llvm.experimental.noalias.scope.decl(metadata !29533) + call void @llvm.experimental.noalias.scope.decl(metadata !29536) + %48 = load ptr, ptr %3, align 8, !alias.scope !29539, !noalias !29532, !nonnull !11, !noundef !11 + %49 = load i64, ptr %48, align 8, !noalias !29540, !noundef !11 %50 = add i64 %49, -1 - store i64 %50, ptr %48, align 8, !noalias !29534 + store i64 %50, ptr %48, align 8, !noalias !29540 %51 = icmp eq i64 %50, 0 br i1 %51, label %52, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14in_scope_named28_$u7b$$u7b$closure$u7d$$u7d$17h3ee5b631dad9765eE.exit.i" @@ -105934,24 +106019,24 @@ _ZN4core3ops8function2Fn4call17hd3f4995a489080e3E.exit.us.i: ; preds = %36, %.no .noexc3: ; preds = %52 %54 = getelementptr inbounds nuw i8, ptr %48, i64 8 - %55 = load i64, ptr %54, align 8, !noalias !29534, !noundef !11 + %55 = load i64, ptr %54, align 8, !noalias !29540, !noundef !11 %56 = add i64 %55, -1 - store i64 %56, ptr %54, align 8, !noalias !29534 + store i64 %56, ptr %54, align 8, !noalias !29540 %57 = icmp eq i64 %56, 0 br i1 %57, label %58, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14in_scope_named28_$u7b$$u7b$closure$u7d$$u7d$17h3ee5b631dad9765eE.exit.i" 58: ; preds = %.noexc3 - call void @__rust_dealloc(ptr noundef nonnull %48, i64 noundef 136, i64 noundef 8) #45, !noalias !29534 + call void @__rust_dealloc(ptr noundef nonnull %48, i64 noundef 136, i64 noundef 8) #45, !noalias !29540 br label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14in_scope_named28_$u7b$$u7b$closure$u7d$$u7d$17h3ee5b631dad9765eE.exit.i" 59: ; preds = %46 %60 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer - call void @_ZN4core9panicking16panic_in_cleanup17hfa05ef7d5107e16aE() #47, !noalias !29525 + call void @_ZN4core9panicking16panic_in_cleanup17hfa05ef7d5107e16aE() #47, !noalias !29531 unreachable "_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14in_scope_named28_$u7b$$u7b$closure$u7d$$u7d$17h3ee5b631dad9765eE.exit.i": ; preds = %58, %.noexc3, %47 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3), !noalias !29526 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3), !noalias !29532 br i1 %44, label %"_ZN4core3ptr84drop_in_place$LT$string_cache..atom..Atom$LT$markup5ever..LocalNameStaticSet$GT$$GT$17hce00844e8c1e6f00E.exit", label %61 61: ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14in_scope_named28_$u7b$$u7b$closure$u7d$$u7d$17h3ee5b631dad9765eE.exit.i" @@ -106006,19 +106091,19 @@ _ZN4core3ops8function2Fn4call17hd3f4995a489080e3E.exit.i: ; preds = %65, %.noexc br i1 %72, label %73, label %"_ZN4core3ptr84drop_in_place$LT$string_cache..atom..Atom$LT$markup5ever..LocalNameStaticSet$GT$$GT$17hce00844e8c1e6f00E.exit" 73: ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17h8848c9752412e2c8E.exit.thread" - %74 = call noundef ptr @_ZN4core4sync6atomic11atomic_load17hf6ae17783efc19dfE.llvm.5997636334944773990(ptr noundef nonnull getelementptr inbounds nuw (i8, ptr @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, i64 16), i8 noundef 2), !noalias !29535 + %74 = call noundef ptr @_ZN4core4sync6atomic11atomic_load17hf6ae17783efc19dfE.llvm.5997636334944773990(ptr noundef nonnull getelementptr inbounds nuw (i8, ptr @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, i64 16), i8 noundef 2), !noalias !29541 %.not.i.i.i.i = icmp eq ptr %74, inttoptr (i64 2 to ptr) br i1 %.not.i.i.i.i, label %"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h734fc4935bbafb8fE.exit.i.i", label %75 75: ; preds = %73 - call void @"_ZN9once_cell3imp17OnceCell$LT$T$GT$10initialize17h2106f0dc51d20ab9E"(ptr noundef nonnull align 8 @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, ptr noundef nonnull align 8 @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E), !noalias !29535 - %76 = load ptr, ptr @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, align 8, !noalias !29535, !noundef !11 + call void @"_ZN9once_cell3imp17OnceCell$LT$T$GT$10initialize17h2106f0dc51d20ab9E"(ptr noundef nonnull align 8 @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, ptr noundef nonnull align 8 @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E), !noalias !29541 + %76 = load ptr, ptr @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, align 8, !noalias !29541, !noundef !11 %77 = icmp ne ptr %76, null call void @llvm.assume(i1 %77) br label %"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h734fc4935bbafb8fE.exit.i.i" "_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h734fc4935bbafb8fE.exit.i.i": ; preds = %75, %73 - call void @_ZN12string_cache11dynamic_set3Set6remove17h358d1c715f07230eE(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, ptr noundef nonnull %69), !noalias !29535 + call void @_ZN12string_cache11dynamic_set3Set6remove17h358d1c715f07230eE(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, ptr noundef nonnull %69), !noalias !29541 br label %"_ZN4core3ptr84drop_in_place$LT$string_cache..atom..Atom$LT$markup5ever..LocalNameStaticSet$GT$$GT$17hce00844e8c1e6f00E.exit" "_ZN4core3ptr84drop_in_place$LT$string_cache..atom..Atom$LT$markup5ever..LocalNameStaticSet$GT$$GT$17hce00844e8c1e6f00E.exit": ; preds = %_ZN4core3ops8function2Fn4call17hd3f4995a489080e3E.exit.i, %65, %65, %65, %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14in_scope_named28_$u7b$$u7b$closure$u7d$$u7d$17h3ee5b631dad9765eE.exit.i", %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17h8848c9752412e2c8E.exit", %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17h8848c9752412e2c8E.exit.thread", %"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h734fc4935bbafb8fE.exit.i.i" @@ -106038,11 +106123,11 @@ _ZN4core3ops8function2Fn4call17hd3f4995a489080e3E.exit.i: ; preds = %65, %.noexc ; Function Attrs: nonlazybind uwtable define internal fastcc noundef zeroext i1 @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14in_scope_named17he0c900b6a01675feE"(ptr noalias noundef nonnull readonly align 8 dereferenceable(192) %0) unnamed_addr #0 personality ptr @rust_eh_personality { %2 = alloca [8 x i8], align 8 - tail call void @llvm.experimental.noalias.scope.decl(metadata !29538) + tail call void @llvm.experimental.noalias.scope.decl(metadata !29544) %3 = getelementptr inbounds nuw i8, ptr %0, i64 96 - %4 = load ptr, ptr %3, align 8, !alias.scope !29538, !noalias !29541, !nonnull !11, !noundef !11 + %4 = load ptr, ptr %3, align 8, !alias.scope !29544, !noalias !29547, !nonnull !11, !noundef !11 %5 = getelementptr inbounds nuw i8, ptr %0, i64 104 - %6 = load i64, ptr %5, align 8, !alias.scope !29538, !noalias !29541, !noundef !11 + %6 = load i64, ptr %5, align 8, !alias.scope !29544, !noalias !29547, !noundef !11 %7 = icmp eq i64 %6, 0 br i1 %7, label %"_ZN4core3ptr84drop_in_place$LT$string_cache..atom..Atom$LT$markup5ever..LocalNameStaticSet$GT$$GT$17hce00844e8c1e6f00E.exit", label %.lr.ph.i @@ -106053,12 +106138,12 @@ define internal fastcc noundef zeroext i1 @"_ZN9html5ever12tree_builder32TreeBui .lr.ph.split.i: ; preds = %.lr.ph.i, %_ZN4core3ops8function2Fn4call17h7d9b2e1567371e2dE.exit.i %.sroa.5.013.i = phi ptr [ %9, %_ZN4core3ops8function2Fn4call17h7d9b2e1567371e2dE.exit.i ], [ %8, %.lr.ph.i ] %9 = getelementptr inbounds i8, ptr %.sroa.5.013.i, i64 -8 - %.val.i = load ptr, ptr %9, align 8, !noalias !29544, !nonnull !11, !noundef !11 - %.val.i.i.i = load i64, ptr %.val.i, align 8, !noalias !29544, !noundef !11 + %.val.i = load ptr, ptr %9, align 8, !noalias !29550, !nonnull !11, !noundef !11 + %.val.i.i.i = load i64, ptr %.val.i, align 8, !noalias !29550, !noundef !11 %10 = icmp ne i64 %.val.i.i.i, 0 call void @llvm.assume(i1 %10) %11 = add i64 %.val.i.i.i, 1 - store i64 %11, ptr %.val.i, align 8, !noalias !29544 + store i64 %11, ptr %.val.i, align 8, !noalias !29550 %12 = icmp eq i64 %11, 0 br i1 %12, label %.split.us.i, label %"_ZN65_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h7079571cf84e57ddE.exit.i" @@ -106067,24 +106152,24 @@ define internal fastcc noundef zeroext i1 @"_ZN9html5ever12tree_builder32TreeBui unreachable "_ZN65_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h7079571cf84e57ddE.exit.i": ; preds = %.lr.ph.split.i - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %2), !noalias !29545 - store ptr %.val.i, ptr %2, align 8, !noalias !29545 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %2), !noalias !29551 + store ptr %.val.i, ptr %2, align 8, !noalias !29551 %13 = invoke fastcc noundef zeroext i1 @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15html_elem_named17ha665fb2b5a70699cE"(ptr noalias noundef nonnull readonly align 8 dereferenceable(192) %0, ptr noalias noundef readonly align 8 dereferenceable(8) %2, i64 noundef 4243427688450) - to label %15 unwind label %.split52.i, !noalias !29544 + to label %15 unwind label %.split52.i, !noalias !29550 .split52.i: ; preds = %"_ZN65_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h7079571cf84e57ddE.exit.i" %14 = landingpad { ptr, i32 } cleanup invoke void @"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"(ptr noalias noundef nonnull align 8 dereferenceable(8) %2) #46 - to label %.body unwind label %27, !noalias !29544 + to label %.body unwind label %27, !noalias !29550 15: ; preds = %"_ZN65_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h7079571cf84e57ddE.exit.i" - call void @llvm.experimental.noalias.scope.decl(metadata !29546) - call void @llvm.experimental.noalias.scope.decl(metadata !29549) - %16 = load ptr, ptr %2, align 8, !alias.scope !29552, !noalias !29545, !nonnull !11, !noundef !11 - %17 = load i64, ptr %16, align 8, !noalias !29553, !noundef !11 + call void @llvm.experimental.noalias.scope.decl(metadata !29552) + call void @llvm.experimental.noalias.scope.decl(metadata !29555) + %16 = load ptr, ptr %2, align 8, !alias.scope !29558, !noalias !29551, !nonnull !11, !noundef !11 + %17 = load i64, ptr %16, align 8, !noalias !29559, !noundef !11 %18 = add i64 %17, -1 - store i64 %18, ptr %16, align 8, !noalias !29553 + store i64 %18, ptr %16, align 8, !noalias !29559 %19 = icmp eq i64 %18, 0 br i1 %19, label %20, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14in_scope_named28_$u7b$$u7b$closure$u7d$$u7d$17hca8451c7908f5fdaE.exit.i" @@ -106095,24 +106180,24 @@ define internal fastcc noundef zeroext i1 @"_ZN9html5ever12tree_builder32TreeBui .noexc3: ; preds = %20 %22 = getelementptr inbounds nuw i8, ptr %16, i64 8 - %23 = load i64, ptr %22, align 8, !noalias !29553, !noundef !11 + %23 = load i64, ptr %22, align 8, !noalias !29559, !noundef !11 %24 = add i64 %23, -1 - store i64 %24, ptr %22, align 8, !noalias !29553 + store i64 %24, ptr %22, align 8, !noalias !29559 %25 = icmp eq i64 %24, 0 br i1 %25, label %26, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14in_scope_named28_$u7b$$u7b$closure$u7d$$u7d$17hca8451c7908f5fdaE.exit.i" 26: ; preds = %.noexc3 - call void @__rust_dealloc(ptr noundef nonnull %16, i64 noundef 136, i64 noundef 8) #45, !noalias !29553 + call void @__rust_dealloc(ptr noundef nonnull %16, i64 noundef 136, i64 noundef 8) #45, !noalias !29559 br label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14in_scope_named28_$u7b$$u7b$closure$u7d$$u7d$17hca8451c7908f5fdaE.exit.i" 27: ; preds = %.split52.i %28 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer - call void @_ZN4core9panicking16panic_in_cleanup17hfa05ef7d5107e16aE() #47, !noalias !29544 + call void @_ZN4core9panicking16panic_in_cleanup17hfa05ef7d5107e16aE() #47, !noalias !29550 unreachable "_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14in_scope_named28_$u7b$$u7b$closure$u7d$$u7d$17hca8451c7908f5fdaE.exit.i": ; preds = %26, %.noexc3, %15 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %2), !noalias !29545 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %2), !noalias !29551 br i1 %13, label %"_ZN4core3ptr84drop_in_place$LT$string_cache..atom..Atom$LT$markup5ever..LocalNameStaticSet$GT$$GT$17hce00844e8c1e6f00E.exit", label %29 29: ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14in_scope_named28_$u7b$$u7b$closure$u7d$$u7d$17hca8451c7908f5fdaE.exit.i" @@ -106198,11 +106283,11 @@ _ZN4core3ops8function2Fn4call17h7d9b2e1567371e2dE.exit.i: ; preds = %39, %38, %3 ; Function Attrs: nonlazybind uwtable define internal fastcc noundef zeroext i1 @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14in_scope_named17hebcbb5e3d249b1afE"(ptr noalias noundef nonnull readonly align 8 dereferenceable(192) %0, i64 noundef range(i64 1, 0) %1) unnamed_addr #0 personality ptr @rust_eh_personality { %3 = alloca [8 x i8], align 8 - tail call void @llvm.experimental.noalias.scope.decl(metadata !29554) + tail call void @llvm.experimental.noalias.scope.decl(metadata !29560) %4 = getelementptr inbounds nuw i8, ptr %0, i64 96 - %5 = load ptr, ptr %4, align 8, !alias.scope !29554, !noalias !29557, !nonnull !11, !noundef !11 + %5 = load ptr, ptr %4, align 8, !alias.scope !29560, !noalias !29563, !nonnull !11, !noundef !11 %6 = getelementptr inbounds nuw i8, ptr %0, i64 104 - %7 = load i64, ptr %6, align 8, !alias.scope !29554, !noalias !29557, !noundef !11 + %7 = load i64, ptr %6, align 8, !alias.scope !29560, !noalias !29563, !noundef !11 %8 = icmp eq i64 %7, 0 br i1 %8, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17hf87003d2e82d8ea5E.exit", label %.lr.ph.i @@ -106217,29 +106302,29 @@ define internal fastcc noundef zeroext i1 @"_ZN9html5ever12tree_builder32TreeBui .lr.ph.split.us.i: ; preds = %.lr.ph.i, %_ZN4core3ops8function2Fn4call17h9e9d84ddd0eb7cb7E.exit.us.i %.sroa.5.013.us.i = phi ptr [ %14, %_ZN4core3ops8function2Fn4call17h9e9d84ddd0eb7cb7E.exit.us.i ], [ %9, %.lr.ph.i ] %14 = getelementptr inbounds i8, ptr %.sroa.5.013.us.i, i64 -8 - %.val.us.i = load ptr, ptr %14, align 8, !noalias !29560, !nonnull !11, !noundef !11 - %.val.i.i.us.i = load i64, ptr %.val.us.i, align 8, !noalias !29560, !noundef !11 + %.val.us.i = load ptr, ptr %14, align 8, !noalias !29566, !nonnull !11, !noundef !11 + %.val.i.i.us.i = load i64, ptr %.val.us.i, align 8, !noalias !29566, !noundef !11 %15 = icmp ne i64 %.val.i.i.us.i, 0 call void @llvm.assume(i1 %15) %16 = add i64 %.val.i.i.us.i, 1 - store i64 %16, ptr %.val.us.i, align 8, !noalias !29560 + store i64 %16, ptr %.val.us.i, align 8, !noalias !29566 %17 = icmp eq i64 %16, 0 br i1 %17, label %.split.us.i, label %"_ZN65_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h7079571cf84e57ddE.exit.us.i" "_ZN65_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h7079571cf84e57ddE.exit.us.i": ; preds = %.lr.ph.split.us.i - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3), !noalias !29561 - store ptr %.val.us.i, ptr %3, align 8, !noalias !29561 - %18 = atomicrmw add ptr %13, i64 1 seq_cst, align 8, !noalias !29560 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3), !noalias !29567 + store ptr %.val.us.i, ptr %3, align 8, !noalias !29567 + %18 = atomicrmw add ptr %13, i64 1 seq_cst, align 8, !noalias !29566 %19 = invoke fastcc noundef zeroext i1 @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15html_elem_named17ha665fb2b5a70699cE"(ptr noalias noundef nonnull readonly align 8 dereferenceable(192) %0, ptr noalias noundef readonly align 8 dereferenceable(8) %3, i64 noundef %1) - to label %20 unwind label %.split50.us.i, !noalias !29560 + to label %20 unwind label %.split50.us.i, !noalias !29566 20: ; preds = %"_ZN65_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h7079571cf84e57ddE.exit.us.i" - call void @llvm.experimental.noalias.scope.decl(metadata !29562) - call void @llvm.experimental.noalias.scope.decl(metadata !29565) - %21 = load ptr, ptr %3, align 8, !alias.scope !29568, !noalias !29561, !nonnull !11, !noundef !11 - %22 = load i64, ptr %21, align 8, !noalias !29569, !noundef !11 + call void @llvm.experimental.noalias.scope.decl(metadata !29568) + call void @llvm.experimental.noalias.scope.decl(metadata !29571) + %21 = load ptr, ptr %3, align 8, !alias.scope !29574, !noalias !29567, !nonnull !11, !noundef !11 + %22 = load i64, ptr %21, align 8, !noalias !29575, !noundef !11 %23 = add i64 %22, -1 - store i64 %23, ptr %21, align 8, !noalias !29569 + store i64 %23, ptr %21, align 8, !noalias !29575 %24 = icmp eq i64 %23, 0 br i1 %24, label %25, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14in_scope_named28_$u7b$$u7b$closure$u7d$$u7d$17hd53a4fc1fa73bcffE.exit.us.i" @@ -106250,18 +106335,18 @@ define internal fastcc noundef zeroext i1 @"_ZN9html5ever12tree_builder32TreeBui .noexc: ; preds = %25 %27 = getelementptr inbounds nuw i8, ptr %21, i64 8 - %28 = load i64, ptr %27, align 8, !noalias !29569, !noundef !11 + %28 = load i64, ptr %27, align 8, !noalias !29575, !noundef !11 %29 = add i64 %28, -1 - store i64 %29, ptr %27, align 8, !noalias !29569 + store i64 %29, ptr %27, align 8, !noalias !29575 %30 = icmp eq i64 %29, 0 br i1 %30, label %31, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14in_scope_named28_$u7b$$u7b$closure$u7d$$u7d$17hd53a4fc1fa73bcffE.exit.us.i" 31: ; preds = %.noexc - call void @__rust_dealloc(ptr noundef nonnull %21, i64 noundef 136, i64 noundef 8) #45, !noalias !29569 + call void @__rust_dealloc(ptr noundef nonnull %21, i64 noundef 136, i64 noundef 8) #45, !noalias !29575 br label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14in_scope_named28_$u7b$$u7b$closure$u7d$$u7d$17hd53a4fc1fa73bcffE.exit.us.i" "_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14in_scope_named28_$u7b$$u7b$closure$u7d$$u7d$17hd53a4fc1fa73bcffE.exit.us.i": ; preds = %31, %.noexc, %20 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3), !noalias !29561 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3), !noalias !29567 br i1 %19, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17hf87003d2e82d8ea5E.exit.thread", label %32 32: ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14in_scope_named28_$u7b$$u7b$closure$u7d$$u7d$17hd53a4fc1fa73bcffE.exit.us.i" @@ -106271,7 +106356,7 @@ define internal fastcc noundef zeroext i1 @"_ZN9html5ever12tree_builder32TreeBui .noexc2: ; preds = %32 %34 = extractvalue { ptr, ptr } %33, 0 %35 = extractvalue { ptr, ptr } %33, 1 - %.val7.us.i = load i64, ptr %34, align 8, !alias.scope !29570, !noalias !29573, !noundef !11 + %.val7.us.i = load i64, ptr %34, align 8, !alias.scope !29576, !noalias !29579, !noundef !11 %.val8.us.i = load i64, ptr %35, align 8 switch i64 %.val7.us.i, label %_ZN4core3ops8function2Fn4call17h9e9d84ddd0eb7cb7E.exit.us.i [ i64 30064771074, label %38 @@ -106320,12 +106405,12 @@ _ZN4core3ops8function2Fn4call17h9e9d84ddd0eb7cb7E.exit.us.i: ; preds = %38, %37, .lr.ph.split.i: ; preds = %.lr.ph.i, %_ZN4core3ops8function2Fn4call17h9e9d84ddd0eb7cb7E.exit.i %.sroa.5.013.i = phi ptr [ %41, %_ZN4core3ops8function2Fn4call17h9e9d84ddd0eb7cb7E.exit.i ], [ %9, %.lr.ph.i ] %41 = getelementptr inbounds i8, ptr %.sroa.5.013.i, i64 -8 - %.val.i = load ptr, ptr %41, align 8, !noalias !29560, !nonnull !11, !noundef !11 - %.val.i.i.i = load i64, ptr %.val.i, align 8, !noalias !29560, !noundef !11 + %.val.i = load ptr, ptr %41, align 8, !noalias !29566, !nonnull !11, !noundef !11 + %.val.i.i.i = load i64, ptr %.val.i, align 8, !noalias !29566, !noundef !11 %42 = icmp ne i64 %.val.i.i.i, 0 call void @llvm.assume(i1 %42) %43 = add i64 %.val.i.i.i, 1 - store i64 %43, ptr %.val.i, align 8, !noalias !29560 + store i64 %43, ptr %.val.i, align 8, !noalias !29566 %44 = icmp eq i64 %43, 0 br i1 %44, label %.split.us.i, label %"_ZN65_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h7079571cf84e57ddE.exit.i" @@ -106334,10 +106419,10 @@ _ZN4core3ops8function2Fn4call17h9e9d84ddd0eb7cb7E.exit.us.i: ; preds = %38, %37, unreachable "_ZN65_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h7079571cf84e57ddE.exit.i": ; preds = %.lr.ph.split.i - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3), !noalias !29561 - store ptr %.val.i, ptr %3, align 8, !noalias !29561 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3), !noalias !29567 + store ptr %.val.i, ptr %3, align 8, !noalias !29567 %45 = invoke fastcc noundef zeroext i1 @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15html_elem_named17ha665fb2b5a70699cE"(ptr noalias noundef nonnull readonly align 8 dereferenceable(192) %0, ptr noalias noundef readonly align 8 dereferenceable(8) %3, i64 noundef %1) - to label %48 unwind label %.split50.i, !noalias !29560 + to label %48 unwind label %.split50.i, !noalias !29566 .split50.i: ; preds = %"_ZN65_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h7079571cf84e57ddE.exit.i" %46 = landingpad { ptr, i32 } @@ -106347,15 +106432,15 @@ _ZN4core3ops8function2Fn4call17h9e9d84ddd0eb7cb7E.exit.us.i: ; preds = %38, %37, 47: ; preds = %.split50.i, %.split50.us.i %.us-phi.i = phi { ptr, i32 } [ %46, %.split50.i ], [ %40, %.split50.us.i ] invoke void @"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"(ptr noalias noundef nonnull align 8 dereferenceable(8) %3) #46 - to label %.body unwind label %60, !noalias !29560 + to label %.body unwind label %60, !noalias !29566 48: ; preds = %"_ZN65_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h7079571cf84e57ddE.exit.i" - call void @llvm.experimental.noalias.scope.decl(metadata !29562) - call void @llvm.experimental.noalias.scope.decl(metadata !29565) - %49 = load ptr, ptr %3, align 8, !alias.scope !29568, !noalias !29561, !nonnull !11, !noundef !11 - %50 = load i64, ptr %49, align 8, !noalias !29569, !noundef !11 + call void @llvm.experimental.noalias.scope.decl(metadata !29568) + call void @llvm.experimental.noalias.scope.decl(metadata !29571) + %49 = load ptr, ptr %3, align 8, !alias.scope !29574, !noalias !29567, !nonnull !11, !noundef !11 + %50 = load i64, ptr %49, align 8, !noalias !29575, !noundef !11 %51 = add i64 %50, -1 - store i64 %51, ptr %49, align 8, !noalias !29569 + store i64 %51, ptr %49, align 8, !noalias !29575 %52 = icmp eq i64 %51, 0 br i1 %52, label %53, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14in_scope_named28_$u7b$$u7b$closure$u7d$$u7d$17hd53a4fc1fa73bcffE.exit.i" @@ -106366,24 +106451,24 @@ _ZN4core3ops8function2Fn4call17h9e9d84ddd0eb7cb7E.exit.us.i: ; preds = %38, %37, .noexc3: ; preds = %53 %55 = getelementptr inbounds nuw i8, ptr %49, i64 8 - %56 = load i64, ptr %55, align 8, !noalias !29569, !noundef !11 + %56 = load i64, ptr %55, align 8, !noalias !29575, !noundef !11 %57 = add i64 %56, -1 - store i64 %57, ptr %55, align 8, !noalias !29569 + store i64 %57, ptr %55, align 8, !noalias !29575 %58 = icmp eq i64 %57, 0 br i1 %58, label %59, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14in_scope_named28_$u7b$$u7b$closure$u7d$$u7d$17hd53a4fc1fa73bcffE.exit.i" 59: ; preds = %.noexc3 - call void @__rust_dealloc(ptr noundef nonnull %49, i64 noundef 136, i64 noundef 8) #45, !noalias !29569 + call void @__rust_dealloc(ptr noundef nonnull %49, i64 noundef 136, i64 noundef 8) #45, !noalias !29575 br label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14in_scope_named28_$u7b$$u7b$closure$u7d$$u7d$17hd53a4fc1fa73bcffE.exit.i" 60: ; preds = %47 %61 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer - call void @_ZN4core9panicking16panic_in_cleanup17hfa05ef7d5107e16aE() #47, !noalias !29560 + call void @_ZN4core9panicking16panic_in_cleanup17hfa05ef7d5107e16aE() #47, !noalias !29566 unreachable "_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14in_scope_named28_$u7b$$u7b$closure$u7d$$u7d$17hd53a4fc1fa73bcffE.exit.i": ; preds = %59, %.noexc3, %48 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3), !noalias !29561 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3), !noalias !29567 br i1 %45, label %"_ZN4core3ptr84drop_in_place$LT$string_cache..atom..Atom$LT$markup5ever..LocalNameStaticSet$GT$$GT$17hce00844e8c1e6f00E.exit", label %62 62: ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14in_scope_named28_$u7b$$u7b$closure$u7d$$u7d$17hd53a4fc1fa73bcffE.exit.i" @@ -106393,7 +106478,7 @@ _ZN4core3ops8function2Fn4call17h9e9d84ddd0eb7cb7E.exit.us.i: ; preds = %38, %37, .noexc4: ; preds = %62 %64 = extractvalue { ptr, ptr } %63, 0 %65 = extractvalue { ptr, ptr } %63, 1 - %.val7.i = load i64, ptr %64, align 8, !alias.scope !29570, !noalias !29573, !noundef !11 + %.val7.i = load i64, ptr %64, align 8, !alias.scope !29576, !noalias !29579, !noundef !11 %.val8.i = load i64, ptr %65, align 8 switch i64 %.val7.i, label %_ZN4core3ops8function2Fn4call17h9e9d84ddd0eb7cb7E.exit.i [ i64 30064771074, label %66 @@ -106463,19 +106548,19 @@ _ZN4core3ops8function2Fn4call17h9e9d84ddd0eb7cb7E.exit.i: ; preds = %68, %67, %6 br i1 %74, label %75, label %"_ZN4core3ptr84drop_in_place$LT$string_cache..atom..Atom$LT$markup5ever..LocalNameStaticSet$GT$$GT$17hce00844e8c1e6f00E.exit" 75: ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17hf87003d2e82d8ea5E.exit.thread" - %76 = call noundef ptr @_ZN4core4sync6atomic11atomic_load17hf6ae17783efc19dfE.llvm.5997636334944773990(ptr noundef nonnull getelementptr inbounds nuw (i8, ptr @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, i64 16), i8 noundef 2), !noalias !29575 + %76 = call noundef ptr @_ZN4core4sync6atomic11atomic_load17hf6ae17783efc19dfE.llvm.5997636334944773990(ptr noundef nonnull getelementptr inbounds nuw (i8, ptr @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, i64 16), i8 noundef 2), !noalias !29581 %.not.i.i.i.i = icmp eq ptr %76, inttoptr (i64 2 to ptr) br i1 %.not.i.i.i.i, label %"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h734fc4935bbafb8fE.exit.i.i", label %77 77: ; preds = %75 - call void @"_ZN9once_cell3imp17OnceCell$LT$T$GT$10initialize17h2106f0dc51d20ab9E"(ptr noundef nonnull align 8 @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, ptr noundef nonnull align 8 @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E), !noalias !29575 - %78 = load ptr, ptr @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, align 8, !noalias !29575, !noundef !11 + call void @"_ZN9once_cell3imp17OnceCell$LT$T$GT$10initialize17h2106f0dc51d20ab9E"(ptr noundef nonnull align 8 @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, ptr noundef nonnull align 8 @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E), !noalias !29581 + %78 = load ptr, ptr @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, align 8, !noalias !29581, !noundef !11 %79 = icmp ne ptr %78, null call void @llvm.assume(i1 %79) br label %"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h734fc4935bbafb8fE.exit.i.i" "_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h734fc4935bbafb8fE.exit.i.i": ; preds = %77, %75 - call void @_ZN12string_cache11dynamic_set3Set6remove17h358d1c715f07230eE(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, ptr noundef nonnull %71), !noalias !29575 + call void @_ZN12string_cache11dynamic_set3Set6remove17h358d1c715f07230eE(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, ptr noundef nonnull %71), !noalias !29581 br label %"_ZN4core3ptr84drop_in_place$LT$string_cache..atom..Atom$LT$markup5ever..LocalNameStaticSet$GT$$GT$17hce00844e8c1e6f00E.exit" "_ZN4core3ptr84drop_in_place$LT$string_cache..atom..Atom$LT$markup5ever..LocalNameStaticSet$GT$$GT$17hce00844e8c1e6f00E.exit": ; preds = %_ZN4core3ops8function2Fn4call17h9e9d84ddd0eb7cb7E.exit.i, %68, %68, %68, %67, %67, %67, %67, %67, %66, %66, %66, %66, %66, %66, %66, %66, %66, %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14in_scope_named28_$u7b$$u7b$closure$u7d$$u7d$17hd53a4fc1fa73bcffE.exit.i", %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17hf87003d2e82d8ea5E.exit", %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17hf87003d2e82d8ea5E.exit.thread", %"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h734fc4935bbafb8fE.exit.i.i" @@ -106510,8 +106595,8 @@ define internal fastcc noundef nonnull ptr @"_ZN9html5ever12tree_builder32TreeBu store i64 %3, ptr %15, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %12) call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %11) - tail call void @llvm.experimental.noalias.scope.decl(metadata !29578) - tail call void @llvm.experimental.noalias.scope.decl(metadata !29581) + tail call void @llvm.experimental.noalias.scope.decl(metadata !29584) + tail call void @llvm.experimental.noalias.scope.decl(metadata !29587) %16 = and i64 %2, 3 %17 = icmp eq i64 %16, 0 br i1 %17, label %18, label %22 @@ -106519,8 +106604,8 @@ define internal fastcc noundef nonnull ptr @"_ZN9html5ever12tree_builder32TreeBu 18: ; preds = %5 %19 = inttoptr i64 %2 to ptr %20 = getelementptr inbounds nuw i8, ptr %19, i64 16 - %21 = atomicrmw add ptr %20, i64 1 seq_cst, align 8, !noalias !29583 - %.pre = load i64, ptr %15, align 8, !range !3781, !alias.scope !29581, !noalias !29578 + %21 = atomicrmw add ptr %20, i64 1 seq_cst, align 8, !noalias !29589 + %.pre = load i64, ptr %15, align 8, !range !3781, !alias.scope !29587, !noalias !29584 br label %22 22: ; preds = %18, %5 @@ -106532,7 +106617,7 @@ define internal fastcc noundef nonnull ptr @"_ZN9html5ever12tree_builder32TreeBu 26: ; preds = %22 %27 = inttoptr i64 %23 to ptr %28 = getelementptr inbounds nuw i8, ptr %27, i64 16 - %29 = atomicrmw add ptr %28, i64 1 seq_cst, align 8, !noalias !29583 + %29 = atomicrmw add ptr %28, i64 1 seq_cst, align 8, !noalias !29589 br label %31 30: ; preds = %.thread, %36, %176, %175, %41 @@ -106542,10 +106627,10 @@ define internal fastcc noundef nonnull ptr @"_ZN9html5ever12tree_builder32TreeBu 31: ; preds = %26, %22 %32 = getelementptr inbounds nuw i8, ptr %11, i64 16 - store i64 0, ptr %32, align 8, !alias.scope !29578, !noalias !29581 - store i64 %2, ptr %11, align 8, !alias.scope !29578, !noalias !29581 + store i64 0, ptr %32, align 8, !alias.scope !29584, !noalias !29587 + store i64 %2, ptr %11, align 8, !alias.scope !29584, !noalias !29587 %33 = getelementptr inbounds nuw i8, ptr %11, i64 8 - store i64 %23, ptr %33, align 8, !alias.scope !29578, !noalias !29581 + store i64 %23, ptr %33, align 8, !alias.scope !29584, !noalias !29587 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %10) %34 = getelementptr inbounds nuw i8, ptr %4, i64 8 %.val28 = load ptr, ptr %34, align 8, !nonnull !11, !noundef !11 @@ -106658,9 +106743,9 @@ define internal fastcc noundef nonnull ptr @"_ZN9html5ever12tree_builder32TreeBu 68: ; preds = %64 %69 = getelementptr inbounds nuw i8, ptr %0, i64 96 - %70 = load ptr, ptr %69, align 8, !alias.scope !29584, !nonnull !11, !noundef !11 + %70 = load ptr, ptr %69, align 8, !alias.scope !29590, !nonnull !11, !noundef !11 %71 = getelementptr inbounds nuw i8, ptr %0, i64 104 - %72 = load i64, ptr %71, align 8, !alias.scope !29584, !noundef !11 + %72 = load i64, ptr %71, align 8, !alias.scope !29590, !noundef !11 %73 = getelementptr inbounds ptr, ptr %70, i64 %72 %.not.not.i.not.not.not.i.not70 = icmp eq i64 %72, 0 br i1 %.not.not.i.not.not.not.i.not70, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$18in_html_elem_named17h650695e607997377E.exit", label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$18in_html_elem_named28_$u7b$$u7b$closure$u7d$$u7d$17h1d4505b8aa177e47E.exit.i.i" @@ -106742,13 +106827,13 @@ define internal fastcc noundef nonnull ptr @"_ZN9html5ever12tree_builder32TreeBu .lr.ph.i: ; preds = %95, %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14insert_element28_$u7b$$u7b$closure$u7d$$u7d$17h8b9f6fd763d56c0fE.exit.backedge.i" %99 = phi ptr [ %100, %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14insert_element28_$u7b$$u7b$closure$u7d$$u7d$17h8b9f6fd763d56c0fE.exit.backedge.i" ], [ %96, %95 ] %100 = getelementptr inbounds nuw i8, ptr %99, i64 40 - %101 = load i64, ptr %99, align 8, !range !3781, !noalias !29587, !noundef !11 + %101 = load i64, ptr %99, align 8, !range !3781, !noalias !29593, !noundef !11 %102 = icmp eq i64 %101, 25769803778 br i1 %102, label %103, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14insert_element28_$u7b$$u7b$closure$u7d$$u7d$17h8b9f6fd763d56c0fE.exit.backedge.i" 103: ; preds = %.lr.ph.i %104 = getelementptr inbounds nuw i8, ptr %99, i64 8 - %105 = load i64, ptr %104, align 8, !range !3781, !noalias !29587, !noundef !11 + %105 = load i64, ptr %104, align 8, !range !3781, !noalias !29593, !noundef !11 %106 = icmp eq i64 %105, 4110283702274 br i1 %106, label %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3any17h8316e9be1005d19cE.exit", label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14insert_element28_$u7b$$u7b$closure$u7d$$u7d$17h8b9f6fd763d56c0fE.exit.backedge.i" @@ -106791,7 +106876,7 @@ define internal fastcc noundef nonnull ptr @"_ZN9html5ever12tree_builder32TreeBu unreachable 118: ; preds = %112 - store i64 %.val.i.i38, ptr %92, align 8, !noalias !29590 + store i64 %.val.i.i38, ptr %92, align 8, !noalias !29596 br label %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3any17h8316e9be1005d19cE.exit" 119: ; preds = %.body, %176, %175, %.thread56, %171, %157, %30 @@ -106834,9 +106919,9 @@ define internal fastcc noundef nonnull ptr @"_ZN9html5ever12tree_builder32TreeBu br i1 %131, label %"_ZN4core3ptr93drop_in_place$LT$core..option..Option$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17h6cab5c98ec12283dE.exit", label %132 132: ; preds = %130 - %133 = load i64, ptr %.sroa.012.0, align 8, !noalias !29595, !noundef !11 + %133 = load i64, ptr %.sroa.012.0, align 8, !noalias !29601, !noundef !11 %134 = add i64 %133, -1 - store i64 %134, ptr %.sroa.012.0, align 8, !noalias !29595 + store i64 %134, ptr %.sroa.012.0, align 8, !noalias !29601 %135 = icmp eq i64 %134, 0 br i1 %135, label %136, label %"_ZN4core3ptr93drop_in_place$LT$core..option..Option$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17h6cab5c98ec12283dE.exit" @@ -106847,24 +106932,24 @@ define internal fastcc noundef nonnull ptr @"_ZN9html5ever12tree_builder32TreeBu .noexc42: ; preds = %136 %138 = getelementptr inbounds nuw i8, ptr %.sroa.012.0, i64 8 - %139 = load i64, ptr %138, align 8, !noalias !29595, !noundef !11 + %139 = load i64, ptr %138, align 8, !noalias !29601, !noundef !11 %140 = add i64 %139, -1 - store i64 %140, ptr %138, align 8, !noalias !29595 + store i64 %140, ptr %138, align 8, !noalias !29601 %141 = icmp eq i64 %140, 0 br i1 %141, label %142, label %"_ZN4core3ptr93drop_in_place$LT$core..option..Option$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17h6cab5c98ec12283dE.exit" 142: ; preds = %.noexc42 - tail call void @__rust_dealloc(ptr noundef nonnull %.sroa.012.0, i64 noundef 136, i64 noundef 8) #45, !noalias !29595 + tail call void @__rust_dealloc(ptr noundef nonnull %.sroa.012.0, i64 noundef 136, i64 noundef 8) #45, !noalias !29601 br label %"_ZN4core3ptr93drop_in_place$LT$core..option..Option$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17h6cab5c98ec12283dE.exit" "_ZN65_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h7079571cf84e57ddE.exit41": ; preds = %125 %143 = getelementptr inbounds nuw i8, ptr %0, i64 88 - tail call void @llvm.experimental.noalias.scope.decl(metadata !29600) + tail call void @llvm.experimental.noalias.scope.decl(metadata !29606) call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %6) - store ptr %39, ptr %6, align 8, !noalias !29600 + store ptr %39, ptr %6, align 8, !noalias !29606 %144 = getelementptr inbounds nuw i8, ptr %0, i64 104 - %145 = load i64, ptr %144, align 8, !alias.scope !29600, !noundef !11 - %146 = load i64, ptr %143, align 8, !alias.scope !29600, !noundef !11 + %145 = load i64, ptr %144, align 8, !alias.scope !29606, !noundef !11 + %146 = load i64, ptr %143, align 8, !alias.scope !29606, !noundef !11 %147 = icmp eq i64 %145, %146 br i1 %147, label %148, label %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17h88a971381cd1244dE.exit" @@ -106886,11 +106971,11 @@ define internal fastcc noundef nonnull ptr @"_ZN9html5ever12tree_builder32TreeBu "_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17h88a971381cd1244dE.exit": ; preds = %"_ZN65_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h7079571cf84e57ddE.exit41", %148 %153 = getelementptr inbounds nuw i8, ptr %0, i64 96 - %154 = load ptr, ptr %153, align 8, !alias.scope !29600, !nonnull !11, !noundef !11 + %154 = load ptr, ptr %153, align 8, !alias.scope !29606, !nonnull !11, !noundef !11 %155 = getelementptr inbounds ptr, ptr %154, i64 %145 store ptr %39, ptr %155, align 8 %156 = add i64 %145, 1 - store i64 %156, ptr %144, align 8, !alias.scope !29600 + store i64 %156, ptr %144, align 8, !alias.scope !29606 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %6) br label %130 @@ -106907,12 +106992,12 @@ define internal fastcc noundef nonnull ptr @"_ZN9html5ever12tree_builder32TreeBu br label %157 "_ZN4core3ptr93drop_in_place$LT$core..option..Option$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17h6cab5c98ec12283dE.exit": ; preds = %142, %.noexc42, %132, %130 - tail call void @llvm.experimental.noalias.scope.decl(metadata !29603) - tail call void @llvm.experimental.noalias.scope.decl(metadata !29606) - %160 = load ptr, ptr %8, align 8, !alias.scope !29609, !nonnull !11, !noundef !11 - %161 = load i64, ptr %160, align 8, !noalias !29609, !noundef !11 + tail call void @llvm.experimental.noalias.scope.decl(metadata !29609) + tail call void @llvm.experimental.noalias.scope.decl(metadata !29612) + %160 = load ptr, ptr %8, align 8, !alias.scope !29615, !nonnull !11, !noundef !11 + %161 = load i64, ptr %160, align 8, !noalias !29615, !noundef !11 %162 = add i64 %161, -1 - store i64 %162, ptr %160, align 8, !noalias !29609 + store i64 %162, ptr %160, align 8, !noalias !29615 %163 = icmp eq i64 %162, 0 br i1 %163, label %164, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit47" @@ -106923,14 +107008,14 @@ define internal fastcc noundef nonnull ptr @"_ZN9html5ever12tree_builder32TreeBu .noexc46: ; preds = %164 %166 = getelementptr inbounds nuw i8, ptr %160, i64 8 - %167 = load i64, ptr %166, align 8, !noalias !29609, !noundef !11 + %167 = load i64, ptr %166, align 8, !noalias !29615, !noundef !11 %168 = add i64 %167, -1 - store i64 %168, ptr %166, align 8, !noalias !29609 + store i64 %168, ptr %166, align 8, !noalias !29615 %169 = icmp eq i64 %168, 0 br i1 %169, label %170, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit47" 170: ; preds = %.noexc46 - tail call void @__rust_dealloc(ptr noundef nonnull %160, i64 noundef 136, i64 noundef 8) #45, !noalias !29609 + tail call void @__rust_dealloc(ptr noundef nonnull %160, i64 noundef 136, i64 noundef 8) #45, !noalias !29615 br label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit47" "_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit47": ; preds = %170, %.noexc46, %"_ZN4core3ptr93drop_in_place$LT$core..option..Option$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17h6cab5c98ec12283dE.exit" @@ -106985,13 +107070,13 @@ define internal fastcc noundef zeroext i1 @"_ZN9html5ever12tree_builder32TreeBui .lr.ph.i: ; preds = %0, %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14is_type_hidden28_$u7b$$u7b$closure$u7d$$u7d$17h24bf0bd5b80c83b2E.exit.backedge.i" %4 = phi ptr [ %5, %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14is_type_hidden28_$u7b$$u7b$closure$u7d$$u7d$17h24bf0bd5b80c83b2E.exit.backedge.i" ], [ %.8.val, %0 ] %5 = getelementptr inbounds nuw i8, ptr %4, i64 40 - %6 = load i64, ptr %4, align 8, !range !3781, !noalias !29610, !noundef !11 + %6 = load i64, ptr %4, align 8, !range !3781, !noalias !29616, !noundef !11 %7 = icmp eq i64 %6, 25769803778 br i1 %7, label %8, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14is_type_hidden28_$u7b$$u7b$closure$u7d$$u7d$17h24bf0bd5b80c83b2E.exit.backedge.i" 8: ; preds = %.lr.ph.i %9 = getelementptr inbounds nuw i8, ptr %4, i64 8 - %10 = load i64, ptr %9, align 8, !range !3781, !noalias !29610, !noundef !11 + %10 = load i64, ptr %9, align 8, !range !3781, !noalias !29616, !noundef !11 %11 = icmp eq i64 %10, 2667174690818 br i1 %11, label %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4find17h5a07820ce9750ba5E.exit", label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14is_type_hidden28_$u7b$$u7b$closure$u7d$$u7d$17h24bf0bd5b80c83b2E.exit.backedge.i" @@ -107018,7 +107103,7 @@ define internal fastcc noundef zeroext i1 @"_ZN9html5ever12tree_builder32TreeBui 22: ; preds = %18 %23 = getelementptr inbounds nuw i8, ptr %4, i64 36 - %24 = load i32, ptr %23, align 4, !noalias !29613, !noundef !11 + %24 = load i32, ptr %23, align 4, !noalias !29619, !noundef !11 %25 = zext i32 %24 to i64 br label %28 @@ -107038,7 +107123,7 @@ define internal fastcc noundef zeroext i1 @"_ZN9html5ever12tree_builder32TreeBui "_ZN7tendril7tendril20Tendril$LT$F$C$A$GT$13as_byte_slice17hb9df0b26cca6387fE.exit": ; preds = %26, %28 %.sroa.4.0.i = phi i64 [ %14, %26 ], [ %32, %28 ] %.sroa.0.0.i3 = phi ptr [ %27, %26 ], [ %33, %28 ] - tail call void @llvm.experimental.noalias.scope.decl(metadata !29616) + tail call void @llvm.experimental.noalias.scope.decl(metadata !29622) %34 = icmp eq i64 %.sroa.4.0.i, 6 br i1 %34, label %.preheader.i, label %"_ZN4core5slice5ascii30_$LT$impl$u20$$u5b$u8$u5d$$GT$20eq_ignore_ascii_case17h3051414c5fb1eb32E.exit" @@ -107051,8 +107136,8 @@ define internal fastcc noundef zeroext i1 @"_ZN9html5ever12tree_builder32TreeBui %37 = add nuw nsw i64 %35, 1 %38 = getelementptr inbounds nuw i8, ptr %.sroa.0.0.i3, i64 %35 %39 = getelementptr inbounds nuw i8, ptr @anon.8d30d0a7d2f463ab8d140474c43893b3.272, i64 %35 - %.val.i.i = load i8, ptr %38, align 1, !alias.scope !29616, !noalias !29619, !noundef !11 - %.val6.i.i = load i8, ptr %39, align 1, !noalias !29622, !noundef !11 + %.val.i.i = load i8, ptr %38, align 1, !alias.scope !29622, !noalias !29625, !noundef !11 + %.val6.i.i = load i8, ptr %39, align 1, !noalias !29628, !noundef !11 %40 = add i8 %.val.i.i, -65 %41 = icmp ult i8 %40, 26 %.sroa.0.0.i.i7.i.i = select i1 %41, i8 32, i8 0 @@ -107076,24 +107161,24 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle %7 = load i64, ptr %6, align 8, !range !3781, !noundef !11 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(24) %2, i64 24, i1 false) %8 = call fastcc noundef nonnull ptr @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14insert_element17h541e4d2324303302E"(ptr noalias noundef align 8 dereferenceable(192) %1, i1 noundef zeroext false, i64 noundef 30064771074, i64 noundef %7, ptr noalias noundef align 8 captures(none) dereferenceable(24) %5) - %9 = load i64, ptr %8, align 8, !noalias !29623, !noundef !11 + %9 = load i64, ptr %8, align 8, !noalias !29629, !noundef !11 %10 = add i64 %9, -1 - store i64 %10, ptr %8, align 8, !noalias !29623 + store i64 %10, ptr %8, align 8, !noalias !29629 %11 = icmp eq i64 %10, 0 br i1 %11, label %12, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit" 12: ; preds = %4 %13 = getelementptr inbounds nuw i8, ptr %8, i64 16 - tail call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17h1739d7a806ebb2d8E.llvm.13361645166614471590"(ptr noalias noundef nonnull align 8 dereferenceable(120) %13), !noalias !29623 + tail call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17h1739d7a806ebb2d8E.llvm.13361645166614471590"(ptr noalias noundef nonnull align 8 dereferenceable(120) %13), !noalias !29629 %14 = getelementptr inbounds nuw i8, ptr %8, i64 8 - %15 = load i64, ptr %14, align 8, !noalias !29623, !noundef !11 + %15 = load i64, ptr %14, align 8, !noalias !29629, !noundef !11 %16 = add i64 %15, -1 - store i64 %16, ptr %14, align 8, !noalias !29623 + store i64 %16, ptr %14, align 8, !noalias !29629 %17 = icmp eq i64 %16, 0 br i1 %17, label %18, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit" 18: ; preds = %12 - tail call void @__rust_dealloc(ptr noundef nonnull %8, i64 noundef 136, i64 noundef 8) #45, !noalias !29623 + tail call void @__rust_dealloc(ptr noundef nonnull %8, i64 noundef 136, i64 noundef 8) #45, !noalias !29629 br label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit" "_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit": ; preds = %4, %12, %18 @@ -107163,19 +107248,19 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle br label %47 47: ; preds = %2, %43 - tail call void @llvm.experimental.noalias.scope.decl(metadata !29628) + tail call void @llvm.experimental.noalias.scope.decl(metadata !29634) %48 = getelementptr inbounds nuw i8, ptr %0, i64 104 - %49 = load i64, ptr %48, align 8, !alias.scope !29628, !noundef !11 + %49 = load i64, ptr %48, align 8, !alias.scope !29634, !noundef !11 %.not.i = icmp eq i64 %49, 0 br i1 %.not.i, label %50, label %51 50: ; preds = %47 invoke void @_ZN4core6option13expect_failed17h3a757a693188cc6eE(ptr noalias noundef nonnull readonly align 1 @anon.8d30d0a7d2f463ab8d140474c43893b3.273.llvm.16595843094761361803, i64 noundef 18, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.8d30d0a7d2f463ab8d140474c43893b3.274.llvm.16595843094761361803) #44 - to label %57 unwind label %58, !noalias !29628 + to label %57 unwind label %58, !noalias !29634 51: ; preds = %47 %52 = getelementptr inbounds nuw i8, ptr %0, i64 96 - %53 = load ptr, ptr %52, align 8, !alias.scope !29628, !nonnull !11, !noundef !11 + %53 = load ptr, ptr %52, align 8, !alias.scope !29634, !nonnull !11, !noundef !11 %54 = add i64 %49, -1 %55 = getelementptr inbounds [0 x ptr], ptr %53, i64 0, i64 %54 %56 = invoke fastcc noundef zeroext i1 @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15html_elem_named17ha665fb2b5a70699cE"(ptr noalias noundef nonnull readonly align 8 dereferenceable(192) %0, ptr noalias noundef readonly align 8 dereferenceable(8) %55, i64 noundef range(i64 1, 0) %1) @@ -107188,12 +107273,12 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle %59 = landingpad { ptr, i32 } cleanup invoke fastcc void @"_ZN4core3ptr84drop_in_place$LT$string_cache..atom..Atom$LT$markup5ever..LocalNameStaticSet$GT$$GT$17hce00844e8c1e6f00E"(i64 range(i64 1, 0) %1) #46 - to label %.thread446 unwind label %60, !noalias !29628 + to label %.thread446 unwind label %60, !noalias !29634 60: ; preds = %58 %61 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer - tail call void @_ZN4core9panicking16panic_in_cleanup17hfa05ef7d5107e16aE() #47, !noalias !29628 + tail call void @_ZN4core9panicking16panic_in_cleanup17hfa05ef7d5107e16aE() #47, !noalias !29634 unreachable .thread449.loopexit: ; preds = %935 @@ -107259,31 +107344,31 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle %95 = getelementptr inbounds nuw i8, ptr %0, i64 128 %96 = load i64, ptr %95, align 8, !noundef !11 %97 = getelementptr inbounds { i64, [5 x i64] }, ptr %94, i64 %96 - tail call void @llvm.experimental.noalias.scope.decl(metadata !29631) + tail call void @llvm.experimental.noalias.scope.decl(metadata !29637) %98 = icmp eq i64 %96, 0 br i1 %98, label %..loopexit675_crit_edge, label %.lr.ph.i ..loopexit675_crit_edge: ; preds = %90 %.phi.trans.insert = getelementptr inbounds ptr, ptr %91, i64 %92 - %.pre2251 = load ptr, ptr %.phi.trans.insert, align 8, !noalias !29634 + %.pre2251 = load ptr, ptr %.phi.trans.insert, align 8, !noalias !29640 br label %.loopexit675 .lr.ph.i: ; preds = %90 %99 = getelementptr inbounds [0 x ptr], ptr %91, i64 0, i64 %92 - %.val1.i.i = load ptr, ptr %99, align 8, !alias.scope !29631, !noalias !29637, !nonnull !11 + %.val1.i.i = load ptr, ptr %99, align 8, !alias.scope !29637, !noalias !29643, !nonnull !11 br label %100 100: ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h32860e114d529e59E.exit.thread.i", %.lr.ph.i %.sroa.02.014.i = phi i64 [ 0, %.lr.ph.i ], [ %106, %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h32860e114d529e59E.exit.thread.i" ] %101 = phi ptr [ %94, %.lr.ph.i ], [ %102, %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h32860e114d529e59E.exit.thread.i" ] %102 = getelementptr inbounds nuw i8, ptr %101, i64 48 - %.val8.i = load i64, ptr %101, align 8, !range !23, !noalias !29639, !noundef !11 + %.val8.i = load i64, ptr %101, align 8, !range !23, !noalias !29645, !noundef !11 %103 = icmp eq i64 %.val8.i, -9223372036854775808 br i1 %103, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h32860e114d529e59E.exit.thread.i", label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h32860e114d529e59E.exit.i" "_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h32860e114d529e59E.exit.i": ; preds = %100 %104 = getelementptr i8, ptr %101, i64 40 - %.val9.i = load ptr, ptr %104, align 8, !noalias !29639, !nonnull !11, !noundef !11 + %.val9.i = load ptr, ptr %104, align 8, !noalias !29645, !nonnull !11, !noundef !11 %105 = icmp eq ptr %.val9.i, %.val1.i.i br i1 %105, label %109, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h32860e114d529e59E.exit.thread.i" @@ -107311,19 +107396,19 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle br i1 %116, label %117, label %"_ZN4core3ptr84drop_in_place$LT$string_cache..atom..Atom$LT$markup5ever..LocalNameStaticSet$GT$$GT$17hce00844e8c1e6f00E.exit" 117: ; preds = %112 - %118 = call noundef ptr @_ZN4core4sync6atomic11atomic_load17hf6ae17783efc19dfE.llvm.5997636334944773990(ptr noundef nonnull getelementptr inbounds nuw (i8, ptr @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, i64 16), i8 noundef 2), !noalias !29640 + %118 = call noundef ptr @_ZN4core4sync6atomic11atomic_load17hf6ae17783efc19dfE.llvm.5997636334944773990(ptr noundef nonnull getelementptr inbounds nuw (i8, ptr @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, i64 16), i8 noundef 2), !noalias !29646 %.not.i.i.i.i = icmp eq ptr %118, inttoptr (i64 2 to ptr) br i1 %.not.i.i.i.i, label %"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h734fc4935bbafb8fE.exit.i.i", label %119 119: ; preds = %117 - call void @"_ZN9once_cell3imp17OnceCell$LT$T$GT$10initialize17h2106f0dc51d20ab9E"(ptr noundef nonnull align 8 @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, ptr noundef nonnull align 8 @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E), !noalias !29640 - %120 = load ptr, ptr @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, align 8, !noalias !29640, !noundef !11 + call void @"_ZN9once_cell3imp17OnceCell$LT$T$GT$10initialize17h2106f0dc51d20ab9E"(ptr noundef nonnull align 8 @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, ptr noundef nonnull align 8 @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E), !noalias !29646 + %120 = load ptr, ptr @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, align 8, !noalias !29646, !noundef !11 %121 = icmp ne ptr %120, null call void @llvm.assume(i1 %121) br label %"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h734fc4935bbafb8fE.exit.i.i" "_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h734fc4935bbafb8fE.exit.i.i": ; preds = %119, %117 - call void @_ZN12string_cache11dynamic_set3Set6remove17h358d1c715f07230eE(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, ptr noundef nonnull %113), !noalias !29640 + call void @_ZN12string_cache11dynamic_set3Set6remove17h358d1c715f07230eE(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, ptr noundef nonnull %113), !noalias !29646 br label %"_ZN4core3ptr84drop_in_place$LT$string_cache..atom..Atom$LT$markup5ever..LocalNameStaticSet$GT$$GT$17hce00844e8c1e6f00E.exit" 122: ; preds = %64, %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit397" @@ -107343,13 +107428,13 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle 130: ; preds = %127 %131 = getelementptr inbounds i8, ptr %128, i64 -48 - %132 = load i64, ptr %131, align 8, !range !23, !noalias !29643, !noundef !11 + %132 = load i64, ptr %131, align 8, !range !23, !noalias !29649, !noundef !11 %133 = icmp eq i64 %132, -9223372036854775808 br i1 %133, label %.thread477, label %134 134: ; preds = %130 %135 = getelementptr inbounds i8, ptr %128, i64 -24 - %136 = load i64, ptr %135, align 8, !range !3781, !noalias !29651, !noundef !11 + %136 = load i64, ptr %135, align 8, !range !3781, !noalias !29657, !noundef !11 %137 = icmp eq i64 %136, %1 br i1 %137, label %138, label %127 @@ -107358,13 +107443,13 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle 138: ; preds = %134 %139 = getelementptr inbounds i8, ptr %128, i64 -8 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %8), !noalias !29655 - %.val.i = load ptr, ptr %139, align 8, !noalias !29655, !nonnull !11, !noundef !11 - %.val.i.i.i194 = load i64, ptr %.val.i, align 8, !noalias !29655, !noundef !11 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %8), !noalias !29661 + %.val.i = load ptr, ptr %139, align 8, !noalias !29661, !nonnull !11, !noundef !11 + %.val.i.i.i194 = load i64, ptr %.val.i, align 8, !noalias !29661, !noundef !11 %140 = icmp ne i64 %.val.i.i.i194, 0 call void @llvm.assume(i1 %140) %141 = add i64 %.val.i.i.i194, 1 - store i64 %141, ptr %.val.i, align 8, !noalias !29655 + store i64 %141, ptr %.val.i, align 8, !noalias !29661 %142 = icmp eq i64 %141, 0 br i1 %142, label %143, label %"_ZN65_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h7079571cf84e57ddE.exit.i" @@ -107374,12 +107459,12 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle "_ZN65_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h7079571cf84e57ddE.exit.i": ; preds = %138 %144 = getelementptr inbounds i8, ptr %128, i64 -24 - store ptr %.val.i, ptr %8, align 8, !noalias !29655 + store ptr %.val.i, ptr %8, align 8, !noalias !29661 call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %.sroa.7.i) - call void @llvm.experimental.noalias.scope.decl(metadata !29659) + call void @llvm.experimental.noalias.scope.decl(metadata !29665) %145 = getelementptr inbounds i8, ptr %128, i64 -16 - %146 = load i8, ptr %145, align 8, !range !376, !alias.scope !29659, !noalias !29662, !noundef !11 - %147 = load i64, ptr %144, align 8, !range !3781, !alias.scope !29659, !noalias !29662, !noundef !11 + %146 = load i8, ptr %145, align 8, !range !376, !alias.scope !29665, !noalias !29668, !noundef !11 + %147 = load i64, ptr %144, align 8, !range !3781, !alias.scope !29665, !noalias !29668, !noundef !11 %148 = and i64 %147, 3 %149 = icmp eq i64 %148, 0 br i1 %149, label %150, label %154 @@ -107387,50 +107472,50 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle 150: ; preds = %"_ZN65_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h7079571cf84e57ddE.exit.i" %151 = inttoptr i64 %147 to ptr %152 = getelementptr inbounds nuw i8, ptr %151, i64 16 - %153 = atomicrmw add ptr %152, i64 1 seq_cst, align 8, !noalias !29664 + %153 = atomicrmw add ptr %152, i64 1 seq_cst, align 8, !noalias !29670 br label %154 154: ; preds = %150, %"_ZN65_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h7079571cf84e57ddE.exit.i" %155 = getelementptr inbounds i8, ptr %128, i64 -15 - %156 = load i8, ptr %155, align 1, !range !376, !alias.scope !29659, !noalias !29662, !noundef !11 - call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %7), !noalias !29664 + %156 = load i8, ptr %155, align 1, !range !376, !alias.scope !29665, !noalias !29668, !noundef !11 + call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %7), !noalias !29670 %157 = getelementptr inbounds i8, ptr %128, i64 -40 - %.val2.i.i = load ptr, ptr %157, align 8, !alias.scope !29659, !noalias !29662, !nonnull !11, !noundef !11 + %.val2.i.i = load ptr, ptr %157, align 8, !alias.scope !29665, !noalias !29668, !nonnull !11, !noundef !11 %158 = getelementptr inbounds i8, ptr %128, i64 -32 - %.val3.i.i = load i64, ptr %158, align 8, !alias.scope !29659, !noalias !29662, !noundef !11 + %.val3.i.i = load i64, ptr %158, align 8, !alias.scope !29665, !noalias !29668, !noundef !11 invoke fastcc void @"_ZN67_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h1178fedd43016be3E"(ptr noalias noundef align 8 captures(none) dereferenceable(24) %7, ptr nonnull %.val2.i.i, i64 %.val3.i.i) - to label %165 unwind label %159, !noalias !29664 + to label %165 unwind label %159, !noalias !29670 159: ; preds = %154 %160 = landingpad { ptr, i32 } cleanup invoke fastcc void @"_ZN4core3ptr84drop_in_place$LT$string_cache..atom..Atom$LT$markup5ever..LocalNameStaticSet$GT$$GT$17hce00844e8c1e6f00E"(i64 %147) #46 - to label %.body.i unwind label %161, !noalias !29664 + to label %.body.i unwind label %161, !noalias !29670 161: ; preds = %159 %162 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer - call void @_ZN4core9panicking16panic_in_cleanup17hfa05ef7d5107e16aE() #47, !noalias !29664 + call void @_ZN4core9panicking16panic_in_cleanup17hfa05ef7d5107e16aE() #47, !noalias !29670 unreachable .body.i: ; preds = %159 invoke void @"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"(ptr noalias noundef nonnull align 8 dereferenceable(8) %8) #46 - to label %.thread446 unwind label %163, !noalias !29655 + to label %.thread446 unwind label %163, !noalias !29661 163: ; preds = %.body.i %164 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer - call void @_ZN4core9panicking16panic_in_cleanup17hfa05ef7d5107e16aE() #47, !noalias !29655 + call void @_ZN4core9panicking16panic_in_cleanup17hfa05ef7d5107e16aE() #47, !noalias !29661 unreachable 165: ; preds = %154 - %.sroa.6417.16.copyload = load i64, ptr %7, align 8, !noalias !29665 + %.sroa.6417.16.copyload = load i64, ptr %7, align 8, !noalias !29671 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.sroa.9.sroa.0, ptr noundef nonnull align 8 dereferenceable(16) %.sroa.8418.16..sroa_idx, i64 16, i1 false) - call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %7), !noalias !29664 - %166 = load ptr, ptr %8, align 8, !noalias !29655, !nonnull !11, !noundef !11 + call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %7), !noalias !29670 + %166 = load ptr, ptr %8, align 8, !noalias !29661, !nonnull !11, !noundef !11 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 2 dereferenceable(6) %.sroa.9.sroa.8, ptr noundef nonnull align 2 dereferenceable(6) %.sroa.7.i, i64 6, i1 false) call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %.sroa.7.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %8), !noalias !29655 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %8), !noalias !29661 %.not625 = icmp eq i64 %.sroa.6417.16.copyload, -9223372036854775808 br i1 %.not625, label %.thread477, label %170 @@ -107479,7 +107564,7 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle 177: ; preds = %174 %178 = getelementptr inbounds i8, ptr %175, i64 -8 %179 = add i64 %.sroa.03.0.i, -1 - %.val9.i199 = load ptr, ptr %178, align 8, !noalias !29666, !nonnull !11, !noundef !11 + %.val9.i199 = load ptr, ptr %178, align 8, !noalias !29672, !nonnull !11, !noundef !11 %180 = icmp eq ptr %.val9.i199, %166 br i1 %180, label %188, label %174 @@ -107528,8 +107613,8 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle .lr.ph.i202: ; preds = %188, %_ZN4core3ops8function2Fn4call17h9e9d84ddd0eb7cb7E.exit.i %.sroa.5.012.i = phi ptr [ %190, %_ZN4core3ops8function2Fn4call17h9e9d84ddd0eb7cb7E.exit.i ], [ %173, %188 ] %190 = getelementptr inbounds i8, ptr %.sroa.5.012.i, i64 -8 - %.val.i204 = load ptr, ptr %190, align 8, !noalias !29670, !nonnull !11, !noundef !11 - %.val.i.i.i205 = load i64, ptr %.val.i204, align 8, !noalias !29670, !noundef !11 + %.val.i204 = load ptr, ptr %190, align 8, !noalias !29676, !nonnull !11, !noundef !11 + %.val.i.i.i205 = load i64, ptr %.val.i204, align 8, !noalias !29676, !noundef !11 %191 = icmp ne i64 %.val.i.i.i205, 0 call void @llvm.assume(i1 %191) %192 = icmp eq i64 %.val.i.i.i205, -1 @@ -107550,7 +107635,7 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle .noexc207: ; preds = %195 %197 = extractvalue { ptr, ptr } %196, 0 %198 = extractvalue { ptr, ptr } %196, 1 - %.val5.i = load i64, ptr %197, align 8, !alias.scope !29673, !noalias !29676, !noundef !11 + %.val5.i = load i64, ptr %197, align 8, !alias.scope !29679, !noalias !29682, !noundef !11 %.val6.i = load i64, ptr %198, align 8 switch i64 %.val5.i, label %_ZN4core3ops8function2Fn4call17h9e9d84ddd0eb7cb7E.exit.i [ i64 30064771074, label %199 @@ -107594,8 +107679,8 @@ _ZN4core3ops8function2Fn4call17h9e9d84ddd0eb7cb7E.exit.i: ; preds = %201, %200, 203: ; preds = %181 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %38) call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %37) - call void @llvm.experimental.noalias.scope.decl(metadata !29678) - %204 = load i64, ptr %67, align 8, !alias.scope !29678, !noalias !29681, !noundef !11 + call void @llvm.experimental.noalias.scope.decl(metadata !29684) + %204 = load i64, ptr %67, align 8, !alias.scope !29684, !noalias !29687, !noundef !11 %.not.i208 = icmp ult i64 %185, %204 br i1 %.not.i208, label %208, label %.invoke @@ -107610,47 +107695,47 @@ _ZN4core3ops8function2Fn4call17h9e9d84ddd0eb7cb7E.exit.i: ; preds = %201, %200, unreachable 208: ; preds = %203 - %209 = load ptr, ptr %66, align 8, !alias.scope !29678, !noalias !29681, !nonnull !11, !noundef !11 + %209 = load ptr, ptr %66, align 8, !alias.scope !29684, !noalias !29687, !nonnull !11, !noundef !11 %210 = getelementptr inbounds i8, ptr %209, i64 %184 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %37, ptr noundef nonnull align 8 dereferenceable(48) %210, i64 48, i1 false), !noalias !29684 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %37, ptr noundef nonnull align 8 dereferenceable(48) %210, i64 48, i1 false), !noalias !29690 %211 = getelementptr inbounds nuw i8, ptr %210, i64 48 %212 = xor i64 %185, -1 %213 = add i64 %204, %212 %214 = mul i64 %213, 48 - call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %210, ptr nonnull align 8 %211, i64 %214, i1 false), !noalias !29685 + call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %210, ptr nonnull align 8 %211, i64 %214, i1 false), !noalias !29691 %215 = add i64 %204, -1 - store i64 %215, ptr %67, align 8, !alias.scope !29678, !noalias !29681 - call void @llvm.experimental.noalias.scope.decl(metadata !29686) - %216 = load i64, ptr %37, align 8, !range !23, !alias.scope !29686, !noundef !11 + store i64 %215, ptr %67, align 8, !alias.scope !29684, !noalias !29687 + call void @llvm.experimental.noalias.scope.decl(metadata !29692) + %216 = load i64, ptr %37, align 8, !range !23, !alias.scope !29692, !noundef !11 %.not.i210 = icmp eq i64 %216, -9223372036854775808 br i1 %.not.i210, label %"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17hfb1c6cc9311857e8E.exit", label %217 217: ; preds = %208 %218 = getelementptr inbounds nuw i8, ptr %37, i64 40 - call void @llvm.experimental.noalias.scope.decl(metadata !29689) - call void @llvm.experimental.noalias.scope.decl(metadata !29692) - %219 = load ptr, ptr %218, align 8, !alias.scope !29695, !nonnull !11, !noundef !11 - %220 = load i64, ptr %219, align 8, !noalias !29695, !noundef !11 + call void @llvm.experimental.noalias.scope.decl(metadata !29695) + call void @llvm.experimental.noalias.scope.decl(metadata !29698) + %219 = load ptr, ptr %218, align 8, !alias.scope !29701, !nonnull !11, !noundef !11 + %220 = load i64, ptr %219, align 8, !noalias !29701, !noundef !11 %221 = add i64 %220, -1 - store i64 %221, ptr %219, align 8, !noalias !29695 + store i64 %221, ptr %219, align 8, !noalias !29701 %222 = icmp eq i64 %221, 0 br i1 %222, label %223, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit.i" 223: ; preds = %217 %224 = getelementptr inbounds nuw i8, ptr %219, i64 16 invoke void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17h1739d7a806ebb2d8E.llvm.13361645166614471590"(ptr noalias noundef nonnull align 8 dereferenceable(120) %224) - to label %.noexc.i unwind label %230, !noalias !29686 + to label %.noexc.i unwind label %230, !noalias !29692 .noexc.i: ; preds = %223 %225 = getelementptr inbounds nuw i8, ptr %219, i64 8 - %226 = load i64, ptr %225, align 8, !noalias !29695, !noundef !11 + %226 = load i64, ptr %225, align 8, !noalias !29701, !noundef !11 %227 = add i64 %226, -1 - store i64 %227, ptr %225, align 8, !noalias !29695 + store i64 %227, ptr %225, align 8, !noalias !29701 %228 = icmp eq i64 %227, 0 br i1 %228, label %229, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit.i" 229: ; preds = %.noexc.i - call void @__rust_dealloc(ptr noundef nonnull %219, i64 noundef 136, i64 noundef 8) #45, !noalias !29695 + call void @__rust_dealloc(ptr noundef nonnull %219, i64 noundef 136, i64 noundef 8) #45, !noalias !29701 br label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit.i" 230: ; preds = %223 @@ -107784,7 +107869,7 @@ _ZN4core3ops8function2Fn4call17h9e9d84ddd0eb7cb7E.exit.i: ; preds = %201, %200, %271 = ptrtoint ptr %131 to i64 %272 = ptrtoint ptr %124 to i64 %273 = sub nuw i64 %271, %272 - %.pre2250 = load i64, ptr %48, align 8, !alias.scope !29696 + %.pre2250 = load i64, ptr %48, align 8, !alias.scope !29702 br label %277 .loopexit647: ; preds = %262 @@ -107797,16 +107882,16 @@ _ZN4core3ops8function2Fn4call17h9e9d84ddd0eb7cb7E.exit.i: ; preds = %201, %200, %278 = phi i64 [ %249, %.loopexit647 ], [ %.pre2250, %.loopexit634 ] %279 = phi i64 [ %276, %.loopexit647 ], [ %273, %.loopexit634 ] %280 = udiv exact i64 %279, 48 - call void @llvm.experimental.noalias.scope.decl(metadata !29696) + call void @llvm.experimental.noalias.scope.decl(metadata !29702) %281 = icmp ugt i64 %179, %278 br i1 %281, label %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$8truncate17h21654f5a5e85bc4bE.exit", label %282 282: ; preds = %277 %283 = sub nuw i64 %278, %179 - %284 = load ptr, ptr %52, align 8, !alias.scope !29696, !nonnull !11, !noundef !11 + %284 = load ptr, ptr %52, align 8, !alias.scope !29702, !nonnull !11, !noundef !11 %285 = getelementptr inbounds ptr, ptr %284, i64 %179 - store i64 %179, ptr %48, align 8, !alias.scope !29696 - call void @llvm.experimental.noalias.scope.decl(metadata !29699) + store i64 %179, ptr %48, align 8, !alias.scope !29702 + call void @llvm.experimental.noalias.scope.decl(metadata !29705) %286 = icmp eq i64 %278, %179 br i1 %286, label %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$8truncate17h21654f5a5e85bc4bE.exit", label %.lr.ph.i.i @@ -107814,30 +107899,30 @@ _ZN4core3ops8function2Fn4call17h9e9d84ddd0eb7cb7E.exit.i: ; preds = %201, %200, %.sroa.0.07.i.i = phi i64 [ %288, %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit.i.i" ], [ 0, %282 ] %287 = getelementptr inbounds [0 x ptr], ptr %285, i64 0, i64 %.sroa.0.07.i.i %288 = add nuw i64 %.sroa.0.07.i.i, 1 - call void @llvm.experimental.noalias.scope.decl(metadata !29702) - call void @llvm.experimental.noalias.scope.decl(metadata !29705) - %289 = load ptr, ptr %287, align 8, !alias.scope !29708, !noalias !29696, !nonnull !11, !noundef !11 - %290 = load i64, ptr %289, align 8, !noalias !29709, !noundef !11 + call void @llvm.experimental.noalias.scope.decl(metadata !29708) + call void @llvm.experimental.noalias.scope.decl(metadata !29711) + %289 = load ptr, ptr %287, align 8, !alias.scope !29714, !noalias !29702, !nonnull !11, !noundef !11 + %290 = load i64, ptr %289, align 8, !noalias !29715, !noundef !11 %291 = add i64 %290, -1 - store i64 %291, ptr %289, align 8, !noalias !29709 + store i64 %291, ptr %289, align 8, !noalias !29715 %292 = icmp eq i64 %291, 0 br i1 %292, label %293, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit.i.i" 293: ; preds = %.lr.ph.i.i %294 = getelementptr inbounds nuw i8, ptr %289, i64 16 invoke void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17h1739d7a806ebb2d8E.llvm.13361645166614471590"(ptr noalias noundef nonnull align 8 dereferenceable(120) %294) - to label %.noexc.i.i unwind label %303, !noalias !29710 + to label %.noexc.i.i unwind label %303, !noalias !29716 .noexc.i.i: ; preds = %293 %295 = getelementptr inbounds nuw i8, ptr %289, i64 8 - %296 = load i64, ptr %295, align 8, !noalias !29709, !noundef !11 + %296 = load i64, ptr %295, align 8, !noalias !29715, !noundef !11 %297 = add i64 %296, -1 - store i64 %297, ptr %295, align 8, !noalias !29709 + store i64 %297, ptr %295, align 8, !noalias !29715 %298 = icmp eq i64 %297, 0 br i1 %298, label %299, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit.i.i" 299: ; preds = %.noexc.i.i - call void @__rust_dealloc(ptr noundef nonnull %289, i64 noundef 136, i64 noundef 8) #45, !noalias !29709 + call void @__rust_dealloc(ptr noundef nonnull %289, i64 noundef 136, i64 noundef 8) #45, !noalias !29715 br label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit.i.i" "_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit.i.i": ; preds = %299, %.noexc.i.i, %.lr.ph.i.i @@ -107858,12 +107943,12 @@ _ZN4core3ops8function2Fn4call17h9e9d84ddd0eb7cb7E.exit.i: ; preds = %201, %200, %306 = getelementptr inbounds [0 x ptr], ptr %285, i64 0, i64 %.sroa.0.1.i.i %307 = add i64 %.sroa.0.1.i.i, 1 invoke void @"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"(ptr noalias noundef nonnull align 8 dereferenceable(8) %306) #46 - to label %301 unwind label %308, !noalias !29696 + to label %301 unwind label %308, !noalias !29702 308: ; preds = %305 %309 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer - call void @_ZN4core9panicking16panic_in_cleanup17hfa05ef7d5107e16aE() #47, !noalias !29696 + call void @_ZN4core9panicking16panic_in_cleanup17hfa05ef7d5107e16aE() #47, !noalias !29702 unreachable "_ZN65_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h7079571cf84e57ddE.exit": ; preds = %266 @@ -107877,53 +107962,53 @@ _ZN4core3ops8function2Fn4call17h9e9d84ddd0eb7cb7E.exit.i: ; preds = %201, %200, "_ZN5alloc3vec16Vec$LT$T$C$A$GT$8truncate17h21654f5a5e85bc4bE.exit": ; preds = %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit.i.i", %282, %277 call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %33) - call void @llvm.experimental.noalias.scope.decl(metadata !29711) - %313 = load i64, ptr %67, align 8, !alias.scope !29711, !noalias !29714, !noundef !11 + call void @llvm.experimental.noalias.scope.decl(metadata !29717) + %313 = load i64, ptr %67, align 8, !alias.scope !29717, !noalias !29720, !noundef !11 %.not.i222 = icmp ult i64 %280, %313 br i1 %.not.i222, label %314, label %.invoke 314: ; preds = %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$8truncate17h21654f5a5e85bc4bE.exit" - %315 = load ptr, ptr %66, align 8, !alias.scope !29711, !noalias !29714, !nonnull !11, !noundef !11 + %315 = load ptr, ptr %66, align 8, !alias.scope !29717, !noalias !29720, !nonnull !11, !noundef !11 %316 = getelementptr inbounds i8, ptr %315, i64 %279 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %33, ptr noundef nonnull align 8 dereferenceable(48) %316, i64 48, i1 false), !noalias !29717 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %33, ptr noundef nonnull align 8 dereferenceable(48) %316, i64 48, i1 false), !noalias !29723 %317 = getelementptr inbounds nuw i8, ptr %316, i64 48 %318 = xor i64 %280, -1 %319 = add i64 %313, %318 %320 = mul i64 %319, 48 - call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %316, ptr nonnull align 8 %317, i64 %320, i1 false), !noalias !29718 + call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %316, ptr nonnull align 8 %317, i64 %320, i1 false), !noalias !29724 %321 = add i64 %313, -1 - store i64 %321, ptr %67, align 8, !alias.scope !29711, !noalias !29714 - call void @llvm.experimental.noalias.scope.decl(metadata !29719) - %322 = load i64, ptr %33, align 8, !range !23, !alias.scope !29719, !noundef !11 + store i64 %321, ptr %67, align 8, !alias.scope !29717, !noalias !29720 + call void @llvm.experimental.noalias.scope.decl(metadata !29725) + %322 = load i64, ptr %33, align 8, !range !23, !alias.scope !29725, !noundef !11 %.not.i225 = icmp eq i64 %322, -9223372036854775808 br i1 %.not.i225, label %"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17hfb1c6cc9311857e8E.exit232", label %323 323: ; preds = %314 %324 = getelementptr inbounds nuw i8, ptr %33, i64 40 - call void @llvm.experimental.noalias.scope.decl(metadata !29722) - call void @llvm.experimental.noalias.scope.decl(metadata !29725) - %325 = load ptr, ptr %324, align 8, !alias.scope !29728, !nonnull !11, !noundef !11 - %326 = load i64, ptr %325, align 8, !noalias !29728, !noundef !11 + call void @llvm.experimental.noalias.scope.decl(metadata !29728) + call void @llvm.experimental.noalias.scope.decl(metadata !29731) + %325 = load ptr, ptr %324, align 8, !alias.scope !29734, !nonnull !11, !noundef !11 + %326 = load i64, ptr %325, align 8, !noalias !29734, !noundef !11 %327 = add i64 %326, -1 - store i64 %327, ptr %325, align 8, !noalias !29728 + store i64 %327, ptr %325, align 8, !noalias !29734 %328 = icmp eq i64 %327, 0 br i1 %328, label %329, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit.i226" 329: ; preds = %323 %330 = getelementptr inbounds nuw i8, ptr %325, i64 16 invoke void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17h1739d7a806ebb2d8E.llvm.13361645166614471590"(ptr noalias noundef nonnull align 8 dereferenceable(120) %330) - to label %.noexc.i227 unwind label %336, !noalias !29719 + to label %.noexc.i227 unwind label %336, !noalias !29725 .noexc.i227: ; preds = %329 %331 = getelementptr inbounds nuw i8, ptr %325, i64 8 - %332 = load i64, ptr %331, align 8, !noalias !29728, !noundef !11 + %332 = load i64, ptr %331, align 8, !noalias !29734, !noundef !11 %333 = add i64 %332, -1 - store i64 %333, ptr %331, align 8, !noalias !29728 + store i64 %333, ptr %331, align 8, !noalias !29734 %334 = icmp eq i64 %333, 0 br i1 %334, label %335, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit.i226" 335: ; preds = %.noexc.i227 - call void @__rust_dealloc(ptr noundef nonnull %325, i64 noundef 136, i64 noundef 8) #45, !noalias !29728 + call void @__rust_dealloc(ptr noundef nonnull %325, i64 noundef 136, i64 noundef 8) #45, !noalias !29734 br label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit.i226" 336: ; preds = %329 @@ -107958,9 +108043,9 @@ _ZN4core3ops8function2Fn4call17h9e9d84ddd0eb7cb7E.exit.i: ; preds = %201, %200, 343: ; preds = %234 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %40) - %344 = load i64, ptr %166, align 8, !noalias !29729, !noundef !11 + %344 = load i64, ptr %166, align 8, !noalias !29735, !noundef !11 %345 = add i64 %344, -1 - store i64 %345, ptr %166, align 8, !noalias !29729 + store i64 %345, ptr %166, align 8, !noalias !29735 %346 = icmp eq i64 %345, 0 br i1 %346, label %347, label %354 @@ -107971,14 +108056,14 @@ _ZN4core3ops8function2Fn4call17h9e9d84ddd0eb7cb7E.exit.i: ; preds = %201, %200, .noexc233: ; preds = %347 %349 = getelementptr inbounds nuw i8, ptr %166, i64 8 - %350 = load i64, ptr %349, align 8, !noalias !29729, !noundef !11 + %350 = load i64, ptr %349, align 8, !noalias !29735, !noundef !11 %351 = add i64 %350, -1 - store i64 %351, ptr %349, align 8, !noalias !29729 + store i64 %351, ptr %349, align 8, !noalias !29735 %352 = icmp eq i64 %351, 0 br i1 %352, label %353, label %354 353: ; preds = %.noexc233 - call void @__rust_dealloc(ptr noundef nonnull %166, i64 noundef 136, i64 noundef 8) #45, !noalias !29729 + call void @__rust_dealloc(ptr noundef nonnull %166, i64 noundef 136, i64 noundef 8) #45, !noalias !29735 br label %354 354: ; preds = %343, %.noexc233, %353 @@ -108125,12 +108210,12 @@ _ZN4core3ops8function2Fn4call17h9e9d84ddd0eb7cb7E.exit.i: ; preds = %201, %200, br i1 %.sroa.042.31395, label %388, label %402 388: ; preds = %"_ZN65_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h7079571cf84e57ddE.exit241" - call void @llvm.experimental.noalias.scope.decl(metadata !29734) - call void @llvm.experimental.noalias.scope.decl(metadata !29737) - %389 = load ptr, ptr %30, align 8, !alias.scope !29740, !nonnull !11, !noundef !11 - %390 = load i64, ptr %389, align 8, !noalias !29740, !noundef !11 + call void @llvm.experimental.noalias.scope.decl(metadata !29740) + call void @llvm.experimental.noalias.scope.decl(metadata !29743) + %389 = load ptr, ptr %30, align 8, !alias.scope !29746, !nonnull !11, !noundef !11 + %390 = load i64, ptr %389, align 8, !noalias !29746, !noundef !11 %391 = add i64 %390, -1 - store i64 %391, ptr %389, align 8, !noalias !29740 + store i64 %391, ptr %389, align 8, !noalias !29746 %392 = icmp eq i64 %391, 0 br i1 %392, label %393, label %402 @@ -108141,14 +108226,14 @@ _ZN4core3ops8function2Fn4call17h9e9d84ddd0eb7cb7E.exit.i: ; preds = %201, %200, .noexc242: ; preds = %393 %395 = getelementptr inbounds nuw i8, ptr %389, i64 8 - %396 = load i64, ptr %395, align 8, !noalias !29740, !noundef !11 + %396 = load i64, ptr %395, align 8, !noalias !29746, !noundef !11 %397 = add i64 %396, -1 - store i64 %397, ptr %395, align 8, !noalias !29740 + store i64 %397, ptr %395, align 8, !noalias !29746 %398 = icmp eq i64 %397, 0 br i1 %398, label %399, label %402 399: ; preds = %.noexc242 - call void @__rust_dealloc(ptr noundef nonnull %389, i64 noundef 136, i64 noundef 8) #45, !noalias !29740 + call void @__rust_dealloc(ptr noundef nonnull %389, i64 noundef 136, i64 noundef 8) #45, !noalias !29746 br label %402 400: ; preds = %393 @@ -108182,13 +108267,13 @@ _ZN4core3ops8function2Fn4call17h9e9d84ddd0eb7cb7E.exit.i: ; preds = %201, %200, %.sroa.02.014.i246 = phi i64 [ %417, %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h32860e114d529e59E.exit.thread.i250" ], [ 0, %407 ] %412 = phi ptr [ %413, %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h32860e114d529e59E.exit.thread.i250" ], [ %408, %407 ] %413 = getelementptr inbounds nuw i8, ptr %412, i64 48 - %.val8.i247 = load i64, ptr %412, align 8, !range !23, !noalias !29741, !noundef !11 + %.val8.i247 = load i64, ptr %412, align 8, !range !23, !noalias !29747, !noundef !11 %414 = icmp eq i64 %.val8.i247, -9223372036854775808 br i1 %414, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h32860e114d529e59E.exit.thread.i250", label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h32860e114d529e59E.exit.i248" "_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h32860e114d529e59E.exit.i248": ; preds = %.lr.ph.i244 %415 = getelementptr i8, ptr %412, i64 40 - %.val9.i249 = load ptr, ptr %415, align 8, !noalias !29741, !nonnull !11, !noundef !11 + %.val9.i249 = load ptr, ptr %415, align 8, !noalias !29747, !nonnull !11, !noundef !11 %416 = icmp eq ptr %.val9.i249, %.val171 br i1 %416, label %432, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h32860e114d529e59E.exit.thread.i250" @@ -108209,13 +108294,13 @@ _ZN4core3ops8function2Fn4call17h9e9d84ddd0eb7cb7E.exit.i: ; preds = %201, %200, %.sroa.02.014.i257 = phi i64 [ %429, %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h32860e114d529e59E.exit.thread.i261" ], [ 0, %419 ] %424 = phi ptr [ %425, %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h32860e114d529e59E.exit.thread.i261" ], [ %420, %419 ] %425 = getelementptr inbounds nuw i8, ptr %424, i64 48 - %.val8.i258 = load i64, ptr %424, align 8, !range !23, !noalias !29745, !noundef !11 + %.val8.i258 = load i64, ptr %424, align 8, !range !23, !noalias !29751, !noundef !11 %426 = icmp eq i64 %.val8.i258, -9223372036854775808 br i1 %426, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h32860e114d529e59E.exit.thread.i261", label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h32860e114d529e59E.exit.i259" "_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h32860e114d529e59E.exit.i259": ; preds = %.lr.ph.i255 %427 = getelementptr i8, ptr %424, i64 40 - %.val9.i260 = load ptr, ptr %427, align 8, !noalias !29745, !nonnull !11, !noundef !11 + %.val9.i260 = load ptr, ptr %427, align 8, !noalias !29751, !nonnull !11, !noundef !11 %428 = icmp eq ptr %.val9.i260, %.val171 br i1 %428, label %625, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h32860e114d529e59E.exit.thread.i261" @@ -108225,8 +108310,8 @@ _ZN4core3ops8function2Fn4call17h9e9d84ddd0eb7cb7E.exit.i: ; preds = %201, %200, br i1 %430, label %"_ZN4core3ptr144drop_in_place$LT$core..option..Option$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$$GT$17hb44fe697df1d548fE.exit", label %.lr.ph.i255 .loopexit: ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h32860e114d529e59E.exit.thread.i250", %407 - call void @llvm.experimental.noalias.scope.decl(metadata !29749) - %431 = load i64, ptr %48, align 8, !alias.scope !29749, !noalias !29752, !noundef !11 + call void @llvm.experimental.noalias.scope.decl(metadata !29755) + %431 = load i64, ptr %48, align 8, !alias.scope !29755, !noalias !29758, !noundef !11 %.not.i266 = icmp ult i64 %380, %431 br i1 %.not.i266, label %437, label %.invoke3192 @@ -108240,18 +108325,18 @@ _ZN4core3ops8function2Fn4call17h9e9d84ddd0eb7cb7E.exit.i: ; preds = %201, %200, br i1 %436, label %459, label %464 437: ; preds = %.loopexit - %438 = load ptr, ptr %52, align 8, !alias.scope !29749, !noalias !29752, !nonnull !11, !noundef !11 + %438 = load ptr, ptr %52, align 8, !alias.scope !29755, !noalias !29758, !nonnull !11, !noundef !11 %439 = getelementptr inbounds ptr, ptr %438, i64 %380 - %440 = load ptr, ptr %439, align 8, !noalias !29754, !nonnull !11, !noundef !11 + %440 = load ptr, ptr %439, align 8, !noalias !29760, !nonnull !11, !noundef !11 %441 = getelementptr inbounds nuw i8, ptr %439, i64 8 %442 = sub i64 %431, %.sroa.089.01396 %443 = shl i64 %442, 3 - call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %439, ptr nonnull align 8 %441, i64 %443, i1 false), !noalias !29754 + call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %439, ptr nonnull align 8 %441, i64 %443, i1 false), !noalias !29760 %444 = add i64 %431, -1 - store i64 %444, ptr %48, align 8, !alias.scope !29749, !noalias !29752 - %445 = load i64, ptr %440, align 8, !noalias !29755, !noundef !11 + store i64 %444, ptr %48, align 8, !alias.scope !29755, !noalias !29758 + %445 = load i64, ptr %440, align 8, !noalias !29761, !noundef !11 %446 = add i64 %445, -1 - store i64 %446, ptr %440, align 8, !noalias !29755 + store i64 %446, ptr %440, align 8, !noalias !29761 %447 = icmp eq i64 %446, 0 br i1 %447, label %448, label %.backedge @@ -108262,14 +108347,14 @@ _ZN4core3ops8function2Fn4call17h9e9d84ddd0eb7cb7E.exit.i: ; preds = %201, %200, .noexc268: ; preds = %448 %450 = getelementptr inbounds nuw i8, ptr %440, i64 8 - %451 = load i64, ptr %450, align 8, !noalias !29755, !noundef !11 + %451 = load i64, ptr %450, align 8, !noalias !29761, !noundef !11 %452 = add i64 %451, -1 - store i64 %452, ptr %450, align 8, !noalias !29755 + store i64 %452, ptr %450, align 8, !noalias !29761 %453 = icmp eq i64 %452, 0 br i1 %453, label %454, label %.backedge 454: ; preds = %.noexc268 - call void @__rust_dealloc(ptr noundef nonnull %440, i64 noundef 136, i64 noundef 8) #45, !noalias !29755 + call void @__rust_dealloc(ptr noundef nonnull %440, i64 noundef 136, i64 noundef 8) #45, !noalias !29761 br label %.backedge .backedge: ; preds = %654, %.noexc311, %671, %437, %.noexc268, %454, %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit297" @@ -108304,12 +108389,12 @@ _ZN4core3ops8function2Fn4call17h9e9d84ddd0eb7cb7E.exit.i: ; preds = %201, %200, to label %108 unwind label %.loopexit.split-lp.loopexit.split-lp 468: ; preds = %464 - call void @llvm.experimental.noalias.scope.decl(metadata !29760) - call void @llvm.experimental.noalias.scope.decl(metadata !29763) + call void @llvm.experimental.noalias.scope.decl(metadata !29766) + call void @llvm.experimental.noalias.scope.decl(metadata !29769) %469 = getelementptr inbounds nuw i8, ptr %434, i64 32 - %470 = load i8, ptr %469, align 8, !range !376, !alias.scope !29763, !noalias !29760, !noundef !11 + %470 = load i8, ptr %469, align 8, !range !376, !alias.scope !29769, !noalias !29766, !noundef !11 %471 = getelementptr inbounds nuw i8, ptr %434, i64 24 - %472 = load i64, ptr %471, align 8, !range !3781, !alias.scope !29763, !noalias !29760, !noundef !11 + %472 = load i64, ptr %471, align 8, !range !3781, !alias.scope !29769, !noalias !29766, !noundef !11 %473 = and i64 %472, 3 %474 = icmp eq i64 %473, 0 br i1 %474, label %475, label %479 @@ -108317,38 +108402,38 @@ _ZN4core3ops8function2Fn4call17h9e9d84ddd0eb7cb7E.exit.i: ; preds = %201, %200, 475: ; preds = %468 %476 = inttoptr i64 %472 to ptr %477 = getelementptr inbounds nuw i8, ptr %476, i64 16 - %478 = atomicrmw add ptr %477, i64 1 seq_cst, align 8, !noalias !29765 + %478 = atomicrmw add ptr %477, i64 1 seq_cst, align 8, !noalias !29771 br label %479 479: ; preds = %475, %468 %480 = getelementptr inbounds nuw i8, ptr %434, i64 33 - %481 = load i8, ptr %480, align 1, !range !376, !alias.scope !29763, !noalias !29760, !noundef !11 - call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %6), !noalias !29765 + %481 = load i8, ptr %480, align 1, !range !376, !alias.scope !29769, !noalias !29766, !noundef !11 + call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %6), !noalias !29771 %482 = getelementptr inbounds nuw i8, ptr %434, i64 8 - %.val2.i = load ptr, ptr %482, align 8, !alias.scope !29763, !noalias !29760, !nonnull !11, !noundef !11 + %.val2.i = load ptr, ptr %482, align 8, !alias.scope !29769, !noalias !29766, !nonnull !11, !noundef !11 %483 = getelementptr inbounds nuw i8, ptr %434, i64 16 - %.val3.i = load i64, ptr %483, align 8, !alias.scope !29763, !noalias !29760, !noundef !11 + %.val3.i = load i64, ptr %483, align 8, !alias.scope !29769, !noalias !29766, !noundef !11 invoke fastcc void @"_ZN67_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h1178fedd43016be3E"(ptr noalias noundef align 8 captures(none) dereferenceable(24) %6, ptr nonnull %.val2.i, i64 %.val3.i) - to label %488 unwind label %484, !noalias !29765 + to label %488 unwind label %484, !noalias !29771 484: ; preds = %479 %485 = landingpad { ptr, i32 } cleanup invoke fastcc void @"_ZN4core3ptr84drop_in_place$LT$string_cache..atom..Atom$LT$markup5ever..LocalNameStaticSet$GT$$GT$17hce00844e8c1e6f00E"(i64 %472) #46 - to label %.body270 unwind label %486, !noalias !29765 + to label %.body270 unwind label %486, !noalias !29771 486: ; preds = %484 %487 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer - call void @_ZN4core9panicking16panic_in_cleanup17hfa05ef7d5107e16aE() #47, !noalias !29765 + call void @_ZN4core9panicking16panic_in_cleanup17hfa05ef7d5107e16aE() #47, !noalias !29771 unreachable 488: ; preds = %479 - store i8 %470, ptr %72, align 8, !alias.scope !29760, !noalias !29763 - store i64 %472, ptr %73, align 8, !alias.scope !29760, !noalias !29763 - store i8 %481, ptr %74, align 1, !alias.scope !29760, !noalias !29763 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %27, ptr noundef nonnull align 8 dereferenceable(24) %6, i64 24, i1 false), !noalias !29763 - call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %6), !noalias !29765 + store i8 %470, ptr %72, align 8, !alias.scope !29766, !noalias !29769 + store i64 %472, ptr %73, align 8, !alias.scope !29766, !noalias !29769 + store i8 %481, ptr %74, align 1, !alias.scope !29766, !noalias !29769 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %27, ptr noundef nonnull align 8 dereferenceable(24) %6, i64 24, i1 false), !noalias !29769 + call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %6), !noalias !29771 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %25) call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %24) br i1 %474, label %489, label %493 @@ -108409,12 +108494,12 @@ _ZN4core3ops8function2Fn4call17h9e9d84ddd0eb7cb7E.exit.i: ; preds = %201, %200, 506: ; preds = %"_ZN65_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h7079571cf84e57ddE.exit273" %507 = load ptr, ptr %52, align 8, !nonnull !11, !noundef !11 %508 = getelementptr inbounds [0 x ptr], ptr %507, i64 0, i64 %380 - call void @llvm.experimental.noalias.scope.decl(metadata !29766) - call void @llvm.experimental.noalias.scope.decl(metadata !29769) - %509 = load ptr, ptr %508, align 8, !alias.scope !29772, !nonnull !11, !noundef !11 - %510 = load i64, ptr %509, align 8, !noalias !29772, !noundef !11 + call void @llvm.experimental.noalias.scope.decl(metadata !29772) + call void @llvm.experimental.noalias.scope.decl(metadata !29775) + %509 = load ptr, ptr %508, align 8, !alias.scope !29778, !nonnull !11, !noundef !11 + %510 = load i64, ptr %509, align 8, !noalias !29778, !noundef !11 %511 = add i64 %510, -1 - store i64 %511, ptr %509, align 8, !noalias !29772 + store i64 %511, ptr %509, align 8, !noalias !29778 %512 = icmp eq i64 %511, 0 br i1 %512, label %513, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit275" @@ -108425,14 +108510,14 @@ _ZN4core3ops8function2Fn4call17h9e9d84ddd0eb7cb7E.exit.i: ; preds = %201, %200, .noexc274: ; preds = %513 %515 = getelementptr inbounds nuw i8, ptr %509, i64 8 - %516 = load i64, ptr %515, align 8, !noalias !29772, !noundef !11 + %516 = load i64, ptr %515, align 8, !noalias !29778, !noundef !11 %517 = add i64 %516, -1 - store i64 %517, ptr %515, align 8, !noalias !29772 + store i64 %517, ptr %515, align 8, !noalias !29778 %518 = icmp eq i64 %517, 0 br i1 %518, label %519, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit275" 519: ; preds = %.noexc274 - call void @__rust_dealloc(ptr noundef nonnull %509, i64 noundef 136, i64 noundef 8) #45, !noalias !29772 + call void @__rust_dealloc(ptr noundef nonnull %509, i64 noundef 136, i64 noundef 8) #45, !noalias !29778 br label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit275" 520: ; preds = %"_ZN65_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h7079571cf84e57ddE.exit273" @@ -108471,37 +108556,37 @@ _ZN4core3ops8function2Fn4call17h9e9d84ddd0eb7cb7E.exit.i: ; preds = %201, %200, 527: ; preds = %"_ZN65_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h7079571cf84e57ddE.exit277" %528 = load ptr, ptr %66, align 8, !nonnull !11, !noundef !11 %529 = getelementptr inbounds nuw [0 x { i64, [5 x i64] }], ptr %528, i64 0, i64 %.sroa.02.014.i246 - call void @llvm.experimental.noalias.scope.decl(metadata !29773) - %530 = load i64, ptr %529, align 8, !range !23, !alias.scope !29773, !noundef !11 + call void @llvm.experimental.noalias.scope.decl(metadata !29779) + %530 = load i64, ptr %529, align 8, !range !23, !alias.scope !29779, !noundef !11 %.not.i278 = icmp eq i64 %530, -9223372036854775808 br i1 %.not.i278, label %"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17hfb1c6cc9311857e8E.exit284", label %531 531: ; preds = %527 %532 = getelementptr inbounds nuw i8, ptr %529, i64 40 - call void @llvm.experimental.noalias.scope.decl(metadata !29776) - call void @llvm.experimental.noalias.scope.decl(metadata !29779) - %533 = load ptr, ptr %532, align 8, !alias.scope !29782, !nonnull !11, !noundef !11 - %534 = load i64, ptr %533, align 8, !noalias !29782, !noundef !11 + call void @llvm.experimental.noalias.scope.decl(metadata !29782) + call void @llvm.experimental.noalias.scope.decl(metadata !29785) + %533 = load ptr, ptr %532, align 8, !alias.scope !29788, !nonnull !11, !noundef !11 + %534 = load i64, ptr %533, align 8, !noalias !29788, !noundef !11 %535 = add i64 %534, -1 - store i64 %535, ptr %533, align 8, !noalias !29782 + store i64 %535, ptr %533, align 8, !noalias !29788 %536 = icmp eq i64 %535, 0 br i1 %536, label %537, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit.i279" 537: ; preds = %531 %538 = getelementptr inbounds nuw i8, ptr %533, i64 16 invoke void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17h1739d7a806ebb2d8E.llvm.13361645166614471590"(ptr noalias noundef nonnull align 8 dereferenceable(120) %538) - to label %.noexc.i280 unwind label %544, !noalias !29773 + to label %.noexc.i280 unwind label %544, !noalias !29779 .noexc.i280: ; preds = %537 %539 = getelementptr inbounds nuw i8, ptr %533, i64 8 - %540 = load i64, ptr %539, align 8, !noalias !29782, !noundef !11 + %540 = load i64, ptr %539, align 8, !noalias !29788, !noundef !11 %541 = add i64 %540, -1 - store i64 %541, ptr %539, align 8, !noalias !29782 + store i64 %541, ptr %539, align 8, !noalias !29788 %542 = icmp eq i64 %541, 0 br i1 %542, label %543, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit.i279" 543: ; preds = %.noexc.i280 - call void @__rust_dealloc(ptr noundef nonnull %533, i64 noundef 136, i64 noundef 8) #45, !noalias !29782 + call void @__rust_dealloc(ptr noundef nonnull %533, i64 noundef 136, i64 noundef 8) #45, !noalias !29788 br label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit.i279" 544: ; preds = %537 @@ -108537,12 +108622,12 @@ _ZN4core3ops8function2Fn4call17h9e9d84ddd0eb7cb7E.exit.i: ; preds = %201, %200, "_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17hfb1c6cc9311857e8E.exit284": ; preds = %527, %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit.i279" call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %529, ptr noundef nonnull align 8 dereferenceable(48) %21, i64 48, i1 false) call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %21) - call void @llvm.experimental.noalias.scope.decl(metadata !29783) - call void @llvm.experimental.noalias.scope.decl(metadata !29786) - %551 = load ptr, ptr %30, align 8, !alias.scope !29789, !nonnull !11, !noundef !11 - %552 = load i64, ptr %551, align 8, !noalias !29789, !noundef !11 + call void @llvm.experimental.noalias.scope.decl(metadata !29789) + call void @llvm.experimental.noalias.scope.decl(metadata !29792) + %551 = load ptr, ptr %30, align 8, !alias.scope !29795, !nonnull !11, !noundef !11 + %552 = load i64, ptr %551, align 8, !noalias !29795, !noundef !11 %553 = add i64 %552, -1 - store i64 %553, ptr %551, align 8, !noalias !29789 + store i64 %553, ptr %551, align 8, !noalias !29795 %554 = icmp eq i64 %553, 0 br i1 %554, label %555, label %564 @@ -108553,14 +108638,14 @@ _ZN4core3ops8function2Fn4call17h9e9d84ddd0eb7cb7E.exit.i: ; preds = %201, %200, .noexc285: ; preds = %555 %557 = getelementptr inbounds nuw i8, ptr %551, i64 8 - %558 = load i64, ptr %557, align 8, !noalias !29789, !noundef !11 + %558 = load i64, ptr %557, align 8, !noalias !29795, !noundef !11 %559 = add i64 %558, -1 - store i64 %559, ptr %557, align 8, !noalias !29789 + store i64 %559, ptr %557, align 8, !noalias !29795 %560 = icmp eq i64 %559, 0 br i1 %560, label %561, label %564 561: ; preds = %.noexc285 - call void @__rust_dealloc(ptr noundef nonnull %551, i64 noundef 136, i64 noundef 8) #45, !noalias !29789 + call void @__rust_dealloc(ptr noundef nonnull %551, i64 noundef 136, i64 noundef 8) #45, !noalias !29795 br label %564 562: ; preds = %555 @@ -108613,9 +108698,9 @@ _ZN4core3ops8function2Fn4call17h9e9d84ddd0eb7cb7E.exit.i: ; preds = %201, %200, .noexc290: ; preds = %577 %579 = getelementptr inbounds nuw i8, ptr %.val193, i64 8 - %580 = load i64, ptr %579, align 8, !noalias !29790, !noundef !11 + %580 = load i64, ptr %579, align 8, !noalias !29796, !noundef !11 %581 = add i64 %580, -1 - store i64 %581, ptr %579, align 8, !noalias !29790 + store i64 %581, ptr %579, align 8, !noalias !29796 %582 = icmp eq i64 %581, 0 br i1 %582, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit.sink.split.i", label %"_ZN4core3ptr106drop_in_place$LT$html5ever..tree_builder..Bookmark$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17ha11309e58f35c1aeE.exit" @@ -108629,9 +108714,9 @@ _ZN4core3ops8function2Fn4call17h9e9d84ddd0eb7cb7E.exit.i: ; preds = %201, %200, .noexc291: ; preds = %584 %586 = getelementptr inbounds nuw i8, ptr %.val193, i64 8 - %587 = load i64, ptr %586, align 8, !noalias !29795, !noundef !11 + %587 = load i64, ptr %586, align 8, !noalias !29801, !noundef !11 %588 = add i64 %587, -1 - store i64 %588, ptr %586, align 8, !noalias !29795 + store i64 %588, ptr %586, align 8, !noalias !29801 %589 = icmp eq i64 %588, 0 br i1 %589, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit.sink.split.i", label %"_ZN4core3ptr106drop_in_place$LT$html5ever..tree_builder..Bookmark$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17ha11309e58f35c1aeE.exit" @@ -108688,12 +108773,12 @@ _ZN4core3ops8function2Fn4call17h9e9d84ddd0eb7cb7E.exit.i: ; preds = %201, %200, unreachable "_ZN65_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h7079571cf84e57ddE.exit295": ; preds = %597 - call void @llvm.experimental.noalias.scope.decl(metadata !29800) - call void @llvm.experimental.noalias.scope.decl(metadata !29803) - %602 = load ptr, ptr %29, align 8, !alias.scope !29806, !nonnull !11, !noundef !11 - %603 = load i64, ptr %602, align 8, !noalias !29806, !noundef !11 + call void @llvm.experimental.noalias.scope.decl(metadata !29806) + call void @llvm.experimental.noalias.scope.decl(metadata !29809) + %602 = load ptr, ptr %29, align 8, !alias.scope !29812, !nonnull !11, !noundef !11 + %603 = load i64, ptr %602, align 8, !noalias !29812, !noundef !11 %604 = add i64 %603, -1 - store i64 %604, ptr %602, align 8, !noalias !29806 + store i64 %604, ptr %602, align 8, !noalias !29812 %605 = icmp eq i64 %604, 0 br i1 %605, label %606, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit297" @@ -108704,14 +108789,14 @@ _ZN4core3ops8function2Fn4call17h9e9d84ddd0eb7cb7E.exit.i: ; preds = %201, %200, .noexc296: ; preds = %606 %608 = getelementptr inbounds nuw i8, ptr %602, i64 8 - %609 = load i64, ptr %608, align 8, !noalias !29806, !noundef !11 + %609 = load i64, ptr %608, align 8, !noalias !29812, !noundef !11 %610 = add i64 %609, -1 - store i64 %610, ptr %608, align 8, !noalias !29806 + store i64 %610, ptr %608, align 8, !noalias !29812 %611 = icmp eq i64 %610, 0 br i1 %611, label %612, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit297" 612: ; preds = %.noexc296 - call void @__rust_dealloc(ptr noundef nonnull %602, i64 noundef 136, i64 noundef 8) #45, !noalias !29806 + call void @__rust_dealloc(ptr noundef nonnull %602, i64 noundef 136, i64 noundef 8) #45, !noalias !29812 br label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit297" 613: ; preds = %606 @@ -108768,53 +108853,53 @@ _ZN4core3ops8function2Fn4call17h9e9d84ddd0eb7cb7E.exit.i: ; preds = %201, %200, %626 = icmp ult i64 %.sroa.02.014.i257, %421 call void @llvm.assume(i1 %626) call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %9) - call void @llvm.experimental.noalias.scope.decl(metadata !29807) + call void @llvm.experimental.noalias.scope.decl(metadata !29813) %627 = getelementptr inbounds nuw { i64, [5 x i64] }, ptr %420, i64 %.sroa.02.014.i257 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %9, ptr noundef nonnull align 8 dereferenceable(48) %627, i64 48, i1 false), !noalias !29810 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %9, ptr noundef nonnull align 8 dereferenceable(48) %627, i64 48, i1 false), !noalias !29816 %628 = getelementptr inbounds nuw i8, ptr %627, i64 48 %629 = xor i64 %.sroa.02.014.i257, -1 %630 = add i64 %421, %629 %631 = mul i64 %630, 48 - call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %627, ptr nonnull align 8 %628, i64 %631, i1 false), !noalias !29812 + call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %627, ptr nonnull align 8 %628, i64 %631, i1 false), !noalias !29818 %632 = add i64 %421, -1 - store i64 %632, ptr %67, align 8, !alias.scope !29807, !noalias !29814 + store i64 %632, ptr %67, align 8, !alias.scope !29813, !noalias !29820 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %28, ptr noundef nonnull align 8 dereferenceable(48) %9, i64 48, i1 false) call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %9) - %.pr = load i64, ptr %28, align 8, !alias.scope !29815 - call void @llvm.experimental.noalias.scope.decl(metadata !29815) + %.pr = load i64, ptr %28, align 8, !alias.scope !29821 + call void @llvm.experimental.noalias.scope.decl(metadata !29821) %633 = icmp eq i64 %.pr, -9223372036854775807 br i1 %633, label %"_ZN4core3ptr144drop_in_place$LT$core..option..Option$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$$GT$17hb44fe697df1d548fE.exit", label %634 634: ; preds = %625 - call void @llvm.experimental.noalias.scope.decl(metadata !29818) + call void @llvm.experimental.noalias.scope.decl(metadata !29824) %.not.i.i = icmp eq i64 %.pr, -9223372036854775808 br i1 %.not.i.i, label %"_ZN4core3ptr144drop_in_place$LT$core..option..Option$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$$GT$17hb44fe697df1d548fE.exit", label %635 635: ; preds = %634 - call void @llvm.experimental.noalias.scope.decl(metadata !29821) - call void @llvm.experimental.noalias.scope.decl(metadata !29824) - %636 = load ptr, ptr %81, align 8, !alias.scope !29827, !nonnull !11, !noundef !11 - %637 = load i64, ptr %636, align 8, !noalias !29827, !noundef !11 + call void @llvm.experimental.noalias.scope.decl(metadata !29827) + call void @llvm.experimental.noalias.scope.decl(metadata !29830) + %636 = load ptr, ptr %81, align 8, !alias.scope !29833, !nonnull !11, !noundef !11 + %637 = load i64, ptr %636, align 8, !noalias !29833, !noundef !11 %638 = add i64 %637, -1 - store i64 %638, ptr %636, align 8, !noalias !29827 + store i64 %638, ptr %636, align 8, !noalias !29833 %639 = icmp eq i64 %638, 0 br i1 %639, label %640, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit.i.i301" 640: ; preds = %635 %641 = getelementptr inbounds nuw i8, ptr %636, i64 16 invoke void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17h1739d7a806ebb2d8E.llvm.13361645166614471590"(ptr noalias noundef nonnull align 8 dereferenceable(120) %641) - to label %.noexc.i.i302 unwind label %647, !noalias !29828 + to label %.noexc.i.i302 unwind label %647, !noalias !29834 .noexc.i.i302: ; preds = %640 %642 = getelementptr inbounds nuw i8, ptr %636, i64 8 - %643 = load i64, ptr %642, align 8, !noalias !29827, !noundef !11 + %643 = load i64, ptr %642, align 8, !noalias !29833, !noundef !11 %644 = add i64 %643, -1 - store i64 %644, ptr %642, align 8, !noalias !29827 + store i64 %644, ptr %642, align 8, !noalias !29833 %645 = icmp eq i64 %644, 0 br i1 %645, label %646, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit.i.i301" 646: ; preds = %.noexc.i.i302 - call void @__rust_dealloc(ptr noundef nonnull %636, i64 noundef 136, i64 noundef 8) #45, !noalias !29827 + call void @__rust_dealloc(ptr noundef nonnull %636, i64 noundef 136, i64 noundef 8) #45, !noalias !29833 br label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit.i.i301" 647: ; preds = %640 @@ -108835,8 +108920,8 @@ _ZN4core3ops8function2Fn4call17h9e9d84ddd0eb7cb7E.exit.i: ; preds = %201, %200, "_ZN4core3ptr144drop_in_place$LT$core..option..Option$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$$GT$17hb44fe697df1d548fE.exit": ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h32860e114d529e59E.exit.thread.i261", %419, %634, %625, %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit.i.i301" call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %28) - call void @llvm.experimental.noalias.scope.decl(metadata !29829) - %651 = load i64, ptr %48, align 8, !alias.scope !29829, !noalias !29832, !noundef !11 + call void @llvm.experimental.noalias.scope.decl(metadata !29835) + %651 = load i64, ptr %48, align 8, !alias.scope !29835, !noalias !29838, !noundef !11 %.not.i308 = icmp ult i64 %380, %651 br i1 %.not.i308, label %654, label %.invoke3192 @@ -108850,18 +108935,18 @@ _ZN4core3ops8function2Fn4call17h9e9d84ddd0eb7cb7E.exit.i: ; preds = %201, %200, unreachable 654: ; preds = %"_ZN4core3ptr144drop_in_place$LT$core..option..Option$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$$GT$17hb44fe697df1d548fE.exit" - %655 = load ptr, ptr %52, align 8, !alias.scope !29829, !noalias !29832, !nonnull !11, !noundef !11 + %655 = load ptr, ptr %52, align 8, !alias.scope !29835, !noalias !29838, !nonnull !11, !noundef !11 %656 = getelementptr inbounds ptr, ptr %655, i64 %380 - %657 = load ptr, ptr %656, align 8, !noalias !29834, !nonnull !11, !noundef !11 + %657 = load ptr, ptr %656, align 8, !noalias !29840, !nonnull !11, !noundef !11 %658 = getelementptr inbounds nuw i8, ptr %656, i64 8 %659 = sub i64 %651, %.sroa.089.01396 %660 = shl i64 %659, 3 - call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %656, ptr nonnull align 8 %658, i64 %660, i1 false), !noalias !29834 + call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %656, ptr nonnull align 8 %658, i64 %660, i1 false), !noalias !29840 %661 = add i64 %651, -1 - store i64 %661, ptr %48, align 8, !alias.scope !29829, !noalias !29832 - %662 = load i64, ptr %657, align 8, !noalias !29835, !noundef !11 + store i64 %661, ptr %48, align 8, !alias.scope !29835, !noalias !29838 + %662 = load i64, ptr %657, align 8, !noalias !29841, !noundef !11 %663 = add i64 %662, -1 - store i64 %663, ptr %657, align 8, !noalias !29835 + store i64 %663, ptr %657, align 8, !noalias !29841 %664 = icmp eq i64 %663, 0 br i1 %664, label %665, label %.backedge @@ -108872,14 +108957,14 @@ _ZN4core3ops8function2Fn4call17h9e9d84ddd0eb7cb7E.exit.i: ; preds = %201, %200, .noexc311: ; preds = %665 %667 = getelementptr inbounds nuw i8, ptr %657, i64 8 - %668 = load i64, ptr %667, align 8, !noalias !29835, !noundef !11 + %668 = load i64, ptr %667, align 8, !noalias !29841, !noundef !11 %669 = add i64 %668, -1 - store i64 %669, ptr %667, align 8, !noalias !29835 + store i64 %669, ptr %667, align 8, !noalias !29841 %670 = icmp eq i64 %669, 0 br i1 %670, label %671, label %.backedge 671: ; preds = %.noexc311 - call void @__rust_dealloc(ptr noundef nonnull %657, i64 noundef 136, i64 noundef 8) #45, !noalias !29835 + call void @__rust_dealloc(ptr noundef nonnull %657, i64 noundef 136, i64 noundef 8) #45, !noalias !29841 br label %.backedge 672: ; preds = %406 @@ -108903,11 +108988,11 @@ _ZN4core3ops8function2Fn4call17h9e9d84ddd0eb7cb7E.exit.i: ; preds = %201, %200, %677 = load ptr, ptr %32, align 8, !nonnull !11, !noundef !11 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %5) invoke fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$31appropriate_place_for_insertion17h0fc09c862c7da3f5E"(ptr noalias noundef align 8 captures(none) dereferenceable(24) %5, ptr noalias noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull %677) - to label %678 unwind label %679, !noalias !29840 + to label %678 unwind label %679, !noalias !29846 678: ; preds = %"_ZN65_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h7079571cf84e57ddE.exit314" - call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %4), !noalias !29843 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %4, ptr noundef nonnull readonly align 8 dereferenceable(24) %19, i64 24, i1 false), !noalias !29845 + call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %4), !noalias !29849 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %4, ptr noundef nonnull readonly align 8 dereferenceable(24) %19, i64 24, i1 false), !noalias !29851 invoke fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$9insert_at17hd411e51c64d46847E"(ptr noalias noundef nonnull align 8 dereferenceable(192) %0, ptr noalias noundef align 8 captures(none) dereferenceable(24) %5, ptr noalias noundef align 8 captures(none) dereferenceable(24) %4) to label %683 unwind label %.loopexit.split-lp.loopexit @@ -108920,11 +109005,11 @@ _ZN4core3ops8function2Fn4call17h9e9d84ddd0eb7cb7E.exit.i: ; preds = %201, %200, 681: ; preds = %679 %682 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer - call void @_ZN4core9panicking16panic_in_cleanup17hfa05ef7d5107e16aE() #47, !noalias !29840 + call void @_ZN4core9panicking16panic_in_cleanup17hfa05ef7d5107e16aE() #47, !noalias !29846 unreachable 683: ; preds = %678 - call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4), !noalias !29843 + call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4), !noalias !29849 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %5) call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %19) call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %18) @@ -109056,13 +109141,13 @@ _ZN4core3ops8function2Fn4call17h9e9d84ddd0eb7cb7E.exit.i: ; preds = %201, %200, %.sroa.02.014.i326 = phi i64 [ %720, %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h32860e114d529e59E.exit.thread.i330" ], [ 0, %709 ] %715 = phi ptr [ %716, %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h32860e114d529e59E.exit.thread.i330" ], [ %711, %709 ] %716 = getelementptr inbounds nuw i8, ptr %715, i64 48 - %.val8.i327 = load i64, ptr %715, align 8, !range !23, !noalias !29846, !noundef !11 + %.val8.i327 = load i64, ptr %715, align 8, !range !23, !noalias !29852, !noundef !11 %717 = icmp eq i64 %.val8.i327, -9223372036854775808 br i1 %717, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h32860e114d529e59E.exit.thread.i330", label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h32860e114d529e59E.exit.i328" "_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h32860e114d529e59E.exit.i328": ; preds = %.lr.ph.i324 %718 = getelementptr i8, ptr %715, i64 40 - %.val9.i329 = load ptr, ptr %718, align 8, !noalias !29846, !nonnull !11, !noundef !11 + %.val9.i329 = load ptr, ptr %718, align 8, !noalias !29852, !nonnull !11, !noundef !11 %719 = icmp eq ptr %.val9.i329, %710 br i1 %719, label %738, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h32860e114d529e59E.exit.thread.i330" @@ -109085,13 +109170,13 @@ _ZN4core3ops8function2Fn4call17h9e9d84ddd0eb7cb7E.exit.i: ; preds = %201, %200, %.sroa.02.014.i337 = phi i64 [ %733, %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h32860e114d529e59E.exit.thread.i341" ], [ 0, %722 ] %728 = phi ptr [ %729, %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h32860e114d529e59E.exit.thread.i341" ], [ %724, %722 ] %729 = getelementptr inbounds nuw i8, ptr %728, i64 48 - %.val8.i338 = load i64, ptr %728, align 8, !range !23, !noalias !29850, !noundef !11 + %.val8.i338 = load i64, ptr %728, align 8, !range !23, !noalias !29856, !noundef !11 %730 = icmp eq i64 %.val8.i338, -9223372036854775808 br i1 %730, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h32860e114d529e59E.exit.thread.i341", label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h32860e114d529e59E.exit.i339" "_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h32860e114d529e59E.exit.i339": ; preds = %.lr.ph.i335 %731 = getelementptr i8, ptr %728, i64 40 - %.val9.i340 = load ptr, ptr %731, align 8, !noalias !29850, !nonnull !11, !noundef !11 + %.val9.i340 = load ptr, ptr %731, align 8, !noalias !29856, !nonnull !11, !noundef !11 %732 = icmp eq ptr %.val9.i340, %723 br i1 %732, label %800, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h32860e114d529e59E.exit.thread.i341" @@ -109119,37 +109204,37 @@ _ZN4core3ops8function2Fn4call17h9e9d84ddd0eb7cb7E.exit.i: ; preds = %201, %200, %739 = icmp ult i64 %.sroa.02.014.i326, %712 call void @llvm.assume(i1 %739) %740 = getelementptr inbounds nuw [0 x { i64, [5 x i64] }], ptr %711, i64 0, i64 %.sroa.02.014.i326 - call void @llvm.experimental.noalias.scope.decl(metadata !29854) - %741 = load i64, ptr %740, align 8, !range !23, !alias.scope !29854, !noundef !11 + call void @llvm.experimental.noalias.scope.decl(metadata !29860) + %741 = load i64, ptr %740, align 8, !range !23, !alias.scope !29860, !noundef !11 %.not.i346 = icmp eq i64 %741, -9223372036854775808 br i1 %.not.i346, label %"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17hfb1c6cc9311857e8E.exit352", label %742 742: ; preds = %738 %743 = getelementptr inbounds nuw i8, ptr %740, i64 40 - call void @llvm.experimental.noalias.scope.decl(metadata !29857) - call void @llvm.experimental.noalias.scope.decl(metadata !29860) - %744 = load ptr, ptr %743, align 8, !alias.scope !29863, !nonnull !11, !noundef !11 - %745 = load i64, ptr %744, align 8, !noalias !29863, !noundef !11 + call void @llvm.experimental.noalias.scope.decl(metadata !29863) + call void @llvm.experimental.noalias.scope.decl(metadata !29866) + %744 = load ptr, ptr %743, align 8, !alias.scope !29869, !nonnull !11, !noundef !11 + %745 = load i64, ptr %744, align 8, !noalias !29869, !noundef !11 %746 = add i64 %745, -1 - store i64 %746, ptr %744, align 8, !noalias !29863 + store i64 %746, ptr %744, align 8, !noalias !29869 %747 = icmp eq i64 %746, 0 br i1 %747, label %748, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit.i347" 748: ; preds = %742 %749 = getelementptr inbounds nuw i8, ptr %744, i64 16 invoke void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17h1739d7a806ebb2d8E.llvm.13361645166614471590"(ptr noalias noundef nonnull align 8 dereferenceable(120) %749) - to label %.noexc.i348 unwind label %755, !noalias !29854 + to label %.noexc.i348 unwind label %755, !noalias !29860 .noexc.i348: ; preds = %748 %750 = getelementptr inbounds nuw i8, ptr %744, i64 8 - %751 = load i64, ptr %750, align 8, !noalias !29863, !noundef !11 + %751 = load i64, ptr %750, align 8, !noalias !29869, !noundef !11 %752 = add i64 %751, -1 - store i64 %752, ptr %750, align 8, !noalias !29863 + store i64 %752, ptr %750, align 8, !noalias !29869 %753 = icmp eq i64 %752, 0 br i1 %753, label %754, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit.i347" 754: ; preds = %.noexc.i348 - call void @__rust_dealloc(ptr noundef nonnull %744, i64 noundef 136, i64 noundef 8) #45, !noalias !29863 + call void @__rust_dealloc(ptr noundef nonnull %744, i64 noundef 136, i64 noundef 8) #45, !noalias !29869 br label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit.i347" 755: ; preds = %748 @@ -109180,9 +109265,9 @@ _ZN4core3ops8function2Fn4call17h9e9d84ddd0eb7cb7E.exit.i: ; preds = %201, %200, "_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17hfb1c6cc9311857e8E.exit352": ; preds = %738, %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit.i347" call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %740, ptr noundef nonnull align 8 dereferenceable(48) %15, i64 48, i1 false) - %761 = load i64, ptr %710, align 8, !noalias !29864, !noundef !11 + %761 = load i64, ptr %710, align 8, !noalias !29870, !noundef !11 %762 = add i64 %761, -1 - store i64 %762, ptr %710, align 8, !noalias !29864 + store i64 %762, ptr %710, align 8, !noalias !29870 %763 = icmp eq i64 %762, 0 br i1 %763, label %764, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit354" @@ -109193,26 +109278,26 @@ _ZN4core3ops8function2Fn4call17h9e9d84ddd0eb7cb7E.exit.i: ; preds = %201, %200, .noexc353: ; preds = %764 %766 = getelementptr inbounds nuw i8, ptr %710, i64 8 - %767 = load i64, ptr %766, align 8, !noalias !29864, !noundef !11 + %767 = load i64, ptr %766, align 8, !noalias !29870, !noundef !11 %768 = add i64 %767, -1 - store i64 %768, ptr %766, align 8, !noalias !29864 + store i64 %768, ptr %766, align 8, !noalias !29870 %769 = icmp eq i64 %768, 0 br i1 %769, label %770, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit354" 770: ; preds = %.noexc353 - call void @__rust_dealloc(ptr noundef nonnull %710, i64 noundef 136, i64 noundef 8) #45, !noalias !29864 + call void @__rust_dealloc(ptr noundef nonnull %710, i64 noundef 136, i64 noundef 8) #45, !noalias !29870 br label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit354" "_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit354": ; preds = %770, %.noexc353, %"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17hfb1c6cc9311857e8E.exit352" call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %13) - %.val190.pre = load ptr, ptr %41, align 8, !alias.scope !29869, !noalias !29872 + %.val190.pre = load ptr, ptr %41, align 8, !alias.scope !29875, !noalias !29878 br label %771 771: ; preds = %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit382", %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit354" %772 = phi ptr [ %.val1.i.i360, %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit382" ], [ %.val190.pre, %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit354" ] - call void @llvm.experimental.noalias.scope.decl(metadata !29874) - %773 = load ptr, ptr %52, align 8, !alias.scope !29874, !nonnull !11, !noundef !11 - %774 = load i64, ptr %48, align 8, !alias.scope !29874, !noundef !11 + call void @llvm.experimental.noalias.scope.decl(metadata !29880) + %773 = load ptr, ptr %52, align 8, !alias.scope !29880, !nonnull !11, !noundef !11 + %774 = load i64, ptr %48, align 8, !alias.scope !29880, !noundef !11 %775 = getelementptr inbounds ptr, ptr %773, i64 %774 br label %776 @@ -109225,25 +109310,25 @@ _ZN4core3ops8function2Fn4call17h9e9d84ddd0eb7cb7E.exit.i: ; preds = %201, %200, 779: ; preds = %776 %780 = getelementptr inbounds i8, ptr %777, i64 -8 %781 = add i64 %.sroa.03.0.i.i, -1 - %.val9.i.i = load ptr, ptr %780, align 8, !noalias !29877, !nonnull !11, !noundef !11 + %.val9.i.i = load ptr, ptr %780, align 8, !noalias !29883, !nonnull !11, !noundef !11 %782 = icmp eq ptr %772, %.val9.i.i br i1 %782, label %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h222d25c33575a88eE.exit.i", label %776 "_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h222d25c33575a88eE.exit.i": ; preds = %779 %783 = icmp ult i64 %781, %774 call void @llvm.assume(i1 %783) - call void @llvm.experimental.noalias.scope.decl(metadata !29881) + call void @llvm.experimental.noalias.scope.decl(metadata !29887) %784 = getelementptr inbounds ptr, ptr %773, i64 %781 - %785 = load ptr, ptr %784, align 8, !noalias !29884, !nonnull !11, !noundef !11 + %785 = load ptr, ptr %784, align 8, !noalias !29890, !nonnull !11, !noundef !11 %786 = getelementptr inbounds nuw i8, ptr %784, i64 8 %787 = sub i64 %774, %.sroa.03.0.i.i %788 = shl i64 %787, 3 - call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %784, ptr nonnull align 8 %786, i64 %788, i1 false), !noalias !29884 + call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %784, ptr nonnull align 8 %786, i64 %788, i1 false), !noalias !29890 %789 = add i64 %774, -1 - store i64 %789, ptr %48, align 8, !alias.scope !29886, !noalias !29887 - %790 = load i64, ptr %785, align 8, !noalias !29888, !noundef !11 + store i64 %789, ptr %48, align 8, !alias.scope !29892, !noalias !29893 + %790 = load i64, ptr %785, align 8, !noalias !29894, !noundef !11 %791 = add i64 %790, -1 - store i64 %791, ptr %785, align 8, !noalias !29888 + store i64 %791, ptr %785, align 8, !noalias !29894 %792 = icmp eq i64 %791, 0 br i1 %792, label %793, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17remove_from_stack17hf35476a0839db787E.exit" @@ -109254,14 +109339,14 @@ _ZN4core3ops8function2Fn4call17h9e9d84ddd0eb7cb7E.exit.i: ; preds = %201, %200, .noexc356: ; preds = %793 %795 = getelementptr inbounds nuw i8, ptr %785, i64 8 - %796 = load i64, ptr %795, align 8, !noalias !29888, !noundef !11 + %796 = load i64, ptr %795, align 8, !noalias !29894, !noundef !11 %797 = add i64 %796, -1 - store i64 %797, ptr %795, align 8, !noalias !29888 + store i64 %797, ptr %795, align 8, !noalias !29894 %798 = icmp eq i64 %797, 0 br i1 %798, label %799, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17remove_from_stack17hf35476a0839db787E.exit" 799: ; preds = %.noexc356 - call void @__rust_dealloc(ptr noundef nonnull %785, i64 noundef 136, i64 noundef 8) #45, !noalias !29888 + call void @__rust_dealloc(ptr noundef nonnull %785, i64 noundef 136, i64 noundef 8) #45, !noalias !29894 br label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17remove_from_stack17hf35476a0839db787E.exit" .loopexit661: ; preds = %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit.i374" @@ -109291,16 +109376,16 @@ _ZN4core3ops8function2Fn4call17h9e9d84ddd0eb7cb7E.exit.i: ; preds = %201, %200, %802 = add nuw i64 %.sroa.02.014.i337, 1 call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %11) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %11, ptr noundef nonnull align 8 dereferenceable(48) %15, i64 48, i1 false) - %803 = load i64, ptr %65, align 8, !alias.scope !29893, !noalias !29896, !noundef !11 + %803 = load i64, ptr %65, align 8, !alias.scope !29899, !noalias !29902, !noundef !11 %804 = icmp eq i64 %725, %803 br i1 %804, label %805, label %806 805: ; preds = %800 invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$8grow_one17hd0874c9ef15fee4eE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %65) - to label %._crit_edge unwind label %810, !noalias !29896 + to label %._crit_edge unwind label %810, !noalias !29902 ._crit_edge: ; preds = %805 - %.pre2246 = load ptr, ptr %66, align 8, !alias.scope !29893, !noalias !29896 + %.pre2246 = load ptr, ptr %66, align 8, !alias.scope !29899, !noalias !29902 br label %806 806: ; preds = %._crit_edge, %800 @@ -109319,7 +109404,7 @@ _ZN4core3ops8function2Fn4call17h9e9d84ddd0eb7cb7E.exit.i: ; preds = %201, %200, %812 = getelementptr inbounds nuw i8, ptr %808, i64 48 %813 = sub nuw i64 %725, %802 %814 = mul i64 %813, 48 - call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %812, ptr nonnull align 8 %808, i64 %814, i1 false), !noalias !29896 + call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %812, ptr nonnull align 8 %808, i64 %814, i1 false), !noalias !29902 br label %817 815: ; preds = %810 @@ -109331,29 +109416,29 @@ _ZN4core3ops8function2Fn4call17h9e9d84ddd0eb7cb7E.exit.i: ; preds = %201, %200, 817: ; preds = %811, %806 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %808, ptr noundef nonnull align 8 dereferenceable(48) %15, i64 48, i1 false) %818 = add i64 %725, 1 - store i64 %818, ptr %67, align 8, !alias.scope !29893, !noalias !29896 + store i64 %818, ptr %67, align 8, !alias.scope !29899, !noalias !29902 call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %11) %819 = load ptr, ptr %66, align 8, !nonnull !11, !noundef !11 %820 = getelementptr inbounds { i64, [5 x i64] }, ptr %819, i64 %818 - call void @llvm.experimental.noalias.scope.decl(metadata !29898) + call void @llvm.experimental.noalias.scope.decl(metadata !29904) %821 = icmp eq i64 %818, 0 br i1 %821, label %.loopexit630, label %.lr.ph.i359 .lr.ph.i359: ; preds = %817 - %.val1.i.i360 = load ptr, ptr %41, align 8, !alias.scope !29898, !noalias !29901 + %.val1.i.i360 = load ptr, ptr %41, align 8, !alias.scope !29904, !noalias !29907 br label %822 822: ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h32860e114d529e59E.exit.thread.i365", %.lr.ph.i359 %.sroa.02.014.i361 = phi i64 [ 0, %.lr.ph.i359 ], [ %828, %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h32860e114d529e59E.exit.thread.i365" ] %823 = phi ptr [ %819, %.lr.ph.i359 ], [ %824, %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h32860e114d529e59E.exit.thread.i365" ] %824 = getelementptr inbounds nuw i8, ptr %823, i64 48 - %.val8.i362 = load i64, ptr %823, align 8, !range !23, !noalias !29903, !noundef !11 + %.val8.i362 = load i64, ptr %823, align 8, !range !23, !noalias !29909, !noundef !11 %825 = icmp eq i64 %.val8.i362, -9223372036854775808 br i1 %825, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h32860e114d529e59E.exit.thread.i365", label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h32860e114d529e59E.exit.i363" "_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h32860e114d529e59E.exit.i363": ; preds = %822 %826 = getelementptr i8, ptr %823, i64 40 - %.val9.i364 = load ptr, ptr %826, align 8, !noalias !29903, !nonnull !11, !noundef !11 + %.val9.i364 = load ptr, ptr %826, align 8, !noalias !29909, !nonnull !11, !noundef !11 %827 = icmp eq ptr %.val9.i364, %.val1.i.i360 br i1 %827, label %830, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h32860e114d529e59E.exit.thread.i365" @@ -109370,44 +109455,44 @@ _ZN4core3ops8function2Fn4call17h9e9d84ddd0eb7cb7E.exit.i: ; preds = %201, %200, %831 = icmp ult i64 %.sroa.02.014.i361, %818 call void @llvm.assume(i1 %831) call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %10) - call void @llvm.experimental.noalias.scope.decl(metadata !29904) + call void @llvm.experimental.noalias.scope.decl(metadata !29910) %832 = getelementptr inbounds nuw { i64, [5 x i64] }, ptr %819, i64 %.sroa.02.014.i361 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %10, ptr noundef nonnull align 8 dereferenceable(48) %832, i64 48, i1 false), !noalias !29907 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %10, ptr noundef nonnull align 8 dereferenceable(48) %832, i64 48, i1 false), !noalias !29913 %833 = getelementptr inbounds nuw i8, ptr %832, i64 48 %834 = sub i64 %725, %.sroa.02.014.i361 %835 = mul i64 %834, 48 - call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %832, ptr nonnull align 8 %833, i64 %835, i1 false), !noalias !29909 - store i64 %725, ptr %67, align 8, !alias.scope !29904, !noalias !29911 - call void @llvm.experimental.noalias.scope.decl(metadata !29912) - %836 = load i64, ptr %10, align 8, !range !23, !alias.scope !29912, !noundef !11 + call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %832, ptr nonnull align 8 %833, i64 %835, i1 false), !noalias !29915 + store i64 %725, ptr %67, align 8, !alias.scope !29910, !noalias !29917 + call void @llvm.experimental.noalias.scope.decl(metadata !29918) + %836 = load i64, ptr %10, align 8, !range !23, !alias.scope !29918, !noundef !11 %.not.i373 = icmp eq i64 %836, -9223372036854775808 br i1 %.not.i373, label %"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17hfb1c6cc9311857e8E.exit380", label %837 837: ; preds = %830 - call void @llvm.experimental.noalias.scope.decl(metadata !29915) - call void @llvm.experimental.noalias.scope.decl(metadata !29918) - %838 = load ptr, ptr %88, align 8, !alias.scope !29921, !nonnull !11, !noundef !11 - %839 = load i64, ptr %838, align 8, !noalias !29921, !noundef !11 + call void @llvm.experimental.noalias.scope.decl(metadata !29921) + call void @llvm.experimental.noalias.scope.decl(metadata !29924) + %838 = load ptr, ptr %88, align 8, !alias.scope !29927, !nonnull !11, !noundef !11 + %839 = load i64, ptr %838, align 8, !noalias !29927, !noundef !11 %840 = add i64 %839, -1 - store i64 %840, ptr %838, align 8, !noalias !29921 + store i64 %840, ptr %838, align 8, !noalias !29927 %841 = icmp eq i64 %840, 0 br i1 %841, label %842, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit.i374" 842: ; preds = %837 %843 = getelementptr inbounds nuw i8, ptr %838, i64 16 invoke void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17h1739d7a806ebb2d8E.llvm.13361645166614471590"(ptr noalias noundef nonnull align 8 dereferenceable(120) %843) - to label %.noexc.i375 unwind label %849, !noalias !29912 + to label %.noexc.i375 unwind label %849, !noalias !29918 .noexc.i375: ; preds = %842 %844 = getelementptr inbounds nuw i8, ptr %838, i64 8 - %845 = load i64, ptr %844, align 8, !noalias !29921, !noundef !11 + %845 = load i64, ptr %844, align 8, !noalias !29927, !noundef !11 %846 = add i64 %845, -1 - store i64 %846, ptr %844, align 8, !noalias !29921 + store i64 %846, ptr %844, align 8, !noalias !29927 %847 = icmp eq i64 %846, 0 br i1 %847, label %848, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit.i374" 848: ; preds = %.noexc.i375 - call void @__rust_dealloc(ptr noundef nonnull %838, i64 noundef 136, i64 noundef 8) #45, !noalias !29921 + call void @__rust_dealloc(ptr noundef nonnull %838, i64 noundef 136, i64 noundef 8) #45, !noalias !29927 br label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit.i374" 849: ; preds = %842 @@ -109428,9 +109513,9 @@ _ZN4core3ops8function2Fn4call17h9e9d84ddd0eb7cb7E.exit.i: ; preds = %201, %200, "_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17hfb1c6cc9311857e8E.exit380": ; preds = %830, %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit.i374" call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %10) - %853 = load i64, ptr %723, align 8, !noalias !29922, !noundef !11 + %853 = load i64, ptr %723, align 8, !noalias !29928, !noundef !11 %854 = add i64 %853, -1 - store i64 %854, ptr %723, align 8, !noalias !29922 + store i64 %854, ptr %723, align 8, !noalias !29928 %855 = icmp eq i64 %854, 0 br i1 %855, label %856, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit382" @@ -109441,14 +109526,14 @@ _ZN4core3ops8function2Fn4call17h9e9d84ddd0eb7cb7E.exit.i: ; preds = %201, %200, .noexc381: ; preds = %856 %858 = getelementptr inbounds nuw i8, ptr %723, i64 8 - %859 = load i64, ptr %858, align 8, !noalias !29922, !noundef !11 + %859 = load i64, ptr %858, align 8, !noalias !29928, !noundef !11 %860 = add i64 %859, -1 - store i64 %860, ptr %858, align 8, !noalias !29922 + store i64 %860, ptr %858, align 8, !noalias !29928 %861 = icmp eq i64 %860, 0 br i1 %861, label %862, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit382" 862: ; preds = %.noexc381 - call void @__rust_dealloc(ptr noundef nonnull %723, i64 noundef 136, i64 noundef 8) #45, !noalias !29922 + call void @__rust_dealloc(ptr noundef nonnull %723, i64 noundef 136, i64 noundef 8) #45, !noalias !29928 br label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit382" "_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit382": ; preds = %862, %.noexc381, %"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17hfb1c6cc9311857e8E.exit380" @@ -109459,18 +109544,18 @@ _ZN4core3ops8function2Fn4call17h9e9d84ddd0eb7cb7E.exit.i: ; preds = %201, %200, %863 = load ptr, ptr %52, align 8, !nonnull !11, !noundef !11 %864 = load i64, ptr %48, align 8, !noundef !11 %865 = getelementptr inbounds ptr, ptr %863, i64 %864 - call void @llvm.experimental.noalias.scope.decl(metadata !29927) + call void @llvm.experimental.noalias.scope.decl(metadata !29933) %866 = icmp eq i64 %864, 0 br i1 %866, label %.loopexit629, label %.lr.ph.i383 .lr.ph.i383: ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17remove_from_stack17hf35476a0839db787E.exit" - %.val1.i.i384 = load ptr, ptr %34, align 8, !alias.scope !29927, !noalias !29930, !nonnull !11, !noundef !11 + %.val1.i.i384 = load ptr, ptr %34, align 8, !alias.scope !29933, !noalias !29936, !nonnull !11, !noundef !11 br label %867 867: ; preds = %870, %.lr.ph.i383 %.sroa.02.011.i = phi i64 [ 0, %.lr.ph.i383 ], [ %872, %870 ] %868 = phi ptr [ %863, %.lr.ph.i383 ], [ %871, %870 ] - %.val8.i385 = load ptr, ptr %868, align 8, !noalias !29932, !nonnull !11, !noundef !11 + %.val8.i385 = load ptr, ptr %868, align 8, !noalias !29938, !nonnull !11, !noundef !11 %869 = icmp eq ptr %.val8.i385, %.val1.i.i384 br i1 %869, label %874, label %870 @@ -109489,10 +109574,10 @@ _ZN4core3ops8function2Fn4call17h9e9d84ddd0eb7cb7E.exit.i: ; preds = %201, %200, call void @llvm.assume(i1 %875) %876 = add nuw i64 %.sroa.02.011.i, 1 %877 = load ptr, ptr %18, align 8, !nonnull !11, !noundef !11 - call void @llvm.experimental.noalias.scope.decl(metadata !29933) + call void @llvm.experimental.noalias.scope.decl(metadata !29939) call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3) - store ptr %877, ptr %3, align 8, !noalias !29933 - %878 = load i64, ptr %68, align 8, !alias.scope !29933, !noundef !11 + store ptr %877, ptr %3, align 8, !noalias !29939 + %878 = load i64, ptr %68, align 8, !alias.scope !29939, !noundef !11 %879 = icmp eq i64 %864, %878 br i1 %879, label %880, label %881 @@ -109501,7 +109586,7 @@ _ZN4core3ops8function2Fn4call17h9e9d84ddd0eb7cb7E.exit.i: ; preds = %201, %200, to label %._crit_edge2248 unwind label %885 ._crit_edge2248: ; preds = %880 - %.pre2249 = load ptr, ptr %52, align 8, !alias.scope !29933 + %.pre2249 = load ptr, ptr %52, align 8, !alias.scope !29939 br label %881 881: ; preds = %._crit_edge2248, %874 @@ -109533,16 +109618,16 @@ _ZN4core3ops8function2Fn4call17h9e9d84ddd0eb7cb7E.exit.i: ; preds = %201, %200, 892: ; preds = %886, %881 store ptr %877, ptr %883, align 8 %893 = add i64 %864, 1 - store i64 %893, ptr %48, align 8, !alias.scope !29933 + store i64 %893, ptr %48, align 8, !alias.scope !29939 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3) call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %15) call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %18) - call void @llvm.experimental.noalias.scope.decl(metadata !29936) - call void @llvm.experimental.noalias.scope.decl(metadata !29939) - %894 = load ptr, ptr %29, align 8, !alias.scope !29942, !nonnull !11, !noundef !11 - %895 = load i64, ptr %894, align 8, !noalias !29942, !noundef !11 + call void @llvm.experimental.noalias.scope.decl(metadata !29942) + call void @llvm.experimental.noalias.scope.decl(metadata !29945) + %894 = load ptr, ptr %29, align 8, !alias.scope !29948, !nonnull !11, !noundef !11 + %895 = load i64, ptr %894, align 8, !noalias !29948, !noundef !11 %896 = add i64 %895, -1 - store i64 %896, ptr %894, align 8, !noalias !29942 + store i64 %896, ptr %894, align 8, !noalias !29948 %897 = icmp eq i64 %896, 0 br i1 %897, label %898, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit391" @@ -109553,24 +109638,24 @@ _ZN4core3ops8function2Fn4call17h9e9d84ddd0eb7cb7E.exit.i: ; preds = %201, %200, .noexc390: ; preds = %898 %900 = getelementptr inbounds nuw i8, ptr %894, i64 8 - %901 = load i64, ptr %900, align 8, !noalias !29942, !noundef !11 + %901 = load i64, ptr %900, align 8, !noalias !29948, !noundef !11 %902 = add i64 %901, -1 - store i64 %902, ptr %900, align 8, !noalias !29942 + store i64 %902, ptr %900, align 8, !noalias !29948 %903 = icmp eq i64 %902, 0 br i1 %903, label %904, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit391" 904: ; preds = %.noexc390 - call void @__rust_dealloc(ptr noundef nonnull %894, i64 noundef 136, i64 noundef 8) #45, !noalias !29942 + call void @__rust_dealloc(ptr noundef nonnull %894, i64 noundef 136, i64 noundef 8) #45, !noalias !29948 br label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit391" "_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit391": ; preds = %904, %.noexc390, %892 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %29) - call void @llvm.experimental.noalias.scope.decl(metadata !29943) - call void @llvm.experimental.noalias.scope.decl(metadata !29946) - %905 = load ptr, ptr %30, align 8, !alias.scope !29949, !nonnull !11, !noundef !11 - %906 = load i64, ptr %905, align 8, !noalias !29949, !noundef !11 + call void @llvm.experimental.noalias.scope.decl(metadata !29949) + call void @llvm.experimental.noalias.scope.decl(metadata !29952) + %905 = load ptr, ptr %30, align 8, !alias.scope !29955, !nonnull !11, !noundef !11 + %906 = load i64, ptr %905, align 8, !noalias !29955, !noundef !11 %907 = add i64 %906, -1 - store i64 %907, ptr %905, align 8, !noalias !29949 + store i64 %907, ptr %905, align 8, !noalias !29955 %908 = icmp eq i64 %907, 0 br i1 %908, label %909, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit393" @@ -109581,14 +109666,14 @@ _ZN4core3ops8function2Fn4call17h9e9d84ddd0eb7cb7E.exit.i: ; preds = %201, %200, .noexc392: ; preds = %909 %911 = getelementptr inbounds nuw i8, ptr %905, i64 8 - %912 = load i64, ptr %911, align 8, !noalias !29949, !noundef !11 + %912 = load i64, ptr %911, align 8, !noalias !29955, !noundef !11 %913 = add i64 %912, -1 - store i64 %913, ptr %911, align 8, !noalias !29949 + store i64 %913, ptr %911, align 8, !noalias !29955 %914 = icmp eq i64 %913, 0 br i1 %914, label %915, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit393" 915: ; preds = %.noexc392 - call void @__rust_dealloc(ptr noundef nonnull %905, i64 noundef 136, i64 noundef 8) #45, !noalias !29949 + call void @__rust_dealloc(ptr noundef nonnull %905, i64 noundef 136, i64 noundef 8) #45, !noalias !29955 br label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit393" 916: ; preds = %945, %919, %375 @@ -109611,12 +109696,12 @@ _ZN4core3ops8function2Fn4call17h9e9d84ddd0eb7cb7E.exit.i: ; preds = %201, %200, call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %30) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %31) call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %32) - call void @llvm.experimental.noalias.scope.decl(metadata !29950) - call void @llvm.experimental.noalias.scope.decl(metadata !29953) - %921 = load ptr, ptr %34, align 8, !alias.scope !29956, !nonnull !11, !noundef !11 - %922 = load i64, ptr %921, align 8, !noalias !29956, !noundef !11 + call void @llvm.experimental.noalias.scope.decl(metadata !29956) + call void @llvm.experimental.noalias.scope.decl(metadata !29959) + %921 = load ptr, ptr %34, align 8, !alias.scope !29962, !nonnull !11, !noundef !11 + %922 = load i64, ptr %921, align 8, !noalias !29962, !noundef !11 %923 = add i64 %922, -1 - store i64 %923, ptr %921, align 8, !noalias !29956 + store i64 %923, ptr %921, align 8, !noalias !29962 %924 = icmp eq i64 %923, 0 br i1 %924, label %925, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit395" @@ -109627,22 +109712,22 @@ _ZN4core3ops8function2Fn4call17h9e9d84ddd0eb7cb7E.exit.i: ; preds = %201, %200, .noexc394: ; preds = %925 %927 = getelementptr inbounds nuw i8, ptr %921, i64 8 - %928 = load i64, ptr %927, align 8, !noalias !29956, !noundef !11 + %928 = load i64, ptr %927, align 8, !noalias !29962, !noundef !11 %929 = add i64 %928, -1 - store i64 %929, ptr %927, align 8, !noalias !29956 + store i64 %929, ptr %927, align 8, !noalias !29962 %930 = icmp eq i64 %929, 0 br i1 %930, label %931, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit395" 931: ; preds = %.noexc394 - call void @__rust_dealloc(ptr noundef nonnull %921, i64 noundef 136, i64 noundef 8) #45, !noalias !29956 + call void @__rust_dealloc(ptr noundef nonnull %921, i64 noundef 136, i64 noundef 8) #45, !noalias !29962 br label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit395" "_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit395": ; preds = %931, %.noexc394, %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit393" call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %34) call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %40) - %932 = load i64, ptr %772, align 8, !noalias !29957, !noundef !11 + %932 = load i64, ptr %772, align 8, !noalias !29963, !noundef !11 %933 = add i64 %932, -1 - store i64 %933, ptr %772, align 8, !noalias !29957 + store i64 %933, ptr %772, align 8, !noalias !29963 %934 = icmp eq i64 %933, 0 br i1 %934, label %935, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit397" @@ -109653,14 +109738,14 @@ _ZN4core3ops8function2Fn4call17h9e9d84ddd0eb7cb7E.exit.i: ; preds = %201, %200, .noexc396: ; preds = %935 %937 = getelementptr inbounds nuw i8, ptr %772, i64 8 - %938 = load i64, ptr %937, align 8, !noalias !29957, !noundef !11 + %938 = load i64, ptr %937, align 8, !noalias !29963, !noundef !11 %939 = add i64 %938, -1 - store i64 %939, ptr %937, align 8, !noalias !29957 + store i64 %939, ptr %937, align 8, !noalias !29963 %940 = icmp eq i64 %939, 0 br i1 %940, label %941, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit397" 941: ; preds = %.noexc396 - call void @__rust_dealloc(ptr noundef nonnull %772, i64 noundef 136, i64 noundef 8) #45, !noalias !29957 + call void @__rust_dealloc(ptr noundef nonnull %772, i64 noundef 136, i64 noundef 8) #45, !noalias !29963 br label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit397" "_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit397": ; preds = %941, %.noexc396, %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit395" @@ -109718,15 +109803,15 @@ _ZN4core3ops8function2Fn4call17h9e9d84ddd0eb7cb7E.exit.i: ; preds = %201, %200, .loopexit675: ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h32860e114d529e59E.exit.thread.i", %..loopexit675_crit_edge %949 = phi ptr [ %.pre2251, %..loopexit675_crit_edge ], [ %.val1.i.i, %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h32860e114d529e59E.exit.thread.i" ] - tail call void @llvm.experimental.noalias.scope.decl(metadata !29634) + tail call void @llvm.experimental.noalias.scope.decl(metadata !29640) %950 = getelementptr inbounds nuw i8, ptr %0, i64 88 - store i64 %92, ptr %48, align 8, !alias.scope !29634 - %951 = load i64, ptr %950, align 8, !alias.scope !29634, !noundef !11 + store i64 %92, ptr %48, align 8, !alias.scope !29640 + %951 = load i64, ptr %950, align 8, !alias.scope !29640, !noundef !11 %952 = icmp ult i64 %92, %951 tail call void @llvm.assume(i1 %952) - %953 = load i64, ptr %949, align 8, !noalias !29962, !noundef !11 + %953 = load i64, ptr %949, align 8, !noalias !29968, !noundef !11 %954 = add i64 %953, -1 - store i64 %954, ptr %949, align 8, !noalias !29962 + store i64 %954, ptr %949, align 8, !noalias !29968 %955 = icmp eq i64 %954, 0 br i1 %955, label %956, label %.critedge @@ -109737,14 +109822,14 @@ _ZN4core3ops8function2Fn4call17h9e9d84ddd0eb7cb7E.exit.i: ; preds = %201, %200, .noexc398: ; preds = %956 %958 = getelementptr inbounds nuw i8, ptr %949, i64 8 - %959 = load i64, ptr %958, align 8, !noalias !29962, !noundef !11 + %959 = load i64, ptr %958, align 8, !noalias !29968, !noundef !11 %960 = add i64 %959, -1 - store i64 %960, ptr %958, align 8, !noalias !29962 + store i64 %960, ptr %958, align 8, !noalias !29968 %961 = icmp eq i64 %960, 0 br i1 %961, label %962, label %.critedge 962: ; preds = %.noexc398 - tail call void @__rust_dealloc(ptr noundef nonnull %949, i64 noundef 136, i64 noundef 8) #45, !noalias !29962 + tail call void @__rust_dealloc(ptr noundef nonnull %949, i64 noundef 136, i64 noundef 8) #45, !noalias !29968 br label %.critedge .critedge: ; preds = %.loopexit675, %.noexc398, %962 @@ -109758,19 +109843,19 @@ _ZN4core3ops8function2Fn4call17h9e9d84ddd0eb7cb7E.exit.i: ; preds = %201, %200, br i1 %967, label %968, label %"_ZN4core3ptr84drop_in_place$LT$string_cache..atom..Atom$LT$markup5ever..LocalNameStaticSet$GT$$GT$17hce00844e8c1e6f00E.exit" 968: ; preds = %963 - %969 = call noundef ptr @_ZN4core4sync6atomic11atomic_load17hf6ae17783efc19dfE.llvm.5997636334944773990(ptr noundef nonnull getelementptr inbounds nuw (i8, ptr @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, i64 16), i8 noundef 2), !noalias !29967 + %969 = call noundef ptr @_ZN4core4sync6atomic11atomic_load17hf6ae17783efc19dfE.llvm.5997636334944773990(ptr noundef nonnull getelementptr inbounds nuw (i8, ptr @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, i64 16), i8 noundef 2), !noalias !29973 %.not.i.i.i.i400 = icmp eq ptr %969, inttoptr (i64 2 to ptr) br i1 %.not.i.i.i.i400, label %"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h734fc4935bbafb8fE.exit.i.i401", label %970 970: ; preds = %968 - call void @"_ZN9once_cell3imp17OnceCell$LT$T$GT$10initialize17h2106f0dc51d20ab9E"(ptr noundef nonnull align 8 @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, ptr noundef nonnull align 8 @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E), !noalias !29967 - %971 = load ptr, ptr @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, align 8, !noalias !29967, !noundef !11 + call void @"_ZN9once_cell3imp17OnceCell$LT$T$GT$10initialize17h2106f0dc51d20ab9E"(ptr noundef nonnull align 8 @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, ptr noundef nonnull align 8 @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E), !noalias !29973 + %971 = load ptr, ptr @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, align 8, !noalias !29973, !noundef !11 %972 = icmp ne ptr %971, null call void @llvm.assume(i1 %972) br label %"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h734fc4935bbafb8fE.exit.i.i401" "_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h734fc4935bbafb8fE.exit.i.i401": ; preds = %970, %968 - call void @_ZN12string_cache11dynamic_set3Set6remove17h358d1c715f07230eE(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, ptr noundef nonnull %964), !noalias !29967 + call void @_ZN12string_cache11dynamic_set3Set6remove17h358d1c715f07230eE(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, ptr noundef nonnull %964), !noalias !29973 br label %"_ZN4core3ptr84drop_in_place$LT$string_cache..atom..Atom$LT$markup5ever..LocalNameStaticSet$GT$$GT$17hce00844e8c1e6f00E.exit" 973: ; preds = %.thread446 @@ -109877,19 +109962,19 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle br i1 %31, label %32, label %"_ZN4core3ptr84drop_in_place$LT$string_cache..atom..Atom$LT$markup5ever..LocalNameStaticSet$GT$$GT$17hce00844e8c1e6f00E.exit" 32: ; preds = %27 - %33 = call noundef ptr @_ZN4core4sync6atomic11atomic_load17hf6ae17783efc19dfE.llvm.5997636334944773990(ptr noundef nonnull getelementptr inbounds nuw (i8, ptr @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, i64 16), i8 noundef 2), !noalias !29970 + %33 = call noundef ptr @_ZN4core4sync6atomic11atomic_load17hf6ae17783efc19dfE.llvm.5997636334944773990(ptr noundef nonnull getelementptr inbounds nuw (i8, ptr @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, i64 16), i8 noundef 2), !noalias !29976 %.not.i.i.i.i = icmp eq ptr %33, inttoptr (i64 2 to ptr) br i1 %.not.i.i.i.i, label %"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h734fc4935bbafb8fE.exit.i.i", label %34 34: ; preds = %32 - call void @"_ZN9once_cell3imp17OnceCell$LT$T$GT$10initialize17h2106f0dc51d20ab9E"(ptr noundef nonnull align 8 @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, ptr noundef nonnull align 8 @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E), !noalias !29970 - %35 = load ptr, ptr @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, align 8, !noalias !29970, !noundef !11 + call void @"_ZN9once_cell3imp17OnceCell$LT$T$GT$10initialize17h2106f0dc51d20ab9E"(ptr noundef nonnull align 8 @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, ptr noundef nonnull align 8 @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E), !noalias !29976 + %35 = load ptr, ptr @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, align 8, !noalias !29976, !noundef !11 %36 = icmp ne ptr %35, null call void @llvm.assume(i1 %36) br label %"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h734fc4935bbafb8fE.exit.i.i" "_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h734fc4935bbafb8fE.exit.i.i": ; preds = %34, %32 - call void @_ZN12string_cache11dynamic_set3Set6remove17h358d1c715f07230eE(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, ptr noundef nonnull %28), !noalias !29970 + call void @_ZN12string_cache11dynamic_set3Set6remove17h358d1c715f07230eE(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, ptr noundef nonnull %28), !noalias !29976 br label %"_ZN4core3ptr84drop_in_place$LT$string_cache..atom..Atom$LT$markup5ever..LocalNameStaticSet$GT$$GT$17hce00844e8c1e6f00E.exit" "_ZN4core3ptr84drop_in_place$LT$string_cache..atom..Atom$LT$markup5ever..LocalNameStaticSet$GT$$GT$17hce00844e8c1e6f00E.exit": ; preds = %24, %27, %"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h734fc4935bbafb8fE.exit.i.i" @@ -109908,16 +109993,16 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle store ptr %7, ptr %4, align 8 %.sroa.42.0..sroa_idx = getelementptr inbounds nuw i8, ptr %4, i64 8 store ptr @"_ZN75_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..fmt..Debug$GT$3fmt17ha14217671d0315d0E", ptr %.sroa.42.0..sroa_idx, align 8 - call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %3), !noalias !29973 - store ptr @anon.8d30d0a7d2f463ab8d140474c43893b3.304, ptr %3, align 8, !noalias !29981 + call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %3), !noalias !29979 + store ptr @anon.8d30d0a7d2f463ab8d140474c43893b3.304, ptr %3, align 8, !noalias !29987 %.sroa.4.0..sroa_idx = getelementptr inbounds nuw i8, ptr %3, i64 8 - store i64 1, ptr %.sroa.4.0..sroa_idx, align 8, !noalias !29981 + store i64 1, ptr %.sroa.4.0..sroa_idx, align 8, !noalias !29987 %.sroa.5.0..sroa_idx = getelementptr inbounds nuw i8, ptr %3, i64 16 - store ptr %4, ptr %.sroa.5.0..sroa_idx, align 8, !noalias !29981 + store ptr %4, ptr %.sroa.5.0..sroa_idx, align 8, !noalias !29987 %.sroa.6.0..sroa_idx = getelementptr inbounds nuw i8, ptr %3, i64 24 - store i64 1, ptr %.sroa.6.0..sroa_idx, align 8, !noalias !29981 + store i64 1, ptr %.sroa.6.0..sroa_idx, align 8, !noalias !29987 %.sroa.7.0..sroa_idx = getelementptr inbounds nuw i8, ptr %3, i64 32 - store ptr null, ptr %.sroa.7.0..sroa_idx, align 8, !noalias !29981 + store ptr null, ptr %.sroa.7.0..sroa_idx, align 8, !noalias !29987 invoke void @_ZN5alloc3fmt6format12format_inner17hfc591406982d9639E(ptr noalias noundef nonnull sret([24 x i8]) align 8 captures(none) dereferenceable(24) %5, ptr noalias noundef nonnull align 8 captures(none) dereferenceable(48) %3) to label %42 unwind label %16 @@ -109926,7 +110011,7 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle to label %24 unwind label %16 42: ; preds = %40 - call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %3), !noalias !29973 + call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %3), !noalias !29979 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %4) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %6, ptr noundef nonnull align 8 dereferenceable(24) %5, i64 24, i1 false) br label %41 @@ -109972,19 +110057,19 @@ define internal fastcc noundef zeroext i1 @"_ZN9html5ever12tree_builder32TreeBui br i1 %18, label %19, label %"_ZN4core3ptr84drop_in_place$LT$string_cache..atom..Atom$LT$markup5ever..LocalNameStaticSet$GT$$GT$17hce00844e8c1e6f00E.exit" 19: ; preds = %14 - %20 = tail call noundef ptr @_ZN4core4sync6atomic11atomic_load17hf6ae17783efc19dfE.llvm.5997636334944773990(ptr noundef nonnull getelementptr inbounds nuw (i8, ptr @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, i64 16), i8 noundef 2), !noalias !29982 + %20 = tail call noundef ptr @_ZN4core4sync6atomic11atomic_load17hf6ae17783efc19dfE.llvm.5997636334944773990(ptr noundef nonnull getelementptr inbounds nuw (i8, ptr @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, i64 16), i8 noundef 2), !noalias !29988 %.not.i.i.i.i11 = icmp eq ptr %20, inttoptr (i64 2 to ptr) br i1 %.not.i.i.i.i11, label %"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h734fc4935bbafb8fE.exit.i.i", label %21 21: ; preds = %19 - tail call void @"_ZN9once_cell3imp17OnceCell$LT$T$GT$10initialize17h2106f0dc51d20ab9E"(ptr noundef nonnull align 8 @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, ptr noundef nonnull align 8 @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E), !noalias !29982 - %22 = load ptr, ptr @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, align 8, !noalias !29982, !noundef !11 + tail call void @"_ZN9once_cell3imp17OnceCell$LT$T$GT$10initialize17h2106f0dc51d20ab9E"(ptr noundef nonnull align 8 @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, ptr noundef nonnull align 8 @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E), !noalias !29988 + %22 = load ptr, ptr @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, align 8, !noalias !29988, !noundef !11 %23 = icmp ne ptr %22, null tail call void @llvm.assume(i1 %23) br label %"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h734fc4935bbafb8fE.exit.i.i" "_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h734fc4935bbafb8fE.exit.i.i": ; preds = %21, %19 - tail call void @_ZN12string_cache11dynamic_set3Set6remove17h358d1c715f07230eE(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, ptr noundef nonnull %15), !noalias !29982 + tail call void @_ZN12string_cache11dynamic_set3Set6remove17h358d1c715f07230eE(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, ptr noundef nonnull %15), !noalias !29988 br label %"_ZN4core3ptr84drop_in_place$LT$string_cache..atom..Atom$LT$markup5ever..LocalNameStaticSet$GT$$GT$17hce00844e8c1e6f00E.exit" "_ZN4core3ptr84drop_in_place$LT$string_cache..atom..Atom$LT$markup5ever..LocalNameStaticSet$GT$$GT$17hce00844e8c1e6f00E.exit": ; preds = %11, %14, %"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h734fc4935bbafb8fE.exit.i.i" @@ -110009,9 +110094,9 @@ define internal fastcc noundef zeroext i1 @"_ZN9html5ever12tree_builder32TreeBui ; Function Attrs: nonlazybind uwtable define internal fastcc noundef i64 @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15pop_until_named17h1b8f8ec416ec6a5eE"(ptr noalias noundef nonnull align 8 dereferenceable(192) %0, i64 noundef range(i64 1, 0) %1) unnamed_addr #0 personality ptr @rust_eh_personality { %3 = alloca [8 x i8], align 8 - tail call void @llvm.experimental.noalias.scope.decl(metadata !29985) + tail call void @llvm.experimental.noalias.scope.decl(metadata !29991) %4 = getelementptr inbounds nuw i8, ptr %0, i64 104 - %5 = load i64, ptr %4, align 8, !alias.scope !29985, !noalias !29988, !noundef !11 + %5 = load i64, ptr %4, align 8, !alias.scope !29991, !noalias !29994, !noundef !11 %6 = icmp eq i64 %5, 0 br i1 %6, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$9pop_until17h5e6f02f81e71dffdE.exit", label %.lr.ph.i @@ -110024,23 +110109,23 @@ define internal fastcc noundef i64 @"_ZN9html5ever12tree_builder32TreeBuilder$LT %10 = phi i64 [ %5, %.lr.ph.i ], [ %39, %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit.i" ] %11 = phi i64 [ 1, %.lr.ph.i ], [ %38, %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit.i" ] %12 = add i64 %10, -1 - store i64 %12, ptr %4, align 8, !alias.scope !29985, !noalias !29988 - %13 = load i64, ptr %7, align 8, !alias.scope !29985, !noalias !29988, !noundef !11 + store i64 %12, ptr %4, align 8, !alias.scope !29991, !noalias !29994 + %13 = load i64, ptr %7, align 8, !alias.scope !29991, !noalias !29994, !noundef !11 %14 = icmp ult i64 %12, %13 call void @llvm.assume(i1 %14) - %15 = load ptr, ptr %8, align 8, !alias.scope !29985, !noalias !29988, !nonnull !11, !noundef !11 + %15 = load ptr, ptr %8, align 8, !alias.scope !29991, !noalias !29994, !nonnull !11, !noundef !11 %16 = getelementptr inbounds ptr, ptr %15, i64 %12 - %17 = load ptr, ptr %16, align 8, !noalias !29988, !nonnull !11, !noundef !11 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3), !noalias !29990 - store ptr %17, ptr %3, align 8, !noalias !29990 + %17 = load ptr, ptr %16, align 8, !noalias !29994, !nonnull !11, !noundef !11 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3), !noalias !29996 + store ptr %17, ptr %3, align 8, !noalias !29996 %18 = invoke { ptr, ptr } @"_ZN91_$LT$markup5ever_rcdom..RcDom$u20$as$u20$markup5ever..interface..tree_builder..TreeSink$GT$9elem_name17h4e753bf026563d2eE"(ptr noalias noundef nonnull readonly align 8 dereferenceable(192) %0, ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %3) - to label %21 unwind label %19, !noalias !29988 + to label %21 unwind label %19, !noalias !29994 19: ; preds = %9 %20 = landingpad { ptr, i32 } cleanup invoke void @"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"(ptr noalias noundef nonnull align 8 dereferenceable(8) %3) #46 - to label %.body unwind label %53, !noalias !29988 + to label %.body unwind label %53, !noalias !29994 21: ; preds = %9 %22 = extractvalue { ptr, ptr } %18, 0 @@ -110050,17 +110135,17 @@ define internal fastcc noundef i64 @"_ZN9html5ever12tree_builder32TreeBuilder$LT "_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15pop_until_named28_$u7b$$u7b$closure$u7d$$u7d$17h14dcc356712ae9d7E.exit.i": ; preds = %21 %24 = extractvalue { ptr, ptr } %18, 1 - %25 = load i64, ptr %24, align 8, !range !3781, !alias.scope !29991, !noundef !11 + %25 = load i64, ptr %24, align 8, !range !3781, !alias.scope !29997, !noundef !11 %26 = icmp eq i64 %25, %1 br i1 %26, label %41, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15pop_until_named28_$u7b$$u7b$closure$u7d$$u7d$17h14dcc356712ae9d7E.exit.thread.i" "_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15pop_until_named28_$u7b$$u7b$closure$u7d$$u7d$17h14dcc356712ae9d7E.exit.thread.i": ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15pop_until_named28_$u7b$$u7b$closure$u7d$$u7d$17h14dcc356712ae9d7E.exit.i", %21 - call void @llvm.experimental.noalias.scope.decl(metadata !29994) - call void @llvm.experimental.noalias.scope.decl(metadata !29997) - %27 = load ptr, ptr %3, align 8, !alias.scope !30000, !noalias !29990, !nonnull !11, !noundef !11 - %28 = load i64, ptr %27, align 8, !noalias !30001, !noundef !11 + call void @llvm.experimental.noalias.scope.decl(metadata !30000) + call void @llvm.experimental.noalias.scope.decl(metadata !30003) + %27 = load ptr, ptr %3, align 8, !alias.scope !30006, !noalias !29996, !nonnull !11, !noundef !11 + %28 = load i64, ptr %27, align 8, !noalias !30007, !noundef !11 %29 = add i64 %28, -1 - store i64 %29, ptr %27, align 8, !noalias !30001 + store i64 %29, ptr %27, align 8, !noalias !30007 %30 = icmp eq i64 %29, 0 br i1 %30, label %31, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit.i" @@ -110071,30 +110156,30 @@ define internal fastcc noundef i64 @"_ZN9html5ever12tree_builder32TreeBuilder$LT .noexc: ; preds = %31 %33 = getelementptr inbounds nuw i8, ptr %27, i64 8 - %34 = load i64, ptr %33, align 8, !noalias !30001, !noundef !11 + %34 = load i64, ptr %33, align 8, !noalias !30007, !noundef !11 %35 = add i64 %34, -1 - store i64 %35, ptr %33, align 8, !noalias !30001 + store i64 %35, ptr %33, align 8, !noalias !30007 %36 = icmp eq i64 %35, 0 br i1 %36, label %37, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit.i" 37: ; preds = %.noexc - call void @__rust_dealloc(ptr noundef nonnull %27, i64 noundef 136, i64 noundef 8) #45, !noalias !30001 + call void @__rust_dealloc(ptr noundef nonnull %27, i64 noundef 136, i64 noundef 8) #45, !noalias !30007 br label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit.i" "_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit.i": ; preds = %37, %.noexc, %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15pop_until_named28_$u7b$$u7b$closure$u7d$$u7d$17h14dcc356712ae9d7E.exit.thread.i" - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3), !noalias !29990 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3), !noalias !29996 %38 = add i64 %11, 1 - %39 = load i64, ptr %4, align 8, !alias.scope !29985, !noalias !29988, !noundef !11 + %39 = load i64, ptr %4, align 8, !alias.scope !29991, !noalias !29994, !noundef !11 %40 = icmp eq i64 %39, 0 br i1 %40, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$9pop_until17h5e6f02f81e71dffdE.exit", label %9 41: ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15pop_until_named28_$u7b$$u7b$closure$u7d$$u7d$17h14dcc356712ae9d7E.exit.i" - call void @llvm.experimental.noalias.scope.decl(metadata !30002) - call void @llvm.experimental.noalias.scope.decl(metadata !30005) - %42 = load ptr, ptr %3, align 8, !alias.scope !30008, !noalias !29990, !nonnull !11, !noundef !11 - %43 = load i64, ptr %42, align 8, !noalias !30009, !noundef !11 + call void @llvm.experimental.noalias.scope.decl(metadata !30008) + call void @llvm.experimental.noalias.scope.decl(metadata !30011) + %42 = load ptr, ptr %3, align 8, !alias.scope !30014, !noalias !29996, !nonnull !11, !noundef !11 + %43 = load i64, ptr %42, align 8, !noalias !30015, !noundef !11 %44 = add i64 %43, -1 - store i64 %44, ptr %42, align 8, !noalias !30009 + store i64 %44, ptr %42, align 8, !noalias !30015 %45 = icmp eq i64 %44, 0 br i1 %45, label %46, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit7.i" @@ -110105,24 +110190,24 @@ define internal fastcc noundef i64 @"_ZN9html5ever12tree_builder32TreeBuilder$LT .noexc2: ; preds = %46 %48 = getelementptr inbounds nuw i8, ptr %42, i64 8 - %49 = load i64, ptr %48, align 8, !noalias !30009, !noundef !11 + %49 = load i64, ptr %48, align 8, !noalias !30015, !noundef !11 %50 = add i64 %49, -1 - store i64 %50, ptr %48, align 8, !noalias !30009 + store i64 %50, ptr %48, align 8, !noalias !30015 %51 = icmp eq i64 %50, 0 br i1 %51, label %52, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit7.i" 52: ; preds = %.noexc2 - call void @__rust_dealloc(ptr noundef nonnull %42, i64 noundef 136, i64 noundef 8) #45, !noalias !30009 + call void @__rust_dealloc(ptr noundef nonnull %42, i64 noundef 136, i64 noundef 8) #45, !noalias !30015 br label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit7.i" "_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit7.i": ; preds = %52, %.noexc2, %41 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3), !noalias !29990 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3), !noalias !29996 br label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$9pop_until17h5e6f02f81e71dffdE.exit" 53: ; preds = %19 %54 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer - call void @_ZN4core9panicking16panic_in_cleanup17hfa05ef7d5107e16aE() #47, !noalias !29988 + call void @_ZN4core9panicking16panic_in_cleanup17hfa05ef7d5107e16aE() #47, !noalias !29994 unreachable .loopexit: ; preds = %31 @@ -110154,19 +110239,19 @@ define internal fastcc noundef i64 @"_ZN9html5ever12tree_builder32TreeBuilder$LT br i1 %62, label %63, label %"_ZN4core3ptr84drop_in_place$LT$string_cache..atom..Atom$LT$markup5ever..LocalNameStaticSet$GT$$GT$17hce00844e8c1e6f00E.exit" 63: ; preds = %58 - %64 = call noundef ptr @_ZN4core4sync6atomic11atomic_load17hf6ae17783efc19dfE.llvm.5997636334944773990(ptr noundef nonnull getelementptr inbounds nuw (i8, ptr @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, i64 16), i8 noundef 2), !noalias !30010 + %64 = call noundef ptr @_ZN4core4sync6atomic11atomic_load17hf6ae17783efc19dfE.llvm.5997636334944773990(ptr noundef nonnull getelementptr inbounds nuw (i8, ptr @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, i64 16), i8 noundef 2), !noalias !30016 %.not.i.i.i.i = icmp eq ptr %64, inttoptr (i64 2 to ptr) br i1 %.not.i.i.i.i, label %"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h734fc4935bbafb8fE.exit.i.i", label %65 65: ; preds = %63 - call void @"_ZN9once_cell3imp17OnceCell$LT$T$GT$10initialize17h2106f0dc51d20ab9E"(ptr noundef nonnull align 8 @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, ptr noundef nonnull align 8 @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E), !noalias !30010 - %66 = load ptr, ptr @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, align 8, !noalias !30010, !noundef !11 + call void @"_ZN9once_cell3imp17OnceCell$LT$T$GT$10initialize17h2106f0dc51d20ab9E"(ptr noundef nonnull align 8 @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, ptr noundef nonnull align 8 @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E), !noalias !30016 + %66 = load ptr, ptr @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, align 8, !noalias !30016, !noundef !11 %67 = icmp ne ptr %66, null call void @llvm.assume(i1 %67) br label %"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h734fc4935bbafb8fE.exit.i.i" "_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h734fc4935bbafb8fE.exit.i.i": ; preds = %65, %63 - call void @_ZN12string_cache11dynamic_set3Set6remove17h358d1c715f07230eE(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, ptr noundef nonnull %59), !noalias !30010 + call void @_ZN12string_cache11dynamic_set3Set6remove17h358d1c715f07230eE(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, ptr noundef nonnull %59), !noalias !30016 br label %"_ZN4core3ptr84drop_in_place$LT$string_cache..atom..Atom$LT$markup5ever..LocalNameStaticSet$GT$$GT$17hce00844e8c1e6f00E.exit" "_ZN4core3ptr84drop_in_place$LT$string_cache..atom..Atom$LT$markup5ever..LocalNameStaticSet$GT$$GT$17hce00844e8c1e6f00E.exit": ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$9pop_until17h5e6f02f81e71dffdE.exit", %58, %"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h734fc4935bbafb8fE.exit.i.i" @@ -110259,24 +110344,24 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle 25: ; preds = %24 %26 = inttoptr i64 %6 to ptr %27 = getelementptr inbounds nuw i8, ptr %26, i64 16 - %28 = atomicrmw sub ptr %27, i64 1 seq_cst, align 8, !noalias !30013 + %28 = atomicrmw sub ptr %27, i64 1 seq_cst, align 8, !noalias !30019 %29 = icmp eq i64 %28, 1 br i1 %29, label %30, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$25adjust_foreign_attributes28_$u7b$$u7b$closure$u7d$$u7d$17hd594ac450168c19dE.exit" 30: ; preds = %25 - %31 = tail call noundef ptr @_ZN4core4sync6atomic11atomic_load17hf6ae17783efc19dfE.llvm.5997636334944773990(ptr noundef nonnull getelementptr inbounds nuw (i8, ptr @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, i64 16), i8 noundef 2), !noalias !30016 + %31 = tail call noundef ptr @_ZN4core4sync6atomic11atomic_load17hf6ae17783efc19dfE.llvm.5997636334944773990(ptr noundef nonnull getelementptr inbounds nuw (i8, ptr @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, i64 16), i8 noundef 2), !noalias !30022 %.not.i.i.i.i.i = icmp eq ptr %31, inttoptr (i64 2 to ptr) br i1 %.not.i.i.i.i.i, label %"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h734fc4935bbafb8fE.exit.i.i.i", label %32 32: ; preds = %30 - tail call void @"_ZN9once_cell3imp17OnceCell$LT$T$GT$10initialize17h2106f0dc51d20ab9E"(ptr noundef nonnull align 8 @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, ptr noundef nonnull align 8 @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E), !noalias !30016 - %33 = load ptr, ptr @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, align 8, !noalias !30016, !noundef !11 + tail call void @"_ZN9once_cell3imp17OnceCell$LT$T$GT$10initialize17h2106f0dc51d20ab9E"(ptr noundef nonnull align 8 @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, ptr noundef nonnull align 8 @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E), !noalias !30022 + %33 = load ptr, ptr @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, align 8, !noalias !30022, !noundef !11 %34 = icmp ne ptr %33, null tail call void @llvm.assume(i1 %34) br label %"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h734fc4935bbafb8fE.exit.i.i.i" "_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h734fc4935bbafb8fE.exit.i.i.i": ; preds = %32, %30 - tail call void @_ZN12string_cache11dynamic_set3Set6remove17h358d1c715f07230eE(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, ptr noundef nonnull %26), !noalias !30016 + tail call void @_ZN12string_cache11dynamic_set3Set6remove17h358d1c715f07230eE(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, ptr noundef nonnull %26), !noalias !30022 br label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$25adjust_foreign_attributes28_$u7b$$u7b$closure$u7d$$u7d$17hd594ac450168c19dE.exit" 35: ; preds = %23, %22, %21, %20, %19, %18, %17, %16, %15, %14, %13 @@ -110307,83 +110392,6 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle br i1 %39, label %"_ZN94_$LT$core..slice..iter..IterMut$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0cd7f7379fd9c4afE.exit.thread", label %"_ZN94_$LT$core..slice..iter..IterMut$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0cd7f7379fd9c4afE.exit" } -; Function Attrs: nonlazybind uwtable -define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17adjust_attributes17h50df9ac8f3cd404dE"(ptr %.8.val, i64 %.16.val) unnamed_addr #0 personality ptr @rust_eh_personality { - %1 = icmp ne ptr %.8.val, null - tail call void @llvm.assume(i1 %1) - %2 = getelementptr inbounds { { i64, i64, i64 }, { i64, { { [2 x i32] } }, {}, {} } }, ptr %.8.val, i64 %.16.val - %3 = icmp eq i64 %.16.val, 0 - br i1 %3, label %"_ZN94_$LT$core..slice..iter..IterMut$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0cd7f7379fd9c4afE.exit.thread", label %"_ZN94_$LT$core..slice..iter..IterMut$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0cd7f7379fd9c4afE.exit" - -"_ZN94_$LT$core..slice..iter..IterMut$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0cd7f7379fd9c4afE.exit": ; preds = %0, %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$24adjust_mathml_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h1edf363c9eff4177E.exit.thread" - %.sroa.0.013 = phi ptr [ %4, %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$24adjust_mathml_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h1edf363c9eff4177E.exit.thread" ], [ %.8.val, %0 ] - %4 = getelementptr inbounds nuw i8, ptr %.sroa.0.013, i64 40 - %5 = getelementptr inbounds nuw i8, ptr %.sroa.0.013, i64 8 - %6 = load i64, ptr %5, align 8, !range !3781, !noundef !11 - %7 = and i64 %6, 3 - %8 = icmp eq i64 %7, 0 - br i1 %8, label %9, label %.thread - -"_ZN94_$LT$core..slice..iter..IterMut$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0cd7f7379fd9c4afE.exit.thread": ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$24adjust_mathml_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h1edf363c9eff4177E.exit.thread", %0 - ret void - -9: ; preds = %"_ZN94_$LT$core..slice..iter..IterMut$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0cd7f7379fd9c4afE.exit" - %10 = inttoptr i64 %6 to ptr - %11 = getelementptr inbounds nuw i8, ptr %10, i64 16 - %12 = atomicrmw add ptr %11, i64 1 seq_cst, align 8 - %13 = icmp eq i64 %6, 3818225926146 - br i1 %13, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$24adjust_mathml_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h1edf363c9eff4177E.exit", label %15 - -.thread: ; preds = %"_ZN94_$LT$core..slice..iter..IterMut$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0cd7f7379fd9c4afE.exit" - %14 = icmp eq i64 %6, 3818225926146 - br i1 %14, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$24adjust_mathml_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h1edf363c9eff4177E.exit", label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$24adjust_mathml_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h1edf363c9eff4177E.exit.thread" - -15: ; preds = %9 - %16 = atomicrmw sub ptr %11, i64 1 seq_cst, align 8, !noalias !30019 - %17 = icmp eq i64 %16, 1 - br i1 %17, label %18, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$24adjust_mathml_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h1edf363c9eff4177E.exit.thread" - -18: ; preds = %15 - %19 = tail call noundef ptr @_ZN4core4sync6atomic11atomic_load17hf6ae17783efc19dfE.llvm.5997636334944773990(ptr noundef nonnull getelementptr inbounds nuw (i8, ptr @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, i64 16), i8 noundef 2), !noalias !30022 - %.not.i.i.i.i.i = icmp eq ptr %19, inttoptr (i64 2 to ptr) - br i1 %.not.i.i.i.i.i, label %"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h734fc4935bbafb8fE.exit.i.i.i", label %20 - -20: ; preds = %18 - tail call void @"_ZN9once_cell3imp17OnceCell$LT$T$GT$10initialize17h2106f0dc51d20ab9E"(ptr noundef nonnull align 8 @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, ptr noundef nonnull align 8 @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E), !noalias !30022 - %21 = load ptr, ptr @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, align 8, !noalias !30022, !noundef !11 - %22 = icmp ne ptr %21, null - tail call void @llvm.assume(i1 %22) - br label %"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h734fc4935bbafb8fE.exit.i.i.i" - -"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h734fc4935bbafb8fE.exit.i.i.i": ; preds = %20, %18 - tail call void @_ZN12string_cache11dynamic_set3Set6remove17h358d1c715f07230eE(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, ptr noundef nonnull %10), !noalias !30022 - br label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$24adjust_mathml_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h1edf363c9eff4177E.exit.thread" - -"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$24adjust_mathml_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h1edf363c9eff4177E.exit": ; preds = %9, %.thread - invoke void @"_ZN4core3ptr53drop_in_place$LT$markup5ever..interface..QualName$GT$17h8527fdd7f8dc260bE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %.sroa.0.013) - to label %25 unwind label %23 - -23: ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$24adjust_mathml_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h1edf363c9eff4177E.exit" - %24 = landingpad { ptr, i32 } - cleanup - store i64 25769803778, ptr %.sroa.0.013, align 8 - store i64 4655744548866, ptr %5, align 8 - %.sroa.4.0..sroa.0.0.i.sroa_idx = getelementptr inbounds nuw i8, ptr %.sroa.0.013, i64 16 - store i64 0, ptr %.sroa.4.0..sroa.0.0.i.sroa_idx, align 8 - resume { ptr, i32 } %24 - -25: ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$24adjust_mathml_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h1edf363c9eff4177E.exit" - store i64 25769803778, ptr %.sroa.0.013, align 8 - store i64 4655744548866, ptr %5, align 8 - %.sroa.4.0..sroa.0.0.i.sroa_idx6 = getelementptr inbounds nuw i8, ptr %.sroa.0.013, i64 16 - store i64 0, ptr %.sroa.4.0..sroa.0.0.i.sroa_idx6, align 8 - br label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$24adjust_mathml_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h1edf363c9eff4177E.exit.thread" - -"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$24adjust_mathml_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h1edf363c9eff4177E.exit.thread": ; preds = %.thread, %15, %"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h734fc4935bbafb8fE.exit.i.i.i", %25 - %26 = icmp eq ptr %4, %2 - br i1 %26, label %"_ZN94_$LT$core..slice..iter..IterMut$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0cd7f7379fd9c4afE.exit.thread", label %"_ZN94_$LT$core..slice..iter..IterMut$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0cd7f7379fd9c4afE.exit" -} - ; Function Attrs: nonlazybind uwtable define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17adjust_attributes17h7713f6a293cecb65E"(ptr %.8.val, i64 %.16.val) unnamed_addr #0 personality ptr @rust_eh_personality { %1 = icmp ne ptr %.8.val, null @@ -110731,7 +110739,7 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle .thread: ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$21adjusted_current_node17h9d1593fe536dd04aE.llvm.16595843094761361803.exit", %14 %20 = landingpad { ptr, i32 } cleanup - br label %.thread27 + br label %.thread34 "_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$21adjusted_current_node17h9d1593fe536dd04aE.llvm.16595843094761361803.exit": ; preds = %15, %3 %.sroa.0.0.i = phi ptr [ %19, %15 ], [ %10, %3 ] @@ -110753,289 +110761,361 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle 31: ; preds = %22, %27 store i64 %24, ptr %6, align 8 - switch i64 %24, label %._crit_edge [ - i64 4294967298, label %33 - i64 17179869186, label %36 + switch i64 %24, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17adjust_attributes17h50df9ac8f3cd404dE.exit" [ + i64 4294967298, label %34 + i64 17179869186, label %59 ] -._crit_edge: ; preds = %31 - %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %2, i64 8 - %.val6.pre = load ptr, ptr %.phi.trans.insert, align 8 - %.phi.trans.insert31 = getelementptr inbounds nuw i8, ptr %2, i64 16 - %.val7.pre = load i64, ptr %.phi.trans.insert31, align 8 - br label %32 - -32: ; preds = %._crit_edge, %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$19adjust_svg_tag_name17ha0c4fde1873b5d6cE.exit", %33 - %.val7 = phi i64 [ %.val7.pre, %._crit_edge ], [ %.val11, %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$19adjust_svg_tag_name17ha0c4fde1873b5d6cE.exit" ], [ %.val9, %33 ] - %.val6 = phi ptr [ %.val6.pre, %._crit_edge ], [ %.val10, %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$19adjust_svg_tag_name17ha0c4fde1873b5d6cE.exit" ], [ %.val8, %33 ] +"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17adjust_attributes17h50df9ac8f3cd404dE.exit": ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$24adjust_mathml_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h1edf363c9eff4177E.exit.thread.i", %34, %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$19adjust_svg_tag_name17ha0c4fde1873b5d6cE.exit", %31 + %32 = getelementptr inbounds nuw i8, ptr %2, i64 8 + %.val6 = load ptr, ptr %32, align 8, !nonnull !11, !noundef !11 + %33 = getelementptr inbounds nuw i8, ptr %2, i64 16 + %.val7 = load i64, ptr %33, align 8, !noundef !11 invoke fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17adjust_attributes17h101d483d08435de5E"(ptr nonnull %.val6, i64 %.val7) - to label %77 unwind label %103 + to label %100 unwind label %.body.thread27.loopexit.split-lp -33: ; preds = %31 - %34 = getelementptr inbounds nuw i8, ptr %2, i64 8 - %.val8 = load ptr, ptr %34, align 8, !nonnull !11, !noundef !11 - %35 = getelementptr inbounds nuw i8, ptr %2, i64 16 - %.val9 = load i64, ptr %35, align 8, !noundef !11 - invoke fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17adjust_attributes17h50df9ac8f3cd404dE"(ptr nonnull %.val8, i64 %.val9) - to label %32 unwind label %103 +34: ; preds = %31 + %35 = getelementptr inbounds nuw i8, ptr %2, i64 8 + %.val8 = load ptr, ptr %35, align 8, !nonnull !11, !noundef !11 + %36 = getelementptr inbounds nuw i8, ptr %2, i64 16 + %.val9 = load i64, ptr %36, align 8, !noundef !11 + %37 = getelementptr inbounds { { i64, i64, i64 }, { i64, { { [2 x i32] } }, {}, {} } }, ptr %.val8, i64 %.val9 + %38 = icmp eq i64 %.val9, 0 + br i1 %38, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17adjust_attributes17h50df9ac8f3cd404dE.exit", label %"_ZN94_$LT$core..slice..iter..IterMut$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0cd7f7379fd9c4afE.exit.i" + +"_ZN94_$LT$core..slice..iter..IterMut$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0cd7f7379fd9c4afE.exit.i": ; preds = %34, %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$24adjust_mathml_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h1edf363c9eff4177E.exit.thread.i" + %.sroa.0.013.i = phi ptr [ %39, %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$24adjust_mathml_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h1edf363c9eff4177E.exit.thread.i" ], [ %.val8, %34 ] + %39 = getelementptr inbounds nuw i8, ptr %.sroa.0.013.i, i64 40 + %40 = getelementptr inbounds nuw i8, ptr %.sroa.0.013.i, i64 8 + %41 = load i64, ptr %40, align 8, !range !3781, !noundef !11 + %42 = and i64 %41, 3 + %43 = icmp eq i64 %42, 0 + br i1 %43, label %44, label %.thread.i -36: ; preds = %31 - %37 = getelementptr inbounds nuw i8, ptr %2, i64 24 - %38 = load i64, ptr %37, align 8, !alias.scope !30034, !noundef !11 - switch i64 %38, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$19adjust_svg_tag_name17ha0c4fde1873b5d6cE.exit" [ +44: ; preds = %"_ZN94_$LT$core..slice..iter..IterMut$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0cd7f7379fd9c4afE.exit.i" + %45 = inttoptr i64 %41 to ptr + %46 = getelementptr inbounds nuw i8, ptr %45, i64 16 + %47 = atomicrmw add ptr %46, i64 1 seq_cst, align 8 + %48 = atomicrmw sub ptr %46, i64 1 seq_cst, align 8, !noalias !30034 + %49 = icmp eq i64 %48, 1 + br i1 %49, label %51, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$24adjust_mathml_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h1edf363c9eff4177E.exit.thread.i" + +.thread.i: ; preds = %"_ZN94_$LT$core..slice..iter..IterMut$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0cd7f7379fd9c4afE.exit.i" + %50 = icmp eq i64 %41, 3818225926146 + br i1 %50, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$24adjust_mathml_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h1edf363c9eff4177E.exit.i", label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$24adjust_mathml_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h1edf363c9eff4177E.exit.thread.i" + +51: ; preds = %44 + %52 = invoke noundef ptr @_ZN4core4sync6atomic11atomic_load17hf6ae17783efc19dfE.llvm.5997636334944773990(ptr noundef nonnull getelementptr inbounds nuw (i8, ptr @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, i64 16), i8 noundef 2) + to label %.noexc12 unwind label %.body.thread27.loopexit + +.noexc12: ; preds = %51 + %.not.i.i.i.i.i.i = icmp eq ptr %52, inttoptr (i64 2 to ptr) + br i1 %.not.i.i.i.i.i.i, label %"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h734fc4935bbafb8fE.exit.i.i.i.i", label %53 + +53: ; preds = %.noexc12 + invoke void @"_ZN9once_cell3imp17OnceCell$LT$T$GT$10initialize17h2106f0dc51d20ab9E"(ptr noundef nonnull align 8 @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, ptr noundef nonnull align 8 @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E) + to label %.noexc13 unwind label %.body.thread27.loopexit + +.noexc13: ; preds = %53 + %54 = load ptr, ptr @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, align 8, !noalias !30037, !noundef !11 + %55 = icmp ne ptr %54, null + tail call void @llvm.assume(i1 %55) + br label %"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h734fc4935bbafb8fE.exit.i.i.i.i" + +"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h734fc4935bbafb8fE.exit.i.i.i.i": ; preds = %.noexc13, %.noexc12 + invoke void @_ZN12string_cache11dynamic_set3Set6remove17h358d1c715f07230eE(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, ptr noundef nonnull %45) + to label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$24adjust_mathml_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h1edf363c9eff4177E.exit.thread.i" unwind label %.body.thread27.loopexit + +"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$24adjust_mathml_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h1edf363c9eff4177E.exit.i": ; preds = %.thread.i + invoke void @"_ZN4core3ptr53drop_in_place$LT$markup5ever..interface..QualName$GT$17h8527fdd7f8dc260bE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %.sroa.0.013.i) + to label %57 unwind label %.body.thread + +.body.thread: ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$24adjust_mathml_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h1edf363c9eff4177E.exit.i" + %56 = landingpad { ptr, i32 } + cleanup + store i64 25769803778, ptr %.sroa.0.013.i, align 8 + store i64 4655744548866, ptr %40, align 8 + %.sroa.4.0..sroa.0.0.i.sroa_idx.i = getelementptr inbounds nuw i8, ptr %.sroa.0.013.i, i64 16 + store i64 0, ptr %.sroa.4.0..sroa.0.0.i.sroa_idx.i, align 8 + br label %.body.thread27 + +57: ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$24adjust_mathml_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h1edf363c9eff4177E.exit.i" + store i64 25769803778, ptr %.sroa.0.013.i, align 8 + store i64 4655744548866, ptr %40, align 8 + %.sroa.4.0..sroa.0.0.i.sroa_idx6.i = getelementptr inbounds nuw i8, ptr %.sroa.0.013.i, i64 16 + store i64 0, ptr %.sroa.4.0..sroa.0.0.i.sroa_idx6.i, align 8 + br label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$24adjust_mathml_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h1edf363c9eff4177E.exit.thread.i" + +"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$24adjust_mathml_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h1edf363c9eff4177E.exit.thread.i": ; preds = %"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h734fc4935bbafb8fE.exit.i.i.i.i", %57, %.thread.i, %44 + %58 = icmp eq ptr %39, %37 + br i1 %58, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17adjust_attributes17h50df9ac8f3cd404dE.exit", label %"_ZN94_$LT$core..slice..iter..IterMut$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0cd7f7379fd9c4afE.exit.i" + +59: ; preds = %31 + %60 = getelementptr inbounds nuw i8, ptr %2, i64 24 + %61 = load i64, ptr %60, align 8, !alias.scope !30040, !noundef !11 + switch i64 %61, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$19adjust_svg_tag_name17ha0c4fde1873b5d6cE.exit" [ i64 455266533378, label %.sink.split.i - i64 2126008811522, label %39 - i64 4518305595394, label %40 - i64 2615635083266, label %41 - i64 3040836845570, label %42 - i64 2521145802754, label %43 - i64 51539607554, label %44 - i64 2838973382658, label %45 - i64 3629247365122, label %46 - i64 4080218931202, label %47 - i64 528280977410, label %48 - i64 1198295875586, label %49 - i64 605590388738, label %50 - i64 747324309506, label %51 - i64 3466038607874, label %52 - i64 1262720385026, label %53 - i64 2869038153730, label %54 - i64 356482285570, label %55 - i64 2186138353666, label %56 - i64 4282082394114, label %57 - i64 3393024163842, label %58 - i64 3745211482114, label %59 - i64 1391569403906, label %60 - i64 3655017168898, label %61 - i64 2138893713410, label %62 - i64 4209067950082, label %63 - i64 1000727379970, label %64 - i64 2942052597762, label %65 - i64 4754528796674, label %66 - i64 4067334029314, label %67 - i64 828928688130, label %68 - i64 1610612736002, label %69 - i64 3732326580226, label %70 - i64 2332167241730, label %71 - i64 2100239007746, label %72 - i64 485331304450, label %73 - i64 597000454146, label %74 + i64 2126008811522, label %62 + i64 4518305595394, label %63 + i64 2615635083266, label %64 + i64 3040836845570, label %65 + i64 2521145802754, label %66 + i64 51539607554, label %67 + i64 2838973382658, label %68 + i64 3629247365122, label %69 + i64 4080218931202, label %70 + i64 528280977410, label %71 + i64 1198295875586, label %72 + i64 605590388738, label %73 + i64 747324309506, label %74 + i64 3466038607874, label %75 + i64 1262720385026, label %76 + i64 2869038153730, label %77 + i64 356482285570, label %78 + i64 2186138353666, label %79 + i64 4282082394114, label %80 + i64 3393024163842, label %81 + i64 3745211482114, label %82 + i64 1391569403906, label %83 + i64 3655017168898, label %84 + i64 2138893713410, label %85 + i64 4209067950082, label %86 + i64 1000727379970, label %87 + i64 2942052597762, label %88 + i64 4754528796674, label %89 + i64 4067334029314, label %90 + i64 828928688130, label %91 + i64 1610612736002, label %92 + i64 3732326580226, label %93 + i64 2332167241730, label %94 + i64 2100239007746, label %95 + i64 485331304450, label %96 + i64 597000454146, label %97 ] -.sink.split.i: ; preds = %74, %73, %72, %71, %70, %69, %68, %67, %66, %65, %64, %63, %62, %61, %60, %59, %58, %57, %56, %55, %54, %53, %52, %51, %50, %49, %48, %47, %46, %45, %44, %43, %42, %41, %40, %39, %36 - %.sink.i = phi i64 [ 3792456122370, %74 ], [ 1073741824002, %73 ], [ 3770981285890, %72 ], [ 3139621093378, %71 ], [ 1194000908290, %70 ], [ 3358664425474, %69 ], [ 1915555414018, %68 ], [ 515396075522, %67 ], [ 412316860418, %66 ], [ 3594887626754, %65 ], [ 584115552258, %64 ], [ 2645699854338, %63 ], [ 1125281431554, %62 ], [ 4402341478402, %61 ], [ 2211908157442, %60 ], [ 4213362917378, %59 ], [ 1133871366146, %58 ], [ 4685809319938, %57 ], [ 2594160246786, %56 ], [ 4625679777794, %55 ], [ 1404454305794, %54 ], [ 927712935938, %53 ], [ 1885490642946, %52 ], [ 335007449090, %51 ], [ 3066606649346, %50 ], [ 3332894621698, %49 ], [ 3435973836802, %48 ], [ 1056561954818, %47 ], [ 1035087118338, %46 ], [ 4857608011778, %45 ], [ 3371549327362, %44 ], [ 1224065679362, %43 ], [ 3161095929858, %42 ], [ 2074469203970, %41 ], [ 1181116006402, %40 ], [ 4733053960194, %39 ], [ 4359391805442, %36 ] - store i64 %.sink.i, ptr %37, align 8, !alias.scope !30034 +.sink.split.i: ; preds = %97, %96, %95, %94, %93, %92, %91, %90, %89, %88, %87, %86, %85, %84, %83, %82, %81, %80, %79, %78, %77, %76, %75, %74, %73, %72, %71, %70, %69, %68, %67, %66, %65, %64, %63, %62, %59 + %.sink.i = phi i64 [ 3792456122370, %97 ], [ 1073741824002, %96 ], [ 3770981285890, %95 ], [ 3139621093378, %94 ], [ 1194000908290, %93 ], [ 3358664425474, %92 ], [ 1915555414018, %91 ], [ 515396075522, %90 ], [ 412316860418, %89 ], [ 3594887626754, %88 ], [ 584115552258, %87 ], [ 2645699854338, %86 ], [ 1125281431554, %85 ], [ 4402341478402, %84 ], [ 2211908157442, %83 ], [ 4213362917378, %82 ], [ 1133871366146, %81 ], [ 4685809319938, %80 ], [ 2594160246786, %79 ], [ 4625679777794, %78 ], [ 1404454305794, %77 ], [ 927712935938, %76 ], [ 1885490642946, %75 ], [ 335007449090, %74 ], [ 3066606649346, %73 ], [ 3332894621698, %72 ], [ 3435973836802, %71 ], [ 1056561954818, %70 ], [ 1035087118338, %69 ], [ 4857608011778, %68 ], [ 3371549327362, %67 ], [ 1224065679362, %66 ], [ 3161095929858, %65 ], [ 2074469203970, %64 ], [ 1181116006402, %63 ], [ 4733053960194, %62 ], [ 4359391805442, %59 ] + store i64 %.sink.i, ptr %60, align 8, !alias.scope !30040 br label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$19adjust_svg_tag_name17ha0c4fde1873b5d6cE.exit" -39: ; preds = %36 +62: ; preds = %59 br label %.sink.split.i -40: ; preds = %36 +63: ; preds = %59 br label %.sink.split.i -41: ; preds = %36 +64: ; preds = %59 br label %.sink.split.i -42: ; preds = %36 +65: ; preds = %59 br label %.sink.split.i -43: ; preds = %36 +66: ; preds = %59 br label %.sink.split.i -44: ; preds = %36 +67: ; preds = %59 br label %.sink.split.i -45: ; preds = %36 +68: ; preds = %59 br label %.sink.split.i -46: ; preds = %36 +69: ; preds = %59 br label %.sink.split.i -47: ; preds = %36 +70: ; preds = %59 br label %.sink.split.i -48: ; preds = %36 +71: ; preds = %59 br label %.sink.split.i -49: ; preds = %36 +72: ; preds = %59 br label %.sink.split.i -50: ; preds = %36 +73: ; preds = %59 br label %.sink.split.i -51: ; preds = %36 +74: ; preds = %59 br label %.sink.split.i -52: ; preds = %36 +75: ; preds = %59 br label %.sink.split.i -53: ; preds = %36 +76: ; preds = %59 br label %.sink.split.i -54: ; preds = %36 +77: ; preds = %59 br label %.sink.split.i -55: ; preds = %36 +78: ; preds = %59 br label %.sink.split.i -56: ; preds = %36 +79: ; preds = %59 br label %.sink.split.i -57: ; preds = %36 +80: ; preds = %59 br label %.sink.split.i -58: ; preds = %36 +81: ; preds = %59 br label %.sink.split.i -59: ; preds = %36 +82: ; preds = %59 br label %.sink.split.i -60: ; preds = %36 +83: ; preds = %59 br label %.sink.split.i -61: ; preds = %36 +84: ; preds = %59 br label %.sink.split.i -62: ; preds = %36 +85: ; preds = %59 br label %.sink.split.i -63: ; preds = %36 +86: ; preds = %59 br label %.sink.split.i -64: ; preds = %36 +87: ; preds = %59 br label %.sink.split.i -65: ; preds = %36 +88: ; preds = %59 br label %.sink.split.i -66: ; preds = %36 +89: ; preds = %59 br label %.sink.split.i -67: ; preds = %36 +90: ; preds = %59 br label %.sink.split.i -68: ; preds = %36 +91: ; preds = %59 br label %.sink.split.i -69: ; preds = %36 +92: ; preds = %59 br label %.sink.split.i -70: ; preds = %36 +93: ; preds = %59 br label %.sink.split.i -71: ; preds = %36 +94: ; preds = %59 br label %.sink.split.i -72: ; preds = %36 +95: ; preds = %59 br label %.sink.split.i -73: ; preds = %36 +96: ; preds = %59 br label %.sink.split.i -74: ; preds = %36 +97: ; preds = %59 br label %.sink.split.i -"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$19adjust_svg_tag_name17ha0c4fde1873b5d6cE.exit": ; preds = %.sink.split.i, %36 - %75 = getelementptr inbounds nuw i8, ptr %2, i64 8 - %.val10 = load ptr, ptr %75, align 8, !nonnull !11, !noundef !11 - %76 = getelementptr inbounds nuw i8, ptr %2, i64 16 - %.val11 = load i64, ptr %76, align 8, !noundef !11 +.body.thread27.loopexit: ; preds = %"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h734fc4935bbafb8fE.exit.i.i.i.i", %53, %51 + %lpad.loopexit = landingpad { ptr, i32 } + cleanup + br label %.body.thread27 + +.body.thread27.loopexit.split-lp: ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$19adjust_svg_tag_name17ha0c4fde1873b5d6cE.exit", %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17adjust_attributes17h50df9ac8f3cd404dE.exit" + %lpad.loopexit.split-lp = landingpad { ptr, i32 } + cleanup + br label %.body.thread27 + +"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$19adjust_svg_tag_name17ha0c4fde1873b5d6cE.exit": ; preds = %.sink.split.i, %59 + %98 = getelementptr inbounds nuw i8, ptr %2, i64 8 + %.val10 = load ptr, ptr %98, align 8, !nonnull !11, !noundef !11 + %99 = getelementptr inbounds nuw i8, ptr %2, i64 16 + %.val11 = load i64, ptr %99, align 8, !noundef !11 invoke fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17adjust_attributes17h7713f6a293cecb65E"(ptr nonnull %.val10, i64 %.val11) - to label %32 unwind label %103 + to label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17adjust_attributes17h50df9ac8f3cd404dE.exit" unwind label %.body.thread27.loopexit.split-lp -77: ; preds = %32 - %78 = getelementptr inbounds nuw i8, ptr %2, i64 33 - %79 = load i8, ptr %78, align 1, !range !376, !noundef !11 - %80 = trunc nuw i8 %79 to i1 - %81 = getelementptr inbounds nuw i8, ptr %2, i64 24 - %82 = load i64, ptr %81, align 8, !range !3781, !noundef !11 - br i1 %80, label %88, label %83 +100: ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17adjust_attributes17h50df9ac8f3cd404dE.exit" + %101 = getelementptr inbounds nuw i8, ptr %2, i64 33 + %102 = load i8, ptr %101, align 1, !range !376, !noundef !11 + %103 = trunc nuw i8 %102 to i1 + %104 = getelementptr inbounds nuw i8, ptr %2, i64 24 + %105 = load i64, ptr %104, align 8, !range !3781, !noundef !11 + br i1 %103, label %111, label %106 -83: ; preds = %77 +106: ; preds = %100 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %4) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %4, ptr noundef nonnull align 8 dereferenceable(24) %2, i64 24, i1 false) - %84 = call fastcc noundef nonnull ptr @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14insert_element17h541e4d2324303302E"(ptr noalias noundef align 8 dereferenceable(192) %1, i1 noundef zeroext false, i64 noundef %24, i64 noundef %82, ptr noalias noundef align 8 captures(none) dereferenceable(24) %4) + %107 = call fastcc noundef nonnull ptr @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14insert_element17h541e4d2324303302E"(ptr noalias noundef align 8 dereferenceable(192) %1, i1 noundef zeroext false, i64 noundef %24, i64 noundef %105, ptr noalias noundef align 8 captures(none) dereferenceable(24) %4) call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4) - %85 = load i64, ptr %84, align 8, !noalias !30037, !noundef !11 - %86 = add i64 %85, -1 - store i64 %86, ptr %84, align 8, !noalias !30037 - %87 = icmp eq i64 %86, 0 - br i1 %87, label %.noexc12, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit" + %108 = load i64, ptr %107, align 8, !noalias !30043, !noundef !11 + %109 = add i64 %108, -1 + store i64 %109, ptr %107, align 8, !noalias !30043 + %110 = icmp eq i64 %109, 0 + br i1 %110, label %.noexc15, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit" -88: ; preds = %77 +111: ; preds = %100 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %5) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(24) %2, i64 24, i1 false) - %89 = call fastcc noundef nonnull ptr @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14insert_element17h541e4d2324303302E"(ptr noalias noundef align 8 dereferenceable(192) %1, i1 noundef zeroext true, i64 noundef %24, i64 noundef %82, ptr noalias noundef align 8 captures(none) dereferenceable(24) %5) + %112 = call fastcc noundef nonnull ptr @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$14insert_element17h541e4d2324303302E"(ptr noalias noundef align 8 dereferenceable(192) %1, i1 noundef zeroext true, i64 noundef %24, i64 noundef %105, ptr noalias noundef align 8 captures(none) dereferenceable(24) %5) call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %5) - %90 = load i64, ptr %89, align 8, !noalias !30042, !noundef !11 - %91 = add i64 %90, -1 - store i64 %91, ptr %89, align 8, !noalias !30042 - %92 = icmp eq i64 %91, 0 - br i1 %92, label %.noexc13, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit" - -.noexc12: ; preds = %83 - %93 = getelementptr inbounds nuw i8, ptr %84, i64 16 - tail call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17h1739d7a806ebb2d8E.llvm.13361645166614471590"(ptr noalias noundef nonnull align 8 dereferenceable(120) %93) - %94 = getelementptr inbounds nuw i8, ptr %84, i64 8 - %95 = load i64, ptr %94, align 8, !noalias !30037, !noundef !11 - %96 = add i64 %95, -1 - store i64 %96, ptr %94, align 8, !noalias !30037 - %97 = icmp eq i64 %96, 0 - br i1 %97, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit.sink.split", label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit" - -"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit.sink.split": ; preds = %.noexc12, %.noexc13 - %.sink = phi ptr [ %89, %.noexc13 ], [ %84, %.noexc12 ] - %storemerge.ph = phi i64 [ -9223372036854775803, %.noexc13 ], [ -9223372036854775804, %.noexc12 ] + %113 = load i64, ptr %112, align 8, !noalias !30048, !noundef !11 + %114 = add i64 %113, -1 + store i64 %114, ptr %112, align 8, !noalias !30048 + %115 = icmp eq i64 %114, 0 + br i1 %115, label %.noexc16, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit" + +.noexc15: ; preds = %106 + %116 = getelementptr inbounds nuw i8, ptr %107, i64 16 + tail call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17h1739d7a806ebb2d8E.llvm.13361645166614471590"(ptr noalias noundef nonnull align 8 dereferenceable(120) %116) + %117 = getelementptr inbounds nuw i8, ptr %107, i64 8 + %118 = load i64, ptr %117, align 8, !noalias !30043, !noundef !11 + %119 = add i64 %118, -1 + store i64 %119, ptr %117, align 8, !noalias !30043 + %120 = icmp eq i64 %119, 0 + br i1 %120, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit.sink.split", label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit" + +"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit.sink.split": ; preds = %.noexc15, %.noexc16 + %.sink = phi ptr [ %112, %.noexc16 ], [ %107, %.noexc15 ] + %storemerge.ph = phi i64 [ -9223372036854775803, %.noexc16 ], [ -9223372036854775804, %.noexc15 ] tail call void @__rust_dealloc(ptr noundef nonnull %.sink, i64 noundef 136, i64 noundef 8) #45, !noalias !11 br label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit" -"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit": ; preds = %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit.sink.split", %88, %.noexc13, %83, %.noexc12 - %storemerge = phi i64 [ -9223372036854775804, %.noexc12 ], [ -9223372036854775804, %83 ], [ -9223372036854775803, %.noexc13 ], [ -9223372036854775803, %88 ], [ %storemerge.ph, %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit.sink.split" ] +"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit": ; preds = %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit.sink.split", %111, %.noexc16, %106, %.noexc15 + %storemerge = phi i64 [ -9223372036854775804, %.noexc15 ], [ -9223372036854775804, %106 ], [ -9223372036854775803, %.noexc16 ], [ -9223372036854775803, %111 ], [ %storemerge.ph, %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit.sink.split" ] store i64 %storemerge, ptr %0, align 8 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %6) ret void -.noexc13: ; preds = %88 - %98 = getelementptr inbounds nuw i8, ptr %89, i64 16 - tail call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17h1739d7a806ebb2d8E.llvm.13361645166614471590"(ptr noalias noundef nonnull align 8 dereferenceable(120) %98) - %99 = getelementptr inbounds nuw i8, ptr %89, i64 8 - %100 = load i64, ptr %99, align 8, !noalias !30042, !noundef !11 - %101 = add i64 %100, -1 - store i64 %101, ptr %99, align 8, !noalias !30042 - %102 = icmp eq i64 %101, 0 - br i1 %102, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit.sink.split", label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit" +.noexc16: ; preds = %111 + %121 = getelementptr inbounds nuw i8, ptr %112, i64 16 + tail call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17h1739d7a806ebb2d8E.llvm.13361645166614471590"(ptr noalias noundef nonnull align 8 dereferenceable(120) %121) + %122 = getelementptr inbounds nuw i8, ptr %112, i64 8 + %123 = load i64, ptr %122, align 8, !noalias !30048, !noundef !11 + %124 = add i64 %123, -1 + store i64 %124, ptr %122, align 8, !noalias !30048 + %125 = icmp eq i64 %124, 0 + br i1 %125, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit.sink.split", label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit" -103: ; preds = %32, %33, %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$19adjust_svg_tag_name17ha0c4fde1873b5d6cE.exit" - %lpad.thr_comm.split-lp = landingpad { ptr, i32 } - cleanup +.body.thread27: ; preds = %.body.thread27.loopexit, %.body.thread27.loopexit.split-lp, %.body.thread + %eh.lpad-body26 = phi { ptr, i32 } [ %56, %.body.thread ], [ %lpad.loopexit, %.body.thread27.loopexit ], [ %lpad.loopexit.split-lp, %.body.thread27.loopexit.split-lp ] invoke void @"_ZN4core3ptr84drop_in_place$LT$string_cache..atom..Atom$LT$markup5ever..NamespaceStaticSet$GT$$GT$17h6a0fa63a3c9981d9E.llvm.16595843094761361803"(ptr noalias noundef nonnull align 8 dereferenceable(8) %6) #46 - to label %.thread27 unwind label %104 + to label %.thread34 unwind label %126 -104: ; preds = %.thread27, %.thread23, %103 - %105 = landingpad { ptr, i32 } +126: ; preds = %.thread34, %.thread30, %.body.thread27 + %127 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer tail call void @_ZN4core9panicking16panic_in_cleanup17hfa05ef7d5107e16aE() #47 unreachable -.thread27: ; preds = %103, %.thread - %.pn19 = phi { ptr, i32 } [ %20, %.thread ], [ %lpad.thr_comm.split-lp, %103 ] - %106 = getelementptr inbounds nuw i8, ptr %2, i64 24 - %.val = load i64, ptr %106, align 8, !range !3781, !noundef !11 +.thread34: ; preds = %.body.thread27, %.thread + %.pn22 = phi { ptr, i32 } [ %20, %.thread ], [ %eh.lpad-body26, %.body.thread27 ] + %128 = getelementptr inbounds nuw i8, ptr %2, i64 24 + %.val = load i64, ptr %128, align 8, !range !3781, !noundef !11 invoke fastcc void @"_ZN4core3ptr84drop_in_place$LT$string_cache..atom..Atom$LT$markup5ever..LocalNameStaticSet$GT$$GT$17hce00844e8c1e6f00E"(i64 %.val) #46 - to label %.thread23 unwind label %104 + to label %.thread30 unwind label %126 -107: ; preds = %.thread23 - resume { ptr, i32 } %.pn19 +129: ; preds = %.thread30 + resume { ptr, i32 } %.pn22 -.thread23: ; preds = %.thread27 +.thread30: ; preds = %.thread34 invoke void @"_ZN4core3ptr77drop_in_place$LT$alloc..vec..Vec$LT$markup5ever..interface..Attribute$GT$$GT$17haa825a09a4576d50E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %2) #46 - to label %107 unwind label %104 + to label %129 unwind label %126 } ; Function Attrs: nonlazybind uwtable define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17pop_until_current17h93576eefc5ad3609E"(ptr noalias noundef nonnull align 8 dereferenceable(192) %0) unnamed_addr #0 personality ptr @rust_eh_personality { %2 = getelementptr inbounds nuw i8, ptr %0, i64 104 - %3 = load i64, ptr %2, align 8, !alias.scope !30047, !noundef !11 + %3 = load i64, ptr %2, align 8, !alias.scope !30053, !noundef !11 %.not.i4 = icmp eq i64 %3, 0 br i1 %.not.i4, label %._crit_edge, label %.lr.ph @@ -111045,13 +111125,13 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle br label %6 ._crit_edge: ; preds = %16, %"_ZN4core3ptr93drop_in_place$LT$core..option..Option$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17h6cab5c98ec12283dE.exit", %1 - tail call void @_ZN4core6option13expect_failed17h3a757a693188cc6eE(ptr noalias noundef nonnull readonly align 1 @anon.8d30d0a7d2f463ab8d140474c43893b3.273.llvm.16595843094761361803, i64 noundef 18, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.8d30d0a7d2f463ab8d140474c43893b3.274.llvm.16595843094761361803) #44, !noalias !30050 + tail call void @_ZN4core6option13expect_failed17h3a757a693188cc6eE(ptr noalias noundef nonnull readonly align 1 @anon.8d30d0a7d2f463ab8d140474c43893b3.273.llvm.16595843094761361803, i64 noundef 18, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.8d30d0a7d2f463ab8d140474c43893b3.274.llvm.16595843094761361803) #44, !noalias !30056 unreachable 6: ; preds = %.lr.ph, %"_ZN4core3ptr93drop_in_place$LT$core..option..Option$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17h6cab5c98ec12283dE.exit" %7 = phi i64 [ %3, %.lr.ph ], [ %.pr, %"_ZN4core3ptr93drop_in_place$LT$core..option..Option$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17h6cab5c98ec12283dE.exit" ] - tail call void @llvm.experimental.noalias.scope.decl(metadata !30050) - %8 = load ptr, ptr %4, align 8, !alias.scope !30050, !nonnull !11, !noundef !11 + tail call void @llvm.experimental.noalias.scope.decl(metadata !30056) + %8 = load ptr, ptr %4, align 8, !alias.scope !30056, !nonnull !11, !noundef !11 %9 = add i64 %7, -1 %10 = getelementptr inbounds [0 x ptr], ptr %8, i64 0, i64 %9 %11 = tail call { ptr, ptr } @"_ZN91_$LT$markup5ever_rcdom..RcDom$u20$as$u20$markup5ever..interface..tree_builder..TreeSink$GT$9elem_name17h4e753bf026563d2eE"(ptr noalias noundef nonnull readonly align 8 dereferenceable(192) %0, ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %10) @@ -111086,28 +111166,28 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle %23 = load ptr, ptr %4, align 8, !nonnull !11, !noundef !11 %24 = getelementptr inbounds ptr, ptr %23, i64 %20 %25 = load ptr, ptr %24, align 8, !nonnull !11, !noundef !11 - %26 = load i64, ptr %25, align 8, !noalias !30052, !noundef !11 + %26 = load i64, ptr %25, align 8, !noalias !30058, !noundef !11 %27 = add i64 %26, -1 - store i64 %27, ptr %25, align 8, !noalias !30052 + store i64 %27, ptr %25, align 8, !noalias !30058 %28 = icmp eq i64 %27, 0 br i1 %28, label %29, label %"_ZN4core3ptr93drop_in_place$LT$core..option..Option$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17h6cab5c98ec12283dE.exit" 29: ; preds = %19 %30 = getelementptr inbounds nuw i8, ptr %25, i64 16 - tail call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17h1739d7a806ebb2d8E.llvm.13361645166614471590"(ptr noalias noundef nonnull align 8 dereferenceable(120) %30), !noalias !30052 + tail call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17h1739d7a806ebb2d8E.llvm.13361645166614471590"(ptr noalias noundef nonnull align 8 dereferenceable(120) %30), !noalias !30058 %31 = getelementptr inbounds nuw i8, ptr %25, i64 8 - %32 = load i64, ptr %31, align 8, !noalias !30052, !noundef !11 + %32 = load i64, ptr %31, align 8, !noalias !30058, !noundef !11 %33 = add i64 %32, -1 - store i64 %33, ptr %31, align 8, !noalias !30052 + store i64 %33, ptr %31, align 8, !noalias !30058 %34 = icmp eq i64 %33, 0 br i1 %34, label %35, label %"_ZN4core3ptr93drop_in_place$LT$core..option..Option$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17h6cab5c98ec12283dE.exit" 35: ; preds = %29 - tail call void @__rust_dealloc(ptr noundef nonnull %25, i64 noundef 136, i64 noundef 8) #45, !noalias !30052 + tail call void @__rust_dealloc(ptr noundef nonnull %25, i64 noundef 136, i64 noundef 8) #45, !noalias !30058 br label %"_ZN4core3ptr93drop_in_place$LT$core..option..Option$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17h6cab5c98ec12283dE.exit" "_ZN4core3ptr93drop_in_place$LT$core..option..Option$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17h6cab5c98ec12283dE.exit": ; preds = %19, %29, %35 - %.pr = load i64, ptr %2, align 8, !alias.scope !30057 + %.pr = load i64, ptr %2, align 8, !alias.scope !30063 %.not.i = icmp eq i64 %.pr, 0 br i1 %.not.i, label %._crit_edge, label %6 } @@ -111115,7 +111195,7 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle ; Function Attrs: nonlazybind uwtable define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17pop_until_current17hc10ce9caa668ddf1E"(ptr noalias noundef nonnull align 8 dereferenceable(192) %0) unnamed_addr #0 personality ptr @rust_eh_personality { %2 = getelementptr inbounds nuw i8, ptr %0, i64 104 - %3 = load i64, ptr %2, align 8, !alias.scope !30059, !noundef !11 + %3 = load i64, ptr %2, align 8, !alias.scope !30065, !noundef !11 %.not.i4 = icmp eq i64 %3, 0 br i1 %.not.i4, label %._crit_edge, label %.lr.ph @@ -111125,13 +111205,13 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle br label %6 ._crit_edge: ; preds = %16, %"_ZN4core3ptr93drop_in_place$LT$core..option..Option$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17h6cab5c98ec12283dE.exit", %1 - tail call void @_ZN4core6option13expect_failed17h3a757a693188cc6eE(ptr noalias noundef nonnull readonly align 1 @anon.8d30d0a7d2f463ab8d140474c43893b3.273.llvm.16595843094761361803, i64 noundef 18, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.8d30d0a7d2f463ab8d140474c43893b3.274.llvm.16595843094761361803) #44, !noalias !30062 + tail call void @_ZN4core6option13expect_failed17h3a757a693188cc6eE(ptr noalias noundef nonnull readonly align 1 @anon.8d30d0a7d2f463ab8d140474c43893b3.273.llvm.16595843094761361803, i64 noundef 18, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.8d30d0a7d2f463ab8d140474c43893b3.274.llvm.16595843094761361803) #44, !noalias !30068 unreachable 6: ; preds = %.lr.ph, %"_ZN4core3ptr93drop_in_place$LT$core..option..Option$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17h6cab5c98ec12283dE.exit" %7 = phi i64 [ %3, %.lr.ph ], [ %.pr, %"_ZN4core3ptr93drop_in_place$LT$core..option..Option$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17h6cab5c98ec12283dE.exit" ] - tail call void @llvm.experimental.noalias.scope.decl(metadata !30062) - %8 = load ptr, ptr %4, align 8, !alias.scope !30062, !nonnull !11, !noundef !11 + tail call void @llvm.experimental.noalias.scope.decl(metadata !30068) + %8 = load ptr, ptr %4, align 8, !alias.scope !30068, !nonnull !11, !noundef !11 %9 = add i64 %7, -1 %10 = getelementptr inbounds [0 x ptr], ptr %8, i64 0, i64 %9 %11 = tail call { ptr, ptr } @"_ZN91_$LT$markup5ever_rcdom..RcDom$u20$as$u20$markup5ever..interface..tree_builder..TreeSink$GT$9elem_name17h4e753bf026563d2eE"(ptr noalias noundef nonnull readonly align 8 dereferenceable(192) %0, ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %10) @@ -111168,28 +111248,28 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle %23 = load ptr, ptr %4, align 8, !nonnull !11, !noundef !11 %24 = getelementptr inbounds ptr, ptr %23, i64 %20 %25 = load ptr, ptr %24, align 8, !nonnull !11, !noundef !11 - %26 = load i64, ptr %25, align 8, !noalias !30064, !noundef !11 + %26 = load i64, ptr %25, align 8, !noalias !30070, !noundef !11 %27 = add i64 %26, -1 - store i64 %27, ptr %25, align 8, !noalias !30064 + store i64 %27, ptr %25, align 8, !noalias !30070 %28 = icmp eq i64 %27, 0 br i1 %28, label %29, label %"_ZN4core3ptr93drop_in_place$LT$core..option..Option$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17h6cab5c98ec12283dE.exit" 29: ; preds = %19 %30 = getelementptr inbounds nuw i8, ptr %25, i64 16 - tail call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17h1739d7a806ebb2d8E.llvm.13361645166614471590"(ptr noalias noundef nonnull align 8 dereferenceable(120) %30), !noalias !30064 + tail call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17h1739d7a806ebb2d8E.llvm.13361645166614471590"(ptr noalias noundef nonnull align 8 dereferenceable(120) %30), !noalias !30070 %31 = getelementptr inbounds nuw i8, ptr %25, i64 8 - %32 = load i64, ptr %31, align 8, !noalias !30064, !noundef !11 + %32 = load i64, ptr %31, align 8, !noalias !30070, !noundef !11 %33 = add i64 %32, -1 - store i64 %33, ptr %31, align 8, !noalias !30064 + store i64 %33, ptr %31, align 8, !noalias !30070 %34 = icmp eq i64 %33, 0 br i1 %34, label %35, label %"_ZN4core3ptr93drop_in_place$LT$core..option..Option$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17h6cab5c98ec12283dE.exit" 35: ; preds = %29 - tail call void @__rust_dealloc(ptr noundef nonnull %25, i64 noundef 136, i64 noundef 8) #45, !noalias !30064 + tail call void @__rust_dealloc(ptr noundef nonnull %25, i64 noundef 136, i64 noundef 8) #45, !noalias !30070 br label %"_ZN4core3ptr93drop_in_place$LT$core..option..Option$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17h6cab5c98ec12283dE.exit" "_ZN4core3ptr93drop_in_place$LT$core..option..Option$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17h6cab5c98ec12283dE.exit": ; preds = %19, %29, %35 - %.pr = load i64, ptr %2, align 8, !alias.scope !30069 + %.pr = load i64, ptr %2, align 8, !alias.scope !30075 %.not.i = icmp eq i64 %.pr, 0 br i1 %.not.i, label %._crit_edge, label %6 } @@ -111197,7 +111277,7 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle ; Function Attrs: nonlazybind uwtable define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17pop_until_current17hec15a38093b41795E"(ptr noalias noundef nonnull align 8 dereferenceable(192) %0) unnamed_addr #0 personality ptr @rust_eh_personality { %2 = getelementptr inbounds nuw i8, ptr %0, i64 104 - %3 = load i64, ptr %2, align 8, !alias.scope !30071, !noundef !11 + %3 = load i64, ptr %2, align 8, !alias.scope !30077, !noundef !11 %.not.i4 = icmp eq i64 %3, 0 br i1 %.not.i4, label %._crit_edge, label %.lr.ph @@ -111207,13 +111287,13 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle br label %6 ._crit_edge: ; preds = %16, %"_ZN4core3ptr93drop_in_place$LT$core..option..Option$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17h6cab5c98ec12283dE.exit", %1 - tail call void @_ZN4core6option13expect_failed17h3a757a693188cc6eE(ptr noalias noundef nonnull readonly align 1 @anon.8d30d0a7d2f463ab8d140474c43893b3.273.llvm.16595843094761361803, i64 noundef 18, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.8d30d0a7d2f463ab8d140474c43893b3.274.llvm.16595843094761361803) #44, !noalias !30074 + tail call void @_ZN4core6option13expect_failed17h3a757a693188cc6eE(ptr noalias noundef nonnull readonly align 1 @anon.8d30d0a7d2f463ab8d140474c43893b3.273.llvm.16595843094761361803, i64 noundef 18, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.8d30d0a7d2f463ab8d140474c43893b3.274.llvm.16595843094761361803) #44, !noalias !30080 unreachable 6: ; preds = %.lr.ph, %"_ZN4core3ptr93drop_in_place$LT$core..option..Option$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17h6cab5c98ec12283dE.exit" %7 = phi i64 [ %3, %.lr.ph ], [ %.pr, %"_ZN4core3ptr93drop_in_place$LT$core..option..Option$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17h6cab5c98ec12283dE.exit" ] - tail call void @llvm.experimental.noalias.scope.decl(metadata !30074) - %8 = load ptr, ptr %4, align 8, !alias.scope !30074, !nonnull !11, !noundef !11 + tail call void @llvm.experimental.noalias.scope.decl(metadata !30080) + %8 = load ptr, ptr %4, align 8, !alias.scope !30080, !nonnull !11, !noundef !11 %9 = add i64 %7, -1 %10 = getelementptr inbounds [0 x ptr], ptr %8, i64 0, i64 %9 %11 = tail call { ptr, ptr } @"_ZN91_$LT$markup5ever_rcdom..RcDom$u20$as$u20$markup5ever..interface..tree_builder..TreeSink$GT$9elem_name17h4e753bf026563d2eE"(ptr noalias noundef nonnull readonly align 8 dereferenceable(192) %0, ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %10) @@ -111248,28 +111328,28 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle %23 = load ptr, ptr %4, align 8, !nonnull !11, !noundef !11 %24 = getelementptr inbounds ptr, ptr %23, i64 %20 %25 = load ptr, ptr %24, align 8, !nonnull !11, !noundef !11 - %26 = load i64, ptr %25, align 8, !noalias !30076, !noundef !11 + %26 = load i64, ptr %25, align 8, !noalias !30082, !noundef !11 %27 = add i64 %26, -1 - store i64 %27, ptr %25, align 8, !noalias !30076 + store i64 %27, ptr %25, align 8, !noalias !30082 %28 = icmp eq i64 %27, 0 br i1 %28, label %29, label %"_ZN4core3ptr93drop_in_place$LT$core..option..Option$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17h6cab5c98ec12283dE.exit" 29: ; preds = %19 %30 = getelementptr inbounds nuw i8, ptr %25, i64 16 - tail call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17h1739d7a806ebb2d8E.llvm.13361645166614471590"(ptr noalias noundef nonnull align 8 dereferenceable(120) %30), !noalias !30076 + tail call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17h1739d7a806ebb2d8E.llvm.13361645166614471590"(ptr noalias noundef nonnull align 8 dereferenceable(120) %30), !noalias !30082 %31 = getelementptr inbounds nuw i8, ptr %25, i64 8 - %32 = load i64, ptr %31, align 8, !noalias !30076, !noundef !11 + %32 = load i64, ptr %31, align 8, !noalias !30082, !noundef !11 %33 = add i64 %32, -1 - store i64 %33, ptr %31, align 8, !noalias !30076 + store i64 %33, ptr %31, align 8, !noalias !30082 %34 = icmp eq i64 %33, 0 br i1 %34, label %35, label %"_ZN4core3ptr93drop_in_place$LT$core..option..Option$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17h6cab5c98ec12283dE.exit" 35: ; preds = %29 - tail call void @__rust_dealloc(ptr noundef nonnull %25, i64 noundef 136, i64 noundef 8) #45, !noalias !30076 + tail call void @__rust_dealloc(ptr noundef nonnull %25, i64 noundef 136, i64 noundef 8) #45, !noalias !30082 br label %"_ZN4core3ptr93drop_in_place$LT$core..option..Option$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17h6cab5c98ec12283dE.exit" "_ZN4core3ptr93drop_in_place$LT$core..option..Option$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17h6cab5c98ec12283dE.exit": ; preds = %19, %29, %35 - %.pr = load i64, ptr %2, align 8, !alias.scope !30081 + %.pr = load i64, ptr %2, align 8, !alias.scope !30087 %.not.i = icmp eq i64 %.pr, 0 br i1 %.not.i, label %._crit_edge, label %6 } @@ -111292,40 +111372,40 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle 10: ; preds = %7 %11 = getelementptr inbounds i8, ptr %8, i64 -8 %12 = add i64 %.sroa.03.0.i, -1 - %.val9.i = load ptr, ptr %11, align 8, !noalias !30083, !nonnull !11, !noundef !11 + %.val9.i = load ptr, ptr %11, align 8, !noalias !30089, !nonnull !11, !noundef !11 %13 = icmp eq ptr %.0.val, %.val9.i br i1 %13, label %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h222d25c33575a88eE.exit", label %7 "_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h222d25c33575a88eE.exit": ; preds = %10 %14 = icmp ult i64 %12, %5 tail call void @llvm.assume(i1 %14) - tail call void @llvm.experimental.noalias.scope.decl(metadata !30084) + tail call void @llvm.experimental.noalias.scope.decl(metadata !30090) %15 = getelementptr inbounds ptr, ptr %3, i64 %12 - %16 = load ptr, ptr %15, align 8, !noalias !30087, !nonnull !11, !noundef !11 + %16 = load ptr, ptr %15, align 8, !noalias !30093, !nonnull !11, !noundef !11 %17 = getelementptr inbounds nuw i8, ptr %15, i64 8 %18 = sub i64 %5, %.sroa.03.0.i %19 = shl i64 %18, 3 - tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %15, ptr nonnull align 8 %17, i64 %19, i1 false), !noalias !30087 + tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %15, ptr nonnull align 8 %17, i64 %19, i1 false), !noalias !30093 %20 = add i64 %5, -1 - store i64 %20, ptr %4, align 8, !alias.scope !30084, !noalias !30089 - %21 = load i64, ptr %16, align 8, !noalias !30090, !noundef !11 + store i64 %20, ptr %4, align 8, !alias.scope !30090, !noalias !30095 + %21 = load i64, ptr %16, align 8, !noalias !30096, !noundef !11 %22 = add i64 %21, -1 - store i64 %22, ptr %16, align 8, !noalias !30090 + store i64 %22, ptr %16, align 8, !noalias !30096 %23 = icmp eq i64 %22, 0 br i1 %23, label %24, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit" 24: ; preds = %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h222d25c33575a88eE.exit" %25 = getelementptr inbounds nuw i8, ptr %16, i64 16 - tail call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17h1739d7a806ebb2d8E.llvm.13361645166614471590"(ptr noalias noundef nonnull align 8 dereferenceable(120) %25), !noalias !30090 + tail call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17h1739d7a806ebb2d8E.llvm.13361645166614471590"(ptr noalias noundef nonnull align 8 dereferenceable(120) %25), !noalias !30096 %26 = getelementptr inbounds nuw i8, ptr %16, i64 8 - %27 = load i64, ptr %26, align 8, !noalias !30090, !noundef !11 + %27 = load i64, ptr %26, align 8, !noalias !30096, !noundef !11 %28 = add i64 %27, -1 - store i64 %28, ptr %26, align 8, !noalias !30090 + store i64 %28, ptr %26, align 8, !noalias !30096 %29 = icmp eq i64 %28, 0 br i1 %29, label %30, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit" 30: ; preds = %24 - tail call void @__rust_dealloc(ptr noundef nonnull %16, i64 noundef 136, i64 noundef 8) #45, !noalias !30090 + tail call void @__rust_dealloc(ptr noundef nonnull %16, i64 noundef 136, i64 noundef 8) #45, !noalias !30096 br label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit" "_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit": ; preds = %7, %30, %24, %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h222d25c33575a88eE.exit" @@ -111463,42 +111543,42 @@ _ZN4core3ops8function2Fn4call17he17097de94c5e22eE.exit.thread: ; preds = %"_ZN4c ret void _ZN4core3ops8function2Fn4call17he17097de94c5e22eE.exit: ; preds = %14, %14, %14, %14, %14, %14, %14, %14, %14, %14, %14, %14, %14, %14, %14, %14, %14, %14 - tail call void @llvm.experimental.noalias.scope.decl(metadata !30095) - %16 = load i64, ptr %2, align 8, !alias.scope !30095, !noundef !11 + tail call void @llvm.experimental.noalias.scope.decl(metadata !30101) + %16 = load i64, ptr %2, align 8, !alias.scope !30101, !noundef !11 %17 = icmp eq i64 %16, 0 br i1 %17, label %18, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$3pop17h394cc4716a2f3cdaE.exit" 18: ; preds = %_ZN4core3ops8function2Fn4call17he17097de94c5e22eE.exit - tail call void @_ZN4core6option13expect_failed17h3a757a693188cc6eE(ptr noalias noundef nonnull readonly align 1 @anon.8d30d0a7d2f463ab8d140474c43893b3.273.llvm.16595843094761361803, i64 noundef 18, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.8d30d0a7d2f463ab8d140474c43893b3.337) #44, !noalias !30095 + tail call void @_ZN4core6option13expect_failed17h3a757a693188cc6eE(ptr noalias noundef nonnull readonly align 1 @anon.8d30d0a7d2f463ab8d140474c43893b3.273.llvm.16595843094761361803, i64 noundef 18, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.8d30d0a7d2f463ab8d140474c43893b3.337) #44, !noalias !30101 unreachable "_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$3pop17h394cc4716a2f3cdaE.exit": ; preds = %_ZN4core3ops8function2Fn4call17he17097de94c5e22eE.exit %19 = add i64 %16, -1 - store i64 %19, ptr %2, align 8, !alias.scope !30095 - %20 = load i64, ptr %5, align 8, !alias.scope !30095, !noundef !11 + store i64 %19, ptr %2, align 8, !alias.scope !30101 + %20 = load i64, ptr %5, align 8, !alias.scope !30101, !noundef !11 %21 = icmp ult i64 %19, %20 tail call void @llvm.assume(i1 %21) - %22 = load ptr, ptr %4, align 8, !alias.scope !30095, !nonnull !11, !noundef !11 + %22 = load ptr, ptr %4, align 8, !alias.scope !30101, !nonnull !11, !noundef !11 %23 = getelementptr inbounds ptr, ptr %22, i64 %19 - %24 = load ptr, ptr %23, align 8, !noalias !30095, !nonnull !11, !noundef !11 - %25 = load i64, ptr %24, align 8, !noalias !30098, !noundef !11 + %24 = load ptr, ptr %23, align 8, !noalias !30101, !nonnull !11, !noundef !11 + %25 = load i64, ptr %24, align 8, !noalias !30104, !noundef !11 %26 = add i64 %25, -1 - store i64 %26, ptr %24, align 8, !noalias !30098 + store i64 %26, ptr %24, align 8, !noalias !30104 %27 = icmp eq i64 %26, 0 br i1 %27, label %28, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit" 28: ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$3pop17h394cc4716a2f3cdaE.exit" %29 = getelementptr inbounds nuw i8, ptr %24, i64 16 - tail call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17h1739d7a806ebb2d8E.llvm.13361645166614471590"(ptr noalias noundef nonnull align 8 dereferenceable(120) %29), !noalias !30098 + tail call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17h1739d7a806ebb2d8E.llvm.13361645166614471590"(ptr noalias noundef nonnull align 8 dereferenceable(120) %29), !noalias !30104 %30 = getelementptr inbounds nuw i8, ptr %24, i64 8 - %31 = load i64, ptr %30, align 8, !noalias !30098, !noundef !11 + %31 = load i64, ptr %30, align 8, !noalias !30104, !noundef !11 %32 = add i64 %31, -1 - store i64 %32, ptr %30, align 8, !noalias !30098 + store i64 %32, ptr %30, align 8, !noalias !30104 %33 = icmp eq i64 %32, 0 br i1 %33, label %34, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit" 34: ; preds = %28 - tail call void @__rust_dealloc(ptr noundef nonnull %24, i64 noundef 136, i64 noundef 8) #45, !noalias !30098 + tail call void @__rust_dealloc(ptr noundef nonnull %24, i64 noundef 136, i64 noundef 8) #45, !noalias !30104 br label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit" "_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit": ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$3pop17h394cc4716a2f3cdaE.exit", %28, %34 @@ -111551,42 +111631,42 @@ _ZN4core3ops8function2Fn4call17hf7f4bc0d387244ffE.exit.thread: ; preds = %"_ZN4c ret void _ZN4core3ops8function2Fn4call17hf7f4bc0d387244ffE.exit: ; preds = %16, %16, %16, %16, %16, %16, %16, %16, %16 - tail call void @llvm.experimental.noalias.scope.decl(metadata !30103) - %17 = load i64, ptr %2, align 8, !alias.scope !30103, !noundef !11 + tail call void @llvm.experimental.noalias.scope.decl(metadata !30109) + %17 = load i64, ptr %2, align 8, !alias.scope !30109, !noundef !11 %18 = icmp eq i64 %17, 0 br i1 %18, label %19, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$3pop17h394cc4716a2f3cdaE.exit" 19: ; preds = %_ZN4core3ops8function2Fn4call17hf7f4bc0d387244ffE.exit - tail call void @_ZN4core6option13expect_failed17h3a757a693188cc6eE(ptr noalias noundef nonnull readonly align 1 @anon.8d30d0a7d2f463ab8d140474c43893b3.273.llvm.16595843094761361803, i64 noundef 18, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.8d30d0a7d2f463ab8d140474c43893b3.337) #44, !noalias !30103 + tail call void @_ZN4core6option13expect_failed17h3a757a693188cc6eE(ptr noalias noundef nonnull readonly align 1 @anon.8d30d0a7d2f463ab8d140474c43893b3.273.llvm.16595843094761361803, i64 noundef 18, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.8d30d0a7d2f463ab8d140474c43893b3.337) #44, !noalias !30109 unreachable "_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$3pop17h394cc4716a2f3cdaE.exit": ; preds = %_ZN4core3ops8function2Fn4call17hf7f4bc0d387244ffE.exit %20 = add i64 %17, -1 - store i64 %20, ptr %2, align 8, !alias.scope !30103 - %21 = load i64, ptr %5, align 8, !alias.scope !30103, !noundef !11 + store i64 %20, ptr %2, align 8, !alias.scope !30109 + %21 = load i64, ptr %5, align 8, !alias.scope !30109, !noundef !11 %22 = icmp ult i64 %20, %21 tail call void @llvm.assume(i1 %22) - %23 = load ptr, ptr %4, align 8, !alias.scope !30103, !nonnull !11, !noundef !11 + %23 = load ptr, ptr %4, align 8, !alias.scope !30109, !nonnull !11, !noundef !11 %24 = getelementptr inbounds ptr, ptr %23, i64 %20 - %25 = load ptr, ptr %24, align 8, !noalias !30103, !nonnull !11, !noundef !11 - %26 = load i64, ptr %25, align 8, !noalias !30106, !noundef !11 + %25 = load ptr, ptr %24, align 8, !noalias !30109, !nonnull !11, !noundef !11 + %26 = load i64, ptr %25, align 8, !noalias !30112, !noundef !11 %27 = add i64 %26, -1 - store i64 %27, ptr %25, align 8, !noalias !30106 + store i64 %27, ptr %25, align 8, !noalias !30112 %28 = icmp eq i64 %27, 0 br i1 %28, label %29, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit" 29: ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$3pop17h394cc4716a2f3cdaE.exit" %30 = getelementptr inbounds nuw i8, ptr %25, i64 16 - tail call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17h1739d7a806ebb2d8E.llvm.13361645166614471590"(ptr noalias noundef nonnull align 8 dereferenceable(120) %30), !noalias !30106 + tail call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17h1739d7a806ebb2d8E.llvm.13361645166614471590"(ptr noalias noundef nonnull align 8 dereferenceable(120) %30), !noalias !30112 %31 = getelementptr inbounds nuw i8, ptr %25, i64 8 - %32 = load i64, ptr %31, align 8, !noalias !30106, !noundef !11 + %32 = load i64, ptr %31, align 8, !noalias !30112, !noundef !11 %33 = add i64 %32, -1 - store i64 %33, ptr %31, align 8, !noalias !30106 + store i64 %33, ptr %31, align 8, !noalias !30112 %34 = icmp eq i64 %33, 0 br i1 %34, label %35, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit" 35: ; preds = %29 - tail call void @__rust_dealloc(ptr noundef nonnull %25, i64 noundef 136, i64 noundef 8) #45, !noalias !30106 + tail call void @__rust_dealloc(ptr noundef nonnull %25, i64 noundef 136, i64 noundef 8) #45, !noalias !30112 br label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit" "_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit": ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$3pop17h394cc4716a2f3cdaE.exit", %29, %35 @@ -111638,42 +111718,42 @@ _ZN4core3ops8function2Fn4call17h8c5ca207aeb78d22E.exit.thread: ; preds = %"_ZN4c ret void _ZN4core3ops8function2Fn4call17h8c5ca207aeb78d22E.exit: ; preds = %14, %14, %14, %14, %14, %14, %14, %14, %14, %14 - tail call void @llvm.experimental.noalias.scope.decl(metadata !30111) - %16 = load i64, ptr %2, align 8, !alias.scope !30111, !noundef !11 + tail call void @llvm.experimental.noalias.scope.decl(metadata !30117) + %16 = load i64, ptr %2, align 8, !alias.scope !30117, !noundef !11 %17 = icmp eq i64 %16, 0 br i1 %17, label %18, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$3pop17h394cc4716a2f3cdaE.exit" 18: ; preds = %_ZN4core3ops8function2Fn4call17h8c5ca207aeb78d22E.exit - tail call void @_ZN4core6option13expect_failed17h3a757a693188cc6eE(ptr noalias noundef nonnull readonly align 1 @anon.8d30d0a7d2f463ab8d140474c43893b3.273.llvm.16595843094761361803, i64 noundef 18, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.8d30d0a7d2f463ab8d140474c43893b3.337) #44, !noalias !30111 + tail call void @_ZN4core6option13expect_failed17h3a757a693188cc6eE(ptr noalias noundef nonnull readonly align 1 @anon.8d30d0a7d2f463ab8d140474c43893b3.273.llvm.16595843094761361803, i64 noundef 18, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.8d30d0a7d2f463ab8d140474c43893b3.337) #44, !noalias !30117 unreachable "_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$3pop17h394cc4716a2f3cdaE.exit": ; preds = %_ZN4core3ops8function2Fn4call17h8c5ca207aeb78d22E.exit %19 = add i64 %16, -1 - store i64 %19, ptr %2, align 8, !alias.scope !30111 - %20 = load i64, ptr %5, align 8, !alias.scope !30111, !noundef !11 + store i64 %19, ptr %2, align 8, !alias.scope !30117 + %20 = load i64, ptr %5, align 8, !alias.scope !30117, !noundef !11 %21 = icmp ult i64 %19, %20 tail call void @llvm.assume(i1 %21) - %22 = load ptr, ptr %4, align 8, !alias.scope !30111, !nonnull !11, !noundef !11 + %22 = load ptr, ptr %4, align 8, !alias.scope !30117, !nonnull !11, !noundef !11 %23 = getelementptr inbounds ptr, ptr %22, i64 %19 - %24 = load ptr, ptr %23, align 8, !noalias !30111, !nonnull !11, !noundef !11 - %25 = load i64, ptr %24, align 8, !noalias !30114, !noundef !11 + %24 = load ptr, ptr %23, align 8, !noalias !30117, !nonnull !11, !noundef !11 + %25 = load i64, ptr %24, align 8, !noalias !30120, !noundef !11 %26 = add i64 %25, -1 - store i64 %26, ptr %24, align 8, !noalias !30114 + store i64 %26, ptr %24, align 8, !noalias !30120 %27 = icmp eq i64 %26, 0 br i1 %27, label %28, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit" 28: ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$3pop17h394cc4716a2f3cdaE.exit" %29 = getelementptr inbounds nuw i8, ptr %24, i64 16 - tail call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17h1739d7a806ebb2d8E.llvm.13361645166614471590"(ptr noalias noundef nonnull align 8 dereferenceable(120) %29), !noalias !30114 + tail call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17h1739d7a806ebb2d8E.llvm.13361645166614471590"(ptr noalias noundef nonnull align 8 dereferenceable(120) %29), !noalias !30120 %30 = getelementptr inbounds nuw i8, ptr %24, i64 8 - %31 = load i64, ptr %30, align 8, !noalias !30114, !noundef !11 + %31 = load i64, ptr %30, align 8, !noalias !30120, !noundef !11 %32 = add i64 %31, -1 - store i64 %32, ptr %30, align 8, !noalias !30114 + store i64 %32, ptr %30, align 8, !noalias !30120 %33 = icmp eq i64 %32, 0 br i1 %33, label %34, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit" 34: ; preds = %28 - tail call void @__rust_dealloc(ptr noundef nonnull %24, i64 noundef 136, i64 noundef 8) #45, !noalias !30114 + tail call void @__rust_dealloc(ptr noundef nonnull %24, i64 noundef 136, i64 noundef 8) #45, !noalias !30120 br label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit" "_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit": ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$3pop17h394cc4716a2f3cdaE.exit", %28, %34 @@ -111782,7 +111862,7 @@ define internal fastcc noundef range(i8 0, 23) i8 @"_ZN9html5ever12tree_builder3 br i1 %28, label %29, label %"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17h2688c3f78b64ff6bE.exit" 29: ; preds = %21 - tail call void @_ZN4core5slice5index24slice_end_index_len_fail17h87b545b7962eada9E(i64 noundef %25, i64 noundef %27, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.8d30d0a7d2f463ab8d140474c43893b3.307) #44, !noalias !30119 + tail call void @_ZN4core5slice5index24slice_end_index_len_fail17h87b545b7962eada9E(i64 noundef %25, i64 noundef %27, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.8d30d0a7d2f463ab8d140474c43893b3.307) #44, !noalias !30125 unreachable "_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17h2688c3f78b64ff6bE.exit": ; preds = %21 @@ -112041,7 +112121,7 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle %8 = alloca [24 x i8], align 8 %9 = alloca [24 x i8], align 8 %10 = getelementptr inbounds nuw i8, ptr %1, i64 104 - %11 = load i64, ptr %10, align 8, !alias.scope !30122, !noundef !11 + %11 = load i64, ptr %10, align 8, !alias.scope !30128, !noundef !11 %.not.i = icmp eq i64 %11, 0 br i1 %.not.i, label %12, label %13 @@ -112054,7 +112134,7 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle 13: ; preds = %3 %14 = getelementptr inbounds nuw i8, ptr %1, i64 96 - %15 = load ptr, ptr %14, align 8, !alias.scope !30122, !nonnull !11, !noundef !11 + %15 = load ptr, ptr %14, align 8, !alias.scope !30128, !nonnull !11, !noundef !11 %16 = add i64 %11, -1 %17 = getelementptr inbounds [0 x ptr], ptr %15, i64 0, i64 %16 %18 = invoke { ptr, ptr } @"_ZN91_$LT$markup5ever_rcdom..RcDom$u20$as$u20$markup5ever..interface..tree_builder..TreeSink$GT$9elem_name17h4e753bf026563d2eE"(ptr noalias noundef nonnull readonly align 8 dereferenceable(192) %1, ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %17) @@ -112117,50 +112197,50 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle store ptr %6, ptr %7, align 8 %.sroa.44.0..sroa_idx = getelementptr inbounds nuw i8, ptr %7, i64 8 store ptr @"_ZN60_$LT$alloc..string..String$u20$as$u20$core..fmt..Display$GT$3fmt17h69b42876f6df0e06E.llvm.16595843094761361803", ptr %.sroa.44.0..sroa_idx, align 8 - call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %4), !noalias !30125 - store ptr @anon.8d30d0a7d2f463ab8d140474c43893b3.321, ptr %4, align 8, !noalias !30133 + call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %4), !noalias !30131 + store ptr @anon.8d30d0a7d2f463ab8d140474c43893b3.321, ptr %4, align 8, !noalias !30139 %.sroa.4.0..sroa_idx = getelementptr inbounds nuw i8, ptr %4, i64 8 - store i64 2, ptr %.sroa.4.0..sroa_idx, align 8, !noalias !30133 + store i64 2, ptr %.sroa.4.0..sroa_idx, align 8, !noalias !30139 %.sroa.5.0..sroa_idx = getelementptr inbounds nuw i8, ptr %4, i64 16 - store ptr %7, ptr %.sroa.5.0..sroa_idx, align 8, !noalias !30133 + store ptr %7, ptr %.sroa.5.0..sroa_idx, align 8, !noalias !30139 %.sroa.6.0..sroa_idx = getelementptr inbounds nuw i8, ptr %4, i64 24 - store i64 1, ptr %.sroa.6.0..sroa_idx, align 8, !noalias !30133 + store i64 1, ptr %.sroa.6.0..sroa_idx, align 8, !noalias !30139 %.sroa.7.0..sroa_idx = getelementptr inbounds nuw i8, ptr %4, i64 32 - store ptr null, ptr %.sroa.7.0..sroa_idx, align 8, !noalias !30133 + store ptr null, ptr %.sroa.7.0..sroa_idx, align 8, !noalias !30139 invoke void @_ZN5alloc3fmt6format12format_inner17hfc591406982d9639E(ptr noalias noundef nonnull sret([24 x i8]) align 8 captures(none) dereferenceable(24) %8, ptr noalias noundef nonnull align 8 captures(none) dereferenceable(48) %4) to label %42 unwind label %36 36: ; preds = %35 %37 = landingpad { ptr, i32 } cleanup - call void @llvm.experimental.noalias.scope.decl(metadata !30134) - call void @llvm.experimental.noalias.scope.decl(metadata !30137) call void @llvm.experimental.noalias.scope.decl(metadata !30140) call void @llvm.experimental.noalias.scope.decl(metadata !30143) - %38 = load i64, ptr %6, align 8, !alias.scope !30146, !noalias !30149, !noundef !11 + call void @llvm.experimental.noalias.scope.decl(metadata !30146) + call void @llvm.experimental.noalias.scope.decl(metadata !30149) + %38 = load i64, ptr %6, align 8, !alias.scope !30152, !noalias !30155, !noundef !11 %39 = icmp eq i64 %38, 0 br i1 %39, label %.thread, label %"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17hb66d9ce94201aa99E.llvm.13361645166614471590.exit.i.i1.i.i" "_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17hb66d9ce94201aa99E.llvm.13361645166614471590.exit.i.i1.i.i": ; preds = %36 %40 = getelementptr inbounds nuw i8, ptr %6, i64 8 - %41 = load ptr, ptr %40, align 8, !alias.scope !30146, !noalias !30149, !nonnull !11, !noundef !11 - call void @__rust_dealloc(ptr noundef nonnull %41, i64 noundef %38, i64 noundef 1) #45, !noalias !30151 + %41 = load ptr, ptr %40, align 8, !alias.scope !30152, !noalias !30155, !nonnull !11, !noundef !11 + call void @__rust_dealloc(ptr noundef nonnull %41, i64 noundef %38, i64 noundef 1) #45, !noalias !30157 br label %.thread 42: ; preds = %35 - call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %4), !noalias !30125 - call void @llvm.experimental.noalias.scope.decl(metadata !30152) - call void @llvm.experimental.noalias.scope.decl(metadata !30155) + call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %4), !noalias !30131 call void @llvm.experimental.noalias.scope.decl(metadata !30158) call void @llvm.experimental.noalias.scope.decl(metadata !30161) - %43 = load i64, ptr %6, align 8, !alias.scope !30164, !noalias !30167, !noundef !11 + call void @llvm.experimental.noalias.scope.decl(metadata !30164) + call void @llvm.experimental.noalias.scope.decl(metadata !30167) + %43 = load i64, ptr %6, align 8, !alias.scope !30170, !noalias !30173, !noundef !11 %44 = icmp eq i64 %43, 0 br i1 %44, label %"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hc8b4444378140e4fE.exit10", label %"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17hb66d9ce94201aa99E.llvm.13361645166614471590.exit.i.i1.i.i9" "_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17hb66d9ce94201aa99E.llvm.13361645166614471590.exit.i.i1.i.i9": ; preds = %42 %45 = getelementptr inbounds nuw i8, ptr %6, i64 8 - %46 = load ptr, ptr %45, align 8, !alias.scope !30164, !noalias !30167, !nonnull !11, !noundef !11 - call void @__rust_dealloc(ptr noundef nonnull %46, i64 noundef %43, i64 noundef 1) #45, !noalias !30169 + %46 = load ptr, ptr %45, align 8, !alias.scope !30170, !noalias !30173, !nonnull !11, !noundef !11 + call void @__rust_dealloc(ptr noundef nonnull %46, i64 noundef %43, i64 noundef 1) #45, !noalias !30175 br label %"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hc8b4444378140e4fE.exit10" "_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hc8b4444378140e4fE.exit10": ; preds = %"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17hb66d9ce94201aa99E.llvm.13361645166614471590.exit.i.i1.i.i9", %42 @@ -112234,8 +112314,8 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle %.val32 = load ptr, ptr %15, align 8 %16 = getelementptr inbounds nuw i8, ptr %0, i64 104 %.val33 = load i64, ptr %16, align 8 - tail call void @llvm.experimental.noalias.scope.decl(metadata !30170) - %17 = load i64, ptr %14, align 8, !range !23, !alias.scope !30170, !noundef !11 + tail call void @llvm.experimental.noalias.scope.decl(metadata !30176) + %17 = load i64, ptr %14, align 8, !range !23, !alias.scope !30176, !noundef !11 %18 = icmp eq i64 %17, -9223372036854775808 br i1 %18, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17is_marker_or_open17hea302c4bc167c376E.exit.thread", label %19 @@ -112244,7 +112324,7 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle %21 = icmp ne ptr %.val32, null tail call void @llvm.assume(i1 %21) %22 = getelementptr inbounds ptr, ptr %.val32, i64 %.val33 - %.val1.i.i.i.i = load ptr, ptr %20, align 8, !alias.scope !30170, !nonnull !11 + %.val1.i.i.i.i = load ptr, ptr %20, align 8, !alias.scope !30176, !nonnull !11 br label %23 23: ; preds = %26, %19 @@ -112258,7 +112338,7 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle 26: ; preds = %23 %27 = getelementptr inbounds i8, ptr %24, i64 -8 - %.val6.i.i = load ptr, ptr %27, align 8, !noalias !30173, !nonnull !11, !noundef !11 + %.val6.i.i = load ptr, ptr %27, align 8, !noalias !30179, !nonnull !11, !noundef !11 %.not.i.i = icmp eq ptr %.val6.i.i, %.val1.i.i.i.i br i1 %.not.i.i, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17is_marker_or_open17hea302c4bc167c376E.exit.thread", label %23 @@ -112273,8 +112353,8 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle %.sroa.01.089 = phi i64 [ %29, %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17is_marker_or_open17hea302c4bc167c376E.exit.loopexit" ], [ %13, %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17is_marker_or_open17hea302c4bc167c376E.exit.preheader" ] %29 = add i64 %.sroa.01.089, -1 %30 = getelementptr inbounds [0 x { i64, [5 x i64] }], ptr %12, i64 0, i64 %29 - tail call void @llvm.experimental.noalias.scope.decl(metadata !30177) - %31 = load i64, ptr %30, align 8, !range !23, !alias.scope !30177, !noundef !11 + tail call void @llvm.experimental.noalias.scope.decl(metadata !30183) + %31 = load i64, ptr %30, align 8, !range !23, !alias.scope !30183, !noundef !11 %32 = icmp eq i64 %31, -9223372036854775808 br i1 %32, label %.preheader, label %40 @@ -112295,7 +112375,7 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle 40: ; preds = %.lr.ph %41 = getelementptr inbounds nuw i8, ptr %30, i64 40 - %.val1.i.i.i.i34 = load ptr, ptr %41, align 8, !alias.scope !30177, !nonnull !11 + %.val1.i.i.i.i34 = load ptr, ptr %41, align 8, !alias.scope !30183, !nonnull !11 br label %42 42: ; preds = %44, %40 @@ -112305,7 +112385,7 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle 44: ; preds = %42 %45 = getelementptr inbounds i8, ptr %43, i64 -8 - %.val6.i.i36 = load ptr, ptr %45, align 8, !noalias !30180, !nonnull !11, !noundef !11 + %.val6.i.i36 = load ptr, ptr %45, align 8, !noalias !30186, !nonnull !11, !noundef !11 %.not.i.i37 = icmp eq ptr %.val6.i.i36, %.val1.i.i.i.i34 br i1 %.not.i.i37, label %.preheader, label %42 @@ -112324,12 +112404,12 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle unreachable 51: ; preds = %46 - tail call void @llvm.experimental.noalias.scope.decl(metadata !30184) - tail call void @llvm.experimental.noalias.scope.decl(metadata !30187) + tail call void @llvm.experimental.noalias.scope.decl(metadata !30190) + tail call void @llvm.experimental.noalias.scope.decl(metadata !30193) %52 = getelementptr inbounds nuw i8, ptr %48, i64 32 - %53 = load i8, ptr %52, align 8, !range !376, !alias.scope !30187, !noalias !30184, !noundef !11 + %53 = load i8, ptr %52, align 8, !range !376, !alias.scope !30193, !noalias !30190, !noundef !11 %54 = getelementptr inbounds nuw i8, ptr %48, i64 24 - %55 = load i64, ptr %54, align 8, !range !3781, !alias.scope !30187, !noalias !30184, !noundef !11 + %55 = load i64, ptr %54, align 8, !range !3781, !alias.scope !30193, !noalias !30190, !noundef !11 %56 = and i64 %55, 3 %57 = icmp eq i64 %56, 0 br i1 %57, label %58, label %62 @@ -112337,30 +112417,30 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle 58: ; preds = %51 %59 = inttoptr i64 %55 to ptr %60 = getelementptr inbounds nuw i8, ptr %59, i64 16 - %61 = atomicrmw add ptr %60, i64 1 seq_cst, align 8, !noalias !30189 + %61 = atomicrmw add ptr %60, i64 1 seq_cst, align 8, !noalias !30195 br label %62 62: ; preds = %58, %51 %63 = getelementptr inbounds nuw i8, ptr %48, i64 33 - %64 = load i8, ptr %63, align 1, !range !376, !alias.scope !30187, !noalias !30184, !noundef !11 - call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %2), !noalias !30189 + %64 = load i8, ptr %63, align 1, !range !376, !alias.scope !30193, !noalias !30190, !noundef !11 + call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %2), !noalias !30195 %65 = getelementptr inbounds nuw i8, ptr %48, i64 8 - %.val2.i = load ptr, ptr %65, align 8, !alias.scope !30187, !noalias !30184, !nonnull !11, !noundef !11 + %.val2.i = load ptr, ptr %65, align 8, !alias.scope !30193, !noalias !30190, !nonnull !11, !noundef !11 %66 = getelementptr inbounds nuw i8, ptr %48, i64 16 - %.val3.i = load i64, ptr %66, align 8, !alias.scope !30187, !noalias !30184, !noundef !11 + %.val3.i = load i64, ptr %66, align 8, !alias.scope !30193, !noalias !30190, !noundef !11 invoke fastcc void @"_ZN67_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h1178fedd43016be3E"(ptr noalias noundef align 8 captures(none) dereferenceable(24) %2, ptr nonnull %.val2.i, i64 %.val3.i) - to label %"_ZN75_$LT$html5ever..tokenizer..interface..Tag$u20$as$u20$core..clone..Clone$GT$5clone17h8cc0abc4a6adbb98E.exit" unwind label %67, !noalias !30189 + to label %"_ZN75_$LT$html5ever..tokenizer..interface..Tag$u20$as$u20$core..clone..Clone$GT$5clone17h8cc0abc4a6adbb98E.exit" unwind label %67, !noalias !30195 67: ; preds = %62 %68 = landingpad { ptr, i32 } cleanup invoke fastcc void @"_ZN4core3ptr84drop_in_place$LT$string_cache..atom..Atom$LT$markup5ever..LocalNameStaticSet$GT$$GT$17hce00844e8c1e6f00E"(i64 %55) #46 - to label %common.resume unwind label %69, !noalias !30189 + to label %common.resume unwind label %69, !noalias !30195 69: ; preds = %67 %70 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer - tail call void @_ZN4core9panicking16panic_in_cleanup17hfa05ef7d5107e16aE() #47, !noalias !30189 + tail call void @_ZN4core9panicking16panic_in_cleanup17hfa05ef7d5107e16aE() #47, !noalias !30195 unreachable common.resume: ; preds = %126, %.thread44, %119, %67 @@ -112368,11 +112448,11 @@ common.resume: ; preds = %126, %.thread44, %1 resume { ptr, i32 } %common.resume.op "_ZN75_$LT$html5ever..tokenizer..interface..Tag$u20$as$u20$core..clone..Clone$GT$5clone17h8cc0abc4a6adbb98E.exit": ; preds = %62 - store i8 %53, ptr %34, align 8, !alias.scope !30184, !noalias !30187 - store i64 %55, ptr %35, align 8, !alias.scope !30184, !noalias !30187 - store i8 %64, ptr %36, align 1, !alias.scope !30184, !noalias !30187 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %7, ptr noundef nonnull align 8 dereferenceable(24) %2, i64 24, i1 false), !noalias !30187 - call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %2), !noalias !30189 + store i8 %53, ptr %34, align 8, !alias.scope !30190, !noalias !30193 + store i64 %55, ptr %35, align 8, !alias.scope !30190, !noalias !30193 + store i8 %64, ptr %36, align 1, !alias.scope !30190, !noalias !30193 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %7, ptr noundef nonnull align 8 dereferenceable(24) %2, i64 24, i1 false), !noalias !30193 + call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %2), !noalias !30195 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %5) store i64 30064771074, ptr %5, align 8 br i1 %57, label %76, label %80 @@ -112426,37 +112506,37 @@ common.resume: ; preds = %126, %.thread44, %1 87: ; preds = %85 %88 = load ptr, ptr %8, align 8, !nonnull !11, !noundef !11 %89 = getelementptr inbounds [0 x { i64, [5 x i64] }], ptr %88, i64 0, i64 %.sroa.01.190 - tail call void @llvm.experimental.noalias.scope.decl(metadata !30190) - %90 = load i64, ptr %89, align 8, !range !23, !alias.scope !30190, !noundef !11 + tail call void @llvm.experimental.noalias.scope.decl(metadata !30196) + %90 = load i64, ptr %89, align 8, !range !23, !alias.scope !30196, !noundef !11 %.not.i = icmp eq i64 %90, -9223372036854775808 br i1 %.not.i, label %"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17hfb1c6cc9311857e8E.exit", label %91 91: ; preds = %87 %92 = getelementptr inbounds nuw i8, ptr %89, i64 40 - tail call void @llvm.experimental.noalias.scope.decl(metadata !30193) - tail call void @llvm.experimental.noalias.scope.decl(metadata !30196) - %93 = load ptr, ptr %92, align 8, !alias.scope !30199, !nonnull !11, !noundef !11 - %94 = load i64, ptr %93, align 8, !noalias !30199, !noundef !11 + tail call void @llvm.experimental.noalias.scope.decl(metadata !30199) + tail call void @llvm.experimental.noalias.scope.decl(metadata !30202) + %93 = load ptr, ptr %92, align 8, !alias.scope !30205, !nonnull !11, !noundef !11 + %94 = load i64, ptr %93, align 8, !noalias !30205, !noundef !11 %95 = add i64 %94, -1 - store i64 %95, ptr %93, align 8, !noalias !30199 + store i64 %95, ptr %93, align 8, !noalias !30205 %96 = icmp eq i64 %95, 0 br i1 %96, label %97, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit.i" 97: ; preds = %91 %98 = getelementptr inbounds nuw i8, ptr %93, i64 16 invoke void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17h1739d7a806ebb2d8E.llvm.13361645166614471590"(ptr noalias noundef nonnull align 8 dereferenceable(120) %98) - to label %.noexc.i unwind label %104, !noalias !30190 + to label %.noexc.i unwind label %104, !noalias !30196 .noexc.i: ; preds = %97 %99 = getelementptr inbounds nuw i8, ptr %93, i64 8 - %100 = load i64, ptr %99, align 8, !noalias !30199, !noundef !11 + %100 = load i64, ptr %99, align 8, !noalias !30205, !noundef !11 %101 = add i64 %100, -1 - store i64 %101, ptr %99, align 8, !noalias !30199 + store i64 %101, ptr %99, align 8, !noalias !30205 %102 = icmp eq i64 %101, 0 br i1 %102, label %103, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit.i" 103: ; preds = %.noexc.i - tail call void @__rust_dealloc(ptr noundef nonnull %93, i64 noundef 136, i64 noundef 8) #45, !noalias !30199 + tail call void @__rust_dealloc(ptr noundef nonnull %93, i64 noundef 136, i64 noundef 8) #45, !noalias !30205 br label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit.i" 104: ; preds = %97 @@ -112559,13 +112639,13 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle .lr.ph.i: ; preds = %.lr.ph.i.preheader, %25 %12 = phi ptr [ %13, %25 ], [ %11, %.lr.ph.i.preheader ] %13 = getelementptr inbounds i8, ptr %12, i64 -48 - %14 = load i64, ptr %13, align 8, !range !23, !noalias !30200, !noundef !11 + %14 = load i64, ptr %13, align 8, !range !23, !noalias !30206, !noundef !11 %15 = icmp eq i64 %14, -9223372036854775808 br i1 %15, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit", label %16 16: ; preds = %.lr.ph.i %17 = getelementptr inbounds i8, ptr %12, i64 -8 - %18 = tail call { ptr, ptr } @"_ZN91_$LT$markup5ever_rcdom..RcDom$u20$as$u20$markup5ever..interface..tree_builder..TreeSink$GT$9elem_name17h4e753bf026563d2eE"(ptr noalias noundef nonnull readonly align 8 dereferenceable(192) %0, ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %17), !noalias !30208 + %18 = tail call { ptr, ptr } @"_ZN91_$LT$markup5ever_rcdom..RcDom$u20$as$u20$markup5ever..interface..tree_builder..TreeSink$GT$9elem_name17h4e753bf026563d2eE"(ptr noalias noundef nonnull readonly align 8 dereferenceable(192) %0, ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %17), !noalias !30214 %19 = extractvalue { ptr, ptr } %18, 0 %20 = load i64, ptr %19, align 8, !range !3781, !noundef !11 %21 = icmp eq i64 %20, 30064771074 @@ -112636,13 +112716,13 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle %.sroa.02.014.i = phi i64 [ %46, %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h32860e114d529e59E.exit.thread.i" ], [ 0, %36 ] %41 = phi ptr [ %42, %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h32860e114d529e59E.exit.thread.i" ], [ %37, %36 ] %42 = getelementptr inbounds nuw i8, ptr %41, i64 48 - %.val8.i = load i64, ptr %41, align 8, !range !23, !noalias !30212, !noundef !11 + %.val8.i = load i64, ptr %41, align 8, !range !23, !noalias !30218, !noundef !11 %43 = icmp eq i64 %.val8.i, -9223372036854775808 br i1 %43, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h32860e114d529e59E.exit.thread.i", label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h32860e114d529e59E.exit.i" "_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h32860e114d529e59E.exit.i": ; preds = %.lr.ph.i18 %44 = getelementptr i8, ptr %41, i64 40 - %.val9.i = load ptr, ptr %44, align 8, !noalias !30212, !nonnull !11, !noundef !11 + %.val9.i = load ptr, ptr %44, align 8, !noalias !30218, !nonnull !11, !noundef !11 %45 = icmp eq ptr %.val9.i, %..val br i1 %45, label %48, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h32860e114d529e59E.exit.thread.i" @@ -112654,52 +112734,52 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle 48: ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h32860e114d529e59E.exit.i" %49 = icmp ult i64 %.sroa.02.014.i, %38 call void @llvm.assume(i1 %49) - call void @llvm.experimental.noalias.scope.decl(metadata !30216) + call void @llvm.experimental.noalias.scope.decl(metadata !30222) %50 = getelementptr inbounds nuw { i64, [5 x i64] }, ptr %37, i64 %.sroa.02.014.i call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %3, ptr noundef nonnull align 8 dereferenceable(48) %50, i64 48, i1 false) %51 = getelementptr inbounds nuw i8, ptr %50, i64 48 %52 = xor i64 %.sroa.02.014.i, -1 %53 = add i64 %38, %52 %54 = mul i64 %53, 48 - call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %50, ptr nonnull align 8 %51, i64 %54, i1 false), !noalias !30219 + call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %50, ptr nonnull align 8 %51, i64 %54, i1 false), !noalias !30225 %55 = add i64 %38, -1 - store i64 %55, ptr %8, align 8, !alias.scope !30216, !noalias !30222 - %.pr = load i64, ptr %3, align 8, !alias.scope !30223 - call void @llvm.experimental.noalias.scope.decl(metadata !30223) + store i64 %55, ptr %8, align 8, !alias.scope !30222, !noalias !30228 + %.pr = load i64, ptr %3, align 8, !alias.scope !30229 + call void @llvm.experimental.noalias.scope.decl(metadata !30229) %56 = icmp eq i64 %.pr, -9223372036854775807 br i1 %56, label %"_ZN4core3ptr144drop_in_place$LT$core..option..Option$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$$GT$17hb44fe697df1d548fE.exit", label %57 57: ; preds = %48 - call void @llvm.experimental.noalias.scope.decl(metadata !30226) + call void @llvm.experimental.noalias.scope.decl(metadata !30232) %.not.i.i = icmp eq i64 %.pr, -9223372036854775808 br i1 %.not.i.i, label %"_ZN4core3ptr144drop_in_place$LT$core..option..Option$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$$GT$17hb44fe697df1d548fE.exit", label %58 58: ; preds = %57 %59 = getelementptr inbounds nuw i8, ptr %3, i64 40 - call void @llvm.experimental.noalias.scope.decl(metadata !30229) - call void @llvm.experimental.noalias.scope.decl(metadata !30232) - %60 = load ptr, ptr %59, align 8, !alias.scope !30235, !nonnull !11, !noundef !11 - %61 = load i64, ptr %60, align 8, !noalias !30235, !noundef !11 + call void @llvm.experimental.noalias.scope.decl(metadata !30235) + call void @llvm.experimental.noalias.scope.decl(metadata !30238) + %60 = load ptr, ptr %59, align 8, !alias.scope !30241, !nonnull !11, !noundef !11 + %61 = load i64, ptr %60, align 8, !noalias !30241, !noundef !11 %62 = add i64 %61, -1 - store i64 %62, ptr %60, align 8, !noalias !30235 + store i64 %62, ptr %60, align 8, !noalias !30241 %63 = icmp eq i64 %62, 0 br i1 %63, label %64, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit.i.i" 64: ; preds = %58 %65 = getelementptr inbounds nuw i8, ptr %60, i64 16 invoke void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17h1739d7a806ebb2d8E.llvm.13361645166614471590"(ptr noalias noundef nonnull align 8 dereferenceable(120) %65) - to label %.noexc.i.i unwind label %71, !noalias !30236 + to label %.noexc.i.i unwind label %71, !noalias !30242 .noexc.i.i: ; preds = %64 %66 = getelementptr inbounds nuw i8, ptr %60, i64 8 - %67 = load i64, ptr %66, align 8, !noalias !30235, !noundef !11 + %67 = load i64, ptr %66, align 8, !noalias !30241, !noundef !11 %68 = add i64 %67, -1 - store i64 %68, ptr %66, align 8, !noalias !30235 + store i64 %68, ptr %66, align 8, !noalias !30241 %69 = icmp eq i64 %68, 0 br i1 %69, label %70, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit.i.i" 70: ; preds = %.noexc.i.i - call void @__rust_dealloc(ptr noundef nonnull %60, i64 noundef 136, i64 noundef 8) #45, !noalias !30235 + call void @__rust_dealloc(ptr noundef nonnull %60, i64 noundef 136, i64 noundef 8) #45, !noalias !30241 br label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit.i.i" 71: ; preds = %64 @@ -112720,11 +112800,11 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle "_ZN4core3ptr144drop_in_place$LT$core..option..Option$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$$GT$17hb44fe697df1d548fE.exit": ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$29position_in_active_formatting28_$u7b$$u7b$closure$u7d$$u7d$17h32860e114d529e59E.exit.thread.i", %36, %57, %48, %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit.i.i" call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %3) - call void @llvm.experimental.noalias.scope.decl(metadata !30237) + call void @llvm.experimental.noalias.scope.decl(metadata !30243) %75 = getelementptr inbounds nuw i8, ptr %0, i64 96 - %76 = load ptr, ptr %75, align 8, !alias.scope !30237, !nonnull !11, !noundef !11 + %76 = load ptr, ptr %75, align 8, !alias.scope !30243, !nonnull !11, !noundef !11 %77 = getelementptr inbounds nuw i8, ptr %0, i64 104 - %78 = load i64, ptr %77, align 8, !alias.scope !30237, !noundef !11 + %78 = load i64, ptr %77, align 8, !alias.scope !30243, !noundef !11 %79 = getelementptr inbounds ptr, ptr %76, i64 %78 br label %80 @@ -112737,25 +112817,25 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle 83: ; preds = %80 %84 = getelementptr inbounds i8, ptr %81, i64 -8 %85 = add i64 %.sroa.03.0.i.i, -1 - %.val9.i.i = load ptr, ptr %84, align 8, !noalias !30240, !nonnull !11, !noundef !11 + %.val9.i.i = load ptr, ptr %84, align 8, !noalias !30246, !nonnull !11, !noundef !11 %86 = icmp eq ptr %..val, %.val9.i.i br i1 %86, label %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h222d25c33575a88eE.exit.i", label %80 "_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h222d25c33575a88eE.exit.i": ; preds = %83 %87 = icmp ult i64 %85, %78 call void @llvm.assume(i1 %87) - call void @llvm.experimental.noalias.scope.decl(metadata !30244) + call void @llvm.experimental.noalias.scope.decl(metadata !30250) %88 = getelementptr inbounds ptr, ptr %76, i64 %85 - %89 = load ptr, ptr %88, align 8, !noalias !30247, !nonnull !11, !noundef !11 + %89 = load ptr, ptr %88, align 8, !noalias !30253, !nonnull !11, !noundef !11 %90 = getelementptr inbounds nuw i8, ptr %88, i64 8 %91 = sub i64 %78, %.sroa.03.0.i.i %92 = shl i64 %91, 3 - call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %88, ptr nonnull align 8 %90, i64 %92, i1 false), !noalias !30247 + call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %88, ptr nonnull align 8 %90, i64 %92, i1 false), !noalias !30253 %93 = add i64 %78, -1 - store i64 %93, ptr %77, align 8, !alias.scope !30249, !noalias !30250 - %94 = load i64, ptr %89, align 8, !noalias !30251, !noundef !11 + store i64 %93, ptr %77, align 8, !alias.scope !30255, !noalias !30256 + %94 = load i64, ptr %89, align 8, !noalias !30257, !noundef !11 %95 = add i64 %94, -1 - store i64 %95, ptr %89, align 8, !noalias !30251 + store i64 %95, ptr %89, align 8, !noalias !30257 %96 = icmp eq i64 %95, 0 br i1 %96, label %97, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17remove_from_stack17hf35476a0839db787E.exit" @@ -112766,35 +112846,35 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle .noexc20: ; preds = %97 %99 = getelementptr inbounds nuw i8, ptr %89, i64 8 - %100 = load i64, ptr %99, align 8, !noalias !30251, !noundef !11 + %100 = load i64, ptr %99, align 8, !noalias !30257, !noundef !11 %101 = add i64 %100, -1 - store i64 %101, ptr %99, align 8, !noalias !30251 + store i64 %101, ptr %99, align 8, !noalias !30257 %102 = icmp eq i64 %101, 0 br i1 %102, label %103, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17remove_from_stack17hf35476a0839db787E.exit" 103: ; preds = %.noexc20 - call void @__rust_dealloc(ptr noundef nonnull %89, i64 noundef 136, i64 noundef 8) #45, !noalias !30251 + call void @__rust_dealloc(ptr noundef nonnull %89, i64 noundef 136, i64 noundef 8) #45, !noalias !30257 br label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17remove_from_stack17hf35476a0839db787E.exit" "_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17remove_from_stack17hf35476a0839db787E.exit": ; preds = %80, %103, %.noexc20, %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h222d25c33575a88eE.exit.i" - %104 = load i64, ptr %..val, align 8, !noalias !30256, !noundef !11 + %104 = load i64, ptr %..val, align 8, !noalias !30262, !noundef !11 %105 = add i64 %104, -1 - store i64 %105, ptr %..val, align 8, !noalias !30256 + store i64 %105, ptr %..val, align 8, !noalias !30262 %106 = icmp eq i64 %105, 0 br i1 %106, label %107, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit" 107: ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17remove_from_stack17hf35476a0839db787E.exit" %108 = getelementptr inbounds nuw i8, ptr %..val, i64 16 - call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17h1739d7a806ebb2d8E.llvm.13361645166614471590"(ptr noalias noundef nonnull align 8 dereferenceable(120) %108), !noalias !30256 + call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17h1739d7a806ebb2d8E.llvm.13361645166614471590"(ptr noalias noundef nonnull align 8 dereferenceable(120) %108), !noalias !30262 %109 = getelementptr inbounds nuw i8, ptr %..val, i64 8 - %110 = load i64, ptr %109, align 8, !noalias !30256, !noundef !11 + %110 = load i64, ptr %109, align 8, !noalias !30262, !noundef !11 %111 = add i64 %110, -1 - store i64 %111, ptr %109, align 8, !noalias !30256 + store i64 %111, ptr %109, align 8, !noalias !30262 %112 = icmp eq i64 %111, 0 br i1 %112, label %113, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit" 113: ; preds = %107 - call void @__rust_dealloc(ptr noundef nonnull %..val, i64 noundef 136, i64 noundef 8) #45, !noalias !30256 + call void @__rust_dealloc(ptr noundef nonnull %..val, i64 noundef 136, i64 noundef 8) #45, !noalias !30262 br label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit" 114: ; preds = %.body @@ -112937,16 +113017,16 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle 55: ; preds = %51, %87 %56 = phi i64 [ %52, %51 ], [ %.pre, %87 ] - call void @llvm.experimental.noalias.scope.decl(metadata !30261) + call void @llvm.experimental.noalias.scope.decl(metadata !30267) %57 = icmp ugt i64 %38, %56 br i1 %57, label %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$8truncate17h21654f5a5e85bc4bE.exit", label %58 58: ; preds = %55 %59 = sub nuw i64 %56, %38 - %60 = load ptr, ptr %6, align 8, !alias.scope !30261, !nonnull !11, !noundef !11 + %60 = load ptr, ptr %6, align 8, !alias.scope !30267, !nonnull !11, !noundef !11 %61 = getelementptr inbounds i8, ptr %60, i64 %37 - store i64 %38, ptr %8, align 8, !alias.scope !30261 - call void @llvm.experimental.noalias.scope.decl(metadata !30264) + store i64 %38, ptr %8, align 8, !alias.scope !30267 + call void @llvm.experimental.noalias.scope.decl(metadata !30270) %62 = icmp eq i64 %56, %38 br i1 %62, label %"_ZN5alloc3vec16Vec$LT$T$C$A$GT$8truncate17h21654f5a5e85bc4bE.exit", label %.lr.ph.i.i @@ -112954,30 +113034,30 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle %.sroa.0.07.i.i = phi i64 [ %64, %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit.i.i" ], [ 0, %58 ] %63 = getelementptr inbounds [0 x ptr], ptr %61, i64 0, i64 %.sroa.0.07.i.i %64 = add nuw i64 %.sroa.0.07.i.i, 1 - call void @llvm.experimental.noalias.scope.decl(metadata !30267) - call void @llvm.experimental.noalias.scope.decl(metadata !30270) - %65 = load ptr, ptr %63, align 8, !alias.scope !30273, !noalias !30261, !nonnull !11, !noundef !11 - %66 = load i64, ptr %65, align 8, !noalias !30274, !noundef !11 + call void @llvm.experimental.noalias.scope.decl(metadata !30273) + call void @llvm.experimental.noalias.scope.decl(metadata !30276) + %65 = load ptr, ptr %63, align 8, !alias.scope !30279, !noalias !30267, !nonnull !11, !noundef !11 + %66 = load i64, ptr %65, align 8, !noalias !30280, !noundef !11 %67 = add i64 %66, -1 - store i64 %67, ptr %65, align 8, !noalias !30274 + store i64 %67, ptr %65, align 8, !noalias !30280 %68 = icmp eq i64 %67, 0 br i1 %68, label %69, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit.i.i" 69: ; preds = %.lr.ph.i.i %70 = getelementptr inbounds nuw i8, ptr %65, i64 16 invoke void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17h1739d7a806ebb2d8E.llvm.13361645166614471590"(ptr noalias noundef nonnull align 8 dereferenceable(120) %70) - to label %.noexc.i.i unwind label %79, !noalias !30275 + to label %.noexc.i.i unwind label %79, !noalias !30281 .noexc.i.i: ; preds = %69 %71 = getelementptr inbounds nuw i8, ptr %65, i64 8 - %72 = load i64, ptr %71, align 8, !noalias !30274, !noundef !11 + %72 = load i64, ptr %71, align 8, !noalias !30280, !noundef !11 %73 = add i64 %72, -1 - store i64 %73, ptr %71, align 8, !noalias !30274 + store i64 %73, ptr %71, align 8, !noalias !30280 %74 = icmp eq i64 %73, 0 br i1 %74, label %75, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit.i.i" 75: ; preds = %.noexc.i.i - call void @__rust_dealloc(ptr noundef nonnull %65, i64 noundef 136, i64 noundef 8) #45, !noalias !30274 + call void @__rust_dealloc(ptr noundef nonnull %65, i64 noundef 136, i64 noundef 8) #45, !noalias !30280 br label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit.i.i" "_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit.i.i": ; preds = %75, %.noexc.i.i, %.lr.ph.i.i @@ -112998,12 +113078,12 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle %82 = getelementptr inbounds [0 x ptr], ptr %61, i64 0, i64 %.sroa.0.1.i.i %83 = add i64 %.sroa.0.1.i.i, 1 invoke void @"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"(ptr noalias noundef nonnull align 8 dereferenceable(8) %82) #46 - to label %77 unwind label %84, !noalias !30261 + to label %77 unwind label %84, !noalias !30267 84: ; preds = %81 %85 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer - call void @_ZN4core9panicking16panic_in_cleanup17hfa05ef7d5107e16aE() #47, !noalias !30261 + call void @_ZN4core9panicking16panic_in_cleanup17hfa05ef7d5107e16aE() #47, !noalias !30267 unreachable 86: ; preds = %54 @@ -113012,7 +113092,7 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle 87: ; preds = %86 call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %3) - %.pre = load i64, ptr %8, align 8, !alias.scope !30261 + %.pre = load i64, ptr %8, align 8, !alias.scope !30267 br label %55 88: ; preds = %.body @@ -113028,7 +113108,7 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle ; Function Attrs: nonlazybind uwtable define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$27generate_implied_end_except17h261400d4070f9f2eE"(ptr noalias noundef nonnull align 8 dereferenceable(192) %0, i64 noundef range(i64 1, 0) %1) unnamed_addr #0 personality ptr @rust_eh_personality { %3 = getelementptr inbounds nuw i8, ptr %0, i64 104 - %4 = load i64, ptr %3, align 8, !alias.scope !30276, !noalias !30279, !noundef !11 + %4 = load i64, ptr %3, align 8, !alias.scope !30282, !noalias !30285, !noundef !11 %.not5.i = icmp eq i64 %4, 0 br i1 %.not5.i, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$20generate_implied_end17hd7c87d8029612b52E.exit", label %.lr.ph.i @@ -113039,7 +113119,7 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle 7: ; preds = %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit.i", %.lr.ph.i %8 = phi i64 [ %4, %.lr.ph.i ], [ %38, %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit.i" ] - %9 = load ptr, ptr %5, align 8, !alias.scope !30276, !noalias !30279, !nonnull !11, !noundef !11 + %9 = load ptr, ptr %5, align 8, !alias.scope !30282, !noalias !30285, !nonnull !11, !noundef !11 %10 = add i64 %8, -1 %11 = getelementptr inbounds [0 x ptr], ptr %9, i64 0, i64 %10 %12 = invoke { ptr, ptr } @"_ZN91_$LT$markup5ever_rcdom..RcDom$u20$as$u20$markup5ever..interface..tree_builder..TreeSink$GT$9elem_name17h4e753bf026563d2eE"(ptr noalias noundef nonnull readonly align 8 dereferenceable(192) %0, ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %11) @@ -113053,7 +113133,7 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle "_ZN4core3ptr84drop_in_place$LT$string_cache..atom..Atom$LT$markup5ever..NamespaceStaticSet$GT$$GT$17h6a0fa63a3c9981d9E.llvm.16595843094761361803.exit3.i.i": ; preds = %.noexc %15 = extractvalue { ptr, ptr } %12, 1 - %16 = load i64, ptr %15, align 8, !range !3781, !alias.scope !30281, !noundef !11 + %16 = load i64, ptr %15, align 8, !range !3781, !alias.scope !30287, !noundef !11 %17 = icmp eq i64 %16, %1 br i1 %17, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$20generate_implied_end17hd7c87d8029612b52E.exit", label %18 @@ -113072,8 +113152,8 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle ] "_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$27generate_implied_end_except28_$u7b$$u7b$closure$u7d$$u7d$17h0ac289ec363654f1E.exit.i": ; preds = %18, %18, %18, %18, %18, %18, %18, %18, %18, %18 - tail call void @llvm.experimental.noalias.scope.decl(metadata !30284) - %19 = load i64, ptr %3, align 8, !alias.scope !30287, !noalias !30279, !noundef !11 + tail call void @llvm.experimental.noalias.scope.decl(metadata !30290) + %19 = load i64, ptr %3, align 8, !alias.scope !30293, !noalias !30285, !noundef !11 %20 = icmp eq i64 %19, 0 br i1 %20, label %21, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$3pop17h394cc4716a2f3cdaE.exit.i" @@ -113086,16 +113166,16 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle "_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$3pop17h394cc4716a2f3cdaE.exit.i": ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$27generate_implied_end_except28_$u7b$$u7b$closure$u7d$$u7d$17h0ac289ec363654f1E.exit.i" %22 = add i64 %19, -1 - store i64 %22, ptr %3, align 8, !alias.scope !30287, !noalias !30279 - %23 = load i64, ptr %6, align 8, !alias.scope !30287, !noalias !30279, !noundef !11 + store i64 %22, ptr %3, align 8, !alias.scope !30293, !noalias !30285 + %23 = load i64, ptr %6, align 8, !alias.scope !30293, !noalias !30285, !noundef !11 %24 = icmp ult i64 %22, %23 tail call void @llvm.assume(i1 %24) - %25 = load ptr, ptr %5, align 8, !alias.scope !30287, !noalias !30279, !nonnull !11, !noundef !11 + %25 = load ptr, ptr %5, align 8, !alias.scope !30293, !noalias !30285, !nonnull !11, !noundef !11 %26 = getelementptr inbounds ptr, ptr %25, i64 %22 - %27 = load ptr, ptr %26, align 8, !noalias !30288, !nonnull !11, !noundef !11 - %28 = load i64, ptr %27, align 8, !noalias !30289, !noundef !11 + %27 = load ptr, ptr %26, align 8, !noalias !30294, !nonnull !11, !noundef !11 + %28 = load i64, ptr %27, align 8, !noalias !30295, !noundef !11 %29 = add i64 %28, -1 - store i64 %29, ptr %27, align 8, !noalias !30289 + store i64 %29, ptr %27, align 8, !noalias !30295 %30 = icmp eq i64 %29, 0 br i1 %30, label %31, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit.i" @@ -113106,18 +113186,18 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle .noexc3: ; preds = %31 %33 = getelementptr inbounds nuw i8, ptr %27, i64 8 - %34 = load i64, ptr %33, align 8, !noalias !30289, !noundef !11 + %34 = load i64, ptr %33, align 8, !noalias !30295, !noundef !11 %35 = add i64 %34, -1 - store i64 %35, ptr %33, align 8, !noalias !30289 + store i64 %35, ptr %33, align 8, !noalias !30295 %36 = icmp eq i64 %35, 0 br i1 %36, label %37, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit.i" 37: ; preds = %.noexc3 - tail call void @__rust_dealloc(ptr noundef nonnull %27, i64 noundef 136, i64 noundef 8) #45, !noalias !30289 + tail call void @__rust_dealloc(ptr noundef nonnull %27, i64 noundef 136, i64 noundef 8) #45, !noalias !30295 br label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit.i" "_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit.i": ; preds = %37, %.noexc3, %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$3pop17h394cc4716a2f3cdaE.exit.i" - %38 = load i64, ptr %3, align 8, !alias.scope !30276, !noalias !30279, !noundef !11 + %38 = load i64, ptr %3, align 8, !alias.scope !30282, !noalias !30285, !noundef !11 %.not.i = icmp eq i64 %38, 0 br i1 %.not.i, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$20generate_implied_end17hd7c87d8029612b52E.exit", label %7 @@ -113149,19 +113229,19 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle br i1 %46, label %47, label %"_ZN4core3ptr84drop_in_place$LT$string_cache..atom..Atom$LT$markup5ever..LocalNameStaticSet$GT$$GT$17hce00844e8c1e6f00E.exit" 47: ; preds = %42 - %48 = tail call noundef ptr @_ZN4core4sync6atomic11atomic_load17hf6ae17783efc19dfE.llvm.5997636334944773990(ptr noundef nonnull getelementptr inbounds nuw (i8, ptr @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, i64 16), i8 noundef 2), !noalias !30294 + %48 = tail call noundef ptr @_ZN4core4sync6atomic11atomic_load17hf6ae17783efc19dfE.llvm.5997636334944773990(ptr noundef nonnull getelementptr inbounds nuw (i8, ptr @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, i64 16), i8 noundef 2), !noalias !30300 %.not.i.i.i.i = icmp eq ptr %48, inttoptr (i64 2 to ptr) br i1 %.not.i.i.i.i, label %"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h734fc4935bbafb8fE.exit.i.i", label %49 49: ; preds = %47 - tail call void @"_ZN9once_cell3imp17OnceCell$LT$T$GT$10initialize17h2106f0dc51d20ab9E"(ptr noundef nonnull align 8 @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, ptr noundef nonnull align 8 @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E), !noalias !30294 - %50 = load ptr, ptr @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, align 8, !noalias !30294, !noundef !11 + tail call void @"_ZN9once_cell3imp17OnceCell$LT$T$GT$10initialize17h2106f0dc51d20ab9E"(ptr noundef nonnull align 8 @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, ptr noundef nonnull align 8 @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E), !noalias !30300 + %50 = load ptr, ptr @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, align 8, !noalias !30300, !noundef !11 %51 = icmp ne ptr %50, null tail call void @llvm.assume(i1 %51) br label %"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h734fc4935bbafb8fE.exit.i.i" "_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h734fc4935bbafb8fE.exit.i.i": ; preds = %49, %47 - tail call void @_ZN12string_cache11dynamic_set3Set6remove17h358d1c715f07230eE(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, ptr noundef nonnull %43), !noalias !30294 + tail call void @_ZN12string_cache11dynamic_set3Set6remove17h358d1c715f07230eE(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) @_ZN12string_cache11dynamic_set11DYNAMIC_SET17h9e98e538ba0bdcd7E, ptr noundef nonnull %43), !noalias !30300 br label %"_ZN4core3ptr84drop_in_place$LT$string_cache..atom..Atom$LT$markup5ever..LocalNameStaticSet$GT$$GT$17hce00844e8c1e6f00E.exit" "_ZN4core3ptr84drop_in_place$LT$string_cache..atom..Atom$LT$markup5ever..LocalNameStaticSet$GT$$GT$17hce00844e8c1e6f00E.exit": ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$20generate_implied_end17hd7c87d8029612b52E.exit", %42, %"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h734fc4935bbafb8fE.exit.i.i" @@ -113203,7 +113283,7 @@ define internal fastcc noundef nonnull ptr @"_ZN9html5ever12tree_builder32TreeBu %.sroa.3.040 = phi i64 [ undef, %.lr.ph ], [ %.sroa.3.1, %91 ] %.sroa.4.039 = phi ptr [ %14, %.lr.ph ], [ %17, %91 ] %17 = getelementptr inbounds i8, ptr %.sroa.4.039, i64 -48 - %18 = load i64, ptr %17, align 8, !range !23, !noalias !30297, !noundef !11 + %18 = load i64, ptr %17, align 8, !range !23, !noalias !30303, !noundef !11 %19 = icmp eq i64 %18, -9223372036854775808 br i1 %19, label %._crit_edge, label %21 @@ -113247,7 +113327,7 @@ define internal fastcc noundef nonnull ptr @"_ZN9html5ever12tree_builder32TreeBu to label %31 unwind label %.loopexit.split-lp 29: ; preds = %27 - tail call void @llvm.experimental.noalias.scope.decl(metadata !30301) + tail call void @llvm.experimental.noalias.scope.decl(metadata !30307) %.not.i = icmp ult i64 %.sroa.3.0.lcssa.ph, %12 br i1 %.not.i, label %32, label %30 @@ -113263,45 +113343,45 @@ define internal fastcc noundef nonnull ptr @"_ZN9html5ever12tree_builder32TreeBu 32: ; preds = %29 %33 = getelementptr inbounds { i64, [5 x i64] }, ptr %10, i64 %.sroa.3.0.lcssa.ph - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %7, ptr noundef nonnull align 8 dereferenceable(48) %33, i64 48, i1 false), !noalias !30304 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %7, ptr noundef nonnull align 8 dereferenceable(48) %33, i64 48, i1 false), !noalias !30310 %34 = getelementptr inbounds nuw i8, ptr %33, i64 48 %35 = xor i64 %.sroa.3.0.lcssa.ph, -1 %36 = add i64 %12, %35 %37 = mul i64 %36, 48 - tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %33, ptr nonnull align 8 %34, i64 %37, i1 false), !noalias !30306 + tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %33, ptr nonnull align 8 %34, i64 %37, i1 false), !noalias !30312 %38 = add i64 %12, -1 - store i64 %38, ptr %11, align 8, !alias.scope !30301, !noalias !30308 - tail call void @llvm.experimental.noalias.scope.decl(metadata !30309) - %39 = load i64, ptr %7, align 8, !range !23, !alias.scope !30309, !noundef !11 + store i64 %38, ptr %11, align 8, !alias.scope !30307, !noalias !30314 + tail call void @llvm.experimental.noalias.scope.decl(metadata !30315) + %39 = load i64, ptr %7, align 8, !range !23, !alias.scope !30315, !noundef !11 %.not.i19 = icmp eq i64 %39, -9223372036854775808 br i1 %.not.i19, label %"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17hfb1c6cc9311857e8E.exit", label %40 40: ; preds = %32 %41 = getelementptr inbounds nuw i8, ptr %7, i64 40 - tail call void @llvm.experimental.noalias.scope.decl(metadata !30312) - tail call void @llvm.experimental.noalias.scope.decl(metadata !30315) - %42 = load ptr, ptr %41, align 8, !alias.scope !30318, !nonnull !11, !noundef !11 - %43 = load i64, ptr %42, align 8, !noalias !30318, !noundef !11 + tail call void @llvm.experimental.noalias.scope.decl(metadata !30318) + tail call void @llvm.experimental.noalias.scope.decl(metadata !30321) + %42 = load ptr, ptr %41, align 8, !alias.scope !30324, !nonnull !11, !noundef !11 + %43 = load i64, ptr %42, align 8, !noalias !30324, !noundef !11 %44 = add i64 %43, -1 - store i64 %44, ptr %42, align 8, !noalias !30318 + store i64 %44, ptr %42, align 8, !noalias !30324 %45 = icmp eq i64 %44, 0 br i1 %45, label %46, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit.i" 46: ; preds = %40 %47 = getelementptr inbounds nuw i8, ptr %42, i64 16 invoke void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17h1739d7a806ebb2d8E.llvm.13361645166614471590"(ptr noalias noundef nonnull align 8 dereferenceable(120) %47) - to label %.noexc.i unwind label %53, !noalias !30309 + to label %.noexc.i unwind label %53, !noalias !30315 .noexc.i: ; preds = %46 %48 = getelementptr inbounds nuw i8, ptr %42, i64 8 - %49 = load i64, ptr %48, align 8, !noalias !30318, !noundef !11 + %49 = load i64, ptr %48, align 8, !noalias !30324, !noundef !11 %50 = add i64 %49, -1 - store i64 %50, ptr %48, align 8, !noalias !30318 + store i64 %50, ptr %48, align 8, !noalias !30324 %51 = icmp eq i64 %50, 0 br i1 %51, label %52, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit.i" 52: ; preds = %.noexc.i - tail call void @__rust_dealloc(ptr noundef nonnull %42, i64 noundef 136, i64 noundef 8) #45, !noalias !30318 + tail call void @__rust_dealloc(ptr noundef nonnull %42, i64 noundef 136, i64 noundef 8) #45, !noalias !30324 br label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit.i" 53: ; preds = %46 @@ -113373,14 +113453,14 @@ define internal fastcc noundef nonnull ptr @"_ZN9html5ever12tree_builder32TreeBu call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %3, ptr noundef nonnull align 8 dereferenceable(40) %1, i64 40, i1 false) %73 = getelementptr inbounds nuw i8, ptr %3, i64 40 store ptr %67, ptr %73, align 8 - %74 = load i64, ptr %11, align 8, !alias.scope !30319, !noalias !30322, !noundef !11 - %75 = load i64, ptr %8, align 8, !alias.scope !30319, !noalias !30322, !noundef !11 + %74 = load i64, ptr %11, align 8, !alias.scope !30325, !noalias !30328, !noundef !11 + %75 = load i64, ptr %8, align 8, !alias.scope !30325, !noalias !30328, !noundef !11 %76 = icmp eq i64 %74, %75 br i1 %76, label %77, label %82 77: ; preds = %"_ZN65_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h7079571cf84e57ddE.exit" invoke void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$8grow_one17hd0874c9ef15fee4eE"(ptr noalias noundef nonnull align 8 dereferenceable(24) %8) - to label %82 unwind label %78, !noalias !30322 + to label %82 unwind label %78, !noalias !30328 78: ; preds = %77 %79 = landingpad { ptr, i32 } @@ -113395,11 +113475,11 @@ define internal fastcc noundef nonnull ptr @"_ZN9html5ever12tree_builder32TreeBu unreachable 82: ; preds = %77, %"_ZN65_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h7079571cf84e57ddE.exit" - %83 = load ptr, ptr %9, align 8, !alias.scope !30319, !noalias !30322, !nonnull !11, !noundef !11 + %83 = load ptr, ptr %9, align 8, !alias.scope !30325, !noalias !30328, !nonnull !11, !noundef !11 %84 = getelementptr inbounds { i64, [5 x i64] }, ptr %83, i64 %74 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %84, ptr noundef nonnull align 8 dereferenceable(48) %3, i64 48, i1 false) %85 = add i64 %74, 1 - store i64 %85, ptr %11, align 8, !alias.scope !30319, !noalias !30322 + store i64 %85, ptr %11, align 8, !alias.scope !30325, !noalias !30328 call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %3) call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %6) ret ptr %67 @@ -113693,27 +113773,27 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle br label %102 102: ; preds = %"_ZN65_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h7079571cf84e57ddE.exit25", %100, %51 - call void @llvm.experimental.noalias.scope.decl(metadata !30324) - call void @llvm.experimental.noalias.scope.decl(metadata !30327) - %103 = load ptr, ptr %5, align 8, !alias.scope !30330, !nonnull !11, !noundef !11 - %104 = load i64, ptr %103, align 8, !noalias !30330, !noundef !11 + call void @llvm.experimental.noalias.scope.decl(metadata !30330) + call void @llvm.experimental.noalias.scope.decl(metadata !30333) + %103 = load ptr, ptr %5, align 8, !alias.scope !30336, !nonnull !11, !noundef !11 + %104 = load i64, ptr %103, align 8, !noalias !30336, !noundef !11 %105 = add i64 %104, -1 - store i64 %105, ptr %103, align 8, !noalias !30330 + store i64 %105, ptr %103, align 8, !noalias !30336 %106 = icmp eq i64 %105, 0 br i1 %106, label %107, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit28" 107: ; preds = %102 %108 = getelementptr inbounds nuw i8, ptr %103, i64 16 - call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17h1739d7a806ebb2d8E.llvm.13361645166614471590"(ptr noalias noundef nonnull align 8 dereferenceable(120) %108), !noalias !30330 + call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17h1739d7a806ebb2d8E.llvm.13361645166614471590"(ptr noalias noundef nonnull align 8 dereferenceable(120) %108), !noalias !30336 %109 = getelementptr inbounds nuw i8, ptr %103, i64 8 - %110 = load i64, ptr %109, align 8, !noalias !30330, !noundef !11 + %110 = load i64, ptr %109, align 8, !noalias !30336, !noundef !11 %111 = add i64 %110, -1 - store i64 %111, ptr %109, align 8, !noalias !30330 + store i64 %111, ptr %109, align 8, !noalias !30336 %112 = icmp eq i64 %111, 0 br i1 %112, label %113, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit28" 113: ; preds = %107 - call void @__rust_dealloc(ptr noundef nonnull %103, i64 noundef 136, i64 noundef 8) #45, !noalias !30330 + call void @__rust_dealloc(ptr noundef nonnull %103, i64 noundef 136, i64 noundef 8) #45, !noalias !30336 br label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit28" "_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit28": ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15html_elem_named17ha665fb2b5a70699cE.exit.thread", %102, %107, %113, %131, %125, %"_ZN65_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h7079571cf84e57ddE.exit27" @@ -113743,27 +113823,27 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle %120 = getelementptr inbounds nuw i8, ptr %0, i64 8 store ptr %.val, ptr %120, align 8 store i64 0, ptr %0, align 8 - call void @llvm.experimental.noalias.scope.decl(metadata !30331) - call void @llvm.experimental.noalias.scope.decl(metadata !30334) - %121 = load ptr, ptr %5, align 8, !alias.scope !30337, !nonnull !11, !noundef !11 - %122 = load i64, ptr %121, align 8, !noalias !30337, !noundef !11 + call void @llvm.experimental.noalias.scope.decl(metadata !30337) + call void @llvm.experimental.noalias.scope.decl(metadata !30340) + %121 = load ptr, ptr %5, align 8, !alias.scope !30343, !nonnull !11, !noundef !11 + %122 = load i64, ptr %121, align 8, !noalias !30343, !noundef !11 %123 = add i64 %122, -1 - store i64 %123, ptr %121, align 8, !noalias !30337 + store i64 %123, ptr %121, align 8, !noalias !30343 %124 = icmp eq i64 %123, 0 br i1 %124, label %125, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit28" 125: ; preds = %"_ZN65_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h7079571cf84e57ddE.exit27" %126 = getelementptr inbounds nuw i8, ptr %121, i64 16 - call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17h1739d7a806ebb2d8E.llvm.13361645166614471590"(ptr noalias noundef nonnull align 8 dereferenceable(120) %126), !noalias !30337 + call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17h1739d7a806ebb2d8E.llvm.13361645166614471590"(ptr noalias noundef nonnull align 8 dereferenceable(120) %126), !noalias !30343 %127 = getelementptr inbounds nuw i8, ptr %121, i64 8 - %128 = load i64, ptr %127, align 8, !noalias !30337, !noundef !11 + %128 = load i64, ptr %127, align 8, !noalias !30343, !noundef !11 %129 = add i64 %128, -1 - store i64 %129, ptr %127, align 8, !noalias !30337 + store i64 %129, ptr %127, align 8, !noalias !30343 %130 = icmp eq i64 %129, 0 br i1 %130, label %131, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit28" 131: ; preds = %125 - call void @__rust_dealloc(ptr noundef nonnull %121, i64 noundef 136, i64 noundef 8) #45, !noalias !30337 + call void @__rust_dealloc(ptr noundef nonnull %121, i64 noundef 136, i64 noundef 8) #45, !noalias !30343 br label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit28" 132: ; preds = %.body @@ -113818,32 +113898,32 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle ret void 15: ; preds = %10 - call void @llvm.experimental.noalias.scope.decl(metadata !30338) - call void @llvm.experimental.noalias.scope.decl(metadata !30341) call void @llvm.experimental.noalias.scope.decl(metadata !30344) call void @llvm.experimental.noalias.scope.decl(metadata !30347) - %16 = load ptr, ptr %9, align 8, !alias.scope !30350, !nonnull !11, !noundef !11 - %17 = load i64, ptr %16, align 8, !noalias !30350, !noundef !11 + call void @llvm.experimental.noalias.scope.decl(metadata !30350) + call void @llvm.experimental.noalias.scope.decl(metadata !30353) + %16 = load ptr, ptr %9, align 8, !alias.scope !30356, !nonnull !11, !noundef !11 + %17 = load i64, ptr %16, align 8, !noalias !30356, !noundef !11 %18 = add i64 %17, -1 - store i64 %18, ptr %16, align 8, !noalias !30350 + store i64 %18, ptr %16, align 8, !noalias !30356 %19 = icmp eq i64 %18, 0 br i1 %19, label %20, label %"_ZN4core3ptr144drop_in_place$LT$core..option..Option$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$$GT$17hb44fe697df1d548fE.exit5" 20: ; preds = %15 %21 = getelementptr inbounds nuw i8, ptr %16, i64 16 invoke void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17h1739d7a806ebb2d8E.llvm.13361645166614471590"(ptr noalias noundef nonnull align 8 dereferenceable(120) %21) - to label %.noexc.i.i4 unwind label %27, !noalias !30351 + to label %.noexc.i.i4 unwind label %27, !noalias !30357 .noexc.i.i4: ; preds = %20 %22 = getelementptr inbounds nuw i8, ptr %16, i64 8 - %23 = load i64, ptr %22, align 8, !noalias !30350, !noundef !11 + %23 = load i64, ptr %22, align 8, !noalias !30356, !noundef !11 %24 = add i64 %23, -1 - store i64 %24, ptr %22, align 8, !noalias !30350 + store i64 %24, ptr %22, align 8, !noalias !30356 %25 = icmp eq i64 %24, 0 br i1 %25, label %26, label %"_ZN4core3ptr144drop_in_place$LT$core..option..Option$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$$GT$17hb44fe697df1d548fE.exit5" 26: ; preds = %.noexc.i.i4 - call void @__rust_dealloc(ptr noundef nonnull %16, i64 noundef 136, i64 noundef 8) #45, !noalias !30350 + call void @__rust_dealloc(ptr noundef nonnull %16, i64 noundef 136, i64 noundef 8) #45, !noalias !30356 br label %"_ZN4core3ptr144drop_in_place$LT$core..option..Option$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$$GT$17hb44fe697df1d548fE.exit5" 27: ; preds = %20 @@ -113884,7 +113964,7 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle 7: ; preds = %6 call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %5) %8 = getelementptr inbounds nuw i8, ptr %1, i64 104 - %9 = load i64, ptr %8, align 8, !alias.scope !30352, !noundef !11 + %9 = load i64, ptr %8, align 8, !alias.scope !30358, !noundef !11 %.not.i10 = icmp eq i64 %9, 0 br i1 %.not.i10, label %.invoke, label %.lr.ph @@ -113895,7 +113975,7 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle 12: ; preds = %.lr.ph, %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit" %13 = phi i64 [ %9, %.lr.ph ], [ %46, %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit" ] - %14 = load ptr, ptr %10, align 8, !alias.scope !30352, !nonnull !11, !noundef !11 + %14 = load ptr, ptr %10, align 8, !alias.scope !30358, !nonnull !11, !noundef !11 %15 = add i64 %13, -1 %16 = getelementptr inbounds [0 x ptr], ptr %14, i64 0, i64 %15 %17 = invoke { ptr, ptr } @"_ZN91_$LT$markup5ever_rcdom..RcDom$u20$as$u20$markup5ever..interface..tree_builder..TreeSink$GT$9elem_name17h4e753bf026563d2eE"(ptr noalias noundef nonnull readonly align 8 dereferenceable(192) %1, ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %16) @@ -113912,7 +113992,7 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle ] 20: ; preds = %.noexc2 - %21 = load i64, ptr %19, align 8, !alias.scope !30355, !noundef !11 + %21 = load i64, ptr %19, align 8, !alias.scope !30361, !noundef !11 switch i64 %21, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15current_node_in17h259940200d9b9e2dE.exit" [ i64 3448858738690, label %"_ZN4core3ptr84drop_in_place$LT$string_cache..atom..Atom$LT$markup5ever..NamespaceStaticSet$GT$$GT$17h6a0fa63a3c9981d9E.llvm.16595843094761361803.exit3.i.i" i64 3753801416706, label %"_ZN4core3ptr84drop_in_place$LT$string_cache..atom..Atom$LT$markup5ever..NamespaceStaticSet$GT$$GT$17h6a0fa63a3c9981d9E.llvm.16595843094761361803.exit3.i.i" @@ -113922,7 +114002,7 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle ] 22: ; preds = %.noexc2 - %23 = load i64, ptr %19, align 8, !alias.scope !30355, !noundef !11 + %23 = load i64, ptr %19, align 8, !alias.scope !30361, !noundef !11 switch i64 %23, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15current_node_in17h259940200d9b9e2dE.exit" [ i64 1194000908290, label %"_ZN4core3ptr84drop_in_place$LT$string_cache..atom..Atom$LT$markup5ever..NamespaceStaticSet$GT$$GT$17h6a0fa63a3c9981d9E.llvm.16595843094761361803.exit3.i.i" i64 2993592205314, label %"_ZN4core3ptr84drop_in_place$LT$string_cache..atom..Atom$LT$markup5ever..NamespaceStaticSet$GT$$GT$17h6a0fa63a3c9981d9E.llvm.16595843094761361803.exit3.i.i" @@ -113930,8 +114010,8 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle ] "_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15current_node_in17h259940200d9b9e2dE.exit": ; preds = %20, %.noexc2, %22 - call void @llvm.experimental.noalias.scope.decl(metadata !30358) - %24 = load i64, ptr %8, align 8, !alias.scope !30358, !noundef !11 + call void @llvm.experimental.noalias.scope.decl(metadata !30364) + %24 = load i64, ptr %8, align 8, !alias.scope !30364, !noundef !11 %25 = icmp eq i64 %24, 0 br i1 %25, label %.invoke, label %29 @@ -113954,16 +114034,16 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle 29: ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15current_node_in17h259940200d9b9e2dE.exit" %30 = add i64 %24, -1 - store i64 %30, ptr %8, align 8, !alias.scope !30358 - %31 = load i64, ptr %11, align 8, !alias.scope !30358, !noundef !11 + store i64 %30, ptr %8, align 8, !alias.scope !30364 + %31 = load i64, ptr %11, align 8, !alias.scope !30364, !noundef !11 %32 = icmp ult i64 %30, %31 call void @llvm.assume(i1 %32) - %33 = load ptr, ptr %10, align 8, !alias.scope !30358, !nonnull !11, !noundef !11 + %33 = load ptr, ptr %10, align 8, !alias.scope !30364, !nonnull !11, !noundef !11 %34 = getelementptr inbounds ptr, ptr %33, i64 %30 - %35 = load ptr, ptr %34, align 8, !noalias !30358, !nonnull !11, !noundef !11 - %36 = load i64, ptr %35, align 8, !noalias !30361, !noundef !11 + %35 = load ptr, ptr %34, align 8, !noalias !30364, !nonnull !11, !noundef !11 + %36 = load i64, ptr %35, align 8, !noalias !30367, !noundef !11 %37 = add i64 %36, -1 - store i64 %37, ptr %35, align 8, !noalias !30361 + store i64 %37, ptr %35, align 8, !noalias !30367 %38 = icmp eq i64 %37, 0 br i1 %38, label %39, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit" @@ -113974,18 +114054,18 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle .noexc4: ; preds = %39 %41 = getelementptr inbounds nuw i8, ptr %35, i64 8 - %42 = load i64, ptr %41, align 8, !noalias !30361, !noundef !11 + %42 = load i64, ptr %41, align 8, !noalias !30367, !noundef !11 %43 = add i64 %42, -1 - store i64 %43, ptr %41, align 8, !noalias !30361 + store i64 %43, ptr %41, align 8, !noalias !30367 %44 = icmp eq i64 %43, 0 br i1 %44, label %45, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit" 45: ; preds = %.noexc4 - call void @__rust_dealloc(ptr noundef nonnull %35, i64 noundef 136, i64 noundef 8) #45, !noalias !30361 + call void @__rust_dealloc(ptr noundef nonnull %35, i64 noundef 136, i64 noundef 8) #45, !noalias !30367 br label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit" "_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit": ; preds = %45, %.noexc4, %29 - %46 = load i64, ptr %8, align 8, !alias.scope !30352, !noundef !11 + %46 = load i64, ptr %8, align 8, !alias.scope !30358, !noundef !11 %.not.i = icmp eq i64 %46, 0 br i1 %.not.i, label %.invoke, label %12 @@ -114528,18 +114608,18 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle 381: ; preds = %387, %.noexc542 %382 = landingpad { ptr, i32 } cleanup - call void @llvm.experimental.noalias.scope.decl(metadata !30366) - call void @llvm.experimental.noalias.scope.decl(metadata !30369) call void @llvm.experimental.noalias.scope.decl(metadata !30372) call void @llvm.experimental.noalias.scope.decl(metadata !30375) - %383 = load i64, ptr %8, align 8, !alias.scope !30378, !noalias !30381, !noundef !11 + call void @llvm.experimental.noalias.scope.decl(metadata !30378) + call void @llvm.experimental.noalias.scope.decl(metadata !30381) + %383 = load i64, ptr %8, align 8, !alias.scope !30384, !noalias !30387, !noundef !11 %384 = icmp eq i64 %383, 0 br i1 %384, label %.thread, label %"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17hb66d9ce94201aa99E.llvm.13361645166614471590.exit.i.i1.i.i.i" "_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17hb66d9ce94201aa99E.llvm.13361645166614471590.exit.i.i1.i.i.i": ; preds = %381 %385 = getelementptr inbounds nuw i8, ptr %8, i64 8 - %386 = load ptr, ptr %385, align 8, !alias.scope !30378, !noalias !30381, !nonnull !11, !noundef !11 - call void @__rust_dealloc(ptr noundef nonnull %386, i64 noundef %383, i64 noundef 1) #45, !noalias !30383 + %386 = load ptr, ptr %385, align 8, !alias.scope !30384, !noalias !30387, !nonnull !11, !noundef !11 + call void @__rust_dealloc(ptr noundef nonnull %386, i64 noundef %383, i64 noundef 1) #45, !noalias !30389 br label %.thread 387: ; preds = %.noexc542 @@ -114558,18 +114638,18 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle 392: ; preds = %387 call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %10) call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %7) - call void @llvm.experimental.noalias.scope.decl(metadata !30384) - call void @llvm.experimental.noalias.scope.decl(metadata !30387) call void @llvm.experimental.noalias.scope.decl(metadata !30390) call void @llvm.experimental.noalias.scope.decl(metadata !30393) - %393 = load i64, ptr %8, align 8, !alias.scope !30396, !noalias !30399, !noundef !11 + call void @llvm.experimental.noalias.scope.decl(metadata !30396) + call void @llvm.experimental.noalias.scope.decl(metadata !30399) + %393 = load i64, ptr %8, align 8, !alias.scope !30402, !noalias !30405, !noundef !11 %394 = icmp eq i64 %393, 0 br i1 %394, label %"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hc8b4444378140e4fE.exit17.i", label %"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17hb66d9ce94201aa99E.llvm.13361645166614471590.exit.i.i1.i.i16.i" "_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17hb66d9ce94201aa99E.llvm.13361645166614471590.exit.i.i1.i.i16.i": ; preds = %392 %395 = getelementptr inbounds nuw i8, ptr %8, i64 8 - %396 = load ptr, ptr %395, align 8, !alias.scope !30396, !noalias !30399, !nonnull !11, !noundef !11 - call void @__rust_dealloc(ptr noundef nonnull %396, i64 noundef %393, i64 noundef 1) #45, !noalias !30401 + %396 = load ptr, ptr %395, align 8, !alias.scope !30402, !noalias !30405, !nonnull !11, !noundef !11 + call void @__rust_dealloc(ptr noundef nonnull %396, i64 noundef %393, i64 noundef 1) #45, !noalias !30407 br label %"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hc8b4444378140e4fE.exit17.i" "_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hc8b4444378140e4fE.exit17.i": ; preds = %"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17hb66d9ce94201aa99E.llvm.13361645166614471590.exit.i.i1.i.i16.i", %392 @@ -114924,7 +115004,7 @@ default.unreachable1100: ; preds = %2768, %2747, %2716, %525 = getelementptr inbounds nuw i8, ptr %1, i64 185 store i8 0, ptr %525, align 1 %526 = getelementptr inbounds nuw i8, ptr %1, i64 32 - store i8 0, ptr %526, align 8, !alias.scope !30402 + store i8 0, ptr %526, align 8, !alias.scope !30408 br label %519 527: ; preds = %1965, %.body558, %1017, %541, %678, %972, %997, %1208, %1211, %1316, %1455, %1580, %1606, %1640, %1651, %2245, %2822, %2785, %2759, %2737, %2706, %2643, %2611, %2607, %2594, %2442, %2419, %2400, %2342, %2319, %2299, %2257, %2244, %2241, %.thread1021, %2200, %2173, %2163, %2151, %2111, %2090, %2062, %2001, %1991, %.thread993, %1989, %1913, %1896, %1879, %1845, %1829, %1821, %1791, %1790, %1763, %1750, %1696, %1695, %1688, %1650, %1639, %1636, %1611, %1605, %1602, %1579, %1576, %1492, %1470, %1454, %1451, %1401, %1380, %1362, %1346, %1335, %1329, %1315, %1303, %1285, %1275, %1264, %1250, %1244, %1237, %1220, %.thread759, %1139, %1137, %1115, %1105, %1086, %1079, %1071, %1059, %1035, %1032, %996, %994, %923, %917, %906, %882, %876, %834, %825, %814, %779, %773, %762, %722, %696, %677, %634, %624, %613, %576, %571, %560, %521 @@ -115542,8 +115622,8 @@ default.unreachable1100: ; preds = %2768, %2747, %2716, store i8 17, ptr %703, align 2 %704 = getelementptr inbounds nuw i8, ptr %1, i64 40 %705 = getelementptr inbounds nuw i8, ptr %1, i64 56 - %706 = load i64, ptr %705, align 8, !alias.scope !30405, !noundef !11 - %707 = load i64, ptr %704, align 8, !alias.scope !30405, !noundef !11 + %706 = load i64, ptr %705, align 8, !alias.scope !30411, !noundef !11 + %707 = load i64, ptr %704, align 8, !alias.scope !30411, !noundef !11 %708 = icmp eq i64 %706, %707 br i1 %708, label %709, label %710 @@ -115553,11 +115633,11 @@ default.unreachable1100: ; preds = %2768, %2747, %2716, 710: ; preds = %701, %709 %711 = getelementptr inbounds nuw i8, ptr %1, i64 48 - %712 = load ptr, ptr %711, align 8, !alias.scope !30405, !nonnull !11, !noundef !11 + %712 = load ptr, ptr %711, align 8, !alias.scope !30411, !nonnull !11, !noundef !11 %713 = getelementptr inbounds i8, ptr %712, i64 %706 store i8 17, ptr %713, align 1 %714 = add i64 %706, 1 - store i64 %714, ptr %705, align 8, !alias.scope !30405 + store i64 %714, ptr %705, align 8, !alias.scope !30411 store i64 -9223372036854775804, ptr %0, align 8 br label %2789 @@ -116150,7 +116230,7 @@ default.unreachable1100: ; preds = %2768, %2747, %2716, 881: ; preds = %880 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %316) - %.val536 = load ptr, ptr %318, align 8, !alias.scope !29869, !noalias !29872 + %.val536 = load ptr, ptr %318, align 8, !alias.scope !29875, !noalias !29878 invoke fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17remove_from_stack17hf35476a0839db787E"(ptr noalias noundef align 8 dereferenceable(192) %1, ptr %.val536) to label %884 unwind label %882 @@ -118426,7 +118506,7 @@ default.unreachable1100: ; preds = %2768, %2747, %2716, "_ZN65_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h7079571cf84e57ddE.exit553": ; preds = %1483 store ptr %.val491, ptr %268, align 8 - %.val535 = load ptr, ptr %271, align 8, !alias.scope !29869, !noalias !29872 + %.val535 = load ptr, ptr %271, align 8, !alias.scope !29875, !noalias !29878 invoke fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17remove_from_stack17hf35476a0839db787E"(ptr noalias noundef align 8 dereferenceable(192) %1, ptr %.val535) to label %1494 unwind label %1492 @@ -119942,10 +120022,10 @@ default.unreachable1100: ; preds = %2768, %2747, %2716, "_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17ha3b177a4167b32f2E.exit": ; preds = %"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17ha3b177a4167b32f2E.exit.lr.ph", %1957 %1942 = phi ptr [ %1920, %"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17ha3b177a4167b32f2E.exit.lr.ph" ], [ %1959, %1957 ] - call void @llvm.experimental.noalias.scope.decl(metadata !30408) + call void @llvm.experimental.noalias.scope.decl(metadata !30414) %1943 = getelementptr inbounds nuw i8, ptr %1942, i64 24 - store ptr %1943, ptr %.sroa.2613.0..sroa_idx, align 8, !alias.scope !30408, !noalias !30411 - %.sroa.0619.0.copyload = load i8, ptr %1942, align 8, !noalias !30408 + store ptr %1943, ptr %.sroa.2613.0..sroa_idx, align 8, !alias.scope !30414, !noalias !30417 + %.sroa.0619.0.copyload = load i8, ptr %1942, align 8, !noalias !30414 %1944 = icmp eq i8 %.sroa.0619.0.copyload, 3 br i1 %1944, label %"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17ha3b177a4167b32f2E.exit.thread", label %1945 @@ -119961,11 +120041,11 @@ default.unreachable1100: ; preds = %2768, %2747, %2716, store i64 1, ptr %55, align 8 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %6) invoke fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$31appropriate_place_for_insertion17h0fc09c862c7da3f5E"(ptr noalias noundef align 8 captures(none) dereferenceable(24) %6, ptr noalias noundef nonnull align 8 dereferenceable(192) %1, ptr noundef null) - to label %1947 unwind label %1948, !noalias !30413 + to label %1947 unwind label %1948, !noalias !30419 1947: ; preds = %1945 - call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %5), !noalias !30416 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull readonly align 8 dereferenceable(24) %55, i64 24, i1 false), !noalias !30418 + call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %5), !noalias !30422 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull readonly align 8 dereferenceable(24) %55, i64 24, i1 false), !noalias !30424 invoke fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$9insert_at17hd411e51c64d46847E"(ptr noalias noundef nonnull align 8 dereferenceable(192) %1, ptr noalias noundef align 8 captures(none) dereferenceable(24) %6, ptr noalias noundef align 8 captures(none) dereferenceable(24) %5) to label %1956 unwind label %1940 @@ -119978,7 +120058,7 @@ default.unreachable1100: ; preds = %2768, %2747, %2716, 1950: ; preds = %1948 %1951 = landingpad { ptr, i32 } filter [0 x ptr] zeroinitializer - call void @_ZN4core9panicking16panic_in_cleanup17hfa05ef7d5107e16aE() #47, !noalias !30413 + call void @_ZN4core9panicking16panic_in_cleanup17hfa05ef7d5107e16aE() #47, !noalias !30419 unreachable "_ZN4core3ptr165drop_in_place$LT$alloc..vec..into_iter..IntoIter$LT$$LP$html5ever..tree_builder..types..SplitStatus$C$tendril..tendril..Tendril$LT$tendril..fmt..UTF8$GT$$RP$$GT$$GT$17h10ffaa1fc0c8f3d7E.exit556": ; preds = %"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17ha3b177a4167b32f2E.exit.thread" @@ -119993,7 +120073,7 @@ default.unreachable1100: ; preds = %2768, %2747, %2716, br i1 %1955, label %1973, label %1974 1956: ; preds = %1947 - call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %5), !noalias !30416 + call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %5), !noalias !30422 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %6) call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %55) store i64 -9223372036854775804, ptr %164, align 8 @@ -120002,8 +120082,8 @@ default.unreachable1100: ; preds = %2768, %2747, %2716, 1957: ; preds = %1956 call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %164) - %1958 = load ptr, ptr %.sroa.4615.0..sroa_idx, align 8, !alias.scope !30419, !noalias !30411, !nonnull !11, !noundef !11 - %1959 = load ptr, ptr %.sroa.2613.0..sroa_idx, align 8, !alias.scope !30419, !noalias !30411, !nonnull !11, !noundef !11 + %1958 = load ptr, ptr %.sroa.4615.0..sroa_idx, align 8, !alias.scope !30425, !noalias !30417, !nonnull !11, !noundef !11 + %1959 = load ptr, ptr %.sroa.2613.0..sroa_idx, align 8, !alias.scope !30425, !noalias !30417, !nonnull !11, !noundef !11 %1960 = icmp eq ptr %1959, %1958 br i1 %1960, label %"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17ha3b177a4167b32f2E.exit.thread", label %"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17ha3b177a4167b32f2E.exit" @@ -120038,10 +120118,10 @@ default.unreachable1100: ; preds = %2768, %2747, %2716, "_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17ha3b177a4167b32f2E.exit565": ; preds = %"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17ha3b177a4167b32f2E.exit565.lr.ph", %1985 %1968 = phi ptr [ %1920, %"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17ha3b177a4167b32f2E.exit565.lr.ph" ], [ %1987, %1985 ] - call void @llvm.experimental.noalias.scope.decl(metadata !30421) + call void @llvm.experimental.noalias.scope.decl(metadata !30427) %1969 = getelementptr inbounds nuw i8, ptr %1968, i64 24 - store ptr %1969, ptr %.sroa.2.0..sroa_idx604, align 8, !alias.scope !30421, !noalias !30424 - %.sroa.0610.0.copyload = load i8, ptr %1968, align 8, !noalias !30421 + store ptr %1969, ptr %.sroa.2.0..sroa_idx604, align 8, !alias.scope !30427, !noalias !30430 + %.sroa.0610.0.copyload = load i8, ptr %1968, align 8, !noalias !30427 %1970 = icmp eq i8 %.sroa.0610.0.copyload, 3 br i1 %1970, label %"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17ha3b177a4167b32f2E.exit565.thread", label %1971 @@ -120101,8 +120181,8 @@ default.unreachable1100: ; preds = %2768, %2747, %2716, 1985: ; preds = %1979 call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %168) - %1986 = load ptr, ptr %.sroa.4606.0..sroa_idx, align 8, !alias.scope !30426, !noalias !30424, !nonnull !11, !noundef !11 - %1987 = load ptr, ptr %.sroa.2.0..sroa_idx604, align 8, !alias.scope !30426, !noalias !30424, !nonnull !11, !noundef !11 + %1986 = load ptr, ptr %.sroa.4606.0..sroa_idx, align 8, !alias.scope !30432, !noalias !30430, !nonnull !11, !noundef !11 + %1987 = load ptr, ptr %.sroa.2.0..sroa_idx604, align 8, !alias.scope !30432, !noalias !30430, !nonnull !11, !noundef !11 %1988 = icmp eq ptr %1987, %1986 br i1 %1988, label %"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17ha3b177a4167b32f2E.exit565.thread", label %"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17ha3b177a4167b32f2E.exit565" @@ -121805,7 +121885,7 @@ default.unreachable1100: ; preds = %2768, %2747, %2716, %2485 = getelementptr inbounds nuw i8, ptr %1, i64 56 %2486 = load i64, ptr %2485, align 8, !noundef !11 %2487 = icmp eq i64 %2486, 0 - %.pre1098 = load i64, ptr %2484, align 8, !alias.scope !30428 + %.pre1098 = load i64, ptr %2484, align 8, !alias.scope !30434 br i1 %2487, label %2506, label %2503 2488: ; preds = %2479 @@ -121813,7 +121893,7 @@ default.unreachable1100: ; preds = %2768, %2747, %2716, %2490 = getelementptr inbounds nuw i8, ptr %1, i64 56 %2491 = load i64, ptr %2490, align 8, !noundef !11 %2492 = icmp eq i64 %2491, 0 - %.pre1097 = load i64, ptr %2489, align 8, !alias.scope !30431 + %.pre1097 = load i64, ptr %2489, align 8, !alias.scope !30437 br i1 %2492, label %2519, label %2516 2493: ; preds = %2479 @@ -121821,7 +121901,7 @@ default.unreachable1100: ; preds = %2768, %2747, %2716, %2495 = getelementptr inbounds nuw i8, ptr %1, i64 56 %2496 = load i64, ptr %2495, align 8, !noundef !11 %2497 = icmp eq i64 %2496, 0 - %.pre1096 = load i64, ptr %2494, align 8, !alias.scope !30434 + %.pre1096 = load i64, ptr %2494, align 8, !alias.scope !30440 br i1 %2497, label %2532, label %2529 2498: ; preds = %2479, %2479 @@ -121829,7 +121909,7 @@ default.unreachable1100: ; preds = %2768, %2747, %2716, %2500 = getelementptr inbounds nuw i8, ptr %1, i64 56 %2501 = load i64, ptr %2500, align 8, !noundef !11 %2502 = icmp eq i64 %2501, 0 - %.pre = load i64, ptr %2499, align 8, !alias.scope !30437 + %.pre = load i64, ptr %2499, align 8, !alias.scope !30443 br i1 %2502, label %2545, label %2542 2503: ; preds = %2483 @@ -121850,11 +121930,11 @@ default.unreachable1100: ; preds = %2768, %2747, %2716, 2510: ; preds = %2506, %2509 %2511 = getelementptr inbounds nuw i8, ptr %1, i64 48 - %2512 = load ptr, ptr %2511, align 8, !alias.scope !30428, !nonnull !11, !noundef !11 + %2512 = load ptr, ptr %2511, align 8, !alias.scope !30434, !nonnull !11, !noundef !11 %2513 = getelementptr inbounds i8, ptr %2512, i64 %2507 store i8 8, ptr %2513, align 1 %2514 = add nuw i64 %2507, 1 - store i64 %2514, ptr %2485, align 8, !alias.scope !30428 + store i64 %2514, ptr %2485, align 8, !alias.scope !30434 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %0, ptr noundef nonnull align 8 dereferenceable(40) %3, i64 40, i1 false) %2515 = getelementptr inbounds nuw i8, ptr %0, i64 40 store i8 8, ptr %2515, align 8 @@ -121878,11 +121958,11 @@ default.unreachable1100: ; preds = %2768, %2747, %2716, 2523: ; preds = %2519, %2522 %2524 = getelementptr inbounds nuw i8, ptr %1, i64 48 - %2525 = load ptr, ptr %2524, align 8, !alias.scope !30431, !nonnull !11, !noundef !11 + %2525 = load ptr, ptr %2524, align 8, !alias.scope !30437, !nonnull !11, !noundef !11 %2526 = getelementptr inbounds i8, ptr %2525, i64 %2520 store i8 11, ptr %2526, align 1 %2527 = add nuw i64 %2520, 1 - store i64 %2527, ptr %2490, align 8, !alias.scope !30431 + store i64 %2527, ptr %2490, align 8, !alias.scope !30437 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %0, ptr noundef nonnull align 8 dereferenceable(40) %3, i64 40, i1 false) %2528 = getelementptr inbounds nuw i8, ptr %0, i64 40 store i8 11, ptr %2528, align 8 @@ -121906,11 +121986,11 @@ default.unreachable1100: ; preds = %2768, %2747, %2716, 2536: ; preds = %2532, %2535 %2537 = getelementptr inbounds nuw i8, ptr %1, i64 48 - %2538 = load ptr, ptr %2537, align 8, !alias.scope !30434, !nonnull !11, !noundef !11 + %2538 = load ptr, ptr %2537, align 8, !alias.scope !30440, !nonnull !11, !noundef !11 %2539 = getelementptr inbounds i8, ptr %2538, i64 %2533 store i8 12, ptr %2539, align 1 %2540 = add nuw i64 %2533, 1 - store i64 %2540, ptr %2495, align 8, !alias.scope !30434 + store i64 %2540, ptr %2495, align 8, !alias.scope !30440 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %0, ptr noundef nonnull align 8 dereferenceable(40) %3, i64 40, i1 false) %2541 = getelementptr inbounds nuw i8, ptr %0, i64 40 store i8 12, ptr %2541, align 8 @@ -121934,11 +122014,11 @@ default.unreachable1100: ; preds = %2768, %2747, %2716, 2549: ; preds = %2545, %2548 %2550 = getelementptr inbounds nuw i8, ptr %1, i64 48 - %2551 = load ptr, ptr %2550, align 8, !alias.scope !30437, !nonnull !11, !noundef !11 + %2551 = load ptr, ptr %2550, align 8, !alias.scope !30443, !nonnull !11, !noundef !11 %2552 = getelementptr inbounds i8, ptr %2551, i64 %2546 store i8 13, ptr %2552, align 1 %2553 = add nuw i64 %2546, 1 - store i64 %2553, ptr %2500, align 8, !alias.scope !30437 + store i64 %2553, ptr %2500, align 8, !alias.scope !30443 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %0, ptr noundef nonnull align 8 dereferenceable(40) %3, i64 40, i1 false) %2554 = getelementptr inbounds nuw i8, ptr %0, i64 40 store i8 13, ptr %2554, align 8 @@ -122025,7 +122105,7 @@ default.unreachable1100: ; preds = %2768, %2747, %2716, %2584 = getelementptr inbounds nuw i8, ptr %1, i64 56 %2585 = load i64, ptr %2584, align 8, !noundef !11 %2586 = icmp eq i64 %2585, 0 - %.pre1099 = load i64, ptr %2583, align 8, !alias.scope !30440 + %.pre1099 = load i64, ptr %2583, align 8, !alias.scope !30446 br i1 %2586, label %2590, label %2587 2587: ; preds = %2582 @@ -122052,11 +122132,11 @@ default.unreachable1100: ; preds = %2768, %2747, %2716, 2596: ; preds = %2590, %2593 %2597 = getelementptr inbounds nuw i8, ptr %1, i64 48 - %2598 = load ptr, ptr %2597, align 8, !alias.scope !30440, !nonnull !11, !noundef !11 + %2598 = load ptr, ptr %2597, align 8, !alias.scope !30446, !nonnull !11, !noundef !11 %2599 = getelementptr inbounds i8, ptr %2598, i64 %2591 store i8 6, ptr %2599, align 1 %2600 = add nuw i64 %2591, 1 - store i64 %2600, ptr %2584, align 8, !alias.scope !30440 + store i64 %2600, ptr %2584, align 8, !alias.scope !30446 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %0, ptr noundef nonnull align 8 dereferenceable(40) %95, i64 40, i1 false) %2601 = getelementptr inbounds nuw i8, ptr %0, i64 40 store i8 6, ptr %2601, align 8 @@ -122714,10 +122794,10 @@ default.unreachable1100: ; preds = %2768, %2747, %2716, 2805: ; preds = %2800 %2806 = getelementptr inbounds nuw i8, ptr %2803, i64 8 - %.sroa.02.0.i11.i.i = load i32, ptr %2806, align 4, !noalias !30443, !noundef !11 - %2807 = load i64, ptr %2803, align 8, !noalias !30448, !noundef !11 + %.sroa.02.0.i11.i.i = load i32, ptr %2806, align 4, !noalias !30449, !noundef !11 + %2807 = load i64, ptr %2803, align 8, !noalias !30454, !noundef !11 %2808 = add i64 %2807, -1 - store i64 %2808, ptr %2803, align 8, !noalias !30448 + store i64 %2808, ptr %2803, align 8, !noalias !30454 %2809 = icmp eq i64 %2807, 1 br i1 %2809, label %.sink.split.i.i, label %"_ZN4core3ptr72drop_in_place$LT$tendril..tendril..Tendril$LT$tendril..fmt..UTF8$GT$$GT$17heca79b98e70f71cfE.exit" @@ -122727,7 +122807,7 @@ default.unreachable1100: ; preds = %2768, %2747, %2716, %.sink.in.in.i.i = add nuw nsw i64 %.sink.in.in.in.i.i, 15 %.sink.in.i.i = and i64 %.sink.in.in.i.i, 8589934576 %.sink.i.i = add nuw nsw i64 %.sink.in.i.i, 16 - call void @__rust_dealloc(ptr noundef nonnull %2803, i64 noundef %.sink.i.i, i64 noundef 8) #45, !noalias !30448 + call void @__rust_dealloc(ptr noundef nonnull %2803, i64 noundef %.sink.i.i, i64 noundef 8) #45, !noalias !30454 br label %"_ZN4core3ptr72drop_in_place$LT$tendril..tendril..Tendril$LT$tendril..fmt..UTF8$GT$$GT$17heca79b98e70f71cfE.exit" .thread633.sink.split: ; preds = %2820, %2818 @@ -122836,24 +122916,24 @@ define internal fastcc noundef zeroext i1 @"_ZN9html5ever12tree_builder32TreeBui "_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$7elem_in17hf7216f64f5ef98d0E.exit.i": ; preds = %20, %18, %.noexc.i %.sroa.0.0.i.i.i.i = phi i1 [ true, %20 ], [ false, %18 ], [ false, %.noexc.i ] - %23 = load i64, ptr %.val, align 8, !noalias !30449, !noundef !11 + %23 = load i64, ptr %.val, align 8, !noalias !30455, !noundef !11 %24 = add i64 %23, -1 - store i64 %24, ptr %.val, align 8, !noalias !30449 + store i64 %24, ptr %.val, align 8, !noalias !30455 %25 = icmp eq i64 %24, 0 br i1 %25, label %26, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$4step28_$u7b$$u7b$closure$u7d$$u7d$17h5c7d233aebfc5e49E.exit" 26: ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$7elem_in17hf7216f64f5ef98d0E.exit.i" %27 = getelementptr inbounds nuw i8, ptr %.val, i64 16 - call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17h1739d7a806ebb2d8E.llvm.13361645166614471590"(ptr noalias noundef nonnull align 8 dereferenceable(120) %27), !noalias !30449 + call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17h1739d7a806ebb2d8E.llvm.13361645166614471590"(ptr noalias noundef nonnull align 8 dereferenceable(120) %27), !noalias !30455 %28 = getelementptr inbounds nuw i8, ptr %.val, i64 8 - %29 = load i64, ptr %28, align 8, !noalias !30449, !noundef !11 + %29 = load i64, ptr %28, align 8, !noalias !30455, !noundef !11 %30 = add i64 %29, -1 - store i64 %30, ptr %28, align 8, !noalias !30449 + store i64 %30, ptr %28, align 8, !noalias !30455 %31 = icmp eq i64 %30, 0 br i1 %31, label %32, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$4step28_$u7b$$u7b$closure$u7d$$u7d$17h5c7d233aebfc5e49E.exit" 32: ; preds = %26 - call void @__rust_dealloc(ptr noundef nonnull %.val, i64 noundef 136, i64 noundef 8) #45, !noalias !30449 + call void @__rust_dealloc(ptr noundef nonnull %.val, i64 noundef 136, i64 noundef 8) #45, !noalias !30455 br label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$4step28_$u7b$$u7b$closure$u7d$$u7d$17h5c7d233aebfc5e49E.exit" 33: ; preds = %21 @@ -122952,24 +123032,24 @@ define internal fastcc noundef zeroext i1 @"_ZN9html5ever12tree_builder32TreeBui "_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$7elem_in17h42acc267136b6c29E.exit.i": ; preds = %18, %.noexc.i %.sroa.0.0.i.i.i.i = phi i1 [ %switch.selectcmp.i.i.i.i, %18 ], [ false, %.noexc.i ] - %22 = load i64, ptr %.val, align 8, !noalias !30454, !noundef !11 + %22 = load i64, ptr %.val, align 8, !noalias !30460, !noundef !11 %23 = add i64 %22, -1 - store i64 %23, ptr %.val, align 8, !noalias !30454 + store i64 %23, ptr %.val, align 8, !noalias !30460 %24 = icmp eq i64 %23, 0 br i1 %24, label %25, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$4step28_$u7b$$u7b$closure$u7d$$u7d$17hc1ee0651543ecc6dE.exit" 25: ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$7elem_in17h42acc267136b6c29E.exit.i" %26 = getelementptr inbounds nuw i8, ptr %.val, i64 16 - call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17h1739d7a806ebb2d8E.llvm.13361645166614471590"(ptr noalias noundef nonnull align 8 dereferenceable(120) %26), !noalias !30454 + call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17h1739d7a806ebb2d8E.llvm.13361645166614471590"(ptr noalias noundef nonnull align 8 dereferenceable(120) %26), !noalias !30460 %27 = getelementptr inbounds nuw i8, ptr %.val, i64 8 - %28 = load i64, ptr %27, align 8, !noalias !30454, !noundef !11 + %28 = load i64, ptr %27, align 8, !noalias !30460, !noundef !11 %29 = add i64 %28, -1 - store i64 %29, ptr %27, align 8, !noalias !30454 + store i64 %29, ptr %27, align 8, !noalias !30460 %30 = icmp eq i64 %29, 0 br i1 %30, label %31, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$4step28_$u7b$$u7b$closure$u7d$$u7d$17hc1ee0651543ecc6dE.exit" 31: ; preds = %25 - call void @__rust_dealloc(ptr noundef nonnull %.val, i64 noundef 136, i64 noundef 8) #45, !noalias !30454 + call void @__rust_dealloc(ptr noundef nonnull %.val, i64 noundef 136, i64 noundef 8) #45, !noalias !30460 br label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$4step28_$u7b$$u7b$closure$u7d$$u7d$17hc1ee0651543ecc6dE.exit" 32: ; preds = %20 @@ -123075,24 +123155,24 @@ define internal fastcc noundef zeroext i1 @"_ZN9html5ever12tree_builder32TreeBui "_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$7elem_in17hc1e6ebcfb02b9660E.exit.i": ; preds = %20, %18, %.noexc.i %.sroa.0.0.i.i.i.i = phi i1 [ true, %20 ], [ false, %18 ], [ false, %.noexc.i ] - %23 = load i64, ptr %.val, align 8, !noalias !30459, !noundef !11 + %23 = load i64, ptr %.val, align 8, !noalias !30465, !noundef !11 %24 = add i64 %23, -1 - store i64 %24, ptr %.val, align 8, !noalias !30459 + store i64 %24, ptr %.val, align 8, !noalias !30465 %25 = icmp eq i64 %24, 0 br i1 %25, label %26, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$4step28_$u7b$$u7b$closure$u7d$$u7d$17hcd8db056ecba53cbE.exit" 26: ; preds = %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$7elem_in17hc1e6ebcfb02b9660E.exit.i" %27 = getelementptr inbounds nuw i8, ptr %.val, i64 16 - call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17h1739d7a806ebb2d8E.llvm.13361645166614471590"(ptr noalias noundef nonnull align 8 dereferenceable(120) %27), !noalias !30459 + call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17h1739d7a806ebb2d8E.llvm.13361645166614471590"(ptr noalias noundef nonnull align 8 dereferenceable(120) %27), !noalias !30465 %28 = getelementptr inbounds nuw i8, ptr %.val, i64 8 - %29 = load i64, ptr %28, align 8, !noalias !30459, !noundef !11 + %29 = load i64, ptr %28, align 8, !noalias !30465, !noundef !11 %30 = add i64 %29, -1 - store i64 %30, ptr %28, align 8, !noalias !30459 + store i64 %30, ptr %28, align 8, !noalias !30465 %31 = icmp eq i64 %30, 0 br i1 %31, label %32, label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$4step28_$u7b$$u7b$closure$u7d$$u7d$17hcd8db056ecba53cbE.exit" 32: ; preds = %26 - call void @__rust_dealloc(ptr noundef nonnull %.val, i64 noundef 136, i64 noundef 8) #45, !noalias !30459 + call void @__rust_dealloc(ptr noundef nonnull %.val, i64 noundef 136, i64 noundef 8) #45, !noalias !30465 br label %"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$4step28_$u7b$$u7b$closure$u7d$$u7d$17hcd8db056ecba53cbE.exit" 33: ; preds = %21 @@ -123116,7 +123196,7 @@ _ZN4core3ops8function2Fn4call17h9e9d84ddd0eb7cb7E.exit.thread: ; preds = %_ZN4co %37 = call { ptr, ptr } @"_ZN91_$LT$markup5ever_rcdom..RcDom$u20$as$u20$markup5ever..interface..tree_builder..TreeSink$GT$9elem_name17h4e753bf026563d2eE"(ptr noalias noundef nonnull readonly align 8 dereferenceable(40) %0, ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %10) %38 = extractvalue { ptr, ptr } %37, 0 %39 = extractvalue { ptr, ptr } %37, 1 - %.val5 = load i64, ptr %38, align 8, !alias.scope !30464, !noalias !30467, !noundef !11 + %.val5 = load i64, ptr %38, align 8, !alias.scope !30470, !noalias !30473, !noundef !11 %.val6 = load i64, ptr %39, align 8 switch i64 %.val5, label %_ZN4core3ops8function2Fn4call17h9e9d84ddd0eb7cb7E.exit [ i64 30064771074, label %40 @@ -123198,7 +123278,7 @@ _ZN4core3ops8function2Fn4call17h9e9d84ddd0eb7cb7E.exit.thread: ; preds = %_ZN4co %16 = tail call { ptr, ptr } @"_ZN91_$LT$markup5ever_rcdom..RcDom$u20$as$u20$markup5ever..interface..tree_builder..TreeSink$GT$9elem_name17h4e753bf026563d2eE"(ptr noalias noundef nonnull readonly align 8 dereferenceable(40) %0, ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %10) %17 = extractvalue { ptr, ptr } %16, 0 %18 = extractvalue { ptr, ptr } %16, 1 - %.val5 = load i64, ptr %17, align 8, !alias.scope !30464, !noalias !30467, !noundef !11 + %.val5 = load i64, ptr %17, align 8, !alias.scope !30470, !noalias !30473, !noundef !11 %.val6 = load i64, ptr %18, align 8 switch i64 %.val5, label %_ZN4core3ops8function2Fn4call17h9e9d84ddd0eb7cb7E.exit [ i64 30064771074, label %19 @@ -123318,24 +123398,24 @@ default.unreachable6: ; preds = %3 to label %34 unwind label %32 20: ; preds = %10 - %21 = load i64, ptr %11, align 8, !noalias !30469, !noundef !11 + %21 = load i64, ptr %11, align 8, !noalias !30475, !noundef !11 %22 = add i64 %21, -1 - store i64 %22, ptr %11, align 8, !noalias !30469 + store i64 %22, ptr %11, align 8, !noalias !30475 %23 = icmp eq i64 %22, 0 br i1 %23, label %24, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit" 24: ; preds = %20 %25 = getelementptr inbounds nuw i8, ptr %11, i64 16 - call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17h1739d7a806ebb2d8E.llvm.13361645166614471590"(ptr noalias noundef nonnull align 8 dereferenceable(120) %25), !noalias !30469 + call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17h1739d7a806ebb2d8E.llvm.13361645166614471590"(ptr noalias noundef nonnull align 8 dereferenceable(120) %25), !noalias !30475 %26 = getelementptr inbounds nuw i8, ptr %11, i64 8 - %27 = load i64, ptr %26, align 8, !noalias !30469, !noundef !11 + %27 = load i64, ptr %26, align 8, !noalias !30475, !noundef !11 %28 = add i64 %27, -1 - store i64 %28, ptr %26, align 8, !noalias !30469 + store i64 %28, ptr %26, align 8, !noalias !30475 %29 = icmp eq i64 %28, 0 br i1 %29, label %30, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit" 30: ; preds = %24 - call void @__rust_dealloc(ptr noundef nonnull %11, i64 noundef 136, i64 noundef 8) #45, !noalias !30469 + call void @__rust_dealloc(ptr noundef nonnull %11, i64 noundef 136, i64 noundef 8) #45, !noalias !30475 br label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit" "_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit": ; preds = %20, %24, %30 @@ -123362,24 +123442,24 @@ default.unreachable6: ; preds = %3 to label %34 unwind label %32 37: ; preds = %12 - %38 = load i64, ptr %13, align 8, !noalias !30474, !noundef !11 + %38 = load i64, ptr %13, align 8, !noalias !30480, !noundef !11 %39 = add i64 %38, -1 - store i64 %39, ptr %13, align 8, !noalias !30474 + store i64 %39, ptr %13, align 8, !noalias !30480 %40 = icmp eq i64 %39, 0 br i1 %40, label %41, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit3" 41: ; preds = %37 %42 = getelementptr inbounds nuw i8, ptr %13, i64 16 - call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17h1739d7a806ebb2d8E.llvm.13361645166614471590"(ptr noalias noundef nonnull align 8 dereferenceable(120) %42), !noalias !30474 + call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17h1739d7a806ebb2d8E.llvm.13361645166614471590"(ptr noalias noundef nonnull align 8 dereferenceable(120) %42), !noalias !30480 %43 = getelementptr inbounds nuw i8, ptr %13, i64 8 - %44 = load i64, ptr %43, align 8, !noalias !30474, !noundef !11 + %44 = load i64, ptr %43, align 8, !noalias !30480, !noundef !11 %45 = add i64 %44, -1 - store i64 %45, ptr %43, align 8, !noalias !30474 + store i64 %45, ptr %43, align 8, !noalias !30480 %46 = icmp eq i64 %45, 0 br i1 %46, label %47, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit3" 47: ; preds = %41 - call void @__rust_dealloc(ptr noundef nonnull %13, i64 noundef 136, i64 noundef 8) #45, !noalias !30474 + call void @__rust_dealloc(ptr noundef nonnull %13, i64 noundef 136, i64 noundef 8) #45, !noalias !30480 br label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit3" "_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit3": ; preds = %37, %41, %47 @@ -123393,9 +123473,9 @@ default.unreachable6: ; preds = %3 to label %61 unwind label %32 50: ; preds = %14 - %51 = load i64, ptr %17, align 8, !noalias !30479, !noundef !11 + %51 = load i64, ptr %17, align 8, !noalias !30485, !noundef !11 %52 = add i64 %51, -1 - store i64 %52, ptr %17, align 8, !noalias !30479 + store i64 %52, ptr %17, align 8, !noalias !30485 %53 = icmp eq i64 %52, 0 br i1 %53, label %54, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit4" @@ -123406,14 +123486,14 @@ default.unreachable6: ; preds = %3 .noexc: ; preds = %54 %56 = getelementptr inbounds nuw i8, ptr %17, i64 8 - %57 = load i64, ptr %56, align 8, !noalias !30479, !noundef !11 + %57 = load i64, ptr %56, align 8, !noalias !30485, !noundef !11 %58 = add i64 %57, -1 - store i64 %58, ptr %56, align 8, !noalias !30479 + store i64 %58, ptr %56, align 8, !noalias !30485 %59 = icmp eq i64 %58, 0 br i1 %59, label %60, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit4" 60: ; preds = %.noexc - call void @__rust_dealloc(ptr noundef nonnull %17, i64 noundef 136, i64 noundef 8) #45, !noalias !30479 + call void @__rust_dealloc(ptr noundef nonnull %17, i64 noundef 136, i64 noundef 8) #45, !noalias !30485 br label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit4" 61: ; preds = %62, %48 @@ -123428,27 +123508,27 @@ default.unreachable6: ; preds = %3 "_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit4": ; preds = %60, %.noexc, %50 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %4) - call void @llvm.experimental.noalias.scope.decl(metadata !30484) - call void @llvm.experimental.noalias.scope.decl(metadata !30487) - %64 = load ptr, ptr %5, align 8, !alias.scope !30490, !nonnull !11, !noundef !11 - %65 = load i64, ptr %64, align 8, !noalias !30490, !noundef !11 + call void @llvm.experimental.noalias.scope.decl(metadata !30490) + call void @llvm.experimental.noalias.scope.decl(metadata !30493) + %64 = load ptr, ptr %5, align 8, !alias.scope !30496, !nonnull !11, !noundef !11 + %65 = load i64, ptr %64, align 8, !noalias !30496, !noundef !11 %66 = add i64 %65, -1 - store i64 %66, ptr %64, align 8, !noalias !30490 + store i64 %66, ptr %64, align 8, !noalias !30496 %67 = icmp eq i64 %66, 0 br i1 %67, label %68, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit5" 68: ; preds = %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit4" %69 = getelementptr inbounds nuw i8, ptr %64, i64 16 - call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17h1739d7a806ebb2d8E.llvm.13361645166614471590"(ptr noalias noundef nonnull align 8 dereferenceable(120) %69), !noalias !30490 + call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17h1739d7a806ebb2d8E.llvm.13361645166614471590"(ptr noalias noundef nonnull align 8 dereferenceable(120) %69), !noalias !30496 %70 = getelementptr inbounds nuw i8, ptr %64, i64 8 - %71 = load i64, ptr %70, align 8, !noalias !30490, !noundef !11 + %71 = load i64, ptr %70, align 8, !noalias !30496, !noundef !11 %72 = add i64 %71, -1 - store i64 %72, ptr %70, align 8, !noalias !30490 + store i64 %72, ptr %70, align 8, !noalias !30496 %73 = icmp eq i64 %72, 0 br i1 %73, label %74, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit5" 74: ; preds = %68 - call void @__rust_dealloc(ptr noundef nonnull %64, i64 noundef 136, i64 noundef 8) #45, !noalias !30490 + call void @__rust_dealloc(ptr noundef nonnull %64, i64 noundef 136, i64 noundef 8) #45, !noalias !30496 br label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit5" "_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit5": ; preds = %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit4", %68, %74 @@ -123512,27 +123592,27 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle ] 24: ; preds = %22, %19 - call void @llvm.experimental.noalias.scope.decl(metadata !30491) - call void @llvm.experimental.noalias.scope.decl(metadata !30494) - %25 = load ptr, ptr %2, align 8, !alias.scope !30497, !nonnull !11, !noundef !11 - %26 = load i64, ptr %25, align 8, !noalias !30497, !noundef !11 + call void @llvm.experimental.noalias.scope.decl(metadata !30497) + call void @llvm.experimental.noalias.scope.decl(metadata !30500) + %25 = load ptr, ptr %2, align 8, !alias.scope !30503, !nonnull !11, !noundef !11 + %26 = load i64, ptr %25, align 8, !noalias !30503, !noundef !11 %27 = add i64 %26, -1 - store i64 %27, ptr %25, align 8, !noalias !30497 + store i64 %27, ptr %25, align 8, !noalias !30503 %28 = icmp eq i64 %27, 0 br i1 %28, label %29, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit" 29: ; preds = %24 %30 = getelementptr inbounds nuw i8, ptr %25, i64 16 - call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17h1739d7a806ebb2d8E.llvm.13361645166614471590"(ptr noalias noundef nonnull align 8 dereferenceable(120) %30), !noalias !30497 + call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17h1739d7a806ebb2d8E.llvm.13361645166614471590"(ptr noalias noundef nonnull align 8 dereferenceable(120) %30), !noalias !30503 %31 = getelementptr inbounds nuw i8, ptr %25, i64 8 - %32 = load i64, ptr %31, align 8, !noalias !30497, !noundef !11 + %32 = load i64, ptr %31, align 8, !noalias !30503, !noundef !11 %33 = add i64 %32, -1 - store i64 %33, ptr %31, align 8, !noalias !30497 + store i64 %33, ptr %31, align 8, !noalias !30503 %34 = icmp eq i64 %33, 0 br i1 %34, label %35, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit" 35: ; preds = %29 - call void @__rust_dealloc(ptr noundef nonnull %25, i64 noundef 136, i64 noundef 8) #45, !noalias !30497 + call void @__rust_dealloc(ptr noundef nonnull %25, i64 noundef 136, i64 noundef 8) #45, !noalias !30503 br label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit" "_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit": ; preds = %24, %29, %35 @@ -123542,27 +123622,27 @@ define internal fastcc void @"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle br i1 %37, label %.loopexit, label %8 _ZN4core3ops8function2Fn4call17he785be51df0dfacaE.exit: ; preds = %22, %22, %22, %22, %22, %22 - call void @llvm.experimental.noalias.scope.decl(metadata !30498) - call void @llvm.experimental.noalias.scope.decl(metadata !30501) - %38 = load ptr, ptr %2, align 8, !alias.scope !30504, !nonnull !11, !noundef !11 - %39 = load i64, ptr %38, align 8, !noalias !30504, !noundef !11 + call void @llvm.experimental.noalias.scope.decl(metadata !30504) + call void @llvm.experimental.noalias.scope.decl(metadata !30507) + %38 = load ptr, ptr %2, align 8, !alias.scope !30510, !nonnull !11, !noundef !11 + %39 = load i64, ptr %38, align 8, !noalias !30510, !noundef !11 %40 = add i64 %39, -1 - store i64 %40, ptr %38, align 8, !noalias !30504 + store i64 %40, ptr %38, align 8, !noalias !30510 %41 = icmp eq i64 %40, 0 br i1 %41, label %42, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit7" 42: ; preds = %_ZN4core3ops8function2Fn4call17he785be51df0dfacaE.exit %43 = getelementptr inbounds nuw i8, ptr %38, i64 16 - call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17h1739d7a806ebb2d8E.llvm.13361645166614471590"(ptr noalias noundef nonnull align 8 dereferenceable(120) %43), !noalias !30504 + call void @"_ZN4core3ptr44drop_in_place$LT$markup5ever_rcdom..Node$GT$17h1739d7a806ebb2d8E.llvm.13361645166614471590"(ptr noalias noundef nonnull align 8 dereferenceable(120) %43), !noalias !30510 %44 = getelementptr inbounds nuw i8, ptr %38, i64 8 - %45 = load i64, ptr %44, align 8, !noalias !30504, !noundef !11 + %45 = load i64, ptr %44, align 8, !noalias !30510, !noundef !11 %46 = add i64 %45, -1 - store i64 %46, ptr %44, align 8, !noalias !30504 + store i64 %46, ptr %44, align 8, !noalias !30510 %47 = icmp eq i64 %46, 0 br i1 %47, label %48, label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit7" 48: ; preds = %42 - call void @__rust_dealloc(ptr noundef nonnull %38, i64 noundef 136, i64 noundef 8) #45, !noalias !30504 + call void @__rust_dealloc(ptr noundef nonnull %38, i64 noundef 136, i64 noundef 8) #45, !noalias !30510 br label %"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit7" "_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E.exit7": ; preds = %_ZN4core3ops8function2Fn4call17he785be51df0dfacaE.exit, %42, %48 @@ -123614,16 +123694,16 @@ define hidden noundef zeroext i1 @"_ZN9assistant7context7Context6assist28_$u7b$$ define hidden noundef zeroext i1 @"_ZN9assistant13context_store12ContextStore22handle_project_changed28_$u7b$$u7b$closure$u7d$$u7d$17hdb46ae24e05edcd3E.llvm.16595843094761361803"(ptr noalias noundef nonnull readnone align 1 captures(none) %0, ptr noalias noundef align 8 dereferenceable(40) %1) unnamed_addr #2 personality ptr @rust_eh_personality { %3 = alloca [32 x i8], align 8 %4 = alloca [32 x i8], align 8 - tail call void @llvm.experimental.noalias.scope.decl(metadata !30505) - %5 = load i64, ptr %1, align 8, !range !22, !alias.scope !30505, !noalias !30508, !noundef !11 + tail call void @llvm.experimental.noalias.scope.decl(metadata !30511) + %5 = load i64, ptr %1, align 8, !range !22, !alias.scope !30511, !noalias !30514, !noundef !11 %trunc.i = trunc nuw i64 %5 to i1 br i1 %trunc.i, label %10, label %6 6: ; preds = %2 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %3), !noalias !30510 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %3), !noalias !30516 %7 = getelementptr inbounds nuw i8, ptr %1, i64 8 - call void @_ZN4gpui3app10entity_map12AnyWeakModel7upgrade17h60c5a235dd6ff1d5E(ptr noalias noundef nonnull sret([32 x i8]) align 8 captures(none) dereferenceable(32) %3, ptr noalias noundef nonnull readonly align 8 dereferenceable(32) %7), !noalias !30508 - %8 = load i32, ptr %3, align 8, !noalias !30510, !noundef !11 + call void @_ZN4gpui3app10entity_map12AnyWeakModel7upgrade17h60c5a235dd6ff1d5E(ptr noalias noundef nonnull sret([32 x i8]) align 8 captures(none) dereferenceable(32) %3, ptr noalias noundef nonnull readonly align 8 dereferenceable(32) %7), !noalias !30514 + %8 = load i32, ptr %3, align 8, !noalias !30516, !noundef !11 %9 = icmp eq i32 %8, 0 br i1 %9, label %_ZN9assistant13context_store13ContextHandle7upgrade17h237c9e89be17dc4aE.exit.thread, label %12 @@ -123633,12 +123713,12 @@ define hidden noundef zeroext i1 @"_ZN9assistant13context_store12ContextStore22h br label %_ZN9assistant13context_store13ContextHandle7upgrade17h237c9e89be17dc4aE.exit _ZN9assistant13context_store13ContextHandle7upgrade17h237c9e89be17dc4aE.exit.thread: ; preds = %6 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %3), !noalias !30510 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %3), !noalias !30516 br label %26 12: ; preds = %6 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %4, ptr noundef nonnull align 8 dereferenceable(32) %3, i64 32, i1 false) - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %3), !noalias !30510 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %3), !noalias !30516 br label %_ZN9assistant13context_store13ContextHandle7upgrade17h237c9e89be17dc4aE.exit _ZN9assistant13context_store13ContextHandle7upgrade17h237c9e89be17dc4aE.exit: ; preds = %12, %10 @@ -123647,7 +123727,7 @@ _ZN9assistant13context_store13ContextHandle7upgrade17h237c9e89be17dc4aE.exit: ; br i1 %.not, label %26, label %13 13: ; preds = %_ZN9assistant13context_store13ContextHandle7upgrade17h237c9e89be17dc4aE.exit - %14 = load i64, ptr %1, align 8, !range !22, !alias.scope !30511, !noundef !11 + %14 = load i64, ptr %1, align 8, !range !22, !alias.scope !30517, !noundef !11 %15 = icmp eq i64 %14, 0 br i1 %15, label %"_ZN4core3ptr84drop_in_place$LT$gpui..app..entity_map..Model$LT$assistant..context..Context$GT$$GT$17h75f3986059de1c45E.exit.i", label %16 @@ -123705,16 +123785,16 @@ define hidden noundef zeroext i1 @"_ZN9assistant13context_store12ContextStore20h %5 = alloca [32 x i8], align 8 %6 = alloca [32 x i8], align 8 call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %6) - tail call void @llvm.experimental.noalias.scope.decl(metadata !30514) - %7 = load i64, ptr %1, align 8, !range !22, !alias.scope !30514, !noalias !30517, !noundef !11 + tail call void @llvm.experimental.noalias.scope.decl(metadata !30520) + %7 = load i64, ptr %1, align 8, !range !22, !alias.scope !30520, !noalias !30523, !noundef !11 %trunc.i = trunc nuw i64 %7 to i1 br i1 %trunc.i, label %12, label %8 8: ; preds = %2 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %3), !noalias !30519 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %3), !noalias !30525 %9 = getelementptr inbounds nuw i8, ptr %1, i64 8 - call void @_ZN4gpui3app10entity_map12AnyWeakModel7upgrade17h60c5a235dd6ff1d5E(ptr noalias noundef nonnull sret([32 x i8]) align 8 captures(none) dereferenceable(32) %3, ptr noalias noundef nonnull readonly align 8 dereferenceable(32) %9), !noalias !30517 - %10 = load i32, ptr %3, align 8, !noalias !30519, !noundef !11 + call void @_ZN4gpui3app10entity_map12AnyWeakModel7upgrade17h60c5a235dd6ff1d5E(ptr noalias noundef nonnull sret([32 x i8]) align 8 captures(none) dereferenceable(32) %3, ptr noalias noundef nonnull readonly align 8 dereferenceable(32) %9), !noalias !30523 + %10 = load i32, ptr %3, align 8, !noalias !30525, !noundef !11 %11 = icmp eq i32 %10, 0 br i1 %11, label %_ZN9assistant13context_store13ContextHandle7upgrade17h237c9e89be17dc4aE.exit.thread, label %14 @@ -123724,12 +123804,12 @@ define hidden noundef zeroext i1 @"_ZN9assistant13context_store12ContextStore20h br label %_ZN9assistant13context_store13ContextHandle7upgrade17h237c9e89be17dc4aE.exit _ZN9assistant13context_store13ContextHandle7upgrade17h237c9e89be17dc4aE.exit.thread: ; preds = %8 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %3), !noalias !30519 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %3), !noalias !30525 br label %70 14: ; preds = %8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %6, ptr noundef nonnull align 8 dereferenceable(32) %3, i64 32, i1 false), !noalias !30514 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %3), !noalias !30519 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %6, ptr noundef nonnull align 8 dereferenceable(32) %3, i64 32, i1 false), !noalias !30520 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %3), !noalias !30525 br label %_ZN9assistant13context_store13ContextHandle7upgrade17h237c9e89be17dc4aE.exit _ZN9assistant13context_store13ContextHandle7upgrade17h237c9e89be17dc4aE.exit: ; preds = %14, %12 @@ -123742,30 +123822,30 @@ _ZN9assistant13context_store13ContextHandle7upgrade17h237c9e89be17dc4aE.exit: ; call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull align 8 dereferenceable(32) %6, i64 32, i1 false) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %.sroa.5) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %4) - tail call void @llvm.experimental.noalias.scope.decl(metadata !30520) - tail call void @llvm.experimental.noalias.scope.decl(metadata !30523) - %16 = load i64, ptr %1, align 8, !range !22, !alias.scope !30523, !noalias !30520, !noundef !11 + tail call void @llvm.experimental.noalias.scope.decl(metadata !30526) + tail call void @llvm.experimental.noalias.scope.decl(metadata !30529) + %16 = load i64, ptr %1, align 8, !range !22, !alias.scope !30529, !noalias !30526, !noundef !11 %trunc.i7 = trunc nuw i64 %16 to i1 %17 = getelementptr inbounds nuw i8, ptr %1, i64 8 br i1 %trunc.i7, label %34, label %18 18: ; preds = %15 - %19 = load i32, ptr %17, align 8, !range !1185, !alias.scope !30523, !noalias !30520, !noundef !11 + %19 = load i32, ptr %17, align 8, !range !1185, !alias.scope !30529, !noalias !30526, !noundef !11 %20 = getelementptr inbounds nuw i8, ptr %1, i64 12 - %21 = load i32, ptr %20, align 4, !alias.scope !30523, !noalias !30520, !noundef !11 + %21 = load i32, ptr %20, align 4, !alias.scope !30529, !noalias !30526, !noundef !11 %22 = getelementptr inbounds nuw i8, ptr %1, i64 24 - %23 = load i64, ptr %22, align 8, !alias.scope !30523, !noalias !30520, !noundef !11 + %23 = load i64, ptr %22, align 8, !alias.scope !30529, !noalias !30526, !noundef !11 %24 = getelementptr inbounds nuw i8, ptr %1, i64 32 - %25 = load i64, ptr %24, align 8, !alias.scope !30523, !noalias !30520, !noundef !11 + %25 = load i64, ptr %24, align 8, !alias.scope !30529, !noalias !30526, !noundef !11 %26 = getelementptr inbounds nuw i8, ptr %1, i64 16 - tail call void @llvm.experimental.noalias.scope.decl(metadata !30525) - %27 = load ptr, ptr %26, align 8, !alias.scope !30528, !noalias !30520, !nonnull !11, !noundef !11 + tail call void @llvm.experimental.noalias.scope.decl(metadata !30531) + %27 = load ptr, ptr %26, align 8, !alias.scope !30534, !noalias !30526, !nonnull !11, !noundef !11 %28 = icmp eq ptr %27, inttoptr (i64 -1 to ptr) br i1 %28, label %"_ZN69_$LT$alloc..sync..Weak$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17he9e5a96735fd7015E.llvm.16863303312043884584.exit.i", label %29 29: ; preds = %18 %30 = getelementptr inbounds nuw i8, ptr %27, i64 8 - %31 = atomicrmw add ptr %30, i64 1 monotonic, align 8, !noalias !30529 + %31 = atomicrmw add ptr %30, i64 1 monotonic, align 8, !noalias !30535 %32 = icmp slt i64 %31, 0 br i1 %32, label %33, label %"_ZN69_$LT$alloc..sync..Weak$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17he9e5a96735fd7015E.llvm.16863303312043884584.exit.i" @@ -123774,15 +123854,15 @@ _ZN9assistant13context_store13ContextHandle7upgrade17h237c9e89be17dc4aE.exit: ; unreachable "_ZN69_$LT$alloc..sync..Weak$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17he9e5a96735fd7015E.llvm.16863303312043884584.exit.i": ; preds = %29, %18 - store i32 %19, ptr %4, align 8, !alias.scope !30520, !noalias !30523 + store i32 %19, ptr %4, align 8, !alias.scope !30526, !noalias !30529 %.sroa.4.0..sroa_idx.i = getelementptr inbounds nuw i8, ptr %4, i64 4 - store i32 %21, ptr %.sroa.4.0..sroa_idx.i, align 4, !alias.scope !30520, !noalias !30523 + store i32 %21, ptr %.sroa.4.0..sroa_idx.i, align 4, !alias.scope !30526, !noalias !30529 %.sroa.5.0..sroa_idx.i = getelementptr inbounds nuw i8, ptr %4, i64 8 - store ptr %27, ptr %.sroa.5.0..sroa_idx.i, align 8, !alias.scope !30520, !noalias !30523 + store ptr %27, ptr %.sroa.5.0..sroa_idx.i, align 8, !alias.scope !30526, !noalias !30529 %.sroa.6.0..sroa_idx.i = getelementptr inbounds nuw i8, ptr %4, i64 16 - store i64 %23, ptr %.sroa.6.0..sroa_idx.i, align 8, !alias.scope !30520, !noalias !30523 + store i64 %23, ptr %.sroa.6.0..sroa_idx.i, align 8, !alias.scope !30526, !noalias !30529 %.sroa.7.0..sroa_idx.i = getelementptr inbounds nuw i8, ptr %4, i64 24 - store i64 %25, ptr %.sroa.7.0..sroa_idx.i, align 8, !alias.scope !30520, !noalias !30523 + store i64 %25, ptr %.sroa.7.0..sroa_idx.i, align 8, !alias.scope !30526, !noalias !30529 br label %_ZN9assistant13context_store13ContextHandle9downgrade17hdb4a63e5c5dcc601E.exit 34: ; preds = %15 @@ -123802,7 +123882,7 @@ _ZN9assistant13context_store13ContextHandle7upgrade17h237c9e89be17dc4aE.exit: ; _ZN9assistant13context_store13ContextHandle9downgrade17hdb4a63e5c5dcc601E.exit: ; preds = %"_ZN69_$LT$alloc..sync..Weak$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17he9e5a96735fd7015E.llvm.16863303312043884584.exit.i", %34 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %.sroa.5, ptr noundef nonnull align 8 dereferenceable(32) %4, i64 32, i1 false) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %4) - %38 = load i64, ptr %1, align 8, !range !22, !alias.scope !30530, !noundef !11 + %38 = load i64, ptr %1, align 8, !range !22, !alias.scope !30536, !noundef !11 %39 = icmp eq i64 %38, 0 br i1 %39, label %"_ZN4core3ptr84drop_in_place$LT$gpui..app..entity_map..Model$LT$assistant..context..Context$GT$$GT$17h75f3986059de1c45E.exit.i", label %40 @@ -123849,35 +123929,35 @@ _ZN9assistant13context_store13ContextHandle9downgrade17hdb4a63e5c5dcc601E.exit: %50 = load ptr, ptr %0, align 8, !nonnull !11, !align !38, !noundef !11 %51 = load ptr, ptr %50, align 8, !nonnull !11, !align !38, !noundef !11 %52 = getelementptr inbounds nuw i8, ptr %51, i64 1160 - %53 = load i64, ptr %52, align 8, !alias.scope !30533, !noalias !30536, !noundef !11 + %53 = load i64, ptr %52, align 8, !alias.scope !30539, !noalias !30542, !noundef !11 %54 = add i64 %53, 1 - store i64 %54, ptr %52, align 8, !alias.scope !30533, !noalias !30536 + store i64 %54, ptr %52, align 8, !alias.scope !30539, !noalias !30542 invoke void @"_ZN55_$LT$gpui..app..AppContext$u20$as$u20$gpui..Context$GT$12update_model28_$u7b$$u7b$closure$u7d$$u7d$17h9260c761f3e78bfcE.llvm.10781531150390929806"(ptr noalias noundef nonnull readonly align 8 dereferenceable(32) %5, ptr noalias noundef nonnull align 8 dereferenceable(1176) %51) to label %.noexc9 unwind label %36 .noexc9: ; preds = %"_ZN4core3ptr60drop_in_place$LT$assistant..context_store..ContextHandle$GT$17hbc01747654cfb2a8E.llvm.16595843094761361803.exit" %55 = getelementptr inbounds nuw i8, ptr %51, i64 1168 - %56 = load i8, ptr %55, align 8, !range !376, !alias.scope !30533, !noalias !30536, !noundef !11 + %56 = load i8, ptr %55, align 8, !range !376, !alias.scope !30539, !noalias !30542, !noundef !11 %57 = trunc nuw i8 %56 to i1 - %58 = load i64, ptr %52, align 8, !alias.scope !30533, !noalias !30536 + %58 = load i64, ptr %52, align 8, !alias.scope !30539, !noalias !30542 %59 = icmp ne i64 %58, 1 %or.cond.not.i = select i1 %57, i1 true, i1 %59 br i1 %or.cond.not.i, label %61, label %60 60: ; preds = %.noexc9 - store i8 1, ptr %55, align 8, !alias.scope !30533, !noalias !30536 + store i8 1, ptr %55, align 8, !alias.scope !30539, !noalias !30542 invoke void @_ZN4gpui3app10AppContext13flush_effects17h1296d3f341b7096dE(ptr noalias noundef nonnull align 8 dereferenceable(1176) %51) to label %.noexc10 unwind label %36 .noexc10: ; preds = %60 - store i8 0, ptr %55, align 8, !alias.scope !30533, !noalias !30536 - %.pre.i = load i64, ptr %52, align 8, !alias.scope !30533, !noalias !30536 + store i8 0, ptr %55, align 8, !alias.scope !30539, !noalias !30542 + %.pre.i = load i64, ptr %52, align 8, !alias.scope !30539, !noalias !30542 br label %61 61: ; preds = %.noexc10, %.noexc9 %62 = phi i64 [ %.pre.i, %.noexc10 ], [ %58, %.noexc9 ] %63 = add i64 %62, -1 - store i64 %63, ptr %52, align 8, !alias.scope !30533, !noalias !30536 + store i64 %63, ptr %52, align 8, !alias.scope !30539, !noalias !30542 invoke void @"_ZN73_$LT$gpui..app..entity_map..AnyModel$u20$as$u20$core..ops..drop..Drop$GT$4drop17hdbe4415b1c233cccE"(ptr noalias noundef nonnull align 8 dereferenceable(32) %5) to label %"_ZN4core3ptr84drop_in_place$LT$gpui..app..entity_map..Model$LT$assistant..context..Context$GT$$GT$17h75f3986059de1c45E.exit" unwind label %64 @@ -156689,586 +156769,586 @@ attributes #48 = { "function-inline-cost-multiplier"="2" } !29439 = !{!29440} !29440 = distinct !{!29440, !29441, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17h88a971381cd1244dE: argument 0"} !29441 = distinct !{!29441, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17h88a971381cd1244dE"} -!29442 = !{!29443, !29445} -!29443 = distinct !{!29443, !29444, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} -!29444 = distinct !{!29444, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} -!29445 = distinct !{!29445, !29446, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} -!29446 = distinct !{!29446, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} -!29447 = !{!29448, !29450} -!29448 = distinct !{!29448, !29449, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} -!29449 = distinct !{!29449, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} -!29450 = distinct !{!29450, !29451, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} -!29451 = distinct !{!29451, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} -!29452 = !{!29453} -!29453 = distinct !{!29453, !29454, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$20insert_appropriately17h3e0b9d2ef6805631E: argument 1"} -!29454 = distinct !{!29454, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$20insert_appropriately17h3e0b9d2ef6805631E"} -!29455 = !{!29456, !29453} -!29456 = distinct !{!29456, !29454, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$20insert_appropriately17h3e0b9d2ef6805631E: argument 0"} -!29457 = !{!29456} -!29458 = !{!29459, !29461, !29462, !29464, !29465} -!29459 = distinct !{!29459, !29460, !"_ZN5alloc3fmt6format28_$u7b$$u7b$closure$u7d$$u7d$17h539639ffa7ad3666E.llvm.16595843094761361803: argument 0"} -!29460 = distinct !{!29460, !"_ZN5alloc3fmt6format28_$u7b$$u7b$closure$u7d$$u7d$17h539639ffa7ad3666E.llvm.16595843094761361803"} -!29461 = distinct !{!29461, !29460, !"_ZN5alloc3fmt6format28_$u7b$$u7b$closure$u7d$$u7d$17h539639ffa7ad3666E.llvm.16595843094761361803: argument 1"} -!29462 = distinct !{!29462, !29463, !"_ZN4core6option15Option$LT$T$GT$11map_or_else17h478e795518431fc7E.llvm.16595843094761361803: argument 0"} -!29463 = distinct !{!29463, !"_ZN4core6option15Option$LT$T$GT$11map_or_else17h478e795518431fc7E.llvm.16595843094761361803"} -!29464 = distinct !{!29464, !29463, !"_ZN4core6option15Option$LT$T$GT$11map_or_else17h478e795518431fc7E.llvm.16595843094761361803: argument 1"} -!29465 = distinct !{!29465, !29463, !"_ZN4core6option15Option$LT$T$GT$11map_or_else17h478e795518431fc7E.llvm.16595843094761361803: argument 2"} -!29466 = !{!29459, !29462, !29464} -!29467 = !{!29468} -!29468 = distinct !{!29468, !29469, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$9pop_until17hc7ccbbeafdc0e0c3E: argument 0"} -!29469 = distinct !{!29469, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$9pop_until17hc7ccbbeafdc0e0c3E"} -!29470 = !{!29471} -!29471 = distinct !{!29471, !29472, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} -!29472 = distinct !{!29472, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} +!29442 = !{!29443} +!29443 = distinct !{!29443, !29444, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$24adjust_mathml_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h1edf363c9eff4177E: argument 0"} +!29444 = distinct !{!29444, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$24adjust_mathml_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h1edf363c9eff4177E"} +!29445 = !{!29446, !29443} +!29446 = distinct !{!29446, !29447, !"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h734fc4935bbafb8fE: argument 0"} +!29447 = distinct !{!29447, !"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h734fc4935bbafb8fE"} +!29448 = !{!29449, !29451} +!29449 = distinct !{!29449, !29450, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} +!29450 = distinct !{!29450, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} +!29451 = distinct !{!29451, !29452, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} +!29452 = distinct !{!29452, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} +!29453 = !{!29454, !29456} +!29454 = distinct !{!29454, !29455, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} +!29455 = distinct !{!29455, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} +!29456 = distinct !{!29456, !29457, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} +!29457 = distinct !{!29457, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} +!29458 = !{!29459} +!29459 = distinct !{!29459, !29460, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$20insert_appropriately17h3e0b9d2ef6805631E: argument 1"} +!29460 = distinct !{!29460, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$20insert_appropriately17h3e0b9d2ef6805631E"} +!29461 = !{!29462, !29459} +!29462 = distinct !{!29462, !29460, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$20insert_appropriately17h3e0b9d2ef6805631E: argument 0"} +!29463 = !{!29462} +!29464 = !{!29465, !29467, !29468, !29470, !29471} +!29465 = distinct !{!29465, !29466, !"_ZN5alloc3fmt6format28_$u7b$$u7b$closure$u7d$$u7d$17h539639ffa7ad3666E.llvm.16595843094761361803: argument 0"} +!29466 = distinct !{!29466, !"_ZN5alloc3fmt6format28_$u7b$$u7b$closure$u7d$$u7d$17h539639ffa7ad3666E.llvm.16595843094761361803"} +!29467 = distinct !{!29467, !29466, !"_ZN5alloc3fmt6format28_$u7b$$u7b$closure$u7d$$u7d$17h539639ffa7ad3666E.llvm.16595843094761361803: argument 1"} +!29468 = distinct !{!29468, !29469, !"_ZN4core6option15Option$LT$T$GT$11map_or_else17h478e795518431fc7E.llvm.16595843094761361803: argument 0"} +!29469 = distinct !{!29469, !"_ZN4core6option15Option$LT$T$GT$11map_or_else17h478e795518431fc7E.llvm.16595843094761361803"} +!29470 = distinct !{!29470, !29469, !"_ZN4core6option15Option$LT$T$GT$11map_or_else17h478e795518431fc7E.llvm.16595843094761361803: argument 1"} +!29471 = distinct !{!29471, !29469, !"_ZN4core6option15Option$LT$T$GT$11map_or_else17h478e795518431fc7E.llvm.16595843094761361803: argument 2"} +!29472 = !{!29465, !29468, !29470} !29473 = !{!29474} -!29474 = distinct !{!29474, !29475, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} -!29475 = distinct !{!29475, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} -!29476 = !{!29474, !29471} -!29477 = !{!29478} -!29478 = distinct !{!29478, !29479, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} -!29479 = distinct !{!29479, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} -!29480 = !{!29481} -!29481 = distinct !{!29481, !29482, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} -!29482 = distinct !{!29482, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} -!29483 = !{!29481, !29478} -!29484 = !{!29485} -!29485 = distinct !{!29485, !29486, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17hc0bd6ce12e733882E: argument 0"} -!29486 = distinct !{!29486, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17hc0bd6ce12e733882E"} -!29487 = !{!29488, !29489} -!29488 = distinct !{!29488, !29486, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17hc0bd6ce12e733882E: argument 1"} -!29489 = distinct !{!29489, !29486, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17hc0bd6ce12e733882E: argument 2"} -!29490 = !{!29489} -!29491 = !{!29485, !29488, !29489} -!29492 = !{!29493} -!29493 = distinct !{!29493, !29494, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} -!29494 = distinct !{!29494, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} -!29495 = !{!29496} -!29496 = distinct !{!29496, !29497, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} -!29497 = distinct !{!29497, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} -!29498 = !{!29496, !29493} -!29499 = !{!29496, !29493, !29489} -!29500 = !{!29501} -!29501 = distinct !{!29501, !29502, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17hb553be816dd1f10eE: argument 0"} -!29502 = distinct !{!29502, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17hb553be816dd1f10eE"} -!29503 = !{!29504, !29505} -!29504 = distinct !{!29504, !29502, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17hb553be816dd1f10eE: argument 1"} -!29505 = distinct !{!29505, !29502, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17hb553be816dd1f10eE: argument 2"} -!29506 = !{!29505} -!29507 = !{!29501, !29504, !29505} -!29508 = !{!29509} -!29509 = distinct !{!29509, !29510, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} -!29510 = distinct !{!29510, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} -!29511 = !{!29512} -!29512 = distinct !{!29512, !29513, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} -!29513 = distinct !{!29513, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} -!29514 = !{!29512, !29509} -!29515 = !{!29512, !29509, !29505} -!29516 = !{!29517} -!29517 = distinct !{!29517, !29518, !"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h734fc4935bbafb8fE: argument 0"} -!29518 = distinct !{!29518, !"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h734fc4935bbafb8fE"} -!29519 = !{!29520} -!29520 = distinct !{!29520, !29521, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17h8848c9752412e2c8E: argument 0"} -!29521 = distinct !{!29521, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17h8848c9752412e2c8E"} -!29522 = !{!29523, !29524} -!29523 = distinct !{!29523, !29521, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17h8848c9752412e2c8E: argument 1"} -!29524 = distinct !{!29524, !29521, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17h8848c9752412e2c8E: argument 2"} -!29525 = !{!29524} -!29526 = !{!29520, !29523, !29524} -!29527 = !{!29528} -!29528 = distinct !{!29528, !29529, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} -!29529 = distinct !{!29529, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} -!29530 = !{!29531} -!29531 = distinct !{!29531, !29532, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} -!29532 = distinct !{!29532, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} -!29533 = !{!29531, !29528} -!29534 = !{!29531, !29528, !29524} -!29535 = !{!29536} -!29536 = distinct !{!29536, !29537, !"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h734fc4935bbafb8fE: argument 0"} -!29537 = distinct !{!29537, !"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h734fc4935bbafb8fE"} -!29538 = !{!29539} -!29539 = distinct !{!29539, !29540, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17h3fbf1c1423ae690cE: argument 0"} -!29540 = distinct !{!29540, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17h3fbf1c1423ae690cE"} -!29541 = !{!29542, !29543} -!29542 = distinct !{!29542, !29540, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17h3fbf1c1423ae690cE: argument 1"} -!29543 = distinct !{!29543, !29540, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17h3fbf1c1423ae690cE: argument 2"} -!29544 = !{!29543} -!29545 = !{!29539, !29542, !29543} -!29546 = !{!29547} -!29547 = distinct !{!29547, !29548, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} -!29548 = distinct !{!29548, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} -!29549 = !{!29550} -!29550 = distinct !{!29550, !29551, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} -!29551 = distinct !{!29551, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} -!29552 = !{!29550, !29547} -!29553 = !{!29550, !29547, !29543} -!29554 = !{!29555} -!29555 = distinct !{!29555, !29556, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17hf87003d2e82d8ea5E: argument 0"} -!29556 = distinct !{!29556, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17hf87003d2e82d8ea5E"} -!29557 = !{!29558, !29559} -!29558 = distinct !{!29558, !29556, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17hf87003d2e82d8ea5E: argument 1"} -!29559 = distinct !{!29559, !29556, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17hf87003d2e82d8ea5E: argument 2"} -!29560 = !{!29559} -!29561 = !{!29555, !29558, !29559} -!29562 = !{!29563} -!29563 = distinct !{!29563, !29564, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} -!29564 = distinct !{!29564, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} -!29565 = !{!29566} -!29566 = distinct !{!29566, !29567, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} -!29567 = distinct !{!29567, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} -!29568 = !{!29566, !29563} -!29569 = !{!29566, !29563, !29559} -!29570 = !{!29571} -!29571 = distinct !{!29571, !29572, !"_ZN9html5ever12tree_builder8tag_sets13default_scope17ha11ea3e90aa1c6a2E: argument 0"} -!29572 = distinct !{!29572, !"_ZN9html5ever12tree_builder8tag_sets13default_scope17ha11ea3e90aa1c6a2E"} -!29573 = !{!29574} -!29574 = distinct !{!29574, !29572, !"_ZN9html5ever12tree_builder8tag_sets13default_scope17ha11ea3e90aa1c6a2E: argument 1"} -!29575 = !{!29576} -!29576 = distinct !{!29576, !29577, !"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h734fc4935bbafb8fE: argument 0"} -!29577 = distinct !{!29577, !"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h734fc4935bbafb8fE"} -!29578 = !{!29579} -!29579 = distinct !{!29579, !29580, !"_ZN71_$LT$markup5ever..interface..QualName$u20$as$u20$core..clone..Clone$GT$5clone17hb395754ec6620eebE: argument 0"} -!29580 = distinct !{!29580, !"_ZN71_$LT$markup5ever..interface..QualName$u20$as$u20$core..clone..Clone$GT$5clone17hb395754ec6620eebE"} +!29474 = distinct !{!29474, !29475, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$9pop_until17hc7ccbbeafdc0e0c3E: argument 0"} +!29475 = distinct !{!29475, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$9pop_until17hc7ccbbeafdc0e0c3E"} +!29476 = !{!29477} +!29477 = distinct !{!29477, !29478, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} +!29478 = distinct !{!29478, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} +!29479 = !{!29480} +!29480 = distinct !{!29480, !29481, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} +!29481 = distinct !{!29481, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} +!29482 = !{!29480, !29477} +!29483 = !{!29484} +!29484 = distinct !{!29484, !29485, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} +!29485 = distinct !{!29485, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} +!29486 = !{!29487} +!29487 = distinct !{!29487, !29488, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} +!29488 = distinct !{!29488, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} +!29489 = !{!29487, !29484} +!29490 = !{!29491} +!29491 = distinct !{!29491, !29492, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17hc0bd6ce12e733882E: argument 0"} +!29492 = distinct !{!29492, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17hc0bd6ce12e733882E"} +!29493 = !{!29494, !29495} +!29494 = distinct !{!29494, !29492, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17hc0bd6ce12e733882E: argument 1"} +!29495 = distinct !{!29495, !29492, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17hc0bd6ce12e733882E: argument 2"} +!29496 = !{!29495} +!29497 = !{!29491, !29494, !29495} +!29498 = !{!29499} +!29499 = distinct !{!29499, !29500, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} +!29500 = distinct !{!29500, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} +!29501 = !{!29502} +!29502 = distinct !{!29502, !29503, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} +!29503 = distinct !{!29503, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} +!29504 = !{!29502, !29499} +!29505 = !{!29502, !29499, !29495} +!29506 = !{!29507} +!29507 = distinct !{!29507, !29508, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17hb553be816dd1f10eE: argument 0"} +!29508 = distinct !{!29508, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17hb553be816dd1f10eE"} +!29509 = !{!29510, !29511} +!29510 = distinct !{!29510, !29508, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17hb553be816dd1f10eE: argument 1"} +!29511 = distinct !{!29511, !29508, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17hb553be816dd1f10eE: argument 2"} +!29512 = !{!29511} +!29513 = !{!29507, !29510, !29511} +!29514 = !{!29515} +!29515 = distinct !{!29515, !29516, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} +!29516 = distinct !{!29516, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} +!29517 = !{!29518} +!29518 = distinct !{!29518, !29519, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} +!29519 = distinct !{!29519, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} +!29520 = !{!29518, !29515} +!29521 = !{!29518, !29515, !29511} +!29522 = !{!29523} +!29523 = distinct !{!29523, !29524, !"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h734fc4935bbafb8fE: argument 0"} +!29524 = distinct !{!29524, !"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h734fc4935bbafb8fE"} +!29525 = !{!29526} +!29526 = distinct !{!29526, !29527, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17h8848c9752412e2c8E: argument 0"} +!29527 = distinct !{!29527, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17h8848c9752412e2c8E"} +!29528 = !{!29529, !29530} +!29529 = distinct !{!29529, !29527, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17h8848c9752412e2c8E: argument 1"} +!29530 = distinct !{!29530, !29527, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17h8848c9752412e2c8E: argument 2"} +!29531 = !{!29530} +!29532 = !{!29526, !29529, !29530} +!29533 = !{!29534} +!29534 = distinct !{!29534, !29535, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} +!29535 = distinct !{!29535, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} +!29536 = !{!29537} +!29537 = distinct !{!29537, !29538, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} +!29538 = distinct !{!29538, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} +!29539 = !{!29537, !29534} +!29540 = !{!29537, !29534, !29530} +!29541 = !{!29542} +!29542 = distinct !{!29542, !29543, !"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h734fc4935bbafb8fE: argument 0"} +!29543 = distinct !{!29543, !"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h734fc4935bbafb8fE"} +!29544 = !{!29545} +!29545 = distinct !{!29545, !29546, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17h3fbf1c1423ae690cE: argument 0"} +!29546 = distinct !{!29546, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17h3fbf1c1423ae690cE"} +!29547 = !{!29548, !29549} +!29548 = distinct !{!29548, !29546, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17h3fbf1c1423ae690cE: argument 1"} +!29549 = distinct !{!29549, !29546, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17h3fbf1c1423ae690cE: argument 2"} +!29550 = !{!29549} +!29551 = !{!29545, !29548, !29549} +!29552 = !{!29553} +!29553 = distinct !{!29553, !29554, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} +!29554 = distinct !{!29554, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} +!29555 = !{!29556} +!29556 = distinct !{!29556, !29557, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} +!29557 = distinct !{!29557, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} +!29558 = !{!29556, !29553} +!29559 = !{!29556, !29553, !29549} +!29560 = !{!29561} +!29561 = distinct !{!29561, !29562, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17hf87003d2e82d8ea5E: argument 0"} +!29562 = distinct !{!29562, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17hf87003d2e82d8ea5E"} +!29563 = !{!29564, !29565} +!29564 = distinct !{!29564, !29562, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17hf87003d2e82d8ea5E: argument 1"} +!29565 = distinct !{!29565, !29562, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17hf87003d2e82d8ea5E: argument 2"} +!29566 = !{!29565} +!29567 = !{!29561, !29564, !29565} +!29568 = !{!29569} +!29569 = distinct !{!29569, !29570, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} +!29570 = distinct !{!29570, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} +!29571 = !{!29572} +!29572 = distinct !{!29572, !29573, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} +!29573 = distinct !{!29573, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} +!29574 = !{!29572, !29569} +!29575 = !{!29572, !29569, !29565} +!29576 = !{!29577} +!29577 = distinct !{!29577, !29578, !"_ZN9html5ever12tree_builder8tag_sets13default_scope17ha11ea3e90aa1c6a2E: argument 0"} +!29578 = distinct !{!29578, !"_ZN9html5ever12tree_builder8tag_sets13default_scope17ha11ea3e90aa1c6a2E"} +!29579 = !{!29580} +!29580 = distinct !{!29580, !29578, !"_ZN9html5ever12tree_builder8tag_sets13default_scope17ha11ea3e90aa1c6a2E: argument 1"} !29581 = !{!29582} -!29582 = distinct !{!29582, !29580, !"_ZN71_$LT$markup5ever..interface..QualName$u20$as$u20$core..clone..Clone$GT$5clone17hb395754ec6620eebE: argument 1"} -!29583 = !{!29579, !29582} +!29582 = distinct !{!29582, !29583, !"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h734fc4935bbafb8fE: argument 0"} +!29583 = distinct !{!29583, !"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h734fc4935bbafb8fE"} !29584 = !{!29585} -!29585 = distinct !{!29585, !29586, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$18in_html_elem_named17h650695e607997377E: argument 0"} -!29586 = distinct !{!29586, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$18in_html_elem_named17h650695e607997377E"} +!29585 = distinct !{!29585, !29586, !"_ZN71_$LT$markup5ever..interface..QualName$u20$as$u20$core..clone..Clone$GT$5clone17hb395754ec6620eebE: argument 0"} +!29586 = distinct !{!29586, !"_ZN71_$LT$markup5ever..interface..QualName$u20$as$u20$core..clone..Clone$GT$5clone17hb395754ec6620eebE"} !29587 = !{!29588} -!29588 = distinct !{!29588, !29589, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3any17h8316e9be1005d19cE: argument 0"} -!29589 = distinct !{!29589, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3any17h8316e9be1005d19cE"} -!29590 = !{!29591, !29593} -!29591 = distinct !{!29591, !29592, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} -!29592 = distinct !{!29592, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} -!29593 = distinct !{!29593, !29594, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} -!29594 = distinct !{!29594, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} -!29595 = !{!29596, !29598} -!29596 = distinct !{!29596, !29597, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} -!29597 = distinct !{!29597, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} -!29598 = distinct !{!29598, !29599, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} -!29599 = distinct !{!29599, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} -!29600 = !{!29601} -!29601 = distinct !{!29601, !29602, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17h88a971381cd1244dE: argument 0"} -!29602 = distinct !{!29602, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17h88a971381cd1244dE"} -!29603 = !{!29604} +!29588 = distinct !{!29588, !29586, !"_ZN71_$LT$markup5ever..interface..QualName$u20$as$u20$core..clone..Clone$GT$5clone17hb395754ec6620eebE: argument 1"} +!29589 = !{!29585, !29588} +!29590 = !{!29591} +!29591 = distinct !{!29591, !29592, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$18in_html_elem_named17h650695e607997377E: argument 0"} +!29592 = distinct !{!29592, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$18in_html_elem_named17h650695e607997377E"} +!29593 = !{!29594} +!29594 = distinct !{!29594, !29595, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3any17h8316e9be1005d19cE: argument 0"} +!29595 = distinct !{!29595, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3any17h8316e9be1005d19cE"} +!29596 = !{!29597, !29599} +!29597 = distinct !{!29597, !29598, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} +!29598 = distinct !{!29598, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} +!29599 = distinct !{!29599, !29600, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} +!29600 = distinct !{!29600, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} +!29601 = !{!29602, !29604} +!29602 = distinct !{!29602, !29603, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} +!29603 = distinct !{!29603, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} !29604 = distinct !{!29604, !29605, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} !29605 = distinct !{!29605, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} !29606 = !{!29607} -!29607 = distinct !{!29607, !29608, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} -!29608 = distinct !{!29608, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} -!29609 = !{!29607, !29604} -!29610 = !{!29611} -!29611 = distinct !{!29611, !29612, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4find17h5a07820ce9750ba5E: argument 0"} -!29612 = distinct !{!29612, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4find17h5a07820ce9750ba5E"} -!29613 = !{!29614} -!29614 = distinct !{!29614, !29615, !"_ZN7tendril7tendril20Tendril$LT$F$C$A$GT$10assume_buf17h0d5f74144bd9cf53E: argument 0"} -!29615 = distinct !{!29615, !"_ZN7tendril7tendril20Tendril$LT$F$C$A$GT$10assume_buf17h0d5f74144bd9cf53E"} +!29607 = distinct !{!29607, !29608, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17h88a971381cd1244dE: argument 0"} +!29608 = distinct !{!29608, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17h88a971381cd1244dE"} +!29609 = !{!29610} +!29610 = distinct !{!29610, !29611, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} +!29611 = distinct !{!29611, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} +!29612 = !{!29613} +!29613 = distinct !{!29613, !29614, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} +!29614 = distinct !{!29614, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} +!29615 = !{!29613, !29610} !29616 = !{!29617} -!29617 = distinct !{!29617, !29618, !"_ZN4core5slice5ascii30_$LT$impl$u20$$u5b$u8$u5d$$GT$20eq_ignore_ascii_case17h3051414c5fb1eb32E: argument 0"} -!29618 = distinct !{!29618, !"_ZN4core5slice5ascii30_$LT$impl$u20$$u5b$u8$u5d$$GT$20eq_ignore_ascii_case17h3051414c5fb1eb32E"} +!29617 = distinct !{!29617, !29618, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4find17h5a07820ce9750ba5E: argument 0"} +!29618 = distinct !{!29618, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4find17h5a07820ce9750ba5E"} !29619 = !{!29620} -!29620 = distinct !{!29620, !29621, !"_ZN4core4iter6traits8iterator8Iterator8try_fold17h16ce797946f628eeE: argument 0"} -!29621 = distinct !{!29621, !"_ZN4core4iter6traits8iterator8Iterator8try_fold17h16ce797946f628eeE"} -!29622 = !{!29620, !29617} -!29623 = !{!29624, !29626} -!29624 = distinct !{!29624, !29625, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} -!29625 = distinct !{!29625, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} -!29626 = distinct !{!29626, !29627, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} -!29627 = distinct !{!29627, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} -!29628 = !{!29629} -!29629 = distinct !{!29629, !29630, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$18current_node_named17h8e8e020ac270c92fE: argument 0"} -!29630 = distinct !{!29630, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$18current_node_named17h8e8e020ac270c92fE"} -!29631 = !{!29632} -!29632 = distinct !{!29632, !29633, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8position17h06a9f8a37dfd8c9aE: argument 1"} -!29633 = distinct !{!29633, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8position17h06a9f8a37dfd8c9aE"} +!29620 = distinct !{!29620, !29621, !"_ZN7tendril7tendril20Tendril$LT$F$C$A$GT$10assume_buf17h0d5f74144bd9cf53E: argument 0"} +!29621 = distinct !{!29621, !"_ZN7tendril7tendril20Tendril$LT$F$C$A$GT$10assume_buf17h0d5f74144bd9cf53E"} +!29622 = !{!29623} +!29623 = distinct !{!29623, !29624, !"_ZN4core5slice5ascii30_$LT$impl$u20$$u5b$u8$u5d$$GT$20eq_ignore_ascii_case17h3051414c5fb1eb32E: argument 0"} +!29624 = distinct !{!29624, !"_ZN4core5slice5ascii30_$LT$impl$u20$$u5b$u8$u5d$$GT$20eq_ignore_ascii_case17h3051414c5fb1eb32E"} +!29625 = !{!29626} +!29626 = distinct !{!29626, !29627, !"_ZN4core4iter6traits8iterator8Iterator8try_fold17h16ce797946f628eeE: argument 0"} +!29627 = distinct !{!29627, !"_ZN4core4iter6traits8iterator8Iterator8try_fold17h16ce797946f628eeE"} +!29628 = !{!29626, !29623} +!29629 = !{!29630, !29632} +!29630 = distinct !{!29630, !29631, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} +!29631 = distinct !{!29631, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} +!29632 = distinct !{!29632, !29633, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} +!29633 = distinct !{!29633, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} !29634 = !{!29635} -!29635 = distinct !{!29635, !29636, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$3pop17h394cc4716a2f3cdaE: argument 0"} -!29636 = distinct !{!29636, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$3pop17h394cc4716a2f3cdaE"} +!29635 = distinct !{!29635, !29636, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$18current_node_named17h8e8e020ac270c92fE: argument 0"} +!29636 = distinct !{!29636, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$18current_node_named17h8e8e020ac270c92fE"} !29637 = !{!29638} -!29638 = distinct !{!29638, !29633, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8position17h06a9f8a37dfd8c9aE: argument 0"} -!29639 = !{!29638, !29632} +!29638 = distinct !{!29638, !29639, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8position17h06a9f8a37dfd8c9aE: argument 1"} +!29639 = distinct !{!29639, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8position17h06a9f8a37dfd8c9aE"} !29640 = !{!29641} -!29641 = distinct !{!29641, !29642, !"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h734fc4935bbafb8fE: argument 0"} -!29642 = distinct !{!29642, !"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h734fc4935bbafb8fE"} -!29643 = !{!29644, !29646, !29647, !29649, !29650} -!29644 = distinct !{!29644, !29645, !"_ZN118_$LT$html5ever..tree_builder..ActiveFormattingIter$LT$Handle$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hc1e335623bdcd9c6E: argument 0"} -!29645 = distinct !{!29645, !"_ZN118_$LT$html5ever..tree_builder..ActiveFormattingIter$LT$Handle$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hc1e335623bdcd9c6E"} -!29646 = distinct !{!29646, !29645, !"_ZN118_$LT$html5ever..tree_builder..ActiveFormattingIter$LT$Handle$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hc1e335623bdcd9c6E: argument 1"} -!29647 = distinct !{!29647, !29648, !"_ZN4core4iter6traits8iterator8Iterator8try_fold17h3f98e03675ca1fb1E: argument 0"} -!29648 = distinct !{!29648, !"_ZN4core4iter6traits8iterator8Iterator8try_fold17h3f98e03675ca1fb1E"} -!29649 = distinct !{!29649, !29648, !"_ZN4core4iter6traits8iterator8Iterator8try_fold17h3f98e03675ca1fb1E: argument 1"} -!29650 = distinct !{!29650, !29648, !"_ZN4core4iter6traits8iterator8Iterator8try_fold17h3f98e03675ca1fb1E: argument 2"} -!29651 = !{!29652, !29654, !29647, !29649, !29650} -!29652 = distinct !{!29652, !29653, !"_ZN4core4iter6traits8iterator8Iterator4find5check28_$u7b$$u7b$closure$u7d$$u7d$17h627d07b629bdefd2E: argument 0"} -!29653 = distinct !{!29653, !"_ZN4core4iter6traits8iterator8Iterator4find5check28_$u7b$$u7b$closure$u7d$$u7d$17h627d07b629bdefd2E"} -!29654 = distinct !{!29654, !29653, !"_ZN4core4iter6traits8iterator8Iterator4find5check28_$u7b$$u7b$closure$u7d$$u7d$17h627d07b629bdefd2E: argument 1"} -!29655 = !{!29656, !29658} -!29656 = distinct !{!29656, !29657, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15adoption_agency28_$u7b$$u7b$closure$u7d$$u7d$17hdbb6223e63863a86E: argument 0"} -!29657 = distinct !{!29657, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15adoption_agency28_$u7b$$u7b$closure$u7d$$u7d$17hdbb6223e63863a86E"} -!29658 = distinct !{!29658, !29657, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15adoption_agency28_$u7b$$u7b$closure$u7d$$u7d$17hdbb6223e63863a86E: argument 1"} -!29659 = !{!29660} -!29660 = distinct !{!29660, !29661, !"_ZN75_$LT$html5ever..tokenizer..interface..Tag$u20$as$u20$core..clone..Clone$GT$5clone17h8cc0abc4a6adbb98E: argument 1"} -!29661 = distinct !{!29661, !"_ZN75_$LT$html5ever..tokenizer..interface..Tag$u20$as$u20$core..clone..Clone$GT$5clone17h8cc0abc4a6adbb98E"} -!29662 = !{!29663, !29656, !29658} -!29663 = distinct !{!29663, !29661, !"_ZN75_$LT$html5ever..tokenizer..interface..Tag$u20$as$u20$core..clone..Clone$GT$5clone17h8cc0abc4a6adbb98E: argument 0"} -!29664 = !{!29663, !29660, !29656, !29658} -!29665 = !{!29658} -!29666 = !{!29667, !29669} -!29667 = distinct !{!29667, !29668, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$9rposition17h63b7132410b1a1f2E: argument 0"} -!29668 = distinct !{!29668, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$9rposition17h63b7132410b1a1f2E"} -!29669 = distinct !{!29669, !29668, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$9rposition17h63b7132410b1a1f2E: argument 1"} -!29670 = !{!29671} -!29671 = distinct !{!29671, !29672, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17h44c26812db68a5f2E: argument 1"} -!29672 = distinct !{!29672, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17h44c26812db68a5f2E"} -!29673 = !{!29674} -!29674 = distinct !{!29674, !29675, !"_ZN9html5ever12tree_builder8tag_sets13default_scope17ha11ea3e90aa1c6a2E: argument 0"} -!29675 = distinct !{!29675, !"_ZN9html5ever12tree_builder8tag_sets13default_scope17ha11ea3e90aa1c6a2E"} +!29641 = distinct !{!29641, !29642, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$3pop17h394cc4716a2f3cdaE: argument 0"} +!29642 = distinct !{!29642, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$3pop17h394cc4716a2f3cdaE"} +!29643 = !{!29644} +!29644 = distinct !{!29644, !29639, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8position17h06a9f8a37dfd8c9aE: argument 0"} +!29645 = !{!29644, !29638} +!29646 = !{!29647} +!29647 = distinct !{!29647, !29648, !"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h734fc4935bbafb8fE: argument 0"} +!29648 = distinct !{!29648, !"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h734fc4935bbafb8fE"} +!29649 = !{!29650, !29652, !29653, !29655, !29656} +!29650 = distinct !{!29650, !29651, !"_ZN118_$LT$html5ever..tree_builder..ActiveFormattingIter$LT$Handle$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hc1e335623bdcd9c6E: argument 0"} +!29651 = distinct !{!29651, !"_ZN118_$LT$html5ever..tree_builder..ActiveFormattingIter$LT$Handle$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hc1e335623bdcd9c6E"} +!29652 = distinct !{!29652, !29651, !"_ZN118_$LT$html5ever..tree_builder..ActiveFormattingIter$LT$Handle$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hc1e335623bdcd9c6E: argument 1"} +!29653 = distinct !{!29653, !29654, !"_ZN4core4iter6traits8iterator8Iterator8try_fold17h3f98e03675ca1fb1E: argument 0"} +!29654 = distinct !{!29654, !"_ZN4core4iter6traits8iterator8Iterator8try_fold17h3f98e03675ca1fb1E"} +!29655 = distinct !{!29655, !29654, !"_ZN4core4iter6traits8iterator8Iterator8try_fold17h3f98e03675ca1fb1E: argument 1"} +!29656 = distinct !{!29656, !29654, !"_ZN4core4iter6traits8iterator8Iterator8try_fold17h3f98e03675ca1fb1E: argument 2"} +!29657 = !{!29658, !29660, !29653, !29655, !29656} +!29658 = distinct !{!29658, !29659, !"_ZN4core4iter6traits8iterator8Iterator4find5check28_$u7b$$u7b$closure$u7d$$u7d$17h627d07b629bdefd2E: argument 0"} +!29659 = distinct !{!29659, !"_ZN4core4iter6traits8iterator8Iterator4find5check28_$u7b$$u7b$closure$u7d$$u7d$17h627d07b629bdefd2E"} +!29660 = distinct !{!29660, !29659, !"_ZN4core4iter6traits8iterator8Iterator4find5check28_$u7b$$u7b$closure$u7d$$u7d$17h627d07b629bdefd2E: argument 1"} +!29661 = !{!29662, !29664} +!29662 = distinct !{!29662, !29663, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15adoption_agency28_$u7b$$u7b$closure$u7d$$u7d$17hdbb6223e63863a86E: argument 0"} +!29663 = distinct !{!29663, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15adoption_agency28_$u7b$$u7b$closure$u7d$$u7d$17hdbb6223e63863a86E"} +!29664 = distinct !{!29664, !29663, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15adoption_agency28_$u7b$$u7b$closure$u7d$$u7d$17hdbb6223e63863a86E: argument 1"} +!29665 = !{!29666} +!29666 = distinct !{!29666, !29667, !"_ZN75_$LT$html5ever..tokenizer..interface..Tag$u20$as$u20$core..clone..Clone$GT$5clone17h8cc0abc4a6adbb98E: argument 1"} +!29667 = distinct !{!29667, !"_ZN75_$LT$html5ever..tokenizer..interface..Tag$u20$as$u20$core..clone..Clone$GT$5clone17h8cc0abc4a6adbb98E"} +!29668 = !{!29669, !29662, !29664} +!29669 = distinct !{!29669, !29667, !"_ZN75_$LT$html5ever..tokenizer..interface..Tag$u20$as$u20$core..clone..Clone$GT$5clone17h8cc0abc4a6adbb98E: argument 0"} +!29670 = !{!29669, !29666, !29662, !29664} +!29671 = !{!29664} +!29672 = !{!29673, !29675} +!29673 = distinct !{!29673, !29674, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$9rposition17h63b7132410b1a1f2E: argument 0"} +!29674 = distinct !{!29674, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$9rposition17h63b7132410b1a1f2E"} +!29675 = distinct !{!29675, !29674, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$9rposition17h63b7132410b1a1f2E: argument 1"} !29676 = !{!29677} -!29677 = distinct !{!29677, !29675, !"_ZN9html5ever12tree_builder8tag_sets13default_scope17ha11ea3e90aa1c6a2E: argument 1"} -!29678 = !{!29679} -!29679 = distinct !{!29679, !29680, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h201645fe071ad0cbE: argument 1"} -!29680 = distinct !{!29680, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h201645fe071ad0cbE"} -!29681 = !{!29682, !29683} -!29682 = distinct !{!29682, !29680, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h201645fe071ad0cbE: argument 0"} -!29683 = distinct !{!29683, !29680, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h201645fe071ad0cbE: argument 2"} -!29684 = !{!29679, !29683} -!29685 = !{!29682, !29679, !29683} -!29686 = !{!29687} -!29687 = distinct !{!29687, !29688, !"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17hfb1c6cc9311857e8E: argument 0"} -!29688 = distinct !{!29688, !"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17hfb1c6cc9311857e8E"} -!29689 = !{!29690} -!29690 = distinct !{!29690, !29691, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} -!29691 = distinct !{!29691, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} +!29677 = distinct !{!29677, !29678, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17h44c26812db68a5f2E: argument 1"} +!29678 = distinct !{!29678, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$8in_scope17h44c26812db68a5f2E"} +!29679 = !{!29680} +!29680 = distinct !{!29680, !29681, !"_ZN9html5ever12tree_builder8tag_sets13default_scope17ha11ea3e90aa1c6a2E: argument 0"} +!29681 = distinct !{!29681, !"_ZN9html5ever12tree_builder8tag_sets13default_scope17ha11ea3e90aa1c6a2E"} +!29682 = !{!29683} +!29683 = distinct !{!29683, !29681, !"_ZN9html5ever12tree_builder8tag_sets13default_scope17ha11ea3e90aa1c6a2E: argument 1"} +!29684 = !{!29685} +!29685 = distinct !{!29685, !29686, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h201645fe071ad0cbE: argument 1"} +!29686 = distinct !{!29686, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h201645fe071ad0cbE"} +!29687 = !{!29688, !29689} +!29688 = distinct !{!29688, !29686, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h201645fe071ad0cbE: argument 0"} +!29689 = distinct !{!29689, !29686, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h201645fe071ad0cbE: argument 2"} +!29690 = !{!29685, !29689} +!29691 = !{!29688, !29685, !29689} !29692 = !{!29693} -!29693 = distinct !{!29693, !29694, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} -!29694 = distinct !{!29694, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} -!29695 = !{!29693, !29690, !29687} -!29696 = !{!29697} -!29697 = distinct !{!29697, !29698, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$8truncate17h21654f5a5e85bc4bE: argument 0"} -!29698 = distinct !{!29698, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$8truncate17h21654f5a5e85bc4bE"} -!29699 = !{!29700} -!29700 = distinct !{!29700, !29701, !"_ZN4core3ptr75drop_in_place$LT$$u5b$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$u5d$$GT$17h4216407a426d7c69E: argument 0"} -!29701 = distinct !{!29701, !"_ZN4core3ptr75drop_in_place$LT$$u5b$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$u5d$$GT$17h4216407a426d7c69E"} +!29693 = distinct !{!29693, !29694, !"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17hfb1c6cc9311857e8E: argument 0"} +!29694 = distinct !{!29694, !"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17hfb1c6cc9311857e8E"} +!29695 = !{!29696} +!29696 = distinct !{!29696, !29697, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} +!29697 = distinct !{!29697, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} +!29698 = !{!29699} +!29699 = distinct !{!29699, !29700, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} +!29700 = distinct !{!29700, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} +!29701 = !{!29699, !29696, !29693} !29702 = !{!29703} -!29703 = distinct !{!29703, !29704, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} -!29704 = distinct !{!29704, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} +!29703 = distinct !{!29703, !29704, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$8truncate17h21654f5a5e85bc4bE: argument 0"} +!29704 = distinct !{!29704, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$8truncate17h21654f5a5e85bc4bE"} !29705 = !{!29706} -!29706 = distinct !{!29706, !29707, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} -!29707 = distinct !{!29707, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} -!29708 = !{!29706, !29703, !29700} -!29709 = !{!29706, !29703, !29700, !29697} -!29710 = !{!29700, !29697} +!29706 = distinct !{!29706, !29707, !"_ZN4core3ptr75drop_in_place$LT$$u5b$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$u5d$$GT$17h4216407a426d7c69E: argument 0"} +!29707 = distinct !{!29707, !"_ZN4core3ptr75drop_in_place$LT$$u5b$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$u5d$$GT$17h4216407a426d7c69E"} +!29708 = !{!29709} +!29709 = distinct !{!29709, !29710, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} +!29710 = distinct !{!29710, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} !29711 = !{!29712} -!29712 = distinct !{!29712, !29713, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h201645fe071ad0cbE: argument 1"} -!29713 = distinct !{!29713, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h201645fe071ad0cbE"} -!29714 = !{!29715, !29716} -!29715 = distinct !{!29715, !29713, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h201645fe071ad0cbE: argument 0"} -!29716 = distinct !{!29716, !29713, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h201645fe071ad0cbE: argument 2"} -!29717 = !{!29712, !29716} -!29718 = !{!29715, !29712, !29716} -!29719 = !{!29720} -!29720 = distinct !{!29720, !29721, !"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17hfb1c6cc9311857e8E: argument 0"} -!29721 = distinct !{!29721, !"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17hfb1c6cc9311857e8E"} -!29722 = !{!29723} -!29723 = distinct !{!29723, !29724, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} -!29724 = distinct !{!29724, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} +!29712 = distinct !{!29712, !29713, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} +!29713 = distinct !{!29713, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} +!29714 = !{!29712, !29709, !29706} +!29715 = !{!29712, !29709, !29706, !29703} +!29716 = !{!29706, !29703} +!29717 = !{!29718} +!29718 = distinct !{!29718, !29719, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h201645fe071ad0cbE: argument 1"} +!29719 = distinct !{!29719, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h201645fe071ad0cbE"} +!29720 = !{!29721, !29722} +!29721 = distinct !{!29721, !29719, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h201645fe071ad0cbE: argument 0"} +!29722 = distinct !{!29722, !29719, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h201645fe071ad0cbE: argument 2"} +!29723 = !{!29718, !29722} +!29724 = !{!29721, !29718, !29722} !29725 = !{!29726} -!29726 = distinct !{!29726, !29727, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} -!29727 = distinct !{!29727, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} -!29728 = !{!29726, !29723, !29720} -!29729 = !{!29730, !29732} -!29730 = distinct !{!29730, !29731, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} -!29731 = distinct !{!29731, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} -!29732 = distinct !{!29732, !29733, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} -!29733 = distinct !{!29733, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} -!29734 = !{!29735} -!29735 = distinct !{!29735, !29736, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} -!29736 = distinct !{!29736, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} -!29737 = !{!29738} -!29738 = distinct !{!29738, !29739, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} -!29739 = distinct !{!29739, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} -!29740 = !{!29738, !29735} -!29741 = !{!29742, !29744} -!29742 = distinct !{!29742, !29743, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8position17h06a9f8a37dfd8c9aE: argument 0"} -!29743 = distinct !{!29743, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8position17h06a9f8a37dfd8c9aE"} -!29744 = distinct !{!29744, !29743, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8position17h06a9f8a37dfd8c9aE: argument 1"} -!29745 = !{!29746, !29748} -!29746 = distinct !{!29746, !29747, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8position17h06a9f8a37dfd8c9aE: argument 0"} -!29747 = distinct !{!29747, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8position17h06a9f8a37dfd8c9aE"} -!29748 = distinct !{!29748, !29747, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8position17h06a9f8a37dfd8c9aE: argument 1"} -!29749 = !{!29750} -!29750 = distinct !{!29750, !29751, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h222d25c33575a88eE: argument 0"} -!29751 = distinct !{!29751, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h222d25c33575a88eE"} -!29752 = !{!29753} -!29753 = distinct !{!29753, !29751, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h222d25c33575a88eE: argument 1"} -!29754 = !{!29750, !29753} -!29755 = !{!29756, !29758} -!29756 = distinct !{!29756, !29757, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} -!29757 = distinct !{!29757, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} -!29758 = distinct !{!29758, !29759, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} -!29759 = distinct !{!29759, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} -!29760 = !{!29761} -!29761 = distinct !{!29761, !29762, !"_ZN75_$LT$html5ever..tokenizer..interface..Tag$u20$as$u20$core..clone..Clone$GT$5clone17h8cc0abc4a6adbb98E: argument 0"} -!29762 = distinct !{!29762, !"_ZN75_$LT$html5ever..tokenizer..interface..Tag$u20$as$u20$core..clone..Clone$GT$5clone17h8cc0abc4a6adbb98E"} -!29763 = !{!29764} -!29764 = distinct !{!29764, !29762, !"_ZN75_$LT$html5ever..tokenizer..interface..Tag$u20$as$u20$core..clone..Clone$GT$5clone17h8cc0abc4a6adbb98E: argument 1"} -!29765 = !{!29761, !29764} +!29726 = distinct !{!29726, !29727, !"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17hfb1c6cc9311857e8E: argument 0"} +!29727 = distinct !{!29727, !"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17hfb1c6cc9311857e8E"} +!29728 = !{!29729} +!29729 = distinct !{!29729, !29730, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} +!29730 = distinct !{!29730, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} +!29731 = !{!29732} +!29732 = distinct !{!29732, !29733, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} +!29733 = distinct !{!29733, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} +!29734 = !{!29732, !29729, !29726} +!29735 = !{!29736, !29738} +!29736 = distinct !{!29736, !29737, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} +!29737 = distinct !{!29737, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} +!29738 = distinct !{!29738, !29739, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} +!29739 = distinct !{!29739, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} +!29740 = !{!29741} +!29741 = distinct !{!29741, !29742, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} +!29742 = distinct !{!29742, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} +!29743 = !{!29744} +!29744 = distinct !{!29744, !29745, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} +!29745 = distinct !{!29745, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} +!29746 = !{!29744, !29741} +!29747 = !{!29748, !29750} +!29748 = distinct !{!29748, !29749, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8position17h06a9f8a37dfd8c9aE: argument 0"} +!29749 = distinct !{!29749, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8position17h06a9f8a37dfd8c9aE"} +!29750 = distinct !{!29750, !29749, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8position17h06a9f8a37dfd8c9aE: argument 1"} +!29751 = !{!29752, !29754} +!29752 = distinct !{!29752, !29753, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8position17h06a9f8a37dfd8c9aE: argument 0"} +!29753 = distinct !{!29753, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8position17h06a9f8a37dfd8c9aE"} +!29754 = distinct !{!29754, !29753, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8position17h06a9f8a37dfd8c9aE: argument 1"} +!29755 = !{!29756} +!29756 = distinct !{!29756, !29757, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h222d25c33575a88eE: argument 0"} +!29757 = distinct !{!29757, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h222d25c33575a88eE"} +!29758 = !{!29759} +!29759 = distinct !{!29759, !29757, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h222d25c33575a88eE: argument 1"} +!29760 = !{!29756, !29759} +!29761 = !{!29762, !29764} +!29762 = distinct !{!29762, !29763, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} +!29763 = distinct !{!29763, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} +!29764 = distinct !{!29764, !29765, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} +!29765 = distinct !{!29765, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} !29766 = !{!29767} -!29767 = distinct !{!29767, !29768, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} -!29768 = distinct !{!29768, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} +!29767 = distinct !{!29767, !29768, !"_ZN75_$LT$html5ever..tokenizer..interface..Tag$u20$as$u20$core..clone..Clone$GT$5clone17h8cc0abc4a6adbb98E: argument 0"} +!29768 = distinct !{!29768, !"_ZN75_$LT$html5ever..tokenizer..interface..Tag$u20$as$u20$core..clone..Clone$GT$5clone17h8cc0abc4a6adbb98E"} !29769 = !{!29770} -!29770 = distinct !{!29770, !29771, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} -!29771 = distinct !{!29771, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} -!29772 = !{!29770, !29767} -!29773 = !{!29774} -!29774 = distinct !{!29774, !29775, !"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17hfb1c6cc9311857e8E: argument 0"} -!29775 = distinct !{!29775, !"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17hfb1c6cc9311857e8E"} -!29776 = !{!29777} -!29777 = distinct !{!29777, !29778, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} -!29778 = distinct !{!29778, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} +!29770 = distinct !{!29770, !29768, !"_ZN75_$LT$html5ever..tokenizer..interface..Tag$u20$as$u20$core..clone..Clone$GT$5clone17h8cc0abc4a6adbb98E: argument 1"} +!29771 = !{!29767, !29770} +!29772 = !{!29773} +!29773 = distinct !{!29773, !29774, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} +!29774 = distinct !{!29774, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} +!29775 = !{!29776} +!29776 = distinct !{!29776, !29777, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} +!29777 = distinct !{!29777, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} +!29778 = !{!29776, !29773} !29779 = !{!29780} -!29780 = distinct !{!29780, !29781, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} -!29781 = distinct !{!29781, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} -!29782 = !{!29780, !29777, !29774} -!29783 = !{!29784} -!29784 = distinct !{!29784, !29785, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} -!29785 = distinct !{!29785, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} -!29786 = !{!29787} -!29787 = distinct !{!29787, !29788, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} -!29788 = distinct !{!29788, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} -!29789 = !{!29787, !29784} -!29790 = !{!29791, !29793} -!29791 = distinct !{!29791, !29792, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} -!29792 = distinct !{!29792, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} -!29793 = distinct !{!29793, !29794, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} -!29794 = distinct !{!29794, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} -!29795 = !{!29796, !29798} -!29796 = distinct !{!29796, !29797, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} -!29797 = distinct !{!29797, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} -!29798 = distinct !{!29798, !29799, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} -!29799 = distinct !{!29799, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} -!29800 = !{!29801} -!29801 = distinct !{!29801, !29802, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} -!29802 = distinct !{!29802, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} -!29803 = !{!29804} -!29804 = distinct !{!29804, !29805, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} -!29805 = distinct !{!29805, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} -!29806 = !{!29804, !29801} -!29807 = !{!29808} -!29808 = distinct !{!29808, !29809, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h201645fe071ad0cbE: argument 1"} -!29809 = distinct !{!29809, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h201645fe071ad0cbE"} -!29810 = !{!29808, !29811} -!29811 = distinct !{!29811, !29809, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h201645fe071ad0cbE: argument 2"} -!29812 = !{!29813, !29808, !29811} -!29813 = distinct !{!29813, !29809, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h201645fe071ad0cbE: argument 0"} -!29814 = !{!29813, !29811} -!29815 = !{!29816} -!29816 = distinct !{!29816, !29817, !"_ZN4core3ptr144drop_in_place$LT$core..option..Option$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$$GT$17hb44fe697df1d548fE: argument 0"} -!29817 = distinct !{!29817, !"_ZN4core3ptr144drop_in_place$LT$core..option..Option$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$$GT$17hb44fe697df1d548fE"} -!29818 = !{!29819} -!29819 = distinct !{!29819, !29820, !"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17hfb1c6cc9311857e8E: argument 0"} -!29820 = distinct !{!29820, !"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17hfb1c6cc9311857e8E"} +!29780 = distinct !{!29780, !29781, !"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17hfb1c6cc9311857e8E: argument 0"} +!29781 = distinct !{!29781, !"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17hfb1c6cc9311857e8E"} +!29782 = !{!29783} +!29783 = distinct !{!29783, !29784, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} +!29784 = distinct !{!29784, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} +!29785 = !{!29786} +!29786 = distinct !{!29786, !29787, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} +!29787 = distinct !{!29787, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} +!29788 = !{!29786, !29783, !29780} +!29789 = !{!29790} +!29790 = distinct !{!29790, !29791, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} +!29791 = distinct !{!29791, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} +!29792 = !{!29793} +!29793 = distinct !{!29793, !29794, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} +!29794 = distinct !{!29794, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} +!29795 = !{!29793, !29790} +!29796 = !{!29797, !29799} +!29797 = distinct !{!29797, !29798, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} +!29798 = distinct !{!29798, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} +!29799 = distinct !{!29799, !29800, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} +!29800 = distinct !{!29800, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} +!29801 = !{!29802, !29804} +!29802 = distinct !{!29802, !29803, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} +!29803 = distinct !{!29803, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} +!29804 = distinct !{!29804, !29805, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} +!29805 = distinct !{!29805, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} +!29806 = !{!29807} +!29807 = distinct !{!29807, !29808, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} +!29808 = distinct !{!29808, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} +!29809 = !{!29810} +!29810 = distinct !{!29810, !29811, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} +!29811 = distinct !{!29811, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} +!29812 = !{!29810, !29807} +!29813 = !{!29814} +!29814 = distinct !{!29814, !29815, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h201645fe071ad0cbE: argument 1"} +!29815 = distinct !{!29815, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h201645fe071ad0cbE"} +!29816 = !{!29814, !29817} +!29817 = distinct !{!29817, !29815, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h201645fe071ad0cbE: argument 2"} +!29818 = !{!29819, !29814, !29817} +!29819 = distinct !{!29819, !29815, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h201645fe071ad0cbE: argument 0"} +!29820 = !{!29819, !29817} !29821 = !{!29822} -!29822 = distinct !{!29822, !29823, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} -!29823 = distinct !{!29823, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} +!29822 = distinct !{!29822, !29823, !"_ZN4core3ptr144drop_in_place$LT$core..option..Option$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$$GT$17hb44fe697df1d548fE: argument 0"} +!29823 = distinct !{!29823, !"_ZN4core3ptr144drop_in_place$LT$core..option..Option$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$$GT$17hb44fe697df1d548fE"} !29824 = !{!29825} -!29825 = distinct !{!29825, !29826, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} -!29826 = distinct !{!29826, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} -!29827 = !{!29825, !29822, !29819, !29816} -!29828 = !{!29819, !29816} -!29829 = !{!29830} -!29830 = distinct !{!29830, !29831, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h222d25c33575a88eE: argument 0"} -!29831 = distinct !{!29831, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h222d25c33575a88eE"} -!29832 = !{!29833} -!29833 = distinct !{!29833, !29831, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h222d25c33575a88eE: argument 1"} -!29834 = !{!29830, !29833} -!29835 = !{!29836, !29838} -!29836 = distinct !{!29836, !29837, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} -!29837 = distinct !{!29837, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} -!29838 = distinct !{!29838, !29839, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} -!29839 = distinct !{!29839, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} -!29840 = !{!29841} -!29841 = distinct !{!29841, !29842, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$20insert_appropriately17h3e0b9d2ef6805631E: argument 1"} -!29842 = distinct !{!29842, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$20insert_appropriately17h3e0b9d2ef6805631E"} -!29843 = !{!29844, !29841} -!29844 = distinct !{!29844, !29842, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$20insert_appropriately17h3e0b9d2ef6805631E: argument 0"} -!29845 = !{!29844} -!29846 = !{!29847, !29849} -!29847 = distinct !{!29847, !29848, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8position17h06a9f8a37dfd8c9aE: argument 0"} -!29848 = distinct !{!29848, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8position17h06a9f8a37dfd8c9aE"} -!29849 = distinct !{!29849, !29848, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8position17h06a9f8a37dfd8c9aE: argument 1"} -!29850 = !{!29851, !29853} -!29851 = distinct !{!29851, !29852, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8position17h06a9f8a37dfd8c9aE: argument 0"} -!29852 = distinct !{!29852, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8position17h06a9f8a37dfd8c9aE"} -!29853 = distinct !{!29853, !29852, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8position17h06a9f8a37dfd8c9aE: argument 1"} -!29854 = !{!29855} -!29855 = distinct !{!29855, !29856, !"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17hfb1c6cc9311857e8E: argument 0"} -!29856 = distinct !{!29856, !"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17hfb1c6cc9311857e8E"} -!29857 = !{!29858} -!29858 = distinct !{!29858, !29859, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} -!29859 = distinct !{!29859, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} +!29825 = distinct !{!29825, !29826, !"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17hfb1c6cc9311857e8E: argument 0"} +!29826 = distinct !{!29826, !"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17hfb1c6cc9311857e8E"} +!29827 = !{!29828} +!29828 = distinct !{!29828, !29829, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} +!29829 = distinct !{!29829, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} +!29830 = !{!29831} +!29831 = distinct !{!29831, !29832, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} +!29832 = distinct !{!29832, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} +!29833 = !{!29831, !29828, !29825, !29822} +!29834 = !{!29825, !29822} +!29835 = !{!29836} +!29836 = distinct !{!29836, !29837, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h222d25c33575a88eE: argument 0"} +!29837 = distinct !{!29837, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h222d25c33575a88eE"} +!29838 = !{!29839} +!29839 = distinct !{!29839, !29837, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h222d25c33575a88eE: argument 1"} +!29840 = !{!29836, !29839} +!29841 = !{!29842, !29844} +!29842 = distinct !{!29842, !29843, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} +!29843 = distinct !{!29843, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} +!29844 = distinct !{!29844, !29845, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} +!29845 = distinct !{!29845, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} +!29846 = !{!29847} +!29847 = distinct !{!29847, !29848, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$20insert_appropriately17h3e0b9d2ef6805631E: argument 1"} +!29848 = distinct !{!29848, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$20insert_appropriately17h3e0b9d2ef6805631E"} +!29849 = !{!29850, !29847} +!29850 = distinct !{!29850, !29848, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$20insert_appropriately17h3e0b9d2ef6805631E: argument 0"} +!29851 = !{!29850} +!29852 = !{!29853, !29855} +!29853 = distinct !{!29853, !29854, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8position17h06a9f8a37dfd8c9aE: argument 0"} +!29854 = distinct !{!29854, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8position17h06a9f8a37dfd8c9aE"} +!29855 = distinct !{!29855, !29854, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8position17h06a9f8a37dfd8c9aE: argument 1"} +!29856 = !{!29857, !29859} +!29857 = distinct !{!29857, !29858, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8position17h06a9f8a37dfd8c9aE: argument 0"} +!29858 = distinct !{!29858, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8position17h06a9f8a37dfd8c9aE"} +!29859 = distinct !{!29859, !29858, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8position17h06a9f8a37dfd8c9aE: argument 1"} !29860 = !{!29861} -!29861 = distinct !{!29861, !29862, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} -!29862 = distinct !{!29862, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} -!29863 = !{!29861, !29858, !29855} -!29864 = !{!29865, !29867} -!29865 = distinct !{!29865, !29866, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} -!29866 = distinct !{!29866, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} -!29867 = distinct !{!29867, !29868, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} -!29868 = distinct !{!29868, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} -!29869 = !{!29870} -!29870 = distinct !{!29870, !29871, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$9rposition17hb7c0bc7a089d011eE: argument 1"} -!29871 = distinct !{!29871, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$9rposition17hb7c0bc7a089d011eE"} -!29872 = !{!29873} -!29873 = distinct !{!29873, !29871, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$9rposition17hb7c0bc7a089d011eE: argument 0"} -!29874 = !{!29875} -!29875 = distinct !{!29875, !29876, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17remove_from_stack17hf35476a0839db787E: argument 0"} -!29876 = distinct !{!29876, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17remove_from_stack17hf35476a0839db787E"} -!29877 = !{!29878, !29880, !29875} -!29878 = distinct !{!29878, !29879, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$9rposition17hb7c0bc7a089d011eE: argument 0"} -!29879 = distinct !{!29879, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$9rposition17hb7c0bc7a089d011eE"} -!29880 = distinct !{!29880, !29879, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$9rposition17hb7c0bc7a089d011eE: argument 1"} -!29881 = !{!29882} -!29882 = distinct !{!29882, !29883, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h222d25c33575a88eE: argument 0"} -!29883 = distinct !{!29883, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h222d25c33575a88eE"} -!29884 = !{!29882, !29885, !29875} -!29885 = distinct !{!29885, !29883, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h222d25c33575a88eE: argument 1"} -!29886 = !{!29882, !29875} -!29887 = !{!29885} -!29888 = !{!29889, !29891, !29875} -!29889 = distinct !{!29889, !29890, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} -!29890 = distinct !{!29890, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} -!29891 = distinct !{!29891, !29892, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} -!29892 = distinct !{!29892, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} -!29893 = !{!29894} -!29894 = distinct !{!29894, !29895, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6insert17h14775a1312340753E: argument 0"} -!29895 = distinct !{!29895, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6insert17h14775a1312340753E"} -!29896 = !{!29897} -!29897 = distinct !{!29897, !29895, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6insert17h14775a1312340753E: argument 1"} -!29898 = !{!29899} -!29899 = distinct !{!29899, !29900, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8position17h06a9f8a37dfd8c9aE: argument 1"} -!29900 = distinct !{!29900, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8position17h06a9f8a37dfd8c9aE"} -!29901 = !{!29902} -!29902 = distinct !{!29902, !29900, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8position17h06a9f8a37dfd8c9aE: argument 0"} -!29903 = !{!29902, !29899} +!29861 = distinct !{!29861, !29862, !"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17hfb1c6cc9311857e8E: argument 0"} +!29862 = distinct !{!29862, !"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17hfb1c6cc9311857e8E"} +!29863 = !{!29864} +!29864 = distinct !{!29864, !29865, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} +!29865 = distinct !{!29865, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} +!29866 = !{!29867} +!29867 = distinct !{!29867, !29868, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} +!29868 = distinct !{!29868, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} +!29869 = !{!29867, !29864, !29861} +!29870 = !{!29871, !29873} +!29871 = distinct !{!29871, !29872, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} +!29872 = distinct !{!29872, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} +!29873 = distinct !{!29873, !29874, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} +!29874 = distinct !{!29874, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} +!29875 = !{!29876} +!29876 = distinct !{!29876, !29877, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$9rposition17hb7c0bc7a089d011eE: argument 1"} +!29877 = distinct !{!29877, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$9rposition17hb7c0bc7a089d011eE"} +!29878 = !{!29879} +!29879 = distinct !{!29879, !29877, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$9rposition17hb7c0bc7a089d011eE: argument 0"} +!29880 = !{!29881} +!29881 = distinct !{!29881, !29882, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17remove_from_stack17hf35476a0839db787E: argument 0"} +!29882 = distinct !{!29882, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17remove_from_stack17hf35476a0839db787E"} +!29883 = !{!29884, !29886, !29881} +!29884 = distinct !{!29884, !29885, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$9rposition17hb7c0bc7a089d011eE: argument 0"} +!29885 = distinct !{!29885, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$9rposition17hb7c0bc7a089d011eE"} +!29886 = distinct !{!29886, !29885, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$9rposition17hb7c0bc7a089d011eE: argument 1"} +!29887 = !{!29888} +!29888 = distinct !{!29888, !29889, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h222d25c33575a88eE: argument 0"} +!29889 = distinct !{!29889, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h222d25c33575a88eE"} +!29890 = !{!29888, !29891, !29881} +!29891 = distinct !{!29891, !29889, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h222d25c33575a88eE: argument 1"} +!29892 = !{!29888, !29881} +!29893 = !{!29891} +!29894 = !{!29895, !29897, !29881} +!29895 = distinct !{!29895, !29896, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} +!29896 = distinct !{!29896, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} +!29897 = distinct !{!29897, !29898, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} +!29898 = distinct !{!29898, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} +!29899 = !{!29900} +!29900 = distinct !{!29900, !29901, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6insert17h14775a1312340753E: argument 0"} +!29901 = distinct !{!29901, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6insert17h14775a1312340753E"} +!29902 = !{!29903} +!29903 = distinct !{!29903, !29901, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6insert17h14775a1312340753E: argument 1"} !29904 = !{!29905} -!29905 = distinct !{!29905, !29906, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h201645fe071ad0cbE: argument 1"} -!29906 = distinct !{!29906, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h201645fe071ad0cbE"} -!29907 = !{!29905, !29908} -!29908 = distinct !{!29908, !29906, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h201645fe071ad0cbE: argument 2"} -!29909 = !{!29910, !29905, !29908} -!29910 = distinct !{!29910, !29906, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h201645fe071ad0cbE: argument 0"} -!29911 = !{!29910, !29908} -!29912 = !{!29913} -!29913 = distinct !{!29913, !29914, !"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17hfb1c6cc9311857e8E: argument 0"} -!29914 = distinct !{!29914, !"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17hfb1c6cc9311857e8E"} -!29915 = !{!29916} -!29916 = distinct !{!29916, !29917, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} -!29917 = distinct !{!29917, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} +!29905 = distinct !{!29905, !29906, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8position17h06a9f8a37dfd8c9aE: argument 1"} +!29906 = distinct !{!29906, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8position17h06a9f8a37dfd8c9aE"} +!29907 = !{!29908} +!29908 = distinct !{!29908, !29906, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8position17h06a9f8a37dfd8c9aE: argument 0"} +!29909 = !{!29908, !29905} +!29910 = !{!29911} +!29911 = distinct !{!29911, !29912, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h201645fe071ad0cbE: argument 1"} +!29912 = distinct !{!29912, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h201645fe071ad0cbE"} +!29913 = !{!29911, !29914} +!29914 = distinct !{!29914, !29912, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h201645fe071ad0cbE: argument 2"} +!29915 = !{!29916, !29911, !29914} +!29916 = distinct !{!29916, !29912, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h201645fe071ad0cbE: argument 0"} +!29917 = !{!29916, !29914} !29918 = !{!29919} -!29919 = distinct !{!29919, !29920, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} -!29920 = distinct !{!29920, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} -!29921 = !{!29919, !29916, !29913} -!29922 = !{!29923, !29925} -!29923 = distinct !{!29923, !29924, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} -!29924 = distinct !{!29924, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} -!29925 = distinct !{!29925, !29926, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} -!29926 = distinct !{!29926, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} -!29927 = !{!29928} -!29928 = distinct !{!29928, !29929, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8position17h9f19c6144209df53E: argument 1"} -!29929 = distinct !{!29929, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8position17h9f19c6144209df53E"} -!29930 = !{!29931} -!29931 = distinct !{!29931, !29929, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8position17h9f19c6144209df53E: argument 0"} -!29932 = !{!29931, !29928} +!29919 = distinct !{!29919, !29920, !"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17hfb1c6cc9311857e8E: argument 0"} +!29920 = distinct !{!29920, !"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17hfb1c6cc9311857e8E"} +!29921 = !{!29922} +!29922 = distinct !{!29922, !29923, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} +!29923 = distinct !{!29923, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} +!29924 = !{!29925} +!29925 = distinct !{!29925, !29926, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} +!29926 = distinct !{!29926, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} +!29927 = !{!29925, !29922, !29919} +!29928 = !{!29929, !29931} +!29929 = distinct !{!29929, !29930, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} +!29930 = distinct !{!29930, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} +!29931 = distinct !{!29931, !29932, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} +!29932 = distinct !{!29932, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} !29933 = !{!29934} -!29934 = distinct !{!29934, !29935, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6insert17hea0810e0c6ad0aadE: argument 0"} -!29935 = distinct !{!29935, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6insert17hea0810e0c6ad0aadE"} +!29934 = distinct !{!29934, !29935, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8position17h9f19c6144209df53E: argument 1"} +!29935 = distinct !{!29935, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8position17h9f19c6144209df53E"} !29936 = !{!29937} -!29937 = distinct !{!29937, !29938, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} -!29938 = distinct !{!29938, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} +!29937 = distinct !{!29937, !29935, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8position17h9f19c6144209df53E: argument 0"} +!29938 = !{!29937, !29934} !29939 = !{!29940} -!29940 = distinct !{!29940, !29941, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} -!29941 = distinct !{!29941, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} -!29942 = !{!29940, !29937} -!29943 = !{!29944} -!29944 = distinct !{!29944, !29945, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} -!29945 = distinct !{!29945, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} -!29946 = !{!29947} -!29947 = distinct !{!29947, !29948, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} -!29948 = distinct !{!29948, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} -!29949 = !{!29947, !29944} -!29950 = !{!29951} -!29951 = distinct !{!29951, !29952, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} -!29952 = distinct !{!29952, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} -!29953 = !{!29954} -!29954 = distinct !{!29954, !29955, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} -!29955 = distinct !{!29955, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} -!29956 = !{!29954, !29951} -!29957 = !{!29958, !29960} -!29958 = distinct !{!29958, !29959, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} -!29959 = distinct !{!29959, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} -!29960 = distinct !{!29960, !29961, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} -!29961 = distinct !{!29961, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} -!29962 = !{!29963, !29965} -!29963 = distinct !{!29963, !29964, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} -!29964 = distinct !{!29964, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} -!29965 = distinct !{!29965, !29966, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} -!29966 = distinct !{!29966, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} -!29967 = !{!29968} -!29968 = distinct !{!29968, !29969, !"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h734fc4935bbafb8fE: argument 0"} -!29969 = distinct !{!29969, !"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h734fc4935bbafb8fE"} -!29970 = !{!29971} -!29971 = distinct !{!29971, !29972, !"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h734fc4935bbafb8fE: argument 0"} -!29972 = distinct !{!29972, !"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h734fc4935bbafb8fE"} -!29973 = !{!29974, !29976, !29977, !29979, !29980} -!29974 = distinct !{!29974, !29975, !"_ZN5alloc3fmt6format28_$u7b$$u7b$closure$u7d$$u7d$17h539639ffa7ad3666E.llvm.16595843094761361803: argument 0"} -!29975 = distinct !{!29975, !"_ZN5alloc3fmt6format28_$u7b$$u7b$closure$u7d$$u7d$17h539639ffa7ad3666E.llvm.16595843094761361803"} -!29976 = distinct !{!29976, !29975, !"_ZN5alloc3fmt6format28_$u7b$$u7b$closure$u7d$$u7d$17h539639ffa7ad3666E.llvm.16595843094761361803: argument 1"} -!29977 = distinct !{!29977, !29978, !"_ZN4core6option15Option$LT$T$GT$11map_or_else17h478e795518431fc7E.llvm.16595843094761361803: argument 0"} -!29978 = distinct !{!29978, !"_ZN4core6option15Option$LT$T$GT$11map_or_else17h478e795518431fc7E.llvm.16595843094761361803"} -!29979 = distinct !{!29979, !29978, !"_ZN4core6option15Option$LT$T$GT$11map_or_else17h478e795518431fc7E.llvm.16595843094761361803: argument 1"} -!29980 = distinct !{!29980, !29978, !"_ZN4core6option15Option$LT$T$GT$11map_or_else17h478e795518431fc7E.llvm.16595843094761361803: argument 2"} -!29981 = !{!29974, !29977, !29979} -!29982 = !{!29983} -!29983 = distinct !{!29983, !29984, !"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h734fc4935bbafb8fE: argument 0"} -!29984 = distinct !{!29984, !"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h734fc4935bbafb8fE"} -!29985 = !{!29986} -!29986 = distinct !{!29986, !29987, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$9pop_until17h5e6f02f81e71dffdE: argument 0"} -!29987 = distinct !{!29987, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$9pop_until17h5e6f02f81e71dffdE"} +!29940 = distinct !{!29940, !29941, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6insert17hea0810e0c6ad0aadE: argument 0"} +!29941 = distinct !{!29941, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6insert17hea0810e0c6ad0aadE"} +!29942 = !{!29943} +!29943 = distinct !{!29943, !29944, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} +!29944 = distinct !{!29944, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} +!29945 = !{!29946} +!29946 = distinct !{!29946, !29947, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} +!29947 = distinct !{!29947, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} +!29948 = !{!29946, !29943} +!29949 = !{!29950} +!29950 = distinct !{!29950, !29951, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} +!29951 = distinct !{!29951, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} +!29952 = !{!29953} +!29953 = distinct !{!29953, !29954, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} +!29954 = distinct !{!29954, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} +!29955 = !{!29953, !29950} +!29956 = !{!29957} +!29957 = distinct !{!29957, !29958, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} +!29958 = distinct !{!29958, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} +!29959 = !{!29960} +!29960 = distinct !{!29960, !29961, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} +!29961 = distinct !{!29961, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} +!29962 = !{!29960, !29957} +!29963 = !{!29964, !29966} +!29964 = distinct !{!29964, !29965, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} +!29965 = distinct !{!29965, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} +!29966 = distinct !{!29966, !29967, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} +!29967 = distinct !{!29967, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} +!29968 = !{!29969, !29971} +!29969 = distinct !{!29969, !29970, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} +!29970 = distinct !{!29970, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} +!29971 = distinct !{!29971, !29972, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} +!29972 = distinct !{!29972, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} +!29973 = !{!29974} +!29974 = distinct !{!29974, !29975, !"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h734fc4935bbafb8fE: argument 0"} +!29975 = distinct !{!29975, !"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h734fc4935bbafb8fE"} +!29976 = !{!29977} +!29977 = distinct !{!29977, !29978, !"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h734fc4935bbafb8fE: argument 0"} +!29978 = distinct !{!29978, !"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h734fc4935bbafb8fE"} +!29979 = !{!29980, !29982, !29983, !29985, !29986} +!29980 = distinct !{!29980, !29981, !"_ZN5alloc3fmt6format28_$u7b$$u7b$closure$u7d$$u7d$17h539639ffa7ad3666E.llvm.16595843094761361803: argument 0"} +!29981 = distinct !{!29981, !"_ZN5alloc3fmt6format28_$u7b$$u7b$closure$u7d$$u7d$17h539639ffa7ad3666E.llvm.16595843094761361803"} +!29982 = distinct !{!29982, !29981, !"_ZN5alloc3fmt6format28_$u7b$$u7b$closure$u7d$$u7d$17h539639ffa7ad3666E.llvm.16595843094761361803: argument 1"} +!29983 = distinct !{!29983, !29984, !"_ZN4core6option15Option$LT$T$GT$11map_or_else17h478e795518431fc7E.llvm.16595843094761361803: argument 0"} +!29984 = distinct !{!29984, !"_ZN4core6option15Option$LT$T$GT$11map_or_else17h478e795518431fc7E.llvm.16595843094761361803"} +!29985 = distinct !{!29985, !29984, !"_ZN4core6option15Option$LT$T$GT$11map_or_else17h478e795518431fc7E.llvm.16595843094761361803: argument 1"} +!29986 = distinct !{!29986, !29984, !"_ZN4core6option15Option$LT$T$GT$11map_or_else17h478e795518431fc7E.llvm.16595843094761361803: argument 2"} +!29987 = !{!29980, !29983, !29985} !29988 = !{!29989} -!29989 = distinct !{!29989, !29987, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$9pop_until17h5e6f02f81e71dffdE: argument 1"} -!29990 = !{!29986, !29989} +!29989 = distinct !{!29989, !29990, !"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h734fc4935bbafb8fE: argument 0"} +!29990 = distinct !{!29990, !"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h734fc4935bbafb8fE"} !29991 = !{!29992} -!29992 = distinct !{!29992, !29993, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15pop_until_named28_$u7b$$u7b$closure$u7d$$u7d$17h14dcc356712ae9d7E: argument 0"} -!29993 = distinct !{!29993, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15pop_until_named28_$u7b$$u7b$closure$u7d$$u7d$17h14dcc356712ae9d7E"} +!29992 = distinct !{!29992, !29993, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$9pop_until17h5e6f02f81e71dffdE: argument 0"} +!29993 = distinct !{!29993, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$9pop_until17h5e6f02f81e71dffdE"} !29994 = !{!29995} -!29995 = distinct !{!29995, !29996, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} -!29996 = distinct !{!29996, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} +!29995 = distinct !{!29995, !29993, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$9pop_until17h5e6f02f81e71dffdE: argument 1"} +!29996 = !{!29992, !29995} !29997 = !{!29998} -!29998 = distinct !{!29998, !29999, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} -!29999 = distinct !{!29999, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} -!30000 = !{!29998, !29995} -!30001 = !{!29998, !29995, !29989} -!30002 = !{!30003} -!30003 = distinct !{!30003, !30004, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} -!30004 = distinct !{!30004, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} -!30005 = !{!30006} -!30006 = distinct !{!30006, !30007, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} -!30007 = distinct !{!30007, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} -!30008 = !{!30006, !30003} -!30009 = !{!30006, !30003, !29989} -!30010 = !{!30011} -!30011 = distinct !{!30011, !30012, !"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h734fc4935bbafb8fE: argument 0"} -!30012 = distinct !{!30012, !"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h734fc4935bbafb8fE"} -!30013 = !{!30014} -!30014 = distinct !{!30014, !30015, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$25adjust_foreign_attributes28_$u7b$$u7b$closure$u7d$$u7d$17hd594ac450168c19dE: argument 0"} -!30015 = distinct !{!30015, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$25adjust_foreign_attributes28_$u7b$$u7b$closure$u7d$$u7d$17hd594ac450168c19dE"} -!30016 = !{!30017, !30014} +!29998 = distinct !{!29998, !29999, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15pop_until_named28_$u7b$$u7b$closure$u7d$$u7d$17h14dcc356712ae9d7E: argument 0"} +!29999 = distinct !{!29999, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15pop_until_named28_$u7b$$u7b$closure$u7d$$u7d$17h14dcc356712ae9d7E"} +!30000 = !{!30001} +!30001 = distinct !{!30001, !30002, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} +!30002 = distinct !{!30002, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} +!30003 = !{!30004} +!30004 = distinct !{!30004, !30005, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} +!30005 = distinct !{!30005, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} +!30006 = !{!30004, !30001} +!30007 = !{!30004, !30001, !29995} +!30008 = !{!30009} +!30009 = distinct !{!30009, !30010, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} +!30010 = distinct !{!30010, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} +!30011 = !{!30012} +!30012 = distinct !{!30012, !30013, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} +!30013 = distinct !{!30013, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} +!30014 = !{!30012, !30009} +!30015 = !{!30012, !30009, !29995} +!30016 = !{!30017} !30017 = distinct !{!30017, !30018, !"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h734fc4935bbafb8fE: argument 0"} !30018 = distinct !{!30018, !"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h734fc4935bbafb8fE"} !30019 = !{!30020} -!30020 = distinct !{!30020, !30021, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$24adjust_mathml_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h1edf363c9eff4177E: argument 0"} -!30021 = distinct !{!30021, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$24adjust_mathml_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h1edf363c9eff4177E"} +!30020 = distinct !{!30020, !30021, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$25adjust_foreign_attributes28_$u7b$$u7b$closure$u7d$$u7d$17hd594ac450168c19dE: argument 0"} +!30021 = distinct !{!30021, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$25adjust_foreign_attributes28_$u7b$$u7b$closure$u7d$$u7d$17hd594ac450168c19dE"} !30022 = !{!30023, !30020} !30023 = distinct !{!30023, !30024, !"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h734fc4935bbafb8fE: argument 0"} !30024 = distinct !{!30024, !"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h734fc4935bbafb8fE"} @@ -157282,405 +157362,405 @@ attributes #48 = { "function-inline-cost-multiplier"="2" } !30032 = distinct !{!30032, !30033, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$21adjusted_current_node17h9d1593fe536dd04aE.llvm.16595843094761361803: argument 0"} !30033 = distinct !{!30033, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$21adjusted_current_node17h9d1593fe536dd04aE.llvm.16595843094761361803"} !30034 = !{!30035} -!30035 = distinct !{!30035, !30036, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$19adjust_svg_tag_name17ha0c4fde1873b5d6cE: argument 0"} -!30036 = distinct !{!30036, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$19adjust_svg_tag_name17ha0c4fde1873b5d6cE"} -!30037 = !{!30038, !30040} -!30038 = distinct !{!30038, !30039, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} -!30039 = distinct !{!30039, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} -!30040 = distinct !{!30040, !30041, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} -!30041 = distinct !{!30041, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} -!30042 = !{!30043, !30045} -!30043 = distinct !{!30043, !30044, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} -!30044 = distinct !{!30044, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} -!30045 = distinct !{!30045, !30046, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} -!30046 = distinct !{!30046, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} -!30047 = !{!30048} -!30048 = distinct !{!30048, !30049, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15current_node_in17h42342bd7ca98050fE: argument 0:pre.rot"} -!30049 = distinct !{!30049, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15current_node_in17h42342bd7ca98050fE"} -!30050 = !{!30051} -!30051 = distinct !{!30051, !30049, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15current_node_in17h42342bd7ca98050fE: argument 0"} -!30052 = !{!30053, !30055} -!30053 = distinct !{!30053, !30054, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} -!30054 = distinct !{!30054, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} -!30055 = distinct !{!30055, !30056, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} -!30056 = distinct !{!30056, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} -!30057 = !{!30058} -!30058 = distinct !{!30058, !30049, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15current_node_in17h42342bd7ca98050fE: argument 0:h.rot"} -!30059 = !{!30060} -!30060 = distinct !{!30060, !30061, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15current_node_in17h68f98b7f6e753fe5E: argument 0:pre.rot"} -!30061 = distinct !{!30061, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15current_node_in17h68f98b7f6e753fe5E"} -!30062 = !{!30063} -!30063 = distinct !{!30063, !30061, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15current_node_in17h68f98b7f6e753fe5E: argument 0"} -!30064 = !{!30065, !30067} -!30065 = distinct !{!30065, !30066, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} -!30066 = distinct !{!30066, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} -!30067 = distinct !{!30067, !30068, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} -!30068 = distinct !{!30068, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} -!30069 = !{!30070} -!30070 = distinct !{!30070, !30061, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15current_node_in17h68f98b7f6e753fe5E: argument 0:h.rot"} -!30071 = !{!30072} -!30072 = distinct !{!30072, !30073, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15current_node_in17hd64d0fa026b4cc21E: argument 0:pre.rot"} -!30073 = distinct !{!30073, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15current_node_in17hd64d0fa026b4cc21E"} -!30074 = !{!30075} -!30075 = distinct !{!30075, !30073, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15current_node_in17hd64d0fa026b4cc21E: argument 0"} -!30076 = !{!30077, !30079} -!30077 = distinct !{!30077, !30078, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} -!30078 = distinct !{!30078, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} -!30079 = distinct !{!30079, !30080, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} -!30080 = distinct !{!30080, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} -!30081 = !{!30082} -!30082 = distinct !{!30082, !30073, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15current_node_in17hd64d0fa026b4cc21E: argument 0:h.rot"} -!30083 = !{!29873, !29870} -!30084 = !{!30085} -!30085 = distinct !{!30085, !30086, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h222d25c33575a88eE: argument 0"} -!30086 = distinct !{!30086, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h222d25c33575a88eE"} -!30087 = !{!30085, !30088} -!30088 = distinct !{!30088, !30086, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h222d25c33575a88eE: argument 1"} -!30089 = !{!30088} -!30090 = !{!30091, !30093} -!30091 = distinct !{!30091, !30092, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} -!30092 = distinct !{!30092, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} -!30093 = distinct !{!30093, !30094, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} -!30094 = distinct !{!30094, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} -!30095 = !{!30096} -!30096 = distinct !{!30096, !30097, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$3pop17h394cc4716a2f3cdaE: argument 0"} -!30097 = distinct !{!30097, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$3pop17h394cc4716a2f3cdaE"} -!30098 = !{!30099, !30101} -!30099 = distinct !{!30099, !30100, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} -!30100 = distinct !{!30100, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} -!30101 = distinct !{!30101, !30102, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} -!30102 = distinct !{!30102, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} -!30103 = !{!30104} -!30104 = distinct !{!30104, !30105, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$3pop17h394cc4716a2f3cdaE: argument 0"} -!30105 = distinct !{!30105, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$3pop17h394cc4716a2f3cdaE"} -!30106 = !{!30107, !30109} -!30107 = distinct !{!30107, !30108, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} -!30108 = distinct !{!30108, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} -!30109 = distinct !{!30109, !30110, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} -!30110 = distinct !{!30110, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} -!30111 = !{!30112} -!30112 = distinct !{!30112, !30113, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$3pop17h394cc4716a2f3cdaE: argument 0"} -!30113 = distinct !{!30113, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$3pop17h394cc4716a2f3cdaE"} -!30114 = !{!30115, !30117} -!30115 = distinct !{!30115, !30116, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} -!30116 = distinct !{!30116, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} -!30117 = distinct !{!30117, !30118, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} -!30118 = distinct !{!30118, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} -!30119 = !{!30120} -!30120 = distinct !{!30120, !30121, !"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17h2688c3f78b64ff6bE: argument 0"} -!30121 = distinct !{!30121, !"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17h2688c3f78b64ff6bE"} -!30122 = !{!30123} -!30123 = distinct !{!30123, !30124, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15current_node_in17h7e8dcc2d6357d3f1E: argument 0"} -!30124 = distinct !{!30124, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15current_node_in17h7e8dcc2d6357d3f1E"} -!30125 = !{!30126, !30128, !30129, !30131, !30132} -!30126 = distinct !{!30126, !30127, !"_ZN5alloc3fmt6format28_$u7b$$u7b$closure$u7d$$u7d$17h539639ffa7ad3666E.llvm.16595843094761361803: argument 0"} -!30127 = distinct !{!30127, !"_ZN5alloc3fmt6format28_$u7b$$u7b$closure$u7d$$u7d$17h539639ffa7ad3666E.llvm.16595843094761361803"} -!30128 = distinct !{!30128, !30127, !"_ZN5alloc3fmt6format28_$u7b$$u7b$closure$u7d$$u7d$17h539639ffa7ad3666E.llvm.16595843094761361803: argument 1"} -!30129 = distinct !{!30129, !30130, !"_ZN4core6option15Option$LT$T$GT$11map_or_else17h478e795518431fc7E.llvm.16595843094761361803: argument 0"} -!30130 = distinct !{!30130, !"_ZN4core6option15Option$LT$T$GT$11map_or_else17h478e795518431fc7E.llvm.16595843094761361803"} -!30131 = distinct !{!30131, !30130, !"_ZN4core6option15Option$LT$T$GT$11map_or_else17h478e795518431fc7E.llvm.16595843094761361803: argument 1"} -!30132 = distinct !{!30132, !30130, !"_ZN4core6option15Option$LT$T$GT$11map_or_else17h478e795518431fc7E.llvm.16595843094761361803: argument 2"} -!30133 = !{!30126, !30129, !30131} -!30134 = !{!30135} -!30135 = distinct !{!30135, !30136, !"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hc8b4444378140e4fE: argument 0"} -!30136 = distinct !{!30136, !"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hc8b4444378140e4fE"} -!30137 = !{!30138} -!30138 = distinct !{!30138, !30139, !"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17he6fd1766eb1ed56eE: argument 0"} -!30139 = distinct !{!30139, !"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17he6fd1766eb1ed56eE"} +!30035 = distinct !{!30035, !30036, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$24adjust_mathml_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h1edf363c9eff4177E: argument 0"} +!30036 = distinct !{!30036, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$24adjust_mathml_attributes28_$u7b$$u7b$closure$u7d$$u7d$17h1edf363c9eff4177E"} +!30037 = !{!30038, !30035} +!30038 = distinct !{!30038, !30039, !"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h734fc4935bbafb8fE: argument 0"} +!30039 = distinct !{!30039, !"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h734fc4935bbafb8fE"} +!30040 = !{!30041} +!30041 = distinct !{!30041, !30042, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$19adjust_svg_tag_name17ha0c4fde1873b5d6cE: argument 0"} +!30042 = distinct !{!30042, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$19adjust_svg_tag_name17ha0c4fde1873b5d6cE"} +!30043 = !{!30044, !30046} +!30044 = distinct !{!30044, !30045, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} +!30045 = distinct !{!30045, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} +!30046 = distinct !{!30046, !30047, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} +!30047 = distinct !{!30047, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} +!30048 = !{!30049, !30051} +!30049 = distinct !{!30049, !30050, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} +!30050 = distinct !{!30050, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} +!30051 = distinct !{!30051, !30052, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} +!30052 = distinct !{!30052, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} +!30053 = !{!30054} +!30054 = distinct !{!30054, !30055, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15current_node_in17h42342bd7ca98050fE: argument 0:pre.rot"} +!30055 = distinct !{!30055, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15current_node_in17h42342bd7ca98050fE"} +!30056 = !{!30057} +!30057 = distinct !{!30057, !30055, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15current_node_in17h42342bd7ca98050fE: argument 0"} +!30058 = !{!30059, !30061} +!30059 = distinct !{!30059, !30060, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} +!30060 = distinct !{!30060, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} +!30061 = distinct !{!30061, !30062, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} +!30062 = distinct !{!30062, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} +!30063 = !{!30064} +!30064 = distinct !{!30064, !30055, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15current_node_in17h42342bd7ca98050fE: argument 0:h.rot"} +!30065 = !{!30066} +!30066 = distinct !{!30066, !30067, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15current_node_in17h68f98b7f6e753fe5E: argument 0:pre.rot"} +!30067 = distinct !{!30067, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15current_node_in17h68f98b7f6e753fe5E"} +!30068 = !{!30069} +!30069 = distinct !{!30069, !30067, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15current_node_in17h68f98b7f6e753fe5E: argument 0"} +!30070 = !{!30071, !30073} +!30071 = distinct !{!30071, !30072, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} +!30072 = distinct !{!30072, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} +!30073 = distinct !{!30073, !30074, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} +!30074 = distinct !{!30074, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} +!30075 = !{!30076} +!30076 = distinct !{!30076, !30067, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15current_node_in17h68f98b7f6e753fe5E: argument 0:h.rot"} +!30077 = !{!30078} +!30078 = distinct !{!30078, !30079, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15current_node_in17hd64d0fa026b4cc21E: argument 0:pre.rot"} +!30079 = distinct !{!30079, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15current_node_in17hd64d0fa026b4cc21E"} +!30080 = !{!30081} +!30081 = distinct !{!30081, !30079, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15current_node_in17hd64d0fa026b4cc21E: argument 0"} +!30082 = !{!30083, !30085} +!30083 = distinct !{!30083, !30084, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} +!30084 = distinct !{!30084, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} +!30085 = distinct !{!30085, !30086, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} +!30086 = distinct !{!30086, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} +!30087 = !{!30088} +!30088 = distinct !{!30088, !30079, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15current_node_in17hd64d0fa026b4cc21E: argument 0:h.rot"} +!30089 = !{!29879, !29876} +!30090 = !{!30091} +!30091 = distinct !{!30091, !30092, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h222d25c33575a88eE: argument 0"} +!30092 = distinct !{!30092, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h222d25c33575a88eE"} +!30093 = !{!30091, !30094} +!30094 = distinct !{!30094, !30092, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h222d25c33575a88eE: argument 1"} +!30095 = !{!30094} +!30096 = !{!30097, !30099} +!30097 = distinct !{!30097, !30098, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} +!30098 = distinct !{!30098, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} +!30099 = distinct !{!30099, !30100, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} +!30100 = distinct !{!30100, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} +!30101 = !{!30102} +!30102 = distinct !{!30102, !30103, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$3pop17h394cc4716a2f3cdaE: argument 0"} +!30103 = distinct !{!30103, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$3pop17h394cc4716a2f3cdaE"} +!30104 = !{!30105, !30107} +!30105 = distinct !{!30105, !30106, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} +!30106 = distinct !{!30106, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} +!30107 = distinct !{!30107, !30108, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} +!30108 = distinct !{!30108, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} +!30109 = !{!30110} +!30110 = distinct !{!30110, !30111, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$3pop17h394cc4716a2f3cdaE: argument 0"} +!30111 = distinct !{!30111, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$3pop17h394cc4716a2f3cdaE"} +!30112 = !{!30113, !30115} +!30113 = distinct !{!30113, !30114, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} +!30114 = distinct !{!30114, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} +!30115 = distinct !{!30115, !30116, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} +!30116 = distinct !{!30116, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} +!30117 = !{!30118} +!30118 = distinct !{!30118, !30119, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$3pop17h394cc4716a2f3cdaE: argument 0"} +!30119 = distinct !{!30119, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$3pop17h394cc4716a2f3cdaE"} +!30120 = !{!30121, !30123} +!30121 = distinct !{!30121, !30122, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} +!30122 = distinct !{!30122, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} +!30123 = distinct !{!30123, !30124, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} +!30124 = distinct !{!30124, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} +!30125 = !{!30126} +!30126 = distinct !{!30126, !30127, !"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17h2688c3f78b64ff6bE: argument 0"} +!30127 = distinct !{!30127, !"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17h2688c3f78b64ff6bE"} +!30128 = !{!30129} +!30129 = distinct !{!30129, !30130, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15current_node_in17h7e8dcc2d6357d3f1E: argument 0"} +!30130 = distinct !{!30130, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15current_node_in17h7e8dcc2d6357d3f1E"} +!30131 = !{!30132, !30134, !30135, !30137, !30138} +!30132 = distinct !{!30132, !30133, !"_ZN5alloc3fmt6format28_$u7b$$u7b$closure$u7d$$u7d$17h539639ffa7ad3666E.llvm.16595843094761361803: argument 0"} +!30133 = distinct !{!30133, !"_ZN5alloc3fmt6format28_$u7b$$u7b$closure$u7d$$u7d$17h539639ffa7ad3666E.llvm.16595843094761361803"} +!30134 = distinct !{!30134, !30133, !"_ZN5alloc3fmt6format28_$u7b$$u7b$closure$u7d$$u7d$17h539639ffa7ad3666E.llvm.16595843094761361803: argument 1"} +!30135 = distinct !{!30135, !30136, !"_ZN4core6option15Option$LT$T$GT$11map_or_else17h478e795518431fc7E.llvm.16595843094761361803: argument 0"} +!30136 = distinct !{!30136, !"_ZN4core6option15Option$LT$T$GT$11map_or_else17h478e795518431fc7E.llvm.16595843094761361803"} +!30137 = distinct !{!30137, !30136, !"_ZN4core6option15Option$LT$T$GT$11map_or_else17h478e795518431fc7E.llvm.16595843094761361803: argument 1"} +!30138 = distinct !{!30138, !30136, !"_ZN4core6option15Option$LT$T$GT$11map_or_else17h478e795518431fc7E.llvm.16595843094761361803: argument 2"} +!30139 = !{!30132, !30135, !30137} !30140 = !{!30141} -!30141 = distinct !{!30141, !30142, !"_ZN4core3ptr53drop_in_place$LT$alloc..raw_vec..RawVec$LT$u8$GT$$GT$17h8240d6eec2d2373dE.llvm.13361645166614471590: argument 0"} -!30142 = distinct !{!30142, !"_ZN4core3ptr53drop_in_place$LT$alloc..raw_vec..RawVec$LT$u8$GT$$GT$17h8240d6eec2d2373dE.llvm.13361645166614471590"} +!30141 = distinct !{!30141, !30142, !"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hc8b4444378140e4fE: argument 0"} +!30142 = distinct !{!30142, !"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hc8b4444378140e4fE"} !30143 = !{!30144} -!30144 = distinct !{!30144, !30145, !"_ZN77_$LT$alloc..raw_vec..RawVec$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h22b811c6e1f43eeeE.llvm.13361645166614471590: argument 0"} -!30145 = distinct !{!30145, !"_ZN77_$LT$alloc..raw_vec..RawVec$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h22b811c6e1f43eeeE.llvm.13361645166614471590"} -!30146 = !{!30147, !30144, !30141, !30138, !30135} -!30147 = distinct !{!30147, !30148, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17he0a7570e344abd34E: argument 1"} -!30148 = distinct !{!30148, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17he0a7570e344abd34E"} +!30144 = distinct !{!30144, !30145, !"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17he6fd1766eb1ed56eE: argument 0"} +!30145 = distinct !{!30145, !"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17he6fd1766eb1ed56eE"} +!30146 = !{!30147} +!30147 = distinct !{!30147, !30148, !"_ZN4core3ptr53drop_in_place$LT$alloc..raw_vec..RawVec$LT$u8$GT$$GT$17h8240d6eec2d2373dE.llvm.13361645166614471590: argument 0"} +!30148 = distinct !{!30148, !"_ZN4core3ptr53drop_in_place$LT$alloc..raw_vec..RawVec$LT$u8$GT$$GT$17h8240d6eec2d2373dE.llvm.13361645166614471590"} !30149 = !{!30150} -!30150 = distinct !{!30150, !30148, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17he0a7570e344abd34E: argument 0"} -!30151 = !{!30144, !30141, !30138, !30135} -!30152 = !{!30153} -!30153 = distinct !{!30153, !30154, !"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hc8b4444378140e4fE: argument 0"} -!30154 = distinct !{!30154, !"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hc8b4444378140e4fE"} +!30150 = distinct !{!30150, !30151, !"_ZN77_$LT$alloc..raw_vec..RawVec$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h22b811c6e1f43eeeE.llvm.13361645166614471590: argument 0"} +!30151 = distinct !{!30151, !"_ZN77_$LT$alloc..raw_vec..RawVec$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h22b811c6e1f43eeeE.llvm.13361645166614471590"} +!30152 = !{!30153, !30150, !30147, !30144, !30141} +!30153 = distinct !{!30153, !30154, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17he0a7570e344abd34E: argument 1"} +!30154 = distinct !{!30154, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17he0a7570e344abd34E"} !30155 = !{!30156} -!30156 = distinct !{!30156, !30157, !"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17he6fd1766eb1ed56eE: argument 0"} -!30157 = distinct !{!30157, !"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17he6fd1766eb1ed56eE"} +!30156 = distinct !{!30156, !30154, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17he0a7570e344abd34E: argument 0"} +!30157 = !{!30150, !30147, !30144, !30141} !30158 = !{!30159} -!30159 = distinct !{!30159, !30160, !"_ZN4core3ptr53drop_in_place$LT$alloc..raw_vec..RawVec$LT$u8$GT$$GT$17h8240d6eec2d2373dE.llvm.13361645166614471590: argument 0"} -!30160 = distinct !{!30160, !"_ZN4core3ptr53drop_in_place$LT$alloc..raw_vec..RawVec$LT$u8$GT$$GT$17h8240d6eec2d2373dE.llvm.13361645166614471590"} +!30159 = distinct !{!30159, !30160, !"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hc8b4444378140e4fE: argument 0"} +!30160 = distinct !{!30160, !"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hc8b4444378140e4fE"} !30161 = !{!30162} -!30162 = distinct !{!30162, !30163, !"_ZN77_$LT$alloc..raw_vec..RawVec$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h22b811c6e1f43eeeE.llvm.13361645166614471590: argument 0"} -!30163 = distinct !{!30163, !"_ZN77_$LT$alloc..raw_vec..RawVec$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h22b811c6e1f43eeeE.llvm.13361645166614471590"} -!30164 = !{!30165, !30162, !30159, !30156, !30153} -!30165 = distinct !{!30165, !30166, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17he0a7570e344abd34E: argument 1"} -!30166 = distinct !{!30166, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17he0a7570e344abd34E"} +!30162 = distinct !{!30162, !30163, !"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17he6fd1766eb1ed56eE: argument 0"} +!30163 = distinct !{!30163, !"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17he6fd1766eb1ed56eE"} +!30164 = !{!30165} +!30165 = distinct !{!30165, !30166, !"_ZN4core3ptr53drop_in_place$LT$alloc..raw_vec..RawVec$LT$u8$GT$$GT$17h8240d6eec2d2373dE.llvm.13361645166614471590: argument 0"} +!30166 = distinct !{!30166, !"_ZN4core3ptr53drop_in_place$LT$alloc..raw_vec..RawVec$LT$u8$GT$$GT$17h8240d6eec2d2373dE.llvm.13361645166614471590"} !30167 = !{!30168} -!30168 = distinct !{!30168, !30166, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17he0a7570e344abd34E: argument 0"} -!30169 = !{!30162, !30159, !30156, !30153} -!30170 = !{!30171} -!30171 = distinct !{!30171, !30172, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17is_marker_or_open17hea302c4bc167c376E: argument 0"} -!30172 = distinct !{!30172, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17is_marker_or_open17hea302c4bc167c376E"} -!30173 = !{!30174, !30176, !30171} -!30174 = distinct !{!30174, !30175, !"_ZN4core4iter6traits12double_ended19DoubleEndedIterator9try_rfold17hc3041130ca84929eE: argument 0"} -!30175 = distinct !{!30175, !"_ZN4core4iter6traits12double_ended19DoubleEndedIterator9try_rfold17hc3041130ca84929eE"} -!30176 = distinct !{!30176, !30175, !"_ZN4core4iter6traits12double_ended19DoubleEndedIterator9try_rfold17hc3041130ca84929eE: argument 1"} -!30177 = !{!30178} -!30178 = distinct !{!30178, !30179, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17is_marker_or_open17hea302c4bc167c376E: argument 0"} -!30179 = distinct !{!30179, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17is_marker_or_open17hea302c4bc167c376E"} -!30180 = !{!30181, !30183, !30178} -!30181 = distinct !{!30181, !30182, !"_ZN4core4iter6traits12double_ended19DoubleEndedIterator9try_rfold17hc3041130ca84929eE: argument 0"} -!30182 = distinct !{!30182, !"_ZN4core4iter6traits12double_ended19DoubleEndedIterator9try_rfold17hc3041130ca84929eE"} -!30183 = distinct !{!30183, !30182, !"_ZN4core4iter6traits12double_ended19DoubleEndedIterator9try_rfold17hc3041130ca84929eE: argument 1"} -!30184 = !{!30185} -!30185 = distinct !{!30185, !30186, !"_ZN75_$LT$html5ever..tokenizer..interface..Tag$u20$as$u20$core..clone..Clone$GT$5clone17h8cc0abc4a6adbb98E: argument 0"} -!30186 = distinct !{!30186, !"_ZN75_$LT$html5ever..tokenizer..interface..Tag$u20$as$u20$core..clone..Clone$GT$5clone17h8cc0abc4a6adbb98E"} -!30187 = !{!30188} -!30188 = distinct !{!30188, !30186, !"_ZN75_$LT$html5ever..tokenizer..interface..Tag$u20$as$u20$core..clone..Clone$GT$5clone17h8cc0abc4a6adbb98E: argument 1"} -!30189 = !{!30185, !30188} +!30168 = distinct !{!30168, !30169, !"_ZN77_$LT$alloc..raw_vec..RawVec$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h22b811c6e1f43eeeE.llvm.13361645166614471590: argument 0"} +!30169 = distinct !{!30169, !"_ZN77_$LT$alloc..raw_vec..RawVec$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h22b811c6e1f43eeeE.llvm.13361645166614471590"} +!30170 = !{!30171, !30168, !30165, !30162, !30159} +!30171 = distinct !{!30171, !30172, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17he0a7570e344abd34E: argument 1"} +!30172 = distinct !{!30172, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17he0a7570e344abd34E"} +!30173 = !{!30174} +!30174 = distinct !{!30174, !30172, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17he0a7570e344abd34E: argument 0"} +!30175 = !{!30168, !30165, !30162, !30159} +!30176 = !{!30177} +!30177 = distinct !{!30177, !30178, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17is_marker_or_open17hea302c4bc167c376E: argument 0"} +!30178 = distinct !{!30178, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17is_marker_or_open17hea302c4bc167c376E"} +!30179 = !{!30180, !30182, !30177} +!30180 = distinct !{!30180, !30181, !"_ZN4core4iter6traits12double_ended19DoubleEndedIterator9try_rfold17hc3041130ca84929eE: argument 0"} +!30181 = distinct !{!30181, !"_ZN4core4iter6traits12double_ended19DoubleEndedIterator9try_rfold17hc3041130ca84929eE"} +!30182 = distinct !{!30182, !30181, !"_ZN4core4iter6traits12double_ended19DoubleEndedIterator9try_rfold17hc3041130ca84929eE: argument 1"} +!30183 = !{!30184} +!30184 = distinct !{!30184, !30185, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17is_marker_or_open17hea302c4bc167c376E: argument 0"} +!30185 = distinct !{!30185, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17is_marker_or_open17hea302c4bc167c376E"} +!30186 = !{!30187, !30189, !30184} +!30187 = distinct !{!30187, !30188, !"_ZN4core4iter6traits12double_ended19DoubleEndedIterator9try_rfold17hc3041130ca84929eE: argument 0"} +!30188 = distinct !{!30188, !"_ZN4core4iter6traits12double_ended19DoubleEndedIterator9try_rfold17hc3041130ca84929eE"} +!30189 = distinct !{!30189, !30188, !"_ZN4core4iter6traits12double_ended19DoubleEndedIterator9try_rfold17hc3041130ca84929eE: argument 1"} !30190 = !{!30191} -!30191 = distinct !{!30191, !30192, !"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17hfb1c6cc9311857e8E: argument 0"} -!30192 = distinct !{!30192, !"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17hfb1c6cc9311857e8E"} +!30191 = distinct !{!30191, !30192, !"_ZN75_$LT$html5ever..tokenizer..interface..Tag$u20$as$u20$core..clone..Clone$GT$5clone17h8cc0abc4a6adbb98E: argument 0"} +!30192 = distinct !{!30192, !"_ZN75_$LT$html5ever..tokenizer..interface..Tag$u20$as$u20$core..clone..Clone$GT$5clone17h8cc0abc4a6adbb98E"} !30193 = !{!30194} -!30194 = distinct !{!30194, !30195, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} -!30195 = distinct !{!30195, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} +!30194 = distinct !{!30194, !30192, !"_ZN75_$LT$html5ever..tokenizer..interface..Tag$u20$as$u20$core..clone..Clone$GT$5clone17h8cc0abc4a6adbb98E: argument 1"} +!30195 = !{!30191, !30194} !30196 = !{!30197} -!30197 = distinct !{!30197, !30198, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} -!30198 = distinct !{!30198, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} -!30199 = !{!30197, !30194, !30191} -!30200 = !{!30201, !30203, !30204, !30206, !30207} -!30201 = distinct !{!30201, !30202, !"_ZN118_$LT$html5ever..tree_builder..ActiveFormattingIter$LT$Handle$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hc1e335623bdcd9c6E: argument 0"} -!30202 = distinct !{!30202, !"_ZN118_$LT$html5ever..tree_builder..ActiveFormattingIter$LT$Handle$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hc1e335623bdcd9c6E"} -!30203 = distinct !{!30203, !30202, !"_ZN118_$LT$html5ever..tree_builder..ActiveFormattingIter$LT$Handle$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hc1e335623bdcd9c6E: argument 1"} -!30204 = distinct !{!30204, !30205, !"_ZN4core4iter6traits8iterator8Iterator8try_fold17hcedad82b2ddcc7f8E: argument 0"} -!30205 = distinct !{!30205, !"_ZN4core4iter6traits8iterator8Iterator8try_fold17hcedad82b2ddcc7f8E"} -!30206 = distinct !{!30206, !30205, !"_ZN4core4iter6traits8iterator8Iterator8try_fold17hcedad82b2ddcc7f8E: argument 1"} -!30207 = distinct !{!30207, !30205, !"_ZN4core4iter6traits8iterator8Iterator8try_fold17hcedad82b2ddcc7f8E: argument 2"} -!30208 = !{!30209, !30211, !30204, !30206, !30207} -!30209 = distinct !{!30209, !30210, !"_ZN4core4iter6traits8iterator8Iterator4find5check28_$u7b$$u7b$closure$u7d$$u7d$17h4ad43f9a29b2f9a5E: argument 0"} -!30210 = distinct !{!30210, !"_ZN4core4iter6traits8iterator8Iterator4find5check28_$u7b$$u7b$closure$u7d$$u7d$17h4ad43f9a29b2f9a5E"} -!30211 = distinct !{!30211, !30210, !"_ZN4core4iter6traits8iterator8Iterator4find5check28_$u7b$$u7b$closure$u7d$$u7d$17h4ad43f9a29b2f9a5E: argument 1"} -!30212 = !{!30213, !30215} -!30213 = distinct !{!30213, !30214, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8position17h06a9f8a37dfd8c9aE: argument 0"} -!30214 = distinct !{!30214, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8position17h06a9f8a37dfd8c9aE"} -!30215 = distinct !{!30215, !30214, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8position17h06a9f8a37dfd8c9aE: argument 1"} -!30216 = !{!30217} -!30217 = distinct !{!30217, !30218, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h201645fe071ad0cbE: argument 1"} -!30218 = distinct !{!30218, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h201645fe071ad0cbE"} -!30219 = !{!30220, !30217, !30221} -!30220 = distinct !{!30220, !30218, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h201645fe071ad0cbE: argument 0"} -!30221 = distinct !{!30221, !30218, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h201645fe071ad0cbE: argument 2"} -!30222 = !{!30220, !30221} -!30223 = !{!30224} -!30224 = distinct !{!30224, !30225, !"_ZN4core3ptr144drop_in_place$LT$core..option..Option$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$$GT$17hb44fe697df1d548fE: argument 0"} -!30225 = distinct !{!30225, !"_ZN4core3ptr144drop_in_place$LT$core..option..Option$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$$GT$17hb44fe697df1d548fE"} -!30226 = !{!30227} -!30227 = distinct !{!30227, !30228, !"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17hfb1c6cc9311857e8E: argument 0"} -!30228 = distinct !{!30228, !"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17hfb1c6cc9311857e8E"} +!30197 = distinct !{!30197, !30198, !"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17hfb1c6cc9311857e8E: argument 0"} +!30198 = distinct !{!30198, !"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17hfb1c6cc9311857e8E"} +!30199 = !{!30200} +!30200 = distinct !{!30200, !30201, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} +!30201 = distinct !{!30201, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} +!30202 = !{!30203} +!30203 = distinct !{!30203, !30204, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} +!30204 = distinct !{!30204, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} +!30205 = !{!30203, !30200, !30197} +!30206 = !{!30207, !30209, !30210, !30212, !30213} +!30207 = distinct !{!30207, !30208, !"_ZN118_$LT$html5ever..tree_builder..ActiveFormattingIter$LT$Handle$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hc1e335623bdcd9c6E: argument 0"} +!30208 = distinct !{!30208, !"_ZN118_$LT$html5ever..tree_builder..ActiveFormattingIter$LT$Handle$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hc1e335623bdcd9c6E"} +!30209 = distinct !{!30209, !30208, !"_ZN118_$LT$html5ever..tree_builder..ActiveFormattingIter$LT$Handle$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hc1e335623bdcd9c6E: argument 1"} +!30210 = distinct !{!30210, !30211, !"_ZN4core4iter6traits8iterator8Iterator8try_fold17hcedad82b2ddcc7f8E: argument 0"} +!30211 = distinct !{!30211, !"_ZN4core4iter6traits8iterator8Iterator8try_fold17hcedad82b2ddcc7f8E"} +!30212 = distinct !{!30212, !30211, !"_ZN4core4iter6traits8iterator8Iterator8try_fold17hcedad82b2ddcc7f8E: argument 1"} +!30213 = distinct !{!30213, !30211, !"_ZN4core4iter6traits8iterator8Iterator8try_fold17hcedad82b2ddcc7f8E: argument 2"} +!30214 = !{!30215, !30217, !30210, !30212, !30213} +!30215 = distinct !{!30215, !30216, !"_ZN4core4iter6traits8iterator8Iterator4find5check28_$u7b$$u7b$closure$u7d$$u7d$17h4ad43f9a29b2f9a5E: argument 0"} +!30216 = distinct !{!30216, !"_ZN4core4iter6traits8iterator8Iterator4find5check28_$u7b$$u7b$closure$u7d$$u7d$17h4ad43f9a29b2f9a5E"} +!30217 = distinct !{!30217, !30216, !"_ZN4core4iter6traits8iterator8Iterator4find5check28_$u7b$$u7b$closure$u7d$$u7d$17h4ad43f9a29b2f9a5E: argument 1"} +!30218 = !{!30219, !30221} +!30219 = distinct !{!30219, !30220, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8position17h06a9f8a37dfd8c9aE: argument 0"} +!30220 = distinct !{!30220, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8position17h06a9f8a37dfd8c9aE"} +!30221 = distinct !{!30221, !30220, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8position17h06a9f8a37dfd8c9aE: argument 1"} +!30222 = !{!30223} +!30223 = distinct !{!30223, !30224, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h201645fe071ad0cbE: argument 1"} +!30224 = distinct !{!30224, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h201645fe071ad0cbE"} +!30225 = !{!30226, !30223, !30227} +!30226 = distinct !{!30226, !30224, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h201645fe071ad0cbE: argument 0"} +!30227 = distinct !{!30227, !30224, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h201645fe071ad0cbE: argument 2"} +!30228 = !{!30226, !30227} !30229 = !{!30230} -!30230 = distinct !{!30230, !30231, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} -!30231 = distinct !{!30231, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} +!30230 = distinct !{!30230, !30231, !"_ZN4core3ptr144drop_in_place$LT$core..option..Option$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$$GT$17hb44fe697df1d548fE: argument 0"} +!30231 = distinct !{!30231, !"_ZN4core3ptr144drop_in_place$LT$core..option..Option$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$$GT$17hb44fe697df1d548fE"} !30232 = !{!30233} -!30233 = distinct !{!30233, !30234, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} -!30234 = distinct !{!30234, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} -!30235 = !{!30233, !30230, !30227, !30224} -!30236 = !{!30227, !30224} -!30237 = !{!30238} -!30238 = distinct !{!30238, !30239, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17remove_from_stack17hf35476a0839db787E: argument 0"} -!30239 = distinct !{!30239, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17remove_from_stack17hf35476a0839db787E"} -!30240 = !{!30241, !30243, !30238} -!30241 = distinct !{!30241, !30242, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$9rposition17hb7c0bc7a089d011eE: argument 0"} -!30242 = distinct !{!30242, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$9rposition17hb7c0bc7a089d011eE"} -!30243 = distinct !{!30243, !30242, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$9rposition17hb7c0bc7a089d011eE: argument 1"} -!30244 = !{!30245} -!30245 = distinct !{!30245, !30246, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h222d25c33575a88eE: argument 0"} -!30246 = distinct !{!30246, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h222d25c33575a88eE"} -!30247 = !{!30245, !30248, !30238} -!30248 = distinct !{!30248, !30246, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h222d25c33575a88eE: argument 1"} -!30249 = !{!30245, !30238} -!30250 = !{!30248} -!30251 = !{!30252, !30254, !30238} -!30252 = distinct !{!30252, !30253, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} -!30253 = distinct !{!30253, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} -!30254 = distinct !{!30254, !30255, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} -!30255 = distinct !{!30255, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} -!30256 = !{!30257, !30259} -!30257 = distinct !{!30257, !30258, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} -!30258 = distinct !{!30258, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} -!30259 = distinct !{!30259, !30260, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} -!30260 = distinct !{!30260, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} -!30261 = !{!30262} -!30262 = distinct !{!30262, !30263, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$8truncate17h21654f5a5e85bc4bE: argument 0"} -!30263 = distinct !{!30263, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$8truncate17h21654f5a5e85bc4bE"} -!30264 = !{!30265} -!30265 = distinct !{!30265, !30266, !"_ZN4core3ptr75drop_in_place$LT$$u5b$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$u5d$$GT$17h4216407a426d7c69E: argument 0"} -!30266 = distinct !{!30266, !"_ZN4core3ptr75drop_in_place$LT$$u5b$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$u5d$$GT$17h4216407a426d7c69E"} +!30233 = distinct !{!30233, !30234, !"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17hfb1c6cc9311857e8E: argument 0"} +!30234 = distinct !{!30234, !"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17hfb1c6cc9311857e8E"} +!30235 = !{!30236} +!30236 = distinct !{!30236, !30237, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} +!30237 = distinct !{!30237, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} +!30238 = !{!30239} +!30239 = distinct !{!30239, !30240, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} +!30240 = distinct !{!30240, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} +!30241 = !{!30239, !30236, !30233, !30230} +!30242 = !{!30233, !30230} +!30243 = !{!30244} +!30244 = distinct !{!30244, !30245, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17remove_from_stack17hf35476a0839db787E: argument 0"} +!30245 = distinct !{!30245, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$17remove_from_stack17hf35476a0839db787E"} +!30246 = !{!30247, !30249, !30244} +!30247 = distinct !{!30247, !30248, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$9rposition17hb7c0bc7a089d011eE: argument 0"} +!30248 = distinct !{!30248, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$9rposition17hb7c0bc7a089d011eE"} +!30249 = distinct !{!30249, !30248, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$9rposition17hb7c0bc7a089d011eE: argument 1"} +!30250 = !{!30251} +!30251 = distinct !{!30251, !30252, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h222d25c33575a88eE: argument 0"} +!30252 = distinct !{!30252, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h222d25c33575a88eE"} +!30253 = !{!30251, !30254, !30244} +!30254 = distinct !{!30254, !30252, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h222d25c33575a88eE: argument 1"} +!30255 = !{!30251, !30244} +!30256 = !{!30254} +!30257 = !{!30258, !30260, !30244} +!30258 = distinct !{!30258, !30259, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} +!30259 = distinct !{!30259, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} +!30260 = distinct !{!30260, !30261, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} +!30261 = distinct !{!30261, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} +!30262 = !{!30263, !30265} +!30263 = distinct !{!30263, !30264, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} +!30264 = distinct !{!30264, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} +!30265 = distinct !{!30265, !30266, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} +!30266 = distinct !{!30266, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} !30267 = !{!30268} -!30268 = distinct !{!30268, !30269, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} -!30269 = distinct !{!30269, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} +!30268 = distinct !{!30268, !30269, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$8truncate17h21654f5a5e85bc4bE: argument 0"} +!30269 = distinct !{!30269, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$8truncate17h21654f5a5e85bc4bE"} !30270 = !{!30271} -!30271 = distinct !{!30271, !30272, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} -!30272 = distinct !{!30272, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} -!30273 = !{!30271, !30268, !30265} -!30274 = !{!30271, !30268, !30265, !30262} -!30275 = !{!30265, !30262} +!30271 = distinct !{!30271, !30272, !"_ZN4core3ptr75drop_in_place$LT$$u5b$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$u5d$$GT$17h4216407a426d7c69E: argument 0"} +!30272 = distinct !{!30272, !"_ZN4core3ptr75drop_in_place$LT$$u5b$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$u5d$$GT$17h4216407a426d7c69E"} +!30273 = !{!30274} +!30274 = distinct !{!30274, !30275, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} +!30275 = distinct !{!30275, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} !30276 = !{!30277} -!30277 = distinct !{!30277, !30278, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$20generate_implied_end17hd7c87d8029612b52E: argument 0"} -!30278 = distinct !{!30278, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$20generate_implied_end17hd7c87d8029612b52E"} -!30279 = !{!30280} -!30280 = distinct !{!30280, !30278, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$20generate_implied_end17hd7c87d8029612b52E: argument 1"} -!30281 = !{!30282} -!30282 = distinct !{!30282, !30283, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$27generate_implied_end_except28_$u7b$$u7b$closure$u7d$$u7d$17h0ac289ec363654f1E: argument 0"} -!30283 = distinct !{!30283, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$27generate_implied_end_except28_$u7b$$u7b$closure$u7d$$u7d$17h0ac289ec363654f1E"} -!30284 = !{!30285} -!30285 = distinct !{!30285, !30286, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$3pop17h394cc4716a2f3cdaE: argument 0"} -!30286 = distinct !{!30286, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$3pop17h394cc4716a2f3cdaE"} -!30287 = !{!30285, !30277} -!30288 = !{!30285, !30280} -!30289 = !{!30290, !30292, !30280} -!30290 = distinct !{!30290, !30291, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} -!30291 = distinct !{!30291, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} -!30292 = distinct !{!30292, !30293, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} -!30293 = distinct !{!30293, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} -!30294 = !{!30295} -!30295 = distinct !{!30295, !30296, !"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h734fc4935bbafb8fE: argument 0"} -!30296 = distinct !{!30296, !"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h734fc4935bbafb8fE"} -!30297 = !{!30298, !30300} -!30298 = distinct !{!30298, !30299, !"_ZN118_$LT$html5ever..tree_builder..ActiveFormattingIter$LT$Handle$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hc1e335623bdcd9c6E: argument 0"} -!30299 = distinct !{!30299, !"_ZN118_$LT$html5ever..tree_builder..ActiveFormattingIter$LT$Handle$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hc1e335623bdcd9c6E"} -!30300 = distinct !{!30300, !30299, !"_ZN118_$LT$html5ever..tree_builder..ActiveFormattingIter$LT$Handle$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hc1e335623bdcd9c6E: argument 1"} -!30301 = !{!30302} -!30302 = distinct !{!30302, !30303, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h201645fe071ad0cbE: argument 1"} -!30303 = distinct !{!30303, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h201645fe071ad0cbE"} -!30304 = !{!30302, !30305} -!30305 = distinct !{!30305, !30303, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h201645fe071ad0cbE: argument 2"} -!30306 = !{!30307, !30302, !30305} -!30307 = distinct !{!30307, !30303, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h201645fe071ad0cbE: argument 0"} -!30308 = !{!30307, !30305} -!30309 = !{!30310} -!30310 = distinct !{!30310, !30311, !"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17hfb1c6cc9311857e8E: argument 0"} -!30311 = distinct !{!30311, !"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17hfb1c6cc9311857e8E"} -!30312 = !{!30313} -!30313 = distinct !{!30313, !30314, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} -!30314 = distinct !{!30314, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} +!30277 = distinct !{!30277, !30278, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} +!30278 = distinct !{!30278, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} +!30279 = !{!30277, !30274, !30271} +!30280 = !{!30277, !30274, !30271, !30268} +!30281 = !{!30271, !30268} +!30282 = !{!30283} +!30283 = distinct !{!30283, !30284, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$20generate_implied_end17hd7c87d8029612b52E: argument 0"} +!30284 = distinct !{!30284, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$20generate_implied_end17hd7c87d8029612b52E"} +!30285 = !{!30286} +!30286 = distinct !{!30286, !30284, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$20generate_implied_end17hd7c87d8029612b52E: argument 1"} +!30287 = !{!30288} +!30288 = distinct !{!30288, !30289, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$27generate_implied_end_except28_$u7b$$u7b$closure$u7d$$u7d$17h0ac289ec363654f1E: argument 0"} +!30289 = distinct !{!30289, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$27generate_implied_end_except28_$u7b$$u7b$closure$u7d$$u7d$17h0ac289ec363654f1E"} +!30290 = !{!30291} +!30291 = distinct !{!30291, !30292, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$3pop17h394cc4716a2f3cdaE: argument 0"} +!30292 = distinct !{!30292, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$3pop17h394cc4716a2f3cdaE"} +!30293 = !{!30291, !30283} +!30294 = !{!30291, !30286} +!30295 = !{!30296, !30298, !30286} +!30296 = distinct !{!30296, !30297, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} +!30297 = distinct !{!30297, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} +!30298 = distinct !{!30298, !30299, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} +!30299 = distinct !{!30299, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} +!30300 = !{!30301} +!30301 = distinct !{!30301, !30302, !"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h734fc4935bbafb8fE: argument 0"} +!30302 = distinct !{!30302, !"_ZN80_$LT$string_cache..atom..Atom$LT$Static$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop9drop_slow17h734fc4935bbafb8fE"} +!30303 = !{!30304, !30306} +!30304 = distinct !{!30304, !30305, !"_ZN118_$LT$html5ever..tree_builder..ActiveFormattingIter$LT$Handle$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hc1e335623bdcd9c6E: argument 0"} +!30305 = distinct !{!30305, !"_ZN118_$LT$html5ever..tree_builder..ActiveFormattingIter$LT$Handle$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hc1e335623bdcd9c6E"} +!30306 = distinct !{!30306, !30305, !"_ZN118_$LT$html5ever..tree_builder..ActiveFormattingIter$LT$Handle$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hc1e335623bdcd9c6E: argument 1"} +!30307 = !{!30308} +!30308 = distinct !{!30308, !30309, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h201645fe071ad0cbE: argument 1"} +!30309 = distinct !{!30309, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h201645fe071ad0cbE"} +!30310 = !{!30308, !30311} +!30311 = distinct !{!30311, !30309, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h201645fe071ad0cbE: argument 2"} +!30312 = !{!30313, !30308, !30311} +!30313 = distinct !{!30313, !30309, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6remove17h201645fe071ad0cbE: argument 0"} +!30314 = !{!30313, !30311} !30315 = !{!30316} -!30316 = distinct !{!30316, !30317, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} -!30317 = distinct !{!30317, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} -!30318 = !{!30316, !30313, !30310} -!30319 = !{!30320} -!30320 = distinct !{!30320, !30321, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17h48b39c1bae9daab3E: argument 0"} -!30321 = distinct !{!30321, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17h48b39c1bae9daab3E"} -!30322 = !{!30323} -!30323 = distinct !{!30323, !30321, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17h48b39c1bae9daab3E: argument 1"} -!30324 = !{!30325} -!30325 = distinct !{!30325, !30326, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} -!30326 = distinct !{!30326, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} -!30327 = !{!30328} -!30328 = distinct !{!30328, !30329, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} -!30329 = distinct !{!30329, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} -!30330 = !{!30328, !30325} -!30331 = !{!30332} -!30332 = distinct !{!30332, !30333, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} -!30333 = distinct !{!30333, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} -!30334 = !{!30335} -!30335 = distinct !{!30335, !30336, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} -!30336 = distinct !{!30336, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} -!30337 = !{!30335, !30332} -!30338 = !{!30339} -!30339 = distinct !{!30339, !30340, !"_ZN4core3ptr144drop_in_place$LT$core..option..Option$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$$GT$17hb44fe697df1d548fE: argument 0"} -!30340 = distinct !{!30340, !"_ZN4core3ptr144drop_in_place$LT$core..option..Option$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$$GT$17hb44fe697df1d548fE"} -!30341 = !{!30342} -!30342 = distinct !{!30342, !30343, !"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17hfb1c6cc9311857e8E: argument 0"} -!30343 = distinct !{!30343, !"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17hfb1c6cc9311857e8E"} +!30316 = distinct !{!30316, !30317, !"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17hfb1c6cc9311857e8E: argument 0"} +!30317 = distinct !{!30317, !"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17hfb1c6cc9311857e8E"} +!30318 = !{!30319} +!30319 = distinct !{!30319, !30320, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} +!30320 = distinct !{!30320, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} +!30321 = !{!30322} +!30322 = distinct !{!30322, !30323, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} +!30323 = distinct !{!30323, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} +!30324 = !{!30322, !30319, !30316} +!30325 = !{!30326} +!30326 = distinct !{!30326, !30327, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17h48b39c1bae9daab3E: argument 0"} +!30327 = distinct !{!30327, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17h48b39c1bae9daab3E"} +!30328 = !{!30329} +!30329 = distinct !{!30329, !30327, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17h48b39c1bae9daab3E: argument 1"} +!30330 = !{!30331} +!30331 = distinct !{!30331, !30332, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} +!30332 = distinct !{!30332, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} +!30333 = !{!30334} +!30334 = distinct !{!30334, !30335, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} +!30335 = distinct !{!30335, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} +!30336 = !{!30334, !30331} +!30337 = !{!30338} +!30338 = distinct !{!30338, !30339, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} +!30339 = distinct !{!30339, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} +!30340 = !{!30341} +!30341 = distinct !{!30341, !30342, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} +!30342 = distinct !{!30342, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} +!30343 = !{!30341, !30338} !30344 = !{!30345} -!30345 = distinct !{!30345, !30346, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} -!30346 = distinct !{!30346, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} +!30345 = distinct !{!30345, !30346, !"_ZN4core3ptr144drop_in_place$LT$core..option..Option$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$$GT$17hb44fe697df1d548fE: argument 0"} +!30346 = distinct !{!30346, !"_ZN4core3ptr144drop_in_place$LT$core..option..Option$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$$GT$17hb44fe697df1d548fE"} !30347 = !{!30348} -!30348 = distinct !{!30348, !30349, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} -!30349 = distinct !{!30349, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} -!30350 = !{!30348, !30345, !30342, !30339} -!30351 = !{!30342, !30339} -!30352 = !{!30353} -!30353 = distinct !{!30353, !30354, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15current_node_in17h259940200d9b9e2dE: argument 0"} -!30354 = distinct !{!30354, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15current_node_in17h259940200d9b9e2dE"} -!30355 = !{!30356} -!30356 = distinct !{!30356, !30357, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$39unexpected_start_tag_in_foreign_content28_$u7b$$u7b$closure$u7d$$u7d$17hf23d0a95f0dfc674E: argument 0"} -!30357 = distinct !{!30357, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$39unexpected_start_tag_in_foreign_content28_$u7b$$u7b$closure$u7d$$u7d$17hf23d0a95f0dfc674E"} +!30348 = distinct !{!30348, !30349, !"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17hfb1c6cc9311857e8E: argument 0"} +!30349 = distinct !{!30349, !"_ZN4core3ptr116drop_in_place$LT$html5ever..tree_builder..types..FormatEntry$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$$GT$17hfb1c6cc9311857e8E"} +!30350 = !{!30351} +!30351 = distinct !{!30351, !30352, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} +!30352 = distinct !{!30352, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} +!30353 = !{!30354} +!30354 = distinct !{!30354, !30355, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} +!30355 = distinct !{!30355, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} +!30356 = !{!30354, !30351, !30348, !30345} +!30357 = !{!30348, !30345} !30358 = !{!30359} -!30359 = distinct !{!30359, !30360, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$3pop17h394cc4716a2f3cdaE: argument 0"} -!30360 = distinct !{!30360, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$3pop17h394cc4716a2f3cdaE"} -!30361 = !{!30362, !30364} -!30362 = distinct !{!30362, !30363, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} -!30363 = distinct !{!30363, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} -!30364 = distinct !{!30364, !30365, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} -!30365 = distinct !{!30365, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} -!30366 = !{!30367} -!30367 = distinct !{!30367, !30368, !"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hc8b4444378140e4fE: argument 0"} -!30368 = distinct !{!30368, !"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hc8b4444378140e4fE"} -!30369 = !{!30370} -!30370 = distinct !{!30370, !30371, !"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17he6fd1766eb1ed56eE: argument 0"} -!30371 = distinct !{!30371, !"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17he6fd1766eb1ed56eE"} +!30359 = distinct !{!30359, !30360, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15current_node_in17h259940200d9b9e2dE: argument 0"} +!30360 = distinct !{!30360, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$15current_node_in17h259940200d9b9e2dE"} +!30361 = !{!30362} +!30362 = distinct !{!30362, !30363, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$39unexpected_start_tag_in_foreign_content28_$u7b$$u7b$closure$u7d$$u7d$17hf23d0a95f0dfc674E: argument 0"} +!30363 = distinct !{!30363, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$39unexpected_start_tag_in_foreign_content28_$u7b$$u7b$closure$u7d$$u7d$17hf23d0a95f0dfc674E"} +!30364 = !{!30365} +!30365 = distinct !{!30365, !30366, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$3pop17h394cc4716a2f3cdaE: argument 0"} +!30366 = distinct !{!30366, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$3pop17h394cc4716a2f3cdaE"} +!30367 = !{!30368, !30370} +!30368 = distinct !{!30368, !30369, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} +!30369 = distinct !{!30369, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} +!30370 = distinct !{!30370, !30371, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} +!30371 = distinct !{!30371, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} !30372 = !{!30373} -!30373 = distinct !{!30373, !30374, !"_ZN4core3ptr53drop_in_place$LT$alloc..raw_vec..RawVec$LT$u8$GT$$GT$17h8240d6eec2d2373dE.llvm.13361645166614471590: argument 0"} -!30374 = distinct !{!30374, !"_ZN4core3ptr53drop_in_place$LT$alloc..raw_vec..RawVec$LT$u8$GT$$GT$17h8240d6eec2d2373dE.llvm.13361645166614471590"} +!30373 = distinct !{!30373, !30374, !"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hc8b4444378140e4fE: argument 0"} +!30374 = distinct !{!30374, !"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hc8b4444378140e4fE"} !30375 = !{!30376} -!30376 = distinct !{!30376, !30377, !"_ZN77_$LT$alloc..raw_vec..RawVec$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h22b811c6e1f43eeeE.llvm.13361645166614471590: argument 0"} -!30377 = distinct !{!30377, !"_ZN77_$LT$alloc..raw_vec..RawVec$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h22b811c6e1f43eeeE.llvm.13361645166614471590"} -!30378 = !{!30379, !30376, !30373, !30370, !30367} -!30379 = distinct !{!30379, !30380, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17he0a7570e344abd34E: argument 1"} -!30380 = distinct !{!30380, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17he0a7570e344abd34E"} +!30376 = distinct !{!30376, !30377, !"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17he6fd1766eb1ed56eE: argument 0"} +!30377 = distinct !{!30377, !"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17he6fd1766eb1ed56eE"} +!30378 = !{!30379} +!30379 = distinct !{!30379, !30380, !"_ZN4core3ptr53drop_in_place$LT$alloc..raw_vec..RawVec$LT$u8$GT$$GT$17h8240d6eec2d2373dE.llvm.13361645166614471590: argument 0"} +!30380 = distinct !{!30380, !"_ZN4core3ptr53drop_in_place$LT$alloc..raw_vec..RawVec$LT$u8$GT$$GT$17h8240d6eec2d2373dE.llvm.13361645166614471590"} !30381 = !{!30382} -!30382 = distinct !{!30382, !30380, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17he0a7570e344abd34E: argument 0"} -!30383 = !{!30376, !30373, !30370, !30367} -!30384 = !{!30385} -!30385 = distinct !{!30385, !30386, !"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hc8b4444378140e4fE: argument 0"} -!30386 = distinct !{!30386, !"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hc8b4444378140e4fE"} +!30382 = distinct !{!30382, !30383, !"_ZN77_$LT$alloc..raw_vec..RawVec$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h22b811c6e1f43eeeE.llvm.13361645166614471590: argument 0"} +!30383 = distinct !{!30383, !"_ZN77_$LT$alloc..raw_vec..RawVec$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h22b811c6e1f43eeeE.llvm.13361645166614471590"} +!30384 = !{!30385, !30382, !30379, !30376, !30373} +!30385 = distinct !{!30385, !30386, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17he0a7570e344abd34E: argument 1"} +!30386 = distinct !{!30386, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17he0a7570e344abd34E"} !30387 = !{!30388} -!30388 = distinct !{!30388, !30389, !"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17he6fd1766eb1ed56eE: argument 0"} -!30389 = distinct !{!30389, !"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17he6fd1766eb1ed56eE"} +!30388 = distinct !{!30388, !30386, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17he0a7570e344abd34E: argument 0"} +!30389 = !{!30382, !30379, !30376, !30373} !30390 = !{!30391} -!30391 = distinct !{!30391, !30392, !"_ZN4core3ptr53drop_in_place$LT$alloc..raw_vec..RawVec$LT$u8$GT$$GT$17h8240d6eec2d2373dE.llvm.13361645166614471590: argument 0"} -!30392 = distinct !{!30392, !"_ZN4core3ptr53drop_in_place$LT$alloc..raw_vec..RawVec$LT$u8$GT$$GT$17h8240d6eec2d2373dE.llvm.13361645166614471590"} +!30391 = distinct !{!30391, !30392, !"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hc8b4444378140e4fE: argument 0"} +!30392 = distinct !{!30392, !"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hc8b4444378140e4fE"} !30393 = !{!30394} -!30394 = distinct !{!30394, !30395, !"_ZN77_$LT$alloc..raw_vec..RawVec$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h22b811c6e1f43eeeE.llvm.13361645166614471590: argument 0"} -!30395 = distinct !{!30395, !"_ZN77_$LT$alloc..raw_vec..RawVec$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h22b811c6e1f43eeeE.llvm.13361645166614471590"} -!30396 = !{!30397, !30394, !30391, !30388, !30385} -!30397 = distinct !{!30397, !30398, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17he0a7570e344abd34E: argument 1"} -!30398 = distinct !{!30398, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17he0a7570e344abd34E"} +!30394 = distinct !{!30394, !30395, !"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17he6fd1766eb1ed56eE: argument 0"} +!30395 = distinct !{!30395, !"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17he6fd1766eb1ed56eE"} +!30396 = !{!30397} +!30397 = distinct !{!30397, !30398, !"_ZN4core3ptr53drop_in_place$LT$alloc..raw_vec..RawVec$LT$u8$GT$$GT$17h8240d6eec2d2373dE.llvm.13361645166614471590: argument 0"} +!30398 = distinct !{!30398, !"_ZN4core3ptr53drop_in_place$LT$alloc..raw_vec..RawVec$LT$u8$GT$$GT$17h8240d6eec2d2373dE.llvm.13361645166614471590"} !30399 = !{!30400} -!30400 = distinct !{!30400, !30398, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17he0a7570e344abd34E: argument 0"} -!30401 = !{!30394, !30391, !30388, !30385} -!30402 = !{!30403} -!30403 = distinct !{!30403, !30404, !"_ZN91_$LT$markup5ever_rcdom..RcDom$u20$as$u20$markup5ever..interface..tree_builder..TreeSink$GT$15set_quirks_mode17h7ed3a500f3488ed4E: argument 0"} -!30404 = distinct !{!30404, !"_ZN91_$LT$markup5ever_rcdom..RcDom$u20$as$u20$markup5ever..interface..tree_builder..TreeSink$GT$15set_quirks_mode17h7ed3a500f3488ed4E"} +!30400 = distinct !{!30400, !30401, !"_ZN77_$LT$alloc..raw_vec..RawVec$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h22b811c6e1f43eeeE.llvm.13361645166614471590: argument 0"} +!30401 = distinct !{!30401, !"_ZN77_$LT$alloc..raw_vec..RawVec$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h22b811c6e1f43eeeE.llvm.13361645166614471590"} +!30402 = !{!30403, !30400, !30397, !30394, !30391} +!30403 = distinct !{!30403, !30404, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17he0a7570e344abd34E: argument 1"} +!30404 = distinct !{!30404, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17he0a7570e344abd34E"} !30405 = !{!30406} -!30406 = distinct !{!30406, !30407, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17hd0eac6d8b0fef762E: argument 0"} -!30407 = distinct !{!30407, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17hd0eac6d8b0fef762E"} +!30406 = distinct !{!30406, !30404, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17he0a7570e344abd34E: argument 0"} +!30407 = !{!30400, !30397, !30394, !30391} !30408 = !{!30409} -!30409 = distinct !{!30409, !30410, !"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17ha3b177a4167b32f2E: argument 1"} -!30410 = distinct !{!30410, !"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17ha3b177a4167b32f2E"} +!30409 = distinct !{!30409, !30410, !"_ZN91_$LT$markup5ever_rcdom..RcDom$u20$as$u20$markup5ever..interface..tree_builder..TreeSink$GT$15set_quirks_mode17h7ed3a500f3488ed4E: argument 0"} +!30410 = distinct !{!30410, !"_ZN91_$LT$markup5ever_rcdom..RcDom$u20$as$u20$markup5ever..interface..tree_builder..TreeSink$GT$15set_quirks_mode17h7ed3a500f3488ed4E"} !30411 = !{!30412} -!30412 = distinct !{!30412, !30410, !"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17ha3b177a4167b32f2E: argument 0"} -!30413 = !{!30414} -!30414 = distinct !{!30414, !30415, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$20insert_appropriately17h3e0b9d2ef6805631E: argument 1"} -!30415 = distinct !{!30415, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$20insert_appropriately17h3e0b9d2ef6805631E"} -!30416 = !{!30417, !30414} -!30417 = distinct !{!30417, !30415, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$20insert_appropriately17h3e0b9d2ef6805631E: argument 0"} -!30418 = !{!30417} +!30412 = distinct !{!30412, !30413, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17hd0eac6d8b0fef762E: argument 0"} +!30413 = distinct !{!30413, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17hd0eac6d8b0fef762E"} +!30414 = !{!30415} +!30415 = distinct !{!30415, !30416, !"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17ha3b177a4167b32f2E: argument 1"} +!30416 = distinct !{!30416, !"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17ha3b177a4167b32f2E"} +!30417 = !{!30418} +!30418 = distinct !{!30418, !30416, !"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17ha3b177a4167b32f2E: argument 0"} !30419 = !{!30420} -!30420 = distinct !{!30420, !30410, !"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17ha3b177a4167b32f2E: argument 1:h.rot"} -!30421 = !{!30422} -!30422 = distinct !{!30422, !30423, !"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17ha3b177a4167b32f2E: argument 1"} -!30423 = distinct !{!30423, !"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17ha3b177a4167b32f2E"} -!30424 = !{!30425} -!30425 = distinct !{!30425, !30423, !"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17ha3b177a4167b32f2E: argument 0"} -!30426 = !{!30427} -!30427 = distinct !{!30427, !30423, !"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17ha3b177a4167b32f2E: argument 1:h.rot"} -!30428 = !{!30429} -!30429 = distinct !{!30429, !30430, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17hd0eac6d8b0fef762E: argument 0"} -!30430 = distinct !{!30430, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17hd0eac6d8b0fef762E"} -!30431 = !{!30432} -!30432 = distinct !{!30432, !30433, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17hd0eac6d8b0fef762E: argument 0"} -!30433 = distinct !{!30433, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17hd0eac6d8b0fef762E"} +!30420 = distinct !{!30420, !30421, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$20insert_appropriately17h3e0b9d2ef6805631E: argument 1"} +!30421 = distinct !{!30421, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$20insert_appropriately17h3e0b9d2ef6805631E"} +!30422 = !{!30423, !30420} +!30423 = distinct !{!30423, !30421, !"_ZN9html5ever12tree_builder32TreeBuilder$LT$Handle$C$Sink$GT$20insert_appropriately17h3e0b9d2ef6805631E: argument 0"} +!30424 = !{!30423} +!30425 = !{!30426} +!30426 = distinct !{!30426, !30416, !"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17ha3b177a4167b32f2E: argument 1:h.rot"} +!30427 = !{!30428} +!30428 = distinct !{!30428, !30429, !"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17ha3b177a4167b32f2E: argument 1"} +!30429 = distinct !{!30429, !"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17ha3b177a4167b32f2E"} +!30430 = !{!30431} +!30431 = distinct !{!30431, !30429, !"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17ha3b177a4167b32f2E: argument 0"} +!30432 = !{!30433} +!30433 = distinct !{!30433, !30429, !"_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17ha3b177a4167b32f2E: argument 1:h.rot"} !30434 = !{!30435} !30435 = distinct !{!30435, !30436, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17hd0eac6d8b0fef762E: argument 0"} !30436 = distinct !{!30436, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17hd0eac6d8b0fef762E"} @@ -157690,98 +157770,104 @@ attributes #48 = { "function-inline-cost-multiplier"="2" } !30440 = !{!30441} !30441 = distinct !{!30441, !30442, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17hd0eac6d8b0fef762E: argument 0"} !30442 = distinct !{!30442, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17hd0eac6d8b0fef762E"} -!30443 = !{!30444, !30446} -!30444 = distinct !{!30444, !30445, !"_ZN7tendril7tendril20Tendril$LT$F$C$A$GT$10assume_buf17h0d5f74144bd9cf53E: argument 0"} -!30445 = distinct !{!30445, !"_ZN7tendril7tendril20Tendril$LT$F$C$A$GT$10assume_buf17h0d5f74144bd9cf53E"} -!30446 = distinct !{!30446, !30447, !"_ZN80_$LT$tendril..tendril..Tendril$LT$F$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h08b81856ba26cbc2E: argument 0"} -!30447 = distinct !{!30447, !"_ZN80_$LT$tendril..tendril..Tendril$LT$F$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h08b81856ba26cbc2E"} -!30448 = !{!30446} +!30443 = !{!30444} +!30444 = distinct !{!30444, !30445, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17hd0eac6d8b0fef762E: argument 0"} +!30445 = distinct !{!30445, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17hd0eac6d8b0fef762E"} +!30446 = !{!30447} +!30447 = distinct !{!30447, !30448, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17hd0eac6d8b0fef762E: argument 0"} +!30448 = distinct !{!30448, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17hd0eac6d8b0fef762E"} !30449 = !{!30450, !30452} -!30450 = distinct !{!30450, !30451, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} -!30451 = distinct !{!30451, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} -!30452 = distinct !{!30452, !30453, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} -!30453 = distinct !{!30453, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} -!30454 = !{!30455, !30457} -!30455 = distinct !{!30455, !30456, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} -!30456 = distinct !{!30456, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} -!30457 = distinct !{!30457, !30458, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} -!30458 = distinct !{!30458, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} -!30459 = !{!30460, !30462} -!30460 = distinct !{!30460, !30461, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} -!30461 = distinct !{!30461, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} -!30462 = distinct !{!30462, !30463, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} -!30463 = distinct !{!30463, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} -!30464 = !{!30465} -!30465 = distinct !{!30465, !30466, !"_ZN9html5ever12tree_builder8tag_sets13default_scope17ha11ea3e90aa1c6a2E: argument 0"} -!30466 = distinct !{!30466, !"_ZN9html5ever12tree_builder8tag_sets13default_scope17ha11ea3e90aa1c6a2E"} -!30467 = !{!30468} -!30468 = distinct !{!30468, !30466, !"_ZN9html5ever12tree_builder8tag_sets13default_scope17ha11ea3e90aa1c6a2E: argument 1"} -!30469 = !{!30470, !30472} -!30470 = distinct !{!30470, !30471, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} -!30471 = distinct !{!30471, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} -!30472 = distinct !{!30472, !30473, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} -!30473 = distinct !{!30473, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} -!30474 = !{!30475, !30477} -!30475 = distinct !{!30475, !30476, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} -!30476 = distinct !{!30476, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} -!30477 = distinct !{!30477, !30478, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} -!30478 = distinct !{!30478, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} -!30479 = !{!30480, !30482} -!30480 = distinct !{!30480, !30481, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} -!30481 = distinct !{!30481, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} -!30482 = distinct !{!30482, !30483, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} -!30483 = distinct !{!30483, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} -!30484 = !{!30485} -!30485 = distinct !{!30485, !30486, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} -!30486 = distinct !{!30486, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} -!30487 = !{!30488} -!30488 = distinct !{!30488, !30489, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} -!30489 = distinct !{!30489, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} -!30490 = !{!30488, !30485} -!30491 = !{!30492} -!30492 = distinct !{!30492, !30493, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} -!30493 = distinct !{!30493, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} -!30494 = !{!30495} -!30495 = distinct !{!30495, !30496, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} -!30496 = distinct !{!30496, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} -!30497 = !{!30495, !30492} -!30498 = !{!30499} -!30499 = distinct !{!30499, !30500, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} -!30500 = distinct !{!30500, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} -!30501 = !{!30502} -!30502 = distinct !{!30502, !30503, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} -!30503 = distinct !{!30503, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} -!30504 = !{!30502, !30499} -!30505 = !{!30506} -!30506 = distinct !{!30506, !30507, !"_ZN9assistant13context_store13ContextHandle7upgrade17h237c9e89be17dc4aE: argument 1"} -!30507 = distinct !{!30507, !"_ZN9assistant13context_store13ContextHandle7upgrade17h237c9e89be17dc4aE"} -!30508 = !{!30509} -!30509 = distinct !{!30509, !30507, !"_ZN9assistant13context_store13ContextHandle7upgrade17h237c9e89be17dc4aE: argument 0"} -!30510 = !{!30509, !30506} +!30450 = distinct !{!30450, !30451, !"_ZN7tendril7tendril20Tendril$LT$F$C$A$GT$10assume_buf17h0d5f74144bd9cf53E: argument 0"} +!30451 = distinct !{!30451, !"_ZN7tendril7tendril20Tendril$LT$F$C$A$GT$10assume_buf17h0d5f74144bd9cf53E"} +!30452 = distinct !{!30452, !30453, !"_ZN80_$LT$tendril..tendril..Tendril$LT$F$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h08b81856ba26cbc2E: argument 0"} +!30453 = distinct !{!30453, !"_ZN80_$LT$tendril..tendril..Tendril$LT$F$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h08b81856ba26cbc2E"} +!30454 = !{!30452} +!30455 = !{!30456, !30458} +!30456 = distinct !{!30456, !30457, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} +!30457 = distinct !{!30457, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} +!30458 = distinct !{!30458, !30459, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} +!30459 = distinct !{!30459, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} +!30460 = !{!30461, !30463} +!30461 = distinct !{!30461, !30462, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} +!30462 = distinct !{!30462, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} +!30463 = distinct !{!30463, !30464, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} +!30464 = distinct !{!30464, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} +!30465 = !{!30466, !30468} +!30466 = distinct !{!30466, !30467, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} +!30467 = distinct !{!30467, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} +!30468 = distinct !{!30468, !30469, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} +!30469 = distinct !{!30469, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} +!30470 = !{!30471} +!30471 = distinct !{!30471, !30472, !"_ZN9html5ever12tree_builder8tag_sets13default_scope17ha11ea3e90aa1c6a2E: argument 0"} +!30472 = distinct !{!30472, !"_ZN9html5ever12tree_builder8tag_sets13default_scope17ha11ea3e90aa1c6a2E"} +!30473 = !{!30474} +!30474 = distinct !{!30474, !30472, !"_ZN9html5ever12tree_builder8tag_sets13default_scope17ha11ea3e90aa1c6a2E: argument 1"} +!30475 = !{!30476, !30478} +!30476 = distinct !{!30476, !30477, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} +!30477 = distinct !{!30477, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} +!30478 = distinct !{!30478, !30479, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} +!30479 = distinct !{!30479, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} +!30480 = !{!30481, !30483} +!30481 = distinct !{!30481, !30482, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} +!30482 = distinct !{!30482, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} +!30483 = distinct !{!30483, !30484, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} +!30484 = distinct !{!30484, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} +!30485 = !{!30486, !30488} +!30486 = distinct !{!30486, !30487, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} +!30487 = distinct !{!30487, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} +!30488 = distinct !{!30488, !30489, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} +!30489 = distinct !{!30489, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} +!30490 = !{!30491} +!30491 = distinct !{!30491, !30492, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} +!30492 = distinct !{!30492, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} +!30493 = !{!30494} +!30494 = distinct !{!30494, !30495, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} +!30495 = distinct !{!30495, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} +!30496 = !{!30494, !30491} +!30497 = !{!30498} +!30498 = distinct !{!30498, !30499, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} +!30499 = distinct !{!30499, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} +!30500 = !{!30501} +!30501 = distinct !{!30501, !30502, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} +!30502 = distinct !{!30502, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} +!30503 = !{!30501, !30498} +!30504 = !{!30505} +!30505 = distinct !{!30505, !30506, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E: argument 0"} +!30506 = distinct !{!30506, !"_ZN4core3ptr65drop_in_place$LT$alloc..rc..Rc$LT$markup5ever_rcdom..Node$GT$$GT$17ha31a3505d67985b8E"} +!30507 = !{!30508} +!30508 = distinct !{!30508, !30509, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590: argument 0"} +!30509 = distinct !{!30509, !"_ZN68_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9f87ea2ce20cebb5E.llvm.13361645166614471590"} +!30510 = !{!30508, !30505} !30511 = !{!30512} -!30512 = distinct !{!30512, !30513, !"_ZN4core3ptr60drop_in_place$LT$assistant..context_store..ContextHandle$GT$17hbc01747654cfb2a8E.llvm.16595843094761361803: argument 0"} -!30513 = distinct !{!30513, !"_ZN4core3ptr60drop_in_place$LT$assistant..context_store..ContextHandle$GT$17hbc01747654cfb2a8E.llvm.16595843094761361803"} +!30512 = distinct !{!30512, !30513, !"_ZN9assistant13context_store13ContextHandle7upgrade17h237c9e89be17dc4aE: argument 1"} +!30513 = distinct !{!30513, !"_ZN9assistant13context_store13ContextHandle7upgrade17h237c9e89be17dc4aE"} !30514 = !{!30515} -!30515 = distinct !{!30515, !30516, !"_ZN9assistant13context_store13ContextHandle7upgrade17h237c9e89be17dc4aE: argument 1"} -!30516 = distinct !{!30516, !"_ZN9assistant13context_store13ContextHandle7upgrade17h237c9e89be17dc4aE"} +!30515 = distinct !{!30515, !30513, !"_ZN9assistant13context_store13ContextHandle7upgrade17h237c9e89be17dc4aE: argument 0"} +!30516 = !{!30515, !30512} !30517 = !{!30518} -!30518 = distinct !{!30518, !30516, !"_ZN9assistant13context_store13ContextHandle7upgrade17h237c9e89be17dc4aE: argument 0"} -!30519 = !{!30518, !30515} +!30518 = distinct !{!30518, !30519, !"_ZN4core3ptr60drop_in_place$LT$assistant..context_store..ContextHandle$GT$17hbc01747654cfb2a8E.llvm.16595843094761361803: argument 0"} +!30519 = distinct !{!30519, !"_ZN4core3ptr60drop_in_place$LT$assistant..context_store..ContextHandle$GT$17hbc01747654cfb2a8E.llvm.16595843094761361803"} !30520 = !{!30521} -!30521 = distinct !{!30521, !30522, !"_ZN9assistant13context_store13ContextHandle9downgrade17hdb4a63e5c5dcc601E: argument 0"} -!30522 = distinct !{!30522, !"_ZN9assistant13context_store13ContextHandle9downgrade17hdb4a63e5c5dcc601E"} +!30521 = distinct !{!30521, !30522, !"_ZN9assistant13context_store13ContextHandle7upgrade17h237c9e89be17dc4aE: argument 1"} +!30522 = distinct !{!30522, !"_ZN9assistant13context_store13ContextHandle7upgrade17h237c9e89be17dc4aE"} !30523 = !{!30524} -!30524 = distinct !{!30524, !30522, !"_ZN9assistant13context_store13ContextHandle9downgrade17hdb4a63e5c5dcc601E: argument 1"} -!30525 = !{!30526} -!30526 = distinct !{!30526, !30527, !"_ZN69_$LT$alloc..sync..Weak$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17he9e5a96735fd7015E.llvm.16863303312043884584: argument 0"} -!30527 = distinct !{!30527, !"_ZN69_$LT$alloc..sync..Weak$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17he9e5a96735fd7015E.llvm.16863303312043884584"} -!30528 = !{!30526, !30524} -!30529 = !{!30526, !30521, !30524} -!30530 = !{!30531} -!30531 = distinct !{!30531, !30532, !"_ZN4core3ptr60drop_in_place$LT$assistant..context_store..ContextHandle$GT$17hbc01747654cfb2a8E.llvm.16595843094761361803: argument 0"} -!30532 = distinct !{!30532, !"_ZN4core3ptr60drop_in_place$LT$assistant..context_store..ContextHandle$GT$17hbc01747654cfb2a8E.llvm.16595843094761361803"} -!30533 = !{!30534} -!30534 = distinct !{!30534, !30535, !"_ZN4gpui3app10AppContext6update17hfe6bec64ff1f523aE: argument 0"} -!30535 = distinct !{!30535, !"_ZN4gpui3app10AppContext6update17hfe6bec64ff1f523aE"} +!30524 = distinct !{!30524, !30522, !"_ZN9assistant13context_store13ContextHandle7upgrade17h237c9e89be17dc4aE: argument 0"} +!30525 = !{!30524, !30521} +!30526 = !{!30527} +!30527 = distinct !{!30527, !30528, !"_ZN9assistant13context_store13ContextHandle9downgrade17hdb4a63e5c5dcc601E: argument 0"} +!30528 = distinct !{!30528, !"_ZN9assistant13context_store13ContextHandle9downgrade17hdb4a63e5c5dcc601E"} +!30529 = !{!30530} +!30530 = distinct !{!30530, !30528, !"_ZN9assistant13context_store13ContextHandle9downgrade17hdb4a63e5c5dcc601E: argument 1"} +!30531 = !{!30532} +!30532 = distinct !{!30532, !30533, !"_ZN69_$LT$alloc..sync..Weak$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17he9e5a96735fd7015E.llvm.16863303312043884584: argument 0"} +!30533 = distinct !{!30533, !"_ZN69_$LT$alloc..sync..Weak$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17he9e5a96735fd7015E.llvm.16863303312043884584"} +!30534 = !{!30532, !30530} +!30535 = !{!30532, !30527, !30530} !30536 = !{!30537} -!30537 = distinct !{!30537, !30535, !"_ZN4gpui3app10AppContext6update17hfe6bec64ff1f523aE: argument 1"} +!30537 = distinct !{!30537, !30538, !"_ZN4core3ptr60drop_in_place$LT$assistant..context_store..ContextHandle$GT$17hbc01747654cfb2a8E.llvm.16595843094761361803: argument 0"} +!30538 = distinct !{!30538, !"_ZN4core3ptr60drop_in_place$LT$assistant..context_store..ContextHandle$GT$17hbc01747654cfb2a8E.llvm.16595843094761361803"} +!30539 = !{!30540} +!30540 = distinct !{!30540, !30541, !"_ZN4gpui3app10AppContext6update17hfe6bec64ff1f523aE: argument 0"} +!30541 = distinct !{!30541, !"_ZN4gpui3app10AppContext6update17hfe6bec64ff1f523aE"} +!30542 = !{!30543} +!30543 = distinct !{!30543, !30541, !"_ZN4gpui3app10AppContext6update17hfe6bec64ff1f523aE: argument 1"}